String Diagrams for Linear Algebra
We have established that there is a homomorphism called θ from B, the PROP of diagrams, to Mat, the PROP of matrices. To do this, it was enough to say where θ takes the four stars of the story so f…
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,544 posts.
We have established that there is a homomorphism called θ from B, the PROP of diagrams, to Mat, the PROP of matrices. To do this, it was enough to say where θ takes the four stars of the story so f…
I'm the kind of person who reads encyclopedias front to back just for fun, and I've been fascinated by mathematical special functions at least since my first encounter with the gamma function as a teenager. My work implementing numerical and symbolic algorithms in mpmath , Arb and other software projects during the…
For the last few weeks, I've been working on a couple of patches to tcmalloc, Google's super high performance memory allocator. I'm going to post about them soon, but first I thought it would be cool to give some background about what a memory allocator actually does. So, if you've ever wondered what happens when you…
Dan's blog
Registers in Vim are best thought of as scratch spaces for text, some of which are automatically filled by the editor in response to certain actions. Learning how to use registers fluently has a lot of subtle benefits, although it takes some getting used to because the syntax for using them is a little awkward.
Github recently drafted an update to their Terms Of Service. The new TOS is potentially very bad for copylefted Free Software. It potentially neuters it entirely, so GPL licensed software hosted on Github has an implicit BSD-like license. I'll leave the full analysis to the lawyers, but see Thorsten's analysis .
It has been a year and a half since I wrote the first version of this tutorial and it is time for an update. Knet (pronounced “kay-net”)...
I recently picked up an embedded project in which I needed to build a highly customized full system image with minimal boot times and NetBSD was the best choice for it. Let's look at why its build system helps.
This article will teach you about self-attention mechanisms used in transformer architectures and large language models (LLMs) such as GPT-4 and Llama.
We write about Windows Internals, Hypervisors, Linux, and Networks.
Numerical Optimization is one of the central techniques in Machine Learning. For many problems it is hard to figure out the best solution directly, but it is relatively easy to set up a loss function that measures how good a solution is - and then minimize the parameters of that function to find the solution.
This is really the same article as Part 1 - Hello CUDA, but with the focus on OpenCL, so I'll skip most of the narration and just show you the code.
Lambda Screen allows you to draw images using terms of pure lambda calculus. By using fixed-point combinators, you can even create infinitely detailed fractals.
This was a post on [Quora](https://qr.ae/pG0hvt) and I thought I have more to say than I can write in a reply, so here goes, a blog article inst...
CVE is a database used for categorizing and reporting security vulnerabilities in software. There are various kinds of vulnerabilities that can be reported. Some of them are caused simply by bugs in the program logic (like a recent CVE reported in Cargo), but some of the most nasty ones are caused by memory unsafety…
Every now and then, there’s a post predicting the death of the Java language. The funny thing is that none of them writes about a date. But to be honest, they are all probably true. This is the fate of every language: to disappear into oblivion - or more precisely to be used less and less for new projects.
This couple of months I’ve been casually looking at daily CPAN uploads, because I entered the Once-a-day-releases game. I notice that the uploads are getting scarcer and scarcer. So today I d…
A short post about a neat little Zig idiom. Consider your average {sum type, variant, tagged union, enum, alt}:
Why I swapped GNU stow's symlink farm for chezmoi: one command to bootstrap a Mac with Homebrew packages and macOS settings, a small daily sync loop, and agent skills shared between Claude Code and Codex.
DSLs are suggested to be an aid for the users that want to extend the programs they work with easily, but do they work?
Every March, developers worldwide each try to make a roguelike game in less than 168 hours as part of the 7DRL Challenge . Roguelike games are hard , involving procedural level generation, pathfinding, line-of-sight algorithms, and more dijkstra maps than you can imagine.
I’m a big fan of “sharp tools”. These are tools that are powerful enough to be hugely helpful or harmful, depending on how they’re used. Most forms of direct…
Today I set out to the task of upgrading a set of views crafted with the React library. The upgrade was necessary because one part of a view using React stopped working in Chrome Version 48.0.2564.116 (64-bit). I don’t know why this happened, I didn’t find anything related to it and as it stands this was probably the…
There are many legitimate arguments to be had about performance, but there are also plain old excuses. It's time to end the excuses.
wingolog: article: baffled by generational garbage collection