I fell in love with computers because of Ctrl-Z.
Until that moment, I loved Chemistry with all my heart.
During high school, right upto the time I was sixteen, I had all but assumed that I would be a chemical engineer of some sort. Inorganic chemistry was not just a subject in class - right around commuting distance was ISRO's Liquid propulsion labs and right over there near the beach lines were the Titanium sands of Kerala waiting to be smelted. I took trips to the CSIR-NIIST from school, seeing cryogenic superconductors levitating over magnets and was dreaming of changing the world wearing a lab coat and safety goggles. And if I wanted a different pathway than pure research, the Tatas were the next stop for an engineer who wants to melt things and pour them.
I had chemistry oozing out of my brain, but very little could be done without actual equipment or supplies.
Even today, I watch NileRed to indulge in this part of my childhood fantasy.
But besides the obvious problem of reagents and facilities, Chemistry had two other main problems for me.
First is that it is a yield and volume process - to make a significant quantity of something takes a lot of ingredients if the yields are small. Anybody who has cooked cabbage or spinach know this feeling of unexplainable loss, which is not relevant to the recipe, but you definitely feel it. Not just that, often it is time consuming to actually extract what you have successfully synthesized. Even if you are extracting something already present, getting a whole gram of pure caffiene takes a ridiculous amount of solvent steps and time, along with a pitcher of espresso. Once you've got the method right, doing the process once does nothing for the next cup.
Second is that the longer a process is, the worse a mistake is. This is sort of like cooking, where you can't really get the salt out of a soup without taking out some flavour too (yes, yes, I know how potatoes can). But in general, once you hit a dead-end while exploring, you need to often go back to square one and start over. This means that every step needs to be contemplated before deciding to waste some ingredients on a theory. This was in some way, a sort of chilling effect on your inventiveness as a chemist (or cook). More accurately, there is a lot of analysis paralysis and/or regret involved.
Not everything was like this though - electro plating as a kid was the exact opposite. And growing giant permanganate crystals was too. But those aren't experiments, they're fun activities with exactly a single step. That's nothing like a lab book full of failed things you tried.
So there I am, with Chemistry in every pore, resigned to the fact that first I'd get my my BSc and MSc (both my parents had post-grad degrees, so it was assumed - eventually my sister got her post-graduate degree too, my wife has hers - I'm the only one who doesn't *yet*). Then, I would have to spend years stuck in a loop, repeating the same process steps for a professor who would use me as a research chemist to chase some theory, while I earn my doctorate. Paying my dues, until one day I get my own autoclave, fumehood and centrifuge or whatever I needed to follow my dreams of emulating Haber or Heroult.
If I was a chef, this would be the equivalent of cutting onions, peeling potatoes and stirring soup, till you 'make it'.
Enter Excel into my life. All of a sudden, these expectations are upended in a single moment.
My dad takes me along to a class he's taking on spreadsheets. His goal is to simplify preparing his tax returns, which take a literal spread sheet (a tabloid sized worksheet with boxes) and a casio calculator with a AAA battery, which adds numbers a little slower than my mom, but divides them faster.
I'm uttery enthralled by a bit of technology which has no concept of a yield (there is, but power isn't a real consumable). The more data you put in, the more results comes out. Even better, the complexity is in building the mechanism, there is no real scaling required to repeat it. If you can do your taxes once, you can do it for everyone who's willing to type their numbers in. There's no actual math to be done, after you put it "together", the computer does the math for you if you say =A12+B12.
The part that blew my mind was how the system could be put through its paces while building it. It didn't require you to build a whole scaffolding and start only when the plan is ready. You could literally build on top of the ruins of your previous mistakes (the disillusionment about that came much later). It didn't matter how bad the mistake was, all you had to do is go back to the mistake and start over from right there.
If you were really worried, you could just make a copy and try something new instead. I felt like I could play with it without thinking of the mistakes I could be making - I had to discover my mistakes, not prevent them, because I could always go back and fix them right there and keep going. Knowing that you made a mistake wasn't a soul crushing, back to square one moment. For the first time, it felt like learning.
And for the first time I was trying things, even the ones I knew were mistakes, just to see what happens.
It was not like I hadn't experienced learning by correction before - every single problem in a class worksheet came with the ability to cross-out a few steps and start over. But unlike that, with computers, the end result was as good even if I had made mistakes along the way. Video games with save points were almost the same, but they held no promise of repeatability. Starting from that little spreadsheet, the final result was not just repeatable for the next set of inputs, but also beautifully perfect after it was complete.
In all honesty, the code I write these days feels nothing like that - the code is piled on top of previous mistakes in the name of backwards compatibility, the mistakes aren't all caught and just because it works today doesn't mean it will work tomorrow (or even compile). And once it all works perfectly, there's the urge to actually do it properly without the scars embedded in code.
Anyway, since that day I've been chasing that feeling of freedom that came from sitting next to a computer with my dad. Doing meaningless things and hitting undo.--
Nowadays most people die of a sort of creeping common sense,
and discover when it is too late that the only things one never regrets are one's mistakes.
-- Oscar Wilde, The Picture of Dorian Gray