Topics /

Software Engineering

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

Any year
18012

Audio from Scratch with Go: Stereo Panning

In the previous post we have written code to change the amplitude of wave files. Now we’ll take a look at how we can turn a mono wave file into a stereo wave file with optional panning, and explore how this is represented internally by the WAVE file format. Channels The raw audio data inside a WAVE file consists of…

18018

Bit-banging a BASIC Birthday

I spent this summer building a new app, for a machine that hasn’t been on the market since 1980 and wasn’t built to support graphics, sound, connectivity or even lowercase letters, sold by a company that went bankrupt a decade ago, tailor-made for an audience of one: my dad, who celebrated his 70th birthday this past…

18021

Why the Sorbet type checker is fast

This is the second in an indefinite series of posts about things that I think went well in the Sorbet project. The previous one covered our testing approach. Sorbet is fast. Numerous of our early users commented specifically on how fast it was, and how much they appreciated this speed. Our informal benchmarks on…

18025

Prefix sum on portable compute shaders

This is a followup to my previous post, prefix sum on Vulkan. Last year, I got a fancy algorithm for this problem running well on one device. This time, I will dive into the question of how to make it work well across a wide range of devices. The short answer is, it can be made to work pretty portably on Vulkan and…

18027

Lossless Float Image Compression

Back in 2021 I looked at OpenEXR lossless compression options (and I think my findings led a change of the default zip compression level , as well as change of the compression library from zlib to libdeflate . Yay blogging about things!) . Then in 2023 I looked at losslessly compressing a bunch of floating point data…

18028

uLisp on the Raspberry Pi Pico

The RP2040 is a microcontroller chip designed by Raspberry Pi in the UK. It's a dual-core ARM Cortex M0+ running at 200 MHz which provides up to 16 MB of off-chip flash and 264 KB on-chip RAM. It has 30 GPIO pins, 4 of which can be used as analogue inputs, two UARTs, two SPI controllers, two I2C controllers, and 16…

18029

Crystal 1.5

We are delivering a new release with several bugfixes and improvements. Below we list the most important or interesting changes, without mentioning several bugfixes and smaller enhancements. For more details, visit the changelog. Breaking changes are marked with ⚠️.