I'm off facebook, after 9 years of ignoring friend requests.
This was not some voluntary choice to spend less time on useless things.
Facebook in its infinite wisdom, locked me out and demanded my driver's license (or green card, that will also do) to unlock it.
I really wish they'd just delete everything instead of holding it in some deep archive limbo.--
Nobody exists on purpose, nobody belongs anywhere, everybody's gonna die. Come watch TV.
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
Today's the first day of year 5 for me in Hortonworks.
I've now spent more than a decade getting paid to do open source work. But until Hortonworks, all work I did was tangential to the business arm of the company. All my customers were internal, which meant mostly I got privileged access to the problems. The bug resolution for complex issues never had to deal with walls of customer solutions obscuring my insights into the system. There was never a day when I couldn't tell someone from Yahoo mail that I was working on another issue with Frontpage.
During my Zynga period, I learnt how to sell your ideas to a product focus team looking for solutions - to explain better, to justify my arguments with numbers, to convince and to persuade. To keep my sanity, I also learnt to pick my battles, drop issues and walk away when the friction gets personal.
I never had to sell to a customer direct - even at my best, on the books of the company I was a cost, an engineering expense. My work at Zynga or Yahoo, was helping the company bring down its bottom line by a fraction without ever touching the top line, except by accident (yay, faster load times).
This is generally an area of work with no real conflicts of interest built into it - use of APC for instance was mandated and in most cases, my code was the only available solution to the problem. Giving up on APC meant switching to HipHop, which also I worked on (never got the CLA signed by Zynga, which was sad though). The pattern followed me through out the period even through ZCloud build-out, through ZPerfmon, ZProf and pretty much everything I touched.
Hortonworks has been a completely different experience. I'm still a developer, but my contribution to the company has turned into a top-line enlarging investment in most scenarios. The work I was doing with Stinger was actively bringing in more customers and indirectly, more revenue in. This brings in some interesting conflicts for a developer, when talking to a customer about your features, because that particular transaction starts off as a zero sum exchange of money with the implicit declaration that the "solution" is a non-zero sum win-win.
This shift in the nature of my job has been interesting. The role now requires a completely different social skill set which I didn't need in any job before this. The goal is nearly the same, but conflicts fall onto my lap instead of being able to just say "Zynga first" to end a discussion.
Honestly, it's been a bit of a culture shock.continue reading "Hortonworks: Day 1, Year 5"....
Boredom is the feeling that everything is a waste of time; serenity, that nothing is.
-- Thomas Szasz
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.continue reading "A Rush to Final Judgement"....
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
This is very definitely not about computer monitors. It is a story about data hashing, distribution and indeed re-distribution - about divisors, primes and more than all of that, downtime & costs.
In all honesty, I'm just posting a conversation from a coffee break almost two years ago (and some context to frame it). I'm writing this down now because it has reached the edge of my memory and is about to fall off.
One day, Prakash in the middle of coffee started to talk about the pains that powers of two cause. I assume, it was because one of the membase clusters (now called zBase) was running out of capacity and needed to be doubled in size.
Doubling in size was the only way our clusters grew, which was all well & good when the product was on its way up. It means you can double in size rather rapidly and without any real downtime. But it does cost a lot of money to keep doing after the first or second rehashing. Doubling made even more sense in a master-slave setup because the old cluster became the new masters and dropped half the data each, which would then be caught up by a new array of slaves which meant it would happen without any downtime for data copying and was a nearly no-risk operation.
This is relatively straight-forward, because the masters only have key invalidations happening during the re-shard. No data actually moves between masters during the reshard. This is brilliant because a few seconds after you flip the switch, the master array is ready to update and the slaves have a few minutes to catch up. But this is very expensive. Say, you had a 4 node cluster serving out data and eventually node1 runs out of space, then you need to add 4 more extra servers where otherwise only 2 would have been sufficient.
But this is primarily a one-way street. You cannot shrink a server cluster to half its size by this method.continue reading "1440 > 1024"....
There is no safety in numbers, or in anything else.
-- James Thurber
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
This is a written ovation to Tahatto's, "Romeo & Juliet: No Strings Attached".
I'm sure a teenager from the 90s set the score to this. The 90s teenager in me watched this and knew every sound bite was aimed right at me. To hear Pehla Nasha for Juliet's intro (and other Karan Johar references) and laugh needed someone who was 14 in the 90s - and still is.
If there is one line I will truly remember this play by, it is the monologue of Tybalt. He laments that the it is upto the villain to keep the plot moving.
And it is true, to let go of the plot takes perhaps a few good natured gestures from the villain. Perhaps to to walk away from Mercutio when the swords were drawn or perhaps even devious cunning to treat the Montague-Capulet romance as the foundation to eventually raise his own relevance in Verona. It would fall far from the material but if you need an example of what happens if the Capulets decide to lead Romeo on, watch malayalam's Godfather.
And in fact, Juliet too. Her rant about her wishes stands out in the play. Even removing the tinges of modern feminism from that monologue, it has to be admitted the men run the show. Neither Tybalt nor Romeo, well nobody at all, actually listens to her wishes for peace & love. Perhaps her suicide plot was a last ditch measure to have her thoughts heard, just like several other calls of attention which have ended in tragedy.
Even Mercutio haranguing the audience, breaking the fourth wall after his death. Only to ask if the audience is so jaded and detached, that they laugh at a man's untimely demise.
But the funniest of all are the multiple characters played by the two puppets, who despite switching characters often break to reveal that they play others as well. In particular, the death of Mercutio, only to be followed by Romeo's confusion over Benvolio played by the same. It is self-aware in a rather direct way that this is a play within the stage, performed by different hats rather than different actors.
Of course, for me the most meta reference was the play being run by the players themselves, with a very large & obvious presence of the lack of a director.
After the play is over, they decide to do it again, because to follow the script is the only way to get the girl, even if only for a little while. And therein lies the rub.--
O happy dagger! [Snatches Romeo's dagger.]
This is thy sheath; there rest, and let me die.
-- "Romeo & Juliet - Act V, Scene iii"
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.
We begin this story in the middle.
Six of us have just clambered over last rocks onto the crater rim of the planet's highest free standing mountain. We felt like we were on top of the world, standing there with a cup of tea, with the sun rising behind us with Mawenze in sillhouette, a full moon on the western horizon and a cutting wind blowing from glaciers the next generation might not get to see. And for me & Kavi it was one hell of an anniversary!
The night seemed like a distant dream, from where we were. We'd started walking sometime before midnight, from School hut down in the east of the mountain. At first progress was slow and measured, legs freezing up as we took stops. Over the night we had left Navdha behind at Hans Meyer cave because she couldn't keep pace with the rest of us. She was going to make it too, but that was no place for waiting. We had to push on towards the peak on the west.
At Stella Point, we dropped off all our backpacks and headed up. Sleep deprivation was competing with the oxygen withdrawal at this point and with unsteady legs we got to the very top. Not that there's anything to see there, just a board and tickmark on your list. But it did mark a very important point in the whole trip. From this moment now, everything would be downhill.continue reading "Snows of Kilimanjaro"....
"Because it's there."
-- George Mallory (on climbing Everest)
Friday was my last day in Zynga.
Zynga has been a very different place for me to work in. Coming from Yahoo, where the tech folks had sway over the company, to a place where the product managers were the core of the company was jarring to say the least. But adapting to thrive, indeed succeed there has polished off a few rough edges that I had.
I've sat at the cliff's edge between what's management and the frontline. I've stared into the abyss and stared it down. I've seen exactly how incentives work and more importantly, when incentives tend to work against you. I've learnt to temper my competitive spirit to skip the usual pitfalls of meritocracy. I've understood how to work with people who are not engineers.
I've known the difference between talking & persuading. To effectively bring people over to your side of the debate - whether it is with statistics or merely by running experiments. In some sense this is more diplomacy than being technically right every time - but there's no value in actually being wrong. And I got better at saying No.
I've learnt what risk looks like. Very early in this "game", I learnt to play offense. To gauge a risk, take it and occasionally clean up afterwards if it blew up in my face. And in some sense that's the general motto around there. I became quicker at churning out a solution, battle testing it and minor setbacks weren't really a deterrant anymore. And I was brave.
I got to treat crisises differently. I was on the on-call rota. Instead of panicking and hyperventilating, I started treating them as merely opportunities to offer solutions. And in my spare time, I prepared for these crisises which turned out to be massively productive moments of innovation. I tried to get some of it opensourced, but a lot of it is locked up in the paperwork that I never finished.
I've had my moments of frustration too. There have been scenarios which were charged with egos and people politics, which are probably no different in any other workplace - people trying to play schedule chicken, folks trying to delay others with scope creep, territorial engineers telling me to keep off their turf & avoidable meetings where people duel with power point slides full of promises they can't keep. I've occasionally gotten demoralized about all that, but I've managed to move beyond that and build out a stronghold around me.
And finally, the best thing that's happened to me was working with the senior technical folks in the Bangalore office. People like Binu, Prashun, Prakash & Jayesh have been a big part of my development at Zynga. And not just them actually, the whole team is full of fun folks who don't really consider work as the end-all of their daily life.
It felt like I was part of an uber startup!--
The world hates change, yet it is the only thing that has brought progress.
-- Charles Kettering
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