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.