SICP Sections 2.3 & 2.4: Thoughts and Ideas

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

MOOC Talk : And I thought I knew SQL

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 Virtual Machine

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

How Skype works

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

The student life… of projects, assignments, exams and more work!!!

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!!!