Older blog entries for wnewman (starting at number 5)

The Dallas Bach Society tends to do very good concerts, and last night was probably no exception -- not one of their masterpieces, but very good nonetheless. But oh my! seeing Handel's _Samson_ after the last month of crazy acts and crazy rhetoric is freaky enough that it's hard to come away with as strong an impression of the music as of the content. A suicide attack against a prestigious building filled with people of a rival civilization, check..

Mahoah (i.e. Dad): Come, come! No time for lamentation now, no cause for grief; Samson like Samson fell, both life and death heroic. To his foes ruin is left; to him eternal fame.

Brr.

It's enough to make you think, you'd think. Although if I understood correctly the remarks of the VIP (artistic director? I dunno) between acts -- something about last month's events being an attack on the values of our civilization, and after some attendance problems at other public events he was grateful to us for upholding our civilization's values like early music -- I'm reminded that it doesn't necessarily makes you think deeply, at least not in the first month. (Not that I have had a shortage of reminders..)

Oh well, to knee jerk is human. (And as of this writing David Friedman quotes a noteworthy remark on the subject here.)

How do we measure the changing of the seasons? It gets harder to find good fresh fruit. It gets easier to find good classical music concerts.

I thought I was going to see a good pop music concert, too, since my brother saw the Twang Bangers (sp?), loved them, and convinced me to go see them when they hit Dallas last Friday. But Everything Is Harder Than You Think. (Did I mention that once I finally got SBCL to work again, sometime after my last diary entry, my ISP's connection went down for the day so I couldn't check it in?) Unfortunately the venue the TBs were booked (Sons of Hermann hall) in was so laid back that we showed up, couldn't get anyone to sell us tickets or tell us when the show would start, waited half an hour until second hand cigarette smoke got to my SO, and bailed out.

My last article was grumping about complex software which arguably was fundamentally broken inside when I started working on it, and which had become unarguably broken outside by the time I started grumping. Now it's no longer so unarguably broken outside, and is arguably less broken inside too, so life is better. Now if only it were last month or so, life would be even better, but I haven't figured out how to get everything.

Ah, the delights of maintenance on SBCL's compiler. Large Classes. Temporary Fields. Setting Up Objects By Constructing Them Empty and then Mutating Them Here, and then There, and then There Too, and Hopefully Getting Any Given Invariant In Place Before the Execution of Any Code Which Relies On It.

And CLOS is still only constructed in warm init, i.e. by the compiler, so CLOS still can't be used in the implementation of the compiler because of chicken/egg problems, so even when I manage to reverse engineer this bizarrity well enough to see how it should be expressed, very often it can't be expressed that way. Hmp.

It should not take so long to rebuild a modest-sized project (some 10K lines of code, being rebuilt from scratch) that I have time to do an Advogato diary entry. The maintainer of SBCL ought to get his act together and improve compilation speed.:-(

No TV seems to be a good thing. It suits me fine, anyway. There are plenty of other ways to kill time if I'm bored and lack energy. And besides, where would I put it? But I do look forward to a laptop with a DVD, so that I can start working on my backlog of watchable movies. Also a new laptop will probably improve compilation speed.:-)

Dallas summer is almost here when the ducks in the park start making a point of spending the midday hours in the shade.

More programmers should read Martin Fowler's _Refactoring_.

There is always one more bug.

Bach is excellent. The Dallas Bach Society is also excellent. I can't believe that I missed their last concert. Seeing Murray Perahia last night was not an adequate substitute. But I shouldn't be so negative, because a lot of that concert was pretty good too.

tbmoore, olandgren: Paul Graham's Lisp books are excellent, but I don't think his OO stuff is up to the standard of the rest of the books. His illustration that it's remarkably easy to hand-roll an object system in Lisp is very good, but he doesn't IIRC say anything useful about getting your mind around CLOS, and what he says about OO being like spaghetti code is IMHO seriously misleading, so much so that I wonder whether he might be clueless about this area. (OO stuff adds regularities in your code, spaghetti code doesn't. If the regularities match regularities in the problem or solution space, it can be a big win. For that reason OO techniques are more like structured programming techniques than spaghetti code. Of course, it's different too. Structured programming is applicable to 90+% of problems while OO to only maybe 40% of problems. A substantial proportion of the regularities that OO captures live in the problem space, while 98+% of the regularities in structured programming live in the solution space. And that it's much more tedious to hand-code OO constructs in a language which doesn't support them than it is to hand-code structured programming constructs in a language which doesn't support them. And probably other differences too..)

I already recommended Keene's _Object-Oriented Programming in Common Lisp_ in email to olandgren. It's good for illustrating the unusual approach that CLOS takes (multimethods, nested INITIALIZE-OBJECT methods with &KEY arguments, all the :AROUND/:BEFORE/:AFTER and other method combination flexibility, etc.) which is important when going to CLOS from a a C++/Scheme background.

Norvig's _Paradigms_ book is also very good in general, but I don't have an opinion of the CLOS section one way or another because I already knew CLOS by the time I got the book.

Summer is coming. Dallas summer. It's probably time to get a nice 700-800 MHz laptop and rethink responsibilities of the boxes on the LAN so that I can retire my nice 200 MHz space heater.

DPRG's semiannual contest is coming up and cool though it is likely to be I plan to go to Houston to play in a Go tournament instead. Thus Steven Rainwater and I will miss each other again. Judging from his diary entries he should live within a mile or so, since we swim at the same pool and feed the same ducks, but whenever I do go to a DPRG meeting, he never seems to be there. Does he really exist?

kgb: I sympathize with your complaints about nonexistent projects. Starting with a prototype is good. However..

..I think it's sometimes legitimate for a project to stay in beta (i.e. "pre-1.0, with whopping long bug list", not "unusable") for a long time. Have some sympathy for those of us who try to improve the portability, standard compliance, stability, and/or maintainability of large bodies of old and sometimes grotty code like SBCL. SBCL has been on SourceForge for more than a year already, and it will probably be beta for a while yet. It takes a lot of maintenance to change 100K lines of code!

The same might sometimes apply to smaller projects trying to do something ambitious, like speech or handwriting recognition. You could do a lot of work and have something interesting and even useful but which is clearly an unfinished product.

New Advogato Features

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!