Skip to main content


My 10 years in Application Development

It's been around 10 years since I started programming. May be a bit more, if I have to include my first attempts at C programming in school. But it would be a grave insult to call remembering ten lines of code and just replicating it to put a star on the screen. I also did a course on Visual basic, but it was more gimmicks that Application development. But it was truly in the year 2007 when I started my Master in Computer Applications that I found a new flare for developing applications. 
I was very late to computers in general and even when I joined my Masters, computers were not really accessible to me. But when I joined my Masters where one is actually expected to hone the skills which they already have, but in case it was were I was learning the skills, initially it was very difficult. I was not sure what computers had for me nor I had a natural flair for programming. But the thing about computers that attracted me was the visual medium it gave. Initially it was just a door t…
Recent posts

Apps to install after installing Ubuntu

Here are the list of apps that I almost use on a day to day basis. This blog will be updated with the apps in the subsequent versions.

Docky (MAC like doc)Nylas N1 (Email client)SkypeVimPathogen package managerTwitvimNERDTreeSublime TextVLC Media PlayerSSHUnity tweak toolOpenbravo ERP stackJavaAntPostgresqlTomcatEclipse IndigoNode.js (useful for many plugins)Google ChromeNoobs Labs Ubuntu themes and iconsTeamviewerFogger App

My journey with Angular.js - Day1

Hi All,
I am planning to learn Angular.js from today and I using the for my first training. Beginning my training, will keep posting here how it goes...

Beginning with the Introduction. They are taking about creating a gems store and I was immediately thinking whether I entered a Ruby tutorial... Got to focus up...

Even before starting the tutorial, we are asked to make sure we know Html/CSS and Javascript. Okay, I can handle that... Next up, about testing patterns, Behavioral Driven Development and Test Driven Development. I am sure I fall under BDD and my clients under TDD.

Good to know Angular.js is ONLY a front end framework and not a backend framework and it is more suitable for dynamic websites.

Listening about proper responsive sites. Also good to know Angular can load a specific section of the page without loading the whole assets list...

Directives are used to bind the method to events. ng-controller seems to t…

Navigating folders and files in java

There are lot's of predefined libraries for File Management like Apache Commons. But it is better to know code that can be used without these libraries. Here is a small program to recursively search through a directory and print the name of all the files present in the directory.


 * @author Shankar

public class test {

   * @param args
  public static void main(String[] args) {
    final File folder = new File("E:\\Openbravo\\ImportModule\\orderImport");

  public static void listFiles(File folder) {
    for (final File currentFile : folder.listFiles()) {
      if (currentFile.isDirectory()) {
      } else {

Notice that I have used double backward slash '\\' in file path as I am using windows (as strange as that might sound for an Ubuntu fanatic) ..:) . In linux single forward slash is enou…

Analysing Openbravo as a platform

The future of the Enterprise solutions industry belongs to micro services and in fact nano services. Gone are the days when Enterprise applications were the ones that contained huge gigantic databases and middle ware and a crappy User Interface. In the current era where mobile first (or app first) strategy is driving businesses, the key to choosing an Enterprise solution is not just to use it as an application but also use it as a platform where you can keep on adding your solutions at least for the next decade. Openbravo being a company founded to develop Enterprise applications based on latest technologies has embraced this approach right from its early days. 

Dissecting the application scripting architecture of Openbravo ERP 3.0

One of the main USP’s of Openbravo ERP 3.0 is its RIA (Rich Internet Architecture) based on the smartclient framework. Openbravo was one of the pioneers in the Opensource ERP industry to move to a fluid client based architecture. In my earlier post , I attempted to dissect the User Interface elements in Openbravo. In this post, I tend to explain briefly the way the client side scripting is segregated which would be quite useful while debugging and also while extending the module and creating new scripts.