Recently
Dan Weinreb mentioned a paper about ObjectStore he co-authored with
Charles Lamb, Gordon Landis and Jack Orenstein in 1991. It's a bit hard
to find unless you have an ACM account. I've made it available
here.
Enjoy!
/lisp-news |
permanent link
(2 writeback)
- posted by
Olivier Drolet
- 12/13/2007 19:09:14
Is there a pdf version of this scan that does not suffer from the odd horizontal lines?
- posted by
Justin Grant
- 12/13/2007 23:27:31
Thanks for putting it up Lispmeister.
After reading Dan Weinreb's
posting
I
ordered
three OLPC XO notebooks.
I've met
Walter Bender
some years ago through a licensing deal with MIT Media Lab. He is now heading the OLPC
initiative. This is quite likely the most significant project since Tim Berners Lee's invention
of the WWW.
Some nice features of the XO-1:
- Comes with source code for all applications and most of the operating system.
There's even a View Source button on the keyboard that shows the code
of what's running.
- Based on Linux, but application code is in Python
- 1200x900 7.5" diagonal LCD that works without backlight in bright daylight
- Wireless networking capable of mesh mode
- 2- or 5-cell LiFePO4 battery pack
- Built in color camera
Links:
/lisp-news |
permanent link
(2 writeback)
- posted by
Hendrik
- 12/07/2007 05:21:37
Why buy if you can
download it?
As for the linked review: "The Give One Get One deal is only available for another 7 days. It may be hard to get them after that since they are going to be sold only to schools and other educational institutions and governments and in the third world." Estimated time until the first Thai kid offers theirs on eBay: 3.5 min. :)
Why - posted by
lispmeister
- 12/07/2007 11:49:20
Of course I can run the development environment on my Powerbook or workstation. But the intention is to give the three units ordered to my kids. As for the availability at ebay, that really misses the point. It's a global market, of course they'll be available somehow
Coming back to a
posting
from 2004, I'm happy to report that fiction is now science.
The Science Blog has an
article
on the first official use of MRI to
"investigate the potential innocence of a woman convicted of poisoning a child in her care."
Link
to the source article in European Psychiatry.
/citations |
permanent link
(0 writeback)
During lunch Paul Dale and I talked about self modifying code and how it might apply to real world systems. Later that same day I did a quick check on Wikipedia to read up on the current state of the art. I was surprised to find a link to a paper about self modifying kernel code by Henry Massalin.
Reading his PhD thesis about the Synthesis kernel, like learning Lisp, is a mind altering experience. This guy is a genius! My first thought after reading the introduction was:
This has to be added to the Movitz kernel!
The Synthesis paper lists four new ideas:
- Run-time code synthesis — a systematic way of creating executable machine code at runtime to optimize frequently-used kernel routines — queues, buffers, context switchers, interrupt handlers, and system call dispatchers — for specific situations, greatly reducing their execution time.
- Fine-grained scheduling — a new process-scheduling technique based on the idea of feedback that performs frequent scheduling actions and policy adjustments (at sub-millisecond intervals) resulting in an adaptive, self-tuning system that can support real-time data streams.
- Lock-free optimistic synchronization is shown to be a practical, efficient alternative to lock-based synchronization methods for the implementation of multiprocessor operating system kernels.
- An extensible kernel design that provides for simple expansion to support new kernel services and hardware devices while allowing a tight coupling between the kernel and the application, blurring the distinction between user and kernel services.
I was curious what a guy like Henry had been doing since finishing his PhD in 1992. Some googling showed that he's working for MicroUnity, a startup that somehow never got any serious traction, filing one patent after another. He is famous
for giving people piggyback rides (the inventors of UNIX among them) and he is now known as Ms. Alexia Massalin. Talk about self modification!
Links:
/citations |
permanent link
(5 writeback)
Wowza... - posted by
Perry E. Metzger
- 10/08/2007 12:51:52
I knew (as Dr. Massalin was then named) Henry at the Columbia CS department twenty years ago. Lots of cool ideas -- superoptimizer, real time kernel code generation, etc -- but not a lot of people have taken them up.
Henry used to work a lot with hardware he'd built himself, and would sometimes rewire breadboards while machines were running without crashing them. It was pretty amazing to watch.
BTW, your email is bouncing, or at least was when I last tried sending you a note.
patents + takeup - posted by
anonymouse moocow
- 10/08/2007 19:25:43
Uhm. "not a lot of people have taken them up" and "filing one patent after another" just might be related. Patent monopolies have long been known to slow innovation, contrary to the patentist propaganda. If the patent-restricted ideas (in practice, software patents cover ideas, whatever the theory) are any use, expect greater takeup when the monopolies expire, much like with public key crypto (once-RSA) or decent virtualisation (once-IBM).
- posted by
Marijn Haverbeke
- 10/10/2007 22:48:45
It is interesting how nicely the partial evaluation could be mapped to closures. It should be possible for a Lisp implementation to re-compile the code inside a closure, substituting known values for the closed-over variables. You wouldn't want to do this for *every* closure, I suppose, so either the compiler would have to be clever enough to figure out when it is worthwhile (hard to do -- after a closure has been called X times?), or the programmer could somehow specify it in his program text.
- posted by
Marijn Haverbeke
- 10/13/2007 18:50:19
(that is, if the closed-over variables are not mutated, which could be checked statically)
Comments on Henry Massalin - posted by
Tim Josling
- 01/21/2008 21:10:41
I came across Henry's paper at 10:30 the other night and stayed up to 2am reading it. There are some really powerful ideas in there. When I finished reading it though, there is a lot more I would have liked to know eg how exactly did he manage the tradeoffs involved? About 10 years ago I actually implemented a similar design to Henry's. In our case it was a complex table lookup routine which had been rewritten twice already for performance (it was being called over 2X10**8 times per day). We took a high level description of the tables and generated templates for the lookup routines. When the lookups arrived, we used the templates to generate custom code for that set of keys and values. This sped up the routines by a factor of 6 (similar to what Henry achieved). So I know this stuff works. Interestingly the total number of lines of code was reduced with our approach due to the generated templates etc. It was also robust - there was more validation and every one of the ~10**11 calls since then has worked correctly. This sort of thing could be used for dynamic languages to make them as or more efficient than statically types languages. One key to success with this approach is keeping the high level description of the problem space. You generate machine code right from the high level description, which allows a lot of powerful optimisations. Going through layers messes things up.
Marc Andreessen writes about the three different
levels of web platforms in
this
recent blog posting.
I'd like to point out that, as far as I know,
Viaweb,
an online shop system build by
Paul Graham
and
Robert Morris,
was the first level 3 web platform according to the
definition given by Andreessen:
A Level 3 platform's apps run inside the platform itself -- the platform provides the "runtime environment" within which the app's code runs.
The DSL for Viaweb was called
RTML
and was implemented in Common Lisp. Customers could actually
program their own shops instead of just configuring templates.
I especially like this quote from
Lisp in Web-Based Applications:
When one of the customer support people came to me with a report
of a bug in the editor, I would load the code into the Lisp
interpreter and log into the user's account. If I was able to
reproduce the bug I'd get an actual break loop, telling me exactly
what was going wrong. Often I could fix the code and release a
fix right away. And when I say right away, I mean while the user
was still on the phone.
Such fast turnaround on bug fixes put us into an impossibly tempting
position. If we could catch and fix a bug while the user was still
on the phone, it was very tempting for us to give the user the
impression that they were imagining it. And so we sometimes (to
their delight) had the customer support people tell the user to
just try logging in again and see if they still had the problem.
And of course when the user logged back in they'd get the newly
released version of the software with the bug fixed, and everything
would work fine. I realize this was a bit sneaky of us, but it
was also a lot of fun.
Links:
/lisp-news |
permanent link
(1 writeback)
White House Publishing System in 1994 - posted by
RJ
- 09/18/2007 23:06:24
http://www.cl-http.org:8001/cl-http/history.html
The system ran at the White House early as 1994. It was running on Open Genera and using the integrated Statice database. Open Genera (OS, Lisp) was the runtime for the database (Statice), the web server (CL-HTTP) and the application (COMLINK). The application ran during the Clinton presidency to deliver publications to the american citizens.
"This server was originally written in about ten days during February, 1994 on a Lisp Machine, and incrementally extended thereafter. In March 1994, it was incorporated into a larger system under development by the Intelligent Information Infrastructure Project at the AI lab. That larger system, called COMLINK, was an experimental prototype used to electronically publish documents released by the White House on a daily basis from 1992 to 2000. In October 1994, the LispM CL-HTTP was fielded as a component of the White House WWW site..."
For about a year now I've been working for a company in the
FX market.
As a newcomer to the financial services industry I had to do some background reading. I enjoyed Emanuel Derman's [1] lucid account of his life as a
quant.
The rise of algorithmic trading in FX over the last couple of years created a tremendous demand for new and more sophisticated models for all financial markets and products.
Cornelius Luca [2] wrote the most comprehensive introduction to FX markets I could find. Though a bit lacking on the theoretical side, it gives a good overview about FX products, trading strategies and market dynamics.
The financial services industry is totally hooked on Java.
It's just amazing to me, but Java, the second coming of COBOL, is the ecosystem. Unless you look at financial models, which are still mostly done in C++. Although the amount of daily transactions in the FX market is truly mind-boggling, software practice in the industry is in the same wretched state as everywhere else. This is not necessarily a reflection of the intelligence and dedication of the people involved, but when it comes to software, even in high-stakes environments, people work with tools and in a state of mind
similar to the Dark Ages. Amazing.
References:
/books |
permanent link
(8 writeback)
- posted by
Robert Synnott
- 03/24/2007 20:54:49
It's not really all that surprising; Java is, these days, very very widely taught, so lots of people know it, and realistically it's pretty easy for anyone who already programmes to learn.
- posted by
Ignorant Bystander
- 03/25/2007 00:52:54
Have you actually seen the environments that people program Java in these days and how productive they have enabled Java programmers to become? Have you seen the frameworks that have been built in the last couple of years? It's not all bad over there. There are plenty of people that know about Lisp these days, and they just don't want to use it in its current state because it is so far behind everything else out there.
- posted by
warren henning
- 03/25/2007 04:13:02
The only major exception I know of is St Janes Capital, which uses OCaml throughout their operation. The heart of their trading system/infrastructure is about 250,000 lines of OCaml code. It's also used for quantitative modelling.
I think with some work an ML-like language such as OCaml could be an excellent replacement for C++ or Java.
- posted by
Jason
- 03/25/2007 05:54:40
Java has a well deserved bad reputation, but the JVM is actually quite good. Now, if a nicer language could evolve out of Java and run native on the JVM, that would be great (oh...wait...Groovy).
Lisp is great. I love it. But lets face it; there is not a lot of shared knowledge out there with lisp. Businesses cannot take the kind of chance.
Now, if someone were to make a Lisp of the JVM...well...we could talk!
- posted by
Eli
- 03/25/2007 07:13:48
Jason: check out Armed Bear Common Lisp (http://armedbear.org/abcl.html). Common Lisp on the JVM.
Hey there's Ada too - posted by
Laurent GUERBY
- 03/25/2007 15:38:08
Check:
http://www.adacore.com/home/company/customers
BNP Paribas, PostFinance, New Trade Research
- posted by
iPaul
- 03/27/2007 01:09:21
I agree with you that Java is mostly used as the second coming of Cobol in most applicatons. Java is a fine language and VM, but the ecosystem that's grown around it is full of over-engineered standards and frameworks that require you to use an IDE to line up all the various configuration files to put "Hello world" on the screen using a JSF/Struts/J2EE compliant app server. A lot of the arguments for Java are similar to the arguments that used to be made for the Cobol/CICS/MVS stack (great enterprise frameworks, large code base, secure, stable, etc), and are perfectly vald in their context. However, working in that sterile, business-oriented environment has sucked the creativity out of much of the Java community, and has soured me on the language.
- posted by
klaus
- 03/27/2007 13:28:33
> The financial services industry is totally hooked on Java.
Not quite, at the Bank I am currently consulting for,
it is still all Cobol, PL/SQL, and some C. At BNP Paribas it
is almost 100% Cobol.
I've been doing some research into
trust metrics and
reputation markets.
Electronic markets need a way to create trust between market participants. Of course, as John R. Allen pointed out in his keynote alt ILC05, we need to fix the way we build software first. No cryptographic algorithm will save you, if an attacker can just subvert your platform. First you have to design a trust metric, prove it's correctness, implement it, prove the correctness of the implementation and then you might be able to create reputations and maybe reputation markets.
Reputations should be transferable between markets and maybe even tradeable (Charles Stross mentions reputation futures).
Links:
/citations |
permanent link
(0 writeback)
I've re-enabled writeback (comments) now using
Akismet
to filter comment and trackback spam.
/announcements |
permanent link
(1 writeback)
Akismet - posted by
Jay Kint
- 01/06/2007 08:18:02
I've used it for a while and it's pretty good. I don't get much traffic, but of that I do get, about 1/2 is spam, and Akismet gets 90% of that.