Tips for making learning a habit and maximizing knowledge acquisition
I used to read a lot in the past without practicing what I learnt; that exposed me to a variety of ideas and empowered me to discuss a lot of things. Over time, I found out that I mostly didn't 'know' what I thought I knew. Yeah I know it sounds somehow but it's really true. True understanding … Continue reading Reading is not enough
I try to read a lot of books. Over the years, my 'taste' for books has been refined and some of my criteria are listed below.
1. Top-Down Design Most of the problems in the SICP book are solved in a top-down way with lower level details deferred until needed. The focus on high level details makes for expressive flexible code since implementation is based on well-defined interfaces and not implementations. Consequently, swapping and improving interfaces is a cinch - the dependency on high … Continue reading SICP Sections 2.3 & 2.4: Thoughts and Ideas
1. Deliver when you commit It is extremely bad for your reputation to fail to meet up to your words; if you can't deliver, please say no or find an alternative way out. How would you feel if an artisan disappoints you for no good reason? I bet you'll probably never do business with them again. … Continue reading Becoming a Professional Programmer
My review of the MOOC on Machine Learning
Massive Open Online Courses (MOOC) became popular early this year with offerings from Coursera, Udacity and EdX. These platforms were inspired by the phenomenal success of the three online courses (db-class, ai-class and ml-class) that ran in late 2011. It has never been so easy to get high-quality knowledge - for example, Coursera has renowned … Continue reading MOOC Talk : And I thought I knew SQL
The Java vision was to empower developers to "write once, run everywhere". One way of achieving platform independence is to use middleware to mask differences. Enter the JVM; a stack-based virtual machine that uses 32-bit words, performs arithmetic using 2-complement and can execute compiled Java bytecode, typically .class or .jar files. The beauty of middleware ensures … Continue reading The Java Virtual Machine
A lot of us use Skype daily but have no idea about how it works. Here is a brief description of the Skype framework. Skype employs a partially decentralized architecture - a mix of the peer-to-peer and client-server architectures. The client-server system is used for authentication while the peer-to-peer system is used for IP telephony, relaying, … Continue reading How Skype works
At last! I finally get to write on my blog. I have been struggling to cope with the never-ending stream of course work, projects and exams. Alhamdulilah I think I have some time for a pretty quick post. I finally turned in the artificial intelligence project, probably the most challenging projects of the semester. First, it had … Continue reading The student life… of projects, assignments, exams and more work!!!
I stumbled upon Rebecca Murphy's jqfundamentals and found it to be a gentle introduction to jQuery. Well, I use jQuery a lot - well, let's just say I copy prefabricated solutions - so I felt it'll do no harm to learn how to write jQuery itself. So far it's been lovely, Rebecca's piece is great … Continue reading learning jQuery
I've always wanted to blog; I wanted to start blogging since 2009 but somehow never got to it. Now its 2011 and I still keep postponing starting my own blog. Though this is not as polished as I want it to be, its better for me to start right now rather than just think about … Continue reading Here we go