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).