Anatomy of the GNU/Linux kernel

June 07, 2007 0 comments
M.Tim Jones an embedded software engineer and the author of several books has written a short but very informative article explaining the anatomy of the GNU/Linux kernel. He starts with a short history of Linux and moves on to giving a brief introduction of Linux kernel and its properties.

Then we get to know the major sub systems of Linux kernel such as the System call interface, Process Management, Virtual File System (VFS), Memory management, Network stack, Architecture and device drivers. Finally there is a short synopsis of the interesting features of Linux kernel.

I found it a very nice read especially with the accompanying images which makes it quite easy to visualize what is explained. After all don't they all say - a picture is worth a 1000 words ?

Read the article on the Anatomy of the Linux kernel at IBM Developerworks to know a little about the working of Linux.

Download Netscape Navigator ver 9 for Linux

0 comments
Remember Netscape - the very web browser which once enjoyed a major browser market share and which was nearly killed by Microsoft's anti-competitive practices by its release of Internet Explorer ? The very Netscape navigator whose code base was then released as open source and which lead to the eventual development of the stable and increasingly popular Mozilla and then Firefox? Guess what, it has re-incarnated as Netscape Navigator ver 9.0.

Contrary to popular belief, Netscape Navigator was not dead though its popularity was severely diminished. One of the reasons for it to fall out of favor with the net users was because its succeeding versions accumulated a lot of unnecessary bloat. I remember using Netscape navigator ver 4.0 which was really sleek and then when I upgraded to the next major version, it some how did not live up to the mark of its predecessor.

The new Netscape navigator has shed a lot of fat and is now much sleeker. It is based on Firefox and has a couple of unique features built-in such as :
  • Integration with Netscape portal which is now a social bookmarking site (Yes Netscape website is now a social bookmarking/voting site aka digg.com ). From within the web browser without visiting Netscape, you can share and vote for web pages that you find interesting.
  • Read the latest news directly from your browser.
  • Netscape navigator fixes commonly mis-typed URLs for you.
  • And the highlight of ver 9 release is a link pad (Similar to what you have in Opera) which allows you to save interesting links without cluttering your bookmarks.
Netscape ver 9 is available for Linux apart from that for Windows and Mac OSX and is a modest 8.9 MB download. The minimum system requirements are 256 MB RAM and around 100 MB disk space.

If you are interested, you can download Netscape Navigator 9 and take it for a test drive.

Google Talk - Instant messaging client for Linux

June 06, 2007 11 comments
Roughly one year back, Google released its popular instant messaging application called Google talk which allows one to communicate with others, similar to the ever popular Yahoo Messenger. Initially Google talk client was available for Windows users only and people using other operating system such as Linux had to do with using the window which was embedded in their Gmail account. The problem was that to use Google talk, you had to log into your Gmail account.

Google has not yet released a native build of Google Talk for Linux. But what has changed is that it has now released a flash version of Google Talk which works in the same manner that an Instant messaging client is meant to work. The convenience for the Linux end user is that now in order to send text messaging using Google talk, one need not log into ones Gmail account but can directly access the Google talk interface as shown in the images below.

Fig: Google Talk web interface (Flash version)

Fig: Google talk - main view.

Fig: View once I have logged in.

Google Gears : Your Web applications can now be used even when not connected to Internet

June 04, 2007 0 comments
Microsoft has had a definite advantage in being a virtual monopoly in the PC market. In the past few years Google has been trying to grab this enviable market share enjoyed by Microsoft by releasing web applications which have similar features of popular Microsoft software products. Thus you have Google spreadsheet as a potential replacement for MS Excel, Gmail, Google Docs as a replacement for MS Word and so on. But till now Google applications lacked a fundamental feature which was that none of the Google products could be used while you are offline. In other words, you needed an Internet connection to use any of the Google offering except Google Desktop search.

Now this is bound to change for once and all and you can look forward to Google storming one of the bastions of Microsoft which is the PC Desktop. Google has just released what they have named as Google Gears. Simply put, Google gears is a web browser extension which makes it possible to make web applications run while you are offline.

Google Gears provides three key features which are :
  1. A local server, to cache and serve application resources (HTML, JavaScript, images, etc.) without needing to contact a server.
  2. A database, to store and access data from within the browser.
  3. A worker thread pool, to make web applications more responsive by performing expensive operations in the background.
Google has released Google Gears as a open source product which means, interested webmasters can use the API to develop their own web applications which work offline. You can go through a Google gears tutorial as well as access some sample applications to whet your appetite.

But what I find most enticing is the fact that Google has simultaneously released the web extension for Linux too along with that for Windows and Mac OSX. If you are interested in say, writing an email in your Gmail account while offline and then connecting to internet just to send the mail, then you can download and try out Google Gears.

Create a Linux Desktop application In 14 minutes flat using QDevelop and Qt

June 03, 2007 0 comments
Who said creating gui applications for Linux were difficult, tedious and mind numbing ? Ok, perhaps this was true 10 years back or so. But now Linux has a plethora of tools which make it possible to create GUI applications - I dare say as easily as programming in Visual Basic for Windows.

You can literally drag'n'drop, move and resize all the widgets such as buttons, text areas, radio buttons and so on and design a very good GUI in minutes. And in the forefront of ease of use is QDevelop which acts as a visual integrated development environment (IDE) for developing Qt applications for Linux.

Clive a 54 year old programmer who has over 25 years of developing experience walks one through the nuts and bolts of creating a GUI application from scratch. What is really interesting is that he uses QDevelop to design the application and also walks one through the steps involved in installing Qt & QDevelop, the different layouts in Qt as well as the final finished product. A very informative tutorial targeted at beginners.

QEMU-Puppy - A portable personal computer on a USB stick

May 30, 2007 0 comments
A few months back, I bought a 4 GB Kingston USB memory stick. It cost me around 1800 Indian Rupees (In US dollars it comes to just over $45). My idea was to use it partly as a data storage where I could keep files as backup and to use a part of the USB stick to install Linux.

The USB stick initially had only a single FAT 32 partition. So I repartitioned the USB stick to two 2 GB partitions each, both having FAT 32 file system. And in the first partition, I decided to install Linux. I went through the process and copied the distribution of my choice to my USB stick partition and even made it bootable using syslinux - which is a boot loader for Linux operating system. But as luck would have it, my computer refused to boot from the USB stick complaining there was no boot loader on the USB stick.

Later I came to know that syslinux has a limitation of working only if the partition is less than 1GB size and my USB stick had a partition of 2 GB. I didn't get the time to go back and try it out again. Perhaps I will try it some time soon on a 1 GB partition.

Today I came across this quite exhaustive but very informative article titled - "QEMU-Puppy - A Personal Portable Computer" written by Erik Veenstra where he explains how to turn your USB stick into a personal portable computer. He uses Puppy Linux (A very good minimalistic Linux distribution) and QEMU for the same. Erik walks one through the installation of QEMU and Puppy, to booting, configuration of various parameters, some tips and tricks that will save your time and a bit of Puppy Linux internals. All in all a very interesting article and a project worth trying out.

TrueCrypt Tutorial: Truly Portable Data Encryption

May 28, 2007 1 comments
TrueCrypt is one of the many disk encryption tools available in Linux and other Unices. Some of the features of truecrypt are as follows (and I quote):
  • Creates a virtual encrypted disk within a file and mounts it as a real disk.
  • Encrypts an entire hard disk partition or a storage device such as USB flash drive.
  • Encryption is automatic, real-time (on-the-fly) and transparent.
  • Provides two levels of plausible deniability, in case an adversary forces you to reveal the password:
    1. Hidden volume (steganography).
    2. No TrueCrypt volume can be identified (volumes cannot be distinguished from random data).
  • Encryption algorithms: AES-256, Serpent, and Twofish. Mode of operation: LRW.
Lipiec at Polishlinux.org has written a very good tutorial which explains how to setup and use truecrypt in Linux. He explains right from the start which is - download the code, compile, and install it to creating encryption volumes. Just so you know, truecrypt has been made available in deb and rpm formats as well. So if you are using one of the major Linux distributions such as Debian, Ubuntu or Fedora, you can skip the compilation from source step.

Truecrypt is available for Linux and Windows but the developers have provided a easy to use GUI only for Windows platform. Linux users are still made to depend on the command line to setup and manage encrypted volumes using truecrypt.