Posted on
December 14th, 2009
IndicThreads is one of the very few well done technology conferences in India. The 4th IndicThreads conference was no exception. It was a clear case of quality over quantity. There were JAVA enthusiasts from around the country, US and Japan who had gathered to attend the event. The event was also a huge Green IT initiative with a strong focus towards environment. Everything ranging from delegate kits ( packed in newspaper bags), saplings for delegates to plant, to the prizes (bicycle) was inline with the underlying theme of green.
There were a wide variety of sessions, all tying to the changing dynamics of JEE and focusing on the fact that JAVA is turning the corner. There was a strong agreement on the fact that JAVA would continue to survive and thrive as a platform, but the language per se was under a lot of threat in the web space. Success of dynamic languages such as Groovy, Ruby, JRuby have made many JAVA enthusiasts to sit up and have a look on what suits their needs the best and still be on the JVM.
Emergence of functional languages was also on the radar with discussions about Scala, Erlang, Haskel and web frameworks like Lift. Session on Scala by Mushtaq Ahmed was very informative and well received.
Another area which got a lot of attention was the (re)emergence of JAVA on the mobile space after Google decided to introduce Android and the fact that there would be 25 new cell phones which would be launched on the Android platform.
Read more »
Posted on
November 18th, 2009
Craftsmanship in general is associated with high quality. A software craftsman has to produce high quality deliverables which meet or exceed the expectations of the consumers. Software craftsmanship has more art it to it than science. It has more emotions and passion attached to whatever the craftsman is delivering. Software Engineering on the other had takes a systematic, disciplined and quantifiable approach to software development. It is more mechanical and lacks the emotional, people angle to software development. Agile practices have shown numerous times that with the right set of people, process and tools, it is easier to get closer to the holy grail of better software development.
Practices such as XP, placed a lot of focus on craftsmanship by suggesting what the customers and developers should be doing on a minute to minute basis. It laid down a series of values, principles and practices to help software development be a social activity rather than a solitary job. Practices like XP once again ignited the fact that software development is an art and not a mechanical process. It is a craft and people who are emotionally attached to this craft would become true software craftsmen.
Often software craftsmanship is related to work of a blacksmith. A blacksmith requires a lot of technical knowledge but that technical knowledge is only one aspect. He also requires tools, a practiced skill and an eye for aesthetics so that he knows that what he is producing is clean and beautiful. Similarly a software developer has the right tools and follows the best practices to create software. However, what makes the developer into a craftsman is the passion for doing things right, clean and beautiful.
Read more »
Posted on
October 23rd, 2009
Xebia has been acively working on, with and endorsing open source software. Recently, Xebia India presented at the OSS Camp, New Delhi. OSS Camp is claimed as community driven conferences to promote FOSS in India.
Xebia had two presentations at the camp
1. Getting started with Scala - Vikas Hazrati and Meetu Maltiar
2. Rules with Drools - Gaurav Kohli and Saket Vishal
Overall the ambience was good with some excited technologists from the audience engaging with the speakers and making the presentation fun and interactive. Luckily a lot of people could connect with the Scala presentation and the organisers decided to run a blog competition on the Scala presentation.
The video and slides of the presentation are embedded.
Read more »
Posted on
December 31st, 2007
A couple of weeks back I was at the TiE Summit 2007. There I could hardly find anyone who was not interested in the mobile space. Mobile phone space definitely is something which cannot be missed given that today the number of mobile phones far out number the number of personal computers. Also, with each passing day they are getting better memory and better computing power. It would soon become a necessity for all major e-commerce sites to offer their services over the mobile phone assuming that they are not already working on it. Apart from this there is a lot of potential for specific mobile phone applications which would help the consumer do better personally and professionally.
Almost coinciding with the mobile space euphoria, Google released Android. It is a a fully integrated mobile "software stack" that consists of an operating system, middleware, user-friendly interface and applications. The important objective is to deliver a vastly improved web experience on mobile devices, equal to what people can experience on a desktop computer, in contrast to the limited functionality on today's mobile phones.
At the TiE Summit I also heard many speakers saying that “portal is dead.” The next technology wave is dependent on the platform. Many applications and services would be built depending on the platform and a business would be successful depending on which platform does it align with. So if you align on the Android platform then assuming that Android is successful, you could be successful as an Android service provider, Android powered device maker etc etc. HTC would be launching Android powered phones in 2008.
Given all of the above I decided to check out the Android offering over the weekend and here are my initial findings
Read more »
Posted on
December 9th, 2007
Most of the times we are content that our code is of the right quality, if somehow, we manage to get the Static Code Analysis (SCA) tools like Checkstyle, PMD etc. report less number of severe violations. As an example if we see that the class is big in size then we conveniently split it into two or more classes to get rid of the violation. The tool is happy and so are we and most of the times that is the end of the story.
However more frequently than not getting an SCA violation is the start of the story. If you start associating the question “Why' with every SCA violation found then the real reasons start unfolding.
This is similar to the way we resolve impediments on an Scrum project. The impediments rarely represent the isolated incidences of inefficiency. Rather, most of the times they are a part of a larger problem. The way to work out an impediment is fix it so that the team can work effectively and then to look at the root cause which caused the impediment so that the main cause can be fixed. This is called “Bottom-up process re-engineering.”
Similarly the way to work out an SCA violation is to remove it so that the code looks clean and good and then to hunt for the real cause.
Read more »