Craig Rodrigues 731 Harvard Ave. Santa Clara, CA 95051 Email: [email protected] Email: [email protected] URL: http://crodrigues.org URL: http://www.linkedin.com/profile/view?id=10066572 Summary of Qualifications Programming languages: C, C++, Java, Python, Perl, CGI, SQL, HTML, Bourne shell scripting, Microsoft Visual C++ development and MFC. Systems Experience: , FreeBSD, Solaris, AIX, Digital , Windows NT/2000/XP. Databases: Oracle, Informix, Microsoft SQL Server, Mysql, Postgres. Software Configuration Management: RCS, CVS, Clearcase, Subversion, Perforce. Employment History Member of Technical Staff January 2008–Present Juniper Networks (Sunnyvale, CA) Projects: • Juniper EX Switch file system work: As part of the Juniper EX Switch Platform team, helped to integrate the NAND Flash File System for FreeBSD developed by Semihalf http://semihalf.com/ into JUNOS. Work spanned: kernel, userland, startup scripts, and file system unit tests. • Build system improvements: As part of the JUNOS Build team, worked on the software build, packaging and installation of the JUNOS network , which is derived from FreeBSD. Worked with John Birrell to implement jbuild, a modified FreeBSD make utility with hooks into the FreeBSD kernel to optimize the the software build of JUNOS. Presented work at BSDCan conference, Ottawa, Canda, May 2010, http:// www.bsdcan.org/2010/schedule/events/198.en.html

Principle Software Engineer March 2004–December 2007 Avid Technology (Tewksbury, MA) Projects: • IPV SpectreView video server integration: Obtained MPEG-2 video data from the IPV SpectreView video server, and wrote C++ code using the AAF Toolkit in Linux to encapsulate the video data inside MXF metadata files. The MXF files could then be imported into the Avid MediaComposer video editor. • Avid MediaComposer editor: Performed sustaining engineering on the Avid Mediacomposer video editor product in Windows using Visual C++. Focus areas were in import/export of video data using the MXF metadata format and the AAF Toolkit. • Avid video server: Performed sustaining engineering for the Avid AirSpeed product. Avid AirSpeed is a storage device optimized for storing video data, with real-time ingest and playout capabilities. Development was done in C and C++ in FreeBSD, and spanned kernel and userland application work. Achievements: • Developed an On-Screen Display for AirSpeed in FreeBSD and C++. Based on user input from a front-panel with play/ stop/record buttons, the program would pop up an On-Screen Display on the AirSpeed LCD. Menu selections such as Brightness/Contrast, were processed using the "Command" Design Pattern in C++. Input commands from the front- panel were read in user-space from an input serial port, and commands to display the OSD were sent via an output serial port to a Techwell 8800 OSD.

Craig Rodrigues - Résumé - page 1 Software Engineer March 1999–March 2004 Verizon (Cambridge, MA) Projects: • Quality Objects (QuO): Worked on the Quality Objects (QuO) project, a government-funded &D project to develop and integrate Quality of Service techniques into CORBA-based middleware at Verizon's BBN Technologies division. • Network Monitoring on the Web (Nemow): Worked on the Network Monitoring on the Web (Nemow) project, a project to monitor GTE's Global Network Infrastructure (GNI) telecommunications network at Verizon's Verizon Laboratories division. Achievements: • Performed Linux and Windows NT C++ development using the TAO CORBA ORB, and the ACE networking . • Led and coordinated experiment activities for BBN's Unmanned Airborne Vehicle (UAV). Open Experimental Platform (OEP) for the DARPA Program Composition for Embedded Systems (PCES) program. • Performed systems integration of multiple technologies from DARPA subcontractors in industry and academia. • Wrote test plans and schedules for subcontractors to deliver and integrate technologies. • Granted core CVS committer privileges to ACE/TAO CVS repository and committed following fixes: identified and fixed POSIX pthread priority problems in TAO's RT-CORBA on Linux • enhanced ACE QoS API (AQoSA) and TAO Audio/Video Streaming Service • Performed low-level protocol analysis and system troubleshooting of RSVP and Diffserv QoS network protocols in the ACE and TAO libraries using the Ethereal protocol analyzer. Submitted to the Ethereal source tree the the capability to decode Real-time CORBA priorities values in GIOP headers. • Performed C++ TAO/CORBA development for the Joint Tactical Radio System (JTRS) project. Performed team mentoring for development team in C++ and CORBA. • Performed standards work at the Object Management Group (OMG) by attending the Real-time and Embedded Systems Workshops (RTWS), and promoting QuO QoS/middleware technologies at these meetings. Program committee member for RTWS in 2003. • Performed AIX Unix administration to ensure correct levels of compilers and system libraries were installed. • Wrote an Inprise Visibroker CORBA process in C++ and Java to interface with legacy telecommunications systems and deliver real-time network alarms to system. • Real-time alarms were obtained from legacy system over Unix named pipes and sockets. Historical alarms were obtained from Informix database. • Wrote a C++ program using RogueWave libraries to interface with a trouble ticketing system. • Fixed a freeware C++ program Ethereal (a network protocol analyzer) so that it would compile and run under AIX. Needed to become familiar with GTK graphics toolkit, and AIX's Data Link Provider Interface (DLPI) Wrote server programs in C++ and Java to integrate network management systems (Nortel INM and Netcool) with Nemow. Software Consultant May 1998–March 1999 Pencom Systems, (Pencom Webworks division) (Boston, MA) Worked for clients of Pencom Web Works on Web application development. Projects: • Java development of financial applications for a corporate Intranet, Evergreen Investments, Boston, MA Achievements: • Developed process to transfer data from SQL Server and Informix to Lotus Notes, using an all Java process under Windows NT. • Obtained database schemas for data mining purposes using reverse engineering tools such as Sybase PowerDesigner and Intersolv Data Direct Explorer. • Mentored developers writing Java servlets using IBM WebSphere Application Server servlet runner. Web Developer January 1995–November 1996 Cyberplex Interactive Media (Toronto, ON, Canada) Performed C and Perl web/CGI development and Digital Unix systems administration for one of the first Internet startup companies in Toronto.

Craig Rodrigues - Résumé - page 2 Education Masters in Information Technology, November 2003 Harvard University Extension School BA in Applied Science, Chemical Engineering, May 1996 University of Toronto

Copyright © 2012 by Craig Rodrigues.

Craig Rodrigues - Résumé - page 3