Pooh on Projects

The Bear and Friends have a way to speak truth. Just before heading to the doctor this morning, my wife put on The Many Adventures of Winnie the Pooh for our son. It’s been years since I’ve seen this, and my ear caught something of it while it played in the background. Pooh has eaten too much hunny and is stuck in Rabbit’s front door. Owl comes by to try and solve the problem. Does any of this sound familiar to you as you’ve seen other IT folks talk to business people about how to solve their problems:

Read more…

GMail IMAP in Mail.app Slow?

GMail IMAP downloading at 1.1 KB/s

I never download anything in Safari this slow. It’s easily hundreds of times faster. It’s been well over a month since I setup my GMail IMAP. I’ve done some initial investigation, but nothing concrete showed up that I hadn’t tried. Any ideas?

Using Google’s Chart API to Create Sparklines

Just a couple weeks ago I was wondering how Google made its sparklines for Google Analytics. I was creating a Health Page of sorts for my application (a rudimentary listing of recent performance statistics, like how long it took to get a DB connection). I had designed my stats collection piece to keep track of data over the last 15 minutes or so, hoping to show a chart of recent activity when I hit my health page. I had plugged in the Colt statistics library to perform some calculations on the set of measurements in each minute. I had a lot of data points ready to display.

But I didn’t like how the Java Sparklines library worked, and I couldn’t see an easy way to mimic Google. Then just a short time later, they released their Chart API. So this morning I put my data into their API and the charts came out pretty decent (ignoring the fonts, decimal formatting, and alignment of my other stuff):

Sparklines using Google's Chart API

I can’t figure out how to get rid of the x and y axes entirely. I mimicked the Analytics chart size of 75×18 (or thereabouts), and it’s close. The Analytics charts also seem to have a minimum 2px buffer of fill along the bottom, so even 0 has some fill below it. They also seem to auto-size so the max measurement it at the top. There are several ways to refine what I’ve started with, but for an admin page that’s full of 80-150 charts, and only viewed by a few people, it’s a decent start.

Please leave a comment if you’ve got any tips on how you use Google’s Chart API to create sparklines.

How to Setup Google Apps Chat SRV Records For iChat and xmpp4r-simple

I’ve registered several domains using Google Apps. Lately I’ve been fiddling with using Jabber with those domains, and I wanted to have a program be able to interact on IM using an account like tim@example.com. Furthermore, I wanted to have everything Just Work.

The place to start was with DNS. Google has a help page about how to setup your DNS so that your Google Apps accounts can be federated with other non-Google Jabber communities. The problem is that neither xmpp4r-simple nor iChat simply work if I use tim@example.com as my JID. Then I stumbled across this post that connected the dots for me.

Here’s a screenshot of how I setup my SRV records over at eNom:

DNS SRV records for XMPP federation and client setup.

After that, my simple chat listener worked:

require 'rubygems'
require 'xmpp4r-simple'

im = Jabber::Simple.new("tim@example.com", "secret-password")
puts im.connected?
im.accept_subscriptions = true

while true
  sleep(5) unless im.received_messages?

  im.received_messages { |msg| puts msg.body if msg.type == :chat }
end

My little “bot” silently accepted new buddy requests, and printed out recent messages every 5 seconds.

UPDATE: Something’s amiss here, I think. I’ll update when I have more details. Guess not. I tried this out on another domain, and thought that things didn’t work right. But I was mistaken. Everything looks good.

iPhone: Using video more than I expected

When I first thought of getting and iPhone I never figured I’d use the video feature much. But it turns out that I was wrong.

My iPhone item count

I’ve found that things like Railscasts are both incredibly useful, and surprisingly readable on the 160 dpi screen. I’ve also just loaded up the Apple Video Tips to check them out.

These short kinds of video tutorials are great for short waits, and I like the way that video can illustrate the point quickly.

Oh — and having a kids movie like Finding Nemo on there can really help out when you end up waiting WAY longer than you expected somewhere JUST before nap time… :-)

Just one more way the iPhone has really changed the way I do many things — for the better.

Watch Out For Exploding Water

Odd as it may seem, the wife of one of the guys on my team got hit with some Exploding Water on Sunday morning. First degree burns on her face; glasses protected her eyes. Didn’t know nuking water in a Pyrex container could be so volatile under just the right conditions. Guess this gives you an excuse not to scrub your dishes too clean. :-)