Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Intro to Deep Learning
I just sat down this morning and organized all deep learning related videos I recorded in 2021. I am sure this will be a useful reference for my future…
Why not just do simple C++ RAII in C?
Ever since I finished publishing the “defer” paper and successfully defended it on its first go-around (it now has tentative approval to go to a Technical Specification, I just need to obtain the necessary written boilerplate to do so), an old criticism
In C, how do you know if the dynamic allocation succeeded?
In the C programming language, we allocate memory dynamically (on the heap) using the malloc function. You pass malloc a size parameter corresponding to the number of bytes you need. The function returns either a pointer to the allocated memory or the NULL pointer if the memory could not be allocated. Or so you may ……
Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion (2012)
Please, feel free to gather better data yourself and prove me wrong. If you do so I'll link to it!
Testing is better than data structures and algorithms
People should spend less time learning DSA, more time learning testing.
.gitignore Everything by Default
An opposite view on .gitignore files.
In software, when an engineer exits the team
My perspective when a team member gives their notice
Why software ends up complex
Complexity in software, whether it’s a programming languages, an API, or a user interface, is generally regarded as a vice. And yet complexity is exceptionally common, even though no one ever sets out to build something complex. For people interested in building easy to use software, understanding the causes of…
Trying out Zed after more than a decade of Vim/Neovim
After 15 years with Neovim, I'm trying out Zed as my daily driver text editor. In this post, I share why I'm switching and what my initial impressions are.
What I wish someone would have told me about using RabbitMQ (2020)
RabbitMQ Crash Course for 2025
Reasons to love SQLAlchemy
I've seen some bashing of ORMs of late, which I think is totally undeserved. I'm a big fan of SQLAlchemy ; I use it in most of my projects, and have contributed code to the library. I'm going to explain 10 good reasons you should love SQLAlchemy too! In fairness, there are a number of good ORMs around, and most of…
Slow deployment causes meetings (2015)
First published 2016.
Logs were our lifeblood, now they're our liability
What happens when we collect too much data?
Software Mise En Place
I am really, really into cooking. In the heady days of 2016 I regularly threw dinner parties for 30+ people. These days I don't hate myself that much, but...
Real pixel coding (2011)
Tutorials and articles of Inigo Quilez on computer graphics, fractals, math, art, demoscene, shaders and more.
I wrote a string type
I write compilers for fun. I can’t help it. Consequently, I also write a lot of parsers. In systems programming, it’s usually a good idea to try to share memory rather than reuse it, so as such my AST types tend to look like this.
Clojure 1.11 planning
Tales of Developing Clojure
Why we need to know LR and recursive descent parsing techniques
A couple of people have asked me for my thoughts on part of an article from Tiark Rompf called (roughly) “ Just Write the Parser ” which advocates the use of recursive descent parsing over more “formal” approaches to parsing, at least in the context of teaching compilers. I’m fairly sure I read this article a couple…
Nix Derivation Madness
I’ve written a bit about Nix and I still face moments where foundational aspects of the package system confounds and surprises me.
Zopfli Optimization: Literally Free Bandwidth
In 2007 I wrote about using PNGout to produce amazingly small PNG images. I still refer to this topic frequently, as seven years later, the average PNG I encounter on the Internet is very unlikely to be optimized. For example, consider this recent Perry Bible Fellowship cartoon. Saved directly from
Add a dirt-cheap screen to the Raspberry Pi B+
Recently the internet noticed the Raspberry Pi could drive LCD panels using DPI. This allows very inexpensive displays to be used with basically no additional hardware. In this post we dive into the hardware required, the software configuration, how to read screen datasheets, and basic troubleshooting.
Dissecting Lemire's nearly divisionless random number generator
A very late blog post announcing the readability contest winners, a new (very) annotated implementation, and a surprising sort-of security issue found along the way.
Firefox 64 built with GCC and Clang
One of my tasks (as GCC maintainer of the inter-procedural optimization framework) is to make sure that it works well with real world progra...