When End-to-end Cryptography is Outlawed,

only criminals will have privacy. I guess we can't emphasize more. When you think your cellphone conversations are encrypted, the termination is at service provider's gateway. The SP has access to the clear voice. Reading e-mail over SSL? Again the email server is storing the plain text of the email. And people who are out there to get you will arm-twist the service providers to provide access. Recent example is governments demanding keys to blackberry communication. So what do we need for complete privacy? Well, end to end encryption. Right from lips to ear. If the message is decrypted anywhere else in the channel, that's the point agencies can tap into. It should be like users conversing in Greek/Latin/Hebrew in a public place, everyone can hear them but have no clue what's being talked about.

An implementation of PGP in the voice world might have been a good choice. At least in principle. What we need is a voice sample encrypting machine, that sits right in between the DSP and the phone's voice processing interface. Actually I'd prefer a headphone/mic combination where they already encrypt voice. Two difficulties in that, though. It has to setup encryption key for a session, for which it has to authenticate and negotiate with a co-operating peer, and it'll have 6ms to cryptographically and signal-wise process each voice packet (assuming 40kHz sampling, stereo input and output). But such chips were available even 5 years ago.

Though all the bells and whistles of PGP aren't needed all along. The problem to solve first is to setup a session key over untrusted channel. Diffie-Hellman being a sitting duck to man-in-the-middle, you need something out of band negotiated with the recipient (or their certificates). Obviously a long term shared key might threaten your perfect forward secrecy, where if the key is broken at any time, all your previous conversations gets compromised. That way, the line taken by OTR is much acceptable, they also purposefully avoid non-repudiation. So something like that should be available for voice streams. The conversation will stay confidential, and even when one party is held at gunpoint, it is not possible to conclusively prove the identity of the peer.

But they may say using encryption is incriminating enough.

Assembling a 750 Jigsaw

On 19th June, we started assembling a 750 pieces puzzle. And then almost everyday, the regular exercise once I am back from office would be to work on it. We'd spend almost 15-20-30 minutes everyday just before dinner. And exactly five weeks later, we placed the final piece in the puzzle, making the picture of a Moose Deer complete.

The strategy first was to divide the pieces into as many groups as possible; and that is done by similarity of colours or patterns. So we took around 15 envelopes, and then created as many heaps of similar looking pieces, and each heap went into one. The idea being members of each envelope would be in close proximity of each other. This is particularly important that all similar tiles are together. One tile in wrong heap will cause a long search. This was not 100% accurate, though. There would be several disjoint areas which might have very similar colours; especially almost black tiles; and they are going to mislead. However, we can deal with such special case later. One of the biggest challenge in the whole exercise is not to lose a single piece. Since you work part-time of it, it takes weeks to finish the project, and one single missing tile will spoil all the fun. Moreover, you have to save the work for the next day, which essentially means you have to reserve an undisturbed large area to store the half-finished puzzle at home (and if you can't then ensure you can easily move the work in progress).

The photograph printed on the box was of very limited help. It was very small compared to the size of the actual puzzle; so looking at individual tiles it was very hard to guess which area they are going to go. Still then, the fun was in guessing and finally finding it right.

It'll be painful to disassemble it.

Geotagging Photographs

Technology exists. But many times they aren't integrated, or aren't cheap to use. Several times two independent technologies spring up to serve two completely different purposes; and then someone comes and stitches them together to open up completely new possibilities. Take photography and geolocation as example. Sometimes it is important (or fun) to know where exactly the photograph is taken. In nature photography, for example, you shoot a rare species and try to publish a record. The exact location will provide a much better details on the subject's habitat, or help someone to follow your trail if the want to do further research. Or maybe just as a tour guide. You hiked around, and on the way kept shooting. And the photos are placed in the map exactly where they were taken. Flickr, Picasa had such support since long; if the image had location information in their header, they'd show the image on a map. Even manually you could place photos on their maps and they'll update the meta data.

Obviously updating the location manually is very painful process. All your 100 photos may be taken at different locations (nearby, but different). Updating in Flickr/Picasa just updates their own copy. Plus, it may be difficult to pinpoint the exact location of each photograph in their maps. So, we need to devise a method where the photos will be automatically updated with location information.

A camera with integrated GPS solves everything. Theoretically, though. The cameras with built-in GPS is neither good as a camera nor the GPS works (first hand feedback of a friend who's using one). I already have invested so much in good camera gear that a downgrade (the camera model with gps is way inferior) is out of question. And I have multiple of cameras with me during a trip so obviously I can't change all of them. And the GPS module wouldn't work when needed.

So what I need is an external GPS module. It need not have maps as I am not going to use it as guidance. All I want it to keep logging my location during my photography sessions; and later I can reconcile the log with photo's time. I was also looking at a watch which can monitor my heart-beat during my work-outs, and finally found a deal on Garmin Forerunner 305 at amazon. (They made the watch to help athletes but see the purpose it is serving here). It can log enough to cover a few safari trips, and battery lasts a whole working day. The only missing part in this is the direction the camera is facing when shooting (which an integrated box could do), but I guess I'll live with that deficiency.

This is it, so I synchronized the clocks of all cameras with the GPS watch. Once back from the trek/trip, it is time to update the location information. Currently I am using geotag to stitch the information together. First I export the GPS track into a gpx file from the watch. Then geotag loads the images, the track and places the images on the track as per the time-stamp. It can even interpolate if the photo doesn't have a matching time (rarely as the gpx track will generally record the position every second). And finally update the photos' exif tags with latitude, longitude and altitude information (both RAW and JPG). Now we can upload the photo anywhere, and the meta information would go with it.

There's geotag (right) in action, along with the placement of the photo in google map (top-left) with gps information available from Garmin training center (left-bottom).

Filtering the RJ bakwaas

As the quality of RJ chatters in FM radio is deteriorating every day, the usual "cut craps from life" thoughts come pouring in. When most of the songs they play are pretty good, except those particular ones which are known to be exclusively for FM channels, like item numbers but except visual stimulation they depend on rythmic drums; the talks that connects the audience to the programs are obviously failing to meet even minimal expectations. So just like AD blockers, we need silence when the Radio Jockeys deliver their over enthusiastic speech. Since song titles in FM radio is still a distant reality, we have to do some screen scraping ourselves. So the problem boils down to how to detect a song easily (remember the car stereo has limited processing power and memory). So the biggest difference between talk and song are background music. The human voice will be limited to 2 to 8kHZ frequency range, when the music instruments would produce frequencies in 10 to 20kHz in addition. So easiest rule you can apply is "unless there is reasonable amplitude above 8kHz, mute". In a wide variety of cases, it ought to solve the problem. You can hear the ringing tone from Ghanta Singh, but enjoy golden silence when he bores his victims.

Obviously such oversimplification won't cut the ads. And it'll silence the traffic update announcement too.

Still then, the biggest problem is they won't give me the source code or SDK of my car audio. Enhanced by Zemanta

It is 2010 already, missing `Rabindranath-2010'

In '99, still in college, I first heard the Jazz rendition of the Rabindra-sangeet Na chahile jare pawa jay from our favourite Maqsoodul Haque. Till then, Mac was known to us via Feedback, who just rocked in early '90s by their romance and frustration. Then suddenly I hit Mac o dHAKA's version (Mac was kind enough to send me a link). It was named "Rabindranath 2010". (At that time I wasn't educated too much on Copyright laws, learned later that copyright of Rabindranath Tagore's work should have been ended in 1991 but extended by 10 years, so actually Mac's work done in 1999 was a violation of copyright in India but anyways) But hey, copyright aside, an artist should have full freedom to experiment. That time I remember of the controversy the song generated (in Bangladesh and Kolkata too). More than the asthetics of the song, what impressed me is the guts of Mac. With purists breathing on shoulder, he went ahead to create his own version. From the title of the song it looked like Maq envisioned by 2010, people will start doing bold experiments. Alas, just like Moheener Ghoraguli, it was 20 years too early. And I still do not see such experiments happening. There are a few people in Bengali music today, but I am not sure what stops them from making radical moves.

It is 2010 already. If not now, when?