[Techie Tuesdays] Arindam Mani Das - A computer and smartphone genius, full of self doubt
Here's a short conversation from my interview with today's Techie Tuesday -
Me: Dude, how are you?
TT: Don't ask man, I have a COBOL exam to write tomorrow.
Me: Why do you even need to study for computer exams anyway?
TT: Too many languages in my head. I keep confusing C and Java code in the place of COBOL code. It's really annoying.
So, today's Techie Tuesday doesn't believe he qualifies for the column. He's a student, pursuing his MCA from a college in Bangalore. Just another ordinary guy, right?
I first met this guy almost a year back. When he's not making music videos or star gazing, he's building MIS software for the Assam Government, building kernels for Android devices which have been even forsaken by their OEMs and mobile apps. He started coding in his 5th year of primary school and was a proficient coder even before he got into college. Yet, he would proclaim profusely that he's not there yet. It is this attitude that makes him a perfect Techie Tuesday.
Meet Arindam Mani Das, a computer whizkid and possibly one of the most talented computer programmers in India today.
Who learns to code in BASIC in Class 5?!
What were you doing in your 5th year of school? For the vast majority of us, it would have been going to school and all fun and frolic. But Arindam was learning how to operate on DOS and how to code on BASIC. He says, "There used to be an evening computer coaching center in Guwahati, which my father thought I should go to. Luckily for me, I started to enjoy it a lot. I learnt how to operate on DOS and started to code on BASIC. It wasn't anything great, but it was really fun."
He shared that after having worked with DOS, the GUI on Windows 98 really put him off. He says, "I wasn't used to a GUI. The guy who installed the OS on my computer had told me to click OK at every dialog box that appeared. I really messed up a lot of things because of that and it took a good amount of time to realize what I was doing wrong!" However, in the process, he became proficient in C and C++. He says, "I didn't have access to internet back then, so we had to depend on magazines like CHIP, to know what's happening in the computer world. Then learning from books from the library."
After the good old fiddling around with computers that we all do, Arindam took to Java. He says, "I went to the nearest NIIT coaching center and enrolled in a Java course and essentially that was my first formal introduction to computer programming." Arindam was in 9th standard then.
A government project
"I used to work for an NGO which worked very closely with the Assam Government. The Diary officials wanted to get a MIS built to manage and track their expenses. It was outsourced to a firm in Mumbai and I was asked to review it. I thought it was appalling. So I offered to build it for them instead."
Arindam was asked to quote a price by the Assamese government. He says, "I said 50,000 Rs, which I regret even today! I should have asked for more. So, I built this program in a month. But made a rookie mistake; I didn't test it on other machines. I found this out on the day of the inauguration, which was terrible. I had used some .NET APIs for the program. My machine was configured to run it, but not the machines that I was going to install it on. Luckily, I figured out this dependency error and fixed it before it could be unveiled." Arindam also learnt security and built a 16 bit key for the software. He says, "I used to use pirated software and we got a lot of these key generators and crack files etc. I learnt how to build it for the MIS. If you look at it, it looks exactly like the key generators that came with pirated software!"
Arindam shared that he derived a lot of confidence from this stint. He says, "It wasn't a full MIS. It could do the basics, like track expenses, generate reports etc. But moreover, it gave me the confidence that I could complete a project on my own."
Smartphones, his first love
Arindam is popular in the XDA forum for building the Galaxy SL's most stable Kernel. But his love affair with phones go back to the days when owning a Motorola phone was still cool. He says, "The first phone that I had was a Motorola phone. I was a user back then and I used to go to various internet forums, flash cool ROMs on my phone. But when I switched to Symbian, it was a completely different story. You couldn't do much at a system level and building applications for it was a real pain. There were no set UI standards and I didn't like it very much."
With the money he got from the government, he brought himself the Galaxy SL, which was at the time a really advanced phone. But with the rapid pace at which Android was developing, it soon fell prey to the upgrade problems that still riddle Android phones. He says, "I got acquainted with Cyanogenmod and XDA forums, but after a point the great XDA-Devs couldn't find a fix for the problem. So I decided to solve it myself."
The problem the phone had was that it had a bug where the phone's screen wouldn't switch off, hence draining the battery greatly. "I started reading about the way Android was built and downloaded the source code. The problem was in the Kernel and I fixed it. In the process, I released my own kernel which included the fix, along with some performance enhancements. It was quite popular. "
Arindam further shared that the recent 4.2 update on Android has caused the same bug to occur again, because it's moved to kernel 3.0. He says, "Something else is causing the problem now. But I've lost my phone. So I really can't fix it now."
"I sometimes feel like a god, and sometimes, I feel like I'm one of them."
MCA is turning out to be a frustrating experience for Arindam. He says, "Honestly, a post graduate course should have some flexibility to it. But you can't blame them. There so many post graduate computer scientists who don't have a clue about coding. Sometimes I feel like a god that I know so much, but because I'm in the same system, I sometimes feel like I'm one of them."
He shared his experience of meeting with Richard Matthew Stallman (RMS) - "He had come to the Guwahati University and the kind of questions that people were asking him were so sad! Things like 'can I play games on Linux?' and RMS would retort in his typical style and make fun of them for mistaking Linux for an OS. It's a kernel. But you know what the worst bit was? They didn't even know they were being made fun of."
On a parting note he says, "Forget knowing basics and things like that. Just get your hands dirty with code. It's really easy to pick up coding, if you compare to say 10 years back and there is no excuse for not doing so, especially if you're a computer science graduate. Think of it as a career choice only if you know how to code."
Even at the end of the interview, we had the same discussion of him not being qualified for this column -
Arindam: I still don't think I'm there yet. There's so much I don't know. Sometimes I take really long to sort out some issue and the next day when I look at it, I think, 'it took me a day to solve that?!'.
Me: Didn't you say you had a COBOL exam tomorrow?
Arindam: Okay, bye.