My Nominee For “Nobel Prize For Cunning Commentary (Web Edition)”

Noble Nobel.
Slashdot carried an interesting story today about Alexey Pajitnov, the creator of Tetris, claiming that Free/Open Source Software (F/OSS) destroys free markets and eliminates companies’ ability to “create wealth”, a dubious proposition at best, but one which spawned the following insightful comment from one “jbeaupre”:

Oddly, I see FOSS as an extreme example of capitalism. Reductio ad absurdum with a twist.
In a given market with profits, more competitors will enter until profits are driven down to the point the cost of entering just isn’t worth it. With software, this set point is a bit lower than many industries, because less capital is needed for production. FOSS lowers it further by reducing the barriers to entry (you get to reuse older code). Some people derive a non-financial benefit (and sometimes financial) that exceeds the cost of contributing, so there is a negative cost (a benefit). It’s still worth it to them to enter the market no matter what. So even assuming no profit, you get plenty of competitors.
The capitalist version of superconductivity. Against the rules except in unique circumstances.
What this guy misses are controlled markets with barriers to entry.

“The capitalist version of superconductivity.” I like the sound of that!

There’s Just No Accounting For Crazy. Or Masochistic. Or Masochistic-Crazy.

Glutton for punishment.
As I wended my way home last night, I was listening to this “week’s” FLOSS Weekly and just about had to pull my car to the side of the road, due to my sheer astonishment. Leo and Randal had a developer on who was promoting Seaside, a web development framework for Smalltalk (particularly the Squeak implementation). Smalltalk. Perhaps only you other CompSci folks out there will get just how insane a proposition developing for the web in Smalltalk truly is. No RDBMs. Everything’s an object, even, say, the number “5”.
Me, I’m of the opinion that I’d be happier being punched in the face. Repeatedly.
Then I’ll go develop a web framework for Ada. With all the business logic in COBOL. Oh, and I’ll host it on a 386 running Minix.

Safari AdBlock: ‘Bout Time

Safari AdBlock
Firefox users have had access to AdBlock Plus for ages, allowing them to cruise the Web virtually ad-free. Well, no longer do they have a monopoly on the goodness, for Safari AdBlock (Safari 3/Leopard-only) has been released. It’s an easy install and catches pretty much all ads, at least in my thus-far limited testing.
Now if only there were a Camiblock that worked for Camino 1.5+…

We Only Scored A ‘6.0’ From The Russian Judge

…But still managed to pull out a win in the WordPress iPhone Content contest. Matt Mullenweg announced the results on the wp-hackers mailing list today.
Stephane, Viper and I are super psyched about the win. Our congratulations also go out to Dan and Jared whose entry garnered them some great plaudits as well.
I’ll be claiming an iPod Touch, myself, as the $60/month service charges at&t are levying for iPhone access plans are a bit steep at this point.
Besides, I’m holding off for an Android phone. *grin*

A New Version Of WPhone: 1.4.0 Is Out.

Stephane, Viper and I have released a new version of our WPhone Admin plugin, bringing the tally to version 1.4.0. There’s a good bit to this version, including bugfixes galore and an all-new plugin management interface, allowing users to enable, disable and manage their installed plugins from the road.
Head on over to the site to check it out, or go ahead and download it directly.

WWDC bbPress Meetup Wrap-Up

I arrived a bit late to the Meetup last night due to the walk being quite a bit… longer than I expected. No matter — San Fran was lovely and temperate last night and I definitely got to know the downtown shopping district a bit better due to the walking “tour” I conducted.
I joined Matt, Mike, Sam and Barry at the Chaat Cafe, a nice, hip little Indian restaurant. We chatted for a good long while on topics ranging from bbPress to WordPress to blogging in general to the dismal state of the cellular telephone network in the U.S. The food was good and the conversation better.
Towards the end of the meal, Matt invited us all back to his apartment for a little party that he was putting together featuring mojitos and a screening of Trapped In The Closet: Chapters 1-12. I had my misgivings about the movie and so decided to stay only for the conversation and drinks, but then ended up throwing caution to the wind and sticking around for the whole thing (plus, my hotel was quite a distance away and I needed to mooch a ride off someone. *grin*). We waited around for a while in Matt’s apartment, awaiting the arrival of a few other SF residents (Tony, head guy from Sphere, for one) and chatted about Open Source development/project management, work histories and the current over-the-air television offerings in Australia (Sam’s an Aussie). Once the others arrived, we migrated across the hall to the “theater” that Matt’s building shares and proceeded to watch the movie.
I have to say that I was extremely glad I stuck around. I didn’t realize it when I gave my assent, but Trapped In The Closet is R. Kelly’s short film/”musical” opus and, while that fact alone might be enough to throw a lot of people off, I ended up enjoying it quite a bit. It is a piece of high (unintentional) camp — I thought that no one could be so guileless, so naieve as to how their work would be received, but once the movie finished, Matt threw the DVD over on to the commentary track which featured R. Kelly sitting in an overstuffed armchair ala MST3K, puffing on a cigar and narrating in a straight-ahead fashion. I simply cannot explain how hilarious it ended up being — and I do not think the 3 hour time difference or the glass of unfiltered Scotch had any appreciable effect upon my enjoyment of the film. We hooted and hollered at Kelly’s rhymes (“Beretta” and “dresser”, “Bridget” and “midget”) and just about laughed ourselves silly. It was definitely an experience to remember.
Once we were done, it was well past 1am PDT (4am my time!) and two of Matt’s friends offered to drive me back to my hotel. I’m afraid I don’t recall both of their names — one was Kevin — but if you all are reading this: many thanks for the lift!
All in all, it was a worthy and entertaining outing. My thanks go out to Matt for his hospitality and to Barry, Sam and Mike for their conversation. It’s always nice to run across those who end up being kindred spirits of a sort and it’s even nicer to put a face and a voice to names that one has only known via email and electronic communication in the past.

Thunderbird 2.0: An Upgrade Well Worth Your Time

Yhunderbird!
The Mozilla Foundation released Thunderbird 2.0 yesterday and, based upon my first 24 hours with it, I’d give it an unconditional thumbs-up.
Overall, it’s a much nicer experience than the previous version (1.5). It is faster, the interface is cleaner, it handles IMAP mailboxes far faster than before and it has a few nice new touches like:

  • Tags for categorizing your messages
  • Viewed message history and corresponding buttons allowing you to move back and forth between your recently-viewed messages just like you move between browser pages.

…and a ton more that I’m sure I’m forgetting at this point.
Needless to say, if you’re not slaving away under the fierce whip of one of the various flavors of Outlook, you need to start using Thunderbird 2.0. Stat.

SuQLite

If you were paying close attention, you would have noticed that the “Elbee Elgee Development” section of my footer was messed up for the past few days, and with good reason. That little bit of content is generated by parsing the RSS feed for the timeline on my Elbee Elgee Trac installation. Sometime earlier this week, the SQLite database that provides the backend for that install freaked out and locked itself up good n’ tight which necessitated me spending several hours debugging and de-wedging the DB.
The problem can be summed up thusly: it seems that Trac sites running on FastCGI have a tendency to try to access the default SQLite database fairly quickly and, if the DB files happen to be stored on an incorrectly-tuned NFS share, a race condition can ensue and incorrect file locking can occur, leaving the DB in a locked state.
It was initially a very long and frustrating process, as I scoured teh Googols for information on how to unlock a SQLite database. I found that a second file was created in the db/ subdir of my Trac site – trac.db-journal, which apparently indicates that a transaction is in progress or was incorrectly aborted. Search result after search result implied that one could unlock the database by

  1. Killing all process accessing the file
  2. Moving the -journal file
  3. Moving the .db file itself
  4. Restarting Apache
  5. Rebooting the machine

Since I’m on a shared hosting account at Dreamhost, options 4 and 5 were obviously Right Out. No amount of lsof or fuser tweakage, combined with judicious use of `kill -9` managed to unwedge the DB, so #1 was a bust. Options 2 and 3 allowed me to use the sqlite command line tool to connect to the database and run SELECT statements, but any INSERTs were met with “Database locked”-style error messages and thus Trac stayed broken.
Then it hit me – since I could SELECT, I could (conceivably) dump the contents and then reimport them into another DB. I cd’d into my Trac site’s db/ folder and executed the following:

echo '.dump' | sqlite3 trac.db > trac.dump; cat trac.dump | sqlite3 trac2.db

Using the sqlite3 command line tool, I verified that everything was copacetic and breathed a sigh of relief. Stupid SQLite.
I guess this seals it: when I finally move from Trac 0.9.6 to 0.10.3, I’m going to move to a real RDBMS like MySQL so this sort of stupid file locking crap doesn’t happen again.
NOTE: Apologies for the 3rd Grade-level insult inherent in this post’s title (it’s pronounced “Suck-well Lite”). Pretty much sums up my feelings, though.