Top posts

Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,842 posts.

Software Engineering
Any year
16111

Inventing Monads

I got into a discussion about monads recently. On a search to find some resources to share, I realized that most essays explained them with type signatures and rules. A missing ingredient to grok them, I think, is to understand the intuition behind them. How could you end up inventing monads?

16126

My Weird Ruby

Over the past year, I've been rewriting large portions of the Middleman codebase to better reflect how I like to write code (as opposed to the silly version of me who did the original version 6 years ago). I've learned a lot since then, spent pretty much every day writing mostly Javascript and trying to find any…

16129

Writing a CV in LaTeX

Writing my curriculum in LaTeX was a task that has been on my TODO-list for quite a while. I liked the style of my Word-written CV and I believed it would take hours to come up with a reasonable CV in LaTeX. Nevertheless, I recently sat down, began writing, and after not too long, I ... [Read more...]

16130

Go and Versioning: Minimal Version Selection

A versioned Go command must decide which module versions to use in each build. I call this list of modules and versions for use in a given build the build list . For stable development, today’s build list must also be tomorrow’s build list. But then developers must also be allowed to change the build list: to upgrade…

16133

A Tale of Java Hash Tables

The intended audience for this article is undergrad students who already have a good grasp of Java, or seasoned Java developers who would like to explore an in-depth analysis of various hash table implementations that use Open Addressing. The reader should be familiar with Java generics, collections, basic data…

16140

Programmers Should Automate More

Last week, I created a small script to aid my workflow which left me wondering why I didn't make it earlier. It adds an option in [Finder](https://en.wikipedia.org/wiki/Finder_\(software\))'s context menu to start a static web server in any folder which makes it easier to preview static websites. Technically, it's…