New
The latest blog posts to take off on Hacker News. 4,109 posts.
It's time to make computing personal again
Adventures in vintage computers and retrogaming. Includes articles on classic games and obsolete computers.
How do interruptions impact different software engineering activities
Certain tasks, and their complexity, change how impactful an interruption is. Research also discovers a disconnect between perception and physiological data.
Minecraft with object impermanence
I generally am uninterested in generative AI that's too close to the real thing. But every once in a while there's a modern AI thing that's so glitchy and broken that it's strangely compelling. There's this generative AI knockoff of Minecraft that fails so hard
Hacking the Yamaha DX9 to Turn It into a DX7 (2023)
A brief account of hacking the Yamaha DX9's firmware ROM to make its functionality more closely match the DX7.
All Lisp indentation schemes are ugly
Indentation styles are a hot topic in every language. So let's see how Lisps do indentation! Uuuuuuugh!
Please don't force dark mode
A discussion on why forcing dark mode on users can lead to poor user experience, the impact of high contrast ratios on readability, and the need for better guidelines in dark mode design.
Tomatoes roaming the fields and canaries in the coalmine
Many publishers are getting nervous about infiltration by paper mills, who can torpedo a journal's reputation when they succeed in publis...
The surprising struggle to get a Unix Epoch time from a UTC string in C or C++
So how hard could it be. As input we have something like Fri, 17 Jan 2025 06:07:07 in UTC, and we’d like to turn this into 1737094027, the notional (but not actual) number of seconds that have passed since 1970-01-01 00:00:00 UTC. Trying to figure this out led me to discover many ‘surprise features’ and otherwise…
Haskell: A Great Procedural Language
These sound like dismissals or absurdities from the outside, but once you learn what they really mean, they take on a new light. In this article, I want to explain the third. (See the appendix if you are curious about the first two.)
The "35-cent" Commodore 64 softmodem
Rockwell famously used 6502-based cores in modems for many years, but that doesn't mean other 6502s couldn't be used. If only there were a w...
Dissecting "Tiny Clouds" shadertoy (2017)
There is an amazing shadertoy called “Tiny Clouds” by stubbe (twitter: @Stubbesaurus) which flies you through nearly photorealistic clouds in only 10 lines of code / 280 characters (2 o…
How Unix spell ran in 64kb RAM
How do you fit a dictionary in 64kb RAM? Unix engineers solved it with clever data structures and compression tricks. Here's the fascinating story behind it.
Garmin's –$40B Pivot
The GPS pioneer took direct hits from Apple (iPhone, Watch) and Google (Maps). But huge R&D investment helped turn the company from an automotive GPS firm to a leader in fitness watches and trackers.
WASM GC isn't ready for realtime graphics
Wasm GC is a wonderful thing that is now available in all major web browsers since slowpoke Safari/WebKit finally shipped it in December. It provides a hierarchy of heap allocated reference types and a set of instructions to operate on them. Wasm GC enables managed memory languages to take advantage of the advanced…
Amazon's AI crawler is making my Git server unstable
Please, just stop.
Rule-Based Programming in Interactive Fiction
As I write this, Inform 7 is approaching its third birthday. I7 is a tool for creating interactive fiction (text adventure games). Like all the most powerful IF development tools, I7 is a programming language -- a powerful and peculiar one.
ATProto and the ownership of identity
The new age of social-enabled apps
I've been advocating for RSS support, and you should too
I've been using Feeder to keep up with the news for awhile now. For a long time, I just checked AllSides. But then I found out NPR in my state supports ...
Using ChatGPT is not bad for the environment
And a plea to think seriously about climate change without getting distracted
Investigating an “evil” RJ45 dongle
Reverse-engineering hardware can be difficult -- but sometimes, all you need is a comfy armchair and some Google Translate.
Branchless UTF-8 Encoding
I know how to decode UTF-8 using bitmath and some LUTs (see https://github.com/skeeto/branchless-utf8 ), but if I want to to go from a codepoint to UTF-8, is there a way to do it without branches?
Hands-On Graphics Without X11
A crash course on direct framebuffer and keyboard access via NetBSD’s wscons
Brood War Korean Translations
As work slowed down during the last couple of weeks of 2024, I decided to redirect some of my energy to hobbies instead of work. One such hobby is StarCraft: Brood War (or BW for short), a classic, highly competitive RTS from '98 that still has an active community today.
Project Mini Rack – compact and portable homelabs
Today I'm announcing Project MINI RACK, an open source project to help those building homelabs, RF/wireless rigs, and other electronics projects into mini 10" racks. Not everyone can afford (either due to budget or space constraints) to have a full 19" rack in their home. Besides that, people may want to deploy small…
Guitar chord karaoke with Vamp, Chordino, and FFmpeg (2022)
A proof-of-concept using Vamp, Chordino, ImageSharp and ffmpeg to add live guitar chord charts to karaoke videos
The Family Bass - Music with an NES
I connected a Family BASIC keyboard to an NES via a bespoke adapter in order to play its unique triangle waveform live.