Blog Search Search Rwik's Blog http://rkdspeaks.blogspot.in/favicon.ico UTF-8 http://rkdspeaks.blogspot.in/ Google

Pages

Thursday, 19 June 2014

To learn or not to learn-knowledge vs productivity: An Amateur Programmer's Saga...

 
AN AMATEUR PROGRAMMER'S SAGA....
In the modern world especially with the advent of the internet, we all seem to learn up everything pretty fast, don't we? For example, i was 14 when i started to learn some serious coding. It all started with LOGO. I still remember the very first day that i started to use LOGO, i returned home and asked my mom to buy me the LOGO software so that i can practice programming on it on my home computer. After that, my school taught me qbasic(which is now quite obsolete) and then moved on to c++(procedural programming, not oop). After that I learnt JAVA and this was when i was introduced to the beautiful world of OOP. After that I took serious interest in learning C#(Microsoft's approach to OOP Programming, similar to JAVA) and also learned some web development(HTML and CSS). That was until I got hold of Yashavant Kanetkar's Let Us C.


The scope of his book was much more than what i learned in my school way back in class 8. One topic that I found particularly interesting was pointers. After researching about it on the net and using it in my applications, i began to like it. It opened to me a whole new world and exposed me to the internal workings and management of the computer system which i had overlooked and missed while learning JAVA and C#. However, i also had in mind that Microsoft had it's own implementation of C++ under the banner Visual C++(VC++). Naturally, familiarity with .NET and curiosity got the better of me and soon i started to learn VC++ (it was pretty much the preferred choice for Windows development that i am mainly interested in) which was pretty much similar to the normal one except that it had much more libraries, a bit more syntactic sugar and was also much more abstract than core C++ in many aspects like memory handling( including handling of pointers) and other stuff. Therefore, there were a lot of things that I had to explicitly do in normal C++ that the language itself took care of in VC++. Seemingly productivity increased and i began to like VC++ more. In a nutshell, i was more interested in productivity and high level abstraction rather than spending more time learning the low level internal working. It seemed like an anomaly to me to learn something which could also be left to other 3rd party API's to take care of. So, i started to use VC++ for C++ programming.


But to my utter surprise, occasionally I have come across certain situations where it was a tough job for me to debug the program . I made sure that i checked every nitty gritty detail in my program, still i failed to locate the bug. After tedious hours of mind-wracking effort, what amazed me was that it was some simple knowledge about the internal workings of the compiler that could have helped me to avert the bug.  It was then that i began to realize the importance of finer lower abstraction details.

Today, the whole world is becoming more and more abstract. We now have access to tons of  tutorials and educative material but most of these prefer to teach the more abstract details rather than going for the complete picture. And that is what makes the title of the post relevant....
"To learn or not to learn-knowledge vs productivity"
There's no one specific universal answer to this question though. Some people take it to be a blessing as it increases programmer productivity and saves time while some like me take it to be a curse atleast when you start using it right from the beginning and thus miss out on some important key knowledge about some lower level details. Not only does it help in certain cases for solving particular problems in coding much faster and quicker solutions, but in certain areas such knowledge are totally indispensable. And that is why, i believe, that such things which can otherwise be taken care of by various 3rd party vendors are still very important for programmers in this age of more and more higher level abstractions and APIs. Some really popular programming tutorial websites have courses which term VC++ as the modern way of USING C++, but it doesn't remain the modern way of LEARNING C++ though. An early transition from normal traditional C++ can be very dangerous. We live in an age where people expect the smartest of solutions from us. And in such a world. these internal details that are generally abandoned by amateur programmers most of the times becomes the X-factor that differentiates him/her from the rest.

Monday, 16 June 2014

Hey Ho!!! "Back to School" Week fast approachin!!!!


Just one week to go before the "BACK TO SCHOOL" Monday finally arrives. Some may wonder, "Finally?" But to be honest 1.25 months of summer holidays was not easy to spend. Boredom was the defining characteristic of this summer holiday for me. As much as the summer heat is turning out unbearable for me, so is this boredom. Oh dear, i am as excited as a a kid waiting on the railway platform for his first train journey or something alike. Sorry, if the simile was not upto the mark.But the bottom-line is that, as far as i can remember, i have never been as excited for "Back To School" week as I am this time. But why?

I spared a moment to think why. Seriously? 1.25 months of summer vacs seeming so long that i am bored to death? Then somewhat obnoxiously, something struck my head. O dear, this is my last summer vacs of school life( hopefully :P .) And instantaneously, an infinite long chain of thoughts started to occupy my mind which nowadays disturbs me time and again. "By this time next year, i will be searching for a college....Competition is too stiff...oh dear, projects left and am already into the last week of summer vacs...." Suddenly, this summer vac seems too short and i feel like instantaneously involving myself in a horde of activities so that by the end of this week, i can literally force these thoughts into the backseat for quite some time.

It is quite obvious that the sleeping hours for an individual is the most peaceful time that a person can get in his/her busy schedule of 24 hours. But for me, it is something different. I dread it. No, not the time that i actually take a nap, but the gap between the time i get into my bed until i finally fall asleep. That is the time which brings tons of unwanted thoughts into my mind. It seems as if all the uncertainties, troubles and problems of life find this the sweetest time to penetrate my mind and hover round there. In fact, now i have developed a queer way of asserting whether it was a "day well spent?" If some day, i am lucky enough to prevent these unwanted thoughts from penetrating my head , then i can heave a sigh of relief believing that indeed, it was a day well spent. And it does work out well. :D

 But unfortunately, with passing time, i am getting less "day well spent" signals. Everything is just piling up around me. Be it expectations from others, my studies, the things that i have planned to do in the fields that i am passionate about, everything is just piling up. And at the end of the day, all that i blabber time and again is:
"Shouldn't i have some time for myself too? Some time when i can enjoy myself, mix with my peers, share my problems with them?"

I sometimes wonder about the lives of those people who carries the tag of "brought up in the laps of nature" tag with them. Perhaps, such a lifestyle would have been much better than this closed fast paced chaotic lifestyle. And this is what makes schooling such an integral part of my life. It gives me the energy to keep fighting, the caring teachers helps me stay motivated and my loving friends are those with whom i can share  and talk about my interests and passions and also share some of my deeper thoughts and feelings :P . Thus, schooling to me is not just about carrying a fully loaded(and sometimes overloaded -_- ) bag pack to a considerable distance via a motor vehicle, dropping it down, occasional scribbling of notes and a break officially designated for munching our food :P . To me, schooling is an integral part of life that can't be replaced by anything else. And because am nearing the end of that wonderful eventful journey, i am looking forward to it with unparalleled zeal. Hope it brings to me a hoard of wonderful memories that i can always cherish! :)
Cheers,
Rwik!

Thursday, 18 July 2013

Quality education at your Doorstep-The potential power of MOOCS and why a country like India is so eager to accept it

I don't want to be so ungrateful as not to thank all you readers for the quite good support that I have received after writing my 1st blog. Inspired by the response, I have set out to write on another interesting blog for you so soon. This time its based on a more significant topic-a topic that can have great impact on your and my life alike. Well, for young readers perhaps 10 or 20 years down the line, you, then perhaps a greatly successful person would be grateful enough to mention this particular blog post that perhaps changed your thoughts on what "education", more specifically learning is.

Being brought up in sub-urban India holds a lot of consequences. One of them is predominantly having this mentality inside you that IIT is the ultimate success line for you. If you can get there, you are successful, otherwise you are DOOMED!!!! And if not doomed, surely that's one of the major failures in your life. A failure story which will perhaps time and again surface in your future potential career guidance sessions to your children and perhaps be one of your last wishes as you lay in your death bed thinking of your bad fortune as you weren't able to share your failure stories with your grandchildren and advise them to fulfill your unsuccessful desires.

Guys, your potential capacity or your success to get into an institute like IIT isn't what defines you. It is moulded into us right from our childhood as if that's the yardstick that the Almighty has recommended to test the talent that He has so kindly bestowed on all persons alike. The so called society in which we grow up makes us measure our talent by that artificial yardstick, not our heart. Why are we always forced to think IN THE BOX, why cant we think OUT OF THE BOX? Is the text book materials and the bookish knowledge that we fantasize ourselves as being deeply engrossed in day and night enough to be successful, to be someone who has very humbly used the talent that God has bestowed on him/her to his/her fullest potential?

Be someone who stands above the crowd, not someone who stands in the crowd. Its that quality in you that will bring the world at your footstep. Make it big. Explore. And for those whose heart is crying out on reading all this because you don't have the means to explore, to think out of the box, let me tell you my dear friends, that opportunities are abundantly available, its just that you should be able to recognize it and utilize it. Such an opportunity that the world's top-most educational institutes are providing worldwide virtually is MOOCS(Massive Online Open Courses).



 For those who believe in gathering knowledge from whatever sources available, this is the perfect place where you can explore the subjects in which you are best interested. The potential power of this type of education system is huge-and although I don't want to debate on this topic, many believe that this will ultimately capsize fully the traditional system of education<http://www.telegraphindia.com/1130428/jsp/7days/story_16836315.jsp#.UefnSpC6ZtQ>

So friends, be a trend-setter. Explore this new ocean of quality educational resources available to you. The esteemed Universities are giving it free of cost with the aim of providing quality education all over the world, chances are galore,only some focus and interests from your side can enable you to set a new standard for yourself. And Indian students are getting smarter and smarter each day. After US, India has the highest number of enrollments in MOOCS. Don't believe it? Check out the next two screenshots from the inaugural week of a typical online course in coursera.com as they showcase the statistics of their class.
Check out the stats:1065/12253 students are from India for this course 2nd only to US. That's a significant number, isn't it? And if we go by the region wise distribution for the same, we would realize that the metro cities have already taken great interests in this virtual courses. And all over India people have enrolled for this specific course showing that people now have actually realized the futility of sole-textbook learning and have started exploring. Modern students now feel it unnecessary to be bounded by the textbook subjects and the syllabus. They want to explore the subject of their liking in detail so that they can have a truly solid foundation in that subject.

And for those who prefer getting certificates rather than gaining knowledge, perhaps some MOOCS has also apprehended your problem(rather your foolish mindset) and so sites like coursera.org and edX.org are also giving credit on completion of courses along with completion of the final exam that takes place. So, this sites are trying to mimic a classroom environment as much as possible.

So, in a country like India where(quality)higher education is still a farce to so many, MOOCS can come to your rescue. And if you are focused, interested and committed and can shell out some time to do these, who knows perhaps some day you will end up earning more bucks(which sadly, according to our society is another yardstick for measuring success in life) than someone who has studied in one of the top IIT institutes and then you will be a shining example to others demonstrating the potential of Exploring and Creative Learning and so in a way, an example of the potential of MOOCS.

So, friends, ready to use MOOCS courses to the fullest potential?

Other External Links:
udacity.com
ocw.mit.edu
khanacademy.org
http://www.openculture.com/freeonlinecourses


Note:It has been written specifically keeping in view the Indian culture and way of thinking but you will very much realize that it has got much significance in other places also. If you have anything to say me, please mail me at <rwikdutta@outlook.com>. Any feedback, both +ve or -ve is highly appreciated.

Cheers,
Rwik!

Monday, 15 July 2013

Dropbox's success mantra-KISS!

Being someone of today's generation, I have been quite particular about these two big words that we crave for today-SPEED and SIMPLICITY.  This is what makes Dropbox so near and dear to me and to so many else. The 175Million+ user mark that they have reached is not something that happened by chance, to me its just the result of how well Dropbox have been able to follow its success mantra -KISS(sorry romantic folks, its just an acronym which means "Keep It Simple, Stupid" :P).


But what makes their success story more interesting is something very different. In fact, I have seen this time and again that every or rather most successful people or organization has their own strange methods which makes them a cut above the rest(although sometimes I find their ideas crazy :P). I was just dumb-struck to know that the great Steve Jobs said that it is not the customer's job to know what he/she wants, it's their(Apple's) job to know what they(the customer) wants. In reality this meant that Steve Jobs didn't find the idea of public review of his products to be a great idea. This idea of Jobs is surely freaking crazy to Microsoft, to say the least. Also, the great Warren Buffet, an ever unfading symbol of simplicity and humility besides his enormous wealth and charity track records, has no computers in his personal Berkshire Hathaway Office room. It's something similar with Dropbox too. Dropbox seemed to be doing something that others wont-being reluctant to change with time in the process of trying to be more efficient. As Rajiv Ernaki(Former DB Head of Server Engineering) said, that the early team did
" a lot of things that weren’t efficient but did actually scale for thousands of users.”

And mind you, he started working in DB from the time it had only two thousand users and saw it scaling over to a hundred million users. They are a testimonial of how DB stood the test of time and escalated up to their current position. No doubt, flexibility and simplicity have now rightly become their hall-mark. And guess what, not only did they adore the power of KISS only for the client but also their servers worked on that basis. Their different(rather less-efficient and less sophisticated) techniques actually provided quite a number of advantages to them, including greater flexibility to debug their server side code and run simple queries on user behavior without any need to write extra code.

All this meant they
 “gained tremendous flexibility and scalability.”
Simply speaking, they kept it simple, avoided sophistication(both for the user as well as for themselves) and was quite skeptical about adopting new technology. As I said before, some of this type of ideas I do find strange but nevertheless  there is no denying of the fact that they have made it big using these ideas. Everyone wants to make it big nowadays, isn't it? And all has their own methods for doing so. However in todays world, the bottom-line surely stays simple--------KISS(at least for your client)!

Isn't it?


Cheers,
Rwik
rwikdutta@outlook.com
ON A SIDENOTE, BEING MY FIRST BLOG POST, I WOULD REALLY APPRECIATE ANY HONEST AND SINCERE FEEDBACK ABOUT MY BLOG(+VE AS WELL AS -VE) AND I WILL REMAIN EVER GRATEFUL AND DEBTED TO YOU FOR THE SAME!