SUMMARY OF QUALIFICATIONS
- Programming languages: C, C++, Java, Python,
Perl, CGI, SQL, HTML, Bourne shell scripting, Microsoft Visual C++
development and MFC
- Systems Experience: Linux, FreeBSD, Solaris,
AIX, Digital Unix, Windows NT/2000/XP
- Database: Oracle, Informix, Microsoft SQL
Server, Mysql, Postgresql
- Software Configuration Management: RCS, CVS,
PVCS, Clearcase, Subversion, Perforce
|
WORK EXPERIENCE
|
Member of Technical Staff
Juniper Networks
Sunnyvale, CA
|
January 2008 to
present
|
- Software Engineer,
worked on the Platform Team for the Juniper EX Switch Platform series
- Created 32-bit and
64-bit x86-based bootable disk images of the EX software that ran in
Virtual Machines. Tested
with QEMU, VirtualBox, and VMWare.
Images had the full JUNOS Command Line Interface (CLI) and were
used for testing, and for CLI training.
- Led software efforts
to have EX platform meet requirements for FIPS-140 Level 1 security
standard
- Helped 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 engineer on for
the JUNOS network operating system, 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
|
|
Principal Software Engineer
Avid Technology
Tewksbury, MA
|
March 2004 to
December 2007
|
- 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.
- 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.
- Worked on the Avid AirSpeed video server product.
- 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.
- Rewrote the installation
process for AirSpeed. Converted installer from extracting a
simple tar, to a scripted installer which installed system components
which were FreeBSD packages created with pkg_create.
|
|
Teaching assistant
Harvard
University Extension School
Cambridge, MA
|
Spring 2006
|
|
Performed teaching assistant duties for CSCI-E215 Unix
Systems Programming course.
- Answered technical
questions via e-mail and in-person.
- Corrected assignments
written in C under Digital Unix and Linux. Marked code based on style
issues and correctness, but also looked at robustness, resilience to
errors and failures, and memory management.
|
|
Software Engineer
Verizon
Cambridge, MA
|
March 1999 to March
2004
|
|
Worked on the Quality
Objects (QuO) project, a government-funded
R&D project to develop and integrate Quality of Service techniques into
CORBA-based middleware at Verizon's BBN Technologies division.
- Performed Linux and
Windows NT C++ development using the TAO CORBA ORB, and
the ACE
networking library.
- 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
- 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.
|
|
|
|
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.
- 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
Pencom
Systems, (Pencom WebWorks
division)
Boston, MA
|
May 1998 to March
1999
|
|
Worked for clients of Pencom Web
Works on advanced Internet and Web application development.
- Java development of
financial applications for a corporate Intranet, Evergreen
Investments, Boston, MA
- 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.
|
|
Software Engineer
Thomson &
Thomson
North Quincy, MA
|
November 1996 to May
1998
|
|
Performed C, Java, and Perl web development under Solaris
for Thomson & Thomson's first Web e-commerce service, SAEGIS.
- Developed web-based
search interfaces for Thomson's trademark and copyright databases in C,
Java, and Perl under Solaris.
- Wrote Netscape API
(NSAPI) code to do custom user authentication from the Netscape
Enterprise server and the Netscape Publishing System.
|
|
Web Developer
CyberPlex
Interactive Media
Toronto, ON, Canada
|
January 1995 to
November 1996
|
|
Performed C and Perl web/CGI development and Digital Unix
systems administration for one of the first Internet startup companies in
Toronto.
|
EDUCATION
Degrees
- Masters in Information Technology, Harvard
University Extension School. Completed, November 2003, GPA: 3.43
- Masters thesis, SONET and
Network Management. Assembled a small ATM network, and developed
C++ CORBA Agents under FreeBSD to propagate SONET alarms and
performance information to a network management application.
- Courses taken included Computer Networks, Java
for Distributed Programming, Developing Windows Applications with
Visual C++, Advanced Topics in Data Networking, Unix Systems
Programming, Theory of Computation, Design Patterns in C++ and Java,
Database Design
- Bachelor of Applied Science, Chemical
Engineering, University of Toronto, May 1996
Courses
|
- Third
Eye Consulting Services, Santa Clara, CA, Apache
Hadoop - Developer’s Track, August 2012
- Object
Computing Inc., St. Louis, MO, August 2001, Advanced CORBA Programming
with TAO
- Object
Computing Inc., St. Louis, MO, March 6-9, 2001, Using the ADAPTIVE
Communication Environment (ACE) in C++
- UCLA
Extension, "Using Design Patterns, Frameworks, and CORBA to Develop
OO Communication Systems", taught by Prof. Doug Schmidt, March 15-19,
1999
- Sun
Educational Services SL-300: Java Programming Workshop, New York City,
August 4-8, 1997
PUBLICATIONS AND PRESENTATIONS
OPEN SOURCE CONTRIBUTIONS
BIG DATA INTERESTS
I
am currently interested in research and learning about Big Data, and pursuing
any opportunities in this space. I
strongly believe that Big Data combines technology such as storage, networking,
distributed systems, and algorithms in a unique way which can make businesses
more competitive and increase business efficiencies.
My
research into Big Data has so far involved the following, primarily on the DevOps and administration side of Hadoop:
1.
Attended this Hadoop training
course: Third Eye Consulting Services, Santa
Clara, CA, Apache
Hadoop - Developer’s Track, August 2012
2.
Set up a 5 machine Hadoop
Cluster in the Rackspace
OpenCloud
3.
Wrote this document for how to set up a Hadoop cluster using Cloudera’s
distribution: http://crodrigues.org/hadoop/hadoop_setup.html
4.
Did basic MapReduce queries
in this environment.