Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Some sanity for C and C++ development on Windows
A hard reality of C and C++ software development on Windows is that there has never been a good, native C or C++ standard library implementation for the platform. A standard library should abstract over the underlying host facilities in order to ease portable software development. On Windows, C and C++ is so poorly…
Getting Started with Lisp in 2019
A quick guide on how to get started with LISP development in 2019. TLDR: install <a href="https://github.com/roswell/roswell">roswell</a>.
The HTML video element needs to go back on the drawing board
The HTML standard doesn’t provide web authors the tools required to embed small video files in a screen and bandwidth responsive way. This needs to change.
In defence of SQL
SQL is ugly but powerful, ORM is genuinely dumb, and "NoSQL" should really be called OMADS: Obviously More Appropriate Data Stores. Start every project with an RDBMS, add specialized stores where they fit, and stop apologizing for using SQL. Forty years on, nothing beats it for ad-hoc questions about your data.
PHP 5 and 7.0 end of life
Critical PHP Security Release 21 Oct 2026: PHP released emergency patches on 21 October 2026 for two critical unauthenticated remote code execution (RCE) Learn why PHP EOL matters, the security & compliance risks of running unsupported PHP, and how to plan, test, and upgrade to supported versions.
In Praise of Perl 5
I have decided to do a two-part series here praising Perl in part 1 and PostgreSQL in part 2. I expect that PostgreSQL folks will get a l...
A Simple Makefile for Medium-Sized C/C++ Projects
A simple Makefile for C or C++ that automatically finds sources, determines include flags, and sets up header dependencies.
Code vs. No-code
There was a conversation on Twitter this week that helped to clarify my thinking about something, and I wanted to share. There is a sort of tension between “code” and “no-code” (sometimes “low-code”) solutions. People who consider themselves software developers see people trying to use no-code solutions to do things…
Excessive nil pointer checks in Go
Let’s talk about nil pointer checks in Go. You want to prevent panics in production, but that doesn’t start with a deferred recover. It starts with defensive programming. Check your inputs, check your bounds, and check pointers for nil before dereferencing them. I’ve started to see more nil checks in Go code. In the…
Cuneicode, and the Future of Text in C
Following up from the last post, there is a lot more we need to cover. This was intended to be the post where we talk exclusively about benchmarks and numbers. But, I have unfortunately been perfectly taunted and status-locked,
How Chordcat works – a chord naming algorithm
chordcat is a chord-naming application and a pet project of mine. It is written in C++ and SFML.
Qt 6.6 and 6.7 Make QML Faster Than Ever: A New Benchmark and Analysis
The Qt Quick Compiler has learned a few new tricks recently that can make your QML code run a lot faster.
-Werror Is not your friend (2017)
22 May 2017 by Phillip Johnston • Last updated 27 October 2023I want to make a few points up front to short-circuit common misunderstandings with this article: I have a zero warning policy on my projects. I turn on a lot of warnings. -Wall, -Wextra, and a whole host of specific warning flags. I supplement … Continue…
The cost of dynamic vs. static dispatch in C++
A couple of years ago I wrote an article about the Curiously Recurring Template Pattern in C++ , focusing on the motivation behind it and how to implement it.
Swift Functors, Applicatives, and Monads in Pictures
In this port to Swift of the great of Haskell's "Functors, Applicatives, And Monads In Pictures" we are going to look at these functional programming concepts aided by some very helpful pictures.
GitHub Copilot: First Impressions
A glimpse of the upcoming paradigm shift in how we do development
A year of Rust in ClickHouse
This story is about how ClickHouse supports Rust components in the C++ code base and the challenges we had to overcome.
Limitations of frame pointer unwinding
Explore 3 limitations of using frame pointers for stack unwinding and profiling in Linux that are often overlooked, plus possible future alternatives.
Replacing Ruby on Rails: Let's Go
A collection of thoughts, ideas and unsolicited opinion from Made by Many: articles, reflections, talks and interviews from the people doing the work.
C# 11 Preview Updates – Raw string literals, UTF-8 and more
C# 11 features are coming along nicely and the most recent release features all sorts of goodies including updates to string literals, pattern matching, checked user-defined operators, and an update on !!.
Oil Shell: Success with Aboriginal, Alpine, and Debian Linux
Three months ago, in Roadmap #5 , I wrote that OSH will be a better shell for building Linux distributions . It will run existing code, including bash scripts, but it's stricter and easier to debug.
New DirectX Shader Compiler Based on Clang/LLVM Open-Sourced
The DirectX HLSL (High Level Shading Language) compiler is now available as an open source project built on the Clang/LLVM framework. Microsoft drives the
Qt Creator 4.6 Beta Released
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.