Hi.  I’m the new guy.
Monday, August 29, 2011

It’s only been two weeks, and I’m already feeling quite at home.  Thanks to the Minneapolis Egotist for sending love.  I will do my darndest to reciprocate.

There’s a New Guy in Town

(0) Comments • (380) TrackbacksPermalink

Wednesday, August 24, 2011

There are many personal facts I’ve learned over my lifetime, with each year teaching me something new.

For instance,
“You must wait 45 seconds before eating freshly microwaved Totino’s Pizza Rolls or you will burn your face off.”

One of the latest personal fact I’ve found is the following:
“There are no songs with whistling that are bad.”

To prove this, I’ve put together a short playlist with some of the greatest whistling hits.

I hope you enjoy.

The Whistle playlist

(0) Comments • (95) TrackbacksPermalink

Idea - ZipCar Scavenger Hunt
Thursday, July 21, 2011

For those of you who aren’t in the know, ZipCar is an all-inclusive short-term car rental service, allowing you to rent a car for the exact amount of time you need it.  You can get one to pick people up from the airport, get groceries, pick up a prostitute, make an Ikea run, or simply to drive around the beautiful city.  To say that the Missus and I use ZipCar is an understatement.

While on a short trip South last week, we were listening to the car’s stereo, and an idea dawned on me: ZipCar should have a scavenger hunt for the modern day scavenger.

Think about the following scenario:

When arriving at your rented ZipCar, you unlock / get in / start the car.  But with the car’s motor starting, a CD in the stereo begins as well.  A friendly, yet authoritative voice (in my head, it’s Ira Glass) says,

“Hello, ZipCar driver. While we know you’re a very busy person, we thought you might also like the opportunity to turn this trip into an adventure.  If you choose to accept, continue to listen.  If you do not, we completely understand.  If you could be as kind as to rewind this track to the beginning and stop the CD player for the next person, we’d appreciate it.

You’re still here?  Splendid.  Welcome to your ZipCar adventure.”

From here, the trip would resemble a GPS-guided trip, but creating challenges to continue to the next checkpoint.

“You seek a statue of a master. The Golden Gate, it is by.  Do or do not.  There is no try.”

When arriving at the checkpoint, a laminated note rests in front of the Yoda statue at Industrial Light and Magic. It instructs you to change the CD’s player to a specific track on the car’s CD player.  These clues continue until you find yourself (hopefully), at the final destination.  I’m thinking it’s a pay phone with a number that you would call to claim your prize.

So, the question is, most ZipCar drivers rent a car with a task in mind.  Would you stray off the beaten path in the name of adventure?

(0) Comments • (95) TrackbacksPermalink

Idea - GPS for runners
Thursday, February 17, 2011

Most running / biking / walking applications address the activities by recording the activity for later analyzation.  To my knowledge, I haven’t seen an app that assists you in creating and guiding you through an ad hoc run.

A rough idea of an experience with the application:

User is visiting Cincinnati, Ohio and has time for a 30 minute run.
They start the application, input 30 minutes, and it formulates a path for them.
While jogging, they can listen to their music, and will get periodic text-to-speech directions.

Additional options could be to adjust difficulty (more hills, higher pace, etc) and rate produced paths for other users.

It’ll make millions, I tell ya.  Millions.

(0) Comments • (112) TrackbacksPermalink

Tuesday, February 01, 2011

As part of a week experiment with my good friend, Mr. Dave Marr, we dove headfirst into playing with the new peer-to-peer technologies afforded to us by the latest Flash Player.

In the past, if you wanted a Flash application on one machine to talk to another, there was a heavy sigh, and the matter of setting up a Flash Media Server always ended the discussion.

With the latest Flash Player, they’ve removed that dependency, and have made it super simple for one-to-many (well, 16 maximum users) communication.

Our experiment, which I lazily dubbed ‘Convo’, allows users to chat with one another by simply going to a webpage and entering a group id.

So, go and try it out.  I’ll be the one breathing heavy on the other end…


(0) Comments • (93) TrackbacksPermalink

Caveats when developing Facebook applications in Flash
Monday, January 10, 2011

The number of eyeballs and the ability to socially spread awareness of the app make Facebook the online development platform.

After developing several Facebook applications, I’ve found several tripping points that I thought I’d document to help those who find themselves in the same position.

1. Images
The images returned from Facebook APIs live in an increasing number of places.  Primarily, they live on the Facebook CDN servers.  But to make things hard on you, some don’t.  Some live on servers that lack cross-domain policies. When loading in images, be sure to account for potential security errors. I filter loads to only come from fbcdn.net.  Also, I set my load logic up to only load files ending with .jpg.  Why?  Because the default facebook silhouette image is a .gif, and resides on static.ak.fbcdn.net, which lacks a cross-domain policy.

2. Internet Explorer
When making secure calls (HTTPS) in Internet Explorer, Flash geeks out on the cache, and does not return a result.  Most Facebook API calls are done over HTTPS, which creates a predicament.  As a workaround, I proxy traffic using a Zend PHP proxy when I see that the user is using IE.  Hopefully this gets resolved soon.

3. Profile albums
On occasion, it appears that Facebook albums become corrupted.  When this happens, when mousing over a link to the album on Facebook, the user will see that the album id is -3.  When querying for these photos using the Graph API, the returned dataset will be empty.  The bug is detailed here.  A workaround is to fallback to FQL, which will return the proper photos.

Edit - Feb 1.
4. Empty FQL results
If you’ve tested FQL queries using Facebook’s FQL test harness, and are seeing the data you expect, and get to your application, and see {} and [], be sure to check the permissions you’ve granted the application.  The FQL test harness appears to operate with full permissions, so every query comes back with a plentiful bounty of data.

Edit - Mar 23
Not really a Flash-related issue, but with Facebook’s new feature for users to browse using HTTPS, Canvas-based apps must now be browsable as HTTPS.  Get those SSL certificates out, kids.

(0) Comments • (141) TrackbacksPermalink

Compare internet files with ease!
Tuesday, July 27, 2010

When dealing with a CDN-based platform, the issue of synced files is often an issue. You’ve deployed to the CDN, and are curious if the deployed file is the updated file.

After running across this issue several times, I built a quick shell script to easily determine if two online files are the same.

After downloading, you’ll use it like this:
compare.sh URL1 URL2

If the files match, you’ll get:

Otherwise, you’ll get:
Different. Are either URLs password protected?

Download here:

(0) Comments • (108) TrackbacksPermalink

OS X screencap + dropbox = win
Thursday, July 01, 2010

With the introduction of applications such as Skitch and Pastebot into my everyday workflow, I’ve found myself yearning for multi-step historical clipboards.

One alternative to Skitch that I’ve construed was using the native screen capture functionality of OS X, and teaming it up with the unstoppable online storage service, Dropbox, storing all screen captures in a location that allows for persistent storage as well as very simple sharing.

First, if you haven’t, sign up for a Dropbox account. It’s free for 1GB of online storage:

Install Dropbox. It will create a folder in your /Users/USERNAME directory

Second, modify the location of your OS X screen captures to your Dropbox. You can do this by invoking the following command in terminal:
defaults write com.apple.screencapture location /Users/USERNAME/Dropbox/Photos/

And you’re ready to go! No more Skitch-running-in-the-background necessary to easily share screen captures online.

(0) Comments • (96) TrackbacksPermalink

A hit
Tuesday, November 17, 2009

As an effort to record the more memorable things going on, I thought I’d toss this little doo dad up.

I was biking down to my final day of jury duty (for a guy who punched a loud public cellphone talker in the face), and was crossing an intersection, when a Prius cut two lanes left and ran into the front of my bike, causing me to eat its front quarter panel. Embarrassed, I picked up myself and my bike, and hobbled over to the side of the road. By this time, the Prius driver was two blocks away. I limped to jury duty, and sat in silence for three hours.

When I got back to my office, I wrote the following Craigslist ad (with my good friend, Ryan’s help):

Fast forward to October 7th, when I received an email from my friend Lalit:


Jay Leno just read your missed connection from Craigslist. You are sure to
find her now, would love to buy tickets to your coffee brawl.

The video he mentions is available here:

So, for all you aspiring writers out there wondering how to get their foot in the door with Jay Leno, I hope this post helps you find your way.

(2) Comments • (228) TrackbacksPermalink

Getting Flash to see the proper webcam
Wednesday, May 27, 2009

Having trouble using your Mac webcam w/ Flash sites?  Macs are notorious for selecting the wrong camera on behalf of the user.

Ensure you’ve got the latest Flash player, and the proper webcam selected in your Flash Player settings.
Right-click the screen, choose Settings:


Then, click on the little webcam and choose USB Video Class Video:

(1) Comments • (106) TrackbacksPermalink

BetamaXmas recap
Wednesday, May 13, 2009

Much like the Super Nintendo was a sweet Christmas gift in 1992, the traffic and feedback for BetamaXmas was pretty awesome.

To date, it’s spit out 340,000 pages to 210,000 unique users, 9,000 of which returned more than once.

How it works
I add a video to my 80’s Christmas holiday playlist on YouTube:
An hourly cron job uses the YouTube data API to snag my playlist.
If any videos have been added since the last time the cronjob ran, it adds it to my database (The TV Guide).
This adds the video to the XML running the site:
Another cron job checks to see if any videos have been pulled from YouTube and marks them as deleted from the TV Guide.

The TV Guide
The site works on a system that shows everyone the same TV Guide at the same time. So, if you’re watching Have Yourself a Very Winslow Christmas, you can tell a friend across the country, and it’s on at the same time for them. I thought this reinforced the old style of television watching, where you were at the mercy of the networks. This effect is created by creating a timestamp on the XML telling us what time the server thinks it is. Flash does the modulus of that time against the time of a channel, which gives us the current show in the channel.

Some cool things I learned about along the way.

The YouTube Chromeless player
When traffic started getting a little more frequent, so did the Amazon S3 bill. Senore Baio suggested I look into the Chromeless player for hosting directly off of YouTube, which saved me a mint.

Reinvigorate rocks. They’ve got wonderfully stylized reports, and best of all, realtime traffic reports. They also have a sweet little app called Snoop that runs and notifies you when someone is visiting the site, and the referring site. Here’s a screencap:

Facebook and Stumbleupon throw a shitload of traffic. Mark and Garrett rock.

The Onion’s Tolerability Index (above Shatner’s show, mind you)
New York Magazine’s Vulture section.
Comedy Central

(0) Comments • (84) TrackbacksPermalink

Housemate Bill Notification
Friday, March 13, 2009

I live with two housemates, and am the main recipient of the bills.

After receiving months of email bills that required reading / math / forwarding, I wrote up a quick PHP script that:
- checks IMAP email for bills
- finds the dollar amount due in the email
- divides the amount due by the number of housemates
- emails housemates with amount due

I run it as a cron script every half hour.


(0) Comments • (104) TrackbacksPermalink

Poker Cheatsheet
Friday, March 13, 2009


We had a small poker game, and found it was helpful in the later hours to have a quick reference guide for Texas Hold Em’.

It shows hand order, steps through the dealing process, and orients the dealer / big blind / small blind / first bet.


(0) Comments • (144) TrackbacksPermalink

It’s beginning to look a lot like betamaxmas!
Friday, December 05, 2008

Happy Holidays, everyone.

To celebrate, I’ve created a time portal back to December 1988 at http://betamaxmas.com

So, go and check it out, as I’m making a list, and checking it twice, and I know where you sleep.

Thanks to Eddy Tofslie, Nick and Lucas

First day’s stats: First day stats for BetaMaXMas
Digg: http://digg.com/television/Have_A_Very_BetaMaXMas

(3) Comments • (106) TrackbacksPermalink

Sunday, October 26, 2008

Prior to purchasing the iPhoneBoredomKiller, I needed a way to get important emails sent to my phone.

So, I whipped up a quick script to do just that.

IMAP2SMS will log into an IMAP account (like GMail) and look for unread, unflagged emails. When found, it strips all the HTML out, flags it (so it won’t send you the same message twice) and delivers it to your cellphone.

Set this up using a cron job, to run every 10 minutes or so.

Naturally, SMS charges still exist, so be wary if you have a cap on your SMS’s per month.


Page 1 of 2 pages  1 2 >