Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,819 posts.
Engineering code quality in Firefox
Here's an insider's look at Firefox's code quality toolchain that's been designed to manage the ongoing development and monthly releases of our desktop browser. This post explores the architecture, challenges, ...
Wikifunctions
The new library of functions will answer questions and enhance knowledge. Everyone, everywhere can access and contribute to it now.
XFCE 4.18
After almost two years of work, we are happy to announce the release of Xfce 4.18 !
You can't design software you don't work on
Only the engineers who work on a large software system can meaningfully participate in the design process. That’s because you cannot do good software design…
A Parable by Dijkstra (1973)
(Recently I found the following text in manuscript among old papers of mine. It must have been written in the middle of 1973, but I don't think that in the intervening three years it has lost anything of its significance. Hence I now incorporate it in the EWD-series.)
Face swapping with Python, dlib, and OpenCV
In this post I’ll describe how I wrote a short (200 line) Python script to automatically replace facial features on an image of a face, with the facial features from a second image of a face.
Compiling a neural net to C for a speedup
A cozy little corner of the web.
First make the change easy, then make the easy change (2021)
When I find myself stuck between differing choices I have to make, I’ll refer to this quote. I’ll ask myself “why is the decision difficult to make?”
A look at Unison: a revolutionary programming language
Unison is a pure functional programming language that comes with a few revolutionary ideas. Seriously, it makes everything we’re used to, like long builds, dependency version conflicts, tests that run every single build even when nothing checked by them has changed, manual encoding and serialization of data, and lots…
Reddit's database has only two tables
Steve Huffman talks about Reddit’s approach to data storage in a High Scalability post from 2010. I was surprised to learn that they only have two tables in their database.
A Visual Guide to React Mental Models: UseState, UseEffect and Lifecycles
I love mental models. They’re crucial to understanding complex systems, allowing us to intuitively grasp and solve complex problems.
Scaling monorepo maintenance
Today, GitHub can repack even the largest repositories we host in a fraction of the time it used to take. Here's how we did it, and why.
Amazon Aurora Update – PostgreSQL Compatibility
Just two years ago (it seems like yesterday), I introduced you to Amazon Aurora in my post Amazon Aurora – New Cost-Effective MySQL-Compatible Database Engine for Amazon RDS. In that post I told you how the RDS team took a fresh, unconstrained look at the relational database model and explained how they built a…
A new ProtoBuf generator for Go
Although the main interface between applications and a Vitess database is through the MySQL protocol, Vitess is a large and complex distributed system, and all the communication between the different services in a Vitess cluster is performed through GRPC .
Software rendering in 500 lines of bare C++
In this series of articles, I aim to demonstrate how OpenGL, Vulkan, Metal, and DirectX work by writing a simplified clone from scratch. Surprisingly, many people struggle with the initial hurdle of learning a 3D graphics API. To help with this, I have prepared a short series of lectures, after which my students are…
A simple search engine from scratch
*if you include word2vec.
Good books for deep hacks
For the past few months I’ve been compiling a list of books for a deep dive into interesting technical topics. My theory is that working on projects based on these topics will be like strong individual threads I can weave into epic hacks. This list is basically a curriculum for decades of learning about the wonders of…
Go Performance Tales
This entry is cross-posted on the datadog blog . If you want to learn more about Datadog or how we deal with the mountain of data we receive, check it out!
Sick of Ruby, dynamic typing, side effects, and object-orientation (2014)
This has been a long time coming. I had meant to write this post around the New Year, before the wave of death of Ruby stuff and before DHH’s “ TDD is dead ” ruckus:
Why Common Lisp is now the best programming language
just a diary
An Internet of PHP
Statistics and anecdotes about PHP at scale.
Making Librem 5 Apps [video]
Purism makes premium phones, laptops, mini PCs and servers running free software on PureOS. Purism products respect people's privacy and freedom while protecting their security.
Experience Report: 6 months of Go
A report of my positive and negative experiences with Go after using it for 6 months at work.
Measuring the sloppiness of code
Exploring how to measure code sloppiness, why correct code can still erode a codebase, and why human intuition and taste still matter.
MCP is dead; long live MCP
Understanding the social media zeitgeist around CLIs and the premature death of MCP
TypeScript 3.6
Today we're happy to announce the availability of TypeScript 3.6! For those unfamiliar, TypeScript is a language that builds on JavaScript by adding
JavaScript's world domination
A Civilization-esque journey through JavaScript history — chronicles of the march from inception to ubiquity
Go fonts
Announcing the Go font family, by Bigelow & Holmes.