Thursday, February 11, 2016

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.

  1. Docky (MAC like doc)
  2. Nylas N1 (Email client)
  3. Skype
  4. Vim
    1. Pathogen package manager
    2. Twitvim
    3. NERDTree
  5. Sublime Text
  6. VLC Media Player
  7. SSH
  8. Unity tweak tool
  9. Openbravo ERP stack
    1. Java
    2. Ant
    3. Postgresql
    4. Tomcat
    5. Eclipse Indigo
  10. Node.js (useful for many plugins)
  11. Google Chrome
  12. Noobs Labs Ubuntu themes and icons
  13. Teamviewer
  14. Fogger App

Monday, January 4, 2016

Working with Tomcat and Apache2 in Ubuntu

This is one of the best links that worked for me when I tried to configure tomcat (any version) and apache2 in Ubuntu.

Tuesday, June 30, 2015

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 the keyword for this. Not sure whether I get it correct so far. Need to get angular.js and twitter bootstrap. Downloaded Angular.js from and twitter bootstrap from By the way, I am trying out atom editor from editor. Might try this with that.

Good to know Angular.js is a module driven architecture. In the examples shown, the script tag is included in the body tag, not sure whether that has any impact on the Application load time.

ng-app is the directive to run a module when the application loads. Seems to be not so intuitive. Time for the challenges...

Completed level 1 and learnt the following directives
ng-app - for binding modules
ng-controller - for binding events
ng-repeat - for iterations (cool by the way)
ng-show and ng-hide - expression based data display.

Now will probably go to next chapter after testing a local demo. Seems to be quite interesting..:)

Tuesday, May 26, 2015

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 enough ('/').

Monday, December 15, 2014

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. 

Wednesday, November 19, 2014

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.

Wednesday, August 7, 2013

Improvements in Attachment model in Openbravo

Attachments are one of the breezy UI aspects of Openbravo, where you can attach any number of attachments to any record in the application. The beauty of the feature lies in the fact that you can restrict the access to the attachments for a specific users/roles. An use case is provided here. From 3.0MP26 there are some improvements in the way Attachments are implemented.