Archive for the ‘Development’ Category

Rails gem files

Thursday, August 17th, 2006

If you ever need to install Ruby on Rails 1.1.6 then here is the minimal list of gems you need:

Use gem install on them.

RailsConf Europe 2006

Wednesday, August 16th, 2006

I just booked my place at the European Ruby on Rails conference being held on the 14th and 15th of September in London. If you are going drop me a line.

111

Monday, August 14th, 2006

I just noticed one of our svn repos is on rev 111.

*Paul lifts his feet from the floor till the next commit*

The real time platform

Wednesday, August 9th, 2006

How odd is it that I can just tell you that I will write the code tonight or tommorrow and then whenever I feel like it, push a button that makes it available to the entire world? Have you ever worked with a platform like this before?

O’Reilly quoting Mark Lucovsky on developing for the net.

It is something I also love about the web.

Action tags

Friday, August 4th, 2006

Tags have, without a doubt, made my life better. My photos are better organised, my links are readily accesible, my posts categorised and I am labelling my emails like there is no tomorrow. I’m waiting for file systems to get in on the act and then life is complete. At least eLife is.

I want to see tags go a bit further though. I want their simplicty retained but their power expanded.

Many a time have I uploaded a photo to Flickr and wanted to have that photo automatically emailed to a group of friends based on a tag. Everyday I link URLs on del.icio.us and Blinklist that I want automatically sent to a group of fellow linkers. For example if I link “http://www.evoca.com” I would tag it with some standard metadata tags (e.g. “podcasting, audio, phonecasting, website, service”.) The next tag I would want to add is “group:podcasters”. The system would see the “group” ActionTag and send some kind of notification to the podcasters group.

Another ActionTag might be “email:bill@gates.com” which does exactly what it says on the tin (with some measures to prevent email abuse of course.) Maybe you want pingomatic pinged when you add a photo in which case “ping:pingomatic.com” is added as a tag. How about tying in text services “sms:+353868968944″ or API calls “api:basecamphq.com/api/tasks/add?t=evoca.com”. The last one is a bit complicated but having the capability would be very interesting.

I don’t want to complicate tags so in no way should an ActionTag aware system put any conditions on other tags. Listing tags for an item should either exclude or differentiate ActionTags in some way. ActionTags need to be simple to enter as well, maybe a colon to separate the key from the value (though that impacts a value of an URL.)

Mainly I want to automate my photos, links, emails and so on with simple commands.

Packaging Edge Rails as a Gem?

Thursday, August 3rd, 2006

Does anyone have a clue as to how to download Edge Rails and package it as a Gem for easy install? Right now I have my svn repo setup with an external link to Edge Rails but ideally I’d like to be able to create a gem from Edge Rails and install that. Any help is appreciated.

Getting the SVN revision number in Ruby

Friday, July 28th, 2006

rev = `svn info`.match('Revision: (\d+)')[1]

That bit of Ruby code will return the Subversion revision number of the working copy it is run in.

`svn info` returns

Path: .
URL: http://svn.yourdomain.com/trunk/

Repository UUID: 4e38b711-8f0e-1410-9e15-e3a330ac0d60
Revision: 894
Node Kind: directory
Schedule: normal
Last Changed Author: pwatson
Last Changed Rev: 894
Last Changed Date: 2006-07-28 14:48:28 +0100 (Fri, 28 Jul 2006)
Properties Last Updated: 2006-07-28 14:50:11 +0100 (Fri, 28 Jul 2006)

The regex bit (.match(’Revision: (\d+)’)[1]) then returns the 894 number from that string.

(Thanks to Dela for the regex.)

Functions as arguements

Friday, July 28th, 2006

Slash7 has posted the slides from their brilliant Javascript Boot Camp Tutorial talk at OSCON. 108 pages of pure JavaScript love. One thing I just learnt, on page 36, is that you can pass a function as an arguement into another function. That function can then call the arguement function. Sounds weird but that is pretty amazing if you ask me.

Cerberus on Windows

Wednesday, July 26th, 2006

Just a quick one before a longer “Rails Continuous Integration” post but if you are trying to get Cerberus to work on Windows then after the gem install you have to set an environment variable yourself. Create one called CERBERUS_HOME with a value of C:\ruby\lib\ruby\gems\1.8\gems\cerberus-0.1.1

Utilities != auto_scale

Saturday, July 22nd, 2006

In Amazon’s Data Socket Nicholas Carr writes on how Amazon’s S3 provides reliable, scalable storage to start-ups, lowering costs and barriers to entry. Om Malik is quoted as saying that the value of developers in these start-ups will move from the architectural side to user experience and “developer skillset.”

Now while I like S3 and think it will enable start-ups I must say you can still build an unscalable, unreliable service on it. S3 and co. don’t give you magic scalability, your application still has to be architected and developed with care and thought.