Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 1,304 posts.

2016
783

Ideas for Game Clones to Code (2012)

So you know a little bit about programming (perhaps you've read the free book, "Invent Your Own Computer Games with Python" , a free programming book for beginners whose author shamelessly plugs at every chance) but you want to get better at coding. You can't seem to find any open source projects that are at your…

784

Hotpatching a C Function on x86

In this post I’m going to do a silly, but interesting, exercise that should never be done in any program that actually matters. I’m going write a program that changes one of its function definitions while it’s actively running and using that function. Unlike last time , this won’t involve shared libraries, but it will…

787

You Can't Always Hash Pointers in C

Occasionally I’ve needed to key a hash table with C pointers. I don’t care about the contents of the object itself — especially if it might change — just its pointer identity. For example, suppose I’m using null-terminated strings as keys and I know these strings will always be interned in a common table. These…

791

A Rebuttal for Python 3

Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3. I’m not involved with core Python development. The only skin I have in this game is that I like Python 3. It’s a good language. And one of the big factors I’ve seen slowing its adoption is that respected people in the Python commu

799

TDD Doesn't Work

Yeah, an in-depth study that repeated another study that was done a few years back. Both showed that TDD doesn’t work. The new one uses a multi-site, blind analysis, approach. It looks conclusive.

800

How to implement a programming language in JavaScript

This is a tutorial on how to implement a programming language. If you ever wrote an interpreter or a compiler, then there is probably nothing new for you here. But, if you're using regexps to “parse” anything that looks like a programming language, then please read at least the section on parsing . Let's write less…

802

Postgres Count Performance

Everybody counts, but not always quickly. This post looks into how the PostgreSQL database optimizes counting. In Postgres, there are ways to count orders of magnitude faster. We’ll look at exact counts (distinct counts) as well as estimated counts, using approximation algorithms such as HyperLogLog (HLL) in Postgres.

806

I am a puts debuggerer

Update (2023-06-28): Added “I required a file, but I want to know what files were actually loaded” I love puts debugging I am a puts debuggerer. I don’t say this to disparage people that use a Real Debugger. I think Real Debuggers are great, I’ve just never taken the time to learn one well. Every time I try to lean…

807

Node v6.6.0

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.