Boston Lisp Meeting on May 23

May. 22nd, 2013 | 08:26 am

Boston Lisp meetings are a lot of fun. Here's Alex Plotnick's announcement for the next meeting:

I'm pleased to announce that François-René Rideau will speak at the next Boston Lisp meeting on his recent work on ASDF 3. The meeting will take place on Thursday, 23 May at 6:30 PM, in the Star Conference room at MIT's Stata Center (MIT 32-D463; <http://whereis.mit.edu/?go=32>).

I'm sorry about the short notice on this one; communications problems of all kinds have been gumming up the works. Please feel free to spread the word about the meeting via whatever mechanisms are available to you.

Talk details (courtesy of Faré) follow. I hope to see you all there!

Title: "ASDF 3, or lessons in building portable Common Lisp programs"

Summary:
"ASDF (Another System Definition Facility) has been the de facto standard Common Lisp build system for over ten years. I recently rewrote it completely, several times, all the time (mostly) preserving backwards compatibility. The latest incarnation, ASDF 3, in addition to fixing deep design bugs older than ASDF itself, also includes extensive portability library, UIOP, not to be confused with an existing parallelizing extension, POIU. I will show how to use ASDF, explain the recent improvements, and discuss the challenges of writing portable Common Lisp programs and what that means for the past and future of Lisp."

About the speaker:
"François-René Rideau is a Lisp plumber. On good days, he designs great piping for persistent data, to be used in airline reservation system of ITA (now part of Google). On bad days, he dons his rubber gloves and scrubs the pipes. He also has a blog, Cybernethics, where he writes on liberty, music, programming, and dynamic systems in general."

I can't make it, but if you're in the Boston area, you should go!

Tags:

Link | Leave a comment | Add to Memories | Share

(no subject)

May. 14th, 2013 | 08:57 am

Yesterday around 4PM the phone rang, and came up UNKNOWN NUMBER on the caller id. Those are never worth answering, but I picked up anyway.

Hello? "Hello, this is Jack," said a heavily accented voice, "This is the second call about the slow performance and possible virus problems of your Windows PC."

I don't have one of those, is what I thought, but what I said was, Ok, yeah, I have had a lot of problems lately. "Well sir I am calling to assist you with those problems, is the PC on right now?" Yeah, sure. "Ok, sir, can you please go to your PC."

Ok, I'm at my PC. "Now in the LOWER, LEFT corner of the screen, do you see a Windows button?" Windows button? What's that? "It looks like a flag." What color flag? "It is a flag in the corner." Which corner? What color is it?

Jack is starting to sigh. "In the LOWER, LEFT corner." I don't see a button anywhere. "It is in the corner sir." OH! I see the button!

Jack gets happier. "Now do you see Computer or My Computer in the menu that pops up?" I don't see any menu. "You have to click the Windows button." Where is that? More sighs. "In the lower left corner." OH! Ok, I clicked it! "Do you see Computer or My Computer in the menu?" I can't see YOUR computer! I'm at my house! "No, do you see COMPUTER, or do you see MY COMPUTER?" I can't see your computer, that doesn't make any sense!

Jack sighs some more. "What do you see for menus?" OH! I see Computer there! "Ok, can you right-click on Computer, and..." I closed the menu. Sigh, sigh. "Can you open the menu again and right-click on..." Where am I supposed to write it?

I can't stop laughing any more, so I interrupt Jack and ask him how dumb he thinks I am. "VERY DUMB!" He is pretty mad. Jack, who are you calling from, who do you represent? "I am calling from Afghanistan!" And what company are you calling from? "I am Mozilla Firefox!" And what are you trying to do? "I am trying to HACK YOUR COMPUTER!" I just laugh and wish him good luck, and he says "Go to hell, you bastard!" and hangs up.

Link | Leave a comment {3} | Add to Memories | Share

ECLM 2013 - two days left to register

May. 13th, 2013 | 01:33 pm

Important news:

Subject: ECLM 2013 - two days left to register
Date: Mon, 13 May 2013 19:17:26 +0200
From: Edi Weitz

Ladies and Gentlemen,

This is our last call - there are two days left to register for this year's ECLM in case you haven't done so already:

   http://weitz.de/eclm2013/

We have more than 50 registrations so far, but we wouldn't mind seeing another dozen or two...

Best regards,
Arthur & Edi.

I greatly enjoyed my last visit to ECLM and I can't recommend it highly enough if you want to meet people with interesting Common Lisp projects and ideas.

Tags:

Link | Leave a comment | Add to Memories | Share

Lisp gatherings

May. 8th, 2013 | 03:13 pm

I'm very excited to be attending both ECLM and ELS in Madrid this year. This is the last week to register for ECLM, so if you want to go, you should register ASAP.

Tags:

Link | Leave a comment | Add to Memories | Share

jscl rising

Apr. 28th, 2013 | 12:17 pm

I am impressed with the web-based jscl repl. Most Lisp web repls are for toy Lisps. I was so charmed that the first form I tried in JSCL, (make-package "FOO"), worked that I didn't mind that a lot of other stuff hasn't been implemented yet. I want to help hack on it to make it better!

A bunch of people have forked it on github to add more and more functionality, and I think jscl will just keep getting cooler. Good job, David Vázquez and contributors!
Tags:

Link | Leave a comment {4} | Add to Memories | Share

Quick and dirty progress tracking

Apr. 24th, 2013 | 10:39 pm

Today I was running some analysis on about 9,000 files, basically mapping a function over each to warm up a cache. Something like this:

* (map nil 'analyze-file *9000-files*)
time passes

I had no idea how well it was progressing, and whether I'd need to take a snack break or let it run overnight. So I interrupted it and wrote a quick and dirty REPL utility function:

(defun :dot-every (count fun)
  (let ((i 0))
    (lambda (&rest args)
      (when (< count (incf i))
        (setf i 0)
        (write-char #\. *trace-output*)
        (force-output *trace-output*))
      (apply fun args))))

It prints out one dot per COUNT invocations of the function it returns, giving some indication of progress. Sensible values for COUNT depend on the volume of function calls.

For this problem, I called it with a COUNT of 100:

* (map nil (:dot-every 100 'analyze-file) *9000-files*)
............etc

The cached analyses printed out a ton of dots quickly, and the uncached analyses started printing dots at a slow but steady pace, and I could tell that it would be done in a few minutes instead of a few hours.

So now I'm going to use this to wrap up any function I have to call a ton of times and I want to get a sense of how it's progressing.

Tags:

Link | Leave a comment {5} | Add to Memories | Share

Maximum (Lisp) Overdrive

Feb. 16th, 2013 | 11:41 am

A long time ago Philip Greenspun wrote about a system to control bulldozers with Lisp Machines. You can read about it in his thesis, SITE CONTROLLER: A system for computer-aided civil engineering and construction.
Tags:

Link | Leave a comment | Add to Memories | Share

The Rob Warnock Lisp Usenet Archive

Feb. 2nd, 2013 | 09:38 pm

I've been reading and enjoying comp.lang.lisp for over 10 years. I find it important to ignore the noise and seek out material from authors that clearly have something interesting and informative to say.

Rob Warnock has posted neat stuff for many years, both in comp.lang.lisp and comp.lang.scheme. After creating the Erik Naggum archive, Rob was next on my list of authors to archive. It took me a few years, but here it is: the Rob Warnock Lisp Usenet archive. It has 3,265 articles from comp.lang.lisp and comp.lang.scheme from 1995 to 2009, indexed and searchable. I hope it helps you find as many useful articles as I have over the years.

Here are a few articles I've saved and shared over the years:
There are many, many more, but I hope this gets you interested in finding some on your own Enjoy!

(In case you're curious, I used a library called usenet-legend to create the archive and make it searchable. I also have some unreleased code that provides a thin layer of web interface on top of usenet-legend.)
Tags:

Link | Leave a comment {7} | Add to Memories | Share

Dr. David McClain code release

Jan. 2nd, 2013 | 11:18 am

Dr. McClain has been working on cool Common Lisp stuff for many years, and now he's starting to release some of his code.
Well, it has been more than 20 years with Lisp in earnest... I'm sitting on a gold mine of great code that I have
used over the entire period, and still use daily in my work. But it seems the Lisp community is a bit short on
libraries of code. No point sitting on all this stuff till I die...

One of the (many) great things I have found with Lisp is that Code Rot (I always called this Bit-Rot, but I
realize that I'm wrongly attributing when I do that) is almost a non-problem, compared to just about every
other language system that I have used in my 40+ year career. I'm still using a large body of code that I wrote
nearly 15-20 years ago and has never needed any maintenance.

My code generally grows organically to supply solutions to problems I am facing in my own work. I generally
don't write libraries for others to use. And that will show through in a lot of what I share with the world.
C'est la vie...
You can read the rest of his message on the lisp-hug archive. His github page is here.
Tags:

Link | Leave a comment | Add to Memories | Share

CAPI demos from Dr. Weitz

Jan. 2nd, 2013 | 09:07 am

Some interesting news from Edi:
The upshot in terms of Lisp evangelism has been quite good, BTW. Most
of the students have only been exposed to Java and scripting languages
so far and there are always some who express an immediate interest in
learning more about CL.
Read the full post here.
Tags:

Link | Leave a comment | Add to Memories | Share