|Trekking in Nepal
|My Northwest Hiking blog
|CloudMaster (open source AWS job manager)
|MRToolkit (open source Hadoop toolkit)
|Memorable Adidas Ads
|My hikes and adventures
|Catskill hikes and adventures
|Eliza in Java
|Family Photo Gallery
|Per Brinch Hansen Archives
|Places to Run
|Running with a GPS
|Memorable Adidas Ads
|Driving to work (Sonus)
|Scheme Interpreter, Feb 2003
|Ben's Rice Graduation (May 2000)
|Family Snapshots (October 1999)
|Silver Wedding Anniversary (June 1999)
|Philadelphia Marathon (November 1999)
|Jersey Shore Marathon (April 1999)
|Family Snapshots (December 1988)
|Family Snapshots (1997)
|Building a house (1992)
|Pictures taken at work (Bell Labs)
|Aerial photos of New Jersey
|Carrie's Home Page
|Ben's Home Page
|Our Dogs' Page
|Running, Basketball, Ballroom dancing.
|Maps, navigation, GPS.
|Distributed software systems. Currently I am working with Amazon Web Services as a platform.
|Embedded languages, especially for use in distributed applications. I have a particular interest in scheme.
|Ruby and Rails. I like ruby because it combines the simplicity and elegance of scheme and smalltalk with the practicality and pragmatism of C++, Java, and PHP. I like Rails because it does away with so much of the tedious "busy work" of web based applications, and lets me get right to the interesting parts.
I am having a great time working at Microsoft. The ambition and the talent here are impressive. I am working on the software that connects one Messenger user to another. Hundreds of milions of them. A truly demanding challenge.
New York Times Digital
The New York Times is a wonderful company to work for. Stimulating environment, a lot of smart, dedicated, and energetic people. It is really rewarding working where people believe in the mission of the company. The management there treated me with great respect, even though I was brand new in the industry. I was really starting to contribute, working with Hadoop on EC2 gleaning information from the massive log files. I built a computation framework on top of Hadoop, inspired by (but better than) Google's Sawzall. Using the framework, I could create log analysis programs in a page of code or less. I hope that this framework can be released as in open-souce project.
Until recently, I worked at Avaya. I designed and built software that provides the SIP infrastructure for a whole range of switching products. I was responsible for a provisioning system, whic kept al the sbscriber information and distributed it to the run-time components in the system. Then I designed and built a duplex redundancy system, which would take over in seconds if the primary system failed. Finally I designed a geo-redundancy system that was more loosely coupled but more resiliant to failures.
The latter depended on a data replication system that I designed (and patented) that distributed data in a database among members of a distributed system. The replication system, which did far more than any commercial system available, could do transparent upward and downward (master to slave and also slave to master) replication, could replicate subsets of the data to different replicas, could translate on the fly between schema versions (to later or eralier versions), was based on updates as well as audits (so it would converge given any combination of starting states), and was reconfigurable without any administration (new nodes coul come online without changing any config files or running any commands on the master).
Obviously I am very proud of this replication system, which handles many real-world problems that existing systems ignore: needing to upgrade a distributed network a piece at a time while continuing to offer service, the ability to back up and restore any network element (master or replia) and have the replication cope by converging, handling unreliable cmmunication, etc. And all of this took care of itself -- no administration was needed or exposed -- because the customer wants a phone system, not to become a distributed database manager.
My Patent at Avaya:
|Data Distribution in a Distributed Communication Network (pending)
My thoughts on Avaya (2008)
In its first few years after spinoff from Lucent, Avaya retrenched, paid down the big debt they inherited, and did well by introducing successful new products. I was part of that, and it felt good to be producing products of value. Now the company direction seems to have been captured by a succession of true believers, which take the products in their chosen drection. First decentralization, then centralization, then decentralization, now centralization. First pure SIP, then SIP as an interface to traditional telephony, then pure SIP. First a hardware/software turnkey solution, then a software-only product for use on customers' own hardware, then back to a bundled solution. First, "let's be standards compliant" then "let's be leaders in establishing standards" then "let's ignore standards and make our own extensions." At the end, the company leadership was taken over by people from a sales background, who hired more salespeople and laid off most developers, intending to OEM products from other suppliers.
Before that I worked at Sonus Networks, building a class 5 softswitch for IP-based telephony. This was fun because we started with a clean slate -- nothing but bare hardware with Solaris, and built everthing. I designed the switching application framework and the fundamental telephony features (two way calling, call hold, feature access codes, call forwarding, and three way calling).
The DotCom crunch affected Sonus, and they had to mothball the class 5 softswitch project for a while, but they revived it and it is still going strong. Last I heard they have never found a bug in my application framework, and each time they need to add a feature, they go in and find that I had already thought of that. Son in five years, it has never needed any enhancement.
My thoughts on Bell Labs (2000):
I used work at Bell Labs -- part of Lucent Technologies. After 20 years with the company, I finally gave up hope that it would get its act together, so I left. For many years I was content to design and build great products that were doomed to failure in the marketplace because of poor marketing or sales. What finally convinced me to leave was when we couldn't even design good products.
Since I left Bell Labs, it has
seen one disaster after
another: its stock has fallen
90%, it has fired its CEO, it has come under SEC investigation, it has
earnings several times. Now I wonder if it will survive
(Note: it didn't -- it is
now Alcatel, an continuing to suffer). I am really sorry to
see it come to this - so
My patents at Bell Labs:
|Computer Telephony User Interface 4,653,090
|Audiographics Teleconferencing 4,953,159
My Projects at Bell Labs:
|The last project I worked on was the Lucent Softswitch. I was involved in providing an external programming interface for it. The first step was making the standards, which means I was heavily involved in JTAPI, JAIN, and Parlay.
|Before that I worked implementing VoiceXML, a language for programming telephone media systems such as voice response systems.
|I worked for a time as an internal consultant to teams in Lucent who were exploring the adoption of Windows NT and especially COM and DCOM. I helped organizations who wanted to use this technology in their products.
|In 1997 and 1998 I was part of a team developing the Virtual Telephone. We announced this product at CTExpo in March 1998, and I was there to demonstrate it in action. Unfortunately, Lucent cannot see the value in this product, and has decided not to market it.