Topics /

Software Engineering

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

2017
121

Minimal PDF

Most PDF files do not look readable in a text editor. Compression, encryption, and embedded images are largely to blame. After removing these three components, one can more easily see that PDF is a human-readable document description language.

124

Rust as a gateway drug to Haskell

For work-related reasons, I had to recently get up to speed on programming in Haskell. Before that, I had very little actual experience with the language, clocking probably at less than a thousand lines of working code over a couple of years. Nothing impressive either: some wrapper script here, some experimental…

129

I've decided to move on to Distill

I do not plan to write more of my deep learning articles on this site. Instead, I will be co-editor of Distill , a visual, interactive journal for machine learning research emphasizing human understanding. I believe this will allow me to better serve the community.

133

How I Write Tests

The longer I spend as a software engineer, the more obsessive I get about testing. I fully subscribe to the definition of legacy code as “code without an automated test suite.” I’m convinced that the best thing you can do to encourage fast progress in a test suite is to design for testing and have a fast, reliable…

136

Interesting data structures: the BK-tree

A BK-tree is a tree data structure specialized to index data in a metric space . A metric space is essentially a set of objects which we equip with a distance function $d(a, b)$ for every pair of elements $(a, b)$. This distance function must satisfy a set of axioms in order to ensure it’s well-behaved. The exact…

138

Working with time in Postgres

A massive amount of reporting queries, whether really intensive data analysis, or just basic insights into your business involving looking at data over a certain time period. Postgres has really rich support for dealing with time out of the box, something that’s often very underweighted when dealing with a database…

139

What's Functional Programming All About?

There are many descriptions floating around the internet, trying to explain functional programming in simple terms. Unfortunately, most discuss details only loosely related to functional programming, while others focus on topics that are completely irrelevant. So of course, I had to write my own!

144

Unicode is hard

In the last couple of months, I've been seeing the ú symbol on British receipts. Why? 1963 - ASCII In the beginning* was ASCII. A standard way for computers to exchange text. ASCII was originally designed with 7 bits - that means 128 possible symbols. That ought to be enough for everyone, right? Wrong! ASCII is the…

146

Some excerpts from recent Alan Kay emails

Most of the funding of research efforts I've been involved in since ARPA-Parc have been with various profit making companies -- Atari, Apple, Disney, HP, SAP, Infosys, etc. And there have been various kinds of compromises involved. And some good work on smaller scales did get done. Others of my colleagues in the…

148

Glob Matching Can Be Simple and Fast Too

Here’s a straightforward benchmark. Time how long it takes to run ls ( a* ) n b in a directory with a single file named a 100 , compared to running ls | grep ( a.* ) n b . Superscripts denote string repetition and parentheses are for grouping only, so that when n is 3, we’re running ls a*a*a*b in a directory…