www lispmeister.com

About

A life with Lisp blog

index | rss2.0 | atom

Author

Products

Order Succesful Lisp directly from bookfix.com


Order Successful Lisp by David B. Lamkins at amazon.de
German Shop: Lisp t-shirt
US Shop: JohnMcCarthy Lisp tshirt

Categories

Links

del.icio.us/lispmeister
bookfix.com
medigist.de
Successful Lisp
lemonodor.com
Foresight Institute
Lawrence Lessig
nanobot
Bill Clementson
FuturePundit
Planet Lisp
Nanotechnology Now
Nanodot.org
Unvollstaendigkeit

Archives

Calendar

Creative Commons License
hacker emblem blosxom

2004/04/30

Experiences porting Linj

Antonio Menezes Leitao started a thread on comp.lang.lisp about the difficulties of porting Linj to other Common Lisp implementations.
Porting Linj (my Lisp to Java compiler) to several Common Lisp compilers has been an "interesting" experience. I'll use this post to report the results I got so far ...

PS: A long time ago I got a lot of experience translating programs between Lisps (including FranzLisp, LeLisp, ZetaLisp and Common Lisp). I was quite happy when Common Lisp became a standard because the problems I had making my code compatible with several Lisp implementations were over.

After my attempts to port Linj to different Common Lisp compilers, my faith in the portability of Common Lisp programs is weaker now. I didn't expect to find so many problems. I'm starting to believe that reference implementations are better than written specifications.

2004/04/28

Release: lisp-cgi-utils 0.1

Alexander Schreiber announced the first release of lisp-cgi-utils 0.1 on comp.lang.lisp.
A small toolkit to help developing web CGI applications in Common Lisp. It handles the HTTP/CGI interface:
  • read environment variables
  • read HTTP GET/POST variables
and also helps generating HTML, with special support for working with HTML forms. The HTML support is not completed, some less used tags are still missing and will be added as needed.
It's Raining Libraries #3 - posted by Lemonodor - 2004/5/10 20:57:41
Resolver 0.3, by Dave Roberts, is a Lisp interface to the Linux libresolv.so library. lisp-cgi-utils, by Alexander Schreiber, is “a software package for developing CGI scripts with Common Lisp. It implements a very basic HTTP/CGI interface (sending headers, getting...

Sinusbuster

This is so cool! Cluster headaches and sinus infections have been troubling me for a long time. I read about Sinus Buster when browsing BoingBoing a couple of weeks ago. I ordered a bottle on a hunch from the European distributer. When it arrived I was in the middle of my first hay-fever attack of the year. I tried it right away and it works!

Thinking about it I probably shouldn't be surprised. I know from experience that eating spicy food gives me some relief. The hot curries I prefer use a lot of chillies and capsaicin is what makes chillies hot. Sinus Buster uses capsaicin to increase vascular blood flow through the sinus cavity.

BTW: I'm not in any way affiliated with Sinus Buster, just a happy customer.

- posted by Lorand Bruhacs - 2004/4/28 22:33:29
Geez! Capsaicin up the nose! Sounds a hell of a lot better than nasal bukkake, that's for sure...

2004/04/27

Quantum Mechanics: "Many Worlds" and "Copenhagen" falsified?

Via boingboing comes the news by Kathryn Cramer about the falsification of Everett's "Many Worlds Interpretation" and Bohr's "Copenhagen Interpretation" of quantum mechanics. Seems like Shahriar S. Afshar's findings promote John Cramer's "Transactional Interpretation". No more surfing the many universes. Bummer.

2004/04/26

Alan Kay wins 2003 Turing Award

It's been long overdue and it finally happened last week: Alan Kay received the 2003 Turing Award. [1] [2]

Release: Linedit and Osicat

Nikodemus Siivola announced the release of linedit 0.15.12 and osicat 0.4.0 on comp.lang.lisp:
Linedit is a readline-style library written in Common Lisp that provides customizable line editing features. It uses UFFI for foreign bindings, so it is fairly portable. It supersedes Cl-readline.

Filename completion now expands "~" and "~user". Basic SEXP-motion commands and close-all-sexps added. Includes also minor bugfixes related to commandline history and filename completion. This version requires Osicat 0.4.0.

Osicat is a lightweight operating system interface for Common Lisp on Unix platforms. It is not a POSIX-style API, but rather a simple lispy accompaniment to the standard ANSI facilities.

This release adds access to the passwd database, and various pathname manipulation utilities. Also includes various bugfixes related to eg. WITH-DIRECTORY-ITERATOR and READ-LINK. Note: this version breaks binary compatibility with older releases in client code, due to removal of internal functions that used to appear in the macroexpansion of WITH-DIRECTORY-ITERATOR. This version causes (harmless) package conflicts with pre 0.15.12 versions of Linedit due to new exported function RELATIVE-PATHNAME-P.

Incremental Re-arraying #2 - posted by Lemonodor - 2004/5/7 17:58:38
Nikodemus Siivola recently released updated two of his projects [via Markus Fix]: Linedit 0.15.12 is a readline-like library in Lisp that uses UFFI on unix platforms to provide the following features: single-line text reader multi-line form reader completions on...

LPVM-0.0 - Common Lisp bindings for PVM

Ivan Boldyrev announced the pre-alpha release of LPVM on comp.lang.lisp.
LPVM is PVM3 bindings for Common Lisp with UFFI.

PVM is Parallel Functional Virtual Machine, message-passing communication library for parallel computations.

Damn! :) - posted by Ivan Boldyrev - 2004/4/28 12:46:33
PVM is Parallel Virtual Machine. I made horrible typo in my CLL post... :)

2004/04/23

VAXen, my children, just don't ...

During my teenage years I was earning some money as a junior VAX operator. Ah, that was fun! We also hand coded a product catalog in Postcript. No, really - I'm serious. Maybe that's why I find this story so amusing? (via Fabricio Chalub Barbosa do Rosario)
VAXen, my children, just don't belong some places. In my business, I am frequently called by small sites and startups having VAX problems. So when a friend of mine in an Extremely Large Financial Institution (ELFI) called me one day to ask for help, I was intrigued because this outfit is a really major VAX user - they have several large herds of VAXen - and plenty of sharp VAXherds to take care of them. [continue]
- posted by Lorand Bruhacs - 2004/4/26 11:40:55
When I read this, I laughed so hard my colleagues had to close the office door.

Linj available for Allegro CL

Antonio Leitao announced Linj for Allegro CL on comp.lang.lisp. Seems like he has some problems to get it ported to a couple of other CL implementations:
I also tried to compile Linj in other Common Lisp implementations but I discovered a few annoying bugs in those implementations and we will have to wait until they are corrected (I did report them to the implementors).

Other environments (MacOSX and FreeBSD) are on my list, most probably using Allegro CL again.

Comments are very welcome!

2004/04/22

Grokmail and POPFile

Some time ago John Gilmore envisioned Grokmail, an automatic email classification system. Unfortunately he never released his research prototype.

John Graham-Cumming developed and released POPFile, which essentially implements the Grokmail idea as an email proxy on the client side. John will be very pleased to hear that it's released under the GNU license.

POPFile classifies email into categories you define. It can sort into spam and not spam or into any number of categories you like

The classification is done using a naïve Bayes algorithm. In other words, POPFile uses statistics to track which words are likely to appear in which messages. This means that POPFile will adapt to the kind of mail you receive and needs to be trained. Out of the box, it doesn't know anything about spam or how messages from your mother differ from those your friends send you. However, if you train it, it will soon learn how to tell these different kinds of messages apart.

This is a nice solution if you don't run your own server.

2004/04/19

Emacs Common Lisp

Lars Brinkhoff announced Emacs Common Lisp on comp.lang.lisp.
Emacs Common Lisp is an implementation of Common Lisp, written in Emacs Lisp. It's not like Emacs' "CL" package as it does not intend to extend Emacs Lisp with Common Lisp functionality; however, Common Lisp functions compile to standard byte code functions, so Emacs Lisp functions can call Common Lisp functions and vice versa.

At this stage many bugs remain and error checking is sparse, but the implementation is good enough to run a few of the GCL ANSI tests.

2004/04/16

The Confusion

Neal Stephenson's The Confusion, Vol. 2 of The Baroque Cycle is out! Wired has an interview with the author about the new book (link via BoingBoing):
Confusion de Confusiones is the title of a book written in 1688 by Joseph de la Vega about the Amsterdam stock market. It takes the form of a very long letter written by a Spanish Jew living in Amsterdam to his country cousins who are thinking about moving to the city. He describes the amazingly diverse tactics and schemes used by investors playing the market there. Even though there was only one stock being traded -- the Dutch East India Company -- they had bulls, bears, panics, bubbles and most of the other features of modern bourses.
At some level, trying to explain such events is a little like trying to explain the weather. Very generally, it has to do with the flow of metal around the world. That's important because money is a sort of medium for the exchange of information. When the price of cloth went up in Antwerp, it was because the system of international trade, in some fashion that's too complex for us to understand, was transmitting information about the supply/demand balance. Money makes that kind of information flow better.

2004/04/15

Lisp to C vs machine level

Today, while googling for something completely different, I found this news posting by Duane Rettig where he explains why Franz Inc. decided to "compile to native machine code instead of using C as a sort of pseudo-assembler". His Kung Fu was strong when he wrote this:
It has been said that C is very close to assembly language.  I disagree.
This assumption has often lead people to erroneously assume that
there is little difference between a lisp that compiles to C and one
that compiles directly to machine code.  In fact, there are quite a
few things that can be done with assembler/machine-code that are hard
or impossible to do in C...

2004/04/14

A Guided Tour of the Common Lisp Interface Manager

Paolo Amoroso unearthed a CLIM tutorial. I've converted the Postscript version to PDF and made it available here. It looks a bit strange on screen but should print fine.
Paolo Amoroso found a - posted by Lemonodor - 2004/4/14 18:43:29
Paolo Amoroso found a CLIM tutorial from the old ACM publication Lisp Pointers that Markus Fix subsequently converted to PDF: “A Guided Tour of the Common Lisp Interface Manager”....

2004/04/13

Close to the Machine

I like Ellen Ullman's book about programming and debugging. She's got stile and she's been there, done that. I haven't read her new title The Bug yet, but the reviews sound promising. There's an interview with her at salon.com and some excerpts from her first book:
I have passed through a membrane where the real world and its uses no longer matter. I am a software engineer, an independent contractor working for a department of a city government. I've hired Joel and three other programmers to work with me. Down the hall is Danny, a slim guy in wire-rimmed glasses who comes to work with a big, wire-haired dog. Across the bay in his converted backyard shed is Mark, who works on the database. Somewhere, probably asleep by now, is Bill the network guy. Right now, there are only two things in the universe that matter to us. One, we have some bad bugs to fix. Two, we're supposed to install the system on Monday, which I think is tomorrow.

2004/04/12

Twenty Years Ago: AI Business

One of the books I read during Easter holidays is AI Business: Commercial Uses of Artificial Intelligence published by MIT Press in 1984. Now that was an entertaining read! I'll just mention one article from book: "Inventing the Future" by Alan Kay is worth reading after all these years. Let me give you some juicy quotes from Kay's article:
Perhaps the most difficult thing for people to grasp is that it takes almost fifteen years to accept a new programming language. This is unbelievable. A generation in Computer Science is about three years; that is the length of time it takes to write an operating system. So we are talking about five generations for the acceptance of a programming language.

Most programming languages bring the following image to my mind: there is a demented but incredibly powerful Greek god pulling the strings on all the puppets in the universe. There are an awful lot of strings that have to be pulled. String-pulling languages, such as PASCAL, BASIC, ALGOL, and ADA, comprise about 90 to 95 percent of all the languages. Imagine a bearded programmer who whispers in the Greek god's ear what the god should do next.

Now, I'm sure he was talking about Java without knowing, but that would mean he's clairvoyant. Here's another quote:
I suggested to our Xerox executives that there are certain themes deep inside humanity, without which we cannot be human.

Two of those themes are communication and fantasy. I consider the airplane a communication device. I consider the photocopier a communication device. The railroads thought they were in the railroading business, and IBM thought they were in the computer business, but both were really in the communication business. History shows clearly that anytime anybody makes a communication amplifier, even if it costs more than what it is displacing, it is still going to do well if it is an improvement.

More quotes - posted by Vladimir Sedach - 2004/4/13 01:33:26
I read that book last year. It is a treasure trove of quotes from Alan Kay. Here are some ones I took down: "You can teach almost everything that is known that is worthwhile in Computer Science to somebody in a year. There is not that much of it." "In our society we have hard nerds and soft nerds." "The one thing it [Lisp] has going against it is that it is not a crystallization of style. The people who use it must have a great deal of personal style themselves. But I think if you can have one language on your system, of the ones that have been around for a while, it should be Lisp." And of course the famous point-of-view quote is from this book: "It is the difference of point of view that leads to problems: point of view is worth 80 IQ points."
- posted by Vladimir Sedach - 2004/4/13 01:35:27
Heh. Future commentators be warned! Your posts must be formatted with HTML. There is no preview button! Shocks and amazement await.

2004/04/11

Linj compiler released

António Leitão announced the first release of the Linj compiler on comp.lang.lisp. From the README:
This Linj distribution is free of charge for non-commercial use. If you use Linj for profit, you should contact us and buy a license.

Linj is a Lisp-like language that is translated into human-readable Java code. Contrary to Java, Linj provides several of the characteristics that make Lisp languages so productive such as extensible syntax, type inference, automatic coercions, etc. Linj requires a Common Lisp compiler.

António Leitão gave a spectacular talk about Linj at ILC03.

2004/04/06

uControl: Gimme Back My Control Key!

Ever since I bought my Powerbook the stupid Caps Lock key was driving me mad. When I work on my Linux workstation I use a Avant Stellar keyboard which allows me to remap and physically swap the Caps Lock and Ctrl key. Today I discovered uControl and it works like a charm! It let's me remap Caps Lock and Ctrl key on my Powerbook.

Lately I've been typing a lot on the Symbolics keyboard. Maybe I should add a feature to swap Caps Lock and Backspace keys to uControl. My left pinky is constantly searching for the Rubout key.

If you think about it, the correct mapping in the lower left corner of a Powerbook should read "Hyper, Super, Meta, Control".

- posted by Zach Beane - 2004/4/6 19:27:47
I like uControl, but my iBook has an ADB keyboard that doesn't send CapsLock events in a sane way. uControl works around it, mostly, but sometimes it gets stuck and I have to tap CapsLock a few times. It gets annoying after a while.

2004/04/05

COGENT: Cognitive Objects within a Graphical EnviroNmenT

COGENT is a really nice project that uses a graphical environment for cognitive modelling. It's GNU licensed and the developers provide binary installers for Windows, Linux and Mac OSX. In the backend they use SWI Prolog to do the modelling. The user can do most of the modelling via visual programming and the UNIX/OSX version is scriptable. The book Modelling High-Level Cognitive Processes by Richard P. Cooper utilizes the COGENT environment for it's examples.

2004/04/02

PCLOS Reference Manual

Edi Weitz asked HP to make the PCLOS Reference Manual by Andreas Paepcke available online.
This document combines three formerly separate manuals of as many successive PCLOS versions: 2.0, 2.1 and 3.0. The three-part structure reflects this. Part one contains the bulk of information, about PCLOS, and it is indexed for easy reference. Parts two and three describe modifications that were made to the system over time. These include bug fixes, upgrades and modifications in response to user feedback. The reader should therefore pay attention to those, since they occasionally provide information that supersedes material in part one. Note that parts two and three are not included in the index.
Tramadol ultram medicine. - posted by Tramadol. - 02/13/2008 20:31:49
Tramadol hcl. Tramadol. Tramadol medication.

CADR Shrine Images

François-René Rideau notified about the broken state of my gallery of CADR images. I've just repaired that.

Another CL book available online

Common Lisp: An Interactive Approach by Stuart C. Shapiro is available online as dvi, ps and pdf.