Benjamin Collins

9482 Davis Creek Rd.
Ware Neck, VA 23178

Mobile Phone: 804-815-7987
Fax: 757-273-0923
Email: bcollins@phunnypharm.org
URL: http://www.phunnypharm.org/~bcollins/resume/

Professional Objective

To work in the field of Linux kernel development, specifically device drivers.

Employment History

Kernel Team Lead
Canonical (Ware Neck, Virginia)
August 2005-Present

Lead an engineering team to handle development, testing and deployment of the Linux kernel for Canonical's Ubuntu Linux distrobution.

Founder/CEO
SwissDisk, Inc. (Gloucester, VA)
April 2004-Present

Developed a secure standards based Internet storage service aimed at traveling professionals and geographically diverse companies.

The site boasts 256-bit AES encrypted filesystems for users. Each users filesystem has its own hash which is protected by the users password. Access to the filesystem is via standard WebDAV over SSL protocol, which opens up usage to a wide variety of clients. The storage system is running Apache with customer modules, MySQL database server, and Linux's Logical Volume Manager.

I developed, tested and deployed this entire system. Website graphics and layout were done by my partner. I sold the company and its IP to a California company February 2005. I still retain 5% of the company.

Software Engineer
Watchguard (Seattle, WA)
September 2001-April 2002March 2003-May 2005

Primary job duties included linux kernel development in an embedded environment. This mainly pertained to hardware drivers and TCP/IP networking (VPN, NAT, filtering, proxies).

Projects:

Software Engineer
DEQO Solutions, Inc. (Newport Beach, CA)
April 2002-March 2003

Head of development for a PVR style client/server media platform. The basic design involved a primary server for storage with modular components for input and output.

My primary task involved helping to spec the hardware platform, and develop the software to power the systems. The server component was basically a Linux based server, with some special tuning for switching HD/SD video streams to disk and/or transmitting them out to video components over a proprietary protocol on ethernet medium.

The systems media out component was driven from a MicroBlaze fpBGA base board, using an in house bootrom design to accept digital video over ethernet and DMA'd directly to RAM, or output through the video hardware. My job was to design the bootrom, operating system and ethernet driver to power this system.

The final product included a from-scratch multitasking, pre-emptive mini-OS. It included a 3k TCP/IP stack, a gigabit ethernet driver for Broadcom's BCM5702 MAC/PHY chip, a custom IP protocol utilizing a ring-buffer and sequential data delivery for video streams, and a driver for the STi7000 MPEG decoder chip. The entire executable image was 115k compressed. It was placed (compressed) into the BCM5702's serial eeprom, and upon boot was uncompressed into slowram. The decompressor was 1.5k of executable code (to fit into 4k fastram). The entire system ran in 512k slowram, plus 4k of fastram for common routines (interrupt handler, memcmp, mul/div).

Projects:

Sr. Developer
ITisOpen (San Jose, CA)
July 2001-November 2001

Hired to lead the Research and Development department of a new Linux start-up. Main responsibilities were to build documentation on a set of service offerings. The start-up never got second round funding.

Directory Services Engineer
Winstar Wireless (Herndon, VA)
January 2000-April 2001

Responsible for the enterprise wide deployment of LDAP services for authentication, employee information, and asset management services. This included identifying and collecting data from key company agencies and synchronization of the data for over 8000 employees. Data was collected from an existing Access database, PeopleSoft database and Email services in to one cohesive data set for propagation over the LDAP system. The LDAP service is based on a replication structure, serving several key network points across the U.S. and overseas, including corporate office buildings and sales offices.

System Administrator
Virginia Dept of Juvenile Justice (Jordan Systems, Inc.) (Richmond, VA)
May 1999-December 1999

Contracted consultant to build an internal information structure consisting of an attribute based web system using LDAP for attribute storage and PHP3/perl for programming the backend applications. Client access is via normal browsers (ie, Netscape, IE, Lynx, Mosaic). This supports the OASYS network, which is based on an Oracle database and AIX/IBM servers. The LDAP API was enabled using OpenLDAP and perl-ldap. Also enabled a "big brother" type host monitoring system using LDAP. Also implemented Kerberos 5 based authentication system for internal and external access to the systems.

System Administrator
NASA Langley Research Center (Jordan Systems, Inc.) (Newport News, VA)
July 1998-April 1999

Part of a four person group that managed software and system maintenance for AIX, Solaris, Irix, and Linux systems. Also responsible for developing and deploying new technologies, most of which I was responsible for developing. Other responsibilities included maintaining a full DCE/DFS cell for general use (ave. of 5000 accounts), as well as integrating software with the DCE authentication scheme. Designed and developed an LDAP based name service (replaced NIS, DCE, and Kerberos) and the utilities associated with it's general use. Began work on porting the DCE/DFS source code to the Linux platform.

Assistant Systems Analyst
DynCorp Information and Engineering Technology (Newport News, VA)
December 1997-June 1998

Developed Web based software as front end database applications with client interface as well as online administration. Implemented security protocol to control access to the systems and linked control to the administration application. Responsibilities also included maintaining the FreeBSD based servers, which served the internal workstations (Windows 95 / WfW 3.11) utilizing Samba for file and print services.

Director of Web Design / Web Admin
Visionary Systems (VisiNet) (Newport News, VA)
June 1996-December 1997

Lead a four person web design group. Responsibilities ranged from project management, to maintaining the Solaris based apache servers. The servers hosted over 200 virtual web sites. Researched new and developing technologies for offering value added features in our web design scheme.

I was also responsible for teaching VisiNet's web courses. This involved creating curriculum and course material as well as actually teaching the class. Topics included Java and HTML. Class sizes ranged from 4 to 40, and audiences ranged from IT professionals, to average office workers. Related to this, I also did many public talks for area user groups.

Skills

Hardware design knowledge: Intel x86, ia64 and x86_64, Sun SPARC and UltraSPARC, Motorola M68000 line, Motorola and IBM PowerPC lines, Mips CPU line, StrongARM line.

Operating Systems: Linux kernel based OS's from 2.0 through 2.6, Solaris, HP/UX, AIX, All Windows variants, MacOS and MacOSX.

Programming languages: C (8 years), C++ (8 years), SPARC assembly (4 years), Perl (9 years), Python (5 years), PHP (5 years), YACC (1 year), SQL (1 year).

Internet protocol development: UDP/IP, TCP/IP, HTTP, ICMP, SMTP, DNS, custom IP protocols.

Linux Kernel subsystem development: PCI, networking protocols, ethernet drivers, USB, IEEE-1394 (Firewire), SCSI.

Documentation: DocBook, Doxygen, LinuxDoc, XML, XSL stylesheets, DTD creation.

Database: MySQL, PostgreSQL.

Related Interests