Category Archives: Tutorials

Kanagram Musings!!

Kanagram Musings!!Kanagram is a game to play anagram or solve jumbled words. Kanagram features several built-in word lists, hints, and a cheat feature which reveals the original word. Kanagram also has a vocabulary editor, so you can make your own vocabularies, and distribute them through Kanagram’s KNewStuff download service.

Here is a tutorial that actually will help you out to add more words/categories in different languages as well. Please put up your comments and suggestions 🙂


Add the country word list in KHangman

After burning some midnight oil yesterday, I finally completed the first cut of my presentation regarding “lets add a country word list in khangman”… you will definitely find this interesting. Download it from here. Also please post the much needed comments & suggestions for improvement.

Add the country word list in KHangman

Update: Just to give an insight of what’s happening inside KHangman is that, to integrate a word list or a category into it, we need to create a kvtml file. A snapshot of a sample kvtml file is as follows:

<?xml version="1.0"?>
<!DOCTYPE kvtml SYSTEM "kvoctrain.dtd">


<t>the land of gods</t>


<t>the land of rising sun</t>



Have fun!! 🙂

See you at 2008, New Delhi.

Add the country word list in KHangman

Localized (বাংলা) version of kgeo presentation :)

I finally finished up the bangla version of my kgeography presentation “চলো আমরা ভারতবর্ষের ম্যাপ এ্যাড করি…”. Download it from here.

Localized (বাংলা) version of kgeo presentation :)

Please put up any comments or suggestions for improvement (including বানান ভূল/spelling mistakes also) 🙂

Crosslink: The english version “Add maps into kgeography”

Add the map of India into kgeography…

As a follow-up of my last post Insight into KGeography, I would like to publish the completed release of my presentation regarding “lets’ add the map of India in kgeography”. Download it from here. Also, do post any comments or suggestions for improvements.

Add the map of India into kgeography...

Have fun!! And HAPPY NEW YEAR 2008 🙂

Update: Here’s the first cut of the bangla (বাংলা) version of this presentation. Though its’ still half-complete, have a look. Will post the completed version soon. Download it from here. Also, post much needed comments & scope of improvements.

Btw, had some rough times with openoffice. The theme which i used in the original presentation won’t render bangla fonts. So, i had to recreate lot of thing all over.

Insight into KGeography

KGeography is a geography learning tool integrated with KDE-Edu. It helps a student to learn geography in a playful way. But it still doesn’t has all the maps as yet. How to add them? For adding a new map in KGeography, we need two things. One, the map (say in a file called mapname.png) and secondly, a kgm file (whose name should be mapname.kgm) to integrate the map with kgeography. Once we have them we can easily add them in its’ home directory (default: /usr/share/apps/kgeography). Now, what kgeography does is an image-processing. It distinguishes a division of the map by its’ RGB values. Then it identifies the division by Name, Capital, Flag etc parameters given in the kgm file for that division.

So, for adding a map we need to do following things:

1. First, create the map using GIMP, Kolourpaint or any other picture editors. Getting a political outline will be the best idea. I couldn’t get one atleast for India. So a good idea will be superimpose a blank outline map over a descriptive political map (in two layers to be precise). Assign separate colours for every division. Care should be taken that no two regions should have same colours. Ofcourse, handdrawn & scanned political outline maps may be an option and there is no real restriction on the scale of the maps.

2. Next, comes the integration part or the kgm file. So lemme show the basic structure of the .kgm file:






//Other divisions


A kgm file begins with <map> and ends with </map>. Inside of those tags there are:

  • <mapFile> and </mapFile>: the name of the file (without any path) containing the map image, e.g. “india.png”.
  • <name> and </name>: the name of map, e.g. “India”.
  • A <division> and </division> for each division in the map.

Now, each division has these tags:

  • <name> and </name>: the name of the division, e.g. “West Bengal”.
  • <capital> and </capital>: the name of the capital of the division, e.g. “Kolkata”.
  • <ignore> and </ignore>: can be set to yes, allowClickMode and no. If this tag is set to yes then the division will be ignored when asking for divisions in that map. It is then as if this division does not exist in KGeography quiz modes. If this tag is set to allowClickMode then KGeography will ask for the division in the Click Division in Map… mode but not in other quiz modes. Setting this tag to no means the division will appear in all modes (browse and quizzes). This tag is optional and when there is no <ignore> tag that means as it is set to no. For example “Egypt” has this tag set to yes in the “Asia” map which means that “Egypt” will not be part of any quiz in the “Asia” map. Also this tag is set to yes for frontiers or oceans.


<name>Not a Nation</name>




  • <flag> and </flag>: the file (without any path) containing the flag of the division, e.g. “india.png” in asia map. This tag is optional. Not needed for the divisions whose <ignore> tag is set to yes.
  • <color> and </color>: the color the division has in the map.

The color is defined using three tags:

  • <red> and </red>: red component of the color. Valid values are between 0 and 255.
  • <green> and </green>: green component of the color. Valid values are between 0 and 255.
  • <blue> and </blue>: blue component of the color. Valid values are between 0 and 255.

All names should be in english. But when number of divisions are too much it will be better to automate the task of creating kgm file with a bash script (will post lil’bit later). I checked out the helper tool in kgeography handbook which wasn’t effective enough even on the existing maps.

Update: Now, this post may not be enough to dive into this work. So, I created a sort of presentation concentrating on how to add the map of India. It’s still unfinished. But you can have the first cut from here: []. The best way to see it is as a presentation in kpdf.

Well, I divided the task in 3 days:

  1. Day 1: Create the political map of India (done)
  2. Day 2: Color the divisions of the map (done)
  3. Day 3: Create the .kgm file (not completed)

Have fun!! And do post any comments or improvements 🙂

Wi-Fi with NdisWrapper!!

Many vendors do not release specifications of the hardware or provide a Linux driver for their wireless network cards. The ndiswrapper project implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. A Windows driver for wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation. With ndiswrapper, most miniPCI (builtin), PCI, PCMCIA (Cardbus only) or USB wireless network cards work in Linux with x86 or x86-64. Although ndiswrapper is intended for wireless network cards, other devices are known to work: e.g., ethernet cards, USB to serial port device, home phone network device etc.

I got into this matter because one of my friend bought a Compaq Pressario V6425TU laptop but the Wifi (wlan vendor: Broadcom) won’t work in F7.


The latest stable version is 1.48. It can also be yum-installed from livna repository.

Usage: First we have to install ndiswrapper kernel module (from livna):

# yum install ndiswrapper

Then we check whether any conflicting driver is there or not. If present it should be blacklisted. To do this (replace ‘driver’ with driver name say ‘bcm43xx’):

# echo 'blacklist driver' | \
tee -a /etc/modprobe.d/blacklist

Now for PCI wireless adapter do a # lspci -n or for USB wireless adapter do # lsusb. Once the wifi card is identified, note down the chipset ID of the form 104c:8400. Then we install the crap…the INF file (eg: bcm43xx.inf) of the Windows driver

# ndiswrapper -i /path to/driver.inf

To make sure if the driver is properly installed we list the currently installed drivers for ndiswrapper:

# ndiswrapper -l

If the driver is properly installed it will echo:

Installed ndis drivers:
{driver} driver present, hardware present

If you don’t see this, try a different driver such as the drivers for Windows 2000, or another driver matching the PCI ID on the ndiswrapper list. The installation of driver can be done easily by a GUI ndisgtk.


After installation, now we run the following commands to add the driver module in kernel:

# depmod -a
# modprobe ndiswrapper

Now with # ifconfig or # iwconfig the wifi card will appear with an interface name like wlan0. If wlan0 is shown then wifi is working!! We can then create a network connection.

Invisible Mouse Pointer!!

During the InstallFest we faced a weird problem. The mouse was working but the mouse pointer was invisible. It was M$ optical mouse with nVidia video driver. So we first added the mouse device in /etc/X11/xorg.conf:

Section "InputDevice"

Identifier "Mouse"
Driver "mouse"
Option "device" "/dev/mouse"
Option "Protocol" "Auto"


Then we added the most crucial line in the nVidia driver section of xorg.conf. By default, HWCursor is on.

Section "Device"

Driver "nv"

Option "HWCursor" "Off" #New option


For more details of options of nVidia video driver “nv” see #man nv