Sunday, May 31, 2009

Vintage Bhimsen Joshi clip.

     Here is a vintage video clip of Pandit Bhimsen Joshi performing a Komal Rishab Asavari at the Sawai Gandharva of 1975. The performance, no need to mention, is impeccable!
     I am from the generation which was not here when maestros like Pandit Bhimsen Joshi, Pandit Jasraj and Gaansaraswati Kishori Amonkar were at their peak. A video clip like this one gives an idea of what it must have been to listen to them then. The energy and सहजता in the singing is simply awesome!

     When there will be invented a time machine, the first thing i will do is to go back and listen to all the Sawais I've missed...

Related Content

Thursday, May 28, 2009

Cars without onboard fuel ?

Electric cars are becoming popular, but folks at a South Korean university have gone even further. They have developed a system in which cars will be inductively powered by power lines beneath the road surface. Here are some more details.

Related Content

Saturday, May 23, 2009


A useful online free OCR (optical character recognition) service:
Tried it with a sample and it worked very well.

Related Content

Wednesday, May 20, 2009

Toying around with Wolfram Alpha

The makers of Mathematica recently released their much anticipated online tool - Wolfram Alpha.
For the uninitiated, Wolfram Alpha('WA' here onwards) is, as they call it a 'computational knowledge engine'. The primary interface - a single text box, looks similar to Google but WA is very different from Google. Google is like a peon at office who can search for the file you asked in the entire office and bring it to you diligently; WA is like an intelligent consultant who will try to understand what information you seek and will search for it in his own knowledgebase (rather than your office), find relevant data, correlate it if possible and present you with a succinct summary and a graphic visualization if feasible. WA does not depend on the Internet for information.

Here are some things I have tried out on WA -
Am not posting the screenshots, they would take too much of space and time.

First, I began with some silly 'Wh' questions - who are you ? where are you ? why are you ?
- WA failed on the why are you ? I was hoping to get something like 'I am because my creator created me.'
Then slightly different one - are you conscious ? and then, can you pass the turing test ?
- WA returned a satisfactory answer for the first, but failed the second

An inquiry about Pune gave some useful information but better is available on the wiki.Any two things can be compared by putting them next to one another like this.

Thus, contrary to the pithy phrase, one can very well 'compare
apples and oranges' ;)

I asked WA about meclizine and then asked it to compare meclizine and meclozine
- WA correctly recognized it as a drug ingredient and gave very useful info about it. This is where having a reliable, structured knowlegebase of one's own makes a huge difference. WA need not spend time and power trying to classify the word(query) from scratch. It already has the classification ready, it just selects a category and uses it to fetch specific info. The Internet hosts a prodigious amount of information, but to extract, classify and interpret it is IMHO a herculean task. WA does not try to do that.
WA failed in the comparison. Meclizine and Meclozine are the same compound, WA interpreted Meclozine as Meclizine but could not infer that there is no point in giving a side-by-side comparison of two same things. Poor logic IMHO, but easily fixable.

Tried out a conversion I often need to do - miles per gallon into km per litre. Google Calculator cannot handle it, but I was sure WA (with Mathematica backing it) could do it easily.
- The answer came out well, WA also showed some relevant relative comparisons for the number I'd entered. US dollar to Indian rupee conversion worked fine too, it gave me a lot of additional info I'd not asked for :)

Tried to get a truth table printed for a simple expression
- Worked nicely. WA showed the minimum forms and even the logic circuit!
Then I tried to check equivalence of two expressions. I tried to use the same syntax used in Mathematica and it worked. Although WA showed the truth table with all 'T's, it did not give a verdict whether the expressions were equal or not, so my question remained unanswered. This also should be easily fixable.

Attempted to get some information about P & NP algorithms, sorting, Hamiltonian cycle, Huffman code but WA seemed to be oblivious about them :( Mathematica is aware of some of them though.

This comparison I tried out proved that WA has excellent resources when it comes to chemistry and materials.

WA also has a superb knowledgebase of genomic sequences, I'd expected to see hardly anything when I tried this. It was a cool surprise! WA not only knew the gene by name, it also knew a lot about it even including nucleotide polymorphism frequencies!! The data although not exhaustive, comes handy at times.

Next, I tried looking for a note - A natural
- WA gave useful info including freq, notation and key location on a keyboard. Then I tried to search for C#. WA was not aware about C# as a language, it interpreted it only as a musical note.

Tried to check out WA's fluid mechanics by searching for Reynolds number. WA brought up an interface which allowed one to calculate the RN by giving inputs. It had tabulated the inputs and laid out the equation well. With raised expectations then, searched for worm gear. Sadly, nothing relevant turned out. Instead, WA completely condoned the important word 'gear' and displayed information about worms(animals). Disregarding user input is the last thing to do!

Overall, WA is an interesting tool, but it is hardly as useful as Google. With the limited data that it currently has, many of our questions go unanswered. It is good for a quick overview and comparison of objectively quantifiable topics and for doing maths and statistical calulations that google calculator cannot yet handle. Google won't be left behind, the folks are already working on Google squared. With the vaaast amount of data already indexed by Google, IMO, Google will definitely have an edge over WA when it comes to coverage. WA on the other hand, will be better in data correlation and compute power requirements owing to the structured nature of its data sources.

Here is Wolfram Alpha for you to try out -

Related Content

Tuesday, May 19, 2009

A superb video.

An amazing episode from the wild.
A longish one, but worth a watch. You can read about it here.

     I'm glad that we(humans) are far from those days when we had to (literally) fight for our lives; animals in the wild have to. Nature has set up a set of unwritten rules for these creatures to live in. The one which treads least best is liable to physical harm. Neither brutal nor caring, nature is but perfectly apathetic!
     The video reiterates the age old maxim - Unity is strength.

Related Content

The useful vice.

    Whats the single most productive way of writing code ? The answer IMHO is - writing as less as possible i.e laziness.
     By 'laziness' I do not mean laziness in general, I just mean laziness towards writing code. I am extremely lazy when it comes to writing code. I have to get over a colossally stupendous amount of inertia to lift my hands and start coding! I try to find every other valid reason to avoid writing code, even if the problem I'm working on has a pretty obvious solution. I find thinking to be much more rewarding :)
     I think really hard on trying to avoid creation of new code. When given a task, I try to come up with various designs and prove it to the client/boss that the new creation might be optimized out or a previously created module could be employed again. But, is this not just the plain old funda of 'reuse' ? Yes, it is reuse, but not merely reuse. Laziness brings a very very strong urge to question every design decision taken(previously by ourselves or the boss or the client) and test (mentally) whether it really brings any good into the big picture (as far as we can see it). The urge is so strong that it never allows me to start coding until I'm totally convinced that every line of code that I'm going to write is indispensable and will never have to be changed(unless there is a major alteration in the design). While hunting for ways to avoid new code I often run into solutions that I could not think of earlier, ways that appreciably reduce the complexity and, arguments to prove to the client that a particular feature/facet is redundant or can be bettered if thought about in another manner. I often just sit still in my chair brainstorming about how I could get out of the situation without writing a single character of code.
     In this way I've saved myself hundreds of lines of code which effectively means I finished coding faster! Also, I am a strong believer in 'lesser code = lesser bugs', so, I've saved myself(and future maintainers of the code) a considerable amount of debugging time too. Another very useful attribute that automatically comes from laziness is - aversion towards complications. Will a truly lazy person ever write complicated code ? Never; unless it is absolutely unavoidable. With such lazily written code, during a code review the programmer is in a position to defend every single line of code he has written. In addition to that, the client/boss is never unhappy to see a programmer thinking rather than just programming.
     Thus it becomes a win-win situation for both of us - the client/boss is glad to know that I am trying my best not to write non-utile code and, I'm happy because I get more time to read my favorite blogs ;)

P.S: I couldn't find a way to write it with a lesser number of 'I's. It might seem that I'm all extolling myself here, but I humbly state that I'm not!

Related Content

Wednesday, May 13, 2009

Time dilation experiment.

     Came across a really cool experiment on the web. The experiment was about experiencing time dilation. Thanks to general relativity, we know that time slows down with increase in speed and decrease in gravitational attraction(pardon the oversimplification).
      As a personal experiment, this guy takes 3 atomic clocks for a ride, to experience and measure time dilation. He expects to age 23 nanoseconds more than his wife who stayed at home :) His measurements at the end of the expt show that the dilation was between 20-30ns.
Here is the page with photos and details of his setup -
Pretty kewl I think B-)
     Also, do take a look at the world's first atomic wristwatch ;)

Related Content

Thursday, May 7, 2009

Timeline of a vehicle crash.

      Here is an interesting write up about safety features in Ford's Falcon -

Here is a video of the 50km/hr crash test -

      The most interesting information is towards the end of the write up where they have given the timeline of the collision. The important part is at the end of that timeline - '150-300 ms - Occupant becomes aware of collision.' Thus, it can take up to one third of a second for us to just to become aware of the situation completely. Acting upon it will take at least another 200-300ms (brain will process the inputs, inject epinephrine into the nervous system, and will send signals to the heart and various muscles; after receiving the signals the muscles will begin their work). Completing the act (taking a solid hold of the handle/steering wheel, zeroing the throttle, depressing the brakes completely) will take at least another 500ms. The total comes to around 1100 ms which is a very optimistic estimate. Generally, 1.5 secs is the figure used. With rain or darkness the figure may double. It will take some more time for the vehicle to actually start braking after the brakes are pressed. Assuming that this whole episode takes an optimistic 1.5 secs, the car/bike (at 50 km/hr) will have travelled around 20 meters even before it starts to slow down! Age, vision acuteness and the surprise factor ('that puppy came out of nowhere!') are other important things to be considered.
      The reaction time can be decreased by driving practice, but only by a small amount. The only thing which can improve the situation is to have urgent & reliable brakes. The significance of good brakes can hardly be overstated. Losing a mere one tenth of second to your non-urgent(a better word welcome :)) means travelling four more feet without braking. I hope that my school pal, with whom I argue many times over the sloppy brakes on his bike reads this post.

Related Content

Sunday, May 3, 2009

Facebook's Haystack.

'Haystack' is the name of Facebook's photo storage and service infrastructure. Its an amazingly large and superbly scalable system which allows facebook to store and retrieve photos uploaded by millions of users. The system incorporates a distributed data storage which handles a whopping 25 terabytes of photo uploads every week!
Here is an interesting article about Haystack on facebook's engineering blog.

Related Content