Elizabeth (E'beth) Haley
hire-ebeth@fools-errant.com
Overview:
- I am
seeking adelighted with my position in programming in C or Perl on a UNIX platform.
Skills
- Programming/Scripting/Markup:
- C - Originally learned on my own for a student job in 1989 (from K&R), C has been the language of most of my research and professional cycles. I intend to evolve over time into a serious C guru.
- Perl - After years of one-liners in bash scripts and other recreational use, finally I get to devote myself to Perl full-time. If Perl were the only language I'd ever get to write in again, I could live with that.
- Matlab - Much to my surprise, I used as much Matlab as C in my previous position - for rapid prototyping of 3D image-processing software and data analysis.
- bash - Always my shell of choice, command-line plus scads of scripting.
- Java - Initially learned in one week in 1998 with an O'Reilly book, writing an interactive image fourier-transformer for a design class at the MIT Media Lab for which Java was a prerequisite.
- HTML - Oh, sure. Kind of 3.2 era.
- OS: UNIX user (occasionally Macintosh)
- Software/Packages: Emacs (some elisp/extensions), Adobe Photoshop (batch actions), Adobe Illustrator, The GIMP, CVS, OpenGL.
- Electronics (small circuit design, analog through discrete-IC's digital, and some PALs)
Education
- BA, mathematics, University of Cincinnati (1992)
- BS, physics, University of Cincinnati (1992)
- MA, physics, Harvard University (1993)
- Focus on theoretical particle physics
- Further graduate study, physics, Harvard University (1993-2001)
- TA for Electronics Lab for entering physics majors (1997-1999)
- Courses in: electronics at HU, design and mathematical modeling at the MIT Media Lab (1998-1999)
Professional Experience
- athenahealth
Developer
(Dec 2004 - present)
- Perl/SQL
- MGH/MIT/HMS Martinos Center for Biomedical Imaging
Morphometry BIRN (Biomedical Informatics Research Network) project
Research Associate, Software Developer
(June 2002 - Feb 2004)
- Armed only with a file of spherical-harmonics coefficients and a proprietary GE memo full of typos, implemented MRI-scan gradient-field-distortion dewarping in MatLab
- Assisted in updating FreeSurfer, cortical reconstruction analysis and visualization tools (C code)
- Data analysis in Matlab - test-retest reproducibility of MRI volumes, within or across scanners; analyzed the effects of the above tools.
- Fools Errant
CEO, etc.
(1996 - 2002)
- Product crafting, concept through execution
- Web design for site and auctions
- Site maintenance in Emacs and Perl
- Sales and marketing, primarily online
- Product photography
- UC Physics Department
Coder
(1990 - 1992)
- Extended and generalized the Stanford Linear Accelerator Center code for the SLAC Little Detector to accomodate two new sets of detectors (UC's code was all C, adrift in an ocean of Fortran). Two months onsite.
- Environment: VMS, with CMS version control.
Some Software Projects
- Triage
- A wavelets-based multiresolution image collage/montage mosaicker medium-scale-project software suite
- C (jpeglib, OpenGL)
- This résumé
- This résumé has a src directory and a makefile. I want a web copy with some contact information removed, and a printable version with no link underlining. The base document has an Emacs local variable set, a "call-process make" after-save-hook, so that, each time the private file is edited and saved in Emacs, a Perl script builds the other versions.
- Perl (Getopt::Std), Elisp, GNU Make
- Fools Errant online catalog
- Maintained much like this résumé: upon Emacs save, the "in-stock items" page iss built from the marked-up "all items" page. Some items were marked not in stock and not copied over. An html comment contained other substitutions to be made (page title, "buy-now" button return-to URL).
- Perl (Getopt::Std), Elisp, GNU Make
- BP-Invoice
- Billpoint (online credit card service) did not provide click-to-buy links for their client vendors. So I wrote my own. (500 line project.) The customer provides an email address, and a user agent logs on to Billpoint's "Send Invoice" web page with the item and buyer information.
- Perl (CGI, LWP::UserAgent, HTML::Form, HTML::TreeBuilder, HTML::Element, HTTP::Cookies, HTTP::Request)
- Surfer Server
- Free wind reports. Every week, a cron job called a Perl script which called an at job which picked a random delay and had another Perl script create a random feasible email alias (based on a 4-6-letter word from /usr/dict/words) and register a new free trial account, then sleep periodically till it found the password in my inbox - and email me if that took longer than specified. Some CGI sent requests, set cookies, retrieved a page, pared the page down to the table with the useful content, translated relative URLs to fully-qualified ones, and served the page (recognizing and coping with the occasional "configure your new account" page). (couple-thousand line project.)
(Of course, we were good citizens and bought an account later.)- Perl (CGI, LWP::UserAgent, HTML::Form, HTML::TreeBuilder, HTML::Element, HTTP::Cookies, HTTP::Request, Mail::Send, Getopt::Std); dev-to-production build with GNU Make, including documentation automated with Elisp.
- Fools Errant's 2001 Income Taxes
- Winner, Thursday Night Dinner Tax Day Potluck award for the most egregious use of technology in preparing a tax return. Half in Emacs's lisp-interaction-mode (arithmetic and documentation) and half with Perl scripts (sucking table columns out of PayPal html).
- ImgRot
- A little image-processing utility for doing the handful of simple transformations to get digital camera product photos resized and rotated for use on the business website in fewer keystrokes/mousings than it would take in anything already available.
- Java
Other Interests
- Building art from odd or industrial materials (copper pipe furniture, rubber o-ring chainmail, telephone-wire animal masks, bleach painting on black fabric)
- Augmenting bicycles
- Kokikai Aikido (1996 - present)
- Leading the Friday night class at MIT (2001 - present)