ThoughtWorks is organizing a Geek Night event around JRuby at our Pune office on Sat, 15 Dec '07.
A Geek Night is an informal gathering where we pick a hot technology topic and proceed to discuss it and learn from each others experience and perspectives. The meeting takes about two hours inclusive of eating/drinking (soft drinks only! LOL) and heckling the presenters. There is no fees for attending.
Get more details here: http://thoughtworks.wikispaces.com
Highlights:
JRuby Primer: JRuby is an 100% pure-Java implementation of the Ruby programming language. It promises to give the best of both worlds, the beauty of Ruby combined with the proven Java platform. (This primer will be presented by yours truly.)
RubyWars: Play a simulation game where you write code for your strategy. So do your opponents... Of course, the best code wins. A game engine that exploits ruby meta-programing accepting your strategy as Ruby code and modifiying its own behavior according to your strategy at runtime.
Date: Saturday, 15th December 07
Time: 2 pm to 5 pm
Venue: ThoughtWorks
Address:
ThoughtWorks Technologies
GF-01 & MZ-01
Tower 'C', Panchshil Tech Park
(Next to Don Bosco School)
Yerwada
Pune 411006
ThoughtWorks Pune hadn't organized an event like GeekNight for a while. We wanted to change that. Reason? Well, it's a fun geeky event and ThoughtWorkers are fun geeky people. This is what we like to do and this is what we want non-TWers to know about us.
Tina did a good job of convincing some Pune folks of getting things going. Chirag took up the cause, along with Sishir, Akshay and Sunit.
I had prepared a small JRuby presentation for Barcamp Bangalore which I couldn't find the time to deliver there (thankfully I did get to deliver an Agile talk ). We thought it might be a good idea to do the JRuby session for GeekNight. I worked upon improving the presentation and did a dry-run as a lunch-time session for the Pune office.
In the meanwhile, Akshay got cracking on creating a game in the lines of AoE, minus the graphics (not sure who else worked with him on the core code). It is an RoR app where players connect to a server and once the game begins, they submit strategies (for creating farmers, warriors, etc) as Ruby code written in a text field which gets evaluated by the game engine. The relative points of all the players are plotted in a Google chart.
We started sending off GeekNight invites to various user groups and people we knew personally. The attendee list on the wiki started growing. http://thoughtworks.wikispaces.com/Confirm+Presence
A day before the GeekNight (Fri, 14 Dec '07), Chirag, Akshay and I decided to get together in the evening and plan things out for the next day. We also wanted to get some people to play Akshay's game because so far only 2-3 people had played it at a time.
At the end of the day (around 9pm?? not sure), we got together along with Niranjan and Sishir (Shodhan also came in and out). This is when the ACTUAL GeekNight started in the true sense. We played Akshay's game for a while, with the TW Away Day skit playing in the backdrop on the projector. Had a lot of fun. The game itself was pretty much bug-free. Akshay had done a good job. We did decided on certain improvements.
My only concern was that the game wasn't on JRuby, which was supposedly the GeekNight's focus. So while the others worked on the game, I started making a Java Struts2 web app which would be like an online version of jirb (an interactive intepreter for JRuby). (Thanks to Chirag for the idea.) Struts2/WebWork2 is so awesome, I could TDD the application up and running pretty quickly. Niranjan paired with me on this. Getting the JRuby part working was no fuss at all, but yeah, getting a pretty UI for the same did take some work. In the end, I'm proud to say, we managed to make something that closely resembles the actual jirb! (Side note: TDD rocks! We could not have gotten the app working so quickly if not for the tests that kept catching bugs we introduced every now and then!)
We finally called our personal GeekNight off at 6.30am!! This was one fun geeky night I wouldn't forget for a quite a while.
After a few hours of sleep, I woke up only to start fiddling with the jirb web app. I caught some bugs and fixed them. I reached office at 1.45pm, just in time for the GeekNight starting at 2pm! I was glad to see a good turnout, many were actually from an institute ThoughtWorks had visited recently for recruitment.
At exactly 2pm, I started off with my talk, while people kept coming in. Some seasoned professionals were there: I met the partners of a Pune-based software company that's doing interesting work (Probity Soft), and some folks from Persistent; Chai told me about some IBM guys from the Lotus group too.
My session went rather well. I covered JRuby basics like what it is, using Java in Ruby, using Ruby in Java, JRuby on Rails (pitched Mingle!), etc. Also did a demo of actual Jirb + our online version (discussed the code behind it too), and also demoed Swiby (example of JRuby DSL for Java API's). I got good participation from the crowd even though JRuby was new to most. I think the session also left a good impression of ThoughtWorks on them. I mentioned things like Ola Bini being a TWer, some details about how we work at ThoughtWorks, how pair programming and TDD help (this was practically demonstrated during my hands-on stuff), and so on.
After my talk, we had snacks and lunch served. Following that, we got on with the game. We ran into a few glitches initially, more because of faulty code being submitted as strategies, things like infinite loops!! But after a while, we got things under control and everyone had a fun time playing the game.
Sadly at this point I was called away to participate in the interviewing process for some candidates who'd been called to office. By the time I got free, everyone had left.
All in all, the event went well, and it paves the way for more of such activities that TW Pune would do. And yeah, best of all: this time I was wearing a TW t-shirt, as opposed to the last two times I spoke on behalf of TW without a TW t-shirt on (thanks to Chai who got me the t-shirt some time back)! :-)
Looking forward to the gaming event and the Barcamp Pune scheduled for Jan in TW Pune!!
For the code demoed at the event, check out these SVN projects:
Anil, one of the attendees, found our GeekNight interesting enough to blog about: http://anilwadghule.com/blog/2007/12/15/geek-night-at-thoughtworks