David Brown

2313-6-B-1 Daitakubo,
Minami-Ku, Saitama-shi,
Saitama-ken 336-0015
JAPAN
Phone: +81-90-6549-8110
E-mail:

SUMMARY OF SKILLS

Spoken languages
English (mother tongue)
Japanese (daily conversation)
Computer languages
Ruby; Perl; Python; Bourne, Korn and C shell; C/C++; FORTRAN; HTML; Java; Common Lisp; Make; PostScript; SQL; XML; many others.
Operating systems
Unix (system administrator and programmer level; several versions, most recently Linux and MacOS X, but also Solaris, NCR Unix, HP-UX, IRIX, SUPER-UX, Reliant UNIX, and others). Microsoft Windows NT/2000/XP (administrator and programmer level). A few others.
Hardware
Lots of x86/PC experience; Macintosh; Sun, HP, and other servers.
Open Source projects
Gurgitate Mail, creator and lead developer, a mail filter and local delivery agent.
Percolate Mail, creator and lead developer, an SMTP server framework.
Flooterbuck Infobot, lead developer, a fork of Kevin Lenzo's Infobot.
Lunar Linux, developer, a source-based Linux distribution.
Certifications
Passed the Japanese IT Standards Examination in April 2006.

EXPERIENCE

Systems Administrator/Architect
July 2007-present
GMO Internet, Tokyo
UNIX team
Tokyo, Japan
  • Technical environment: A large collection of Solaris servers, ranging from, at the start, very old Sparc-based machines to, eventually, vast numbers of commodity SuperMicro servers. In terms of users, there are at the time of writing over 750,000 email accounts, and over 275,000 web sites hosted. Desktops were either Linux-based or Macintoshes, although I did some development work in Visual Basic for an internal Windows system in another department.
  • Spearheaded the use of ZFS-baseed storage solutions to replace the previously-used NetApp solution, thereby saving the company tens of millions of yen in hardware cost and millions of yen in support costs.
  • Discovered the once-thought-missing source code for, and ported, an old but profitable service, ensuring that it continued being operational after its original hardware had been retired.
  • Designed and implemented an effective, disciplined configuration management system using open-source tools, allowing easy recovery from errors and discovery of the details of changes that had been made.
  • Singlehandedly created software packages, both for the SysV package format that Solaris 10 uses, and the newer package format that Solaris 11 uses, to manage both server software and configuration. Wrote configuration management tools in Ruby to interoperate with both the Solaris 11 package system and Solaris's SMF service-management system.
Programmer/Systems Administrator
February 2005-May 2007
Rightweight Process/Invio/USE, Tokyo
Internet Solutions Division
Tokyo, Japan
  • Technical environment: A mixed environment, generally with Linux on servers and Linux, Windows and MacOS X on desktop. Network equipment was Yamaha, Dell and Cisco. Programming was mainly done in Ruby with Rails, but there was also some PHP and to a less extent, Perl and Python development. Also in use by my supervisees were Microsoft technologies like C# and .NET.
  • Supervised a team of University of Waterloo students, making them immediately productive by implementing an aggressive learn-by-doing training program where early results were immediately management- and customer-visible, which fostered a positive relationship between team members and the rest of the company by demonstrating the quality of their work.
  • Quickly identified and exploited areas of strength in new employees, leading to rapid acceptance of both the new team members by the rest of the company, and new and challenging tasks by the new members of the team.
  • Designed and built a high-performance, high-availability load-balancing network for customer's advertisement server, and investigated and diagnosed performance bottlenecks, discovering inexpensive and simple solutions for subtle problems.
  • Liased with the same customer upon receiving amended requirements for their advertising server (creation of another service), quickly perceiving their actual requirements based on their requests, clearly explaining my perceptions, and having my amendments to their original requests accepted.
  • Designed and implemented robust, high-performance email systems for both internal and external email customers including smart distribution-list management, spam and virus filtering, and email hosting solutions.
  • As part of a larger problem, worked with a customer to devise an offsite backup solution for their web site, working within the constraints of a hostile environment, saving the customer large amounts of money and giving them control over their own data.
  • Designed and implemented Subversion and Trac systems for intranet, with special exceptions for access by outside contractors.
English Teacher
November-December 2004 (contract)
Berlitz Language Center
Sendai, Miyagi, Japan
  • Provided temporary teaching services to fill in while the Berlitz Language Center was seeking full-time staff.
  • Applied my skills from doing technical support and mentoring junior technicians, and my passion for languages, to doing a completely non-technical job.
  • Took a customer-focused, results-based approach to teaching, to optimize knowledge transfer.
  • Learned many things about the learning process, and how to introduce new knowledge.
Webmaster (contract)
June 2004-April 2006
XBRL Spy
Vancouver, British Columbia, Canada
  • Technical environment: Apache web server on a hosting service with PHP.
  • Researched and recommended content-management software and hosting providers, with an eye towards highest quality and maximum flexibility combined with greatest value.
  • Rapidly set up the web site and its content within the Drupal CMS framework, to bring the XBRL Spy web site online and usable within a minimum amount of time.
  • Handled system administration tasks including software installation, backup, and email management.
Systems Analyst
2003-2004
Blast Radius
Products Division
Vancouver, British Columbia, Canada
  • Technical environment: A mixed environment consisting largely of Linux servers and Windows workstations. Most of my own development was in Python on Linux systems, but there was also a large amount of development in C++ and Java within Windows environments.
  • Wrote a bug tracker using the Roundup framework to enable Quality Assurance to accurately track problems and their resolutions.
  • Authored a light-weight document management system which utilized out-of-the-box components including SAMBA and DocUtils, enabling the design and development teams to quickly exchange project documentation and information.
  • Implemented a system backup and archive scheme to meet government (S.R. & E.D.) and software release requirements, and to ensure software development environment protection.
  • Supervised and mentored a practicum student and encouraged his talents, leading directly to his being hired on a permanent basis in the IT department.
  • Administered the development team's Perforce and Subversion source code repositories.
  • Provided general IT support for the Products division, including acquiring hardware and software for development, Quality Assurance and customer-facing demonstrations, and assessing network performance and topology issues.
  • Acted as the liason between the Products division and Blast Radius's IT department, ensuring that IT issues were solved in a timely, satisfactory manner.
Programmer/Systems Administrator
1999-2002
NCR Corporation
ImageMark Division
Waterloo, Ontario, Canada
  • Technical Environment: Mainly NCR Unix, which migrated to Solaris. Also, interoperability with Windows NT. Development work was largely in C++, Perl, Make and shell scripts.
  • Simplified package maintenance and creation by creating award-winning build and installation procedures which spanned across multiple projects and architectures, enabling a much quicker package-build-delivery life-cycle.
  • Evaluated source-control mechanisms; selected and implemented CVS in order to allow nearly a hundred developers in Canada, the USA, Denmark and India to safely collaborate on a complex project with many components.
  • Installed and administered NCR Unix and Solaris servers as part of my everyday tasks, to ensure that operations were not interrupted by outages and that developers and users had up-to-date tools to work with.
  • Selected, interviewed, and supervised co-op students, one of whom received the University of Waterloo "outstanding" grade for her work term, the highest grade a co-op student can earn.
  • Convinced management of the feasibility of porting major product line to Solaris by rapidly prototyping components, opening up new markets for the product.
  • Conceived a simple, generic solution for dealing with a large test specification and built the test harness to validate the concept, gaining enthusiastic support amongst coworkers.
  • Created a Perl XML library with easily-reusable code, that provided a low cost and reliable framework for future products.
  • Built System V packages for a brand-new piece of software in a very short amount of time, expediting an important initial installation which subsequently drove further sales.
  • Implemented login code for an XML-based solution in C++ for an interface problem, which subsequently positioned the company for significant growth in sales of a previously stagnant product.
Systems Administrator
1998
Mortice Kern Systems
Department of Computing Services
Waterloo, Ontario, Canada
  • Technical Environment: Production servers ran Solaris, Windows NT or Novell Netware--I was responsible for the Solaris servers. Development servers ran the gamut of Unix versions available.
  • Administered a wide variety of servers and operating systems, to maintain the smooth operation of MKS's IT infrastructure.
  • Repaired several obscure computers and reinstalled their operating systems so that demands for ongoing support could be met.
  • Persuaded team leader of feasibility of using a console server by taking the initiative in its installation, saving the company significant amounts of money by providing remote supportability and reducing expenses.
Programmer/Research Assistant
1997
University of Waterloo
Logic Programming and Artificial Intelligence Group
Waterloo, Ontario, Canada
  • Technical Environment: Franz's Allegro Common Lisp, running on Solaris.
  • Wrote LISP code to make repairs to machine-generated English text, aiding a professor in her AI project.
Programmer (contract)
1996
Advanced Scientific COmputing
Waterloo, Ontario, Canada
  • Technical Environment: Development work was in C++, aided by the UIM/X GUI builder software. The software was initially targetted to IRIX, then adapted for AIX, Solaris and Linux.
  • Assisted GUI development by creating and implementing a Motif user interface, that allowed users to easily configure software parameters and put models together in a more intuitive way.
  • Implemented the communications interface between the GUI front-end and the processing back-end to allow the creation of the GUI.
  • Wrote Perl script to modify code, enabling a consistent interface between the FORTRAN software server and the newly-developed C++ graphical user interface client.
Systems Administrator
1996, 1997
University of Waterloo
Computer Science Club
Waterloo, Ontario, Canada
  • Technical Environment: Mainly Solaris/SPARC, with a FreeBSD web server and user machines running Solaris/x86, Windows 95 (Japanese edition), and BeOS.
  • Volunteered to administer the Computer Science Club's public-access computer systems.
  • Handled user-creation, user-removal, and general account maintenance for approximately a thousand users.
  • Cooperated with external system administrators and RCMP in handling international security incident.
System Administrator/Maintenance Programmer
1993-1995
Environment Canada
Atmospheric Environment Services
Downsview, Ontario, Canada
  • Technical Environment: A network of HP-9000-class servers running HP-UX.
  • Administered a network of HP-UX systems for a scientific team at AES.
  • Installed new software and maintained the existing software to maximize productivity and get the best use out of the systems.
  • Wrote scripts to aid research scientists with their projects.
  • Maintained scientists' code to ensure that it continued running smoothly.

Prior to 1993

EDUCATION