I, Me and Myself

Archive for 2009

Cringely, here’s an idea for text entry.

In Technology on November 18, 2009 at 2:07 pm

Cringely has hit the nail on the head regarding the future or handheld devices. These things are not phones anymore. They are all handheld computers which happen to have phone hardware as well. Processor speed, memory capacity and all such critical hardware inputs which make a device snappy are all doubling in capacity but halving in cost. We are in the midst of the same cycle the PC went through between 1998 and 2004.

However as Cringely pointed out the holy grail for handheld devices is the accuracy and speed of typing. Ergonomics wise Blackberrys with their full QWERTY keyboards are slightly ahead of the rest, but even then typing more than a 3 sentences at one go, would be an extremely painful experience. So what’s the solution.

It’s called Auto Complete.
Read the rest of this entry »

BB Apps I downloaded from App World

In Technology on November 11, 2009 at 4:34 pm

Blackberry launched their App World in India a few a days ago, and so I went ahead and did a bit of look into.

First thing. Paid apps are not available. Only free apps. While this may be a good thing to draw more people in, there are a whole lot of users willing to spend money to buy some great paid apps. Allowing paid apps would have also given Indian Developers a platform to showcase their India Specific Blackberry apps.

Anyway, over to free apps.
Read the rest of this entry »

Decided to re-join Facebook

In Technology on November 7, 2009 at 5:55 pm

I have written a lot about the negative aspects of Facebook over the past few weeks. My chief concerns were that

  1. Facebook in the last few years have allowed in a lot of spoky and shoddy advertisers. Some of these are openly and brazenly duping a lot of people.
  2. Facebook is sharing too much data about our personal lives and the conversations that we have with our friends with it’s partners.
  3. Facebook is closed. You can get your photos, videos and other stuff in, but will not be able to export them out of Facebook.

Read the rest of this entry »

Some new eateries in Kolkata

In Technology on November 6, 2009 at 8:02 pm

In the past few weeks, I have been to a few new eateries in Kolkata. While some where good others were, well not so good. The trend that I am seeing is that there is a definite leaning towards Indian Food. Kebabs are in and Chieeenich Chicken is out. Bengali isn’t doing well either.

Ok so here’s the first one, and do remember that these are generally all buffet lunches that we tried out
Read the rest of this entry »

How to store passwords in Java

In Technology on October 9, 2009 at 12:33 am

There are two choices

Jasypt

Here are the cardinals rules of storing user passwords, and these not only apply to Java but to all other programming language as well.How to encrypt user passwords.Read this before going any further

To summarize, you must use an secure hashing algorithm which which allows for a random salt as an input, and one which hashes the resultant output at least 1000 times.

The generic form of any secure hashing works like this.

Generating a Hash

salt = GET salt
hash_bytes = algo("data to hash",salt,number of rounds)
hash_string = base64 ecnode(hash_bytes)
store(hash_string)

Read the rest of this entry »

Web Development 2.0

In Technology on September 18, 2009 at 11:29 am

Traditional all purpose programming languages like Java, C# and PHP have long been the subject of flame wars in the web development community over these years. They have been backed by standard bodies, big corporations and in some cases millions of die hard fans.

The big corporations have inevitably build entire software development stacks around them. Most notably there is Microsoft with its Windows, Sql Server, VB and .Net portfolio or IBM with its Java, Webshpere,DB2 combination. Sun, Oracle and Redhat also offer competing stacks. PHP on the other hand is thought to be a part of LAMP “the build your own stack” which SMEs and startups find so attractive.

The stacks themselves are like mousetraps. Once you get in you will find it really difficult to get out. Of course if you chose standards such as J2EE, then shifting from say Oracle to IBM or to Redhat would still be possible.
Read the rest of this entry »

Cattle Class; What really happened?

In Technology on September 17, 2009 at 2:45 pm

Here’s what really happened with regards to Shashi Tharoor’s comment on travelling cattle class.

Tweet Post 1
Kanchan Gupta a Delhi based journalist asks this innocent looking question to Sashi Tharoor

Kanchan Gupta's Question

Tweet Post 2
To this, Sashi Tharoor gave a typical Tongue-in-cheek answer, which I must say he does often. In fact it is this sense of humor that makes him one of the most followed Indians on Twitter.

Sashi Tharoor's Answer
Read the rest of this entry »

4 Reasons why Chrome could be ready for Mac and Linux

In Technology on September 7, 2009 at 10:36 pm

Now here’s what people have been waiting to hear for a long time.

Google Chrome may be ready for both Linux and Mac. How do I know? Well it’s a guess based on these facts.

  1. Flash Integration.Having used Chromium with Flash enabled on both Linux and Mac, I can report to you that it is very stable. You can start stop videos, play Flash based arcade games and so on. There were those pesky scroll problems on pages which had flash movies embedded in them, but those are now gone. Pages scroll like a hot knife through butter now. I haven’t had any crashes due to Flash in quite some time now.
  2. Chrome’s Privacy policy changes as reported by Read Write Web.
  3. There hasn’t been a update for Chromium for Ubuntu for about 6 days now. Why is that important? Well prior to this, there was a new version of Chromium for Ubuntu available everyday. This has now stopped.
  4. The “Options” dialog has no more ToDos left To Be Done.

Having said all of the above, there is still no Java Integration. Would they be releasing this without Java support? I don’t think so.

Building a very simple version of Google Analytics.

In Technology on August 31, 2009 at 5:07 pm

Let me tell you what I am trying to do. I am trying to build a simple version of Google Analytics that will tell me the following

Must Have

  1. The browser and the version of the browser an user is using.
  2. The Operating System and if possible the version of the OS they are using.
  3. The screen resolution.
  4. The plugins their browser supports. (Whether it is Java and Flash enabled or not)
  5. The IP (user or proxy) from which the request was made.

Nice to Have

  1. The time at which a page was requested.
  2. The total time spent by the user on a particular page.
  3. Total number of clicks on each out going link.

I have spent almost my entire day today addressing the first 2 points in the “Must Have” category.

The browser property “user-agent” is a can of worms. The specs say this http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43. The operative word here is that the tokens should appear in their order of importance. Then why does Chrome report it’s “user-agent” string as

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.203.0 Safari/532.0.

Can’t it just begin with Chrome/4.0.203.0 and put whatever is left in the sentence later on.

A good read on the subject is
http://www.jibbering.com/faq/faq_notes/not_browser_detect.html

So since there is no perfect solution to the subject, I have settled on this compromise.http://www.quirksmode.org/js/detect.html to address point number 1&2.

As for point number 3 this piece of code is good enough.

document.write('<p class="accent">'+screen.width+','+screen.height+'</p>');

Point number 4 can be addressed by using this piece of code.

document.write(navigator.javaEnabled());

I know this is not perfect. A better method would have been to try and run the smallest possible applet on the client’s computer. For reference see http://javatester.org

Now for the remaining which is point number 5 on the list, the remote IP Address can be determined on the server side quite easily in any programming language whether it be Java,.Net or PHP.
The rest will be tackled tomorrow. Stay Tuned.

Screenshots of my favorite Blackberry Apps

In Technology on August 31, 2009 at 1:12 am

I bought my first Blackberry a 8520 Curve about 7 days ago and since then I have downloaded over 20 apps.  Some have become my favorite and pretty much indispensable.

UberTwitter

Ubertwitter: BB 8520

Google Maps

Google Maps: BB 8520

Viigo Feed Reader

Viigo: BB 8520

Opera Mini

Opera Mini: BB 8520

Flickr Uploader

Flickr Uploader: BB 8520

Google Search and Apps

Google Apps: BB 8520

Google Talk

GTalk: BB 8520

The Hindu redesign their homepage.

In Technology on August 15, 2009 at 4:37 pm

Have a look at http://beta.thehindu.com/. The Hindu, one of India’s oldest and most respected newspapers have redesigned their home page and it looks fantastic. Having said that, here are a few things which I would like

  1. Typefaces. Serif fonts like “Times” look good when applied at larger sizes. They are appropriate for Headline text. But I would prefer sans-serif for body text. Normal body text is usually smaller in size and serif fonts don’t generally render well at small sizes. For reference have a look at http://www.guardian.co.uk/ and http://www.nytimes.com/. Which site is more readable? The Guardian uses sans-serif for body text while The New York Times uses serif. I would prefer sans-serif anyday.
  2. Sections. They have sections like Business, Sports, Arts, Health, Life & Style. Why not color code each section. For example all headlines under Business could be blue in color, while all headlines under Health could be in green and so on. Color coding is a proven way to help people find things faster. Again The Guardian is a good example of this. Their page on environment is in green while their page on money is in purple.

I really don’t want to antagonize The Hindu readers, but http://timesofindia.indiatimes.com/ already has implemented both my suggestions. Of course, The Hindu’s homepage is aesthetically 100 times better. TOI has tried to cram in too much information on their homepage, thereby raising the cognition challenge, whereas The Hindu’s homepage has a nice balance between information and cognition of all that is displayed.

Once again congrats to The Hindu.

Google Search: First real competitor

In Technology on May 25, 2009 at 11:28 am

Google’s dominance over how we search and consume information may be meeting its first real challenge. This article at GigaOM (http://bit.ly/GeZ7C) explains why.  And no it’s not Wolfram Alpha or something..

One of the other things that come out of this is; Twitter does not have one coffee shop. It has hundreds and thousands of them, with new ones opening every minute. So how do I know which coffee shop to go?  And more importantly, How do I know what conversation is taking place at which coffee shop? 

It would be interesting to see, what kind of features Twitter’s rumored search engine comes up with. If this is just a replica of Google Search, in the sense it just shoves keywords into a BigTable data structure, then it would be no use at all. Go to a real coffee shop; not the sluty Cafe Coffee Day ones but a real one like India Coffee House, take a pen and paper and then try to create an index out of all the keywords you overhear or recognize. I bet you will give up. But you can of course gauge trends, and that’s what Twitter Trends is already doing with Twitter.

Posted via web from Swapnonil’s Pentaprism

Hbase-Hadoop VS RDBMS

In Technology on May 4, 2009 at 8:50 pm

I am not sure why this has to be a X VS Y, but an interesting presentation nevertheless.

http://docstoc.com/docs/2996433

I believe this choice should be made on the basis of sound Data Modeling rather than anything else. The Relational Model is well know, but very few people know that the Big Table and HBase storage strategy originates from the Entity Value Attribute model.

I find the EAV model ideal for storing all kinds of metadata. Consider metadata for a photograph. While there exists known formats like EXIF and IPTC which embed the metadata inside the file itself, businesses having vast amounts of Digital Assets often add extra metadata, and store it separately. The same thing applies to other domains as well. There could be tons of metadata associated with products like a books, tables, chairs, lamp shades, you name it. Merchants usually markup individual products using keywords, or using some form of key, value pairs.

This metadata could then be indexed or in HBase’s case are sorted and stored near to each other, so that extraction is fast.

Posted via web from Swapnonil’s Pentaprism

Twitter Clients:Adobe Air is Java Swing all over again!

In Technology on April 25, 2009 at 3:33 pm

I was looking at a listing of the most popular twitter clients as of April 25.

Here is what is interesting. The second most popular client is TweetDeck, an Adobe Air application, which by the way can run on any OS. Incredibly just behind TweetDeck is Tweetie a native Mac OSX client, that too with about 10% market share. The thing is Tweetie didn’t even exist 7 days ago. It was launched few days ago, got some momentum from a Techcrunch coverage, and here we are 7 days later; it is among the top of the leader board. WOW!

This also confirms one of my theories. People hate Abode Air apps. First there is the obvious reason. AIR apps take bucket loads of RAM, and are comparatively slow to respond to user actions. The second  issue is a subtle one. An AIR app does not look like a native application, mainly because it uses a different font rendering mechanism. The GUI therefore looks alien and non native-sh.

So why is TweetDeck at number two? Simple, there are no native Windows clients worth using. Blu and Digsby could be game changers, but they still need some refinement. There are no twitter clients for Windows, which you can compare to native Mac OSX clients like  Tweetie or Nambu. The user experience is just awsome. The day Digsby or any other native windows client can offer the same functionlity as TweetDeck, users will flee these Adobe Air applications like plauge.

The other interesting thing about the list, is the number of iPhone apps that people are using to connect to twitter. TwitterBerry a blackberry app is popular too. At this rate Apple and RIM should rename their phones to Twitter Phone 1 and Twitter Phone 2 respectively!

But back to the main issue. Why is Adobe making the same mistake that Sun made with Java Swing? I think they even hired Dr Hans Muller, who used to head the Swing Team at Sun. No disrespect to him though. Genuinely nice person and a visionary in his own right.

A bit of background. I have written applications like Graph Editors, Data Entry Forms and Visualization Tools usign Java Swing for about 6 years while I was at Connectiva Systems, so I know S-W-I-N-G.

When I look at Adobe Air, it reminds me of the same problems that plauged Swing circa 2004. No native font rendering, bad start up times, inaccurate simulation of native widgets, slow paint and redraw times….

Swing back then, was just not good enough. It took Chet Haase at Sun (who too is now at Adobe) years and years of hardwork to do native font rendering, graphics accleration and better integration with native themes, so as to make Swing Applications look, feel and perform like native apps. Today’s Netbeans and Intellij which are built on Java Swing, are a lot more usable than say in 2004.

Of course, Adobe Air has it’s strenghts. The same strenghts that Swing had. Visualization Tools, Graph Editors, Dashboards and Scorecards, just rock on Air, as they did with Java Swing; but not Twitter Clients, Text Editors or Data Entry Tools. They are much better done in native code. The success of Tweetie confirms this.

So, now that the whole Swing team is at Adobe; How long will it take for them to fix AIR?

Well I don’t know about you, but I am running out of air.

Netbeans 6.7 Looking Great on Mac

In Technology on April 6, 2009 at 1:03 pm

I was pleasantly surprised as how good the new build of Netbeans looks on the Macintosh.

Compared to Netbeans, Eclipse looks downright ugly now.