The presumption that computers are working correctly
The first in a series of posts on the Post Office Horizon prosecutions scandal
The latest blog posts to take off on Hacker News. 3,824 posts.
The first in a series of posts on the Post Office Horizon prosecutions scandal
This post describes the design and implementation of a runtime benchmark suite for measuring the performance of Rust programs, which was recently added into the Rust compiler suite. I have recently blogged about how the whole benchmark suite works, so feel free to read that post first if you want to gather a bit more…
I've been contacted a few times recently about the sharp decline in descriptive images on the events listings.
Scott Mabin's blog
I’ve never trusted Facebook, mostly because I’ve been around tech for a long time and everything I’ve ever learned about the company looked like a red flag. But once I started to really dig in, what I learned was so much gnarlier and grosser and more devastating than what I’d assumed.
Two phase locking (2PL) was the first of the general-purpose Concurrency Controls to be invented which provided Serializability. In fact, 2P...
TL/DR; Play/Download a copy from itch.io I had always wanted to create games. In fact its one of the reasons I went down the development path. For various reasons I never invested enough time …
Mudlark on the River Thames foreshore by day, then hunt vampires at Carfax Abbey by night. A new game written in APL on the Commodore…
It’s April Cools! It’s like April Fools, except instead of cringe comedy you make genuine content that’s different from your normal stuff.1 For example, last year I talked about owning a microscope. This year I debated doing another hobby but settled on a much dumber topic. Have you ever seen those lists of weird…
The Internet has a sustainability problem. Many of its critical services depend on the dedication of unpaid volunteers, because they can’t be monetized and thus don’t have any revenue stream for the maintainers to live on. Services like DNS, time synchronization, crypto libraries - software without which the net and…
Many of my interactive pages have a draggable object . I want the reader to move the object around, and I want the diagram to respond in some way. Here I’ll document the code I use to make this work with both mouse and touch input, using browser features that are widely supported since 2020. Here’s a common case I…
More on MMO Architecture:- MMO Architecture: client connections, sockets, threads and connection-oriented servers- MMO Architecture: Optimizing Server Performance with Lockless Queues- MMO Architec…
Using Dear ImGui for creating a visual node graph.
One fine day in January 2017 I was reminded of something I had half-noticed a few times over the previous decade. That is, younger hackers don’t know the bit structure of ASCII and the meaning of the odder control characters in it.
There was a cultural divide in benshi preferences, rather like the difference in taste between those
I spent a recent flight finding out what I could do with a connection to the flight’s wifi, but without access to the internet. I was on my way home from Strange Loop, a direct flight from St. Louis to Oakland. It’s a long enough flight that I planned to purchase the $8 internet access and get some work done, but…
You probably know how to use async/await. But have you ever wondered how it works under the hood?
I was checking the status of a FedEx order when Brave warned me that “this site has been blocked from accessing your motion sensors”. I’m struggling to understand why a website would need that access. Do I get a different experience if I drop my device? Tip my monitor over? Spin the mouse around?
This post looks at the Closure Compiler, Google's tool from the mid-2000s for adding types to JavaScript. It looks at how its focus on minification led to very different design choices than TypeScript, and how this and a few other factors led to TypeScript becoming the ubiquitous solution for JavaScript + types. The…
This is a self-contained low-power computer with its own display and keyboard that you can program in uLisp, a version of the high-level language Lisp for microcontrollers:
I encountered yet another discussion about OpenBSD PF versus FreeBSD PF . For those who are new to the discussion: OpenBSD developers created PF in 2001, and it rapidly improved to become the most approachable open source packet filter. FreeBSD ported PF over to its kernel in 2004, with occasional updates since. Today…
One of the great thing about C are the many fairly mature tools in the ecosystem. The bad news however is that most educational materials don't teach them and thus many beginners (and sometimes even experienced) developers have absolutely no awareness that these tools even exists.
The WGA's win may pave the way for more.
Context Around a year and a half ago, I’ve asked my former company for some time to work on an issue that was impacting the debugging capabilities in our project: gdbserver couldn’t debug multithreaded applications running on a PowerPC32 architecture. The connection to the gdbserver was broken and it couldn’t control…
(New to this series? Consider starting from part 1) At the end of the last post, we started to get some interesting functionality with the ability to resolve addresses to names in a module. This was the last functionality missing before we could implement breakpoints! This part adds the ability for DbgRs to set…
Over the past year I’ve refined my approach to arena allocation . With practice, it’s effective, simple, and fast; typically as easy to use as garbage collection but without the costs. Depending on need, an allocator can weigh just 7–25 lines of code — perfect when lacking a runtime . With the core details of my own…
sysclean(8) is a system tool designed for help system administrator to keep their OpenBSD clean after upgrade.
I was curious to explore how long a program takes to run, how much memory is used over time, and what processes/threads are spawned. To provide answers I wrote a tool, which I named st . Here are a few things I looked into.