Resume: Anthony J. Foiani Contact
USPS:
**** ******** ** ** / ***********, NM 87121-8456
Phone: 505-***-****
E-Mail: ****@*****.*******
@scrye.com>
Objective
I solve problems.
Ideally, I'd help the visionaries and business people properly define the problem. Next, I'd collaborate with business and architectural colleagues to scope and bound the problem. Finally, I would help implement a solution to the current problem one that would scale to solve the given problem as well as provide headroom to handle the next challenge.
Experiencehttp://foiani.com/Foiani LLC
Albuquerque, New Mexico; July 2009 present
http://www.iaea.org/IAEA Universal Non-Destructive Assay Processor: Architect / Implementor
Adapted Linux and supporting libraries to custom embedded processors
Designed and built custom software for realtime data acquisition
Provided high security data transfer and device configuration
Wrote and generated in-depth API / extension documentation
Gave guidance to a team that was otherwise new to Linux and many other current technologies (XML, HTTP, TLS, NTP, etc)
http://www.yahoo.com/Yahoo! Inc.
San Diego, California; October 2004 July 2009
Worldwide Data Distribution System: Architect / Implementor
Adapted existing system for serving data to hundreds of thousands of nodes around the world
Documented a substantial corpus of existing code
Created system for publishing that documentation to company standards
Mobile Entertainment Provisioning: Architect / Implementor
Put http://music.yahoo.com/Yahoo! Music onto mobile phones:
Multi-tier architecture (J2EE, Tomcat, AXIS, AJP)
Multi-client presentation (WAP, XHTML, JSP)
Dealt with non-traditional (Mobile vs. PC) browser factors: memory, display, latency, bandwidth
Used custom packaging / deployment technology (similar to RPMs); became site expert on technology (out of 70-100 engineers)
Pushed technology envelope within a large company
Early Linux (RHEL4) adopter
Early J2EE (Apache/Tomcat/AXIS) adopter
Backoffice Data Reorganization: Manager / Architect / Implementor
Re-organized some 60TiB of business-critical live data
Coordinated 10 people doing various aspects of necessary work
Wrote before/after comparison scripts to validate the operation
Designed and wrote helper utilities to make the motion transparent to client processes
Miscellaneous Knowledge Sharing
Shared my in-depth knowledge of Perl and Unix on company mailing lists
Used my experience with computer graphics to facilitate a &ldquot;add your own map mashup on the Y! Maps site
Provided an otherwise-unconnected coworker with code to perform graph searches (his SLA was 200ms; my solution performed the search in less than 110ms). This was against a 200k node / 500k edge directed graph
Made contributions to open-source packages (e.g., Log::Log4perl version 1.19
)
MusicMatch.com
San Diego, California; November 2001 acquired by Yahoo! in October 2004
Digital Audio Processing Engineer
Inherited and extended a distributed audio processing system:
Heterogeneous: Unix command/control, Windows worker model
Wrote DSP core in C++
Handled multiple standards (MP3, AAC, WMA; DRM / no-DRM; tagging)
Managed some 60+ terabytes of audio data and associated metadata
Helped build metadata engine for popular and classical audio tracks
Helped evaluate various encoding / processing schemes
Database Application Programmer
Oracle (versions 8, 9, 10)
DDL, DML, bulk loading
mod_perl administrative interface (including DHTML features
)
Streaming Digital Audio Engineer
Generated weekly metadata builds providing streaming audio to 30M desktops
Optimized legacy system to accomodate 100x original design capability
Helped scale related subsystems
Extended and optimized browser-based administration tools
Miscellaneous Knowledge Sharing
Existing systems, due to experience with local installs
Unix / shell / Perl questions, due to in-depth knowledge
Database optimization requests, due to combination of domain and SQL expertise
http://www.hp.comHP (via http://www.volt.com/staffing/tempstaffing.cfmVolt Technical Services
)
Fort Collins, Colorado; October 1999-August 2001
Web Services: Programmer
Created a set of DHTML widgets (both client- and server-side)
Added Excel export capability
Improved accessibility and usability through proper HTML/CSS usage and competent graphic design
Optimized SQL queries
Requirements Analysis: User Liaison, Programmer
Reduced time analysts spent doing "monkey work"
Observed for a few days
Reduced multiple many-hour tasks to VBA macros (
Rocky Mountain Automated Systems
Denver, Colorado; September 1998-September 1999Programming
Wrote web-based GIS / Map Render (written as ISAPI DLL)
Created web services (Apache, Win32)
Worked with embedded systems (GPS)
Provided language support to other programmers (C++, STL, Java)
Systems Administration
Secured the office network (VPN, NAT, DMZ)
Implemented many network services (DHCP, DNS, Mail)
Installed and upgraded servers and development boxes (Linux, Win32)
qwest.comUS West (via http://www.modis.com/Modis)
Denver and Boulder, Colorado; February 1997 - July 1998Legacy Systems
: Interface Programmer
Wrote Perl scripts for interfacing with legacy mainframe applications. This supported database integrity and inventory/use verification efforts.
Developed two distinct libraries for abstracting the interaction with the legacy applications.
Worked with domain experts to automate portions of the database cleanup effort.
Participated in requirements discovery and initial design efforts on other automation / error reduction projects.
Document Analyzer: Architect, Programmer
Did significant design and implementation work on a C++ program which manipulates PDF files. Its abilities include:
Recovering document structure information (headers / footers, section headings, etc) from files in http://www.adobe.com/prodindex/acrobat/main.htmlAdobe Acrobat (PDF) format. This uses a large set of built-in heuristics as well as hints provided in a run-time configuration file.
Generating human- and machine-readable output of the reconstructed table of contents. Generate similar output for documents which have pre-existing bookmark entries.
Inserting generated table of contents back into the PDF file and save in an optimized format suitable for network byteserving.
Highlights of my work on this project included:
Improving code: replaced hand-written, ad-hoc routines with standard solutions; improved modularity and code re-use; streamlined internals and increased self-documention of the code.
Verifying improvements: implemented an extensive test suite to verify all changes made to the source.
Interacting with the environment: used a proprietary toolkit for PDF file parsing; inferred requirements from calling scripts.
Increasing code usability by adding: new features; extensive run-time-selectable debugging; and thorough documentation of the external interface.
Using a large, custom-built revision control system based on RCS and extensive Perl scripts.
Miscellaneous
Supported co-workers by supplying expertise with Perl, C, C++, and Emacs (and XEmacs).
Centera Information Systems, Inc
.
Boulder, Colorado; August 1995 - October 1996
Application Analysis: Refactoring
Performed an extensive redesign of an object-oriented data visualization package which included:
Windows multiple document interface (MDI) shell, implemented in Borland's ObjectWindows framework;
Command line interface (using a custom interpreted language);
Multiple interactive graphics windows; and
Graphics, mathematics, statistics, and utility functions.
This redesign included:
Factoring existing code into four distinct functional areas;
Eliminating duplicate code;
Enforcing consistent conventions across 60k lines of preexisting code;
Documentating preexisting code; and
Planning extensions for refinements after initial release.
Graphics Programming
Designed, implemented, and integrated an extensible 3D graphics pipeline into an existing application. This object-oriented pipeline has the following abilities:
Extremely flexible modeling, including generalized mathematic and cartographic transforms;
Encapsulation of input and output primitives in C++ objects;
Flexible rendering, from wireframe to Phong shading;
Support for both bitmap and vector objects; and
Datapoint and location picking.
Miscellaneous
Performed assorted system administration tasks on Unix (Linux, SunOS), Windows 3.11, Windows NT 3.5, VMS, and the digital PBX.
Provided technical support on hardware systems for clients.
Contract ProgrammingAdvanced LaTeX Typesetting
Various Locations; 2008
-present
Worked purely over the internet
Typeset advanced mathematical formula
Modified existing formats to meet various specifications
Agents4All.com
Ventura, California; 1999
Worked purely over the internet
Wrote web spider with multiple-DB back-end; Perl, C++, SQL (Oracle and MySQL)
http://www.tummy.com/Tummy.com
Fort Collins, Colorado; 1998-2000
Provided expert assistance in Perl, C++, and mathematics
Previous Jobs
As with many sections on this resume, some of the older entries have been transferred to the cv.html#experiencehistorical file.
PublicationsThe Perl Journal
http://www.foo.be/docs/tpj/issues/vol4_3/tpj0403-0013.htmlA Web Spider in One Line, Fall 1999 (republished in http://www.oreilly.com/catalog/tpj2/The Best of The Perl Journal, Volume 2: Web, Graphics, & Perl/Tk Programming)
SkillsComputer Languages
Expert:
Java, Perl, C++ (and Boost), ANSI and K&R C, Oracle SQL, Emacs-Lisp, Shell Scripts, Makefiles, Regular Expressions
Skilled:
Python, Tcl, awk, sed, HTML, expect-style Scripts, VBA
Operating Systems and Platforms
Microsoft Windows (since 3.1): power user, some programming
Linux (since 1995): extensive programming, both x86 and various embedded processors
Various other *nix systems: Solaris, SunOS, HP/UX, AIX
Mac OS X (since 2001): power user, unix-mode programming
X11 (since 1990 or earlier): power user
Various older mainframe, micro, and embedded systems
Data Representation and Interchange
Expert:
XML, HTML, CSV, PKI, various binary encodings
Skilled:
JSON, Character Encodings, Compression Algorithms, Archive Formats
Some Experience:
Protocol Buffers
Source Code/Configuration Management
Expert:
SVN, CVS
Skilled:
git, Mercurial (hg)
Networking Protocols
IP, TCP, UDP, BSD Sockets API
HTTP, TLS, SSH, Telnet, FTP
NTP, TFTP, SNMP, SMTP
Related Skills
Seminar planning and presentation
Graphic layout and design (desktop publishing, document processing, typography, print preprocess)
Broad knowledge of common networking hardware and software
Employee scheduling
Typing: 80+ wpm
Competency in German
Ancient Skills
In addition to these skills, I've had the opportunity to work with and play with many different systems, languages, and types of hardware over the years. I've filed these as cv.html#skillsarchaeological skills; they probably won't be applicable to most modern installations, but they continue to show my flexibility and adaptability. (Not to mention that fellow dinosaurs will hopefully get a chuckle out of the list
EducationBachelor of Science Bachelor of Science
in Computer Science and Math, with a minor in German.
New Mexico State University
Las Cruces, New Mexico
Date of graduation: May 1995
GPA: 3.00
out of 4.00
Honors
Best Technical Responder, Communications Group, AIX Technical Support, Fall 1992.
Eagle Scout, Boy Scout Troop 176; Active in Boy Scouts, 1978-Present.
Activities
Occasional Participant, http://www.rosat.mpe-garching.mpg.de/mailing-lists/perl-porters/Perl5 Porter's List, Summer 1997-2001.
Occasional Participant, EFNet IRC #perl channel, Spring 1997-2001.
Assistant Scoutmaster, Boy Scout Troop 176, Yucca Council, Spring 1990-Spring 1995.
Production Assistant, NMSU's http://crl.nmsu.edu/users/madavis/ANG/ANG.htmlArs Nova Guild experimental art troupe. Fall 1988-Spring 1995.
Volunteer DJ, http://www.nmsu.edu/Campus_Life/KRUX/public_html/index.htmlKRUX-91.5 FM, Spring 1993-Spring 1995.
Volunteer DJ Trainer, KRUX-91.5 FM, Spring 1994.
Computer Consultant (and Roadie) to http://ulcermusic.com/ULCER, Summer 1993-Summer 1995.
Various cv.html#activitiesactivities from my distant past.
Interests
I have a fairly extensive list of interests in a interests.htmlseparate document. The main sections are:
interests.html#computersComputers
interests.html#bicyclingBikes
interests.html#readingBooks
interests.html#musicMusic
interests.html#communityCommunity Service
References References are available upon request.
Back to my http://www.scrye.com/~tkil/home page.
Document Version: 5.0
hhmts start Last modified: Tue Dec 9 22:33:05 MST 2008 hhmts end