564977_3582897686075_1082195724_3541133_2056687552_n

Code Retreat and What Was Learnt in 45 Minutes

Apr 15th, 2012 What is Code Retreat ? 45 Minutes is quite a short period of time to work on a project let alone complete it, but that is what we attempted More »

Java7

JUGChennai Java 7 Launch Celebration at Chennai

Location:Tenth Planet Technologies Pvt. Ltd, P.T.Lee building,6th floor, #807, Anna Salai, opp. to LIC, Chennai-600002 Day : 9th July 2011 Time: 10AM Topic Speaker Duration Tossing the Project Coin -JSR 334 (Project Coin) Marimuthu More »

JUGChennai June 2011 Monthly event Introduction to Scala, Java 7, Netbeans

Venue: OrangeScape Technologies Limited TIDEL Park, ‘D’ Block, North Wing, 3rd Floor, 4, Rajiv Gandhi Salai, Tharamani, Chennai 600 113. India. From Java User Group – Chennai Monthly Meetup Agenda – Planned More »

DSC00242

Web 2.0 with Kevin Nilson – 14-May-2011 Tenth Planet

Speaker: Kevin Nielson www.javaclimber.com/ Time : 14-May-2011 from 10AM to 1PM Topic: Scaling CometD to the Masses and HTML5 Web Testing (if time permits) Venue: Tenth Planet Technologies Pvt. Ltd,P.T.Lee building,.,6th floor, More »

ChennaiJavaSummit11

Chennai Java Summit – Java User Group – Chennai 16th and 17th April 2011

Chennai Java Summit is an initiative by JUG-Chennai to bring the java enthusiasts of various levels together on a two day action packed event. We are trying to bring as much as More »

Code Retreat and What Was Learnt in 45 Minutes

564977_3582897686075_1082195724_3541133_2056687552_n

What is Code Retreat ?

45 Minutes is quite a short period of time to work on a project let alone complete it, but that is what we attempted to do at code-retreat on April 14 2012. But the goal was never to complete it. Confused ? Read on →

Code retreat is a unique exercise invented by Corey Haines to hone the art an skill of software development.

Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design.

The day consists of about 4-6 iterations of 45 minutes each and the code written is deleted after each session. The participants try to solve a problem which is un-solvable in 45 minutes by paring up as teams of two. The teams are changed after each iteration. So no participant works with another participant more than once.

JUG Chennai Code Retreat

The Venue

Collabnet chennai was gracious enough to put us up with a venue at the 11th hour. We had Mr.I Jeyanthan to thank for that .

The facilitator

Dr.Venkat Subramaniam
The facilitator is the person who guides all the participants on the methodologies and the techniques of Test Driven Development. We were honored to welcome Dr.Venkat Subramaniam as our facilitator. He introduced us to a new way of thinking about the art programming.

The Problem

The problem that we attempted to solve was Conway’s Game of Life. The rules of the game are simple to understand but are as complex to code as you think it is .

* Any live cell with fewer than two live neighbors dies, as if caused by under-population.
* Any live cell with two or three live neighbors lives on to the next generation.
* Any live cell with more than three live neighbors dies, as if by overcrowding.
* Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction. 

The Iterations

During the first Iterations many of the participants had no clue as to what TDD was, and we just cranked out code and hoped it would work. At the end of the iteration we were asked to talk about what we did and the experience of it. This made us understand the importance of Testing Code.

In the second Iteration people who did not know about TDD paired up with people who did, This resulted in almost everyone understanding at least one testing framework and what Unit tests were, by the time the second iteration was finished.

The Tokyo Connection

The Tokyo Connection
JUG-Chennai lead Rajmahendra had heard about some Code Retreat happening simultaneously at Tokyo and we decided to call them and say Hello. There was a discussion about the languages used and the Tokyo Guys were using Small Talk to solve Game of life. Since they were about 3 hours ahead of us, by the time we called they were already into the last iteration.

During the third iteration we had come up with ideas on how to store the Grid. Most people went with a 2D array but other approaches like using a Hash-Map and using a Position Object were also tried.
In the final discussion before lunch we talked about why Testing was even necessary and whether it slowed the rate of development. We were given some interesting analogies to think about by Dr.Subramaniam like how doctors in the 19th and early 20 Century rejected Lister’s germ theory and finally everyone realised the importance of Hygiene.

Writing code without Tests is like performing surgery without washing hands .

Dr.Venkat Subramaniam On Testing

Post lunch iteration had a big slump in productivity as nothing really intriguing came of it. Someone had pointed out in the retrospection on why writing Hash Maps after lunch was a big mistake .

In the next session since we had all recovered, we tried doing some useful code and many came close to the solution and still managed to write some tests to back it up.

The final Iteration was a General discussion on many topics like productivity, The power of functional languages etc.

Finally As a note of appreciation to collabnet, Dr.Venkat Subramaniam enlightened us ways to improve the way we communicate by using Version Control Systems, especially Subversion.
He showed us why using email for conversations/ sharing files was evil and how using VCS made things more intuitive.

By the end of the day everyone was infected with the TDD bug and how the shift in paradigm to writing tests before writing code made a huge difference in the quality of the software .

Photos
Code Retreat April 2012


JUGChennai Java Meetup February 2012 Git, Github, JavaFX, Adopt a JSR

Venue:
OrangeScape Technologies Limited
TIDEL Park, ‘D’ Block, North Wing, 3rd Floor,
4, Rajiv Gandhi Salai, Tharamani,
Chennai 600 113. India.

Agenda – Planned topics

1) Using Git with Github – Gautham or Intro about GAE – Prasanna
2) Introduction to JavaFX – Shiv
3) Adopt A JSR – Rajmahendra
4) Chennai Java Summit / Code Retreat / JavaFX Contest – Future events a discussion
Open Discussions

JUGChennai December 2011 Monthly event – Bit-Twiddling, Scala Chain of Responsibility, JVM Languages

Venue:
OrangeScape Technologies Limited Map 
TIDEL Park, ‘D’ Block, North Wing, 3rd Floor,
4, Rajiv Gandhi Salai, Tharamani,
Chennai 600 113. India.

Agenda – Planned topics

1) Bit-Twiddling – Gautham
2) My Views about Scala – Abu
3) Introduction to JVM Languages (Groovy, Scala etc)
4) SCORES – Scala Chain of Responsibility – Prasanna
Open Discussions