Kickball Miracle no more

The dream is over – my team lost tonight in the second round of the playoffs – too many errors, not enough runs. We started a comback in the top of the 5th with three runs in, but alas, it was not enough. At least we have the one win to look back at in the long offseason :).

I did have fun reffing the game after ours though – I called a tight strike zone because I’d rather see lots of kicking than a pitchers-duel any day of the week. The teams certainly came through for me. One of the teams scored 11 runs one inning. Fun to watch.

Miracle on grass

My kickball team, the Somerville Land Pirates (yarr!) won our first game of the season at long last! We entered the playoffs last in the league with a perfect 0-8 record, having never led in a game. Our opponent had the good kind of perfect record, and had beat us twice already in the season.

Last night none of that mattered though (nor did missing half our team); we cruised to a convincing 6-1 victory over the number one seeded Stewie’s sexy party. Things looked good right away with a four runs in the first inning, and we never surrendered that lead thanks to some great defensive plays by Tom and Ander.

Don’t think too hard.

I haven’t flown since the whole liquid bomb scare, but my trip down here to visit Frank reminded me how inane these new anti-liquid guidelines are. In fact they’re so nonsensical that the page of prohibited items asks that you not try and make sense of them at all:

We ask for your cooperation in the screening process by being prepared before you arrive. We also ask that you follow the guidelines above and try not to over-think these guidelines.

I think that speaks volumes.

Remember this: gel bras ok, gel insoles, not ok.

Late to two-way sync party…

I was disappointed this morning to see on digg that someone is already writing software to do bidirectional syncing between google calendar and icalendar. I have been preparing to write such a beast by familiarizing myself with the syncservices API, all the while wondering why no one had done it yet. SyncServices makes it surprisingly easy to do, and that’s been around since Tiger came out over a year ago.

There was clearly a pent up demand for a tool like that, lots of blog posts and comments on the topic here and there – definately something that would fetch a token 10 or 20 bucks for use. I was wavering between a free/open source model and doing a a for-pay client (which would probably require lawyering and accounting) so now that there’s competition, if I proceed it’ll definately be the former. That’s only fair really since I wouldn’t have done it at all if PyObjC wasn’t free.

At least now there’s no real rush to beat some unknown competitor. I can go back to learning ruby on rails instead as originally planned.

Movies: The Departed

I saw The Departed last weekend. It was very good overall and had surprising twists and turns at the end. For me I was so used to seeing Martin Sheen as President Bartlett that I kept thinking that its a good thing the president was able to keep himself busy fighting crime in Boston now that he’s out of office.

One nit about the movie: the movie has two characters talking on the phone (to each other) on the T, but there’s no cell phone reception on the red line between Park Street and South Station.

SyncServices Example Code in Python

I’ve continued my earlier efforts to learn the SyncServices API and their use from Python using PyObjC and am pleased to share this example script. (I’ve also submitted it to the PyObjC project). The example code interacts with Apple’s Simple Stickies example. The script performs a full “truth” retrieval, registers an alert handler to join sync sessions, adds a new sticky, then waits to handle any sync events.

Now that’s done I can use it as a basis to explore calendar syncing…

Moving On

I’m leaving Oracle as of tomorrow. It was interesting having the opportunity to voluntarily leave a company this time :). I was only there for a year and month or so, but I learned a lot (though some of that will be useful nowhere) and got to work with some smart folks along the way.

I’m moving on to a startup called Zingku.

Some experiments with PyObjC and the Mac OSX SyncServices engine

I haven’t developed any software that interacts with OSX before the last couple of days. I have to say the experience has been interesting. I’m really impressed with the usability of the interface builder as well as the power of the .NIB file. I hadn’t realized it was much more than just a description of the application layout.

The main reason I’ve never ventured into programming for OSX is Objective-c. Don’t know it, not sure if I want to know more than I’ve learned in the last couple of days. I had an idea of a project to leverage the SyncServices engine though – so I took the plunge. Into PyObjC that is. (I would have liked to use RubyCocoa but it doesn’t look nearly as fully baked).

Progress was slow at first; I had to at least learn to read Objective-C so that I could understand the docs and the example sync applications. Now that I’ve figured out some of the issues I’ve encountered I’m much more confident – if nothing else now I know what I don’t know. I have to say I’m really impressed with the power of PyObjc. It’s been really great for interactively groping my way through the SyncServices apis.

My first task was to get a feel for the apis by doing a read-only (pull) sync of the stickies saved in Apple’s Stickie’s Example. The code that does that is here. There’s currently no sample python code for the SyncServices module available, so I should hand this off to the pyobjc folks (If they’ll take my painfully un-idiomatic python) once I flesh it out some more.

Can you tell a company by its website?

I’ve been looking for a new job of late, so I’ve been looking at a lot of company websites to get a feel for the company. I know the saying is you can’t tell a book by its cover (even though a cover can catch your eye and make you buy it anyway), but can you tell much about a company by its website?

I like to think you can.

The following factors tend to weigh heavily against a company in my mind (especially if they create web applications):

  • Site looks ugly or broken under firefox (I know most people use IE still, but come on. This also indicates they may be writing IE-only webapps)
  • Messy javascript
  • Poor HTML- no css, lots of inline css
  • Bad information design

I understand that a lot of these companies probably outsource their web presence, but I would think that if there were some talented designers at a company, one of them would raise some concerns about or fix the issues above, particularly poor information design.

Here’s a case study. One of my recruiters told me to take a look at Outstart which appears to be in the business of information delivery (e-learning etc) via the web. So it was especially alarming that they didn’t seem to be able to deliver information about their product line very effectively. Take a look at the screenshot below (taken from here). I’m willing to bet that a large percentage of visitors to the page try to click on the product names (in blue, bolded) next to the short descriptions before figuring out that doesn’t work and using the menu at left. Talk about misleading information scent. (Click the image for a larger version)

Lame info design

Other strikes here (besides the different order of the products in the page and in the menu):

  • Parts of the site don’t render well in Firefox. (like the country drop down box) I don’t want to work on an IE-only app again. Ever.
  • The url is ugly and complex. It contains at least 100 characters, many of which are in hexadecimal. They break down into three coordinates on the menu to decide which page to show. Only each id is a 32 hex characters, which means there are 10^24 possible menus, and the same number of possible items per menu, and the same number of base menus. I guess they’re thinking about growth, or adding the entire internet to their menu structure. At 10^72 combinations, they might be able to have a page for every atom in the universe. Way to plan ahead for growth.
  • The HTML is broken. There’s a chunk of CSS before the html tag. No Doctype.

I’d expect more from a company that builds web apps to deliver e-learning, wouldn’t you?

Getting more organized at last

I’ve read David Allen’s Getting Things Done at least twice now but never really implemented many of the ideas until now. I’ve looked at many productivity tools, both open source and not, in search of something I could use. I liked the tiddlywiki and GTDTiddlyWiki apps, but I don’t carry a laptop to and from work and didn’t want to have to carry a USB key everywhere. I’ve used backpack a bit recently, and its handy for some simple things, but it wasn’t really enough for my needs (especially without paying for it – I already pay for hosting so I might as well use it more than I do).

I found Tracks and its been great! Its written in Ruby using Rails, so you can easily host it somewhere public (as I do now) or run it locally on your own computer. There’s a free to use install at zenlist

As an aside, I was building ruby 1.84 on my macs, and I was really taken back that my macbook compiled twice as fast as my G5 Imac given that they’re roughly the same clock speed and the Imac’s disc is probably a bit faster. I was also surprised back when i got the imac that it wasn’t that much faster in non floating point tasks than my old G4 ibook despite an 800mhz advantage, so I guess I shouldn’t be amazed that the duo runs circles around the G5.