Bill Moyer

UNIX Software Engineer
email: billm@ciar.org

 
Skills:
 Programming Languages
  • perl
  • C
  • SQL
  • PHP
  • Javascript
  •  
     Operating systems
  • Unix: Solaris, Linux, FreeBSD
  • Others: OS/2, MS-DOS, CP/M
  •      Solution Skills
  • Data Warehousing software development and administration
  • High-Availability Cluster software development and administration
  • Load-Balancing Cluster software development and administration
  • High-Performance Cluster software development and administration
  • Distributed systems of nontrivial scale (thousands of hosts)
  • PVM (Parallel Virtual Machine) distributed systems programming
  • MySQL and PostgreSQL DBMS, perl DBI and DBD's
  • Nagios datacenter monitoring configuration and plugins
  • IPVS and Keepalived service failover system
  • Client/server programming with BSD sockets
  • Pthreads (POSIX multithreaded) programming
  • DHCP and BIND9 configuration
  •  
    Industry Experience:
       
      Autonomy (San Francisco, CA)    Senior Software Engineer    May 2008 - Present
         
        Developed software in C, perl, and PHP for a high-capacity/high-performance LAMP-based distributed data mining system for eLegal Discovery.
         
      The Internet Archive (San Francisco, CA)    UNIX Software Engineer    December 2003 - May 2008
         
        Technical lead for PetaBox Project.  Drove initial development of a large-scale LAMP-based data storage cluster (the PetaBox) to replace irreproducible legacy data cluster, allowing The Archive to rapidly establish new data clusters in other countries and scale expansion of data capacity.  The project goal was to design and implement a low-buyin, low-TCO, high-density storage cluster based on open-source technology.  The PetaBox architecture is now standard for all Archive datacenters.
         
        Developed software in perl for detecting, quantifying, and correcting data skew between The Archive's three petabyte-class data warehousing clusters in San Francisco and Amsterdam, proactively preventing data loss and providing Operations with data consumption forecasts necessary for the intelligent procurement of new data storage capacity.
         
        Developed software in perl for automatically generating Nagios cluster monitoring configurations, eliminating human error from configuration synthesis and freeing system administrator work-hours for other tasks.
         
        Developed Nagios plugins in perl for monitoring system temperatures, disk capacities, and active process profiles.
         
        Developed software in perl for scalable configuration-driven detection, correction, and monitoring of operational errors on large (approx 1,500 nodes) Linux-based data storage cluster, allowing for rapid and informed IT response to bottlenecks and failures as they occur within the data cluster.
         
        Developed administrative tool with web-based UI for analysis, curation, and problem identification of user-submitted data on public PetaBox system, resulting in recovery of otherwise lost user-contributed data.
         
        Developed database schema and perl module implementing access/update API for Archive inventory system, tracking servers, switches, major subcomponents (CPU, disk, NIC), physical locations, and roles within the cluster on PostgreSQL database.
         
        Configured, deployed, and documented IPVS/Keepalived for load balancing and transparent failover within archive.org web server pool, enhancing the capacity and reliability of Archive web services while reducing administrative demands.
         
      Hardpoint Intelligence (Sebastopol, CA)    CTO, Co-Founder    November 2003 - May 2008
         
        Co-founded business with former VP of The Sausalito Group (TSG) to continue supporting TSG's Asia-based contracts following the dissolution of TSG.
         
        Redeveloped all necessary software to duplicate functionality without compromising intellectual property claims.
         
        Procured colocation facilities and populated them with web, database, and mail servers.  Configured and installed server hardware and software.
         
         
      The Sausalito Group (Sausalito, CA)    Senior Software Engineer, Senior System Administrator    July 2000 - November 2003
         
        Developed and administrated hardware, software, network, and database technology for web-based international and multilingual demographic surveys (english, japanese), including database abstraction interface library for transparent scaling of back-end to distributed database architecture.
         
        Developed software for automated rapid and reliable synthesis of customized and dynamic web-based surveys, demographic analysis, and real-time dashboard reporting.
         
         
      Flying Crocodile (Seattle, WA)    Senior Software Engineer    March 1999 - July 2000
         
        Developed massively multithreaded middleware in C and C++ for caching and distributing database access and other computational workload across cluster of FreeBSD3.2/x86 servers for proprietary demographics tracking software under heavy load (15 to 25 million hits per hour, sustained).
         
        Developed distributed and multithreaded software in C and perl for tracking and reporting web site access patterns with failover and load-balancing capabilities.
         
        Developed system monitoring scripts in perl for generating reports on distributed system activity and performance bottlenecks.
         
         
      Cygnus Solutions (Sunnyvale, CA)    Compiler Tools Engineer    April 1996 - March 1999
         
        Developed GNU toolchain: C compiler, assembler, and binutils.
         
        All development targeted multiple host platforms (Solaris, HPUX, Irix, AIX, etc) using a single code base.
         
        Worked on related projects:
      • Acted as technical laison with Cisco's tool department, merging Cisco's enhanced gcc with mainline gcc.
      • Provided on-site support to Cisco's tool group.
      • Developed optimized library routines for proprietary 128-bit SIMD-capable MIPS architecture used in PSX2.
      • Developed optimized glibc code fragments for customers' proprietary embedded systems.
      • Developed C and perl software for providing controlled customer access to our PRMS database via web interface.
      • Fixed 41 user-reported errors in gcc and gas code.
      • Enhanced gas peephole optimization for embedded targets.
      • Added PE IMPORT section support to dlltool.
      • Corrected m68k-elf toolchain to comply to the V.4 ABI.
      • Acted as technical laison to Cygnus' documentation and front-line support departments.  Also gave educational presentations describing our products' operations.

      •  
         
      First Pacific Networks    Network and Embedded Systems Software Engineer    February 1995 - April 1996
         
        Designed software tools to interface with proprietary telecommunication devices, simulate network traffic, and assess product performance.
         
        Developed system software for proprietary embedded systems -- protocol stacks, power management, and remote configuration.
         
         
     Full work history, code samples, references are available upon request. 
    View Bill Moyer's profile on LinkedIn