Traits are a local maximum
An expose on Implicits and Local Coherence
Topics /
The most popular blog posts about software engineering on Hacker News. 1,116 posts.
An expose on Implicits and Local Coherence
Using a full-featured RPC framework for IPC seems like overkill when the processes run on the same machine. However, if your project anyway exposes RPCs for public APIs or would benefit from a schema-based serialisation layer it makes sense to use only one tool that combines these—also for IPC. Microservices for…
Parenthetically Speaking: Articles by Shriram Krishnamurthi
What Is Declarative Programming Broadly speaking, there are two ways to program/instruct a computer to perform a task, they are imperative...
MP 90: Building a complete Django project from a single file. Note: This is the first post in a series about building a full Django project, starting with a single file. This series will be free to everyone, as soon as each post comes out. 1 For a long time,
I first encountered Jenkins in 2007 while contributing to the Apache Nutch project. It was called Hudson back then. The nightly builds for the project ran on Hudson at that time. I remember sifting through my emails and reviewing build result notifications to keep an eye on the patches that got merged into the trunk…
tl;dr : Software shadow stacks could deliver up to 8x faster stack trace capturing in the Go runtime when compared to the frame pointer unwinding that landed in go1.21. This doesn’t mean that this idea should escape from the laboratory right away, but it offers a fun glimpse into a potential future of hardware…
Or: The Most Expensive Linked List I’ve Ever Written
As far as I know, the next meeting of EmacsATX, the Austin Emacs Meetup group , has a planned topic: Org mode . I was going to make a post about the common Org functions I use frequently, but I thought that I should start with common commands I used for generic Emacs when I started using it more than twenty years ago…
tl;dr: programming book authors: put all the code in the book! An extreme antipattern for a programming book is “download the author’s idiosyncratic library code from some random URL an…
floating-points-between-zero-and-one - Chad Nauseam Home
Scheme to the Spec is a series on the more complex, often overlooked aspects of programming language implementation.
Five patterns to help Single Page Applications fetch data from remote sources
Suppose you have an array of floating-point numbers, and wish to sum them. You might naively think you can simply add them, e.g. in Rust:
A while back I had to deal with a bit-packed format that contained a list of integer values encoded in one of a pre-defined sets of bit widths, where both the allowed bit widths and the signed-ness…
Follow me on Bluesky! A Log-Structured Merge tree, or LSM, is a popular data structure for storage engines. It’s what is used by RocksDB, which is sort of...
This post is about the AioContext lock removal in QEMU 9.0 (planned for release in 2024), how we got here, and what it means for multi-threa...
My long-time collaborator Richard Barnes [1] used to say that "in security, trust is a four letter word" , and yet the dominant experience of using any software-based system—which is, you know, pretty much anything electronic—is trusting the manufacturer. Not only is there no meaningful way to determine what software…
Large language models (LLM) have been all the rage for quite some time now. Looking beyond the hype though, they have severe limitations: hallucinations, lack o
For programmers new to cryptography, there are plenty of “known unknowns” – unfamiliar terms like “elliptic curves” and “random oracles”, and unnecessarily long acronyms (“RSASSA-PKCS-v1_5”, like really?). But what really gives cryptography its reputation is the unknown unknowns. The things that catch even experienced…
In my last post I floated the idea of writing a slow, edit-prone shell script instead as a self-rebuilding C program.
I’ve invested leisure time to save time when I’m working hard, not to save keystrokes but to save mental energy for the project at hand.
Writing an interpreter for a custom bytecode opens the door for rendering interactive custom Winamp skins in the browser
A hands-on introduction to database internals. Build an LSM storage engine with SSTables, compaction, WAL recovery, MVCC, and transactions.
All the “C++ killers”, even these which I wholeheartedly love and respect like Rust, Julia, and D, help you write more features with fewer bugs, but they don't much help when you need to squeeze the very last FLOPS from the hardware you rent. As such, they don’t have a competitive advantage over C++. Or, for that…
Dmitrii Kovanikov writes posts about enterprise software development and functional programming, both entertaining and serious. I never used a functional programming language (such as Haskell or OCaml) at work, but several ideas from functional programming have become popular in mainstream general-purpose programming…
Some of the things I've learned over a decade of Git usage, and working on writing good commit messages.