Expert programmer seeking short-term contracts or a challenging long-term position developing innovative software.
Specialties
Specialties include Perl, C, Unix, JavaScript, Ruby, Scheme, API design, and continuous integration. Skilled with HTTP, Python, C++, assembly language, Haskell, and more.
Energized by learning, math, CS, science, and intellectual challenge. Broad skillset and the ability to apply it quickly to new situations.
Experience
2008-present
Independent Contractor
- Extended a large, high-performance JavaScript/Perl/mySQL web application.
- Built database-backed, interactive websites using Ruby on Rails and jQuery.
2005-2007
- Co-designed and implemented a REST API for access to wiki data and metadata.
- Developed a WYSIWYG wiki editor in JavaScript.
- Implemented an offline task queue for an existing web app, resulting in dramatic memory savings.
2001-2002
- Hired to create a supercomputing resource from the idle cycles of student lab PCs across campus.
- Ported parallel fastDNAml from Unix to Windows.
- Developed a high-performance, select()-based, cross-platform message-passing server and client library.
- Successfully got the lot to run under Condor, yielding a significant new computational resource. See this paper for more.
1999-2002
- Co-designed and implemented a framework for travel automation applications that provide an XML-over-TCP interface.
- Extended travel automation applications to scrape data from different reservation systems.
- Created a Windows system for producing self-printing HTML travel confirmations using ActiveX, JavaScript, and Perl.
- Implemented an interpreter for a DSL targeting record generation in computerized reservation systems.
- Maintained older code.
1997-1999
Kiva Networking
- Developed a single object model for user-management across multiple machines.
- Implemented a multi-host task queuing system with retry semantics and task dependency specification (arbitrary directed acyclic graphs).
- Together, these took a disparate collection of unreliable and undocumented scripts, separated business rules from implementation logic, insulated the scripts and their operators from machine outages, and made modifying the set of machines in production a non-issue. Productivity improved markedly, and mistakes decreased.
- Also performed general system and network administration.
1995-1997
- Ported Knowledge Base from Perl 4 to Perl 5, enabling contribution and reuse by many more parties due to the much more modular nature of the new code.
- Designed and implemented a fulltext search engine with configurable stoplists and stemming.
- Co-developed an SGML DTD for specifying Knowledge Base entries and multiple tools for parsing, rendering, and working with those documents.
Publications
Distributed parallel computing using Windows desktop systems.
D.Hart, D.Grover, M.Liggett, R.Repasky, C.Shields, S.Simms, A.Sweeny, P.Wang.
Proceedings of the International Workshop on Challenges of Large Applications in Distributed Environments,
34-38, July 2003.
Education
- Indiana University, 2002-05
- BS CS, math minor. Last 60 hours GPA = 3.970/4
- Masters Program, all but thesis. CS GPA = 4.000/4
© 2010 by Matt Liggett