Caching the Identity for Fun and Profit

One of the wonderful features of Scala and other high level languages is that they are very expressive. Very often, one can represent business objects as a simple map, e.g.:

val headers = Map("User-Agent" -> "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0 ...
more ...


The magic of conjugate priors (for online learning)

In Bayesian reasoning, the fundamental problem is the following. Given a prior distribution $@p(x)$@, and some set of evidence $@E$@, compute a posterior distribution on $@x$@ namely $@p(x | E)$@. For example, $@x$@ might be the conversion rate of some email. Before you have any evidence you might expect ...

more ...

The Metrics Manifesto - Why you need an objective function

Hypst is an early stage startup - the elevator pitch is "like Facebook, before it became mainstream". The founders of Hypst have read a lot about A/B testing and statistics, and they decide to use the techniques they learned to improve engagement.

The first thing they notice is that not ...

more ...

Write Queries with Tiramisu

By now, it is a fairly uncontroversial opinion that ORMs create a large number of difficulties when developing larger systems. The have been famously called the Vietnam of Computer Science. The main alternative to ORMs is manually constructing SQL by hand, but unfortunately that is a rather dangerous thing to ...

more ...

Flash Crash? Or Flash in the Pan?

With the collapse of Knight Capital recently, there has been a lot of scrutiny of High Frequency Trading (HFT). Breathless reporters have been bombarding us with articles suggesting that there is danger out there.

That's all nonsense.

There are two general approaches to building a robust system with high ...

more ...


What I'm reading - Race, IQ and Wealth

Ron Unz over at American Conservative has written an excellent blog post called Race, IQ and Wealth. It's well worth reading, gets into data, and is a fairly dispassionate analysis of the topic. It also (politely and subtly) calls out the supposed "experts" on the field, who ignore all ...

more ...

Minimize your cloud costs with GLPK and Haskell

One of the more important tools in my computational toolbox is linear programming. It's a great way to solve a lot of otherwise difficult problems in a straightforward, nearly black-box manner. I've discovered that a lot of programmers aren't too familiar with it, so I'm writing ...

more ...