Proof of (a+b)² revisited

All of us know what (a+b)² formula is, But sometimes even these most basic things have some neat ideas hidden inside them. This post explains the proof of (a+b)² from a geometric perspective(age old) and tries to appreciate its hidden beauty. To start with, lets take a square and divide its length/breadth into a units and call the remaining length b units as shown in the below figure. Now it is evident from the figure
Read on →

Windows Shell Tips and Tricks

Another tip for Windows power users. Most of us often use Run dialog to launch programs by hitting Win+R.
We can do a lot from this dialog, Today I would like to share a neat little trick that I found here. This trick helps us navigate to some common folder locations quickly. Inside run dialog type shell:system and hit enter to open c:\windows\system32 folder in explorer, similarly shell:downloads will open your default downloads folder.
Read on →

How to install OpenGrok on Windows(and Linux)?

OpenGrokTo successfully setup OpenGrok, We need to perform two steps.
First, Indexing the actual source code and then setting up the opengrok web interface to navigate the indexed code. So before we jump in, first download below software

  1. Java JRE
  2. Ctags
  3. OpenGrok
  4. Tomcat (msi is preferable)

Install Java(update PATH), Extract Ctags to D:\ctags\ and extract Opengrok package to d:\opengrok\
Read on →

Why does Java support multiple inheritance only with interfaces?

As many of us know Java does not support inheriting from multiple classes and it does support inheriting from multiple interfaces. The less known fact is, what made Java designers to make this choice. In this article I would like to provide my understanding of the issues encountered and the trade offs taken when multiple inheritance is allowed at class level.
Read on →

How do Linux kernel’s build system work?

Linux kernel is one of the worlds largest open source project. So to play with it, We would be first able to customize and then build(compile) it  to our will and wish. Because of its sheer volume, The end developers or kernel hackers mandates an automated tool to ease the customization and build process. This is where Linux kernel build system comes into picture and our today’s topic of discussion. The following video will kick start this article by giving excellent perspective with mind boggling numbers about Linux kernel.

Read on →