|
Professional objective
|
Object-oriented software analysis, design, and implementation, in an intellectually stimulating environment.
Have a great deal of experience with and passion for implementing high quality, maintainable code and systems.
|
|
Summary
|
-
MIT graduate. GPA: 4.5 out of 5.0.
-
23 years industry experience, including:
- 15 years object-oriented programming experience.
- 8 years experience architecting and administrating large networks of Unix & Linux workstations.
|
|
Programming languages
|
Fluent in:
-
Python (4 years)
- Gave a tutorial on Python for BBLISA.
- Lisp (1 year)
- Processing (½ year)
Conversant in:
- JavaScript (w/ jQuery, jQuery UI, Django, and Postgres, 1 year)
-
Java (½ year)
-
Bourne Shell (1 year)
- SQL
-
Others: XSLT, sendmail.cf, CLU, Perl, DECsystem-20 assembler, PDP-11 assembler, Basic, Algol, and APL.
Have
written small programs in many other programming languages, including:
Scala, Tcl, Prolog, Ada, Smalltalk, Modula II, Argus, FP
|
|
Skills
|
-
Unix and Linux wizard-level expertise and strong familiarity with Mac OS X and Windows.
- Ajax development.
- Interactive data visualization.
- A keen interest in programming languages and "reusable code".
- Distributed version control using Mercurial (hg) and BitKeeper (and bitbucket.org and Google Code).
- Familiar with "agile" development techniques.
- Libraries: Beautiful Soup (for web scraping), ITK, Tk, sockets, Google Maps API & KML, CFITSIO, jQuery, jQuery UI, Django, PIL, NumPy, matplotlib, gnuplot, Ext JS, BLT, AWT.
- Other misc technologies: HTML, CSS, Blueprint CSS framework, Postgres query performance analysis, FITS (Flexible Image Transport), CGI, XML, XSLT, Apache HTTP Server, HPC clusters, parallel filesystems, NFS, rsync, EDI X12/xCBL, linear coordinate frame transformations.
-
Java/AWT and Python/Tk GUI development.
- Unix and Linux systems engineering and systems administration.
-
Familiarity with UML, Booch, and OMT notations.
-
Socket-based TCP/IP development.
- Build engineering using CMake and GNU Make.
-
Supervised student programmers and operators.
-
Delivered several talks to BBLISA, the Boston area large installation systems administration special interest group.
-
Email systems (e.g., wrote a more elegant sendmail.cf from scratch).
|
|
Software development projects
|
Designed, implemented, and maintained:
- An attractive and highly interactive web-based Ajax GUI search interface to an astronomy time series database. The interface includes tooltips, a user's guide, sliders, draggable dialog boxes, mouse highlighting between table results and a Google Sky pane, and pop-up thumbnail previews of light curves. This was developed in Javascript, using jQuery, jQuery UI, HTML, CSS, Blueprint CSS framework, Ext JS, and JSON with a Django and Postgres-based backend. [Harvard IIC]
- Analyzed Postgres database performance and improved speed of some common queries by orders of magnitude.
-
Enhancements to a brain imaging application (3D Slicer) to allow it to support visualization of multidimensional astronomical data (i.e., spectral line data cubes). [Harvard IIC]
-
X-ray space telescope configuration subsystem. My work on the $300+ million NASA project was essential for its operation. It (1) provides a configuration language allowing astronomers to specify the complex operating parameters of the telescope, (2) maintains a database of such configurations, (3) remotely manages the memory of the satellite’s on-board computer system, (4) reconstructs configurations from downlinked telemetry, and (5) calculates accurate exposure times from packet data. This software was essential for the publication of more than 1400 peer-reviewed journal papers. [MIT CSR]
- Browser-based Java applet for visualizing dendrogram representations of spectral line data cubes. (You can try out the applet here.) [Harvard IIC]
-
GUI experiment session manager for a virtual reality environment planned for deployment on the International Space Station. [MIT CSR]
-
XSLT program to convert purchase orders in TrustedLink Enterprise’s proprietary XML format to the standard xCBL 3.5 XML format. [MIT IS&T]
-
Several GUI programs to monitor and graphically plot data arriving in real-time from the RXTE x-ray space telescope. [MIT CSR]
-
General-purpose C++ template class library, including reference-counting smart pointers (non-intrusive, and inheritance-respecting intrusive), dynamically expanding arrays and deques, high-level strings, parsing tools, and an exception system for use with C++ compilers that don’t support exceptions. The template classes were specially coded so as not to cause code bloat and not to invoke C-front’s troublesome link-time template instantiator. [MIT CSR]
-
Socket-based rdist-like TCP/IP file transfer and synchronization utility. [MIT CSR]
-
Grid-like modular queuing system for parallel scientific data processing. The queue monitor communicates with processing modules via IPC. [MIT CSR]
-
Scientific data-filtering tool with an embedded Perl interpreter. [MIT CSR]
-
Scripts to present a higher-level CVS-like interface to RCS. [MIT CSR]
-
A sendmail.cf from scratch, taking a new, cleaner approach. Gave talk on my design to BBLISA. [MIT EECS]
-
Simple object-oriented database engine and user-friendly front end. [MIT EECS]
-
Robust and user-friendly backup system for networked Unix file servers. (Gave talk on this to BBLISA.) [MIT Media Lab]
-
Unix workstation OS installation system. Loads and configures OS and other software onto new Unix workstations via the network with minimal human intervention. [MIT Media Lab, MIT CSR]
-
Exception handling subsystem for Lisp. [MIT EECS]
-
Simple and efficient object-oriented programming subsystem for Lisp. [MIT EECS]
|
|
|
Maintained and enhanced:
-
Packet-based telemetry receiving and processing subsystem for RXTE space telescope. [MIT CSR]
- Chandra x-ray CCD simulation program. [MIT CSR]
|
|
|
Designed:
-
The boot filesystem (with locking and crash recovery) for Unix System V.4. [Consulting]
-
Doxygen-like program to extract specially formatted comments from C++ code and turn them into documentation (Unix “man” pages). Supervised the development of this tool. [MIT CSR]
-
What I believe to be the first completely robust lock-file method for NFS. [MIT CSR]
|
|
Unix systems engineering & administration
|
See systems engineering addendum.
|
|
Employment history
|
Harvard University, Cambridge, MA (April 2006-present):
-
Senior Scientific Software Engineer, Initiative in Innovative Computing.
Massachusetts Institute of Technology, Cambridge, MA (Feb. 1986-April 2006):
-
Programmer/Analyst III, Information Services and Technology (May 2005-April 2006).
-
Software Engineer, Center for Space Research, XTE Project (Sep. 1993-May 2005).
-
Systems Programmer, Media Laboratory (Apr. 1990-Aug. 1993).
-
Programmer/Analyst and Assistant Manager, Department of Electrical Engineering and Computer Science Educational Computer Facilities (Dec. 1987-Mar. 1990).
-
Systems Programmer II, Project Athena (Feb. 1986-Nov. 1987).
|
|
Education
|
Massachusetts Institute of Technology, undergraduate. 1980-1985: Studied computer science and cognitive science. Received S.B. in cognitive science from the Philosophy and Linguistics Dept. with a concentration in AI. Worked during semesters and summers as a systems administrator. Received an A in every class involving programming or programming languages. GPA: 4.5 out of 5.0. Invited into HKN honor society. Accepted into BU’s Computer Science PhD program with a full fellowship.
Massachusetts Institute of Technology, graduate. 1991-1992: Special Graduate Student, Media Laboratory. Spring, 1998: Special Graduate Student, Linguistics and Philosophy. Spring 2001: Special Graduate Student, EECS Department.
Harvard University Extension, graduate. Spring 1993.
Harvard University Graduate School of Arts and Sciences. Spring 2008: Special Graduate Student. Spring 2009: Teaching Fellow.
Computer Science course work: - Undergraduate at MIT:
- Structure and Interpretation of Computer Programs (A+)
- Laboratory in Software Engineering (A)
- Computer Language Engineering (A); i.e., compiler design and implementation)
- Theory of Computation (A)
- Computation Structures (B); i.e., architecture of digital hardware
- Digital Design Lab (B)
- Graduate (at MIT, except where noted):
- Programming Languages (A)
- Perception, Semanticity, and Statistically Emergent Mentality (A); i.e., artificial intelligence and cognitive psychology
- Society of Mind (A); i.e., artificial intelligence and cognitive psychology
- Advanced Object-Oriented Programming in C++ (A); i.e., OO analysis, design, and implementation, using Booch's methodology. (Harvard Extension. The teaching fellow said that my code was the best he's ever seen and offered me a job.)
- Dynamic Language Exploration (A+); i.e. design and implementation of object-oriented dynamic languages that support multimethods (A+)
- Visualization (A): interactive data visualization programming. (Harvard Graduate School of Arts and Sciences.)
- Teaching Fellow for above class
GRE: Scored in the top 10% on the Computer Science GRE and in the top 5% on both the verbal and quantitative GRE.
|
|
Publications
|
Michelle Borkin, Alyssa Goodman, Michael Halle, Douglas Alan, "Application of Medical Imaging Software to 3D Visualization of Astronomical Data", 10/2006, ADASS XVI Conference.
Michelle Borkin, Alyssa Goodman, Michael Halle, Douglas Alan, & Jens Kauffmann, "Application of Medical Imaging Software to the 3D Visualization of Astronomical Data", 1/2007, AAS/AAPT Joint Meeting, American Astronomical Society Meeting 209, #57.06.
Michelle Borkin, Alyssa Goodman, Douglas Alan, Jens Kauffmann, & Michael Halle, "Application of Medical Imaging to the 3D Visualization of Astronomy Data", 10/2007, Proceedings of IEEE Visualization Conference (Vis 2007).
|
Talks
| "Collaboration using Basecamp and Moin Moin", Harvard IIC.
"An Introduction to Programming in Python", BBLISA.
"A new approach to sendmail.cf", BBLISA.
"How to Write a Good Backup Script", BBLISA.
|
|
Personal background
|
Born in Manhattan and brought up in White Plains, NY. For three years DJ’ed a biweekly radio show on WMBR. Founded and moderate a large music-oriented Internet mailing list and Usenet newsgroup. Enjoy progressive music, art, film, science fiction, and analytic philosophy of mind. NAUI-certified scuba diver. Favorite film is Terry Gilliam’s Brazil.
|