<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19163975</id><updated>2010-07-30T19:23:00.582-07:00</updated><title type='text'>Vikram and Neha's Thoughts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.eggwall.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default?start-index=26&amp;max-results=25'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>114</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19163975.post-3078657878801317613</id><published>2010-07-22T19:26:00.000-07:00</published><updated>2010-07-22T19:43:29.254-07:00</updated><title type='text'>The democratization of culture</title><content type='html'>Back in the day, before the age of the Internet, culture was something that was given to us.  Back before the age of the TV, culture was participatory: you made music, you played music.  TV ruined that all, people were stuck to the television set, and discussions revolved around what everyone watched at home.  When I was growing up, we didn't have TV for our formative years, and it was annoying that I couldn't discuss television shows with my peers.  TV used to create culture: when someone you knew appeared on TV, it was a big thing!&lt;br /&gt;&lt;br /&gt;Fast forward fifteen years, and TV has lost much of its culture-making powers.  For one, there are too many channels, thinning out what people watch.  For another, most of TV is a colossal waste of time: ten minutes of good programming inside a forty minute show, with twenty minutes of advertising: for a total of one mind-numbing hour.  Even news shows have sunk to pointless blabbery: I was watching a show one day and they were reading messages that people sent to them via Twitter!&lt;br /&gt;&lt;br /&gt;A lot of popular culture now is created by people.  Some wonderful, down-to-earth videos have hit it big on online video sites.  This &lt;a href="http://www.youtube.com/watch?v=4-94JhLEiN0"&gt;wedding entrance&lt;/a&gt; won the attention of many people.  Watch the video: it is simple, beautiful, and has 53 Million hits.  It made &lt;a href="http://mashable.com/2009/07/28/chris-brown-forever/"&gt;Chris Brown's song famous&lt;/a&gt;.  Or &lt;a href="http://www.youtube.com/watch?v=Nn5jlrxcpkI"&gt;Russell Peters&lt;/a&gt;, the brilliant comedian.  I first heard about him through friends.  His videos became massively popular on youtube: college kids were mailing each other the video.  Long before TV was aware of him, he was a celebrity.  And when he toured, people showed up because they had seen him earlier.  Or &lt;a href="http://www.youtube.com/watch?v=QjA5faZF1A8"&gt;this kid, playing Paschelbel on his guitar&lt;/a&gt;, became insanely popular.  A news reporter went to &lt;em&gt;find him&lt;/em&gt;, and &lt;a href="http://www.nytimes.com/2006/08/27/arts/television/27heff.html"&gt;write an article on the mysterious funtwo&lt;/a&gt;.  Culture was created by someone that mainstream media was unaware of.&lt;br /&gt;&lt;br /&gt;This is just the way it should be: creation is an essential human activity: we want to make, to create, rather than just be passive consumers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-3078657878801317613?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/3078657878801317613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=3078657878801317613' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/3078657878801317613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/3078657878801317613'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/07/democratization-of-culture.html' title='The democratization of culture'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-614931188271188443</id><published>2010-07-11T14:09:00.000-07:00</published><updated>2010-07-11T14:41:53.308-07:00</updated><title type='text'>When monkeys record movies</title><content type='html'>I'm disappointed by popular TV shows.  My friend recently introduced me to 24, a TV show that he said I would completely fall in love with.  He has the complete DVD set, which was thrust in my hands, in the hopes that I'd enjoy the show, and we'd have something to talk about.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We started watching the show, and what first struck us was the mad camera shake.  It felt like the camera work was done by a monkey.  On crack.  It wasn't long before my nerves gave up, and I paused to have a shot of vodka to steady my nerves.  My wife stuck with it, and watched the entire show.  But at the end, she too had a headache.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This isn't the first time we've had to suffer at the hand of monkeys.  The recent Star Trek movie had abysmal camera work: every scene was shaking madly, which was headache-inducing in the theater.  At the end of the movie, I was glad to be out of the hall.  Some Indian movies have had this as well: Wednesday had similar camera work, as did Yuva.  In these two movies, the story is gripping and nice, but the shaky camera spoils the entire scene.  I've been told that it is supposed to convey suspense or drama.  To me, all it conveys is amateurish recording, and a director who is asleep.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yesterday, we watched "Murder on the Orient Express", directed by Sidney Lumet.  The comparison couldn't have been more striking.  Scenes were beautifully done: emotion was portrayed by excellent acting, great direction, and a sober human behind the camera.  Ingrid Bergman's acting was excellent: as was Lauren Bacall and Anthony Perkins.  Despite the weak ending, the film was remarkable and gripping.    The scene with Lauren Bacall holding the blood-stained knife was so dramatic, it made me jump from my seat.  It was enough for Lauren to have a stern expression, for you to know what she had in her hand.  If the director can't make the actor convey emotion, you either need a better actor, or a better director.  Placing on a monkey behind the camera doesn't help.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-614931188271188443?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/614931188271188443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=614931188271188443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/614931188271188443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/614931188271188443'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/07/when-monkeys-record-movies.html' title='When monkeys record movies'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-6996480748497048838</id><published>2010-07-06T13:57:00.000-07:00</published><updated>2010-07-06T14:44:55.364-07:00</updated><title type='text'>Open Source, it isn't just a buzzword</title><content type='html'>I have got a few Android phones:  in addition to my shiny new Nexus One, I also have a first generation HTC G1, also lovingly called the &lt;a href="http://en.wikipedia.org/wiki/HTC_Dream"&gt;Dream&lt;/a&gt;.  It is the very first Android phone to ever hit the market.  The latest Android version is 2.2 (Froyo), and vendors are pushing this release to their devices.  It is more common to see verion 2.1 (Eclair) on devices.  In addition to these &lt;a href="http://en.wikipedia.org/wiki/Android_(operating_system)"&gt;version numbers&lt;/a&gt;, you might also see versions like 1.6 (Donut) or 1.5 (Cupcake).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The G1 came out with the very first version of the OS: 1.0.  A user who bought a G1 with a two-year commitment will see his contract expire in December this year, and there are many users still with G1s.  In the space of two years, more than four new versions have rolled by, a remarkable achievement for any platform.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Android is open source, which means that the &lt;a href="http://android.git.kernel.org/"&gt;source code is available for anyone&lt;/a&gt; to view.  Love the alarm clock but want to change one little thing?  Here's the &lt;a href="http://android.git.kernel.org/?p=platform/packages/apps/AlarmClock.git;a=tree;f=src/com/android/alarmclock;h=e635315d6cb5c6a30f0f26d6fa861f3d8a945be3;hb=froyo"&gt;source code for the alarm clock&lt;/a&gt;: go right ahead.  The source code is a wonderful reference when you want to see how the 'official' applications do things: which can save you hours of reading documentation.  I referred to the source code for &lt;a href="http://code.google.com/p/zxing/source/detail?r=1468"&gt;my recent bug fix in Barcode Scanner&lt;/a&gt;, for instance.  It saved me hours of experimentation, since I could see how the official Settings program worked.  There was nothing to guess, nobody to ask.  Most of all, I didn't need anyone's permission.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The general view is that customers don't care whether something is open source, that they're not interested in the source.  It might be true that the average customer won't read Android source code, but there is an important distinction here.  Even if the average customer can't read the source, the availability itself is valuable.  Let's go back to my G1 for a second.  The final version of the OS that it can support is 1.6.  HTC, the manufacturer, doesn't want to put much effort into this device.  They would like to invest their valuable engineering effort in their new products.  G1 customers, on the other hand, cannot move so fast.  Some are tied to a 2-year contract, and might not want to pay $180 for a new phone.    If there are a few smart software engineers with G1 devices, they can probably figure out how to load new versions of the Android Operating System on their phones.  Once they get it working, they can make it available for everyone to use.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is exactly what has happened with community-produced firmwares like &lt;a href="http://www.cyanogenmod.com/"&gt;Cyanogen&lt;/a&gt;.  There is a vibrant community of software engineers, who have old devices, and can take advantage of the Android source code.  Even if it takes a month of developer time, spread over thirty developers, that is a day each: well within the reach of recreational hacking.  They recently released &lt;a href="http://www.cyanogenmod.com/home/cyanogenmod-5-0-8-has-landed"&gt;Cyanogen 5.0.8&lt;/a&gt;, which is based on version 2.1 of the Android source code.  They didn't have to ask anyone for permission, and all the work was done in their spare time.  I recently downloaded this release, after using Android 1.5 on that phone for a long time.  While I downloaded the release mostly out of curiosity, I was amazed at the effort and the skill of the hackers.  It is one of the best Android firmwares I have used on the G1.  It is stable, it has all the critical Eclair features, and it supports a few features that Eclair did not have: applications can be stored on the SD card, USB and WiFi tethering is available, and the interface is beautiful.  That a few hackers can produce something this good is remarkable.  Of course, they didn't have to write everything from scratch: they had the source code.  An old device like the G1 is given a new lease on life because of the efforts of a few hobbyist hackers and the existence of the source code.   Cyanogen is available to everyone, at no charge, and it is very easy to load the new version on phones.  Even if you couldn't read and understand source code, you can get the firmware, load it on your phone, and benefit from the source code being available.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The source code gives customers a lot of control over their destiny.  Like Cyanogen, customers can develop their own releases.  They can add features (tethering, Apps on SD card) that are missing in the official release.  They can remove features they don't need or find offensive (privacy intrusions).  They can verify that the source code is not malicious.   They can continue development if the original project dies out completely.  Something like this is impossible with proprietary systems, where customers are completely at the mercy of the vendor to provide updates, features, and releases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With Cyanogen 5.0.8, I'm loving the Dream even more.  Thanks, Cyanogen!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-6996480748497048838?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/6996480748497048838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=6996480748497048838' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/6996480748497048838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/6996480748497048838'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/07/open-source-it-isnt-just-buzzword.html' title='Open Source, it isn&apos;t just a buzzword'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-2219917308330455643</id><published>2010-07-05T11:46:00.000-07:00</published><updated>2010-07-05T11:55:31.953-07:00</updated><title type='text'>Teach me something!</title><content type='html'>Just came across "&lt;a href="http://showmedo.com/"&gt;Show me do&lt;/a&gt;", a website that contains a wealth of tutorials about programming.  All the videos can be downloaded at no charge, and they form a wonderful introduction to computer programming.  I wanted to learn Blender for quite some time now, and &lt;a href="http://showmedo.com/videotutorials/video?name=blenderMoyes-000-capture-terms&amp;amp;fromSeriesID=31"&gt;this series of lectures&lt;/a&gt; look perfect for a beginner like me.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Show me do also has great &lt;a href="http://showmedo.com/videotutorials/python"&gt;Python tutorials&lt;/a&gt;.  Python is probably the best introductory language: perfect for kids and adults alike.  It works on every computer, and is free to download and use.  Give it a shot!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-2219917308330455643?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/2219917308330455643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=2219917308330455643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/2219917308330455643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/2219917308330455643'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/07/teach-me-something.html' title='Teach me something!'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-4996864357468248045</id><published>2010-07-04T07:44:00.000-07:00</published><updated>2010-07-04T08:09:38.785-07:00</updated><title type='text'>Crying to Uncle Steve</title><content type='html'>&lt;div&gt;Will Verizon work with iPhone 4?&lt;/div&gt;&lt;div&gt;Mail Steve!&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.theregister.co.uk/2010/06/01/apple_boots_widgety_apps_from_app_store/"&gt;Your app got thrown out of the store&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;Mail Steve!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://erictric.com/2010/05/15/steve-jobs-email-debate-with-gawker-blogger/"&gt;Clouded by hype, now you're hurt&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;Mail Steve!&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.9to5mac.com/jobs-swedish-iphone-43609634"&gt;Realized that your phone, just isn't that smart&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;Mail Steve!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Waiting for the iPhone, and can't wait a bit?&lt;div&gt;Mail Steve!&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.boygeniusreport.com/2010/07/01/exclusive-conversation-with-steve-jobs-on-the-iphone-4-antenna-problems/"&gt;Antenna is a piece of shit&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;Mail Steve!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-4996864357468248045?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/4996864357468248045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=4996864357468248045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4996864357468248045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4996864357468248045'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/07/crying-to-uncle-steve.html' title='Crying to Uncle Steve'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-7923613965099040335</id><published>2010-07-01T19:15:00.000-07:00</published><updated>2010-07-01T19:26:04.692-07:00</updated><title type='text'>The dictatorship in India</title><content type='html'>I was recently reading "India: After Gandhi", and was shocked to find out how close India came to a dictatorship with Indira Gandhi.   Everyone knows about Emergency, but I didn't know that Indira successfully repealed the writ of Habeas Corpus.  And that four out of the five judges of the Supreme Court agreed to having it repealed!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wonder why this stuff isn't taught in schools: this is exactly the kind of history that is useful and cautionary, unlike the pointless memorization of dates and figures.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At some level, Indians are poor historians.  We get a fair amount of our history from external records of visitors: the Arabs, the Greek,  the Chinese.  We just don't consider History important enough to record and pass to the next generation.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-7923613965099040335?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/7923613965099040335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=7923613965099040335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/7923613965099040335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/7923613965099040335'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/07/dictatorship-in-india.html' title='The dictatorship in India'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-4989887030358299649</id><published>2010-06-23T20:45:00.001-07:00</published><updated>2010-06-23T21:22:01.744-07:00</updated><title type='text'>Development tools and host platforms</title><content type='html'>I've spent the last few days hacking up some Android code, and it has been a lot of fun.  Android has an excellent development environment, which works on Linux and Mac, in addition to Windows.  Once this is done, I will probably hack up a remote control for my Nikon camera using an &lt;a href="http://arduino.cc/"&gt;Arduino&lt;/a&gt; board.  The Arduino board can also be programmed in Linux and Mac, in addition to Windows.&lt;br /&gt;&lt;br /&gt;It is tiring to see embedded hardware makers provide a development environment that only works on a specific platform.  It is understandable if Windows software can only be developed on Windows, or Mac software on a Macintosh.  I wouldn't advocate it, but I understand it.  On the other hand, embedded devices rarely host the dev environment.  You could develop Android software using the &lt;a href="http://code.google.com/p/android-scripting/"&gt;Android Scripting Environment&lt;/a&gt;, but that isn't a common practice.  Most probably, you'll be on a big computer.  With a big keyboard, and a bigger monitor.  In that case, why limit yourself to one environment?  Every platform wants developers, and it isn't hard to support at least Windows, Mac and Linux.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.parallax.com/"&gt;Parallax&lt;/a&gt; lost out to Arduino, even though Arduino initially could not match all the functionality of a Parallax board.  The Arduino board is easy to hack in Linux and Mac, and there are lots of developers with  Linux or Mac as a primary computer.  Now, partly because of these Mac and Linux hackers, Arduino has a crazy momentum: the number of hardware and software add-ons is mind-boggling.&lt;br /&gt;&lt;br /&gt;Something similar is happening with Android.  I see much more momentum around Android hacking.  Here is a sample:&lt;br /&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://hackaday.com/2010/01/25/android-g1-serial-to-arduino/"&gt;Serial port on an Android&lt;/a&gt; G1 device.&lt;/li&gt;&lt;li&gt;Using a &lt;a href="http://www.engadget.com/2010/05/09/wii-controller-demo-gets-active-android-and-wiimote-handle-donk/"&gt;Wii controller to play games on Android&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.makezine.com/archive/2010/06/usb_host_mode_on_nexus_one.html"&gt;USB Host mode on a Nexus One&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;On that last video, notice how Sven, the person giving the demo, is using Linux?&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I thought I'd spend some time learning how to program a Nintendo DS, or Nintendo WII, using the variety of tools that people have written in their spare time.  These tools don't always work, and they don't always work well.  Nintendo is selective about who should be allowed to program their devices, and will not support these tools.  In fact, they'll go out of their way to ensure that you can't program their devices.  After some time of struggling with it, I figured it was futile.   The tools and dev kits of free environments is so much better.  It is a lot more fun to program Arduino or Android instead of a Nintendo device.  You don't have to struggle with random library versions, you can make your software available to others, and more importantly, you aren't treated as a criminal.  So with that, my DS was quickly sold, my Wii will be given away, and I'm back to devices that I am welcome to program.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-4989887030358299649?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/4989887030358299649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=4989887030358299649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4989887030358299649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4989887030358299649'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/06/development-tools-and-host-platforms.html' title='Development tools and host platforms'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-8111188372471026549</id><published>2010-06-22T20:51:00.000-07:00</published><updated>2010-06-22T23:15:12.757-07:00</updated><title type='text'>Dogfights!</title><content type='html'>Lately, I've been watching the &lt;a href="http://www.history.com/shows/dogfights/videos#f-4-phantom-ii-highest-kill-ratio"&gt;Dogfights series&lt;/a&gt; (link starts a video).  It recounts tales of air-to-air combat.  The series brings veteran pilots to discuss tactics, and they've recreated the actual battles using computer graphics.  It is fascinating to watch how pilots battle at high speed in three dimensions.  Air combat require strategic thinking, a good knowledge of the aircraft's capability, and a body that can handle high G-forces.&lt;br /&gt;&lt;br /&gt;Worth a watch if you haven't seen this before.  Netflix has all the DVDs of the show.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-8111188372471026549?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/8111188372471026549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=8111188372471026549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/8111188372471026549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/8111188372471026549'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/06/dogfights.html' title='Dogfights!'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-68675996044458821</id><published>2010-06-21T08:32:00.000-07:00</published><updated>2010-06-21T08:56:36.528-07:00</updated><title type='text'>Ramchandran Guha, and rediscovering India</title><content type='html'>I am reading &lt;a href="http://www.amazon.com/India-After-Gandhi-History-Democracy/dp/0060198818"&gt;"India: After Gandhi", by Ramchandran Guha&lt;/a&gt;.  It is a book of Indian History, which starts around the time of independence, and goes all the way to the present time.  Strangely, there are very few books of Indian political history after independence.  For some reason, we don't chronicle history well.&lt;br /&gt;&lt;br /&gt;I am also listening to a series of lectures about Chinese history.  It is fascinating how well the Chinese kept records.  There are few breaks in their history, and there are good records of what was happening, as far back as the second century BC!  In comparison, Indian history is very spotty.  We of major dynasties, but there are large gaps in our knowledge.  I suspect it is a cultural thing.  Even major freedom fighters did not think it necessary to write an autobiography, and we are all poorer for it.&lt;br /&gt;&lt;br /&gt;Luckily, Ramchandran Guha fills one of these gaps.  I've spoken to many friends, and they mirror my sentiment.  This is a book that many people have been waiting for.  Grab a copy today.  If you are buying it in India, get it from Indiaplaza.  They have a &lt;a href="http://www.indiaplaza.in/india-after-gandhi-ramachandra-guha/books/9780330396103.htm"&gt;hardbound copy for Rs.542&lt;/a&gt;, which is a great price.  This is a book that is best in hardbound: you will want all your friends and family to read it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-68675996044458821?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/68675996044458821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=68675996044458821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/68675996044458821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/68675996044458821'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/06/ramchandran-guha-and-rediscovering.html' title='Ramchandran Guha, and rediscovering India'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-5281424520157285155</id><published>2010-06-19T19:42:00.001-07:00</published><updated>2010-06-19T19:50:02.958-07:00</updated><title type='text'>Installing Windows XP, and Kulchas!</title><content type='html'>I spent the better part of last evening installing Windows XP on a brand new computer.  I must say it was very, very painful.  At this point, I don't know what people mean any more when they say Linux is difficult to install.  On this specific Acer computer, Ubuntu boots off a USB stick, and does everything just fine.  That reminds me, why can't Windows boot off a USB stick?  Ancient, outdated tech.&lt;br /&gt;&lt;br /&gt;After much struggle, I realized that there were memory issues on the computer.  Running memtest86&lt;span style="font-weight:bold;"&gt;+&lt;/span&gt; found memory errors.  Eeek!  This computer is headed back to the vendor, and I'm getting a replacement: something that can run Windows XP.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;On an unrelated note, we found a wonderful new Indian restaurant: &lt;a href="http://www.naannmasala.com/"&gt;Naan and Masala&lt;/a&gt;.  Don't let the ambience fool you, and make sure you go there with an empty stomach.  Their paneer kulcha is delightful.  Avoid the seekh kababs: they aren't very authentic.  But the standard curry fare is crazy good.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Trying something new: after having ignored my blog for months, I'm going to try posting something new every day.  I expect the quality to plummet shortly, stay low for a while.  Then, it will probably drop a lot more.  Wish me luck!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-5281424520157285155?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/5281424520157285155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=5281424520157285155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5281424520157285155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5281424520157285155'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/06/installing-windows-xp-and-kulchas.html' title='Installing Windows XP, and Kulchas!'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-6820396075628309193</id><published>2010-04-18T11:44:00.000-07:00</published><updated>2010-04-19T20:14:25.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wyscan'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>WyScan: Android Wifi Configuration from Barcode</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://vikram.eggwall.com/computers/wyscan.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_DfE5c55QTX0/S80bywhBXBI/AAAAAAAAAEc/_cKP-W9ruMA/s400/Wyscan.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5462052481901091858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I wrote an application called &lt;a href="http://vikram.eggwall.com/computers/wyscan.html"&gt;WyScan&lt;/a&gt;.  WyScan is a utility to configure your wifi settings automatically.  Instead of typing out complex network names and passwords, you scan a barcode containing the information.  WyScan will set up the network, and connect to it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Try it out, tell me what you think!&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, sans-serif;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-6820396075628309193?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/6820396075628309193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=6820396075628309193' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/6820396075628309193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/6820396075628309193'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/04/wyscan-android-wifi-configuration-from.html' title='WyScan: Android Wifi Configuration from Barcode'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DfE5c55QTX0/S80bywhBXBI/AAAAAAAAAEc/_cKP-W9ruMA/s72-c/Wyscan.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-9064416104720279708</id><published>2010-04-04T20:50:00.000-07:00</published><updated>2010-04-04T21:17:22.499-07:00</updated><title type='text'>iWant</title><content type='html'>Just as I got out of the bed this morning, I realized that computing is all wrong!&lt;br /&gt;&lt;br /&gt;My old laptops have all been the same: the same keyboard, the same mouse.  Perhaps my next laptop shouldn't have a keyboard.  Not that I have anything against a keyboard, but my friends make fun of how fast I type.  It looks too nerdy.  I need something that will slow me down, like an on-screen keyboard.  Even cooler if I need to hold it with one hand while I tap with the other.  That's bound to get me noticed at Starbucks.  It would be ideal if this thing was uncomfortable to use on a desk, so I am forced to use it outside the home.&lt;br /&gt;&lt;br /&gt;When I started thinking about replacing my laptop, I began imagining what my next computer would be like.  For once, I wanted something you couldn't connect to my home network easily, because ethernet sounds so dorky!  Wi-Fi, now that's cool.  This thing should have Wi-Fi.  Only Wi-fi.  I have been growing tired of my home movie collection, so it would be best if I couldn't copy it onto this new device.  Perhaps some program could disallow me from copying my music and movies freely.  So I can buy newer, cooler stuff.  And, I can donate my DVD collection to the less fortunate.&lt;br /&gt;&lt;br /&gt;Ideally it should be difficult, if not impossible, to change the battery.  I don't want to  give people the impression that I know how this computer works!  If someone asks me how it works, I can just tell them, "It's magical"!  Technology is so confusing.  Oh, and Barbie is right and Math &lt;span style="font-weight:bold;"&gt;is&lt;/span&gt; hard.  No, really!&lt;br /&gt;&lt;br /&gt;It also occurred to me that cables are too confusing and messy.  No cables anymore.  Actually, no connections at all.  If the computer had a USB connector, it might look too messy.  Ok, maybe just one connector.  But it better be something totally different, so I cannot plug in anything old.&lt;br /&gt;&lt;br /&gt;I'm tired of all the companies making different computers, all of which do the same thing.  Ideally my next computer would only be made by one company, so I don't have to think about the replacement.  It would help if the computer was also more expensive, because this would show that I'm a man of good taste, and would justify my purchase.  And don't even think of upgrading.  Poor people upgrade to first class.  I'm already there.&lt;br /&gt;&lt;br /&gt;I know that there are many useful desktop applications.  But most of them are used by boring people that do &lt;b&gt;work&lt;/b&gt; on them.  Eww.  This new computer must match my fun personality.  It shouldn't have any application that could be remotely connected to work.  Everything should be newly written for this magical device.  All for me.  Everything should say, "This dude's having fun.  He isn't working.  He doesn't need to."  After all, laptops are used for work, and only boring people work!  Also, common riff-raff shouldn't be allowed to write apps for my computer.  Hackers and geeks can go do their Linux elsewhere. (Or is it Lunix?  Who cares.)   This computer should do as much as a phone can. Minimalism, you know.  Someone should also control my computer for me, because I already think it will be too magical for me to understand.  Only the most perfect applications should be allowed, so I don't have to choose between two music players.  Who needs different music players anyway?&lt;br /&gt;&lt;br /&gt;You know, I spend most of my time browsing the web.  So this computer should be able to do that.  But not the whole web: especially those with video might look too different.  So no video sites, probably no video at all.  Just news sites, and sites where I can buy hipster gear.  But no low-quality, cheap-ass video.  Just the highest quality content for me: piped straight to my computer through some high-quality program, written by the best of the best: dudes like me.&lt;br /&gt;&lt;br /&gt;See, computing can be so much better!  I hope some company makes this so I can express my individuality, um, ..., by buying it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-9064416104720279708?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/9064416104720279708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=9064416104720279708' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/9064416104720279708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/9064416104720279708'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/04/iwant.html' title='iWant'/><author><name>Neha</name><uri>http://www.blogger.com/profile/06155605342414360995</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14736913236970128153'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-8882792596324152968</id><published>2010-01-06T21:46:00.000-08:00</published><updated>2010-01-06T22:21:03.501-08:00</updated><title type='text'>Voice recognition on the Nexus One</title><content type='html'>The voice recognition on the Nexus one is a game changer in many ways.  I depended on the hardware keyboard on the Android G1, and I enjoyed the physical feedback that a keyboard provides.  By comparison, an on-screen keyboard is error-prone, and sometimes tricky to use.  With voice recognition on the Nexus One, Google has done away with many issues regarding data entry.&lt;br /&gt;&lt;br /&gt;We all know that phones are too big when they have a physical keyboard, and useless for long emails when they don't have one.  With voice recognition, you could speak out a major part of the email, and perhaps edit it to perfection.  It is a huge time-saver.  Even if this phone had a physical keyboard, I would consider using voice recognition for notes and emails.&lt;br /&gt;&lt;br /&gt;I was hesitant about it working with my voice, since I have an Indian accent.  Here is a demonstration of it working with my voice.  See what you think of it. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JAG66ts_R3M&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JAG66ts_R3M&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;In this video, I tested it on two sentences that were perfectly recognized. Of course, like any other software, it isn't perfect.  It does make mistakes.  That said, it is better than anything else I have seen, and works well for most common words.  It certainly exceeded my initial expectations.&lt;br /&gt;&lt;br /&gt;True to  Google's openness, this is something available to every program on the Android platform, not a specific set of Google-only applications.  My demonstration used a third-party application, a sticky note, to highlight this.&lt;br /&gt;&lt;br /&gt;Here is a much better video demonstrating the voice input feature:&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/laOlkD8LmZw&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/laOlkD8LmZw&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-8882792596324152968?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/8882792596324152968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=8882792596324152968' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/8882792596324152968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/8882792596324152968'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/01/voice-recognition-on-nexus-one.html' title='Voice recognition on the Nexus One'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-1930906633390775698</id><published>2010-01-03T07:28:00.000-08:00</published><updated>2010-01-03T07:35:53.966-08:00</updated><title type='text'>Acronym hell in wireless connectivity-land</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I've been learning about encryption used when making a Wi-Fi connection between a computer and an access point.  What I found was the most ridiculous mix of acronyms.  Here is a sampler: WPA, WPA2, WEP, EAP, TKIP, PSK, TLS, TTLS,  PEAP, EAP-TLS, EAP-TTLS, MSCHAPv2, PEAPv0, EAP-MSCHAPv2, PEAPv1, EAP-GTC, EAP-SIM, PMK, PKI.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-1930906633390775698?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/1930906633390775698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=1930906633390775698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/1930906633390775698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/1930906633390775698'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/01/acronym-hell-in-wireless-connectivity.html' title='Acronym hell in wireless connectivity-land'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-5672311830657956782</id><published>2010-01-02T11:50:00.000-08:00</published><updated>2010-01-03T09:13:58.085-08:00</updated><title type='text'>The cell phone battle between Apple's iPhone and Google's Android</title><content type='html'>&lt;div&gt;Apple and Google have received much publicity over their move into the mobile space.  Apple has a very good handset, the iPhone, which combines their usual offering of iTunes with a capable cell-phone. Google has a mobile 'platform', an operating system that anyone can use to create a mobile device.  Many such devices have been developed, some with the help of Google, and some independently.  In the US, you can get an iPhone with AT&amp;amp;T alone, and an Android with T-mobile, Verizon and Sprint.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While most people see this as a clash of devices, the issue is much deeper: what computers will be in the future, and how we will interact with them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let us consider the two devices: a new iPhone versus a new Motorola Droid (an Android phone).  The specific Android device does not matter for this argument, pick any Android device of your choice.  At the store you compare device sizes, the screen quality, the network quality: AT&amp;amp;T and Verizon in this case.  You might compare the user-interface, and notice the programs that come for free with each device.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both devices are fairly sophisticated computers, hence the term smartphones.  Both have increasingly complicated programs which previous phones were not capable of running, like full turn-by-turn navigation, or comparison shopping tools, or full browsers.  These are tasks that were earlier accomplished by separate devices.  Both can be programmed and software can be purchased for both.  In short, both look very much like real computers.  Computers that can also make calls.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is not obvious at the store are very important, deeper differences: while the tools to write programs for  both are free, Android applications can be distributed without permission.  iPhone applications must be distributed through the Apple store, and only after Apple's explicit permission.  I can write an Android program and put it on my website, allowing everyone to download it.  Google and Motorola might be blissfully ignorant of this, and even if they dislike my program, they cannot stop me.  Apple maintains a draconian control over what programs can be written for the device.  Imagine if Microsoft had to power to disallow specific programs on the Windows platform.  Imagine if they had disallowed the Netscape browser, because it 'duplicated existing functionality'.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's another difference: the Android software runs on many hardware vendors, while the iPhone software only runs on an iPhone device. This is similar to Windows running on Dell, Lenovo, and HP machines, while MacOS only runs on Macs.  Apple has sued vendors who try to run MacOS on non-Mac hardware, so it is highly unlikely that the iPhone system software will run on anything except an Apple iPhone device. If you want Android, you could get it from many device makers: HTC, Samsung, Motorola.  For an iPhone, you must get Apple.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Everyone agrees that the mobile space is the next big thing.  Many more people will experience the Internet on a mobile device than a full laptop or desktop computer.  Even in households where computers are common, mobile devices are being used more often: it is so convenient to use something that is always with you.  Computers are being relegated to specialized activities, and more of their role is being taken up by mobile devices.  A few years ago you would have got your parents a computer just so they can check email.  Then you'd have to make sure their DSL modem can talk to their wireless router, which works with their ethernet card, for which they have the right drivers. And then, after Service Pack 6 and Anti-Virus 2010, perhaps they can see your photos.  All too complicated.  Today, you'd probably just get them a phone.  It beeps when they have email, and they can check email even when they are on vacation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If mobile phones will supplant general-purpose computers, an Apple dominated world is a bleak future to aim for.  You get a single vendor of hardware (Apple), a single vendor of system software (Apple), and as a bonus, that single vendor exerts unprecedented control over the software distributed on that device.  This is dominance that will surpass anything Microsoft ever had.  Imagine if every laptop and desktop was sold only by Microsoft, not by Dell, IBM, HP.  Imagine if Microsoft could arbitrarily decide what applications can run on its platform.  Every media player (except theirs) would be disallowed, since it 'duplicates existing functionality'.  Even if they didn't have a competing product they could disallow an application, if it threatened their business model.  For example, they might disallow Netscape's browser, even if they didn't have a browser of their own. This is similar to what Apple did, when they disallowed Google Voice. Even though Google Voice doesn't compete with anything Apple offers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Microsoft's monopoly gave them the power to hold back progress on the web.  When Internet Explorer 6 successfully killed Netscape, they never bothered to update it to adhere to web standards.  Web developers were forced to waste time dealing with Internet Explorer's incorrect behavior, because a majority of the world used it. Microsoft probably hoped that web applications would never succeed, and people would be forced to write desktop applications, which would run on their platform, thus furthering their goals.  I know it is fashionable to loath Microsoft, but Apple would be far worse since they control not just the system software (Windows or MacOS) but also the hardware, and in case of the iPhone, the software distribution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An Apple dominated world would be much easier to control, since the hardware, software, and software distribution are all tightly controlled by Apple.  What's worse, the mobile phone can only be on a single network, while a computer can be connected to the Internet through a variety of means.  An Apple dominated world would dictate your choice of wireless provider as well.  Today in the US, you can buy an Android phone on at least three networks, but if you want an iPhone, you have to choose AT&amp;amp;T.  Perhaps this will change in the future, but it is a sign of the extreme control that is available in Apple's hands.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't begrudge Apple's success: they have a very good device, with excellent UI.  They've put a lot of thought into the product, and it shows.  I am extremely wary of the iPhone becoming the dominant mobile platform, though.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;Edit on 3 Jan 2010: &lt;/span&gt;Comments brought up an important point about Google spying, my comment is included here.&lt;br /&gt;&lt;br /&gt;1. If you are paranoid, you can buy a developer phone, and use a firmware that does not require a Google login. Can you buy an iPhone and install a software that gets around their device lock, legally?&lt;br /&gt;2. If you are wary of Google, are you also wary of Facebook and credit card companies? Are you wary of your cell-phone company (which has minute-by-minute information of where you are, who you called, where you live)? I hope you don't use AT&amp;amp;T, which tapped many phones without warrants?&lt;br /&gt;3. In Ken Auletta's book, he talks of a situation when Google was asked to hand over information without a subpeona, and they refused while Bing agreed to hand over information. Are you sure that your views are supported by facts?&lt;br /&gt;4. Is there a single case where Google abused the information in any way? As a comparison, Apple has abused its iPhone control repeatedly, to disallow apps that competed with them.&lt;br /&gt;5. Google does make changes to its policies to comply with the local law. Would you wish Google did not follow the law?&lt;br /&gt;6. How do you know that the iPhone platform is respecting your privacy? Many independent people have looked through the Android source code (it is freely available). How many have done so for Apple's source?&lt;br /&gt;&lt;br /&gt;My point is that a lot of privacy concerns about Google are ill-founded. You could sign out before doing searches. You could clear cookies, if you are concerned. Finally, employees at Google are keenly aware of privacy issues: our families and friends are Google users too. And we know what a death-blow it will be if we misuse the information. There are many ways in which you can find what information Google has for you, like the Google Dashboard (&lt;a href="https://www.google.com/dashboard/"&gt;https://www.google.com/dashboard/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Disclaimer: While I am a Google employee, this blog post consists entirely of publicly available information.  Also, this post is my opinion alone, and reflects on neither Google, nor my employment with them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-5672311830657956782?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/5672311830657956782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=5672311830657956782' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5672311830657956782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5672311830657956782'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2010/01/cell-phone-battle-between-apples-iphone.html' title='The cell phone battle between Apple&apos;s iPhone and Google&apos;s Android'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-5500445863542682474</id><published>2009-10-21T22:51:00.001-07:00</published><updated>2009-10-21T23:49:25.012-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dishonest'/><category scheme='http://www.blogger.com/atom/ns#' term='maker shed'/><title type='text'>Maker Shed, a dishonest store</title><content type='html'>I'm usually fond of O'Reilly media, however I had a bad run-in with Maker Store that has made me rethink my views of them.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I attended the Maker Faire this year, and liked the fair a lot.   In an impulsive and generous fit, Neha bought the &lt;a href="https://www.makershed.com/ProductDetails.asp?ProductCode=MSAPK2"&gt;Advanced Arduino kit&lt;/a&gt; for me, which is a collection of parts being sold by Maker Faire.  What a terrible decision.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;b&gt;A kit from hell&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For starters, the kit comes with little or no documentation.  It comes with a book, written by Tom Igoe, but the projects in the book have nothing to do with the components in the kit.  The box claims there is a motor, tri-color LEDs, temperature sensors etc.  However, there is little information on which pieces are which.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;The temperature sensors were particularly wonderful: they are two pin devices that only had the numbers "503" written on them.  Search for that on the Internet!  &lt;/li&gt;&lt;li&gt;The motor had connecting wires that were half the length of a paper clip: too short to connect to any real circuits.  Stripping the insulation off the wires left almost nothing to connect/solder to.&lt;/li&gt;&lt;li&gt;The tri-color LEDs are puzzling.  Ben-Collin Sussman wrote a review on the &lt;a href="https://www.makershed.com/ProductDetails.asp?ProductCode=MSAPK2"&gt;product page&lt;/a&gt; saying that the pinouts for them were different from every other tri-color LED.  And lack of documentation means that you spend extra hours figuring the discrepancy.&lt;/li&gt;&lt;li&gt;I did mail their support people (and open a ticket) about this lack of documentation.  They wrote back saying that they were "getting the specs from the manufacturers" or some such thing.  Do they mean to say they have no idea what they are selling?  That was many months ago, and nothing has showed up.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;All-in-all the kit seems like it was put together at the last minute, by someone who has never played with an arduino before.  As an introductory kit, it is sorely lacking, and it should be avoided.  If this were the end of it, I'd still avoid buying anything else from the Maker Shed.  However, the story gets worse.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;b&gt;Lack of Quality Control&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recently, I've been working on a toy project.  It is somewhat complicated, and it hasn't been working.  After spending many hours debugging it, I isolated the fault to a non-functioning wire that came with the kit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; A faulty &lt;b&gt;wire&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; I know for sure because the only sheaf of breadboard hookup wire I have came with this kit.  I usually avoid these hookup wires: I prefer my own 22awg solid core wires for cleaner breadboards.  This wire had somehow remained on the circuit.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;b&gt;Dishonesty&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So now you're thinking this is pretty bad: well, it gets even worse!  I went online to post a juicy review of this "kit", only to be told that I had already posted a review.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DfE5c55QTX0/St_4hPyET8I/AAAAAAAAAD8/ea-WbJ8FBo8/s1600-h/youhavereview.png"&gt;&lt;img src="http://2.bp.blogspot.com/_DfE5c55QTX0/St_4hPyET8I/AAAAAAAAAD8/ea-WbJ8FBo8/s400/youhavereview.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5395304128669044674" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 186px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Funny, I don't see my name on the list of reviews, and it clearly states that there are exactly five reviews.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://2.bp.blogspot.com/_DfE5c55QTX0/St_4srAqSsI/AAAAAAAAAEE/iHqWv7vfXUY/s400/5reviewsS.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5395304324956572354" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 77px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;So I look into my reviews, and sure enough, I have written only one review: a review of this lousy kit, with a one-star rating.&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DfE5c55QTX0/St_5FWbBwwI/AAAAAAAAAEM/dvXftGygl_E/s1600-h/myreviewS.png"&gt;&lt;img src="http://4.bp.blogspot.com/_DfE5c55QTX0/St_5FWbBwwI/AAAAAAAAAEM/dvXftGygl_E/s400/myreviewS.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5395304748926747394" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 338px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;So Maker Shed does not post my review, since it is negative, and they don't use it to compute the average rating for this kit either.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not posting negative reviews is &lt;b&gt;just plain dishonest&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After the poorly designed kit, the faulty wire, and the dishonest website, I'll avoid buying anything from their store.  There are many better avenues in most cases, so this isn't a big limitation.  &lt;a href="http://www.sparkfun.com/commerce/categories.php"&gt;Sparkfun&lt;/a&gt;, &lt;a href="http://www.futurlec.com/"&gt;Futurlec&lt;/a&gt;, &lt;a href="http://www.adafruit.com/"&gt;Lady Ada's store&lt;/a&gt; are all great options.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-5500445863542682474?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/5500445863542682474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=5500445863542682474' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5500445863542682474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5500445863542682474'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/10/maker-shed-dishonest-store.html' title='Maker Shed, a dishonest store'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DfE5c55QTX0/St_4hPyET8I/AAAAAAAAAD8/ea-WbJ8FBo8/s72-c/youhavereview.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-1959173641417621242</id><published>2009-08-22T11:56:00.000-07:00</published><updated>2009-08-22T12:06:39.614-07:00</updated><title type='text'>Movies today</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:'Times New Roman';font-size:medium;"&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;The recent movies have been a big disappointment, while the older movies are imaginative and creative.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new', serif;font-size:130%;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;A lot of the movies today are fatalistic: your fate determines everything.  Merit seems to be entirely missing.  Take "Kungfu Panda", for instance.  The panda was a loser, who did not train, did not practice, and had no kung-fu skills.  Yet, the kung-fu experts were still powerless against the tiger and  ultimately it was the bumbling panda who saved the village.  Lesson: don't bother learning anything since the experts are powerless against ignorance.  Another example: the recent Star Trek movie.  Kirk was an obnoxious, un-trained person, who became captain due to his father, and mostly luck.  I don't remember him demonstrating any special capability that others lacked.  Why was he the captain?  It seems every other movie is about someone's destiny.  You can be a complete loser, but if it is your destiny, you'll be the hero.  What a pathetic excuse of a story!  This was also done ad-nauseum in the Star Wars movies, among others.  &lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new', serif;font-size:130%;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Another plot device that I'm tired of is "Saving The World".  Why is every movie about someone saving the world?  Earlier it used to be saving a village or a country, nowadays it is a whole planet.  Nearly every science fiction movie is about saving the world.  This might have been interesting the first time around, but it is hard to identify with.  I haven't saved the world recently, and I doubt many in the audence have.  Science fiction can be so much more interesting: you can dream up entire worlds.  But all the stories seem to be about bigger weapons, and men (it is always men) saving the whole world with their utterly massive... egos.  Is the world so fragile?  And really, why is one person the sole hope of humanity?&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;The world also seems to be painted in obvious black-white tones.  The good guys volunteer for orphanages and the bad guys eat puppies for breakfast.  There is almost no shade of gray, or any internal struggle.  There is none of the suspense of Hitchcock's "Suspicion", where you don't know whom to side with.  There is none of the internal conflict of "Marnie", again a Hitchcock classic.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Story lines are not the only things that have suffered.  Camera work is much jerkier than it used to be.  Notice how these days cameras jerk around incessantly?  There are no long shots and no close-ups of emotion.  To see the difference, watch the recent Star Trek movie and then watch Alfred Hitchcock's "Rope".  There are continuous scenes lasting entire minutes in Rope.  You see close-ups of actors, there is suspense built through silence, though emotions.  In Star Trek, the camera work was a jerky mess, with no shot lasting longer than a few seconds.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;So instead of watching the completely formulaic movies, I have started watching old movies. Of course Alfred Hitchcock is a favorite, with movies like "Rope", "Lifeboat", and "&lt;a href="http://www.imdb.com/title/tt0058329/"&gt;Marnie&lt;/a&gt;" providing some welcome relief.  Another movie that I enjoyed was "&lt;a href="http://www.imdb.com/title/tt0053604/"&gt;The Apartment&lt;/a&gt;".  It had beautiful camera work, a charming story, and lovable characters.  A big surprise was an ancient movie called "&lt;a href="http://www.imdb.com/title/tt0015324/"&gt;Sherlock Jr&lt;/a&gt;." starring &lt;a href="http://en.wikipedia.org/wiki/Buster_Keaton"&gt;Buster Keaton&lt;/a&gt;.  Buster Keaton's splendid acting and stunts were marvelous, and I intend to watch more of his movies as a result.    Combined with a home projector, there is no reason to suffer through new movies.  &lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-1959173641417621242?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/1959173641417621242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=1959173641417621242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/1959173641417621242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/1959173641417621242'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/08/movies-today.html' title='Movies today'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-9110463092644800751</id><published>2009-06-25T17:22:00.000-07:00</published><updated>2009-06-25T17:42:35.462-07:00</updated><title type='text'>Radiolab</title><content type='html'>A co-worker introduced me to &lt;a href="http://www.wnyc.org/shows/radiolab/"&gt;Radiolab&lt;/a&gt; recently.  It is a radio show that is also available as a free podcast.  Each show discusses a specific topic from a scientific angle: why we sleep, how we remember things, even love!  It is, without doubt, the best radio show that I have heard.  Go get it now, get all the episodes.  Buy a music player if you don't have one already, if only for Radiolab.&lt;br /&gt;&lt;br /&gt;The hosts of RadioLab are Jad Abumrad and Robert Krulwich, and they do a wonderful job of interviewing people to bring out the joy of inquiry.  Each show leaves me with a sense of wonder for the topic.  In addition to the excellent production quality, Jad and Robert have a knack for finding the experts and asking insightful questions.&lt;br /&gt;&lt;br /&gt;This might just be the second coming of radio.  The Internet has allowed good content to find its audience.   Without the Internet, a show like RadioLab would be confined to the few cities that broadcast it, and at very specific times.  Now, a student in India can listen to Jad and Robert at whatever time is most convenient.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-9110463092644800751?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/9110463092644800751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=9110463092644800751' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/9110463092644800751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/9110463092644800751'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/06/radiolab.html' title='Radiolab'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-7776687240376461761</id><published>2009-06-22T13:02:00.000-07:00</published><updated>2009-06-25T17:24:47.021-07:00</updated><title type='text'>"Indians are smart!"</title><content type='html'>This is a statement heard often in schools and companies in the US: "Indians are smart", or "Indians are good at Math".  Sometimes it is Asians (Chinese, Japanese, Koreans) instead of Indians, but this notion persists.  Since this is such a common perception, it helps to understand where it originates.&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Most Indians that are visible to Americans are university students,  co-workers, or other hard-working geek types.  This is a very select group of people: those who were good at school, loved standardized tests and were willing to work hard and travel a long distance from their families.  (People claim this is the cream of Indian intelligence, which is too generous.  There are many smart people who choose to stay in India, because they can't bear the thought of leaving friends, family, food behind.) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So when you come across one of these folks in the university or at work,  it occurs to you how all Indians are so different from the average American.  What's more, every Indian seems to be hard working and reasonably sharp.   After meeting a few such people, you cannot help forming an opinion that, "All Indians are Smart".  Bang!  You may have generalized a bit too far! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Back home in India, I made similar generalizations myself.  I had met some foreign students studying in India and I was amazed at how bright they all were.  Of course, they knew the university coursework, but they also knew about art, music, cooking and wine.  They knew more  Indian history than I did!  Had I seen enough of such exchange students, I would have concluded that Western students are brilliant at everything they do.  Similarly, many of my father's Japanese colleagues seemed to be exceptionally interesting, hard-working and sharp.  But if you think about it - these were men with a high levels of responsibility so a dull person would automatically be disqualified from the job.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Something similar happens when Indians watch TV, and conclude that all Americans look gorgeous.   Big mistake!  They haven't encountered the average American, with his excess baggage of fat.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is just a Sampling Bias,  which was my original title for this post.  However,  a technical term would scare off half the audience, so I  selected a suitably sensational  title.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-7776687240376461761?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/7776687240376461761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=7776687240376461761' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/7776687240376461761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/7776687240376461761'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/06/indians-are-smart.html' title='&quot;Indians are smart!&quot;'/><author><name>Neha</name><uri>http://www.blogger.com/profile/06155605342414360995</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14736913236970128153'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-852426526842291772</id><published>2009-06-18T07:17:00.001-07:00</published><updated>2009-06-18T09:12:57.295-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android Developer Videos from Google IO 2009</title><content type='html'>I've been having a lot of fun programming the Android.  The Android talks from Google IO this year were informative and are a great resource for android programmers.  You can view all the talks at the &lt;a href="http://code.google.com/events/io/sessions.html"&gt;Google Code page listing IO 2009 videos&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Google has released these videos under the Creative Commons Attribution-Share Alike license so you can download them in the US from Youtube.  For everyone outside the US, I created a &lt;a href="http://thepiratebay.org/torrent/4961668/Android_developer_videos_from_Google_IO_2009"&gt;torrent with Android developer videos from Google IO 2009&lt;/a&gt; that you can download.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can read the full details about the &lt;a href="http://creativecommons.org/licenses/by-sa/2.5/"&gt;Creative Commons Attribution Share-Alike license&lt;/a&gt; to ensure that your use of the videos is legal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Have fun programming the Android!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-852426526842291772?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/852426526842291772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=852426526842291772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/852426526842291772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/852426526842291772'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/06/android-developer-videos-from-google-io.html' title='Android Developer Videos from Google IO 2009'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-5494013050263265497</id><published>2009-06-14T16:20:00.000-07:00</published><updated>2009-06-18T16:24:57.677-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='work ethic'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Best Place to Work</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=j6h-gm01Fb0&amp;amp;feature=channel"&gt;Google gets held up as the best place to work&lt;/a&gt;, year after year.  Reporters seem to focus almost entirely on the following factors:&lt;ul&gt;&lt;li&gt;Free gourmet food&lt;/li&gt;&lt;li&gt;Free massages&lt;/li&gt;&lt;li&gt;Free fitness centre&lt;/li&gt;&lt;li&gt;Awesome transportation options&lt;/li&gt;&lt;/ul&gt;Sounds good, doesn't it?  Well, I'm here to tell you that reporters are wrong.  None of those matter, or at least, none of those matter too greatly.  What really matters is the work environment and peers.  I can buy gourmet food, massages, can pay for a gym membership and drive to work.  All those things cost money, but are easily available.  What I cannot control, and cannot buy is a work environment.  If my peers are jerks, I cannot do anything about it, short of leaving altogether.  I haven't worked at many places, but from conversations I've had with friends, I maintain that Google is great because of their work environment.  Here are some examples:&lt;ul&gt;&lt;li&gt;Google encourages people to work on something they enjoy.  Don't like what you're doing: you're free to shift, within reason, to a project you enjoy.  There's plenty that a smart engineer can do, and Google appreciates that.&lt;/li&gt;&lt;li&gt;Managers are  technically sharp and have tremendous organization and communication skills.  I've attended plenty of meetings, and have always walked away with renewed respect for how well the managers understand all aspects of an issue.  After one scintillating meeting, a peer observed this as he remarked, "Well, the brilliance was at display there, wasn't it"?&lt;/li&gt;&lt;li&gt;The people I work with are warm individuals who care about their colleagues.  When I had an unfortunate accident, my manager specifically instructed me to stay at home and recuperate.  He also personally offered to transport things from my office to my house.  I wouldn't need it, but it was a remarkably warm gesture: and this is just one example.  I can recount countless such examples.&lt;/li&gt;&lt;li&gt;Peers are talented and sharp people: to the point that I reserve Mondays and Tuesdays for feeling like an idiot.  Most people seem to understand complex issues faster than it takes me to describe them.  The people I have worked with are sharp, and yet they are humble.  They encourage inquisitiveness, and lack egotism.  And this is a team consisting of people who have authored text books in this field.&lt;/li&gt;&lt;li&gt;My location, attire and timings don't matter to anyone.  I can work from home on days that I'm feeling ill, or just too lazy to get out of bed.  As far as I get my job done, why should it matter what clothing I have on?  I have never been asked to be present at specific times, or specific places.  Sure, there are meetings that I could attend: but if they're not related to my immediate work, I'm not required.&lt;/li&gt;&lt;li&gt;I have a choice of computing environment.  I choose to  run Linux on  both my desktop and laptop, and both are well supported by the administrators.&lt;/li&gt;&lt;li&gt;Beyond the immediate work environment, Google seems to be a fertile ground for meeting other sharp people.  All around, people are reading interesting books, having fascinating discussions, and &lt;a href="http://www.homebrewcpu.com/"&gt;building cool things in their spare time&lt;/a&gt;.   The Google doctor is the best doctor I have ever seen, and her reputation confirms this.  You can have great discussions about world cuisine with cafe staff, and they'll follow up the discussions with email.&lt;/li&gt;&lt;li&gt;Even walking around the office is a rewarding experience.  People post interesting snippets along office walls, and there are mini-libraries and common bookshelves stocked with interesting books.   Large meeting rooms are abuzz with interesting talks by authors and technical experts.&lt;/li&gt;&lt;/ul&gt;It is this wonderful environment that employees enjoy.  Take away these positive interactions and no amount of free food or massages will retain employees.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-5494013050263265497?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/5494013050263265497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=5494013050263265497' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5494013050263265497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/5494013050263265497'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/06/best-place-to-work.html' title='Best Place to Work'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-4765130097950947020</id><published>2009-06-05T19:09:00.000-07:00</published><updated>2009-06-18T08:40:01.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='india'/><category scheme='http://www.blogger.com/atom/ns#' term='census bureau'/><title type='text'>Worse than an error</title><content type='html'>I've been using website quality as a metric of the quality of an organization, and it has been surprisingly accurate.   Organizations that put effort into their website tend to be customer focussed.  A sloppy website means that either nobody uses the site or that the site owner doesn't care about the users.&lt;br /&gt;&lt;br /&gt;I had heard that Indian census data was online, and I was always curious to find out what the Indian divorce rates are.  So I visited the census site at &lt;a href="http://censusindia.net/"&gt;censusindia.net&lt;/a&gt;.  You can see a picture of the website here.  It is a very poor, shoddily designed website.  A summer intern can do better with a day's work.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://vikram.eggwall.com/pictures/2009/blog/censusIndia.png" /&gt;&lt;br /&gt;&lt;br /&gt;But what's better is not a &lt;span style="font-weight: bold;"&gt;single&lt;/span&gt; link works.&lt;br /&gt;&lt;br /&gt;You can replace the server with a toaster and nobody would notice.&lt;br /&gt;&lt;br /&gt;That entire website is worse than an &lt;a href="http://en.wikipedia.org/wiki/HTTP_404"&gt;error page&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some of the links take you to the &lt;a href="http://censusindia.gov.in/"&gt;censusindia.gov.in site&lt;/a&gt;.  Let's ignore the two domains, maybe there is a strong reason to have two different domains for data.  Let's focus on the content.  I spent the next ten minutes clicking on links that don't work.  Here is a collection of images of error screens I got.  As before, most of the links have very sparse content, and many of the links result in errors.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://vikram.eggwall.com/pictures/2009/blog/error1.png" /&gt;&lt;br /&gt;&lt;br /&gt;Here is another error screen:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://vikram.eggwall.com/pictures/2009/blog/error2.png" /&gt;&lt;br /&gt;&lt;br /&gt;Despite having very little content, they did go through the effort of adding links for translation (through Google Translate).  So you can view the website in any language.  Given that you will be looking at error pages most of the time, here is the entire website summarized in Russian!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://vikram.eggwall.com/pictures/2009/blog/errorRussian.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Those two sites are absolute user interface nightmares.  The second website does have some useful data after you go through a hilarious registration screen.  Instead of putting up a single data file, they have elaborate drop downs that show you information in nibble-sized chunks.  The site does not contain links to actually download the data.  But they do have CDROMs and books in their "store" if you are eager for more.  If you were to do any meaningful analysis, you'd have to spend hours just navigating their interface.  Here's a &lt;span style="font-weight: bold;"&gt;radical &lt;/span&gt;suggestion: why not just put the data online and do away with the flashy images, the registration, the 'store', and the labyrinth of drop-down boxes?  You know, like the rest of the world does?  The site has been developed by &lt;a href="http://www.lsipl.com/"&gt;LogicSoft&lt;/a&gt;, just so you know where the blame lies.&lt;br /&gt;&lt;br /&gt;I was showing this to Neha, and we were discussing how bad the websites themselves were.  Neha had a wonderful story which was related to the subject.  Many years ago, while she was a Statistics student, she figured that it would be interesting to play with real-world data.  She was in Delhi, and the relevant government offices were nearby.  So she and a friend went over to the office to ask for data.  They were treated with such utter contempt that they gave up any hopes of ever working with government data.  Further, their story was a cautionary tale to other students in their university, who quickly steered away from any area even remotely connected with the Indian government data.  Some of them were considering jobs that would have involved Indian government data, which they quickly abandoned for better employment.&lt;br /&gt;&lt;br /&gt;Maybe there is something connecting the quality of the website and the organization.  The census bureau website does turn out to be a good indicator of the attitude of people working at the Indian census bureau.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-4765130097950947020?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/4765130097950947020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=4765130097950947020' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4765130097950947020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4765130097950947020'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/06/worse-than-error.html' title='Worse than an error'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-3504194309791451886</id><published>2009-05-24T10:11:00.000-07:00</published><updated>2009-05-24T10:40:20.555-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phishing'/><category scheme='http://www.blogger.com/atom/ns#' term='scam'/><title type='text'>My father, computer security expert</title><content type='html'>Check this transcript, carried over IM between my father and a friend of his (called Nikhil).&lt;br /&gt;&lt;br /&gt;Nikhil: am not fine&lt;br /&gt;Nikhil: am stuck here in uk&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Father: what happened&lt;/span&gt;&lt;br /&gt;Nikhil: i came here for a resort&lt;br /&gt;Nikhil: and i was mugged at a gun point'&lt;br /&gt;Nikhil: my moeny and so many other thig have being taken away by tis hoodlums&lt;br /&gt;Nikhil: are you here with me&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Father: yes&lt;br /&gt;Father: Very sad to hear&lt;/span&gt;&lt;br /&gt;Nikhil: am thinking if you could loan me some money to pay my hotel fee and some other thing and as soon as am back i will payyou back&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Father: Who was your last boss, and which company you worked for&lt;br /&gt;Father: Which floor was your office on&lt;/span&gt;&lt;br /&gt;Nikhil: why asking me all this&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Father: What was the PIN code of the office area&lt;/span&gt;&lt;br /&gt;Nikhil: i cant talk right now&lt;br /&gt;Nikhil: all i need is your help&lt;br /&gt;Nikhil: my boss&lt;br /&gt;Nikhil: pls help me&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Father: Who used to sit next to you&lt;br /&gt;Father: with whom did you fight everyday&lt;/span&gt;&lt;br /&gt;Nikhil: ok&lt;br /&gt;Nikhil: bye&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In case you didn't understand it, it is a very sophisticated scam, where a fake Nikhil is asking my father for money.  My father is not convinced that this person is Nikhil and tries to validate identity through secret keys (answers to questions only the real Nikhil would know).   When my father first told me about this, I did not understand what he was doing.  This is a very sophisticated phishing attack and I was amazed that my father saw through the scam immediately.  There are a couple of lessons from this:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Security is a mindset, not a product.  My father's computer was not compromised.  Most probably the attacker has the password to Nikhil's account.  No antivirus or firewall on my father's computer would have prevented this attack.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Unsafe websites and computers are a threat to everyone.   Unsafe Windows computers and websites that our friends and family use could potentially be a threat to us.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;With users of online social networks, this attack could be made &lt;em&gt;very&lt;/em&gt; convincing.  Another reason to avoid putting too much information about yourself online.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Security is about teaching people healthy skepticism.  In this case, my father is already a security expert!&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-3504194309791451886?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/3504194309791451886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=3504194309791451886' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/3504194309791451886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/3504194309791451886'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/05/my-father-computer-security-expert.html' title='My father, computer security expert'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-10479409818435551</id><published>2009-04-29T18:57:00.000-07:00</published><updated>2009-04-30T13:24:11.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='watchtower'/><title type='text'>Watchtower updated.  Now with Spy Glass!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://vikram.eggwall.com/computers/watchtower.html"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://vikram.eggwall.com/computers/Watchtower.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Watchtower is a program that turns an Android phone into a wireless surveillance device.   I recently revised Watchtower: it now includes the option of staying awake, a new icon, and a cleaner UI.&lt;br /&gt;&lt;br /&gt;The real advance has been a desktop program called Spy Glass, which shows you the view through the Watchtower.  It is completely written in Java, and works beautifully on Linux, Mac and Windows.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://vikram.eggwall.com/computers/SpyGlass.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://vikram.eggwall.com/computers/SpyGlass.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vikram.eggwall.com/computers/watchtower.html"&gt;&lt;br /&gt;Downloads for both Spy Glass and Watchtower, and updated information is available.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Go get it now, that's all I can say.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Alright, for the more technical aspects.  This was the first time I wrote something large in Java, for the desktop.  I had looked at Java earlier (in the jdk 1.0 days), when it would compile and run on my Linux machine, and the binary also worked on Windows. I had written some dopey Blackjack program for the commandline, and was suitably impressed about how a single class file could work beautifully on two systems.  I did not bother writing applets, partly because I had a terrible network connection and no use for them, and partly because my Pentium 100 would have a cardiac arrest at the sight of applets.&lt;br /&gt;&lt;br /&gt;Before writing Watchtower, I had used  &lt;a href="http://www.remotedroid.net/"&gt;Remote Droid&lt;/a&gt; for the Android, which turns the phone into a remote keyboard and mouse.  Very handy when controlling a media center, and it worked perfectly in Linux.  The Remote Droid authors had written their desktop program in Java.  I figured it was a good idea for Watchtower to have its own pre-packaged desktop program, to make it easier for lay persons to use.  Given that the Java marketing slogans routinely abuse the words network, cross platform and rapid, I figured it was a good time to give Java a try.&lt;br /&gt;&lt;br /&gt;The good parts: The &lt;a href="http://www.mortbay.org/jetty/"&gt;Jetty&lt;/a&gt; project has written a full J2EE web server in Java, which makes it trivial to embed a full web server in Java code.  All I had to do was write a simple servlet which accepts POST requests, stores the images in a location and displays them.  The &lt;a href="http://commons.apache.org/fileupload/"&gt;Apache library&lt;/a&gt; had  awesome servlet-side code which could parse a POST request and return the file.&lt;br /&gt;&lt;br /&gt;So all one had to do was put it together, write some trivial Java code to display an image, and update the image when it changed.  My work is a single class which is a servlet, contains an embedded web server, and is a JFrame as well!  The &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt; was astonishingly good, perhaps better than IntelliJ on this project due to the vast hordes using Eclipse along with Jetty.&lt;br /&gt;&lt;br /&gt;I put in some effort to unpack all the jetty and apache class files, put my own class files, and then packed it all together as a single jar.  Again, the Java commandline tools were quite painless, and it was easy to handle, once I knew what I was doing.&lt;br /&gt;&lt;br /&gt;In summary, this was ridiculously easy.&lt;br /&gt;&lt;br /&gt;The bad parts: the documentation was often quite confusing.  Java API documentation is a great reference, and beyond the Java Tutorial, one has to do a lot of searching on the Internet to find how to hook the parts together.  Some of this was my own lack of understanding, since I was totally clueless at the start.   That said, it seems that there should be a better way to highlight what the bits are doing beyond some pithy API document.  Google was very helpful, of course.  A minor hurdle remains that jar files cannot have file-specific icons, which means that spy glass gets platform-specific icons.&lt;br /&gt;&lt;br /&gt;Finally, I am using some beautiful icons developed by &lt;a href="http://www.jacal-team.com/"&gt;Jacal Team&lt;/a&gt; and &lt;a href="http://www.artua.com/freeicons"&gt;Artua&lt;/a&gt;.  Thanks to them for sharing their work and letting others use it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-10479409818435551?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/10479409818435551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=10479409818435551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/10479409818435551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/10479409818435551'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/04/watchtower-updated-now-with-spy-glass.html' title='Watchtower updated.  Now with Spy Glass!'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19163975.post-4781318881737840594</id><published>2009-04-23T10:44:00.000-07:00</published><updated>2009-04-23T10:56:28.546-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watch tower'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Watch Tower: Android as a wireless surveillance camera</title><content type='html'>I recently developed a program called &lt;a href="http://vikram.eggwall.com/computers/watchtower.html"&gt;Watch Tower&lt;/a&gt;.  This turns an &lt;a href="http://www.android.com/about/"&gt;Android&lt;/a&gt; phone into a wireless surveillance camera.  The phone takes images periodically and sends them (via HTTP) to a computer which can accept files.  It can use either the cell phone's data plan or Wi-Fi to send the images.&lt;br /&gt;&lt;br /&gt;Watch Tower requires setting up a receiver program on some computer, but this is very easy to do.  This can be done on Windows, Mac or Linux using any web server and some trivial cgi scripting.  Details on how to do this are also on the &lt;a href="http://vikram.eggwall.com/computers/watchtower.html"&gt;Watch Tower&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;The entire source code is available under the GPL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19163975-4781318881737840594?l=blog.eggwall.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.eggwall.com/feeds/4781318881737840594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=19163975&amp;postID=4781318881737840594' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4781318881737840594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19163975/posts/default/4781318881737840594'/><link rel='alternate' type='text/html' href='http://blog.eggwall.com/2009/04/watch-tower-android-as-wireless.html' title='Watch Tower: Android as a wireless surveillance camera'/><author><name>विक्रम (Vikram)</name><uri>http://www.blogger.com/profile/11194563536107656485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17986950368525822530'/></author><thr:total>3</thr:total></entry></feed>