Tuesday, May 01, 2007

Ruby and Related Links

http://www.oreillynet.com/ruby/blog/2006/05/post.html
(Zed on Ruby, Rails, Mongrel, and More)
Rails:
http://www-128.ibm.com/developerworks/java/library/j-cb08016/

Rails Deployment:
http://blog.duncandavidson.com/2005/12/deploying_rails.html
http://www.infoq.com/news/2006/12/deploy-rails-on-iis

Rails Migrations:
http://glu.ttono.us/articles/2005/10/27/the-joy-of-migrations
http://garrettsnider.backpackit.com/pub/367902

Scriptaculous Rails:
http://script.aculo.us/
http://www.juixe.com/techknow/index.php/2006/08/12/scriptaculous-rails/

Rest:
http://www.b-simple.de/documents

Second Life:
http://secondthoughts.typepad.com/second_thoughts/2006/06/getting_started.html
http://nwn.blogs.com/

Design Patterns:
http://www.dofactory.com/Patterns/Patterns.aspx

Agile SD:
http://www.adaptivesd.com/articles/cross_oct02.pdf

Sunday, January 14, 2007

Arjun Singh and the Love Goddess!

So what does the Love Goddess have to do with Arjun Singh and with reservations? As the Indian government, at the behest of Arjun Singh, rolled out yet another short sighted policy to deal with the horrible caste system, we found out about some other activities of Arjun Singh.



Thursday, December 28, 2006

ExampleDesignPatternsInRuby (Ruby)

Almost all of these examples are correct Ruby programs. If example output is shown, you should be able to copy code from the web page, run it in a Ruby interpreter and get the documented output.

Patterns

Source:http://wiki.rubygarden.org/Ruby/page/show/ExampleDesignPatternsInRuby

Design Patterns in Ruby : Observer

The key ideas around the Ruby implementation of the Observer pattern are:
  1. Require the observer library
  2. Mixin the Observable module to your class which can be observed
  3. In the class that does the observing, implement the update method

That’s it.

Of course, an example would be nice. Here’s a small one.

require 'observer'  # Key step 1

class MyObservableClass
include Observable # Key step 2

def blah
changed # note that our state has changed
notify_observers( 5 )
end
end

class MyObserverClass
def update(new_data) # Key step 3
puts "The new data is #{new_data}"
end
end

watcher = MyObservableClass.new
watcher.add_observer(MyObserverClass.new)

Now, any time that MyObservableClass#blah is called, the observing classes will get notified. In this example, we aren’t dynamically changing the data (in fact, it always stays constant), but I think you can see that if in fact the data DID change, the observers would all get notified of that change.

Design Patterns in Ruby : Singleton

Singleton pattern in Ruby just simple. Only thing is you need to include singleton module. Lets look at sample ruby program.

require 'singleton'
class MyClass
include Singleton
end

sing Ruby’s powerful Mixin functionality, we bring the singleton code into our class definition. This automatically makes our class’s new method private, and give us an instance method we can use to get our object:

irb(main):005:0> a = MyClass.new
NoMethodError: private method `new' called for MyClass:Class
from (irb):5
irb(main):006:0> a = MyClass.instance
=> #