Found the problem. Old, stale, flexi-streams installation. Snagging a new one and recompiling meant that (setf flexi- stream-bound) suddently was in existence and my faffing around now works. Thanks for the clues, Robert!
Found the problem. Old, stale, flexi-streams installation. Snagging a new one and recompiling meant that (setf flexi- stream-bound) suddently was in existence and my faffing around now works. Thanks for the clues, Robert!
I had planned on doing a quick web-related project, to get started with Hunchentoot, since it seems to be the lisp- based web server of preference. Unfortunately, I seem to be made from fail. I can get it to listen to a port, but I cannot, however much I try, make it send anything back.
The docs indicate taht if I start the server and then point a browser at it, I should get a short info page back. Unfortunately, all I get is "nothing". I've even whipped out a Wireshark to confirm. Ah, well, maybe it'll be obvious, at some point.
Of course, trouble-shooting this is a bit more difficult than it could be, since it's a threaded server and it's harder than "trivial" to get tracing and the like to work.
As and when I get a bit more round tuits, I'll probably go check the hunchentoot mailing list archive, I doubt I'm the first person to run into this.
Hmm, looking at this again, the server replies and immediately closes the connection.
Ooops. Seems I over-wrote the 0.4 version of my image library. Not to worry, there's a 0.5 out and the main difference is an added dependency on Xach's ZPNG library and it now has the ability to write PNG files (mainly added because I found myself needing to write an image with 372 different colours and it was easier adding PNG support than to write something that intelligently coerced different pixels together with minimal degradation to image quality).
I also suspect there's not that many actual users, so the impact should be minimal.
Slight distress. The latest Debian packaging of SLIME+Swank is kinda broken. I prodedd at it this morning, trying to make it behave, but I did (alas) not have great luck.
There's two obvious-from-start problems, "directory" is spelled either as "dir" or as "directory". Quite easy toi fix, unfoirtunately, it gets worse from then on. Fix those and yoiu hit a "Package SWANK does not exist". That's because it's defined in the file swank-new.lisp and that's (in the package) not loaded by default. "Oooops".
Smack in loading of "swank-new" and "nregex" (load "nregex" first), and you land in more-interesting-problem-land.
I'll probably have another look either tonight or tomorrow, as having a non-functional SLIME is oddly crippling (now that I'm used to it). Maybe I should stop grabbing my SLIME from Debian and go back to having it from version control? But, then, I don't like running "infrastructure" from version-control checkouts, it's not nearly as convenient as running it from well-managed packages.
Also scribbled together an essay last week, as I was finding the whole "Jimbo Wales is $ADJECTIVE" quite, ah, well, something. Amusing, more than anything else. So, interspersed into last week's training course ("Implementing Qos", thanks for asking), I wrote Behaviour and effects (Jimbo was, really, just a convenient hook to hang things off of).
It just struck me, the web equivalent of incremental development is probably the Wiki. A big ball of mud you add things to and occasionally reshape.
If that is indeed so, CLiki is probably a ball of mud, on top of another ball of mud, though I can see that this analogy is now starting to muddying the waters...
Ooops! I am, as they say, an idiot.
Yesterday's tar ball is a wee bit lacking in essential files, as it were (the slight restructuring saw some functions being broken out into helpers.lisp and I wasn't packaging imports.lisp at all).
In further not-really-news, clast and Zaitcev have been discussing FizzBuzz (basically, count up from 1, for each n == 0 MOD 3, say Fizz, for each n == 0 MOD 5 sau Buzz and if both, FizzBuzz). Dividing by 3 and by 5 is, essentially, trivial in the decimal system. I first encountered this as a drinking game, with the addition that any 3 in the decimal expansion was also a Fizz and any 5 in the decimal expansion was a Buzz (and again if it's both a Fizz and a Buzz, it's a FizzBuzz).
This variety is slightly harder, in that you end up with 8 Fizz and 2 FizzBuzz between 29 and 40. Surprisingly hard, once you get into drinking game territory, around 2 AM.
It is longer than usual since the last post. January has so far been full of hectic (including, but not limited to two long-running faults coming to a clench at the same time as I was away for Cisco Networkers).
There is a new version of my image library out. It is, as these things go, not nearly as ambitious as what other people write, but as-is, it provides assorted drawing operations on a canvas, with back-end export to (at the moment) X11 or GIF files (via CLX and Skippy, respectively). In its latest incarnation, it also has the ability to load GIF files (no X11 image loading, yet).
There is, as usual, far too much WIP to even consider mumbling about it, most waiting for one thing or another before I forge ahead and finish off some more.
I have, recently, seen a more sophisticated version of "there are no libraries for Common Lisp" (there's quite a few). THis more sophisticated version does have something going for it, at that. Paraphrased, it is "There are very few Common Lisp libraries that have a bus number higher than one".
For those of you who haven't heard of the term "bus number" as it applies to projects (IT projects, I think, specifically), it is the number of key people that need to be hit by a bus to make the project grind to a halt.
An inactive project obviously has a bus number of zero (it can't really progress any slower). Most projects that are driven by a single person have a bus number of one. Most of the libraries I am responsible for is in this category (though I shroud myself in the comfortable illusion that at least GENHASH is sufficiently well documented that most anyone with a few spare hours should be able to whip up a library with the same API).
To an extent, I think there's something to that view (that is "language X is riskier than language Y, because a% of LangX libraries have a bus number <=1, whereas only b% (where b << a) of langY libraries do"), but at the same time, I do wonder if it's such a massive risk. After all, most CL libraries are distributed as source and that means "developer killed by bus" is no worse than "no more updates". Any and all bugs can (and if the library is "big" and "important" enough, will) be fixed, one way or another. Maybe with some initial forking, before consolidating itself.
It would be interesting to know to what extent this is just a perceived problem for Common Lisp contra other languages. At least I know there's now several libraries with multiple committers, so with any luck, this problem will solve itself, given time.
A delayed"is Emacs large?" essaylet has, after languishing unloved and beign ignored for quite a while, finally been finished off.
The quick answer is "maybe", it's all a bit relative. With a default Debian install, GNU Emacs 21.4 has almost half the files of a similar Vim installation, but consumes more disk space.
I found it quite interesting that the difference between a "only compoiled emacs-lisp" emacs and a vim installation were fairly small, since "emacs is so large!" has been a common complaint, for at least as long as I have used emacs (about 18 years now). Curiously, it seems like quite a few who champion vi-like editors over emacs are indeed vim users. At least now, there's some not-entirely-soft numbers showing ath while emacs isn't small, it's not exceedingly large, either.
Hah. Managed to find a timesink extraordinaire, Project Euler. I have, so far, solved just over 20 problems, out of the 166 listed.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!