Topics /

Software Engineering

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

2013
241

Exact numeric nth derivatives

Automatic differentiation is a well-studied technique for computing exact numeric derivatives. Dan Piponi has a great introduction on the subject , but to give you an overview, the idea is that you introduce an algebraic symbol such that but . Formulas involving are called dual numbers (e.g., , ) in much the same way…

246

FP vs. OO, from the trenches

I’ve been programming for quite some time and have explored a variety of programming paradigms along the way. From time to time people will ask 1 which is better: functional programming or object-oriented programming. Having done both extensively in my time I can exclaim a resounding: it depends .

247

How D3 Selections Work

In the past I have presented simplified descriptions of D3 ’s selections, providing only enough detail to get started. This article takes a more comprehensive approach; rather than saying how to use selections , I will explain how selections are implemented . This may take longer to read, but it should dispel any…

249

Message threading (1997-2002)

In this document, I describe what is, in my humble but correct opinion, the best known algorithm for threading messages (that is, grouping messages together in parent/child relationships based on which messages are replies to which others.) This is the threading algorithm that was used in Netscape Mail and News 2.0…

256

Building Photoshop 1.0

On February 13, 2013, the Computer History Museum reported that they had received the source code for version 1.1 of Photoshop from Adobe, and had permission to release it for non-commercial use. This is the second time recently that something like this has happened, the first being the release of the Quickdraw and…

259

Tracking down a memory leak in Ruby's EventMachine

At Stripe, we rely heavily on ruby and EventMachine to power various internal and external services. Over the last several months, we’ve known that one such service suffered from a gradual memory leak, that would cause its memory usage to gradually balloon from a normal ~50MB to multiple gigabytes. It was easy enough…

261

What is a Full Stack developer? (2012)

Is it reasonable to expect mere mortals to have mastery over every facet of the development stack? Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire 'Full Stack' developers. Well, what does that mean? To me, a Full Stack Developer is someone with

262

Trampolines in JavaScript

A trampoline is a loop that iteratively invokes thunk -returning functions ( continuation-passing style ). A single trampoline is sufficient to express all control transfers of a program; a program so expressed is trampolined, or in trampolined style; converting a program to trampolined style is trampolining…

268

Callbacks are Pretty Okay

Among the many proposed solutions, one of them strikes me as particularly clean: "asynchronous wait" or "wait and defer". iced-coffee-script had this a while ago. Kal just debuted with an identical solution, only differing in syntax. Supposedly LiveScript supports this with "backcalls" .