Hey, all you atheists out there…

Need something to help keep the kids in line, since you don’t have access to Satan, Hell, or even the milder “making Baby Jesus cry?”.

Steve Loughran has the answer: “Cthulu for three year olds”:http://www.1060.org/blogxter/entry?publicid=7AD93D71C1D3984AE33CF63B4D41D8B4.

I especially liked the caveat, though:

bq. The hard part is striving a line between providing the minimum of lies necessary for total obedience, without reducing the child to having a deep fear of darkness, docksides, attics, cellars and the wind rattling the shutters.

What if you had a language that was all cut-and-paste

Anyone worth their salt as a programmer will tell you that programming by cut-and-paste is always, always, always a mistake. You might do it for expedience, because reworking whatever you’re cutting-and-pasting to be more generic might take longer than you have to deliver your result, but there is never a situation where it’s a good thing.

But the “subtext”:http://subtext.org/ language has a demo that posits the question “what if your language was built to handle all the issues for you?”:http://subtextual.org/demo1.html.

I don’t think I’ll be programming in in any time soon, but its always interesting when a new idea comes around.

Sunday Flickr blogging

Yeah, yeah, Sunday Flickr blogging doesn’t actually seem to happen on Sunday that much. What can I say, though–calling it “Sunday Flickr blogging” creates *anticipation* of it happening, and that’s all you really need for marketing purposes.

So, for your amusement, disgust or apathy: “moustache”:http://flickr.com/photos/tags/moustache, “carnation”:http://flickr.com/photos/tags/carnation, “hendrix”:http://flickr.com/photos/tags/hendrix.

Yeah, I’ve got Hendrix (specifically, _The Wind Cries Mary_) playing right now.

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”:http://www.praisemoves.com/ assures me that “yoga is likely to lead people away from Christ”:http://www.praisemoves.com/ChristianAlternative.htm.

In fact, she links to “another resource”:http://www.macgregorministries.org/cult_groups/yoga.html, that classes yoga as a cult, and “another”:http://www.johnankerberg.org/Articles/article-index-y_1.html 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”:http://flickr.com/photos/tags/pho/, “gums”:http://flickr.com/photos/tags/gums/ and “tuba”:http://flickr.com/photots/tags/tuba/.

Sunday Flickr blogging

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

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”:http://www.gnome.org/~newren/.

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”:http://planet.gnome.org/ 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”:http://www.gnome.org/~newren/blog/2005/03/15.

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.

NPR had an interview with Donald Knuth

Even more amusingly, Chet called me to make sure I knew–though I had, in fact, already heard part of it. Specifically, the bit about using graph theory to remodel the kitchen.

Anyway, the story is “here”:http://www.npr.org/templates/story/story.php?storyId=4532247

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”:http://musicpd.org/ 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:

bq. _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”:http://cow.org/cgi-bin/meme/state.cgi can make it easier to do so.

Sunday Flickr blogging

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

“palomino”:http://flickr.com/photos/tags/palomino/, “sugar”:http://flickr.com/photos/tags/sugar/, “torch”:http://flickr.com/photos/tags/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_.

In honor of Chet’s Birthday

(which honesty forces me to note always sneaks up on me because it has somehow gotten lodged in my brain that it’s the 21st, which is, as you can probably calculate, 8 days from now) “I link you to pictures on Flickr tagged with ‘Chet'”:http://www.flickr.com/photos/tags/chet/.

Heh.

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”:http://www.joelonsoftware.com/articles/fog0000000036.html and “one much more elaborate one”:http://www.mojofat.com/tutorial/ 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”:http://antespam.com/.

Lime & Basil, Chapel Hill, NC

So, I made myself sufficiently hungry writing about “Pho Cali”:/2005/03/pho-cali-raleigh-nc.html 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”:http://triangle.citysearch.com/profile/41280615.

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”:http://slanteddoor.com/ 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”:http://www.huyfong.com/no_frames/sriracha.htm.

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

Colorization using optimization

This is apparently all over geek circles today, but I got it from “Miguel”:http://primates.ximian.com/~miguel/.

Researchers in Israel have developed colorization techniques that are almost freakish in their ability to produce natural-looking results using an incredibly simple-seeming marking-up of the original image.

Needless to say, “they have a web page devoted to it”:http://www.cs.huji.ac.il/~yweiss/Colorization/.

More Ajax

It’s “the hot new thing”:http://zilbo.com/articles/ajax_how.html, even cooler than “Ruby on Rails”:http://www.rubyonrails.com/.

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”:http://bacontarian.com/

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?

I don’t think I’ve mentioned Laszlo before

I remember when it was first freed, late last summer–right about the time I was starting in DC–and it was the subject of much enthusiasm and lots of “wow, this is just what we’ve been waiting for” posts.

It would appear, though, that the bloom is off the rose, and “all we’re left with are the thorns”:http://rifers.org/blogs/gbevin/2005/3/8/wasting_time_with_laszo.

James Wolcott on Kirstie Alley

bq. 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”:http://antespam.com/, 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”:http://www.rbt.ca/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:

bc.. 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});
};

p. 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:

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

p. 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:

bc.. 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 (@_);
}

p. 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.

My eyes! The goggles, they do nothing!

If you start on the “project page”:http://www.mini-itx.com/projects/coolcube/, the garish, hideous, eye-burning truth will sneak up on you. Or you can go “straight to the pain”:http://www.mini-itx.com/projects/coolcube/images/coolcube0035.jpg.

Miguel de Icaza goes to the middle east.

“Miguel de Icaza”:http://primates.ximian.com/~miguel/, apparently-never-sleeps mastermind behind “Gnome”:http://gnome.org/ and “Mono”:http://go-mono.com/, “went to Turkey and Lebanon”:http://primates.ximian.com/~miguel/archive/2005/Mar-08.html.

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”:/2004/11/no-rest-for-the-wicked.html, 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”:http://techdatapros.com/asterisk/. 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…

JavaScript Templates

There is now an templating system implemented “using client-side Javascript”:http://trimpath.com/project/wiki/JavaScriptTemplates.

Normally this would be boring an tedious to contemplate, but, as Ian Holsman observes, combined with liberal use of XMLHttpRequest, this could be interesting.

Gonzo but not forgotten

Err, I’ve already forgotten where I saw this link (that’s sad), but there’s “a short piece on HST by George McGovern”:http://www.commondreams.org/views05/0303-23.htm.