Aanand Prasad

Frontend/backend web and iOS developer. London.

Projects

FRiPpery

A talk on functional reactive programming, which I gave at Ruby Manor in April 2013.

Jamouflage

Make an ”invisible’ cover image for your jam on This Is My Jam.

Diversity Calculator

Get the expected diversity distribution for a conference line-up, given the number of speakers and population distribution.

Composit

Finds and composites the 100 most relevant Flickr photos for any search term you give it.

git-up

A friendly and polite alternative to git pull that fetches and rebases all locally-tracked remote branches.

Gogol

Little text-based time-rewinding puzzle game.

Deadweight

Tool to find unused CSS selectors by scraping HTML pages. Run it at the command-line against any website, make a Rake task, or integrate it into your acceptance tests.

Parkamour

A “romantic parkour game” made with friends for the 2012 MolyJam.

nnnnext

HTML5 todo app for music you want to listen to, with a fast mobile interface, offline support and multi-device syncing.

Articles

The Abstracted Negroni

I was out last Friday at a bar where they had a “Negroni Tic-Tac-Toe” offer—you could custom-build your drink from a selection of 3 gins, 3 vermouths and 3 amari, and if you got “3 in a row” you’d get £5 off your bill. It’s a laughably stingy deal, but it got me thinking. About programming, I mean.

Offline Support is Valuable, and You Can’t Add it Later

Non-trivial offline functionality in a web application is more valuable than you might have initially assumed, if you care about the user experience on mobile devices. It’s also not a feature you can easily add after you’ve already built a working product. It has a profound effect on how your app should be designed, and you have to plan for it from the outset if you don’t want to end up rewriting the bulk of your communication logic.

Better Tap Behaviour with jquery.tappable.js

The behaviour of tappable elements in Mobile Safari is unacceptably ugly. Unfortunately, taking control of it is more involved than it perhaps ought to be. jquery.tappable.js does (most of) the hard work for you.

Prototype Chains and CoffeeScript Subclasses

In developing nnnnext.com, I tackled a surprising number of problems I’d not faced before in my web development career. Here’s one of the more interesting ones, with what I think is a pretty cute solution.