MATTHEW CRAIG 1507 Catalina Dr. Ann Arbor, MI, 48103 (734) 623-7908 matt@mcraig.org OBJECTIVE: (software engineer) Position as a developer in a UNIX/Linux environment. Duties to include project design, planning and programming, and possibly system administration and systems analysis. (Linux admin) Position as a UNIX/Linux system administrator , but also including the challenge of project design and programming. KEY SKILLS: LANGUAGES: PHP, SQL, UNIX shell scripting, PL/pgSQL, Java, Perl, JavaScript RELATED TECHNOLOGIES: XHTML, XML, CSS, XMLHTTPRequest APPLICATIONS: PostgreSQL, Apache, Slony-I, Postfix, Linux Virtual Server, SAMBA, MySQL, HylaFax, PGP, Open Office, VPNs, Tomcat, Nutch PLATFORMS: Linux (Gentoo, Smoothwall, SuSE, RedHat), UNIX(Solaris), FreeBSD WORK EXPERIENCE: Lead Programmer/System Adminstrator Leade Health, Inc. July 2000 - Present: Designed and implemented a full-featured, web-based Health Coaching System on Linux/Apache/PHP/PostgreSQL for our distributed network of coaches (in 2000 Leade's Health Coaching system was still based on a single MSAccess database.) Led the team in 2005 which rewrote the system, updating it to be standards-based and improve performance and interactivity through a JavaScript interface talking to a PHP backend through XMLHTTPRequests. Other major projects: Installed and administered Leade's initial systems; web and database servers, an office file server, a fax server, and several firewalls. In 2006, with assistance from one other sysadmin, added both database redundancy, in the form of Slony-I replication, and web site failover with 2 redundant load balancers serving requests through four actual web servers. Designed and implemented a web-based report generating tool with web-based editing and output in PDF format. Provide training tips and user support for around 30 non-technical users of the Coaching Database. Programmer/Researcher with Prof. Dragomir Radev at U of M Aug. 2003 - April 2004: Participated in research involving using topical web-crawlers and document surrogates to reduce bandwidth usage during real-time web searches. Technologies used included the open-source search engine, Nutch (www.nutch.org), which is a customized Java web-crawler, document summarization software developed at U of M, and Perl code, both home-grown and CPAN modules, to analyze our results. Programmer Spring Management Aug 1999 - June 2000: Lead programmer on an Electronic Medical Record system. Worked with Project Manager, who had medical office experience, to create a web-enabled system with which a doctor's office could manage all patient care. Project coordinator on the city of Toledo's Y2K desktop update team. EDUCATION: University of Michigan, MS Computer Science and Engineering, Dec. 2003 Indiana University, Bloomington BA Physics/German May 1995 Year abroad Universitaet Hamburg (Germany) 1992-1993 RELEVANT EDUCATION: Operating Systems: Internals of an OS including processes and threads, scheduling, memory management and networking. Artificial Intelligence: Familiar with many of the general paradigms of AI, including planning, various search techniques, constraint satisfaction. Experience programming in LISP and Prolog. Algorithms: Knowledge of all basic CS algorithms. Understanding of designing and implementing efficient algorithms. Natural Language Processing: Familiar with parsers (both statistical and grammatical), taggers, stemmers, finite state machines used in NLP. Real Time Systems: Knowledge of designing RT systems, scheduling, fault tolerance, timing/clocks, and guaranteed performance. Information Retrieval: Web search, social networks, methods of calculating document relevance. References available upon request.