Résumé

Abhijit Menon-Sen <ams@toroid.org>
WWW: http://toroid.org/ams/

Overview

Work experience

Software Engineer, Oryx Mail Systems GmbH, Germany (2003–present)

I founded a company with another (more experienced) Unix developer to write high-quality open source mail archive software. The program is named Archiveopteryx, and it stores a normalised representation of mail in a PostgreSQL database and provides access to it via IMAP, POP3, and HTTP.

My work ranges from research and development to interacting with users and clients, participating in the IETF standards process, contributing to PostgreSQL development, release engineering, and other aspects of working at an open source-based startup.

<http://www.archiveopteryx.org>

Consultant, MPower Mobile Pvt. Ltd., India/USA (2007–2009)

I worked with MPower on a variety of projects from an early stage of its development. At first, I was involved in the database design and documentation. Later, I was responsible for the release engineering process (which I changed from a cryptic manual process to an almost fully-automated, well-documented one).

I helped design the high-availability production architecture for the company's mobile payments product. I was responsible for the Postgres database in production, and for pre-deployment operations.

In another project, I wrote a detailed specification for an end-to-end SMS message encryption protocol, meant for use by an applet running on a mobile phone without IP connectivity. The protocol was based on TLS, changed to adapt to the limitations of the underlying transport (i.e., expensive, small, slow packets) and the client (limited computing power, restrictive environment).

As one of the most experienced developers on the team, I also mentored a half-dozen developers, helping them especially with questions about application and database design, the development and release process, and SQL-related problems.

Consultant, BrainRoots Solutions Pvt. Ltd., India (2003, 2007)

I developed a Linux-based system for bandwidth management at ISPs, which was meant to be marketed along with BrainRoots's own billing software.

The system comprised a number of Perl programs running on the network gateway: a CGI program to handle transparently proxied requests from unauthenticated users, a daemon that allowed access to authenticated users based on the usage and bandwidth limits specified in an LDAP directory (using iptables and HTB), and a daemon that transmitted usage records to the ISP's RADIUS server.

Later additions to the program included clustering and transparent failover support (using ucarp and conntrack-tools). Implementing the system demanded detailed research into large, poorly-documented areas of the Linux networking stack.

Consultant, Best Practical Solutions LLC., USA (2002, 2003)

I developed an extension to RT 2.0 that enables it to maintain a database of customer information. It allows users to be associated with a customer, and enhances the interface to allow searching by customer, and to display customer-related information in addition to the usual ticket data.

Separately, I also developed a command-line interface for RT 3.0. It was carefully designed to provide a usable way to query an RT server interactively, and also to facilitate use from simple shell scripts. It communicated with a (somewhat-)REST-ful server interface, which I also wrote. This program is distributed with RT.

Consultant, Choopa LLC., USA (December 2001–March 2002)

I wrote an Apache module, mod_leech, which used a MySQL database to enforce per-user download and login quotas. It was optimised for use under high load on a cluster of web servers. At the time of writing, there was no other Apache module that directly implemented a shared pool of database connections.

<http://toroid.org/ams/mod_leech>

Consultant, Trolltech AS, Norway (July 2001–November 2001)

I wrote an anti-virus system for zmailer which scans messages (using the Sophos SAVI library) prior to their delivery. All of Trolltech's email was processed by this program for a few years; and the program regularly handled loads of many thousands of messages in a day.

Technical Lead, Mercurytech.net (April 2000–April 2001)

I developed a prototype (with AOLserver, Oracle, and the Arsdigita Community System) of our hosted services: a thematic browser for data from the Open Directory Project, a search engine for pages in the directory, and discussion groups with email and Usenet integration. This required research into RDF, web crawlers, indexing techniques, and query interfaces.

With the prototype completed, I designed a new data model, wrote an application layer for Apache (including session management, an object interface to the data, and templating), and worked with small teams in Mumbai towards implementing the production system in Perl.

Technical Lead, JobsAhead.com, India (June 1999–March 2000)

I designed and implemented the infrastructure for JobsAhead.com: the data model, an object persistence layer, interfaces to administrative data, and a framework for rapid development with Apache and ePerl. I led a team of 10 in writing applications for the site, and managed the company's production servers.

I wrote the job and résumé search and notification system that was central to the site, and I worked closely with the marketing and visual design teams to conduct usability tests and redesign some services based on the results.

The code, essentially unmodified and operating under much higher load, was still in use when the company was acquired by Monster.com in 2004.

Consultant, Emerging Markets Inc., USA (December 1998–March 2000)

I was one of the developers of the Lycos Investment Challenge (at www.maxinvest.com) and other stock market simulations by EMI.

Working with people in three time zones, I made major contributions to every part of the code: the quote feed and simulator (Perl), the game interface (PHP), and database design (MySQL). I first introduced the code into CVS, was responsible for server administration (Solaris and Linux), and for conducting stress testing and optimisations which made the system scale by an order of magnitude.

Various contracts (1996–1999)

Free software

I have been actively involved in free software development since 1997.

I have also contributed a number of patches to other projects (git, Ethereal, madplay, valgrind, etc.) and written a few Linux manpages.

See also <http://toroid.org/ams/src>

Writing

See also <http://toroid.org/ams/txt>

Abhijit Menon-Sen <ams@toroid.org>
http://toroid.org/ams/
2009-01-01