May 7th, 2008 — Other Stuff
Last night, I decided to reload OS X on my MacBook. Contrary to most expert opinions, I upgraded to Leopard instead of doing a clean install. Since my performance has seemingly gotten progressively worse over the past six months, I figured a clean install was the way to go. Here’s what I did:
- Did a full backup to an external USB drive using SuperDuper.
- Did the above again to another drive just in case…
- Left the USB drive attached and rebooted my MacBook while holding down the
Option key to get the boot menu and chose to boot from the USB drive just to make sure everything was backed up.
- Did the above again with the other drive just in case…
- Disconnected the USB drive, inserted the Leopard DVD and rebooted while holding down the
Option key again and chose to boot from the DVD.
- Did the installation and customized the options to remove print drivers and language translations I don’t use.
- Created the primary account on the new install the same as my current account.
- Ran
Software Update and rebooted until all updates were installed.
- Enabled the
root user.
- Logged in as the root user and ran the
Migration Utility.
- Plugged the USB drive in and chose the option to migrate my data from a mountable volume and chose the USB drive and my user account. Chose the option to overwrite the current account.
- Read a few chapters of a book while this copied.
- Unmounted the USB drive and rebooted.
- Logged in as my normal user account and verified everything still worked. It did.
You could probably skip having to enable the root user by creating a temporary user account during the installation and then telling the Migration Utility to just copy your account over since that wouldn’t require replacing the current account which requires you to be logged in as root.
I’m very impressed with how easy this was and that everything “just works” after the restore. If you’ve done this before and have any feedback, let me know in the comments.
April 23rd, 2008 — Other Stuff
Yes, that’s the best title I could come up with for my latest project Followinger. The idea is simple: follow the followinger user and then you can d followinger with a Twitter username and you’ll receive a d back with all kinds of fun stats:
- when their account was created
- how many people they are following
- how many people are following them (friends)
- the ratio of following to friends
The idea is that when you want to make a follow decision these stats are good to know. If you see that the account was just created or they follow way more people than follow them, you may want to think twice about following them back. This tool gives you a way to get this info in a Twitter reply.
Feedback welcome.
April 18th, 2008 — Tech/C# and ASP.NET
We just finished moving a few apps from .Net Framework 1.1 to 3.5. One of the problems we ran into was this exception when using some symmetric encryption code. When we decrypted the value from the DB, this was being thrown.
From what I can tell, it looks like in 1.1 passing null data to the decryption worked (or at least silently failed) and likely returned null back (well, a blank string in our case due to type conversion). However, in 3.5 this exception gets thrown.
An easy fix but one of those little things that took a while to track down so hope this helps someone.
February 28th, 2008 — Orlando, Tech
So why are you reading this? Go register!

January 25th, 2008 — jQuery
For a new site, I wanted to have a DIV’s background image be dependent on the online status of an AIM user. jQuery and the AIM Presence API make it easy.
First, the code:
-
$.getJSON("http://api.oscar.aol.com/presence/get?k=key&f=json&t=aimuser&c=?",
-
function(result){
-
if (result.response.data.users[0].state == ‘online’) {
-
$("#status").css("background-image", "url(’online.jpg’)");
-
}
-
}
-
);
Using the getJSON() method of jQuery, we pass in the URL of the AIM Presence service with the parameters needed.
The f parameter tells the service what format to return the results in–JSON in our case. The c parameter specifies the JSON callback to use–this is important! The k and t parameters specify the AIM key to authorize the request and the user to query the prescense for. Note that key and aimuser need to be replaced with your AIM key and the user you want to query if you’re playing along at home.
The second parameter we pass in to getJSON() is the function we want to use to process the JSON data that gets returned. In this case, my CSS rule for the #status DIV specifies the background image used by default which is the offline status. This way, if there is a problem with the service or API, we default to it being offline. So, the function here just checks the first member of the returned users array in the response and compares their state to the string 'online'. We only need to worry about the first user returned since we’re querying the status for only one user.
The important part of this is setting c=? in the parameters passed to the AIM Presence service. This tells jQuery to replace the ? with the correct method name to call and passes it in to the service. Without this, you’ll get 'invalid label' errors in Firefox and it just won’t work in other browsers. The jQuery getJSON() docs note this but it wasn’t clear to me from the example at first how to use it.
That’s all there is to it. One more reason to love jQuery!
January 1st, 2008 — Tech
I’ve updated my Switch Scrollwheel Behavior (catchy name, huh?) plugin to work with Firefox 3. No changes were made to the plugin other than updating the manifest to specify version 3.0+ as the max.
You can download it here. You’ll have to save it and do an install manually since I’m too lazy to mess w/the xpi install javascript.
What the plugin does is toggle the value of mousewheel.withnokey.action between zero and one to switch between scrolling one screen or one line at a time when using mouse scrolling. The quickest way to invoke it is from the context menu (right-click) on a page.
November 23rd, 2007 — Other Stuff
Don’t want to leave the house today to get good deals? Check out Amazon’s Black Friday deals. Every hour between 6AM and 6PM Pacific time, they’ll have a new deal. Scroll down on that page to find more ongoing deals in various categories.
I have a feeling that between this and my Prime membership, I’ll be greeting the UPS guy on Monday.
Technorati Tags: black friday, amazon
October 26th, 2007 — Humor

OMG, he’s so f’ing cute!
Technorati Tags: leopard
October 8th, 2007 — Other Stuff
This weekend, a group of local swimmers will be attempting to set the world record for a 100K swim relay. Julie and I will be swimming our 2K each sometime between 2AM and 6AM on Saturday the 13th. Since this record doesn’t exist, we’re guaranteed to make it if the relay is completed.
At the same time, Yuko, a competitive marathon swimmer and regular at Lucky’s will be attempting to break the current open water lake swim record of 80.2K. She’s a member of the International Swimming Hall of Fame and holds the record for the fewest days to get into the 100K club at Lucky’s: 10 days.
We are also raising money for the YMCA Aquatic Center Learn to Swim scholarship program. This scholarship program subsidizes pool time for the Orange County Special Olympics Swim Team and the Learn to Swim programs for economically disadvantaged children. If you’d like to donate, please contact me. Any amount is appreciated.
Technorati Tags: swimming, orlando
October 3rd, 2007 — Orlando
This is a follow up to my BlogOrlando recap and is more about what BlogOrlando meant to me and where we go from here.
It’s the Community, Stupid
The bulk of BlogOrlando attendees were from Orlando and the metro area. Depending on where you looked, you could be forgiven for thinking it was a Florida Creatives happy hour since that group was representin’.
While many of the talks were about building and maintaining online communities, we had an entire track this year for Life/Local and a session dedicated to The Orlando Scene. I was handling the Tech track so I didn’t get a chance to sit in any of the Life/Local sessions, but from what I’ve read and heard for feedback it completely rocked. Not only that, but it served to get even more people involved in our local creative, tech, and blogging community.
Everyone’s a Geek
When you have a woman who does Avon sales wanting to know how she can quickly and easily get a video of her products onto people’s iPods when they attend one of her meetings, you begin to realize that what even a year ago was totally geeky territory has become almost commonplace. People–not just geeks–are thinking of how they can leverage existing and emerging technologies to help them have fun, learn something new, share something learned, or expand their businesses.
In John’s Videoblogging session and Ryan’s podcasting session, they both made it clear that this technology is now and is for you. You don’t have to know what you’re doing or even what you’re doing it for; you just need to jump in and become part of the community.
Join a Community - Start a Community
We seem to be hitting a critical mass where people are wanting to be part of something bigger. In Orlando, we have Florida Creatives. This hasn’t been around forever. It wasn’t around until someone decided it needed to be around. And for that, we all thank Ryan for kicking it off and keeping it humming along. Similar story for Tommy and Sticks of Fire in Tampa. Don’t see what you like out there or don’t see anything at all? Get something started and leverage all the community tools that are out there. Want to start a Florida Creatives group on your town? Get in touch with Ryan or post it on the wiki.
Don’t think you need to be just like everyone else to be part of something. I looked around the rooms at BlogOrlando and saw a fairly diverse group. Not just demographically, but also people with differing viewpoints, skills, and jobs. But they all share a common passion.
I’ll leave you with a (partial) quote: “good luck. We’re all counting on you” — Dr. Rumack in Airplane!
Technorati Tags: blogorlando, blogorlando2007, orlando, floridacreatives