MET 1.2.1 with UI enhancements is released today :-)

Mobile Expense tracker 1.2.1 is released today.
So what is that you can get with this new release.
Well Primarily I have empowered “You” to choose your own themes for the applications based on what you deem fit for your use.
Find below the screen shots for different themes available for use.
So how to make your choice?
Its pretty simple. Home –> Settings –> Select Theme
Choose the one you like and Confirm.
Hurray :-) You are good to go :-)

Find the latest download in the Project Site
Or to download directly click here

New Theme 1

New Theme 1

newthemes21

newthemes21

Posted in Expense Tracker | 1 Comment

Mobile Expense Tracker for Nokia 5310 is released

I am happy to announce that  I have enabled Mobile expense tracker in google code site.

The good thing is there is also a version available for download. Though this is tested on Nokia 5310 phones it is still possible to use other J2ME enabled MIDP 2.x phones, though you may get some minor issues on the look and feel.

You can find the download at Project download site

My Special thanks to my friends Sannidhya Misra (Sandy) and Madesh for creating the icons for this project.

Posted in Expense Tracker | 1 Comment

Releasing Mobile Expense Tracker

How many times you got a  feeling that just because you don’t have a PC or a notebook in hand, you loose tracking expenses. How many times you felt that if there is a facility in mobile for tracking your expenses you will be more than happy.

Well, you have landed on the right page :-)

I just completed the development of an Expense Tracker for mobile phones based on my own demands.

Mobile Expense Tracker

Mobile Expense Tracker

Reasonable amount of thought is given in designing this so that there is less amount of user action is required, naturally that’s a primary requirement for mobile applications.

So what does it do for you.

Screen shots

  • Expenses are tracked based on a period by period basis, current version supports monthly tracking .:-) Keeping salried guys in mind.
  • Pre loaded set of expense types including Rent, Electricity, Gas, Cable, Broadband, Dining, Grocery,Medicine and few more
  • Nothing stops you editing the expense types including the addition of new ones.
  • Expense addition by item by item
  • Wrong entry done ? No worries, you can remove and add a new one.
  • Want to see your expense report  of any month, well there is a report with detailed break up plus the total.
  • Want to export these monthly reports to memory card in the form Excel/CSV for exporting to a PC. Well that too is possible :-)

Right now I am done with the testing with a Nokia 5310. I have tested also in Nokia 5800 touch phone too, however on touch phones the look and feel is not good.

Needless to say the UI is something I need to do some more, nevertheless it still meets the requirements of guys like us.

I will be uploading the jar soon in this site.

Feel free to add your feedback after I release this product.

Going forward

  • Going to enhance the user experience
  • Certifying on broader variety of phones.
  • Enabling exported reports integration with tools like MoneyManager.
Posted in Expense Tracker | 2 Comments

While installing JDK in linux boxes!

One thing about installing  jdk in *ix remote machines is that , it is not that easy like installing in windows. Here are few things which may be of some use while installing JDK in such operating systems.

  • First thing to know about is the architecture of the OS. Whether it is 32 bit or 64 bit. You may need to choose the JDK based on this.
  • Next is about the RPM or the bin file. You can download the JDK either in the form of RPM file or as the binary installable.
  • I typically prefer the bin file as its installation is available in all *ix OSs
  • The next big thing is about pushing this file to the  target system, Most of the times we operate from remote machines. This means either you have to download locally and push it using ftp or sftp or download from that machine itself.
  • In bandwidth constrained networks it may be very difficult to push this 70+MB file if we work from remote.
  • Alternatively you can use “wget” command with the appropriate URL which gives the download option of the jdk bin file. For example the URL for JDK may look like this “http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u13-linux-x64.bin?BundledLineItemUUID=etNIBe.pqI4AAAEhhFYksD9R&OrderID=EwtIBe.pq1gAAAEhZ1YksD9R&ProductID=_T1IBe.obWYAAAEfqlYcydOO&FileName=/jdk-6u13-linux-x64.bin
  • Once you downloaded this, now choose the location in the system where you want to install the JDK
  • Typically this may be /usr/local/bin
  • Be the root user to install this
  • Ensure that the bin file has X mod for all users (chmod a+x )
  • Then now use ./–bin file — under the directory in which you are interested. It may ask to accept the terms and conditions. Enter ‘yes’
  • Once the installation is over  use ./java -version in the dir in which it is located.
  • Sometimes you have older versions in the path as a result if you use java command it may pick the old installation.

So the next job is to ensure that java’s bin folder is in the path so that we can use the right installation. In windows systems we typically add this to PATH environment variable. Same is true in*ix as well but from a remote location this is how you may add it.

  • In case of non-root users use /etc/profile file
  • Edit this file and include the PATH content pointing to the bin location of your java installation.
  • For root user, the file is different. Use /root/.bash_profile.

Once this is done, reconnect and just merely type java -version. Your installation should reflect. Otherwise one possible thing could be your bin might have defined after the previous installation.

Enjoy!

Posted in Technical | Leave a comment

Useful linux commands

I often tend to forget so many useful linux commnads I use.

Here are some useful ones of mine

  • How to know the system information
  • cat /proc/cpuinfo   # will reveal the CPU information,
  • you may see some output like this [user@Host ~]$ cat /proc/cpuinfo
    processor       : 0
    vendor_id       : AuthenticAMD
    cpu family      : 15
    model           : 65
    model name      : Dual-Core AMD Opteron(tm) Processor 8218
    stepping        : 3
    cpu MHz         : 1000.000
    cache size      : 1024 KB
    physical id     : 0
    siblings        : 2
    core id         : 0
    cpu cores       : 2
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 1
    wp              : yes
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
    bogomips        : 2009.31
    TLB size        : 1088 4K pages
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 40 bits physical, 48 bits virtual
    power management: ts fid vid ttp tm stc

    processor       : 1
    vendor_id       : AuthenticAMD
    cpu family      : 15
    model           : 65
    model name      : Dual-Core AMD Opteron(tm) Processor 8218
    stepping        : 3

  • To Split a big file and use it use ” split –lines 10000″ will generate files with 1000 lines each.
  • To locate a file with word like java use “locate java”
  • Here is the good link to know more about linux CPU utilization
  • To know todays date you may use date
  • and if you want in format like mmddYYYY formate then u can use “date “+%m%d%Y”  “
  • If you want yesterdays date then you can use “date -d yesterday”

Often get into situations where the disk space is eaten up by some logs or uploads. How to find which one swallowed more?

To know mount wise distributions use df command
To know the utilization in a single sub directory, use du command
You can refine this command further by du -h --max-depth=1
where
h is to display in human readable format.
max-depth--> To what level grouping should be done. For example if set to 1, then we will get immediate sub directory wise usage.
The output may look like
7.5G ./SUBDIR1
1.2G ./SUBDIR2
103M ./SUBDIR3


Posted in Technical | Leave a comment

Including legacy jars in maven builds

Many of you must be using Maven2 by this time in most of your java projects. I am sure you often would have come across with a problem of how to include the jars which are not built using maven.I  will call them as legacy jars. Here are some of the ways.

The simplest way  is to convert them to maven2 style. We can achieve this using the mvn install:file. For example assuming that you have a legacy jar called mylegacy.jar. And if we need to use as a plain maven dependency then to install this use the following command.

mvn install:install-file -DgroupId=com.mylegacy -DartifactId=mylegacy -Dversion=1.0.0 -Dpackaging=jar -Dfile=[location where the jar exists in the file system]

Note that , we are just converting this jar file in such a way that maven will pick it from the repository appropriately as if like any other maven built artifacts. However the point is it will not provide the pom with the dependencies defined for obvious reasons.

The other way of enabling the legacy jars being is to include them with the concept of System classpath.

For example lets say that the same mylegacy.jar is available under c:\\myproject\mylegacy.jar then the dependency definition for the same may look somthing like

<dependency>

<groupId>com.mylegacy</groupId>
<artifactId>mylegacy</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>c:\\myproject\mylegacy.jar</systemPath>

</dependency>

The group Id, artifact Id and versions   are a way define them so as to follow the maven structure. These can be of any arbitrary definition however it is better to have them named appropriately.

Needless to say that both the solutions lack few things.

  • We somehow need to preserve the binaries locally or in most of the cases in the source control system and thus increasing the size of the system.
  • Dependencies of the included artifact will not be resolved by maven’s transitive dependency resolution. One need to bring all of them and need to define them in the same way as how the legacy jar is defined or if the dependent jar is built based on maven then that may lessen the burden a bit.
Posted in Technical | Leave a comment

Let their souls rest in peace!

Rest in PeaceWARS!!! This  is something man might know  from the day he would have formed something called a “Society”. The very thing which formed the civilizations over time  and have made us to advance so much culturally, technically and intellectually. But that same word has also brought so many evils to humans and the worst among them are the wars

Why  WARS? What do we get out of it? what caused it? Well, may be because ideas of two societies are different and would have made them too fundamentalists. May be because the other guy works hard to build resources for his usage which the other lazy and phycically strong side want to grab it.

May be even because of a very very silly egoistic issue between 2 which eventually would have brought both groups to the war front.

Nevertheless, WAR is something which brings un imaginable brutalities, irrecoverable losses in terms of lives, materials and to harmony of the system. So many times we read “War is not the solution to peace”. But still we do fight foolishly.

Are people who lose lives during war are just Soldiers and Generals? Well, they may be the first but actully the innocent people are the one who are devasted for material reasons and who knows may be for fun by the winning??? side.

As I said, WAR may be due to the difference in ideas of a group or  byan individual who influences a group. One such man in History who brought extreme pain to the world is Hitler.

He had so much of vengeance against non-germans and predominantly Jews. I don’t know what made him to think and whatsoever it could be, it is absolutely  inhuman and heinous crime he committed against the Jews and others.

Ethnic cleansing doesnt seem to be new to humans. It is there since ages and to date it painstakingly exist. Hitler wanted to do the same ethnic cleansing and wanted to eradicate Jews from the world if not at least from Europe. He   created a concept of concentration camps where in a tiny places lakhs of people are mass murdered.

Can you imagine within 425 acres of land on an average 1300 people mainly innocent men, women and children were mass murdered within a span of around 3 years. This killings cumulatively come to around 15 Lakhs. 15 Lakhs?? Yes, its not a typo :-( .

One Such concentration camp is located in the interior Poland some 65 kilometers away from a city called Krakow. The place is called <a href=”http://en.wikipedia.org/wiki/Auschwitz_concentration_camp”>Austwitz.</a>
Halt
You can still find the buildings,  train tracks which used to bring people to the camp and the destroyed gas chambers.

It is a very preserved example of how grave wars can be. In a relatively small gas chamber building (destroyed) there are lakhs of souls.They can still tell us their painful stories

But at least now, let us leave them free. Let the Souls rest in peace!.

Dedicating this article to the billions of people who lost their lives in wars! With a hope to see a world with no war and no fights.

Posted in Travel | Leave a comment

Configuring Checkstyle for Maven2 projects

Most of the Java projects in the recent times use Maven2 as the default build tool.  One of the good things about Maven is the features are implemented in the form of plugins and pretty friendly to incorporate and  to use them in projects.

In this article we will explore one of the popular static code analyzer tool Checkstyle with respect to Maven2 Integration.

Eventually with eclipse Checkstyle plugin will show how to consistenly use the same Checkstyle configuration xml for both the system build and the eclipse IDE.

Posted in Technical | Leave a comment

Visiting Swiss Sans Spouse !!!

Visiting mountains and valleys during a spring season is just mesmerising.
If that region is Europe then no more explanation is required.

Be it old bollywood films or kollywood films if the lovers’s family is affluent then their parents will let them to visit swiss for honeymoon.Invariably there will be a doet where the newly married couples roam all around the mountains and sing some romantic songs and thats the end of the happiness. As usual problems will start.Usual trend of films :-)


Photo Sharing and Video Hosting at Photobucket
Coming back to the subject, recently I got a chance to visit Swiss.Neither my parents are rich nor I went for a honeymon.It was a business trip for 84 hours in which 5 hours was the actual work and rest was dedicated to my choice.

Swiss is a beautiful small country surrounded by Germany,Austria, France and Italy Mainly speak German and then French and Italiano.Mid and southern parts are covered through Alpes mountains decorated with snow and beautiful natural lakes.Their educational system is a meticulously thought one and anyone can take any subject after the intial 10 – 12 years of education unlike our theory driven exams.Its cheap too, well thats what was told to me.


Photo Sharing and Video Hosting at Photobucket
Train network is the best among all transportation and you can simply move anywhere without much of guidance.

Nevertheless cost of living is very high for a simple reason that Swiss doesnt have enough natural resources to keep it self reliant.
But on the other hand Zurich and of course many cities of swiss are considered to be the best places to live (others include few cities of Canada and Australia.)


Photo Sharing and Video Hosting at Photobucket
Natural attractions to a tourist place are primarly non-man made things but add ons are surpassing nowadays which includes pubs,bars and girls.In the case of Zurich both are equally present. :-)
I booked through a travel agent to visit a mountain for a one day trip.We started our trip in about 50 seat capacity bus with 9 people including the driver and the guide :-) )
One way it was good because you can sit literally anywhere and everywhere :-) The mountain is Titilus near the foothills of a village called EngelBurg(The angel of mountains).Some few hours journey from Zurich. It was a major country side tour.So much of tall trees , crystal clear streams,dozens of cattle farms and of course our Hindi director’s speacial yellow flower fields.

It was a flumboyant journey.Went to the top of titilis through cable cars which was for about 45 minutes.To my surprise there were welcome boards in Hindi. later realised that this place is a favorite one for indians mainly because of our bollywood box office stuffs.

On the top there is a small photo studio where you can take photos with Swiss cultural dress.
I took 2 photos with different costume :-)

That shop was also visited by actress Hameesha Patel and the Cricketer Schewag with his wife.
One thing which I would like to emphasise is in the photo of Schewag’s it was written as “The greatest Cricketer of India” ??
I dont know whether I have to laugh or annoyed after going throug the World cup 2007 trauma.

Overall it was a wonderful but lonely trip

Posted in Travel | Leave a comment

Buon Voyage Baby!

Years since for any IT guy typically in India, getting a long term opportunity to overseas is like a dream come true.The moment one hears that he is absorbed for onsite; well our boy will start feeling like
Clearing his debts
Conducting his sisters function in a grand manner
Taking his parents a maiden flight to over seas
Capturing couple of grounds (for house construction) too.
Getting a beautiful girl from an affluent family :-) , recognition for his sincere growth through his seeming hard work and commitment. :-)

Well that’s a great feeling
Just going overseas donot assume that you will achieve the above mentioned things just simply.
It must be possible but the question is at what time frame.

To put it simply to reach such a dream, it ultimately boils down to what is your saving potential.

Just calculating the Salary you receive in foreign currency multiplied by the exchange rate may show you a great big quantitative figure.
But remember one thing you cannot starve to save all the money :-) You need to spend even in that country too for your daily expenses.

Any guy who goes over seas for the first time, in his initial few weeks or sometimes few months whatever he buys or what ever spending he makes immediately he converts to his home currency and makes a decision of whether to spend or not to spend :-)
Well you will realise later that you have to align yourself a bit to the living countries life style too.

Another thing is in calculating the saving potential in the target city.
Usually one does this calculation based on the inputs he get from somebody who lives there or was living there.
There are chances for wrong calculations on this bit
WHY?

Daily expense incurred would typically not deviate much. But nowadays major cities are facing a kind of faster growth which ultimately attracts more expatriates.
This puts a huge pressure on maintaining the existing infrastructure and other related amenities of a living place on the government.

Beyond certain level due to higher demands there will be a huge increase in certain items among which mainly the House rents.
Cities like Dubai which is facing an Inflow in millions a year is one such typical example.

The main problem which arise here is the Availability of the rental houses.
Like in any business, real estate guys reaping as much as possible as it is their turn now.
So the result is a huge explosion in the rents.Don’t get surprised that in 2 years the rents are doubled.

Being a family man one has to look for a separate house and will sacrifice 50% of his annual income just simply.
So family people (IT), evaluate the options well before you choose dubai.
Then does it mean that a bachelor is a gifted guy.
Well not exactly.
Getting a house being a bachelor is too tough. Second thing few bachelors joins together and look for a house, Which brings its own problems because of the inmate’s formation on availability basis.

On a conclusionary note
Going overseas on a long term is a greatest pain reliever for a middle class or average middle class family
When you really have a necesscity to spend on something don’t keep calculating too much. Just go ahead. It will be ok.You are not doing something wrong.
While calculating the monthly expenses ensure that you put the right figures for finding out the right saving potential.
Get the very latest information on rents in particular and any other surprise taxes which are imminent in the visiting country.

Buon Voyage Baby !!!Bring home proud and wealth!!!

Posted in General | Leave a comment