Yahoo Logo ASCII Animation in 462 bytes of C (2011)
[ Update 10/21/2015: Changed the title from "six lines of C" to "462 bytes of C" to avoid endless arguments about what constitutes a line of C code.]
[ Update 10/21/2015: Changed the title from "six lines of C" to "462 bytes of C" to avoid endless arguments about what constitutes a line of C code.]
A programming design pattern inspired by category theory
A discussion of software design and programming anti-patterns to know for every programmer, with examples.
Note (version) : I wrote this originally as a Redis module in early 2014, then Redis included a modified version directly into official Redis releases in 2016. Note (implementation) : The implementation included with Redis 3.2+ changed some parameter orderings from my original (intentional, well-thought-out) design…
Uses some simple trigonometry to calculate the movement of circles bouncing off lines.
It’s widespread folklore that one advantage of garbage collection is the ease of building high-performance lock-free data structures. Manual memory management for these data structures is not easy, and a GC makes it trivial.
Some years ago, I (GLS) was snooping around in the cabinets that housed the MIT AI Lab's PDP-10, and noticed a little switch glued to the frame of one cabinet. It was obviously a homebrew job, added by one of the lab's hardware hackers (no one knows who).
In early September I gave a keynote at Kiwi PyCon in New Zealand on effective learning for programmers. There were two pieces to the talk: one about …
Joey Hess inspires me. He lives in a cabin and programs Haskell on a drastically under-powered netbook. He harvests all his electricity from the sun with a homemade electrical system. Joey has designed his computing life to be highly distributed like the git version control he loves. His internet connection is…
Startups focus on speed since they are burning cash every day as they search for product/market fit. But over time code/hardware written/built to validate hypotheses and find early customers can be…
The Official Web Site of Nicholas C. Zakas
R&D computing at scale
This is part 1 in a series of blog posts that follow my work in creating a programming language.
Today I’m releasing the “record” library, which is an API of just two quasi-quoters, providing a full-scale solution to the notorious records problem of Haskell!
[This essay in Spanish] [This essay in French] [This essay in Chinese] In an old joke, two noblemen vie to name the bigger number. The first, after ruminating for hours, triumphantly announces "Eighty-three!" The second, mightily impressed, replies "You win." A biggest number contest is clearly pointless when the…
What I look for in a code review, from design and duplication to tests, and how I discuss changes with the person who wrote them.
Arthur’s thoughts on coding, software engineering, and other interesting things.
I graduated with a Computer Science minor from the University of Virginia in 1992. The reason it’s a minor and not a major is because to major in CS at UVa you had to go through the Engineering School, and I was absolutely not cut out for that kind