git branch.

Okay, it was looking like things were finally shaping up gradually.

The code system worked wonders for me. The menu was easier to display, the instructions on how to place the order were clear as day and the code complexity had reduced significantly. Finally, after about 2-3 days of scattered efforts, often in bursts of 1 or 2 hrs, I had a basic module of my system up and running. It had the capacity to handle around 15 unsorted dishes for each course and the final totaling of the bill. I spent some time testing it, seemed that I had got the basic functionality correct. Added some additional lines of code to handle incorrect input by the user, and I was all set, or atleast I believed so. I ran a final cursory glance through my implementation.

Hmmm… Something seemed…. a bit off. Yes, something was definitely not quite to my liking. Even though I couldn’t really put a finger on it. Some part was telling me I could make it better. After giving some thought to it, I realized my own critical reaction to the module so far was pretty much tepid. I mean, yeah it worked and all, but nothing really popped out! If you know what I mean.¬† There wasn’t anything transcendent about it as a whole, nothing that would make it stand out. I guess that’s when I realized that I still had a lot to work on. Back to brainstorming mode!

The next few days were spent in trying to come up with all possible ways and methods to add on to my current module, making it better and more appealing, without compromising the current integrity of the system, and the fact that it compiled ūüėõ I had read up on Java applets and Java Swing earlier, which comes under the graphics part of Java, and which, very conveniently if I might add, was out of the scope of our syllabus. Call it avarice but I was very much tempted to try it out, even though it was risky wandering into unchartered territory. It might just backfire on me, but that was a risk I was wiling to take. So one thing was decided. The second, I wanted the interface to be flexible and modular. Modular = Different classes for different courses = Using the concept of Inheritance. I knew about inheritance, but that was mostly the basics. Applying it to such a broad and diverse system was a different challenge altogether. I went for it nevertheless. I have to admit, it wasn’t as easy as it sounded.¬† I started off with the modular part, because I could directly start working on it as opposed to the graphics part, which required thorough background reading. As I made progress on splitting up my code into independent working modules, I realized how the obscene number of if-else statements and the cluttered code was debasing my whole project. It wasn’t a good coding approach, and was literally begging for a much cleaner workaround. When it comes to programming, its like they say- “If you are copy pasting, you are doing it wrong“. It took me around a day or two, but when I was done, I couldn’t help but admire the finished product. Elegant and suave, even more than I had expected. And it came with a unanticipated feature, now even if the user orders from a particular course, exits the ordering phase and goes back to ordering again from that course, the billing worked as expected, adding to the previously billed amount, rather than just overwriting it. I was jubilant to say the least. I definitely hadn’t seen that coming.

Now things were finally sorting themselves out before my eyes. Very soon, over a period of a week or so, I had the back-end or the basic coding part ready. There were still a number of ways in which I could improve, but I had to make do with it for now, until I got the graphics part I had planned up and running. It was certainly ambitious, but I wasn’t gonna give up without an earnest effort. It certainly commanded a meticulous approach. I started with zeal, reading up on the basic implementations of Java Swing and applets, and trying out a few myself. This opened up a world of myriad possibilities, and I was flabbergasted seeing the power of the language. Very soon I was capable enough to apply my newly found knowledge to my project.

Now the million dollar question- Where can I possibly apply all this?¬†Oddly enough, I hadn’t thought about that before. After giving this some amount of thought, I figured that I can incorporate a welcome page and a exit page, showcasing some relevant information pertaining to the restaurant. It seemed like a nice way to introduce what I wanted to, without seeming too showy and forced. I had to make use of threads and some animation like marquee, so this took a lot more time than I had anticipated. But I have to admit, it was the most enjoyable part of the coding process so far. And the more it was shaping up, the more ecstatic I was feeling. I had talked about something to make my project standout earlier, well this was emanating uniqueness and elegance from all pores. I was now really excited by how it was all shaping up. There were a few small bugs here and there, I tried debugging them. Most of them didn’t give me a hard time in particular, and soon it boiled down to a couple which were still unsolved. Then I decided to not waste anymore time, rather follow the saying- “The best way to deal with unsolved bugs, is to showcase them as unexpected features” ūüėõ

It had worked out great so far, couldn’t have been anymore pleased and content with myself. But my need for perfection was insatiable, coaxing me to improve more and more.

(to be continued…)

 

git push.

I was now into the second half of my term. Less than 5 months to go before the dreaded and fabled ‘Board Exams’ would dawn upon me. I tried my best to not be intimidated by that thought. The number of new concepts taught in class reduced, with the focus gravitating more towards revision of past topics and curricular activities like projects and practicals. No one was complaining though- it was a welcome respite from the hectic exam schedule. And yes, as you may have already guessed, that meant we had to work on a project for every subject, including CTA. With my newly found ‘power’ of logic and coding, I braced myself for tackling it in the best way possible. I was actually very keen to put my skills to test, and this seemed like the perfect platform to do so.

Stage 1 : Project Definition and Requirement Gathering

Okay, so we were given a list of topics to choose from. The list included topics such as ATM Machine, Billing Software for a restaurant, Spa Management System (all in Java) etc. We were free to choose our own implementation method, including features and design. That left most of us with virtually nothing to go on. Something as simple as finalizing a damn topic took us more than a week. Whenever I made up my mind, some random friend of mine would tell me his choice, leaving me confused and perplexed yet again. Thats why they say- ‘The grass is always greener on the other side’. My mind flew around for a while and finally settled on ATM Machine. After 2-3 days of deep reflection on my choice, I decided it was too ‘dry’. I went with the idea of implementing a billing software for a restaurant. Most of us had arrived at a decision by the end of the week. Some minds that were still left wavering, were alloted a topic by the faculty. For the next couple of days, we tried hard to develop a concrete project structure in our minds, but pretty soon we realized that our structures were built of nothing but sand, disintegrating as soon as the next wave of thoughts came rushing in. Every new idea or feature seemed attractive at the start, but soon enough used to turn out no better than the last one. I was glad that my choice of topic was flexible, I managed to conjure up some really unique and worthwhile ideas. Unlike most of the others, I atleast knew where to start.

Stage 2 : Project Planning

Soon enough, the planning process started. I spent about an hour everyday working on new ideas, charting out a plan and checking the feasibility of implementation, and another 2 hours daydreaming about the ‘cool’ stuff that I SO wanted to add, but that were well beyond my present capability. But hey, what’s wrong in dreaming right? So after about 3-4 days of brainstorming (with my own self and sometimes friends) and daydreaming, I was ready with a plan (or so I thought) and was all set to actually start coding and implementing.

Stage 3 : Development and Coding

We all know how programming is depicted in movies. It is not uncommon to see a sophisticated looking guy (with sunglasses and a suspicious outfit), moving stealthily amongst the crowd, avoiding everyone’s prying eyes or gaze. The said person types away vigorously, his gaze locked with the screen. Meanwhile code starts appearing on the screen with almost superhuman speed. I was earlier fascinated by such scenes. But now when I find myself actually trying to code, I realized the situation is different, WAY WAY different. What the movies show is actually just 5% of the coding process, the moment when reality dawns upon you and in a moment of sudden realization you figure out what was wrong with the code. The other 95% is marked by a state of trance, with the programmer just staring at the screen with a blank expression. This is what we call ‘The Zone’. This may appear unproductive and a waste of time to a third person, but trust me, you don’t wanna mess with or disturb a programmer when he/she is in their zone.

Here is a small picture depicting the zone –

(Source : Codechef Facebook http://bit.ly/1Q1eZW2)

We are totally consumed in our thought process, drawing blanks most of the time, but generating a few ‘cache hits’ once a while. Anyways, with school going on, I had to devote the night time for working on my project. It was hard to not fall asleep when you are sitting on a chair and doing nothing(coding), but somehow I managed to keep my concentration in such situations.

I started off with a basic implementation, organizing my project into 5 stages- welcome, view menu, order, billing and exit. Listed down a few subparts of each. The part that seemed the most enthralling to me was obviously the menu part ūüėõ The very thought that I had to decide a full menu, including a diverse and rich array of sumptuous and luscious dishes was enough for me to end up salivating. I had three subdivisions of the menu- Soups and Starters, Main Course and Desserts. Things were going great, until I hit my first official roadblock- How will the user actually place the order, without hampering the user experience? The premise of asking the user to actually type out the name of the dish did not seem very plausible to me. I decided to use a code system – assigning a unique code to each dish. The codes were easy to type and made it easier for me to code it too. Okay, it was looking like things were finally shaping up gradually.

(to be continued…)

Apologies!

Sorry guys I haven’t been able to post anything for a long time now. I have been very busy for the past two months and hardly get any free time. I promise I will be back soon with many more interesting posts!

Thank you for your patience!

inorder( )

Sorry folks! I apologize for the delay in writing this post, I got preoccupied with college as the new semester just started. Anyway, moving on…

From then onward, I had discovered a new found confidence. I had developed something that I had never imagined I would, even in my wildest dreams – A new found love and curiosity for Java. After the initial ‘end of exams’ euphoria, I decided to approach my CTA Sir, for his advice on how could I improve my coding skills. Sir decided to meet me after school as soon as the term started. He emphasized on the need to understand the basic concepts and paradigms that govern a language, before actually trying to learn the language itself. So I decided to try and understand ‘Object Oriented Programming’ first. I brushed up my concepts, went through various books on the topic, read online and diligently attended all classes in school. My initial acerbic feeling towards the subject soon evaporated, and I started developing an inquisitive attitude. In no time I had moved on to writing programs in Java, without any kind of aid.There was still a long way to go.

Time to tackle the big guns now- Strings, Loops and Sorting algorithms. It seemed like an arduous task for me. I decided to adopt the ‘Divide and Conquer’ approach. Started off with the concept of loops. Based on what Sir taught in class and some background reading, I grasped the concept. It was time to apply it. Got a few basic programs working pretty much without much effort. The concept of nested loops proved irksome at first, but after a few days of scratching my head and bouts of frustration, I finally started to get a hang of it. That was not all. Hours of trying to print various patterns of varying complexity levels using nested loops had invoked something new in me, the ability to construct my own logic for a given problem. Earlier, I had to rely on external sources for explaining the approach to a problem, I could only trust my ability to translate it in code. But that was not the case now. With this new found ‘power’, my dependency on books reduced further to the point where I did not feel the need to consult them even when trying to implement something new.

Then came string manipulation. Strings were an entirely new concept for me (says a guy who claims to have studied C++ the year before). I was fascinated by the power of string manipulation. It quickly escalated to the top of my ‘Things I Love about Java’ list. I practiced more and more, often moving beyond the scope of the syllabus, my eyes gleaming in delight on successfully executing every program. I felt like a kid being handed a very powerful toy. Not knowing what to do with it first, and then being totally consumed by its power. Consequently, with my own effort and Sir’s incessant support, I took down every new concept that tried to put up a fight.

The new term¬†was drawing to a close now. I was preparing for the ‘Final Jump’ into the so fabled ’10th Grade’. Exams were approaching, and contrary to my state earlier, I was actually looking forward to it. I toned down and restricted my practice to problems within the confines of the syllabus. I cruised through most of them, barely requiring more than half a min to come up with the logic. An occasional problem or two piqued my brain, and that made me even more determined to solve it. Very soon, I had solved all problems from my prescribed textbook, and was hunting for more problems online. I was facing problems with one specific alphabet pattern, I decided to get it cleared out from Sir. Fast forward to the exam day.

I sat down at my designated place, an aura of confidence and self satisfaction surrounding me. As I glanced at the questions, none of them even remotely managed to invoke even a shred of uneasiness or worry in me. I started on an enthusiastic note, careful not to become cocky or overconfident in the process. I maintained the same tone throughout the duration of the paper. Soon enough I had attempted it to my full satisfaction and even managed to recheck it, with 15 minutes more to go. This time allowed me to look back and contemplate on how far I had come, and I could not help but feel a sense of pride and self satisfaction. My cheerful ‘day dreaming’ was cut short by the ringing of the bell, and the hustle in the classroom that followed. It is common knowledge that the ‘buffer’ time between the ringing of the bell and the teacher collecting the answer sheets, is the most precious of all. Students end up writing more in this small window, than the whole exam itself. A look around the exam hall at this time would reveal a diverse¬†array of expressions- students lost in thought, some lost in prayer, the drowsy expressions on some faces, the crafty look on the faces of the occasional few trying hard to steal a glance off their neighbors answer sheet, and the helpless look on the face of those who have surrendered themselves before their fate and Almighty, even before they commanded them to. I wasn’t new to copying (yeah I said it), but me helping others was way more common than me requiring help myself. This is was one of the times I didn’t even feel the need to cross-check my answers with a willing friend, I knew what I had written and trusted my answers explicitly.

Results were out earlier than we had anticipated. Apart from a less than satisfactory performance in Mathematics, I seemed to have done well. 97/100 in Computer Applications. Well I honestly couldn’t have asked for a better outcome. Sir was happy, my parents were delighted (my mother was having a particularly hard time holding her tears back), and that left me with no reason to not be delighted. I was eagerly looking forward to what the next year had in store for me, and how much more I could learn. The very thought was enough to excite me.

 

service( )

I flipped it over and started reading….

Section I- Theory

Okay. This shouldn’t be a problem hopefully. I started reading through the questions. Many of them were expected, the others were fairly familiar. At the end of the section, I was confident of doing well. I felt the earlier faint glimmer of hope growing brighter.

Section II- Programming

I had to attempt 4 programs out of 6. Each program was worth 15 marks. I felt multiple knots in my stomach. First question was on area of geometric figures. I knew how to write that. I felt a bit better. Second question- Constructors. Again, I was familiar with this concept. I was feeling really good by now! I didn’t have any particular problem with the next 2 questions too. I felt elated. So much so that I started smiling to myself. Just out of curiosity, I decided to give the last 2 questions a reading too. When I had finished my cursory reading of the paper, I felt myself facing a situation which I hadn’t imagined in my wildest dreams. I couldn’t decide which question to attempt! And not because I didn’t know the answers, but because I knew all the answers equally well. Yes, I was in the best possible place at that moment. I couldn’t have hoped for a better paper. I found it hard to¬†believe that a person was capable of facing so many varied emotions, some even polar opposites of each other, in such a paltry time frame of 5 minutes.

With a fresh surge of confidence, I commenced writing my paper. I was calm and composed throughout, writing with utmost care, and pausing periodically to check my paper. I reached Section II in no time. I still had 2 hours to go, so I took my time to write the programs. Now this is essentially really tricky, and much more difficult than I imagined earlier. I had no problem with any of the codes, infact for the first time I understood what I was writing. I was accustomed to typing out the code in editors, which automatically prompt us if we made a mistake. Writing it directly on paper was a different story altogether. I found myself lost in my own chain of thought countless times. I had to go back a hundred times to declare variables, and I even missed out a few statements in between. Thankfully I corrected that as soon as it came to my attention.

After an hour of pulling my hair, fidgeting, and incessantly scribbling on the answer sheet, I completed all the 4 required programs to my satisfaction.I still had time remaining, so I decided to attempt the 2 extra questions too.

*10 minutes to go*

I was very much content with what I had written. I sat there, admiring my answer sheet for a while and beaming to myself. Who could say that this is the answer sheet of a guy who was in such a desperate state the day before? I was reminded of what my mom said the night before and silently thanked her. I gave my paper a last read-through, correcting a few spelling mistakes here and there. The bell rang, signifying the end of my last paper. To say that I was overjoyed, would be a gross understatement. I knew I had done well, if not great. I handed over my paper with a sense of satisfaction (which was evident from my face), something I never thought I would feel after a CTA paper. I walked out of the class, eagerly discussing the paper with my mates, happily listening to how others had fared.

Results came about a month later. I had scored well in all subjects, exceptionally well in a few. But this time my eyes paced the report card looking for something else. CTA. 85/100. I was happy but a bit dejected as well. I had hoped to score above 90 atleast. It wasn’t a bad score at all, but I didn’t like the fact that I had gone wrong somewhere. As I glanced through my answer sheet I saw that I had scored a 33/40 in theory. I wondered where had lost¬†8 more marks. And then I saw it. I couldn’t believe my eyes. I had scored 13/15 marks in all programs just because I had forgotten to comment my programs. Yes, 2 marks for something as insignificant as a comment. For those of you who are unfamiliar with programming territory, a comment is a small description of your program, or statements in a program. I had lost 8 marks for something that isn’t even remotely related to the logic of my program. I would have got all correct outputs, had I run them as they were on a computer. I felt like laughing at myself. Anyway, a lesson learnt. No harm no foul. I was happy that I had managed to cross this hurdle, quite gracefully if I may add.

This was the end of something……and the start of something new…..

commit.

Exam week started. I was temporarily relieved of my Java worries as I was too busy trying to get into the exam mood. There were many more things at hand. Mathematics, History-Civics, Geography, Physics, Chemistry, Biology…. A lot more to worry about. To add to my misery, I still hadn’t figured out how to get over my ‘Math phobia’. Yes, like many others, I struggled with Math. It started off as a small stumble in 6th grade, where I scored lower than expected, but soon enough Math proved to be my Achilles heel. The worst part was that I had absolutely no problem understanding the concepts! Everything was lucid and crystal clear in my mind before the exams. But during the exam time, it was altogether a different story. I always started the exam with great aplomb, but as soon as I got stuck on a question, nervousness used to take over. After 30 minutes or so, I would pretty much lose all hope of recovery and would find myself sweating profusely. And as you can guess, after that, I made more mistakes. It used to set off a chain reaction, like dominoes. After the exam, I would find myself in the same sorry state that I was dreading the day before. I used to perform exceptionally well in one or two exams, but in a subject like Math, consistency matters the most.

I started off my preparation on an anxious and worried note, my first paper being Mathematics. 4 days was all it took for anxiousness to change to pure dread. One day before the exam, I found myself extrapolating the worst case scenario, and its effect on my result. If I failed to score this time, my self confidence would take a serious beating, a beating from which I doubt I would ever be able to recover. Anyways, I would find out soon.

The exam started off well. I could solve the first few questions without any problem. Half an hour into the exam, I could feel myself getting in the groove. I was oddly calm and composed till now, unlike the usual. Wow, this was a feeling that I had been deprived of for a long time now! I felt a surge in my confidence and went on with the paper unperturbed. I finished well before time (Yay!) and contrary to my expectations, my paper was pretty neat.

Okay, something to cheer about finally :-). The rest of the exams went in a breeze. I knew I had done well in all of them. Then came D-Day. I started my preparation for CTA. I didn’t know how to start. Then it occurred to me that opening the book would be a good way. So be it. First chapter in. Objects and Classes. Yeah, easy stuff! One hour pondering over the pages, and I was done. Well, so I thought. Next came- Introduction to Java. Again, easy peasy. It wasn’t so bad after all! Alas, my relief was short lived.

1 am at night. There I was, still slumped over my desk. My mother came in. She asked me what the matter was. I couldn’t face my mother. I told her I was fine. But I guess no fake smile could camouflage the feeling of absolute fear on my face. My mother instantly knew something was not right. She placed a hand on my shoulder and asked me to tell her what the matter really was. I started sobbing. Yes, sobbing. I guess that’s how mothers are. I told her my condition. I told her that I thought I was gonna fail tomorrow. I never imagined it would come to this but, I actually asked her if it was possible to change my elective subject after exams. She seemed a bit shaken at first. I think my last statement hit the sweet spot. She somehow maintained her composure and assured me I was making mountains out of bricks, and that I would do fine tomorrow. I took her word for it; I sure as hell didn’t have mine.

*20 minutes before commencement of the exam*

I somehow mustered up the courage to show up for the paper atleast. I was really unsure about knowing any programs. Seeing no way out like last time, I had mugged them up as much as I could, hoping lady Luck would smile on me again. Every topic my friends took up for last minute revision, felt like a nail in the coffin to me. I could just stand there and hope for the best. I had understood all the concepts clearly, my problem was translating them in code. I hoped it was enough  to get me through. Considering 60 marks out of 100 were reserved purely for writing programs, my hopes were hanging by a thread. That in itself was enough to shatter my confidence.

The bell rang. Sitting with my hands crossed, I waited with bated breath for the paper. Finally, the invigilator handed it to me. I flipped it over and started reading….

 

 

next( )

My carefree days were over. Now was the real deal, the two crucial years of life (or atleast that’s what we were being told for as long as I can remember). I had progressed to 9th grade. It was a lot to take in. The transition from 8th to 9th grade came with a choice, a choice that would prove instrumental in shaping our future. We had to choose an elective subject.

The curriculum offered a wide range of choices. This made it all the more difficult to settle for one subject. Drama, Computer Applications (CTA), Dance, Music… you name it, it was there. I had to choose carefully. A few obvious options (read: Dance, Music) were already out. I couldn’t see myself dancing and classical music didn’t really interest me. I was inclined towards Drama. I guess that was because I considered myself to be a good orator. I had proved myself good at public speaking many times and I didn’t really have any stage fright. So yes, Drama certainly looked promising. I had all but opted for it, until I told my father about my selection.

My father, unlike myself at that time, was a very logical and practical person. He suggested that I¬†take up CTA instead of Drama. His reason, to quote him, was – ‘CTA will help you a lot in your future, Drama not as much’. I could see the sense and logic in his argument, but a part of me just refused to accept it. Partly because I really was interested to take up Drama, more so because I was simply afraid. Yes I was scared. I had barely scraped through C++ last year, how could I even dare to imagine myself handling Java. And that too for 2 years. My board exams were dependent on that. I was expected to get 90 percent anyhow. I repeat ANYHOW. That’s how it works in India. Each one of us comes to realize that the actual importance of these board exams is next to nothing, soon after we pass out from 10th grade. Even our parents and relatives know that. But since Sharmaji’s son has got 90, how can they expect any less from us? I struggled hard to find the non-existent logic in the above statement. But that didn’t really matter. I realized I had been provided with an ‘illusion’ of choice, in reality I didn’t really have one. My parents had chosen my subject for me, even before I could. It was similar to a situation where you find yourself at a fork with several paths, only coming to realize later that they all lead to the same destination. So even though my heart was telling me that I was in all probability making a blunder, I chose CTA.

Classes started. During the first 2 weeks of the course, I found myself getting involved more and more. I was actually beginning to understand stuff! It was pleasant. Classes and Objects in Object Oriented Programming, Abstraction, Polymorphism, Java as a language, I was able to relate these concepts with real world metaphors quite well. All was well. And then it happened. The first computer program in Java. I had a deja-vu feeling. I had seen all this before, and it didn’t go well for me. Very quickly it all started drifting away from me. What had happened with C++, was happening again. Possibly even worse this time. The only difference was that this time I was like a rat in a trap. I had no way out. CTA was an actual subject with marks (unlike being graded in 8th grade), and the threat of failure was very much real. The social stigma of getting anything below 90, the high expectations of teachers and family alike, the peer pressure was all starting to get to me. Our teacher (I will reveal his name only after obtaining his consent) was the best we could hope for. He knew his subject very well, and actually seemed to express a concern as to whether we understood what he was teaching or not. It was (and i believe still is) really¬† difficult to find all these qualities in a teacher. Inspite of all this, I was struggling. I had made a big gamble and it had just backfired badly on me. I was sure I wouldn’t last long. I kept reminding myself that maybe when I actually start reading it from the book, I would understand. Well, would I? I was certainly about to find out with first term exams just around the corner. I was staring at a 100 mark paper on a subject that I absolutely dreaded with all my heart. I had no idea of predicting my situation once i crossed over to the other side of the river (i.e. if I manage to cross the river in the first place).

init( )

lab

Greetings!

Well, here I am, back for my second post. I am writing this after my semester end exams, in the hope that it will take my mind off the hell I have faced in the past week or so. Exams really are taxing! Alright so I have already mentioned quite a bit about myself in my first post on this blog. Now is the time for sharing with all of you the actual reason as to why I developed a strong liking for programming in the first place.

Picking up from where I left off, I was introduced to the world of programming in 5th Grade, where I wrote my first computer program in Basic. Ah, who doesn’t remember the dark blue screen and the gray dialog with the words ‘Welcome to MS DOS QBasic’. Very quickly, I inculcated a keen interest in computers and programming, coding my way from the absolute basics to slightly more complex programs. There was so much more to computers than just gaming, I realized.

Then came the C++. Yes you heard that right. No C, no HTML in between. To say that it was difficult for me, would be an understatement. It was a nightmare to say the least. I struggled with even the basic concepts. I had no idea what ‘#include<iostream.h>’ meant, why ‘void main()’ was void, or for that matter, what is ‘void’?¬† Yep, that was pretty much my situation. Pathetic isn’t it?¬† Well, I thought so too. Though I couldn’t do anything about it at that time. The teachers were least interested (sorry to say) in going out of the way to make us understand better. On the day of the practical, I was totally shaken. I didn’t know what was gonna happen to me. Seeing no other way out, I had mugged up a few codes line to line the day before (I remember I had tried praying that day, though I wasn’t so sure about the strength of my prayer). I picked up a random chit – ‘Program to find area and perimeter of a circle’. Never seen that before. I knew I was dead. I vaguely remembered parts of the code for area of a rectangle that I had mugged up. Half heartedly, I started typing that with the required changes to avoid sitting there staring at the screen like a fool. When I finished typing, my gut instinct told me it won’t compile. And boy, was I right! Syntax error.

*my heart sank* even though it had come to me as a certainty. I had an hour to kill before evaluation. And for those of you who are wondering, I couldn’t debug worth a damn. Hell, I couldn’t even explain what I had typed. I sat there staring at the blue prompt, hitting ‘compile’ every ten minutes in the hope that some miracle takes place and the code compiles somehow. Alas, no avail. Finally evaluation started. I agonizingly waited for the examiner (my lab teacher) to come to my seat. She looked at my code, then at me with a death like stare. This was it. My first ‘F’ in school. In a desperate attempt at salvaging some of my pride (or atleast what was left of it), I tried to feed her a half-baked story about how my code compiled properly at first, but now was showing an error. She just said-‘ Sorry, I can’t do anything’ and went her way. I was dejected. The fact that my mother was a teacher in the same school wasn’t helping my cause either. She would certainly come to know about this one way or the other. I just went and sat in my classroom, deriving little solace from the fact that the lab was a graded subject and wouldn’t affect my score.

Classes ended for that day. I slung my bag over my shoulder and started to walk out of the classroom. I passed the same lab again. I saw my lab teacher call out to me. ‘Great. Another lecture to rub salt in my wounds’, I thought. To my absolute surprise, I saw three other students in the lab with me, all looking equally bewildered. The teacher explained that some (read: blessed) students¬† had complained that the circle problem was not taken in the lab sessions prior to the practical (I laugh at this now). So, she was conducting a re-exam. I was elated and couldn’t believe my lucky stars. This was my chance at redemption! Alas, I was the last one in, so out of the 4 chits, I got to pick the last one (which was left). I opened it. ‘Program to display a message’. My eyes lit up on seeing the word ‘message’! I practically ran to the nearest computer and started typing even before I was seated. Within 3 minutes, I was done. Compile-Run and BEHOLD- ‘Hello, World’. I was so confident this time that I didn’t even take a second look at the compilation result. I breathed a sigh of relief and sat still for a minute, admiring the output and my ‘code’ (although there was nothing to admire). I called my lab teacher. She looked at the screen and scribbled something on a piece of paper. Soon after, she instructed me to leave. I walked out with a smug grin on my face.

A few days later, results were announced. I had done well in all subjects. But the ‘A’ grade near Computer lab caught my eye. My mother was all praises. Only I knew how I had barely managed to scrap through and had avoided an ‘F’ grade by the skin of my teeth. I was safe…..but for how long?

…..to be continued

Hello, World.

rsz_sublime

This is Aseem Raina, logging in.

Well, I always liked the idea of having a personal blog, and toyed around the idea of making one for quite a long time. The major issue was- ‘What should I blog about?’. So here it is finally, my blog about the one thing I am most passionate about- Programming. I will be posting about the various projects I have worked on and will work on in the future, my experience as an undergraduate student in college, and… well a lot more!

So here, in my first post among many to come, I figured I should start by introducing myself, shedding some light on my life, interests and hobbies. I am a third year student of Pune Institute of Computer Technology, studying IT Engineering. I was introduced to the world of Programming in 5th Grade, when I wrote my first computer program in Basic. In retrospect, I realize that I have indeed come a long way since then. I will be reliving the start of my journey in the forthcoming posts.

People have called me a nerd/geek ever since I can remember and I have to say that I am proud of being one. Building on my keen interest and flair for technology and computers, I opted for Computer Science as a career choice. I like developing softwares, small projects and I also practice competitive programming. This slowly led me to the field of embedded systems programming and robotics. What started off as merely an attempt to strengthen my resume at college, became my life as I joined the Robocon Team of my college. For those who are not aware of it, ABU Robocon is an international level robotics contest. What followed was 2 years (and counting) of sheer hardwork, perseverance and teamwork. I had finally found a purpose in life. Others had a team, I had a family.

Apart from mainstream coding, I have some knowledge in Computer Vision and Image Processing, having worked on an object tracking project in my second year. Robocon also introduced me to Robot Design and CAD. Even though it was outside my CS ‘domain’, I found it intriguing and a welcome addition to my skill set. Since then, I have worked in the mechanical design and coding department of the team, and enjoy it to the core till date.

I consider myself to be an avid reader. Whenever I am bored or out of things to do, I find myself reading a novel. I try and stay updated on technological advancements and certainly have some, if not all, traits of a gadget freak. Music and photography hold a special place in my life.

So I guess this is all about me for now. I hope you enjoy reading my upcoming posts. I am new at this so I apologize for any mistakes on my part. Feedback is always welcome!

This is me, signing off for now…