Often Software (with a capital 'S') is not built, it is grown. And a lot of green digits are involved, not always thumbs.
When I got an education which taught me how to build software, the process emphasized on sitting down in front of my computer, pushing my will upon a barely explicable machine which was built to resemble advanced technology on some days and complete magic on others.
In fact, when I think about it, every part of my computer science education was about imperative commands to a system which, if you give it adequate commands always throws up unsurprising results everytime (and all surprises were bugs). Everything I was taught about this fit that model, where when I had a "Software Management" class it was full of Gantt charts and PERT charts, going over how to schedule time for different engineers to work on the same project in parallel. The recommended reading was The Mythical Man Month and that was hilarious to read, at least. Mostly that class was taught as a way to have an engineer understand what a manager might have to do, not exactly explaining the operational realities.
This post is about the third time I realized I was ill-equipped to deal with the actual demands of being an engineer with the industry. Because none of what I describe works the way I've been taught - at least, when it comes to these skills I'm entirely self-taught.
The first time I figured out that this was all wrong was when I was bumped to a tech lead, one rung below turning full manager. Humans are pretty hard to instruct and they respond to imperative commands by being confused about the goals, slowing down till they understand it and planning around your well laid plans. This was the first time I figured out that breaking down a complex project into a set of sprint tasks, going over burn down charts and in general replacing motivation with process does not actually work for humans. Instead it sets up a bunch of perverse incentives which builds up technical debt and kicks the can on potential problems until one day they can pawn off that problem as "above my pay grade" to a special tiger team which drops in out of nowhere. People don't work like machines, but they do work - and they move much faster when they can take decisions that they can reverse on their own (turns out machines do that too, see SPECTRE).
The second time I figured out that the world where I'm employed doesn't look like my classes is when I started talking to customers. I wrote about my Zynga tenure that what I learned was to persuade people, not direct them. The interaction between a customer and a software engineer is one that is fraught with many traps which primarily rise from tossing bugs over with a blame thrower. Feature discussions are yet another scenario where being a "can do" person brings its own challenges. The crucial requirements for a customer are often expressed as potential solutions, where they ask for something very specific which worked for them in a different generation of tech or just ask for a feature which they read about in a press release by some competitor. Technology persuasion is a gentle process similar to managing reports, more art than science - which only works if you really listen, head back and build what approximates the need, instead of desire.
However, today I'm faced with a slightly different challenge - I'm overflowing out of my current role as a "Principal Engineer - II". That isn't a destination for an engineer as much as it is a reserved parking spot.
There's a slightly different track adjacent to it, which will use most of what I already know, but I'm contemplating what I have to give up to move over to a "Software Architect" in role, if not title. I find that title somewhat archaic, because it implies very strongly that software is designed by someone as a measured blueprint and then put together by bricklayers, overseen by foremen and all that. However, the reality disagrees vehemently, at least from my vantage point.
And I realize it is hard for an executive to look at me through an architect cookie cutter, because I'm already something else. There are literally dozens, DOZENS of us in this industry.
My open source software work is sort of like a slightly overgrown garden. I don't make plans with measurements, I make grids and boundaries for sure. The bugs creep in, but I try to make it easier to debug. The feature branches are trimmed to stay manageable and the features which pop up like weeds need to be taken care of early, before they start to creep over. But most often what I really point to is that the garden just needs time and attention to keep it up, however any week it is always unfinished with a bunch of flower beds yet to bloom or bulbs to repot out of the alpha bed into the beta. Gardeners do get credit though - but in a garden it is obvious that the plants all grow by themselves, but it is still all work of the gardener to fertilize the soil, regularly water and put all the effort into giving it the opportunity to thrive. The significant and hard requirement is being constantly present, to rotate through your skills over the lifecycle of your crop - including calling in & giving up specialized tasks to the right people.
The frustrations are extremely similar too - a drought in the market, needing to redo everything because the plumbers need to dig it up to fix something fundamental with the way the funding irrigation comes in, to literaly turn on the tap. A worker in a garden is not entirely in control of the process, as much as they take responsibility for the plants, there are no miracles they can perform beyond what nature allows them to. And in a round about way, everything that grows in this garden grows up on the dead remains of a previous generation without giving it any credit for laying down all this top-soil. Every few years, literally turning-over old projects to prepare the ground to plant new seeds.
And sometimes we do need to plant a few trees whose shade you will never sit under.
As history of the Santa Clara valley rhymes through the bracero years, I've turned into a gardener of open source software in fertile soil, brought in from a different land, taught again how to do this at an industrial scale, but organically and sustainably.--
Plants do not grow merely to satisfy ambitions or to fulfill good intentions.
They thrive because someone expended effort on them.
-- Liberty Hyde Bailey
Money is just misplaced effort.
Most of my waking hours are spent working on things which are not part of my long term goals in life. There is a implied social contract that if I turn my hours into money, there's some way to use it to accomplish those goals much more efficiently than if I worked on the goals on my own in those hours.
I've been thinking about where all I misplace my efforts, but for extremely good reasons.
Some of these are collective efforts - things that only works at scale, like having plumbing, cell phones or traveling over paved roads. Others are purely about an experience encountering a small time period, where I wouldn't learn enough about caring for a new born in the period in which the child remains a new born. Though in some cases, it is entirely unclear where that line is - buying fresh vegetables and cooking them is only a tiny shade more independent than sitting down to eat them at a restaurant. Whether I fix a leaky tap or change a tire, those seem a bit more relevant to my life, but that is certainly at a balance of interdependence - if it takes someone two days to show up to fix either, I'd better know the basics at least.
There are other factors as well - there are skills which I do have, which do not help me towards my direct goals at all. I can sit and reason through probabilities & causalities. This is not a general talent, but something which has been nurtured into life by constant practice. I spend my days debugging badly structured code that already works well enough to keep. Arguably, in a world where that is of little value, I might not be doing this, but that is besides the point.
Sitting and thinking is an activity I can transmute into food, shelter and clothing - without knowing how to grow, build or weave. Getting better at thinking clearly is obviously helping me live better, but there's a certain emptiness is striving to be better at something that is indirectly linked to your life with a giant lag.
Money is necessary to this process, because I don't really interact with a fixed number of people. The people who benefit from my bit-twiddling aren't the same people who will give me food - money is an exchange of value, but one which is meaningful only because of the transaction.
The only true purpose of money is to be spent in return for someone else misplacing their efforts to my benefit. And to spread that across time - to be able to utilize your future effort today by borrowing or to plan for a period of time when you might be incapable of significant effort.
Adam Smith said it much more clearly about the pinmakers, but sometimes you want to do more than just make pins cheaper every year?
The reason I had to write this down is because I'm getting unmotivated about working on these misplaced non-goals in my life, which I have to do just so that I could meet the actual goals, through this long chain of people who are also here for the same reason.--
The most pitiful among men is he who turns his dreams into silver and gold.
-- Khalil Gibran
Tech interviews are very strange. The whole process makes no sense in general, when it actually comes to being hired to do actual work. This gets worse when you're dealing with a specialization that is all about identifying trade-offs and fitting solutions to them.
But let me explain this with a car analogy.
Ok - I want you to design the architecture for something that can get from A to B very fast, in a city. Make sure that it can go around corners and also stop when required.
(starts to draw a motorcycle, with a handlebar and brakes ...)
Sure that would work, but we're mostly have to have four wheels in this one, because that's necessary for stability when going around corners.
(Starts to describe how in the hands of a good driver, motorcycles do go around corners without toppling over, like all over every city)
Alright, but let's take it as a given that the vehicle needs four wheels when this company makes one. Perhaps a fifth one which has to be carried around all the time, because we have four wheels.
(Ok, so the best design to go around corners really fast involves a really low car with a wing at the back, for downforce at high speed)
Yes, but that's not very practical - it rains sometimes and you need to put a roof over it, so that you can drive around in the rain without getting wet.
(That's reasonable, so there's this nice Miata that I once drove, it had a cloth roof that would come up whenever the car is parked & you could drive it pretty fast around corners)
Yes, but capacity is a big problem with a car like that so something a bit bigger would be more scalable as the company grows in size.
(Sure, the Tesla Model X is a great example of a bigger and more ecofriendly car, which is still pretty fast and has all the weight down below ... it does go around corners and stops where you want it, with a lot of on board capacity for growth)
That's good, but that's an exotic solution - in general, we prefer simpler solutions over things that need new and unproven technologies. The goal is to use as much off-the-shelf tech as possible, mostly because we're still limited cost concerns.
(Sighs, starts drawing a volvo minivan ... but stops to check)
That's a good approach, can you go into a little more detail about how you'd make this go faster, particularly when it comes to acceleration.
(You can put a V8 in it, maybe go as high as 400 Horsepower and it will be okay - I've done that before, but it's an ugly kludge).
See, this is the point where I quickly realize that the conversation was explicitly tailored to come to the same conclusion as the other side of the table - that the company has a minivan they designed for growth, but they want it to go faster and they're hiring me because I know how to put a V8 in a giant car, because I've done this before.
Being different is not exactly a good thing, but it is the necessary step towards innovation, in various degrees (improvement is change, duh). And yet, in an interview you run up against hidden limitations which completely up-end your ideas for change, because everything is about trade-offs, not absolute right answers.
And that almost never happens when you work on something for a month.--
New ideas pass through three periods:
1) It can't be done.
2) It probably can be done, but it's not worth doing.
3) I knew it was a good idea all along!
-- Arthur C Clarke
For the last decade, I feel inconsolably sad about my dad's death and its circumstances, as Dec 2nd draws nearer.
For some reason, this year was different. Perhaps, it is because my mother is here with me - it is the first time in a decade that I've talked to her on Dec 2nd. But it is not just that, there's been a shift, which I barely understood till I sat down to write this.
My sadness has changed over the years. I no longer feel that sadness the same way - it is not a soul sapping feeling of despair, but a different and new emotion, that is still sadness.
I feel sorry that my dad couldn't be here to participate in our lives. He would've loved to sit around and do literally nothing, on this other side of the planet he never saw. I'd have enjoyed sitting with him, drinking tea every few hours and arguing about the legal drama that surrounds today's political news.
For years, I imagined how my life would be better if not his death ... for a brief moment today, it dawned on me how his life would've been better, if he were still here with us.
The burden of my loss has suddenly has turned into empathy for his loss. Because I'm still here, a decade later, finding light in unexpected places.
Because for once, as a parent, I know what I'd lose if I wasn't on this planet when I'm done with my working years. I'm getting ready to spend my final years observing and rambling incessantly.
Actually, I feel old enough start already - the good old days when things were really uphill both ways to school, but we did it anyway - you kids won't understand it anyway, but we had to ask people who was calling when the phone rang and all that, except these days you all ask "hey, where are you ..." instead.
Just smile, listen and nod, because that's what I'm doing for my dad, in memoriam.--
If you don't know where you are going, any road will get you there.
-- Lewis Carroll. "Alice in Wonderland"
I have started to remember more details about problems than I do about code.
Code used to occupy a large amount of my work-time thinking roots - algorithms, data structures and architectural concepts. Over the last two years, the organization of my thoughts has shifted onto understanding parallels with the real life structure of the problems. I'm looking through my attic for my brain and finding new uses for all that I've already done, which makes a better part II.
So for a while I've been putting thought into revisiting ideas, to feed them through this new lens. Here are some of them which I'd like to work towards thinking more clearly about them over 2018. If any of you have one of these problems or would like to enlighten me about how you are solving them, I'd like to buy you a beverage of your choice.
First up, large corpus compression. At a previous job, we had a few million users' game worlds in blob form, compressed with SNAPPY. This of course was incredibly inefficient to store every user's world's stereotypical artifacts again and again. The fundamental problem was to split apart the common structures between multiple blobs into a common blob and implement a LZ77 variant which can entirely remove large chunks of the input data from the compressed form and merely reference the common blob range (i.e SNAPPY COPY instructions with -ve offsets). This is not very revolutionary, because you can find something similar for english text in a new compression algorithm like Brotli (see RFC7932 Appendix A). It is already possible to do something similar, when it comes to Druid segment files, to compress URL columns by a large fraction within the segment, while still being able to decode any random row out of the column.
But what I want to do with that core idea is to apply it for another data-set which has a large amount of repetition between records - DNA and RNA. The idea is to apply this sort of lossless compression models to FASTQ data, but to seed it with known sequences as a database for long-range LZ77. The core idea is to compress the million genomes (like the one VA is building with the Million Veterans Project) while making it much easier to lookup by a known (or relevant) sequence. The compression format offers a fast way to do 1000 base comparisons, if you could build a pre-set dictionary and map them while they are being ingested. This is not a trivial operation at scale, but if you can cross-cut through the compression algorithm for your search implementation, this offers a massive improvement on the IO requirement on a cloud system. In a very vague way of saving, the more data you have the less data you'll have per-person.
The basic search optimization problems are also interesting for this, since nobody is going to download a large warehouse of data to match a single chunk of ctDNA that they pulled out of somebody's blood, but it is a batch problem with interesting parallels to other plain alphabet problems. My scrabble word finding cheat scripts do prime-hashing, which would work for fragments shuffles (& also off-by 1 identifications), which compresses 8 letter combos into 1 long without order (i.e all combinations of 8 letters into the same long). As a performance engineer (& and not a scientist), finding patterns with a prime multiply Rabin Karp in an alphabet soup is exactly the as complex as an alighnment problem. But the difference between the toy problem and the real one is literally life and death.
Second up, fleeting value capture problems. There are some problems where the value of a data entry decays as more time passes, if nothing reacts to it. These show up for a large number of streaming real-time systems, though the real life problems tend to tolerate a fractional loss of information while the streaming platforms are built to be feeding a system of record without loss. The demand-supply curve in a number of systems tend to work in similar fashion, where the historical data is not particularly relevant except in aggregate, but the current values are exceedingly pointy problems. Reactions to discounts and surge pricing are extremely individual, if you could map the actual demand to the demand against 68719476736a price point, in real-time, that can drive decisions at a finer granularity while keeping the maximum number of people happy.
This might look like a new idea, but I've seen this used to great effect in Facebook games - the random rewards within that skinner box is not exactly random. However, the difference is that in a value-cost model, the supply-demand curve does not meet at the same place for all people who are making financial decisions. The micro-economics in the single party model (with the "house" monopoly handing out infinite inventory and the players putting money down, there is no per-unit-profitability, only non-recoverable-engineering costs from the artwork & code) is much more easy to model than the delayed elasticity of the supply curve in a two-party model like the new gig economy.
This brings up another point, when you have weakly interacting processor models, they do not support strong failure tolerance characteristics. Failure tolerance is one of those "can't do without" concepts in distributed systems. This is sort of the "UDP for audio streams" discussion, because failure tolerance often demands waiting for the failure to be corrected before moving on - in a number of these processing models, delaying a future operation to make sure you have processed the current one is a complete waste of time. If you had an ETA estimation system for cars, then there is absolutely no value in processing a five minute old record when a user has already left a car. These problems routinely crop up in geo-fencing problems, when sending location updates over a cell phone network - when position changes, cancel the previous queued request and send a new one.
68719476736 The weakly interacting processors tend to be implemented as reliable queues and retried/stateless micro-services, both of which are imperfect abstractions to the actual problem at hand, but very clearly look like what MPI with buffering would look like. The data flow model is easier to delegate to different teams to build, but it does not match the characteristics of a single system which can handle geographical data as a sort of cellular network handing off cars and rides to the next cell as a vehicle moves through the city. If San Francisco has 45,000 drivers operating in it and 150,000 passengers with their apps open, you might realize that the state distribution for those + all the people in a vehicle right now is not exactly a giant scale problem, even if it looks like a 50k HTTP calls/sec of traffic going over the wire when it rains.
Geo-spatial data is another crucial problem for me to reapply some optimization work I did with NPCs in a video game - basically, if you ask them to get coffee, they need to find the nearest coffee shop and walk there. This meant dividing up the city into QuadTrees and build an A* path routing over that space. However, after I started to poke about that class of problems, I ran into Hilbert curve numbers and Hex bins. A Hilbert curve converts a 2-dimensional space into a single number and there are a large number of ways to handle single dimensional data in indexes, which suddenly become useful when you dump your data into Druid or another SQL DB which handles integers much faster than a complex square root function. There are space filling curves for hexagons which form a much prettier picture, but the real advantage with Hex bins is that for a QuadTree for a given position, there are 8 adjacent grids to check, while the Hexagon only ends up with six adjacent blocks to check.
To put it together, Geo-spatial data mapped onto a weakly handed-off cellular processor model (i.e the fuzzy boundaries) tends to work very well in a distributed systems, without a significant cost of the failure tolerance required to perform a strong hand-off. This is something left over from my first job writing a call-handling application for Ericsson, where the cellular paging channels and how they handle a user who merely drives through cells over someone who's on active call driving through, while being able to get GSM audio packets correctly (also it is encrypted). The interesting part of that is using the first derivative of position computed for each bogey in motion & the accidental utility of knowing collision/occlusion math from old video games.
Over the last 15 years, I've gathered up a bunch of eclectic experience, which seem to be useful in several other places across the industry in different scenarios with their own additional trade-offs and complexities. Complexities I haven't considered and trade-offs I haven't explored.
So, if you're working on something like this, I'd like to pick your brain and understand what I don't know - expand my ignorance, if you will.--
If you're not part of the solution ...
August is the single month every year, where I go looking for a better job.
Because everytime August comes around, I'm reminded of a very specific day of my life - Aug 11th 2003.
Very clearly a bad day to recall, but first impressions are often very deep.
That was my very first day at work, but coincidentally was also the first time I felt like I need to go looking for a better job. It wasn't that it was a bad workplace, it was rather banal and mundane. However, until that day the pure transactionality of a job had never occured to me. Looking at my parent's generation, there's a certain symbiotic permanence that I had come to associate with finding a job.
There was a certain dispensability with which my employer looked at my skills, which turned my time into their money. And thus I kept interviewing, every month at a different company. Took twelve hour bus rides to Bangalore over weekends to arrive at 5 AM to show up sleepy at 9 AM job fair for IBM, for Oracle, for Cisco. Unsurprisingly, those days didn't see me at my best at 3 PM, when they had weeded through the univerisities they cared about and got to the other end of their pile.
Monday morning, I'd be back at my desk in Hyderabad, sleepy again from a bus ride in a cramped seat.
Looking back at my work at Wipro, it wasn't all mind-numbing tedium, because I'm not built to survive boredom. I was given several dumb projects to finish, but they all ended up with me automating away parts of my tedium and then just working through my Sedgewick for the next interview where they would ask me to delete a node off a binary tree.
They made me do a matrix of BUGs fixed against release versions, which ended up with me learning how CVS branches work and automatically extracting ChangeLogs from tags. I had to test the phones' address book full error messages, which involved filling up the address book manually over two days before I got to it, I built a GSM AT RS232 automation to push the buttons for me (thanks wvdial for forcing me to learn what ATDT is). I was asked to rebuild a GSM ROM which could keep failing linker with segmentation errors, which was solved by people brute forcing the build flags till the build went through, I ended up working out that it was a bin-packing problem (3 non-contiguous flash regions, move around the linker regions until no binary has address crossing the boundaries).
My desk used to have a poster which said "Never send a man to do a machine's job" (but with an Arnold next to it, which I'd argue is appropriate).
But what I did with my spare time was look for a better job. And writing cryptic entries in my diary about I'm underemployed and overworked at the same time - because the more problems I solved, the more came to me and I'm a sucker for a hard problem, it feeds my beast.
Many things that are different about me fourteen years later. That one thing hasn't changed, I'm still a sucker for hard problems - because they are hard, not because they are easy.
The world will never run out of hard problems - being in a position to work on them is a completely different organizational challenge. Sometimes a problem will be literaly above your pay grade. When you run into organizational struggles, it is better to move on - there are always hard problems elsewhere.
That was an easy lesson that I learnt the hard way.--
I don't know who you are.
I don't know what you want.
I can tell you I don't have money.
But what I do have are a very particular set of skills,
Skills I have acquired over a very long career.
-- Paraphrasing "Taken" (2008)
This is perhaps the darkest week of the year - every year since 2006.
A decade later, once again, I feel like nothing about me will be the same again.
This new sense of purpose I feel is a few months old, sleeping a few feet away.
The baton is passed, not quite yet and I haven't let go.--
"Life is effort, and I’ll stop when I die."
-- Rick & Morty
My grandfather passed away last week.
When I was at one of life's cross-roads, he rescued me with some advice I hold onto as one of my life's truths.
Sacrifice. It's a word that gets thrown around in the social context without any inherent meaning. Just like other things caused by peer pressure, the sacrificial act is a social demonstration of emotion, at the detriment of nearly everyone intimately involved in it. Mothers give up their careers to stay at home. fathers end up working longer and so on.
After my dad's untimely end, there was a choice left to me - envelope pushed under the door of my mourning, if you will. Move back to Trivandrum and try to support my mother & sister while they mourn the inconsolable loss. Social signals told me clearly that it's what's expected from a "good son".
I thought otherwise. I was wracked with guilt at the thought of staying in Bangalore, chasing my own life's goals which had been on hold for the couple of years my father was ill. And I couldn't bring myself to ignore the social pressures and was caving in to them, when I talked to my muthachan.
He got to right to the point.
"Is this something your mother asked you to do?" / "No". "Do you think leaving Yahoo and moving to Trivandrum is good for you?" / "No". "Is moving back home likely to be a disappointing thing for you?" / "Yes".
"Then don't do it. We're here to take care of your mother. She is my child." / "Ok, but ..."
"Your mother will need you in a few years, your sister will need you. Be there. But you will do this one crazy gesture they never asked for, because people pressure you into making it. When times are bad and your life isn't moving forward, you won't think of those pressures. You will blame the ones you really did it all for."
"And one day, you will get angry about something and tell your mother that you did it all for her. That your life's frustrations are due to her. Maybe it won't be your mother and it will be your sister - she will tell you that she didn't ask for it, that you did it all on your own. That your sacrifice wasn't necessary and then you'll feel hollow, because it was all for nothing, how you turned away from your self, silenced your wants and died a little for them. You will be truly angry with them for your thoughtless sacrifice and never let it go."
"If what I said sounds inevitable. Don't do it. Go do your thing now and whenever your mother or your sister need help they will not hesitate to ask. Be there for them without question. When it's the right decision to take, you won't feel yourself tearing apart."
That is how I got to today, half a world away mourning his death, knowing fully well I couldn't go & be by my mother's side.
And this time, I wasn't tearing myself apart.--
Much of what was said did not matter, and that much of what mattered could not be said.
We'll see what happens. Yes, but ... OK, I will try.
There are so many ways to say No. Some of you might've realized that's what gets said. But I've seen very few who understand why it gets said in circuitous soft words, other than attributing it to race or upbringing.
Because of what happens when you say No. There's always someone else who's waiting to say Yes. Time after time, each No you say shrinks the number of times you get asked and life's opportunities show up as questions. The fewer times you're approached with a question, the fewer times will you get to say Yes!. Each No shrinks the funnel through which other people interact with you.
Being reasonable produces the opposite result you want. Those that say "Yes, let's do this!" and flake out are often asked more often than those who can offer a negative in time. In fact that those who say "No, I'm meeting a friend tomorrow" only to have their friend flake out is worse off than someone with double bookings.
Whether the opportunities are social, personal or professional, those that a "Yes, we can try" are preferred to the respectful No. Of course, we prefer the "Can Do" people here.
The definite negative implies intention, while the loosely held hope is always treated better. The negative is interpreted as sub-textual while the other is taken as a circumstantial "stuff happens" even when the eventual end result is the same - probably worse for the "maybe" because it steals away the ability to plan an alternative.
In such an environment where all Yes-es are Maybe, being "Definitely Maybe" is understood well - and saying "No" becomes a "No-No".
In short, when it comes to saying No - I'll try.--
The right word may be effective, but no word was ever as effective as a rightly timed pause.
-- Mark Twain
Must be a strange coincidence, but I think nearly all of my farewell letters have been written in August.
As the days get a tiny bit shorter, all the energy that the summer brings turns into a certain impatience. Sitting in front of a desk, when the brightness outside is getting wasted.
Perhaps you don't feel it, but there's a general ebb of life that makes me acutely conscious of my mortality. A certain knowledge that summer is passing and I'm still indoors, to wait for another year perhaps to enjoy the summer sunshine.
And yet, it's not that I feel sad about the passing of days - those days aren't here. It's a call to freedom. A primal urge to make most of the days in the sun, without concern, because the winter that will follow is inevitable. To plant all the energy of the summer that's half-gone and reap the rest.
Need to just head out into the sunshine & high mountains, leaving work in the valleys.--
Your career is like a box of chocolates - you never know what you're going to get.
Here's a short quick set of questions.
Listen, I'm not here to run your life. What I came here to do was to ask those questions and get a response from you. I can't really tell you more than what you already know about those boxes you checked off.
I started to play with computers as a hobby. I'm sure a lot of you did and that's probably the passionate drive behind your talent. But at some point in my career, that fun got intermixed with a professional atmosphere and even then that passion was a huge advantage, because I could keep going even after other people gave up on a problem. But work is not play, particularly when play involves walking towards failures as a learning experience. Doing something hard is still joyful, but it's not something that's necessary in an enterprise workplace full of constant low-skill challenges, with-in a framework of burn down charts, delivery schedules for back-ported fixes, day to do day management and daily standups. And bit by bit, I have realized that what I do at work is never going to fill in for a hobby - it's work.
I want to feel the joy, of a purposefully hard problem solved, by sheer persistence, despite multiple dead-ends.
So, I wrote this list because I'm going through a period of self-reflection after failing to wrest back my hobby back from my profession.
If this myth is tragic, that is because its hero is conscious.
Where would his torture be, indeed, if at every step the hope of succeeding upheld him?
The workman of today works everyday in his life at the same tasks, and his fate is no less absurd.
But it is tragic only at the rare moments when it becomes conscious.
-- Albert Camus, "The Myth of Sisyphus"
Nobody commits suicide.At least, nobody commits suicide any more than they commit a diabetic coma or a cardiac arrest.
It isn't a crime to commit, it is the unfortunate demise brought on by years of accumulated damage - perhaps a less acceptable one than a surfeit of cheeseburgers.
If you're the one playing the devil's advocate for sinners, please rank it with gluttony and sloth.
I don't intend to minimize the act here, but nobody in their right mind goes that way. I want to talk about those that did, but I never know how to put my words together. But I talk about one death - the same death, over and over.
A loved one's suicide never quite washes off your mind. And it is never the day or the moment that just fails to fade out. What I remember vividly is the year before that, was a witness to it, from as up close as humanly possible. I saw the face of depression up close, felt the shadow if it touch my future.
Perhaps some of you can describe being depressed. For the lucky folks here, let me describe the sensation I had by proxy.
Imagine you're having an asthma attack - you can't breathe, your lungs are choking up and your throat is straining. Right at that moment, someone tells you that what you need is some fresh air in this beautiful garden of roses and shows you how they breathe in & out throwing their chests out. And then ask why you're ruining the day for everyone by reaching for the inhaler, before it was even 10 AM.
This isn't some pervasive sense of sadness, but an accute occurrance of hopelessness and despair. The weight of the world falls on your shoulders and you can't move - everyone's just asking you to get up and do things. The inability compounded by the knowledge that at least some of the world is your responsibility to move.
And there-in, Ophelia, lies the rub. Social conditioning and my personal observation tells me that's where being brought up to be a Man bites your head off.
Years of indoctrination has taught (me) that - Men are resilient, Men do things, Men have responsibilities and that when in a crisis, the rule follows that you save "Women and children first".
Imagine, after fifty long years of being that, you're stumbling for the first time. And there's a huge stigma attached to being a problem for the people who depend up on you. I suspect, the indoctrination goes to your heart for those who've survived long odds, like returning soldiers from a war front.
Except you haven't learnt to talk about your emotions. You've lived your life with rational thought and enlightenment, treating emotions as fickle pertrubances to be ignored, like fear or desire - talking about them gives them more credence than necessary.
And then there's the stigma of treatment. Treatment for the chemistry in your brain is considered somewhat different from any chemistry elsewhere. I've never seen anyone reluctant to take Insulin for social reasons. I have never seen anyone skip an X-Ray in case they need a cast for their swollen foot. I've never before seen someone dodge treatment or diagnosis for worry that they'll get caught up in it.
Insanity has a huge price attached to your sense of self, since it is the only scenario your own input into your condition can be disregarded. In fact, just worrying about your own improvement might be treated as a symptom.
I have to come to understand that death - the terminal condition of an untreatable depression.--
It is often said that before you die your life passes before your eyes. It is in fact true. It's called living.
-- Terry Pratchett
It has been 7 years since my last conversation with him. Maybe it's only been six since I missed him.
Maybe I didn't say anything to anyone when he died, but with all the lack of orginality I posess, let me repeat something. If only as l'esprit de l'escalier, 8 years later if you will.
MY FATHER WAS AN EXCEPTIONAL MAN! He had his... shortcomings, but he took care of his family. He loved his family. He loved this house. He worked hard. All I wanted today was to show him how much we all loved and admired him. To give him the respect that he deserved... Is that really so much to ask? We all get so distracted by the... little things in life. We forget about the important things. Like the fact that we lost a great man. We don't know why a man makes the choices he makes. But I do know that my father made the best choices he could make. Life is complicated. We're just thrown here together in a world filled with chaos and confusion... and we do our best. He taught us to go for what we wanted in life, because you never know how long you're going to be here. So when you all leave here today, I want you to remember him for who he really was. A decent, loving man who never condemned anyone for how they lived. Who never cast disparaging remarks or held prejudices against race, gender... height. If only we could all be as giving, as generous, as understanding as my father. If I am half the man my father was, my child will be incredibly blessed. -- (paraphrased from) Death at a Funeral, 2007
My father was an exceptional man. He was exceptional in every way, in his strength and his weakness.
My mother taught me how to endure, to abide, to suffer the endless slings & arrows - my father showed me how to fight, how to lose battles and win wars. To take invisible swords upto invisible monsters and slay them. If my father taught me to fight, my mother taught me to never give up. She passed onto me, her endless source of hope. She taught, if not by words but example, that everything passes, including waves of troubles & sadness. Just hold your breath and dive, she showed - find the bottom and push back all the way up.
I learnt strategy from him - I very rarely played chess with him and he would reluctantly destroy me in calculated moves. I rarely put myself in front of that juggernaut because of what came after I lost, a clear description of why I lost, step by step of when I had an advantage & how I squandered it. I learnt patience from watching him - that patience isn't waiting, patience is observing, watching for the right moment - with a finger on the trigger, eye on the scope.
I learnt to listen and remember. Of all of my life's conversations (yet), he's the person I've talked the most to. I missed the conversations with him about fundamental human nature, sitting on a Bajaj Chetak, with him explaining to me in great detail the importance of understanding. Nothing more, just understanding everything. Perhaps, I learnt to be pedantic too - to understand what's different about wealth, value, cost, price. Understand that money is important, but never a goal. Understand that you should always engineer all-winner scenarios and never work with people who will still want you to lose. Understand altruisim & co-operation is just another word for long-term selfishness. Understand that help you give that is nothing to you, but everything to someone else is the best form of it. Understand that gender is meaningful, but not discriminatory (between me & my sister). That laws we have to obey are never entirely fair - that both the rich & poor are prohibited from sleeping on park benches in the night.
He didn't just talk about it, I saw his principles moving him - some of those came up because he was the Director of Social Welfare in Kerala government.
Not all his lessons were imparted kindly. I watched over my father for a year. I felt like the parent - making sure he ate food on time, took his medication, to make sure he slept, to run to his bed-side when he had nightmares. To stay up next to him when he slept in his hospital bed, reading, while the sedatives kicked in and kept him from tossing about in his bed. I had to deal with him when he threw tantrums and I know it hurt him more when I couldn't understand him or calm him down. I was filled with a homesickness that only comes to those who are already home and I wanted him to go back to being the same awesome father I always had. Deep inside his heart, he knew he could never be that person again. And he tried to tell me, but I didn't believe that - to believe him seemed like letting go of all hope. Never wanted to pass through the door inscribed "Abandon all hope, ye who enter here".
Years after, in mid-November I get angry about all that again, I remember that he was the most considerate of human beings even to the end - I found his paperwork sorted and filed in the order of use after his death.
I wonder about all our conversations - was he was leaving a part of him to live, even after he takes the rest to an early grave?
And just for that, I will always love him.--
All that we love deeply becomes a part of us.
-- Helen Keller
I work from home and that causes more trouble at home than at work.
Today Kavi asked me if I wanted to come along for a 4 hour round-trip to the airport to drop off her sister. Now those four hours of that has to come out of my work hours for the day & is a distraction I hadn't planned on having, but that is really my problem, not hers.
But if I were in an office building approximately two kilometres away, doing the exact same thing today I wouldn't have been asked that question. There would've been no expectation that I can spare four hours from the middle of my work day for a car ride.
I didn't go, of course - I'm sitting here ranting about it while my cluster is rebuilding ORC tables. But I didn't really have a pleasant time saying "NO" either. Just having to say *NO* and having her drive back from the airport alone seems like a choice I'm implicitly making.
In reality, I'm spending more time with both of them today, while my cluster rebuilds. But the fact that the question is pursued implies that the people involved do not consider me "at work" and therefore unavailable for anything else. And that question hurts my commitment towards both parts of my life.
The real trouble is that occasionally I do take time out of my work hours to do things with her. It is no sacrifice, because we do things that can only be done in daylight - shopping for things, brunches which last till 2 PM and evening runs where I spend an hour in the middle of the work day clocking up some mileage. I did that yesterday, with my cluster churning profiles out.
I probably really only work 4 hours a day. But those 4 hours come in two sessions of 2 hours of uninterrupted work, when I do not reply to emails, my phone is in another room, I'm not reading HackerNews or tweeting anything interesting (people, now you can see how often I work). I keep every activity which involves staring at progress bars out of those hours - my maven repos will be upto-date, my unit tests are run later and my work setup is all done somewhere in the middle, preferably during a meal or a run.
For those hours I'll be in a state of mind that is fragile enough to be destroyed by someone just asking me a rhetorical question like "XYZ is in town next week, we'll meet them on Wed?".
The trouble is that people who inhabit my life can't differentiate between those four hours and the other four hours. You know, the non-work work hours that go into reading JIRAs, replying to threads, attending calls or setting up EC2 nodes. Some of those leaks into the weekends, but I deal with it if it means having more quality time to spend on a Monday. In those hours, I will not snap back when interrupted, even drop what I'm doing to look at something or get a coffee.
I do try to make it all fit in, usually with some careful & invisible planning. It is the invisibility that is its undoing - it is effort that rarely goes appreciated by people at home (people at work don't even know I do this). It is really hard to say yes to new plans when they keep coming up all the time, without sharing my carefully timed plans - "Yes, I need 10 minutes to setup something that will take 4500 seconds to run. Let's go in a bit, but can we back by 9?".
I love being able to say "Yes!" to a plan, but I rarely say out the rest of the above sentence. And that has repurcussions that affect my happiness over-all. If unexpectedly I have to spend two hours at CPK eating dinner (enjoyable time, of course), I have to catch up by staying up till 3 AM to get my four hours in that day. Perhaps people will come home and I will offer to cook pasta instead of going out. A part of it is selfish even, because if I stick at home, I might get to stare at a monitor while the pasta gets to al dente and get some of the scaffolding work in. Those are not really work hours - if I can cook pasta while I work, I'm not working.
Now, you might wonder about my deadlines when I talk about my time and work. I'm not slogging to meet some arbitrary deadline set by Hortonworks. I'm working because I get paid to do something I actually like. And I do like to take my time off and do other things I like. I want to spend about 9 days somewhere in the Himalayas next month, without cellphones, computers and with my camera, tripod and a stack of well chosen filters. To balance my work and life, I need to put in my time at work doing productive things and I do that without anyone forcing me to "SHIP CODE!" - what else counts as work? :)
But the trouble is that I can't seem to balance my work & life, particularly living with someone who's always up for new things by the hour (which is why I fell in love with her). And it is a question of expectations from the people in my life, because I work where I live, most of the time. Perhaps if I walk out of the home for 8 hours a day and go sit in Yoga House, the assumptions of my availability for plans will drop out of her mind.
I still love working from home. I do get to head out for an hour or so, eat lunch, drink coffee and spend quality time with people. I just wish they'd understand that I have a work schedule between those pleasant punctuations and make my life a little easier with fewer questions I have to say "*NO*" to.
Because saying "NO, I HAVE WORK" makes me sad. Very sad, indeed.--
Any idiot can face a crisis - it's day to day living that wears you out.
-- Anton Chekhov
I made a lot of fuss when I was turning 30. It seemed like a big deal.
There's something special about completing a revolution around the yellow star.
It is special to know that you spent the last year doing the important things - writing code, climbing mountains, running distances and sometimes just doing nothing at all.
But what overwhelms me is a realization that the more important anniversaries are elsewhere on my calendar now.--
Like most women my age, I am 28.
-- Mary Schmich.
I ain't trying to preach, I believe I can reach But your mind ain't prepared, I'll c u when u get there. I'd be a fool to surrender when I know I can be a contender If everybody's a sinner then everybody can be a winner. I'ma scuffle and struggle until I'm breathless and weak I done strived my whole life to make it to the mountain peak. Always keep reaching sure to grab on to something I'll be there when you get there with muted sounds bumping. We prefer to keep our eyes shut 'til it's right When there's something involved that we desire. So hold your head up high if you're poor and righteous I know times seem strife and problems seem endless. But at the times of despair we gotta put ourselves together And if you feel you're out of the game. Then you need to get back in it 'Cause nothing worse than a quitter. You gotta face responsibility one day, my brother So wrap up your pity and turn it to ambition. And put your vehicle in 'Drive' and stop by my side. As we walk down the road of our destiny And the time comes to choose which shall it be The wide and crooked or the straight and narrow. We got one voice to give and one life to live. Stand up for something or lie down in your game. Listen to the song that we sing. It's up to you to make it big I guess, I'll c u when u see me. I'll c u when u get there.
Lyrics from Coolio's C U When U Get There.--
It is not what we read, but what we remember that makes us learned.
It is not what we intend but what we do that makes us useful.
And, it is not a few faint wishes but the struggle that makes us valiant.
--Henry Ward Beecher
Nothing is ever perfect: Perfection is a quest, not a goal. Sometimes it feels good to be done with something, put it aside and move onto the next thing on your mind. It might be half-assed, but it is not just a thought anymore, it is out there. Bear in mind, it's also out there for people to criticize - but that's not a thing to fear. Carry on the quest though, but look for it in your life not in others.
There are shortcuts in life: Sure there are shortcuts, they rarely look like one. I'm lazy and that has made me look for these a bit more often than others. It took a great teacher to explain to me that education was what got him out of a hard life. Made the whole process look like liberation instead of the enslavement I used to blame the school bell for.
Rewards are not for effort or patience: You can't argue with results. The only time to talk about the effort is when it goes wasted.
Money is important: I wouldn't blame everything on money, but the lack of money is the root of some evils. Growing up in the wide middle class of Kerala, almost every limit in life I saw was about money. I know it can't buy everything, but removing that limit lets me focus on the things that can't be bought or sold - also known as the important things in life.
Luck is overrated: I think so. But who can really tell?
Never let fear stop you & never let greed drive you: I'm not exceptionally brave. But I've maintained the little inner strength I have by trying to reflect on my motives. And in cutting down the knee-jerk reactions to fear & greed, I've torn out the insecurities that fed my self doubt. No, I'm not afraid she will leave me and I'm not waiting for my next raise - I care that she's happy and I need the money, but I'm here to kick ass & chew gum. And I'm all out of gum.
Sometimes the right thing to do is to walk away: You don't have to win every fight. Trust me, you don't have the time to fight every loser who steps out. So don't start a fight you don't want to finish. And when it comes to true confrontation, be as Teddy "Bear" Roosevelt said, speak softly & carry a big stick. Whack him good.
You've been wrong before & you'll be wrong again: This bears repeating - being wrong is important. Just one advice - eating your own words is painful. Even more reason to make them sweet in the first place.
When you're wrong, change your opinion: What's the alternative?
Don't be a rebel, change something instead: I probably had my teenage rebellion way late. And it went about this by turning my world upside down and shaking it till everything that wasn't nailed down fell out. I thought I was watching the world fall down on me, but something else happened. And I came out of it armoured with purpose.
Intelligence and skill doesn't scale: Eventually there's just 24 hours in everybody's day. And I'm not going to put in all 16 hours into work - I have a life. But more importantly, I've learnt to work away from my loner approach to doing things (instilled by the student-beat-student education system) into doing things together. Cooperation scales way better and more easily. I wouldn't say this if I was Roger Federer, but I'm not.
You can't be anything you want: Nothing's stopping you from being all you can be. It'll take a while to figure out what limits we see are real and which ones are self imposed. Ambition will let you find that out, but that's when you need to take a reality check & cash it.
Everything's harder than you realize: Our society respects people who are "brilliant". In honesty, I can't really blame society for it when there's an easier target out there - The Karate Kid. Anyway, effortless was another word for brilliant. And I wanted some of that - so I tried to get that tag for myself. But in the process I learnt something, the things I love are easier for me. The sacrifices are easier and time just flies when I'm having fun.
Failure is OK, Defeat isn't: Sometimes you give up. Life's going to keep bringing up this topic, but the day I can't get up when life knocks me down, I'll be truly defeated. I plan to get out of this life undefeated.
Do not live in the present - tomorrow does come: It's a hellish momentary existence to live in the present forever. Hopes and dreams do not have a place in it, because there is no tomorrow. I've nearly killed myself to escape it & swore never to return there. I forever live in the boundary between days, sometimes wallowing in the past and sometimes pushing towards the future. Today is merely tomorrow turning into yesterday.
May not be much, but this took 10,000 days to come into being. And perhaps, just perhaps, I'm writing this down to read someday later.--
22,000 days, it's not a lot,
it's all you've got
-- Moody Blues
To put a price on a thing is an odd thing to do.
I've never sold my photographs. I'd dreamt of doing a photo exhibition. I wanted to do more than show them only to take them home afterwards. I wanted to do something good along with it - to auction them and raise money. I didn't know what putting a price on one would feel.
But before I wade into my moral dilemma, let me thank the people without whom this wouldn't have been possible - Kavita, Tharak, Kritika, Pooja & Vivek. These five people were the hands, feet, brains, heart and occasionally filled in for all the other organs that were needed. Kavi was the mastermind of this project. I might've taken the photographs but she put on this show. Tharak for all the posters & the artwork in the coffee table book. But my gratitude really goes out to the last three, who flew in from Delhi & stayed the whole week to help!
Back to my dilemma. It wasn't as if people were paying for the photographs. They were paying for a visually impaired student's future & education - that this framed photo was merely a glorified thank you card, from me to you, all paid-for by me. But it did feel like I was making a sale.
Until that point in my life, I'd marked a large number of my photos online as CC-BY. All anyone needed to do was connect my photo to the original upload & use it as they please. They ended up on song cover art, safari brochures, treehugger articles, wikipedia and god knows where else. And if I cared, it was only to know that they were of use to someone.
As an auctioneer, I was conflicted. I wanted to give everyone the picture they liked, but I had to push the price up for the cause. Bidding wars may push the price up, but they do so by denying someone their wish to take the photo home. I wasn't happy to call up someone and tell them they weren't getting their photo of choice - I wanted to prevent people from outbidding others. At the same time, I wanted to hit my fund raising target.
I felt like I was the bad person here, keeping people from having what they want - for money. Generating artificial scarcity for something that was still available at no cost - I felt like I had sold out. Felt like I was doing something morally wrong, cheapening the sensation of having raised a whopping 1.3 lakhs for mitrajyothi. I might be feeling a bit low about the auction, but that money is going to go do a lot more good to a lot more people. But I do have something to re-iterate about my photos and your right to enjoy them.
My Creative Commons photos have always been available for anyone to download - use one as your wallpaper, take a print & frame it or paint a copy.
Just leave a comment or something, so that I have a reason to keep uploading more.--
The essence of all art is to have pleasure in giving pleasure.
-- Dale Carnegie
And I'm concerned.
I'm concerned that she does not understand the difference between marriage and love. That she does not understand the difference between love and sacrifice. That she does not understand the difference between loving someone and living with them. That she does not understand that marriage is not the finish line for love. That she does not understand marriage takes more than love.
And the more I think about it - I'm even more concerned.
I'm concerned that her apathy towards her career will be the death of it. That she will end up being a homemaker, after having a gold medal from NLS. That she will end up succumbing to the social pressures of being a Mrs Somebody. That one day somewhere in her middle ages she would regret her simple surrenders. That if she's wilfully ignoring the springboard of opportunity that so many of her peers don't have. That she might be decieving herself into becoming the role model wife and bahu - and fail. That she'll lose something precious and ephemeral - the fire to burn as bright as you can.
And in some way, I'm saddened.
I'm saddened that whenever she explains her idea of relationships it is to suffer for the sake of her partner, to be with him whatever it takes at whatever cost to her potential. That I couldn't pass off my own ephiphany about love and relationships - that it took me further ahead than I could've done on my own. That my efforts to fulfil my dad's hopes for her weren't enough - simple enough as they were, to see her "breaking through the limitations society might impose". That she won't see that in some way or the other, I've been on her side for twenty odd years in the case of Sister vs The World, 1986-present.
I'd don't think I'll ever stop being concerned about her - she's my baby (sister) too.
But in more than one way, I'm happy for her. And proud of her too.
She's marrying someone of her own choice - after six years of knowing each other. And it's happening out of co-operation between both the families. She's doing this completely out of her own volition, dreams and desires - which is what will truly give her the strength to push through when push comes to shove.
Also, she's been known for making me look very stupid - which this blog post might do in a couple of decades.--
Marriage has some thorns, but the alternative has no roses.
-- Vernon K. McLellan
I make it look easy.
I even make looking things easy, look easy. I guess I've had enough practice.
The truth is, most of the things I really want to do are hard. So hard that it hardly seems worth the effort. If I knew what it would take to do them I would've probably never even done it.
The long sleepless nights, the weekends consumed, hobbies neglected. Little sacrifices and the big ones. Perhaps even by someone else. That's what it has taken to make it happen. Every step of the way.
If you knew, you'd probably never attempt them. That is exactly why I can never tell you. That is exactly why you'll never know how hard it was for me. Not that it matters, because here's the kicker, it won't help you.
In some sense, I'm less capable of the impossible once I've proved it is merely difficult. I'm guessing you all think the same. So I deceive you and anyone else who asks. Everything's easy and all you need is a little time & determination. And you're just a few steps away from success, always. There's really nothing to it.
See, *that* was easy.--
If you can't explain it simply, you don't understand it well enough
-- Albert Einstein.
This sunday, there will only be a finish line. There are no easy ways out of it.
42 long kilometres between me and that line. My tired feet pounding out fifty thousand footsteps to get to that line in the sand.
There's no quitting, there's no giving up, hell ... even death is not an option.--
We won he said, and immediately he fell down and died.
-- "Battle of Marathon", Herodotus.
I run. Out on the road, as each stride drags me ahead, my mind is truly free. Free of this world, free of troubles and free from everything else, but the next footfall. Distances blur out, time stretches out, pain becomes a companion and your body falls into a rhythm which you dare not break.
About three years ago, I started to run. I never really had a reason for it. I ran everywhere and ran back as well, if I could. But then people started to pop up in my life who couldn't keep up. And I stopped ... for a while.
But just like everything important, it came about from a random conversation over coffee. There we were, me & @teemus, sitting in Java city, checking out all the upcoming concerts. Right in the middle of everything from jazz to house, was a bright red poster telling us to run (and eat sunfeast biscuits).
For the good part of two weeks, I lived a very disciplined life. Ate right, slept right and spent an hour or more in the gym. Racing each other on the treadmill, steadily upping the distance, speed. Finally one morning, stretching up in Kanteerva stadium, drinking redbull mixed with orange juice, I knew I'd always wanted to run long distance.
10 Km: Ran the Sunfeast 10k. Running slowly became more of a mental challenge than a physical challenge. To actually cross the line of discomfort to actually hit the limit of pain was more of a mental barrier than I thought. It was just too easy to just quit, stop by the side and take a breather.
The physical barriers were there. They were definitely a huge challenge all by themselves. But even when I could run 5km without falling over, the urge to give up does not fade. To actually gag and silence that part of your mind which keeps whispering "quit now, there will be cake".
It was all in your head.
You could stop anytime you wanted. But it took all my vanity and ego, to keep me running. To see others vanish ahead, lit a fire that would burn me through the miles and miles ahead of me.
faster: The Nike+ Human Race was the next one. The last 400 metres were run at blistering pace with me and @balajijegan running together. Adrenaline pumping through my veins, Nicotine blasting in my headphones and out of breath, I crossed that finish line. 10 Km was turning into a race than a test.
25 km: Finally, it was time to play with the big boys. The Bangalore Ultra was looking like too big a challenge to actually pull off. The track was all ups and downs. I ran the first 18km in complete zen, in under two hours. The safety pins holding my bib to my chest had started to cut into my chest and I had cuts on my chest from the friction. I had to stop after the 20th km to get medical attention. After barely six or seven minutes of standing still, I had cramps.
last mile: The pain was getting to me. 21st to the 23rd was a sheer exercise in masochism, all the way uphill and through slippery mud. After that, it was just a test of sheer willpower. I knew that I would just fall over if I stopped running. Running along on empty, in pain, with my face showing it - you'd wonder why I was doing it. You have to be a runner to know why - there was no way out of that agony other than that finish line. I don't think I left myself any options.
21 more: The next half-marathon had significantly less training behind it. The weeks preceding it was mostly spent on FOSS.in and almost everything going wrong with that conf was my fault. The Times of India midnight marathon was a lot of fun to run, because it was flat, late in the night and I had my personal cheerleader waiting at the finish line. I ran that at my best time, ever.
Running will change your life. I'm running out of reasons to explain why I run, but it's changed my life around and made me a happier person overall.--
One day your life will flash before your eyes. Make sure its worth watching.
I've left too many things behind with 2009. And I'm better off for it.
It wasn't exactly a pleasant year to begin with. Betrayals seemed the theme from the start. Which I could've dealt with, except my inability to deal with betrayal was treated as some sort of personal failing on my end. As if my disappointment was some hint of immaturity I had to grow myself out of.
Anger boiled, seethed in my veins. But I held my hand, because I still believed that people would do the right thing, albeit eventually. Patience lasted exactly a month. Then it was time to blast off, blow everyone off, leave the liars and traitors behind, to cleanse myself of the grime and corruption of their world. Yes, I still don't think as my trust being misplaced ... it was betrayed.
But perhaps, adversity is a forge of character. I revved up
thunderbird, cruised along
20/20: Twenty meals alone. Once you're through that barrier, being alone hardly holds any terrors. Life flows around you, every face a stranger's, every smile an accident. And you're in no hurry, there's nowhere to be, no one to meet, nothing really left to do. Sitting there, as you watch the world rush about, you feel content to just be a spectator to the human race.
Rock bottom is a pretty productive place to be. Wrapping myself in a cocoon of solitude, I spent hours, nay days scribbling bits of myself into my little diary. An outpouring of self, a vignette of modern urban life, my only story, a fictional biography of someone I used to be.
Perhaps it was cathartic. Perhaps it was inspiring almost to examine myself through an honest mirror, instead of relying on the judgement of others. Brutal honesty cut through the threads of self pity tying me down. I may have had a crappy time for half a decade, but I've come out of it scarred, but smiling. And again.
Resurrection. Life's a little less serious now, I think I have most of it figured. Simple rules to live by - smile, don't give a damn about what "they" think and do what you really want. If you're good, you'll float ... else, you sink. But there's no room for pretending.
And that was 2009.
 - Wait, that was only four months? The rest of the year? A blur of fun, parties, travel and stuff that'll eventually be a footnote to such a page.--
Strike me down now and I shall be more AWESOME than ever!
Inner beauty is overrated.
Perhaps the greatest handicap my parents ever provided for me was the concept of inner beauty. In their attempts to prevent me from turning into a flake, they emphasized that it was probably the most important thing to develop. Their efforts bore fruit. They taught me to look deep into the heart of others, judge them by their intentions and to know them by their actions.
But they also taught me to avoid the shallow. I learnt that the shallow, do not linger to explore another. Like butterflies, from flower to flower, they pass on from one to the other, having known no one, but calling all friends.
Slowly, but subtly, I started to wrap myself up in myself. Layer, by layer, everything that was good in me, was only there for those who lingered long enough to peel back enough. And I thought that only fair, that only those who cared enough to know me, got me. There was precious little of me to go around and I kept it for those special people.
But as it turns out, *that* was a very stupid thing to do.
Sometime over the last year, reading the Bible at some hotel room somewhere in the country, I ran into something that clicked. Something that made sense and shone a light on the errors of my ways (uhh... no, I'm not going Born Again on you folks ... keep reading).
Mathew 5:15 Neither do men light a candle, and put it under a bushel, but on a candlestick; and it gives light to all that are in the house. Let your light so shine before men, that they may see your good works.
There's a certain arrogance of self that is required to be an introvert. That it seems worthwhile for someone who's met you once to dig through all your issues, fears and eccentricities, to know the really awesome person you are. That the end result, i.e You, is something enticing enough for a stranger to actually embark on that quest. As if there is some secret sauce, essence of pure self, that makes you unique among all others. That it doesn't really matter how you appear to be, that all that matters is how you really are. Pfft, maybe in an Apatow World.
Perhaps it is humbling to know that what you are isn't worth someone's time - at first glance. Perhaps there are so many who are boring on the inside & outside, that the odds are against you, all the way. Perhaps they are indeed shallow people who judge others by appearances or by popular opinion/reputation. I don't exactly know why people don't bother to look twice, but they don't (actually, some do ... which is how I got by for years). But it's not their problem that they don't, it's yours.
So, pull the covers off the true You. Shovel out a path through the icy reaches of your outer surface, put a window on your soul. It'll change your life.
In short, SUIT UP!--
Be yourself; everyone else is already taken.
-- Oscar Wilde
You get to say no last goodbyes.
One cold december evening, I walked into a house of wailing to see my dad in a casket, laid out in the living room. If I could call it a living room anymore. And I couldn't even cry. Not while things were left to be done, people left to be comforted and a pair of large shoes to be filled, before I could truly mourn.
I cried into my pillow all night. I told myself that I wouldn't. But as the waves of sorrow came crashing down, I just couldn't help myself. I told myself that I had to be brave, I had to be strong, that now more than ever, I am a man.
And I cry. For all that I've left unsaid. Respect, love and my last goodbye.--
For in that sleep of death what dreams may come, must give us pause:
there's the respect that makes calamity of so long life;
-- Shakespeare, "Hamlet"
Maybe it's because my life feels so empty right now, but I keep hearing echoes of my past.
Have the courage to take your own thoughts seriously, for they will shape you.
-- Albert Einstein
We delude ourselves into thinking we are original. That all our interactions, love, hate and relationships are nothing like what the other six billion are going through. Feel like slapping the friends who said "I know what you're going through", because they just can't. Can they? Only one day to actually snap out of it, wake up and realize that you've been ad-libbing your way through a lost script written and replayed unrehearsed in pretty much every corner of the planet.
The realization that I'm ordinary is pretty much a revolting thing to digest. But it's kinda hard to dodge, when you can just press play and listen to this.
It is amazing how many eggs one can break without making a decent omelette.
As I leaned on the wall of the bathroom, huddled down to reach the payphone to my ear, all I was waiting for was the voice at the other end to smile and say Hello. As much as I wish I could talk to it, just listening didn't seem to help. People walking by constrained me, timezone you were in restrained me and thus the payphone betrayed me. Couldn't shout what I wanted, couldn't hear what I needed - not even hear a goodbye right, nor say those thoughts which burst into my mind. Perhaps it's the hope that brings the pain, that to talk to you would fix my day - but to have it denied again & again. You are busy, I'm eating lunch, reasons many and then a bunch. Can't blame the system, can't blame the phone. It's just that you & I can't find the time. Miss each other, but miss the time.
I guess sometimes what you really run out of is time. It's a long way round to the start and I guess it'll just take time, what I have & what I don't.--
Perhaps the magic would last. Perhaps it wouldn't. But then, if it doesn't, what does?
A ship set sail on a new sea, with a destination unknown. Carrying on it, a cargo dear to me. Across the river and into a world that might not be. Gone away, never to come back. To find his peace with that world, having given it up on this.
And I was left on this shore. Left behind. Left alone, waving goodbye. Left waving goodbye ...--
Do not seek death; Death will find you.
But seek the path which makes death a fulfilment.
The road didn't know me, but the streetlights said hello. From the shadows they twinkled their silent message out to me. The mist hung over them like a curtain, parting for my passage. As the wheels crunched over the gravel and stopped, a light shone in the distance.
Someone. Awake. Waiting for me. I ran, ran up all the stairs. Burst open into the light and a voice, all but whispered "have you eaten?".
And I knew I was home.--
do not try this at home.
I'm not alone. I'm just lost. I know where I am. I know where I'm going. I know this way, I've walked these paths before. I know where they lead. But I'm lost.
At a familiar crossroad again. Been here before, taken all the forks, gone the full distance, come around full circle and back to square one. Moved over, settled down, played around and even took the detour - from there to here and back. But my heart whispers that somewhere up there, is there a path I skipped, which takes me away and hides me away.
A way forgotten, in haste or carelessnes. There must be a way - I need to find a way to cut a path across the hills and valleys of life. Passing the crests and troughs like a rough rollercoaster ride of emotions. Travel alone, but arrive together.
Or maybe just pass by. In this vastness of our lives, we pass each other by - a look and a voice. A light and a signal, then the darkness and a silence. And yet again. Crossed paths and meandering routes marking our journeys across this lanscape of existence. There must be a plan, a map to consult, a compass to travel with and the stars to guide you by.
But this is not the map I need. Directions are not what I need, I need a destination.--
Predestination was doomed from the start.
You are disconnected, you live in your own shell. The world exists for you only when you wish it to be. Your world is one of your own, independent from those around you. And you learn to enjoy the silences, they carry their own sense of meaning, peace and serenity.
And one day you forget how to feel. Caught up as a spectator to your own life, watching, taking apart and doing what's rational. Being successful, but completely unsatisfied with your own success. It's not that you don't crave for meaning, but it's like a tango with the world in lead. You realize that you've lost purpose, drive and emotion - but it's been taken care of.
Of all the things you miss in life, that's what you miss the most - emotion. Pure indiluted irrationality has leaked out of your mind, leaving a completely rational automaton behind. Every action you take is followed by a Why? and one day the answer "just because" stops answering it. And it feels like it's never been enough of a reason, anyway.
Living in the present. A pitiable existence, a slave to your senses. Never nostalgic about the good times of past, never looking towards anything in particular. You eyes, ears and intellect guiding your hands. Doing what's needed - no more, no less. Somehow rationalizing to yourself, that you're just waiting for something. Something that signals the end, turns the page. You know you need something, but not knowing what you need. Spending your days, waiting for your real life to begin in full earnest, with a happily ever after.
Comfortable. Sane. Numb.
Sun rises one day and something in you awakes. Trapped in a perfectly logical box of thought, it tries to break out. Illogically, it seeks to renounce everything that makes you comfortable. Seek pain, not enjoy it - but need it to break out, start feeling alive again. The veil that is laid over your emotions is torn to bits in a fit of anger and desperation. You hurt yourself, you want pain, for the lack of anything better. You hurt others, perhaps you run away from those whom you might. But most of all, you cut yourself open & bleed.
Understanding it was hard. Pain - it's only catharsis. The puff of smoke as you cauterize your endless haemorrage of reason, to be human again. Deal with it, learn to live again, love again; laugh again.
Wait, did I say "again"?--
Never look back, the view is never as good.
There is not one life which does not end. There were days when I was afraid of death, not because mine was next. But to lose a friend, a father or a mentor - to feel the loss that would stay alive. Death does scare me so, because of how ordinary it has always been. For you does not knock, nor toll the bell - but hark, it tolls, but it does not toll for thee.
Hear the bell and I weep for me.
For the one who's lost is really me.
Death is beautiful when seen to be a law, and not an accident - It is as common as life.
-- Henry David Thoreau
Ashamed I'm not to borrow the words of te inimitable Jerome K Jerome.
We are but the veriest, sorriest slaves of our stomach. Reach not after morality and righteousness, my friends; watch vigilantly your stomach, and diet it with care and judgment. Then virtue and contentment will come and reign within your heart, unsought by any effort of your own; and you will be a good citizen, a loving husband, and a tender father - a noble, pious man.
But as someone remarked "nobody starves anyone else".
It is very strange, this domination of our intellect by our digestive organs. We cannot work, we cannot think, unless our stomach wills so. It dictates to us our emotions, our passions. How good one feels when one is full - how satisfied with ourselves and with the world! People who have tried it, tell me that a clear conscience makes you very happy and contented; but a full stomach does the business quite as well, and is cheaper, and more easily obtained. One feels so forgiving and generous after a substantial and well-digested meal - so noble-minded, so kindly-hearted.
I always thought it was just me...--
Man doth not live on bread alone;
but philosophy baketh no bread.
It's a very liberating sensation. But for those who have become accustomed to seeing me with long and curly hair, this must come as a shock. The summer was getting to me and my other reasons to keep my hair uncut have long since disappeared. And so has my hair.
After having survived countless threats by several (near & dear to me) to have it cut during my sleep, my current crop of hair has been reaped. I've come to realize how much of a hassle it had been. Except for the bright April sun beating down on my head or the newly acquired intimate knowledge of A/C vent locations in office, everything else seems to be going according to plan.
And after all, it'll grow back. It's not like this is the first time I've doen this.--
Worry about your hair too much and soon you won't need to.
In the last three years, very few things have stayed the same for me. Hardly did I think when I walked into my cube in Feb 2005, that I'd still be sitting in the same exact cube when 2008 dawned. My team changed, my entire upward hierarchy changed, even the company name changed - but hidden behind the walls of 3A-14 I sat. Slept there, ate there and sometimes even did some work.
I've come a long way in those three years, but I hardly moved at all. But perhaps this world did move a lot and all's relative.--
This Universe is populated by stable things.
-- Richard Dawkins
We are all so much together and yet we are all dying of loneliness.
-- A. Schweitzer
It's hard to let go of people.
Easier it is to push them away, drive them out of your world and pretend that your paths never ran together. To ignore them, avoid them, separate out their world from yours.
But sometimes the hard way's the easier, the short way goes on longer and life's too short to take the long way around.--
A man can be happy with any woman so long as he doesn't love her.
-- Oscar Wilde
Nothing but echoes.--
There is nothing new except what has been forgotten.
-- Marie Antoinette
Run away I did. Not from myself, nor my troubles.
But run away I did - from whom I'd have hurt.
Run away I did, for their pain I cannot borrow or share their sorrow.
Run away I did, if only to come back. Come back stronger.
Run away, I did. But no longer.--
Life only demands from you the strength you possess.
Only one feat is possible -- not to have run away.
-- Dag Hammarskjold
Your stress level should be a measure of the work you're doing/done, rather than the work left.
At least, that's the official policy - but it's not quite working out per policy these days.--
Of course there's no reason for it, it's just our policy.
Driving a car in the US seems to be a complete peice of cake. There's none of the hassles of a stick-shift/clutch system with an automatic shift, the roads are wide and nearly all parking lots are easy to pull a car out of. The new-fangled GPS thingys ensure that I'm never lost and the most reassuring phrase you'll ever hear is "recalculating ...", when you realize you've missed your exit.
So far, I've driven once to San Francisco and a fair bit of the freeway to Mt Diablo. In both of the trips, the hardest thing I had to do was drive up there in the seventy MPH speeds. Driving in India has given me a sort of "expect the unexpected" sixth sense which makes me slow down as I expect merging traffic to cut across my path. Just pure speed does not bother me that much, as I have driven at higher speeds on Indian roads. But that was mostly a dare, combined with suicidal insanity, on home turf - but maybe I'm not that young anymore ?
And then in downtown, I suddenly started driving on the left side of the road. Half a second and screams from premshree & bluesmoon later, I swerved back onto the right. Still have to unlearn a bit of muscle memory that serves as my driving. To actively apply my attention on driving just takes too much effort. The task of getting from point A to point B, possibly passing through point C, can be accomplished with a combination of VTA, caltrain and BArt. And that's the plan, going ahead.
In short - been there, drove that and nearly got a ticket.--
Left is right and right is wrong.
-- Drive-in India
I'm re-evaluating my current hairstyle. No, this is not out of any newly acquired fashion sense, but more due to image-mismatch reasons. I've never had a hair style - I've just had hair PERIOD. But leaving my hair as it is has of late become a slight problem. It apparently is a very misleading signpost.
So, a snippet from a portland street car experience. As I sat in there day dreaming, a young punk girl came and sat next to me. With all dyed hair and multiple ear peircings, she looks about 17 or 16. Hardly the type to skip a window seat to sit next to me. And then the conversation follows.
punk chic: what's up ? (*chin up*) me: uh... just ... *mumble* ... stuff punk chic: got any cigarettes ? can I lift a smoke ? me: sorry, I don't have any. I don't smoke. she: Oh, you don't smoke *tobacco* ?
May all your weeds be wild flowers.
Apparently the median for my office persona is a straight faced automaton. But about a fortnight ago, all that changed. I realized the obvious solution in one of those moments of lucidity - "don't worry". It might sound simple, but it takes a lot of effort to side-swipe the society's influence to actually say don't sweat the small stuff to yourself. And it takes great tragedy too, to separate the small things from the large and the large from the inconceivable. So here's how the book would look like if I wrote a book about it - which I won't, but I still love the cover (click image for bigger version).
I've generally stopped being upset by small setbacks. Is only life, as they say it. But it took a quite large learning curve before I dropped into this chilled out world, where everything's cool (eventhough it is summer) and I get the important things done right. I guess I'm not the first one to actually go down this path. Rather than say it out myself, let me pull out those words from the pen of Bill Watterson and the mouth of that cheeky six-year-old.
But could that really be ? I suppose so ... it works at this end.--
"That depends a good deal on where you want to get to," said the Cat.
"I don't care much where--" said Alice.
"Then it doesn't matter which way you go," said the Cheshire Cat.
The time I've been at Yahoo! has been the best couple of years of my life so far. Sure, I've had my share of problems - some with work and some otherwise - but who hasn't ? The thing I truly treasure about these years are the sweet sweet memories. There's a lot that happened which I'll remember for a long long time to come - because I've changed from that other guy who joined-up two years ago and that's no accident.
It wasn't the smooth ride it looks like in hindsight. I admit it, there were all sorts of days in there - good and bad. But most of what I remember is time spent with friends - premshree, spo0nman, teemus, sabiokap, hitesh, sid and aathitude. Hanging out in the cafeteria, playing pool, the 4th floor balcony at 3 AM`.
In fact, you could totally blame my current sanity on pool. That pool table has been a place where I could go to just to get away from the computer. More than just playing the game, there was a point when I got more than usually good at it. The friday evening pool sessions were my time to shine and I generally came back upto level for every game I lost over the week. There is something about sending in your status report that makes you really kick ass in pool.
And then there were the crazy hours. Coming in to office just in time to complain about the buffet lunch and leaving just in time to complain about the early morning traffic. But these days, when I feel like working, I just stay at home and concentrate on working rather than head out somewhere where there's an near infinite supply of friends and coffee.
But after two years, it doesn't quite have the same small company feel it had. I had decided that I'd stick around for at least two years - no matter what. That is done.
As the walrus said, "The time has come to talk of many things" ...
PS: Happy 12th birthday Yahoo! ...--
How do you expect me to remember your birthday when you never look any older?
-- The Diplomatic Husband
A Buffet Intellectual is a less disparaging term than the more cynical pseudo intellectual, which has seen far more use than required. The term does not make any kicks about the actual intellectual's ability, but in the dilettante attitude of the individual. The random samplings of life that such a person goes through leaves him (or her) a veritable gold mine of random conversations but very little to seek them out for.
To identify a buffet intellectual is very easy - just start talking about something in the abstract and watch the classical allusions roll by. But the easiest way is, of course, to peek into the bookshelf. In the midst of all the professional books, you'll find books about Evolution and Dinosaurs. Or half a shelf of books about Quantum Physics and the Universe. Look more closely and you'll even find books about Economics and Social orders. Heck, you may even find a couple of books about Human Psychology.
A nibble here, a nibble there and not a mouthful anywhere. Such intellectual butterflys are curiousities who rarely achieve anything by such half-hearted dabbling. What is needed is focus and perseverance - not two days' worth of everything.--
Curiosity killed the cat.
Last year, Atul had coined a phrase, "The Guru Shishya Syndrome", in a mail to the list. The year has passed us by and now in one of the recent posts, he has had to re-hash it, only with a little bit more sting in its tail (Crikey !). And I say that probably because it touches a few raw nerves - something which was probably more my fault than Atul's. But just so that you know what I'm talking about, let me re-quote that entry with my inherent biases and emphasis added.
For example, if you are involved in a FOSS project and have solved a problem in that area that helped the project improve its performance, ... stop believing that your contribution was too small to talk about, stop believing that your "overlords" in the headoffice in the USA are the only ones who can think.
I don't have a talk proposal for FOSS.in/2006. I had been vacillating about giving a podium talk for a while - I'd rather talk with a 10-15 member group than "to" 45. But eventually, I didn't have to make the decision. On Sunday as the deadline approached, I was sitting at a close relative's bedside, in Cochin hospital. But even without that twist of fate, I wouldn't have been talking about APC or giving a generic dotgnu talk. But before I go into the reasons for such unreasonable behavior, let me digress into some other territory.
'Jool Noret' effect: To give you some context, this is a character from one my favourite fantasy books - Dune. An excellent fighter who spent a life time achieving perfection with melee weapons. But what sticks in your mind, while you read about this character, lost in all that drama, is his philosophy - "I have so much left to learn, to start teaching".
And as I've previously blogged about, shining a light into the darkness of your ignorance only serves to highlight the shadows cast. In essence, what makes me good (IMHO) is what prevents me from stopping the journey to evangelize or pick laurels.
And even if I had actually gotten time on saturday or sunday - I wouldn't have submitted an APC: Maximizing Throughputness talk, I would've talked about something new, fresh & risky - something like Scripting your Application or probably about using lua or python to script your events and build plugins in (like this). Last year, I did a talk on Firefox: Plug it in - and I'd never written a single firefox extension till the talk schedule was out. But that was a good talk, because I understood and tackled a lot of the problems a newbie faces while writing their first extension. Compared to that, my contributor talk on dotgnu had a definite So On & So Forth feel to it.
I can't afford to experiment with topics or technology at say, LCA (here's why). For my LCA talk proposal, I'm actually planning to write a minimal basic-block JIT for PHP to show off libjit, but that's not quite pushing the boundaries for my personal knowledge - it is more of use than explore. FOSS.in, on the other hand, is as close to a home ground as it gets. That gives me a bit more confidence to do something which I'm not already an expert in. Rather than rehash what I already know, I'd like to pick up something new and run with it.
I'm quite aware that this is completely at cross-purposes with what a conference organizer would obviously want. Rather than have me skim the surface of a new topic, they'd want me to go deep and technical in something I'm really good at. But that sort of expert speak works only with a lot of audience involvement which just does not happen in a group of 50+ (hardly even in groups of 20). Bouncing ideas off others requires that you shouldn't need to wait for someone to shut up before you speak.
So all in all, I'd rather do a BoF with 20-odd people and end up with a new idea, than go the Attention Class! route that the podium talks force me to. If I didn't submit a talk, it had nothing to do with any bigshot from the US headoffice, but with fate keeping me offline on the weekend.
I didn't decide. It was decided for me.--
If you understand what you're doing, you're not learning anything.
-- A. L.