Preparing for the .NET 10 GC
In .NET 9 we enabled DATAS by default. But .NET 9 is not an LTS release so for many people they will be getting DATAS for the first time…
In .NET 9 we enabled DATAS by default. But .NET 9 is not an LTS release so for many people they will be getting DATAS for the first time…
I like slim and stupid servers, where each endpoint wraps a very dumb DB query. Dumb queries are fast. Fast queries make websites smooth and snappy. Keep those click/render loops sacred. Sweep complexity under a task table.
If you’re a developer rocking an Apple Silicon Mac and writing in Zig, congratulations - you’ve chosen the scenic route through the desert of profiling tools. It’s just you, your code, and a tumbleweed named Apple Instruments. But don’t worry - we’ll try to find some oases. Okay, it’s not that bad, but we’re far away…
A story of writing Clojure’s println alternative that works inside threading-first/last macros
Years ago I spent a lot of time reviewing coding challenges. The challenge itself was very straightforward — building a CLI tool that hit an API and allowed the…
A perspective on continual learning, motivating our paper on sparse memory finetuning
In some ways, that's because C is a lower-level language, closer to assembly; it just gives you what the underlying machine gives you.
Friendly Attributes pattern enables writing human-friendly attributes with compact and flexible syntax.
Looking at old applications, we always wonder who in their right mind thought of building them so badly. But every repository has its story and every effort has noble origins. I encountered such an ap
Solving LinkedIn Queens in the LogicT monad
| Learn how to implement OpenAI-style tool calling — from raw REST to elegant Spring AI annotations. Includes real code, diagrams, and…
Completing a BASIC language interpreter in 2025 for replacing the very slow Mattel ECS BASIC for Intellivision.
I graduated last month, and my GSoC project along with my startup work finally wrapped up. To take a proper break and enjoy some deliberate...
In Rust at Facebook by Fitzhardinge of the Mercurial team , Jeremy says that a new language must be 10x better at something than one of the (other) incumbent languages.
For a week or so now, I've been writing niënor , a "lispy environment for uxn" . I did not want it to become a full-blown lisp but just another way of writing uxntal . Uxntal is a bit too dense for my liking, and I prefer lisp/scheme s-expression syntax. Niënor is just a compiler and a macroexpander that takes in…
Platform Specific Series - Lets learn how the hardware of the systems work, so we can get it to do what we want... Covers Amsrad CPC,MSX,ZX Spectrum, TI-83,Enterprise 128/64 and Sam Coupe! Lesson P1 - Basic Firmware Text functions Lesson P2 - More Text Functions, Improvements... and the Sam Coupe! Lesson P3 - Bitmap…
In 2007, I was spending a my norther-hemisphere summer experimenting with UI automation. Born of those efforts, xdotool came into being when I separated it from another project. The goal was modest - write some scripts that execute common keyboard, mouse, and window management tasks. The first commit had only a few…
Cute Framework is a simple, yet powerful C/C++ framework for building 2D games using the modern GPU pipeline. While C or C++ is fine, Swift is a modern language that many developers prefer for its safety and expressiveness. In this post, we will explore how to set up a project using Cute Framework with CMake, enabling…
The Ruby community can no longer afford to stand silent in the face of DHH and his toxic ideas.
Dmitrii Kovanikov's Personas Web Space
Let's write a service for GNU Guix that will automatically start kmonad at boot, and keep it running until shutdown.
Back in 2017 I wrote about a technique for creating closures in C using JIT-compiled wrapper. It’s neat, though rarely necessary in real programs, so I don’t think about it often. I applied it to qsort , which sadly accepts no context pointer. More practical would be working around insufficient custom allocator…
In my previous post, I introduced the simp le programming language. Near the end of that post, I mentioned that the parser isn't very efficient.
A few days ago, someone called PixelMelt published a way for Amazon's customers to download their purchased books without DRM. Well… sort of. In their post "How I Reversed Amazon's Kindle Web Obfuscation Because Their App Sucked" they describe the process of spoofing a web browser, downloading a bunch of JSON files…
Go's interfaces—static, checked at compile time, dynamic when asked for—are, for me, the most exciting part of Go from a language design point of view. If I could export one feature of Go into other languages, it would be interfaces.
I program my home computer, beam myself into the future
There are only two hard things in Computer Science: cache invalidation and naming things -- Phil Karlton (bonus variations on the page)
David A. Wheeler's Page on Countering 'Trusting Trust' through Diverse Double-Compiling (DDC) - Countering Trojan Horse attacks on Compilers
Vibe coding is having a moment. The term was coined by Andrej Karpathy just a few weeks ago (on February 6th) and has since been featured in the New York …