Skills
Operating Systems
Windows (95/98/NT/2000/XP), MS-DOS, Unix (Solaris, IRIX, HP-UX, Linux, BSD), Mac OS X
Applications
Microsoft Office, Outlook/Exchange, Kerberos, AFS, NFS, SSH, dump/restore, tar, ant, Tomcat, Apache, Websphere, Sybase ASE, DB2, PostgreSQL, mySQL,
Windows Installer (MSI)/WiX, CVS, Eclipse, Visual Studio 2003/2005, Confluence, JIRA, Maven, CAS, Sakai, uPortal, VMWare, Xen virtualization, Drupal
Programming APIs
Java J2SE, J2EE, J2ME, Servlets, JSP, JDBC, JavaMail, .NET Framework, Windows Forms, Web Forms, (N)Hibernate, JUnit, Qualcomm BREW,
Spring, Tapestry, JSF, log4j, AJAX, YUI, Drupal module API, iOS, Ruby on Rails
Major Projects
Course Enrollment Manager
Arizona State University/IDEAL
Course Enrollment Manager is an application originally developed for ASU which synchronizes enrollment data between the student information system and online learning
systems such as Blackboard, Sakai and iTunesU. This application was abstracted to remove ASU-specific code and used to provision courses
for K-12 institutions under the IDEAL project.
alt^I Developer VM Environment
Arizona State University
Set up a system which provides on-the-fly deployment of virtual machines for developers to
prototype new applications. This environment was based on the Xen virtualization system
and is able to provision a new, fully functional Linux environment in less than five minutes.
The system also supports Windows-based virtual machines on the same physical system.
Electronic Messaging Menu Application (EMMA)
Arizona State University
Deployed large-scale electronic messaging portal for a user base of about 70,000. Key features include a J2EE authentication framework in
Java using servlets and a PHP-based web mail client based on the free IMP product. Modified the IMAP client used by PHP to support Kerberos
for single sign-on.
uPortal development/deployment (myASU)
Arizona State University
Deployed an instance of the uPortal product (http://www.ja-sig.org), a J2EE portal designed for higher education. This work included
writing an authentication module to support ASU's single sign-on environment, as well as configuring connections to databases, LDAP, etc.
This also included writing various channels for the portal in Java, as well as making custom modifications to the portal itself.
Trimble Outdoors
Trimble Navigation
Designed and built a J2ME-based application to run on various mobile devices which allows users to navigate using GPS on a pre-defined trail.
The application is targeted towards the outdoor enthusiast and available from various wireless carriers.
Trimble Outdoors BREW port
Trimble Navigation
Ported the Trimble Outdoors J2ME-based mobile application to Qualcomm BREW environment for use on a wider range of mobile devices.
GuideWorx GPS
Trimble Navigation
Worked with a software partner to add turn-by-turn driving directions to Java-enabled handsets supported by the Trimble Outdoors product.
ASMTP Spam Filter
Arizona State University
Deployed the ASMTP spam filtering product by ESCOM (http://www.escom.com). Developed a custom J2EE web interface for users to manage
their filtered mail and configure their spam filter settings.
Faculty/Staff Department Directory
Arizona State University
Designed a searchable hierarchical directory for ASU Faculty and Staff. Various staff members administer the directory across the
University via a web interface. It is searchable via a web site and is used to generate the annual printed student/faculty/staff
directory. Work included developing a database schema on Sybase, a Java object model to manipulate the database and manage
authorization, several front end servlets for administration and searching, as well as a Java application to extract data for publishing.
Open Source Contributions
uPortal - Person Attributes Group Store
Worked with staff from Columbia University to implement an attribute-based group system for uPortal, allowing roles to be
assigned based on information from a central university directory system.
uPortal - Database Upgrade System
Designed and developed a system for performing automatic upgrades of a live uPortal database in preparation for deployment
of the latest release of the software.
ASU/IDEAL - Course Enrollment Manager
Released ASU's Course Enrollment Manager as an abstracted service which can be integrated with any student information system
and any set of online learning services. Course Enrollment Manager provides a way to automatically provision accounts within
online learning services based on student information system data.
Presentations
ASU Web Integration Team - Brown Bag - July 2008
Introduction to Maven 2
Desert Code Camp - May 2006
Location Based Services in J2ME
Phoenix Java Users Group - March 2006
Location Based Services in J2ME
JA-SIG - Summer 2004
Best Practices for Channel Development (uPortal)
Society of Medical-Dental Management Consultants - June 1997
Introduction to the Internet
Foreign languages
Basic Spanish skills