Agile

Preparing a Leave Tracking System in less than 30 minutes with Google Apps

Reading Time: 3 minutes On one of our fun filled iBAT sessions, we decided to build something which would be quick and also have business value for Inphina. Amongst the top candidates was a leave tracking system. Inphina is an Agile organization and believes that when one has to take a leave then one has to take a leave. But, our accountants also need the records for accounting and Continue Reading

[Updated] Is This the ‘Tipping Point’ for Cloud Adoption by Enterprises?

Reading Time: 4 minutes There are two major events which have happened in the course of the last few weeks. These events have forced enterprises to get up from slumber and take notice of the changing technology dynamics. First, Gartner released their 2010 Hype Cycle covering maturity of 1800 technologies. If you look at the report image, cloud computing as well as cloud/web platform are at the peak of Continue Reading

Long Method? Move Accumulation to a Collecting Parameter

Reading Time: 2 minutes You would have definitely come across long bulky methods which accumulate information to a local variable and pass back that information. Here the local variable goes through a lot of changes throughout the logic of the method before it is finally returned back. Let us see how the combination of compose method, that we covered in the last post, and moving accumulation to a collecting Continue Reading

Long Methods? Try Compose Methods

Reading Time: 2 minutes We all have seen long winding code that goes on and on. By the time you have hit page down a couple of times, you forget what the method was doing. You forget because the method is doing a lot. It is failing the SRP principle and needs to be broken down into smaller pieces. According to me if you are looking at a method Continue Reading

bookMyHours.com Public Beta Released

Reading Time: 2 minutes bookMyHours.com is a simple and clean enterprise timesheet application offered as SaaS on a subscription basis. The service is ‘rightweight‘ and consists of the most frequently used features so that the organizations do not have to pay for features that they would never use. It is a multi-tenant application which allows and organization to define their custom look and feel. bookMyHours is based on eHour, Continue Reading

Duplicate Code? Chain Constructors

Reading Time: 2 minutes After the ‘Introduction of Null Object’ and the ‘Replace One/Many Distinctions with Composite’ let us do an easy one this time. It is easy but of course it is present in a lot of code samples else we would not be discussing it here. If there are a lot of constructors which have duplicate code then see if there is a reasonable possibility to chain Continue Reading

Duplicate Code? Replace One/Many Distinctions with Composite

Reading Time: 3 minutes After the first post on how to introduce Null Object, in this second post on how to write clean(er) code, let us look at one of the very frequent occurrence. At least something that I have seen quite often. You too would have noticed that many APIs provide two methods to do the same thing. One of the methods expects one object and the other Continue Reading

Implementing Multi-tenancy On Google App Engine

Reading Time: 3 minutes Google recently added support for multi-tenancy for applications via the Namespaces API. We are in process of porting an application to Google App engine. We were thinking of making our application multi-tenant. With the new Namespaces API in our arsenal we decided to give it a try. To our surprise implementing multi-tenancy is easy, we were done with it in couple of hours! With multi-tenancy, Continue Reading

Duplicate Code? Introduce Null Object

Reading Time: 3 minutes One of the most significant code smells is having duplicate code. There are primarily 2 forms of code duplications Explicit – These are the ones where there is blatant copy paste of the code. Methods are repeated within classes and it is easy for the CPD tool of PMD to figure out that lines are copied thus leaving us red faced. Subtle – This is Continue Reading

Improve Performance By Using Keys Only Query on Google App Engine

Reading Time: 2 minutes It has been around two months since we started to port an existing application on Google App engine. It used Hibernate for persistence, Wicket framework for web layer and Spring as an Ioc container. Looking at the will it play on appengine we had to change Hibernate to use either JPA or JDO. We decided on JPA purely on the basis of experience we had Continue Reading

There Should be Tracer Bullets in Each Sprint

Reading Time: 3 minutes Tracer Bullets, as the name implies helps you trace the trajectory and the position where they hit the target. They are just like the regular bullets except that they have a modified base to contain pyrotechnic charge. This composition burns brightly when fired and allows the shooter to view the projectile. A machine gun usually has one tracer bullet for every 4-5 normal bullets which Continue Reading

Successful! First CSM Training in New Delhi

Reading Time: 2 minutes The weather was perfect, the venue was perfect, the trainer was perfect and so were the participants. The First CSM training conducted by Inphina and Zilverline in the heart of New Delhi was a success! It was two days of interactive sessions, fun games and learning which kept the participants engaged and motivated. The great part about the training was that majority of the participants Continue Reading

Generating Charts In Wicket Application On Google App Engine

Reading Time: 3 minutes We are in process of porting an existing Wicket application on Google App engine. This application’s charting engine used Java color classes along with Swing components to generate dynamic images. These images are then used by Wicket to display on the front-end . Unfortunately Google app engine does not support these classes. We therefore had to find an alternative to generate Charts for our application. Continue Reading