Skip to main content

The first half of 2017 in review

Hi people,
Half the year is over and i think its good to list out things, so that i have an idea as to how i am doing with my studies ( and pretty much everything else ).

It's been a wonderful and fulfilling half year, to be honest. I did a lot of things I always wanted to do. 
I started experimenting with hydroponics - haven't really progressed much, but I am sure I will do something substantial in the other half of the year. Benefits are a lot over traditional way, and the joy of watching your plants grow are invaluable, at the least.
I read a few books on history. I have always wanted to do this , but I always had an excuse or 2 to avoid it. I finally started, and it's brought me a sense of childlike wonder, something I sorely missed.
I cleaned my home! That's 20 years of procrastination right there! It was insane but I got it done. Whew! And wow! 

At the beginning of the year, i finished my re-study of the CS subjects. Post February, i opened the book Elements of Programming Interviews and faithfully began solving the problems, taking care to read the problem thoroughly and internalize the topic completely before opening my laptop. I must say that this has done wonders for my problem solving and trouble shooting abilities. I’m not yet completely done with this book.

Another book that i thoroughly enjoyed was Joe Celko's SQL for Smarties. This is a great, great find. Having Data Structures and their interaction with the underlying filesystems explained made writing fast-resolving , ( extremely ) complex SQLs easy. i am almost done with the 3rd of the 5 chapters of this book, and  i am looking forward to finishing it. And I am reading research papers which have SQL in the name too! So keep an eye out! The next one might be mine!

i have intentionally kept the number of books small, so that i can completely grasp and internalize the contents before i move on to more complex books, in those or other categories.
I know i was supposed to finish the book Elements of statistical learning this year. it is a fantastic book, but my math knowledge is woeful and i would much rather prefer to delve into the book once i know my math well - to the point of visualising the math equations as i read them, rather than the rather painful and time consuming process of reading - not understanding - beating myself up - reading - understanding a little - reading more - coming to the the limit of my ability to study the topic. 

To solve this problem, i have made my path on this; i hope it works. Either way, you will get to know. i am going to study these books, in this order:
  1. Statistical Inference for data science. a rather breezy intro to the subject.
  2. Statistics. loads of stuff to build intuition.
  3. Statistical Inference. has equations.

the 3 books talk of the same thing, i want to build my intuition to a point where i can visualise the equations when reading it. i understand what i am aiming for is either very tough or impossible, but i’d like to give it a shot. Also, i would like to fully understand what i am learning, so that it will be an asset for the next logical step in my learning. I will be using this quora answer for shortcuts to master the subjects in these 2 lists ( or anything ), besides using Youtube very, very liberally. 

My approach towards things have changed a lot; i see myself giving much more attention to detail.  

A few things that I noticed makes life better for me.
  1. Evolve your note taking. I use keep for small drawings and notes, one note ( or evernote; i havent made up my mind yet ) for detailed notes and dropbox paper for typing things out. i will get these down to one or two apps in a few months. it needs to work well on all 3 platforms and should be good on the web too. i tried using paper, and it is good, but lugging books around is bad for my back.
  2. A mobile phone is a great device for seeing videos, but it has limitations while dealing with note taking or just plain multitasking. A netbook or an tablet is a great tool in general. I use mom’s Asus netbook and it has become an indispensable part of my life.
  3. Google books are nice for novels, but to get some real work done, try using adobe acrobat reader with inbuilt document cloud- its fabulous! i dont completely like using ebooks, but i cant argue with the fact that PDFs are free via torrents and some of the textbook cost 3-6 thousand for a paper copy.
  4. About the above point, A book is a book, pdfs can’t compare. i end up buying books which i cannot live without. This has led to me keeping the number of books i buy low. 
  5. Music has become a space filler. I am happy with free online music services and radio garden. I do love it, but it has become difficult to give it the time it so deserves. I want to hear more operas sometime in the future.
  6. TV and its online counterpart, amazon prime really is a time waster. cut those apps out of your phone and live productively. OTOH, popcorntime or torrent video player is just as awesome. Nope, not got rid of my habit completely. 
  7. getpocket - 5 links a day for knowledge. Maybe 6. Do remember to read them when you add them, or you will end up having 200+ unread links like me.
  8. newsletters I have subscribed to:
    1. Seth Godin.
    2. MIT technology review.
( an aside: getpocket lists stuff for you in subjects you might be interested in, newsletters are someone else’s idea of whats important. Don’t get hung up on only what you know, the world is a big, big place. )
  1. I haven’t figured out how to unfocus quickly and properly. I just hope i can do it by the end of this year. This was on my previous list too. This is very important as it is a stress buster.
  2. One more thing, and this is an extremely important one - get off work early everyday. 

Life is it's own teacher, and i am very grateful to learn so much at my age. Some of which are:
  1. Be connected to people. Disconnection from.internet for a few hours a week is a good thing .
  2. Observe nature for some time every week. Not only is it so beautiful, your brain will also get information indexed. Give it some space.
  3. People are going to be weird. Just remember that it is their opinion and not yours.
  4. Read a lot. but not at the expense of living life itself.

All things considered, i have done quite well, but obviously there is scope for improvement. Lets see what the second half of the year brings me.


Popular posts from this blog

Year 2016 in review and goals for 2017

Hello people,
It's my 34th birthday today and I wanted to put the past year in review and where I wanted my life to go in the next year.

Achievements of this year: Machine learning course by Andrew Ng ( completed )Calculus I by Robert Ghrist ( completed )Calculus II by Robert Ghrist ( completed )Probability and Statistics ( 2 weeks left )Data science - pandas ( 1 week done ) My first linear regression program Built a neural network from scratch My first Regex. From scratch. No references. With tests.Algorithms I by Robert Sedgwick ( only audit )Algorithms II by Robert Sedgwick ( only audit )
Also did the BE subjects for CS, all the stuff I had learned over the years.
I am super happy to know that MOOCS help a lot in career advancement.
Self-help books that really helped: How to win friends and influence people - Dale CarnegieA mind for Numbers - Barbara Oakley
Altogether, a pretty good year, where learning is concerned. Things/Tips that helped me while learning: Very accommodating p…

Markov chain in JavaScript

I made a small Markov Chain joke generator during my coffee break sometime last week. This is in continuation to the last post, where we did a similar thing. I did this specifically to see how well it could be extended in a language which I have typically not used before for ML/NLP.

Let me run you guys through it.
First of all, the Markhov Chains need a bunch of data to tell it how exactly you want your sentences constructed.

str_arr=[sentence1, sentence2,...]

Next, we create a dictionary of all trigrams present across the sentences. To do this, we use all bigrams as keys, and the succeeding word as the corresponding values. The key-value pairs thus form a trigram. As an example, consider the sentence : “The man had a dog.” The dictionary for this sentence will have :
[ {[The, man] : [had]}, {[man, had] : [a]}, {[had, a] : [dog]} ]
Next up, using the dictionary that we just made to create sentences. Here we provide the first two words, and let the function work its magic to complete the sen…

Yo mama so geeky : generating jokes using Markov Chains

A few days back, I saw this article “How to fake a sophisticated knowledge of Wine with Markov Chains” on the programming subreddit. To my utter delight, the article referenced the code, along with a very detailed explanation, so I spent an hour getting it all to work. The hour taken was no fault of the original authors, it was taken because I wanted to get a good hang of XPath, which will be the topic of a later post. The program auto-generates wine reviews, by using Markov Chains to come up with a sequence of most probable trigrams. It was great fun spouting my expert-level sommelier reviews, especially considering that I can count on one hand the number of times I have actually tasted wine! The reviews were just the right amount of ambiguous with a hint of snobbishness (which, according to me, just made the whole thing perfectly more believable). While I was showing off my new-found expertise in wines, my partner in crime, Rupsa, told me it could probably be used for other similar…