About Hitesh

Hi, I am your host, Hitesh. I am a tech enthusiast and dabble in a variety of subjects. To read my professional journey so far, head over to my LinkedIn profile.

Coding is like cricket

With the stunning world cup victory behind us, it’s time to reflect on what lessons we can learn from it. I am sure cricket needs no introduction, so let me get on with what I have learnt from mostly watching, and very little playing, cricket.

Uncertainty, the name of the game

Cricket is the game glorious of uncertainties, and developers’ lives are no less uncertain, just not glorious. Both cricketers and developers need to be flexible and adjust to new situations. Be it change in requirements or the target score. Deal with the uncertainties of the pitch or the legacy code base.

Continue reading

Technical Heaven

where dead technologies go

Some photos taken at the Technology Museum in Munich.

The ENIGMA

One of the first crypto machine.

IMG_0287

An Enigma machine is any of a family of related electro-mechanical rotor machines used for the encryption and decryption of secret messages. The first Enigma was invented by German engineer Arthur Scherbius at the end of World War I. This model and its variants were used commercially from the early 1920s, and adopted by military and government services of several countries – most notably by Nazi Germany before and during World War II.

- http://en.wikipedia.org/wiki/ENIGMA

Continue reading

Dumping thread stack trace in Java & .NET

Multi-threaded Java practitioners know about the indispensible ways to taking thread dumps to see a snapshot of what’s happening in the JVM, and resolve ‘hang’ issues. There are plethora of options, ranging from simple command line tools and utilities to nice GUI applications to writing some code in your application. A sampling of such options:

Stack trace in Java

Command Line

If the application is running as a console application, you can try one of these:

Sending a signal to the Java Virtual Machine

On UNIX platforms you can send a signal to a program by using the kill command. This is the quit signal, which is handled by the JVM. For example, on Solaris you can use the command kill -QUIT process_id, where process_id is the process number of your Java program.

Continue reading

Beware of the clone

Why Clone

In this world of concurrent, multi-threaded programming, functional style of programming makes more sense. And one of the key tenets of functional programming is immutability. Even in OO languages, a few benefits of FP can be derived if the objects are made immutable.

Clone gone wrong

We follow a similar approach in our application. But this is not always possible, especially the mutable by default approach of Java. To overcome this, we pass around clones of instances, instead of the instance itself. This works in most cases, but we experienced a very subtle bug last week, where one thread was changing the values on a clone held by another thread, in spite of having no reference to it.

Continue reading

Interesting new business ideas for India

A short post about interesting business ideas, I came across in the last week or so.

Lost-key drop service

A service, that sells numbered key chains, which has something like this written on it:

When the key is lost, the owner will contact the service hotline to ascertain if the key, with id number 123654789 in the above example, has been returned. If yes, he can pick it up or have it mailed for a fee. Works best if the operation is distributed having franchise operators in each city. Thus the turnaround time between losing the key and regaining it can be minimised.

A customer can register the key code online, to get an email / SMS whenever the key is returned.

Help and advice to DIY farmers

About 6-months ago, I discussed with a friend on, how I am interested in growing a vegetable garden, but have no clue where to begin. I was interested if someone will give me advice on what to grow, when and how as well as supply the needed materials. Six month later, I read about sproutrobot, on techcrunch. Sproutrobot, is a US based start-up, pretty much doing what I described above. Now if someone can replicate this for India.

DIY greeting cards

Create an online service that allows users to create a greeting card selecting the paper, design and wordings. This is then handmade and either mailed to the user or distributed to the list provided. There are a few similar services, but none having the refinement and social integration of the “new web”.

This is the one I am most likely to try out, just for the technical kick. I also intend to concentrate on a very specific niche to be able to provide templates to best match what the user might want.