All posts by Prasad

Prasad is a builder-at-heart, and writes about product management, leadership and coaching talent. He's equally passionate about family, food & travel.

Jargon: FITALY Keyboard Layout

FITALY Keyboard Layout
FITALY Keyboard Layout

FITALY is a keyboard layout that places the most commonly-used letters closest to the centre, to minimize finger movement while entering a word. Designed by Jean Ichbiah (Patent), it is specifically optimized for stylus or touch-based input. The name, FITALY, is derived from the letters occupying the second row in the layout (like QWERTY comes from the 1st row of standard keyboards)

The aim of the design is to optimize text entry by organizing keys to minimize key-to-key finger movement, allowing faster input through one-finger entry (compared to 10 fingers required to type efficiently on QWERTY layout).  As compared to the 3-row QWERTY keyboard, FITALY has 5 rows with atmost 6 letters in a row (as against 10 on QWERTY).

Letter Frequencies in the English language
Letter Frequencies in the English language

Continue reading Jargon: FITALY Keyboard Layout

Strategies to Log & Retain Activity Data

My previous article The Need to Log & Retain Activity Data argued the very need of logging & retaining data. In this post, I am listing out various logging strategies along with some brief explanation, utility, associated constraints and effectiveness of each method. As highlighted before, most people fail to understand the difference between logs/traces, audit trails and database time-stamps. Each of Log/Trace, Audit Trail & Timestamping has its purpose, pros and cons.

Log or Trace

When I think of a log, the first thing that comes to my mind is a trace consisting of developer injected SOPs (SysOuts), messages/exceptions generated by the server or any third-party component used. This trace could be written to a flat file or a database table.

Example:

2009-31-12 23:59:59 ::: LoginServlet >>> john.doe >>> Incorrect Password
192.168.10.101 – 10/Nov/09:13:55:36 -0700 “GET /logo.gif HTTP/1.0” 200 2326
instantiated Bean: com.detangle.ejbs.whatever
Java.Lang.NullPointerException at …..
Connected to ProductionDB: Saved record #862
Executed Query: INSERT INTO SUPPLIERS… : 1 row affected
inside getSuppliersForCategory: Category = “Laptops” Continue reading Strategies to Log & Retain Activity Data

The Need to Log & Retain Activity Data

In the current age of On-Demand & SaaS combined with multi-tenant hosting, we are likely to generate tons of activity data every hour. For this data to be useful to administration & support teams, IT has to plan for its conversion to information. The strategy to implement information logging should be built right into the development process.

The Confusion

However, to most people, that I have communicated with while developing systems,

  • the terms Audit log, server log, audit trail, time-stamping, change history are synonymous
  • implementing ‘soft-delete’ probably appears a development overhead

I don’t know if it is because of exposure to ERP or otherwise, but unlike these people, I am overly sensitive to recording audit trails. Are you one of these? Are you not convinced about implementing a logging strategy? Then this post was written thinking about you. Continue reading The Need to Log & Retain Activity Data

Amazing Comments In Source Code by Developers

As I was getting over Monday blues, Aditya Tripathi sent this funny-yet-realistic! I’m sure this will get every dev-devil laughing with delight; reminiscing the KLOC written with cryptic comments or nothing at all. Here you go, the best code comments seen in source code…!

//When I wrote this, only God and I understood what I was doing
//Now, God only knows

/*
* You may think you know what the following code does.
* But you dont. Trust me.
* Fiddle with it, and youll spend many a sleepless
* night cursing the moment you thought youd be clever
* enough to “optimize” the code below.
* Now close this file and go play with something else.
*/ Continue reading Amazing Comments In Source Code by Developers

Gazelle – Paying you for used gadgets

I sometimes spend a lot of my time and blog-space publicizing (often, through criticism) other products, websites, hotels, etc. But sometimes I just want to show respect for  great ideas. And nothing excites me more than green initiatives! While going through Gopal Shenoy‘s blog on Product Management tips, I got to learn of this cool company called Gazelle he joined. Gazelle, based out of Boston, pays you for taking away used electronics which it recycles. So instead of going to landfills, you’re gadgets are erased and either re-used or sold in the secondary market. It takes a week after receiving the gadget to complete inspect it and issue the payment. What more could you be asking for with Money in one hand and carbon-credit in the other!

I got too excited and checked what I will get for my 4 year old Nokia 6600! Have a look at the disheartening result!

Gazelle will pay me $9 for Nokia 6600
Gazelle will pay me $9 for Nokia 6600

PS: No links on this page have referral commissions 🙂

Google Transliteration: Type Indic languages in any text-box

Type in English, Save as Marathi
Type in English, Save as Marathi

Last week I stumbled upon this amazing service called Google Transliteration that can be accessed through a bookmarklet (jargon explained at the bottom). You can use this to type in one of the Indic languages in any text input box on the internet! (whether it really gets saved depends on the website 🙂 ) Language currently supported: Arabic, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Nepali, Persian, Punjabi, Tamil, Telugu & Urdu.

Update (21-Feb-10):
After reading this post, one my valued readers questioned the utility of this service! And this is what I wrote back:
Few years back acquiring Indic fonts, and learning to use Indic keyboard layout was a challenge. Google eased that with a web service which takes away reluctance to reply in local languages.
With such a service, an application developer need not provide for transliteration as a feature (its a feature in Gmail). Creating a database with double-byte storage is enough to record input in any language.

Also, Transliteration can help people understand how words are pronounced when they are familiar with a different script. However, this may not work when the same word is spelled in multiple ways. eg. Mohammed [Read more]
With CJV languages, transliteration will often yield only an approximate result.

Continue reading Google Transliteration: Type Indic languages in any text-box

What a ‘gluttonous’ weekend I’ve had

This weekend has been quite different. With Valentine’s day falling on a Sunday, it should have been something for my heart, but instead it was great for my stomach. I had been eating out all the time. The food forced me too take long walks to make place for another meal, and I used it to compile 5 new foodie reviews at Burrp. Do check them out! By the way, did you know that I have a dedicated RSS feed for my food reviews? If not, please do subscribe through your favorite reader!

Jargon: Plug-and-Play

In computing, ‘plug and play’ describes the joint capability of  plugging devices to a computer and getting them running without configuration effort. Its a feature that, both, the hardware (the device) & software (usually a driver or operating system) The software is capable of discovering & getting the hardware ready to use; and to do this the hardware provides necessary information. USB devices are a classic example, but the term was more popularized by Microsoft to market the ability of its Windows OS to configure devices.

This term is also used by sales teams to market software and emphasize its ease of installation/deployment, configuration/implementation and quicker Go Live! However, this is not always the case! My boss once told a vendor that not matter what sales calls it, to customers its usually ‘Plug-and-Pray’ 🙂

Face Tagging in Picasa

After uploading a few pictures last week, I spotted the ‘Add Name Tags’ link on my Picasa page. I knew this had to do with mapping faces to people, but what I had wrongly assumed was the simplicity. It took me less than a couple of hours to map about 2500 faces. I thought of sharing the accuracy of the tool & conditions that baffled it.

Unlike Orkut, where you have to mark faces yourself, Picasa automatically extracts faces. It took less than 5 minutes to extract some 5500 faces from about 3800 pictures. Another differentiator in the approach is that instead of mapping many faces on a photo (like Facebook, Flickr, etc), faces from many photos are brought together to be mapped to a person. This is what really saves time & effort and retains interest. Statistically speaking, atleast 60% of all my photos (about 1800 Nos) feature one from my family of four. So in the ideal case, I will finish mapping 1800 photos in 4 clicks instead of 3600 clicks (assuming 2 faces per photo). That makes Google what it is: not just an applications company, but a technology company.

I don’t know if people tagged by me will be suggested a priori to others in their photos.

The tool started off with my photos, possible because the count was the highest. I showed me about 12 full sets (x16) of my pictures. A couple of photos in the first set were quite old – about 12 years back. Soon, it started suggesting my name for all my photos.

Started suggesting my name after a couple of sets

Continue reading Face Tagging in Picasa

Gateway-Mandwa-Alibag Ferry Schedule

PNP Maritime Schedule

Ferries (catamarans) are operated by a couple of companies from Gateway of India (Bhau-cha Dhakka) Mumbai to Mandwa jetty near Alibag. The fare is usually inclusive of the bus ride from Mandwa to Alibag city-centre/bus stand. This is perhaps the fastest way to reach Alibag, and then Murud – especially if you are in South Mumbai. Got a picture of PNP’s schedule – thought it could be of use! Continue reading Gateway-Mandwa-Alibag Ferry Schedule