Topics /

Software Engineering

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

2014
31

PostgreSQL: Jsonb has committed

Great news: PostgreSQL introduced jsonb support, which is real data type with binary storage and indexing ! This work is a confluence of two projects - our hstore and json, which were existed in PostgreSQL for years in somewhat incomplete forms - hstore (10 years old!) implements key-value storage…

39

The descent to C

This article attempts to give a sort of ‘orientation tour’ for people whose previous programming background is in high (ish) level languages such as Java or Python, and who now find that they need or want to learn C.

40

Saying goodbye to Python

This post is long overdue; this isn’t a declaration of intent (any intent was long ago made real), just my reflection about my own path. I left the Python world a long time ago but I never took a chance to say goodbye.

41

A Hacker’s Guide to Git

A Hacker’s Guide to Git is now available as an e-book. You can purchase it on Leanpub. Introduction Git is currently the most widely used version control system in the world, mostly thanks to GitHub. By that measure, I’d argue that it’s a...

42

Why Puppet, Chef, Ansible aren't good enough

This particular blog post was sitting on my mind for a long time. I don’t want to start a flame war, but at the same time I also don’t wish for Linux community to build and grow upon ad-hoc solutions that we’ve accumulated over the last 30 years to the packaging and deployment problems. History of Linux automation…

46

Rust and Go

I’ve been spending a bit of my time playing around with new languages — in particular, Rust has captured my imagination. The bulk of the…

51

Rewriting Reddit (2005)

2012 note: This article was first published in 2005. After it was published, Django launched a RemovingTheMagic project to address some of my criticisms (though personally I still find it unusable), web.py inspired FriendFeed’s tornado.web and Google’s gae.webapp and others (though I still prefer web.py), and this…

56

The Lost Art of C Structure Packing

This page is about a technique for reducing the memory footprint of programs in compiled languages with C-like structures - manually repacking these declarations for reduced size. To read it, you will require basic knowledge of the C programming language.

57

Minimum Viable Block Chain

Block chain is agnostic of any 'currency' and it can (and will) be adapted to power many other use cases. This is a ground up explanation of why the particular pieces (digital signatures, proof-of-work, transaction blocks) are needed, and how they all come together to form the minimum viable block chain with all of…