Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 780 posts.

2016
666

Using Docker to develop and deploy Django apps

I finally managed to deploy Django in a Docker container on production! I’ve been trying to switch to a full Docker development/production model since Docker came out, but only recently did the ecosystem mature enough to allow me to easily use Docker both for development (where it excels, in my opinion) and on…

668

Actually using ed (2012)

The classic ed editor is a really good example of a sparse, minimal, standard Unix tool that does one thing, and does it well. Because there are so many good screen-oriented editors for Unix, there’s seldom very much call for using ed , unless you’re working on very old or very limited hardware that won’t run anything…

675

What's in a Build Tool?

A "Build tool" is a catch-all term that refers to anything that is needed to get a piece of software set up, but isn't needed after that. Different programming communities have a wealth of different tools: some use stalwarts like make , some use loose collections of .sh scripts, some use XML-based tools like Maven or…

677

What is Symbolic Computation?

I've been reading a lot of Lisp books lately, some more advanced than others. All of the introductory books I've seen cover the idea of symbolic computation, but most of them breeze past it with just a few pages about "symbols" and "quoting". For many programmers coming from non-Lisp languages these are new, foreign…

678

Cheap BlueTooth Buttons and Linux

Selfie sticks - like most modern inventions - are utter tosh. But they've rapidly brought down the price of Bluetooth buttons. So who am I to complain? Let's take the venerable AB Shutter 3 - You can find it on Amazon for around £2 including postage - or around $2 on AliExpress. Frankly, that's stupidly cheap. OK…

680

Diving into Other People's Code

This post will walk you through an exercise in diving into someone else's code. The goal will be to make an arbitrary change to the code of the Spyder Python IDE , a project I have never touched before in my life, and learn just enough about it to accomplish what I want without getting bogged down. You will learn how…

681

Linux at 20, some personal memories (2011)

This is going to be long and rambling. If you're going to read it, you may want to wait until you're ill, and can't get out of bed, and your head is filled with cotton, and you're eating painkillers like they were candy. I don't want you to feel pain while reading. Being unconscious and having a speech synthesizer…

687

Small, Freestanding Windows Executables

Recently I’ve been experimenting with freestanding C programs on Windows. Freestanding refers to programs that don’t link, either statically or dynamically, against a standard library (i.e. libc). This is typical for operating systems and similar, bare metal situations . Normally a C compiler can make assumptions…

688

Zero-allocation Trie Traversal

As part of a demonstration in an upcoming article , I wrote a simple trie implementation. A trie is a search tree where the keys are a sequence of symbols (i.e. strings). Strings with a common prefix share an initial path down the trie, and the keys themselves are stored implicitly by the structure of the trie. It’s…