Function Pointers and Callbacks in C — An Odyssey
Function pointers are among the most powerful tools in C, but are a bit of a pain during the initial stages of learning. This article demonstrates the basics of function pointers, and how…
Device Drivers, Part 15: Disk on RAM — Playing with Block Drivers
This article, which is part of the series on Linux device drivers, experiments with a dummy hard disk on RAM to demonstrate how block drivers work. After a delicious lunch, theory makes the…
Joy of Programming: Liskov’s Substitution Principle
LSP is a cardinal rule to follow in object-oriented designs. In this column, we’ll introduce LSP to those new to OOP (Object Oriented Programming), and discuss a couple of examples from JDK that…
Developing Apps on Qt, Part 1
This article introduces application development using the Qt GUI framework. There was a time when all desktop applications were developed from scratch. Then came the concept of code reuse. Static and shared libraries…
Working with MTD Devices
This article shows how kernel and application developers (in C) can make use of MTD in Linux. MTD (Memory Technology Devices) are NAND/NOR-based flash memory chips used for storing non-volatile data like boot…
CodeSport (January 2012)
In this month’s column, we take a short break from our discussion of compiler optimisations and feature a set of questions for computer science interviews. We have been discussing compiler optimisation over the…








