Fork me on GitHub

Monthly Archives: April 2012

JUGChennai – Chennai Java Summit ’12 with AIOUG Tech Day 21st April 2012 VELS University

On 21st of April,2010 JUG Chennai celebrated its annual event “Chennai Java Summit’12”. This event did draw a lot of attention and did bring in many Java Enthusiasts from across the city. Since this is an only event of its type in the city where the entire community gets together and draws in new members so as to make the community grow. There were sessions on various topics from some of the renowned developers across the world.This event was organized as a part of AIOUG(All India Oracle User Group), thus there were parallel tracks covering Oracle Technologies too. The speakers for CJS did include Dr.Venkat Subramaniam, Arun Gupta,Scott Davis, Venkatesh S and Rajesh S. Dr Venkat took a seminar on Scala(JVM Language) and did satisfy the curiosity of many enthusiasts who were in a mood to take up the language.This was followed by another session on benefits and uses of Test Based Development.

Arun Gupta enlightened the participants regarding the JEE 7 Platform. He also demonstrated how JEE 7 is shifting its focus towards cloud based services and how will it enable developers to write applications for any cloud based infrastructure. This was followed with another session based on JAX-RS2.0 where he demonstrated how successfully JAX-RS has taken over the development and implementation of RESTFul services. Scott Davis on the other hand showed how important is JavaScript for Java Developers. He also had a session where he demonstrated the power of CSS3.0 and all these sessions were for Java Developers and how to make them clever front end developer too.

There were other sessions too ranging for Quality Software Design to various Version control tools and their uses. CJS even provided us with a great networking opportunity where various developers across Chennai could meet each other and some of the most outstanding developers in the community.

 

 

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