Although much of my work is proprietary, my free time sometimes involves me pursuing public projects that inevitably rely on software as a big part of the solution. Here are some of the more interesting projects:

CAPTCHA Middleware

A robot becoming self-aware

Here I used computer vision to read the distorted CAPTCHA images and thereby prevent human slaves from having to do the work of curious bots that just want to fetch data in a repeatable way.

It fits in nicely with Scrapy, checking for the presence of a CAPTCHA image and solving the test; and fetching the page that was intended to be seen; before giving that back to Scrapy seamlessly.

Jupyter Demo

A pig exporting itself for trade

This demonstration of Jupyter is aimed especially at business / finance people who think of software engineers as code monkeys. I feel that any job can be improved by some programming knowledge; and this notebook represents a scenario that many might imagine to be too far removed from those possibilities.

I still need to write more about it on Quora to spread the word and change the world, but one such post is I want to start learning how to code. Where should I start? What do I need?.


Someone confused about what they're reading.

This modification of tfelix’s code provides the functionality to train a Markov Chain. Given a few previous characters, the next character can be predicted. There are settings for the size of the prediction window; as well as the propensity for randomness. When applied to Australian wine producers for instance, I was able to devise some feasible names:

ubet wines, sunselective lane valley end, belt, nanger, thpaw vine, wood estate, gold, monahan vineyard, brumbat rocnanthouse, caravis estate, two dorqueens of conte wild boyz 28 year wine creek winery, beauforthinglebula, miyard, the treehans & fils, smalldale wine, middle vineyardja, 490m, glaymongrel broombe brothern hill vineyard, wx gorge, winchet, sedow's stpa hillwood, wild's estate, campany, james at wester, west wine wisheques gehrig bros, sunset winexpert eclipsejallanfield, edge, lino gustable house, maipenrai villars, three mount patch, greirson's gbird hilberts and smith barrels, thomas family roberton estate, long company, relbia estate last drops, willows, barami estate, gardwood, jinnversity, yella crossa belfothi estate, liyll valley family wines, domain, watervlinvivo, flimbing & trak, standers univers, cofield estate, godfrey, bowles up, harefield, caprice, kogara estate, henley wines, henke vineyard, swings, chapel vave wines, best's reserve, wanadu, belle, wollum´y wines, 5os, laurencerubino, deakings, gisborough plains, milton's, bellars, terra riley estate, breaks, the produc estate, strick opal estnutumn hill bay, kellars, hill

Compare this to the generated French names:

gelière, eve des mourat), domaine bois, domaine dussolff, château foulet, maréchalon, vergnon, château gazins, château la vieilce, château la comte de michel gaule, château le bbc vinceny, karim vince (paul haut-plaisance, jean clergerie de circus, thomas, château-pourpreù, château granênes, château zirnhel, domaine la croix beaulmaëls, cbère, domaine maîtres

Also, some American names:

yribari wines, re:find, on q, bourbon, hanzen clickin vineann, gleasangr'la, peter family, pelini, hawk lane, cuille vineyary rosia, st. konstant family, delockeri, tanish celll, fait-maison project vineyards, silver ridge wine wine wines, st. balley vineyards, red hway vineyards, hunter, chelle, wilson vino altimothy farm

Please note that the generated names are not necessarily fictitious. It’s a worrying trend especially for generated faces when commentators assert that by virtue of its provenance, that the faces cannot possibly be real people.

Slave-Driver Daemon

Cleaning Up

This project was made for issuing chores to housemates. When you’re living with 11 others, software can certainly come in handy for managing our society.