Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,845 posts.
C++'s `noexcept` can sometimes help or hurt performance
Over the course of working on PSRayTracing (PSRT), I've been trying to find all sorts of tricks and techniques to squeeze out more performance from this C++ project. Most of it tends to be alternative algorithms, code rewriting, and adjusting data structures. I thought sprinkling the final keyword like an all purpose…
Linux doesn't have Photoshop
Linux doesn’t have Photoshop. One common rant I get to hear when I try to help someone to switch to Linux. It is almost 2020 and say what? people still agree with this statement.
GNU make insanity: finding the value of the -j parameter
The other day at work a colleague posed the seemingly innocent question "Can I find out the value of the GNU make -j parameter inside a Ma...
Fortran is easy to learn
Some may think Fortran is an archaic language, and certainly not one that should be taught, but in any respects modern Fortran is an exceptionally good language to teach programming in. Certainly b…
CSS Classes Considered Harmful
If you've used CSS, you know what a class name is. They're a very poor proxy for the web today. Let's stop using them.
Pessimism about parallelism
Massive concurrency and hardware parallelism are sexy topics in the 21st century. There are a couple of good reasons for this and one rather unfortunate one.
X servers no longer allow byte-swapped clients
In the beginning, there was the egg. Then fictional people started eating that from different ends, and the terms of "little endians" an...
Why I stuck with Windows for 6 years while developing Discourse
I stuck with Windows 10 as my primary OS for 6 years, despite being a Ruby developer. In this blog post I would like to cover why this happened.
Error stack traces in Go with x/xerror
A workaround to get nice stack traces for errors in Go.
Maybe Functions
A coding anti-pattern that spreads it's tentacles across the codebase
Good Logging
To check if a program is doing what it should, you can inspect the output from a given input. But as the system grows, you also need logging to help you understand what is happening. Good log messa…
What's new in C# 12: overview
It′s mid-fall which means a new version of C# is coming soon. It′s time to find out what updates will soon appear in the language. Although C#12 has fewer features than previous versions, it still...
99% code coverage (2017)
Do we have a good safety net to change this legacy code?
Scandalous Weird Old Things About The C Preprocessor (2015)
Updated 2018-01-21: Added clarification related to assertion about lack of context free nature of the C preprocessor.
Exploring the Fragmentation of Wayland, an xdotool adventure
In 2007, I was spending a my norther-hemisphere summer experimenting with UI automation. Born of those efforts, xdotool came into being when I separated it from another project. The goal was modest - write some scripts that execute common keyboard, mouse, and window management tasks. The first commit had only a few…
Making macOS Behave Itself
Wherein the Means to Make macOS Behave Itself Are Enumerated, Including an App to Stop Music.app Launching on Device Connection, Terminal Tips for Gatekeeper, OCR From Screen, and Time Machine Control.
How undefined signed overflow enables optimizations in GCC
Signed integers are not allowed to overflow in C and C++, and this helps compilers generate better code. I was interested in how GCC is tak...
AWS Lambda: a few years of advancement and we are back to stored procedures
Serverless computing is the new buzzword. AWS describes Lambda (their implementation of Serverless) as the way how you’ll do things post containers. Go figure …
How do I delete bytes from the beginning of a file? (2010)
It's easy to append bytes to the end of a file: Just open it for writing, seek to the end, and start writing. It's also easy to delete bytes from the end
One Way to Represent Things
How types might be the missed part of the future of code
Swift and the Cute 2d game framework: Setting up a project with CMake
Cute Framework is a simple, yet powerful C/C++ framework for building 2D games using the modern GPU pipeline. While C or C++ is fine, Swift is a modern language that many developers prefer for its safety and expressiveness. In this post, we will explore how to set up a project using Cute Framework with CMake, enabling…
Making SetInterval Declarative with React Hooks
How I learned to stop worrying and love refs.
Documents ≠ Programs
I've recently become active again on twtxt.net , the platform that puts the "social" in "anti-social social media". There is a lot of intelligent discussion to be had there, and for the past couple days a discussion has been going on about technology buzzwords and, later, unnecessary complexity on websites. I was…