The earliest I can remember is at school when I found questions of physics and the universe very interesting, I never would miss the morning programs on discovery channel before starting to school. I was also known in class to ask frequent doubts. I loved to play around with bulbs, switches, wires and battery (6th grade). I was much interested in biology and zoology when the subjects were introduced (8th grade). I won a science day competition – thanks to a book from landmark full of experiments. Mine had ball bearings and a battery fan simulating forward motion of an aeroplane propeller. Back at school I fancied either becoming a scientist like Edison or Einstein or a psychiatrist (i thought I must further read psychology and I have a thing for understanding human behavior) or an army man (flying jet planes and being in the army was like the thing to do)
Since my 6th grade, I wanted my own computer. The first computer application I used was the paint in my dads office, likewise monkeys bombing towers was the first game I saw there. They captured my imagination instantly. Computer lab sessions were my favorite during school, I used to be very alert and among the top (as far as I remember). The first applications I learnt on the computer were turtle logo, corel-draw and html. I participated in a html competition in 10th grade and made a website out of frames showcasing hundreds of images of jet planes. I was most impressed by the work then.
C was the first programing language introduced to me and I fell in love with programing ever since. Be it small puzzles using for loops I used to apply my mind on them and enjoyed it. I realised I could make interactive applications or other words games and so began my application journey. My first program was a two player tic tac toe. Thanks to my very enthusiastic classmates, I came to the possession of mouse header file. With mouse and initial experiments of graphics I was lost in them. Every example program on turbo-c was utmost useful. I used to try around different combinations and outputs. I made mine sweeper, tap the ball, jigsaw puzzle and few others. my master program was a painting application. It had drag and drop tools, a menu bar, selectable colors and tools, save and load etc. I was full of enthusiasm but left without knowledge of other industry standard applications; after all turbo-c was very outdated.
first year had nothing new, it was more of a revision. Like you would expect, it was fun at the lab sessions. I was again among the top students, I was not one of them who mugged up programs nor had trouble writing my own programs, I always tried the programs by myself at home then did something extra in my class. I wrote a chat application for my lab by just using a file over lan. I formed a peer group who exchanged mutual programing interests, we worked and spent time together. I found each of my labs very useful in understanding and trying out different concepts. I worked on Visual C for User Interface Design, Operating Systems, SQL/Databases, Data structures, Unix Shell programing and System software, Microprocessors (8085 and 8086), Object Oriented Programing, Networks(tcp/udp sockets), Graphics (constructing lines, circles and ellipse without the libraries), Java (applets, swing) and Compilers (flex and yacc)
Again, I had no experience with industry standard applications, most of my knowledge was theoretical. I had to venture out and learn on my own an industry standard application. My friend and I were mutually interested in making a web portal for students which tests assignments are found online. At that time we didn’t know about open source libraries like moodle. We set up WAMP and learnt php. The whole project was all about figuring out the basics. Web was totally new to us at the same time totally empowering. our portal though intended to be for education turned out to be like orkut, it had signup, scrapbook/wall, groups, etc.
Asp.net, Windows forms and Drupal
Immediately after college, I got into the company infosys. the best part of technical training was at mysore. I learnt C#.Net in a few weeks of intensive classes, the infrastructure was amazing. I scored top 5 percentile in the entry tests and almost missed 5gpa overall due to missing few marks on couple of exams, I never used to read, I listen to the classes and go straight to the exams then. Somehow at that time I haven’t yet fully realised what I have learnt, I was still naive. I was put into support as a as.net guy who can try new pages/tools. my first assignment was to create a server reports chart from usage statistics from the database to help managers decide which servers to decommission. I took a graphic library to plot a graph from the internet, I drew line graphs. from no where I got the idea to represent several servers at a time and it turned out to be very helpful for comparison. my client was happy and so was my boss.
I was on bench for a long time, so I had to do what work comes to me. meanwhile this time I was exploring the potential of drupal, with it I had made an alumni portal and all my batch was in it to search and discover people. drupal turned out to be a great way to instantly deploy websites. I had lot of fun with it. Apart from this, I had worked on vb6 application, I learnt it on the go. Then a bit of ASP application, I created a fix with that too.
i don’t want to get deep into my projects at infosys, i’m not too happy about them, reason why I quit. yet there was one project where I learnt much of how things can go wrong. I enjoyed this project the most, we were 7; half of us fresh and rest experienced by a couple of projects. still that didn’t help much, it was again a very novice design. the requirements scared me, it was like a alien document I have never seen before. but only towards the end I realised iff we had simplified our work at the start the bugs would have been to a low at the end. during build each of us had several flavors of coding and putting it all together was a big mess, I thought I was a savior doing some integration code, I thought I was adding beauty/new pattern but only when it went to maintenance I realised it was impossible for the maintenance team to understand that code. as we uncovered requirements over time our db design took the most of hit, it could have have been much better I thought at the end.
also im totally not happy about my final project at infosys, I was copying data from backups to a database, I could not stand with the manual work, how come people did not come up with a automation yet, figuring out an automation stage by stage as well as complying to my manual deadlines was a bit fun. finally what I take away from infosys is coding on C# and ASP.NET, couple of ASP.NET portals, excellent infrastructure and training, it was fun working there because of the place and people.
research in uk
just after I quit in june I leave to uk for further study. it was a research course. the experience was awesome. I had two options on mind before, one – artificial intelligence and two – human computer interaction. I chose the earlier. I read 8 modules today each had couple of courseworks and an examination. many of the subjects I thought I missed out during my bachelors were covered here! nlp and more ai. I worked on sift on vision, perceptrons, neural networks and genetic algorithms – bio inspired computing. ngarms – nlp. scheduling algorithms, machine learning and knowledge/language representation. this is where I started using python and really liked it. finally I started working on an amazing project, its a model over how brain activity modifies structure. I had to make a gui for that.
uk was very developed, I had my mouth wide open seeing how developed they were – transportation, online buying, huge supermarkets, facilities and education.
i found practicing taekwondo to be very engaging, I leveled up till green belt under ITF. I also became a regular swimmer. My interests with video games goes back a really long way, I try to play competitive. During college I found myself having a thing for teaching, I have taken several classes for fresher students on programming.
A company, the next facebook/google, applications to make india developed from transportation, health and education. Research on AI/HCI – cyber brains and cyber networks, thought recognition, brain, learning and language. Learning, Experience, Great Team and fun.
technology wise – django, backbone aws and android.