Dark Matter Developers: The Unseen 99% (2012)
In astronomy and cosmology, dark matter is a currently-undetermined type of ...
This is valid Python syntax
Sometimes it's even useful too
C++ Modules: Packaging Story
Experimenting with C++ Modules from the package management and build system perspective
There is no software maintenance
Every time I hear about software maintenance as a distinct activity, I cringe. That’s because it is based on the outdated notion that first software is developed, then it is maintained. But t…
GitHub Actions and vanity metrics
The measure of a modern software engineer in our attention economy is easily calculable thanks to companies like Microsoft acting both as bastion and companion in demonstrating one's prowess.
Compiling ML models to C for fun
We make micrograd fly with a little compiler magic. In this post, we’ll write a ML compiler from scratch.
Bevy 0.11: ECS-driven game engine built in Rust
Thanks to 166 contributors, 522 pull requests, community reviewers, and our generous sponsors, we're happy to announce the Bevy 0.11 release on crates…
Resilience and Waste in Software Teams
Resilience is coping with unexpected events and environmental change. To have resilience, you need slack. Slack in software development lets people do the little tasks that keep the work moving smo…
How I developed a faster Ruby interpreter (2022)
Learn about 8 optimization techniques for a faster interpreter in Ruby which I developed using a dynamically specialized internal representation (IR).
Lisp Game Jam – “Wireworld” in WebAssembly Using Spritely's Hoot Project
This blog post focuses on our second Spring Lisp Game Jam 2023 entry, wasm4-wireworld , an implementation of Wireworld on top of Hoot 's lower-level assembly tools which are a part of our Guile → Wasm project to bring Spritely Goblins -powered distributed applications to the common web browser.
What We Need Instead of "Web Components"
Stop trying to make customElement happen. Do this instead.
The C++20 Naughty and Nice List for Game Devs
A blog about game engines, graphics, C++, and more.
The seven specification ur-languages
A brief overview of the formal specification landscape
Modern Polars: A comparison of the Polars and Pandas dataframe libraries
A side-by-side comparison of the Polars and Pandas libraries.
Everyday performance rules for Ruby on Rails developers
Delve into best practices for HTTP, Ruby on Rails, and databases, and discover when to adhere to the rules or when breaking them could set your code apart.
A systematic approach to debugging
I've got a reputation at work as being a skilled debugger. It's a frequent occurrence that the weird stuff lands on my desk [1] after it goes through another skilled engineer or two. To say my job is substantially "debug the weird shit" would not be an understatement and I'm here for it.
Blog-cells: Interactive code cells for static sites
blog-cells can turn any web page into an interactive code notebook, similar to Jupyter notebooks, but powered by JavaScript and running entirely in the browser.
Let's Build a Compiler (1988)
This series of articles is a tutorial on the theory and practice of developing language parsers and compilers. Before we are finished, we will have covered every aspect of compiler construction, designed a new programming language, and built a working compiler.
Physical Knobs and Elixir
I like production gear. Audio, video and .. miscellaneous. I like things that seem like they'll make me oh-so-very productive. I'm a sucker prosumer as a hobby. Let's talk about Elgato, Elixir and why I never actually get anything done. This is unfortunately not sponsored by a prosumer brand, or anyone, that'd have…
Teaching Apple Cyberdog 1.0 new tricks (featuring OpenDoc)
In the distant nethermists of time, documents once briefly ruled the earth (or at least Mac OS), and to that end I managed to find a verrr...
WeeChat 4
Version 4.0.0 is available! WeeChat now follows a practical semantic versioning and there are breaking changes in this release, please read carefully the release notes. See
Reducing Tailscale’s binary size on macOS
Tailscale v1.36 for macOS features a significantly reduced binary size (going from 92MB to 56MB). The effort started out with a chance observation about a surprisingly large executable, and ended up involving some creative approaches using dlopen.
mruby 3.2.0
mruby is the lightweight implementation of the Ruby language complying to (part of) the ISO standard. mruby can be linked and embedded within your application. We provide the interpreter program
Competitive programming in Haskell: better binary search
Binary search is a workhorse of competitive programming. There are occasional easy problems where binary search is the solution in and of itself; more often, it’s used as a primitive building block…
Writing a TLA⁺ tree-sitter grammar: my foray into free software
My foray into free software
How Beeper Mini Works
It’s a technical deep dive, so buckle up!
Will Carbon Replace C++?
Is Carbon going to be a real replacement for C++? Let's find out.
a[low:high:max] in Golang – A Rare Slice Trick
Full Slice Expressions in Golang — A Rare Slice Trick
Thoughts on the Python packaging ecosystem
My response to the discussion topic posed in Python Packaging Strategy Discussion Part 1 had become quite long, so I decided to move it to write a blog post instead. This post then started absorbing various draft posts I’ve had on this topic since this blog was started, morphing to include my broader thoughts on where…