|
Chris Rossi
Curriculum Vitae
(919) 858-6150 |
|
Programming Languages
|
Professional experience in Python, Java, C, C++, Perl, Fortran, PL/SQL, HTML, Bourne and C shell and variants, Labview. Educational experience in Pascal, Assembler (MIPS). |
|
Operating Systems
|
A proficient administrator of Unix/Posix and variants (Linux, OSX, Solaris, etc...) Extensive experience with VMS, Microsoft Windows, Mac OS. |
|
Programming Applications
|
Zope, Plone, CMS, WWW, WSGI, SWIG, Clinical Data, Electronic Data Collection, Servlet, Middleware, XML, XSLT, SAX, DOM, Natural Language Processing, Java Swing, Corba/IDL, RMI, TCP/IP, CGI, Network Server Administration, Engineering/Simulation, X-windows, IEEE 388/GP-IB (Hardware Control), Data Analysis, Systems Administration. |
|
Portfolio
|
CyTunes.org
CyTunes is schedule to launch in December, 2008. CyTunes is a pro bono project I created to help raise money for a friend, Cy Rawls, who was diagnosed with brain cancer and did not have health insurance. The site allows music fans to purchase and download music online, with the proceeds now benefiting the Tisch Brain Tumor Center at Duke University. The site features extensive tools allowing musicians to submit their own music for sale on CyTunes. Musicians are able to upload music and artwork, and create a page for their band on CyTunes, as well as sign the necessary contracts online. The site also has tools for volunteers to listen to submissions, copy edit band pages and approve submissions for sale on the site. In a very short amount of time I had gone from having the idea to having organized a team of volunteers to work on the site and do all of the work necessary to get such a project off the ground. Volunteers concerned themselves primarily with organizational challenges, while I was solely responsible for the programming. I collaborated with some very talented graphics designers to create the visual look of the site. One of the design considerations for CyTunes was that it should consume as few resources as possible so as to not require expensive hosting--ensuring the money raised is used for CyTunes' core mission. With this in mind, the application itself is very lean, using no large web application framework. It is a pure Python application which uses the WSGI interface, a version of Zope Page Templates for page rendering, and a MySQL database for back end storage. (Music and artwork are stored directly on the filesystem.) |
|
Java Object Oriented Persistence (Joop)
Joop arose out of an interest I had in object oriented databases and the observation that often an RDBMS, along with an expensive object to relational mapping, is employed when simple persistence is all that is needed. While still in the proof of concept phase, Joop proposes a lightweight but flexible object oriented persistence framework that eliminates the impedance mismatch between object oriented code and complex relational databases while providing application developers with a simple, performant means to maintain large object graphs in the filesystem in arbitrary, nested data structures. |
|
|
Java Page Templates
When I was first exposed to Zope I was immediately impressed by their templating technology, Zope Page Templates, and its superiority to XML/XSLT which I was using at the time. I still had plenty of clients who required Java web applications, and I couldn't find any satisfactory implementation of ZPT in Java. So naturally, I had to do it myself. This software is released as open source under the LGPL. |
|
|
WXDU Ogg Archive
WXDU is the Duke University college radio station where I am a volunteer DJ. The WXDU Ogg Archive is software I wrote in Python that records our Ogg/Vorbis stream and allows Tivo-like recall of audio from our webcast. DJs can use a web form to download an Ogg/Vorbis audio file starting and ending at any point during the archive. Due to legal restrictions the archive is available only to WXDU personnel. The software used to create the archive, however, has been released as open source under the GPL. |
|
|
Duke Institute for Genome Sciences & Policy
This website uses the Zope/Plone CMS with extensive customization. Customizations include: 27 new content types (using Archetypes), a custom Field/Widget type for managing arbitrary references among content (the Archetypes Reference Field/Widget didn't do what I wanted) used to relate content via "Ask Bigger" links and to feature any content on any page, implementation of the "Duke It Out" debate forums and polls, several rotating features, an events calendar, a searchable glossary, and background image rotator. |
|
|
UNC Human Resources
Client required a CMS (Content Management System) written in Java. At the time there was no open source Java CMS comparable to Zope/Plone, so we ended up writing a custom CMS from scratch in Java. Features of the CMS include: custom content types, including compound documents, differentiated levels of users and workflow, arbitrary relationships among content, internal links allowing multiple paths to the same content and an advanced page cache to boost performance of this highly trafficked site. |
|
|
Nortel Ad Generator
This is a Java web application that allows Nortel employees to enter advertising copy via a form on the web and instantly generates a .gif image that renders the advertising copy in the template of their current print advertising campaign. When an employee is satisfied with his/her ad, it can be submitted and subsequently viewed by an administrator. This is used by the marketing department at Nortel to solicit ideas for their advertising campaign from any Nortel employee. |
|
|
Experience
June 2008 - Present
|
The Archimedean Company
Durham, NC
CEO, Freelance Software Developer
As a freelance software developer, I provide custom software, specializing in, but not limited to, dynamic web, Python and Content Management Systems. I collaborate with talented freelance graphic designers to create web sites and web applications that are beautiful, functional, powerful and easy to use. |
|
June 2005 - June 2008
|
Rho, Inc.
Chapel Hill, NC
Software Engineer
Lead developer for RhoEDC, Rho's electronic data collection offering. RhoEDC allows clinicians and other field professionals to enter secure, confidential clinical data remotely and accurately while allowing Rho's data managers to run automated edit checks, issue and track queries, and manage data integrity. Features include electronic signatures, arbitrary study structure, data locking and exports to SAS datasets. Also designed and implemented a company wide secure authentication module for use on all of Rho's web applications. |
|
June 2000 - June 2005
|
webslingerZ
Chapel Hill, NC
Software Engineer
Designed, built and maintained numerous custom web applications and dynamic websites using a wide variety of technologies. Also the lead developer for smartASK (http://smartASK.biz/), an enterprise application for on-line web surveys for use in customer relations management. |
| July 1998 - June 2000 |
IBM (contracted by Ciber)
Research Triangle Park, NC
Software Engineer
Member of the Natural Language Processing (NLP) team. Responsible for porting (rewriting) portions of NLP product, Poe 2.6, from C to Java. Poe performs complex text analysis functions, including spell checking, tokenization, complex token analysis, and morphology/inflection for over 30 different languages. After completing the Java version, remained on the development team for the C version, performing enhancements and debugging. Added support for Unicode. |
| June 1997 - July 1998 |
IBM (contracted by Ciber)
Research Triangle Park, NC
System Administrator
Maintained an AFS cell over a wide area network. The cell consisted of IBM risc6000 computers running IBM AIX in Raleigh and Boca Raton and provided engineering tools used in design and simulation of printed circuit boards and micro chips. Provided support to engineers. Played key role in beginning to migrate tools from AIX to Windows NT. |
| August 95 - August 96 |
Vanderbilt University Computer Center
Nashville, TN
Applications Development
Designed and wrote cgi based web applications for assorted unix platforms using C and Perl. Designed and implemented a system based around the solaris DHCP server for assignment of IP addresses on campus residential network, including several utilities written in C. |
| Summer & Winter Breaks 93 & 94 |
Electromagnetic Sciences, Inc.
Norcross, GA
Student Intern
Wrote extensive code in VMS Fortran used in analysis and design of microwave circulators. Worked with HP-UX (UNIX) and MDS (Microwave Design System). Wrote additional modules in C to be compiled into MDS. Wrote software, using GP-IB interface, for automatic control of test hardware for use in manufacturing. Also modified existing code for control of test hardware. Performed miscellaneous data analysis tasks. Performed miscellaneous troubleshooting/systems administration tasks. |
|
Education
|
Vanderbilt University
Nashville, TN Bachelor of Science, Physics, Magna Cum Laude, May 1997
3.6/4.0 (overall), 3.7 (major)
|