Dan Weinreb
danweinreb.org · Personal blog · on HN since 2008
Dan Weinreb, a Lisp veteran who worked at Symbolics and ITA Software, writes about Lisp, its history, and distributed systems.
What HN saysHN links it for first-hand Lisp history, the Symbolics rebuttal, the CAP theorem, and Lisp's condition system. Commenters also point to his ITA posts.
29HN people shared it
15linked it in comments
30stories submitted
553story points
13 years agolast shared
2008people per year2026
Most-shared posts
- 1The Failure of Lisp? A Reply To Brandon Werner4 people · 61 points · first shared 2008 · 52 comments on HN
- 2Why Did M.I.T. Switch from Scheme to Python?3 people · 96 points · first shared 2009 · 65 comments on HN
- 3Dan Weinreb comments on Google's acquisition of ITA3 people · 21 points · first shared 2010 · 12 comments on HN
- 4Rebuttal to Stallman’s Story About The Formation of Symbolics and LMI (2009)3 people · 10 points · first shared 2010 · 1 comments on HN
- 5Why Did Symbolics Fail? (2009)2 people · 78 points · first shared 2012 · 61 comments on HN
- 6The “Worse is Better” idea and the future of Lisp2 people · 22 points · first shared 2009 · discussion on HN
- 7What Conditions (Exceptions) are Really About2 people · 21 points · first shared 2010 · discussion on HN
- 8Weinreb: What Does the Proof of the “CAP theorem” Mean?2 people · 9 points · first shared 2010 · discussion on HN
- 9ACID in Theory and Practice1 people · 73 points · first shared 2010 · 17 comments on HN
- 10Dan Weinreb: Programming with concurrency, clojure excitement1 people · 45 points · first shared 2009 · 14 comments on HN
- 11VoltDB versus NoSQL1 people · 32 points · first shared 2010 · 1 comments on HN
- 12Complaints I’m Seeing About Common Lisp (2007)1 people · 29 points · first shared 2009 · 12 comments on HN
- 13Object-Oriented Database Management Systems Succeeded1 people · 15 points · first shared 2009 · 37 comments on HN
- 14Boston: No More Silicon Valley Envy1 people · 7 points · first shared 2010 · discussion on HN
- 15Comments on “Urban Myths about NoSQL”1 people · 4 points · first shared 2011 · 1 comments on HN
What HN people wrote when they linked it
ken · 2012-08-31
Dan Weinreb (one of the Multics users who brought the Multics condition system to Lisp) wrote about why "error" is not a great term: http://danweinreb.org/blog/what-conditions-exceptions-are-really-about
Personally, I've not seen it used for arbitrary control flow. If you control the syntax of things inside your block, then macros are probably good enough. If you're passing values outside of your own block, then you probably need continuations.
OTOH, Lisp programmers have a tendency to not care what something is "supposed to be used for". Using Lisp at all is said to be "the most intelligent way to misuse a computer". :-)
ColinWright · 2011-08-18
The paper with the actual proof (making this a theorem and not just a conjecture or vague speculation) is here:
http://lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf
This is surprisingly readable, and the introduction is quite good. In addition, here is a blog post that talks about the terms, their meanings, various implications, and the proof:
http://danweinreb.org/blog/what-does-the-proof-of-the-cap-theorem-mean
Finally, despite the shaky start, this is also a good read:
http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
strlen · 2010-04-23
ITA still uses Common Lisp. There are excellent blog entries on this matter by Dan Weinreb: <http://danweinreb.org/blog/category/ita-software>. However, they don't require Common Lisp knowledge from new hires. The beauty of Common Lisp is that there really is very little syntax to learn. Afaik, the simply use the excellent Practical Common Lisp book by Peter Seibel as a "training manual".
The problem with Common Lisp, unfortunately, is there's no standard and cross-implementation way to create an application that makes heavy use of network I/O, multi-processing/multi-threading and the file system.
That's would not be a problem internally at ITA (where must have built a standard set of libraries), but it would be a problem for taking submissions for web applications from applicants. On the other hand, even making a complete end-to-end webapp is a part of the Java standard. I am guessing that's why the puzzles that require talking HTTP either to or from a web server require Java.
Several of their other puzzles, however, don't specify a programming language (e.g., bit vector, word rectangle) and could probably be very well suited to being done in a Lisp.
lispm · 2010-04-05
What's new? This is just a rewritten version of one side of the Emacs history. Some parts of that are remembered 'slightly' different by other involved persons.
Example: 'He took his revenge by going on a two year coding binge to reproduce every advance that was made by the team of hackers at Symbolics, and match it feature for feature on behalf of Greenblatt and LMI.'
That's a myth.
http://danweinreb.org/blog/rebuttal-to-stallmans-story-about-the-forma…
Weinreb::
'Next, he says: “After a while, I came to the conclusion that it would be best if I didn’t even look at their code. When they made a beta announcement that gave the release notes, I would see what the features were and then implement them. By the time they had a real release, I did too.” First of all, he really was looking at the Symbolics code; we caught him doing it several times. But secondly, even if he hadn’t, it’s a whole lot easier to copy what someone else has already designed than to design it yourself. What he copied were incremental improvements: a new editor command here, a new Lisp utility there. This was a very small fraction of the software development being done at Symbolics.'
But worse, again Weinreb:
'And while I’m setting the record straight, the original (TECO-based) Emacs was created and designed by Guy L. Steele Jr. and David Moon. After they had it working, and it had become established as the standard text editor at the AI lab, Stallman took over its…
gruseom · 2009-08-14
It's in fact hard to capture what Worse is Better was getting at, because it's sort of incoherent. I've tried 2 or 3 times to understand it over the years and concluded that, beyond the most general point (which you describe well, I think), it's not clear what he's really saying. I noticed Rich Hickey said this the other day, as politely as one possibly could: The arguments made in Worse is Better are very nuanced and I'm not sure I understand them all.
http://www.computerworld.com.au/article/313989/-z_programming_language…
By the way, Dan Weinreb has an interesting piece in which he reveals that he was the MIT guy and Bill Joy the Berkeley guy:
http://danweinreb.org/blog/the-worse-is-better-idea-and-the-future-of-…
I recommend Kay Schluehr's comment on that page, which argues that arguments like WiB are drawing overly general philosophical conclusions from instances of success or failure in the market.
jpdoctor · 2012-03-12
> rather than fiddling with very old environments.
I worked on Symbolics machines (rms, please forgive me). I even fixed a bunch of the wire-wrapped original LMs from before Symbolics.
I remember it being earth-shattering at the time (self-documenting? whoa) but I confess I'm curious how much was just the transition from TOPS-20 etc to a completely new single-user environment. All stuff from the dark ages really.
I'd probably fire it up out of nostalgia if nothing else.
BTW: Dan Weinreb's post ("Why did symbolics fail?" linked in the OP) has migrated to here: http://danweinreb.org/blog/why-did-symbolics-fail
gnosis · 2012-01-18
"Would anyone happen to know why they dropped the course originally?"
http://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-…
http://danweinreb.org/blog/why-did-mit-switch-from-scheme-to-python
http://mitadmissions.org/blogs/entry/the_end_of_an_era_1
http://news.ycombinator.com/item?id=530605
nl · 2010-08-10
I understand your argument. Did you see my line Yes, there are other solutions - a price per Gb of traffic is an obvious one. But my point is that I'm not convinced other options should be outlawed yet?
My point is that it may make sense - and be good for consumers - to deprioritize and/or discourage some kinds of usage over wireless. http://danweinreb.org/blog/google-and-verizon-a-new-hope references the story http://www.eweek.com/c/a/Government-IT/The-Truth-About-Google-Verizon-… I hadn't read this when I made my original post, but it makes a much more compelling argument based on the same ideas.
It makes the point that for VOIP to work properly over wireless you can't have jittery delivery. One way to solve that it to use QOS to increase the priority of that in comparison to video. That isn't "neutral" access, but it is good consumers.
protomyth · 2010-07-29
The counterpoint: http://danweinreb.org/blog/rebuttal-to-stallmans-story-about-the-forma…
hvs · 2010-07-03
And according to Dan Weinreb's blog, they will most likely not use Common Lisp again on another ITA project:
http://danweinreb.org/blog/rumors-of-ita-acquisition-are-just-rumors#c…
That's a shame.
wglb · 2010-07-01
Unlikely that they will go away from lisp. They are heavy users of SBCL (performance) and CCL (fast compile) and have some interesting fraction of a million lines of lisp code and might just be one of the larger employers of lisp programmers.
See http://danweinreb.org/blog/the-failure-of-lisp-a-reply-to-brandon-wern…
plinkplonk · 2009-05-21
interestingly enough cleartrip is written in Common Lisp.
"We built most of cleartrip with Common Lisp to start with. All the folks we trained, about 6, found it difficult to start off but now will not touch anything else."
Reference http://danweinreb.org/blog/the-failure-of-lisp-a-reply-to-brandon-wern…
daniel_weinreb · 2009-05-11
If you read my original post, you'll see that it has absolutely nothing to do with teaching marketable skills nor popular languages. The point was that the change in languages was not a goal in itself, but merely an incidental consequence of what the real goals were. (The title of the blog entry was meant to be ironic.) http://danweinreb.org/blog
lallysingh · 2008-09-18
A response by Dan Weinreb:
http://danweinreb.org/blog/the-failure-of-lisp-a-reply-to-brandon-wern…