Gregory Stark Addresses Contact Oxford, United Kingdom +44 (0)7900 014658 Montreal, Canada +1 514 938 2456 stark@mit.edu Objective A challenging project which allows me to learn new skills while working on state of the art free software tools such as Postgres and Linux. Education Massachusetts Institute of Technology ................. 1992 -- 1996 Computer Science and Engineering Courses include Laboratory in Software Engineering, Compiler Design, Computer Systems, Complexity Theory, Computer Architecture, Theory of Computation, Assembly Programming, and Number Theory Skills Computer Languages Primarily ANSI C 89, Also familiar with object oriented languages (C++, Perl 5, CLU, Java), SQL (Oracle, Microsoft SQL Server, MySQL, PostgreSQL) Lisp variants (Scheme, Elisp), Bourne and POSIX shell programming, and various arcane languages. Computer Systems POSIX Unix application level development (Linux, BSD 4.3, NetBSD, Sun Solaris, DEC Ultrix, SGI Irix, IBM AIX). Some kernel experience on Linux and NetBSD. Experience building highly scalable OLTP database systems with very high transaction rates using both standard SQL and special Oracle and PostgreSQL features such as partitioned tables, arrays, and GIST indexes. Familiar with POSIX Threads, networking protocols (TCP/IP, UDP, HTTP, SSL, DNS, etc.), security and encryption systems (Kerberos, SSH, SSL, PGP). Can speak and write English and French. Currently hold U.K. work permit valid until 2013. Experience EnterpriseDB UK ................................... November 2006 -- PostgreSQL Developer Worked on EnterpriseDB Advanced Server database based on PostgreSQL extended to be compatible with Oracle. Managed major merge forward to PostgreSQL 8.4 using ```git'' merging over 2,000 patches into product. Performed TPC-C, TPC-E, and other benchmarks on a variety of hardware configurations. Wrote white papers demonstrating new performance features and demonstrating comparisons with competing products. Implemented features for both PostgreSQL and EDB's proprietary derivative product including.``online'' index builds for PostgreSQL allowing database users to build indexes without locking out other sessions from updating the table being indexed; I/O prefetching for asynchronous I/O on subsystems with multiple drives capable of acting concurrently (i.e. RAID arrays); bounded sort algorithm to optimise top-k queries; denser optimised storage for variable-length data types; and key features used in partitioning and recursive queries. Also performed customer consultations including training sessions, on-site performance audits (including international travel), and 3rd level support engineering. PostgreSQL Database Consulting ........... June 2002 -- October 2006 For ``North America's most sophisticated geo-targeting shopping engine.'' designed database including custom modules to precalculate and cache geography-based search results across Canada, manage multiligingual internationalised database and generate barcodes and coupon PDF files dynamically. Work for other clients included implemented a bit vector GIST index method for rapid matching of large sets of constraints on a dating web site and designing high level database architecture for a major social networking site. Experience Ideas and Associates ..................... December 1998 -- May 2002 Continued Project Manager and System Architect Developed Freelotto.com, the top sweepstakes site in the world. Designed and maintained web server farm running Apache with mod--perl and Oracle 8.0.5 database handling over a million sweepstake entries per day with 24x7 operation Managed growth of Freelotto up to a team of twelve including programmers, system administrators, and database administrators. Migrated system to Oracle 8i, implemented a data warehousing solution and maintained a farm of web servers and mail servers. Was personally responsible for client relationship, and technical requirements of projects. Generation.NET .......................... June 1997 -- November 1998 Developed a number of web sites using Active Server Pages, SQL Server, Oracle 8, and MS Access. These included large corporate intranets and extranets, as well as some reusable applications such as a USENET style message boards system. Also developed several Java applets and a server side Java servlet which generates GIF images dynamically to present information from an SQL Server database. We usually worked in small teams often with only one programmer per team. M.I.T. 6.004 (Computation Structures) ................... Spring 1995 Lab Assistant Staffed electronics lab, answered student questions, helped debug electronic problems. Also evaluated students' understanding of each module's concepts. Course covered digital electronics, assembly and microcode programming, as well as more abstract concepts in computer science. McGill ACAPS Lab, McCAT Compiler Group .................. Summer 1994 Worked on function inlining module for the McCAT C compiler. Implemented several features designed to support optimisations necessary for MTA multi-threaded data-flow architecture. M.I.T. I/S Distributed Computing and Network Services (DCNS) Summer 1993 Watchmaker (Student Systems Programmer) Maintained several software packages used by MIT Community. Projects M.I.T. 6.270 (Autonomous Lego Robot Contest) Contest Organiser 1995 -- 1996 As part of a team, planned, organised, and taught a course in robotics culminating in a competition. Students build and program an autonomous robot with a 6811 controller to compete one-on-one with other teams' robots. M.I.T. Student Information Processing Board (SIPB) ... March 1993 -- Gained programming and managing experience on various Unix platforms, as well as consulting skills. The SIPB is a student organisation that maintains several network services and also provides computer accounts, consulting, and programming help for the M.I.T. community. Contributions to free software Debian GNU/Linux Developer ............................ 1996 -- 2000 Packaged several packages for the Debian GNU/Linux distribution including Kerberos, Arla AFS client, and MIT Zephyr. Portions of W3 (The Emacs Web Browser) Emacs-W3 is a web browser implemented entirely in Emacs Lisp. I contributed the much improved tables support that implemented the auto-layout algorithm from RFC 1942 as well as rowspan support. Nndsc, a ``back-end'' for Gnus (The Emacs Newsreader) Gnus is extensible through the addition of ``back-ends'' which can implement new protocols. I implemented the nndsc back-end for accessing M.I.T. Discuss servers. (Discuss is conceptually similar to USENET News. It was written to emulate a popular Multics interface.) I am currently rewriting this package to support asynchronous prefetches and multiple server connections.