Work Experience
Senior Software Engineer
December 2008 - May 2009
Rdio is developing a subscription
music service that will provide a streamlined music
consumption and discovery experience through a web browser
and on mobile devices.
- Developed an Adobe AIR application to synchronize state
between users' desktop media players and their online
library.
- Wrote a Flash movie to handle reliable, secure music
playback synchronized between multiple tabs and multiple
browsers.
- Built JavaScript components for the AJAX web UI.
- Contributed to Rdio Django web application.
- Recruited and trained key teammembers.
Senior Software Engineer
January 2007 - November 2008
POTI Inc is developing Songbird,
an open source desktop media player that integrates web
browsing, web services and broad media device support.
Songbird is based on the Mozilla XULRunner platform and is
written in C++ and JavaScript.
- Developed extension functionality including two of the
most popular addons: iPod support and Last.fm
integration.
- Implemented key user interface functionality including
support for tabbed web browsing and the player
sidebar.
- Designed and reviewed Songbird APIs and
architecture.
- Presented at the GUADEC conference in Birmingham, UK on
behalf of POTI.
Senior Software Engineer
June 2005 - January 2007
Flock Inc. is building a new
desktop web browser optimized for social networking and media
sharing. Since it is based on Firefox, the Flock browser is
developed using C++, JavaScript, and XML.
- Designed and developed the Flock bookmarking system,
incorporating ideas from traditional bookmarks and social
bookmarking, creating a feature which supports full-text
bookmark search and sync with social bookmarking
services.
- Created a library which transparently maps objects
between JavaScript and RDF, allowing Flock to quickly
prototype and develop new features.
- Discovered, diagnosed, and fixed security holes in the
Flock browser.
- Lead performance diagnostics and tuning efforts. Built
profiling and reporting tools, significantly improving
browser start time.
- Worked with other companies to integrate their services
with the Flock browser's features.
- Contributed bug fixes and patches to the up-stream
Mozilla project on behalf of Flock.
- Represented Flock on stage at OSCON 2005 in Portland
and XTech 2006 in Amsterdam.
Software Engineer
April 2001 - June 2005
Danger developed the award winning Sidekick / hiptop smartphone.
It was acquired by Microsoft in 2008.
- Maintained a Mozilla based server that provided
transcoded web pages to Danger's hiptop smartphones.
This consisted of over 3 million lines of third-party C++.
- Extended that server, adding features such as color
image support, localized messages, support for non-latin
languages, and protocol improvements that improved
reliability and reduced bandwidth needs by 30%.
- Developed the new web browser server, more than
doubling the number of users that could be served using the
same hardware. The new server delivered popular new
features including JavaScript and CSS support while
significantly lowering bandwidth usage.
- Contributed to some on-device Java applications
including the web browser and ssh client.
Software Engineer
January 2001 - April 2001
Eazel was founded by alumni of Apple,
Netscape, Sun and Be to develop the Nautilus file manager and
associated web services for the GNOME desktop on Linux.
- Developed new WebDAV, HTTP, FTP, tar and zip support in
Gnome VFS.
- Contributed to the Nautilus file manager, Eazel's
software update service and Eazel's SOAP web services
platform
Software Engineer
1997 - 2000
HarvestRoad was a web site and software
development startup headquartered in Perth, Western Australia.
They developed high profile web sites for local companies and
government agencies as well as producing highly successful document
management systems.
- Worked with a graphic designer and an information
architect to develop web sites for small businesses, large
companies and government departments.
- Developed reusable content managment and ecommerce
software in Perl, C and Java.