Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 14,533 posts.

Any year
2401

Beware of Fast-Math

One of my more frequent rants, both online and in person, is the danger posed by the "fast-math" compiler flag. While these rants may elicit resigned acknowledgment from those who already understand the dangers involved, they do little to help those who don't. So given the remarkable paucity of writing on the topic…

2404

Why React Re-Renders

In React, we don't update the DOM directly, we tell React what we want the DOM to look like, and React tackles the rest. But how exactly does it do this? In this tutorial, we'll unpack exactly when and why React re-renders, and how we can use this information to optimize the performance of our React apps.

2406

Using S3 as a Container Registry

For the last four months I’ve been developing a custom container image builder, collaborating with Outerbounds1. The technical details of the builder itself might be the topic of a future article, but there’s something surprising I wanted to share already: you can use S3 as a container registry! You heard it right…

2411

TinyCompiler: A compiler in a week-end

Have you ever wondered how a compiler works, but you never found courage to find out? Then this series of articles is for you. I have never had the chance to look under the hood either, but one week-end I have decided to to write a translator from the esoteric programming language wend (short for week-end), which I…

2419

How does rsync work?

This post is the third article in a series of blog posts about rsync, see the Series Overview. With rsync up and running, it’s time to take a peek under the hood of rsync to better understand how it works. How does rsync work? When talking about the rsync protocol, we need to distinguish between:

2420

I made a patch for Mozilla, and you can do it too

In this article, I will tell how I contributed code to Mozilla during a Bug Squashing Party. I hope to provide some tips and advice about how to start contributing to a Mozilla project (or any other open-source project). I will talk about Firefox and Servo, which, I think, are somehow representative of two common ways…

2423

GC progress from JDK 8 to JDK 17

JDK 17 has been out for a few months and it’s not just packed with new language features. The performance boost compared to older JDK versions is also really significant. It becomes especially clear when compared to the previous LTS releases, JDK 8 and JDK 11. Much of the improved performance comes from new features…

2425

A 100x speedup with unsafe Python

We're going to speed up some numpy code by 100x using "unsafe Python." Which is not quite the same as unsafe Rust, but it's a bit similar, and I'm not sure what else to call it... you'll see. It's not something you'd use in most Python code, but it's handy on occasion, and I think it shows "the nature of Python” from…

2428

A Real Life Off-by-One Error

The Championnats d’Europe d’Escalade (climbing) in Villars-sur-Ollon has just finished. I couldn’t make it to all the events, but did see the finals of the “Speed” event. It’s a series of head-to-head elimination races up a 15m tall wall, resulting in an eventual victor after enough rounds.