Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 1,517 posts.
Peter Naur's view of programming
To answer this question, let me take you a few years back, when I worked with a small high tech startup. We were working on a pretty complex augmented reality system spanning all layers from low-level computer vision components to cross-platform mobile and web apps. Especially for the lower-level components, a good…
Ray Tracing in pure CMake
A simple ray tracer written in pure CMake
Good Design is Imperfect Design, Part 1: Honest Names
by Eric Evans Perfectionism is a pitfall. For those who, like me, love elegant design and see its utility, there is a slippery slope waiting when a satisfying design does not emerge in a reasonable time. It takes constant self-discipline to recognize this and accept, let go, ship and move on – or return in...
Blog with Markdown and Git, and degrade gracefully through time
How to format blog content so it’ll last.
Writing a register based VM in less than 125 lines of C code
This tutorial is intended for intermediate C developers who want to get some coding practice and, in the process, gain valuable insights into low-level programming and how (some) Virtual Machines operate under the hood. The reader should already be comfortable with bitwise operations, hexadecimal notation, pointers…
What's Salesforce? (2019)
Customer relationship management (CRM) is the biggest, fastest growing software market in the world. $40B is spent on CRMs annually, and almost all companies have one. But for those of us that don’t directly use a CRM… what’s the big deal? A CRM is the source-of-truth for all customer data and interactions. Need to…
CVE Stuffing
I monitor the @CVENew Twitter feed to keep up with any interesting new vulnerabilities that are released. On December 11th CVE-2020-29589 was published claiming that “the kapacitor Docker ima…
User power, not power users: htop and its design philosophy
This short story is not really about htop, or about the feature request that I’ll use as an illustration, but about what are the core principles that drive the development of a bit of software, down to every last detail. And by “core principles” I really mean it.
Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS
I provide a deeper-dive on the tech stack I like to use in 2021. It is simple, easy to work with, and allows you to grow out of it when the time comes. Updated for 2021!
The Importance of Humility in Software Development (2020)
Technical Web Development Blog
Things I wish Git had: Commit groups
Everyone 1 and their dog 2 loves Git. I know I do. It works, it’s efficient, it has a brilliant data model, and it sports every feature under the sun . In 13 years of using it, I’ve never found myself needing a feature it didn’t have. Until recently.
“Computer science is not about computers”
Edsger W. Dijkstra? Alan Perlis? Jacques Arsac? George Johnson? Donald Knuth? Matthew Dennis Haines? Anonymous?
GitHub Stale Bots – A False Economy
Stale Bot’s are a type of automated bot on Github, which locks issues which are “stale” (as in have no recent activity). This seems like a helpful tool at first, but in reality it’s terrible for all p
Complexities of e-mail validation logic
Nope, you don't know how to validate an email address. Even if you think you'd get the domain part right, fuggeddabout the local part. Seriously.
Firefox: Performance in Progress
In the last six months the Firefox performance team has implemented changes to improve startup, responsiveness, security (Fission), and web standards. Startup and perceived startup Doug Thayer and Emma Malysz ...
Designing better file organization around tags, not hierarchies (2017)
Computer users organize their files into folders because that is the primary tool offered by operating systems. But applying this standard hierarchical model to my own files, I began to notice shortcomings of this paradigm over the years. At the same time, I used some other information systems not based on…
From First Principles: Why Scala?
Scala, first appearing in 2004, is neither an old stalwart nor a new player in the programming language market. This post will discuss the unique combination of features that Scala provides and how it compares to other languages on the market, diving beneath the superficial experience to explore the fundamentals of…
Building React and Vue Support for Tailwind UI
Hey! We're getting really close to releasing React + Vue support for Tailwind UI, so I thought it would be interesting to share some of the behind-the-scenes efforts that have gone into even making it possible.
Beating TimSort at Merging
Learn how to beat TimSort at merging sorted lists in Python by creating a C extension. Discover the performance advantages of merging lists compare...
Learn by reading code: Python standard library design decisions explained
On your Python learning journey, you may have heard that a great way to get better is to read code written by other people. That's true, but finding good code to study is not easy, mostly because the design philosophy and the reasoning behind the code are rarely documented. The Python standard library is special in…