Archive for August, 2008



August 20, 2008

After quite a long break, I finally played an OTB game. Naturally, I expected to be out of form and as I was black against a higher rated player, I didn’t go in with too much pressure. Surprisingly, I played reasonably well and gained an advantage out of the opening. Sadly, I couldn’t hold on to my advantage and went down after the time-control (35 moves).

1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. f4 e5 7. Nf3 Nc6

I have started playing the Najdorf only recently (I used to play the Dragon but have given it up for the most part after a string of poor results). Online, I have primarily faced Be3, f3, Bg5, Be2 or Bc4. 6.f4 was new to me. After my 7th move, I was prepared for 8.fxe5 Nxe5 9.Nxe5 dxe5 10.Qxd8 Kxd8 where white has an advantage but with the queens off the board, I felt I had the time to manually castle queen-side. It turns out that my opponent had never faced 7…Nc6 himself and we were both in virgin territory.

8. h3 Be7 9. a4 Nh5!

White has been ignoring his piece development so far (his only developed piece is his knight on f3), so it is essential to target the dark-squared weaknesses on his king-side.

10. Be3 exf4 11. Bf2 Be6 12.Bd3 Qa5 13. O-O O-O 14. Nd5 Bxd5 15. exd5 Nb8 (Nb4) 16. c4 Bf6 17. Qe2 (Qc2) Nd7 18. Qc2 g6 19. Rab1 Rac8 20. b4 Qc7 21. Rfc1 Ng3? (Ne5!) 22. c5 Ne5 23. Nxe5 Bxe5 24. c6 Qe7? (Rf7!) 25.
b5 axb5 26. axb5 Qh4??

Until this point, we have both made minor inaccuracies but the game is still evenly poised. I have the extra pawn but my opponent has the initiative with his queen-side pawns storming up the board. At this point I debated between the text move and 26…f3, when I return the extra pawn but open up his kingside for attack. Alas, I went for the “safe” option but this would be my last chance in the game.

27. Qd1 Qe7 28. b6 f5 29. Bb5??

White is still winning after this move, but after 29.Ba6 (which is what I was expecting), it would have been time to resign.

29…Ne4 30. cxb7 Qxb7 31. Bc6 Qb8??

My last big blunder. I didn’t realise that with my rook on c8, I was trapping my own queen. 31…Qa6 was needed for any semblance of a chance. The rest of the game goes quickly.

32. Bd4 Bxd4+? (Rf7!) 33. Qxd4 Nc5 34. Qxf4 Nd3 35. Qd4 Nxc1 36. Rxc1 Rfe8 37. Rb1 (Ra1) Re5 (Re4) 38. Ra1 Re4 39. Qb2 Rxc6 40. dxc6 Re8 41. Ra7 Re1+ 42. Kf2 Re5 43. c7 1-0



August 19, 2008

Agile2008 was a huge success. It was a very proud moment for me of course, with it being my first ever presentation at a conference. The talk was well attended with a decent amount of interest for TestRR.

With around 20 sessions running in parallel for each slot during the conference, it was kind of difficult to choose the session to attend. It was interesting that most of the sessions I went to were small ones, attended by only about 10-12 people and therefore quite interactive. Overall, they were also quite technical in their content and therefore captivated my interest. While talking about it within the team after my return, Uros made an insightful comment, “It sounds like you are more interested in the applied engineering aspects of Agile than the tools and practices”. I had never thought of it that way but on retrospect, that sounds about right.

I could provide a listing of all the talks I attended but that sounds like overkill. Instead, I will focus on my top three picks:

TDD in Concurrent Applications by Brett Schuchert & David Nunn

This was definitely one of the highlights of the conference for me. It became apparent within the first 15 minutes of this 3-hour session that none of the attendees was a novice at understanding and writing concurrent applications, so the session moved on to more advanced discussions quite quickly. While most of the concepts were general, most of the code we looked at was in Java. The two most important bits of advice I took from the session that it is important to actually understand (and read) bytecode to truly understand concurrent code and of the existence of a tool called ConTest which can be used to introduce delays between the execution of consecutive bytecode instructions, thereby increasing the probability of highlighting concurrency issues while testing. Both Brett and David were very impressed by our implementation of an optimistic concurrency control system within our code!

Pomodoro Technique by Staffan Noteberg

This was one of the rare slots when I couldn’t find anything obviously appealing, so I thought I would try something different. Turned out that going in with an open mind and no prejudices worked well for me and I was able to buy into the idea enough to warrant a trial of it – hopefully sooner rather than later. Essentially, it is a technique that helps you stay focussed on one task for short periods of time, thus enabling you to achieve measurable amounts of work every day. I could clearly see the transposition of the Agile sprint / story idea into a smaller scale, and definitely seems worth a try.

BDD using JUnit by Dan North & Elizabeth Keogh

This was my very first session of the conference and it left me feeling positive for the rest of the week. I hadn’t realized before the session that Dan was one of the founders of BDD. It was interesting to hear about the origins of BDD and to see a good pairing session which drove home most of their ideas. As an aside, I also found some useful things about JUnit4.4 and the Mockito framework. Enough that I would like to try and incorporate them into some real code soon for some first-hand experience.