LIC s/w designers – why so lazy ?

The following screenshot is from one of of top Insurance provider’s website payment transaction status page.

LIC payment transaction status

The highlighted part in the circle shows the transaction status page. Strangely the software designers decided that showing some internal number was a better decision than following the norm i.e. showing a proper status description. A table down the screen shows all possible descriptions against all the codes in the system. It does not require a software architect to figure that this is a blunder from usability point of view.

It is due to such instances that layman users find technology hard to use.

Your Enterprise apps and RAM

Image a scenario – You have a shiny new application which works super smooth on the machines you tested. When deployed on a monster core sever with equally large RAM your application performs not so good as you had expected. There are chances that it could perform more badly than your test environments. For the users of the application it would be a frustrating experience as the application performance crawls to a halt.

One of the culprits in Java enterprise applications is the amount of RAM allocated to the application. Many times the same memory configuration which were present in your low powered test environments get moved to the client’s production boxes.

It is like being in a top class restaurant but not able to order anything as the menu is in a different language. What that means is – You are left hungry.

The same goes with your application. It is left hungry for RAM as it starts processing more data or more users are connected to your application. The OS is left with too much of RAM sitting idle as your application even though hungry is not asking for it.

Please therefore give enough attention to RAM.

Why is my app slow even on powerful hardware

One of my job duties is to act as a performance tuning adviser for my company’s software product. My clients are product implementation teams who are facing performance issues with the product. One recent ‘complaint’ I received was that the software was performing poorly even on a server with 10 cores. His reasoning was simple – The server has many cores available so why does a application screen take 15 seconds to load. I had to explain him that this was a misconception on his part and it depended on the application code on how to utilize the extra cpu cores. A application which does not use any form of parallelism will execute all the logic serially even though they need not be. Such applications thus will be using only the single core of the machine.The remaining cores although ready for service are not utilized fully.

Application designers and developers need to take modern hardware into consideration when they are designing and writing software. If a unit of work can be made to execute in parallel safely it should be done.

So next time you have a application which shows the same performance on a desktop or an a server, you know the reason why.

Custom roms

Many people confuse rooting with installing custom rom’s and vice versa. Rooting as explained in this post is the process of gaining administrator access to the phone. That’s it!. Its up to the user to then decide what he needs to do with the new power. Custom rom’s are a different ball game altogether. Custom rom’s are a operation system’s based on open source Android code available from Google and which have been custom configured for your phone model.  There are very high chances that custom rom user interface will be completely different than the one that came pre-installed with the phone. Many of the custom roms require the phone to be rooted as a pre-requisite.

Cyanogenmod is one group of developers who develop custom rom’s for many popular models. There are many other groups each having their own specialty much like there are different version of Linux around.

Custom rom’s are therefore only recommended for those who know what they are doing as there is a chance that your phone may get converted to a paper weight if something goes wrong.

Rooting a phone

lock Rooting a phone is the process of gaining administrator access to a phone.

When shipped from the factory, almost all phones have admin access disabled as otherwise there is a greater chance of users damaging the phone unintentionally (virus etc). Rooting allows only manufacturer approved applications to run on it and the way they originally designed and tested it. Due to this reason all manufacturers void the warranty if the phone is rooted as they don’t want to clean the mess which you have created after rooting. Manufactures also take advantage of this fact and install bloatware on the phone which can be removed only by rooting and then uninstalling the app.

KingoRoot is one of the apps which i have used and works mostly. It is still recommended to do have a look around in internet to find rooting guides specific to the phone model.

Do i need the latest high speed processor ?

I often get asked this question from people looking to upgrade their machines. Many people also like to buy the latest and greatest available and end up buying quad core/octa-core Ghz processors. My simple advice to you will be – Go for the latest if you often see or had seen very high CPU usage on your old machine like the one in the screenshot below.

taskmanager

This CPU usage (100%) is seen in my machine while converting a video from one format to another. This process also called “Transcoding” is a very CPU intensive process and would definitely faster if there were more CPU cores in my machine.

Majority of the work which gets done in a typical laptop or desktop don’t need this much CPU. Thus I always advice not to go for the latest and greatest in CPU but have a look at a slightly older version or the one before that which would definitely be cheaper.

Another advice which i give to up-graders is to opt for maximum possible RAM which their machine and budget can afford. I will get into details of that in another post.

 

Cheaper way to increasing your wifi range

If you need to increase the range of your WiFi router (assuming you have placed it correctly) , you can either buy a dedicated wireless repeater which are also quite expensive OR you can upgrade your old router to work as a Repeater (assuming you have 1 more spare router available)  by using the famous third party firmware DD-WRT  . They have firmwares for many routers of popular brands. You are out of luck if your router is not present in their list. Its similar to like upgrading ROM of your Android phone to something like Cyanogenmod . I downloaded the firmware for my router, upgraded using the standard firmware upgrade option . After following the steps mentioned here to make my router as a Repeater Bridge, my old router was rocking in its new avatar.

Chrome Legacy Window 20-May-14 85428 PM

User Profile could not be loaded error

I recently helped 2 people fix the “User profile could not be loaded error” in Windows 7. Posting this here after realizing this that it may be a common problem and you need not necessarily go to a technician to fix this.  The solution to this issue is present in this Microsoft support page.Be warned that this involves changing registry settings.

http://support.microsoft.com/kb/947215

 

How to use WhatsApp on your PC

If you have been living under a stone for the past year or two, you might have not heard about WhatsApp. It is a very popular messenger which everybody and their grandmother also seems to be using. In fact it is so popular that many people get a smartphone so that they could use it. Now that the introduction is done, let me show you a way to use WhatsApp even if you don’t have a smartphone or don’t intend to buy one yet. Before you look for the instructions let me tell you that you require a working mobile phone number which has not been registered on WhatsApp.

Steps to follow:

1. Download and Install BlueStacks app player on your PC from http://www.bluestacks.com . It is a Virtual machine which runs a customized version of Android.

2. Search and install WhatsApp from the Google Play store.

3. During the installation process , you will be sent a SMS with the verification code. The SMS code process did not work for me. It then offered to call my mobile phone for activation which i gladly accepted. I received a call with a automated message stating the verification code which i entered on the app screen.

4. Thats it!. It reads your contacts with phone numbers from your gmail account. You might have to manually enter the phone nos for your gmail contacts to be them available on WhatsApp chat list.