lesscode.org


'Rails' Archives

I’ll Be Speaking At Canada On Rails Conference  2

Cat.: Rails
16. January 2006

I am excited to announce that I was selected as one of the 15 speakers to present a talk at the first world wide conference on Ruby on Rails. This conference is shaping up to be one of the most exciting events in software development this year (another one being the RailsConf 2006). It would be a shame to miss it, so if any of you are planing to attend, please pre-register here.

The tentative title of my presentation is “Less Technology — Reclaiming the Software Development Craft, One Scaffold at a Time”. I am not in the position to divulge the topics of the other 14 presentations, but I can assure you that some of the speakers are planing to tackle some of the most contentious and controversial aspects of the contemporary Rails development. I cannot wait to hear all these ambitious talks unfold.

If you’re interested, please drop me a line what areas of Rails development would you like to see tackled at the conference. I’ll see if I could squeeze some of your questions/concerns in.

Ruby on Rails Presentation — Audio  2

Cat.: Rails
22. December 2005

Couple of months ago I’ve posted links to my presentation on Ruby on Rails. Finally, after some deliberation, they posted the audio (about one hour in length).

The Myth Of Data Integrity  8

Cat.: Rails
01. November 2005

Another longish post that I wrote, this time it’s about the The Myth Of Data Integrity (posted on my blog). I was inspired by David’s interview on c|net news.com (Simplicity in Programming).

Controversial? You bet. Challenge the status quo!

Simplest Possible Plugin Manager For Rails  6

Cat.: Ruby, Rails
27. October 2005

UPDATE: I ended up making some pretty massive changes. You can configure multiple plugin repositories, install, update, remove, and discover plugins. The directions for installation are still valid but you’ll need to run plugin --help to get a feel for the changes in usage.


UPDATE: The plugin manager has been included with Rails 1.0 RC4. Run script/plugin --help from a fresh Rails app for usage information.


Rails 1.0 RC1 shipped with a simple plugin system - drop a directory under vendor/plugins that contains an init.rb file to be executed at configuration time and an optional lib directory to be placed on the path. Do whatever you please from there. It’s a simple hook into the startup cycle and a much needed addition.

About 19 hours ago, David suggested that people link to their plugins from the Rails Wiki as a kind of interim solution to the problem of not having a standard means of packaging and managing these things. They did and with links to their plugins’ subversion repositories.

Here’s a simple (150 line) plugin manager.

Install it like this:

$ cd my-rails-app
$ curl http://lesscode.org/svn/rtomayko/rails/scripts/plugin > script/plugin
$ chmod +x script/plugin

Then see what plugins are available:

$ ./script/plugin
continuous_builder  http://dev.rubyonrails.com/svn/rails/plugins/continuous_builder
asset_timestamping  http://svn.aviditybytes.com/rails/plugins/asset_timestamping
enumerations_mixin  http://svn.protocool.com/rails/plugins/enumerations_mixin/trunk
calculations        http://techno-weenie.net/svn/projects/calculations/
...

Next, install stuff to your vendor/plugins directory:

$ ./script/plugin continuous_builder asset_timestamping

Here’s how it works:

  1. Scrape the Plugin page for things that look like subversion repositories with plugins. (Yes, I’m using regular expressions. Yes, I understand the issues. No, I don’t care.)

  2. If vendor/plugins is under subversion control, the script will modify the svn:externals property on that directory and perform an update. You can use normal subversion commands to keep the plugins up to date.

  3. Or, if vendor/plugins is not under subversion control, the plugin is pulled via svn export.

If you want to use svn:externals, make sure you have your vendor/plugins directory under subversion’s control before installing any plugins . If your not sure, do something like this:

$ svn info vendor/plugins
foo:    (Not a versioned resource)
$ svn mkdir vendor/plugins
$ svn ci -m "adding teh plugins directory so I can use this r0x3ring plugin manager..."

This probably won’t work on Windows at the moment and assumes you have the command line subversion client utilities available (svn).

It’s useful as is, but please, make it better.

Verbal Communication  9

Cat.: Rails, Theory
26. October 2005

I’ve started writing a blurb for lesscode.org on some of the fundamental axioms of web information processing, but my pen took me down the rambling path and I’ve ended up with a longish article on my hands. So instead of clogging the lesscode.org’s bandwidth, I’ve posted it on my blog.

If you’re interested in examining certain long-standing challenges related to the web computing, and how Ruby and Rails approach the solution, you may find some meat in there.

P.S. I’ll be blunt and admit right away that I’m slamming the role of RDBMS in the web architecture, so I’m not really expecting that most people will agree with my analysis. Oh well, c’est la vie…