New
The latest blog posts to take off on Hacker News. 21,821 posts.
Griffin – A fully-regulated, API-driven bank, with Clojure
A fully-regulated, API-driven bank built with Clojure, enabling fintech companies to integrate banking features quickly and securely
Analysis of Obfuscation Techniques Found in Apple FairPlay
FairPlay comprises a set of algorithms created by Apple for digital rights management (also called DRM, digital rights management). FairPlay is currently used to manage the decryption of iOS applications during their installation on Apple devices. In fact, we know that Apple distributes all applications in the Apple…
I don’t buy “duplication is cheaper than the wrong abstraction” (2021)
Note: If you disagree with what’s expressed in this post, I encourage you to also take a look at my more nuanced and comprehensive post on the topic of code duplication, which gives a more thorough refutation of some of the popular ideas around duplication. “Duplication is cheaper than the wrong abstraction” is a…
Elixir saves Pinterest $2M a year in server costs
Companies see huge server savings with Elixir.
Compiling Rust for .NET, using only tea and stubbornness
In this article, I describe my journey creating a barely functional rust backend enabling compilation for the .NET runtime (Usually used to run C# and F#).
Baby's first WASM compiler
( This is part of a series on the design of zest . See the list of posts here .)
Perfectly Reproducible, Verified Go Toolchains
Go 1.21 is the first perfectly reproducible Go toolchain.
OpenTelemetry in 2023
4 Years In, OpenTelemetry Delivers on its Promise for Open Observability
Designing a new concurrent data structure
How to design a lock-free data structure? A detective story for curious developers.
C++ Papercuts
UPDATE: Wow, this post has gotten popular! I’ve written a new post that adds new papercuts combined with concrete suggestions for how C++ could improve, if you are interested. Also, if you want to read more about C++’s deeper-than-papercut issues, I recommend specifically my post on its move semantics. Thank you for…
We put half a million files in one Git repository (2022)
Using a monorepo causes a lot of performance challenges for git. Here's how we solve them at Canva.
CLI text processing with GNU awk
Example based guide to mastering GNU awk
Reaching the Unix philosophy's logical extreme with WebAssembly
Xe Iaso's personal website.
Some of the error messages produced by Apple's MPW C compiler (2006)
These are some of the error messages produced by Apple's MPW C compiler. These are all real. (If you must know I was bored one afternoon and decompiled the String resources for the compiler.) The compiler is 324k in size so these are just an excerpt I hope. I'm not sure where I stand on the copyright issue. Tony…
Python Type Hints – *args and **kwargs (2021)
When I started writing type hints, I was a little confused about what to do with Python’s variable argument operators, * and ** (often called *args and **kwargs). Here’s what I figured out.
Prisoners of Google Android development
A real Android release case study showing how a small API-level update caused production crashes, Google Play delays, and limited rollback options.
Happy 25th Birthday to Bugzilla
Happy 25th Birthday to Bugzilla! Today, August 26, marks the 25th anniversary of Bugzilla! The first two paragraphs lifted from our Bugzilla h...
This isn’t the way to speed up Rust compile times
Xe Iaso's personal website.
Why Htmx Does Not Have a Build Step
In this essay, Alexander Petros explores the reasons why the htmx JavaScript library does not include a build step, detailing the benefits of its simple, dependency-free structure. He highlights the longevity of plain JavaScript, the improved debugging experience, enforced code clarity, and the tradeoffs of avoiding…
How do domain-specific chatbots work? A retrieval augmented generation overview
Demystifying and deconstructing Q&A bots that work over your data.
Unpacking Elixir: Concurrency
Elixir is the thing I do most of my public writing and speaking about. It is my default programming language for the last 5-6 years. It suits my brain. Performs well for the kind of work I typically do. And using it I have experienced very few drawbacks. Rather than writing yet another post trying to widely summarize…
How to speed up the Rust compiler
It has been five months since my last general update on the Rust compiler’s performance. Let’s see what has happened in that time.
SQLite 3.43
A complete list of SQLite releases in a single page and a chronology are both also available. A detailed history of every check-in is available at SQLite version control site .
Code Llama, a state-of-the-art large language model for coding
Code Llama, which is built on top of Llama 2, is free for research and commercial use.