The Awk book’s 60-line version of Make
A discussion of the minimal version of Make included in 'The AWK Programming Language', as well as a Python port of the AWK program.
The latest blog posts to take off on Hacker News. 21,821 posts.
A discussion of the minimal version of Make included in 'The AWK Programming Language', as well as a Python port of the AWK program.
How to speed up a ubenchmark 300x Static Hermes: How to Speed Up a Micro-benchmark by 300x Without Cheating This is th...
I really like this quote from Jeff Bezos: “Anybody who doesn’t change their mind a lot is dramatically underestimating the complexity of the world we live in.” Lately I have been thinking about wha…
Mathematical insights create a more intuitive UI for Bézier curves.
I frequently reference a process called Reinforcement Learning with Human Feedback (RLHF) when discussing LLMs, whether in the research news or tutorials.
Amiga C Tutorial
The Python standard library’s logging module is a go-to for adding observability to applications. Many tools also integrated with it or enhance its capabilities, such as structlog and Sentry.
I write compilers for fun. I can’t help it. Consequently, I also write a lot of parsers. In systems programming, it’s usually a good idea to try to share memory rather than reuse it, so as such my AST types tend to look like this.
There is a common sentiment I’ve seen over and over in the Rust community that I think is ignorant at best and harmful at worst.
Welcome to Learning Zig, an introduction to the Zig programming language. This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language.
I’ve been programming in Clojure for a long time, but I haven’t been using transducers much. I learned to mechanically transform (into [] (map f coll)) to (into [] (map f) coll) for a slight performance gain, but not much beyond that. Recently, however, I’ve found myself refactoring transducers-based code at work…
I’ve been running a Kubernetes cluster on a mix of virtual and bare metal machines with Hetzner for about a year now, and while the setup has served me well, being a very exploratory exercise at the time it wasn’t very well documented.
This post assumes some basic C skills. Linux puts you in full control. This is not always seen from everyone’s perspective, but a power user loves to be in control. I’m going to show yo…
Yet another programming blog. Thoughts on software and related misadventures.
Bun is stable and ready for production.
Elixir was built on Erlang. Erlang was built to provide "consistently low latency" and a few other audacious goals. Note, this is not a hard realtime constraint. It is soft, squishy and yet, important and real. It makes Erlang unusually suitable to systems where latency matters and where a near-realtime experience is…
In C++20, string and vector are marked constexpr, which means they’re somewhat usable in compile-time programming. For example, we can write:
This is the first part of a series of posts on big changes for SymPy with particular focus on speed. What I am going to describe in these posts are:
Elixir is a language with syntactical roots in Ruby. It also carries the Erlang legacy. Legacy used here as in "a great legacy" and not as in "system you don't like anymore". Ruby is an object-oriented language. Elixir is functional language. The Erlang part has an impact as Elixir was designed to provide strong…
What's new in Emacs 29.1? I go through every change and annotate the ones I feel are interesting or worth knowing more about.
A comparative study of processor architectures.
YJIT’s ability to improve performance by adapting to run-time behavior can increase the speed of our code in a way that dropping down to C can’t. As such, I think we should reconsider the common wisdom that “rewriting our Ruby in C” is the ideal path to performance optimization and take a serious look at “rewriting…
Create animations from first principles and morph between different figures with Python. In 5 minutes. Kind of.
Replacing an internal Node.js module with a native Rust module made a x25 perf boost. Let’s understand why.
Discovery and walkthrough of CVE-2023-38633 in librsvg, when two URL parser implementations (Rust and Glib) disagree on file scheme parsing leading to path traversal.
Statistics and anecdotes about PHP at scale.
Edit: This post made it to the front page of Hacker News! You can find the discussion here.
This year, the React team unveiled something they've been quietly researching for years: an official way to run React components exclusively on the server. This is a significant paradigm shift, and it's caused a whole lot of confusion in the React community. In this tutorial, we'll explore this new world, and build an…