Bangalore

Bangalore is kinda wild. It’s a city best described by what it isn’t: quiet, slow, old. Bangalore is a bit like Bangkok in that you’re constantly left wondering how it all works – like how does everything keep running? There are cables hanging loose off lampposts, cows meandering down the street. The streets! Cars and motorbikes and … Continue reading Bangalore

Ghana

I’m in Ghana working with ELiTE (“Emerging Leaders in Technology and Engineering”), a charity that engages with communities around the world to bring STEM knowledge to children. I met Chelsey, the co-founder, in New York last year and begged him to let me come and help with the summer program he runs here. In a … Continue reading Ghana

Scalia 1.0

Associate Justice Antonin Scalia died a few short weeks ago. I know we’ve all been pecking around for a way to immortalise the man, so I’d like to humbly suggest a change to the name of a popular programming language. I hereby present Scalia 1.0. The Scalia language is defined by the principles of immutability and … Continue reading Scalia 1.0

Otterator

Name Otterate – bring OtterLike semantics to Scala strings. Synopsis Description The otterator brings the curiosity and playful antics of nature’s water dogs to Scala strings. Otters are hard-working, carefree and occasionally obfuscated. The otterator is left-binding and intensely communicative. An otter is for life, therefore premature GC is discouraged. See also The lesser spotted right binding … Continue reading Otterator

It’s not fair.

Write an opinion article (i.e. an analysis suitable for readers of a serious newspaper) of no more than 500 words on one of the following subjects: How best to judge whether government policies are helping or harming the economy. or Whether free markets have come to play too big a role in the organisation of society, … Continue reading It’s not fair.

Howto: construct a monad

A monad is a special prayer used by software developers. In this simple guide, I’ll teach you how to build (we developers say “reify”!) a monad of your very own. Start with the combinator function. A combinator is like a regular function except that the domain is partial and the range is delicate. Turn it clockwise … Continue reading Howto: construct a monad