New
The latest blog posts to take off on Hacker News. 1,733 posts.
Parquet: An efficient, binary file format for table data
Quicker, but also more convenient
Saying Goodbye to GitHub
I've been using GitHub since I was eleven years old. To be fair, I didn't really understand git at the time, but I was able to fumble my way through it...
A Reply to Josef Průša
On the state of open source 3D printing in 2023
Optimizing Open Addressing
Your default hash table should be open-addressed, using Robin Hood linear probing with backward-shift deletion. When prioritizing deterministic performance over memory efficiency, two-way chaining is also a good choice.
XUL Layout is gone
So this week I landeda fewpatches thatcompletely removed XUL layout from the Firefox codebase.
Moving from Rust to C++
Note to readers: this is an April Fools post, intended to satirize bad arguments made against Rust. I have mixed feelings about it now, as I think people who understood the context appreciated the humor, but some people were confused. That’s partly because it’s written in a very persuasive style, and I mixed in some…
The secret life of fsync
What kind of durability guarantees fsync system call provides in Linux? Let's find out.
Clocks and Causality – Ordering Events in Distributed Systems (2022)
In distributed systems, logical clocks play a key role in the ordering of system events. What are the various logical clock designs, and how do they help with event ordering? This article answers these questions.
Postgres as a graph database
You don't need Neo4j for graph data. Walking through nodes, edges, and recursive traversals in plain Postgres, with working SQL.
Nim 2.0.0 RC2
The second release candidate (RC2) for Nim version 2.0 is ready for testing.
Pairing With GPT-4
GPT-4 won't build your application for you, but it can be a very helpful addition to your toolbox.
Visual programming with Elixir: Learning to write binary parsers (2019)
Visualize binary protocols by building parsers in Elixir.
Helix 23.03
A post-modern modal text editor.
Programming isn’t coding (2020)
When teaching “programming”, a surprisingly small amount of time is spent actually helping students with logic – and a lot helping them learning & managing programming tools.
Why not tell people to “simply” use pyenv, poetry or anaconda
You keep using that word. I don’t think it means what you think it means.
The undocumented Android change that led to aCropalypse was reported during beta
The bug lies in closed-source Google-proprietary code so it’s a bit hard to inspect, but after some patch-diffing I concluded that the root cause was due to this horrible bit of API ‘design’: https://issuetracker.google.com/issues/180526528 .
Folia – Multithreading Coming to your Minecraft server
A news post talking about PaperMC's newest project, Folia!
The RWKV language model: An RNN with the advantages of a transformer
I explain what is so unique about the RWKV language model.
APL: An Array Oriented Programming Language (2018)
APL was invented by Ken Iverson in the early 1960s as a notation for array oriented calculations. It was precise and useful enough, so it…
Finetuning LLMs on a Single GPU Using Gradient Accumulation
From the PyTorch Lightning creators. Own your AI, don't rent it. Lightning is the AI cloud to build, train, and deploy your own models on 36,000+ NVIDIA GPUs.
Making Python faster with Rust
Update: I gave a talk on this topic at P99 CONF 2023 and at PyCon IL 2024 (Hebrew). A while ago at $work, we had a performance issue with one of our core Python …
Type system of Fortnite's Verse language
Epic Games released an initial public implementation of the Verse programming language. Verse has been designed by some people who really know what they’re doing:
Rust Is a Scalable Language
In my last post about Zig and Rust, I mentioned that Rust is a scalable language. Let me expand on this a bit.
Interaction Nets, Combinators, and Calculus – HVM
Experiments, technology, and thoughts on life.
Push notifications are now supported cross-browser
Push notifications were standardized in 2016 with the release of the Push API and the Notification API, which are part of the W3C's Web Applications Working Group. These APIs provide the necessary functionality for web developers to incorporate push notifications into their web applications and for users to receive…
Your "simulation" might not need state
The bouncing DVD logo is a fun and easy coding project. Watching Daniel Shiffman code it in p5.js is one of my earliest programming memories. However, the naive solution is far from optimal.
Procedural 3D mesh generation in a 64kB intro
In this third article of our series on the making of a 64kB intro, we present how we use and combine a few simple techniques to create a variety of procedural 3D meshes for very few bytes.
Parsing the .DS_Store File Format (2018)
About two years ago I came across a .DS_Store file and wanted to extract its information (e.g. file names). After researching the file format and its security implications, as well as writing a parser for it, I would like to share my (limited) knowledge and the parser in Go / Python with the world. You might want to…