New
The latest blog posts to take off on Hacker News. 21,820 posts.
Coroutines and effects
For the past few months I’ve been mulling over some things that Russell Johnston made me realize about the relationship between effect systems and coroutines. You can read more of his thoughts on this subject here , but he made me realize that effect systems (like that found in Koka) and coroutines (like Rust’s async…
Zig 0.12.0 Release Notes
Zig is a general-purpose programming language and toolchain for maintaining robust , optimal , and reusable software.
JEP draft: Exception handling in switch
Enhance the switch construct so that exceptions thrown by the selector (the e in switch (e) ... ) can be handled in the switch block. Alongside a previous enhancement to handle null selectors, this makes switch even more useful for pattern matching. This is a preview language feature .
Setting up PostgreSQL for running integration tests
Setting up PostgreSQL for tests is crucial for achieving performance and reliability. In this article, I'll explain how to set up PostgreSQL for tests and discuss some common pitfalls to avoid.
The Rust calling convention we deserve
I will often say that the so-called “C ABI” is a very bad one, and a relatively unimaginative one when it comes to passing complicated types effectively. A lot of people ask me “ok, what would you use instead”, and I just point them to the Go register ABI , but it seems most people have trouble filling in the gaps of…
Multi-tenant queues in Postgres
How we implemented fair queueing strategies for Postgres-backed task queues to ensure fair execution time across tenants.
Implementing Natural Conversational Agents with Elixir
In my last post , I discussed some work I had done building Nero, the assistant of the future that I’ve always wanted. I ended up creating an end-to-end example which used Nx, OpenAI APIs, and ElevenLabs to create an in-browser home automation assistant. For a first product, it’s decent. Nero is a neat little party…
How Antithesis finds bugs
Can solving Super Mario Bros. help solve your distributed systems issues?
Embeddings are a good starting point for the AI curious app developer
Vector embeddings have been an Overton window shifting experience for me, not because they’re sufficiently advanced technology indistinguishable from magic, but the opposite.
Ten years of improvements in PostgreSQL's optimizer
Ryan Marcus, assistant professor at the University of Pennsylvania. Using machine learning to build the next generation of data systems.
A quick post on Chen's algorithm
Update (April 19): Yilei Chen announced the discovery of a bug in the algorithm, which he does not know how to fix. This was independently discovered by Hongxun Wu and Thomas Vidick. At present, th…
Distributed Authorization
Using local data to answer authorization questions with Oso Cloud
A Visual Guide to Vision Transformers
This is a visual guide (scroll story) to Vision Transformers (ViTs), a class of deep learning models that have achieved state-of-the-art performance on image classification tasks.
How much memory does a graph take?
We need a fast way to query multiple potentially large sets of data on-demand at interactive speeds. Sometimes the easiest solution to a hard problem is to build the right tool for the job.
Beautifying Org Mode in Emacs (2018)
Configuring Org Mode in Emacs for beautiful typography for both text and code editing.
Godot as an Embeddable Game Engine
Miguel de Icaza's Blog
Tree-shaking, the horticulturally misguided algorithm (2023)
wingolog: article: tree-shaking, the horticulturally misguided algorithm
Shape typing in Python
While I was looking the other way, Python got advanced static types! Here’s matrix multiplication, describing the input shapes and its output shape:
Swift for C++ Practitioners, Part 1: Intro and Value Types
Swift for C++ Practitioners, Part 1: Intro & Value Types
I accidentally built a meme search engine
I built a magical meme search engine using siglip/CLIP and vector encoding images. It was a fun way to learn about this powerful technology. I'm sharing the …
Htmx and the Rule of Least Power
less is more
Lessons after a Half-billion GPT Tokens
[custom_views_and_hn_comments hn_id=”40015185″] My startup Truss (gettruss.io) released a few LLM-heavy features in the last six months, and the narrative around LLMs that I read on Hacker News is now starting to diverge from my reality, so I thought I’d share some of the more “surprising” lessons after churning…
The One Billion Row Challenge in CUDA
On my journey to learn CUDA, I decided to tackle the One Billion Row Challenge with it.
Stacking triangles for fun and profit
One thing you may have noticed about the trigonometric functions sine and cosine is that they seem to have no agreed upon definition. Or rather, different authors choose different definitions as the starting point, mainly based on convenience. This isn’t problematic or even particularly unusual in mathematics: as long…
If Inheritance is so bad, why does everyone use it?
This essay says that inheritance is harmful and if possible you should "ban inheritance completely". You see these arguments a lot, as well as things like...
Code search is hard
Searching code at scale without employing a search team is hard
Deep Bug
The project has been haunted by a mysterious bug since sometime February. It relates to the code that constructs the index, particularly the code that merges partial indices. In short the search engine constucts the reverse index through successive merging of smaller indices, which reduces the overall memory…