Meet Los Angeles Lisp nerds
Jul. 9th, 2009 | 08:50 am
I've been slack on my Lisp user group calendar, sorry. If you have a user group meeting coming up, won't you please let me know? You can also tell me on twitter, where I'm xach.
The CRACL group is meeting on July 19th. The Twin Cities Lispers are meeting on July 14th. The Toronto group met a few days ago. You need a time-travelling debugger to catch that one, sorry.
Link | Leave a comment | Add to Memories | Tell a Friend
Lisp time nerds, take note
Jul. 8th, 2009 | 03:46 pm
(multiple-value-list (decode-universal-time 3456789012 0)) => (12 10 3 17 7 2009 4 NIL 0)
That's just a few short days away. Plan accordingly.
Link | Leave a comment {1} | Add to Memories | Tell a Friend
No more mudballs development for now
Jul. 7th, 2009 | 09:15 am
I mentioned mudballs a few months ago. Its maintainer, Sean Ross, recently announced that he was no longer able to continue mudballs maintenance and development.
Link | Leave a comment | Add to Memories | Tell a Friend
what does it mean?
Jul. 6th, 2009 | 04:39 pm
Do you read Russian? Can you tell me what this page says? I'm just trying to get a basic understanding: do they like it? Do they hate it? Do they have any criticism or praise?
Link | Leave a comment {5} | Add to Memories | Tell a Friend
Happy birthday, Isaac!
Jul. 1st, 2009 | 09:21 am
Link | Leave a comment | Add to Memories | Tell a Friend
Bay Area Lisp meeting on July 19, 2009
Jun. 24th, 2009 | 12:56 pm
This sounds pretty cool:
So finally, here is the skinny on the Sunday, July 19th in the big conference room at Franz Inc: 6:00pm ~ Meet in front of the Franz office (2201 Broadway, Suite 715, Oakland, CA 94612). The kind folks at Franz Inc will herd us cats up to their big conference room before 6:15. 6:15pm ~ Introduction to Clojure Amit Rathore will give an introduction to Clojure aimed at lispers. 6:45pm ~ Milk and cookies (http://www.meetup.com/balisp/polls/189504/) 7:00pm ~ Coders at Work: The Lisp Perspective Peter Seibel talks about the interviews from his new book Coders at Work (http://www.codersatwork.com/), particularly what his subjects had to say about Lisp and Lisp related topics. Will include bits that didn't make it into the book. 7:30pm ~ Coders at Work QA 7:45pm ~ &optional Belgian beer outside and around the corner at Lukas Thanks for staying tuned, hope to see you there. For more info see: http://www.meetup.com/balisp/calendar/10589286/
Link | Leave a comment {3} | Add to Memories | Tell a Friend
RIP, Erik Naggum
Jun. 21st, 2009 | 07:47 am
Erik Naggum was the first person I killfiled in GNUS. His style was sometimes shockingly blunt and aggressive. After a while, though, I realized I was missing out, and I came to treasure the information and insight in his messages.
I learned yesterday that Erik died. I'm sorry to hear it; I occasionally contacted him to clarify or expand on some technical matter he wrote about in the past, and he was always helpful. I thought I would just be able to do that whenever I wanted, but now it's too late.
His death has, not surprisingly, led some people to go through the same initial experience I had, seeing some blunt and shocking language and wondering why anyone would care about its author. Here are some links that I hope show a small part of Erik's contributions to knowledge.
I think a newcomer would benefit from reading two in particular:
- Erik Naggum's ideas and principles - each one is worth reading
- The difference between interactions gone wrong and interactions gone right with Erik Naggum.
Here are the rest, taken from my bookmarks:
Lisp
Unix solutions vs. Lisp solutions for the same problems
A lengthy explanation of types as they relate to CL
Programming in Lisp, delivering in some other language
A cute read macro dispatch scheme
Lazy-loading with SLOT-UNBOUND
Using CHANGE-CLASS for object "deletion"
"Unix quality" vs "Lisp quality", with sockets as an example
"if you can't outperform C in CL, you're too good at C. " (see the whole thread for details)
Destructors, finalizers, weak pointers
Kitchen hygiene compared to Lisp hygiene
Misc
An introduction, written just two months ago
The Long, Painful History of Time
The oil industry in Norway is really big
The "Norwegian Dream" (vs the American Dream) is to win the lottery
"most everything worth doing is associated with effort and some pain"
"Western culture is favorable to mediocre people and hostile to smart ones"
Core ideas behind SGML and XML
Feedback loops of lisp, reward, punishment, psychotic environments
"the market does not in fact lead anything or anywhere"
"Just let other people have their desires and needs. Do not let them affect yours."
"Which is the best car? How do you choose?"
Adapting emacs for rapid prose editing
The purpose of higher education
Erik's computer-oriented biography
Link | Leave a comment {10} | Add to Memories | Tell a Friend
First TC Lispers meeting
Jun. 12th, 2009 | 11:29 am
It sounds like the first TC Lispers meeting was a success. Patrick Stein really liked it.
Link | Leave a comment | Add to Memories | Tell a Friend
Linux Google Chrome beta
Jun. 12th, 2009 | 09:15 am
I got the Ubuntu Google chrome beta. It's really fast. A couple things about it surprised me.
First, I was surprised when apt-get upgrade automatically updated Chrome. The Chrome deb hooks into the apt update machinery, and adds a key to your approved key list. It even creates a crontab entry that restores the apt configuration:
# It creates the repository configuration file for package updates, and it # monitors that config to see if it has been disabled by the overly aggressive # distro upgrade process (e.g. intrepid -> jaunty). When this situation is # detected, the respository will be re-enabled.
Second, I heard that V8 was 32-bit only, and I have a 64-bit system. Is it 64-bit now? Nope. It installs a bunch of 32-bit libraries:
$ dpkg-query -L google-chrome-unstable | grep '\.so' /opt/google/chrome/lib32/libssl3.so.1d /opt/google/chrome/lib32/libnspr4.so.0d /opt/google/chrome/lib32/libsqlite3.so.0.8.6 /opt/google/chrome/lib32/libsoftokn3.so /opt/google/chrome/lib32/libplds4.so.0d /opt/google/chrome/lib32/libplc4.so.0d /opt/google/chrome/lib32/libfreebl3.so /opt/google/chrome/lib32/libnss3.so.1d /opt/google/chrome/lib32/libnssckbi.so /opt/google/chrome/lib32/libsmime3.so.1d /opt/google/chrome/lib32/libnssdbm3.so /opt/google/chrome/lib32/libnssutil3.so.1d /opt/google/chrome/lib32/libsqlite3.so.0
I was bummed it wasn't "real" 64-bit.
Link | Leave a comment {2} | Add to Memories | Tell a Friend
Survey results: Lisp-2-ness is used by many
Jun. 7th, 2009 | 06:27 pm
Thanks to the many who responded to my survey on comp.lang.lisp and on my blog. It seems like more than 80% of the more than 60 people who responded do not avoid using the same names for variables and functions.
The original statement that inspired the survey was posted to the arc forum a few days ago.
Link | Leave a comment {8} | Add to Memories | Tell a Friend
Survey: Do you use the "2" in Lisp-2?
Jun. 4th, 2009 | 04:06 pm
I came across this approximate statement today:
Lisp-2 programmers avoid using the same names for functions and variables.
That didn't sound right to me. I use Common Lisp, and I couldn't come up with any personal examples of avoiding that practice. I also couldn't remember actively thinking about the issue at all; I just use whatever variable names seem natural.
Then I tried to think of examples when I did use variables with the same name as a function: I often use the variable name list, and I often have variables with the same name as a slot accessor (I don't use the foo-of convention). But it hasn't been an active, conscious decision when writing, and it doesn't jump out at me when re-reading as some kind of clash.
So my survey question is this: Are you are a Lisp-2 programmer, and do you avoid using the same names for functions and variables? Let me know.
Link | Leave a comment {54} | Add to Memories | Tell a Friend
Chipz vs. YA Deflate
Jun. 4th, 2009 | 09:30 am
Pierre Mai released his new deflate inflating library yesterday, so I did little bit of testing against Chipz. On my Core 2 Duo system with 64-bit SBCL, Chipz is about 25% faster at inflating. Pierre says his program is "...for those who need something with a less restrictive license or better performance than is currently freely available", but it seems to me that the main advantage over Chipz is that it has a very simple interface and lives in a single file.
I didn't try it against inflate.cl because that file was recently updated and uses Allegro CL-specific code now.
Also, when fiddling around making a test file, I was pleased to see this:
(time (salza2:gzip-file "kjv10.txt" "kjv10.salza2.gz")) Evaluation took: 0.546 seconds of real time 0.540000 seconds of total run time (0.540000 user, 0.000000 system) 98.90% CPU 981,743,175 processor cycles 279,984 bytes consed
$ time gzip -c kjv10.txt > kjv10.gzip.gz real 0m0.624s user 0m0.630s sys 0m0.000s
But sad to see this:
$ ls -l kjv10.*.gz -rw-r--r-- 1 xach xach 1403140 2009-06-04 06:52 kjv10.gzip.gz -rw-r--r-- 1 xach xach 2014735 2009-06-04 06:52 kjv10.salza2.gz
It's not so hard to be fast when you do a bad job. :)
Link | Leave a comment {1} | Add to Memories | Tell a Friend
I'm sure they'll get right on it
Jun. 3rd, 2009 | 12:29 pm
You can view past photos on bing, but only with the help of the silverlight plugin. I'm using Linux, but what the hell, I'll click the "Install Silverlight" link anyway. It goes here:
The site that you visited was built for an earlier, beta version of Silverlight - not the current one. Please contact the site owner to let them know that they must upgrade to the latest release of Silverlight 2. Let us know if the site is not updated shortly so we can try to assist in upgrading the site to the latest Silverlight technology.
Right hand, expect an email from the left hand shortly.
Link | Leave a comment {1} | Add to Memories | Tell a Friend
Lisp links
Jun. 3rd, 2009 | 07:51 am
If you're looking for interesting Lisp links, Rainer "lispm" Joswig and others are posting frequently to the Lisp subsite of reddit.com.
Link | Leave a comment | Add to Memories | Tell a Friend
Un-American
May. 31st, 2009 | 07:11 pm
I was flipping through Eisenhower's Mandate for Change at random today, and came across this passage on page 331:
Supporters of McCarthyism represented it as simply a dramatic effort to awaken the public to the existence of some Communist penetration into all facets of our national life and to warn everyone of the need for universal alertness. Perhaps at its beginning the movement may have had some such usefulness. But almost immediately its methods defeated its purported objectives. Un-American activity cannot be prevented or routed out by employing un-American methods; to preserve freedom we must use the tools that freedom provides.
Link | Leave a comment | Add to Memories | Tell a Friend
Animation fun
May. 28th, 2009 | 03:43 pm
I had an idea for visualizing the different curves and lines in a font's glyphs, and the above is an early stab at realizing it. I'm thinking of making a Wigflip generator out of it, but I need to tune it. This graphic took almost 8 seconds to draw on a fast system.
Link | Leave a comment {1} | Add to Memories | Tell a Friend
Movie charts
May. 28th, 2009 | 10:06 am
If you're an LJ user, you should add
moviecharts!
Link | Leave a comment | Add to Memories | Tell a Friend
PSA: Do not read
May. 27th, 2009 | 12:53 pm
The Netscape LiveWire Sourcebook (1996) is not very good when it comes to JavaScript. For example, here's how it explains eval():
eval(5 + 3) => 8
It also mixes up server-side LiveWire features with client-side features.
Link | Leave a comment | Add to Memories | Tell a Friend
Trailer trash
May. 24th, 2009 | 10:44 am
The trailer for Sherlock Holmes made it look like crap, too.
Link | Leave a comment | Add to Memories | Tell a Friend
Terminator Salvation stank
May. 24th, 2009 | 07:47 am
Many of the things I disliked about Terminator Salvation weren't isolated but systemic. The camera work, for example, had a lot of arbitrary it-could-only-be-computer-generated shots a la David Fincher. Skynet was super-intelligent, except when it would be inconvenient to the plot; it would be a short movie if Skynet found the pathetically non-hidden hidden base and blew it up in the first couple minutes.
Also there was a pointless adorable moppet.
Much of the movie is obviously a computer simulation. That's not a crime. I enjoyed Watchmen, which had a similar level of fakery. But there was also a non-CGI scene in Terminator where helicopters roared overhead as napalm exploded in a forest, a clear echo of Apocalypse Now. Except the Terminator scene looked cheap and wimpy, and the Apocalypse scene looked audacious and excessive, a real spectacle.
The military configuration was unrealistic. The population of a modern military is dominated by the people who support and maintain the complex technology and equipment. In Terminator, it wasn't clear where "the resistance" hid all the technicians and mechanics needed to maintain their helicopters and jet aircraft.
The trailer shows a character who is a cyborg and doesn't know it. From this premise I constructed an interesting movie in my head about a resistance infiltrated by unwitting cyborgs and crippled by paranoia: who can you trust? Can you even trust yourself?
But it turns out that character isn't just any character, but in fact the main character, and if you saw the trailer you already know all about the cyborg thing and they don't do anything non-obvious with it.
A scene late in the movie reminded me of Syndrome line in The Incredibles: "You got me monologuing! You sly dog!"
So anyway, the trailer for Star Trek made me not want to watch it, but everyone loved it. The trailer for Terminator made me want to watch it, and everyone hated it. I guess the lesson is not to watch trailers.

