Anxiety and computer viruses

I think, and hope, that I’ve been cured of anxiety, which I was probably suffering from for over six years. It was a case of Murphy’s Law taken to its extreme. If anything can go wrong, it will, states the law, and in those six or seven years, I would subconsciously search for things that could possibly go wrong, and then worry about them. And worry about them so much that I would get paranoid.

Let me give you an example. Back in 2008, after a four-month spell of unemployment, I had signed up with a startup. Two days after I signed, which was three weeks before I was going to start work, I started worrying about the health of the startup founder, and what would happen to my career in case he happened to croak between then and my joining the company! It had been a major effort on my part to try and get back to finance, and that job was extremely important to me from a career signaling standpoint (it played a major role in my joining Goldman Sachs, subsequently, I think). So I started getting worried that if for some reason the founder died before I joined, that signaling wouldn’t happen! I worried about it for three days and broke my head about it, until sanity reigned.

This wasn’t a one-off. I would take ages to reply to emails because I would be paranoid that I had said something inappropriate. When I landed in Venice on vacation last year, my office blackberry didn’t get connected for an hour or so, and I thought that was because they had fired me while I was on vacation. It would be similar when I would look at my blackberry first thing in the morning after I woke up, and found no mails. I needed no real reason to worry about something. It was crazy.

When a virus attacks your computer, one of the ways in which it slows down the computer is by running “background processes”. These processes run in the background, independent of what you intend to do, but nevertheless take up so much of your computing power that it becomes extremely hard to function. Anxiety works pretty much the same way. Because there is always so much going on in your mind (most of it unintended, of course), a lot of your brain’s “computing power” is taken up in processing those unwanted thoughts (the brain, unfortunately, has no way of figuring out that those thoughts are unintended). And that leaves you with so much lesser mindspace to do what you want to do.

So you stop functioning. You stop being able to do as much as you were able to. Initially you don’t recognize this, until you bite of more than you could possibly chew a number of times in succession. And then, having failed to deliver on so many occasions, you lose confidence. And lesser confidence means more worry. Which means more background process. And means diminished mental ability. Things can spiral out of hand way too quickly.

I’ve been on anxiety medication for over seven months now, and the only times when I realize how bad things were are when I happen to miss a dose or two, and there is relapse. And having been through it, trust me, it is quite bad.

On the positive side, the impact a well-guided medication process (administered by an expert psychiatrist) can have on anxiety is also tremendous. For the six years I suffered, I had no clue that I was under a cloud of a clinically treatable condition. I didn’t know that it was only a virus that had attacked my CPU, which could be got rid off with sustained dosage of anti-virus, and I had instead thought my CPU itself was slowing down, maybe rusting (at the ripe old age of late twenties). After I started responding to my medication, I was delirious with happiness, with the realization that I hadn’t become dumb, after all.

It was sometime in March or April, I think, when I realized that my medication had come into effect, thus freeing up so much mind space, and I started feeling smart again. When I met the psychiatrist next, I told her, “I feel exactly the way I felt back in 2005 once again!”.

Why You Should Not Do An Undergrad in Computer Science at IIT Madras

I did my undergrad in Computer Science and Engineering at IIT Madras. My parents wanted me to study Electrical Engineering, but I had liked programming back in school, and my JEE rank “normally” “implied” Computer Science and Engineering. So I just went with the flow and joined the course. In the short term, I liked some subjects, so I was happy with my decision. Moreover there was a certain aura associated with CS students back in IITM, and I was happy to be a part of it. In the medium term too, the computer science degree did open doors to a few jobs, and I’m happy for that. And I still didn’t regret my decision.

Now, a full seven years after I graduated with my Bachelors, I’m not so sure. I think I should’ve gone for a “lighter” course, but then no one told me. So the thing with a B.Tech. in Computer Science and Engineering at IIT Madras is that it is extremely assignment incentive. Computer Science is that kind of a subject, there is very little you can learn in the classroom. The best way to learn stuff is by actually doing stuff, and “lab” is cheap (all you need is a bunch of computers) so most courses are filled with assignments. Probably from the fourth semester onwards, you spend most of your time doing assignments. Yes, you do end up getting good grades on an average, but you would’ve worked for it. And there’s no choice.

The thing with an Undergrad is that you are clueless. You have no clue what you’re interested in, what kind of a career you want to pursue, what excites you and the stuff. Yes, you have some information from school, from talking to seniors and stuff, but still it’s very difficult to KNOW when you are seventeen as to what you want to do in life. From this perspective, it is important for your to keep your options as open as they can be.

Unfortunately most universities in India don’t allow you to switch streams midway through your undergrad (most colleges are siloed into “arts” or “engineering” or “medicine” and the like). IIT Madras, in fact, is better in that respect since it allows you to choose a “minor” stream of study and courses in pure sciences and the humanities. But still, it is impossible for you to change your stream midway. So how do you signal to the market that you are actually interested in something else?

One way is by doing projects in areas that you think you are really interested in. Projects serve two purposes – first they allow you to do real work in the chosen field, and find out for yourself if it interests you. And if it does interest you, you have an automatic resume bullet point to pursue your career on that axis. Course-related projects are fine but since they’re forced, you have no way out, and they will be especially unpleasant if you happen to not like the course.

So why is CS@IITM a problem? Because it is so hectic, it doesn’t give you the time to pursue your other interests. It doesn’t offer you the kind of time that you need to study and take on projects in other subjects (yeah, it still offers you the 3 + 1 months of vacation per year, when you can do whatever you want, but then in the latter stages you’re so occupied with internships and course projects you’re better off having time during the term). So if you, like me, find out midway through the course that you would rather do something else, there is that much less time for you to explore around, study, and do projects in other subjects.

And there is no downside to joining a less hectic course. How hectic a course inherently is only sets a baseline. If you were to like the course, no one stops you from doing additional projects in the same subject. That way you get to do more of what you like, and get additional bullet points. All for the good, right?

After I graduated, IIT Madras reduced its credit requirement by one-twelfth. I don’t know how effective that has been in reducing the inherent workload of students but it’s a step in the right direction. Nevertheless, if you are going to get into college now, make sure you get into a less hectic course so that the cost of making a mistake in selection is not high.

Coding

Back when I was in school (11th/12th) I think I was an awesome coder. I think I was especially good at what they called as “logic coding”, i.e. coming up with algos. I used to experiment quite a bit (as much was possible with TurboC) and had a lot of fun too. I remember doing graphics in TurboC, making a “pong” game, brick breaker, and a lot of other cool stuff. For our 12th standard project, Hareesh and I built this totally awesome cricket scoring program, which we unfortunately didn’t take forward (and went to college instead).

It was my love for coding that meant I fought with my parents (who wanted me to study Electrical) and decided to study Computer Science at IIT Madras. And then I lost it. Somewhere along the way. I didn’t enjoy coding any more. Soon, I began to hate coding. I would love coding when I would write the odd program in “pure” C, or when I would participate in contests such as BITWise. But I’d completely lost it.

So over the last six to seven years (after I graduated from IIT) there have been occasions when I have thought I’ve regained my coding mojo, only to lose it again very soon. I’m still very proud of that Excel+VBA model that I had written in the very first week of my third job. But a couple of months later, I was hating coding again. And so it was while debugging a complicated piece of code at work this morning that I realize why I have this love-hate relationship with coding.

It’s simple – basically I hate coding for others. I hate writing code that others will read or use. I don’t mind writing code that others would use as a black box, of course. But I think writing code that others will read or use puts too many constraints on the way you code. My instinct is always to stop doing something when I’m personally satisfied with it, and with code it seems like I’m satisfied sooner than others would be satisfied with my code.

At a fundamental level, I like coding and I think I’m pretty good at it, so it isn’t something I want to give up. But then the formal processes and endless testing involved with writing code for others really kills joy (as does GUI, and Java). Code saves a lot of time, and helps “studdize” what might be otherwise fighter work, so I like doing it.

In an ideal world, I would be writing code that I would alone be using, AND profiting from it (I never intend to sell code; I intend to sell the results of the said code, however; that would mean no one else would read/use my code per se, so I can write it the way I want). Hopefully I’ll get there, sometime.

The Loot

So I executed the book binge yesterday. In two phases – first at the “main” Landmark at the Forum and then at the “other” Landmark at Swagath Garuda Mall. Technically the binge is incomplete since I still have another Rs.600 to spend but it’s unlikely I’ll be spending that off soon, so for all practical purposes we can take the binge to be complete.

While book-shopping yesterday I was thinking about the various Landmark stores I’ve been to, and how the Landmark at the Forum is the worst of them all, with the one at Spencer’s Plaza in Madras (which I last visited seven years back) coming second. The problem with these two stores is that they are in otherwise popular malls. What this does is that it attracts casual browsers to just check out the mall and makes the browsing experience more painful for the serious browsers.

On the other hand, the Landmark stores in Nungambakkam, Gurgaon (Grand Mall) and Garuda Swagath Mall are either standalone or situated in malls which are otherwise not too popular. And precisely for this reason, the crowd at these stores is significantly superior. You get your space to browse without being asked to make way for passerby, you can actually sit down going through a book and deciding whether to buy it. The store staff, who are much less hassled, are far more courteous and helpful. And if you happen to pick up a conversation with another browser, it is likely to be much better than at the more popular malls.

This presents an interesting problem for the bookshop-owners regarding location. Do they put the bookshop in a popular mall and thus maximize footfalls? Or do they locate their shops in lesser malls or on high streets hoping to attract better “quality” of footfalls which might actually result in better sales? Keeping the shop in a popular mall attracts more casual browsers and if book purchase is an impulse decision, then it is likely to pay off for the store (even there you need to keep in mind that crowded checkout counters can cause the casual browser to drop the book back in the shelf). On the other hand, if they think book buying is a more informed, laborious decision, then they should be locating themselves in places where they won’t get random crowd.

Of course I’m only talking about the browse-and-buy model here and not covering shops such as the erstwhile Premier Bookshop – which rely on customers who know exactly what they want and just ask for it. And of course, for a shop to locate itself in a slightly obscure location it needs to have the “pull” (of a brand name or something) in order to attract customers.

Coming to the loot:

  • The Naked Ape, Desmond Morris
  • The Great Railway Bazaar, Paul Theroux
  • The Emerging Mind, VS Ramachandran
  • The Flight of the Creative Class, Richard Florida
  • Panic, Michael Lewis
  • A Splendid Exchange (How Trade Shaped the World), Willian Bernstein
  • Gang Leader For A Day, Sudhir Venkatesh
  • The Bowler’s Holding the Batsman’s Willey (humorous sporting quotes collection), Geoff Tibballs
  • Musicophilia, Oliver Sachs
  • The Oxford Book of Modern Science Writing, Edited by Richard Dawkins
  • When Genius Failed (LTCM), Roger Lowenstein
  • Ramayana, a modern rendition, Ramesh Menon
  • The Rise and fall of the third chimpanzee, Jared Diamond
  • Bhairavi, the global impact of indian music, Peter Lavezzoli
  • The Real Price of Everything (collection of 6 economics classics – fundaes by adam smith, david ricardo, etc.), Edited by Michael Lewis
  • Predictably Irrational, Dan Ariely
  • The Universal History of Numbers (Part 1 and 2), George Ifrah (didn’t buy part 3 since it seemed full of CS fundaes)
  • A Maidan View, Mihir Bose
  • The States of Indian Cricket, Ramachandra Guha
  • The Bhagavad Gita, Royal Science of God-Realization, Paramahamsa Yogananda
  • Autobiography of a Yogi (Kannada translation), Paramahamsa Yogananda (mom and aunt asked for it)

People, thanks for your recommendations. And once I’m done reading these books, I might be open to lending them (provided I trust you to return them, of course).