On public policy

Public policy is often under the control of politicians, rather than informed, educated individuals qualified to make relevant decisions. It can be disastrous in a democracy. Democracy is thought of as rule of the people, for the people and by the people, whereas in practice it is much simpler. Democracy is the rule by whoever has the best propaganda. (This gem stolen from a web fiction, TGAB)

I do not wish to belittle the efforts of people working in this space, politicians or otherwise. However, the numerous inherent difficulties in crafting good policies are far from obvious.

I recently heard of an instance which would have been amusing if it wasn’t heart breaking.

Maternal mortality rate and child mortality rate in India are still high relative to global standards. Ensuring wellbeing of mothers during pregnancy can counter this. Cue well intentioned government schemes in my state: Supplements for pregnant women, periodic checkups, a milk bottle and Rs. 5000 to mothers on delivery.

Anecdotally, this resulted in a net increase of mortaliy rates, and the public healthcare system is being blamed. Apparently, people saw this as a good opportunity to earn an extra 5000 bucks, and rates of teen pregnancy increased, increasing the number of possible complications. And by teen I mean more 13 than 19.

I do not have hard numbers to back this, but it falls within the realm of possibility. Not setting a minimum age for the mother to avail monetary benefit, in regions with known issues in child marriages and teen pregnancies in rural and tribal areas is a gross oversight. I may be wrong, but I attribute this to lack of input from qualified people.

Public policy is hard. A lot of very smart friends of mine have expressed interest in studying and taking up careers in public policy. I wish them the best.


Firefox 57 is not my Firefox

Just a note to add to the multitude of ignored voices floating about the web. I also had to vent out my frustration.

This is a screenshot of my Firefox addons page as it appears today. Everything marked Legacy will be unusable in Firefox 57 and above.


I can compromise on some but a few of these are essential. Keepass Helper, Private Tab, Tab Group, Session Manager and uMatrix are the reason I use Firefox. I had to give up Pentadactyl and the wounds are still fresh.

Those familiar with my workflows or who have been around me when I’m using my machine will understand why. I constantly have between 50-500 tabs open, some of them for months, organised into contexts via tab groups and trees using tree style tab. I’m aware of the counter arguments to having so many tabs open. But this works for me, and this works well. I don’t use a high end machine either. It is a 7 year old HP Pavilion g6 with 4G RAM, Intel i5 processor, no SSD, missing hinge caps, and a keyboard that is beginning to act crazy. On my best days Firefox takes about 500 MB RAM, and I’ve never seen it use more than 1.5 – 2 GB RAM. As I write this FF has 119 tabs open in 9 groups, takes 1137 MB out of total 1.5G usage on my machine.

I jump between thoughts often and my setup allows me to switch effortlessly. When you do something a hundred times a day, one extra step or a few hundred milliseconds of perceivable delay adds up – no, compounds – to a lot of frustration.

I probably fall into Firefox Power Users category. I use just three graphical applications most of the time. Termite (my terminal emulator), KeepassXC (my password manager) and Firefox (my browser, pdf viewer, occasional audio/video player, and almost-always-on audio link to my colleague – uses WebRTC). It is a rare day when I need anything else. Out of these three, Firefox and Termite easily compete for the top spot in terms of time spent.

Despite typing with just two fingers (I never learnt how to type), never using gestures and rarely using my touchpad, I work efficiently thanks to my established tools and workflows. Having to let go of pentadactyl meant I had to give up on some of my efficiency, and some other things were flat out impossible (or atleast very hard or inconvenient) to accomplish. Breaking my FF workflows cripples me in a very real way.

My friends have known me as a Firefox advocate, a very passionate and convincing one, and have almost always been impressed at my Firefox usage. I’m afraid that won’t remain the same going forward. I have a hard choice to make:

  • Stop at Firefox 56 and remain vulnerable to any future security issues, miss out on future enhancements, etc or
  • Work with a crippled Firefox, which won’t really be Firefox to me. At this point I might as well use chromium or chrome.
  • Or give up on “modern” web, its 20 MB pages for 200 word articles, ubiquitous trackers, slow-as-a-snail-running-reverse-on-a-travelator web applications and stick to lynx or setup something similar to what Richard Stallman does.
  • Or, fork Firefox and try to salvage whatever I can from updates, without losing out on what I need. This is not possible given my current time constraints and lack of experience with the codebase.

I choose to stop upgrading FF and deal with whatever that entails. Firefox 57 is not the Firefox I loved, and won’t be the one I use.

I don’t like the “modernisation” drive. Regardless of motivations, the execution is terrible. I’ll just use this post to collect a few relevant links:

It never takes 5 minutes

Often I get requests from people for assistance. Colleagues, friends, acquaintances, past clients, and everyone else. Some of these requests are special. They sound very simple. And even if they aren’t simple for someone else, the asker makes it look like a simple task for me. Oftentimes, they are. The request is usually accompanied by “It only takes you a few minutes”.

Let me get this straight. It never takes 5 minutes. Even something as simple as edit this file to add a fullstop at the end. For a text file I’ll just echo . >> file and it takes a few seconds maybe. But it involves context switching from what I’ve been doing, and back, which can be very expensive.

I quite haven’t figured out how my memory works. A few things, I remember well and can recollect and reference with ease, but more often than not, my memory is very unreliable. My short term working memory is, I suspect, worse than average for daily tasks.

All in all, the obviously-less-than-5-minute task ends up taking about half an hour on average. And it only worsens when I have multiple tasks waiting, many of which “should” take just 5 minutes.

When I don’t do your 5-minute work, it’s very likely due to one of the following:

  • There are more 5-minute tasks pending, and this will have to wait for its turn.
  • There’s a longer task that I can not afford to interrupt.
  • There is more important work. It can include entertainment. If I take just a one hour break a day, that break will most likely be more important to me and my sanity than anything you may need.

If it isn’t covered by the above, I may not be interested. Just because I can do something doesn’t mean I like to do it or I will. Nothing personal, though. When someone receives a lot of requests they have to draw a line somewhere or risk compromising productivity, rest, health, sanity and/or worse.

If you need something done fast, bump it up my priority list. If I owe you one, your requests get bumped up. If you pay me, your requests get bumped above non-paying ones, or ones that pay less. Unless there were promises made. If doing it now saves me more effort later, and I see that clearly, and I’m being rational, I’ll bump that up. If it requires a compromise to my existing obligations, rest, or causes stress, and I’m being rational, it will be pushed down. For those who think they perform better under stress, I have this desk under a hanging sword. Be my guest.

Until recently, I had a bad habit of quoting time estimates assuming I do the task and nothing else, without interruptions. It resulted in some quite ridiculous estimates of a few hours where others have quoted a few months. And at times, it resulted in me being in some very uncomfortable situations, where I take weeks for the few hours’ work.

Turns out ten tasks each taking an hour can not be completed in an hour. Or ten hours, for that matter. Depending on the task, my efficiency varies wildly. There will be interruptions. My physical and mental health may just go for a ride, all of a sudden. All pending tasks don’t come to mind when planning for one. Daily chores like eating and shitting also take time. I may get a call from someone after long, and the call can take long. Something may get stuck in my head and take time to get off. Often, I get nerd sniped by a good article, issue, or whatever and go off on a tangent.  Yada yada yada..

Though this was known to me since long, it’s only recently I’ve begun taking care to consider this when planning my work. Accumulated work shoots my productivity through the floor. I guess there’s a positive feedback loop, and I have to work against it. For a lot of things in life, actually. More on that later.

So you think you can’t draw?

I just saw the video here:

I am not an artist. Anything but. My general opinion was that my “art” can make a good torture weapon. And while watching the above video, came up with this:

Not great, but definitely better than anything I’ve tried before. Great, in my opinion, for a first attempt of five minutes in all.

The message towards the end struck a chord. What else am I too afraid to try?

Relevant tweet I came across this morning:

A poem from reddit

When reading comments from AskReddit post What “Truth” are people not ready to face?,  I found this poem.

Whatever space or place you be –
Whatever life you’ve known –
What’s true for you is not for me:
To each, my friend, their own.

No matter wisdom, age, or youth,
Or how you choose to test –
You’ll never really find the truth.

Except that mine’s the best. [ source ]

Although we each have thoughts and views,
On matters known by all;
Your battered claims do seem to lose,
And clatter as they fall.

Your mind and method’s all askew,
We’ve known this all along.
I’d love to think akin to you,
But then we’d both be wrong. [ source ]

Perhaps it’s best to call a truce
In times so tense and taut,
When words fly forth, all fast and loose,
But don’t say what they “ought.”

Thoughts will leap and jump and freeze,
And catch in open air.
Although some speak and aim to please –
Most want their views laid bare. [ source ]

You’re free to wave your flag of white,
And bend to what I’ve said.
Just end your doubt and say I’m right,
And lend me your sweet head.

If I would wound I’d use a knife,
For words, have no complaint.
Don’t seek the silent end to strife:
The weak man wants restraint. [ source ]

I sense, my friend, you’ve seen it fit
To skirt around the topic.
Bellig’rent chomping at the bit
Has made your speech myopic.

Indeed, our words can breed disdain
And serve as life’s cruel sword.
But those same phrases, when contained,
Can be a peace accord. [ source ]

But men of you and I, alike,
Shant use their sword for peace.
War and fighting, talent not take,
Throw one stone, I must, at least.

Words, they are but fickle things
With power, only true.
To tatter every nation’s flag,
Harmony, words do eschew. [ source ]

He speaks of flags, you speak of chomps;
Is this the fruit of labors lost?
For all your circumstance and pomp,
You’ve merely served to self accost.

I won’t buy in: you’re not so trite
As that which you pretend to be,
And nor is she. (Or is it he?)
Regardless, I am right. [ source ]

On magic numbers, and tripping in the dark.

I have a habit of showing off. To anyone who has been around me for a while, this shouldn’t be a surprise. So when I tweaked and tuned my mobile to my usage patterns, people asked about it when they noticed crazy things and I gave many a short tour.

To any experienced android enthusiast, my customizations would be elementary. Rooted stock android on a Moto G 1st gen, Xposed, plus a bunch of nice Xposed mods ( special mention to Gravitybox ) , Greenify (Donation pack with extra goodies like patched GCM) , Nova Launcher (Prime) , Tasker, carefully selected themes and apps all make it look and behave very different from stock android. Giving up my warranty on day 1 was totally worth it. I spent few weeks making my mobile a very personal device.

One particular feature I love showing off is a simple gravitybox tweak, timed torch bound to volume down long press. There’s a dark unlit path I use regularly, which takes approximately 120 seconds for me to cross, and the torch is set to switch off 120 seconds after activation. Practically everyone found it cool. But there was one person who said it is stupid. There’s a CS professor who also happens to be a good programmer ( No, one does not imply the other. ) who said I should instead use ambient light sensors or GPS to detect when I crossed that patch and then switch off the torch. He says he is forced to use magic numbers in server monitoring scripts but that is sub optimal. He was concerned I would trip in the dark if I walk slowly and the light goes off sooner. I had to explain my device had a shitty ambient light sensor and the GPS resolution is often not very fine and takes time, so I will probably achieve similar results with added battery drain.

Today, the light went off when I was in the middle of the path. It has been doing that consistently for the past few days, probably because I walk slower these days. Time to tweak the timeout, and to consider the ambient light sensors more seriously. Unfortunately, I won’t be able to cook up an app anytime soon, since there are more important tasks that keep me busy. Another idea added to my ever growing list of nice-to-have-awesome-features-that-not-many-need.

You can haz time?

To anyone reading this who has the time and likes me enough to invest their time for me, please cook up an xposed mod or a tasker plugin and I’ll take you out for lunch/dinner. It should take a couple of days at most, but beware, I’ve a reputation for underestimating time lines. Following my rule of thumb and multiplying initial gut feeling by 3-5, 6-10 days is a pretty safe bet.

Twenty Questions, and more

Have you heard of the game Twenty Questions? I played it today with a bunch of faculty and students over dinner, thanks to Student Teacher Interaction Council (STIC). STIC organized a dinner today and I popped in for a while.

We were a group of about 20 and played two rounds. Prof. Turbo Majumder was the answerer for the first round and I volunteered for the second. And I have chosen Paul Graham of Hacker News and Y combinator fame. It turned out many people at the table were not aware of him.

Had I never encountered a reference to YC,HN or him anywhere, I would have missed a lot. That made me think, how many people whose ideas or works I am/would be interested in am I missing?

Many things I had studied a couple of years ago when they were state of art are considered mediocre today, things are constantly changing at a faster pace than I can assimilate them. Sherlock Holmes wouldn’t have been able to become as famous as the books depict, or I doubt even survive decently in today’s world. As we automate most things, the jobs that will be available will end up demanding increasingly better skill set, the barrier to employment is raising steadily.

Will we reach a point where we have automated everything and the tasks that are not yet automated require skill that an average person can not acquire in their lifetime? What would happen to the average populace then? Will it happen in my lifetime? The thought is both scary and exciting.

I know not if it will happen in my lifetime, but I know one thing. I do not want to be an average person if and when that happens.

If you are planning to start your own startup, go read his essays on startups. If you are interested in programming and can code in atleast one language, read about lisp and then his essays on lisp. I follow HN, Reddit & Twitter, and recommend you do too.