Projects and Open Source

- Metaprogramming/DSL

Meta-programming and DSL are the real beauty of ruby language and
rails. I use meta-programming in many cases but that is the
area I am interested a lot more. One small project combining meta-programming, dsl and testing is my test-builder frameworks:
http://trading-web.googlecode.com/svn/trunk/trading-web/spec/builders/
Example usage:

def create_portfolio_withholding 
    attrs = {}
    @withholding = PortfolioWithholding.build(attrs)
                            .attach_to(Portfolio.build.with_user).and_save
end



- Behavior Driven Design/ Observing Behavior/ Specification

I have huge interested in different ways to achieve better design and quality of code.
I have written various blog entries on those topics including "Observing Behavior", where I describe a slight shift from state base testing and design to more behavior driven design and specifications. 

Another example of this approach is the  extensive specifications I developed for a fairly new ruby/java (kind of flash) opens source project – Swiby, which uses a
lot of meta-programming beside many other interesting ideas. My code could be reviewed at: http://svn.codehaus.org/swiby/trunk/core/spec/swiby_core_spec.rb



- Selenium Open Source Project

I have been involved in this very successful open source project - Selenium, which is a suite of tools specifically for testing web applications. I have submitted a few small improvements and patches and have developed a javascript DOM viewer for the test-suite runner.