Machine Zone March 2014 — PresentSenior Software Engineer
- Mochi Media's engineering team was acquired by Machine Zone
- Currently implementing and maintaining platform services used by Machine Zone's games.
- Platform services helps run Game Of War: Fire Age one of the top grossing and played MMOs
- Platform can handle hundreds of thousands of simultaneous game players that generate millions of messages.
- Implementing next generation messaging system.
- Implementing core technologies in Erlang and C.
- Implementing test framework for behavior, integration, and benching platform's services using Erlang, Behave, and Python.
- Implementing continuous deployment mechanisms for the platform services using Go.cd, Docker, Internal Cloud service, Ansible, Make and Python.
- Maintaining chat, real-time translation, pubsub, timer (server side deferreds), and messaging services that use Erlang.
Mochi Media January 2011 — March 2014Lead Platform Engineer
- Mochi Media was a web game ad network and API platform.
- Lead the engineering team in implementing and maintaining the Mochi API platform which includes advertising, distribution, analytics, game data storage, achievements and scores.
- Platform handled over 80 million unique game plays per month.
- Ad server handled over 30 million ad requests per day.
- Platform was a mix of technologies that include Erlang, nginx, Actionscript, Python, Postgresql, mnesia, Riak and HBase.
- Created and delivered new advertising services.
- Managed engineers on these and other platform engineering projects shipping quality software in a timely manner.
- Deployed scoreboard and achievements backend improvements that used Riak and statebox to replace mnesia.
- Reduced startup time of downed and new nodes.
- Improved reliability and availability of this data.
- Designed and implemented data processing and analytics backend for handling advertiser's, publisher's, developer's and Mochi's data.
- Created in house ETL using python and Hadoop to process logs and data generated from platform systems.
- Built storage system using HDFS, HIVE, and HBase.
- Built API interface to this data using python and twisted python framework.
Collecta January 2009 — December 2010Software Engineer and Co-founder
- Collecta was a startup that built a real-time push based search engine.
- Handled thousands of searches sending data to thousands of concurrent users.
- Processed data at a rate of over 10k messages a second from many social website, blogs and systems including twitter, identica, wordpress, myspace, and others.
- Presented the user with a search result less than 40-400ms after publish.
- Created, prototyped and implemented real-time push based search engine and API using XMPP, JSON, pubsubhubbub, ejabberd, erlang and python.
- Designed and implemented a traditional index based search engine and API using XMPP, JSON, erlang, solr, and couchdb.
- Built a test framework using twisted python and amazon ec2 to test various parts of the system including API and backend.
Chesspark 2006 — 2009Software Engineer
- Chesspark was an online chess startup that hosted thousands of games, tournaments and players.
- Designed and implemented XMPP based API for social interaction, game events, game messaging, game matching and game play.
- Built backend using ejabberd, memcache, postgresql, twisted and python.
- Implemented website using python, django, twisted and python.
- Created test framework using twisted python and amazon ec2 to replay logged API/XMPP data that would mimic the live production system in a test environment.
Medical University of South Carolina 1999 — 2006Instructor and Software Engineer
- Created and implemented integration API for various university services to quickly gather information for accreditation auditors using django and python.
- Built a workflow system used by university researchers, HR and risk management to handled document creation and processing.
- Built using XML, XMPP, Twisted, Punjab, PHP, Python and postgresql.
- Used XML, HTML and PDF for manipulating and creating documents.
- Designed and created many web based systems for researchers using many different technologies including perl, php, python, apache, nginx, java, XMPP and PDF.
- Engaged in many research and development projects to help improve the medical university.
- Taught researchers and other technology departments new software, programming languages and technology.
- Created and Contributed to various open source projects.
- https://github.com/twonds/ and https://github.com/mochi
- Punjab - A BOSH connection manager written in twisted python - https://github.com/twonds/punjab
- Wokkel - A XMPP framework for twisted python - http://wokkel.ik.nu/
- Palaver - A multi-user chat XMPP component backend - https://github.com/twonds/palaver
- Other small contributions to Twisted, Ejabberd, and Django.
- Consulted with large and small companies on messaging and XMPP projects.
- Contracted and consulted on many web based API and web site projects using various technologies.
- Worked with the following database and storage systems: riak, hbase, mnesia, couchdb, postgresql, mysql, memcache and others.