Topics /

Software Engineering

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

2022
844

Async Rust: Panics vs. Cancellation

One of the things people often complain about when doing Async Rust is cancellation. This has always been a bit confusing to me, because it seems to me that async cancellation should feel a lot like panics in practice, and people don’t complain about panics very often (though they do sometimes). This post is the start…

851

Programming with Nothing

I love Ruby! I’ve used it every day for years and I’m not sick of it yet. It’s an easy language to love: it’s expressive, flexible and syntactically beautiful ; it has a unique combination of useful features like mixins , metaclasses and blocks ; it comes with a useful core library and comprehensive standard library …

854

Dicom File Format Basics

Explore the fundamentals of the DICOM file format! This quick introduction covers the basics of DICOM's structure, its essential uses, and tips for easily navigating its complex and abstract components.

855

SQL + M4 = Composable SQL

I often work with clients who have large “data lakes” or big star schema style enterprise databases with fact and dimension tables as far as the eye can see. Invariably said clients end up with a substantial SQL codebase composed of hundreds of independent queries with lots of overlap between them. I want to be able…

856

Practising Programming

When we see a world-class musician flawlessly play challenging music, it can be tempting to imagine that they were always able to do so. A moment’s thought makes it obvious that they must have had to spend huge amounts of time practising basic techniques in order to reach that level. What’s less obvious is that they…

857

Arc and Mutex in Rust

When writing concurrent Rust you will encounter Arc and Mutex types sooner or later. And although Mutex might already sound familiar as it's a concept known in many languages, chances are you haven't heard about Arc before Rust. What's more, you can't fully understand these concepts without tying them to the ownership…

858

A few new things in Emacs 29

Everybody with an Emacs blogs raves about Emacs 29 these days. Things like Eglot, tree-sitter, SQL support and the like. Well, this is all nice – more than nice, brilliant! – but let’s not forget a few minor advances which are coming with Emacs 29. Let me mention a few things that I especially like.

859

JVM Anatomy Quark #10: String.intern (2019)

"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.

869

Faster Sorting with Go Generics

Recently, a new set of sorting functions has landed in Go's golang.org/x/exp/slices package [1] . These functions leverage Go generics to provide a more ergonomic API for sorting (without requiring users to implement sort.Interface ), and also deliver a nice performance improvement, as the CL demonstrates.

870

A modern Fortran scientific programming ecosystem

Historically, large general-purpose libraries have formed the core of the Fortran scientific ecosystem (e.g., SLATEC , or the various PACKS ). Unfortunately, as I have mentioned here before, these libraries were written in FORTRAN 77 (or earlier) and remained unmodified for decades. The amazing algorithms continued…