Hostility online

Why are online environments more hostile than offline equivalents?

It’s easy to be mean if you know they can’t get back at you. That must be the crux of it.

An unknown target is better than someone around you to vent your pent up fury from everyday life. That avoids dealing with consequences.

This probably explains a good chunk. Not everyone takes pleasure in being mean. Atleast that’s what I like to believe. The world becomes a much darker place otherwise. That’s a bad argument but that’s all I got right now.



Everyday life can be dull and boring, and we all have our escape hatches. Pastimes. Vices.

Mine is reading.

The books I read and the speed at which I read them can probably be used as a litmus test for my mood. I’ve never tried, but it probably works.

Books can be used to procrastinate. Give me a task I don’t like doing, and I’ll probably read something or the other until forced to do otherwise.

There’s a thing called stress reading, similar to stress eating. I had multiple episodes where I read and finish a book every one or two days, when my mood wasn’t quite right. It seems to work, though the relief is temporary.

These days, it’s slow going. I haven’t finished a single book last year compared to some 40 in the year before that. I’ve discovered a few great web fictions, and eagerly wait for their updates.

Books can make me laugh and cry. There’s a web serial, the wandering inn, that I’m reading. Not a book in the traditional paper and ink sense but nevertheless.. It’s a story of a magical world with levels and classes, into which people from earth have been transported. The author has a knack for writing stories that connect. Many commenters there have strong preferences to character arcs, some claiming to have skipped about a hundred chapters in an arc until the character connected to the larger story arc. I don’t have such a strong preference. I enjoy every chapter, and wait for more every week.

I’ve discovered I do have preferences, am sensitive to the writing style, theme and quality. The banter in zombie knight saga is entertaining whereas dialogue put me off a couple of web fictions, whose names I don’t even remember.

Compared to a few of my friends who’ve read thousands of books, I’ve barely read a couple hundred. I used to attempt racing, but the experience wasn’t the same. Speed reading is a useful skill though. I can now read a news paper’s front page in under 2-3 minutes and retain enough short term to answer questions on it, sensibly. But when reading anything good, it’s the experience of reading that matters, not the speed.

This post is all over the place. Sorry about that. I’m about to complete the zen and art of motorcycle maintenance and will plunge into Godel, Escher and Bach. Neither are light readings, so I will try to read something else alongside these. Suggest anything good to read in comments or on good reads.

Writing everyday

Habit forming is hard. Over the course of many years, I tried and failed at it many times. Most of the time, it isn’t anything serious. But there were a few important habits I failed to form.

I was told that I write well, by many. I considered my skill with the quill better than average, barely. I wrote semi regularly when in college, always carried a few sheets with me. Of late, the frequency reduced, gradually, and then suddenly to zero.

One of the suggestions often given out to people interested in writing is to write something everyday, to focus on consistency and to not worry much about quality. I’ve tried implementing it in various ways at various times, but eventually there’s no time or I don’t feel like writing at the moment, it’s just a single day, won’t hurt to take a break, yada yada yada, and a week or two later the realization hits that the exercise failed.

This attempt, I’m trying something different. I’m writing digitally, on mobile. Trying to see if not having to find a spot, reach for pen and paper; being able to write on the go, in short bursts at short notice without much preparation or ceremony — trying to see if it all makes any difference.

I’m trying to write a post, every day.

Reading docmentation

Reading documentation is an art, and can be very enjoyable if it is well written.

As a software developer, one of my aims is to write documentation that people should want to read, while designing systems that work well without having to read the documentation. Seemingly opposite goals.

I have a habit of reading documentations. And when I say reading, I mean thoroughly.

One of my earliest memories with computers was me failing to jump between buildings in a spiderman game, giving up, and spending time reading windows help. I have read almost every single page in windows help for XP, back then.

It was the beginning of a habit. When I started programming in python, which was after entering college, I read python 2.7 documentation. Every single line from every single page. All the functions in all builtin modules, changelogs, what’s new, guides, the whole deal. It changed me. I would write programs very differently.

The habit persisted. Pretty much any technical document I read, I read it in entirety. A friend commented that I was incapable of skimming things. He did not imply it was necessarily a bad thing.

Among other documentations I’ve read are a few notable ones – Docker, Erlang, Bash, git. Did you know Bash can do tcp/udp communications by writing to special psuedo files, and : is a valid command, bash’s own noop, handy for commenting blocks of code?

Elasticsearch joins this list tomorrow. I’m close to completing a new set of docs – something larger than a hundred pages – after long. Feels good.

Embracing Firefox Quantum

Some time ago, I wrote that Firefox Quantum, starting from version 57 wouldn’t be my firefox. This is a followup. I still love the old firefox more, but gradually I’ve learnt to live with the new firefox.

It was a combination of necessity and laziness that led me to neve abandon FF completely. My switch to ESR was also not successful since muscle memory opened Firefox instead of Firefox ESR, and manually transferring hundreds of tabs isn’t feasible when sessions can’t safely be transferred. I have rarely had less than a hundred tabs open.

Today, I’ve given up on pentadactyl, Private tab, given up a few other legacy only extensions, and am still sour about the loss of tab groups, or panaroma as it was called.

Web extension ports of some addons are a little less powerful, but have settled into my workflow quite nicely. Tree style tab and umatrix are are available as web extensions and those are the two most important ones. TST requires some tweaks to firefox chrome css, but it was a one time thing, and otherwise gives similar UX to the legacy one.

The loss of session manager was not easily rectified. It looks like modern FF does not have any good options to manage sessions well, similar to the legacy session manager. Tile tabs web extension feels like a joke, but I wasn’t heavily reliant on it anyway, so discarded it. i3 provides great tiling workflow, with the only downside being having to open a new firefox instance and closing the tree style tab sidebar on the new window. Mildly inconvenient, but tiling multiple web pages is a rare use case for me.

Private tab was another huge loss. Simply opening private tabs and being able to track them as a part of the overall tab tree was very useful. I have stopped relying on private sessions these days. I just don’t open anything that would’ve gone into private tabs anymore. There are containers, a very interesting feature, but I’m not using them until I can view just a container — I want tab groups out of the containers.

Overall, FF Quantum has been good. No hangups or crashes since the switch, though they were rare to begin with. Fewer max CPU instances from firefox, but occasionally FF wants 100% CPU and won’t settle down unless it is reincarnated — kill and restart. My FF memory usage was very low to begin with, Quantum slightly increased it, but well within my expectations.

Quantum may win us over yet. Hoping for a Firefox that keeps improving.

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: