Mark Jason Dominus

775 N 24th St.
Philadelphia PA 19130
215 978 7497

mjd@plover.com

Programming and Computer Experience

Senior programmer-analyst. January 2004-Present.
University of Pennsylvania Information Systems and Computing

As a senior programmer for the network services group the University of Pennsylvania's Information Systems and Computing, I was responsible for development and maintenance of software used by the group to manage accounts, email services, and network security for 14,000 students and 10,000 staff and faculty.

My programming projects included maintenance and development of the legacy user-account management application on the main campus email server, development of software to allow out-of-band registration of hosts on a network gateway box, bug fixes and extensions to the RADIUS authentication server, re-implementing the program that set up mailing lists for each of Penn's classes, and modification of the UW IMAP server to support Kerberos authentication via the SASL protocol. I reviewed the Perl, python, C and bash code of other programmers in the group and wrote up my recommendations. I was the lead in getting the group to start regularly using a revision control system and in developing automated regression tests for our software.

Consultant
June 1995-January 2004.

I ran Plover Systems, a consulting company that specialized in developing interactive, network-available applications, especially `CGI scripts'; also systems and security consulting. Plover systems developed the on-line commerce sites for Clinique and Origins, two of the Estée Lauder brands. We have also developed interactive applications for Reel-Time, CyberMedical, the Prudential Insurance Company of America, Medical Broadcasting Company, Schering drugs, and Time-Warner.

I have developed Apache HTTP server plugin modules in Perl and in C for Cassens Transport and QWK, Inc.

I am a contributor to the core of the Perl language, which is itself a 200,000-line C program.

Senior Systems Engineer
Time-Warner. September 1994-April 1995.

I was the chief technical staff person at Pathfinder, Time-Warner's World-Wide Web project and main Internet service. I developed Web applications, planned technical and security infrastructure, administered the UNIX systems, coordinated with thirty content partners, and managed four other programmers and system administrators.

Some of my projects included: Development of content management and validation system; testing and integration of Web authentication and payment system; Web CGI application development; management of DNS; planning, installation, and management of twisted-pair ethernet-based TCP/IP LAN; user support; security and firewall administration, including switch over from use of passwords to Digital Pathways SecureNet Keys for access to our server; coordination and development of a new on-line shopping service.

Systems Programmer
University of Pennsylvania Department of Computer and Information Science. April 1990-September 1994.

As part of 5-9 person team, administered department graduate computing systems, developed software, and supported user base of about 300 graduate students and professors. Supported about 400 applications, including: GNU Emacs, Perl, TeX/LaTeX, GNU C/C++ compiler, NCSA http server, newsreaders, mailers, language interpreters. Managed workstation lab with 17 Sun workstations and two Sun file and compute servers. Assisted management of department computing services, including six Sun file servers, 100 Sun and Hewlett-Packard workstations and X terminals. Rewrote and expanded new user documentation. Assisted in system and application software upgrades and installations.

Developed many applications, including: X window system application to transform obsolete Sun and Hewlett-Packard workstations into slave X terminals; on-line help system based on GNU `info' facility; centralized password-management service; expert system for granting user disk space requests.

Teaching Experience

Lecturer. August 1997-Present.

I have taught Perl-related classes at major conferences, including the O'Reilly Perl Conference, Yet Another Perl Conference, and Usenix, I have also taught classes around the world for Morgan Stanley, the National Center for Biological Information, British Telecom, and other clients.

I have given classes on web-related security topics at the Usenix LISA (Large Installation System Administrator) conferences, the Usenix Symposium on Information Technology Systems, SAPO (Portugal's largest ISP), the Apache Conference, and Wright-Patterson Air Force base.

Instructor.
The Tom Christiansen Perl Consultancy. February, 1998-January, 2001.

Taught three and five-day courses in Perl and CGI programming at DuPont, Bristol-Myers Squibb, Nortel, the Philadelphia Gas Works, IBM, and others.

Instructor
University of Pennsylvania Department of Computer and Information Science. Summer, 1992.

Taught six-week summer session of ``Introduction to Programming in C'' course. Prepared and graded exams and homework, delivered four 90-minute lectures each week.

Writing and Editing

Higher-Order Perl

My book Higher-Order Perl, on techniques of functional programming languages and their application to programming in Perl, was published by Morgan Kaufmann in March 2005.

Managing Editor of www.perl.com.
September 1999-January 2001

Solicited articles for publication and worked with authors to edit submissions for publication. Wrote weekly mailing list summaries, conference reports, and 15 feature articles.

The Perl Journal

From 1997-1999 I was a regular columnist for The Perl Journal. I contributed a total of 14 feature articles. Most of these articles were reprinted in ``Computer Science & Perl Programming: Best of The Perl Journal''. (O'Reilly and Associates, ISBN 0-596-00310-2)

Elsewhere

My articles have also been published in PerlMonth, WIRED, and IEEE software magazine.

Skills

Computer Programming

I am an expert C and Perl programmer. I have strong skills in Fortran, Pascal, and the Unix utility languages awk, sh, csh, yacc, lex, and sed. I am familiar with Python, TCL, Common Lisp, Scheme, Basic, SML, Haskell, APL, Snobol4, System/370 assembly language, REXX, forth, and HyperTalk.

I have written database applications in SQL and other languages for many database systems, including Oracle, Sybase, Ingres, FOCUS, mSQL, and MySQL.

I am familiar with TeX/LaTeX, HTML, and nroff.

Computing Environments

I am an expert Unix and Linux systems and application programmer. I am comfortable in VAX VMS, CP/CMS, MS-DOS, Windows NT, Windows '95, and Macintosh environments.

Mathematics

I have a strong mathematics background. I continue to study advanced mathematics.

Awards

I received the 2001 Larry Wall Award for Practical Utility for my work on 'Rx', a Perl regex debugger.