Category: Weblogs

  • Comment Spam Sucks

    I’ve been doing a poor job at keeping up with comment spam lately. While I still need to go back through all of my comments and delete the spammy ones, I’ve decided to try Spam Karma 2 hoping that will take care of the horde of comment and trackback spam. I think the built-in RBL stuff is snagging all of it, but if you have any problems posting a comment, send me an email at matt at ooiio dot com.

    Update: SK2 seemed to behaving badly in some instances, so I’m going to give WP-Hashcash a go for a bit.

  • Shuttle Fleet Grounded

    A bit of sad juxtaposition back to back in my aggregator this evening:

    CNet: Blog: Scanning today’s postings, a reader might think the world was somehow transported back to the dawn of the Space Age. …

    BBC News: The US space agency Nasa says it is grounding the shuttle fleet after debris fell from Discovery.

    Bummer. I don’t know how many more blows like this our space program can handle. The shuttle program is far outdated and needs replacing, but we’re not pulling out the platinum Amex.

    This news makes me sad.

  • Thoughts on Ajaxian Advertising

    When I read Jason Calacanis’ post about Ajax and ad revenues I couldn’t help but think about the flip side of the coin: how can advertisers (and webloggers/content publishers take advantage of Ajax-fu to increase revenues?

    Sure, advertisers have been taking advantage of Javascript to serve up popups, pop-unders, hijack your screen holding you hostage, and a myriad of other nasties. That’s not what I’m talking about (although there’s always something new to make me look at crappy ads). I’m thinking more about smart stuff that can be done to increase value for advertisers as well as readers. What the heck am I talking about? Here are some thoughts:

    • Auto-Refreshing Text ads. This would have to be done carefully, as I tend to stay as far away as possible from ads that make my eyes bleed. I really love text ads because (at least with Google) they tend to be right on the money, relate to the rest of the content on the page, and often enough are interesting enough to click on in a short attention span kind of way. You could do all kinds of sexy stuff, like scroll the top ad off and bring one up from the bottom in a skyscraper configuration, or just do a fade swap for a new ad. Because they’re still text ads, and the new ad is probably just as targeted, it just might work. Most text ads are pay per click not pay per view, so costs per ad wouldn’t got up any, you wouldn’t have to pay the content publisher any more unless there’s an actual click involved.
    • Context-Sensitive Ads, Part I: Take the success of text ads one step further. Who’s to say that an Ajaxian click can’t involve another impression? If someone chooses to drill down to more pictures of Lindsay Lohan, why not update that ugly sidebar ad? Or of course you could use the opportunity to scan the new content and update text ads if necessary. That’d be kinda cool.
    • Context-Sensitive Ads, Part II: Hey, take that one step further. How about ads that update themselves onHover(). Again, don’t be stupid. Get too fancy or make my eyes bleed and I’ll probably not come back. But couple this with unobtrusive value-adding textads (Hover over a title containing the word “giraffe” and you get some text ads involving giraffes). This may not work quite as well as an ajaxian fold/expand call (a click would make the user more likely to expect an “event” to happen). It’s also mighty tempting to flog something like this to death.
    • Interactivity in a meaningful way: No, I don’t want to punch the monkey. But how can Ajax help me interact with an ad in a way that I might find useful? What about an ad that provides me with some information (or something else) that I’m looking for. For example, if I were hawking Wikipedia, I might infer something based on the content from the page and serve up an excerpt from a related article. If I didn’t get it right the first time maybe I’d offer some other suggestions. A click on that suggestion might provide another excerpt rather than just send me on over to the page. Something like this might have the same effect as the Google multi-click banner ads that Jason describes here.
    • Something completely different: This whole Ajax thing is still a baby. There’s a lot that hasn’t been done with Ajax yet, and even more stuff that hasn’t been thought up yet. There’s a ton of potential here and I expect a lot of smart people to push the envelope. Who knows, some of them might even apply it to online ads.
    • Latest WordPress

      Please bear with the default WP theme for a little bit. I hope to get my previous template back up soon, but I finally took the plunge and updated to the latest WordPress release (something I should have done some time ago). Let me know if you experience anything super weird.

    • Penguins Marching

      March of the Penguins Poster

      We went to see March of the Penguins today, and it rocked. The first thing I heard about it a few weeks ago (besides it being good) was the fact that it was grossing a lot more than anything else on a per-screen basis than anything out there, even though it was only out in a handful of theatres:

      Around Hollywood, they’re calling it the “Penguin Movie.” And although it doesn’t offer any challenges to Brad Pitt or Tom Cruise in the leading man department, the film nabbed at least one box-office bragging right this weekend: On a per-screen basis, ticket sales for “March of the Penguins” were far more than for any other movie, $26,269, compared with $19,719 for the overall box-office champ, “War of the Worlds.”

      After seeing it, I know why. The cinemetography is amazing. The story is epic. The writing iis great, and Morgan Freeman does a great job narrating. We were in a smaller theatre, but if it wasn’t completely sold out there couldn’t have been more than a few empty seats.

      Needless to say, I highly recommend it as long as you can handle something that’s not full of special effects and bad acting.

    • Aggregating Again

      The little linux box that runs my aggregator of choice has been down for the past week or two due to a physical location switch. The den-datacenter is taking shape but still needs more organization. The good news is that the aggregator/debian desktop and my Ubuntu/Windows desktop are both running via a 2 port KVM at my desk and I’m sorting out the rest of the bunch that will live on the other side of the room.

      I forgot how much I rely on my aggregator to keep me up to speed. Functioning without one required a lot more work checking various sites, and I’m sure that I missed a bunch of goodies that got away. Expect more technical posts soon!

    • Found Playlists: Mix of the Female Pursuasion

      A few years ago I put together a 2 disk mix for a very close friend whom I’ve since lost contact with and feel horrible for doing so. The mix captured several of the female artists (or at the very least female-fronted artists) that I was listening to at the time or already had in my collection. I ripped each CD to MP3 and then put together the mixes using Nero (I think) to burn them back to audio CDs. Looking at the list I can put my fingers on a commercial CD for each of these tracks (I think I was proud of myself for that at the time). Each of my mixes usually has one tragic, awkward flaw, but this is probably one of the best I ever put together.

      Without further adieu, here’s a list of the songs in the mix, with a link to the artist whenever possible:

      Mix of the Female Pursuasion – Disk 1

      1. Madonna – What it Feels Like for a Girl (remix)
      2. Element 101 – Cold Outside
      3. Sarah Harmer – Basement Apt.
      4. Nelly Furtado – San Francisco
      5. Jill Sobule – Big Shoes
      6. Poe – Haunted
      7. Supreme Beings of Leisure – Golddigger
      8. Alanis Morrisette – Perfect
      9. Esthero – Country Livin’ (The World I Know)
      10. Mary Prankster – Blue Skies Over Dundalk
      11. Luscious Jackson – Devotion
      12. Nelly Furtado – Shit on the Radio
      13. Angela Ammons – It Doesn’t Matter
      14. Jill Sobule – Bitter
      15. Element 101 – Telephone
      16. Poe – Walk the Walk
      17. Jewel – Who Will Save Your Soul
      18. Sarah Harmer – Don’t Get Your Back Up
      19. Luscious Jackson – Sexy Hypnotist
      20. Mary Prankster – The World is Full of Bastards
      21. Tori Amos – Rapsberry Swirl
      22. Supreme Beings of Leisure – Never The Same

      Mix of the Female Pursuasion – Disk 2

      1. Sarah Harmer – I Thought I Knew You
      2. Nelly Furtado – Turn Out the Light
      3. Eddie From Ohio – Stupid American
      4. Tori Amos – Addicted
      5. Alanis Morrisette – Head Over Feet
      6. Jill Sobule – Karen by Night
      7. Poe – 5&1/2 Minute Hallway
      8. Esthero – Look at That Girl
      9. Hot Honey Magnet – Everything Changes
      10. Supreme Beings of Leisure – What’s the Deal
      11. Poe – Hey Pretty
      12. Luscious Jackson – Ladyfingers
      13. Jewel – Down so Long
      14. Mary Prankster – Mac & Cheese
      15. Alanis Morrisette – Not the Doctor
      16. Tori Amos – Playboy Mommy
      17. Jill Sobule – Heroes
      18. Element 101 – If Only My Heart Spoke
      19. Esthero – Taste So Sweet
      20. Supreme Beings of Leisure – You’re Always the Sun
      21. Sarah Harmer – Coffee Stain

      Looking back on this mix it doesn’t have a whole lot of depth, but it does a perfect job at capturing some of the CDs in heavy rotation at the time. It was great to revisit some of these websites to discover new releases, little tidbits, or the fact that the band broke up a long time ago.

      I apologize for boring you with a random playlist from the past, but the playlist and what it represents mean a lot to me.

    • Prepping for Orange Code Camp

      Code Camp 2005

      I’m heading down to Sarasota, Florida later this morning for Orange Code Camp. I’m going to be covering the event for Orange as well as posting an article or two on All About Symbian and if I have any keystrokes left in me, hopefully a post or two in my weblog.

    • Contax: Rest in Peace

      DPReview broke the news yesterday:

      Kyocera Corporation (President: Yasuo Nishiguchi, hereafter called “Kyocera”) has decided to terminate CONTAX-branded camera business.

      The announcement saddens the camera geek in me. At the same time I’m not suprised. The photo industry has changed dramatically over the past decade. Some companies successfully hopped on the digital bandwagon and were successful. Some tried digital and failed horribly. Kodak managed to hold out on digital in the beginning but has managed to do an amazing job at capturing the digital market. Kodak isn’t making slide projectors any more and has significantly reduced the different types of film, paper, and chemicals that it once did.

      Contax was just another victim of the digital age and the corporate bottom line. They had some very solid medium format and digital offerings, but obviously were not profitable enough.

      I wouldn’t expect this to be the last announcement of a historically big name traditional camera company just dissapearing. Everything is changing at such a rapid pace. Even a company doing the right thing may have a hard enough time catching its breath.

    • Podcasting Adoption Rate

      Via Engadget and Scripting News, according to the Pew Internet and Life Project [pdf], 29% of all US digital media player owners (6 million Americans) have listened to a podcast.

      I think “6 million American adults have listened to podcats” is being confused with “6 million Americans can recognize the word ‘podcast’ when used in a sentance.” The 6 million mark was derived from talking to 208 media player owners. This leads to a margin of error of plus or minus 7.5 percentage points. Don’t get me wrong, podcasting is huge and is being adopted quickly, I just think that 29% seems a bit high.

      Perhaps it could be better stated: “About 60 out of 208 Americans who own digital media players and were willing to be surveyed about their media player usage claimed to have listened to a podcast.”

      I’m guessing that a lot of people know what the term podcasting is without having actually participated in the sport themselves. I’ve only ever been able to really get in to IT Conversations and Leo Laporte’s podcasts. I don’t know why, but Dawn and Drew kinda creep me out.

      I’ve never participated in “pure” podcasting though. I’m one of those neadrethals who has to download individual MP3s and burn them to CD so he can listen to them in the car. I’ll get with the program someday though.

    • PyCon Day 3: PyBlosxom

      Yes, that’s right. I still have notes from PyCon that need a proper writeup. Ted Leung‘s presentation on PyBlosxom. PyBlosxom is an implementation of Blosxom that is Pythonic while maintaining the original blosxom zen.

      Like any old blosxom variant, you don’t need a database to run PyBlosxom. Posts are stored on the filesystem, and most of the hard work is accomplished by PyBlosxom interacting with the filesystem. You can use whatever editor you feel most comerfortable with to create your posts. A post is stored somewhere in a folder heiarchy that also acts as categorization.

      Most of the base functionality in PyBlosxom is implemented in plugins. There are also a multitude of plugins that can enhance your PyBlosxom weblog, including archives, calendar navigation, xml-rpc interfaces for the Blogger and MetaWeblog API, autopinging, logging, lucene integration, post markup engines, and more.

      Developing PyBlosxom plugins seems to be a breeze too. Plugins are just Python modules that supply callback functions. They’re called by PyBlosxom at specific times, and multiple plugins can be chained together that can be called in alphanumeric or a specific order. Plugins get all of the information they need to work with in dict form. They are given http request information, configuration data, and other data that it may need and need to just manipulate that data to get the job done.

      There are a ton of plugins available already, but Ted would really like to see some more comment plugins, especially with picture challenges and comment moderation.

      Ted’s talk was motivation enough for Erik Smartt (who was sitting next to me in the back of the auditorium leeching power) to switch from his home grown blog software to PyBlosxom. He also converted his wiki markup code in to a PyBlosxom plugin with very little effort. Hopefully he’ll find a solution to multiple categories too.

    • Open Screencasting

      I’ve been a big fan of Jon Udell‘s screencasts of various products and hacks for as long as he’s been doing them. Screencasts can be curious oddities but are more often extremely helpful. For example, this screencast covering the setup of Ruby [quicktime] adds a ton of value to the HOWTOs and install documentation on the Ruby on Rails site.

      That’s why I was especially excited by this flash screencast by Dan Winship demonstrating the basics of Stetic, a Mono-based Gnome GUI designer. After viewing the screencast, I noticed that he produced it with a program called vnc2swf:

      Vnc2swf is a screen recording tool for X-Window (X11), Windows and Mac OS Desktop. Vnc2swf captures live motion of a screen through VNC protocol and converts it a Macromedia Flash(TM) movie (.swf).

      The program is available in source and binary form for OSX and a few flavours of Linux. It’s defeinitely not a program polished for end users (it looks like installation may be tricker than many casual Linux users would be comefortable with), but it’s great to be able to produce quality screencasts using open source tools. SWF isn’t the most open format on the planet, but let’s look past that for now. I’m sure that you could convert it over to mpeg or something a little more “open” if you really wanted to.

      I see screencasting as a possible “next big thing.” I don’t think it’s going to be the next weblogging or podcasting, but it has tons of potential. I’d love to see little thumbnail screencasts fly by my aggregator when I read the freshmeat feed.

    • Divester: Google Ads as Design Element


      I caught the announcement of another Weblogs, Inc. weblog the other day: Divester. You guessed it, it’s all about SCUBA diving. I used to dive, though it’s been a few years since the last time I got wet with a tank strapped to my back. Fearing information overload, I haven’t subscribed to the Divester RSS feed yet, but I’m going to pop in every day or so and check out the website, and reevaluate my RSS position in a few days.

      The design is quite striking. Big splashes of blue (as one might expect on a diving blog) and the sillouette of a diver. The coolest thing (I think) is the use of the Google Ad up top as a full fledged design element rather than something grafted on later.

    • Experimental Bookmarklet

      New Delicious Bookmarklet

      A week or two ago I tried to post something to for the first time from a new box. I logged in and went to drag the bookmarklets to the bookmark bar in Firefox. I was excited to find a new bookmarklet called experimental post to on the about page.

      I dragged that on to my bookmark bar and haven’t looked back. It sounds cheesy, but the experimental bookmarklet adds a lot of value to If other people have posted the link to the tags that have been used in the past show up in recommended tags at the top. All of the tags that you have ever used are listed below, with the recommended tags highlighted. Below that are a list of some of the more popular tags that may apply to what you’re bookmarking.

      This rocks on so many levels.

      First, it’s great to get instant feedback as to how other people are tagging something that you’re about to post. At first I thought that this was a drawback and might confine new links to be posted within a universe of existing tags. After using the new bookmarklet I’ve found myself looking at the existing tags but often diving in to my list of tags and just as often using a tag that I’ve never used before. Second, it makes tagging easier. Just find the tag you want in your list and click on it. It’ll be automatically added to the list of tags in the form. It’s also a great prompt to remind you exactly what variation (singular, plural, e tc) of a word you have previously used as a tag. This way you’re not tagging stuff that you would post in the same category (such as blog/blogging/weblog/weblogging) to one category one time and another category the next.

      I think that this new bookmarklet is going to make the experience even better than it already is. I’d suggest that everyone who uses the service go to the about page and snag the experimental bookmarklet. Trust me, you’ll never go back.

    • Perfectly Spherical Holographic Cow

      While I was in middle school, I spent a fair amount of time on CapAccess (the local Freenet. Yes I had to get my parents to sign the application form that I printed on the Okidata) and ViBES, The Virtual Interactive Blair Environment System. I was going to Sligo at the time and was nowhere near as cool as the Redland middle schoolers. I went by the name Prometheus. I had an office with some useless stuff in it that you had to teleport to. I wandered the virtual halls of Blair and vaguely remember something about a Perfectly Spherical Holographic Cow. I could be hallucinating though.

      How did I get here? Oh right. Go North.

      The whole ViBES mention is a tangent on a tangent on a tangent. It all started when I refreshed the Hack the Planet tab in Firefox (on my Debian box). I finally clicked on the PDF about peer to peer event notification which I had been meaning to do since yesterday. After glancing it a name near the top stuck out: Dan Sandler. Where the heck have I heard that name before? Reference the first paragraph of this post in which I rememberd ViBES and two of the god-like admins: Dan Sandler and Danny Gould.

      I was curious what Dan had been up to since I vaguely knew him (virtually) in middle school. All is well aparently. He’s working on his PhD in Computer Science at Rice and working on the FeedTree project [pdf] that got me started with all of this googling in the first place. He’s also got a weblog which I’ve subscribed to via RSS. I wasn’t sure that he was the same guy I knew years ago, but this reference to ViBES confirmed it for me.

      It was nice to stumble across old names and remember the good old times when we used to surf via gopher. It’s great to know that some of the kids I hung out with online when I was a kid are doing well. It also makes me realize that I’m still working on my BS in Computer Science while others from my childhood are working on their Masters and PhDs. I really need to slack less and code more.

      My apologies for the trip down virtual memory lane. Don’t even get me started on green CRTs and 1200BPS modems, I could go on for days.

    • Google Maps From Point A to Point B

      I’d like to say this up front: Google Maps is the most beutiful webapp that I have ever seen. It’s thick-client goodness in a plain old browser. It’s gorgeous, it’s clean, it’s interactive, and it’s driven by Google. It also has a killer feature: parmalinkage.

      Getting back on topic, has anyone actually trued to use it? For directions I mean. They seem to be about on par with Mapquest, which isn’t a compliment. I was really bummed when I clicked on the Print button. I was expecting a nice clean overview map with a minimap for each turn. I was dissapointed to find a rather huge map with some text directions thrown in at the bottom.

      Hey guys and gals, what gives? I love that I can click on each turn number and get a zoomed-in map of the turn. They’ve got this retro nostalgic feel to them. I love them. They don’t really do me a lot of good when I’m on the road though, unless I’m balancing a laptop on the dashboard. For the sake of drivers around me, I’ll refrain from that

      I know, I know, it’s a Beta. Unfortunately Google has led me to expect perfection out of their Beta services. I do hope that they give me some options on printing in the future. As much as Mapquest sucks I really like the turn by turn graphics (for when I miss the turn and get lost).

      I could probably deal with the printable directions as they are if they didn’t feel like an afterthought. Mapquest does a pretty good job with their little icons (right, left, interstate, route number, etc). I also like no-nonsense approach that Yahoo Maps takes. They mark their turns with clear L and R icons.

      Thanks Google, for another awesome tool, even if it’s not perfect yet.

    • Freshmeat\’s Revamped RSS Feeds Rock!

      Freshmeat offeres several XML feeds of new project releases as well as an RDF representation of its software map and all releases. Until recently the Freshmeat RSS feed that I was subscribed to was a no-nonsense short list of projects with new releases. To view information about a particular release, I just CTRL-clicked on the project name to get more information in a new FireFox tab.

      That has obviously changed recently. I’m pretty sure that the barebones feed has gone away, and I’ve now been redirected to fm-releases-global.xml. Here’s a quick list of available feeds:

      The release feeds are RSS 2.0 generated by PyRSS2Gen and are just beutiful. The new feeds provide most of the critical information that I would want to know about a new release: project name, branch, version, project description, changes for this version, and a screenshot if available. That totally rocks! Here’s an example from a release that hit my aggregator this morning:

      Title: gnormalize 0.12 (Default branch)



      Screenshotgnormalize is a graphical front end to normalize. It decodes the MP3/OGG files to wave, then normalizes the wave and re-encodes it to MP3/OGG. It can also convert audio format between MP3 and OGG, change the encoding and ID3 tag properties of final normalized files.

      This release can now convert audio format between MP3 and OGG.

      Thanks, freshmeat. You’ve totally made my morning!

    • Emerging Gift-Giving Technology

      It has arrived. I’m referring to the Apple Store gift card that was arranged rather quickly days before Russ’ birthday. Looking back at it, I’m pretty amazed that a group of friends scattered throughout the world with a common love of mobile technology brought together by a guy named Russ was able to pull it off.

      To tell you the truth it would not have been possible without the use of traditional and non-traditional technology:

      • IRC: Much of the organization took place using IRC in #mobitopia and various backchannels and private messages. IRC was probably the most-used technology in getting things organized. Because we’re a bunch of mobile geeks, much of the IRCing was done on the run using WirelessIRC.
      • Wiki: Once we realized that more than a few people were going to be involed, I put up a wiki page on one of my secondary or tertiary wikis. The wiki page was called DonTTellRuss. This was crucial in keeping track of who had pledged, who had confirmed, and who had paid, as well as keeping general information about the status of the project.
      • Email: While email is a little old skool, it did play a role in bringing everyone together once the ad-hoc organization was complete. Email is still “old reliable” even though it’s not as timely or reliable as it used to be.
      • Transcontinental and Transatlantic SMS: International SMS messaging is one of those things that I’m glad “just works” most of the time. SMS messages were especially useful in keeping in touch with TomH who’s not an IRC regular. Costs associated with this were negligable: 15 cents or so for a SMS to the UK.
      • Paypal: Though I have misigivngs about PayPal and some of their draconian practices, it’s just the only way to move a little bit of cash worldwide in an instant. We would not have been able to pull this off if we were not able to pool money from Germany, the UK, Sweden, and America together in a timely manner. I love their emails: “You’ve got Cash!”
      • Jabber/Instant Messaging: This was especially useful in keeping everyone in touch during organization when we were at work and couldn’t be on IRC. Some of us used a Jabber gateway to Yahoo! and IRC. I used Gaim on windows to keep in touch wtih Martin via Yahoo! and others via AIM.
      • Next Day Shipping: We take it for granted, but getting everything organized around the world in a matter of days would not have been possible if we were not able to pick up a gift card in Virginia on Wednesday and have it arrive in San Francisco on Thursday. The original plan was to send it US Postal next day (so it could have been shoved in Russ’ mailbox), but we got a few inches of snow in DC and traffic was so bad that if I had waited to get to a post office in Maryland it would have been closed. It went FedEx and unfortunately arrived while Russ was at work. No worries though, because he got it Friday before the crucial Mac min purchase.
      • Voice on Mobiles: Believe it or not we do occasionally use our mobile phones to make voice calls. This was particularly useful in keeping in touch with Erik while he and I were on the road.

      Thanks again to everyone who participated. I’m glad that I was able to help facilitate the efforts of a bunch of mobile geeks in getting the guy that brought us together a birthday present.

    • /me is back.

      It’s been a long couple of months and I apologize for the hiatus. It’s a long story for another day, but lets put it this way, I’m back! I’ve moved from Radio Userland to WordPress. I promise that I’ll share my (semi-painful and procrastination-ridden) migration process in due time.

      The .css that is currently driving the site is Dots by Alex King, which I’m currently tweaking. I’ve still got some random bits that I need to find and url rewrite to fit the new engine, but I’ve done my best to keep the old permalinks. If you find something that’s whacky, please drop me a line at matt at the domain Thanks!

    • Happy Techblogiversary!

      Two years ago today I started blogging at  I did start my livejournal in September, 2001, so I have been at it a bit longer than two years.  Either way, today is my techblogiversary.