Subsidizing food isn’t enough, surely?

It’s no surprise that headlines and groups around the world have alternately praised and derided the Indian Government’s recent introduction of the Food Security Bill. If passed by the upper house of Parliament, the bill would grant a legal right to food to 70% of India’s 1.2 billion population, offering cereals like rice and wheat at ₹2 or ₹3 per Kg. Moreover, there are provisions around offering free meals to pregnant and lactating women, maternity benefits, and free meals to children up to 14 years. An interesting rider even makes state governments liable to pay a food security allowance to their beneficiaries in the event food-grains aren’t available.

There are three rungs at which conversations around this bill have surfaced recently.

From the perspective of the ruling government, this bill aims to reduce and eventually stamp out the scourge of malnutrition in India, which today is supposedly worse than some sub-Saharan countries; the main opposition party however calls it an attempt to win votes for the general elections of 2014; and economists of various ilks question the sanity of such an endeavor, wondering if the country is stretching itself too thin trying to fund this effort.

Here are a few questions I’d ask before jumping to hyperbole.

Firstly, who is this program targeted at? What in your mind is the most realistic measure of determining the beneficiaries of such a program that does not rely on a formula that is created by a statistician in a governmental organization?

Secondly, malnutrition isn’t all about having no access to food at all. A large component of it is not having enough “higher calorie” foods in your diet — dairy, meat, fruit and vegetables. What does this bill do to solve that? What percentage of people face acute hunger and what percentage face calorific malnutrition?

Thirdly, Indian public distribution systems are notoriously leaky. What will this bill do to overhaul those? The Indian state of Chattisgarh has done well to address these issues, but why does this bill not mention how that model can be applicable across the country? What about overhauling the various issues that have been seen with the introduction of the Aadhar cards?

Fourthly, the question of being able to afford such a scheme is a minor one. The program costs about ₹1.44 trillion (~$22 billion) to implement. India’s GDP hovers around $1.8 trillion. The cost of this is barely 1.2% of total GDP — very comparable to India’s $23 billion in fuel subsidies. Moreover, the bill itself is doing little more than forging a banner under which schemes from previous governments as well as state government schemes are tied together. This means that states are already funding a significant chunk of the total money — the state needs to only fund the delta that this government has introduced.

Fifth — the introduction of this bill is not going to affect the short term rupee decline. Longer term, without the right fiscal policies, this may be an issue especially if the current account deficit remains as high as 6.7%, when it should be around 2.5%. But given this bill doesn’t tax the existing outflow of funds, short term repercussions seem ridiculous to debate about.Given the kind of things the new RBI governor, good looks aside, seems to be doing — it’s entirely conceivable that things will take a turn for the better.

Which brings me to my final point. The Indian media more so than ever has become absolutely sensationalistic — there are hardly any reports that seem well thought out and have the backing of solid facts. Most articles out there on the food security bill have either been instances of cuddling up to the ruling government, or to the main opposition party. While there are a few glimmers of journalistic integrity out there, these instances are so few as to be virtually ignorable — thus creating for the first time in modern post-independence Indian history a populace that is influenced by a fourth estate which is under the thumbs of a political and business elite.

And that does not bode well at all.

Design on the web

One of the most interesting side effects of writing (or trying to write) more regularly is that I’ve become acutely aware of the shortcomings of every editor I use. Is it really too much to ask for a browser based editor which allows me to focus on the act of translating thoughts to words, without bogging me down with random trivialities? An interface which doesn’t get in the way of composing a post, has good typography built in as opposed to being tacked on as an afterthought, and perhaps offers a simple auto-save function?

Surely not. Why then is this such a hard ask, and why has no one done it before?

Simple design is definitely hard to do. Taking a complex workflow and reducing it to something that feels intuitive is challenging for even the best designers out there. This is especially true in the world of physical products, where the best designed products are those which accomplish their function in a manner that is never questioned by their consumers — the iPod, the Vespa or the Leica blend their form and function in a way that is admired universally. The key point these products make is that the thought process behind their design isn’t about what they look like — it’s about how it works. And I think that’s a very powerful idea to keep in mind when designing anything.

Sadly though, this is not true on the web today.

One of the greatest inventions in human history is for the most part really ugly and confusing to use. Most websites try to maximize profits by stuffing their already badly designed pages with ads, further compounding the problem. Clearly, the consumer’s interests aren’t paramount — its the shareholders that matter.But even without the ubiquitous advertising, there hasn’t been much change in design and typography on the web since it was first started in the early 90s. The same firms that spend millions on formatting newsprint and making it look beautiful regard their websites as second class citizens from the looks of it. And there lies the problem.

Contrary to the ideas of physical product design that have been propagated far and wide by designers and design schools, design on the web is tacked on as an afterthought as opposed to it being an important factor during the content creation process. Rather than burden the user with a plethora of (mostly unnecessary) options, design things that do not get in the way of someone achieving what they set out to do. If you run a blogging platform, help your bloggers commit their ideas as quickly as possible into beautiful looking posts. If you run a news website, the fact that you’re viewing the content on a screen should be the only difference from reading uncluttered, beautiful fonts laid out in a manner that makes it easy on the eyes.

Which is not to say that all is lost of course. Examples of excellent design on the web, while far and few, do exist — there are now many websites that boast of amazing typography. As more and more people get exposed to them, other mainstream sites will have no option but to follow this trend or be left out in the cold.This also means that people who have traditional backgrounds in design and typography are going to be much valued in the technology jobs market. And for those that don’t but are interested in it — what are you waiting for?

Modern solitude

Being alone without being lonely is an art – something that everyone strives to learn when they realize how important it is to do well. To figure out how not to get encumbered by the expectations of a society that seems to look down upon people who like to be by themselves for a period of time. They are labelled introverts, and their lives are just assumed to be drab and depressing. An especially telling example of this is a large number of parents forcing a naturally reserved child to “go out and play” lest they become shunned by all their peers.

It is historically well established that the best artists and thinkers have produced some of their finest work in seclusion, free of outside influences crippling the creative thought process. As Tesla once said,

“Be alone, that is the secret of invention; be alone, that is when ideas are born.”

And it wasn’t just a scientific thinker who approached things this way. Rilke, one of my favorite poets, had this to say on the subject,

“Therefore, dear Sir, love your solitude and try to sing out with the pain it causes you. For those who are near you are far away… and this shows that the space around you is beginning to grow vast.

Be happy about your growth, in which of course you can’t take anyone with you, and be gentle with those who stay behind; be confident and calm in front of them and don’t torment them with your doubts and don’t frighten them with your faith or joy, which they wouldn’t be able to comprehend.”

More recently, after hearing various different people bring up a similar point in passing, I’ve tried to fashion some time out of my day to spend quietly reflecting on whatever it is that comes to mind, without a fixed agenda. The way I generally do this is to grab a book and find a comfortable spot to sit in, and as I start to read, be receptive to the thoughts that spring up as a result. Sometimes, I tend to do this while simply listening to some Pink Floyd on my earphones and staring into space. In my head, disconnecting myself from what’s happening around me and focussing on a particular stream of content – be it music or words – will help me stay on track and not get distracted by something else. Or atleast that’s what I thought till a few days ago, when I was hit by a question.

While I may think I’m spending time alone with my thoughts, creating a fertile ground for my imagination to run free and dream up ideas for my next startup or essay, is it possible that the primary content I’m ingesting is actually preventing original thoughts from bubbling up? Would I be better off sitting in a park without any external distractions and immersing myself in the world around me, like people have been doing forever? There is much to be said for random events that can lead to interesting connections between seemingly unrelated thoughts that come from observing people and things around us.

I think that is what both Tesla and Rilke were going for when they commented on solitude. Most people today (including me) are averse to the idea of sitting at one place doing “nothing”. We try to hyper optimize our time doing as much as we can fit in a timespan, be it work or otherwise and rely on external crutches like music or books when we want to “be by ourselves”.

Perhaps it’s time I gave doing nothing a chance. Forcing myself to disconnect from everything and go off on a long walk to someplace quiet might very well be the best thing that happens to me that day. And I’d highly recommend others try it too.

Facebook is making us dumber.

A few years ago when it first started as an invite only service, Facebook had all the allure of any place where all the early adopters and “cool kids” hung out. Cutting edge, social, and a place to connect with your classmates, it was definitely something to check once every day, if not more. Over the years however, it transformed into a place where your entire universe of friends and acquaintances would give you updates on what was interesting and important in their lives, and through likes and comments, your feedback on their activities would leave you (perhaps) with a warm and fuzzy feeling of being “in the loop”. Connected. Social.

The Facebook status update, just like a tweet, is a very interesting beast. It offers you the ability to convey a thought very quickly and have it broadcast to people in your network with minimal effort. And that is indeed a powerful thing to have. But what it doesn’t offer is for you to pause and consider the implications of that thought, and whether it may deserve more cycles before it’s shot out into the ether for everyone to consume. More importantly, just like there is research that shows people read long form articles better on paper, and that our collective attention spans are decreasing with the multitudes of sensory inputs vying for our attention, I think more and more people are losing the ability to craft their thoughts and ideas into writing because the idea of simply updating a one line status is tempting, and it “offers you time to do other things” right after. We’re trying to optimize our time to do as much as possible in a limited amount of time.

Two days ago, I was reading about the recent death of Doug Engelbart – one of my heroes for having basically invented computing as we know it today. He was most famous as being the inventor of the mouse, but back in the 1960s, he gave to the world what is popularly termed “the mother of all demos” – a presentation which illustrated not just the mouse, but actual implementations of now-common technologies like networked computers, the web, hyperlinks and information retrieval systems controlled with graphical user interfaces. (It was his work that enabled the US Department of Defence to fund the ARPANet, a precursor to what has today become the internet). This set him far apart from all the pure visionaries who might have the ability to predict the future, but may not actually done anything about it.

My first instinct on reading this was to get on to Facebook and update my status with a simple “RIP Doug Engelbart – you’ll be missed” or something on those lines. A simple acknowledgement of my respect and admiration for a man whose work will continue to inspire generations. And in thinking about this, I was hit by a very fundamental realization.

All that I had thought about, and wanted to say about his impact on the technology industry, as well as who I am today, was completely lost with this one “token” action.

It might be seen by a few people in their feeds, and someone outside of the technology world might wonder who Doug was, and why I chose to mention him in an update. There might’ve been a few likes, and perhaps even a few comments. But is that really the kind of interaction I would want from my friends on something that I care about? Predominantly superficial, and quick? Facebook (and most web technology in general) has made our interactions limited, where a single like or comment proxies for an actual conversation over phone or email. Where the short term pleasure of taking this action makes one mistakenly believe that they’re in “touch” with whoever it was they connected with.

I believe that people tend to evolve and learn by reading what others write, talking to them on a wide variety of subjects and by putting down their thoughts in writing, to channel and focus them in a longer form. It requires discipline to do so consistently and with some frequency, but the gains are much much more valuable. But given a choice between the ease of updating their status on Facebook, and that of reserving a not-insignificant chunk of time to pen their thoughts on the topic – most people would pick the former. And further erode their ability to think deeply and write. Might it not be true then, to consider that as more and more people use these services, our collective intelligence is bound to go down? I realize the same has been said for every new medium that has been available to mankind to communicate – telegrams vs letters, email vs letters, SMS vs email, and now status updates vs email.

I came across a very interesting article in the Guardian a few weeks ago that talked about the “intelligence” level of the US State of the Union speech, historically given by the president to both houses. They track each speech across the last 150 years through the Flesch-Kincaid score, which quantifies the linguistic standard of a given piece of text. The results are quite interesting!

Of course, one could argue that Facebook enables you to share what you’ve written with people who would read it – and thats a fair point. After recently resurrecting this site, I’m still not sure how best to get an audience that is both interested in reading what I write, and is engaged enough to start a discussion around it. But I’m sure there’s a way.

So in order to test out some of my thoughts, I’ve decided to take a hiatus from Facebook for two weeks by deactivating (not deleting) my account. I’ve always been a voracious consumer of social media, and I definitely feel the symptoms of withdrawal. I hadn’t realized how much of my time goes away in scouring Facebook feeds without even realizing that I was doing so – in the last 2-3 days alone, I’ve realized that my finger has been hovering on the Facebook icon on my phone on every occasion that I have had some down time – and every single time, I’ve taken a conscious decision to refrain from doing so and focusing on things outside of the internet or my phone. Going even further, for the next 4 days, I’ve switched off all but one email account from my phone, and disengaged myself from various messaging service alerts. I plan to focus on things that are important to me, such as communicating with people I haven’t had a chance to do so with for a while, get back into writing my thoughts out, and join some communities that will encourage me to do so with some frequency.

And I’ll write about how it works out!

Goodbye Drupal, Hello WordPress

The summer of 1994 holds a special significance for me – it marked my first access to both a “multimedia” computer, and more importantly, the internet. One of the first things my Dad showed me was to use a terminal emulator called Procomm to connect through a dial up connection and access the catalogue at the Library of Congress in Washington DC. It’s probably fair to say that I was hooked. That event started a series of firsts on the internet, including setting up websites on Geocities, then on Angelfire, creating my first ever email address on Yahoo, and as I grew older, a deepening interest in programming. I still remember printing out the Javascript specification from the days of Netscape 3.0 and creating “Dynamic HTML” websites!

One of the first open source projects I ever started hacking on was the Drupal content management system. Written in PHP and with a very active community online, it was the perfect to feel my way around open source development and management practices, as well as get something useful out of it – I wrote quite a few plugins that way, and spent hours developing prototypes of, focusing on themes and other snazzy functionality that I’d always wanted – tag clouds, bookmarks integration, recently “read”, et al. Looking back on those times, I’m really intrigued by how my perspective on blogging prioritized having a website that impressed people, as opposed to the impact coming from the content it hosted. I dare say a few years through life have cleared some of those misconceptions.

It is thus with a twinge of nostalgia that I write this post on a brand new platform that now powers this site. Drupal is out and WordPress is in. The last update to this site was in 2007 or 2008, where I installed the then current version of Drupal on it. Over the years, the community has released newer versions that offer excellent new functionality and better themes, but somehow my main issue has been the amount of effort it takes to keep the site up and running. Installing updates to core has been a fairly manual process, as have updates to themes and plugins. It seemed that most of my time was going away in maintaining the site and its customizations rather than on writing content.

When I looked around for alternatives, WordPress seemed the clear winner on many counts, but the most important one was its purely UI driven update and plugin/theme install process. And that was such a win in my head that after considering a migration for a long time (almost a year), I finally bit the bullet and completed it yesterday. And I must say, I’ve been pretty happy with the results.

My main issue was still with the set of themes available out there – since I’m in no position to spend upwards of $40 on themes, and what I really wanted was one that offered a clean layout with focus on the content (hello!), I decided to hack one up on my own. The results are what you see here today. If I can, I’ll try to release this theme on github after polishing a number of things out.

I’ll definitely miss Drupal as a CMS going forward – there were a number of great things about it that I haven’t yet discovered on WordPress, and knowing its code inside-out had its advantages. But I figured I’d give this a shot and see how it turns out. If you have any feedback on the design or other aspects of the site, do leave a comment!

Setting up Emacs, Ensime, SBT for Scala code

Ensime is an amazing plugin for developing Scala code in Emacs – it is very similar to the way Slime for lisp works, and works on the same swank RPC system that slime uses. It stands for “ENhanced Scala Interaction Mode for Emacs”, and provides many features that are commonly found only in IDEs, such as live error-checking, symbol inspection, package/type browsing, and basic refactoring. It’s pretty cool!

Here’s a series of steps that should get you on the path to nirvana programming scala with Emacs. Leave a comment if something doesn’t work for you! These steps are for OS X.

Install Scala

The best way to install scala is to follow the instructions here : Download Scala

Install SBT

SBT is the scala build tool – an excellent tool that integrates very well with a bunch of other tools. On OS X, the best way to install SBT is to use either MacPorts or HomeBrew. A simple,

sudo port install sbt

Install the scala-mode for emacs

The best editing mode for Scala is scala-mode2 for emacs. To install, add the following to your init.el script and evaluate the buffer using C-x C-e

(require 'package)
(add-to-list 'package-archives
'("melpa" . "") t)
(unless (package-installed-p 'scala-mode2)
(package-refresh-contents) (package-install 'scala-mode2))

Install Ensime

Download the latest version of Ensime from here.

Once this is unpacked into a directory of your choice, add the following into an emacs buffer and evaluate.

;; load the ensime lisp code...
(add-to-list 'load-path "ENSIME_ROOT/elisp/")
(require 'ensime)

;; This step causes the ensime-mode to be started whenever
;; scala-mode is started for a buffer. You may have to customize this step
;; if you're not using the standard scala mode.
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)

At this point, ensime is installed.

Install the ensime-sbt plugin

Download from here. To add an sbt plugin, the best place to do so is your home directory. Add the following snippet to your plugins.sbt file in /Users//.sbt/plugins/plugin.sbt,

addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "VERSION")

(Replace VERSION with 0.1.1 or the current version)

Alright – at this point, we have ensime, emacs and sbt integration set up.

So how do we actually use this?

Create a new Scala project

Lets start a brand new project to use these resources. Create a directory called ~/myproject and add the following folder structure,
├── project
├── src
│   ├── main
│   └── test

Inside of main, create a file called Main.scala with some sample code,

package com.myproject

object Hello {
  def main(args : Array[String]) = {
    println("Hello World")

Now, run sbt in the directory, and on the prompt, type

ensime generate

Next, open the Main.scala file in emacs.

Typing M-x ensime and press enter – this should start the ensime client within emacs.

You’re all set – use the ensime manual to see some sample commands.

Grep patterns for URLs in logs

For mostly my reference, and anyone else who’s googling for it,

cat /tmp/my-log-file.txt | grep --only-matching --perl-regexp "http(s?):\/\/[^ \"\(\)\<\>]*" | awk '{print $1}'

The future of diagnostics

I was just thinking about this the other day!

anofi-Aventis just unveiled the iBGStar: a stand alone blood glucose monitor that can plug directly into your iPhone and iPod Touch. The device, which builds upon the existing diabetes-tracking technology WaveSense allow diabetics to test their blood sugar levels on the go, record notes, and send information to their healthcare providers via a free iPhone App.


This is fantastic!

On the technical prowess of drug cartels in Mexico

I came across an excellent article in the New York Times today that goes in detail into the inner workings of drug cartels in Mexico – specifically that of the Sinaloa Cartel. This has been a rather hot topic of discussion in the US – the largest consumer of illegal drugs in the world, given its repercussions on the internal law and order situation in Mexico and its subsequent effects on the US. In fact, in recent years, successive Mexican presidents have made the abolishing of these cartels part of their election agendas, although it remains to be seen how effective they will be.

In any case, one particular passage caught my eye. This speaks of El Chapo’s (Joaquín Guzmán, the CEO of the Sinaloa Cartel) cartel and its level of sophistication when it comes to innovative means of transporting drugs between two points on the globe,

At first, Chapo’s organization controlled a single smuggling route, through western Mexico into Arizona. But by 1990, it was moving three tons of cocaine each month over the border, and from there, to Los Angeles. The Sinaloa has always distinguished itself by the eclectic means it uses to transport drugs. Working with Colombian suppliers, cartel operatives moved cocaine into Mexico in small private aircraft and in baggage smuggled on commercial flights and eventually on their own 747s, which they could load with as much as 13 tons of cocaine. They used container ships and fishing vessels and go-fast boats and submarines — crude semi-submersibles at first, then fully submersible subs, conceived by engineers and constructed under the canopy of the Amazon, then floated downriver in pieces and assembled at the coastline. These vessels can cost more than a million dollars, but to the smugglers, they are effectively disposable. In the event of an interception by the Coast Guard, someone onboard pulls a lever that floods the interior so that the evidence sinks; only the crew is left bobbing in the water, waiting to be picked up by the authorities.

My perspective of these cartels used to be one shaped by having seen hollywood movies set in South America, and from a book that chronicled Pablo Escobar’s life. Well, that got shaken up today.

With revenues rivaling Facebook or Netflix, a logistics network on the scale of Amazon or UPS, and technical sophistication in manufacturing submersible craft that rivals a small country’s – I wonder whether it will ever be possible for unorganized politicians under the duress of election agendas, lobbying and caucuses to ever effectively address this growing menace?

Judy trees

The Achilles heel of a simple digital tree is very poor memory utilization, especially when the N in N-ary (the degree or fanout of each branch) increases.

Enter the Judy Tree.

The Judy tree design was able to solve this problem. In fact a Judy tree is more memory-efficient than almost any other competitive structure (including a simple linked list). A highly populated linear array[] is the notable exception. Looking forward to implementing it!

Via :