Dan Weinreb

last modified: September 7, 2012

My name is Daniel Weinreb. My resume briefly goes:

1/20-06 ITA Software, Inc.

Title: "Hacker"
 I am working on building a new airline reservation system.  The initial customer
 will be Air Canada.  I'm working on the "core" part of the "server" part.
 The server is written in Common Lisp.

10/20/02 - 1/20/06 BEA Systems, Inc.

Title: "Technical Director"
 BEA Systems makes infrastucture software; its best-known product, the
 WebLogic Server, is a J2EE (Java 2 Enterprise Edition) application server.
 I am the "Platform OA&M Architect".  "OA&M" means operations, administration,
 and management.

7/1/02 - 9/3/02 Smartleaf, Inc.

Title: "Lead Architect"
 Smartleaf does financial portfolio management and optimization,
 to be used as part of an integrated wealth management system
 that is particularly useful for managing large numbers of
 individually/separately managed accounts.
 I was hired on a three-month trial basis; if they liked me, I'd
 become Chief Technology Officer.  The president, Jerry Michael,
 fired me after two months for reasons that remain unclear.

8/1/88 - 7/1/02 Object Design Inc, later renamed eXcelon Corp.

Title: "Distinguished Engineer", co-founder
 Participated in team that designed and developed and maintained
 the ObjectStore object-oriented DBMS, then and now the best-selling
 OODBMS worldwide.  ObjectStore is written in C++ and was originally designed
 to be used from C++; it can also be used from Java and Microsoft ActiveX.
 Co-holder (with Sam Haradhvala) of the company's
 only patent (5,649,139) issued 7/15/97 (don't worry, it's pretty
 narrow, and since Rel 6.0 ObjectStore doesn't even do half the
 stuff that's in the patent).  I then participated in a team that
 designed, developed, and maintained "PSE Pro for Java" (Personal
 Storage Engine), a low-end single-user language-transparent Java
 DBMS with real atomicity, consistency, and durability (but no
 isolation, it's single-user), with a very small runtime footprint.
 I then went back to ObjectStore for a year, writing a fancy
 asynchronous B-tree in support of Dave Moon's extensive revisions
 of the ObjectStore server for Rel 6.0 (Houdini).  For my last few
 years I participated in a team that designed, etc, etc what was
 originally called the "Business-to-Business Integration Server"
 and later the "Business Process Manager", written in Java, a
 product sort of competing with Microsoft BizTalk Server and IBM's
 Process Integrator and BEA's one and HP's one, which sort of made
 it hard to sell despite its technical virtues.  However, since then,
 eXcelon has been bought by Progress Software, and I'm happy to see
 that they intend to continue to develop and market this product.
 I am very hopeful that Progress will do a better job of marketing
 than eXcelon did and I wish my friends who are now at Progress the
 best of luck.

2/1/81 - 8/1/88 Symbolics, Inc.

Title: "Technical Director", co-founder
 We licensed the Lisp Machine technology from MIT.  (Please note that
 the decision that the technology should be proprietary was made by
 MIT, not Symbollcs.  Symbolics paid substantial royalties to MIT.)
 We marketed our hardware and
 software principally to ArtificialIntelligence researchers and
 practitioners.
 I was sometimes an individual-contributor software developer,
 and sometimes a manager (Director of System Software); I turned
 out to be better at the former than the latter.  I worked on so
 many aspects of the software that it would be tedious to try to
 list them here.
 Participated in the design of Common Lisp (one of the five main
 codifiers, I was one of the co-authors of "Common Lisp: The Language",
 with Guy Steele, Richard Gabriel, David Moon, and Scott Fahlman).
 Led a team that designed and developed a first-generation object-oriented
 DBMS called Statice (with Dan Gerson, Charlie Lamb, Neal Feinberg, and Sonya
 Keene), which was ready to ship (Rel 1.0) when Charlie and I left,
 with Sam Haradhvala, to go join in co-founding Object Design.

8/1/80 - 2/1/81 MIT Artificial Intelligence Lab

Wrote the "Lisp Machine Manual" and several other pieces of
technical documentation, particularly the Flavors object-oriented
language extension to Lisp; did various software development
on the Lisp Machine.

2/15/79 - 8/1/80 Lawrence Livermore National Labs

Member of O Group, run by Lowell Wood.  Designed, developed, and began to
implement paging, virtual memory, segmentation, and
file system for the Amber timesharing system
for the S-1 Mark II supercomputer then being developed at Livermore.

2/15/76 - 2/15/79 MIT Artificial Intelligence Lab

Undergraduate Research Opportunties Program
Hired by and supervised by Richard Greenblatt, mentored
primarily by David Moon, also TK, GJS, RMS, GLS, KLH.
I mainly did system programming for the Lab's Lisp Machine
project.  I wrote an Emacs (CategoryEmacs) called EINE/ZWEI/Zmacs,
the second Emacs ever written, entirely in
Lisp.  I also wrote a debugger, a local-area network control program,
and various utilities, all in Lisp, all of which were implemented,
debugged, optimized, and used by real users for years.

I learned to program computers when I was 13 years old (1972) using a Model 33 teletype connected to DTSS (Dartmouth Time Sharing System).

Recently (October 2000) I have read KentBeck's "Extreme Programming Explained" and have gotten very interested in the topic. My group at eXcelon looked into the practices of Extreme Programming and considered what we might do along those lines. While researching XP on the web I came across this Wiki site. Our group adopted XP practices to certain extents and were extremely pleased with the results.

Recently (Fall 2002) I was on the Program Committee of the second Lightweight Languages Workshop given at MIT (see ll2.ai.mit.edu for more info). This was a lot of fun and, in my humble opinion, a great success.


For trivia fans, it has come to light that Dan is "the MIT guy" in WorseIsBetter. The New Jersey Guy is BillJoy. (Source: http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg01821.html)

I had always recognized the other guy as Bill Joy, that was clear, but that the other participant was you/Dan I hadn't figured out. What was the context of the conversation? A conference or something?

No, we were just talking, with nobody else present, in the U.C. Berkeley computer science building. I had recently been studying the ITS timesharing system, and one of the most interesting things was the PCLSR concept (see http://www.linearity.org/bawden/ftp/pclsr.memo.gz). I was wondering how the new Unix operating system dealt with these issues, so I asked Bill Joy, after some back-and-forth to explain what I was asking. The answer was that for "short" waits you just can't PCSLR, and for "long" waits, you return from the system call with a stupid error code. I have since come around to the opinion that this is not nearly as evil as I had originally thought, particularly since direct access to system calls is usually hidden by a library these days.


Dan sadly passed away on September 7th, 2012.


CategoryHomePage CategoryHomePage


Loading...