How Search Engines Enabled Finding Needles In A WWW-Sized Haystack
When the World Wide Web surged into existence during the 1990s, we were introduced to the problem of how to actually find something in this ever-ballooning construction zone that easily outpaced ev…
Like many people who read Hackaday, we are fairly fluent in a number of computer languages, but we have to admit it is easier to pick up languages that look like they group with things like Fortran…
The Unix Way Episode 17. DTrace as the canonical answer to in-production tracing, designed at Sun by Bryan Cantrill, Mike Shapiro and Adam Leventhal in 2003, generally available in Solaris 10 from January 2005, ported to FreeBSD by John Birrell in 7.1-RELEASE on 6 January 2009. The principle: instrument any kernel or userland probe with zero overhead when disabled and minimal overhead when enabled, with a deliberately Turing-incomplete script language so the compiler can prove every probe terminates within bounded time and memory. The Linux licence wall: DTrace was released under the CDDL, a file-level weak copyleft that accepts coexistence with any other licence; the GPL is strong copyleft and demands that any combined work be relicensed to GPL. The asymmetry is structural; the block was in the GPL's design, not the CDDL's behaviour. The Linux rebuild: BPF was already there (McCanne and Jacobson, Berkeley, 1992); Alexei Starovoitov and Daniel Borkmann generalised it into eBPF, merged in Linux 3.18 on 7 December 2014; BCC by Brenden Blanco at IO Visor arrived in 2015; bpftrace by Alastair Robertson, announced by Brendan Gregg as 'DTrace 2.0 for Linux' in October 2018. The bridge figure is Brendan Gregg himself, co-author of the 2011 DTrace book with Jim Mauro at Sun/Joyent and of the 2019 BPF Performance Tools book at Netflix. The shape was always the same; the journey was a great deal longer.
How Cities: Skylines uses a stock-market analogy to drive almost everything in the game · jkm.dev
I wanted to find out how Cities: Skylines drives the constant motion you see in a growing city - residents looking for jobs, tourists visiting attractions, garbage trucks doing their rounds, even cims looking for love - and I couldn’t find much written up about it. So I decompiled the game and dug in. What I found is that almost every interaction in the game runs through a single, elegant system: a stock-market-style trading market.
Most programming tutorials start with syntax, but the real language starts with data layout, ownership, allocation, and what values actually look like in memory.
Shipping the Dodo Payments CLI: A Terminal-First Workflow for Payments | Dodo Payments
We rebuilt the Dodo Payments CLI from the ground up - an interactive TUI, a local AI assistant over MCP, encrypted credentials, and offline webhook testing. Here's why we built it, and how it works.
The origin story of git-native-issue: an issue tracker built entirely on git's object model. What happens when you take a substrate's primitives seriously and build directly on top of them.
Allowlisting Config Capabilities by Embedding Rye in Go
We will explore how to embed the Rye language into a Go application and why its capability-based model makes it uniquely suited for configuration, despite being a general-purpose language.
Tom likes making games. He has worked professionally as a game developer, but he also likes to make games in his free time, as a hobby. He makes these hobby games in a “from scratch” kind of way. This means that he just has a main procedure and imports some libraries and builds things as needed.
Recently, Tom has found out about a programming language called Odin. He found that it fixed many things he disliked about C++ and C.
man jenkins_hash (9): general kernel hashing functions
man jenkins_hash (9): The Fn hash32 functions are used to give a consistent and general interface to a decent hashing algorithm within the kernel. These functions can be used to hash ASCII NUL terminated strings, as well as blocks of memory. The Fn hash32_buf function is used
Why AI Coding Assistants Misunderstand Your Architecture
AI coding assistants misunderstand your architecture — not because they’re buggy, but because architectural intent was never visible in the code to begin with.In this video I read through and comment on Ian Bull’s article “Sinks, Not Pipes: Software Architecture in the Age of AI”, adding my own perspective from my work on usable software […]
Sinks, Not Pipes: Software Architecture in the Age of AI
Software architecture principles like low coupling, high cohesion, and minimal side effects matter more than ever when AI agents are the ones navigating your codebase.