That post by Rob Pike is arguing that you should not need to check the endianness of your system when swapping. Not that you should never byte swap. Systems and protocols have different endianness, which needs to be handled by programs where endianness has not been abstracted away.
HN user
filam
I have to admit I stopped reading after the combined section on byte swapping and casting external data to a internal structure. Perhaps the author of the code should have used ntohs() instead of be16toh(), but the effect is the same? There aren't any conditionals in ntoh...
https://commandcenter.blogspot.com/2012/04/byte-order-fallac...
And will a compiler make use of native byte swapping instructions with the code proposed by the author?
You need to also compare the cost and power consumption of the chips. I also imagine the use of high-level synthesis impacted performance.
I used Zulip while at Akamai. At the time, Zulip was a Boston-based start-up and I believe some engineers at Akamai had a connection to engineers at Zulip. It wasn't used throughout the whole company, but it did have a significant user base and was growing.
My experience was so positive that I've continued to evangelize it at other companies since then. The acquisition by Dropbox was definitely disappointing, but the fact that they managed to open source the code and have since started providing a service is very impressive.
The most important feature of Zulip is threading. It doesn't make a big difference for a very small organization, but it is a huge win for larger organizations. Not only does it make it easier to organize information, it allows you to improve the signal to noise ratio by muting specific topics of conversation. I remember being both very excited for Slack's thread implementation and then soon after the release very disappointed. It feels like an after thought and doesn't improve a fundamental problem with Slack, the exponential growth of channels as new users are added. There is a little more upfront learning required to use Zulip, but it is vastly outweighed by the benefits. And don't forget that Slack has a learning curve too, especially for those that aren't as technically savvy (e.g. markdown, Slack commands, bots).
I didn't realize until far too recently that Python includes a built-in web server: 1. git clone https://github.com/cheeaun/life.git 2. cd life 3. python -m SimpleHTTPServer 8000 4. http://localhost:8000/
Insurance does not eliminate risk from the market.
I only mention it because I learned the difference yesterday, but that is a bar graph, not a histogram.
Just because a system gives you the freedom to customize your environment, it doesn't mean you required to "retool [it] to no end." I have used a simple Arch Linux installation for years and it has never interrupted my work flow.