If I were to say that someone is weaving a tangled web, Hell is other people, or if you build it they will come, you would know what I’m trying to express. You know what a catch-22 is. There is a fear of waking up to discover that you are a giant insect, and the phrase “it’s alive!” conjures up not just Frankenstein’s monster but also its poor, misunderstood fate.
So why can I not reference the way the
echo program prints a space between each argument, the way
false uses C trickery to avoid code duplication, or the
0x5f3759df without the same
These are our classics. Not only are these programs we use every day, but they’re written by some of the most influential programmers of generations past, inspiring not just entire operating systems but also design patterns large and small.
The Classical Code Reading Group of Stockholm reads the classics.
In our pilot meetup we examined
echo.c across five different implementations.
From OpenBSD we learned about minimalism, including
this statement that would bring pride to every nihilist:
NetBSD taught us about dotting our i’s and crossing our t’s, including flushing standard output, watching the return types, and that errors can exist anywhere. From FreeBSD we learned to love again, embracing not the stark minimalism of OpenBSD but instead the industriousness exploration of bare metal input and output.
echo and its predecessor, the
echo builtin, showed how to cleanly handle backward compatibility in
the face of the complex forward march of progress, including hexadecimal
parsing, environment variables, well-named keywords, and short-circuit
This excursion down the guts of
echo.c took three hours, with a break for
food and drink.
So grab your sense of adventure and join us as we explore
from shell to shining C, and see just how GNU managed to hit 78 lines for this
classic, tiny app, at the next
Classical Code Reading Group of Stockholm event on the 21st of October.