The sushi bar problem

The next chapter in the the little Go book of semaphores series introduces the “not remotely classical problems” and the first one is called “the sushi bar problem”. Imagine a sushi bar with 5 seats. If you arrive while there is an empty seat, you can tak...

Copying Interface Values In Go

I am constantly thinking about the Go language and how things work. Lately I have been thinking how everything in Go is by value. We see this when we pass values to functions, when we iterate over slices and when we perform type assertions. In every case, copies of the values tha...

Chaos Monkey for Fun and Profit

The Modus Hall problem

After that short intermission in reactive programming, it’s back to the little Go book of semaphores series with “the Modus Hall problem”. I didn’t understand the reference in the footnote and after some googling, it turns out that “Modus Hall”...

A basic reactive system

I’m making a pause in the “semaphores” series to visit a problem from exercism.io, namely react in Go. As the description says, the idea is to implement a basic reactive system in Go. Wikipedia defines “reactive programming” as “a programming p...

GopherCon Turns Three

tl;dr We’re excited for the third anniversary of GopherCon, so we’re offering a discount on tickets valid only on the anniversary of the conference.

Bring your tools with you

The unisex bathroom problem

The next problem in the “The Little Book of Semaphores” is called the “unisex bathroom problem”, by Allen Downey himself. The problem statement reads as follows: A friend of the author took a job at Xerox. She was working in a cubicle in the basement of a...

The search-insert-delete problem

I pushed back the publication of this entry because I wasn’t so happy with the implementation I had. It’s a new chapter in the “The Little Book of Semaphores”: not so-classical problems. The first problem there is called “search-insert-delete”...

Speeding up my ZSH load time

This is the story on how I speed up my terminal load time. Some time ago I shared my dotfiles to the world. I was never really happy with the shell load time, though. Most of it was spent by antigen loading the plugins I use. By then, my shell was taking almost 10 seconds to load...