Tracker Beeper (2022)
A week ago, I finally got round to implementing an idea I’d been toying with for years: what if your computer made a little bit of noise every time it sent data to Google? From studying logs, I’d long known just how many sites send all your visits and clicks to (at least) Google, but a log that you have to manually…
Stripe's Monorepo Developer Environment
An overview of the tools and environment Stripe engineers used to write and test code, as of 2019 or so.
Writing a Rust compiler in C
To bootstrap Rust, no cost is too great.
Fun facts about SQLite
Some of the interesting and insane facts I learned about SQLite
Beating NumPy matrix multiplication in 150 lines of C
A detailed blog post on optimizing multi-threaded matrix multiplication for x86 processors to achieve OpenBLAS/MKL-like performance. Tags: High-performance GEMM on CPU, Fast GEMM on CPU, High-performance matrix multiplication on CPU, Fast Matrix Multiplication on CPU, Matrix multiplication in C, GEMM in C, Matrix…
Clojure 1.12.0 is now available
Clojure 1.12.0 is now available! Find download and usage information on the Downloads page.
`find` + `mkdir` is Turing complete
We show that a system that has only GNU's find and mkdir commands is Turing-complete.
Everything Is Just Functions: 1 week with David Beazley and SICP
Made in Notion, the connected workspace where AI agents and teams organize docs, projects and knowledge together.
Visualizing algorithms for rate limiting
Smudge.ai is a Chrome extension that gives you ChatGPT-powered shortcuts in your right-click menu.
Python Cloudflare Workers
Introducing Cloudflare Workers in Python, now in open beta! We've revamped our systems to support Python, from the runtime to deployment. Learn about Python Worker's lifecycle, dynamic linking, and memory snapshots in this post
macOS Sequoia is available today
macOS Sequoia, the latest version of the world’s most advanced desktop operating system, is available today as a free software update for Mac.
HTML Form Validation is underused
HTML Forms have powerful validation mechanisms, but they are heavily underused. In fact, not many people even know much about them. Is this because of some flaw in their design? Let’s explore.
A new JSON data type for ClickHouse
We’re excited to introduce our new and significantly enhanced JSON data type, purpose-built to deliver high-performance handling of JSON data. Our core engineer, Pavel Kruglov, dives into how we built this feature on top of ClickHouse's columnar storage.
Writing secure Go code
Security testing starts with understanding vulnerabilities. The CVE website lists known software flaws. The OWASP Top Ten highlights common weaknesses. With this knowledge, we can improve our Go development. This article shows how to put in place robust practices. They are fuzz inputs, verify dependencies, and use…
Calculus with Julia
This is a set of notes for learning calculus using the Julia language. Julia is an open-source programming language with an easy to learn syntax that is well suited for this task.
Abusing Go's Infrastructure
I apologize if this information is already known, but I couldn’t find any references about it and I wanted to understand what was going on and share with you because I think there is some value doing it. In case this wasn’t known, I apologize to the Go team for not talking to them first and jumping the full disclosure…
I Like Makefiles
Fancy new build tools come and go, but I think I will stick with using makefiles to orchestrate everyday tasks in my projects.
You've just inherited a legacy C++ codebase, now what?
Discussions: Hacker News , Lobster.rs , /r/programming . I've got great suggestions from the comments, see the addendum at the end!
Dear sir, you have built a compiler (2022)
I am afraid to inform you that you have built a compiler. I know you wanted a “simple prototype” that would just add that one feature to your programming model. You said that “SSA is an overkill” and “it’s just way too much infrastructure to maintain for a simple task” and yet, six months later, you have pile of…
Finding a new software developer job
For the first time ever, I was laid off, and had to find a new software developer job. I managed to find a new one, but it took longer than I thought, and it was a lot of work. I was in contact wit…
Byte Latent Transformer: Patches Scale Better Than Tokens
We introduce the Byte Latent Transformer (BLT), a new byte-level LLM architecture that, for the first time, matches tokenization-based LLM performance at...
Two open source projects with great architecture documentation
esbuild and Redis1 are two examples of codebases with exceptional documentation. Through their READMEs, changelogs, architecture documents, and code comments, both projects explain their design in such a way that someone new to the codebase can understand where things are, how things are done, and why they are done…
Simplicity is an advantage but sadly complexity sells better (2022)
Pushing back on the cult of complexity.
When Random Isn't
This post is an anecdote from over a decade ago, of which I lost the actual code. So please forgive me if I do not accurately remember all the details. Some details are also simplified so that anyone that likes computer security can enjoy this article, not just those who have played World of Warcraft (although the…
I turned my ThinkPad into a programmable USB device
Enabling and using xDCI controller on ThinkPad X1 Carbon 6th Gen
Kubernetes on Hetzner: cutting my infra bill by 75%
Hi, my name is Bill. I’m a software engineer based in London. This is a blog about software development.
Limbo: A complete rewrite of SQLite in Rust
we forked SQLite with the libSQL project. What would it be like if we just rewrote it?