Topics /

Software Engineering

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

2021
391

Io_uring is not an event system

I’ve been hearing about io_uring on and off for the last couple of years. Its a relatively new technology in Linux to allow high-performance IO with very few overheads. Whenever its been mentioned, its usually been presented as a new alternative to select, poll and epoll. This led me to believe that it was just the…

393

Firefox's Optimized Zip Format

This post is about minimizing amount of disk IO and CPU overhead when reading Zip files. I recently saw an article about a new format that was faster than zip. This is quite surprising as to my mind, zip is one of the most flexible and low-overhead formats I’ve encountered. Some googling showed me that over past 11…

394

Power consumption of Game Boy flash cartridges

Flash cartridges (= "carts") are commonly used to run Game Boy ROMs, such as homebrew games or dumped officially released games, on real hardware. Different kinds of flash carts with various features and performance characteristics have been available for a long time, but flash carts have in general the reputation of…

403

Why Zig when there is already C++, D, and Rust?

If Zig code doesn’t look like it’s jumping away to call a function, then it isn’t. This means you can be sure that the following code calls only foo() and then bar() , and this is guaranteed without needing to know the types of anything:

405

Python Best Practices for a New Project in 2021

Intro The goal of this tutorial is to describe Python development ecosystem. It can be helpful for someone coming to Python from another programming language. They say that you should stick to algorithms and data structures, that you can learn a new language in just a couple of weeks, that it’s just a new syntax. I…

406

Word-Aligned Bloom Filters

Programmers often need to 'filter out' data. Suppose that you are given a database of users where only a small percentage are 'paying customers' (say 5% or less). You can write an SQL query to check whether a given user is indeed a paying customer, but it might require a round trip to your database … Continue reading…

407

Racket v8.0

_posted by John Clements_ Racket version 8.0 is now available from https://racket-lang.org/. *** Racket 8.0 is here!*** Racket 8.0 marks the first release where Racket CS is the default implementation. Creating, polishing, and adopting Racket CS has be...

413

On navigating a large codebase

A while ago, I’ve been working on a very large codebase that consisted of a few million lines of code. Large systems are usually a big mess and this one was no exception. Since this is a rather common problem in software engineering, I thought the internet would be littered with stories about this topic. There is a…

417

Things I learned while developing a billing system

Half a year ago, I joined Pleo, a FinTech startup with around 15,000 customers (we’re always hiring at Pleo!). I joined to take on and further develop the billing infrastructure. When I joined, I was actually a bit concerned about the narrowness of the new role and the new team. I mean, really… How much […]