If there was any doubt I was going to Hell…

…I guess my practice of yoga is really only confirmation. I had absolutely no idea (not, in fact, that I cared), but Laurette Willis, Founder of PraiseMoves assures me that yoga is likely to lead people away from Christ.

In fact, she links to another resource, that classes yoga as a cult, and another that has several articles discussing its incompatibilities with Christianity.

You know, I am sometimes amazed that certain stripes of Christians are allowed to use computers because having to, say, type, distracts them from their necessarily constant focus on The Lord.

Yeah, it’s a couple of days late

Sunday Flickr blogging was delayed by my dental surgery, about which I will spare you the details other than to say that I could really get to like Vicodin. How convenient that there are so many people on the Internets who would like to sell me some.

Anyway, for your delectation, I give you pho, gums and tuba.

Sunday Flickr blogging

I’m about to head out to Huntsville, to do some work for i.e. (bringing up a new server, shuffling a bunch of other stuff around, etc.), and I hope to get some AnteSpam work in, but I didn’t want to miss the second installment of Sunday Flickr Blogging: turnip, whip, dalmation.

Perhaps on the plane I’ll make some headway on the several half-finished posts I have laying aroud in my head.

BTW, the kid in the dalmatian clothes is amusingly cute.

Elijah Newren distinguishes himself

I guess first I should make the observation that I don’t know who Elijah is other than some random Gnome hacker.

However, the last couple of days in Gnome-land has involved huge, horrendous amounts of dumping on someone named Eugenia for saying some unconsidered and unkind things in the most public way possible. Lots and lots of dumping. I mean tons. It certainly seems like everyone on Planet Gnome has made a comment, and though most of them have been minimally civil–no shouted obscenities, no ad hominiem attacks–I think it’s fair to say most of them feel unfairly attacked.

Elijah, though, takes the time to try and figure out why it all happened.

Sure, it’s all supposition, but it’s refreshing to see someone–however alone they may be–trying to step back and understand the other side’s point of view, however misguided it may actually be. I’ve witnessed a lot of Debian flame-wars (it looks like another is heating up right now) that quickly sink to the all-heat-and-no-light level.

Another reorganization of the sound system here at Tendentious Towers.

Well, it’s not that much of a reorg, really, other than to remove the ihp-140 from the laptop itself, and attach it to the micro-server, and use mpd on that system for actually playing things.

It’s kinda fun, too, to be sitting downstairs, tweaking the playlist for what’s going on upstairs.

Interestingly, I also get much better sound out of the audio hardware on the micro-server than out of the audio hardware on the laptop. Less noise, especially during quiet passages. Now if only the processor weren’t so dang slow for actually encoding to OGG, I’d be all set–the DVD drive is plenty fast for ripping.

Oh, well, if that’s the only price I pay for fanlessness, I’m happy to pay it.

It’s the current big meme

But who am I to resist?

So, the rules are, underline places you’ve lived, bold places you’ve visited, italicize where you live now. I daresay that mine is not a too-typical liberal profile, seeing as how most of the places I’ve lived in my life are “Red States”, including the place I currently live:

Alabama / Alaska / Arizona / Arkansas / California / Colorado / Connecticut / Delaware / Florida / Georgia / Hawaii / Idaho / Illinois / Indiana / Iowa / Kansas / Kentucky / Louisiana / Maine / Maryland / Massachusetts / Michigan / Minnesota / Mississippi / Missouri / Montana / Nebraska / Nevada / New Hampshire / New Jersey / New Mexico / New York / North Carolina / North Dakota / Ohio / Oklahoma / Oregon / Pennsylvania / Rhode Island / South Carolina / South Dakota / Tennessee / Texas / Utah / Vermont / Virginia / Washington / West Virginia / Wisconsin / Wyoming / Washington D.C

I suspect it is also atypical that I’ve lived within spitting distance of as many places as I’ve visited (9 vs 13)–but that’s just the result of being a military brat. If you set a minimum of, say, four days on how long you had to stay somewhere before you could say you’ve visited, the number of places I’ve visited would drop dramatically. CT, MS, NY, OH and WI would all fall off, and I’d have lived more places than I’ve visited.

Oh, and should you wish to pursue the meme yourself, this cgi can make it easier to do so.

Sunday Flickr blogging

Inspired by my idea to link to pictures on Flickr tagged with “Chet”, I give you the first installment of “Flickr Blogging”.

palomino, sugar, torch

Note: This may be safe for work. Or it may not–I’m picking words out of thin air here, so there may be nothing but a big blank canvas.

Hey, you!

Yeah, the person who found my site by searching for holly hunter unattractive. Dude, you’re just wrong. Wrong I tell you!

On the other hand, one on one sex chet video software is just funny.

One last selection: elephants anatomy porn.

whimper.

At the end of some comments about working with free software hackers

which is an interesting bit in itself, Jakub Steiner drops a couple of links to some resources on writing (and, for that matter, why to write) functional specifications, one from Joel Spolsky and one much more elaborate one that really leads you by the nose.

This all seems especially germane to me right now since I’m going through the throes of writing some specs for the great rewrite of AnteSpam.

Lime & Basil, Chapel Hill, NC

So, I made myself sufficiently hungry writing about Pho Cali that I was going to go there for lunch. But, I figured I’d check with Anne to see if this was going to be an unforgivable transgression, and she suggested that I drive over to Chapel Hill and try Lime & Basil.

I’m happy to report that it’s good. It’s not as good at Pho Cali, but it is more than acceptable, and it’s a whole lot closer. I don’t know that we’d sacrifice our weekend trips to Pho Cali to go there, but for during the week, it’s a very reasonable alternative.

Caveat: I am probably still high from all the endorphins released by the Sriracha I tend to decorate my pho with, so judge accordingly.

Pho Cali, Raleigh, NC

So, poking around the search stats, I notice searches for “Pho Cali Raleigh” landing here–and, indeed, I seem to be the fourth result in Google.

So let me just state it here, unambiguously–I think Pho Cali is really, really good. It may not achieve the levels of excellence that, say, The Slanted Door aspires to (and mostly achieves), but I’d put it up against the one other Vietnamese place I know well and like–Saigon City, in San Mateo, CA–any day of the week.

It’s a 20+ minute drive for Anne and I to get there, and we find it worth it to go once every couple or three weeks. Our Vietnamese friend, Milan Pham, thinks it’s good. Heck, we’re often the only Anglos in the place.

Have some pho, it’s good for you. And don’t forget to try the avacado smoothie, which, weird as it sounds, is actually a nice complement to the heat of a good dose of sriracha.

In fact, the real question is whether I’m going to risk Anne’s wrath by going to lunch there right now, without her.

Spring is coming

The view from our driveway up the street.

A couple of weeks ago, Anne cut back all the grasses on the patch of our lot up near the street. I’m really just posting this picture in order to be able to make a comparison a few months from now–by say, September, this will be a veritable riot of vegetation.

I’m not sure I truly qualify as a Bacontarian…

Though I have to say that there’s few, if any, sorts of dead animal flesh I find more satisfying than a good piece of well-cooked bacon. Especially this variety we used to be able to get in Miami, cured with Juniper.

Still, if you are “a person who supplements an otherwise normal diet with large amounts of pork”, perhaps you should check out the Bacontarian site

For what it’s worth, I’m aquainted with one of the posters on the site–dug–although I’m just mentioning this for the amusement factor. Of course, you never know–if I were given an opportunity to whore myself out, I might take it.

Or would that just involve setting up google ads?

James Wolcott on Kirstie Alley

What’s amazing is that Alley can look and behave so slovenly and yet remain so stylized, like a Pedro Almadovar diva demento written with the late Divine in mind.

It never would have occured to me to link Almadovar and Divine, but it’s just so right.

Adventures in building Perl modules (a short, short primer on extending Module::Build)

Over the last few years, it has been a presumption that when I work on a project in Perl, I will use the standard Perl tools– ExtUtils::MakeMaker and, later, Module::Build –for managing the Perl library code I write.

But yesterday, for the first time, I looked at extending Module::Build to do more than just the stock actions. And you know what, it was easy.

Now the specific issue I was running up against was that I needed to insure that the database I was running my tests against was installed and clean. I had been using a Makefile, but that was a hack–for instance, I wasn’t actually checking the presence of the database or anything, I was looking for a file I wrote when I created the database. I probably could have made make check for the actual database, but it’s imperative, rather than procedural, style makes this kind of ugly.

Also, I wanted a clean instance of this database before I did a test run of the conversion utility (this is all work on a heavily revised AnteSpam, and we’re moving from keeping config info in ldap to putting it in a replicated PostgreSQL database). And I wanted a clean instance of this database before I ran the PostgreSQL Autodoc tool to generate a nice diagram and DocBook documentation of the structure.

Oh, and I got so frigging tired of SQL’s spectacular verbosity ( badly exacerbated by the fact that I was commenting on most of the structures so the information would show up in the DocBook documentation) that I wrote a simple preprocessor–so I had to make sure that was run if necessary before creating the database.

Oh, and I wanted to build the documentation automatically. And I kept forgetting to run the Build script with the environment set properly for the database, so I wanted that to be handled easily.

So, I made a file, Build.pm, which sits right alongside Build.PL, and subclasses Module::Build. And to that file I added a function (admittedly very simplistic, and, as a result, somewhat overenthusiastic) to drop and recreate the database:

sub create_db {
    my $self = shift;

    # Get the database name
    my $database = $self->args ("database");

    # Drop the database if it already exists
    $self->do_system (qq{dropdb $database}) if ($self->do_system (qq{psql -l | egrep -q $database}));

    # Create the database
    $self->do_system (qq{createdb $database});

    # Make sure the schema is up-to-date
    $self->dispatch ("ddlpp");

    # Load up the schema and initial data
    $self->do_system (qq{psql -q -f antespam.sql});
};

There are several cool things here. First, you can look at, at run-time, arguments that were given to the script when it was created. So you can do:

perl Build.PL database=foo

and when you actually invoke the resulting build script, the bits you write can look for a database argument, and use what was set initially. The rest of it should be fairly obvious–yes, I’m just shelling out to psql rather than doing it all in DBI–except for the dispatch call. You see, you can add additional actions to your script. In this case, I added an action called ddlpp (for DDL pre-processor) to build the sql from my data definition file. It’s short, just:

sub ACTION_ddlpp {
    my $self = shift;
    $self->do_system (qq{ddlpp antespam.dp antespam.sql}) unless ($self->up_to_date ("antespam.dp", "antespam.sql"));
};

You’ll notice, though, that it will only run ddlpp again if the .dp file is newer than the .sql file. That’s cool.

Anyway, I also overrode the standard test action, to make sure the database is created:

sub ACTION_test {
    my $self = shift;

    # Set up database access
    local $ENV{PGDATABASE} = $self->args ("database");
    local $ENV{PGHOST} = $self->args ("host");
    local $ENV{PGPASSWORD} = $self->args ("password");
    local $ENV{PGUSER} = $self->args ("user");

    # Make sure the database is created
    $self->create_db;

    # Run tests as normal
    $self->SUPER::ACTION_test (@_);
}

All this does is set the appropriate environment variables for psql to pick up, creates the database, and then runs the normal test action that it inherited from Module::Build. The convert action is similar, except it shells out to the convert script.

Etc., etc. I’m not holding this up as any paragon of implementation–in fact, it’s exposed some shortcuts I’ve taken that I ought not be taking, so I’m gonna have to clean those up eventually, and I should be able to add automatic .dp to .sql conversion and so forth–but for an hour or two of poking around, I’ve made some not-inconsequential extensions to the build system, giving me a much cleaner, more integrated process.

Miguel de Icaza goes to the middle east.

Miguel de Icaza, apparently-never-sleeps mastermind behind Gnome and Mono, went to Turkey and Lebanon.

Yeah, that Lebanon. During the protests. And since Miguel is the sort of person who seems to be at home in any situation, he went and saw the protests. And talked to people. And took pictures.

There’s no deep analysis here, he just relates what the people he talked to told him. And, as encounters with people most often seem to be, it’s interesting.

Well, I would be late…

…insofar as she was born on Saturday (9:46pm, weighed 8lbs 5oz, 19.5 inches long, ever notice how easy it would be to mistake this for a fish someone caught?), but I didn’t hear until now–and second-hand at that, I’m hurt, I tell you, hurt!–that Chris and Aimee have actually decided on a name for their new arrival, Kayley Nicole.

In fact, looking at the last announcement, two days versus three days doesn’t make me seem especially tardy, at least not according to the miserable benchmark I’ve established.

Right now, I’m just happy there’ll be at least one niece among my immediate relations–boys are a dime a dozen. OK, maybe a buck a dozen. Whatever. As far as I’m concerned, the more rug-rats I get to be uncle to, the merrier, as long as I get to go home afterward.

Build your own PBX for ~ $20

John Goerzen points to an article about building your own linux-based PBX. This isn’t just some VOIP solution, either–that apparently wouldn’t even cost you $20–but a full-fledged runs-over-POTS-lines system.

Hmm. Maybe if I get that Micro-ATX Pentium-M motherboard that I’ve been thinking about for my little server system, I could then shove the Mini-ITX motherboard back inits even smaller case and use that…

It is accepted wisdom that Europeaen TV is awfully silly.

SNL has sketches built around the premise. And, having lived in Germany for five years, I would tend to agree, though I would also add that they also allow nekkid people.

Anyhoo, Jerry forwarded me this fairly absurd clip from some popular-music show. Since Anne was home sick, and I had no idea what it might turn out to be, I viewed it without sound. I suspect it is better that way–less painful, but no less strange.

So I’ve started ripping some of my classical music

This is hardly a huge portion of my CDs, and it has heretofore been utterly neglected–and I’ve figured out why: it’s a real bitch to tag those tracks. The track names are all inordinately long, and no one on CDDB seems likely to have done it the way you want it, whatever way that might be.

And then you have something like the disc I have by Elaine Funaro (not one of those listed) that is all her playing, but she’s doing stuff by a number of different composers.

It’s a nightmare. Because, of course, you must get the tagging exactly right, or better you not rip them at all–the sound’s not the point, it’s the tagging!