GNU Make in Detail for Beginners
Have you ever peeked into the source code of any of the applications you run every day? Ever used make install to install some application? You will see make in most projects. It…
Programming Tools for Linux
This article is not so much about the various languages, as the programming tools that can be used to write programs using the languages. When students first start taking programming courses at various…
Lisp: Tears of Joy, Part 7
Lisp has been hailed as the world’s most powerful programming language. But only the top percentile of programmers use it because of its cryptic syntax and academic reputation. This is rather unfortunate, since…
Creating Your Own Server: The Socket API, Part 2
Earlier, we created a simple server and client program using the socket API. This time, we’ll first start with a program, and then explain what’s going on. So start up your systems, and…
Web Application Penetration Testing Using Samurai
This article introduces you to penetration-testing of Web applications. Also included is some hands-on work with a Web-testing framework called Samurai. Penetration testing, affectionately called pen-testing, involves testing a piece of software, or…
What is Scientific Programming?
This article will take you into the world of scientific programming — from simple numerical computations to some complex mathematical models and simulations. We will explore various computational tools but our focus will…
Joy of Programming: The ‘Broken Window’ Theory
It is common to see software projects fail. One important cause is ‘design and code rot’. In this article, let’s try understanding the causes, in the light of a popular theory. Development projects…
When Python Weds C
It is a well-known fact that the C language is closely related to many programming languages. This article discusses the Application Programming Interfaces (APIs) between Python and C. The Python/C APIs are widely…
CodeSport (February 2011)
Welcome to CodeSport! We will continue the discussion that began last month about software transactional memory. The main difference between traditional lock-based synchronisation and software transactional memory is that lock-based synchronisation is based…





