I have developed in a wide variety of programming languages and platforms, including Python, Java, C#, Objective-C (iOS), C++, HTML/CSS/JS including jQuery and Django. I've been responsible for managing LAMP servers and I have some *nix and subversion experience. I've designed educational tools and websites and I've tried my hand at some simple hardware hacks.
More information on some of my past projects can be found below.
In 2011, I worked on an iPad app at TAGLab designed to facilitate reading for the visually impaired. The system was called ALLT - the Accessible, Large-print Listening and Talking e-Book. Alongside large-print and text-to-speech, this iPad book reader supports recording the reader's voice so it can be played back at a later date and synchronizing it with sentences on the screen. Originally envisioned as a reading tool for the family members of blind individuals, ALLT's philosophy was eventually expanded to include a variety of other sensory and motor challenges. The system was tested and deployed with a highly educated 40-year old Multiple Sclerosis sufferer, who used the system to practice reading aloud and diction.
The system was featured on Discovery Canada as part of a piece on the Internet Archive and the future of book reading.
This project consisted of augmenting a touch screen with passive tactile overlays to facilitate eyes-free operation. While a small iPhone app was developed as a demo, the more interesting part of the prototyping process involved using a laser etcher to create over 40 prototype plates with different types of raised or recessed tactile features.
In 2010 I designed a website for the National Capital Region Bulgarian Community in Ottawa, Canada, whose main requirement was to seamlessly switch between English, French and Bulgarian versions of the site, as well as to enable non-computer savvy community executives to create new content. It used the Django administrator interface as a makeshift content management system, with Posts that required text in all three languages and were displayed in one of them depending on the language requested.
The Savant genome browser is used by thousands of hospitals and researchers in the analysis of high-throughput sequencing DNA data. The browser is being developed at the University of Toronto in Java. For a class project, myself and a partner created a naive SNP (single-nucleotide polymorphism) detection add-on for the browser which flags sites where exactly one base is different from those of the other samples. This add-on facilitated the analysis of SNP's and enabled the discovery of specific single-nucleotide mutations and distinguishing them from sequencing errors.
In a human-computer interaction course, myself and a partner completed a semester-long project designing, implementing and evaluating a mouse-and-keyboard based audio transcription application. We performed a heuristic evaluation as well as a small user study on the main measures which were speed of transcriptions and transcription errors. The prototype was pitted against other applications designed by students for the same purpose and recorded the best performance in the class. Implemented in C#, the prototype enabled users to speed up or slow down audio, to intermittently pause to catch up and to keep the transcription area fixed on the screen, adopting a scroll metaphor to keep the transcriber's attention on one part of the screen. Every function was accessible via a keyboard shortcut, eliminating the need for the user to remove his/her fingers from the keyboard.
The projects below have little to do with my programming ability, rather they are examples of other creative endeavours.
This project was an entrant in the inaugural 2010 Disney Research Learning Challenge. The task was to design a learning activity to impart a particular concept from math, science or art to middle school kids (7-11 years old). In the first year of the contest, requirements were deliberately scant on implementation details, but quite specific on the sequence of learning outcomes to be accomplished.
At first, applicants were required to submit a one-page abstract and a representative image/video. Out of all the submissions, those who made it past the first round of judging would become finalists. Finalists would be able to attend SIGGRAPH 2010 in L.A. and would have a chance to compete for a small prize fund. The purpose of the challenge was to solicit ideas for apps, ideas and technologies that could be used by Disney in their education line or at their parks. Working on a very tight schedule, my team developed a proof-of-concept idea and an Android phone demo which got selected as one of 16 finalists for the challenge.
In homage to the Haunted Mansion ride at Walt Disney World, I made a Sleeping Beauty-themed recreation of the Pepper's Ghost effect. I used a wooden box with a Lego revolve, a battery pack, LED light source and an old MP3 player to pipe in the theme song from the movie.
The effect, popularized in the 1800s by John Henry Pepper, is used in optical illusions to make translucent shapes appear in a room, to fade from one object to another, and to make candles burn underwater. It is also the original effect used in Disney's Haunted Mansion, for the hitchhiking ghosts and in the ballroom. Recently the Hitchhiking Ghosts were refurbished to employ digital projection and the original effect was dismantled. I demostrate the principle behind it and my implementation of the effect in the video below:
The Malleus Maleficarum ("Witch's Hammer") is a 15th century witch hunting manual published by the Catholic church. Modern facsimiles are available as textbooks for certain religion classes, but their covers are modern and ugly. So, as a present to a friend, I set out to rebind a hardcover copy of the Malleus Maleficarum in real leather, using professional bookbinding techniques with the help of a Book Conservation graduate. The book acquired a purple leather cover with false raised bands, reverse transfer printing on the endpapers and on the text block's edges, and even a reverse transfer printed illustration on the title page.
I have a soft spot for the Settlers of Catan board game. I like that it can be replicated in a variety of media. I currently own five different implementations of the game, including the obvious regular and travel.
A friend crochet'd me a set of hexagonal Catan tiles for the third version.
I created a fourth, miniature version, that fits in a 3x3 inch box (basically, in a jacket pocket), which I could take hiking, and a fifth using a Versa laser and clear acrylic, having designed the tiles myself in Illustrator. I also very briefly owned a sixth, shortbread version of the game. All four of these are featured in the gallery below: