Monthly Archives: April 2011

Can I learn?

I was fond of playing music instruments from my school days and whenever I got a chance, I tried my hands on some hit film songs. For years I was just memorizing the notes of film songs and kept trying on software pianos and small kid’s keyboards. I would say I was at the same scratchy level of playing the instruments even after 10 years of knowing what the notes meant and the physics behind them.I continued to do that in college and even after getting a job until I met two individuals in my new job who could potentially have a career in music.

They saw my enthusiasm and referred me to a professional instructor who in turn made me sign up for grade exams from trinity. I was vary of investing 20,000 rupees in an electronic keyboard and 15,000 more for the school fees as I had doubts whether I could learn anything very new when I am so hard pressed with office work and frequent travel. I anyways signed up for the classes and made a resolution that I will try at least an year.

The first few weeks had been the toughest, I was not able to concentrate on the instructions as I was always preoccupied with something else; but I made it a practise that I will use the keyboard once every day for at least 30 minutes. After the inertia I felt the learnings were progressive and my interest grew stronger to move ahead. I also started reading a lot of theory about music and a semester later my instructor said I was ready for the exam. The exam day was the most interesting, I had been rehearsing both in the mind and the keyboard for good deal of time and when I went into the hall I performed with amazing clarity (I was surprised how smooth that was because I have never played any lesson continuously and flawlessly before). I cleared the exam with a distinction and my instructor allowed me to skip a grade level for the next exam.

What I gained in that one year of learning music

  • If you are interested, then no matter how busy you are; you will find the time to learn.
  • Learning along with friends helps you get off the inertia and keeps you going. It creates a peer pressure when you advertise what you are up to.
  • 30 minutes every day in an activity is far better than 5 hours at a stretch every week, as it provides a continuous feedback on where you are.
  • Competitions, deadlines, goals prepare you to learn a lot better than learning something as a pastime.

What are you waiting for if you are interested in starting something new? Advertise what you want to do and start doing it every day, one fine day you will realize or be surprised how far you have come off from the starting point.

Get over the idea that only children should spend their time in study.  Be a student so long as you still have something to learn, and this will mean all your life.

2 Comments

Filed under Learning

Is it Abstraction or Compression?

Is abstraction is what which makes code look smaller, simple and easy to understand? I was looking for the dictionary meaning of the word abstract and found that abstraction is some thing like “You flip the switch and light comes on”; as an end user I do not worry about the internals as long as I flip the switch the light comes on. While this is very applicable for the end user what about the electrician?; does he need to deal with this level of abstraction? The electrician needs to have an understanding of the internal wirings and the load the switch is capable of handling, in order to maintain or make repairs.

In software world I have observed something similar, whenever my peers refer to bring an abstraction, mostly they meant to find a word to compress the steps of doneness. Abstraction means you as a developer becoming an end user of a part of the solution, where you do not need to worry about the internal workings. Compression is finding a term to represent the entire process underneath which will be commonly understood by all the developers. An analogy of this to a restaurant kitchen is the word ‘marinate’ is not an abstract term, every one in the kitchen understands this and the chef merely has to say “marinate the meat for 20 mintues, use the secret sauce”. The situation would be different if the process of marination is automated and you have a machine to do that, in that case the staff is end user of that process and not part of it and hence s/he is abstracted from what marination is.

What holds good in a regular development life cycle, abstraction or compression?

1 Comment

Filed under Developer