New

The latest blog posts to take off on Hacker News. 4,389 posts.

Systems & Performance
Any year
2342

Finding Goroutine Bugs with TLA+

My job these days is teaching TLA+ and formal methods: specifying designs to find bugs in them. But just knowing the syntax isn’t enough to write specs, and it helps to have examples to draw from. I recently read Chris Siebenmann’s Even in Go, concurrency is still not easy and thought it would make a good case study…

2351

The compositor is evil

First, I want to make it clear that I’m not accusing the compositor of true evil, which I define roughly as deliberately causing suffering. There’s unfortunately too much of that in the world. I mean it in the more metaphorical sense that it causes serious problems and forces other parts of the system to be more…

2356

Non-Posix File Systems

Operating systems and file systems have traditionally been developed hand in hand. They impose mutual constraints on each other. Today we have two major leaders in file system semantics: Windows and POSIX . They are very close to each other when compared to the full set of possibilities. Interesting things happened…

2369

Don't trust default timeouts

Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t. When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet? If you…

2370

What Shell Am I Using?

I wanted to install the latest version of zsh on my MacBook Pro. This is usually the first thing I install when setting up a new machine. A brew install zsh and a chsh later and I'm good to go (well, technically I had to add the homebrew location of zsh to /etc/shells as well). Close out Terminal.app and reopen to…