Founding Developer, Napster, Inc., Redwood City, CA June 1999 - Nov. 2000
As Chief Architect:
  • Rewrote first release of the Napster backend V2.0 to V2.1, primarily focused on addressing protocol inconsistency and stability issues. Note: first production version of Napster backend in commercial use was V2.0
  • Wrote V2.5 of the Napster backend, which involved relocating all persistent data (configuration and user data) to a MySQL database, and implementing data access routines using the mysql++ API. Along with search algorithm improvements, capacity was increased by at least an order of magnitude.
  • Wrote V2.6 of the Napster backend, which involved migrating MySQL schema structures to Oracle 8i, co-writing an abstract C++ OCI API called ORA++ to mimic the mysql++ API, and restructuring database queries to take better advantage of Oracle's caching capabilities. Along with more search algorithm improvements, capacity was increased two more orders of magnitude.
  • Co-wrote V3.0 of the Napster backend, which introduced full-mesh linking of Napster servers into clusters.
  • Architected and wrote controld, the Napster load-balancing system, often referred to as the metaservers. Later added functionality to controld to interface with Oracle 8i using the C++ OCI API I co-developed (ORA++).
  • Implemented blocking mechanism (locking) in the Napster backend, to facilitate DMCA takedown notice execution.
  • Wrote all abuse management mechanisms and reporting functionality in the Napster backend. Wrote scripts to perform statistical analysis and daily summary reporting on abuse logs.
  • Was responsible for all release management pertaining to server development, including managing the source repository and developing a secure distribution system using package management (RPM).

As Senior Systems Administrator:

  • Developed and enforced standards for production system installation, and host and network security for both production and corporate networks.
  • At various times was responsible for the installation and configuration of systems in the production colocation facilities.
  • Customized various operating system service and utility sources to add functionality and increase capacity and performance, specific to Napster, Inc.'s needs.
  • Over the entire course of employment, with great frequency, assumed responsibility for managing the ever-growing maintenance needs of Napster, Inc.'s production network.

As Database Administrator:

  • Designed database schemas for the MySQL version of the Napster backend.
  • Was responsible for Database Administration for the MySQL Database cluster, including tuning and performance, disaster recovery, and expansion of capacity through the addition of new production database servers and hardware upgrades.
  • Co-developed new database schemas in Oracle 8i, and strategy for merging various separate MySQL user databases into one unified Oracle 8i database.
  • Co-managed Oracle 8i Standard production installation, including performance and tuning (MTS, memory pools, block sizes, etc), disaster recovery, and backup.
  • Worked with Team to develop recommendations for high performance Sun and EMC hardware, configuration and setup.
  • Performed statistical analysis of various data sets, wrote scripts to automate reporting.

As Director of Security:

  • Served as primary public contact point for all security-related complaints, concerns and incidents relating to the service and operations.
  • Interfaced with: the public to address security issues as they arose, including various press agencies and individual customers regarding PR issues; Napster, Inc.'s Legal Department to set standards for DMCA compliance, as well as to execute DMCA takedown notices; and various Law Enforcement Agencies when incidents were brought to our attention.
  • Responsible for locating and dealing with web sites positioned with malicious intent against the Company. This includes sites offering trojaned or virus-infected Napster clients, sites devoted to the abuse of the Napster Service and its users, and hoax sites attempting to disseminate maligning or otherwise intentionally incorrect information about the Company and its Service.

As Community Leader:

  • Managed the Moderator community overall, a group of individuals who volunteered their free time to help moderate the various socially focused portions of the Napster service.
  • Appointed two consecutive MoMs (Manager of Moderators) in an effort to create a community-driven organization that would actually scale as the service's usage grew (as well as to alleviate my work load).
  • Interfaced often with various open-source advocates working on Napster-related projects, and at various points contributed to several Napster-related open-source initiatives.
  • Introduced initiatives to create a centralized website for the Moderators, a voting system for potential moderators, a code of conduct, and a chain-of-command hierarchy.
  • At various times asserted authority over the Napster forum message boards, appointed forum moderators, and appointed a MoF (Manager of Forums) to interface with the company and implement its vision for the forums.