monkinetic weblog | redmonk.net

Since 1999, IX Ed.

Archive for 2007

The Secret of My (Christmas Tree) Success

Saturday, November 24th, 2007

I setup our pre-lit Christmas tree last night, and discovered to my dismay that four different strands of the pre-installed lights were not lighting.

CRAP.

I tried checking the initial bulb in each strand (typically with a white socket), checking the fuses in the strands, and replacing various burnt-out bulbs. Nothing was working. I spent this morning helping the church men setup one of the church homes for a ladies event next week, and one of the guys mentioned checking Ace Hardware for the individual mini-light bulbs I was looking for (needed to replace burnt-out bulbs).

I stopped by Ace this afternoon and the first person I talked to (helpful employees!) showed me to the bulbs I needed. Head home, and they’re not doing the trick. Head back to Ace and tell them I’m trying to fix broken strands on a pre-lit tree. The girl I talked to took me right over and handed me this.

lightkeeper_pro

The “Lightkeeper Pro”? I was skeptical, but it was on sale and after being assured that I could bring it back if it did not work, I grabbed it and some fuses and headed back home once again.

Well dang it, if the “Lightkeeper Pro” doesn’t work exactly as advertised! I was able to test the fuses and bulbs as I went, the built-in tools for removing the bulb sockets for changing bulbs worked great, and saved my fingers q lot of pain, and more amazingly, the seemingly “magic” feature of fixing non-lighting strands by sending a static charge down the line - works! I was able to fix not only the strands that were acting up this year, but the two stands which were not working last year as well. Woo!

Leopard Ho

Wednesday, November 21st, 2007

“Big Cat” references aside, Mac OS X 10.5 “Leopard” is pretty nice. My favorite feature so far is probably Spaces - though others have pointed out that it’s hardly the 1st implementation of “virtual desktops’ on Mac OS X, and it’s missing some features, it’s (understandably) the best integrated of any implementation so far. And it makes my 17″ monitor at work actually useful. My only gripe is that I want/need different desktop backgrounds for each Space so that I can remember where I am.

Web Design Is…

Tuesday, November 20th, 2007

Web design is the creation of digital environments that facilitate and encourage human activity; reflect or adapt to individual voices and content; and change gracefully over time while always retaining their identity.

[...]

If she achieves all that and sweats the details, her work will be beautiful. If not everyone appreciates this beauty - if not everyone understands web design - then let us not cry for web design, but for those who cannot see.

Understanding Web Design

Thank you, Mr, Zeldman.

The Things GTD app looks interesting

Tuesday, November 20th, 2007

Check out this screencast from tagamac.com on Things, a new GTD app from Cultured Code.

things_tagamac

I particularly like the concept of “Areas” - “an ongoing region of activity” - to group both Projects (multistep goals) and Tasks (single-step goals) together into something you can focus on. The example in the screencast is “Home Improvement”, an Area that contains both a Project (”fix the storm door”) and several single-step tasks.

HP stands for Hippopotamus

Tuesday, November 20th, 2007

Kottke:

No, the striking feature of this printer is that they made it look just like a normal desktop-sized HP inkjet printer, despite the fact that the damn thing is as big as a hippopotamus.

hp-pottomas

If You Love Your Users, Set Them Free — Portable Social Networks

Wednesday, November 7th, 2007

If you love something, set it free

If it comes back to you, its yours

If it doesn’t, it never was

– Author Unknown

These wise words graced the wall of my childhood home in Virginia Beach, VA, along with a generic painting of a seagull. (Why anyone would want to keep a seagull was beyond me.) However, in today’s web the words ring true all over again.

Social networks are popping up faster than weeds, and user fatigue is already setting in. One of the solutions (the most “Don’t Be Evil” in my opinion) comes in the form of a discussion of Portable Social Networks - the idea that social networking sites should allow users’ data to be portable between sites. This idea comes in two parts:

  1. Allow users to import their data from a source they trust in the form of an hCard, and their existing contacts in the form of XFN-linked hCards.
  2. Optionally publish user’s data in these same formats so that if they lose interest, they can move on.

Part 2 used to scare people running sites, but it’s becoming the de-facto standard and is becoming expected behavior (see Twitter, Flickr, dopplr, etc.) Data lock-in is considered in very poor taste now.

Surprisingly, part 1 is still finding its way into apps, though it would go a long way toward making users feel that they and their time are respected. A few sites are doing a good job of making it easy for users to bring their data with them. Dopplr.com, though in private-beta right now, is getting good reviews for a registration process that offers the user the option of importing their profile data from a variety of other social sites, and also offers to match up the users contacts from those sites with (and this is an important point) users already in the Dopplr system. Let’s cut down on the social-network-invite SPAM while we’re at it, mmmkay? Dopplr as even gone as far as publishing code.

Portable Social Network Lib

As a couple folks have discovered, I’ve started a project for a ruby library called, surprisingly, Portable Social Network Lib.

PSNlib is quite early in its life (and I’ve been distracted by an adoption and by adding some stuff to mofo to make building PSNlib easier) but it has two goals:

  1. Make it easy for a ruby-based app to add hCard+XFN import to an existing model layer, and
  2. Make it easy to publish user profile and contact/friend information as hCard+XFN

Eventually, I’d like to see OpenID/OAuth mixed in in some way as well. Kevin Lawver has started some cool stuff in that area, and I’m going to keep my eye on it.

Outstanding Issues

It’s after 2 AM in Vladivostok, Russia, and the whole point of this post was to get down some issues I’m having in implementation so I could STOP thinking about them. So in no particular order, here are some things that are bugging me:

Mixed data: XFN+hCard

When parsing an XFN list and you want to look for hCard data for those contacts along it, what is a good parsing strategy? lab.backnetwork (another site experimenting with XFN+hCard importing) uses:

<li class="vcard"><a rel="friend coworker"><span class="first-name">Co-worker</span> <span class="last-name">Friend</span></a></li>

This is thorny because while mofo/hpricot makes finding the XFN relationships easy, it would take some working around the default behavior to figure out that the XFN relationship was wrapped in an hCard (class=”vcard”). Likewise, I’m unsure of the recommended practices when publishing XFN contact list data with hCard data mixed in with it.

XFN pagination

rel="next" or rel="me next"? lab.backnetwork uses rel="next" but microformats.org recommends rel="me next".

Wrapping Up

That’s all I have energy for today, but if you have thoughts or ideas, please leave them in the comments. Thanks!

Stuck In The Far East Without A Compiler

Wednesday, November 7th, 2007

Seeing as I’ve been in Vladivostok, Russia for a week and a half now adopting our second (and incredibly precious) daughter, this is going to sound remarkably petty. But I’m a geek and it’s been driving me nuts.

Before we left I loaded up my Mom’s PowerBook G4 with the applications I needed for communication - Firefox, Mailplane, Quicksilver, our .Mac account, etc. I installed Textmate, checked out the source for mofo (I’m working on some XFN additions) and figured I was set.

The trouble, of course, was that I did not test out my rig before leaving. Since bringing Sophie back to the hotel from the baby home, I’ve had some down time to do some coding, and discovered that I had forgotten to load the the actual ruby gems for mofo and Hpricot. When I ran gem install mofo -y I discovered that Mom’s PowerBook does not have the dev tools installed and therefore could not build the native extension for Hpricot. KAAAAAHHHHHHHN!!!!!!

Ok, this can be overcome, I thought to myself. I tried contacting a few people (the 18 hour time difference to the States is a killer) and finally get a hold of Matt Gemmell who was kind enough to go through the process of installing rubygems, then mofo and hpricot, then packaging up his gems directory and sending it all over.

30 minutes after starting I load up irb and try:

irb(main):017:0> require 'rubygems'
=> true
irb(main):018:0> require 'hpricot'
/usr/local/lib/ruby/gems/1.8/gems/hpricot-0.6/lib/i686-linux/hpricot_scan.bundle: 
[BUG] Bus     Error
ruby 1.8.6 (2007-03-13) [universal-darwin8.0]

Abort trap
~ azivys$

Oh, man, Murphy must HATE me.

Matt was on a PPC mac, but was running Leopard, so I don’t know if that was the issue, or what. But I’m stumped, and while I’ve gotten some code written, it’s code I can’t run or test, which sucks.

So, I’ve got the call out to another friend, but don’t know if I’m going to be able to get this going before it’s time to come home (Saturday). Ironically, I’ve spent about 3x the brain cycles trying to solve this than I would have writing the code I planned to write in the first place.

Sigh.