Cookie Notice

As far as I know, and as far as I remember, nothing in this page does anything with Cookies.


Comparing and contrasting ...

I'm sure that my beloved wife doesn't read this. If you are reading this, stop now. And you've been touching the monitor with a KVM. Windex it, please.

She's had bad luck with laptops, so she has decided that she wants a desktop PC. It's the season, and Jesus would want Kerry to have a PC. That's fine. She's been using my #2 because her last laptop is flaky with networking and I don't know why. I suspect it's the cheap PCMCIA wireless NIC. Anyway, it's an old machine in poor shape, so why not.

But she wants Windows, and she wants Word.

It's 2am. Nearly 2:30. I wake up in five hours to go to work. And I've just found the magic to fix this:
The Windows Installer Service cannot update one or more protected Windows files.
That's useful. That's really useful. I mean, that tells you exactly ... nothing.

I had to Google it, and there I found out about the magic of Event Viewer.
Product: Microsoft Software Update for Web Folders (English) 12 -- Error 1933.

The Windows Installer service cannot update one or more protected Windows files. SFP Error: -536870654.

List of protected files:\r\nc:\program files\common files\microsoft shared\web server extensions\40\bin\fp4autl.dll
So there's a DLL for a web server extension that is causing installation problems. Meanwhile, I point out, it's for a web server. This is Windows. I want as few open ports as possible. So, web server?

I'd also point out that, right before, I installed Google Pack and with absolutely no problems. Just click and go. This is Microsoft's flagship software. This is the product that keeps Bill Gates in Hohos. And it installs that stupid?

I keep considering in contrast the zen simplicity of sudo apt-get install foo...


Talkin' All That ... Rock ...

The Rock'n'Roll Hall of Fame has the new list of inductees out.

  • Leonard Cohen
  • The Dave Clark Five
  • Madonna
  • John Mellencamp
  • The Ventures
  • Little Walter (sideman category)
  • Gamble & Huff (non-performer category)

Gamble & Huff? TSOP! Yeah. Little Walter? Blues, but 'bout time. John Mellencamp? That'll work. Madonna? If we have to. The Ventures? I'm surprised that people who aren't me remember the Ventures, but yay.

But Leonard Cohen? The Dave Clark Five?

I say this as a fan: Leonard Cohen has no Elvis in him. He's folkie who eventually bought an 80s Casio that sounds every bit as cheesy as an 80s Casio should. With a voice that brings women to their knees in waves of pure pleasure. Rock is something he does not do.

And someone has to explain the inclusion of the Dave Clark Five, because I just don't get it.


Thinking "That Doesn't Work!" ...

That, again, is the result of sending an image through Verizon to Blogger.

I shall have to write a script that edits the text but sends through the image.

Snowy Day


Thinking about simplicity ...

Last night, Mark reviewed a book called Laws of Simplicity, which he simply declared was a good book, but a less-good website.

Anyway, I hit the website this morning, and found the fourth law: Knowledge makes everything simpler.

I'll get back to that.

Kerry wants Windows because she wants Office. She wants Word. And I've seen enough of Windows that I would not willingly choose it if I had any other choice. So I keep saying "OpenOffice.Org can write Word documents". So, finally, she decides to try it, and she complains that the person on the other side could not open it. So, I have her send it to me.

She isn't Ms. CS, but she's been in computing longer than me, and far more connected to word processing than I have been in the last 15 years. So why didn't she understand the concept of Save As Word Document?

It seemed perfectly simple to me, but then knowledge makes everything simpler. I got the concept. When I install Office, I always put in all the conversions, because you don't know when someone wants you to read a document written in WordPerfect on a Mac. Somehow, somewhere, she missed it.

I have knowledge on this, so it's simple to me.


Thinking about mail ...

I use Thunderbird for mail. I use multiple mailboxes to segment my life. I have one that my bosses use to mail me. I have one for some friends. I have one I put on my resumes. I have one (strictly speaking, it's at least 6, potentially more, but one mailbox) that I've been at forever, and it's where most of my mailing lists go, where my parents mail me, and where I can bring the awesome power of Procmail to trigger abstract code through a mail filter. Plus one from my cable company that I don't really use.

Anyway, I use Thunderbird, because it's easier to watch all those mailboxes with one thing than it is to have seventeen windows open. I have Procmail for one mailbox, GMail's server-side sorting for two others, and contempt and Thunderbird's built-in filter for the campus mailbox. So, when I get mail from mailing lists, it goes to the list. When I get spam, for the most part, it gets trashed. Very fine-grained control over what goes where.

And very coarse control over alerts.

I like mailing lists. I'm on a lot, on a few subjects where I'm not the master and not going to be soon. So I collect great gobs of mail and use search functions or grep to find exactly what I'm looking for. But the alert function has just on and off. I don't care if there's a flame war on the opensolaris list, or discussion on new forms of statistical analysis on the Bioconductor list, or a flame war on the guitar list, and the alert function that tells me about that is stealing my focus. What I want is alerts for the people in the office, my parents, my wife, my children, a select set of friends, and complete silence for everyone else.

I'm going to have to write a module, aren't I?


Looking Nevada and feeling Indiana ...

To explain, first....

Solaris is becoming opensolaris, licensed under a Stallman-compliant but Torvalds-grumbly license to keep the coolest parts out of Linux. This process is lead by Ian Murdock, former head of Progeny Linux, whose goal was, in part, making an installer for Debian that didn't suck. Progeny died, Ubuntu make the Live CD, and Murdock went to the LSB and then to Sun, where he's in charge of the process of s/S/opens/.

The old code base is code-named Nevada, the new code base is code-named Indiana, because that's where Ian lives. And it has a dev release Live CD. And I tried it out.

Years ago, I had a specific Celeron box. It was the only PC I had that had a real ATX motherboard rather than a proprietary Compaq oddball thing. So, when I tested things, I tested them on that one. BeOS wouldn't use the network card, so I didn't stick with BeOS. (Otherwise, Be was so choice. It had speed on a 500MHz chip that I would now barely expect on a 2GHz chip.) Later, I installed Windows .Net 2003 server. Again, no networking. If it couldn't network it was of no use to me.

Now, I have the opensolaris live CD. That specific 500MHz machine has been dead for a year. I tested it on this machine, a Compaq desktop I got from a friend whose company was salvaging old desktops. 2.26GHz. Over four times as fast. That'd fight the image that it's Slowlaris. And it looks good. It got that machine to run 1600x1200 on a screen that Ubuntu Feisty refused to run at more than 1024x768.

But, it couldn't find my NIC. What good is a machine that cannot talk to another machine?

But that's a good thing about a live CD. You can test the hardware and see if it works.

I'll try it on my #1, a Dell GX260, soon. In the mean time, can anyone point me to a FreeBSD live CD?

ETA: It works fine on my work machine, a newer HP/Compaq. I'm writing on it right now. It doesn't to TwinView or Compiz. Which is fine, I guess. It's supposed to work, not look pretty.

The live view, this time, required a login and won't give a gterm. It didn't do either when I tried it before. Odd.


Blowing it again ...

Or perhaps still.

Fuse went right as I walked through the door. So, I spent my time wondering how I was going to get anything done, rather than getting something done.

Sometimes, I think I should get a laptop.

Then again, you don't get 2560x1024 on a laptop.

So, this means I did nothing today.

"Nothing" include "not reviewing Beautiful Code".

However, I did read some Bioinformatics and Computational Biology Solutions using R and Bioconductor. Which is pretty much what I do here. But I couldn't try any examples, which sucks.


Reading Beautiful Code, Chapter Two ...

I was reminded of this by reading an article on keeping all your important files aligned with Subversion. Chapter two is on Subversion's Delta Editor. Delta means change, and Delta (&916;) is math for change.

I cannot claim that the beauty of this interface was immediately obvious to me. My quick read of the interface sees tight but well-commented code. I'm hesitant to dive further in, as I'm already lots of review behind. The part that I think is most worthy of comment, right now, is that it's an interface. This differs from previous standards for code beauty (the author lists Duff's Device and rsync's checksum as examples) because it's not an algorithm, and because it's longer than what would fit on the back of an envelope. Five pages in the book, mostly comments. But the beauty of Perl that I see every day is that I can abstract, for example, the process of downloading a web page from a series of network pokes to something close to get($url) ;. If the foundations are solid, you can build on them. But nobody normally looks and says "My, what a great foundation."

Exclaiming "Mea Culpa! Mea Maxima Culpa!" ...

On Thursday, I said I would do one chapter a week.

On Friday, I said I'd do Chapter Two over the weekend.

On Monday, I failed to do anything.

I am in a state of sucking wildly. Suckety Suck Suck Suck.

At least I admit it.

And I'm putting the book on my desk right now.

But I'll mention two things.

First, there's a Perl program that replaces the "READY" text on your office's big HP printer. It is easily adaptable to, for example, take a string of weather information pulled from Weather Underground or whatever source you choose. The author chose Geo::METAR , but I found that too verbose for my purposes. And I am considering creating a module for HP Printer Job Language communication. It'd be my entry into CPAN!

Second, A post on O'ReillyNet brings up an interesting question relating to database inquiries and, as it turns out, a weakness in Perl's sleep. Well, limitation, at least.


Expressing how cool I am...

I stood 20 feet from Gene Cernan and Neil Armstrong. The first and most recent Boilermakers on the Moon.


Reading Beautiful Code, Chapter One ...

This is Brian Kernighan's chapter, on Regular Expressions. This amuses me, because Regular Expressions are widely considered to be an ugly thing. More than just ugly, too. "Some people, when confronted with a problem, think 'I know, I'll use regular expressions.'" wrote Jamie Zawinski. "Now they have two problems." I'm not there. I can read Perl-style regular expressions,

(I'll drop into an aside here and complain. Why is it that Perl has begun to complain when I write something like this:
my $foo = '' ;
print "XXX" if $foo =~ m{xxx}mx ;

Seriously, if a string has nothing, it clearly will not have the string xxx in it. '' should no more pop up an error than 'aaa' should.)

This chapter focuses on an implementation of a regular expression engine written by Rob Pike for the book The Practice of Programming. Chosen because it's a clear usage of recursion that isn't Quicksort or walking a tree. If I was Norm MacDonald, I'd note that programmers love recursion like Germans love David Hasselhoff. I suppose I might anyway.

But it's clear that Kernighan is fairly uncomfortable with the concept of beauty as applicable to computer science. He says "elegant" and "novel" and "compact". Those are three common metrics for beauty, but then, the standard of beauty would be Ingrid Bergman. She's beautiful, true, but hardly the only standard.


Working on a book review ...

So, I've been meaning to review Beautiful Code. I can give you the capsule, but not the deep. Capsule:
Beautiful Code is not the kind of book I normally go to O'Reilly for — it will not tell you how to code beautiful — but it helps you thing about your code in a deeper, better way, and you will be better off for having read it.
But I do need to do more than a capsule. I need to do a bigger thing.

Elsewhere, I've done memes and mindless link propagation. I will try not to do that here. But the last two really are. Well, yes and no. Revision3 hosts videos. Videoblog videos. One of the video blogs is systm, who talk on tech issues. For the most part, think of LUG meetings on video. I was sending myself a reminder to check out the video on Asterisk, which is a Linux-based Open-Source PBX. If you ever thought "I want to have my own voicemail setup", Asterisk is what you need. Anyway, that's that.

The other thing is an inexplicable looped video clock thing featuring dancing Japanese women in coulottes. It seems it's there to sell sweaters. I like the music, but can't control the volume, so I turn that off, and there's something unseemly about leaving a screen worth of dancing Japanese girls running all day, even if there isn't as much as a bared midriff (as far as I know), so I don't stay on long.

So, it is my endeavor to blog on reading a chapter a day (weekends excluded) until I have a proper review of Beautiful Code.

Telling the world ....

From the first time I tried using an external mail-reader, I became convinced of one thing.

POP3 sucks. IMAP rules.

Well, rules enough. In comparison. I still preferred pine and a shell.

Then GMail came. And I tried it, and it was good. But it was Web and POP3, and POP3 sucks.

I did the web interface for a while, building rules, building folders. The POP interface ignores those rules, ignores those folders, so, in Thunderbird, I had to recreate all the rules and folders I had built in GMail. Which sucks. Beyond, of course, the inherent suckiness of POP.

Now, GMail is offering an IMAP interface.

I don't know if it'll do everything I want it to. Strictly speaking, if I make a DrDobbs folder in GMail and a rule to put the Dr. Dobbs mail in that folder, I want whatever mail interface I have to respect that. So, we'll see.

Of course, nothing beats having Procmail or MH. (I prefer the rules language for MH, but SpamAssassin works with Procmail, so I use Procmail.) But if your mail host disallow executing abstract code triggered by email, then some sorting and IMAP's the next best thing.


Penguins are not only Linux

This is a penguin from a bio company I got swag from. More later.

This was first a phone-blogging exerciese, and yes, it seems like I can't keep my phone company from adding a lot of useless text.

Installing Ubuntu @ Work ....

I had a momentary hitch, where the partition mojo wouldn't work because I had the drive I wanted to partition mounted. Surprised that didn't work.

Been thinking recently. A recent Slashdot article asked "What would you change in Linux development if you could?" It made me consider the changes I've seen in Linux.

I first started dealing with it as an undergrad, around 1998. I made a 386 router (with great help from friends) and later had my work box at ECE running Red Hat. I had been using Solaris workstations and servers before, and, as a user, the only difference I really noticed was that both GNOME and KDE looked lots better than CDE. And just got better.

I can see some differences in stark relief, because my main connection to Linux during my time working at the clinic was my account on CSociety, and during that time, lots changed. Linux ~2000 was close to a classic workstation/server configuration. It was an OS that loved to know who it is and where the next bit, the next watt and the next file were coming from, and where they should be headed. Linux ~2007 is lots more laptop-friendly. Plenty goes to advances in hardware design, especially 802.11b and so on, and in 2000, DHCP was new enough that a friend (who I always trust as a Linux hand) needed to install it at an installfest to make his machine work), and it's part and parcel now.

The biggest and coolest thing I've seen recently is FUSE, or Filesystem in USErspace. As a user, not root, I can check out my local SMB network or mount UNIX filesystems securely over SSH. It's just the coolest thing. The one thing that, given an attempt to be mobile with 2000 technology, I would've asked for. With DHCP, Linux can work out where it's bits come from and go to. With FUSE, it can work at user request to more and more dynamically interact with whatever environment it meets. That's so cool!



Finding a chunk of news ....

YAPC::NA 2008 is in Chicago! Again! This is a good thing. This places it within easy travel, thus making it possible for me to go. I had a great time last time, and I'm sure this next time will be great, too.

I read the bid, and their hoped and planned venue is DePaul University, which is on the north side, with returning to Illinois Institute of Technology (south side, across the interstate from where the White Sox play) being a fallback.

I'm really jazzed about this and plan to go. I know it's ten months away, but still.

I have Beautiful Code, an O'Reilly book about ... well, beautiful code. And, because I was given it free, on condition that I review it.

It's a good book.

That is not the review.

I gave a short review at a Perl Mongers meeting, where I covered my enjoyment and problems with the book. Yes, I have some problems. More in expectations than in actual content.

And also my Perl Mongers group will be having a meeting tonight, in the Cafe Royale in the beautiful Chauncey Village.


Liveblogging Perl Mongers ....

My friend, Mark Senn, is presenting at Perl Mongers on the topic of A Perl::Critic Complaint. Like, right now.

For the first time, I'm liveblogging.

"I never use it because it's such a pain."

On use strict: "You can't do anything automatically."

Quoting Larry Wall: "Different things should look different. Similar things should look similar. I agree with them. '&&' and 'and' look different and are different. ... Why is Perl::Critic warning me about this?"

"I want it to do what I want, out of the box!"

That's it.


Mulling a coming book review ....

(It is wrong to start a post with a parenthetical, but I am doing so anyway. I hate the phrasing "as a member of ...., I". I try hard to avoid using it. So I fumble over it on occasonally.)

I'm a member of my local Perl Mongers group, and our Perl Mongers group is a member of the O'Reilly User Group program. O'Reilly sends out copies of books to groups for review so that their name gets spread. For any abstract technical issue, the first book I will reach for is an O'Reilly. So, I was offered a free book for the price of reviewing it.

And abstract it is. Beautiful Code is about writing code that is more than functional, more than elegant, into the realm of the beautiful.

Whatever that means.

Which I will find out, and express to you.

Many, however, will be surprised to find that "Perl" and "Beautiful Code" to be referenced in the same book without negation.


Commenting on Text Email ...

The last post was posted via email from my phone. And boy, is my thumb tired. </rimshot>

Today, the mobile phone is a data center, with the talking taking a minor part. I got religion on texting at Disneyland, when I tried to hook up with the rest of the family. We had agreed to meet at the statue of Mickey and Walt at the center of the park. Unfortunately, that's when everyone else in the world, including the Parade, planned to be, too. We tried to call, but connections were sketchy and everything was loud, so we couldn't hear. So, I texted them, they replied, and we met up.

Since then, I've had texting as the core of my mobile data center.

I'm a Verizon user. I haven't really tried the others, so I don't know the details. I do know that sending your cameraphone pictures to your email is a better bet than using their Pix site.

If you have mail on a UNIX machine you have procmail on, even better:

* ^From:
:0 c
| ~/Procmail/

That's all it takes to pipe your pics into a program to unpack 'em. (They're MIME attachments. Like I said, it's all just email.)

And what's in

use MIME::Parser ;
my $parser = new MIME::Parser ;
$parser->output_under('/home/jacoby/www/Cell/') ;
my $entity = $parser->parse(\*STDIN) or die qq{parse failed\n} ;
$entity->dump_skeleton ;

I'm a Perl geek, but I am sure something similar is possible in Python, Ruby or your other favorite dynamic language.

texting is fundamentally email, but

texting is fundamentally email, but with a simplified interface. If you go Verizon, yr address is


Testing via Email ...

This is an email test.

My friends joke that I try to make things convert to other
things. I've written web pages that send email and scripts
that send web pages when you send them an URL via email.

This is mostly an attempt to figure out if this thing works.

I will hope to have something approaching content soon.

Writing Initial Entry ....

I was searching for examples of Perl Code to put in lightning talk for my Perl Mongers group. I haven't found many. So, I'm starting one.

It might not just be one, though. I geek on things that aren't strictly Perl geekery. I am starting to work with the R statistical package and the Bioconductor addons, so I can predict a series of Complaining about R's deficiencies entries.

Also, I'm into music. There's a joke where an urbanite goes to the South and asks about music, and the person replies, saying "We've got both kinds: Country and Western." That's not me. Not to say I don't love both Country and Western (and yes, they were once distinct, with the Carter Family and the Opry being country and Bob Wills and every singing cowboy you ever saw being Western), but I also love elements of everything. And that might not be an actual everything, but it's closer than with anyone else I know.