Multiple deploy keys with git

Before I forget, and some may find this useful too.
If you are deploying a few projects to the same server you will run into this, you need to use unique deploy keys to access each project unless you want to add the server’s public key to your account. For security reasons I did not want to do that.

First generate some deployment keys with ssh-keygen. Here’s some more info on adding your deploy keys to your git repo

So I need to set up my ssh config file in ~/.ssh/config like so…

Host project-a
  HostName github.com
  User git
  IdentityFile ~/.ssh/deploy_key_a_rsa
  IdentitiesOnly yes

Host project-b
  HostName github.com
  User git
  IdentityFile ~/.ssh/deploy_key__b_rsa
  IdentitiesOnly yes

Let’s say your two project git urls look like this:

  git@github.com:anon/project-a.git
  git@github.com:anon/project-b.git

You can now clone with the correct keys using..

  $> git clone project-a:anon/project-a.git
  $> git clone project-b:anon/project-b.git

I liked Dashcode

I’ve been using Dashcode for the last two weeks or so while creating my Build Status Monitor widget. First impressions are not too bad. As IDE’s go, it does the job. You can write your html, css and javascript, all in one place, there’s a wysiwyg view, that’s all to be expected. To be honest I thought the code view could have done with better syntax highlighting, I found myself yearning for TextMate or Coda at times.

The winning feature for me though was the debugging facility. I found it to be extremely efficient, I’m sure I saved hours as it reliably showed me where the problems were in my code, allowing me to jump in at the offending line. When I’m developing for the web I can’t live without Firebug, when it comes to Dashboard widget development, Dashcode’s debugging abilities were a pleasure to use.

Deploying a widget couldn’t have been simpler. File > Deploy Widget, File > Deploy Widget to Dashboard. I did see one issue where I tried deploying the widget to my Dashboard at work and the widget simply wouldn’t initialise. All I saw was the default widget image. However I deployed the same code at home and the widget worked fine. I’ve installed that same widget in work now and I have no trouble with it now. I can’t figure out what the problem was. Perhaps all I needed was a restart.

Anyway, thats my Dashcode lowdown. I do recommend getting stuck in if you like that sort of thing.

CruiseControl.rb Dashboard Widget

I hated skipping back and forth to CruiseControl.rb at work to keep an eye on various builds so I’ve put this widget together to make life a little easier. The Builds Status Monitor Dashboard widget takes the build rss feed and displays the current build status. Does what it says on the tin.

Screenshot:

Build Status Monitor Screenshot

Download:
Click here to download the Build Status Monitor. Just unzip and install, minimum requirements MacOS 10.4.x. This is my first Dashboard widget so some of the code is a bit untidy. I’ve tried to keep the look and feel clean. Please let me know if you have any problems or suggestions.

A sarcastic slow clap for Adobe CS3 developers please.

I’d like to thank Adobe CS3 developers for my source of utter frustration last night and this morning.

Last friday I did a clean install OSX 10.5.2 on my iMac. When presented with the choice of two filesystems, HFS+ Journaled, or HFS+ Journaled, Case-Sensitve. I chose the case-sensitive option because I am a web developer, I deal with linux OS’s all the time, I’m used to it. It makes sense. How was I supposed to know that 3 days later, when I begin to install Adobe CS3, the installer would drop out immediately with an error.

"the file system of the OS volume is not supported"

I found this on their support area : http://kb.adobe.com/selfservice/viewContent.do?externalId=kb400587&sliceId=2

What? Why? I’ll tell you why, because those CS3 developers are the laziest damn developers I’ve heard of. A problem like this is completely ridiculous. I can’t begin to comprehend how Adobe developers could blatently ignore some basic common sense coding practice and cause so much grief.

Adobe doesn’t care that they have caused this issue. They know about it alright, it hasn’t just surfaced with CS3 it’s been around for a while. I’ve read that CS2 would go through the install on case sensitive systems and then give problems when it couldn’t find files as you started apps in the suite. Well at least I might have had an opportunity to fix those issues if CS3 would go through the install. But no, this was their fix. Rather than just address their sloppy coding and fix the filenames referenced. The installer refuses to continue.

The only real solution seems to be reformat, don’t use case sensitivity next time.

Nice one Adobe. Stand up and take a bow.

How accurate are your web traffic reports?

Recently a client raised concerns that their Webtrends traffic reports were showing traffic well beyond what Google Analytics was reporting. I have good faith in Google Analytics, it would be hard for their reports to be wrong I thought. Fair enough there are cases where the tracking script may not run but that shouldn’t cause the kinds of gaps we were seeing. Webtrends was reporting almost 100% more page views than Google Analytics and roughly 30% more unique visitors.

I had to see for myself which tool was wrong so I took a sample of the server logs from Feb 1st to run a comparison.
Continue reading

Noobkit’s search box / header drives me nuts

I’ve recently started using Ruby on Rails. I use Noobkit.com constantly for reference. It’s the best Ruby/Rails reference I’ve seen. It just drives me nuts that I have to scroll back up to the top of the page any time I want to search for something. I always felt that the header position should be fixed. It would be more consistant for the design and more usable.

I created a simple Greasemonkey script to put me out of my misery.

Download it here (Right Click > Save As): Noobkit Header Fix

Just apply it to http://www.noobkit.com/show/*

If I had a magic phone it would turn into underpants.

So Google aren’t building a GPhone afterall : http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html

Instead they have been working on a Linux based, open mobile platform called Android.

Android is the first truly open and comprehensive platform for mobile devices. It includes an operating system, user-interface and applications — all of the software to run a mobile phone, but without the proprietary obstacles that have hindered mobile innovation.

Google haven’t been alone in this venture. The Android platform has been developed in cooperation with the Open Handset Alliance which includes some big players in the mobile industry like Motorola, T-Mobile, HTC and Qualcomm.

There will be an Android SDK available for this some time next week, but don’t expect to see any handsets running this OS till mid next year. I’m excited to see what comes from this. Over and over we have seen that truly innovative and useful applications from an unhindered development community. They sky’s the limit with Android powered phones.

An absolute market leader, startlogic, has blown the industry of business hosting with its incredible service and hosting solutions. The company has been rated as the number one for the whole one quarter in the webhosting reviews. The close competitor and an equally credible name, lunarpages hosting service has captured the customer segment big enough to dominate the market in the coming days in the efforts to mark its name as the best web hosting service.

How to make your iMac Crash

I’ve have my iMac (Intel core2 duo 2.16ghz, 2gb, OSX 10.4.10) for about 6 months now and I made it crash for the first time last night.

One crash in 6 months is feckin’ brilliant as far as I’m concerned, my love for my Mac grows greater each day :)

How did I manage to crash it? Trying to start Windows XP in Parallels while in the middle of printing something, I guess it caused some sort of conflict over ownership of the USB?

Anywho, won’t be trying that again.

Attack of the Clones!

Via TUAW:

I was having my usual morning scan through TUAW when I saw this. It looks pretty cool.
Ok it looks freakishly ‘similar’ to an iPhone. In fairness if this was an animal it would be Dolly the Sheep. I was reading the comments and there are mixed views over this. It is a blatant copy. Nokia’s Exec VP is quoted as saying “If there is something good in the world then we copy with pride.” I think I agree with him. Apple have redefined the mobile handset. The rest of the industry now has to catch up.

Eventually all the major manufacturers will probably have something that looks like an iPhone. Most mobile phones are essentially the same unil now because until now they have been the most efficient form. That has changed and the other manufacturers need to catch up. So I guess my point is don’t be angry when you see other companies taking Apple’s lead. They recognise that Apple beat them at their own game and has shown them the future. This will lead to a wider variety of better handsets. A little competition for the iPhone will drive prices down a bit too, that’s always a good thing. Bring on the iPhone clones I say!