Monthly Archive for January, 2008

You bug me.

There is nothing more annoying than finally tracking down a bug in your program…only to discover that it’s someone else’s bug.

I’ve been stumbling with the routines in Scooter that convert an audio track to MP4, which were similar to bugs I’d seen in other podcatchers. Basically, somewhere along the line, the connection with iTunes bombs out during a conversion but the program would plow on ahead as if everything were OK and boom. It took me two days of experimenting and fooling around to get anywhere with what seemed to be an unpredictable, intermittent problem.

Finally, this morning, I was able to successfully isolate and recreate the glitch. This was no easy task since in these days of multithreading and communication between programs you can no longer expect something like “Runtime Error at line 345 in unit iTunesForPodcasts” or anything, you know, USEFUL to pop up when there’s an error. All you get is “An unhandled exception occured.” After hours spent layering on deeper and deeper layers of exception handling I finally tracked down the problem.

If iTunes pops up a dialog, asking for a button to be pressed, it basically breaks off all communication with the outside world until you click “OK.” If you’re in the middle of a conversion operation, iTunes cutting off contact means that while the conversion will continue in the background (eating up valuable processor time) eventually dropping an orphaned file somewhere in its library folders, iTunes is telling your program “all finished!” Not even a proper error, just “I’m done.” If you then try to find the new filename, iTunes gets offended and raises an exception, because in reality the process is not done.

If this were there to handle real errors (like a corrupted library) it would be understandable. However, iTunes pops up dialogs for EVERYTHING, it seems. Is a file missing when you sync your pod? Bing. Message box. Is there an updated version of iTunes? Bing. Message box. Does Apple want to annoy you? Bing. Dialog.

I can find no way around this bugl; let’s face it, that’s what it is. If you have a corrupted database, fine. Don’t allow anyone to add anything and stop what you’re doing. But if you’re just trying to tell us that we deleted a file before removing it from iTunes, there’s no need to not allow us to do other things in the background.

So, until Apple learns how to NOT use the MessageBoxEx function and create their own nonmodal dialogs for these bits of information (which they should do, because non-vital information boxes should NEVER be modal in a program), I’m just going to have to grin and bear it, unfortunately.

Update, 1/31 9:16 PM: Found a work-around. Just needed the bigger hammer approach. Keep trapping the exceptions until iTunes stops giving them, and eventually it will update the counter correctly. Argh.

Proof we all have too much time on our hands.

Now a bunch of people are uniting on-line to translate the Bible into LOLspeak.

I just submitted my first contribution: an illustration for Luke 1:26-38:

This literally came to me in a dream.

This ad was the last thing I “saw” in my dream before I woke up this morning. (Well, a version of it, anyhow.) I re-create and present it here now solely to get it out of my head. The comments made here, no implied warranty, your milage may vary, etc. etc.

It’s alive, oh it’s alive! IT’S ALIIIIIIIIIIIIIIVE!

its-alive-oh-its-alive-its-aliiiiiiiiiiiiiive

I’m far enough along in the process that I feel safe enough sharing some early shots of my new soon-to-be-open-source podcatcher, nicknamed “Scooter.” I’m finally taking this opportunity to work stuff I’ve always wanted into a podcatcher.

Please understand that these snapshots are from a program still in the alpha stage. Things will change, hopefully including the program’s aesthetics.

First off, some podcatchers (most notably RSSRadio) offer a chance to convert your podcasts to iTunes’ audiobook format. (They call it “making it bookmarkable.” This does have some advantages; if you listen to a high fidelity podcast (64KBps or 128KBps) having iTunes convert your file to AAC will cut down on file size considerably, which can be important if you load a lot of stuff onto your pod. Also, I love doing this because I listen to all of my spoken-word podcasts (like news, talk shows, etc.) at the iPod’s “Faster” speed, cutting down my listening time by almost a quarter. I’ve not only gotten Scooter to get iTunes to cleanly convert these files….

I’ve made it possible to actually do a clean abort of the whole process. Other podcatchers that do this, if you went into iTunes and cancelled the conversion there, it confused the podcatcher and it would either bomb out, add the file anyway (either as a partial or an unconverted MP3) or pop up an annoying dialog box waiting for your input forever. With Scooter, aborting the process will bow out of the conversion cleanly, allowing you to go ahead and add the file to iTunes manually later on (with or without converting).

Also, one feature I find somewhat handy:

For those of us who will dock our iPod when we go to bed (sleep? Ha!) to let it charge, we usually find that we need to resync anyhow in the morning. Some podcatchers allow you to sync automatically at a certain time of day, but what if that podcast you expect to come down at midnight doesn’t get there until 5 AM, but you’ve set the program to sync at 4? Voila. With Scooter you’ll be able to have the program sync your pod automatically (if it’s docked, of course) after it receives a new show from certain casts. Then, in the morning, grab and go, knowing you’ve got the latest that your particular podcasts have to offer.

Just wanted to brag about the new baby before heading off to try and get some sleep.

It’s about time.

John Edwards just came out in favor of a single-payer health care system.

Guess who just got me to switch my vote from Obama?

This gives me hope.

Back in 2006, a number of us who had been contributing strips to Comics Sherpa got “graduated” to the main site. Some of those strips included Joe & Monkey, 44 Union Avenue (since discontinued by the creator), Bleeker: The Rechargeable Dog, and my own. But the first of that “batch” to make the step up was a very funny panel called “The Argyle Sweater.”

Well, the next shoe just fell. Universal Press Syndicate has announced that they’re going to syndicate “The Argyle Sweater” to newspapers!

Congrats to Scott Hilburn for moving up to the Big Leagues. Now let’s see Bleeker move up next.

(Of course, no paper will ever pick up Victoria, so I’m satisfied just being a cheerleader at this game.)

It just gives me more incentive to get it working.

What had been, until yesterday, my podcatcher of choice, RSSRadio, has stopped working. The update to iTunes 7.6 (which I stupidly let through even though I didn’t need it) broke it, and since it’s one of the least-maintained podcatchers out there, I don’t expect it to start working properly for a very long time.

This should have been academic by now, as I have been working on a podcatcher of my own. (I nicknamed the main engine of the program “Scooter,” after one of the greatest catchers of all time, and might use that as the name for the program when it’s done.) The program is 97% functional right now, but that last 3% is a bitch.

It’s the Windows interface.

After all, a program is no good unless you can get in there and configure it, is it? If I don’t mind hardcoding everything, the program is functional right now, and I have it monitoring and downloading two podcasts out of the 15 I usually catch that way. The problem is, I don’t want to HAVE to hard code all my podcasts and let Scooter download them. I want a functional program where I can just give it a URL in a dialog, have it fetch the RSS, and add that podcast to its databank. But the Windows API is so godawful to develop for, everything has come to a halt as I try to debug the main configuration dialog. Then I have five others I’ll need to write, not to mention the multithreading the program will need to work properly and efficiently as a Windows app.

Argh.

However, I think when I’m done with it, I’m going to release my source code into the wild, and let others play in the sandbox, too. Might be fun.

Best analysis of the Republican Presidential field so far:

best-analysis-of-the-republican-presidential-field-so-far

From ByteBrothers:

“So now the Republican field is down to a cross-dressing, baby-killing gun-grabber who has one half as many delegates as does Ron Paul, a man who truly believes that one of the Lost Tribes of Israel came to North America in a magic submarine, only to be killed off by a bunch of savages, the batshit crazy John McCain and the even crazier Huckawho.”

Another great website idea I don’t have the skill to develop

another-great-website-idea-i-dont-have-the-skill-to-develop

I’d love to develop “gettherefromhere.com” or something like it. A website that plans out a trip using all kinds of mass transit where it’s available and cab services where it isn’t, to plan a door-to-door trip from one place to another.

I was thinking of this because my mother is in Olean General Hospital in Olean, NY, with pneumonia and chronic pulmonary obstructive disorder. Bryan’s car is all but dead, so he’s using my car. If I have to get to Olean in a hurry, I don’t know how to do it.

I was looking into taking the bus, but I need to use at least three different bus lines, apparently, to get from downtown Vineland to Olean. And, yes, I can get to Olean General from the bus station there on foot, but I’d need a cab to get to the bus station here in town.

If I were living in North Jersey, I’d have light rail networks up there factoring into the equation, too. Or I could bus to Atlantic City, fly to Buffalo through Newark, then bus down to Olean.

There are so many ways to get from one point to another, we need a Mapquest-like system to plan your trip over cabs, bus lines, rail lines, and other methods where available. Then calculate the cost, charge your credit card once, and book your bus/train/plane tickets for you. Then all you’d need to do is call for your cab to the first transport hub, and everything is sitting there waiting for you.

Orbitz and Travelocity do that, but only with planes. I want to be able to plan a cheaper, last minute trip from one place to another.

Any IT geniuses who want to take this concept and run with it, feel free. Just thank me somewhere on the website.

“Queen Victoria” book coming to Amazon shortly

queen-victoria-book-coming-to-amazon-shortly

I just received my proof copies of “I Can Has Empire?” from Lulu, and they look good. Good enough that I approved the production, and they’ve issued my ISBN number and entered me into the “Books In Print” database.

This means that within the next six weeks, the new TNAOQV book will be available through Amazon, Barnes and Noble, Borders, and for order through Ingram at your friendly local bookstore.

For those who are curious, the ISBN for the book is 978-1-4357-0847-1 in case you want to make plans to order it. If you want to get it, try getting it through your local bookstore (as opposed to a major chain) because they might be more likely to order an extra copy or two for the shelves.

Here goes everything.