James F. Ursetto

< SKILLS >

< EXPERIENCE >

1/2009 - 5/2009
Ursetto Consulting, Inc.
Chicago, Illinois

Designed a streamlined SQL API and a database schema for Apache log analysis, along with a log data loading tool. Created HFS+ compliant backup solution from OS X client to Linux server.

9/2008 - 12/2008
Chicago Mercantile Exchange
Chicago, Illinois

Enhanced and extensively modified Perl CGI web application. Added progressive Javascript and AJAX with jQuery, improving interface and reducing CPU and network bandwidth. Implemented local database caching and DR failover to ensure high availability. Wrote a Java program which interfaces with UC4 job scheduler to automatically create UC4 folder objects. Wrote installer which deploys application to production, QA, DR and development systems with per-environment configuration. Supported application.

6/2008 - 8/2008
Ursetto Consulting, Inc.
Chicago, Illinois

Enhanced a forms-based, server-side web application with progressive AJAX.

4/2008 - 5/2008
Chicago Mercantile Exchange
Chicago, Illinois

Built a Perl CGI web app which moves UC4 scheduler jobs between environments. It accepts change request information and multiple XML file uploads, performs XML transforms using standard modules, and emails the results. Users receive feedback on progress and errors, and are asked to confirm selected changes. Application interfaces with Oracle and LDAP.

7/2007 - 3/2008
Ursetto Consulting, Inc.
Chicago, Illinois

Ported 32-bit HP-UX business app to Linux and Mac OS X and added 64-bit support. Migrated authorization from UNIX/NIS to PAM, enabling use with LDAP. Used Valgrind to fix buffer overflows and memory leaks. Developed content management system for web-based collaborative editing.

6/2006 - 6/2007
Acxiom Corporation
Chicago, Illinois
Development
  • Rearchitected 10-year-old C and Perl-based login and load balancing app to allow multiple user sessions. Replaced adhoc databases with one SQL database.
Architecture
  • Conducted architecture review and audit of UNIX software and hardware in Internet and batch environments, producing reports for management. Audit included boot disks, firmware and drivers, system patches and applications, NFS, NIS and NTP.
  • Corrected systemic NTP sync issues by rearchitecting NTP environment.
Optimization
  • Reduced shell script runtime from 50 hours to 25 seconds.
Web
  • Upgraded Apache and custom modules from 1.3.9 on 10.20 to 1.3.37 on 11i. Legacy mod_perl install (Perl 5.5, 10.20) had to be retained and numerous Oracle issues resolved.
  • Traced webserver lockups to CGI database lock issue.
Documentation
  • Introduced wiki as centralized documentation repository.
  • Diagrammed an undocumented batch workflow with Graphviz.
Administrative
  • Wrote Perl framework to audit Linux systems and publish results to intranet.
  • Built and standardized Perl 5.8 environment and site modules.
  • Solved ext3fs corruption caused by EMC Powerpath on Linux.
  • Implemented QLogic HBA failover and networked install of Red Hat Enterprise Linux AS4.
  • Researched Red Hat Satellite Server and implemented custom channels and profiles.
5/2006 - 5/2006
Information Resources, Inc.
Chicago, Illinois

Migrated an undocumented in-house web application from Java 1.1 on HP-UX 10.20 to Java 1.4 on 11i.

11/2005 - 5/2006
Ursetto Consulting, Inc.
Chicago, Illinois

Developed an interface from Scheme to Objective C on Mac OS X. Created documentation tool for code and articles which transforms Scheme XML to HTML. Wrote tutorials and documentation (http://ursetto.com/docs).

8/2005 - 10/2005
Acxiom Corporation
Chicago, Illinois

Eliminated crashes and plugged resource leaks in legacy C app, a UNIX-to-mainframe job dispatcher. Repaired and standardized RPM environment on Red Hat Enterprise Linux servers. Rebuilt and packaged local Perl modules for upgrade to 5.6. Solved recurring production Java exception. Alleviated link saturation during backups.

7/2004 - 7/2005
Chicago, Illinois
Optimization
  • Improved Perl CGI script response time from 60 seconds to 1 second.
  • Lowered shell script runtime from 60 minutes to 5-10 minutes, alleviating client timeouts.
  • Saved 60% disk space and 50% time in C++ application with algorithm and compilation changes.
  • Tripled speed of ksh/C++ batch application, saving three weeks of processing.
Performance
  • Wrote software to collect and graph gigabytes of performance data.
  • Analyzed large NFS environment and identified bottleneck causing recurrent client timeouts. Recommended NFS filesystem reorganization and parallel servers, fixing the problem.
  • In-depth analysis of several systems, including Oracle database servers.
System
  • Mitigated outage risk after an NFS server crash, by injecting new HP-UX 11i code into closed-source 10.20 binary. Required knowledge of UNIX application internals.
  • Wrote tools to map NFS locks to filenames and processes, utilizing UNIX kernel knowledge; fixed lock table overflow.
  • Diagnosed out-of-memory condition in client application; enabled 2 extra quadrants to fix.
Networking
  • Feasibility study and benchmarking of jumbo Gigabit Ethernet frames.
  • Redesigned network architecture to improve system's backups from 36 hours to 9 hours.
Web
  • Tracked down internal server errors in Tomcat application to outdated Java and Jakarta installations, then upgraded both.
Architecture
  • Performed feasibility study on systemic changes required to convert batch jobs to a just-in-time architecture.
10/2003 - 2/2004
Chicago, Illinois

Identified a severe disk bottleneck in a C application; rewrote the algorithm and instituted kernel parameter changes to achieve a 300% speed improvement. Analyzed performance of applications running on HP-UX 11i, using PerfView, glance, sar, tusc and tcpdump to examine system and NFS behavior. Supported Platform JobScheduler and LSF on UNIX.

12/2002 - 9/2003
Ursetto Consulting, Inc.
Chicago, Illinois

Authored GUI applications in Perl and Python with C extensions, using wxWindows and GTK. Wrote C, C++ and assembly code for Hitachi SH-4 platform.

6/2002 - 11/2002
Chicago, Illinois

Client was managing their NIS environment with a large collection of shell, Perl and C code built up over several years. Replaced with a thoroughly documented, modular Perl solution using industry standard components. Eliminated security holes and file corruption; added detailed logging capability. Transition to new system was seamless.

Rearchitected Perl-based server application that was tied to NIS master, by splitting NIS functionality into a separate program. Reimplemented Visual Basic client from scratch to reflect changed server, overhauling the interface and network protocol. Designed the system for gradual cutover and documented it carefully.

3/2000 - 1/2002
Rosemont, Illinois

Supported large HP environment including D, K, N, and V class servers. Implemented critical MC/ServiceGuard cluster and highly customized scripts. Audited and tested existing clusters. Upgraded production server from 10.20 to 11.00 in minimal time, via cold install and data restore; documented procedure for team. Assessed impact of security vulnerabilities. Deployed SSH widely for secure administration and auditing; diagrammed SSH infrastructure.

1/1999 - 2/2000
Elk Grove Village, Illinois

Worked with a team of architects and administrators to design and manage one of the largest HP-UX environments in the Chicago area. Technical support contact for Operations Control Center, comprising 8 J-class servers and 100+ workstations.

Technical implementation of Business Resumption Project, comprising 6 K-class servers, 85 B180 workstations and 200+ users. Worked with developers to port and test applications. Physical setup and OS configuration; CDE interface design; NFS/NIS implementation; and documentation. Site was activated successfully for one month during August 1999 fire. Upgraded site as requirements grew. Received award for outstanding performance.

< EDUCATION >

B.S., Mathematics and Computer Science; minor, East Asian Languages and Cultures; University of Illinois at Urbana-Champaign, January 1999. GPA: 3.86/4.0.