Community Connect Inc.
· New York City
Prior to its acquisition by Radio One, Inc. in 2008, Community Connect was the web's largest publisher of niche social networks. Together, its three most popular websites (AsianAvenue, BlackPlanet, and MiGente) were at one point the third most highly trafficked social networks in the US. I was responsible for the design and implementation of the software platform—which powered five sites, served two billion dynamic page views per month, and scaled to 100K concurrent users—as well as the management of about a dozen programmers. The tech stack mostly comprised C, C++, Perl, PHP, Apache, Oracle, and MySQL.
Some of the projects for which I was responsible:
- APC, the first open-source compiler cache for PHP. It has been used by Yahoo! and Facebook and eventually became the official cache/optimizer extension of the PHP project.
- The first open-source bytecode optimizer for PHP, which provided modest speed-ups (5-15%) without any code changes. It was eventually folded into the APC project, and some of its optimizations were incorporated into the core PHP compiler.
- A C++ server framework designed to make it easy to build servers capable of concurrently handling many clients without incurring high I/O latency or uneven performance. It was used in a variety of proprietary servers, e.g. a chat server, database middleware, and a distributed IM/presence server.
- Ecss, an open-source extension to CSS with support for include files, variables, nested rulesets, arithmetic evaluation, composition, semantics-sensitive compression, and on-the-fly compilation; an early precursor to tools such as SASS or Less.
- A distributed image processing, storage, and retrieval system that scaled to several billion photos. It generated thumbnails and scaled images on the fly.
- An Oracle database versioning toolkit with the following features: automated provisioning of DBs; changesets under version control; diff generation between environments; support for distributed/replicated systems; automatic generation, and unattended execution, of upgrade programs, with support for concurrent execution across multiple DBs.
- A UI framework, written in C++ and JavaScript, for building rich JavaScript-based web applications. It included support for compile-time templates, efficient grouping of asynchronous remote procedure calls, mocked backends, a packaging/module system, and a composable, event-driven UI library.
- A distributed job-processing system that ran tens of thousands of batch jobs per day across dozens of machines, with support for monitoring, alerts, logging, and complex scheduling.
- A distributed user-to-user messaging system that supported tens of millions of messages per day.
- A subscription-based online dating website, in the vein of Match.com, with whom we eventually partnered. Its search engine supported bidirectional matching with real-time presence information, and scaled to tens of millions of profiles.
- A job board/recruiting website, in the vein of Monster.com. It ultimately served as the diversity recruiting platforms for Monster.com and The New York Times.
- Various support documentation: programming standards and guidelines for Perl, PHP, C++, PL/SQL, and so on; programmer interview questions, procedures, and requirements; workstation setup guides; standard operating procedures for deployments, production incidents, and escalation; etc.