Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 1,733 posts.

2023
454

Why I tend not to use content negotiation

In this essay, Carson Gross explores his preference for separating JSON and hypermedia APIs instead of using content negotiation, a feature in HTTP that allows clients to request different formats (e.g., HTML, JSON). He discusses the limitations of content negotiation in APIs, especially when mixing stable, versioned…

458

Thread-per-core

I want to address a controversy that has gripped the Rust community for the past year or so: the choice by the prominent async “runtimes” to default to multi-threaded executors that perform work-stealing to balance work dynamically among their many tasks. Some Rust users are unhappy with this decision, so unhappy that…

466

How does a B-tree make queries fast?

B-tree is a structure that helps to search through great amounts of data. It was invented over 40 years ago, yet it is still employed by the majority of modern databases. Although there are newer index structures, like LSM trees, B-tree is unbeaten when handling most of the database queries.

467

What is in that .git directory?

Well, I think most of you reading this blog use git more or less on a daily basis, but have you ever looked into what is in the .git folder that git creates? Let's explore it together and understand what is going on in there.

469

Hello, PNG

PNG is my favourite file format of all time. Version 1.0 of the specification was released in 1996 (before I was born!) and the format remains widely used to this day. I think the main reasons it stuck around for so long are:

478

C and C++ prioritize performance over correctness

The original ANSI C standard, C89, introduced the concept of “undefined behavior,” which was used both to describe the effect of outright bugs like accessing memory in a freed object and also to capture the fact that existing implementations differed about handling certain aspects of the language, including use of…