Tip: Convert an image to text (OCR)

Haven’t there been times when you came across some text that you could not copy or edit? It could be for a variety of reasons, whether it is a scanned copy, or an image containing text, a screen shot etc.

I came across a similar situation yesterday, when I was looking for a word list to create a Pictionary for my kid. “Stretch mark mama” had this great list; unfortunately she shared it as an image. I needed to extract the text out of the image and remembered an old trick. So I thought I would as well share it.

The trick is to use the Document Imaging application that comes with MS Office.

Education Technology

Playing with Small Basic

Yesterday I stumbled upon SmallBasic, while looking for something else. It is an interesting little project by Microsoft to create an entry level language to teach programming. It is a mix of toned down BASIC and Logo. Since the language (or is it an application) is still in infancy, version 0.5 released recently, I will try not to be too harsh on it.

Sample program with obligatory screenshot

Showing Flickr Image
   1: url = Flickr.GetPictureOfMoment()

   2: img = ImageList.LoadImage(url) 

   3: GraphicsWindow.Title = url 

   4: GraphicsWindow.DrawImage(img,0,0) 

   5: GraphicsWindow.Height = ImageList.GetHeightOfImage(img) 

   6: GraphicsWindow.Width = ImageList.GetWidthOfImage(img)


The Good:


Delicious Trends

In my first post, I talked about analysing my interests based on delicious bookmarks. This post is to announce that I have cleaned up the script a bit and posted it on this blog. Try it out.

What is delicious trends?

It is a simple visualisation of your online taste. All your bookmarks will be plotted on a time line, helping you to see how your interests evolved over time.

Note: All processing is done in your browser and no data is sent to my server.

Why did I create it?

Once upon a time, not too long ago, I was wondering what interested me. After a while of introspection, I got a lot of answers from my heart, but my mind wanted a quantitative proof. So I decided to look at my bookmarks to find what I bookmarked and when.

How was it created?

A quick (& dirty) mashup of delicious api + jquery + google visualisation plugin. Most of the code is straight out of the samples. My desire was to find the answers I was looking for, ASAP.

Did you like it? Hated it? Have a suggestion? Do leave your feedback.


20 Qs with Mr. Kadiyala of

In a planned series of interviews with Indian entrepreneurs, here is the first one. I got in touch with Kishore, an old friend and associate, and talked to him about his venture


In your own words, who are you and what is your business? is a local content and local search company, currently focusing on Hyderabad, India, and planning to scale to all Indian cities soon. We help people find comprehensive details about various businesses and services in their neighbourhood, and help them interact with the businesses, and with each other about the businesses.
We also cover life in the city – events, movies, shopping & sales – and serve as a local community organizer, apart from being a guide for tourists.
Our revenue/business is focused on providing unprecedentedly low-cost advertising solutions to small and medium business enterprises, by helping them reach customers in their neighbourhood, and pay for just that.
How did you come up with the idea for your business?
Through reading about the Internet and the way it is likely to evolve. I felt geographic communities are quite likely to be big.
Is this your first business?
Everything else

Exercises for the cube dweller.

Bonus tip: Install Workrave for automated breaks and exercise tips.


Javafx 1.2 – First impressions

Spent the last couple of days looking at Javafx, Sun’s response to Silverlight and Flex. It is an interesting mix of ideas. Clearly inspired by dynamic languages as well as Silverlight. Maybe Flex as well, but I couldn’t tell as I have not tried Flex.

Things I liked:
  • Type inference: Could have been better, but I will take this any day over the verbose Java alternate
  • Binding: In fact this is a great thing. Two way binding and binding with expression.
  • Triggers: Need to explore more, but shows promise.
  • Timelines: This along with the exceptional support for multimedia will help in creating the next killer app.
  • Collections: You can iterate over collections in SQL like syntax which,to me, looks better than LINQ.
  • Strings and Dates: Finally they get treated with the respect they deserve, since most of the time one is juggling text and dates.
Things I am meh about:
  • Declarative UI design: I believe UI design is best left to designers (software not people)
  • Using all the available brackets: All examples look like they have used up every possible punctuation mark
  • Init vs. assignment: The ambiguity on where to use a variable : value and where to use a variable = value

Overall looks good and I am going to spend some time learning the innards of Javafx.

Finally, what I will like to see guidance on how patterns will evolve to address this new form of development. I immediately see a lot of older patterns not longer needed like Singleton, Visitor Pattern, Lazy Loading, Thread Pool Pattern, Observer Pattern and more. Similarly we need to recalibrate a few like the MVC, MVP patterns.