My name is Daniel Weinreb. My resume briefly goes:
1/20-06 ITA Software, Inc.
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,
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
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
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.