Dan Weinreb

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

EditText of this page (last edited September 7, 2012) or FindPage with title or text search