A Sketch of the Biggest Idea in Software Architecture (2022)
Narrow waists: an idea in software architecture that relates to networking, operating systems, language design, compilers, and distributed systems.
Narrow waists: an idea in software architecture that relates to networking, operating systems, language design, compilers, and distributed systems.
A merge workflow for activating multiple branches simultaneously using Jujutsu, an alternative VCS to Git.
A new way to make games
Challenging your software modelling techniques to be simpler
where my words occasionally escape /dev/null
This post announces SaberVM, an abstract machine for functional programs that guarantees safety, reliability, and portability.
Query language and terminal utility for transforming various data formats
Nobody wants “temperamental and mysterious” products, so what will AI-integrated software development look like?
TypedDict was introduced in PEP-589 which landed in Python 3.8. The primary use case was to create type annotations for dictionaries. For example,...
NOTE: This is based on, but completely rewritten, from a Twitter post:https://x.com/TheGingerBill/status/1802645945642799423TL;DR: It makes Go feel too "functional" rather than being an unabashed imperative language.I recently saw a post on Twitter showing the upcoming Go iterator design for Go 1.23 (August 2024)…
View this post in browser Your pie doesn't need to be original (unless you claim it so) Imagine you bake a delicious peach pie over the weekend, and you...
How great would it be if the solution to most errors you face were in the first place you looked? That’s what the Arch Wiki has been for me: a massive wealth of information and troubleshooting resources to help me navigate the various configuration and installation issues I’ve encountered. Some people claim Arch Linux…
I’ve been learning at least one new programming language a month through Exercism which has been really fun and interesting. I frequently say that “every language you learn teaches you something about all the others you know” and with nearly a dozen under my belt so far I’m starting to worry about the combinatorics of…
The code is a bit "experimental" but it's available in the arena-fixes branch (make sure to enable --features=development if you run it from a Git repo).
A Chess-AI is something every programmer should build at least once and [Sebastian Lague’s](https://www.youtube.com/@SebastianLague) [competition](https://www.youtube.com/watch?v=iScy18pVR58) was the perfect opportunity for me to do so. Constrained to 1024 tokens I wanted to implement an evaluation function similar to…
Artur Malabarba's Debugging Elisp Part 1: Earn your independence is nearly a decade old, yet it rings just as true today. Learning to Edebug really *"...
Design decisions core to JavaScript have caused a multitude of problems for benchmarking. Is there a solution to this?
This month’s PGSQL Phriday #015 topic is about UUIDs, hosted by Lætitia Avrot. Lætitia has called for a debate. No, no, no. I say let’s have an all-out war. A benchmark war. I have deci…
I wrote the analysis of “useless sugar” features of Ruby for two months, and I regret nothing.
As someone who has from time to time written on parsing, and even published some parsing research , I get asked questions about parsing fairly regularly, some of which I’m even capable of answering.
Then come along! Let’s make a compiler that goes all the way from source to assembly from scratch—no shortcuts!
Setting up PostgreSQL for tests is crucial for achieving performance and reliability. In this article, I'll explain how to set up PostgreSQL for tests and discuss some common pitfalls to avoid.
Today I am releasing my raycasting tech demo for the GameBoy Advance. Although it falls short of the goals I set out in the beginning – which included releasing a playable game –, I think there are some lessons worth sharing with the world.
This is the Part 2 of a series. Feel free to read the prequel for more context: Building the fastest Lua interpreter automatically Building a good VM for a dynamic language takes a ton of engineerin
Over the past 6 years or so, I’ve failed each item on “The Turkey Test.” It’s very simple: will your code work properly on a person’s machine in or around th...
SBCL is a Common Lisp implementation, with a performant compiler and support for a wide range of platforms. It has excellent documentation , and even a guide to internals (... this is written towards people who already know a lot about how it works though). This paper about SBCL's fairly unique build process is also…
A Rust object that survives program restart thanks to Rust allocators, systemd's file descriptor store, and syscall memfd_create.
I’m a keen user of Emacs and Org mode for a variety of tasks, including note taking, generating documents for exporting to LaTeX, Word, or html. creating blog posts (notably for this blog, us…