S.G. Ganesh

Joy of Programming!

Design smells are poor solutions to recurring implementation and design problems. This article gives readers an overview on what design smells are, why we should be concerned about them, and what we can…

Joy Of Learning: A Peek Into Auto-generating Code

Using tools to auto-generate code from high-level models or specifications looks like a cool idea. Though generating code instead of hand-writing it from scratch has many advantages, one needs to also be aware…

Getting Your First Job

In this month’s column, we take a break from discussing technical topics and talk about what most students care about getting a job. I get numerous mails from students just out of college…

A 'bug vs feature' example from MS PowerPoint

Joy of Programming: A Bug or a Feature?

A puzzling aspect of bugs is that they often turn out to be features (and vice versa)! Let’s explore this interesting topic with an example. In my experience working with enterprise software, I…

Moth that caused the malfunction in the Mark II computer

Joy of Programming: Why is a Software Glitch Called a ‘Bug’?

In this column, we’ve always covered unusual and interesting technical topics. This month, we discuss the word “bug”, and the history behind its use in the software context. There are three things common…

Substitution...

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…

Bit-fields

Joy of Programming: Understanding Bit-fields in C

One important feature that distinguishes C as a systems programming language is its support for bit-fields. Let us explore this feature in this column. In C, structure members can be specified with size…

Fail Fast!

Joy of Programming: Fail Fast!

When a problem occurs in the software, it should fail immediately, in an easily noticeable way. This “fail fast” behaviour is desirable, and we’ll discuss this important concept in this column. At first,…

Dennis MacAlistair Ritchie

Joy of Programming: The Legacy of C

Dennis Ritchie died on the 8th of October 2011, at the age of 70. His lasting contributions to computing include creating the C language, and co-creating the UNIX operating system. In his memory,…

Visibility?

Joy of Programming: Scope, Lifetime and Visibility in C

Often, programmers confuse the scope, lifetime and visibility of variables. So I’ll cover these three important concepts in this month’s column. Whenever you declare a variable, you determine its scope, lifetime and visibility….

All published articles are released under Creative Commons Attribution-NonCommercial 3.0 Unported License, unless otherwise noted.
Open Source For You is powered by WordPress, which gladly sits on top of a CentOS-based LEMP stack.

Creative Commons License.