What to Know Before Debating Type Systems (2008)
I was asked by someone to put this old piece of writing of mine somewhere more permanent, so here it is. A few comments off the top: This isn’t new. I wrote it years ago. Yes, I’m a b…
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,541 posts.
I was asked by someone to put this old piece of writing of mine somewhere more permanent, so here it is. A few comments off the top: This isn’t new. I wrote it years ago. Yes, I’m a b…
In Rust, there are certain API decisions about what is and isn’t sound that impact all Rust code. That is, a decision was made to allow or not allow types which have certain safety requirements, and now all users are committed to that decision. They can’t just use a different API with different rules: all APIs must…
Ah, git ! Love it, hate it. Few things are as central to the modern software development workflow as source-control management (SCM) tools. Although there have been and still are plenty of alternatives to git in the world of SCMs, none other seem quite as prevalent both in open-source and the enterprise.
Stephen Wolfram discusses understanding proofs discovered using automated theorem proving. Based on Wolfram’s proof of the simplest axioms of logic of Boolean algebra.
Stop vibe-coding blindly! Why reading AI-generated code is crucial in 2025. Avoid security flaws, architectural decay, and knowledge loss when using Claude Code or any other tool.
How local-first software works: sync engines, CRDTs, replicated databases, developer tools, architecture tradeoffs, and when to use each approach.
This site now runs on a custom dialect of Lua.
It’s a new school year!
Stephen Wolfram introduces the Wolfram Language, with overview and demonstrations, in a video showing the power of this symbolic programming language.
Hi, I'm Peter Bex, a Scheme and free software enthusiast from the Netherlands. See my user page on the CHICKEN wiki or my git server for some of my projects.
In this article I’d like to present a list of django packages (add-ons) that I use in most of my projects. I am using django for more than 5 years as my day to day work tool to develop applications for the public sector organization I work for. So please keep in mind that these packages are targeted to the…
Check out how you can use the proc filesystem to retrieve the kernel stack trace of a given process
Every dataframe library ships with hundreds of operations. pandas alone has over 200 methods on a DataFrame. Is pivot different from melt? Is apply different from map? What about transform, agg, applymap, pipe? Some of these seem like the same operation wearing different hats. Others seem genuinely distinct. Without a…
A curated list of misconceptions about mainstream compilers.
It is over one year since I gave up my day job to become an independent developer (It is more than a year but I have missed a few reports so I will sum 12 months that has been reported on this blog…
People seem to think that writing a garbage collector is really hard, a deep magic understood by a few great sages and Hans Boehm (et al) . Well it’s not. In fact, it’s rather straight forward. I claim that the hardest part in writing a GC is writing the memory allocator, which is as hard to write as it is to look up…
I demonstrate a widely applicable pattern which integrates Prolog as a critical component in a data science analysis. Analytic methods are used to generate properties about the data under study and Prolog is used to reason about the data via the generated properties. The post includes some examples of piece-wise…
In this post I will describe the differences between functions and coroutines and provide a bit of theory about the operations they support. The aim of this post is introduce some foundational concepts that will help frame the way you think about C++ Coroutines.
Based on the latest tests I've published, Django LiveView appears to be the fastest dynamic frontend (I'm sure more variables can be measured). OK…
The work on QEMU and this post was paid for by Determinate Systems, and the post was co-published on the Determinate Systems blog .
Prompt Engineering, also known as In-Context Prompting, refers to methods for how to communicate with LLM to steer its behavior for desired outcomes without updating the model weights. It is an empirical science and the effect of prompt engineering methods can vary a lot among models, thus requiring heavy…
What happens inside the WiFi Driver on RISC-V BL602... And how we found the incomplete source code for the driver
What would the world look like if there were only 16 colors? I use k-d trees to perform nearest neighbor search to find out.
Tour of watershed posts and papers for Haskell
History of the development of my windowed operating system for 32-bit Am29000 processors when I was age 18.