How to (and how not to) fix color banding
Discovering color banding solutions & Smooth gradients with a clever Noise one-liner by SLEDGEHAMMER Games
The latest blog posts to take off on Hacker News. 3,824 posts.
Discovering color banding solutions & Smooth gradients with a clever Noise one-liner by SLEDGEHAMMER Games
I think it is healthy to compare historical and modern computing. Let's see how the CPUs contained in recent USB-C wall chargers compare to the power of the Apollo 11 Guidance Computer (AGC). The Apollo 11 spacecraft carried 3 humans to the moon and back in 1969.
BASIC is often dismissed as an inferior language compared to its successors. Common complaints are its use of line numbers, its heavy reliance on GOTO for execution flow, and its lack of a stack for local variables. What many critics overlook is that at the time of its use (during the first wave of home computers)…
An in-depth analysis that explains how this console works internally
The first step in building my text editor is to implement the core API. If you’re wondering why I want to do this, the original article is here.
Searching and displaying results isn't hard, why do so many websites suck at it?
The Thanksgiving long weekend (23-26 November) in 2023 was an interesting one for OpenZFS, that I managed to land myself in the middle of. The short version of events is that an apparent silent data corruption bug was discovered, which is kind of the worst case scenario for a data storage system. It was a pretty…
One of my most popular posts was also my very first… which has since been lost to the Great Blog Devouring of ’14. So… here’s the post from over ten years ago (has it been that long?!?!?!) about an event from almost twenty years ago. Still stuff I have to remind myself about some days.
What wet-lab chemistry can teach software engineers
More thoughts on Open Source licensing and companies.
Challenging projects every programmer should try
My personal website.
Describes how to create reproducible and deterministic one-file bundles of git repositories for use cases such as backups.
Instead of using sshpass to non-interactively provide an SSH password, here is a simpler approach by harnessing the built-in features of OpenSSH...
A blog about game engines, graphics, C++, and more.
Experiences navigating disintegrating American health care institutions, and what they might imply for life in 2037
Since Google’s introduction of its Pixel 8 phones earlier this month, it has been interesting and a little amusing to me to read the reactions to its image manipulation tools. It feels like we have been asking the same questions every year — questions like what is a photograph, anyway?, and has technology gone too […]
Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets
I’ve been buying a copy of Maximum PC magazine at the airport newsstand on every long-distance trip I’ve taken over the past two decades. I’m primarily a Mac user but Maximum PC, which started life as boot, bought at these … Continue reading →
I find this literature irritating and opaque. This is at least somewhat because I do not yet understand it well, and there's too much of it. But clearly I need to wrap my head around it, before I become technically obsolete. My scare quotes in the title of these notes thus derive in part from jealousy and fear. But…
I created The low-tech guys, a brand under which I develop macOS apps for a living. I started this business with a good friend of mine, thinking I could help him stop working long hours at his consulting job and ease into more creative work. However, getting to a state where you earn enough to live off the app sales…
It’s still good to use, I swear
Don’t just read it; fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical sp…
The second block has more real work going on. If the character stored in the variable _ does not match the first character of the string a , the code recurses in such a way that this same block of code will again be entered. That is, t=-65 forces a return to the if (t < -50) block. The recursion steps through string a…
Erik van Zwet, Sander Greenland, Guido Imbens, Simon Schwab, Steve Goodman, and I write :
In my last post, we explored how to build WASM modules, both with and without WASI support, using Clang. In a comment on Reddit, it was mentioned that much of the setup I walked through in that post could be avoided by just leveraging Zig’s WASI supprt. This is a great point, and I would recommend doing the same. The…