Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,826 posts.

Any year
5491

Two Years with Rust

It’s been just over two years since I started learning Rust. Since then, I’ve used it heavily at my day job, including work in the Firecracker code base, and a number of other projects. Rust is a great fit for the systems-level work I’ve been doing over the last few years: often performance- and density-sensitive…

5493

500 Byte Images: The Haiku Vector Icon Format

Haiku uses a custom vector image format to store icons. This is surprising both because most OSes consider bitmaps to be totally sufficient to represent icons and because there are plenty of vector graphics formats out this (e.g. SVG). The goal of the Haiku Vector Icon Format (HVIF) is to make vector icon files as…

5499

Algorithms Interviews: Theory vs. Practice

When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site down" 1 . One thing I find funny about this is, even though a decent…

5500

What's new in the Postgres 16 query planner

Postgres 16 introduces quite a few improvements to the query planner and makes many SQL queries run faster than they did on previous versions of PostgreSQL. This post is a deep dive into 10 of the improvements, including code blocks and comparisons of query plan output between Postgres 15 & Postgres 16.

5502

No strcpy either

Some time ago I mentioned that we went through the curl source code and eventually got rid of all strncpy() calls. strncpy() is a weird function with a crappy API. It might not null terminate the destination and it pads the target buffer with zeroes. Quite frankly, most code bases are probably better off completely ……

5503

LPython: Novel, Fast, Retargetable Python Compiler

About LPython is a Python compiler that can compile type-annotated Python code to optimized machine code. LPython offers several backends such as LLVM, C, C++, WASM, Julia and x86. LPython features quick compilation and runtime performance, as we show in the benchmarks in this blog. LPython also offers Just-In-Time…

5509

Learning Persian with Anki, ChatGPT and YouTube

I’ve been learning Persian (Farsi) for a while now, and I’m using a bunch of tools for it. The central one is certainly Anki, a spaced repetition app to train memory. I’m creating my own never-ending deck of cards, with different types of content, for different purposes. The most frequent type of cards is grammar…

5512

Adrian and Jacob retiring as Django BDFLs

Since July 2005, when Django was open-sourced , Jacob Kaplan-Moss and I have been the two Benevolent Dictators For Life (BDFLs) of the project. Today we’re both retiring from our formal BDFL roles, given that (1) we don’t have the time for it that we once had and (2) Django is in great shape with a vibrant community…

5514

ClojureScript 1.10.741

We’re happy to announce a new release of ClojureScript. If you’re an existing user of ClojureScript please read over the following release notes carefully, there are two very significant changes. First, ClojureScript now ships with greatly enhanced support for integration with popular JavaScript bundling tools such as…