Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,540 posts.
A bug in GCC that may cause memory leaks in valid C++ programs
This post is to inform you about a bug in GCC that may cause memory (or other resource) leaks in your valid C++ programs.
Modern C++ for C Programmers: part 5
Welcome back! In part 4 we went over the nitty-gritty of lambdas and how to store them, we explored the relation between the various C++ algorithms and containers, plus we took a stroll through some non-standard containers with exceptional capabilities. Note: part 1 is here. In this probably final part 5, we’ll be…
Script-injected "async scripts" considered harmful
Script-injected scripts block on CSS and delay script execution. Their era has passed, and we now have a much better, cleaner, and faster solution: add an async attribute to your script tags.
Git is as revolutionary as Unix pipes (2008)
I am now officially part of the "previous" generation of programmers. I know this because the new generation no longer has "vi vs. emacs" e...
WebWindow, a cross-platform webview library for .NET Core
Steve Sanderson's Blog
Fortran on WebAssembly
Patching LLVM Flang to output WebAssembly objects.
The reverts will continue until morale improves
Many readers will be aware that an unusually high number of features have been reverted from the PostgreSQL 19 branch after the beta period began. Having some reverts is not unusual, maybe one per cycle could be expected. But this time around, about 8 to 10 significant features, depending on how you count, have been…
Daala progress update
Daala is a next-next-generation video codec being developed at Mozilla Research and Xiph.Org . The aim is not only to create a better video codec, but to create one that is a royalty-free open standard that can serve as the backbone technology for video on the internet.
Rust (and Slint) on a Jailbroken Kindle
I recently jailbroke my 7th generation Kindle Paperwhite. While my motivation probably should have been "breaking free from Amazon's clammy and tightening grip", the truth is I wanted a way to use it as a clock on my nightstand. I found this project and figured I could just make some adjustments to the code. And that…
Tetris Printer Algorithm
By rotating, positioning and dropping a predetermined sequence of pieces, the Tetris Printer Algorithm exploits the mechanics of Tetris to generate arbitrary bitmap images.
A Critique of the Open Letter Calling for the Removal of RMS
On March 21, Richard M. Stallman (RMS) announced that he is on the Free Software Foundation (FSF) board of directors again after having resigned in September 2019. Two days later, an open letter condemning RMS as misogynist, ableist, transphobic, intolerant, bigoted, hateful, and dangerous was published. The letter…
Environment variables are a legacy mess: Let's dive deep into them
Programming languages have rapidly evolved in recent years. But in software development, the new often meets the old, and the scaffolding that OS gives for running new processes hasn’t changed much since Unix.
The Big OOPs: Anatomy of a Thirty-Five Year Mistake
My presentation from the inaugural Better Software Conference, with notes.
An M1 for Curl
A generous member of the wider curl community stepped up and donated an unused Mac mini m1 model to me to be used for curl development. Today it arrived at my home. An 8C CPU/16GB/1TB/8C GPU/1GbE model as per the sticker on the box. The m1 mac mini, still wrapped in plastic. Apple is not … Continue reading An m1 for…
Monorepo: please do
You should choose a monorepo because the default behavior it encourages in your teams is visibility and shared responsibility, especially…
From Markdown to remote code execution in Atom
Recently I took a look at Atom, a text editor by GitHub. With a little bit of work, I was able to chain multiple vulnerabilities in Atom into an actual Remote Code Execution. The vulnerabiliti…
Make Tmux the OS
I recently watched the talk by Scott Jenson titled "Are we really going to use the same Desktop UX forever?" https://www.youtube.com/watch?v=V7AfAcQwLW0&t=445s. He's a great presenter, really articulate and concise. The kind of speaker that you'd gladly listen to for 3+
Speeding up the JavaScript ecosystem – Polyfills gone rogue
Many popular npm packages depend on 6-8x more packages than they need to. Most of these are unnecessary polyfills and it's one of the key reasons node_modules folders are so large. The eslint ecosystem seems to be most affected by this.
Towards Principled Reactive UI
Update 7 May 2022: A followup to this post containing significant conceptual advance is Xilem: an architecture for UI in Rust. I consider the Crochet experiment to be mostly negative, as there were a number of ergonomic and functional “paper cuts,” though several of the research goals were met, at least to some extent.
The Human Cost of Tech Debt
Editorial Note: I originally wrote this post for the Infragistics blog. Head over to their site and check out the original. While you’re there, have a look at the other blog authors and their product offering. If you’re not already familiar with the concept of technical debt, it’s worth becoming familiar with it. I…
Lock freedom without garbage collection in Rust
It’s widespread folklore that one advantage of garbage collection is the ease of building high-performance lock-free data structures. Manual memory management for these data structures is not easy, and a GC makes it trivial.
Finding Waldo in π
The SMBC comic Convert included as the “Votey button” a challenge to extract a Waldo visual from the digits of π.
Back of the envelope estimation hacks
There are two types of engineers, the ones that can quickly do estimates and the ones that can’t. Are these people just smarter, or is there more to it? Enrico Fermi was a master at estimation Back of the envelope estimation is a skill that can be learned with practice. It becomes easier once you get familiar with…