Seminar on DSLs, evolutionary testing and database refactoring

ThoughtWorks is organising a seminar on the next two Saturdays, in Bangalore (on the 19th) and Pune (on the 26th). We've had this one in the works for a bit and the philosophy behind it is interesting, so I figured I'd write about it.
Over the last few years, we've seen seminars and conferences sprout like mushrooms after a rain. Of these, only a handful happen in India and the vast majority are based around some famous figure (the first seminar we'd done, last year, had Martin Fowler as the chief attraction). The notable exception to this trend has been the Barcamps which totally kick ass, but all the corporate gigs remain the same - a big name or a product launch.
We figured we'd do something different - a seminar focused on the topics rather than the speaker, as well as one where the content as unbiased toward a particular implementation technology as is possible. This essentially implies that the content of the talks shouldn't be something you could just go off and google and figure out for yourself - and the only thing that really fits the bill is content which focuses on real, practical project experiences that we've had with a particular technology or idea.
With new ideas and technologies, this has always been a stumbling block. In the real world, with revenues and jobs at stake, one has to always exercise considerable caution before going ahead with implementing something new and untested on a live project. Usually, one has to wait for a couple of years before enough information has accumulated to make all the advantages and disadvantages of a particular idea or technology clear (and for it to lose the hype), thus making a decision feasible. It is this gap which we wanted to reduce, the period of time between people starting to blog about something new and people actually applying that something to live projects and deriving value from it.
Once all this had been thought through, identifying topics became a lot easier. We had a couple of areas where we'd taken on a bit of risk and tried some new stuff (right here in Bangalore, not something cool someone did half-way around the globe).

The first involves using DSLs, their advantages and disadvantages and their practical applications. DSLs are becoming quite popular, especially with the rise of Ruby, whose totally awesome syntax makes piggy-backing a DSL on the Ruby interpreter a breeze. As I mentioned earlier, all content is based on real projects we've done here and will be technology neutral, so while you'll see a fair amount of Ruby (the project from which this was sourced was a Ruby project), DSLs in Java and C# will also be covered. The person speaking, Srihari, worked on what was arguably India's first commercial Rails project, back in mid-2005. He's also the author of Migrator, an open source Java implementation of Rails' migrations.
Audience most likely to benefit: Developers, end users and organisations getting bespoke applications built to support their business

The second is on evolutionary automated testing. I've attended the dry runs of this talk - you'll be missing something if you miss this one. Vivek has written an open source functional testing tool for multi-threaded Swing apps called Frankenstein and is one of the guys behind He's also going to be speaking at the Google testing conference later this year.
Audience most likely to benefit: Testers, Developers, Project Managers

Last but not least, we're importing Pramod from our US offices to talk about evolutionary database design. He's published a Jolt productivity award winning book on database refactoring. He's a respected speaker and author and the stuff he's done with databases was traditionally considered next to impossible - so his talk is certainly worth attending.
Audience most likely to benefit: DBAs, Developers, Project Managers

If you're interested in attending, you can sign up at There's no registration fee.

No comments: