<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:xach</id>
  <title>Zach's Journal</title>
  <subtitle>Mostly Lisp</subtitle>
  <author>
    <email>xach@xach.com</email>
    <name>Zach Beane</name>
  </author>
  <link rel="alternate" type="text/html" href="http://xach.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom"/>
  <updated>2008-05-13T19:33:17Z</updated>
  <lj:journal username="xach" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://xach.livejournal.com/data/atom" title="Zach's Journal"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:172244</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/172244.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=172244"/>
    <title>faster automotivator compositing</title>
    <published>2008-05-13T19:26:38Z</published>
    <updated>2008-05-13T19:33:17Z</updated>
    <category term="automotivator"/>
    <category term="wigflip"/>
    <content type="html">&lt;p&gt;&lt;a href="http://wigflip.com/automotivator/"&gt;AutoMotivator&lt;/a&gt; has a
  special fancy &lt;a href="http://wigflip.com/automotivator/prints"&gt;high
  res version&lt;/a&gt; so you can, in theory, make a motivational poster
  big enough
  to &lt;a href="http://xach.livejournal.com/170311.html"&gt;print and hang
  on your wall&lt;/a&gt;.

&lt;p&gt;This has worked out reasonably well, but one sore point is the
  performance of &lt;a href="http://www.imagemagick.org/"&gt;ImageMagick&lt;/a&gt;
  for big images. 

&lt;p&gt;AutoMotivator works by taking the original photo, creating two PNGs
  for the title and inspirational text, and compositing them together
  against a black background
  with &lt;tt&gt;&lt;a href="http://imagemagick.org/script/convert.php"&gt;convert&lt;/a&gt;&lt;/tt&gt;. On
  big images (2000 pixels or more on a side), it gets very slow
  (5-20+ seconds) and sucks up a lot of memory. 

&lt;p&gt;I'm not sure why it's so slow, but I suspect it's loading all the
  input images into memory, creating a big output image in memory,
  filling in the output, and then writing the output to disk.

&lt;p&gt;Since my compositing needs are pretty simple, I don't have to load
  all that image data: producing each row of the output image only
  requires reading one row from each the images that single output row
  intersects. (This thought was originally inspired
  by &lt;a href="http://www.jwz.org/picturetile/"&gt;picturetile&lt;/a&gt;, which
  must be &lt;i&gt;incredibly&lt;/i&gt; slow.)

&lt;p&gt;With that idea in mind, over the weekend I wrote a small
  compositing program in C. It uses the row-at-a-time input and output
  functions
  from &lt;a href="http://www.libpng.org/pub/png/libpng.html"&gt;libpng&lt;/a&gt;
  and &lt;a href="http://www.ijg.org/"&gt;libjpeg&lt;/a&gt;. The basic algorithm
  is:

&lt;ul&gt;
&lt;li&gt; get the dimensions and placement of the input data sources
&lt;li&gt; note which data sources appear on each row
&lt;li&gt; create a jpeg output object, and one output row 
&lt;li&gt; for each row in the output:
  &lt;ul&gt;
    &lt;li&gt; for each input source on that row:
      &lt;ul&gt;
	&lt;li&gt; merge a row from the input into the output row
      &lt;/ul&gt;
    &lt;li&gt; write the output row out to disk
  &lt;/ul&gt;
&lt;li&gt; finish the output jpeg
&lt;/ul&gt;

&lt;p&gt;I'm really rusty at C (it's been over ten years since
  my &lt;a href="http://www.xach.com/snarf/"&gt;last useful C program&lt;/a&gt;),
  but the end result is working well: my compositor is about ten times
  faster than ImageMagick at assembling big poster images. Sure, it
  also has a hundredth of the features, but it fortunately does
  exactly what I need. And the difference in user experience quality between producing a poster
  in two seconds and 20 seconds is huge.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:171373</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/171373.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=171373"/>
    <title>Rainy fun</title>
    <published>2008-05-04T23:49:34Z</published>
    <updated>2008-05-04T23:49:34Z</updated>
    <content type="html">&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/xach/2464660452/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3057/2464660452_25a140f59a.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;	&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/xach/2464660452/"&gt;DSC_3188.JPG&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/xach/"&gt;Zach Beane&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;				&lt;p class="flickr-yourcomment"&gt;	If it's raining, that means it's time to put on the rain suit and go splashing in puddles.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:170893</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/170893.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=170893"/>
    <title>Links and meetings</title>
    <published>2008-05-01T16:26:23Z</published>
    <updated>2008-05-02T20:15:00Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;Here are a few Lisp-related links I liked in April:

&lt;ul&gt;
&lt;li&gt; &lt;a href="http://groups.google.com/group/comp.lang.lisp/msg/ac0744b9ff70ee62"&gt;A
    cute read-macro dispatch scheme&lt;/a&gt;. Worried about running out of
    characters for read macros? &lt;tt&gt;#/foo/&lt;/tt&gt; to the rescue!
&lt;li&gt; &lt;a href="http://dlweinreb.wordpress.com/2008/04/26/european-common-lisp-meeting-2008/"&gt;Daniel
    Weinreb's ECLM 2008 recap&lt;/a&gt; (Dave Moon has a &lt;a href="http://dlweinreb.wordpress.com/2008/04/26/european-common-lisp-meeting-2008/#comment-656"&gt;cool comment&lt;/a&gt;)
&lt;li&gt; &lt;a href="http://www.weitz.de/eclm2008/"&gt;Edi Weitz's ECLM 2008 recap&lt;/a&gt; (including MP3s of several talks)
&lt;li&gt; &lt;a href="http://mikael.jansson.be/hacking/limp"&gt;Limp: Lisp in
    Vim&lt;/a&gt;
&lt;li&gt; &lt;a href="http://www.adampetersen.se/articles/lispweb.htm"&gt;Lisp
    for the Web&lt;/a&gt;. A nice baby-steps guide.
&lt;li&gt; &lt;a href="http://funcall.blogspot.com/2008/04/clos.html"&gt;Getting CLOS&lt;/a&gt; by Joe Marshall. A teaser.
&lt;li&gt; &lt;a href="http://bc.tech.coop/blog/080427.html"&gt;Lisp-centric "Good Easy"&lt;/a&gt; by Bill Clementson.
&lt;/ul&gt;

&lt;p&gt;And here are the coming Lisp-related meetings in May I know about:

&lt;ul&gt;
&lt;li&gt; May
  4: &lt;a href="http://cracl.wordpress.com/2008/04/14/next-meeting-sunday-may-4th-7pm/"&gt;CRACL&lt;/a&gt;
  (Los Angeles)
&lt;li&gt; May 8: Lisp Stammtisch (&lt;a href="http://www.c-base.org/"&gt;c-base&lt;/a&gt;, Berlin)
&lt;li&gt; May 13: lispnyc (New York City)
&lt;li&gt; May
  16: &lt;a href="http://www.pchristensen.com/blog/chicago-lisp/"&gt;Chicago
    Lisp meeting&lt;/a&gt;
&lt;li&gt; May 18: &lt;a href="http://www.hpc.unm.edu/~download/abqlispscheme/"&gt;ABQ Lisp/Scheme meeting&lt;/a&gt; (Albuquerque)
&lt;li&gt; May 22: &lt;a href="http://prog.vub.ac.be/~pcostanza/els08/"&gt;ELS
    2008&lt;/a&gt; (Bordeaux)
&lt;li&gt; May 22: lispvan (Vancouver) featuring Drew Crampsie and Lisp on Lines
&lt;li&gt; May 27: &lt;a href="http://fare.livejournal.com/122977.html"&gt;Boston
    Lisp meeting&lt;/a&gt;
&lt;li&gt; May 28: &lt;a href="http://wiki.alu.org/Hamburg"&gt;Hamburg Lispers&lt;/a&gt;
&lt;li&gt; May 31: &lt;a href="http://www.pchristensen.com/blog/articles/announcing-intro-to-lisp-workshop/"&gt;Intro to Lisp Workshop&lt;/a&gt; in Chicago. Three hours of practical advice on getting started with Common Lisp! Awesome! Volunteers are needed, so if you're in Chicago, go help them out.
&lt;/ul&gt;

&lt;p&gt;If you're having a meeting in May and I didn't list
  it, &lt;a href="mailto:xach@xach.com"&gt;let me know&lt;/a&gt;.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:170612</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/170612.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=170612"/>
    <title>27 jennifers</title>
    <published>2008-05-01T13:29:48Z</published>
    <updated>2008-05-01T13:29:48Z</updated>
    <content type="html">&lt;p&gt;Apparently last year's 8th grade graduating class of maybe 30-40
  kids had &lt;i&gt;seven&lt;/i&gt; Taylors, four girls and three boys.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:170311</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/170311.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=170311"/>
    <title>You're doing it wrong</title>
    <published>2008-04-29T20:32:13Z</published>
    <updated>2008-04-30T13:16:52Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;Last year, while
  creating &lt;a href="http://wigflip.com/automotivator/"&gt;AutoMotivator&lt;/a&gt;,
  I threw together a picture of &lt;a href="http://en.wikiquote.org/wiki/John_McCarthy"&gt;John McCarthy&lt;/a&gt; with fake inspirational
  text. To my surprise, a lot of
  people &lt;a href="http://lemonodor.com/archives/2007/10/youre_doing_it_wrong.html"&gt;really
  liked it&lt;/a&gt;.

&lt;p&gt;I recently extended the software to create bigger AutoMotivator
  images
  for &lt;a href="http://wigflip.com/automotivator/prints"&gt;printing&lt;/a&gt;. Here
  are a few of the test images (click for full size):

&lt;p&gt;&lt;a href="http://www.xach.com/img/doing-it-wrong.jpg"&gt;&lt;img src="http://www.xach.com/img/doing-it-wrong-thumb.jpg"&gt;&lt;/a&gt;&lt;br&gt;Suitable
  for printing at US letter size

&lt;p&gt;&lt;a href="http://www.xach.com/img/doing-it-wrong-at-a4.jpg"&gt;&lt;img src="http://www.xach.com/img/doing-it-wrong-at-a4-thumb.jpg"&gt;&lt;/a&gt;&lt;br&gt;Suitable
  for printing at A4 size

&lt;p&gt;Print one out on your company laser printer and hang it on your cubicle wall. Extra motivation guaranteed or your money back.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:170158</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/170158.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=170158"/>
    <title>I broke slime</title>
    <published>2008-04-29T14:44:37Z</published>
    <updated>2008-04-29T14:53:18Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;If you use a pre-1.0.8 SBCL with CVS SLIME, it won't work. 

&lt;p&gt;When I'm trying to debug functions, I often add &lt;tt&gt;(declare
  (optimize (debug 3)))&lt;/tt&gt; to the top and then use "v" in sldb to
  jump directly to the location of the error in the source. Then I
  take out the &lt;tt&gt;declare&lt;/tt&gt; bit after I'm done troubleshooting.

&lt;p&gt;To automate this, I added an option to compilation that uses the
  new experimental SB-EXT:RESTRICT-COMPILER-POLICY function to compile
  with maximum debug. That is, &lt;tt&gt;C-u&amp;nbsp;C-c&amp;nbsp;C-c&lt;/tt&gt; will
  recompile individual forms at debug 3. You don't have to manually
  add and remove it, and you don't have to run your whole system with
  elevated debug.

&lt;p&gt;It only works on SBCL 1.0.8 and newer, though. I think it'd be
  handy for all backends, but I don't know how to add it.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:169795</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/169795.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=169795"/>
    <title>SBCL leadership change</title>
    <published>2008-04-28T14:30:40Z</published>
    <updated>2008-04-28T14:30:40Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;In 2000, William Harold
  Newman &lt;a href="http://groups.google.com/group/comp.lang.lisp/msg/d73c229b7771bca1"&gt;announced
  his new Lisp project&lt;/a&gt;, SBCL, to comp.lang.lisp:

&lt;blockquote&gt;&lt;pre&gt;
I'm working on SBCL,
        http://sbcl.sourceforge.net/
a variant of CMU CL which should be easier to
maintain than CMU CL. Some of the changes involved -- especially
making the system bootstrap itself cleanly -- involved major surgery
on the CMU CL code base, not just local patches, and the result is a
distinct version of the system.

I consider the new release of SBCL (sbcl-0.6.0) to be alpha quality,
unstable but fairly usable. 
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;For eight years he's been working on SBCL and making new releases
  every month. But a few weeks ago,
  he &lt;a href="http://thread.gmane.org/gmane.lisp.steel-bank.devel/11132/"&gt;stepped
  down&lt;/a&gt;:

&lt;blockquote&gt;
I'd like to resign as project administrator. This decision is not
affected by sbcl-1.1 release issues: I've been absently thinking about
it for months, and actively for the past month or so. The decision is
hardly affected by anything about the SBCL project at all, in
fact. Other things in my life have chewed up a lot of my energy and
motivation, and it is far harder for me to deal with any extra
responsibilities than it used to to be, and SBCL is just one of the
casualties.
&lt;/blockquote&gt;

&lt;p&gt;Christophe Rhodes, Juho Snellman, and Nikodemus Siivola will
  now &lt;a href="http://article.gmane.org/gmane.lisp.steel-bank.devel/11165"&gt;manage
  SBCL releases&lt;/a&gt;.

&lt;p&gt;I started using CL and SBCL after Bill's busiest period of SBCL
  hacking, but he paved the way and made it easy for new people to
  become vital developers of the
  system. The &lt;a href="http://sbcl.cvs.sourceforge.net/sbcl/sbcl/CREDITS?view=markup"&gt;CREDITS
  file&lt;/a&gt; lists nearly 60 contributors of great and small features
  and fixes.

&lt;p&gt;Thanks for creating SBCL, Bill!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:169689</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/169689.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=169689"/>
    <title>April Boston Lisp meeting</title>
    <published>2008-04-24T18:23:20Z</published>
    <updated>2008-04-24T18:24:34Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;After two failed attempts, I finally made it to the Boston Lisp
meeting on Tuesday. I enjoyed the two talks.

&lt;p&gt;&lt;a href="http://www.cs.utexas.edu/~moore/acl2/"&gt;ACL2&lt;/a&gt; is a
theorem-proving system, and people have used Emacs to drive it for
many years. To help people learn ACL2 without learning Emacs at the
same time,
&lt;a href="http://peterd.org/"&gt;Peter Dillinger&lt;/a&gt; worked
on &lt;a href="http://acl2s.peterd.org/acl2s/doc/"&gt;ACL2s&lt;/a&gt;, an
&lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;-based interface to
ACL2. In
his &lt;a href="http://www.peterd.org/acl2s-boston-lisp/"&gt;slides&lt;/a&gt; he
compared the original Emacs interface to a racecar: fast, highly
effective in the hands of experienced users, and unforgiving of
errors. ACL2s is designed to be easier to learn and more forgiving,
like a family sedan.

&lt;p&gt;This reminds me
of &lt;a href="http://bitfauna.com/projects/cusp/"&gt;Cusp&lt;/a&gt;, though the
original Emacs interface for ACL2 seems more primitive than
&lt;a href="http://common-lisp.net/project/slime/"&gt;SLIME&lt;/a&gt;. Most of the
questions were about with the capabilities of ACL2 rather than the
ACL2s interface. I was more interested in how easy it is to extend
ACL2s than what was involved in proving theorems. Does it involve
writing more Java, or more Lisp? Or something else? I didn't ask Peter
about it, though.

&lt;p&gt;Part of the Q&amp;amp;A drew a laugh:

&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; Why not add these advanced features to the Emacs ACL2
interface?

&lt;p&gt;&lt;b&gt;A:&lt;/b&gt; Well...um...Eclipse is &lt;i&gt;designed&lt;/i&gt; to be extensible,
for programming stuff...

&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; ...

&lt;p&gt;&lt;b&gt;Wag:&lt;/b&gt; Just say Eclipse can do multiple threads!

&lt;p&gt;&lt;b&gt;A:&lt;/b&gt; Multiple threads! ACL2s is using four threads in this demo!


&lt;p&gt;Hans's talk about
the &lt;a href="http://bknr.net/html/documentation.html"&gt;BKNR data
store&lt;/a&gt; was interesting. It's a simple, tested, documented system
for object persistence. It was created to avoid the need to install,
maintain, and tune a relational database system, and figure out some
way to map relational tables to Lisp objects; instead, it's standard
Common Lisp all the way down.

&lt;p&gt;The design decisions have worked out well for Hans's applications:

&lt;ul&gt;
  &lt;li&gt; Use the MOP for transparent persistence of instances

  &lt;li&gt; All objects are kept in memory

  &lt;li&gt; Persistence is via a transaction log

  &lt;li&gt; Only one writer may be active at a time
&lt;/ul&gt;

&lt;p&gt;Hans was clear that this is not the perfect solution for all
purposes. This setup can fit the needs of many applications,
though. Hans demonstrated
a &lt;a href="http://test.createrainforest.org/en/index"&gt;website&lt;/a&gt; with
over 400,000 objects; it took up about 50 megabytes on disk and about
triple that in memory. Initializing the objects at startup took a
minute or two, but, as Hans noted, "Lisp hackers are used to not
restarting very often."

&lt;p&gt;The timing for his talk was good for me. A few weeks ago I extended
&lt;a href="http://wigflip.com/automotivator/"&gt;AutoMotivator&lt;/a&gt; to have
a user and poster management system, and I wrote a simple persistence
system from scratch. Although it was fun to make and was an
educational first use of the MOP, challenges of storage, querying, and
schema evolution have already cropped up. BKNR has the advantage of
being small, mature, documented, and tested by real-world projects
with hundreds of thousands of objects. I'd like to switch from my
home-grown system to BKNR's storage system soon.

&lt;p&gt;After the talks &lt;a href="http://www.itasoftware.com/"&gt;ITA&lt;/a&gt;
provided pizza and Indian food, and I got to meet several Lisp hackers
in person that I had only spoken with online. We wound up chatting for
hours about various topics.

&lt;p&gt;Though several people I know online were there, there wasn't much
in the way of introductions and nobody wore much identifying material,
e.g, name tags. A few people identified me by
my &lt;a href="http://www.xach.com/img/slad-shirt-black.jpg"&gt;Save Lisp
and Die&lt;/a&gt; shirt, but I was a little too shy to go around asking
people who they were.

&lt;p&gt;Even though I didn't get home until 2AM Wednesday, I'd like to go
  to the next meeting on May 27th. You should go too!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:169435</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/169435.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=169435"/>
    <title>Dolls dolls dolls</title>
    <published>2008-04-09T17:46:32Z</published>
    <updated>2008-04-09T17:46:32Z</updated>
    <content type="html">&lt;p&gt;When I &lt;a href="http://xach.livejournal.com/163806.html"&gt;first
    wrote about my mom's dolls&lt;/a&gt; I didn't really expect that they
    would sell. She had tried her hand at selling quilts on ebay and
    it went nowhere. 

&lt;p&gt;Boy, was I wrong! Since that first doll she has sold every single
  doll she listed, over 20 in all, for between $25 and $75
  dollars. She's gradually bumped up prices and still everything has
  sold. Congratulations, Ma! Good luck selling the &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;rd=1&amp;amp;item=230240891642&amp;amp;ssPageName=STRK:MEWA:IT&amp;amp;ih=013"&gt;latest one&lt;/a&gt;!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:169061</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/169061.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=169061"/>
    <title>Lisp links</title>
    <published>2008-04-09T11:53:56Z</published>
    <updated>2008-04-09T16:43:32Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt; Sven Van
  Caekenberghe: &lt;a href="http://homepage.mac.com/svc/CommonLispFirstContact/"&gt;Common
  Lisp: First Contact&lt;/a&gt;

&lt;li&gt; Rahul
  Jain: &lt;a href="http://video.google.com/videoplay?docid=-1671235577423219425&amp;amp;hl=en"&gt;DefDoc&lt;/a&gt;,
  a presentation from the most recent Boston Lisp meeting [video]
&lt;li&gt; grokcode: &lt;a href="http://grok-code.com/12/how-to-write-original-jokes-or-have-a-computer-do-it-for-you/"&gt;joke generation in Common Lisp&lt;/a&gt;
&lt;li&gt; Nicky Peeters: &lt;a href="http://zoetrope.speakermouth.com/2008/4/9/lisp-bundle-for-textmate"&gt;Lisp bundle for TextMate&lt;/a&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:168758</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/168758.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=168758"/>
    <title>New Vecto</title>
    <published>2008-04-08T20:11:34Z</published>
    <updated>2008-04-08T20:12:55Z</updated>
    <category term="lisp"/>
    <category term="vecto"/>
    <content type="html">&lt;p&gt;&lt;a href="http://www.xach.com/lisp/vecto/"&gt;Vecto 1.2.1&lt;/a&gt; is
  out. This release adds support for circle arc paths, adapted
  from &lt;a href="http://www.elbeno.com/blog/"&gt;Ben
  Deane&lt;/a&gt;'s &lt;a href="http://www.elbeno.com/blog/?p=470"&gt;curve
  library&lt;/a&gt;.

&lt;p&gt;&lt;img src="http://xach.com/img/vecto/arc.png"&gt;

&lt;img src="http://xach.com/img/vecto/pie-wedge.png"&gt;

&lt;img src="http://xach.com/img/vecto/wiper.png"&gt;

&lt;p&gt;I have a few more pending features that should become part of Vecto
  soon, including tilty ellipses, arbitrary fill functions (both
  courtesy of Ben, again), and simple gradient support courtesy of
  &lt;a href="http://www.blox.pl/komentuj/ramarren/2008/04/Gradienty-redux.html"&gt;Ramarren&lt;/a&gt;. They'll make it even easier to draw really pretty things with Vecto.

&lt;p&gt;Enjoy!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:168503</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/168503.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=168503"/>
    <title>More Lisp meetings</title>
    <published>2008-04-03T20:32:06Z</published>
    <updated>2008-04-03T20:32:06Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;The &lt;a href="http://wiki.alu.org/Toronto"&gt;Toronto Lisp meeting is
    tonight&lt;/a&gt;. And Peter Christensen
    has &lt;a href="http://www.pchristensen.com/blog/articles/recap-of-321-chicago-lisp-meeting/"&gt;written
    about the recent Chicago Lisp meeting&lt;/a&gt;, with info about the
    next meeting on April 18th.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:168331</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/168331.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=168331"/>
    <title>Lisp games are in the air</title>
    <published>2008-04-03T15:09:31Z</published>
    <updated>2008-04-03T15:09:31Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;Rob Henderson is on a quest. A quest
  to &lt;a href="http://lispgame.blogspot.com/"&gt;develop a game in Common
  Lisp&lt;/a&gt;, for Windows. Go, Rob!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:168012</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/168012.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=168012"/>
    <title>Lisp and FP: Coming to a comic book store near you</title>
    <published>2008-04-02T15:47:28Z</published>
    <updated>2008-04-02T15:47:28Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;&lt;a href="http://www.lisperati.com/"&gt;Conrad Barski M.D.&lt;/a&gt; has a
  new project: a Lisp comic book
  called &lt;a href="http://www.lisperati.com/landoflisp/"&gt;Land Of
  Lisp&lt;/a&gt;. It's cute, funny, and I was completely delighted and
  surprised by the end of it.

</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:167916</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/167916.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=167916"/>
    <title>Boston Lisp meeting pictures</title>
    <published>2008-04-01T12:22:36Z</published>
    <updated>2008-04-01T12:22:36Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;Once again, Circumstances conspired against my attendance of the
  Boston Lisp meeting, but Bruce R. "Doings" Lewis put
  up &lt;a href="http://ourdoings.com/boston-lisp/"&gt;a few
  pictures&lt;/a&gt;. 70 people showed up!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:167658</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/167658.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=167658"/>
    <title>Go forth and read!</title>
    <published>2008-03-31T13:21:26Z</published>
    <updated>2008-03-31T13:21:26Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;Mikael Jansson really really really really really reall wants you
  to read &lt;a href="http://mikael.jansson.be/journal/"&gt;his blog&lt;/a&gt;. So
  go read it!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:167243</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/167243.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=167243"/>
    <title>I'm number one. All others are number two or lower.</title>
    <published>2008-03-27T16:01:44Z</published>
    <updated>2008-03-27T16:01:44Z</updated>
    <category term="daymaker"/>
    <category term="automotivator"/>
    <content type="html">&lt;p&gt;&lt;a href="http://google.com/search?q=automotivator"&gt;I'm king of the
    world&lt;/a&gt;!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:167114</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/167114.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=167114"/>
    <title>Indiana Lisp meeting report</title>
    <published>2008-03-27T12:53:33Z</published>
    <updated>2008-03-27T12:53:33Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;The meeting sounds like it was
  a &lt;a href="http://novacode.wordpress.com/2008/03/26/meeting-main-topic-common-lisp/"&gt;success&lt;/a&gt;:

&lt;blockquote&gt;
&lt;p&gt;There were many questions for Tim and Tim afterwards. Everyone
  seemed to enjoy the demo. I want to thank Tim and Tim for coming,
  they did a really good job of presenting. Who knows, we may even
  have gained a couple new Lispers after a presentation like that. It
  really helped to observe how veteran Lispers wrote their code. It
  helped me confirm I was doing things right as well as showed me some
  things I didn’t know.
&lt;/blockquote&gt;

&lt;p&gt;The Hamburg Lisp meeting was also last night. Tonight sees the
  Montr&amp;eacute;al meeting and the Berlin meeting. Tomorrow is the
  St. Louis meeting, Sunday is the Los Angeles meeting, and Monday is
  the Boston meeting! I wanted to go to all of them, but only Boston
  is feasible.

&lt;p&gt;Check out
  the &lt;a href="http://www.google.com/calendar/embed?src=pm55j8kg30dnm54ib2if9fuocc%40group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;Lisp
  Meeting calendar&lt;/a&gt; if you want to know if there'll be a meeting
  soon near you.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:166802</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/166802.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=166802"/>
    <title>Recent articles</title>
    <published>2008-03-26T16:12:47Z</published>
    <updated>2008-03-26T16:12:47Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;Dan
  Weinreb &lt;a href="http://dlweinreb.wordpress.com/2008/03/24/what-conditions-exceptions-are-really-about/"&gt;explains
  conditions&lt;/a&gt;:

&lt;blockquote&gt;
&lt;p&gt;When you design a function, you should first think of all the
  possible kinds of (correct) outcome. Then you should decide how each
  outcome will look to the caller: certain specific returned value(s),
  or certain specific conditions. This all becomes part of the
  contract for the function.
&lt;/blockquote&gt;

&lt;p&gt;jwz reminisces
  about &lt;a href="http://jwz.livejournal.com/854482.html"&gt;MOST-POSITIVE-BIGNUM&lt;/a&gt;:

&lt;blockquote&gt;
&lt;p&gt;Well, I was poking around in the system's basement one day, and
realized that their implementation of bignums did have an upper limit!
A bignum was implemented as an array, with no facility to tack on a
second array, so the limit was related to the size of the length field
in the array header (instead of being limited by available memory).

&lt;p&gt;So I went and consed up MOST-POSITIVE-BIGNUM. 
&lt;/blockquote&gt;

&lt;p&gt;Kenny Tilton has
  a &lt;a href="http://smuglispweeny.blogspot.com/"&gt;blog&lt;/a&gt;. Sometimes
  he
  even &lt;a href="http://smuglispweeny.blogspot.com/2008/03/my-biggest-lisp-project.html"&gt;writes
  about Lisp&lt;/a&gt;:

&lt;blockquote&gt;
&lt;p&gt;Over a couple of years we built a system consisting of eighty
  thousand lines of Lisp, having probably thrown away another fifty
  thousand along the way. We were in the classic situation described
  by Paul Graham in On Lisp: not knowing exactly what program we were
  writing when we set out on our mission.
&lt;/blockquote&gt;

&lt;p&gt;Enjoy!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:166554</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/166554.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=166554"/>
    <title>MCL 5.2 torrents</title>
    <published>2008-03-21T20:27:57Z</published>
    <updated>2008-03-21T20:38:12Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;MCL 5.2 source
  is &lt;a href="http://brian.mastenbrook.net/display/22"&gt;now
    available&lt;/a&gt;. Want to get it fast? Try these torrents:

&lt;ul&gt;
&lt;li&gt; &lt;a href="http://www.xach.com/bt/MCL-5.2-Final.dmg.torrent"&gt;MCL
    5.2 DMG&lt;/a&gt;
&lt;li&gt; &lt;a href="http://www.xach.com/bt/MCL-5.2.tar.bz2.torrent"&gt;MCL
    5.2 bzipped tarball&lt;/a&gt;. Tarball made by Paul Khuong (thanks Paul!)
&lt;/ul&gt;

&lt;p&gt;If you're using a Mac and want to get all the right stuff, use the
  DMG. The tarball is for people like me who don't have a Mac handy
  but want to peek at the contents anyway.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:166321</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/166321.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=166321"/>
    <title>I know my stuff</title>
    <published>2008-03-21T14:57:23Z</published>
    <updated>2008-03-21T14:57:23Z</updated>
    <category term="roflbot"/>
    <category term="daymaker"/>
    <content type="html">&lt;p&gt;&lt;a href="http://www.pichacks.com/blog/?p=15"&gt;Thanks, PicHacks
    guy&lt;/a&gt;!
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:165932</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/165932.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=165932"/>
    <title>Lisp meetings galore plus one</title>
    <published>2008-03-19T17:55:39Z</published>
    <updated>2008-03-19T17:55:39Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;I got a note from Paul Beel about a new meeting:

&lt;blockquote&gt;
&lt;p&gt; Well, we are kicking off our first meetup next week. We are calling it
 the Indiana State University Programming Meetup. This is our first
 time meeting. We hope to meet on an ongoing basis. This meetup is open
 to the public and always will be. So this is not only for students,
 this is for anyone that is interested in programming. The meeting will
 be held Wednesday, March 26th at &lt;a href="http://maps.google.com/maps?um=1&amp;amp;ie=UTF-8&amp;amp;q=indiana+state+university,&amp;amp;near=Terre+Haute,+IN&amp;amp;fb=1&amp;amp;cid=0,0,3955166557173320539&amp;amp;sa=X&amp;amp;oi=local_result&amp;amp;resnum=1&amp;amp;ct=image"&gt;Indiana State University&lt;/a&gt;, Root Hall
 in the Unix Lab. The meeting starts at 5:30pm. At this first meeting,
 pizza and soda will be provided.
 
&lt;p&gt; It would be great if you could put it on the calendar and even blog
 about the details if you thought it deserved that.
 
&lt;/blockquote&gt;

&lt;p&gt;I've added it to
  the &lt;a href="http://www.google.com/calendar/embed?src=pm55j8kg30dnm54ib2if9fuocc%40group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;Lisp
  Meeting calendar&lt;/a&gt;, too.

&lt;p&gt;Can anyone tell me how the Bay Area Lispniks meeting went
  yesterday?

</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:165594</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/165594.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=165594"/>
    <title>Graphics daymaker</title>
    <published>2008-03-17T15:07:19Z</published>
    <updated>2008-03-17T15:07:19Z</updated>
    <content type="html">&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/88319047@N00/2335992292/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3255/2335992292_82c42fd57a.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;	&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/88319047@N00/2335992292/"&gt;Ellipse Modulation VI&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/88319047@N00/"&gt;villagelinca&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;				&lt;p class="flickr-yourcomment"&gt;	Some guy who is way better than me at math is making cool doodles with Vecto.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:165157</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/165157.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=165157"/>
    <title>Lisp meetings galore</title>
    <published>2008-03-17T13:46:47Z</published>
    <updated>2008-03-17T16:06:25Z</updated>
    <category term="lisp"/>
    <content type="html">&lt;p&gt;I count no fewer than eight Lisp-related meetings in the next few
  weeks.

&lt;ul&gt;
&lt;li&gt; March 18th, 7:30pm: Bay Area Lispniks at Suraj Indian Restaurant
  in Redwood City
&lt;li&gt; March 21st, 7pm: Chicago Lisp Meetup, Ambrosia, 1963 North Sheffield
&lt;li&gt; March 26th, 19:00: &lt;a href="http://wiki.alu.org/hamburg"&gt;Hamburg Lispers&lt;/a&gt; at Marilu in Ottensen

&lt;li&gt; March 27th, 19:00: Berlin Lisp meeting, &lt;a href="http://c-base.org/"&gt;c-base&lt;/a&gt;
&lt;li&gt; March 27th, 7pm: &lt;a href="http://schemeway.dyndns.org/mslug/meeting/27"&gt;Montréal Scheme/Lisp User Group Meeting&lt;/a&gt;, Room 3195, André-Aisenstadt Building, Université de Montréal
&lt;li&gt; March 30th, 
  7pm: &lt;a href="http://cracl.wordpress.com/2008/03/15/march-30th-sunday-next-meeting/"&gt;CRACL&lt;/a&gt;
  (Los Angeles) at Royal Clayton’s Pub in the downtown Arts District
&lt;li&gt; March 31st,
  6pm: &lt;a href="http://fare.livejournal.com/120778.html"&gt;Boston Lisp
  Meeting&lt;/a&gt; at MIT, room 34-401B
&lt;li&gt; April 3rd, after
  6pm: &lt;a href="http://recursive.ca/hutch/2008/03/13/toronto-lisp-meetup-3-april-2008/"&gt;Toronto
  Lisp Meetup&lt;/a&gt; at Bloor St. Fox and Fiddle
&lt;/ul&gt;

&lt;p&gt;All times are local.

&lt;p&gt;To keep track of the meetings, I started
  a &lt;a href="http://www.google.com/calendar/embed?src=pm55j8kg30dnm54ib2if9fuocc%40group.calendar.google.com&amp;amp;ctz=America/New_York"&gt;Google
  Calendar page&lt;/a&gt; with the info. I'd like to keep it up-to-date with
  all upcoming Lisp-related meetings.
</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:xach:164843</id>
    <link rel="alternate" type="text/html" href="http://xach.livejournal.com/164843.html"/>
    <link rel="self" type="text/xml" href="http://xach.livejournal.com/data/atom/?itemid=164843"/>
    <title>Baby seals R us</title>
    <published>2008-03-07T20:06:50Z</published>
    <updated>2008-03-07T20:17:08Z</updated>
    <category term="daymaker"/>
    <category term="wigflip"/>
    <content type="html">&lt;p&gt;When I added the caption link capability to
  roflbot, &lt;a href="http://www.hsus.org/marine_mammals/protect_seals/protect_seals_what_you_can_do/lolseals.html"&gt;this
  is exactly how I hoped people would use it&lt;/a&gt;. (&lt;a href="http://www.flickr.com/photos/tags/lolseals08"&gt;Results&lt;/a&gt;)
</content>
  </entry>
</feed>
