Seven Years of Factorio Friday Facts (2020)
This entry focuses on Wube Software's long-running Factorio Friday Facts; a seven-year labor of love documenting the creation of the titular video game.
Flatpak Is Not the Future
Deploying apps for the Linux desktop is hard. A major problem has historically been library compatibility. Different Linux distributions, and even different versions of the same distribution, have had incompatible libraries. Unfortunately, there hasn’t always been a culture of backwards compatibility on the Linux…
Text editing hates you too (2019)
Alexis Beingessner's Text Rendering Hates You , published exactly a month ago today, hits very close to my heart.
Bear plus snowflake equals polar bear
The correct answer is: 6. Or 7, if you want to be pedantic and include the newline, but let’s not.
Simulating worlds on the GPU: Four billion years in four minutes
This post delves into the implementation of my procedural earth simulation, written entirely in GLSL fragment shaders. It simulates the complete history of an earth-like planet in a few minutes, with the simulation updating at 60 frames per second.
Why mmap is faster than system calls (2019)
When I ask my colleagues why mmap is faster than system calls, the answer is inevitably “system call overhead”: the cost of crossing the…
The “API Mandate” memo at Amazon
The personal website of Christopher Laing.
Building a full-text search engine in 150 lines of Python code
Full-text search is everywhere. From finding a book on Scribd, a movie on Netflix, toilet paper on Amazon, or anything else on the web through Google (like [how to do your job as a software engineer](https://localghost.dev/2019/09/everything-i-googled-in-a-week-as-a-professional-software-engineer/)), you've searched…
Apple iPhone charger teardown: quality in a tiny expensive package (2012)
This article is now available in Vietnamese Bộ sạc iPhone của Apple . Disassembling Apple's diminutive inch-cube iPhone charger reveals ...
The state of external retina displays
The monitor story for Apple computers in [nearly] 2022 is basically would you like garbage, or would you like to take out a home equity loan?
Remembering Windows 3.1 themes and user empowerment
Windows 3.1 allowed you to change all system colors to your liking. Linux been fully themeable since the 90s. OSX came along with a draconian “all blue aqua, and maybe a hint of gray”.
Dissecting the Apple M1 GPU, Part IV
After beginning a compiler for the Apple M1 GPU , the next step is to develop a graphics driver exercising the compiler. Since the last post two weeks ago, I’ve begun a Gallium driver for the M1, implementing much of the OpenGL 2.1 and ES 2.0 specifications. With the compiler and driver together, we’re now able to run…
Quaternions
Introduction to quaternions and rotations in 3D.
Bank transfers as a payment method
Bank transfers have exploded as a payment method in India and may become more common in much of the world.
Arranging Invisible Icons in Quadratic Time
Near the end of January I was pointed to a twitter thread where a Windows user with a powerful machine was hitting random hangs in explorer. Lots of unscientific theories were being proposed. I don…
Building a PS1 style retro 3D renderer
My exploration into making a 90s style fantasy console inspired by the PS1
An unexpected find that freed 20GB of unused index space in PostgreSQL
How to free space without dropping indexes or deleting data
CPM MagnaCut
CPM MagnaCut is a new stainless knife steel designed to be better than anything that has been available before. Is it a success?
Scrape like the big boys
What it really takes to scrape without getting detected.
Conspiracy: In Theory and Practice
Would you like to know a secret?
The internet is held together with spit and baling wire
A visualization of the Internet made using network routing data. Image: Barrett Lyon, opte.org.
What to Learn
It's common to see people advocate for learning skills that they have or using processes that they use. For example, Steve Yegge has a set of blog posts where he recommends reading compiler books and learning about compilers. His reasoning is basically that, if you understand compilers, you'll see compiler problems…
Ruby vs. Python comes down to the for loop
Contrasting how each language handles iteration helps understand how to work effectively in either.
Turning an old Amazon Kindle into a eInk development platform
I fancied getting an eink screen to use for future projects. I bought a wee one with a raspberry pi "hat" attached. However, I realised later that I could maybe just re-purpose an old Amazon Kindle eb…
Are You Trading or Gambling?
How to not be a degenerate trader