My first attempt at iOS app development
A week ago, I knew absolutely nothing about Swift. Today, I have a working iOS app sitting on my Mac and my test device
The latest blog posts to take off on Hacker News. 14,538 posts.
A week ago, I knew absolutely nothing about Swift. Today, I have a working iOS app sitting on my Mac and my test device
How the Elixir community can survive — and thrive — in an age of LLMs.
How we handle 92 million compilations a year without everything catching fire
Turn AI coding assistants into more reliable development partners
The story behind writing The BEAM Book-ten years, three publishers, and an open‑source sprint.
Machine code isn't scary. If you can make sure your JSON conforms to a JSON schema, you can write machine code.
I made a library that takes GPS coordinates and gives you the state.
Background On April 16, 2025, Apple released a patch for a bug in CoreAudio which they said was “Actively exploited in the wild.” This flew under the radar a bit. Epsilon’s blog has a great writeup of the other bug that was presumably exploited in this chain: a bug in RPAC. The only thing out there that I am aware of…
For one of my network storage PC builds, I was looking for an alternative to Flatcar Container Linux and tried out NixOS again (after an almost 10 year break). There are many ways to install NixOS, and in this article I will outline how I like to install NixOS on physical hardware or virtual machines: over the network…
Bridge the gap between structured logging and errors in Go
Why streaming isn't enough.
Lessons on incentives and scaling from two years as a teaching assistant
(Image of "Four-Armed Chuck" programming a PDP-11 is from my giant write-up of Forth .)
One of my more frequent rants, both online and in person, is the danger posed by the "fast-math" compiler flag. While these rants may elicit resigned acknowledgment from those who already understand the dangers involved, they do little to help those who don't. So given the remarkable paucity of writing on the topic…
Exponential backoff with jitter is de rigeur for making service calls. This code, or something like it, probably looks really familiar: func do(ctx context.Context) error { const ( maxAttempts = 10 baseDelay = 1 * time.Second maxDelay = 60 * time.Second ) delay := baseDelay for attempt := range maxAttempts { err :=…
At least a familiarity with the lambda calculus, including how it is evaluated. Some base knowledge of programming languages is also assumed.
I built a simple web crawler using good old platform threads. It was just a multithreaded crawler, nothing fancy. But then, curiosity…
An explainer for people who don't know computer science and are mildly curious
A cozy little corner of the web.
How we're preserving 12,000 legacy links as Google's URL shortener rides into the sunset
If you're underwhelmed with AI coding agents or simply want to get more out of them, give parallelization a try. After seeing the results firsthand over the past month, I'm ready to call myself an evangelist. The throughput improvements are incredible, and I don't feel like I'm losing control of the codebase.
This is going to be a long post, but I hope you get value out of it. This wasn’t an easy topic to tackle but it was definitely worthwhile!
A Date in JavaScript always represents a point in time (i.e. milliseconds since epoch). This is more apparent when printing out the full date string:
A few weeks back, I implemented GPT-2 using WebGL and shaders (Github Repo) which made the front page of Hacker News. Here is a short write-up over what I …
A deep dive into Meta's pyrefly and Astral's ty - two new Rust-based Python type checkers that both promise faster performance and better type inference.
How to Use Python in C
Hacker News was written in the Arc lisp dialect, a dialect created by Paul Graham. Arc was implemented on top of Racket, but that has now changed. HN runs on top of SBCL since (at least) September of 2024.But why? For performance reasons. I recently noticed that Hacker News no longer uses paging for long threads. In…
How to use the `timeout` command to terminate processes after a specified time and how to combine it with `until` for smarter shell scripting.
GitHub issues is almost the best notebook in the world. Free and unlimited, for both public and private notes. Comprehensive Markdown support, including syntax highlighting for almost any language. Plus …