Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.

 - Steve Jobs

Treating Code As An Essay…

PROGRAMS SHARE SOME ATTRIBUTES WITH ESSAYS. For essays, the most important question readers ask is, “What is it about?” For programs, the main question is, “What does it do?” In fact, the purpose should be sufficiently clear that neither question ever needs to be uttered. Still, for both essays and computer code, it’s always important to look at how each one is written. Even if the idea itself is good, it will be difficult to transmit to the desired audience if it is difficult to understand. The style in which they are written is just as important as their purpose. Both essays and lines of code are meant—before all else—to be read and understood by human beings. 

Computers can, of course, deal with complexity without complaint, but this is not the case for human beings. Unreadable code will reduce most people’s productivity significantly. On the other hand, easily understandable code will increase it. And we see beauty in such code. 

“Beautiful Code” is not an abstract virtue that exists independent of its programmer’s efforts. Rather, beautiful code is really meant to help the programmer be happy & productive. 

In other words, what is beautiful code? 

Brevity: “Succinctness is power”, there’s a definite cost involved in scanning code with the human eye, and programs should ideally contain no unnecessary information. Eliminate Redundancy … 

DRY Principle: Don’t Repeat Yourself. If the same code exists in multiple places whatever you are trying to say becomes obscured … 

Simplicity: Feel beauty in simple code. If a program is hard to understand, it can’t be beautiful. And when programs are obscure rather than comprehensible, the results are bugs, mistakes & confusion. 

Flexibility: “Freedom from enforcement of tools”. Humans are more valuable than any tools or languages, computers should serve programmers to maximise their productivity & happiness but in reality they often increase the burden instead of lightening it. 

Balance is the final element of beautiful code. None of the above elements will by itself ensure a beautiful program. When balanced together & kept in mind from the very beginning, each element will work harmoniously with the others to create a beautiful code. And if you make sure to have fun writing and reading code, you will experience happiness as a programmer ….

                                                                                                                                  Yukihiro (‘Matz’) Matsumoto                                                                                                                                                      (Creator of the “Ruby” Language)

                                                                                                                (Adapted from the book – “The Beautiful Code”)

Afternoon [30-11-2012]

Well the exam season has started and i had just finished my labs the day before … my friend’s batch was today and i went to thank her for all the guidance and tutoring she had provided for my previous exam … 

On the way to our lab i passed by our old lab (now used by 3rd year students and below ….) … 

"Hey … hey  give me the skykog wala manaul …" i heard a girl asking her friend .. that immediately got my attention … did i just hear my name ? … i then noticed that a bunch of students ~9-12 were standing outside the lab and were waiting for their Data Structures/OOPS lab external to commence … the nicest part i saw was that nearly all of them were holding in their hand the publication which i had made … i walked to the girl i overheard … 

Me : Hey excuse me … where did u get that manual ? …. 

the girl : we use this only … our ma’am explains from this … 

Me : Umm … do u like it ? …

the girl : ya this is really good …the programs are really small and easy… the old manual and even the Aradhya one has errors … but this dosent …

Me : Okay … thanx … and best of luck :) .. 

the girl : ya sure … and we have the same one for DBMS and ADA next sem too … 

Me : Oh that’s really nice to hear … alright then bye :) …

the girl : bye …

I bet she didnt know what the hell was skykog … i didnt tell her … just walked away smiling …  

I went and told my HOD and he was really happy … my favorite Pallavi ma’am told me that they have been using this in the lab all the while :) … who knew the manuals which i had made just for my classmates would be still in use 2 years down the line … 

I met my friend whom i had initially come for … her lab had gone okay she said … i thanked her wholeheartedly for all her help and came back to hostel … 

My publications can be accessed here …

Midnight [27-11-2012]

Well no matter how much i try i’m really unable to stay at peace until i pen this down … 

Probably this is what happens when one loses the habit of a hardbound diary and keeps his life maintained in word files (backed up on the cloud … lol ) … 

Today was a very interesting day to say the least, after managing to write the 1st internal of Software Architectures(which though being an amazing field i totally despise because of its theoretical nature)… i decided to give our placement officer a visit. 

A man of great knowledge and virtue,one who is worshiped by every student in our college and sought after by the management of every other college…. I decided to have a “therapy” session (as most would call it) … after telling him about my extensive achievements and progress in the Industry and community he tried to convince me that not securing a job yet shouldn’t mean a big deal to me … after all “Failure is delayed success … “ this is what he said and it struck me soo hard … a simple yet strong concept which i hadn’t thought before … 

People keep getting rejected for many reasons … the very pinnacle of which i feel is that “One is being made to wait painfully for what is rightly his… and his alone… ” there can be many opportunities but grabbing one instantly with the sole paranoia  that you may not get one again … is what i feel …well … not justified … 

"Akash … when a batsman hits each and every ball, its not what one would exactly say as… commendable … It’s an insult to the bowler … its only when the batsman has truly analysed that the pitch by the bowler can be transformed into a great swing that a "true" batsman takes an energetic swing … " a good cricket reference i felt (though i have never seen a single match in my life)…

He told me that many a faculty takes me in high regard and the HOD himself spoke boldly of me … which further gave quite a morale boost … 

In a system where precedence is given in high regard to what high numerical value one has achieved in his marks sheet … there is great … GREAT effort to be taken by the ones who decided to take the path less trodden … the ones who felt classroom education wasn’t worth much … the ones who strive towards practical knowledge and application …. 

I have seen many instances where my like minded comrades have taken the same path as mine, none the less … and some have even boldly taken a hiatus(temporary break) from their conventional education systems just because they thought the system was posing as a great barrier and they wanted to break free to follow their passions … 

I know for a fact that the activities that i have pursued … the reputation and name that i have earned wouldn’t go in vain and someday there will be a divine retribution that all this held weight and meaning …  but till then i believe it is just human of me to feel a little down once in a while … 

Technology …coding … evangelism and spreading knowledge is and always will be my passion and a major chunk of my life … if not anything the smiles and thank-yous from 9 year olds all the way to ~86 year olds … definitely make me sleep worthy at night …  

Ill be wearing the same tech T-Shirt weather its a conference of mine where over 400+ ppl have attended and at the end have applauded or its the night when VTU results are out and i scored relatively low … success/failure both have to be enjoyed and learnt from the fullest of ones energy …. 

Writing code is what i do …and what i do best … learning concepts and getting new thoughts is a right and evangelism is an exciting obligation ….

After about an hour and a half i said thanks and left :) … 

Windows 8 Released !!!

Well, Windows 8 finally released today after 2 years in development & even though i have been using it since the developer preview days, its finally nice to see it go live on the online stores earlier today :) … 

I already have the final Enterprise edition running on my ExoPC tab since past 2 months but since the price is so less ill buy it anyway :D … 

I got this mail from MS at around 11:35 PM IST yesterday … on instructions on their upgrade offer …

Consumers worldwide will have access to the latest Microsoft OS on a wide range of Windows 8 PCs, ultrabooks, tablets and hybrid devices.

The Prices for Windows 8 Professional Edition are as follows : 

If u bought a new PC with Win 7 between June 2 2012 - Jan 31 2012 : Rs 699

If u bought a PC with Win 7 before June 2 2012 : Rs 1999

To Buy a Windows 8 DVD : Rs 3499

One needs to claim the offer before February  28 2012 by registering on www.windowsupgradeoffer.com and receiving a promo code which can be used to avail the discount …

Windows 8 will be available in two versions at retail - Windows 8 and Windows 8 Pro. And for business customers, Windows 8 Enterprise offers new features like Windows To Go, DirectAccess, and BranchCache, as well as enhanced end-to-end security with features including BitLocker and AppLocker.

Read more