New
The latest blog posts to take off on Hacker News. 1,517 posts.
Some Reasons to Measure
A question I get asked with some frequency is: why bother measuring X, why not build something instead? More bluntly, in a recent conversation with a newsletter author, his comment on some future measurement projects I wanted to do (in the same vein as other projects like keyboard vs. mouse , keyboard , terminal and…
Phoenix 1.6, RC0 released
Phoenix 1.6 is out! This release ships with new authentication and mailer generators, a new HEEx template engine, and more.
High Performance Correctly Rounded Math Libraries for 32-Bit Floating Point
Everyone uses math libraries. Surprisingly, mainstream math libraries do not produce correct results for several thousands of inputs. Developers are seldom aware of them, which affects reproducibil…
Unit testing a TCP stack (2015)
Thoughts on how to write automated tests for a TCP implementation.
Thousands of Debian packages updated from their upstream Git repository
The Debian Janitor is an automated system that commits fixes for (minor) issues in Debian packages that can be fixed by software. It gradually started proposing merges in early December. The first set of changes sent out ran lintian-brush on sid packages maintained in Git. This post is part of a series about the…
Jsc: My New Best Friend
A friend of mine recently pointed me at a well hidden command line tool. In the JavaScript framework used by Safari and other parts of Apple’s products, there is a tool called jsc. It’s a command line interface for JavaScript that uses the same code as the rest of the system. You can find the […]
Friendship ended with the garbage collector
It's been a while since the last update about my work on the Inko programming language . Not because there hasn't been any progress, but because I've been busy making changes. A lot of changes.
I use Attrs instead of Pydantic
This post is an account of why I prefer using the attrs library over Pydantic. I'm writing it since I am often asked this question and I want to have something concrete to link to.
SQL vs. NoSQL Is the Wrong Distinction
A misconception that I held for a really long time was that systems that use SQL (Structured Query Language) are by definition relational databases, and systems that don’t (e.g., MongoDB, Cassandra) are non-relational. It’s easy to understand whether a database uses SQL or not, but what does it mean when we say a…
QEMU Version 6.1.0 Released
We’d like to announce the availability of the QEMU 6.1.0 release. This release contains 3000+ commits from 221 authors.
API Tokens: A Tedious Survey
Documentation and guides from the team at Fly.io.
Write an SQL query builder in 150 lines of Python
This is the fourth article in a series about writing my own SQL query builder. Today, we'll rewrite it from scratch, explore API design, learn when to be lazy, and look at worse and better ways of doing things – all in 150 lines of Python!
Life Before Unicode
Unicode definitely added a lot of complexity to string handling, and people who use languages with ASCII alphabets exclusively may think it's unjustified. However, I'm a non-ASCII language speaker who's old enough to remember the alternatives, and the alternatives are far worse than the complexity of Unicode.
Error stack traces in Go with x/xerror
A workaround to get nice stack traces for errors in Go.
Deno on MDN
Web compatibility data for Deno is now available on MDN.
Lambdas as values in Excel
Excel has new LAMBDA functions
Conditionally setting your gitconfig
Did you know you can change Git attributes based on what folder you're in?
C++20 Concepts: The Definitive Guide
Start using this domain right away. Straightforward domain shopping experience. Quick access to your domain.
Bringing the Unix philosophy to the 21st century (2019)
JSON output must become the norm for application pipelining. Until then, jc can help.
Rolling hash; Rabin-Karp string search
This is yet another string search algorithm. (Previously my readers have read about Knuth-Morris-Pratt .)
Strict Tables – Column type constraints in SQLite - Draft
SQLite strives to be flexible regarding the datatype of the content that it stores. For example, if a table column has a type of "INTEGER", then SQLite tries to convert anything inserted into that column into an integer. So an attempt to insert the string '123' results in an integer 123 being inserted. But if the…
Parser generators vs. handwritten parsers: surveying major languages in 2021
Parser generators vs. handwritten parsers: surveying major language implementations in 2021
An Opinionated Guide to Xargs
This post has everything you need to know about xargs , an essential tool for shell programming . It's based on my # comments on this "wrong" post:
Golang.org will be merged into go.dev
Consolidating our web sites onto go.dev.