Anda di halaman 1dari 116

Market is Thirsty for Open Source! Are You Equipped?

Rs 100
ISSN 0974-1054

V D5 , DVD-R
OM Drive

Don
RAM
2MB
, 51
: P4
nts
me
ire
qu
Re CD
em Te
st

am
Sy
d

e-
de

ma
en

il:
mm

cd
ebay

co

tea
Re

m@
efy
r

indi
a.co
m
FSa
should be attr
, and ibut
ten
ded ed 07
me:
to
09
Volu e: 09 er 20

in

the
un is

com
Issu vemb

sc,

plex n
on the di
No

ature of Inte
d
if foun
ial,

rne
ter

td
ma

at
a.
le
nab
Note: Any objectio

,
.26
E 2 ent. p
OM nm top- eskto

In c
GN viro d

ase
.3, C en a desk d 3D x.
E4

thi
P n
KD UM with 1 a e bo

DV s
live C, or es 2.6.3 of th

D
do
to a tre P It com rnel out

es
no
in
tw
rk
B t n ?
oo ia Ce ore nux t wo ke pro
ork

d m Li a
Me hat's ised ons th
pe
rly
,w
W ptim ati
rite
to
o aplic
us
sup at
port
@ef
yindia
.com for
a free replacement.

THE COMPLETE MAGAZINE ON OPEN SOURCE


VOLUME: 07   ISSUE: 09   November 2009  116 PAGES   ISSUE# 82

Android
experience
taken to a new level
HTC Hero Reviewed Inside | Turn to page 22

Build a Media Centre

r c l o c k & r k
Ov enchm ors
in Under Rs 30,000

e a
C
t Your P
Electronic Design o Boos

B s
Turb

  roces
and Fabrication with gEDA

Published by EFY—ISO 9001:2000 Certified

P
India INR 100
US $ 12
Singapore
Malaysia
S$ 9.5
MYR 19
Get a Hold on the Scheduler
with CPU Affinity
A Web Service to Create an OS
The story behind Pardusman!
Optimized
systems

4 TFLOPS in Tower
Up to 960+Cores
2 TFLOPS in 1U PSC: Personal Super Computer
Up to 480+Cores

- 2 Teraflops in 1U (240 cores per GPU)

- The Most highly optimized multi-GPU


systems available

- Gold Level 93% efficiency 1400w power supplies

- Flexible system configurations with up to


4 GPUs Powered by
Contents NOVEMBER 2009  •  Vol. 07  No. 9  •  ISSN 0974-1054

FOR YOU & ME


22 “I Wanna Be Your Hero Baby,”
says HTC Sense!
28 Super, Simple Security
32 Thirst for FOSS at the Job
Market!
38 GIMP for Beginners, Part 5:
‘Isolation’
42 Experiencing Sabayon 5 oh!
46 Can the Minimalist Approach of

Android
CDlinux Win You Over?

experience developers

taken to a new level 66 Introducing the Pardusman


Project—A Google Summer of
Code 2009 Entry
22 76 Get A Hold on the Scheduler
with CPU Affinity, in Linux
80 Create Cute Apps With Qt

l o c k&
rc mark
O ench ors
e r PC
v oBoost You

B s
Turb

  roces
Geeks
54 54 Turbo Boost your PC:

P Benchmarking and Overclocking


in Linux
62 Make Your Own Media Centre
in Under Rs 30,000
72 Electronic Design and
Fabrication with gEDA

66 90 'Typesetting' Presentations 50
with Beamer

  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Contents Editor
Rahul chopra

Admin Editorial, Subscriptions


& Advertising
96
50 A Liberating Learning Delhi (HQ)
Infrastructure D-87/1, Okhla Industrial Area,
Phase I, New Delhi 110020
Phone: (011) 26810602, 26810603
86 The Art of Guard, Part 6: Fax: 26817563
E-mail: info@efyindia.com
SELinux Policy Modules BANGALORE
No. 9, 17th Main,
1st Cross, HAL II Stage,
Indiranagar, Bangalore 560008
Ph: (080) 25260023; Fax: 25260394
E-mail: efyblr@efyindia.com

Columns CHENNAI
M. Nackeeran
DBS House, 31-A, Cathedral Garden Road

94 CodeSport REGULAR FEATURES Near Palmgroove Hotel, Chennai 600034


Ph: 044-28275191; Mobile: 09962502404
E-mail: efychn2@efyindia.com

96 Python in Research, Part 3: 06 Editorial


Customer Care
Modelling Epidemics e-mail: support@efyindia.com
08 You Said It...
99 The Joy of Programming: Back Issues
Understanding the sizeof 12 Q&A Section Kits ‘n’ Spares
D-88/5, Okhla Industrial Area,
Operator 14 FOSS Bytes
Phase I, New Delhi 110020
Phone: (011) 32975879, 26371661-2
E-mail: kits@efyindia.com
Website: www.kitsnspares.com
100 A Voyage to the Kernel, 71 CodeChef
Part 18: Segment 3.7, Day 17 Advertising
92 Tips & Tricks Kolkata
D.C. Mehra
Ph: (033) 22294788
105 Linux Jobs Telefax: 22650094
E-mail: efycal@efyindia.com
Mobile: 09432422932
109 FOSS Yellow Pages mumbai
Flory D’Souza
Ph: (022) 24950047, 24928520; Fax: 24954278
90 E-mail: efymum@efyindia.com

PUNE
Zakir Shaikh
Mobile: 09372407753
E-mail: efypune@efyindia.com

Re
com
men
ded
Syste
m Requir
ements: P4, 512MB
RAM,
DVD
-RO
MD
rive
HYDERABAD
P.S. Muralidharan
LFY DVD: Sabayon 5 Ph: 09849962660
E-mail: efyhyd@efyindia.com
CD T
e

Boot into a live KDE 4.3, GNOME 2.26,Media Centre PC, or UMPC
am e-

ended, and sh
s unint oul
c, i
mail: cdteam@efyindia.com

db
dis e
att
the

rib
on

ute
material, if found

d to t
he complex na

environment.What’s more? It comes with a desktop-optimised Linux Exclusive News-stand


able

ture
tion
jec

of

b Int
yo ern
: An et d
ata.
Note

Volume: 07
Issue: 09

Distributor (India)
November 2009
Boot into a live KDE 4.3, GNOME 2.26,
Media Centre PC, or UMPC environment.
What's more? It comes with a desktop- kernel 2.6.31 and 3D desktop applications that work out of the box.
India book house Pvt Ltd
optimised Linux kernel 2.6.31 and 3D desktop
aplications that work out of the box.

Arch No, 30, below Mahalaxmi Bridge, Mahalaxmi,


t.
en
em In c
lac
rep ase
free this
for a DVD
does
com

Mumbai - 400034 Tel: 022- 40497401, 40497402,


work p india. not
roperly, write to us at support@efy

40497474, 40497479, Fax: 40497434


E-mail: info@ibhworld.com

Printed, published and owned by Ramesh Chopra. Printed at


Ratna Offset, C-101, DDA Shed, Okhla Industrial Area, Phase
I, New Delhi 110020, on 28th of the previous month, and

LFY CD: OpenBSD 4.6 & Eclipse 3.5


published from D-87/1, Okhla Industrial Area, Phase I, New
Delhi 110020. Copyright © 2009. All articles in this issue,
except for interviews, verbatim quotes, or unless otherwise
explicitly mentioned, will be released under under Creative
OpenBSD being security guru Theo •Eclipse IDE for Java EE Developers Commons Attribution-Share Alike 3.0 Unported License
a month after the date of publication. Refer to http://
de Raadt’s baby, includes a number •Eclipse IDE for C/C++ Developers creativecommons.org/licenses/by-sa/3.0 for a copy of the
of security features absent or •Eclipse IDE for PHP Developers licence. Although every effort is made to ensure accuracy,
no responsibility whatsoever is taken for any loss due to
optional in other OS. publishing errors. Articles that cannot be used are returned
to the authors if accompanied by a self-addressed and
sufficiently stamped envelope. But no responsibility is taken
for any loss or delay in returning the material. Disputes, if
any, will be settled in a New Delhi court only.
Note: All articles in this issue, except for interviews, verbatim quotes, or unless otherwise explicitly mentioned, will be released under Creative Commons Attribution-Share Alike 3.0 Unported
Licence a month after the date of publication. Refer to http://creativecommons.org/licenses/by-sa/3.0/ for a copy of the licence.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  


Editorial
Dear Readers, Distrowatch has just announced the release of
When netbooks first emerged, Linux was Ubuntu 9.10 RC. The final release is on October
considered the only viable solution for these 29. Mandriva 2010 is at RC2, with the final
devices. However, as it happens all the time with scheduled for November 3. If things go as per
the market tactics of a certain other player, the schedule, by the time you are reading this both
open source OS has almost disappeared from the distros should be out. You may wonder if
these devices too. Nowadays, it’s become really these are possible inclusions for our December
hard to find a netbook with preinstalled Linux. issue… Of course, they are!
So, what’s to be done? We can either wait By the way, openSUSE 11.2 final is scheduled
for the market dynamics to change or take for November 12. Now what do we do about
matters into our own hands and drive this that? Ubuntu fits into a CD, while Mandriva
change ourselves—like we did with laptops takes up a DVD. Does that mean we’ll make
in the past. Our persistence in not using that you wait for another month for openSUSE?
other OS, has made even a heavyweight like Meanwhile Fedora 12 is also scheduled for
Dell offer Ubuntu preinstalled—although not November 17 (unfortunately, the date is too late
in all parts of the globe! But then, we should to be considered as a DVD option. Phew!). So,
continue to campaign.The easiest is to choose what’s in January 2010? Fedora or openSUSE?
the path of ‘format and reinstall’!
We can bring the concept of format and
reinstall to netbooks too. So, here’s an open The easiest is to choose
question: Which distro do you run on your
netbook? Ping us, because we’d love to hear the path of ‘format
from you. Meanwhile, if you’re planning to buy
one, which brand and model would you like to
and reinstall’!
go for? I guess, you are also wondering whether
it would run Linux, if at all! Personally, I wouldn’t have wanted to wait
Currently, the scenario with netbook for months before laying my hands on the
hardware compatibly is as dicey as it was with latest distro. And let’s face it, these are the BIG
laptops, half a decade ago. Things have changed, ones! A colleague made a suggestion—hike the
for the better over the last few years. If we magazine’s price by Rs 10, go for a dual-layer
don’t get Linux preinstalled on our laptop, we DVD and fit in both openSUSE and Mandriva.
can exercise our rights to format and reinstall, Sounds like a deal? You bet!
without worrying about whether the hardware But why a price hike? Well, that’s to cover
will support Linux or not. With respect to the additional cost of a dual-layer DVD. And
netbooks now, our job is to test these devices this will only affect those who buy it from the
and flood the Web (and print) with information newsstands—the subscribers are safe! Another
on netbook models that are Linux compatible. reason why you should subscribe ;-)
Okay, it’s now time for me to make a With that, I’ll stop the self promotion. Hope
confession: after getting an overwhelming you enjoy reading the November issue before
number of queries from our readers, we thought we come back in December with a blast!
it was about time we picked up the topic and
did our bit. So, come next month, we hope to Best Wishes!
present you with a comparison of hardware
features, as well as the Linux compatibility of
some of the netbook models available in the
Indian market. Also, we’ll try to analyse which Rahul Chopra
netbook OS is the best fit, as of now. Editor, LFY
Talking about OS, as I write this editorial, rahul@efyindia.com

  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Trained participants from over 38 Countries in 6 Continents
Linux OS Administration & Security Courses for Migration
LLC102: Essentials of Linux OS RHCSS / RHCA Courses & Exams
LLC103: Linux System & Network Administration RHS333: 14 Nov.; RH423: 7 Nov.
LLC203: Linux Advanced Administration
RH429: 21 Nov.; RH401: 1 Dec.
LLC303: Linux System & Network Monitoring Tools
RH436: 7 Dec; RH442: 14 Dec.
LLC403: Qmail Server Administration
LLC404: Postfix Server Administration EX401, EX436 & EX442 on
LLC405: Linux Firewall Solutions 5, 11 & 18 December respectively
LLC406: OpenLDAP Server Administration
LLC408: Samba Server Administration
LLC409: DNS Administration
Joomla CMS Course on
LLC410: Nagios - System & Network Monitoring Software 21 & 22 November 2009
LLC412: Apache & Secure Web Server Administration

Courses for Developers RH301 from 9, 16 & 23 Nov. ‘09


LLC104: Linux Internals & Programming Essentials RHCE Exam in Bangalore on 10 & 27 Nov. ‘09
LLC105: Programming with Qt
LLC106: Device Driver Programming on Linux
LLC107: Network Programming on Linux LLC504: Linux on Embedded Systems
LLC108: Bash Shell Scripting Essentials 4 Day Fast Track Course
LLC109: CVS on Linux
LLC204: MySQL on Linux starting on 14 November 2009
LLC205: Programming with PHP
LLC206: Programming with Perl
LLC207: Programming with Python
LLC410: Nagios System & Network
LLC208: PostgreSQL on Linux Monitoring Software - Training from 21 Nov ‘09
LLC209: Joomla CMS
LLC501: Programming with OpenGL Linux Support & Solutions
LLC504: Linux on Embedded Systems
Installation, Setup and Support Solutions
RHCE Certification Training for RedHat, Ubuntu, SUSE, CentOS Servers
RH033: Red hat Linux Essentials
RH133: Red Hat Linux System Administration For more info log on to:
RH253: Red Hat Linux Networking & Security Administration www.linuxlearningcentre.com
RH300/301: Red Hat Rapid Track Certification Course
Call: 9845057731 / 9343780054
RHCSS / RHCA Certification Training Email: info@linuxlearningcentre.com
RHS333: Red Hat Enterprise Security: Network Services
RH423: Red Hat Enterprise Directory Services & Authentication RED HAT Training Partner
RHCE & RHCSS Exam Centre
RH401: Red Hat Enterprise Deployment & Systems Management
RH436: Red Hat Enterprise Clustering & Storage Management
RH442: Red Hat Enterprise System Monitoring & Performance Tuning
RHS429: Red Hat Enterprise SELinux Policy Administration

Registered Office & Corporate Training Centre LLC Satellite Centre - Bangalore
# 635, 6th Main Road, (Adj.. Bank of India) Hanumanthnagar, Bangalore 560019 # 1291, 24th Cross, 30th Main,
Tel: +91.80.22428538 / 26600839 / 26610999 TelFax: +91.80.26600839 BSK II Stage, Bangalore 560070
Cell: 9845057731 / 9343780054 Email: info@linuxlearningcentre.com Tel: +91.80.26712928
www.linuxlearningcentre.com
You said it…
It’s good to see the Slackware I don’t deny that there might be you switch your printer to an HP model.
Linux and OpenOffice 3 CD/DVD some problem with the Epson printer/ When I purchased mine, Canon Pixmas,
with the October issue. Thanks for it. scanner Hartmut is using, but the Linux with better quality at half the price, were
I read the feedback from fellow community support is so strong that the available. I stuck with HP because of the
reader Hartmut in the ‘You Said It’ solution will be out soon. And at least, HPLIP (Hewlett Packard Linux Imaging
section about the lack of hardware it’s not that kind of ‘proprietary’ support Project) where HP developers work to
support in Linux. First of all, I would like where you have to send chains of e-mails make open source drivers available for
to share my experience on Linux... or select a number of options just to Linux and BSD. This is probably the only
A few months back while explain, “The driver is not supported; instance where the device manufacturer
downloading Debian Lenny on could you please provide a new driver,” works on fully free open sourced drivers,
my new Dell Inspiron 1525 laptop and finally get a response like, “Sorry sir, which support the full functionality (not
(unfortunately, on Windows Vista), I we don’t support this model anymore!” merely the ‘just works’ bit).
thought of having an alternate Internet —Anant Vyas, anant.vyas23@ —Boudhayan Gupta, bg13.ina@
connection using my Nokia 3220 (which gmail.com gmail.com
is pretty old!) phone. I downloaded the
Nokia PC suite for Windows, purchased I write this mail regarding This long drawn-out discussion
the data cable for less than 200 rupees feedback on the Epson printer not seems to be related to just a single
(surely it wasn’t Nokia’s) and thought it working on Mandriva 2009.1. Let me share specific problem. I use Ubuntu on a
would work. But alas... the Nokia Suite a story with you. I bought my HP Compaq Pentium 4 (2004 model) desktop
(running on Windows) didn’t recognise Photosmart D5368 printer in April this and bought an Epson Stylus CX2800 (USB
my phone even after installing the year. It has a host of non-standard printing printer-cum-scanner) in 2007 on the
phone’s cable driver, and this was only features, including printing directly onto assurance from an Epson sales executive
because of the cheap cable. This forced CDs and DVDs, plus automating paper that it would work in both Windows and
me to drop my plans as purchasing a type detection and verification (if I select Linux, and that the company’s trained
branded data cable would have cost me plain paper as the paper type but feed in technician would install it on both. The
more than Rs 500 (at least). photo paper, it will not print). And, it ‘trained’ technician who came, however,
So I installed Debian Lenny and connects via USB. My computer is also did not know what Linux was and made a
tried to connect (using the same phone self-made, with an ASUS M2N-CM DVI mess of installing it even on Windows. I
and the cheap cable) to the Internet MoBo and a 2.3 GHz triple-core AMD had to uninstall and reinstall it in
using the wvdial method, which is also Phenom processor. Windows, by following the instructions
mentioned in the October issue’s Q&A The printer came with two CDs—one from the installation CD. For Linux I had to
section. Wow! It not only recognised the with drivers for Windows and Mac, and turn to the Internet.
phone’s modem, it worked very smoothly another with CD label printing software, Epson mentions only the Windows
(out-of-the-box) and I didn’t need to for Windows only. At that time, I was using operating system in its requirements,
replace the cable either. It saved me from Windows XP Media Centre Edition 2005 and gave only Windows drivers and
having to spend extra money too. SP3, and Ubuntu 9.04 Jaunty Jackpole. installation files in the CD. However, it
As far as printers are concerned, I I unpacked my printer, plugged it in, has an associate [www.avasys.jp] that
have used HP 3550 and 656c, which are switched on my PC, booted Ubuntu and develops and maintains a repository
older models and they too worked well printed. A perfect test page came out. I of Linux drivers/installation files for
on Linux (again, out-of-the-box), while even verified that CD printing worked. Cut various models of printers, scanners and
on Windows, I’ve had to search for the to Windows XP; I went through the two MFDs. We have to download it from the
Vista drivers for these models to work CDs, and then went through a series of associate’s site. The procedures given
(which I didn’t even try to do). IRQ conflicts, reconnected cables at least a are lengthy CLI steps. I succeeded in
So, from my point of view, I don’t dozen times and installed a second device installing the printer, but it performed
think that there is lack of hardware node for my printer before I could print. only a few of the functionalities compared
support in Linux. Instead, maybe there I believe your problem lies with the I/O to its performance on Windows. But then
is lack of ‘easy’ support because we have controller on your motherboard, which I could swiftly install the printer with
to do a lot of research/googling to find manages the USB ports. Either that’s faulty, complete functionality from the Ubuntu
out what the problem is before getting or the standard USB drivers don’t work GUI using the driver for model number
the solution. But being a Linuxer, that’s properly with it. CX3800, which is built into Ubuntu. I
part of the fun, right? For the future, I would also suggest could not install the scanner, and had to

  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


You said it…
hang on to Windows only for that reason. OS installed on one PC works well with Sreekrishnapuram, Palakkad, Kerala,
After reading about this matter in most other systems even if the hardware, have completely switched to Linux,
the October 2009 issue of LFY, I went besides the CPU architecture, is different. So and have started reaping the benefits.
back to avasys.jp hoping that in the the same thing applies to images taken by At the same time, I have a feeling
meantime Epson would have developed partimage. But most of the time, the display that a magazine such as yours shall
a friendlier Linux installer for the scanner. will not work immediately when a graphics not promote negative tendencies like
Sure enough, it was there—a .deb file card changes. In such a case, you need to animosity towards a firm or product
specifically meant for Ubuntu. The scanner modify your /etc/X11/xorg.conf file as per (Microsoft or any other) and should
was installed in a jiffy through the Ubuntu your new display settings by booting to the discourage events like Winblast
GUI in just two mouse clicks. Finally, I fail-safe/recovery mode. When I tried to use (mentioned in Aug09 issue as part of
celebrated my liberation from Windows an Ubuntu image across systems with AMD, a FOSSday celebration). Our approach
with a glass of wine. Intel P3 and P4 processors, it worked well on should be based only on technical
—JS Karkada, eddykabootar@ tweaking the display settings. considerations and let the consumer
yahoo.com So the bottom line is compatibility and decide which is best for him.
depends on how a particular OS is portable I would also like to mention that
Thank you for doing such a to different hardware—there is no role a student group graduated from our
wonderful job of promoting the played by partimage here. It’s like checking institution has set up a reasonably
open source concept. To be frank, I was a the compatibility of an OS when the hard successful venture specializing in
hardcore Windows user and supporter disk is removed from one machine and ERP solutions based on Open Source
but after coming across LFY, my views plugged into other. Software at the Technology-Business
have changed a lot and now I use only A small clarification on the term Incubator at National Institute of Calicut.
Linux (CentOS). I like to stay updated ‘cloning’ used in the query: ‘cloning’ means —Dr P C Reghu Raj, professor
about the latest software and especially to copy the disk or partitions (which is and head, department of computer
the operating systems. I don’t have a done by g4u). The operations done by science and engineering
broadband Internet connection, which partimage can be referred to as imaging or
prevents me from downloading the OS back-up/restore partitions. ED: Thank you for sharing your
ISO images. But thanks to the LFY team, valuable feedback. We're indeed
this problem has been taken care of by You guys really rock and I like delighted to know about the 100 per cent
the magazine providing us with the your site. I looked for an option FOSS-powered department of computer
latest operating systems every month. to submit a case study/article but I science at your college. Also please pass
After reading the last issue I came to couldn’t find any direct option. Could on our congratulations to the students
know about the System Rescue CD and I know the procedure? Also, I wanted who undertook the project at the
I downloaded it. I was quite fascinated to know whether you only accepted National Institute of Calicut.
by the disk cloning facilities provided by articles based on Linux? We also appreciate your concerns
partimage. However, I have a query. If —Malini, malithenerd@gmail. regarding ‘Microsoft bashing'. As a
two of my systems have totally dissimilar com magazine, we certainly don't encourage
hardware except the CPU architectures animosity towards any firm or product.
(i.e., if both are x86 systems), will the ED: Thanks! The ‘Write for Us’ link The Winblast event is just an inside joke,
clone of one of the systems work on the is on the website’s top grey bar :-) Here’s and is quite widespread across colleges.
other system? the direct link www.linuxforu.com/ Anyway, we'd try to keep away from ‘useless'
—Anirban Saha, write-for-linux-for-you. Microsoft bashing whenever required.
anirbansaha2009@gmail.com
I read LFY regularly and feel
ED: Thanks for sharing your feedback very happy about the content Please send your comments or suggestions to:
and encouraging us to keep doing better. and presentation. It is very The Editor
We are glad that we could help you enjoy informative for students as well as the LINUX FOR YOU Magazine
D-87/1, Okhla Industrial Area, Phase I,
the world of open source. As for the query faculty members, especially for those New Delhi 110020
on partimage, I would like to invite the who pursue the FOSS philosophy. We, Phone: 011-26810601/02/03
author to take charge. at the department of computer Fax: 011-26817563
Email: lfyedit@efyindia.com,
Rajesh Sola: As far as Linux is science and engineering, Govt.
Website: www.openITis.com
concerned, it is highly portable—i.e., the Engineering College

10  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Want to be the Best ETHICAL

HACKER
& Security Expert?
Over
30,000
Sold!

+
The Secret of Hacking :: 2nd Edition First Edition FREE (PDF Version)
Ethical Hacker
After the grand success of the first edition that came out in June 2009 Average Salary
32 Lac/anum
Leo Impact has come back with a 4 times more powerful second edition. Source: payscale.com

Even the most secure computers are Hackable…


All E-mail addresses are Hackable, including Gmail, Yahoo!, Rediff etc. Learn Advanced Ethical Hacking:
All PCs can be hacked remotely using the latest tools and exploits. Metasploit & Backtrack & Untraceable Hacking
Even mobile numbers can be spoofed (Show any Mobile No on Victim mobile) Advanced Penetration Testing & 7ulnerability
Easily pass CEH (ver 6), CHFI, CISSP, CISA Certification. assesement.
Learn how to secure your system and network from hackers. cial
Spe fer
Of 1280
Rs.
e:
The Secret of Hacking" Kit Include's : ly

4Shipping-
Pric on

.1SJOUFE#PPL 4FDPOE&EJUJPO
 'JSTU&EJUJPO 1%'

List

0 /
8
:
rice

t%7%  UPPMT e-books, videos)


Off er P
.
RWsithFree
t&NBJMTechnical Support Payment modes:
tFSFF-JGFUJNF.FNCFSTIJQUP"DDFTT7JEFPTTools Credit Card, Netbanking, Cash Deposit & DD/Cheque

www.thesecretofhacking.com
For more info. & online order:
Order by phone: +91.9829944518, +91.9953244518, (10 AM to 10PM)

LEO IMPACT SECURITY SERVICES PVT LTD


Corporate Office: USA :
T8, Malyia apartment, near BJP office 2029 Century Park East,14th Floor,
c-schme, jaipur (Rajasthan) 302001 California 90067 United States
:: A Kulhari Group Company :: Email: contact@leoimpact.com Phone : +1 818 252 9090(USA)
(access control list). The following is # yum update firefox -y --downloadonly
an example of an ACL statement:
This will download and store the
acl my_network src 192.168.1.0/24 packages in the /var/cache/yum/
http_access allow my_network directory. You can even specify a
directory of your choice, as follows:
Remember to change the IP
address as per your network. The # yum update firefox -y --downloadonly \
default port is TCP 3128, which you --downloaddir=/tmp/lfy/
can change by putting the following
  I have the Fedora 11 DVD statement in the file: yum will download all the
that came with your magazine. packages needed to update Firefox,
I am currently using Windows http_port 8080 but will not install any of them.
Server 2003, which I would like to Instead, it will quit with a message
remove and replace with Fedora Now save and close the file before after the download is complete,
11 for DNS and proxy servers. starting the Squid server as follows: similar to what is shown below:
However, I don't know how to
create the DNS with Fedora 11. # /etc/init.d/squid start exiting because --downloadonly specified
Please guide me on how to create
the DNS server for my institute. Run the following commands so
—Dange Laxmikant, Nanded, that Squid starts automatically when   I use Fedora Core 6 on one of
Maharashtra you reboot your system. my systems. I often face problems
while unmounting my CD-ROM
To install and configure the DNS # chkconfig squid on drive. I get a message stating that
server, you need to install the BIND the device is busy, even when I run
(Berkeley Internet Name Domain) On the client machine, open a the eject /dev/hdc from a terminal.
DNS server. The best way to install Web browser and configure it to use Please help me resolve the issue.
BIND is by using the yum package the proxy settings. —Neelam, Kanpur
manager as follows, after making sure You can go through the squid.conf
you're connected to the Internet: file and make other changes as per Try the following command…
your requirements.
#yum install bind # fuser -km /dev/hdc
  I have installed CentOS 5.3
This will install all necessary on my server. I often use yum to ...and then:
packages. Now go through the install and update packages.
documentation on BIND at http:// I want to know if there is any # eject /dev/hdc
www.redhat.com/docs/en-US/Red_ way I can just download all
Hat_Enterprise_Linux/5.4/html/ the RPMs that are needed to This should work!
Deployment_Guide/ch-bind.html and install a package along with its
configure your server. dependencies.   I'm really new to Linux. I want
You can also install Squid to make —Mohan M, Chennai to play MP3 files. Please guide me
your Fedora 11 a proxy server using through the whole procedure and
yum. Here are the steps for a basic In order to only download terminal commands.
Squid installation and configuration: packages using Yum, you need to —Syed Aamiruddin, by e-mail
install the yum-downloadonly plug-in:
#yum isnstall squid Please follow the steps given
# yum install yum-downloadonly in the following site: https://
Open the /etc/squid/squid.conf help.ubuntu.com/community/
in any text editor and define an ACL Now, run the following command: RestrictedFormats 

12  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


FOSS Bytes
OSS changing the face of content management market: Report
The content management market is seeing dramatic changes thanks to new Motorola dumps LiMo
open source and commercial open source entries that are making significant for Android!
inroads with customers. According to The Definitive Guide to Today’s Content Motorola is busy focusing on
Management Systems and Vendors, a new 150-page report series from Basex, Google’s Android these days, and
a knowledge economy has quit the LiMo Foundation.
research firm, the advent of Christy Wyatt, vice president,
open source software has software applications and
significantly changed the ecosystems, Motorola, mentioned
process of selecting a content that she was no longer on the
management solution. board of the LiMo Foundation,
The report series looks at as reported by PC World. The
32 key content management company has decided to remain as
vendors and 43 platforms, an associate member and retain
and provides an analysis— an active role as a contributing
including market trends, member. As a result, Motorola is
drivers, and barriers—to guide now no longer listed as a founder
decision makers in the selection process. Basex estimates that the US market member on the LiMo website; it
for content management was $4.1 billion in 2008 and will reach $10 billion by is also now ineligible to run for a
2014. Open source content management is gaining traction in some circles and board seat. In 2010, the company
the overall open source software market is growing rapidly. plans to release a host of mobile
The report reveals that choosing the right content management system phones that will use Google’s
is far from straightforward and requires an in-depth understanding of both Android OS.
the organisation’s needs and what the market has to offer. It points out that
companies need to be prepared to manage multiple forms of content, including SCO fires CEO McBride
wikis, blogs, RSS feeds, social networks, podcasts and video. Also, companies UNIX software vendor SCO,
that spend hundreds of thousands of dollars for content management systems struggling through bankruptcy
might do equally well with platforms that cost one-tenth that amount. and a UNIX copyright trial, has
fired president and CEO Darl
Palm to open doors to WebOS developers by Dec McBride. This move, along with
Following up on the release of the beta app catalogue e-commerce programme, a restructuring effort, came after
Palm is planning to open its app distribution programme to the entire Palm an operations and cost analysis
WebOS developer community by the end of the year. Under the programme, performed by SCO’s Chapter 11
developers will receive 70 per cent of the revenue after tax deductions. trustee. Since the CEO position
Developers who charge for their software was eliminated, its management
will need to set up a PayPal account to team now consists of COO Jeff
receive their share of revenue from Palm, Hunsaker, CFO Ken Nielsen and
who will keep 30 per cent. Customers will general counsel Ryan Tibbitts. SCO
initially be able to purchase applications says it will finalise details of the
with MasterCard and Visa. restructuring and reach “…cash
The company’s membership-based flow break-even for core operations”
programme will have a $99 annual fee for within a month. A “modest
developers of proprietary applications, reduction in SCO’s workforce” and
while developers of open source software other changes will help improve
won’t be required to pay the programme SCO’s financial position, the
fee, states the company blog. As announced company says. SCO
in August, the company is accepting applications to the beta app catalogue e- is attempting to
commerce program for distribution on the catalogue. raise additional
Palm also plans to launch a full-scale developer program to encourage third- funding and sell
party applications for its WebOS platform by the end of the year, and is making non-core assets.
a special pitch to open source developers.

14  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


FOSS Bytes
Nokia releases official
IBM responds to Windows 7 launch with Ubuntu Desktop Qt port to Maemo 5
With an aim to take away the forthcoming market share from Microsoft’s Nokia has announced the creation
most talked-about Windows 7 (launched on October 22, 2009), the biggest of the official Qt port to Maemo 5
rival IBM is teaming up with Canonical against Windows 7. In September, and published an initial Technology
the company struck a partnership with Canonical, which resulted in the Preview release. This port to Maemo
launch of an Ubuntu-based desktop bundle in Africa. Now, the cloud 5 means that developers can now use
and Ubuntu-based software package, which is part of IBM’s Smart Work Qt to target the upcoming Nokia N900
Initiative, will soon be debuting in the US. device, and also
Independent market estimates range up to $2,000 for the cost of ensures that
migrating to the Windows 7 operating system for many PC users. New applications
PC hardware requirements account for a significant portion of the added can be easily
expense. However, the Ubuntu-based desktop package ported to all
includes IBM’s free Lotus Symphony productivity suite; Qt’s supported
e-mail from IBM Lotus Notes or the cloud-based LotusLive platforms
iNotes which starts at $3 per user, per month; Cloud-based, including
social networking and collaboration tools from LotusLive. the next Maemo 6 release, as well as
com from $10 per user, per month; and Ubuntu, an open Symbian and Windows Mobile.
platform for netbooks, laptops, desktops, and servers. It is designed specifically to work
The IBM Client for Smart Work will only arrive in the U.S. in 2010 despite within the Maemo 5 environment,
IBM positioning it to rival Windows 7 in the enterprise market. It will be which will power the Nokia N900
available both as a run-of-the-mill desktop and as a virtualised desktop. device. The port itself will be based
on Qt’s upcoming version 4.6 and is
scheduled for release in Q1 of 2010. Visit
LF announces second annual End User Summit qt.nokia.com/maemo for details.
The Linux Foundation has announced the speaker line-up and details for its
second annual End User Summit. The Summit is a unique opportunity for Google joins Open Screen
corporate end users to learn and interact with leaders from within the Linux Project
community. It will take place on November 9-10, 2009 at the Hyatt Jersey City on Google has joined Adobe’s Open
the Hudson (in New Jersey, USA). “In its second year, the Summit will facilitate Screen Project [openscreenproject.
collaboration among Linux community members who, until recently, did not org], an initiative established a year
have the opportunity to discuss, face-to-face, the most pressing new usage and a half ago to help developers
models and demands facing the Linux platform,” said Jim Zemlin, executive design content more easily for the
director at The Linux Foundation. The Summit is sponsored by IBM and Intel Web across multiple screens, using
and is by invitation only. To request for an invitation, please visit the Summit the Flash platform.
website [http://events.linuxfoundation.org/events/end-user-summit]. According to Google, “We’ve
always believed that open platforms
Mickos to EU: Oracle’s Sun takeover not ‘anti-competitive’ lead to greater innovation on the Web,
MySQL’s former CEO, Marten Mickos, is sending a heartfelt plea to the European and we see participating in the Open
Union to wave through Oracle’s takeover of Sun Microsystems. Mickos left Screen Project as another step in that
MySQL earlier this year—just over a year after Sun bought his open source direction. We’re excited to continue
database outfit—after apparently becoming frustrated with the bureaucracy working with the teams at Adobe on
at Sun. With Oracle’s takeover of Sun—and the prospect of Larry Ellison killing pushing the Web forward, and to see
Mickos’ open source baby – industry watchers might have expected the deal where the next generation of Web
to further fuel his ire. Instead, Mickos has written to the EU competition development will take us.”
commissioner, Neelie Kroes, to say that while the EU was The project includes close to 50
absolutely right to launch an investigation into the deal, it industry leaders working together
should give the takeover the ‘OK’ as quickly as possible. Every to provide a consistent runtime
day the EU holds up the deal, he argues, actually reduces environment across mobile phones,
competition in the market as Sun’s business withers, and desktops and other consumer
investment in ‘open source ventures’ slows down. electronic devices.

16  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


FOSS Bytes
Red Hat gives open source perspective in Bilski case
Red Hat has filed an amicus brief with the US Supreme Court. In the brief, the Developing employee-
company explains the practical problems of software patents to developers. The savvy software gets Om
brief, filed in the Bilski case, asks the Supreme Court to adopt the lower court’s Logistics Peace Award
machine-or-transformation test and to make clear that it excludes software World Without Wars has awarded
from patentability. The Bilski case involves the standard for S K Goel, vice president, IT, Om
patenting a process. The case concerns a business method Logistics Ltd, with the inaugural
patent, but involves many of the same issues as software Peace Award for promoting
patents. “Red Hat continues its commitment to the free and technologies that struggle against
open source software community by taking a strong position violence (monopolies). Goel has
against bad software patents,” said Rob Tiller, vice president been conferred this award for
and assistant general counsel, IP for Red Hat. “Our patent developing Linux software and
system is supposed to foster innovation, but for open source and software in making it employee savvy. The
general, it does the opposite. Software patents form a minefield that slows and World March, initiated by World
discourages software innovation. The Bilski case presents a great opportunity Without Wars—an international
for the Supreme Court to rectify this problem.” organisation launched by the
Humanist Movement--began in
Ingres 9.3 offers easy migration from other databases New Zealand on October 2, 2009.
Ingres Corporation has launched Ingres Database 9.3 that offers easy migration It will conclude in the Andes
from MySQL, as well as from proprietary databases such as Oracle, MS SQL Mountains (Punta de Vacas,
Server, and Sybase. In this release, Ingres adds features commonly used in Aconcagua, Argentina) on January
applications written for MySQL and Oracle to enable a smooth migration to 2, 2010, after covering more than 90
Ingres. These features include improved accessibility of table procedures from countries around the globe.
within the query and the support of positional parameter notations that make
database procedure invocation more flexible. MIPS joins Open
Ingres Database 9.3 also provides support for PAM, which enables the Handset Alliance
database to support more authentication mechanisms than previous versions. MIPS Technologies, a provider of
The new version adds the ability to automatically start multiple Data Access processor architectures and cores,
Servers to improve scalability in environments where large numbers of .Net and has announced that it has joined
JDBC applications are connecting to Ingres. Ingres Database 9.3 is available for the Open Handset Alliance, a
download at http://esd.ingres.com. group of more than 45 technology
and mobile companies working
Digital Waves introduces T-Platforms’ HPC Solutions to offer consumers a richer, less
Bangalore-based IT solutions company Digital Waves and Russian expensive, and better
supercomputer firm T-Platforms have inked a deal to “jointly offer high- mobile experience.
performance computational clustering solutions to the Indian market.” The As a member, MIPS
new products available in India include the blade systems T-Blade 1.1 and Technologies will work
T-Blade 2.0, PeakCell S server based on 9-core PowerXCell processors, and with others to contribute
ClusterX software for high-performance computing systems. The to the continued
T-Blade 1.1 system chassis incorporates the computing power development and success
of 20 quad-core Intel Xeon 55xx (‘Nehalem’) or six-core AMD of the Android platform.
Opteron 24xx (‘Istanbul’) processors in a compact 5U enclosure, It's already an active contributor
to give up to 9.98 TFlops of peak performance in a standard 42U to Android development, recently
rack. T-Blade 2.0 is the second generation of T-Platforms blade making its source code optimised
platforms designed for building compute systems with a Petascale level of for the MIPS architecture, publicly
performance. It provides peak performance of up to 3TFlops in a 7U enclosure available. As part of its relationship
and up to 18TFlops in a standard 42U rack. The PeakCell S with the Open Handset Alliance,
server is based on the PowerXCell 8i 9-core processor. The MIPS will contribute the ‘Android
server has a peak performance of 204.8 GFlops for double on MIPS’ code to the Android
precision operations and 409.6 GFlops for single precision Open Source Project.
operations, packed in a convenient 1U form factor.

18  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


FOSS Bytes
Acer launches Liquid, with the
New open source Snapdragon processor
router from NETGEAR Finally, Acer has also come out with an
NETGEAR has launched the Android phone that’s based on Qualcomm’s
RangeMax Wireless-N Gigabit Snapdragon processor. It’s been christened Acer
Router with USB, which Liquid. Liquid’s bells and whistles include a WVGA
is also designed to serve touchscreen, Android 1.6, HSPA 3G, along with Wi-fi, GPS,
as an open source Linux Bluetooth and a 5 mega-pixel camera.
platform supporting a wide The latest Android kid on the block is reported to feature improved power
variety of applications. The management, a camera with geo-tagging, ISO, self-timer options, and accelerated
open source Linux-based auto-focus. And of course, keeping pace with the latest trends, it will also support
firmware—DD-WRT, multimedia, Web browsing, social media integration and video streaming. Liquid
OpenWRT and Tomato—are also will sport a completely revamped user interface, atop Android 1.6. The UI also
available on the WNR3500L router, debuts ‘Spinlets’—apps for streaming music and video that can be shared via
making it easier for users to develop Web-posting and e-mails. Unfortunately, the pricing has not been announced yet.
a wide variety of applications.
RangeMax Wireless-N Gigabit RH, MS expand virtualisation interoperability options
Router with USB features a 480MHz Red Hat has announced that customers can now deploy fully-supported
MIPS 74K CPU core with embedded virtualisation environments that combine Microsoft Windows Server and Red
hardware acceleration and Hat Enterprise Linux. In response to customer demand for interoperability
incorporates 8 MB of Flash memory in their IT environments, Red Hat and Microsoft have completed testing and
and 64 MB of RAM. It features five validation for mutual customers using server virtualisation. Joint support for
10/100/1000 (one WAN port and these configurations from Red Hat and Microsoft is available now.
four LAN) Ethernet ports with auto- Customers can now deploy tested and supported virtualised Red Hat and
sensing technology, with WAN to Microsoft solutions. The completed certifications include: validation of Red Hat
LAN speeds in excess of 350 MBps. Enterprise Linux 5.4, using the KVM hypervisor, with Windows Server 2003,
2008 and Windows Server 2008 R2 guests; and certification of Windows Server
Host of new features in 2008 Hyper-V, Microsoft Hyper-V Server 2008, Windows Server 2008 R2 Hyper-V
Parsix GNU/Linux 3.0 and the Microsoft Hyper-V Server 2008 R2 host with Red Hat Enterprise Linux
A new version of Parsix GNU/Linux 5.2, 5.3 and 5.4 guests.
has been released in October. Additionally, Microsoft products certified on Windows Server and Red Hat
Version 3.0, a.k.a ‘Kev’, brings a products certified on Red Hat Enterprise Linux are also supported in these
vast number of new features like: heterogeneous virtualised environments.
GNOME 2.26.3, kernel 2.6.29.6
with extra patches and drivers, IDA official Indian distributor of Beagle Board and NanoNote
ext4 FS and GRUB 2, AuFS and IDA Systems is now the official India distributor of the Beagle Board platform.
UnionFS support, SquashFS+LZMA The Beagle Board is a low-cost, fan-less single-board computer based on Texas
compression for live-CD and lots of Instruments’ OMAP35x processors featuring the ARM Cortex-A8 core with all of
updated packages like the expandability of today’s desktop machines, but without the bulk, expense or
GNU Iceweasel 3.5.3, noise. The Beagle Board (C3) is priced at Rs 8,999.
OpenOffice.org 3.1.1, In addition, IDA Systems is now bringing to
Compiz-Fusion India the ‘copy left’ ideology-based NanoNote mini
0.8.2, etc. Due to computer. The Ben NanoNote is a small form-factor
vast number of computing device. It sports a 336 MHz processor,
changes and new 2GB of Flash memory, a microSD slot, a head phone
default features in jack, a USB device and 850mAh Li-ion battery. It
this version, the project has boots Linux out of the box and also boots over USB.
been recommended for a CD-ROM It’s targeted at developers who see the promise of
update mode installation. To know open hardware. The Ben NanoNote is priced at Rs
more about Parsix, visit parsix.org. 9,000. For pre-orders till November end 2009, it can
be availed for Rs 6,000.

20  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Review  |  For U & Me

“ I wanna be

your
Hero
ab by” says HTC Sense!

HTC Hero continues to maintain HTC’s leadership in cutting-edge design. It introduces a more
natural way for you to reach out to people as well as access all your important information, by
following how you communicate and live your life. HTC Sense is a distinct experience created
to make HTC phones simpler to use, leaving users saying, “It just makes sense!”

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  21


For U & Me  |  Review ______________________________________________________________________________________________________

T
here was excitement in more. What made these phones
the air, tension around popular was their proprietary
the Adam’s apple. TouchFlo user interface. When HTC's
iPhone had already other Android-based phones, the
swept the touch-screen market with G2 and Magic, also got a lukewarm
its brand-new OS, zippy UI and the response, it decided to fuse its award-
Safari browser that could turn every winning combination with Android,
website into a sex bomb. Microsoft and thus was born the HTC Sense.
got another jolt when Google decided
to take up the Linux kernel and build HTC Sense
a mobile OS on top. And then HTC HTC Sense is a user experience
launched the G1. Alas! Nobody seemed that’s based on the TouchFlo 3D
to be interested in paying $699 for a user interface, developed by HTC
Figure 2: The Rear Side
phone that ran an open source OS for mobile devices running Google
and depended on freelance developers Android. The Sense ‘experience’ is has finally delivered what has been
for the apps. Neither could HTC not, as it has often been described, a missing in the world of Android,
themselves justify the price. UI as such. Sense is just a “…design namely, a polished and attractive
It was through this dynamic time experience, an architecture that is device (polished enough to go head-
that HTC also launched its most all about how people use the device, to-head with the iPhone) with an open
popular touch-screen brand, one making their content personal to how source heart.
version after another. First there was they use the device.” HTC Hero is the
HTC Touch, followed by the Touch first phone that shipped with HTC “What’s in the box?”
Diamond, Touch Pro, Diamond HD Sense. With its distinct design and We received the Hero in a white
and many powerful capabilities fully integrated rectangular box that contained the
with Sense, Hero introduces a unique following:
blend of form and function that takes  The HTC Hero
Android to new heights. HTC Sense  A 1350 mAh battery
is focused on putting people at the  A 128 MB Micro SD memory card
centre, by making your phone work in  A data cable that can be
a more simple and natural way. transformed into a ninja charger (a
la the Auto Bots and Decepticons).
The Hero
It was written that a great Hero Form factor
would rise from the East. He The very moment you lay your eyes
would be clothed in the sun and on the phone, you know that it's a
his unique user-interface would product of sheer evolution. While all
redefine the user experience the HTC Android phones are designed
for countless fans of social the same, the sleek curve (known as
networking, and His Majesty ‘the chin’) right at the bottom seems to
would reign over all Android be an ergonomic, inviting design. No
phones forever. That Hero is other mobile manufacturing company
here, and he’s on Airtel. offers such quirky contours.
The phone was launched Housed on the front is the earpiece,
in September 2009, in India. covered by a fine grill. Right next to it is
It is the first Android device the service LED (glows red when the
to support Adobe Flash, is phone is being charged or is connected
HTC's first phone that’s to a PC, and green when the battery is
available worldwide, fully charged) and ambient light sensor
and is the first Android that handles the display's backlight.
phone to host HTC's Hero is the first phone that has a fused
proprietary software, curved casing, almost-invisible volume
the widgets, add-ons rocker, trackball, touch-screen and
and TouchFlo 3D matte plastic all at the same time. The
elements. Smartphone bevelled edges along the back makes
fans seem to agree the handset sit comfortably in the hand.
Figure 1: HTC Sense—enhanced Android experience that the company The plastic material that covers it

22  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Review   |  For U & Me

Specifications
Processor Qualcomm MSM7200A, 528 MHz
Operating system Android
Memory 512 MB (ROM)
288 MB (RAM)
Dimensions 112 x 56.2 x 14.35 mm (4.41 x 2.21 x 0.57 inches)
Weight 135 grams (with battery)
Display 3.2-inch TFT-LCD capacitive touch-sensitive screen with
320x480 HVGA resolution
User interface HTC Sense
Input method Multi-touch screen, trackball
Network  HSPA/WCDMA - 900/2100 MHz (upto 2 Mbps up-link and

7.2 Mbps down-link speeds)


 Quad-band GSM/GPRS/EDGE (850/900/1800/1900 MHz)

Device Control  Touch UI


 The Home screen
 Trackball (for both navigation and selection)

GPS Internal GPS


Connectivity  Bluetooth 2.0 with Enhanced Data Rate

 A2DP for wireless stereo headsets

 Wireless: IEEE 802.11 b/g

 GPRS (Class 10), EDGE (Class 10), HSDPA (7.2 Mbps)

 HTC ExtUSB (11-pin mini-USB 2.0 and audio jack in one)

 3.5 mm audio jack

Camera 5.0 mega-pixel colour camera with auto (touch) focus


Audio formats MP3, AAC(AAC, AAC+, AAC-LC), AMR-NB, WAV, MIDI
Video formats MPEG-4, H.263, H.264 and Windows Media Video 9
Battery Rechargeable Lithium-ion (1350 mAh)
Expansion slot microSD memory card (SD 2.0 compatible)
Sensors Accelerometers, Ambient light sensor
Browser HTML
Notable features  HTC Sense UI
 Menu Structure
 G-Sensor

 Digital compass

 Photo geo-tagging

 Dedicated search key

 HTC Sense quick profile switcher

is extremely smooth, elegant and not Controls


prone to wear and tear, smudges and The very first set of buttons that will
finger prints. The memory card socket catch your fancy are the little oval
(microSD and microSDHC) is found ones right on Hero's chin. They are
on the left-hand side, but in order to Call/Send, Home (brings up the task
swap cards you'll need to remove the manager if kept pressed), Menu and
back cover first. Thankfully, though, End. Below them reside the Search
you won't have to turn the Hero off. and Back buttons. There is also a
The SIM-card bed is located right trackball used to jump between the
under the battery and utilises a couple UI's screens, applications, and to
of runners for holding the card. There scroll through pages, text and the  Facebook Widget - alongwith shortcuts
is also a lanyard eyelet located right on browser's screen. It is very helpful to various apps
the battery cover. when one needs to click on Web

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  23


For U & Me  |  Review ______________________________________________________________________________________________________

Figure 5: The SD card slot is inside the battery cover

Figure 3: 5 megapixel camera - without flash

 The Dial screen, with call history

Figure 6: Pretty powerful speaker - with the LED

zoom and can be achieved using any


Figure 4: Volume rocker is intelligently fused in the
phone’s design
photo editing software.
There are no slots or buttons on
links written in minute fonts and the right.
spaced too close together.
The dedicated search button Display
mostly brings out Google Search. The display of Hero is a 3.2-inch
However, in some apps, it launches capacitive TFT screen (68x45mm) with
HTC’s inherent search box. At 480 x 320 pixel resolution (HVGA).
the top, there is a 3.5 mm jack for The screen uses a new oleophobic
audio, and a slot to open the battery treatment (similar to the iPhone 3GS),
cover. The bottom exhibits HTC's to make it more touch sensitive and
trademark ExtUSB socket, for smudge resistant. Unfortunately, the
 Add a new contact charging and data transfer, along screen is a finger print magnet and you
with the microphone. The volume will find yourself rubbing it with your
rocker is to the left of the phone. It handkerchief pretty often.
is very slim and mounted flush with The screen has a wide viewing
the casing. One good thing is that angle, with hardly any distortion.
like the WinMo devices, the volume While the colours are very bright,
rocker can be used even when the it gets washed out under direct
phone's locked. This is useful since sunlight. It is also very responsive to
it enables you to change the volume touch, although still a bit behind the
level without having to take it out legendary iPhone. However, we must
of your jacket pocket, for instance. keep in mind that Android is typically
However, since the rocker is at the designed for resistive displays that
same level with the case, it does are more suited to a stylus. Yet, the OS
become tough to locate, at times. has come a long way in the world of
Sadly, Hero has no dedicated finger-touch.
camera button. The camera needs to
be accessed from an internal menu Camera
and the trackball doubles up as the This monster has a 5 mega-pixel
 The Facebook App shutter button. There is also a separate camera with auto-focus. It is placed
zoom menu. However, you are advised at the top part of the rear side. While
not to use it since it is only a digital the photo shots are really great in

24  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Review  |  For U & Me

10  Great Apps from the Android Market Place


 Twidroid: This is the best  Bluetooth File Transfer: While HTC Hero does not
Twitter and identi.ca application allow transfer of media files using Bluetooth, this app will
available on the Android Market help you do so. However, it uses a different port (port 29)
Place. It doesn’t just let you to communicate using the Bluetooth protocol.
update your status messages
and reply to others, but also  Qik: This application
allows you to visit their profiles, has been very ‘qik’
follow and unfollow them, to pick up steam and
upload images to the image become one of the
service of your choice, and leading services in live
even customise notifications for video blogging. All you
new tweets, replies and direct The Twitter App need to do is install the
Live stream video for the world to see
messages. app on your mobile,
fire it up, and keep
 iMusic: No doubt, this is the most popular application shooting videos of events. The videos will automatically
on the Market Place! iMusic allows you to get connected get streamed, live, via Qik's network, using your mobile
to the Gnutella file sharing network and actually download service provider's bandwidth. While you will need 3G for
videos, images and songs right onto your Android phone! the streaming to be seamless, it works very smoothly on a
broadband wireless network.
 PicMe: While Android
does not have an inherent  ConnectBot: This application will make every Linux
screenshot-taking app, the enthusiast roar in unison, “I am the power of the Universe!”
developers have come out with ConnectBot actually lets you connect to other machines in
a wonderful application that your network, using ftp or ssh, and then presents you with a
allows you to take screenshots console screen for you to play around. Awesome app, we say!
of the mobile, remotely. All the
phone needs is to be connected  StumbleVideo: While the default YouTube application
to a wireless network and the is more than capable of streaming videos, StumbleVideo
screenshot can be taken by any adds the spice of StumbleUpon to it. Yes, you can actually
computer logged onto the same stumble videos on your Android phone, thumbs-up a video
network. Since HTC Hero does or just keep discovering new ones.
not have any physical keyboard,
there are no keyboard shortcuts
Take screenshots via local
 Phonalyzer: More than
and this seems to be the best way of taking a screenshot. being useful, this is one of
the most amusing mobile
 Netmeter: Not many service providers in India offer phone apps I have ever
unlimited data transfer witnessed. It simply sits in
plans, these days. So, the background and keeps
Netmeter is a great app accumulating statistics
to keep an eye on the about your phone usage.
amount of data you have Then, it presents you with
already transferred on your the information, in the form
network. It gives separate of interesting graphs, like
stats for mobile network ‘Top Callers by Minutes’, ‘Top
traffic and wireless traffic. Callers by Calls’, ‘Missed vs
What’s more, it will also Regular Calls’, ‘Call Length
Distribution’, etc. Analyses your calling habits
point out the CPU load
utilised by each of the
processes running on your  Compass: While this
phone, so that you can is primarily a fun app, it has the potential to turn into
identify the ones gorging something very useful if you are one of those who often
on the bandwidth and take Stay updated on your data usage get off the beaten track. What helps the phone navigate
appropriate action. are the extra-sensitive accelerometers housed within it.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  25


For U & Me  |  Review ______________________________________________________________________________________________________

sunlight, it is pretty useless under can swap with the swipe of a finger,
low lighting conditions, thanks to and you can add a range of widgets
the lack of a flash and low sensitivity. and shortcuts, as well as customise
Moreover, the camera lens has no the wallpaper. This feature definitely
cover glass, thus making the lens slot gives you the feel of using multiple
a deadly magnet for dust. desktops on your computer.
The widgets make life so much
Battery more exciting with HTC Hero. While
Personally, for an Internet junkie the widgets are homologous to
like me, 1350mAh of juice is too Android, there are a host of them
little to even last a day. After about developed by HTC. What's more, if
30 minutes of YouTube, 30 Twitter you find yourself limited, you can
updates, 10 FB updates, around 60 always browse at Android's Market
minutes of phone calls, 50 e-mail Place and choose between thousands
messages, 10 camera shots and 10 of free apps to download and use.
hours of Wi-Fi, the phone hardly Surfing the Web on the Hero is
lasted 20 hours. Ideally, I would have a pleasure. Thanks to its accurate
 Android Market Place liked it to last for a minimum of 30 browser, which includes Flash support,
hours. However, the fact that I can you won't miss a single whizzy ad.
charge the phone using the USB cord, Moreover, the multi-touch capability of
never made me cry for battery power. the capacitive screen helps you zoom
in and out of the Web pages, images
Performance and text really fast.
HTC Hero has a Qualcomm processor We also loved the 'Mount' feature
that causes the graphic transitions of the phone that allows you to use the
to stutter a bit and results in screen mobile's memory card as a USB drive.
rotations that feel dangerously
uncomfortable. Yet, we found the Social network in your pants!
Hero to be stable, and it rarely hung or Hero is very tightly integrated with
crashed. But the occasional lag could your Gmail, Facebook and Twitter
get annoying when you're using the contacts and makes sure you never
phone every day. Moreover, the OS still miss 'updates' from your friends.
seems to be a little unstable and asks The customised OS also pulls in
us to force the closure of a certain htc. your Facebook and Flickr photo
android.provider task quite frequently. albums and shows them alongside
 Various applications at the Market Place your contacts' info. If you click on a
User experience contact, it lists out not just the phone
It is the home screen of HTC Hero numbers, addresses and birthdays but
that is unique among phones. There also your friend’s photos and updates
are seven home screens that you on Twitter, Facebook and Flickr.

 Twidroid - Best Twitter app for Android


Figure 7: The innards of HTC Hero - in its full glory

26  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Review   |  For U & Me

Why should I buy the HTC Hero?

1. It's got the heart of Linux! Yes, 4. Android's default browser (it's not
Android being open source, there Chrome, at least not yet) is based on
will never be a dearth of third-party Webkit, is dizzying fast and renders
applications to power the phone. Web pages in a very customised and
easy-to-use layout.
2. The Sense UI and the touch-screen
QWERTY keyboard are the best in 5. Tight integration with Google
the business. accounts makes sure you carry your
information everywhere you go, be
3. The hardware design is very risque
it the calendar entries, contacts,
and succeeds in catching a lot of
tasks list or even the RSS feeds.
attention (a la ‘the chin’).

However, it is advisable to run through


Should I give HTC Hero a pass? the training mode to help it learn your  Teeter - A fun game that uses Hero’s
particular tapping quirks. It's probably extra-sensitive accelerometers
1. Although it has a 5 mega-pixel the best touchscreen typing experience
camera, the shutter is extremely I've ever encountered. It never lags
slow and highly sensitive. behind. I am a BlackBerry addict
Moreover, the absence of a flash myself and yet, Hero did not make me
renders the powerful camera miss BB's physical keyboard. The good
absolutely useless. news is: Hero supports the cut-copy-
2. While the operating system is paste drill too.
open source and most of the On the whole, HTC Hero is a phone
applications are developed by for both casual and business users.
freelance developers, this phone Since it gets synced to MS Exchange
can hardly justify its price tag. Server too, getting your e-mails will
never be an issue. It is also one of the
3. The display gets washed out very few phones that support 'over the
under direct sunlight. air' updates. The music player is also
4. It has no radio and no proximity very competent, unless compared to
sensor to switch off the display the iPhone or Sony's Walkman Series
once the phone is near the ear. phones. The touch UI is very snappy.  The GMail App for Android
However, what takes the cake is its
5. The GPS takes a long time to get
strong integration with social networks,
a satellite lock.
intuitive user interface and extremely
rich Market Place that houses any app
that one might ever need.
Whether HTC plans to support other However, a price tag of Rs 32,000
social networks too, isn't clear as yet. (Rs 35,000 in Maharashtra) is a bit
too steep for the Indian market. If it
Text input ever drops to the range of Rs 25,000-
HTC Hero has an on-screen keyboard Rs 28000, it should be the ideal
with different layouts—the traditional phone to buy! 
phone keypad, Compact QWERTY
By: Sayantan Pal
and QWERTY. It has a simulated
An avid Twitter user and a social media
haptic-forced feedback every time you enthusiast, the author is a passionate
hit a key. HTC has built its own touch blogger and a professional gamer
keyboard from the ground up. The too. He also feels compelled to be
keyboard also has a text prediction opinionated about anything that comes
his way, be it Linux distributions, our
algorithm that is almost 98 per cent marketing strategies, table etiquettes or  GTalk for Android
accurate in daily use and 100 per cent even the fabled Ramsay movies!
accurate if you type only English words.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  27


For U & Me  |  How To _______________________________________________________________________________________________

Super, Simple
S e c ur i t y - u s e secur
ity tips and t
ools that c
an

to
easy- f mind.
’re s ome a c e o
Here u that pe
o
give y

S
ecurity and privacy are two things The recently-released Ubuntu 9.10,
about which everyone—from Karmic Koala, solves both these problems
netbook owners to server with a very nifty feature—a per-user home
administrators—is concerned. directory encryption. While home directory
After all, it is one of the main reasons why encryption was present in the past few
people switch over to Linux and other FLOSS versions of Ubuntu, it was never this simple
software. But once they do switch over, they to set up. This feature uses the eCryptfs
find it to be a very daunting task to actually get cryptographic filesystem. The fact that
started with encrypting hard drive partitions, the encryption is done only for the home
ensuring privacy, etc. Many people are scared directory and not the entire filesystem,
of the terminal, the cryptic commands and the means that it encrypts the data that is most
terminology that they need to get familiar with important to you, while causing minimum
in order to secure themselves. degradation in performance. Some estimate
Well, if you are new to all this, relax. In the performance loss to be around 5 per cent.
this article we will look at ways of securely How it works is extremely simple. You
performing some of the most common tasks can set it up during installation from the GUI
on our computers; and do so in a very simple installer itself. Figure 1 shows the steps in the
and user-friendly manner. installation process. Once set up, whenever we
boot the computer and log in, the directory is
Home directory encryption unlocked and we can use it just as we would
Most of you probably know about the normally use our home directory. It must also
possibility of encrypting your data to make be noted that if you enable home directory
it secure. But I’m sure only a few of you encryption, then encrypted swap is also set up
might actually use this feature on your from this release onwards.
system. The main reason for this might be Now, some of you might be wondering
the lack of know-how or the negative impact how secure this encryption really is. Well,
on performance due to encryption and Dustin Kirkland (who developed this feature)
decryption of the entire system. says that while this might not be the best

28  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ How To  |  For U & Me

solution to secure national secrets, it’s mainly intended to Many IM clients support OTR, either natively or by
prevent criminals from getting access to, say, your credit using a plug-in. On Linux, both our favourite IM clients,
card information off your stolen laptop. So having this Pidgin and Kopete, support OTR. To use OTR in Pidgin,
feature in the age of portable devices like netbooks, MIDs, enable the ‘Off-the-Record Messaging’ plug-in under
etc, is certainly a huge boon. Tools→Plugins. Then, in its configuration menu, click
‘Generate for each account’ along with which OTR is to
IM conversation encryption be used. Then open a chat window using the account on
Most of us use instant messaging clients these days. We which OTR is enabled. A new option will be available in
usually only chat with friends and relatives, so we don’t the window as shown in Figure 2. Here, we can choose
realise the need to secure and encrypt our instant messages. whether we want to set the conversation to ‘Private’ or not.
But as the saying goes, “Better safe than sorry.” So we should And if the person on the other side also has OTR support,
take steps to secure our IM chats—at least the somewhat- then we are all set to go.
important conversations. And this is where OTR comes into Incidentally, developers of Empathy, which is now the
the picture. default IM client in the latest versions of Ubuntu, Fedora and
OTR (Off-the-Record) messaging helps us encrypt most other distributions, are not too impressed with OTR.
our conversations in a very simple manner. While it does They plan on implementing XMPP end-to-end encryption.
provide most of the features offered by other similar Though an OTR implementation is also being worked upon,
protocols, like authentication and encryption, what makes primarily to have compatibility with other OTR users.
it stand out is deniability. In fact, one of the primary goals
behind OTR was to have deniability, much like in real-life Internet browsing security
conversations. So if you use OTR, the messages sent by you While these days, Internet surfing is probably the primary
have no digital signature. Hence, someone can forge the activity on our computing devices, we hardly ever take
identity of anyone else, once the conversation is over. You steps to protect our privacy and security on the Web. One
can deny your participation in the conversation. But when of the first things that comes to mind when thinking about
the conversation is on, we can be sure of the other person’s surfing with privacy, is the use of proxy servers.
identity. Another reason why OTR shines is that it is not Some of the proxy servers do help in surfing the Web
tied to any single protocol. It’s just that the users on both securely and, to some extent, anonymously. But the main
the ends must have clients that support OTR. problem with using these kinds of proxy servers is that they

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  29


For U & Me  |  How To ______________________________________________________________________________________________________

Computer auto-locking
This is definitely one of the coolest ways to increase
the security of your system. Usually, in large offices,
employees lock their computers whenever they
have to step out of their seats. Doing this again and
again surely gets frustrating. But now, using software
called BlueProximity, you can set your computer to
automatically lock/unlock depending on your distance
from the computer. You can do this if your computer
is Bluetooth-enabled and you have a cell phone with
Bluetooth capabilites.
Once BlueProximity is set up, it will automatically
detect the approximate distance between the cell phone
and the computer, and lock the screen once you move
away. And when you come back near the computer, it
Figure 1: Setting a password to decrypt the home directory
gets unlocked. This software is really a boon for people
often provide very slow who are tired of typing their passwords again and again.
connections, especially BlueProximity can also be set up to run any other shell
the free ones. command that you want. Hence, you can make it turn off
To overcome the monitor, change the song that is playing or do just
this problem, a about anything that you can imagine.
Firefox plug-in called
FoxyProxy is available. KeePass password safe
Essentially, FoxyProxy Anyone who knows a thing or two about security will
enables us to route agree that having the same password for multiple
certain sites through sites and applications is a huge security hazard. One
the proxy server, of the main reasons why we use the same password
whereas the other everywhere is because it’s too difficult to remember
sites will be loaded different passwords, while keeping them cryptic enough.
Figure 2: Pidgin chat window with OTR enabled without using the So to overcome these problems, the best way is to use a
proxy server. Hence, password manager.
the negative effect on our browsing is minimal. We can set One of the best ones that I recommend is KeePass, a
up which proxy server is to be used for which sites, and cross-platform, open source password manager. You can
governed by which rules, white lists, etc. use it to store all the passwords in its database. Then you
FoxyProxy is also used to access websites that are have to remember just the master password for KeePass
region-locked, for example, www.hulu.com. One must and you can access all the other information.
remember that the level of anonymity gained in this The developers of KeePass have taken a lot of trouble
process is essentially dependent on the proxy server that is to make it as secure as possible, employing various
used. While some proxy servers (mostly paid for) do offer advanced algorithms. It is completely portable and
complete anonymity, they are never really 100 per cent can be used from a USB disk also. It even has features
reliable. In fact, one of the most secure ways to surf is to use that can prevent a key logger from deciphering the
FoxyProxy along with the Tor network. The best method passwords.
to set this up is explained on the FoxyProxy FAQ at http:// This just about sums up how to secure most of your
foxyproxy.mozdev.org/faq.html. common Internet-linked activities in a user-friendly
Another aspect of browsing security involves surfing manner. Anyone trying out these tips must remember
while leaving virtually no trace of the browsing activity that 100 per cent security is possible only in theory. There
on the client PC. The latest version of Firefox and Chrome is no method that can give you complete security. But for
both provide a ‘Private Browsing’ mode, using which no most practical purposes, the methods suggested in this
Web history, form history, or cookies are saved on the article should be good enough. If you too have any similar
client machines—essentially, it tries to avoid leaving any tips, do share them with us. 
traces of your Internet activity on the client machines.
Available under the Tools menu in Firefox, this mode is
By: Praveen Thirukonda
very useful when you use the Internet for online banking
The author is a third year computer engineering student who
and other e-commerce activities. One must remember that
loves playing around with FLOSS. He is a huge sci-fi movie buff
while surfing in this mode, it is possible that your ISP or and also enjoys playing badminton.
any hacker can monitor the connection.

30  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Securing your Business

@
South Asia’s largest ICT event

Cloud Computing
International Exhibition & Conference
Pragati Maidan, New Delhi, India
23-25 March 2010 Clickjacking

Supports Data Theft

IP Surveillance
Department of Telecommunications
Ministry of Communications & Information Technology
Virtualisation
Government of India

Info Security

Department of Information Technology


Ministry of Communications & Information Technology
Government of India

Suppporting Journal Certified by

Organiser

Vipul Mehra, General Manager, vipulm@eigroup.in


Tel: +91 11 4279 5000 / 5030 M: +91 99102 04131 www.convergenceindia.org
For U & Me  |  Insight _______________________________________________________________________________________________

for
Th irst
FOSS b Market!
the Jo
at

With FOSS growing by leaps and bounds because of the supportive IT


landscape, there is a hard-to-quench thirst for FOSS experts. So don those FOSS
training boots to climb higher up the career graph!

A
  decade ago, Novell Netware was training company, says: “During the last
a synonym for networks just one year, I have seen tremendous growth in
like Windows was for operating the number of people/companies coming
systems. Expressions like “I have for FOSS training. We have enrolled many
Netware, but I am not too sure of whether who’ve been given a deadline of one month
I have a network,” weren’t unheard of. It to get themselves trained on the Linux
was a monopoly then. Today, FOSS/Linux server because the company cannot afford
has placed freedom of choice back into the to buy a Windows/Solaris box. The 50-55
hands of companies using technology. And per cent growth that the FOSS training
the recent recession has helped to change sector saw last year speaks loud and clear
the general perception about FOSS. The of the growing demand for FOSS experts.”
result is a heavy demand for FOSS experts
from independent software vendors, SMEs, Advantage FOSS
the government, and technology-oriented But before taking the FOSS plunge, analysis
companies in the embedded device, mobile of whether FOSS truly gives your career
and netbook markets. the much-needed push, is essential.
Elaborating on the demand for FOSS Jaijit Bhattacharya, country director,
experts across India, Alok Srivastava, government strategy, Sun Microsystems,
chairman, Network Nuts, a Delhi-based IT says: “Organisations are getting smarter

32  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Insight   |  For U & Me

Workflow Content
Management E Business Analytics ITSM Communication
Hungry kya, for FOSS experts?
The recession-led cutback on IT spends has
Sugar CRM Joomla Interchange Pentaho ZenOSS Asterisk
given a huge boost to the demand for FOSS
Compiere Drupal OFBiz JasperSoft Nagios Jabber experts. That, coupled with changes in the IT
landscape like independent software vendors
Dot Project Alfresco PHP Cart Intalio BPMS dPresence drifting towards open source, SMEs plugging into FOSS
sockets, and the reliance on FOSS in the embedded device,
Zimbra EZ Publish Magento
mobile and netbook space, has further fostered the hunger
Open Bravo Moodle for FOSS experts. “Most SMEs, as well as major enterprises
across the globe, have reduced IT spending during the
recession. Further, clients have been asking the software
Figure 1: FOSS applications for which trained professionals are in demand
[Courtesy: OSSCube]
development companies to develop the required solutions
on open source,” says Gopal S, CEO, Nace Solutions.
by the day and will not spend unnecessarily on The embedded device space, especially related to
proprietary software when better quality FOSS mobiles and netbooks, has contributed to the demand for
is available and readily downloadable from the FOSS experts. “Acer uses the Moblin OS in its netbooks,
Internet. FOSS professionals will be the ones enabling so does BenQ’s new S6 MID. There is a lot of FOSS
organisations benefit from the cost savings provided.” development in the Blackberry area, like the GPS logger,
Adding to this view, Rajesh Chhikara, director which can help you log GPS plots every second. Now, open
of the Institute of Open Source, and head of HR, source Telnet/SSH clients are available for mobile devices
EarlySail Software, says: “It’s very simple—if you need also. This has resulted in the demand for professionals to
to be different from the crowd then you have to learn be trained in open source technologies to help this industry
technology that you have not learnt in college and the make better products, cheaper and faster,” explains Rajesh
best way is to opt for open source technologies. Open Chhikara, director of the Institute of Open Source, and head
source technologies guarantee that you leap ahead of of HR, EarlySail Software.
the crowd.” Talking about other catalysts fuelling the demand
With an increasing number of businesses lowering for FOSS experts, Sonali Minocha, director, training,
internal costs using FOSS, FOSS experts are sure to play OSSCube, says: “Today, mobile and Web application
an integral part in the process. “Trained and certified technologies are heavily FOSS focused. The enterprise-
FOSS IT professionals can help the organisation take the class FOSS applications available in the market too are
right decision and this increases their chances to rise giving good competition to the proprietary software
up the corporate ladder, faster,” testifies Mitul Limbani, companies. Lastly, governments worldwide have passed
founder and CEO, Enterux Solutions. legislations or given preference to open source, which
Further, expertise in FOSS is bound to help you has been a huge boost to FOSS.”
score over your proprietary software counterparts. The maturing FOSS industry, too, has contributed to the
“The ‘thinking horizon’ of a FOSS expert is wider growth of FOSS and the subsequent demand for experts.
than that of a proprietary software expert. FOSS “The increasing awareness of FOSS and better availability
experts deal with a lot of logical and environment of systems administrators who have knowledge of FOSS,
compatibility challenges that makes them naturally has led to more companies adopting it. This has caused
more dynamic. Further, they are more proficient in a spurt in demand for FOSS experts,” says J A Bhavsar,
building Web- and mobile-based applications than group head, ITM Business School. Adding to this, Satish
proprietary software experts,” says Sonali Minocha, Gopinath, proprietor, Integer Education, says: “There is a
director, training, OSSCube. “The confidence to tweak clear movement towards FOSS among the IT community.
and tune with the open source product gives FOSS The movement has been fostered by a general maturing of
experts a competitive edge over proprietary software FOSS products and the availability of support.”
experts as they can customise software as per one’s
need and at a cheaper cost,” says Shankar Iyer, director,
services, Red Hat. FOSS experts also have the benefit source experts. But for a smooth take off of your FOSS
of support from a much larger online community for career, it is important to first have the skillsets in demand.
any problem that crops up. A FOSS professional can basically follow one of the
following two paths—development or administration.
The skillsets in demand “Professionals with expertise in security dataware housing,
Thus, every sector, whether it is Web development MySQL DBA and FOSS-based infrastructure management
or product development; human resources, financial software; certified FOSS professionals, Zend Framework/
applications or charting analysis, is yearning for open Symfony Framework engineers, and Drupal developers

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  33


For U & Me  |  Insight ______________________________________________________________________________________________________

are the kind of FOSS professionals


Pick and choose your programme! in demand,” says Minocha. Thus,
But how does one choose an appropriate programme. The key lies in choosing the LAMP (Linux, Apache, MySQL
right institute and course. Some of the options available are: and PHP), LARM (Linux, Apache,
Ruby on Rails and MySQL), JAVA,
Enterux Solutions systems administrator courses like
Enterux Solutions offers courses on Asterisk. The advanced five-day course for the RHCE, SUSE; Asterisk for VOIP
more experienced Asterisk user will help the candidate learn to create advanced dial services, and JBOSS for application
plans and create innovative telephony solutions by using the features of Asterisk. server are the beneficial skillsets  
It is a combination of both lectures and lab work, designed to give students both to acquire.
the theory behind the concepts, and the hands-on experience to effectively deploy
Asterisk-based solutions. Further details at: www.enterux.com ...for Web development
A reputed freelancing site,
Institute of Open Source Elance.com, claimed that PHP
The mission of the Institute of Open Source is to make rare open source developers are the most in
technologies reach all those who have an interest in software development. The demand with approximately 600
institute offers courses in the PHP core, advanced JAVA and Perl, a basic and projects on the site while O’desk,
advanced course in Linux, different server configuration courses, a certificate course another freelancing site, put the
in Web administration and a certificate course in being a Web master. Further details number of active PHP projects at
at: www.ios.net.in 1,487. PHP skillsets are red hot
Integer Education in the field of Web development.
This is a global training services company, offering courses in Linux and PHP. There “Apart from PHP, a professional
are two variants – basic training for freshers and advanced training for practising should have knowledge of CSS
professionals. Further details at: www.integereducation.com 2.0, JavaScript and HTML,
and Linux in the area of Web
Lynus Academy development,” says Chikkara.
This institute offers courses in systems administration, tech support and DBA support. Gopal S, CEO, Nace Solutions,
It provides training on RHCE, LPI (an international vendor-neutral Linux certificate), adds: “LAMP plays a major role
virtualisation, high availability clusters, troubleshooting, building secure Web applications, in almost all Web development
MySQL/PostgreSQL administration, etc. Further details at: www.lynusacademy.com companies. There is an acute
shortage of LAMP professionals
NACE Solutions across the globe, especially in
NACE Solutions provides open source consultation on migration and cost saving India. LAMP has become more
solutions, open source Web development and software training on Linux, Apache, popular because of its scalable,
MySQL, PHP, CSS, JavaScript, AJAX and Flex. The firm also provides training on low cost, more secure and great
Hibernate, Struts, Spring, and OpenOffice.org. It is the ‘gold training’ and solution performance.” The LAMP stack
provider partner for Novell. Further details at: http://naceedu.com has moved beyond its position
as a Web developer’s creative
Network NUTS
toolkit and become a major
Established in 2003, Network NUTS is a Delhi-based IT training company that
development platform for the
focuses solely on systems administrators and the security track of programs.
enterprise. Long a cornerstone of
Common available courses are RHCE, RHCSS, RHCA and virtualisation. The courses
the Web’s highest volume sites,
are available on a full-time and part-time basis and the duration varies from 32 to
including the likes of Amazon,
100 hours. Further details at: www.networknuts.net
Friendster and Google, LAMP
OSSCube has more recently been used to
India’s only Zend-authorised training partner and authorised MySQL education create major online transactional
centre, OSSCube provides hands-on training on a number of open source software systems for Boeing, Disney,
and technologies. It offers courses in MySQL, Zend, Sugar CRM, Symfony 1.2 and Lufthansa and Sabre.
Doctrine, Ruby on Rails, and Python. Further details at: http://osscube.com
...for systems
Red Hat administrators
Rated as the No 1 vendor in IT training by IDC, Red Hat offers performance-based The demand for FOSS systems
training with hands-on, real world skills that IT professionals need to design, execute, administrators has also
and maintain successful open source infrastructures. It offers courses in systems multiplied with the growth in
administration, JBoss, and development. Further details at: www.redhat.com/training the number of installations or
applications on FOSS/Linux. The

34  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


In
association
with

Present the offical


EnterpriseDB
PostgreSQL Training
WHEN WHERE
FOSTERing Linux
th st nd
20 , 21 & 22 Nov 09 HOW
SCO M-37 II Floor
Old DLF Colony, Sector 14
Gurgaon

HOW
Call: +91-124 4080880 / 4268187 Call: +91-20-30589500/01
Email: info@fosteringlinux.com Email: training@enterprisedb.com
www.fl.keenable.com www.enterprisedb.com

Other trainings at FOSTERing Linux:


• RHCE • RHCSS • RHCA • Jboss • Clustering
• Virtualization • Linux Troubleshooting
•EnterpriseDB PostgreSQL • PHP & My SQL • Perl
• Shell Scripting • Mail Server • LAMP • Samba • Squid
For U & Me  |  Insight ______________________________________________________________________________________________________

skillsets needed for systems administration can be


divided into layers, says Srivastava. “The entry-level Formal training vs self learning
skill required by IT companies in the field of server Self-learning, though hailed, is a very lengthy process as
administration and security is the Red Hat Certified one has to totally depend on community support or look
Engineer (RHCE) level. Those who want to enter out for someone with knowledge in a particular FOSS
into the highly challenging area of network securities domain. Formal training eases the learning process.
can acquire the Red Hat Certified Security Specialist Yet the debate goes on about the self-learning route vs
(RHCSS) certification. The top certification available formal training.
in India under the administration and security bracket While Bhattacharya hails self-learning as a very good
is Red Hat Certified Architect (RHCA). Those with a route to learning FOSS programming, as it helps overcome
sound knowledge of virtualisation are also in demand,” mental roadblocks and the diffidence to interact with larger
he adds. Red Hat offers three levels of training to communities, Limbani doubts the self-training mode, as the
FOSS experts. “Level 1 goes into the depth of systems trainee loses out on learning about the various permutations
administration. Level 2 involves acquiring networking and combinations that can be applied in a particular FOSS
and security skills while Level 3 goes deeper into technology.
understanding device issues,” says Iyer. “Formal training provides you a mentor to look up to
Meanwhile, with 90 per cent of the BPO contact in case you are stuck in a particular problem, giving easy
centres in India based on low-cost FOSS technology, access to qualified resources. This helps you dodge the
skills in Asterisk are much sought after. “The future pitfalls in the deployment and service of a particular FOSS
of business in BPOs depends upon reasonably priced project. This results in an overall win-win situation for the
technologies and equally priced expertise to help them professional, the enterprise and the FOSS project,” says
manage operations. This has resulted in a demand for Limbani. “Nowadays, when cost is not the money but time,
FOSS certified resources like Digium Certified Asterisk formal training helps the professional have time with his
Professionals (dCAP),” says Limbani. side. Formal training helps the candidate learn the tricks
that the trainer would have mastered during a lifetime.
The route to expertise Further, the edge of getting certifications and industry
But how does one become a FOSS expert? Well, you recognition, helps the candidate in getting a head start,”
first need to work on understanding hardware and adds Srivastava.
FOSS on your own, then get trained and certified, after
which you must keep abreast with new developments.
“Start by downloading FOSS from the Internet and would need to build up the expertise in an open
implementing it on a PC or laptop. Use the online source product to build niche skills. “For example,
community to get support initially. FOSS skills are your value would be more if you call yourself an expert
acquired over a period of time and thus are in high in Magento and Drupal, than a PHP developer,” says
demand,” says Bhattacharya. Minocha.
Thereafter, go in for a certified training programme. Looking ahead, with companies replacing previous
“A formal training in FOSS helps professionals sharpen proprietary solutions with FOSS alternatives, the
FOSS skills, allowing them to use the tools in a holistic demand for trained FOSS experts and the need for faster
manner. Without the training, one tends to use only mechanisms to churn out FOSS professionals is only set
the modules one actually works on,” says Satish to grow. So be quick to roll up your sleeves and get to
Gopinath, proprietor, Integer Education. A. Saravanan, work on FOSS! 
founder and director, Lynus Academy, says: “FOSS
training provides the necessary knowledge and infuses By: Vanisha Joseph
confidence in professionals. It helps them to take on The author loves to experiment and writing for LINUX For You
is her latest experiment. So, beware! Just a minute, she also
new and emerging technologies faster.” happens to be a journalist during the day.
Once you have attained expertise in FOSS, you

THE COMPLETE M AGAZINE ON OPEN SOURCE


Your favourite Linux Magazine is
BETA
now on the Web, too.

LinuxForU.com
Follow us on Twitter @LinuxForYou

36  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


For U & Me  |  Tutorial ______________________________________________________________________________________________

GIMP for Beginners, Part 5

‘Isolation’
Welcome to the fifth instalment of the Gimp tutorials. Here we will unravel the
major functions of selection tools, with a particular focus on Isolation.

I
solation is the crucial tool part
of image editing and is handy Note: We generally use corresponding
when you play around with tools for the various shapes and natures.
an image. Each selection tool However, this doesn’t limit us to use,
comes in use while isolating on different experience, and experiment with other
parts of an image. So what exactly is tools to isolate non-relevant shapes. For
Isolation? Generally, it extracts/isolates instance, we normally use the Rectangle
a relevant part from an image for further and Ellipse selection to isolate rectangles/
use as another image. In this tutorial, we squares and ellipses, though the
will be focusing on isolating images using applications are not limited to them alone.
various tools. We can always use the Lasso/Free selection
You should find the raw materials at www. tool or the Path tool to isolate a part,
linuxforu.com/gimptutorial/part5.tar.gz, and irrespective of its shape and nature. That’s
experiment with them using the methods why Path tools are generally called the
mentioned. To ease the learning process, we universal selection tool as we can realise
will go through every possible isolation, one almost all the other selection tools with it.
by one, using different tools and methods.
Thus, I have segregated the tutorial into Isolating images using the Rectangle/
different parts: Ellipse selection
 Isolating using the Rectangle selection Isolating images using the rectangular and
 Isolating using the Ellipse selection the ellipse selection tools is the easiest of
 Isolating using the Free/Lasso selection them all. In fact, authors writing for various
 Isolating using the Path selection technology magazines will find these tools
 Isolating using the Fuzzy/Colour a great boon. Isolating the relevant part
selection increases the visible spectrum and thus
makes the image more pronounced and

38  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________ Tutorial  |  For U & Me

easy to view. So, if you want to show


only a particular window, then you
don’t have to submit the full screen
desktop. Instead, use the rectangular
selection tool, isolate the requisite
part and then submit the image. It’s a
very easy process and helps others to
recognise what you want to show.
I have included some raw images
to help you teach things easily by
using the same image snippet I Figure 1: Rectangle Selection
used. For rectangular isolating, grab
the ‘Rectangle Raw.png’ image from
the CD and open it in the Gimp. Our
aim is to isolate the PTS window
from the screenshot and make it
look good as well.
After opening the image in the
Gimp, grab the rectangular selection
tool from the toolbox or press R.
Create a rough selection as shown in
Figure 1. Make sure that the Rounded
corners option is enabled from the
Tools option menu of the Rectangle
selection. Now zoom in to erase
minor selection defects and to gain
the perfect isolation. As you can see,
in Figure 1, the selection is bulging
outside the requisite area. To make it
perfect and professional-looking, we
will remove the entire background
except for the main window.
To make things look sleek, we
can either reduce the selection Figure 2: Lasso tool in action
or increase it, if the selection is
deformed. The rectangular and resolution, just create the template. the pasted part, we need to crop the
ellipse selection tools provide Paste the selected portion using Edit undesired area. To do this, simply right-
editing corners from which you can → Paste. In our layer assignment click on the newly pasted layer and
manoeuvre the selection according (published in the August 2009 issue of select Alpha to Selection. Now navigate
to your needs. Just point the mouse LFY) we learnt about the transition of to Image → Crop to Selection and notice
to where the selection is deformed. layers that are pasted. Currently, the that the image is being cropped.
You can then drag (increase/ pasted layer is in floating transition, That’s it! We have successfully
decrease) the selection by holding and from here we have to decide the isolated a rectangular portion. But
down the left mouse button and transition we want to set. Since we if you save the image now, you will
moving it up, down, left or right. If have opted to edit in a new template, get a square cornered image. We had
you don’t have much control over we can shift the floating transition initially isolated using the Rounded
the mouse, use the arrow keys to get to a permanent new layer. To make Corner option; thus to save the image
precise results. Continue doing so your pasted image a permanent layer, with rounded corners, just disable
for every part of the square, i.e., the simply select the Floating transition the Background layer by clicking on
PTS window. layer from the Layer Box and click the eye and save it. If you want to add
Once you have a perfect selection, on the Create a new layer icon. more pleasing effects, give a shadow
navigate to Edit → Copy. Then create a After that, the image pasted will be to the image. Right click the pasted
new template File → New. Notice that designated a new layer. layer and select Alpha to Selection.
the Gimp automatically provides the Notice that the whole image is Open the drop shadow wizard from
resolution of the image that you are bigger than the pasted part, so in Filters → Light and Shadow → Drop
working on. So don’t tinker with the order to create the image in the size of Shadow with values as 0, 30 and 100

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  39


For U & Me  |  Tutorial _____________________________________________________________________________________________________

for X, Y and Blur respectively.


Save the image and we are done
with the first isolation process.
We could have skipped copy-
pasting in a new template and
instead opted for Crop to selection
just after finishing the selection,
but we didn’t. This was because
whenever you opt for the same
method and save the image,
you will never be able to get the
rounded corners.
Figure 3: Difference between selections using Lasso and Path tools

selection in one go without leaving already pointed out in the previous


Note: The procedure of the left mouse button but now you assignment, the Gimp selection tools
copying, pasting, cropping and are free to leave the mouse and will only select the part inside the
providing a shadow to the selection complete the selection whenever you image. Thus, if you have less space to
in a new window will be used in want. Working with the Lasso tool work with, don’t hesitate to exploit
every isolation method. So that is almost identical to working with the boundaries.
makes it a universal method for all the Path tool so it will be easy to get So once you have opened the
selections. a hang of the other, if you know the image, start from the boy, and then
workings of any one of them. slowly and steadily form an outline.
Isolating using the Ellipse To get started with the Lasso You can undo the step by pressing the
selection is exactly the same. The tool, grab the image Lasso Raw. backspace key; however, if you have
only difference lies in the shape of png from the CD and open it in the some abnormality in the selection,
the image. So, for circles, we use Gimp. Select the lasso tool and start just take your pointer towards the
the Ellipse selection instead of the creating a selection from the bottom. deformed part and the Gimp will
Rectangle selection. To make the selection just click on the display all the points/laps created
point from where you want to start with that particular region. Grab
Isolating using the Free/Lasso and once you are done, a circle will the point and holding down the
selection appear. Move the mouse away from left mouse button, move it to fix
The Lasso tool or the Free hand that point and you will notice a line the misalignment. Continue with
selection tool (also known as the stretching from that point onward; the selection and for long straight
polygon selection tool) is a stripped click again to create another lap. boundaries use decent gaps between
down version of the Path tool. Yet, Continue doing it until you gain the the points. Join the end point with
it can be as powerful as the Path shape you want to isolate. the starting point to complete the
tool at times, with its own strengths selection as show in Figure 2. Once
and benefits. It provides easier and you have completed the selection,
smoother navigation all around, the Gimp will frame the selected
when compared to the Path tool. Tip: You can make the part in an active dotted line (Active
However, it does have its own selection process snappier by Selection), and from there you can
oddities. You cannot recover the creating a significant distance copy paste in a new template as
path once deleted. Also, editing the between two laps. This trick comes discussed above.
path that you have created isn’t as handy when the selected part of the
easy as in the Path tool. image has a straight section that
The Lasso tool is very efficient needs to be outlined/isolated.
Selection Tip: If, by chance,
if you have mastered it and if you However, when you select a curved
you missed removing or adding
have quite a good control over the section, keep the distance to a bare
some part in the selection, revert to
mouse. Lasso is just perfect for minimum—by doing this you get a
the original image and while
isolating a polygon selection and very clean and smooth curved
pressing Shift (to add) or Ctrl (to
with the Gimp 2.6, the Freehand selection with less distortion.
remove), create a selection within
selection got refurbished and the original selection. Once you are
acquired the ability of the Polygon done, copy and paste to finalise the
selection, using multiple clicks. You can start the selection selection process.
Previously you had to complete the from outside the image pane. As

40  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________ Tutorial  |  For U & Me

Isolating using the offer more flexibility over coloured


Path selection backgrounds, these tools come into
Isolation using the Path selection play a lot.
is identical to that of the Lasso/ For this assignment, open the
Free hand selection tool. The only Colour Select Raw.png image from
difference is that the movement the LFY CD and grab the Colour
of the path is a little rugged and selection tool. Now select the
stacked compared to the Lasso background, which is white in this
tool. On the other hand, the Path case. I have kept the background
tool lets you restore the path using simple for quicker learning. Once
the path tab in the Layer Box. the background is selected, head
The best and the worst part of to Colour → Colour to Alpha and
the path tool is that it allows you to with default settings, click OK.
change/edit every point that you join Notice that the background is now
to create the path. This sometimes transparent. You can always wipe
turns out to be a headache. For away the remnants of colour near
example, suppose you are working the border using the Blur tool. Save
with a complex image and have the image in png (Portable Network
created many joints to complete Graphics) and notice the difference.
the selection. And, by mistake, you A transparent background image
messed up and forgot to join the can be used anywhere while an
points, yet you continued with the image with a particular background
job. In this case, in the end, the colour will only look good when in
selection will be incomplete and you the same colour region.
will have to find the missing joint. Fuzzy selection works in the
Another plus for the path tool is same way but for smaller regions.
that it’s pretty easy to use and all the We have already discussed the
joints/points you create are visible foreground selection tool in the
right through the end. third part of the series on the
Gimp, published in the September
Isolating using the Fuzzy/ issue. So that’s it for now—we have
Colour selection covered almost every aspect of
The Fuzzy and Colour selections selection tools. We will be working
are not just another bunch of with them throughout the series
selection tools. Both of them are in a limited or in a sophisticated
very efficient and offer quick manner; but for now we are done
results for isolating images. Both with the selection. The next tutorial
also have a pretty similar approach. will be a bit of surprise; it could
The Colour selection is better than be related to something high
the Fuzzy selection, as the former definition or a wallpaper. I have
offers a wide selection irrespective included PTS with two windows
of layers, while the latter offers (Multiple Rectangle Raw.png and
selections limited to the layer and the final output). Try getting that
colour tone. result using a tip hidden in this
Both these tools let you article. Do stay tuned, and do not
isolate images from a single toned forget to send in your queries and
background. If the background suggestions!  
has multiple tones, then you
can carry out the isolation steps
By: Shashwat Pant
a number of times, selecting
The author is a FOSS/hardware
different colour tones and then enthusiast who likes to review software
removing them. These tools come and tweak his hardware for optimum
in handy while creating buttons, performance. He is interested in
logos, etc, and if you want to turn Python/Qt programming and is fond of
benchmarking the latest Linux distros
an image background transparent. and software.
Since transparent backgrounds

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  41


For U & Me  |  Review _______________________________________________________________________________________________

Experiencing
Sabayon 5
oSh!
Sabayon's strength has always been to showcase the
power of FOSS on the desktop. Once upon a time, it used
to come preinstalled with Linux-compatible games. But
the current releases have done away with the idea of
showcasing the games factor and concentrate on giving
an out-of-the box desktop experience.

abayon 5 (or Five oh!, as the The boot screen of the DVD gives you
project team likes to call it) several options to boot the following:
came out on October 2, 2009. GNOME, KDE, a media centre desktop,
As has been the norm since the UMPC, etc. I've only tried the first two.
last couple of releases, it's been divided into a Depending on your desktop of choice,
KDE and GNOME live DVD. The last version you'll need to select one and proceed. The
LFY had bundled was version Four oh! (we boot splash theme is, as always, black with
skipped 4.1 and 4.2). It was a single Live DVD a few coloured stripes with the Sabayon
that contained both GNOME and KDE. So branding in the centre—not that great,
what our CD team has done this time is but pretty smart and professional-looking,
combine the two separate ISOs into a single nonetheless. Well, the same image is also
live multi-boot DVD. The downside is, you'll the default wallpaper in both GNOME and
only get either of the two desktops, at a time. KDE. Coming back to the boot process, the
live distro boot speed is comparable to other
popular distros, and midway through the
boot process, Sabayon starts playing a song
that has something to do with “the rock and
roll hall of fame.”

Note: On my assembled AMD/


NVIDIA system, without
manual intervention, Sabayon
booted to a 1024x768 px
display—although it had
detected and loaded the
correct NVIDIA drivers. The
easiest way to fix this is while
you're on the boot screen – at
the point when you select
between the different boot

42  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Review   |  For U & Me

options, hit F4 and select the display resolution, there


and then. On my Intel-based wide-screen laptop (which
uses a resolution of 1200x800 pixels), things worked all
right without any manual intervention.

KDExperience
Sabayon comes with a custom themed version of KDE
4.3.1 (v4.3.2 is not available in the software repository
yet). Instead of the stock Air theme introduced in KDE
4.3, Sabayon uses Elegance—a dark theme that gels well
with the overall Sabayon 5 look and feel. And unlike other
distros, a number of other desktop themes are preinstalled
to let you customise the desktop the way you want without
requiring to download additional themes. Additionally,
it comes with a decent collection of wallpapers too, and
Kwin effects work out-of-the-box if you have a capable
graphics card. Figure 1: KDE Live desktop
The resolution of panel is awkwardly set at a width of
1024px, leaving some blank space on both sides of a screen types are properly set. So
with a resolution of 1280x1024px (or, any resolution where you'll have no problem
the screen width is more than 1024px). Well, many not-so- in directly opening e-
mainstream distros have a fetish for this sort of a Mac OS mail attachments, or for
X-ish panel setting, which sort of seems odd considering that matter, when you
the fact that the rest of the screen on the left and right side download anything from
of panel goes waste. Anyway, we all know how to set this the Web, straight inside
straight, don't we? Strangely, essential shortcuts like 'Show the required application.
Desktop' and 'Battery Indicator' ( for laptop users) are By the way, wireless
missing from the panel. Again, we know how to take care connection on my Intel
of this. Wi-Fi based laptop
While the stock KDE only has ‘System Settings’, a worked out-of-the-box. Figure 2: Default Kickoff favourites
home directory shortcut for Dolphin and the Konqueror What I also noticed is the
Web browser as our default 'favourites' in the Kickoff NetworkManager system tray widget has been cleaned
application launcher, Sabayon has added more natural up a lot. I don't remember seeing this polish when KDE
fits for our favourites here (Firefox, Kopete, KTorrent, 4.3 first came out. What struck me as surprising was
Konversation IRC client, Amarok, VLC Player, OOo Writer the inclusion of the Wicd network manager—which is
and Calc). However, I believe a home directory shortcut basically redundant!
would have been a better selection instead of an IRC client; Sabayon comes with most of the multimedia codes
besides, ‘System Settings’ is also an essential app for those preinstalled. So whether you throw DVD videos at it
who like to tinker with their system frequently. or DivX files, VLC should be able to take care of it all.
The default installation comes with lots of handy Amarok, on the other hand, takes care of your MP3 music
applications for most desktop requirements, but some of collection. The version is 1.1.80 (2.2 beta)—the final 2.2
the essential apps like Digikam (digital camera tool) and version is yet to be made available in the repo. Note that
the GIMP are missing. As for an image viewer/manager, although this version reintroduces an equaliser, yet it's
Gwenview is also missing. So accessing images means greyed out in Sabayon. Besides these two power apps, you
opening them in the Okular document viewer. Of course, also have the minimalist Dragon Player and the XBMC
these can be had from the official software repository. In media centre application.
fact, although it comes with the Firefox 3.5 as the default The version of OpenOffice.org is 3.1. It comes with an
browser, the repo also offers Chromium (open source integrated Oxygen icon theme by default, which means
Google Chrome) as an alternative. better KDE integration because the icons don't look out of
After using Chromium for a week, I found it to be place in KDE4 any more. However, the KDE4 integration
pretty stable. I'll definitely recommend it over FF simply is nowhere near complete—the Save as/Open file dialogue
because of the well-thought-out UI which gives you much boxes are still that of the stock OOo, instead of being KDE4
more screen space to view Web pages, compared to any based. Apart from this, English spelling packs are missing.
other browser, besides the ability to run multiple incognito Another thing to note here is that font rendering inside
windows (private browsing sessions). Coming back to FF OOo and Firefox are not anti-aliased out-of-the-box—
(and even in Chromium), one good thing is that mime which makes them look a bit crooked.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  43


For U & Me  |  Review ______________________________________________________________________________________________________

Figure 3: Package categories in Sabayon installer


Figure 5: Gnome live desktop; GNOME Do in the centre

Figure 4: Installation in progress


Figure 6: Enjoying last.fm in Firefox; F-Spot photo manager in the background

Install(xperience)
There's an 'Install on Disk' (live installer) shortcut right on the between Sabayon and 'Others'. However, post installation,
desktop. The installer is based on Anaconda, so Fedora users when you reboot, you should see all your other distros on
should feel right at home. The Sabayon version is customised the boot screen—at least that's what happened in my case.
to an extent to include some other choices. For example, the The final installation ( file copying) process takes a
third screen gives you an option to choose between a KDE while—around 10 to 15 minutes. And then you reboot!
desktop (or GNOME, if you've booted into that DE), XBMC
media centre or Fluxbox. The following screen gives you an Package manage(xperience)
option to select/deselect the broad software categories—office Now that you have the distro installed on your system,
apps, Internet apps, multimedia apps, and basic free games. you'd obviously want to install the missing packages.
The next screen is where you'll enable/disable the following Sulfur as a package manager is really slow—every time
services: Samba, Cups, NFS, SSH. you want to navigate to a new tab, you get a “Please wait
Strangely, once you're done with the partition set-up, if ...take a break!” message. Additionally, it has a severely
your root is less than 8GB in size, the installer gives a warning. clumsy-looking UI, as if designed in the last century.
Ignoring it is a safe bet as, post installation, it only covers up Although the options are straightforward, they could
around 4.2 GB of disk space. Probably this is a message that become confusing when an application fails to install
was introduced when Sabayon was a single bootable DVD because of some error. Besides, buttons and options have
consisting of both KDE and GNOME, but it doesn't make been spread around multiple tabs, which makes using
sense any more now that the ISOs have been split up. Sulfur awfully cumbersome. However, I’ve got to admit
Also, being based on the Anaconda installer, the Grub that the online repository has a decent collection of
boot screen would only show the options of choosing applications, and the mirrors are pretty fast.

44  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Review   |  For U & Me

An interesting point is that missing, which I would have preferred


packages here have user ratings, which for handling my audio files. The XMMS
can be useful when you have to choose clone called Audacious2 is available
between multiple alternatives that to fill the gap, if we don't like Totem to
serve the same purpose. However, note handle audio. Besides these two apps,
that the Sabayon user base is certainly the 'Sound & Video' section has dvd::
not comparable to Ubuntu's to give you rip, Brasero Disc Burner, XBMC, and a
foolproof ratings. For example, Choqok bunch of Pulse Audio controls. Talking
is perhaps one of the best Twitter about PulseAudio, the controls don't
clients, yet it has got no ratings here. So, work on my system—so I figure the
if you have a Sabayon online account, integration is incomplete.
you might as well rate packages to Unlike its KDE counterpart, the
make life easier for future users. GNOME version comes with GIMP
besides the F-Spot Photo Manager.
GNOMExperience However, by default, GIMP is
The GNOME desktop (v2.26.3) greets associated as the viewer for images
you with GNOME Do right in the instead of F-Spot. We also have the
centre of the screen. Check it out; full OpenOffice.org office suite and
it's a very innovative application Evince to open PDFs.
launcher. The top and bottom panels As for Internet apps, we have the
are somewhat customised—the Deluge Bittorrent client, GNOME
workspace switcher is on the top PPP, Firefox, Pidgin, a remote desktop
right beside the clock, while detected client, XChat and Wicd (yet again,
mountable partitions are on the right when we already have a working
side of the bottom panel. I certainly NetworkManager). Yes, there're a
can't figure out the reasoning behind number of GNOME games available
this sort of customisation. too—but that's all. So, if you want more
The desktop theme is based apps, then install the distro and use
on the greyish ClearlooksSL Sulfur to install the apps you require.
theme for controls, and the black
MurrineCleanGlass window border My experience
theme, which gels well with the Overall, Sabayon is indeed a lovely
overall Sabayon look. Unlike KDE, distro. It looks great and is quite
desktop effects don't work out-of- stable, yet it somehow gives the
the-box here. You'll need to activate feeling that there's something missing,
the Compiz Fusion-based effects reminding me of the song, “All you
by double clicking the 'Compiz need is love, love, love... Love is all you
Fusion Icon' on your desktop. need.” Or do I feel this way because
When activated, it triggers the I'm just too used to the mainstream
Emerald Theme Manager to load up Mandriva and the likes?
(accessible from the system tray), Whatever the reason, Sabayon does
which gives you a handy selection of look pretty rough around the edges—a
themes to choose from. On the down good example is the package manager,
side, enabling Compiz gets rid of the and the default selection of apps. So
Alt+F2 shortcut association to trigger I figure it does need a lot of love if it
the run dialogue on my system. A very wants to compete in the mainstream.
displeasing bug! By the way, Sabayon comes
There are two volume mixers on the preinstalled with a demo version of
top panel—one near the system tray, the World of Goo. It's very addictive;
and the other, right next to GNOME give it a try! 
menu. While the former doesn't work
on my system, the latter does. By: Atanu Datta
The default media player app is
He likes to head bang and play air
Totem for both videos and audio, and guitar in his spare time. Oh, and he’s
is capable of handling most media also a part of the LFY Bureau.
formats you throw at it. Rhythmbox is

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  45


For U & Me  |  Review _______________________________________________________________________________________________

Can the Minimalist Approach of

CDlinux
Win You Over?
In the world of minimalist GNU/Linux distributions, we introduce you to
CDlinux, which originated in the People’s Republic of China, in 1999. Four
years later, in 2003, the first public release, version 0.4.2, came out. The latest
version 0.9.4, which was released on September 3, 2009, is a mere 67MB.

C
Dlinux, or Compact Distro to the versatility of Linux, it can also be
Linux, was primarily intended customised for other types of users. It was
for systems administrators, as a used in schools by the Yellow Sheep River
system rescue tool. However, it project (yellowsheepriver.com) several
can also be used as a bare minimum portable years ago, and now I am helping the Beijing
desktop OS and as a customisable OS base. The International School (biss.com.cn) to set
default desktop environment is Xfce (currently up a version for kids. I have also helped
4.6.1) with the Thunar file manager, thus others set up CDlinux for applications like a
ensuring that CDlinux cuts out the fat. The firewall, NAS, etc.”
whole distro loads on the RAM, so the access is Currently, there are two core developers of
rapid. The official edition’s RAM requirement is CDlinux, Ben Zhao and Penta Cai. I discovered
only 64 MB. CDlinux is capable of booting from CDlinux as an unmaintained and ‘dead’ distro
CD/DVD and HDD. It also supports USB and in linux.org. But when I visited the official
IEEE1394 interfaces. website, I came to know that though it was
According to the head developer, Ben not very popular, it certainly wasn’t ‘dead’ and
Zhao: “The original purpose of CDlinux was is still being developed. After using the 0.6.2
for it to be used as an emergency/rescue version of CDlinux, which was about 57.2 MB
tool for systems administrators. But thanks in size, I was impressed. Far from being dead,

46  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Review   |  For U & Me

this distro was very up-to-date and under regular scheduled


development. After getting in touch (through e-mail) with
Ben Zhao, the targets and future plans of CDlinux became
clear. After using CDlinux 0.6.2 for a brief period, I found that
CDlinux lacked many graphical applications for everyday
desktop use, though there was nothing that the command
line couldn’t handle.
When I asked Zhao about the missing applications,
like word processors and image editors, he made it very
clear what CDlinux was about and what its aims were:
“It’s a pity that a word processing application is
not included in the official release. But OpenOffice is
too big. KOffice has too many dependencies, and the
smaller ones are just not stable enough. Try to open a
complex .doc, and you’ll get a lot of crashes. And the
i18n support is far from usable. AbiWord, Gnumeric,
and the GIMP are already in the repository, along with Figure 1: CDlinux desktop
many other applications like aMule, ClamAV (an anti-
virus), Mplayer, Transmission, Wine, etc. We’ll find a
way to make them available with the next release. There
are still some other packages with licensing problems,
like Mplayer codecs ( for various audio/video formats),
libdvdcss (to play encrypted DVDs), Skype, Flash plug-
ins, firmware for various hardware, and some ‘Wined’
Windows applications. Regarding those packages, I don’t
want to ship them with the official CDlinux, because
we want CDlinux to be clean! Maybe in the future, we’ll
help to create a community release that contains these
packages. Many GUI tools for CD/DVD burning, wireless
networking, installation, saving settings, etc, are planned
for the 0.7 release.”
The focus of CDlinux is to be a good administrative
tool, with only stable, necessary and free applications and
excellent i18n support.
Figure 2: A snippet of available applications
While the community edition was always on the radar,
it finally got launched on October 20, 2008, featuring a lot
of proprietary codecs, and a lot more applications. Today, The standard edition
CDlinux has three parallel editions: This edition is an official release of CDlinux and contains
Mini: Command line only, and uses Busybox with a lot a patched version of the Xfce 4.6.1 desktop environment,
of command line tools. a patched Linux-2.6.30.5, with Firefox 3.5.2, Pidgin 2.6.1,
Standard: A superset of Mini, featuring Xfce, and a Slypheed (a mail client), ePdfViewer and GpicView (an
bare minimum set of applications. This only contains image viewer). The older 0.6.2 release (standard) featured
free software. Xine with free codecs, which went missing from the 0.9.2
Community: Made from the standard edition by release. The 0.9.2 release contained TestDisk, which made
adding more graphical applications, this edition is more it a better rescue tool and a new CDlinux HDD and USB
appropriate for the everyday home user. It also contains installer.
many non-free components. To begin with, download the image of the latest
I used CDlinux on an AMD Athlon64 X2 4400+ CDlinux, burn it on a CD(RW) and get started. Enter
processor with a RS690G chipset, 2 GB RAM; the Intel the CD into the CD drive after you make sure that
Pentium D with ATI Radeon 200x integrated graphics and the system boots using the CD drive. Then select the
512 MB RAM, and two more Intel systems (one Core and language to boot CDlinux from the bootloader menu
another Pentium MMX 200 MHz). and press Enter. You will see the CDlinux logo in the
Let’s briefly look at the various editions. We will be boot splash screen for a few seconds. This was not
working with version 0.9.3. The latest 0.9.4 release is a present in the previous stable release (0.6.2), which used
bugfix maintenance edition and the site encourages users a text prompt. After this, the desktop loads smoothly. It
to update to it. auto-detected my default 1280 x 1024 desktop resolution

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  47


For U & Me  |  Review ______________________________________________________________________________________________________

Figure 3: K3b and SMPlayer Figure 4: A few more apps

and also presents a manual setting prompt. also introduces Clipman, the clipboard utility. Finally,
The desktop shows the auto-mounted partitions. In we come to the rxvt terminal program to enter the
my case, the distro successfully detected all the disks. The command line. I tried enabling desktop effects from Xfce
Xfce menu bar in the bottom contains the quick launch control panel -> window manager tweaks -> compositing.
buttons, desktop buttons, the Xfce sound mixer, the time, It worked fine without any visible performance degrade,
the log off button and the Xfce menu button with the except that when the transparency was enabled for
CDlinux logo. I can enter all the partitions and access moving windows, it went choppy. The CPU frequency
the files. The 0.9.3 uses Xfce 4.6.1, which has a cooler look scaling, a new update to this edition, adjusts the CPU
than the older one, with a new cursor and icon theme. clock for different loads. Change it as per your needs at
The user drives of my Fedora partition were protected Settings -> CPU Powersaving Settings.
and could not be entered. Firefox 3.5.2 comes with the The 0.6.2 CDlinux release contained no graphical
compact menu plug-in installed, which made the menus HDD/USB installer, and it has to be installed manually
compactly fit into a button on the top left. It also had the by modifying an existing bootloader or installing one. In
‘Flash block’ plug-in, even though the Standard edition this version, I found a graphical installer that is still under
didn’t have Flash support. This plug-in is of immense use development. The graphical installer is capable of installing
with the Community Edition (which has many non-free CDlinux in a USB drive or in the Microsoft Windows C:
components). Since CDlinux loads on the RAM, the slow partition. The installation of CDlinux is non-destructive
IDE HDD was not a factor any more. The experience was and does not format or remove anything off the drive. It
very smooth, without a single glitch or any slowdown. I just copies the CDlinux files from the CD in the Windows
have a habit of opening a lot of tabs by middle clicking partition and then installs the GRUB4DOS bootloader.
on the links, and that slows down the system with my Though this didn’t work for me. If you know how to configure
default Fedora 10 (KDE and Xfce). CDlinux allowed me a bootloader, it can be easily installed manually.
to do this happily. Other than browsing, Pidgin was there The command line uses bash as shell, a patched
to connect to chat accounts and to freenode. Mail client Busybox for core utilities and lots of other programs,
Slypheed was also present. The Internet experience with like fdisk, Parted, Syslinux, Grub, TestDisk, Midnight
CDlinux was very good and I just didn’t feel like logging Commander, VI text editor, and wget. And oh! You can
into Fedora again. Xfburn was introduced in the standard also find the ‘chntpw’ program with which you can reset
edition 0.9.3. Microsoft Windows account passwords and manipulate
In the Systems section, a new addition is the registry values. You need to ‘sudo’ to run a command as the
TestDisk data rescue and disk repair application. You root user, or run them in the super-user mode terminal.
can use this to recover deleted files, corrupt partition
tables, manipulate the boot sector and a lot more. The community edition
Other than Thunar, the default file manager of Xfce, The community edition of CDlinux has all the applications
CDlinux provides a patched and tuned version of that we mentioned earlier and, in addition, a lot more
Midnight Commander, which Zhao recommends. In extra packages like Wine (v1.0.1) (without OpenGL
the Accessories section, you can find a character map, support), Java Runtime, SMPlayer, the Gimp, etc.
the Galculator (a GTK2-based scientific calculator), and The booting time was a bit high for this edition. This
the Xfce’s mousepad and Xarchiver. The 0.9.3 version might be because it copies the packages onto the RAM,

48  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Review   |  For U & Me

but you can ask the OS not to load the modules onto directory hierarchy to be auto-detected by CDlinux. This
the RAM, and mount them in loop mode, instead, with is just like the puppy .sfs squashfs packages. Even desktop
the CDL_LOOP kernel parameter. After it boots in, you environments other than Xfce can be used on top of the
will get the same smooth performance as the standard Mini edition. Because CDlinux doesn’t have any repository
edition, once you reach the desktop. as of now, .md packages are not available easily and one
I started with the multimedia section, which is the has to make or hack them from the community edition.
deciding factor for me in selecting an OS for general Though this might not be very customisable for general
desktop use. I found Livestation 2.7.0 for livetv and users, it definitely is very interesting for geeks. As CDlinux
radio broadcasts, which replaced Gmlive from v0.9.3, approaches the 1.0 release, we can expect CDlinux
two front ends of Mplayer, the Mplayer GUI and repositories to become available with .md packages.
SMPlayer, and a burner called Xfburn. The audio and CDlinux provides some boot parameters that are
video experience was pretty good as the support of very easy and extremely useful. Check out CDlinux.
non-free codecs was out-of-the-box. The Internet menu info/wiki/doku.php/doc/faq/cdl_options for details on boot
revealed a lot of applications including Firefox 3.5.1, parameters.
Pidgin and Slypheed – other additions are Skype2.0,
Filezilla, aMule, etc. The redundant Opera in v0.9.2 was Support
removed in 0.9.3. Zoho is used as the office suite, but This is where CDlinux lets you down. According to
GNumeric, a spreadsheet application is also included. Zhao, there is documentation and support for CDlinux,
The 0.9.3 version has a new addition — KchmViewer, a but mostly in Chinese, so it is of no use if it is not
compiled HTML viewer. Printer support was lacking translated for non-Chinese users. You will get very
in the standard edition. The community edition comes little documentation for CDlinux customisation. Older
with CUPS and printers can now be configured. You can documentation relevant to the 0.4 release of CDlinux can
also configure a wireless network with the help of wicd be found in CDlinux.info/archive/0.4/howto.html. There
(not in the standard edition). is no dedicated forum or an IRC channel. According to
The strange part is that this edition comes with Zhao, new documentation is being written.
the Avast anti-virus, home edition, though you need to
register with avast.com and get a free personal-use serial Gazing into the crystal ball
number to activate it. With TestDisk from the standard When I asked Zao what his favourite feature of CDlinux
edition, the community edition also comes with the was, this was what he said:
popular Partimage and Gparted partition managers, “Yes, CDlinux is stable and up to date, and it is
making partitioning easy. compact. The features and libs/apps of CDlinux are
And of course, it has a Games section containing carefully selected. We only ship stable and usable
Minesweeper, card games, and DOSBox. DOSBox is not a applications — no flashy ones. CDlinux is clean. In fact,
game but a DOS emulator. It often comes into the ‘games’ we are very proud of CDlinux — there is too much to talk
category because of its usefulness in running classic about, like it can be run in memory, which has been a
games like Alladin, Prince of Persia, Invaders, Wolfenstein, feature of CDlinux since its birth. I think the best feature
etc. of CDlinux is its i18n support. CDlinux supports i18n for
We now have GCC (v3.4.6), as it now (v0.9.3) supports all major languages/locales (over 100). Although for size
compiling the official Linux kernel and also additional considerations, l10n support is limited, users can easily
modules and drivers. extend CDlinux to support l10n for their own language/
Check out the full list of applications of the CDlinux locale. Many applications are fine tuned/patched, e.g.,
Community Edition at CDlinux.info/wiki/doku.php/ if you use Midnight Commander (my favourite file
releases/0.9.2/packages manager), you’ll find that the version in CDlinux is the
best. Cheers!” 
Customisation
The main attraction of CDlinux is that it provides an Links:
operating system with the latest Linux kernel, drivers • Official website: CDlinux.info
and a bare-minimum set of applications that are updated • FAQs: CDlinux.info/wiki/doku.php/doc/faq/index
and stable. CDlinux provides the base of the operating
system on which you can add building blocks to make
a complete OS that exactly matches your needs. This By: Arjun Pakrashi
is unlike others like Puppy Linux and Slitaz CDlinux The author is currently pursuing a B.Sc in computer science
that currently do not have any ‘remaster’ tools. To add from Asutosh College in Kolkata. His main areas of interest
are open source software, Linux programming and data
customised packages to CDlinux, it needs to make/ structures. He plans to do research-based work, and
download the squashfs md images of the applications become an OSS contributor.
and place them in the ‘local’ directory of the CDlinux

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  49


IT Admin  |  Insight ___________________________________________________________________________________________________

A Liberating
Learning
Infrastructure
Last month we looked at FOSS applications for beginners and students. In this
article, we will look at FOSS-in-the-large as applied to a learning environment.

T
his article is a broad overview computer lab is a network of PCs exclusively
of the technology solutions running a proprietary OS with some shared
available for learning and directories that host the learning resources.
does not prejudge any Each student gets a full-fledged PC as a
solution as automatically fitting a particular workstation. What could be easier? There is
requirement. The data gathering and decision always an obliging hardware vendor around
making is left entirely to the reader. If this the corner and those helpful education
and the previous article can spur you to ‘discounts’ on proprietary software are so
explore that part of the FOSS ecosystem that tempting.
caters to education, they would have served This approach is wasteful, both in terms
their purpose. of money and energy (aren't we teaching
children about carbon footprints in our
School infrastructure environmental education classes?). The
A common or default software is probably hosted individually on
approach for a each machine and maintaining it is a chore,
school not to speak of the recurring licence and
upgrade costs.
Contrast this with a FOSS
approach, which has a
high capacity server
for multiple
student

50  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


________________________________________________________________________________________________________ Insight  |  IT Admin

terminals. These could be low-end machines running


Atom-like processors or even old PCs that were heading
for the scrap heap because they could not run some
bloated proprietary OS. All that these terminals (now
functioning as thin clients) need is the capability to boot
from a network. What's more: such a set-up also allows you
to interface Wintel machines from that part of your set-up
that needs a proprietary computing environment.
The advantages of this computing architecture include:
easy software updates (you only require to update the
server/s), potentially lower power requirements, and
enhanced security. All this thanks to the Linux Terminal Figure 1: Koha catalogue at DPL
Server Project (LTSP).
Check out the success stories at ltsp.org for what real deployed at the school level to track attendance, grades,
people are doing with such set-ups. Also, try K12LTSP.org demographics, timetables, and calendars. It does not
for a Linux distribution that bundles LTSP with CentOS, cover accounting. It can also be used by individual
and K12Linux.org for a Fedora distribution that bundles teachers on their laptops to track the classes they are
LTSP with it. teaching, for instance. SchoolTool is backed by the
A software application called iTALC enables you to Shuttleworth Foundation (shuttleworthfoundation.
control all terminals from a central master workstation in org), which works closely with the South African school
the case of a large deployment of terminals. It allows, for system to promote FOSS.
instance, a teacher to give a demo from her terminal and OpenSIS (opensis.com) is a comprehensive SIS that
make it appear on all student terminals. could easily rival commercial offerings. The base system
The FOSS world around Linux also offers other comes free. Additional modules and support can be
technologies to facilitate virtualisation, enhanced security, purchased. There is a hosted service too, in case schools
spam protection, desktop publishing, and a host of other do not want to host their own system. However, the basic
business functions, all in a virus-free environment with a system appears quite adequate to give a clear productivity
range of very functional and attractive graphical desktops. boost to a school's processes.
This by itself would make FOSS a strong contender to OnlineGrades (onlinegrades.org) is not really an
run a school's entire IT infrastructure rather than just the online grade-book, but helps host information on grades
computer lab. But wait till you learn about what else FOSS in a secure manner for controlled access by students
has to offer for a learning environment. and teachers.
Openadmin for Schools is another SIS for schools
Information management
Even small- to medium-sized schools can reap the benefits
of information management. FOSS offers
some sensible options here too. The
list is not complete, and I might
have missed your favourite
application.
SchoolTool
(schooltool.org) calls
itself a student
information
system. It
can be

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  51


IT Admin  |  Insight _________________________________________________________________________________________________________

that has a gamut of features. It has a well-maintained site


and a very active development and release schedule. It
has a surprisingly large number of downloads from India.
There is another SIS that goes by the unpretentious name
of Centre (miller-group.net). But do try out its demo site
because the software functionality and customer support
seems anything but unpretentious.
The Kuali Foundation (kuali.org) has the Kuali
Financial System (KFS), an open source financial package
for institutions of higher learning. They are also working on
a student system. KFS has commercial support available
from established names. Figure 4: ATutor demo page
Koha is a popular Integrated Library System (ILS) that
is being used by many libraries in the world including the Claroline (claroline.net) is a compact course
Delhi Public Library. It is immensely scalable, making it management system with some basic exercise types
amenable for use even by smaller school libraries. available for students. It is well suited for light duty
applications such as online orientation for new
Learning management employees.
The primary purpose of a school is to promote and Sakai (sakaiproject.org/portal) is a collaboration
facilitate learning. The world of FOSS offers quite a few and courseware management platform. It is enterprise
applications that help host learning material, making it class with support for up to 200,000 users. It is claimed
accessible to the students in a controlled environment, to be written by educators for educators. Check out the
and then facilitating the evaluation of students on what References section to learn how Stanford University is
they have learned. using Sakai.
Moodle is a celebrated course management system ATutor can be counted with the best amongst the
(CMS), or learning management system (LMS), with a learning management systems, built with accessibility
large community and almost a fan following. It is feature and adaptability in mind. With a rich feature list that
rich, allowing you to host your own lesson material and takes some time to absorb and a list of useful modules for
evaluation tests organised by virtual classrooms. expandability, ATutor is a must-have on your evaluation
short list.
LRN (dotlrn.org) is an enterprise class software
solution to support e-learning and to build digital
communities. Most FOSS enterprise class solutions come
with a committed and active community of stakeholders
whom you can interact with for help, feedback, or
plain gyan. LRN, too, is backed by a community of
stakeholders.
ILIAS (ilias.de) is an LMS with German origins and
has a very distinguished cooperation network or advisory
board. Spend some time on the website and you’ll
immediately realise how complete and well documented
it is, besides marvelling at the lengths the developers
Figure 2: Moodle courses
have gone to make it accessible and usable. There is a
detailed client list, including some case studies. The latest
stable release is barely a couple of months old. Is it a
candidate for your evaluation short list? You bet.
As an aside, you may not appreciate the value of a
community until you realise that most closed-source
commercial/proprietary products are completely
managed by product management teams of a finite
size. These teams may not necessarily have the user
community as their primary driver due to corporate
compulsions. (We have heard that before, haven't we?).
In contrast, community-driven products, with the greater
wisdom that goes into them, evolve more solidly, and
Figure 3: Claroline demo
not necessarily any slower. The evolution of GNU/Linux

52  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


________________________________________________________________________________________________________ Insight  |  IT Admin

itself is a good example with a bleeding edge Fedora release Is it worth a try?
every six months. Unless you are already very happy with the information/
A company might withdraw support for a product or learning management systems used in your school,
coerce you to upgrade a product that you have invested in, the answer would be an emphatic, ‘Yes’. That FOSS is a
heavily, and are perfectly happy with in its current version. new technology and learning paradigm that should be
You will find no such compulsions with community-driven taught to all students is an equally strong reason, in my
FOSS software. Communities do not vanish overnight— opinion. Even if you do not want to jump on to the FOSS
unlike software companies that sometimes do. And even if bandwagon with all your baggage, you can evaluate
a community did vanish, in a worst-case scenario, with the specific FOSS applications in isolation.
source code available (remember, this is not closed source) You could sandbox a portion of your computer
you have your insurance papers right in the top drawer. lab network and run a small pilot with the active
Hosting your own LMS is all very well. You also need participation of teachers and students. There is nothing
to keep it current and supplied with content. This means to lose; there are no evaluation licences or nagging
you need to equip qualified lesson authors on your staff salesmen spewing words like 'layered' and 'unbundled'.
with the right tools. Most LMS have integrated authoring On the other hand, you might be amazed by how these
facilities. However, offline authoring and publishing has its solutions—individually or collaboratively—extend
attractions. It allows people to work in seclusion and then the reach of your teaching function and take the
sync up with the LMS. A tool that enables offline authoring deployment of your learning course to the next level.
and publishing is eXe. It allows teachers and academics to Not to make too fine a point of it, all FOSS
focus on their content rather than the intricacies of HTML. applications have their source code available. This,
Most FOSS LMS have no-obligation demo sites. You along with the four freedoms of FOSS, allows you
can try these demos as often as you want and show them to customise and localise the software to your
to the decision makers in your institution. Contrast this requirements and also contribute back to the
with the time-bound evaluation versions for proprietary community. Both of which, the eager, tech-savvy
software that give you the feeling that you are being done students of today would love doing. However, most, if
a favour. not all the applications we have discussed so far seem to
I am sure you took your school timetable for granted. be usable out-of-the-box.
Either you remembered it all, at least the days you had two Do make sure, however, that you engage good technical
back-to-back history periods, or just didn't care and carried help for the required handholding. And do not forget to
all the books you could. I bet you never realised then that familiarise yourself with the vocabulary used in the LMS
timetabling is a constrained scheduling problem. Throw domain. Is there a role for a 'Chief Education Officer' in
in a few thousand students, perhaps a hundred or more institutions? Continuing education is the shape of things
teachers with the usual set of courses, and timetabling to come; perhaps it is not just coincidence that this role
becomes a really complicated business. Fortunately, there abbreviates to CEO! Fortunately, this role already exists in
is FET (www.lalescu.ro/liviu/fet). It is a fairly capable tool some organisations as Chief Learning Officer; so the real
with a certain learning curve and can scale very well from CEOs can breathe easy.
small schools to departments to large institutions. You can Once you start your journey, you might realise that
scan the fine-grain, enumerated feature list to check if it it is not so much about technologies or paradigms as
meets your requirements. much as it is about prejudice, nay-sayers, entrenched
Learning by itself would be only half the fun were it not mindsets, and commercial vested interests. Learning is
for the tests. Jokes apart, learning would not be complete all about discovery and breaking new ground. When are
without a reasonable and objective assessment. TCExam you starting on your voyage of discovery on what FOSS
(tcexam.com) is a CBA/CBT (computer-based assessment/ has to offer the world of education? 
testing) system. It allows you to build a simple testing
strategy. Built on the robust and familiar LAMP (Linux, References
Apache, MySQL, PHP/Python/Perl) stack, it supports • http://www.rsmart.com/case/stanford-university-sakai-
rich content in the form of pretty-printed questions, provides-significant-potential-and-opportunity
formulae, and video/audio content. There are i18n • Screenshots are taken from demolabo.com, which runs
demos of many packages and offers content under the cc-
(internationalisation) and accessibility features available by-sa licence
for students with special needs, too. The application
supports question banks so that each candidate gets her
own unique test with a mix of questions. Such a feature is By: Gurudutt Talgery
well suited for administering those on-demand tests that The author is an open source enthusiast and practitioner with
are very much in the news these days. The strong security over 20 years of industry experience working with reputed
transnational companies. You can contact Gurudutt on gtalgery
and authentication features allow it to be used on the AT rediffmail DOT com
extranet as well.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  53


Open Gurus  |  Overview ____________________________________________________________________________________________

Turbo
Boost
your PC
ark in g an d
Benchm Linu x
verclockin g in
O

Are you ready


to raise the bar?
Ready to witness a
performance from
your PC that you’d
not seen in years?
Then tighten your seat
belt, grab a chilled
drink and get ready
to exhaust the tower
with the monstrous
benchmarks!
54  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com
__________________________________________________________________________________________________ Overview  |  Open Gurus

M
ost PCs today—i.e., if you own a processor like Unfortunately, the software potpourri isn't as diverse
the AMD Athlon (90/65nm) or Core 2 Duo and as that of Windows, but still, there is a decent amount of
above—come with decent headroom to increase benchmarking and monitoring software available for Linux.
performance. The question is: have you ever In this article we will take a look at the following:
considered pushing the limits? 1. Hardinfo: A one-stop shop for all the monitoring
If so, tighten your seat belt, because in this article we utilities in Linux
will not only learn about torturing the hardware, but also 2. Phoronix Text Suite: Undoubtedly, a vast and the most
unravel the facts about overclocking your hardware and the popular benchmarking suite for Linux
status of benchmarking in Linux. 3. Geekbench: Another cross-platform benching program
4. Prime95B: A CPU stress-testing program
The test set-up used for overclocking and benchmarking
Note: Overclocking is raising the clock speed of the is described below:
processor from the factory settings. Benchmarking, on  AMD Phenom II Dual Core X2 550 Black Edition
the other hand, is an assessment test to measure the processor (unlocked to Phenom II Quad Core X4 B50),
capacity of the hardware at your disposal. with 45nm fabrication and socket AM3
 Jetway Ha07 790GX AM2+ motherboard
Some of you must be mulling over what Linux has to  Transcend DDR2 800 MHz 4GB kit @ 5-5-5-15/dual
do with overclocking? Well, yes, the operating system has channel
very little to do with overclocking. But when you pump  Western Digital 640AAKS Blue Edition hard disk drive
up the speed of your system, then various things need to  Prolimatech Megahalems + Scythe Sflex 120mm 75cfm
be considered. The operating system chips in by offering fan (CPU heat sink and fan)
various monitoring tools and other requisites.  Corsair VX450 SMPS | open air system
Note that this tutorial will only guide you with the  Operating systems: Ubuntu 9.04 64-bit and Mandriva
basics of overclocking. Since it's a very vast topic, and 2009.1 32-bit
the overclocking options vary from motherboard to
motherboard and the BIOSs they come with, more details Benchmarking your PC
are out of scope of this article. Before we get started, we should know about the types of
benchmarking. There are many benchmarking applications
Statutory warning: Overclocking is fun to begin and methods to test the system. These are generally
with, but reckless decisions can bring your whole segregated into the following two categories:
system down. The author and the publisher will not be 1. Real-world benchmarking: All benchmarking of real
responsible for any damage caused, and what's worse is tests such as FPS ( frames per second) in games, the time
that afterwards, you will not be covered by the product to compile software/the kernel, the encoding/decoding
warranty either. So, you'll need to remember one thing— time of media files, etc, fall under this category. This is
slow and steady wins the race. perhaps a more practical way to judge a PC's calibre.
The only precautionary measure is not to take Most benchmarking software don't cater to real-world
hasty decisions—stay calm, and nothing will go wrong. benchmarking; thus, these tests are done by using the
The fact is, overclocking is highly addictive, so beware computer on a daily basis.
and don't let your excitement overtake you. Because 2. Synthetic benchmarking: All software and tests
once you get overexcited, you will surely end up doing designed to appraise the system potential are termed
something wrong. as synthetic benchmarking software. These are good
to obtain quick results, and one doesn't need to waste
much time running tests, one by one. However, some
Now that we're done with the warnings and introductory of the software tends to favour certain brands and
notes, let’s move on. Overclocking requires a few tools and products. For example, the Super PI test favours Intel
utilities as well. But for what, you may ask? As I mentioned processors while the AES benchmarking favours AMD
earlier, overclocking needs to be done through the BIOS. Yes, processors. Thus, these are not always the premier
the best and rudimentary way to overclock is from BIOS. solution to judge a PC's potential.
However, once you have overclocked the system, there are
several factors that need to be dealt with. Hardinfo
The most important is the temperature. Temperature Sleuth tools let you obtain crucial information about
plays a vital role in the life of silicon. All the diodes/chips/ your hardware. These tools not only provide valuable
processors are made using silicon, so the temperature must information but also prove to be viable alternatives to digital
be kept under control. We will get to know more about it multimeters and power calculators. Unfortunately, there
later. But before that we need some software to monitor aren't many alternatives available on the Linux platform,
certain things for us. and this is where Hardinfo chips in to provide the perfect

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  55


Open Gurus  |  Overview ___________________________________________________________________________________________________

Figure 1: Hardinfo Benchmark Figure 2: Hardinfo Default Looks

blend between a hardware listing and a your system’s potential with others. and without these tools one cannot
decent benchmarking tool. I advise you to sync the system with make proper judgements while
Hardinfo [http://hardinfo.berlios. the online service, once. This not only overclocking.
de/HomePage] delivers precise details increases the size of the hardware
about the hardware installed and the database, but is beneficial for others as The Phoronix Test Suite
connected devices atop an easy-to- well. Hardinfo also provides a Report Phoronix Media, one of the most
use GUI. The website claims that the Generator. This handy plug-in allows popular and reliable sources for Linux
tool “…can gather information about you to generate system information news and reviews, presented the
your system's hardware and operating along with benchmarking results, first benchmarking test suite—the
system, perform benchmarks, and either in HTML or plain test format. Phoronix Test Suite (PTS). Phoronix
generate printable reports either in This information about the system regularly publishes hardware/Linux
HTML or in plain text formats.” will provide a verbose report covering benchmarking reviews using PTS,
The app's interface is segregated the X server, the Linux distribution, which throw some light on what PTS
into two columns. The left column hot-swappable devices, network is capable of doing. Initially restricted
serves as the navigation bar that information and lots more. It even to the CLI, PTS goes through massive
consists of a plethora of hardware displays the temperature using the transitions from release to release.
categories, which are further divided system diode; however, I found that It has now jumped onto the GUI
into relevant entries. The section on to be faulty—my motherboard LED bandwagon, loaded with an easy-
the right side is the overview panel indicator displayed a significantly to-use GUI. It comes with support
that displays some information lower temperature than that of for almost all distributions and is
about the entries you select from the Hardinfo. available in the repositories of many
navigation panel. When you select Nevertheless, there are still many distributions.
an entry, a new panel is created to things missing from the elusive I'd say Phoronix takes
show detailed information about the Hardinfo. Shortcomings include the benchmarking to a whole new
selected item. missing voltage meter, dynamic speed level, being the only one of its kind
Apart from its hardware listing reader, and many more. A dearth that provides users the option of
capabilities, Hardinfo provides a of these components is surely a big ‘live benchmarking’ (thanks to the
handful of benchmarking tests to setback for any hardware listing tool, availability of an Ubuntu-based live
put your system through rigorous
exercises. The default installation
doesn't come with much data on the
benchmarking front to compare your
system with other hardware. However,
you can easily sync with the online
database (click Information→Network
Updater). Updating the database adds
the data of the computers that have
been tested.
Sharing data online and then
syncing the software is really a great
Figure 3: PTS System Overview
idea and lets you easily compare

56  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


__________________________________________________________________________________________________ Overview  |  Open Gurus

DVD). So all you need is a system with a DVD drive to enjoy with a CLI offering. Nonetheless, the application offers a
the test suite. complete benchmarking solution capable of wrenching the
Installing it is very easy and you can do so by using most out of your CPU and memory.
your system repositories or the executables provided at The Linux version is an easy to execute binary file that
the project website. PTS actually acts as a wrapper for runs from the terminal. After executing it, the benchmarking
many open source/proprietary software that are available will commence and automatically complete all the tests.
off-the-shelf. In the end, it will ask you to submit the data, online. If you
By default, PTS doesn't come with a single benchmarking have a working Internet connection, you can easily submit
utility installed; rather, it provides an option to install them the data and add it to your profile (if you have an account).
the way you want. In order to get the most out of PTS, you Pretty nifty indeed!
have to install the tests, one by one. Some tests are as huge The online score browser displays scores in coloured
as 700 MB, and thus installation can be a bother. It would charts—this is where you can compare your scores as well.
be much better if Phoronix additionally allowed users to Unlike other benchmarking software, this one gives an
install multiple tests in a single click, with options like ‘Tests overall score to the system providing a rough idea of what
for Processors’, ‘Tests for the GPU’, and so on. The pack the system is capable of.
must consist of a handful of relevant tests that fall under the Compared to the other two benchmarking utilities
particular category the user is interested in. mentioned, Geekbench is not an open source application,
Phoronix allows users to easily upload their results to although the developers have open sourced the detection
Phoronix Global. This is a portal where you can view your engine (geekinfo) under the MIT licence. The detection
results (the same way you view them offline), and from engine seems to be flaky—it fails to detect my motherboard
where you can make comparisons with others. In fact, the manufacturer and model. Apart from that, it failed to even
application itself prompts you to compare the result with detect the operating system used. It only showed the kernel
the tests that Phoronix developers have uploaded. A very under use instead of the distro. Since Geekbench developers
nice approach that does away with the hassle of searching want you to buy the software, they have restricted the
for the test results to compare with your outcome. availability of the 64-bit executable.
Phoronix also provides a small system ‘overviewer’ that One of the biggest drawbacks was the overall
keeps you informed about hardware, software and sensors. inconsistency in scores. I tested Geekbench in all the
Things are very neatly arranged in their proper categories. It supported OSs, namely OSX, Windows and several
even allows you to copy all the data to clipboards and then distributions, keeping the hardware intact across every
share them easily. However, in my case, it failed to detect the OS. Initially developed for Mac OS, Geekbench still favours
IGP (on-board graphics) speed. The system memory usage that OS by delivering the highest scores on it. The claims of
data was displayed incorrectly as well. providing an OS-neutral benchmarking engine seem hollow,
The downside of PTS is that there is no notification and the statements are contradictory to the scores.
whatsoever while installing and running tests. Once you
initiate the process, the PTS window will vanish and the Benefits of benchmarking
user has no idea of what's happening in the background. Many of you must be muttering about all this information
Even though it was mentioned that support with Ubuntu on benchmarking. Why waste resources? Why go through
notification has been added, it didn’t work in Ubuntu 9.04 such trouble and waste time just for a few numbers? Well,
64-bit. Instead, a simple status message on the PTS window because benchmarking is the easiest way to gauge your
should have sufficed. system. Today, all system components—be it the CPU,
memory, hard drive, graphics adapters, power supply, etc—are
Geekbench thoroughly benchmarked and tested, and then, accordingly,
Geekbench is another efficient benchmarking software for manufacturers rank them by price and performance.
Linux. Despite claiming to be cross-platform software, it Benchmarking creates a sense of judgement among
only provides a GUI for Windows and Mac, leaving Linux users. It keeps you updated about the potential of

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  57


Open Gurus  |  Overview ___________________________________________________________________________________________________

Jargon Buster
 Clock speed: This is the speed at which your processor  Integrated memory controller: This determines the
runs under factory settings, and is calculated in Gigahertz speed, type, channel and the amount of memory that can be
(GHz) or Megahertz (MHz). The clock speed is generally installed in the system. With new processors, the memory
obtained from the product of FSB/HTT/BCLK and CPU controller is now merged into the processor. As a result,
multiplier. Note that whether it’s FSB, HTT or BCLK depends you don't have to change the processor in order to utilise
on the type of processor you own. newer and faster memory, if supported. For example, the
new 45nm Phenom II from AMD comes with a dual memory
 FSB (Front Side Bus): This acts as a main bus speed
controller allowing you to use either DDR2 or DDR3. So you
for the processor, RAM, northbridge and southbridge. The
can put the processor in an AM2+ board and use DDR2, or
FSB lies in the motherboard and has a memory controller
in an AM3 board to use DDR3. This gives a wide spectrum
alongside it.
of options to users either to opt for the high-performance
 HTT (Hyper Transport Technology): This is the new DDR3 or the value for money DDR2. As a result of multi-
generation of FSBs that are used by AMD processors. HTT channel memory, motherboard manufacturers release
is nothing but the FSB, excluding a memory controller. In hybrid boards with both DDR2 and DDR3 slots. So all you
AMD processors, the memory controller lies inside the need to do is buy one board and RAM of your choice. If,
processor, and that provides more flexibility throughout; as in future, you want to make the transition from DDR2 to
a result, AMD processors support multiple memory types. DDR3, then you don't have to buy a new motherboard.
For example, Phenom II, Athlon II and Sempron 140 (i.e., This contrasts with processors like Intel Core2Duo or the
the 45nm series of AMD processors) have multiple memory Pentium series, which had the memory controller on board.
controllers within, allowing them to use either DDR2 or Thus, in order to get a higher performance RAM, you need
DDR3 at a time. to change the motherboard, which adds to costs.
 BCLK (Base Clock): This is a refined FSB that has been  CPU core voltage (VCORE): In order to gain a stable
developed for Intel processors and debuted with the Core clock speed (which works 24x7 under a full load, without
i7 series of processors. The BCLK is nothing but AMD's any problem) we need to increase the voltage applied to
HTT. The processor comes with the memory controller. the processor. By applying more voltage, we give more
Previously, all Intel processors— Pentium, Core2Duo, or power to operate. More power generates more heat, and
Core2Quad—had the FSB, which limited their memory thus we must opt for a good after-market CPU cooler if you
handling capabilities. With Core i7, Intel has now a memory are aiming for higher clocks.
controller merged within the CPU itself and with triple
 Memory speed: Once you overclock your system by
channel support providing humongous bandwidth.
tinkering with the FSB, HTT, or BCLK, you substantially
 CPU multiplier: As mentioned earlier, this value when overclock other components as well. All the other
multiplied with the FSB/HTT/BCLK, gives the processor's components like memory, northbridge and southbridge,
clock speed. And since the Special Edition processors thrive on FSB, HTT or BCLK for their own clock speeds.
have the multiplier unlocked, they allow processor So once you change the relevant BUS, you overclock the
overclocking. Thus, you don't have to tinker with the whole system. Memory is affected as well. Memory speed
FSB/HTT/BCLK if you have a Special Edition processor. is determined by the product of FSB/HTT/BCLK and the
However, you are even free to take the FSB/HTT/BCLK memory multiplier. Note that just like the CPU multiplier,
route if you want. memory too has its own multiplier.

your hardware. You can check Almost all the hardware a component's life span and
benchmarking journals to keep components can be overclocked. This performance, while decreasing
yourself updated with all the reviews is due to the fact that most of the the heat dissipation. Dust traps
of the new hardware flowing into the components are interlinked and work the heat and does not allow it
market. Whatever said and done, it is a in synchronisation. Since this requires to dissipate properly. It is very
perfect option to test your hardware. tweaking the system above the factory important to keep the dust away.
settings, it means increasing the power So, open the cabinet and clean all
Amplify speed by consumption, heat dissipation and components. Cleaning reduces
overclocking hardware many other factors. So before we get noise, components run cool and
Overclocking is like losing weight— started, here are the mandatory things hence their performance increases,
the initial results come very fast, that need to be dealt with: significantly increasing headroom
but the last pounds (read MHz) take 1. Exterminating dust: for overclocking. Make sure you are
some real effort. Accumulation of dust decreases properly grounded, else the static

58  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


__________________________________________________________________________________________________ Overview  |  Open Gurus

electricity from your body can


After-market heat sinks
damage the hardware components.
2. Airflow: Airflow plays a vital part Most hardware components suffer from the repercussions of overheating and
in overclocking. A good airflow can other thermal catastrophes because of heat generation. Therefore we use heat
decrease temperature drastically sinks which helps in absorbing heat and keep the temperature from rising above
while bad/misaligned airflow safe levels.
can be fatal. Cabinets now come
with at least two fans—one intake To attain a higher CPU clock speed with well-controlled temperature, many
( front) and one exhaust (back). companies offer after-market coolers. Most of the manufacturers allow high
Usually, 120mm fans are preferred. scalability by providing compatibility across all sockets of AMD and Intel.
Airflow is generally measured in Therefore, even if you change the platform in future, you can continue to use
CFM (cubic feet/metre). The more the cooler, if compatible, or can increase the compatibility by spending on the
the CFM, the better the fan and mounting kit, if provided. Some of the top brands in the market are Thermalright,
its airflow. Few of the good brands Prolimatech, Scythe, Artic Cooler, Coolermaster, etc.
are Scythe, Silverstone, Xigmatek, If you intend to buy a cooler, then here is the list of some coolers that you can
Antec, etc. get for varying budgets:
3. Thermal compounds: Also
known as thermal pastes, thermal  Rs 1000-1,400: OCZ Vanquishes 120mm (comes with fan installed)
compounds are an important  Rs 1,500-2,000: Thermalright Ultima 90 (doesn't include a fan) | Coolermast
factor in cooling CPUs and GPUs. Hyper TX2 Super (comes with fan)
They transfer heat to the heat
 Rs 2,000-2,500: Sunbeam Core Contact Freezer 120mm | OCZ Vendatta 2
sink. A good thermal compound
(both include a fan)
can reduce temperatures by
2-5 degrees Celsius. Some of the  Rs 3,000 and above: Thermalright Ultra Extreme 120mm | Prolimatech
known brands are Arctic Cooling, Megahalems (both don't come with a fan)
Tuniq, etc.
4. Cable management: Messy
cables inside the PC can hinder overclocking software for them. pocket and a dual core is available for
airflow, thus increasing the CPU overclocking varies from under Rs 6000. On the other hand, you
temperature. Cables hovering over processor to processor. Intel and AMD will have to spend around Rs 50,000 for
the components can suffocate follow different approaches towards Intel's Extreme Editions. Yes, that's half
them resulting in their failure. overclocking. To make things a little a lakh for only a processor.
So it’s better to tie them, keeping more complicated, CPU manufacturers Take a look at the box to become
them aside and away from the opt for new terminology, which is often familiar with some of the jargon used
components' blowing/intake vents. nothing more than a gimmick. Things in relation to CPUs.
You can use el cheapo cable ties to are not as different as they seem. So once you have gained
get the best results. If you want a There are generally multiple some knowledge about the basic
permanent solution, cable covers ways to overclock—manufacturers terminology used while overclocking,
and management kits are available provide many options to boost speed. it’s time to overclock the system.
off-the-shelf. Generally, there are two types of Generally, the preferred way to
processors available in the market: one overclock the system is by tweaking
Warning: Although this guide with the locked multiplier (refer to the the BIOS settings. Refer to your
encourages you to experiment with sidebox titled “Jargon buster”) and the motherboard manual for precise
overclocking, I highly condemn other is with an unlocked multiplier. information—different motherboard
the practice with laptops and Processors with unlocked multipliers manufacturers have different BIOS
desktops loaded with Pentium 4 fall into a special category and are menu structures.
(any generation) or Pentium D. often termed as ‘Special Editions’. Intel We will start by disabling some
These components usually run very uses the term Extreme Edition and energy efficient technologies that
hot and overclocking can result in AMD's offerings are known as Black chip giants have actuated in the chips
system fiasco. Editions. themselves. Here is the list of options
Both these special edition that need to be disabled:
As I’ve mentioned earlier, processors are cherry-picked, and have  AMD Cool n' Quiet: This is a
overclocking is a vast topic, but in the best die and unlocked multipliers power-saving technology that
this article, we will only focus on in them. As usual, they come with a lowers the CPU clock speed and
CPU overclocking and not consider premium in price. Thankfully, AMD's voltage when the processor is
GPUs due to the dearth of mature Black Edition won't burn a hole in your idle. This keeps the CPU from

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  59


Open Gurus  |  Overview ___________________________________________________________________________________________________

System buying guide heating up uselessly and reduces


the electricity consumption. In the
Here is a list of systems with fairly decent overclocking headroom: course of overclocking, we will be
disabling CnQ if you have an AMD
Budget System, around Rs 15,000 processor.
 AMD C1E: AMD C1E is a power
 AMD Athlon II X2 250..........................................................................Rs 4,000 management feature that suspends
 Biostar A785GW – (ATI HD4200 Integrated Graphics)...........................Rs 3,200 the system once it is idle.
 Transcend 2GB DDR2 800 MHz RAM...................................................Rs 1,200  Intel SpeedStep: Intel SpeedStep
 Western Digital 320 GB Sata2 Hard Disk.............................................Rs 2,200 is similar to AMD CnQ. Likewise,
it reduces the system’s power
 Samsung/LG DVD Writer......................................................................Rs 1,200
consumption by lowering the
 Gigabyte Superb 460W SMPS.............................................................Rs 2,200 processor speed, when not in use.
 Zebronics Bijli.....................................................................................Rs 1,200 Once you have disabled all
 OCZ Vanquishes AMD Edition (Optional)...............................................Rs 1,200 the energy efficient techniques,
Total........................................................................................ Rs 16,400 it's time to start our business.
Overclocking generally depends
on the motherboard's capacity
Mid End System, around Rs 20,000-27,000
and capabilities; the better the
 AMD Phenom II X2 550 Black Edition..................................................Rs 4,900 motherboard, the better the processor
 Biostar T790GXBE...............................................................................Rs 4,400 will overclock. Of course, you need a
capable processor, nonetheless.
 4GB Gskill PI Black DDR2 800 MHz RAM.............................................Rs 3,400
To begin with, head on to the
 Western Digital 1TB Green Hard Disk...................................................Rs 4,200 overclocking section of your BIOS
 Samsung/LG/Lite On DVD Writer..........................................................Rs 1,200 (refer to the BIOS manual to locate
 Corsair CX400 | Seasonics 380W SMPS..............................................Rs 3,200 this) and increase the FSB/HTT/BCLK
 Antec 300 Cabinet...............................................................................Rs 3,400 by 2-5. If you have a special edition
 Thermalright Ultima 90.......................................................................Rs 1,900 processor, then increase the multiplier
by 1 from the default and save it.
 Scythe Sflex 65cfm 120mm fan.............................................................Rs 500
Return to Linux, and run the stress-
Total:....................................................................................... Rs 27,100 testing program (we will learn about
this later). If you have no errors or
Mid End System Alternatives system performance issues, it means
you have attained a stable overclock.
 AMD Athlon II X4 620 Quad Core...................................Rs 5,500
Slowly and steadily, increase the value
 Coolermaster CM590 Cabinet.......................................Rs 3,800 until you get to the point where the
 ATI HD4850 | nvidia GTS 250 (512MB) VGA adapter.....Rs 7,000 system stops responding. Kindly note,
we have not yet increased the voltage
Mid-High End AMD System of the system.
Once you have reached the limit,
 AMD Phenom II X4 955 Black Edition................................................Rs 11,000 it’s time to increase the voltage. A
 MSI GDFX-70......................................................................................Rs 9,500 word of caution: Do not escalate the
 OCZ AMD Black Edition Memory 4GB DDR3 1333 MHz RAM............. ~Rs 6,000 voltage value or you might end up with
 Western Digital 1TB Black Edition Hard drive.......................................Rs 5,400 a fried CPU! Start by increasing from
 nvidia GTX 260.................................................................~Rs 10,000-11,000 0.05V and then continue increasing
the BUS speed/multiplier till you get
 Samsung/LG/Lite On DVD Writer..........................................................Rs 1,200
the maximum stable speed. Note: do
 Corsair TX650 | HX620 (modular) SMPS....................... ~Rs 6,500 | ~Rs 8,000 not increase the voltage if you're using
 Lancool PCK62 Cabinet.......................................................................Rs 7,000 the factory shipped heat sink to cool
 Thermalright Ultra Extreme Black........................................................Rs 3,400 the processor. Those cooling solutions
 Sycthe Sflex 75Cfm 120mm...................................................................Rs 500 are barely enough to cool the factory-
shipped system, and increasing voltage
Total:....................................................................................... Rs 60,500
on the default cooler might result in
Continued on next page… a dead processor. See the box titled
‘After-market heat sinks’ to get an idea

60  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


__________________________________________________________________________________________________ Overview  |  Open Gurus

of the range of coolers that you might


consider. Continued from previous page… System buying guide
For a 65nm/45nm processor, you
should aim for at least a 300-400 MHz Mid-High End Intel System
stable overclock on stock cooling,
while people with good cooling should  Intel Core i5 750 (LGA 1156).............................................................Rs 11,000
aim for 600 MHz or even 1GHz.  Gigabyte P55 UD3R...........................................................................Rs 13,000
Once you have attained a stable  Corsair XMS3 4GB DDR3 1333 MHz RAM......................................... ~Rs 6,500
clock, keep it running 24x7 and  Western Digital 1TB Black Edition Hard drive.......................................Rs 5,400
notice the temperature while stress-  nvidia GTX 260.................................................................~Rs 10,000-11,000
testing; make sure it doesn't cross the
 Samsung/LG/Lite On DVD Writer..........................................................Rs 1,200
maximum temperature allotted by the
CPU manufacturer.  Corsair TX650 | HX620 (modular) SMPS........................ ~Rs 6,500 | ~Rs 8,000
 Lancool PCK62 Cabinet.......................................................................Rs 7,000
Stress testing/Prime95  Prolimatech Megahalem + LGA1156 Mounting Bracket.................... ~Rs 4,200
Prime95 is the only efficient stress-  Scythe Sflex 75cfm 120mm...................................................................Rs 500
testing program available for Linux, Total: (with HX620 SMPS)........................................... Rs 65,300 | Rs 66,800
although the Linux version doesn't
have a GUI. This test stresses the
components and thus reveals any Mid-High End Alternatives
frailty. A stress-testing program  ATI Radeon HD4890................................................. ~Rs 10,000
stresses the CPU by upping the load
 AMD – AMD Phenom II X4 965 Black Edition...............Rs 13,000
to 100 per cent of the CPU cores. The
processor will thus be overworked  Intel – Intel Core i7 860................................. Rs 14,000-15,000
and the temperature will rise. If
the overclock attained is unstable, High End System
the system might restart or stop
 Intel Core i7 920 (LGA1366)..............................................................Rs 15,000
responding while stress testing. This is
a great way to check the stability of the  Gigabyte EAX58 UD5p.......................................................................Rs 18,000
system after overclocking.  Corsair XMS3 6GB DDR3 1333 Triple Channel RAM.............................Rs 9,000
 Western Digital 1Tb Black Edition Hard Drive x2................................Rs 11,000
Factors that affect overclocking  ATI HD5850.......................................................................................Rs 17,000
Even if you are well versed with the  Samsung/LG/Lite On DVD Writer..........................................................Rs 1,200
overclocking techniques, there is no
 Corsair TX750W SMPS........................................................................Rs 9,000
guarantee that you will get the same
results. Overclocking depends and  Lian Li A71F Cabinet.........................................................................Rs 16,000
varies with situations and the types of  Prolimatech Megahalem................................................................... ~Rs 3,500
hardware components you use. So, I’d  Scythe Sflex 75cfm 120mm ..................................................................Rs 500
recommend extensive research before Total:..................................................................................... Rs 100,200
buying any of these components.
Let’s take a quick look at what Note: All prices mentioned are courtesy deltapage.com, theitwares.com and primeabgb.com. The prices are
we should focus on before buying quoted in INR and would vary depending on dealer discounts and product availability.
our hardware. Note that the dealers,
most of the time, are uninformed
and often have vested interests when there are no overclocking software Nonetheless, the benchmarking
they promote a product. So, do your for CPUs, while there are a bunch of scenario is improving and will
homework on hardware peripherals overclocking utilities for GPUs. The continue to do so since there is a
before you buy them. NVIDIA Control Panel does allow sudden shift towards Linux. Stay
you to increase the memory and core tuned. 
Conclusion speeds, while the AMD Overdrive is
The benchmarking scenario is stagnating with no GUI on top. The
slowly and steadily improving in lack of proper voltage and temperature By: Shashwat Pant
Linux. However, the clear lack of measuring utilities is getting to be a sore The author is a FOSS enthusiast
interested in QT programming and
software potpourri does hurt. None point. Even with LM_Sensors and many
technology. He is fond of reviewing the
of the programs tested provide an other sensors, temperature monitoring latest OSS tools and distros.
unblemished experience. For starters, isn't as precise as it should be.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  61


Open Gurus  |  How To _______________________________________________________________________________________________

ur Own
ake Yo

Medi
M
a Centre
...in Under Rs 30,000
Sounds too good to be true? Read on to find out how to make your LCD/plasma
TV so much more interesting that you’ll forget you have a job.

H
ave a large screen TV? I’m TV and Blu-rays! Listen to MP3s, watch all
talking about full HD LCD or those XviD movies, see pictures on the TV
plasma models. If you do, you’ll instead of on the computer or the crammed
see that TV broadcasts all over LCD of the camera, get weather info,
India (even in DTH services) are broadcast synopses of the movie that you are watching,
only in 720p (excepting some HD broadcasts IMDB ratings, cover art...
on Reliance BIG TV and Sun Direct). What It looks like this dream is set to become
a waste! And so, with only Blu-ray delivering a reality!
true HD content, it looks like all those 1080p
pixels are going to waste. The hardware
But wait! What if you replace your Blu-ray I presume you already have a HDTV that
player with a computer and a HDTV tuner can connect via HDMI. It would also be an
card? Suddenly, things become interesting. added bonus if you have a 7.1 or at least a 5.1
Imagine all the things that you can do with speaker system.
it. Play games at very high resolutions! Watch Okay! Time to list out some hardware:

62  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________ How To  |  Open Gurus

 AMD Athelon II X2 240, 2.8GHz


 GIGABYTE GA-MA785GT-UD3H motherboard
(AMD 785G chipset)
 Transcend JetRAM DDR3-1333 2GBx1
 Nvidia GeForce 9400GT 1GB (more on this, later)
 Western Digital Caviar 7200RPM 1TB SATA hard drive
 Lite-On iHES208 Blu-ray Reader/DVD writer
This entire thing should cost you around Rs 21,000.
The Blu-ray drive costs Rs 8,200, but is a pain to procure
in India. If you can’t find it, Sony has one that costs Rs
16,000 (just double Lite-On’s price). I went with Nvidia’s
9400GT (the 1GB model) because at this moment, Linux Figure 1: XBMC Home Screen
support for AMD/ATI’s Avivo HD is a bit unpredictable,
whereas Nvidia’s VDPAU works like a charm. On the
other hand, if you plan to dual boot Windows and play
Crysis at 1080p, you’ll need to put in a 1GB ATI Radeon
HD4870, which is a heat factory and costs Rs 14,000.
The next part of the shopping list includes the
materials for our TV and remote controls: Hauppage
WinTV-HVR-1800 D/A HD TV tuner card (it’s a bit on
the higher end).
It’s difficult to recommend a specific remote
to control your computer with, as remote control
availability matters. If all else fails, you can get an IR
receiver and use your Tata Sky remote rather creatively, Figure 2: Playing an HD movie in XBMC
training LIRC manually to recognise your remote. Why
do you need a remote? When you are using your media them according to your convenience.
centre app, you wouldn’t exactly like using a mouse and The two PCIe x16 slots are meant for CrossFireX,
a keyboard from your couch... but single Nvidia cards do not have any problem on an
The TV tuner is an analogue/digital HDTV tuner, AMD chipset. You won’t be able to SLI, however. On
which can receive signals from normal coaxial cable the upside, you have a free PCIe x16 slot that can be
connections (analogue) or your set-top box as well used by all PCIe cards.
(digital). Additionally, it has an FM tuner. Enjoy... You’ll need Internet connectivity on this machine. But
You’ll need a keyboard and mouse as well—try due to the lack of a normal UI (GNOME, KDE, etc) you
laying your hands on the Microsoft Wireless Desktop won’t be able to connect manually through PPPoE, dial-
Combo 800, because at Rs 1400, a wireless mouse and up or even through a browser. Your connection needs to
keyboard with a 10 metre range is a steal. be ‘always-on’.
As for a case, naturally, since it’s going to lie in
front of your living room TV, you’ll want something A little theory
pretty; preferably lying down, rather than a tower Okay, here goes. Have you heard of 10-foot interfaces?
case. However, please don’t go overboard, because These are user interfaces that have been designed with
the Nvidia card needs a bit of cooling, as does AMD’s large elements that can be comfortably used by people
processors. You may want a third-party SMPS as sitting up to 10 feet away from the screen. 10-foot
well—a Corsair VX450 will cost you around Rs 4,100. interfaces are almost exclusively used by media
This ensures better stability. centre apps.
And what are media centre apps? Technically, they
Pepping the rig provide a homogeneous 10-foot interface that represents
It’s a little difficult to find a Nvidia GeForce 9400GT a uniform way to access all the digital media in the
with HDMI output. Luckily, the DVI connector on the computer, either in hard disks or any removable media.
card is HDCP compliant and thus a DVI-to-HDMI cable One of the best media centre apps in Linux is the XBox
can be used to connect your TV to the card. The digital Media Center, or XBMC. A review has been published in
signal used in DVI and HDMI is the same, so there is no LFY recently, and this article puts it to good use.
impact on the quality. However, you won’t get any sound Technically, your plasma (or LCD) screen is just a
on the TV, so you’ll need to mute it. monitor as far your PC is concerned. To be able to run
The motherboard has all the audio you can ask for: A XBMC, your TV must support either 720p, 1080p or
2-channel front panel and a 7.1-channel rear panel. Use any standard VGA resolution. Support for interlaced

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  63


Open Gurus  |  How To _ ____________________________________________________________________________________________________

You’ll need up to 60GB of /tmp space because in case


your Blu-rays are encrypted, the entire disk has to be
decrypted and copied over until you can watch it.
Once Ubuntu is installed, install the Nvidia drivers by
typing the following command in a terminal:

sudo apt-get install nvidia-glx-180 nvidia-settings

After that, enable the drivers from System→


Administration→Hardware Drivers, and reboot the
system. You should now get the maximum resolution
that your TV supports (hopefully 1080p). Bingo! The first
Figure 3: Commercial Break Tagging on MythBox
segment of the project is complete.
Now install all the multimedia codecs by typing in the
following:

sudo apt-get install gstreamer0.10-{lame, ffmpeg, fluendo-mp3} \


gstreamer0.10-plugins-{bad, ugly}

That will pull in all native back-ends as well as the


FFMPEG back-end (which enables use of libavcodec), so
you can now play all media formats without exception.
Update all the software by running the following code.

sudo apt-get update && sudo apt-get upgrade


Figure 4: MythBox’s Watch TV Interface
It’s time for XBMC. Go to System→Administration→
resolutions (720i and 1080i) is rather flaky at the moment. Software Sources. Switch to the Third-Party Software tab
One last hurdle is that if you have a DTH service, and press Add. Type in:
chances are your set-top box connects to your TV
through component (Y/Pb/Pr) cables (3-plug adapters). deb http://ppa.launchpad.net/team-xbmc/jaunty-ppa/ubuntu jaunty main
Even if your TV tuner card supports this type of input,
support on Linux is flaky, or even non-existent in some You’ll get a warning saying, “Since GPG keys were not
cases. Also, since there is no way to change channels found the packages downloaded from this repo cannot be
using the computer—it must be done on the STB— verified.” I don’t really care about this so I don’t add GPG
you’ll have trouble doing scheduled recordings. So I’d keys; however, if you so wish, the details are at their PPA
recommend connecting the STB separately — directly page.
to the TV (keep the STB on A/V, while the computer is Now press Alt+F2 and type in “apt:xbmc” at the box.
on HDMI). Get a cup of coffee while XBMC gets downloaded and
installed.
Setting up the mammoth Great! XBMC is now installed. Go to Application→
First of all, you might try christening this media centre. Sound & Video→XBMC Media Center and watch it start
XBMC 9.04.1 is codenamed Babylon, so you could try up.
christening the PC Mesopotamia ;-) Anyway, once you The first time might be a rather disappointing start,
have set up the hardware, start up the PC and install since XBMC is running windowed. Go to Settings ->
Ubuntu 9.04 on it. It doesn’t matter whether you are using Appearance and then Screen, and change the resolution to
32- or 64-bit, but 64-bit should give better performance. your screen’s resolution—either 720p or 1080p. That’ll take
Something you might try doing is keeping three care of things. If it doesn’t, exit XBMC, press Alt+F2 and
separate partitions and mounting them under / run “xbmc -fs”. That should sort out the problem.
XBMCVideos, /XBMCMusic and /XBMCPictures, and The next thing to do is browse to Music, Pictures and
then dumping your movies, songs and pictures into them, Videos, and add the sources that were discussed earlier.
respectively. It keeps the stuff in one place, and that helps Now, once you copy your media to these folders, you will
in organisation. Remember you won’t be able to browse be able to browse to them from the interface.
for files on these machines, you will only be able to see That’s almost all. There’re some small details left.
your media repositories ( folders that you designate) and Setting up LIRC is left to the user, however, as remote
removable drives. settings are unique for every model.

64  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________ How To  |  Open Gurus

The idiot box sudo apt-get install ffmpeg python-mysqldb


Time for the telly. This will only work if you have a
normal analogue cable connection, not if you have DTH. Then, head to http://code.google.com/p/mythbox and
Anyway, let’s go... download the latest tarball. Extract it into $HOME/.xbmc/
First of all, install the essential build packages: scripts, like:

sudo apt-get install build-essentials linux-headers cd ~/.xbmc/scripts


tar -xvzf /path/to/mythbox-svn-1260.tar.gz
Now, download the tuner drivers from http://linuxtv.
org/repo/, and extract the tarball somewhere. Get into the Start up XBMC again (use Alt+F2, then run xbmc
directory from a terminal and issue the following code: -fs; you need to be in full screen). Now go to Scripts→
MythBox. You’ll be sent into a Settings screen. Fill in your
make settings — mostly database settings—and if you just
sudo make install can’t get MythBox to authenticate, use ‘root’ as the user
name and the root password (the MySQL root password
Notice that there is no configure step here. that you supplied when you were setting up MythTV).
Now, download the card firmware from http:// Now go to Test Settings. If Settings OK comes up, exit the
steventoth.net/linux/hvr1800/. Download at least the zip settings screen (Press Esc), and enjoy Live TV. You can even
file and the extraction shell script, and run the script. Two schedule recordings. To get into MythBox, go to Scripts→
.fw files should be extracted. Copy these to /lib/firmware. MythBox. Now instead of going to the settings screen, you
Now reboot the machine to achieve a clean state, and will be taken to the TV console. Enjoy!
then run the following code:
Final touches
sudo modprobe {cx23885, tuner} Finally, it’s time to get it all started silently. First of all, go
to System→Administration→Login Window. Type in your
If this stage goes well (you should investigate the password, and then go to the Security tab. Here, enable
dmesg output), the tuner now officially works under Linux. auto-login, and select the appropriate user to log in as.
The next step is installing MythTV and integrating it with This should ensure that you do not have to type in your
XBMC, so you can use your XBMC interface to watch and credentials to start using the media centre.
record live TV. The next thing to do is make XBMC start up
Type the following command to download and install automatically. Go to System→Preferences→Startup
MythTV: Applications. Hit Add. Type in anything in the Name
field. Type in xbmc -fs in the command field. Click Add,
sudo apt-get install mythtv and then Close.
Now reboot your media centre. Voila, it boots straight
First, MythTV needs to be configured. No instructions, into XBMC!
sorry! There’re too many variables to be considered here.
The device node for your TV tuner card is /dev/video0. Anything else?
To watch TV, you need to manually scan the line for all Sure, why waste such a good piece of hardware? Besides
frequencies that have channels (the frequencies depend running XBMC, which is using up all your GPU power, you
on your local cable company). Then you need to key in can run an Icecast server in the background to stream your
channel numbers and names manually. Getting hold of music over Wi-Fi, or use VLC to stream videos as well.
an EPG (Electronic Program Guide—the stuff that shows This makes good use of the leftover processing power. Yes,
schedules) is also difficult, but you can find some on MSN, with that 1TB hard disk, you can sure store all your H.264
which I’m not sure is MythTV-compatible. You need an movies, music and pictures, and still have some space left,
EPG though—or else Mythbox won’t work. so why not use it as a home server? Innovate, while I try
Use this Web resource to help configure MythTV: out my TV-less XBMC set-up. (Yes, I don’t have a tuner
http://parker1.co.uk/mythtv_ubuntu.php. Although it’s not because I use Tata Sky :-)) 
for India, most of the stuff described in there does apply.
And it’s a long document, mind you. By: Boudhayan Gupta
After you have done all the configuration in MythTV The author is a 15-year-old student studying in Class 9. He
(make sure it works exactly as you intend—you need to be is a logician (as opposed to a magician), a great supporter of
able to watch channels and use the EPG perfectly), it’s time Free Software and loves hacking Linux. Other than that, he is
an experienced programmer in BASIC and can also program in
to hook up MythTV to XBMC, and turn the media centre
C++, Python and Assembly (NASM Syntax).
into a TiVo as well. MythBox screenshots are courtesy: http://code.google.com/p/mythbox/wiki/Screenshots
Execute the following code:

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  65


Developers  |  How To _______________________________________________________________________________________________

nI tr The
oducing
Pardusman
Project
A Google Summer of Code 2009 Entry
Today, almost all of us have tried our hands at building a custom
openSUSE distribution, using the latest SUSE Studio. The
experience of being able to customise a distribution
installer to suit one’s needs is stupendous. However,
have you ever wondered if you could customise
the installers for other distros too? Welcome
to the Pardusman Project!

G oogle Summer of Code (GSoC)


is one of Google's important
programmes that encourages
open source development and
contribution. This event, first held from May
to August 2005, is an annual programme.
Through these few months every year, Google
to us when speaking about our Summer of
Code experience. Every year, Google selects
around 1,000 student developers, from around
the world, assigned to different open source
projects. See code.google.com/soc for more.
This was my second GSoC. In 2008, I
participated in a Fedora project. And in 2009,
awards stipends to hundreds of students who I worked with the Pardus Linux project.
successfully complete free and open source Pardus is a nicely built and user-friendly
coding projects that have been requested for. GNU/Linux distro from Turkey, developed
The programme is open to students aged 18 and maintained by TUBITAK (The National
and above. Scientific and Technological Research
Although it's dubbed the Summer of Council of Turkey). My project was to create
Code, I would say it's more about passion a Web-based ISO image creation tool for
than code. A piece of code is just a written Pardus and I was mentored by Ekin Meroglu,
expression of the passion, anyway. core developer and project administrator,
Being a student developer, it means a lot Pardus Linux Project.

66  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ How To  |  Developers

A background on Pardus
Pardus, as a GNU/Linux distro, is known to be user-
friendly, sleek, simple and spicy with lots of custom
configuration tools written by the Pardus team. The distro
is not based on any of the traditional base distros like
Debian or Red Hat. It's completely written from scratch.
The package management tool is PISI. The distro makes
use of lzma compression for packages and also supports
xdelta-like techniques to make fetching packages for
installation, faster. Pardus has developed its own core
libraries and APIs to develop different applications on the
Pardus platform.
Personally, I have been fascinated by Pardus for the
last two years. Its boot speed is what I found to be the
most impressive. This had prompted me to dig into the
Figure 1: Sign-in
initrd/init boot scripts. I found it interesting that all system
configs and automation scripts (traditionally written in
Bash) have been replaced by Python. Even before Ubuntu's
fastboot technology Upstart came out, Pardus’ init was
much faster.

What's my project about?


We have numerous variants of GNU/Linux (popularly
known as distributions or distros) for different
purposes. When we go for a distro install, we receive a
base system with a standard set of applications bundled
along with them. To make the OS work to our likes and
specs, we need to install another set of packages that
cater to our working domain or interest. Also, it requires
setting up themes, wallpapers, copying our own files to
the home directory, etc.
My project aimed at bringing out a Web-based
distro ‘cooker’. Users should be able to create their own
custom distro builds by providing numerous custom
options ranging from wallpapers to package selections.
By locating the URL of this distro cooker (let's call it Figure 2: Distro type
Pardusman), we could do the following customisation,
using a simple Web interface: are classified as different components according to
1. Home Page their group. For example, the GIMP and Inkscape are
• Sign up for a user account other graphic tools included in the package group
• Sign in to Pardusman 'multimedia-graphics'. By using a drop-down tree
2. Distro type element, we access the packages under a package
• Select the distro type: Live CD or Install CD? If it's group and select the check boxes in order to include
Live, specify the user name, password, and host them. We can even include all packages in a package
name group by checking the group itself. Also, there is a
• Provide a build project name search option available to look for packages. All the
3. Repository: Select the package repository from the packages from the selected Pardus repository will be
Pardus servers, to be used for the build. listed in the packages widget. There is also an option to
4. Languages: Select language support to be included, calculate size—on clicking the Calculate button, you
besides setting the default language. can get the total size for the build.
5. Upload 7. Wallpaper: You can either select the default option
• Upload a RELEASE file (i.e., a text file that appears from the list of wallpapers, or upload your own.
in the root of the CD-ROM that contains some 8. Media Selection: You can select the required image
notes on the build). output. For example, an ISO image, or virtualisation
• Upload the contents of the home directory. images like VMWare, Qemu, Virtualbox, etc.
6. Packages: A package tree widget will appear. Packages Once you have completed the wizard, you can submit

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  67


Developers  |  How To ______________________________________________________________________________________________________

circumstances, the manual way of backing up the code


makes everything complex and difficult. Sometimes this
even leads to loss of data/code. So, it is always advisable
to use some kind of version control system (VCS) to
keep track of code.
Git is one of the best version control systems available.
I decided to go with Git, synced with github.com, where
several FOSS projects are housed. You can pull the latest
copy of Pardusman, using:

$ git clone git://github.com/t3rm1n4l/pardusman.git

Coming back to the UI elements, my next job was


to create the set of Web pages using HTML and CSS. I
scripted each page to complete the Web wizard described
Figure 3: Repository selection earlier. My template was now ready.
However, since the wizard, whose purpose is to collect
data from a user, consists of several pages, it required
transition from page to page. Page-to-page transitions were
in traditional styles and not of Web 2.0 standards. So, I
decided to use div containers, which can dynamically load
HTML content using AJAX. This made the requirement
for refreshing and loading new pages through URLs,
redundant.
JQuery is a rich open source JavaScript library that
helps to implement AJAX methods and calls using its
rich in-built functionalities. I could easily implement the
dynamic loading of pages and simple animation effects,
using JQuery.
Once the templates and basic AJAX loading were
completed, I started off with Django, Python's own
Web framework. Django is a rapid Web application
development platform. It makes it easier to develop
complex Web applications in a short span of time. The
coding with Pardusman progressed very fast.
The database storage in Django is handled using its
Figure 4: Package selection widget
own data model object-oriented structures. Initially, I
wrote the pages for the user account sign up and sign in.
the configuration for distro building. It will be processed by Django was pretty easy to follow and code.
the buildfarm queue underlying in the Pardus server. You I got stuck with coding while creating a complex
can check back after a few hours and look into the 'user package selection widget. A package selection widget
log' page to get the status of the build you have requested, consists of a drop-down of packages with components in
the link for download, the link to the project file and the the top level and check boxes attached to it. It was solved
Pardusman log file. Also, a history of all builds you have with JQuery hacks. Thanks to the #jquery IRC channel of
ever made. irc.freenode.net for helping me out.
There will be more than one package repository, like
Getting started pardus-2008 and pardus-2009. By selecting any one of
I started my work with UI (user interface) design. I worked them, we can build either a Pardus 2009 or a Pardus
out the basic pages and their structure. Then I designed 2008 distribution. Dynamically producing the package
these using Inkscape and published them on my blog for information and bringing it to the packages widget
feedback. As it happens with FOSS projects in general, I causes overheads and puts a heavy load on the CPU.
too got a lot of feedback. In fact, one of my good friends There might be thousands of packages in the repo and
(Hiran) helped me give the finishing touches to the final hundreds of users simultaneously accessing Pardusman,
set of images I required for the front-end UI. which would surely bring the server down. So I decided
Typically, a project has several development to build a static repo package information creator that
versions of the same app while coding. Under the would be scheduled to update the packages information

68  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ How To  |  Developers

every day. The Web application makes use of that static


page to display package information.
The next difficult task with implementing the UI
was regarding the option of size calculation around the
package widget. Once users select the required packages
through check boxes, they can calculate the total size for
the custom build. The size must be calculated live.
I used the memcached server, which can cache data
and program objects. But the size of the object to be
cached is restricted to 1 MB. I maintained objects of all
repositories with package lists and corresponding package
sizes in the memcached as cache objects.
Once the user clicks the Calculate button, it sends
the list of selected packages to a Django function in the
backend, which accepts the post requests. From the
received list of packages, it analyses the package names
one by one, and its size is grabbed from the repository
memcached object. Figure 5: The 'user log' page lets you download the custom distro you created
The backend handles a lot of complex tasks like
dependency resolving, which is very interesting. The user and only a thumbnail is to be returned and shown in the
selects a set of packages that are required. But they are not list of wallpapers. For resizing the uploaded image to a
the only packages to be included in the distro build. Each thumbnail, I have used imagemagick in the backend.
package is dependent on some other package. This relation The wizard involves seven basic steps. At each
is called dependency. step, when the next button is clicked, it sends out the
Each pisi package (e.g., pidgin.pisi) consists of the data data collected from the current page to the server.
and binary files, along with a meta file that describes all This data is added to the browser session using the
the details about the package. This is an XML file. We can request.session dict object available in Django. Once
find its dependencies by parsing the XML file. all the wizard steps are completed, it has to generate
Each package requires some other package to work. a configuration file for the custom distro build making
For example, Pidgin requires the following packages to use of all the data provided by the user.
work, which in turn may require some other package to XML is used to represent the project configurations.
work, thus creating a chain of requirements. The commonly used XML parser library in Python is
Every time a user requests for a size calculation, it ElementTree. But ElementTree is very slow to meet the
resolves dependencies before calculating the size each requirements of this project. Hence, the Pardus team
time and returns a set of information. Here's an extract has ported piksemel, a XML parser used by the Jabber
from the Pidgin package metafile: protocol, to the Pardus platform. It is a very fast XML
parser. The project_config file is generated with the
<Name>pidgin</Name> following tree structure.
<RuntimeDependencies>
<Dependency>audiofile</Dependency> <PardusmanProject type="install" media="iso">
<Dependency>gtk2</Dependency> <Title>Test-Project</Title>
<Dependency>gnutls</Dependency> <ReleaseFiles>RELEASE.txt</ReleaseFiles>
<Dependency>gstreamer</Dependency> <Wallpaper>user_wallpapers/wallpaper_R6wL4i.jpg</Wallpaper>
<Dependency>startup-notification</Dependency> <UserContents>user_contents.tar.gz</UserContents>
<Dependency>cyrus-sasl</Dependency> <PackageSelection repo="Pardus-2009">
<Dependency>gtkspell</Dependency> <SelectedComponent>x11-server</SelectedComponent>
<Dependency>avahi-glib</Dependency> <SelectedComponent>desktop-kde-base</SelectedComponent>
<RuntimeDependencies> <SelectedComponent>x11-util</SelectedComponent>
<SelectedPackage>glitz</SelectedPackage>
The method of solving this complex loop and <SelectedPackage>libdmx</SelectedPackage>
calculating the list of net packages that should go with <SelectedPackage>kdeedu-marble</SelectedPackage>
the distro build is known as dependency resolving. It is <Package>less</Package>
performed in the Pardusman backend. Take a look at the <Package>libX11</Package>
Pardusman code, which you will find interesting. <Package>jpeg</Package>
The wallpaper selection page relies on JQuery. When <Package>sysvinit</Package>
a user uploads a picture, it is to be stored in the server, <Package>piksemel</Package>

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  69


Developers  |  How To ______________________________________________________________________________________________________

</PackageSelection> There are lots of complex things underlying


<LanguageSelection default_language="en_US"> the Buildfarm component. Explaining those
<Language>en_US</Language> implementation details is not within the scope of this
</LanguageSelection> article. Still, I would like to share some of the best
</PardusmanProject> features that come with the pisi package management
tool, which helped me automate the build of the
At the end of the wizard, the config file is generated. filesystem base easily.
The project_file is designed as a tarball (.tar.gz) with the For example, if you want to build a filesystem base in
following structure: the current directory 'pardus-root', perform the following:

Project_file.tar.gz # pisi --yes-all -D"./pardus-root" ar pardus-install http://paketler.pardus.org.


---+ user_contents.tar.gz ( user home contents ) tr/pardus-2009/pisi-index.xml.bz2
--- user_presentation.odp
---- RELEASE.txt It initiates the directory 'pardus-root' as the root
---- project.xml filesystem attached with a repository.
---+ user_wallpapers (wallpaper) Now we can install packages to this filesystem as:
--- wallpaper1.png # pisi --yes-all --ignore-comar -D"./pardus-root" it -c system.base
# pisi --yes-all --ignore-comar -D"./pardus-root" it <package_name>
On generating the project file, it is sent to the
Buildfarm Process Queue. Buildfarm is a component of Did you find any package management tool that is
Pardusman that performs the distro builds from the given capable of this? Apt, Yum, Emerge…? There are more.
project configuration file. Buildfarm is run as a daemon Suppose I have a bunch of .pisi package files in a directory,
that is run all the time. Process Queue maintains the list I can make that directory a pisi repository. What do you
of distro build requests from users along with the link of think?
the project file generated. There is another queue called Change the current directory to the above mentioned
the On_Progress queue, which maintains the list of distro directory and execute the following:
projects for which the builds are in progress.
Distro building is a CPU-intensive process and # pisi ix
it requires a heavy hardware configuration to build
multiple distros at a time. On my laptop, performing It will create the index file pisi-index.xml and pisi-
more than two distro builds raises temperatures to index.xml.bz2
very high levels and the laptop gets powered off. So Now you can add the directory as the repository, using:
simultaneous multiple distro builds are to be restricted
according to the server capacity. Buildfarm is provided #pisi ar 'repo-name' ar <directory_path/pisi-index.xml.bz2>
with a configuration file through which lots of
parameters can be specified. It includes BUILD_LIMIT That is all about the essentials of Pardusman. We are
= No of builds to be performed at a time. setting up Pardusman on the official Pardus server for all
The Buildfarm_queue is capable of holding any of you to master your own custom Pardus builds. Keep
number of user build requests. The On_Progress queue yourself updated with http://pardusman.pardus.org.tr.
is restricted according to BUILD_LIMIT. Once the build I have already set up the Pardusman wizard right
of one project is completed, a project is fetched from there. The Buildfarm component is not yet initiated as the
the Buildfarm_queue to the On_Progress queue and the daemon. The Pardus team will run the Buildfarm soon.
build will be started. Hence you can have your own distro versions of a custom-
Users can keep track of the progress of their project built Pardus, with your own wallpaper, packages, home
build requests through the Userlog page. In the Userlog folder contents and a lot more.
page, once the user requests for a build and the project Grab the code at http://google-summer-of-code-2009-
is sent to the Buildfarm_Queue, it will be shown as pardus.googlecode.com/files/Sarath_Lakshman.tar.gz
'scheduled' against the line that corresponds to a project Enjoy Pardusman. Get, set and burn!
build. Once the project is in the build state and is inside Happy hacking! 
the On_Progress queue, it will be shown as 'in progress'.
If the project build is successful, it will be shown as By: Sarath Lakshman
'Completed' and if it fails, will show up as 'Failed'. Once the The author is a Hacktivist of Free and Open Source
build is completed, a download link to the image will be Software from Kerala. He loves working on the GNU/Linux
provided. It also will list out a Logfile link, which can be environment and contributes to the PiTiVi video editor
used for debugging if the project build fails and can send a project. He is also the developer of SLYNUX, a distro for
newbies. He blogs at www.sarathlakshman.info
bug report or dugg with the reasons for it.

70  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


______________________________________________________________________________________________ Contest   |  Developers

W
Attention Programmers! Improve your tech skills and win prizes.

elcome to the first Want tougher challenges? Bigger


installment of CodeChef prizes? Check out CodeChef.com
Challenges—your monthly CodeChef.com is India’s first,
dose of puzzles from India’s non-commercial, online programming
biggest online programming contest, now in competition, featuring monthly contests
print! Compete with like-minded folks who are as in more than 35 different programming
passionate about programming as you are. Each languages. CodeChef has been created by
month, we will bring to you a CodeChef challenge Directi, as a way to continuously challenge
that will test your tech skills, and the top entries and engage the developer community. The
will be awarded by LINUX For You and Directi. goal is to provide a platform for practice,
competition and improvement as well as
What is expected out of you? enable developers to benchmark their skills
Every month we will share with you a CodeChef against their peers. 
puzzle that you should solve and revert to us at
codechef@efyindia.com. Three lucky winners
can win Rs 1000 each, every month.
Ready? Here goes the first of many!

Puzzle of the month


How many squares of different sizes,
and with sides parallel to the sides of
the chess board, can we get from an
8×8 chess board?
Send in your answers to
codechef@efyindia.com, latest by
November 18, 2009. Watch this
space for the winner, solution to
the puzzle, and another exciting
challenge. Till then, happy
programming!

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  71


Open Gurus  |  Overview ____________________________________________________________________________________________

Electronic Design
and Fabrication with
gEDA
Learn how to design and fabricate cool electronic gadgets.

H
ave you ever wondered What is gEDA?
how electronic gadgets are Although most popular EDA tools are
designed? The heart of these proprietary in nature, in this article we'll
gadgets is a certain circuit introduce you to gEDA that is basically a
board(s) in a nice shiny cabinet. But how set of GPL’d tools for EDA design, and these
does one design these circuit boards? applications are collectively referred to as the
Resistors, capacitors, transistors, etc, are gEDA Suite. gEDA is pronounced ‘g-daahhh’
all brought together in a circuit board to or ‘gee-daahhh’. The gEDA project is also
perform a greater function. This article known as gaf ( for ‘gschem and friends’).
gives a brief description about the tools for The gEDA project was started by Ales
electronic design in GNU/Linux. Hvezda on April 1, 1998, and it included a
schematic capture program and a netlister.
What is EDA? At present, this project features a complete
EDA (Electronic Design Automation) suite of free software applications for
comprises a set of tools for electronic electronics design, which includes: schematic
design. EDA applications are used by circuit capture, a bulk attribute editor, a bill of
designers to design and produce electronic materials (BOM) file generator, a design rule
systems. EDA tools are for low- to medium- check (DRC), a 20 file format netlister, an
complexity printed circuit board (PCB) analogue and digital simulator, and a printed
design. A basic EDA tool takes care of the circuit board (PCB) designer. Refer to Tables
following functionalities: 1 and 2 for tools that are part of gEDA.
 Schematic capture That's a huge list, wouldn't you agree?
 Netlist generation But what's the use of so many independent
 Simulation tools? Usually, hardware designs are not
 Printed circuit board (PCB) layout done using a single piece of software. A series
 PCB testing of programs are used for a good hardware
 PCB fabrication design. For instance, in the case of PCB

72  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


__________________________________________________________________________________________________ Overview  |  Open Gurus

Tools that are part of gEDA Separately developed/maintained tools, but associ-
Tool Usage ated with gEDA
gschem Schematic capture Tool Usage
gnetlist Netlist generator PCB Free/open source PCB layout editor
gattrib Attribute editor gerbv Gerber viewer
symbols Symbol library gnucap GPL'ed mixed-mode/mixed-level
circuit simulator
libgeda Libraries for gschem gnetlist and
gsymcheck gnucap+ An extension of the GNU Circuit Analy-
sis package
gsymcheck Symbol checker
GTK Wave Electronic waveform viewer
examples Example projects
documentation Documentation gwave Analogue waveform viewer
Table 1 Icarus Verilog Verilog simulation and synthesis tool
ngspice An improved SPICE
fabrication, the following tools are used: gsch2pcb A tool to forward annotation from your
 gschem – draws electrical schematic schematic to layout, using pcb
 gsch2pcb/gnetlist – creates netlist GSpiceUI Graphical front-end to SPICE/gnucap
 PCB – reads netlist, draws PCB wcalc Transmission line analyser
 gerbv – Gerber checker/viewer vhdl2vl VHDL to Verilog translator
The gEDA project is widely aimed at circuits of low- to mid-
level complexity that are geared towards board-level designs. Table 2

Why gEDA? anyone using gschem and pcb. The misson of gedasymbols.
The first thing that makes it so attractive is its GPL license. org is to increase the usage of the gEDA suite. Users who
gEDA supports a wide range of platforms including would like to contribute missing symbols can add them
GNU/Linux, UNIX, OSX and Windows. Besides these, the to the online library. The updated components/symbols
following are some of the main attractions: library will be available during its next release.
 File formats are in ASCII text and well documented. As with all EDA tools, gschem has a symbol editor. You
 Command line options help to automate design flows can draw your symbol and save it. You can upload this to
using UNIX tools like make, awk, sed, etc. gedasymbols.org.
 There are no boundaries for design size, number of
components, PCB layer count, etc. Draw schematics with gschem
 Free from DRM—i.e., you can share your designs and gschem is the specialised drawing program for gEDA. The
design elements with everyone. term gschem means gEDA's schematic. Usually you'll need
Last, but not the least, is the superb mailing list of the
project, where you can find developments, bug fixes and
user queries being discussed.
On the downside, there might be some cutting-edge Preliminary work
(block diagram, parts
features that you find missing from gEDA. However, selection, consideration of
different design
the features available are adequate, and more are being alternatives)

added over time.


Schematic capture
(gschem)
Component and symbol library
A good EDA tool requires a wide collection of symbols, 1 2
Human
which are a simple representation of circuit elements such Generate netlist for
simulation (gnetlls)
Generate netlist for
layout (gnetlls)
activity
as resistors, ICs, connectors, etc. This is available in the
Computer
gEDA library—currently, it numbers approximately 2,000. Change
design
netlist
(SPICE, verilog, VHDL) netlist program
All these symbols are in ASCII formats so they can be
easily edited using text editors. Note that the schematic is Simulation PCB layout File format
(ngspice, tclspice, (PCB)
a collection of symbols, and thus all schematics have the Icarus Verilog,
Alliance VHDI)
same format as symbols. Genbefiles
Symbol libraries are always never complete as new
components are developed over time. So regular updating PCB fab Stuff PCB Play with PCB
in lab!!!
of the symbol library is vital. An online collection of
symbols is maintained at gedasymbols.org. It's a repository
Figure 1: Board design flow using gEDA
for symbols, footprints and documentation that is useful to

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  73


Open Gurus  |  Overview ___________________________________________________________________________________________________

Figure 2: A schematic drawn using gschem Figure 3: The AT90USB162 mini development board layout made with pcb

to draw schematics for an electronic design—gschem is for Connectivity information using gnetlist
that purpose. The schematic you prepared using gschem needs a
You can invoke it from the command line by typing netlist. The term ‘netlist’ means a net connections list,
gschem. It will open a graphical application with all the where the ‘net’ is the connection between components.
menus and buttons necessary to draw a schematic. You'll The netlist file contains the list of connections between
find gschem very similar to other EDA programs. Besides, the component pins. The tool for this task is gnetlist. In
you can easily master it using the tutorials available at the simple words, gnetlist is a graphics-to-text converter tool.
gEDA documentation site (http://geda.seul.org/wiki). This Netlist information is mainly used by circuit simulators
tool will give you all the options for wires, component pins, to simulate the schematic you have drawn—as the input
components, etc, that you require for your PCB design. to layout programs that typically hold information about
Since all your files are saved in the ASCII format, each component's PCB footprint, as well as connectivity
scripting languages can easily manipulate these. Thanks information between all component pins.
to this feature, there are several symbol generation tools A wide range of around 20 different file formats can be
that have been made using Python and Perl, besides the outputted by the netlister. Among these file formats, the
footprint generators made using Python. This is in stark SPICE format is popular. These file formats can be used
contrast to proprietary EDA programs, which lock in users to simulate electrical circuits that are popular among
by not supporting ASCII file formats. electrical and electronics engineering students worldwide.

Front view Rear view

Figure 4: A home-made PCB by the author (ATMega8 mini development board)

74  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


__________________________________________________________________________________________________ Overview  |  Open Gurus

Front view Rear view


made using gEDA.) Compare the
quality of the home-made and
machine-fabricated PCBs.
There are many big open source
hardware projects that use gEDA
for designing. Some of them include
Ronja (Reasonable Optical Near Joint
Access), Darrell Harmon's Single
Board Computer Project, MINT, etc.
There are some projects contributed
by the author also.

Other tools and design flows


Figure 5: Machine-fabricated board designed by author (AT90USB162 mini development board) Remember that gEDA itself is a
collection of tools. It contains a
wide variety of tools for electronic
BOM (bill of materials) generation which is an important advantage when design, and describing each will
and DRC (design rule checking) can compared to other proprietary EDA take up a lot more pages. And
also be outputted from gnetlist. tools. Other features of pcb include a yet, gEDA is not the ultimate in
For designing PCBs, the schematic change in track width, importing logos electronics engineering tools
file has to be converted to the pcb- on to the board, auto-routing, etc. available for GNU/Linux. There are
readable file format. You can do still a lot more companion projects.
this using gnetlist, as mentioned. A complete design Some of these, along with their
However, this is a slightly complicated Once the PCB layout is ready, you applications, are described below:
process. So one of the gEDA hackers can export it into a wide variety of  Gerbv– Gerber viewer
made a tool called gsch2pcb in C. This formats. If you need to fabricate a  Gnucap – Next-generation
does the schematic to pcb file format home-made PCB, you can take a laser analogue circuit simulation
conversion, automatically. printout and use a hot iron to transfer  Ngspice – SPICE3f5 (analogue
the PCB pattern to the copper clad simulator)
PCB, the layout program board. This method of transferring the  Icarus Verilog – Verilog compiler
The pcb tool helps you draw the wires PCB layout from a sheet of paper to and simulator
for a custom printed circuit board copper cladding is nicely described  GTKWave – Waveform viewer
(PCB). pcb is, in fact, a specialised online—Google for more information!  Wcalc– Transmission line and
drawing program to draw metal If you don't have a printer at home, electromagnetic structure
tracks, components, drill holes and then export the file to the ps format analysis 
other structures onto your circuit and then later to a PDF. Figure 4
board. Its user interface presents a shows a home-made PCB that I
drawing window accompanied by all fabricated. Links and references
the widgets and tools necessary to However, some of the designs • Official gEDA website: www.gpleda.
org
draw your circuit board. might be complex -- the ones for • gEDA Wiki Page: en.wikipedia.
Designing printed circuit boards SMD components, for instance. These org/wiki/GEDA
using pcb is very simple. Place the types of boards are hard to fabricate • gEDA tutorials and projects: www.
component footprints on the board, at home. Under the circumstances, delorie.com/pcb
• gEDA symbol library: www.
and route the tracks between the first export the PCB file into a Gerber gedasymbols.org
pins of the footprint. That’s all! You file format. Then send the Gerber file
have your PCB ready for fabrication. to a PCB fabricator near your locality.
On the other hand, if you have The PCB fabricator uses machines for By Jeffrey Antony
drawn the schematic using gschem, fabricating boards. The details for the The author is a 21-year-old
you can use the command gsch2pcb PCB fabricating machine are in the electronics engineer from Kerala,
to convert the schematic file into a Gerber files. This kind of fabrication currently enrolled in a PG Diploma in
embedded systems at the DOEACC
pcb-readable format. generally produces a high-quality Centre, Calicut. He is a free software
pcb supports around 16 copper board as compared to a home-made and open hardware enthusiast. In his
layers, which, I'd say, is quite sufficient PCB, but is much costlier. Figure 5 free time he likes to go cycling, listen
for most designs. Also, there is no shows a board fabricated by sending to music, and work on open hardware
projects. You can find more about the
limitation in the design size, number a Gerber file to the PCB fabricator. author at www.jeffrey.co.in
of components, PCB layer count, etc, (Figure 3 shows a PCB design that's

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  75


Developers  |  How To _______________________________________________________________________________________________

Get A Hold on the Scheduler


with CPU Affinity, in Linux
Understanding CPU affinity helps in designing a better application for SMP
systems, by binding a certain process to a specific CPU. This article discusses
the CPU affinity interface to Linux.

O
n a multi-core/multi-processor So, what is CPU affinity?
system, the OS usually distributes On symmetric multi-processing (SMP) systems,
different processes on all available the operating system's process scheduler not
processors (CPU) in a way that only decides when a process can run, but also
allows the system to work most efficiently. where it should run. CPU (or processor) affinity
However, for some reason, you might like to is the term that describes this property of the
take charge and overrule the kernel's process scheduler to associate a particular process to a
scheduling to bind your application to a specific processor or CPU.
processor/CPU of your choice. This is known There are two types of CPU affinity that
as CPU affinity. the Linux scheduler supports: soft affinity (or
In this article, I will try to cover how a natural affinity), and hard affinity.
normal Linux user can set/retrieve a specific The soft affinity of a process is merely an
task's affinity from the command line, and attempt by the scheduler to run the process
then we will go further with the actual on the same processor on which it ran the last
implementation of system calls. time. This way the scheduler tries to improve

76  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ How To  |  Developers

the performance with the ‘locality of reference’. However, this hard affinity will rescue you from such performance
is not always possible if, for instance, the preferred or ideal degradation by letting you schedule your application on
processor is busy for further scheduling. The scheduler then the processor(s) of your choice.
migrates the process to a different processor for execution.  In NUMA (Non-Uniform Memory Architecture) machines,
On the other hand, hard affinity provides users/ processors will have faster access to local memory than
programmers the flexibility to override the natural affinity for shared memory between different processors. Therefore,
their tasks/processes. In Linux, all processes are represented forcing a process to the processor that has local access
by the kernel data structure task_struct that contains fields to the frequently used memory helps in boosting the
related to the process attribute. Among these is the cpus_ performance.
allowed bitmask field that specifies which CPU(s) shall handle  Sometimes real-time applications require a dedicated
the task. This bitmask consists of a series of n bits, one for processor. With hard affinity you can ensure that a
each n logical processor in the system. So if a system has four long-running and time-sensitive application runs on a
processors (i.e., a multi-processor system), this bitmask will specific processor.
have four bits, and if each processor is a dual core, then it'll Linux kernel 2.6 provides complete control to set and
have an eight-bit bitmask. retrieve the CPU affinity of a process. However, a word of
The default state of a process in Linux for the cpus_ caution before we proceed: using hard affinity might cause
allowed field is all 1s. It indicates that the process is allowed to the processors to have uneven loads.
run on any available CPU, and can migrate across processors
as and when required. CPU affinity—a user's perspective
Hard affinity allows you to alter this bit field. The To set or retrieve the CPU affinity of a running process from
scheduler then honours it and schedules your task on the the shell prompt, you can use the taskset command, with
processor of your choice. We will soon look at how you, as a which you can even launch a new task with a given affinity.
user/programmer, can change the affinity. Let's see how we can do that.
But let's first discuss the possible reasons that may lead Let’s suppose we have a running process, with PID
you to design your application to override the natural (or soft) (process ID) 21934. To bind this process to Processor
affinity of the process/thread. #0 (the processor count starts from 0), let’s issue the
following command:
Why overrule a natural affinity?
Well, the Linux scheduler does a fantastic job of scheduling. $ taskset -p 0x01 21934
It tries to run a process on the same processor it ran the last
time, assuming that some remnants of the process may be left Here, the -p flag indicates that taskset operates on an
(especially the cache) and thus a better performance could be existing process. The hex value 0x01 tells the new affinity
achieved. However, there are various other parameters that a mask of the process (i.e., CPU #0). Finally, the third parameter
scheduler considers while deciding which processor should 21934 is the PID of the task.
run the process. To test the above example, you first need to find the PID
One of the possible reasons could be that the preferred of an already running process using the ps command. In my
processor is busy but the other processor(s) in the case, the process I picked had a PID number of 21934. Here's
system is not. Under the circumstances, the scheduler the output after running the command:
will dispatch the process to the idle processor in order to
maintain the load balance. pid 21934's current affinity mask: 2
However, for whatever reason, a program might want to pid 21934's new affinity mask: 1
have control over the scheduling aspects of the application.
Some of these could be: From this output, we can conclude that for the process
 A multi-processor system needs to keep the processor's with PID 21934, the affinity mask is reset from 2 to 1. Now
caches valid. Data must be modified by only one let's explore how the current affinity mask of a running
processor, and all other processors that have cached the process can be seen (in my case, I picked out a running
same data must invalidate their copy and fetch the most process with PID 21934):
recent data again in case of a cache miss, and they do so.
This may come at a high cost in terms of performance. $ taskset -p 21934
Now think of a situation when a process starts bouncing pid 21934's current affinity mask: 1
between different processors. This will constantly cause
the cache to get invalidated. And the situation may You can also check the CPU affinity list (i.e., the list of all
even worsen, if the threads of a process are scheduled at the processors that can run the process) of a process. This can
discrete processors and they are perpetually accessing be done with -c flag. Let's have a look at it.
and updating the same piece of data. This will lead
to the frequent invalidation of the cached data. Here, $ taskset -c -p 22139

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  77


Developers  |  How To ______________________________________________________________________________________________________

pid 22139's current affinity list: 1 /* The 2nd processor in the system */
CPU_SET(1, &mymask);
So far, we have seen how an affinity of an already-running
process can be set/retrieved. You can also launch a new task /* Set affinity mask of the process */
with the given affinity. I will show you how you can do so. if (sched_setaffinity(pid, len, &mymask) < 0) {
perror("main: Error in sched_setaffinity() ");
$ taskset -c 0x01 ./a.out return;
}
The above command will launch a new task with Affinity
Mask 1 and Affinity List 0. CPU_ZERO(&mymask);

CPU affinity—a developer's perspective /* Get affinity mask of the process */


Linux kernel 2.6 supports system calls that your application sched_getaffinity(pid, len, &mymask);
can exploit to enforce/retrieve the affinity at the process level.
These system calls are sched_setaffinity and sched_getaffinity. printf("main: My Process Affinity is %p\n", mymask);
return 0;
#include <sched.h> }

int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask); The above example binds the current process to
the first two processors in the system, and fetches its
int sched_getaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask); affinity.

While sched_setaffinity() sets the CPU affinity, sched_ CPU affinity—leftover for developers
getaffinity() retrieves it. Finally, I would like to introduce you to the thread affinity.
The man page reads, “sched_setaffinity() sets the Initially, it did not seem like it was within the scope of this
CPU affinity mask of the process whose ID is PID to the article, but while researching CPU affinity, I could not find
value specified by the mask. If PID is zero, then the calling significant discussions on the Internet or elsewhere, on
process is used. The argument cpusetsize is the length (in affinity setting/retrieving at the thread level in Linux, apart
bytes) of the data pointed to by the mask. Normally, this from a synopsis of APIs in the Linux man page.
argument would be specified as sizeof(cpu_set_t). If the So for my own purposes, I did some experiments with
process specified by the PID is not currently running on thread affinity and believe that it would be worth sharing
one of the CPUs specified in the mask, then that process my experience with you.
is migrated to one of the CPUs specified in the mask.” On
the other hand, “sched_getaffinity() writes the affinity Note: I expect readers to be familiar with multi-
mask of the process whose ID is the PID into the cpu_set_t threading concepts (with pthreads) in Linux.
structure pointed to by the mask. The cpusetsize argument
specifies the size (in bytes) of the mask. If PID is zero, then By default, all threads within a process inherit the same
the mask of the calling process is returned.” affinity that a process has. We can override this process-
On success, sched_setaffinity() and sched_getaffinity() level affinity with APIs: pthread_attr_setaffinity_np() and
returns 0, error returns -1. pthread_getattr_np().
Let's write a simple line of code to change the CPU affinity Let's explore these APIs with our next example.
of the same program and retrieve its newly assigned affinity.
Note: The posix functions with the _np suffix are non-
#ifndef _GNU_SOURCE standard and not portable.
#define _GNU_SOURCE 1
#endif #ifndef _GNU_SOURCE
#include <stdio.h> #define _GNU_SOURCE 1
#include <sched.h> #endif
#include <pthread.h>
int main() #include <stdio.h>
{ #include <sched.h>
cpu_set_t mymask;
unsigned int len = sizeof(mymask); void * thread_aff(void *arg)
unsigned int pid = 0; /* Current Process */ {
cpu_set_t mymask;
CPU_ZERO(&mymask); unsigned int len = sizeof(mymask);

78  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ How To  |  Developers

pthread_attr_t gattr; pthread_join(pth, NULL);

/* Get the attribute of this thread */ CPU_ZERO(&mymask);


pthread_getattr_np(pthread_self(), &gattr); sched_getaffinity(pid, len, &mymask);
printf("Main: My Process Affinity is Still %p\n", mymask);
CPU_ZERO(&mymask);
return 0;
/* Get the affinity of the this thread */ }
pthread_attr_getaffinity_np( &gattr, len, &mymask);
Note that in order to compile the above code, you need
printf("thread_aff: My Inherited Thread Affinity is %p\n", mymask); to link it with pthread libraries using -pthread. To compile it,
issue the following command:
CPU_ZERO(&mymask);
/* The 1st Processor in the system */ $ gcc <Program File Name> -o <Output Executable Name> -pthread
CPU_SET(0, &mymask);
The above program binds the current process to the
/* Set the affinity mask for this thread */ second processor in the system, and then creates a thread:
if(0 != pthread_attr_setaffinity_np( &gattr, len, &mymask)) { thread_aff. The thread_aff, by default, inherits the same affinity
perror("thread_aff: Error in pthread_attr_setaffinity_np() "); that the parent process currently has (i.e., binds itself with the
} second processor in the system). This thread then overrides
this affinity and binds itself with the very first processor in the
CPU_ZERO(&mymask); system. However, as the scope of thread_aff ends, the program
/* Get the affinity of the this thread */ again verifies the process affinity to see if an alteration in the
pthread_attr_getaffinity_np( &gattr, len, &mymask); thread affinity has made any impact on the process affinity.
Ideally, you should observe that the affinity of the process
printf("thread_aff: My Overriden Thread Affinity is %p\n", mymask); remains unaffected and tied to the second processor in the
system.
pthread_exit(NULL); I, however, am slightly sceptical about the maturity of
} these APIs, as sometimes, I observed weird results during my
experiments with them.

int main() What next?


{ Well, I’ve tried to introduce you to the idea of CPU affinity. Now
pthread_t pth; you can play around with these system calls and experiment
cpu_set_t mymask; further. Besides the Linux man pages that are always a source
unsigned int len = sizeof(mymask); of great help, Google and other search engines also help in
unsigned int pid = 0; /* Current Process */ searching for the relevant content.
Happy coding! 
CPU_ZERO(&mymask);
/* The 2nd processor in the system */
References
CPU_SET(1, &mymask);
• http://technet.microsoft.com/en-us/library/cc938636.aspx
• http://littledaemons.wordpress.com/2009/01/22/cpu-
/* Set affinity mask of the process */ affinity-and-taskset/
if (sched_setaffinity(pid, len, &mymask) < 0) { • http://www.cyberciti.biz/tips/setting-processor-affinity-
perror("main: Error in sched_setaffinity() ");
certain-task-or-process.html
• http://www.ibm.com/developerworks/linux/library/l-affinity.
return;
html
} • http://en.wikipedia.org/wiki/Processor_affinity
• http://www.kernel.org/doc/man-pages/online/pages/man3/
CPU_ZERO(&mymask);
pthread_attr_setaffinity_np.3.html
• http://www.kernel.org/doc/man-pages/online/pages/man3/
pthread_getattr_np.3.html
/* Get affinity mask of the process */
sched_getaffinity(pid, len, &mymask);
By: Vivek Kumar
printf("main: My Process Affinity is %p\n", mymask);
The author is a system engineer at IBM India, and works for IBM-
ISS (Internet Security Systems). He is based in Pune and you can
reach him at mail_DOT_vivekkumar_AT_rediffmail_DOT_com.
pthread_create(&pth, NULL, &thread_aff, NULL);

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  79


Developers  |  How To _______________________________________________________________________________________________

Create Cute Apps With


This article covers application development with Qt SDK and database
Qt
connectivity for simple applications.

I
f you plan to develop eye- or other languages. Official Java bindings
candy applications or some are available as Qt Jambi and third-party
nice games, or if you need to bindings are available for many languages
create applications to store and like Python, Ruby, etc. It can be easily
retrieve data at home or at office, Qt is one integrated with popular IDEs like Eclipse
of the best solutions for you. and with the recent release of Qt Creator,
application development is ultra simple.
A little background on Qt Qt was started by Trolltech and was
Qt, as you perhaps already know, is a cross- acquired by Nokia last year. Nokia later
platform framework used to create rich GUI renamed it Qt Development Frameworks.
applications. It’s most popularly known as Qt comes under a multi-licence model that
playing a major role in KDE applications allows both open source (under GPLv3,
and libraries. One of its primary advantages LGPLv2.1) and commercial usage.
is that it is available for many platforms,
including Linux, Macintosh and Windows. Signals and slots
It even has its wings spread in the mobile Qt event handling is mainly based on a signals
development space with ports available for and slots mechanism that allows communication
embedded Linux (Qt Extended, previously between different objects (widgets). When an
known as Qtopia), Symbian (about to event occurs, a signal is emitted from the source
release) and Windows CE. widget, triggering a slot on the target widget as
Qt is not just restricted to GUI per the registered mapping.
applications but comes with many features A slot is nothing but a function holding
like multi-threading, networking, database code for event handling. For example,
connectivity, 2D/3D graphics with OpenGL, when you click the Exit button, a signal
XML, SVG, Phonon support, WebKit is emitted, which is received by the main
integration, etc. window and the close slot is executed to quit
Although Qt programming is C++ based, the application. Many signals and slots are
you don’t have to be disappointed by this predefined for all widgets, and we can always
fact if you are a fan of Java, Python, Ruby add custom signals and slots to any widget.

80  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ How To  |  Developers

Qt tools
The following are a few important tools provided by Qt SDK.
qmake is used to generate a platform-specific build
script (Makefile) from project configuration (.pro) files. It is
also used to create .pro files by inspecting available sources,
headers and other files. Once the Makefile is generated, the
make command can be used to build an application.
Qt Designer is used to create UI forms on the
WYSIWYG principle. It allows you to create three types
of forms—Window, Simple Dialogs, and Custom Widgets
for re-usability. Many widgets are shown on the left-side
pane of the Designer. You can drag and drop widgets onto
the form. Apart from designing forms, it also supports
property editing, signal/slot mapping, tab ordering, layout
management, preview forms, etc. But Designer is not helpful Figure 1: Qt Designer
for custom coding.
Qt Assistant is used to refer to documentation with
great comfort.
Qt Linguist is used to translate user interfaces (UI)
into local languages.
Qt Creator: As mentioned earlier, Qt Designer won’t
allow direct coding—you need to implement custom slots
in the header, source files manually using an external
editor and then use qmake and make from a terminal to
build a project. This is not comfortable at all, compared to
other GUI builders. However, with Qt Creator, application
development can be really simple—just create a project on-
the-fly and use the embedded form editor for direct coding. Figure 2: Qt Creator
The context menu of any widget in the embedded editor
provides an option to ‘Go to Slot’ to write custom slots.

How to install
Download qt-sdk-linux-x86-opensource-???.bin from
qt.nokia.com. (Use qt-sdk-linux-x86_64-opensource-???.bin
for 64-bit platforms.)
Make the bin file executable by using the following
commands:

chmod u+x qt-sdk-linux-x86-opensource-???.bin

Run the set-up as follows: Figure 3: Editing form in the embedded editor of Qt Designer

./qt-sdk-linux-x86-opensource-???.bin Make sure the correct Qt framework is configured


in qt-creator by navigating to Tools→Options→Qt4→
Finally, follow the step-by-step procedure to finish Qt versions. Select the default option if more than one
installation. is available. At present, the latest stable releases are Qt
If you run the installation as the root user, the SDK Framework v4.5.2, Qt Creator v1.2.1.
will be installed in /opt//qtsdk-??? by default and the Qt
framework in /opt/qtsdk-???/qt/, which we will refer to as Simple applications
QTDIR from now onwards. If you install it as a normal user, In this example we will create a simple application to add
your home directory is used instead of /opt. two numbers.
Run qtdemo located in $QTDIR/bin to see Qt examples Launch Qt Creator and create a new GUI-based
and demos, and to test them. project by navigating to File→New→Projects→Qt4 Gui
Check if qt-creator is available in the Applications→ Application. Key in a project name, the location, and select
Programs menu after installing the SDK. Otherwise run qt- the modules to include. For this example no additional
creator located in the /opt/qtsdk-???/bin directory manually. modules other than ‘default’ are required.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  81


Developers  |  How To ______________________________________________________________________________________________________

Right click on the Add button—>Go to Slot. (Note


that this feature is available only in the embedded form
editor, and not when opened with the external designer.)
Select the signal clicked() which will create a new
function (slot) on_pbAdd_Clicked in mainwindow.cpp
and also its prototype in mainwindow.h. Put this code in
that function’s body:

int x,y,z;
x=QVariant(ui->leNum1->text()).toInt();
y=QVariant(ui->leNum2->text()).toInt();
z=x+y;
Figure 4: Signal slot mapping
ui->leNum3->setText(QVariant(z).toString());

The text() function of QLineEdit class gives the text


entered in the widget. Similarly, setText(QString&) is used
to change the text inside. The QVariant class provides many
constructors and functions for different types of conversion.
Similarly, you can use this code for a clear slot:

ui->leNum1->clear();
ui->leNum2->clear();
ui->leNum3->clear();

Alternatively, you can use the default signals and slot


edit mode as clear slot for the line edit is predefined. Now
build and run the project to test the application.
Figure 5: UI for simple database applications
Database applications
From the project explorer, open mainwindow.ui, and place Before going ahead with this example, let’s prepare
the following widgets on the form as shown in Figure 3: MySQL for connectivity. Create a database called qtest.
 3 Labels (object names—lblNum1, lblNum2, lblNum3) Create a table called ‘student’ with the fields rollno(int),
 3 Line Edits (object names—leNum1, leNum2, leNum3) sname(varchar), marks(decimal) as follows:
 3 Push Buttons (object names—pbAdd, pbClear, pbExit)
To change object names of widgets, right click and mysql> create database qtest;
select ‘Change Object Name’. To change the display text mysql> use qtest;
of widgets, double click on them or right click and select mysql> create table student(rollno int, sname varchar(10),marks
‘Change Text’. decimal(8,2),primary key(rollno));
Enable the readOnly property for the third line edit with
the object name leNum3. Use the property editor to change Create a Qt GUI Project just like the previous example,
properties of a widget. but add the QtSql module this time.
We now need to provide event handling for buttons. You can observe the statement QT += sql in the project
For our exit button, let’s use the default signals and slot file. Design the form as shown in Figure 5. You can use the
editor. Go to the signals and slot-mapping mode using external designer for convenience. Right click on UI Form→
the toolbar button (or F4 shortcut). Drag from the Exit Open With→Qt Designer.
button and drop to the empty area of the form, and a Use the following object names for the widgets
screen appears to configure the connection as shown in  lblRollno, lblName, lblMarks for labels
Figure 4. Select the check box at the bottom of the screen.  leRollno, leName, leMarks for line edits
Select the signal clicked() on the left pane and close() slot  pbClear, pbExit, pbInsert, pbDelete, pbModify, pbFirst,
on the right pane. Finish the mapping by clicking the OK pbPrev, pbNext, pbLast for buttons.
button. Come back to the widget-editing mode using the You can use default slots for the Clear and Exit options.
toolbar button (or F3 shortcut). Close Designer, come back to Qt Creator, and add these
When the project is built and run, you can close the headers to mainwindow.h:
application using the Exit button. But for the Add button
the action is not available by default, so we need to create a #include <QSqlDatabase>
custom slot for that. #include <QSqlQuery>

82  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Developers  |  How To ______________________________________________________________________________________________________

Or instead, it’s enough to add #include<QtSql> to use pselect->first();


all classes in the SQL module. display();
Add these members in the private section of the
MainWindow class declaration (in mainwindow.h): Similarly, you can write the code for the Prev, Next
and Last buttons with the previous(), next() and last()
QSqlDatabase db; slots of the QSqlQuery class. Use the first, previous,
QSqlQuery *pquery,*pselect; next and last functions to navigate between different
void display(); records fetched by the query specified in the
QSqlQuery constructor or the exec function (select *
Add this code to the constructor of the MainWindow from ‘student’ when pselect is created).
class (in mainwindow.cpp): Code for display (mainwindow.cpp, declaration
already added to mainwindow.h):
db = QSqlDatabase::addDatabase(“QMYSQL”);
db.setHostName(“localhost”); void MainWindow::display()
db.setDatabaseName(“qtest”); {
db.setUserName(“user”); ui->leRollno->setText(pselect->value(0).toString());
db.setPassword(“password”); ui->leName->setText(pselect->value(1).toString());
if(!db.open()) ui->leMarks->setText(pselect->value(2).toString());
qDebug(“unable to connect”); }
pquery = new QSqlQuery();
pselect = new QSqlQuery(“select * from student”); The display function holds code that’s commonly
required to update line edits after any navigation.
The QSqlDatabase class is helpful to establish a The value method of the QSqlQuery class takes the
connection with MySQL. Various members of this class field identifier as the parameter and returns its
are used to specify the driver, hostname, database, user content for the current record in the QVariant form.
name, password, etc. After setting all these properties, The toString method is used to convert it into the
use the open method to establish a connection—this QString format.
returns true if successful. Similarly, implement the Delete and Modify
qDebug, like printf, displays messages in the output operations with your own logic using the prepare
window that you can use for logging. and exec functions of the QSqlQuery class.
Add this code to the destructor (in mainwindow.cpp):
Troubleshooting
delete ui; The default Qt framework may not have the MySQL
delete pquery; driver by default—you can test this by checking the
contents of the $QTDIR/plugins/sqldrivers directory,
Code for Insert (right click on the Insert button and which should have the libqsqlmysql.so file. If it’s
choose ‘Go to slot’): missing, extract libqsqlmysql.so from a platform-
int rollno=QVariant(ui->leRollno->text()).toInt(); specific package like qt-mysql-4.x.y-z (RPM based) or
QString sname=ui->leName->text(); libqt4-sql-mysql (Deb based) and copy it to the above
double marks=QVariant(ui->leMarks->text()).toDouble(); location manually.
pquery->prepare(“insert into student values(?,?,?)”); If you are comfortable with compiling sources, the
pquery->bindValue(0,rollno); best way is to build Qt from the sources by adding
pquery->bindValue(1,sname); MySQL support during configuration. 
pquery->bindValue(2,marks);
if(!pquery->exec())
References
qDebug(“Insertion failed”);
• Official Qt website: qt.nokia.com
else • Documentation for Qt and related products: doc.trolltech.com
qDebug(“inserted new row=>%d,%lf”,rollno,marks);
pselect->last();
By Rajesh Sola
The prepare function of the QSqlQuery class forms a SQL The author is a faculty member of the Computer Science
query with the place holders (?), which you can bind with Department at NBKRIST, Vidyanagar. He is a contributor
actual data at a later time. The exec function completes the to the OpenOffice.org project and is keen on promoting
FOSS awareness and adoption in rural areas. He believes in
operation. Or you can even pass a full-formed query to the encouraging and supporting students to take the open source
exec function to perform the operation. road. You can reach him at rajesh at lisor dot org.
Code for First:

84  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


Admin  |  How To ________________________________________________________________________________________________________

The Art of Guard, Part 6


SELinux Policy Modules
In this article, we will learn about the basics of policy modules.

L
ast month, we looked at logging SELinux policy—we will take a look at this option in a later part
tasks and deciphering them using various of this series.
methods—most notably auditd and For most of us, the second option of building policy
setroubleshoot RPMs. We learned that we can modules will suffice. It is an easier approach and also
easily fix minor errors involving by Boolean values and/or lets us develop a better understanding of the SELinux
changing the types of certain files by using commands like policy language before we delve deeper into it by
setsebool and chcon/restorecon. modifying the core policy.
But what about allowing a certain set of actions that
are, by default, denied by the default targeted policy? Customising the default policy: Power to
What if we really want files of tmp_t to be accessed by the people
the httpd daemon due to certain requirements in our As discussed above, we will customise the default targeted
work environment? policy by adding our own modules. To do so we will use
What if we wanted to install our own applications and the semodule command.
daemons while still maintaining the security provided by semodule is the tool used to manage SELinux policy
SELinux? What if we run an Oracle database on our RHEL modules, including installing, upgrading, listing and
server, which is exposed to the Internet—because that is removing modules. It is installed by the policycoreutils
its intended use? RPM. The man page, as usual, gives further details and
What about the whole concept of open source, helpful instructions on how to use the command.
freedom and the ability to modify applications to suit
our needs rather than we modifying ourselves to suit the Listing SELinux modules
application's needs? To list modules, use the following:
Thankfully, SELinux gives us the power and complete
freedom to achieve all this. There are two ways in which we # semodule -l
can approach the whole concept of customising SELinux:
1. Modifying the source of the policy (easily available If you execute this command on a freshly installed
through source RPMs). system with SELinux enabled, you will see a list of
2. Developing modules that can be compiled and loaded modules. A sample output on my system follows:
along with the base policy.
For beginners, intermediate-level users and also for [root@vbg ~]# semodule -l
production purposes, I would not recommend the first amavis 1.1.0
option unless it is absolutely necessary. It requires more ccs 1.0.0
in-depth knowledge and experience to modify the core clamav 1.1.0

86  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________________ How To  |  Admin

dcc 1.1.0 The policy modules obviously make


evolution 1.1.0 a lot of difference. That’s what they were
iscsid 1.0.0 created for. To observe the difference
mozilla 1.1.0 they make, let's use the wonderful seinfo
mplayer 1.1.0 tool discussed earlier. ������� ���
nagios 1.1.0 To get an overall idea of the ��������� ��������
oddjob 1.0.1 SELinux policy currently loaded, ��������� ��
openoff 1.0.0 we shall use the command seinfo. ����������� ������
pcscd 1.0.0 A sample output from my system is ���������������
pyzor 1.1.0 shown below: ��!����� ���"������
razor 1.1.0
n
ff oon
ricci 1.0.0 [root@vbg modules]# seinfo
smartmon 1.1.0
O f
O ctt
%
%
22 Seelle ggss
5
tmp 1.0.1 Statistics for policy file: /etc/selinux/targeted/
5
vbg 1.0.3 policy/policy.21
n
Policy Version & Type: v.21 (binary, MLS)
raaiini
What this means is that the t
default SELinux installation does Classes: 61 Permissions: 220 The November
come with some modules loaded Types: 1516 Attributes: 148
that are not part of the base policy. Users: 3 Roles: 6
Training Calendar
Looking more closely into the Booleans: 211 Cond. Expr.: 187 ● Fast Track RHCE:

output of the above command, we Sensitivities: 1 Categories: 1024 4th Nov 09 & 11th Nov 09
● Regular RHCE:
see that in my system there are 18 Allow: 82576 Neverallow: 0
th
policy modules installed. Each row Auditallow: 28 Dontaudit: 5086
9 Nov 09 (7am – 9am)
9th Nov 09 (6pm – 9pm)
of the above output corresponds to Role allow: 5 Role trans: 0
● RH 423 LDAP:

a policy module. Type_trans: 1400 Type_change: 17


5th to 8th Nov 09
The output of the semodule -l Type_member: 0 Range_trans: 23 ●RH 429 SELinux

command gives us two columns of Constraints: 47 Validatetrans: 0 11th to 14th Nov 09


information: Module Name and Fs_use: 15 Genfscon: 64 ● Clustering & Storage

Module Version. Thus we can see Portcon: 264 Netifcon: 0 20th to 22nd Nov 09
● PostgreSQL
that the amavis module has a version Nodecon: 8 Initial SIDs: 27
number of 1.1.0 whereas the vbg 20th to 22nd Nov 09
● PHP & MySQL
module has a version 1.0.3. We can see that there are 1,516
18th Nov 09
Also, these are the modules types and 82,576 allow rules being ● Shell Scripting

currently loaded into the memory recognised by SELinux. You can 30th Nov 09
and are active along with the base redirect this output to a temporary ● Mail Server

policy. But, where are these modules file just for comparison, later. You 9th - 11th Nov 09
located? What difference do they could use the following command: ● Jboss

make to the overall SELinux policy? 14th Nov 09 (Sat & Sun)
How are they loaded and removed? [root@vbg modules]# seinfo > /tmp/org-selinux-
Exam Dates
Let's try to answer the above policy ● RHCE:
questions, one by one.
These are binary policy modules Let's now remove one of the CEE @@ /9--th & 25th Nov 09
0/
that, by default, have a file extension loaded modules. As an example, let us RH
R H 0,,55000 EX
C ● 423:
1 0
1 LLYY 16 th
Nov 09
of .pp (Policy Package). Generally, remove the amavis module. Rss O
R O
NN EX 429:

the module name and the file name 16th Nov 09


is kept the same, though it's not Removing SELinux modules ● EX 333:

mandatory. Therefore, we need To remove a loaded SELinux module, 17th Nov 09


to look up a file named amavis. use the semodule command with the
pp (Policy Package for the Amavis r option and the module name as the
daemon). By default, the location argument. For example:
of this file is /etc/selinux/targeted/
modules/active/modules/. If you go [root@vbg modules]# semodule -r amavis
into this folder and list the contents,
you will see the policy package files of This removes the amavis module.
all the currently loaded modules. To ensure that the above command

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  87


Admin  |  How To _____________________________________________________________________________________________________________

has worked, list all the currently from 1,516 to 1,507 name of the module, its version
loaded modules: 2. Reducing the number of 'Booleans' and all the additions desired in
from 211 to 210 the policy, such as types, rules,
[root@vbg modules]# semodule -l 3. Reducing the number of 'allow Booleans, etc.
ccs 1.0.0 rules' from 82,576 to 81,929  The file contexts file (with the .fc
clamav 1.1.0 4. Reducing the number of 'type extension—for example, /usr/
dcc 1.1.0 transition rules' from 1400 to 1,387 share/selinux/devel/example.
evolution 1.1.0 and so on... fc) contains the default security
iscsid 1.0.0 Thus, we see that by using contexts to be provided for files
mozilla 1.1.0 modules, we can at least add types, created/used by the application
mplayer 1.1.0 Booleans and rules to the core policy. for which we are creating the
nagios 1.1.0 That is pretty much what we want policy module.
oddjob 1.0.1 to do when we need to modify the  The interface file (one with the .if
openoff 1.0.0 default policy to suit our needs. extension—for example, /usr/
pcscd 1.0.0 From what we’ve just covered, share/selinux/devel/example.if)
pyzor 1.1.0 it is clear that we need to create generally would contain macro
razor 1.1.0 SELinux policy modules—thereby definitions that assist in creating
ricci 1.0.0 creating new types, Booleans and type enforcement rules.
smartmon 1.1.0 various rules. The type enforcement file (.te) is
tmp 1.0.1 mandatory, while the other two files
vbg 1.0.3 Creating SELinux modules (.fc and .if), if not required, need not be
SELinux policy modules need to explicitly created. I would advise their
To understand the difference be written in the SELinux policy use, but it generally depends on the
made by the removal of the 'amavis' language. It is not a complicated kind of policy module to be developed.
package, again redirect the output of language at all, but like most
seinfo to a file: programming languages, requires a Syntax of the type
certain structure and syntax to be enforcement file
[root@vbg modules]# seinfo > /tmp/new-selinux- followed while creating the modules. The most important thing for
policy Also, once the text files containing a policy module to be clearly
our desired modifications have been distinguished is its name and
...and run a diff on the two files: created, we need to compile them version—the output of the semodule
into a binary policy module (Policy -l command. This is specified as
[root@vbg modules]# diff /tmp/org-selinux- Package). Once the Policy Package the first line in a .te file as policy_
policy /tmp/new-selinux-policy files have been created, they just need module(<policy name>,
6c6 to be tested and then finally loaded to <policy version>).
< Types: 1516 Attributes: 148 enable the desired functionality. New types being introduced by
--- To enable the development the module are declared as type
> Types: 1507 Attributes: 148 and compilation of policy modules, <new type>;.
8c8 install the selinux-policy-devel RPM. Let's create a small policy module
< Booleans: 211 Cond. Expr.: 187 The installed RPM on my system is called test to introduce a new type
--- selinux-policy-devel-2.4.6-106.el5_1.3. called lfy_t. Use the following steps to
> Booleans: 210 Cond. Expr.: 186 This module creates the /usr/ achieve the above:
10,11c10,11 share/selinux/devel/ directory, which 1. Create a work directory for
< Allow: 82576 Neverallow: 0 contains 'include' files and a makefile building and compiling your
< Auditallow: 28 Dontaudit: 5086 for compilation. It also installs three SELinux modules.
--- files—example.te, example.fc and 2. Copy the necessary files needed
> Allow: 81929 Neverallow: 0 example.if—to assist you in the for compiling SELinux modules.
> Auditallow: 28 Dontaudit: 5062 creation of policy modules. 3. Create at least a .te file for your
13c13 The three files are important to SELinux module, specifying
< Type_trans: 1400 Type_change: 17 understand the structure of policy the module name and version
--- modules: number.
> Type_trans: 1387 Type_change: 17  The type enforcement file (a 4. Compile the source file above to a
file with the .te extension—for binary policy package file.
You will see that removing amavis example, /usr/share/selinux/ 5. Load the binary policy package.
has made the following changes: devel/example.te) is the most 6. Test the changes in the
1. Reducing the number of 'types' important file. This contains the SELinux Policy.

88  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________________ How To  |  Admin

Step 1: Create a work directory configuration from tmp/test.tmp iscsid 1.0.0


for building and compiling your /usr/bin/checkmodule: policy configuration mozilla 1.1.0
SELinux modules. loaded mplayer 1.1.0
Instead of working in default /usr/bin/checkmodule: writing binary nagios 1.1.0
directories, experience has taught me representation (version 6) to tmp/test.mod oddjob 1.0.1
to work as a non-root user in non- Creating targeted test.pp policy package openoff 1.0.0
default folders. Let us log in as the rm tmp/test.mod.fc tmp/test.mod pcscd 1.0.0
non-root user and make a working pyzor 1.1.0
directory for our SELinux modules: You should now have the compiled razor 1.1.0
policy package file test.pp: ricci 1.0.0
[vbg@vbg ~]$ mkdir test-selinux smartmon 1.1.0
[vbg@vbg ~]$ cd test-selinux/ [vbg@vbg test-selinux]$ ll test 1.0
total 60 tmp 1.0.1
Step 2: Copy the necessary -rw-r--r-- 1 vbg vbg 437 Sep 24 10:36 Makefile vbg 1.0.3
files needed for compiling SELinux -rw-rw-r-- 1 vbg vbg 0 Sep 24 10:36 test.fc
modules. -rw-rw-r-- 1 vbg vbg 0 Sep 24 10:36 test.if You can see that a module named
The only important file that -rw-rw-r-- 1 vbg vbg 22994 Sep 24 10:36 test.pp test with version 1.0 has been loaded.
you need to copy to your working -rw-rw-r-- 1 vbg vbg 37 Sep 24 10:36 test.te To check whether our new type
directory is the Makefile from the drwxrwxr-x 2 vbg vbg 4096 Sep 24 10:36 tmp has been added, retype the earlier
/usr/share/selinux/devel/ directory. command:
To check if a type lfy_t exists, just
[vbg@vbg test-selinux]$ cp /usr/share/selinux/ use the following command: [root@vbg devel]# seinfo -t | grep lfy
devel/Makefile . lfy_t
[vbg@vbg test-selinux]$ ls [root@vbg devel]# seinfo -t |grep lfy
This shows that we have
Step 3: Create at least a .te file for You will not receive any output. successfully introduced a new type in
your SELinux module, specifying the This shows that the type lfy_t does our SELinux policy by adding a policy
module name and version number: not exist in our policy currently. module.

[vbg@vbg test-selinux]$ vim test.te Step 5: Load the binary policy Up next
package. In this article, we have covered the
Put the following text in the above file: As the root user, use the semodule basics of policy modules. In the next
command to load the compiled test. part of the series, we will look at
policy_module(test,1.0) pp policy package. The option to use adding allow rules, type transition
with the semodule command is -i rules, Booleans and other policy
type lfy_t; (which stands for insert). building blocks. We shall also look
at the audit2allow tool that helps to
~ [root@vbg devel]# semodule -i /home/vbg/test- create policy modules.
:wq selinux/test.pp I hope the article has helped you
To confirm if the module has understand the modular structure
And save the source file. been successfully loaded, list all the of SELinux. It is this modularity
The above step specifies that we modules: that allows administrators to easily
are creating a policy module named create SELinux policy modules for
test with the version 1.0 and are [root@vbg devel]# semodule -l whatever applications they deploy --
declaring a new type to be introduced ccs 1.0.0 without compromising the security
in the policy called lfy_t. clamav 1.1.0 of their system.
dcc 1.1.0 Looking forward to meeting you
Step 4: Compile the source file evolution 1.1.0 all again, next month... 
above to a binary policy package file
To compile the source, simply run By: Varad Gupta
make (ensure you have copied the Varad is an open source enthusiast who strongly believes in the
Makefile in Step 2 shown above): open source collaborative model not only for technology but also for business. India’s
first RHCSS (Red Hat Certified Security Specialist), he has been involved in spreading
[vbg@vbg test-selinux]$ make open source through Keen & Able Computers Pvt Ltd, an open source systems
integration company, and FOSTERing Linux, a FOSS training, education and research
Compiling targeted test module
training centre. The author can be contacted at varad.gupta@fosteringlinux.com
/usr/bin/checkmodule: loading policy

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  89


Open Gurus  |  How To _______________________________________________________________________________________________

‘Typesetting’
Presentations with Beamer
Do you use LaTeX for your document processing requirements?
Then why switch to any other application when you need to create
presentations? Try Beamer instead.

B
eamer (latex-beamer.sourceforge.net) is There is, of course, the
a LaTeX class for making presentation option of installing LaTeX
slides. In LaTex parlance, it’s just another class manually. It's easy to do,
Document Class. but not easier than the previous method. The LaTeX
Why would you want to hack LaTeX to create slides? Beamer user guide shows you how to do it.
Hasn't OpenOffice.org, or worse, a certain Microsoft Now that we are done with the installation, let us
PowerPoint, already won that battle? create our first presentation with LaTeX Beamer. In the
You shouldn't even attempt to use Beamer if you rest of this article, I shall assume that we have used the
have no idea what LaTeX is. However, if you already package manager to install the Beamer LaTeX class. If
use LaTeX—chances are you swear by it—then Beamer you have installed it manually, it will just need a little bit
is for you. With Beamer, you can create slides for that of correlation between the article details and the
upcoming talk without compromising on eye candy, source code.
and with the comfort levels of your favourite document
preparation system. Simple presentations
As an aside, explore and learn LaTeX. If you are a Before we create our own presentation, let us compile
student, you will create better-looking project reports; and one of the shipped examples. Copy the beamerexample-
if you are a writer, you will create more professional looking conference-talk.tex files from /usr/share/doc/latex-
articles, manuals and books. The Resources section at the beamer/examples/a-conference-talk to a sub-directory
end will have some links to learn more about LaTeX. To under your home, say ~/beamer/examples. Now, compile
make the best use of the rest of this article, I shall assume an the .tex file using latex:
intermediate knowledge of LaTeX.
$ latex beamerexample-conference-talk.tex . .
Installation ./beamerexample-conference-talk.toc) [2] [3] [4] [5] [6] [7] [8] [9] [10]
The easiest way to install LaTeX Beamer is to use the [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]
package manager on your Linux distribution. On Debian [26] [27] [28] [29] [30] [31] (./beamerexample-conference-talk.aux) )
and Ubuntu, the package is named as latex-beamer. Do an Output written on beamerexample-conference-talk.dvi (31 pages, 763500
apt-get install: bytes).
Transcript written on beamerexample-conference-talk.log.
# apt-get install latex-beamer
If you see some errors reported, a fix is needed
You will see that some more packages that provide somewhere. We should have the presentation ready in the
extra LaTeX classes need to be installed. Prominent among .dvi file. Now, use the dvipdf utility to convert it into a PDF
these are latex-xcolor and pgf. Hit a y for the installation of file and open it using a PDF reader, such as Evince. Figure 1
the packages to start. You should have the Beamer LaTeX is a screenshot of the first slide.
installation in /usr/share/texmf/tex/latex/beamer/. (Note Impressed? I am. Let's continue getting impressed.
that if you do not have LaTeX installed, it might ask you to Diving in, open the .tex file in a LaTeX editor of your
install more packages.) choice. VIM-LaTeX (vim-latex.sourceforge.net) brings

90  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


____________________________________________________________________________________________________ How To  |  Open Gurus

you the best of both worlds. The \date {October 1, 2009/ LFY}
first line after the comments is
\documentclass{beamer}. So Beamer \begin{document}
is just another LaTeX document class.
Good, just the thing I promised. \begin{frame}
The theme for your \titlepage
presentation is specified using \end{frame}
\usetheme{Darmstdadt}. You can
view all the current themes installed \begin{frame}{Outline}
in /usr/share/texmf/tex/latex/ \tableofcontents
beamer/themes/theme. Then you \end{frame}
specify other appearance-specific Figure 1: An example presentation created using Beamer
settings such as the template, font,
etc. After specifying the author \section{Introduction}  Using multimedia in your
and the title, the main document slides: Beamer ships with the
or the presentation starts from \begin{frame}{What is Beamer?}{Beam it up!} multimedia package that you can
\begin{document}, and a new slide \begin{itemize} use to insert sound, animation or
is enclosed by \begin{ frame} and \item A LaTex class for creating high quality movies. I haven't tried this feature.
\end{ frame}. Let us now create a presentations. So you will have to use it to see
new presentation and learn more \end{itemize} how well it works!
while we put to use what we have \end{frame}  Notes and handouts: Besides
already learnt. \section{Summary} creating the presentation, you
might also want to create notes
Creating a new presentation \begin{frame}{Did we like Beamer?} for yourself or to distribute as
We will create a slide deck consisting handouts. Beamer class also has
of a Title slide, a Table of Contents \begin{itemize} support for creating these.
and two other slides—Introduction \item Yes!
and Summary. Listing 1 gives the \end{itemize} Still hooked?
complete code for the .tex file, which \end{frame} If you have been following this
we will call example.tex: article and at the same time typing
\end{document} in some of the LaTeX class, I am
% A simple presentation in LaTex using Beamer hoping that Beamer has impressed
% Can be used as a template for larger, specific Some of the LaTeX elements are you, or at the very least, you’ll now
presentations generic to any LaTeX document, such consider it as an option. The Beamer
% example.tex as \title, \author and \usepackage. user guide has a lot more detailed
Here are some Beamer-specific information on the topics I have
\documentclass{beamer} elements: touched and more, and is a very
 New Slide: A slide is enclosed by handy reference while you create
\mode<presentation> \begin{ frame} and \end{ frame}. your presentation. For queries,
{  New Section: The section name doubts and suggestions, please feel
\usetheme{Berkeley} before a \begin{ frame} is the free to e-mail me. 
\setbeamercovered{transparent} entry for the new slide in the
} Table of Contents, generated by Resources
\tableofcontents. • Beamer: latex-beamer.sourceforge.
\usepackage[english]{babel} You can now compile the LaTeX net
\usepackage[latin1]{inputenc} file similarly. With what we have • Beamer Documentation: In /usr/
learnt so far, we can easily create share/doc/latex-beamer or in your
source tarball
\usepackage{times} presentations that would contain • LaTeX resources: en.wikipedia.
\usepackage[T1]{fontenc} only text. org/wiki/LaTeX#Further_reading

\title{Beam it with Beamer} More things to try out


 Working with graphics: Working By: Amit Saha
\subtitle{Presentations in LaTex} with images here is the same The author blogs at amitksaha.
as you would do for any LaTeX wordpress.com and can be reached at
\author{Amit Saha} document class by making use of amitsaha.in@gmail.com.
the graphics or graphicsx package.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  91


Tips Tricks
Kill your processes graphically Check processes not run by you
The xkill command closes the connections of a Imagine the following scenario: you get yourself
client to X server. Using the xkill command changes ready for a quick round of Crack Attack against
your mouse cursor into a ‘kill’ sign. Now when you a colleague at work, only to find the game drags
click the left mouse button on any window that you to a halt just as you're about to beat your uppity
want to kill, it gets killed. Note that this program is very subordinate. What could have happened to make
dangerous, yet useful for aborting program windows your machine so slow? It must be some of those other
that otherwise do not shut down. users, stealing your precious CPU time with their
—Arunprasad R, ararunprasad@gmail.com scientific experiments, Web servers or other weird,
geeky applications!
Okay, so let's list all the processes not being run by
Play songs from the command line you. Just run the following command:
You can play any song file from the command
line without using any player but a utility called SOX. ps aux | grep -v `whoami`
More often than not, SOX is available in your distro's
repository. You can install it in a Debian-based system as Or, to be a little cleverer, why not just list the top ten
follows: time-wasters…

apt-get install sox ps aux --sort=-%cpu | grep -m 11 -v `whoami`

To play a song from the command line, use: It is probably best to run this as the root user, as this
will filter out most of the vital background processes.
play song.mp3 Now that you have the information, you can simply kill
their processes, but much more dastardly would be run
...where song.mp3 is the path to your MP3 file. To xeyes on their desktop. Repeatedly!
stop playback, hit Ctrl+C. —Pavan Kumar Nelanuthula,
If your song's file name contains spaces, specify the pavan.n@gmail.com
file name within double quotes. For example:

play "song 2.mp3" Driver information of Ethernet


You can use the following command to get
When playing audio files, you can even specify more information about the driver and firmware version of
than one input file as follows: your Ethernet card as follows:

play "song 2.mp3" "song 3.mp3" "song 5.mp3" # ethtool -i eth0

—Pramod, pramod@icsplindia.com A typical output for the command follows:

92  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


driver: vmxnet /dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3

version: 2.0.1.1 /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

firmware-version: N/A /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

bus-info: 0000:00:11.0
ttyS0 - first serial port
—Parvez Ansari, iamnetizen@gmail.com
port :0X03f8 - i/o address

Defrag your databases IRQ-4 - interrupt number of serial port


Whenever you change the structure of a MySQL
database, or remove a lot of data from it, the files can —Veeraiyan C, veeraiyan@gmail.com
become fragmented resulting in a loss of performance,
particularly when running queries. Just remember to
run the optimiser every time you make any changes to What have you done?
the database: The history command will give you the complete
history of all the commands you've run till now along
mysqlcheck -o <databasename> with their serial numbers. For example:

—Remin Raphael, remin13@gmail.com $ history


1 su -
2 kmail
Restoring defaults in KDE4 3 rm -rf .kde4/share/apps/kmail/mail
Sometimes while personalising your panel you 4 rm -rf .mozilla/
may accidentally delete it. And then you may want to 5 rpm -qa | grep flash
restore the distro's default panel back again. This is how 6 top
we do it on KDE 4. 7 rpm -qa | grep rpm
Log out and open a command prompt using 8 ps -A | grep rpm
Ctrl+Alt+F1. Then log in as the same user and run this 9 cd /var/lib/flash-player-plugin/
command: 10 su -

rm .kde4/share/config/plasma-appletsrc There is a history manipulation command too


called fc. Type:
This is the file where configurations are stored
for any user. If you remove it, the default settings will fc 9
reappear. Use Ctrl+Alt+F7 in order to access the X server
to log back in. This will allow you to edit the command using
—Roshan Kumar Singh, the Vim editor. When you save and exit, it runs the
singh.roshan08@gmail.com command automatically.
—Ashraf Ali, ashrafd2005@gmail.com

I/O address, IRQ number of serial ports


Those of you who are writing device drivers for serial
ports should know the I/O address of each serial port and
its IRQ number. To find out, type the following command:
Share Your Linux Recipes!
The joy of using Linux is in finding ways to get around
setserial -g /dev/ttyS*
problems—take them head on, defeat them! We invite you
to share your tips and tricks with us for publication in LFY
You should get something similar to what’s so that they can reach a wider audience. Your tips could be
shown below: related to administration, programming, troubleshooting or
general tweaking. Submit them at www.linuxforu.com. The
sender of each published tip will get an LFY T-shirt.
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  93


CodeSport
Sandya Mannarswamy

Welcome to another instalment of CodeSport. This is a special Diwali Edition in which


we feature 20 interesting programming questions often asked in interviews.

A
s you know, every month we discuss {
one specific topic in programming and assert (N > 0);
feature a couple of coding questions int f1 = 1;
related to it. However, we will take a int f2 = 1;
break this month since many readers have asked
me for programming questions that they might if (N < 2)
find useful to practice and warm up for prior to an return 1;
interview. So here are 20 interesting programming
questions covering various topics in algorithms and return (find_fib(N-1) + find_fib((N-2));
data structures. I will leave these questions open }
for our readers to answer, and we will feature their Given that find_fib is called from main with N
solutions in next month’s column. Let's get started as 25, how many total calls are made to find_fib?
with the easier ones.
(1) Can you have both const and volatile qualifiers Sorting/searching/string
applied to a single declaration in C? If so, can manipulation problems
you give an example? If not, why not? (6) You are given an array of 2n+1 integers. You
(2) Consider the following code snippet: are told that except for one element, all other
main() elements have a duplicate in the array. Can
{ you find the one element that has no duplicate
int a, b; in the array? What is the time complexity of
a = foo() ; your solution?
b = foo () ; (7) You are given an array A of N integers. A
printf(“a = %d b =%d \n”, a, b); majority element M is an element that appears
} more than N/2 times in the array. For instance,
You do not know anything about function given the array of integers, 10, 6, 10, 3, 10, 10
‘foo’ except that it returns an integer. is the majority element. Given the array 10, 6,
Are the values of a and b printed by the 10, 3, 10, 21, 5, there is no majority element.
printf function the same? If not, can you give For the given array of N integers, write an
an example of function ‘foo’ which will cause a algorithm to find whether a majority element
and b to be different? exists and if so, what is it? The algorithm
(3) Given a word, can you find all its anagrams? should have a worst-case complexity of O (N).
If you were asked to do this for only one word, (8) You are given two strings, S1 and S2. The
what would be your solution? If you were maximum length of either of the strings is N
asked to find the anagrams for 10,000 words, characters. You need to create a new string
would your solution change? containing only those characters that appear
(4) What is the time complexity of searching for in both the strings. Remember that the trivial
an element in a… solution is O (N^2) wherein we compare each
a) Linked list containing N elements character of the first string to every character
b) Hash table containing N elements in the second string. Can you come up with a
c) Binary search tree containing N elements better solution?
d) A binary heap containing N elements (9) You are given a sorted sequence of distinct
e) A d-heap containing N elements integers, a1, a2, a3 …. aN. Give an algorithm to
(5) Consider the following code snippet: determine whether there exists an index i such
int find_fib (int N) that the element at the ith position is equal in

94  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_______________________________________________________________________________________________ Guest Column  |  CodeSport

value to i. For example, in the sequence, -3, 4, 3, 34, 10, we vertices have an even degree, can you give an algorithm
have a3=3, which satisfies the criterion; whereas in the to determine whether there exists a subset S of k vertices
sequence -3, 40, 2, 12, 6, there is no such index i. What is in a graph G, such that every edge in G is incident upon
the complexity of your algorithm? at least one vertex in S?
(10) Let’s suppose you are given an array A of N sorted
numbers that has been circularly shifted k positions to A few more challenging questions
the right. For example, (34, 40, 2, 12, 28) is a sorted array (16) Given three arrays A, B and C of integers containing
that has been circularly shifted k=2 positions, while positive and negative numbers, we have to determine if
(34, 40, 45, 61, 2, 12, 28) has been shifted k=4 positions. there are three elements a € A, b € B and c € C such that
Suppose you know what k is, give an O (1) algorithm to their sum a+b+c is equal to zero.
find the largest number in A. If you do not know the value (17) Given an input array of distinct 100,000 integers
of k, can you give an algorithm with a complexity of O to be sorted, you are told that you have memory
(N) for finding the largest number in A? Can you improve available only for 1,000 numbers at a time. You have
your solution to an algorithm of complexity O (logN)? no constraints in terms of disk storage. Can you come
(11) Design a data structure that allows you to search, up with an algorithm to sort the 100,000 numbers? If
insert and delete an integer X in O (1) time in a table you are told that the range of values of the input array
(i.e., constant time, independent of the total number of is also 1 to 100,000, how would your solution change?
integers stored). Assume that 1≤X≤N. Also assume that What would be your solution if the input array
the maximum number of integers in the table can only contained duplicates?
be M at any one time. You are given M+N units of space (18) Given the following code snippet:
available for the table. Though at first you may want to bool foo (int n)
use a flags array of M flags, note that you cannot initialise {
the flags array since that would take a time of O (M) and for (i=3; i < sqrt(n)+0.5; i+=2)
hence is not permitted. So you need to work with a flags {
array that can contain uninitialised data. if (n % i == 0)
(12) You are given an array of N integers. Some of the integers {
are positive and others negative. You have to partition return false;
the array such that all the negative elements occur first }
and then all the positive elements. (There is no need to }
sort the elements within the sub-partition of all negative return true;
and all positive elements.) What is the time complexity of }
your solution? can you figure out what is the purpose of the
(13) Among all the spanning trees of a weighted and function foo?
connected graph, the one (possibly more) with the least (19) Given a 32-bit integer N, come up with an algorithm to
total weight is called a minimum spanning tree (MST). find the number of zeroes in the binary bit representation
There are well-known algorithms for determining the of N. What is the time complexity of your algorithm?
MST of a given weighted connected graph G such as (20) Let S be a sorted array of n integers. Give an algorithm
Prim’s and Kruskal’s algorithm. Our question is as follows: that finds the pair of elements x, y € S that maximises
Given a minimum spanning tree, is the path between a |x-y|. What is the time complexity of your solution?
pair of vertices in a minimum spanning tree necessarily Readers are requested to send their solutions to these
the shortest path between the two vertices in the full questions, which I will discuss in next month’s column.
graph G? Give a proof or a counter example. Also, if you are preparing for an interview in the computer
science programming field, you may find it useful to visit my
Graphs and trees programming interviews discussion group ‘Computer Science
(14) All of you are familiar with tree traversals. Pre-order, Interview Training (India)’ on LinkedIn (www.linkedin.com).
in-order, and post-order traversals are the three types of If you have any favourite programming puzzles that
tree traversals. If the root node is visited before either of you would like to discuss on this forum, please send them
its sub trees, this is a pre-order. If the root node is visited to me, along with general feedback at sandyasm_AT_
after visiting the left sub tree and right sub tree, then it yahoo_DOT_com. Till we meet again next month, happy
is a post-order traversal. If the left sub tree is visited first, programming. 
then the root node, followed by the right sub tree, then
it is an in-order traversal. Given only the pre-order and About the author:
in-order traversals of a tree, is it possible to construct a Sandya Mannarswamy. The author is a specialist in compiler
unique binary tree from it? optimisation and works at Hewlett-Packard India. She has a number
(15) Given an undirected graph G (V, E), where V is the set of publications and patents to her credit, and her areas of interest
include virtualisation technologies and software development tools.
of vertices and E is the set of edges, and given that all

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  95


Developers  |  Column

Modelling Epidemics
Most of us have been affected by the fear of H1N1 (swine flu). As with any
epidemic, public health organisations need to model this pandemic too,
in order to be prepared with preventive or precautionary actions. In this
article, you will look at how Scipy can be used to model an epidemic using
the simple SIR model.
Python in Research, Part 3

T
he basic idea is that the normalised so that the sum of the three is
population consists of three 1. In this case, the ratio of b:k is indicative
groups—the susceptible, of the number of people infected by an
the infected and those who infected person. Assuming that each
have recovered. It is reasonable to assume infected person infects another two, what
that the rate at which susceptible people will happen in the next 100 days?
are infected will be proportional to the Here's how you can find out by
possible pairs of susceptible and infected substituting the values in the following
populations, i.e., their product. It is also equation:
reasonable to assume that the rate at b = 2 * k = 0.4
which people recover will be proportional k = 0.2
to the infected population. Finally, the The Scipy package includes an
rate of change in the infected group will integrate module, which can be used
be the difference between the infection to compute the susceptible, infected
rate and the recovery rate. The SIR model and recovered populations for each
can, thus, be represented as a set of simple succeeding day, for as many days as
ordinary differential equations (assuming needed.
that there are no births or deaths):
 ds/dt = –bs(t)i(t) # rate of change import scipy as np
amongst the susceptible from scipy import integrate
 di/dt = bs(t)i(t) – ki(t) # rate of change def dif_eq(V,t,b,k):
amongst the infected """
 dr/dt = ki(t) # rate of change of those Compute the derivatives for the differential
who’ve recovered equations
If the factors b and k are known, V = current values of [Susceptible, Infected,
and the initial values of the susceptible, Recovered]
infected and recovered populations are """
also known, the above equations can be dVdt = np.zeros(3)
integrated and a solution found. dVdt[0] = -b*V[0]*V[1]
dVdt[1] = b*V[0]*V[1] - k*V[1]
An elementary example dVdt[2] = k*V[1]
Suppose 10 people in a city of a million return dVdt
are infected. The infectious period of P = 1e6 # a million
a flu typically lasts for five days; so, an I0 = 10/P # 10 people are infected
estimated 20 per cent of the infected cases S0 = 1 - I0 # Susceptible population
recover each day. R0 = 0 # Initial Recovered
Usually, the values of s, i and r are k = 0.2 # Infection lasts 5 days

96  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________________________________________________________________ Column  |  Developers

maximum people infected at one time is about 16 per


cent, which is 1,60,000 in a population of a million!

Impact of vaccinations and quarantine


Vaccination results in a reduction of the susceptible
population. These people directly move into the
recovered category without being infected. You can
modify the dif_eq method as follows:

def dif_eq_vac(V,t,b,k,vac):
dVdt = np.zeros(3)
dVdt[0] = -b*V[0]*V[1] - vac
dVdt[1] = b*V[0]*V[1] - k*V[1]
dVdt[2] = k*V[1] + vac
return dVdt

Figure 1: Susceptible, infected and recovered populations in a SIR model If 1,000 or 5,000 people are vaccinated each day, you
will need to modify your code to include:
b = .4 # Contact ratio is 2
t_array = np.arange(0, 100, 1) t_array = np.arange(0, 200, 1)
RES = integrate.odeint(dif_eq, (S0,I0,R0), t_array,args=(b,k)) RES1 = integrate.odeint(dif_eq, (S0,I0,R0), t_array,args=(b,k))
graph(RES) RES2 = integrate.odeint(dif_eq_vac, (S0,I0,R0), t_array,args=(b,k,1000/P))
RES3 = integrate.odeint(dif_eq_vac, (S0,I0,R0), t_array,args=(b,k,5000/P))
You define a method dif_eq which computes the
derivatives for the system of differential equations. The Let’s suppose a fraction q of the infected are
parameters to this method are an array containing the quarantined. Hence, only (1-q) fraction will be a part
current values, the current time and additional arguments of the infected group. The remaining will be treated
-- b and k, in this case. as recovered/removed. The code for the differential
The key method is odeint whose parameters are a equations becomes, as follows:
function defining the differential equations—for example,
the dif_eq above, a list containing the initial values, a def dif_eq_quarantine(V,t,b,k,q):
time array at which solutions need to be found, and any dVdt = np.zeros(3)
additional arguments to the dif_eq function. The best way dVdt[0] = -b*V[0]*V[1]
to observe the results is graphically. dVdt[1] = b*(1-q)*V[0]*V[1] - k*V[1]
dVdt[2] = k*V[1] + b*q*V[0]*V[1]
import matplotlib.pyplot as plt return dVdt
def graph(RES):
plt.subplot(2,1,1) Let’s assume that a third of the infected population is
plt.plot(t_array, RES[:,0], '-', label='Susceptible') quarantined. Add the code and call the plot routine:
plt.plot(t_array, RES[:,2], '-', label='Recovered')
plt.xlabel('Days') RES4 = integrate.odeint(dif_eq_quarantine, (S0,I0,R0), t_array,args=(b, k,
plt.ylabel('Susceptible/Recovered') .333))
plt.legend() graph2(RES1, RES2, RES3, RES4)
plt.subplot(2,1,2)
plt.plot(t_array, RES[:,1], '-', label='Infected') The modified graph routine shows the infected
plt.xlabel('Days') populations, with and without vaccination:
plt.ylabel('Infected')
plt.legend() def graph2(RES1, RES2, RES3, RES4):
plt.show() plt.plot(t_array, RES1[:,1], '-', label='None')
plt.plot(t_array, RES2[:,1], '-', label='1000 per day')
It is at times easier to show sub-plots. In the example plt.plot(t_array, RES3[:,1], '-', label='5000 per day')
above, a plot with two rows and one column is created. plt.plot(t_array, RES4[:,1], '-', label='1/3 Quarantined')
In the first row, a sub-plot shows the susceptible and plt.xlabel('Days')
recovered populations. The second sub-plot shows the plt.ylabel('Infected')
infected population. The result is shown in Figure 1. The plt.legend()
infections peak about 60 days after the outbreak and the plt.show()

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  97


Developers  |  Column ______________________________________________________________________________________________________

by observations. The model can be enhanced to include


births, deaths and disease-induced mortalities and much
more, as shown in the second reference.
The concept of viruses has been applied to ideas (meme),
computer malware, viral marketing, etc. An interesting
example is an application to the modelling of a zombie attack
www.wired.com/wiredscience/2009/08/zombies and www.
mathstat.uottawa.ca/~rsmith/Zombies.pdf.
With the Scipy integrate module, you are not just
restricted to understanding the dynamics of viruses and
their impact on humans. Another very important model
in biological systems is the predator-prey model. You can
find a tutorial on using the Scipy integrate module to solve
those equations at www.scipy.org/LoktaVolterraTutorial.
Furthermore, pyplot offers tremendous versatility and
flexibility in presenting the results in an attention-grabbing
Figure 2: Impact of vaccination and quarantine on the infected populations way that quickly conveys the desired information. 

The results are shown in Figure 2. The infections now References for the SIR model
peak at 4 per cent about 70 days after the outbreak. The • www.math.duke.edu/education/ccp/materials/diffcalc/sir/
effect of a quarantine is dramatic even with only a third of sir3.html
the infected population isolated. • wiki.deductivethinking.com/wiki/Epidemiology
The intention of the above examples is to show the
ease with which various models can be created and to
By: Dr. Anil Seth
analyse the impact of certain safety measures. Strategies
The author is a consultant by profession and can be reached at
can be implemented and monitored. The effort is not in seth.anil@gmail.com
coding. It is in developing models that can be verified

98  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


_____________________________________________ Guest Column  |  The Joy of Programming

S.G. Ganesh

Understanding the sizeof Operator


In C/C++, the sizeof operator is used extensively. In this column, we’ll look at some simple and
interesting aspects of the sizeof operator in a Q&A format.

A
ssume that the sizeof pointer size and int is 4. 3) It prints 4. How about printing ‘hello’? No, it does
1) Which is the only ‘compile-time’ operator in C? not print that! If sizeof is given a function call as
argument, it returns the size of the return type.
2) Can sizeof return zero? The return type of printf is int (printf returns the
number of characters it successfully printed). Since
3) What does the following statement print? we assumed sizeof int to be 4 here, the outer printf
prints 4!
printf(“%d”, sizeof(printf(“hello”)));
4) The output will be 1 2. For sizeof(‘1’), the argument
4) What will be the output of the statement below? is a character ‘1’, and size of a character is 1 in C.
For sizeof(“1”), the argument “1” is a string literal,
printf(“%d %d”, sizeof(‘1’), sizeof(“1”)); which has a terminating character ‘\0’ in it; so the
size of the string literal is 2.
5) What does the following program print?
5) It prints 10 1. C/C++ does not provide a direct
#define SIZE(ARRAY) (sizeof(arr)/sizeof(arr[0])) way to find the size of an array. One widely-used
‘trick’ is to divide the size of the array by the size
int size(int arr[]){ of the element of the array. The macro SIZE does
return (sizeof(arr)/sizeof(arr[0])); precisely that.
} Given the declaration “int arr[10];”, sizeof(arr)
is 10 * 4 = 40 bytes, since the array of size 10 is
int main(){ capable of holding 10 integers. The expression
int arr[10]; sizeof(arr[0]) is nothing but sizeof(int), which is 4.
printf(“%d %d”, SIZE(arr), size(arr)); So the expression sizeof(arr)/sizeof(arr[0]) gives
} the value 10, which is the size of the array.
Coming to the size function, in the signature
6) What is the output of the following statement? int size(int arr[]), the argument is “int arr[]”. The
argument is equivalent to the signature int size(int
printf(“%d %d %d”, sizeof(void *), *arr)! In C, we cannot pass whole arrays— we
sizeof(int *), sizeof(int **)); can only pass the base address of an array. So,
in the size function, the expression “sizeof(arr)/
sizeof(arr[0])” results in 1 assuming the size of the
The answers pointer and int is the same (4 bytes)!
1) A compile time operator means that the operator
is evaluated entirely at compile-time. For the sizeof 6) The output is 4 4 4. The sizes of pointer types are
operator, its use results in a constant integer value the same, irrespective of the type of the pointer
(technically size_t type) at compile-time. So, the only and the level of indirection! 
‘compile-time’ operator in C is sizeof (except for variable
length arrays where sizeof evaluates the size at runtime).
About the author:
2) No. sizeof always returns the size of a variable or type, S G Ganesh is a research engineer in Siemens (Corporate
Technology). His latest book is “Cracking the C, C++ and Java
and so it cannot be zero. If you give an incomplete type
Interview”, published by Tata McGraw-Hill. You can reach him at
(say a struct declaration or void type) as an argument sgganesh@gmail.com.
to sizeof, it will result in a compiler error.

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  99


A Voyage to the
Kernel
Part 18
Segment 3.7, Day 17
W
e have looked at various aspects of *offset += count;
the Linux kernel over the past issues return count;
of this magazine. We have also tried }
to code and load our own module. Of
late, our focus has shifted to the theoretical side of Now let's look at the ikconfig_init segment (a critical
kernel design and implementation. I will try to wind one), which does the initiation:
up the theoretical aspects over a couple of articles,
and then we can devote our time to trials. static int __init ikconfig_init(void)
We have already seen how the system organises {
processes into the user and kernel space. Figure 1 struct proc_dir_entry *entry;
summarises the overall architecture of the design
we have looked at. The figure encapsulates the /* create the current config file */
various concepts we’ve discussed— the interaction entry = create_proc_entry("config.gz", S_IFREG | S_IRUGO,
of applications with the kernel, accessing system &proc_root);
calls, using glibc, etc. If you have missed any one if (!entry)
of the earlier columns, you can find them at www. return -ENOMEM;
linuxforu.com.
In order to avoid some of the perplexities entry->proc_fops = &ikconfig_file_ops;
associated with the actual operations taking place, entry->size = kernel_config_data_size;
take a look at Figure 2, which illustrates the process in
depth so that novice users can comprehend it well. return 0;
When discussing the configuration (modification) }
of kernel properties, I didn't mention the code that
performs the action. Now we can look at some of the And finally, here is the code that performs the clean-
relevant portions that perform the related functions. up work:
If you need to review the 'global and useful constants'
section, here is the associated code: static void __exit ikconfig_cleanup(void)
{
static ssize_t remove_proc_entry("config.gz", &proc_root);
ikconfig_read_current(struct file *file, char __user *buf, }
size_t len, loff_t * offset)
{ module_init(ikconfig_init);
loff_t pos = *offset; module_exit(ikconfig_cleanup);
ssize_t count;
Device drivers
if (pos >= kernel_config_data_size) It is very interesting to meddle around with device
return 0; drivers (DD). And it is even more exciting to write our
own DD! So here in this column, I will restrict myself
count = min(len, (size_t)(kernel_config_data_size - pos)); to some of the basic ideas concerning DD and we will
if (copy_to_user(buf, kernel_config_data + MAGIC_SIZE + pos, come back to this when we start our trial section.
count)) Well, as you might know, in Linux, devices are
return -EFAULT; represented as files. If you have not seen this, I suggest
you glance through your /dev/ directory. You might think

100  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


______________________________________________________________________________ Guest Column  |  A Voyage to the Kernel

that this is not a good idea since it allows unauthorised access to


hardware. But that’s not true. If you implement it in the proper
way, the device can never be accessed wrongly by a program. User Applications
User
In Linux, you can find many drivers and they are identified Space
by their unique major number. It is also interesting to note that GNU C Library (glibc)
since a particular DD may be used to control different physical
and virtual devices (the HDD and partitions, for example), the GNU/ System Call Interface
individual device will be assigned a minor number (ranging from Linux

0 to 255). You can comprehend this better if you look at the box Kernel Kernel
titled ‘Device driver nomenclature’. Space

Note the exceptions mentioned in the box. These exceptions Architecutre-Dependent Kernel Code
are seen for DD corresponding to terminals and serial interfaces
(which are assigned major numbers 4 and 5). Here, the devices Hardware Platform
with the number 4 are essentially virtual consoles, simple serial
interfaces and pseudo-terminals. You may note that the virtual
Figure 1: Tier architecture
consoles are assigned the numbers ranging from 0 (which
obviously corresponds to tty0!) to 63 and /dev/tty0 or /dev/console
User-space Kernel-space
corresponds to the current virtual console.
For a serial interface there are two logical devices—ttySn User Application C-Library Kernel System call
(dial-in device) and cuan (call-out device). When ttySn is
getpid(void) Load arguments
opened, the kernel restricts access to it for other programs eax=_NR_getpid,
transition to kernel (int 80) system_call
till the DTR line is active. And when it comes to the accessing
call
of cuan, the corresponding process will be provided with system_call_table[eax]

sys_getpid()
immediate access to the serial interface (provided it is not in
return
use). This will keep on blocking any process that tries to use syscall_exit

ttySn (assigned with minor numbers 64 to 127). You can also resume_userspace
see that the system assigns the minor numbers from 128 to 255 Return
for pseudo-terminals. The master terminal (ptyn) is assigned
128+n and the corresponding slave (ttypn) is given 192+n.
The major number 5 is assigned for the current terminal
and call-out devices. /dev/tty is given the minor number 0. Figure 2: User space and kernel space
And the corresponding cuan devices are assigned with minor
numbers 64+n. for USB Mass Storage devices:
Here is another list that could be handy when you write DD
to access some input devices: #include <linux/sched.h>
 11 char Raw keyboard device (Linux/SPARC only) #include <linux/errno.h>
• 0 = /dev/kbd (raw keyboard device) #include "usb.h"
 11 char Serial Mux device (Linux/PA-RISC only) #include "initializers.h"
• 0 = /dev/ttyB0 (first mux port) #include "debug.h"
• 1 = /dev/ttyB1 (second mux port) #include "transport.h"
 11 block SCSI CD-ROM devices
• 0 = /dev/scd0 (first SCSI CD-ROM) /* This places the Shuttle/SCM USB<->SCSI bridge devices in multi-target
• 1 = /dev/scd1 (second SCSI CD-ROM) * mode */
Akin to the filesystem (you can guess why it is so!), the int usb_stor_euscsi_init(struct us_data *us)
DD is required to be 'made known' to the kernel. This is made {
possible with the help of the driver modules that are initialised int result;
while booting the system. When you code, the following list of
functions will be helpful while performing this: US_DEBUGP("Attempting to init eUSCSI bridge...\n");
us->iobuf[0] = 0x1;
int register_chrdev(unsigned int major, const char * name, struct result = usb_stor_control_msg(us, us->send_ctrl_pipe,
file_operations *fops); 0x0C, USB_RECIP_INTERFACE | USB_TYPE_VENDOR,
int regi'ster_blkdev(unsigned int major, const char * name, struct 0x01, 0x0, us->iobuf, 0x1, 5*HZ);
file_operations *fops); US_DEBUGP("-- result is %d\n", result);

Since we are dealing with device drivers, I think some of return 0;


you might be interested in the special initialisers that we use }

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  101


A Voyage to the Kernel  |  Guest Column ______________________________________________________________________________

/* This function is required to activate all four slots on


Device driver nomenclature the UCR-61S2B
* flash reader */
0 Unnamed devices (e.g., non-device mounts) int usb_stor_ucr61s2b_init(struct us_data *us)

0 = reserved as null device number {


struct bulk_cb_wrap *bcb = (struct bulk_cb_
See block major 144, 145, 146 for expansion areas.
wrap*) us->iobuf;
struct bulk_cs_wrap *bcs = (struct bulk_cs_
1 char Memory devices wrap*) us->iobuf;

1 = /dev/mem................................................Physical memory access int res, partial;


static char init_string[] = "\xec\x0a\x06\
2 = /dev/kmem......................................Kernel virtual memory access
x00$PCCHIPS";
3 = /dev/null.......................................................................Null device
4 = /dev/port............................................................... I/O port access US_DEBUGP("Sending UCR-61S2B initialization
5 = /dev/zero..............................................................Null byte source packet...\n");

6 = /dev/core.............................. OBSOLETE - replaced by /proc/kcore


bcb->Signature = cpu_to_le32(US_BULK_CB_
7 = /dev/full................................................. Returns ENOSPC on write
SIGN);
8 = /dev/random...................... Nondeterministic random number gen. bcb->Tag = 0;
9 = /dev/urandom..................Faster, less secure random number gen. bcb->DataTransferLength = cpu_to_le32(0);

10 = /dev/aio............................. Asyncronous I/O notification interface bcb->Flags = bcb->Lun = 0;


bcb->Length = sizeof(init_string) - 1;
11 = /dev/kmsg..............................Writes to this come out as printk's
memset(bcb->CDB, 0, sizeof(bcb->CDB));
1 block RAM disk memcpy(bcb->CDB, init_string, sizeof(init_string)
0 = /dev/ram0.............................................................. First RAM disk - 1);

1 = /dev/ram1..........................................................Second RAM disk


res = usb_stor_bulk_transfer_buf(us, us->send_
...
bulk_pipe, bcb,
250 = /dev/initrd..................................................Initial RAM disk {2.6} US_BULK_CB_WRAP_LEN, &partial);
if(res)

Older kernels had /dev/ramdisk (1, 1) here /dev/initrd refers to a RAM return res;

disk which was preloaded by the boot loader; newer kernels use /dev/
ram0 for the initrd. US_DEBUGP("Getting status packet...\n");
res = usb_stor_bulk_transfer_buf(us, us->recv_
bulk_pipe, bcs,
2 char Pseudo-TTY masters US_BULK_CS_WRAP_LEN, &partial);
0 = /dev/ptyp0........................................................... First PTY master
1 = /dev/ptyp1.......................................................Second PTY master return (res ? -1 : 0);
}
...
255 = /dev/ptyef...................................................... 256th PTY master
We can meddle with all these when we
begin our experimental session!
2 block Floppy disks In case the DD is already registered
0 = /dev/fd0....................................... Controller 0, drive 0, autodetect under a particular major number
and the corresponding file operation
1 = /dev/fd1....................................... Controller 0, drive 1, autodetect
does not match with those, then the
2 = /dev/fd2....................................... Controller 0, drive 2, autodetect register_chrdev() function will return a
3 = /dev/fd3....................................... Controller 0, drive 3, autodetect negative value.
128 = /dev/fd4................................... Controller 1, drive 0, autodetect You may come across two types
of devices—viz., block-oriented and
129 = /dev/fd5................................... Controller 1, drive 1, autodetect
character-oriented devices. In the
130 = /dev/fd6................................... Controller 1, drive 2, autodetect case of the first set of devices, any
131 = /dev/fd7................................... Controller 1, drive 3, autodetect given block can be read or written to
and so on ... at the will of the programmer (i.e.,
Continued on next page… they support random access). This
task is done using cache. This feature

102  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


______________________________________________________________________________ Guest Column  |  A Voyage to the Kernel

of random access is essential for


filesystems. So you can guess why we Continued from previous page… Device driver nomenclature
are mounting them as block devices.
In the second case, the access can However, you may come across an 'exception' to this rule if you look at the
be processed sequentially (without following list:
using a buffer). Devices like printers,
scanners, sound cards, etc, come 4 char TTY devices
under this. But you may note that
some of the internal operations of 0 = /dev/tty0.....................................................Current virtual console
these devices still rely on blocks that 1 = /dev/tty1..........................................................First virtual console
are, again, inaccessible randomly. ...
Polling count helps us to track errors 63 = /dev/tty63..................................................... 63rd virtual console
in the data terminal. It also has a time-
64 = /dev/ttyS0................................................... First UART serial port
out feature, which is illustrated in the
following code: ...
255 = /dev/ttyS191.......................................... 192nd UART serial port
if(need_resched) schedule();
} while(!LP_READY(minor,sta tus) && count <
UART serial ports refer to 8250/16450/16550 series devices.
LP_CHAR(minor));
if (count == LP_CHAR(minor)) { return 0; Older versions of the Linux kernel used this major number for BSD PTY
/* Timeout, current character not printed */ devices. As of Linux 2.1.115, this is no longer supported. Use major
outb_p( Ipchar, numbers 2 and 3.
LP_B(minor));
return 1; 4 block
}
Aliases for dynamically allocated major devices to be used when
it’s not possible to create the real device nodes because the root
You can find that the LP_
filesystem is mounted as read-only.
CHAR(minor) count is set to LP_INIT_
CHAR. This can be changed using ioctl. 0 = /dev/root
The ioctl functionality (part of the
system call) is used to provide access to 5 char Alternate TTY devices
the device kernel space. 0 = /dev/tty.............................................................Current TTY device
Here is the code that performs the
initialisation activity of the function: 1 = /dev/console......................................................... System console
2 = /dev/ptmx.....................................................PTY master multiplex
static long do_ioctl(struct file *filp, unsigned int cmd, 64 = /dev/cua0................................................Callout device for ttyS0
unsigned long arg)
...
{
int error = -ENOTTY;
255 = /dev/cua191......................................Callout device for ttyS191

if (!filp->f_op)
goto out; {
out: struct address_space *mapping = filp-
if (filp->f_op->unlocked_ioctl) { return error; >f_mapping;
error = filp->f_op->unlocked_ioctl(filp, cmd, } int res;
arg); /* do we support this mess? */
if (error == -ENOIOCTLCMD) static int file_ioctl(struct file *filp, unsigned int cmd, if (!mapping->a_ops->bmap)
error = -EINVAL; unsigned long arg) return -EINVAL;
goto out; { if (!capable(CAP_SYS_RAWIO))
} else if (filp->f_op->ioctl) { int error; return -EPERM;
lock_kernel(); int block; if ((error = get_user(block, p)) != 0)
error = filp->f_op->ioctl(filp->f_dentry- struct inode * inode = filp->f_dentry->d_inode; return error;
>d_inode, int __user *p = (int __user *)arg;
filp, cmd, arg); lock_kernel();
unlock_kernel(); switch (cmd) { res = mapping->a_ops-
} case FIBMAP: >bmap(mapping, block);

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  103


A Voyage to the Kernel  |  Guest Column ______________________________________________________________________________

unlock_kernel(); unsigned int cmd, unsigned long arg);


return put_user(res, p); static int sock_fasync(int fd, struct file *filp, int on);
} static ssize_t sock_readv(struct file *file, const struct iovec *vector,
case FIGETBSZ: unsigned long count, loff_t *ppos);
if (inode->i_sb == NULL) static ssize_t sock_writev(struct file *file, const struct iovec *vector,
return -EBADF; unsigned long count, loff_t *ppos);
return put_user(inode->i_sb->s_blocksize, p); static ssize_t sock_sendpage(struct file *file, struct page *page,
case FIONREAD: int offset, size_t size, loff_t *ppos, int more);
return put_user(i_size_read(inode) - filp->f_pos, p);
} static struct file_operations socket_file_ops = {
.owner = THIS_MODULE,
return do_ioctl(filp, cmd, arg); .llseek = no_llseek,
} .aio_read = sock_aio_read,
.aio_write = sock_aio_write,
Networking .poll = sock_poll,
Today, we will look at some of the fundamental functionalities .unlocked_ioctl = sock_ioctl,
(that can handle network services) required when you code. .mmap = sock_mmap,
Since some of our readers may not have a strong background .open = sock_no_open, /* special open code to disallow open via /proc
in networking, we will spend some time reviewing the basic */
networking related concepts. .release = sock_close,
In Linux, you can use sockets for accessing network .fasync = sock_fasync,
services. And you can employ the following functionalities .readv = sock_readv,
to do higher-end tasks: .writev = sock_writev,
.sendpage = sock_sendpage
int socket(int addr_fami Ly,int type,int protocol); };
int bind(int s,struct sockaddr *address,int address_len);
int listen(int s,int backlog); Various functions like net_family_write_lock are also included:
int connect(int s,struct sockaddr *address,int address_len);
int accept(int s,struct sockaddr *address,int *address_len); static void net_family_write_lock(void)
int send(int s,char *msg,int len,int flags); {
int sendto(int s,char *msg,int len,int flags, struct sockaddr *to, int spin_lock(&net_family_lock);
tolen); while (atomic_read(&net_family_lockct) != 0) {
int recv(int s,char *buf,int Len,int flags); spin_unlock(&net_family_lock);
int recvfrom(int s,char *buf,int len,int flags,
struct sockaddr *froro,int *fromlen); yield();
int getsockopt(int s,int level,int oname,char *ovalue,
int *olen); spin_lock(&net_family_lock);
iht setsockopt(int s,int level,1nt oname,char *ovalue, }
int *olen); }

The above code shows the set of C library routines that As I said, since networking in Linux is a vast subject, we
are included in the interface. It is important to note that these will be dedicating the next article entirely to it. I will also be
functions rely on the system call socketcall. The socket function briefing readers about the basic concepts required to meddle
is initiated by the following code: with networking in Linux. I would recommend that you refer
to an undergraduate module in networking, if you don't have
static int sock_no_open(struct inode *irrelevant, struct file *dontcare); a clear picture. I will be including concepts related to the layer
static ssize_t sock_aio_read(struct kiocb *iocb, char __user *buf, architecture models, protocols, conversion algorithms, etc, in
size_t size, loff_t pos); the next column.
static ssize_t sock_aio_write(struct kiocb *iocb, const char __user *buf, Happy kernel hacking! 
size_t size, loff_t pos);
static int sock_mmap(struct file *file, struct vm_area_struct * vma); By: Aasis Vinayak PG
The author is a hacker and a free software activist who does
static int sock_close(struct inode *inode, struct file *file); programming in the open source domain. He is the developer
static unsigned int sock_poll(struct file *file, of V-language—a programming language that employs AI
and ANN. His research work/publications are available at
struct poll_table_struct *wait);
www.aasisvinayak.com
static long sock_ioctl(struct file *file,

104  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


The Complete Magazine
On Open Source

Features not to be missed www.linuxforu.com


Technical Content: Technology content—howtos, Reviews: Detailed review of new products and the
tips & tricks, coding—catering to System Admins, compatibility with Linux & Open Source
Developers and Linux Professionals
Success Stories
FOSS Bytes: Latest information on major Stories of individuals & companies who have
technology break-through in the filed of Linux & benefited by the use of Linux & Open Source
Open Source. Key industry announcements &
happenings from the world of Linux & Open Case Studies:
Source Linux development, migration and adoption stories
D I DWI AWL AI L SI P SE PC EI CA IL A L

'Linux'Linux For &


For You'
Subscribetoto
Subscribe
You' & Save
Save upto upto
25%+25%+ Get Assured
Get Assured Gifts!!!
Gifts!!!

55 33 11
YearYs ears
(60 Issues)
(60 Issues)
YearsYea
rs
(24 Issues)
(24 Issues)
Year Yea
(12 Issues)
(12 Issues)
r

Rs 4,500
4,500
at Rs at at Rs 2,880
at Rs 2,880 at Rs 1,080
at Rs 1,080
and Get
and Get and Get
and Get and Get
and Get
8GB 8GB Pendrive 4GB Pendrive
Pendrive 4GB Pendrive 2GB Pendrive
2GB Pendrive
worth
worth Rs 1700 worthworth
Rs 1700 Rs 1000 worthworth
Rs 1000 Rs 600Rs 600
FREE
FREE FREE
FREE FREE
FREE
8GB 8GB 4GB 4GB 2GB 2GB

Magazine Magazine Period Cover PriceCoverOffer


Period Price OfferAssured
Price Price Gifts
Assured Gifts
(Rs.) (Rs.)(Rs.) (Rs.)
Linux For You 5 Years (605issues)
Linux For You Years (60 6000
issues) 60004500 8 GB Pendrive
4500 8 GB Pendrive
(With CD/DVD)
(With CD/DVD)
3 Years (363issues)
Years (36 3600
issues) 36002880 4 GB Pen Drive
2880 4 GB Pen Drive
1 Year (12 1issues) 1200
Year (12 issues) 12001080 2 GB Pen Drive
1080 2 GB Pen Drive
ORDER ORDER
FORM FORM Offer valid till 30th
Offer validNovember, 2009
till 30th November, 200

Signature (as on the card)


Signature (as on the card)
Send this filled-in form or its photocopy to :
SendPvt
EFY Enterprises thisLtd
filled-in formOkhla
D-87/1, or its Industrial
photocopyArea,
to : Phase 1, New Delhi 110 020; Ph: 011-26810601-03;
EFY Enterprises
Fax: 011-26817563; Pvt Ltd D-87/1, Okhla
e-mail: info@efyindia.com; Industrial
website: Area, Phase 1, New Delhi 110 020; Ph: 011-26810601-03;
www.efyindia.com
Fax: 011-26817563; e-mail: info@efyindia.com; website: www.efyindia.com
Terms:- # These rates are applicable for new subscribers as well as renewal by existing subscribers. # The rates are valid for subscribers within India only. # Please allow 4-6 weeks
for processingTerms:-
of your#subscription.
These rates#are applicableCopies
Subscription for newwill
subscribers as by
be delivered wellordinary
as renewal
post by
as existing
soon as subscribers. # The rates
the issue is released arementioned/Displayed
# Gifts valid for subscribers and
within
theIndia
giftsonly.
sent #may
Please
be allow 4-6 w
for but
slightly different processing of your subscription.
will be approximately # Subscription
of the same Copies ifwill
value # Disputes, any,beare
delivered
subjectby
to ordinary
exclusivepost as soonofascompetent
jurisdiction the issue courts
is released # Giftsinmentioned/Displayed
and forums Delhi/New Delhi only.and the gifts sent ma
slightly different but will be approximately of the same value # Disputes, if any, are subject to exclusive jurisdiction of competent courts and forums in Delhi/New Delhi only.
FOSS Yellow Pages
FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services

The best place for you to buy and sell FOSS products and services
HIGHLIGHTS
 A cost-effective marketing tool
 A user-friendly format for customers to contact you
 A dedicated section with yellow back-ground, and hence will stand out
 Reaches to tech-savvy IT implementers and software developers
 80% of LFY readers are either decision influencers or decision takers
 Discounts for listing under multiple categories
 Discounts for booking multiple issues

FEATURES
 Listing is categorised on the basis of products and services
 Complete contact details plus 30-word description of organisation
 Option to print the LOGO of the organisation too (extra cost)
 Option to change the organisation description for listings under different categories

TARIFF
Category Listing Value-add Options
ONE Category......................................................... Rs 2,000 LOGO-plus-Entry....................................................... Rs 500
TWO Categories...................................................... Rs 3,500 Highlight Entry (white background)............................. Rs 1,000
THREE Categories................................................... Rs 4,750 Per EXTRA word (beyond 30 words).......................... Rs 50
ADDITIONAL Category............................................ Rs 1,000

Key Points TERMS & CONDITIONS


 Above rates are per-category basis.  Fill the form (below).
 Above rates are charges for publishing in a single issue of  You can use multiple copies of the form for multiple listings
LFY. under different categories.
 Max. No. of Words for Organisation Description: 30 words.  Payment to be received along with booking.

Tear & Send Tear & Send


ORDER FORM
Organisation Name (70 characters):����������������������������������������������������������������������������������������������������������
Description (30 words):______________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
Email:___________________________________________________________________ Website: _________________________________________________________
STD Code: __________________Phone: ____________________________________________________________ Mobile:_____________________________________
Address (will not be publshed):_______________________________________________________________________________________________________________
_____________________________________________________ City/Town:__________________________________________ Pin-code:_________________________

Categories
Consultants High Performance Computing Software Development
Consultant (Firm) IT Infrastructure Solutions Training for Professionals
Embedded Solutions Linux-based Web-hosting Training for Corporate
Enterprise Communication Solutions Mobile Solutions Thin Client Solutions

Please find enclosed a sum of Rs. ___________ by DD/ MO//crossed cheque* bearing the No. _________________________________________ dt. _ ________________ in favour of
EFY Enterprises Pvt Ltd, payable at Delhi. (*Please add Rs. 50 on non-metro cheque) towards the cost of ___________________ FOSS Yellow Pages advertisement(s)
or charge my credit card    VISA     Master Card   Please charge Rs. _________________
against my credit card No.                                     C V V No. ___________ (Mandatory)

Date of Birth _____ / _____ / _________ (dd/mm/yy)   Card Expiry Date _______ / _______ (mm/yy)

EFY Enterprises Pvt Ltd., D-87/1, Okhla Industrial Area, Phase 1, New Delhi 110 020
Ph: 011-26810601-03, Fax: 011-26817565, Email: info@efyindia.com; Website: www.efyindia.com Signature (as on the card)

To Book Your Listing, Call: Dhiraj (Delhi: 09811206582), Somaiah (B’lore: 09986075717)
108  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com
FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services
To advertise in this section, please contact:
Dhiraj (Delhi) 09811206582, Somaiah (Bangalore) 09986075717

Consultant (Firm) Mobile: 09968756177, Fax: 011-26187551 product cyn.in. cyn.in is a web 2.0
Email: comptekdelhi@compteki.com group collaboration software created
IB Services Web: www.compteki.com by Cynapse, that inter-connects your
Free Installation of GNU/Linux on or www.compteki.in people with each other and their Netcore Solutions Pvt Ltd
Laptops and Desktops. Thin client collective knowledge, seamlessly. No.1 company for providing Linux
solutions based on Debian and It combines the capabilities of Based Enterprise Mailing solution
Ubuntu. Laptops and Desktops Education & Training collaboration tools like wikis, blogs, file with around 1500+ Customer all over
pre-installed with Debian and Ubuntu. repositories, micro blogs, discussions, India. Key Solutions:
Migration to GNU/Linux. Data Aptech Limited audio, videos, and other social •Enterprise Mailing and Collaboration
Recovery.Navi Mumbai IT, Multimedia and Animation applications into a seamless platform. Solution •Hosted Email Security •Mail
Kerala Education and Training cyn.in helps teams to build collaborative Archiving Solution •Push Mail on
Mobile: 09847446918 Mumbai knowledge by sharing and discussing Mobile •Clustering Solution
Email: ibmanoj@gmail.com Tel: 022-28272300, 66462300 various forms of digital content within Mumbai
Web: www.ibservices.in Fax: 022-28272399 a secure, unified application that is Tel: 022-66628000
Email: customercare@aptech.ac.in accessible using a web based interface Mobile: 09322985222
OS3 Infotech Web: www.aptech-education.com, or a rich desktop client. Email: kalpit@netcore.co.in
•Silver Solutions Partner for Novell •High www.arena-multimedia.com Mumbai Web: www.netcore.co.in
Availability Computing Solutions •End- Tel: 022-28445858, 28445629
to-end Open Source Solutions Provider IT-Campus: Academy of Information Email: lisa@cynapse.com
•Certified Red Hat Training Partner Technology Web: www.cynapse.com
•Corporate and Institutional Training IT training and solution company with
Navi Mumbai over 12 years of experience. - RHCE DeepRoot Linux Pvt Ltd
Mobile: 09324113579 •Software Training •Hardware Training Pure & Exclusive Free Software
Email: info@os3infotech.com •Multimedia And Animation •Web Business. Creators of the deepOfix Red Hat India Pvt Ltd
Web: www.os3infotech.com Designing •Financial Accounting Mail Server. We provide: airtight Red Hat is the world's leading open
Kota (Raj.) solutions, solid support and Freedom source solutions provider. Red Hat
Taashee Linux Services Tel: 0744-2503155, Mobile: 09828503155 We believe in: sharing, compassion provides high-quality, affordable
100% Support on LINUX ,OSS Fax: 0744-2505105 and plain action. Backed by full-time technology with its operating
& JBOSS related projects. We Email: m_trilok@yahoo.com hackers. Quick deployment, easy system platform, Red Hat Enterprise
specialize in high-availability and Web: www.doeacc4u.com management. Guaranteed. Linux, together with applications,
high-performance clusters,remote Bangalore management and Services Oriented
and onsite system management, Mahan Computer Services (I) Limited Tel: 080-40890000 Architecture (SOA) solutions, including
maintenance services,systems Established in 1990, the organization Email: start@deeproot.co.in JBoss Enterprise Middleware. Red
planning, Linux & JBOSS consulting & is primarily engaged in Education Web: www.deeproot.in Hat also offers support, training and
Support services. and Training through its own & consulting services to its customers
Hyderabad Franchise centres in the areas of IT ESQUBE Communications Solutions worldwide.
Mobile: 09392493753, Fax: 040-40131726 Software, Hardware, Networking, Pvt Ltd Mumbai
Email: manojkummar@taashee.com Retail Management and English. The Founders of ESQUBE are faculty Tel: 022-39878888
Web: www.taashee.com institute also provides customized at the Indian Institute of Science, Email: marketing-in@redhat.com
training for corporates. Bangalore and carry over eight Web: www.redhat.in
Torrid Networks Pvt Ltd New Delhi decades of experience and
Torrid is a leading provider of Tel: 011-25916832-33 fundamental knowledge in the field
information technology consulting Email: info@mahanindia.com of DSP and Telecommunication. Hardware & Networking
with focus on Information Security Web: www.mahanindia.com ESQUBE plays a dominant role in Institute
Services and Open Source Solutions. the creation of IP in the domain of
Noida Sensors, Signals and Systems. Xenitis Technolab Pvt Ltd
Tel: 0120-4545100, Mobile: 09015505583 Enterprise Comm. Solutions Bangalore Xenitis TechnoLab is the first of its
Fax: 0120-4235064 Tel: 080-23517063 kind, state-of-the-art infrastructure,
Email:tarun.kassana@torridnetworks.com Aware Consultants Email: info@esqube.com Hardware, Networking and
Web: www.torridnetworks.com We specialize in building and Web: www.esqube.com I.T Security training institution
managing Ubuntu/Debian Linux headquartered in Kolkata.
servers and provide good dependable Keen & Able Computers Pvt Ltd TechnoLab is the training division
Computer (UMPC) For Linux system administration. We install Microsoft Outlook compatible open of Xenitis group of Companies. It
And Windows and maintain in-house corporate source Enterprise Groupware is the proud owner of ‘Aamar PC’,
servers. We also provide dedicated Mobile push, Email Syncing of the most popular Desktop brand of
Comptek International and shared hosting as well as reliable Contacts/Calendar/Tasks with Eastern India. These ranges of PC’s
World’s smallest computer comptek wireless/hybrid networking. mobiles are sold in the west under the brand
wibrain B1 umpc with Linux,Touch Bangalore •Mail Archival •Mail Auditing •Instant name of ‘Aamchi PC’, in the north
Screen, 1 gb ram 60gb, Wi-Fi, Tel: 080-26724324 Messaging as ‘Aapna PC’ and in the south as
Webcam, upto 6 hour battery Email: sales@aware.co.in New Delhi ‘Namma PC’.
(opt.), Usb Port, max 1600×1200 Web: www.aware.co.in Tel: 011-30880046, 30880047 Kolkata
resolution, screen 4.8”, 7.5”×3.25” Mobile: 09810477448, 09891074905 Tel: 033-22893280
Size, weight 526 gm. Cynapse India Private Limited Email: info@keenable.com Email: srinku@xenitisgroup.com
New Delhi We are the creators of open source Web: www.keenable.com Web: www.techonolabindia.com

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  109


FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services
To advertise in this section, please contact:
Dhiraj (Delhi) 09811206582, Somaiah (Bangalore) 09986075717

IT Infrastructure Solutions Clover Infotech Private Limited businesses by leveraging open source Pacer Automation Pvt Ltd
Clover Infotech is a leading technologies with excellent support Pacer is leading providers of IT
Absolut Info Systems Pvt Ltd technology services and solutions & affordable costs. Our expertise Infrastructure Solutions. We are
Open Source Solutions Provider. Red provider. Our expertise lies in include custom software development partners of HP, Redhat, Cisco,
Hat Ready Business Partner. Mail supporting technology products & infrastructure deployment/support Vwmare, Microsoft and Symantec.
Servers/Anti-spam/GUI interface/ related to Application, Database, for all industries. Our core expertise exists in,
Encryption, Clustering & Load Middleware and Infrastructure. We Bangalore Consulting, building and Maintaining
Balancing - SAP/Oracle/Web/Thin enable our clients to optimize their Tel: 080-41243227, Mobile: 9611121452 the Complete IT Infrastructure.
Clients, Network and Host Monitoring, business through a combination of Email: info@ignitionworks.net Bangalore
Security Consulting, Solutions, best industry practices, standard Web: www.ignitionworks.net Tel: 080-42823000, Fax: 080-42823003
Staffing and Support. processes and customized client Email: solutions@pacerautomation.com
New Delhi engagement models. Our core Web: www.pacerautomation.com
Tel: +91-11-26494549 services include Technology
Fax: +91-11-4175 1823 Consulting, Managed Services and
Mobile: +91-9873839960 Application Development Services. Ingres Corporation
Email: sales@aisplglobal.com Mumbai Ingres Corporation is a leading provider
Web: www.aisplglobal.com Tel: 022-2287 0659, Fax: 022-2288 1318 of open source database software Red Hat India Pvt Ltd
Mobile: +91 99306 48405 and support services. Ingres powers Red Hat is the world's leading open
Advent Infotech Pvt Ltd Email: business@cloverinfotech.com customer success by reducing costs source solutions provider. Red Hat
Advent has an experienced techno- Web: www.cloverinfotech.com through highly innovative products provides high-quality, affordable
marketing team with several years of that are hallmarks of an open source technology with its operating
experience in Networking & Telecom DeepRoot Linux Pvt Ltd deployment and uniquely designed system platform, Red Hat Enterprise
business, and is already making Pure & Exclusive Free Software for business critical applications. Linux, together with applications,
difference in market place. ADVENT Business. Creators of the deepOfix Ingres supports its customers with a management and Services Oriented
qualifies more as Value Added Mail Server. We provide: airtight vibrant community and world class Architecture (SOA) solutions, including
Networking Solution Company, we solutions, solid support and Freedom support, globally. Based in Redwood JBoss Enterprise Middleware. Red
offers much to customers than just We believe in: sharing, compassion City, California, Ingres has major Hat also offers support, training and
Routers, Switches, VOIP, Network and plain action. Backed by full-time development, sales, and support consulting services to its customers
Management Software, Wireless hackers. Quick deployment, easy centers throughout the world, and more worldwide.
Solutions, Media Conversion, etc. management. Guaranteed. than 10,000 customers in the United Mumbai
New Delhi Bangalore States and internationally. Tel: 022-39878888
Tel: 46760000, 09311166412 Tel: 080-40890000 New Delhi Email: marketing-in@redhat.com
Fax: 011-46760050 Email: start@deeproot.co.in Tel: 011-40514199, Fax: +91 22 66459537 Web: www.redhat.in
Email: marketingsupport@ Web: www.deeproot.in Email: sales@ingres.com; info@ingres.com
adventelectronics.com Web: www.ingres.com Srijan Technologies Pvt Ltd
Web: www.adventelectronics.com Duckback Information Systems Srijan is an IT consulting company
Pvt Ltd Keen & Able Computers Pvt Ltd engaged in designing and
Asset Infotech Ltd A software house in Eastern India. Open Source Solutions Provider. Red building web applications, and IT
We are an IT solution and training Business partner of Microsoft, Oracle, Hat Ready Business Partner. Mail infrastructure systems using open
company with an experience of 14 IBM, Citrix , Adobe, Redhat, Novell, Servers/Anti-spam/GUI interface/ source software.
years, we are ISO 9001: 2000. We Symantec, Mcafee, Computer Encryption, Clustering & Load New Delhi
are partners for RedHat, Microsoft, Associates, Veritas , Sonic Wall Balancing - SAP/Oracle/Web/Thin Tel: 011-26225926, Fax: 011-41608543
Oracle and all Major software Kolkata Clients, Network and Host Monitoring, Email: business@srijan.in
companies. We expertise in legal Tel: 033-22835069, 9830048632 Security Consulting, Solutions, Web: www.srijan.in
software ans solutions. Fax: 033-22906152 Staffing and Support.
Dehradun Email: asis@duckback.com New Delhi-110019
Tel: 0135-2715965, Mobile: 09412052104 Web: www.duckback.co.in Tel: 011-30880046, 30880047
Email: piyush@asset.net.in Mobile: 09810477448, 09891074905 A company focussed on Enterprise
Web: www.asset.net.in HBS System Pvt Ltd Email: info@keenable.com Solution using opensource software.
System Integrators & Service Web: www.keenable.com Key Solutions:
BakBone Software Inc. Provider.Partner of IBM, DELL, HP, • Enterprise Email Solution
BakBone Software Inc. delivers Sun, Microsoft, Redhat, Trend Micro, LDS Infotech Pvt Ltd • Internet Security and Access
complexity-reducing data protection Symentic Partners of SUN for their Is the authorised partner for RedHat Control
technologies, including award-winning new startup E-commerce initiative Linux, Microsoft, Adobe, Symantec, • Managed Services for Email
Linux solutions; proven Solaris Solution Provider on REDHAT, Oracle, IBM, Corel etc. Software Infrastructure.
products; and application-focused SOLARIS & JAVA Services Offered: •Collaborative Mumbai
Windows offerings that reliably New Delhi Solutions •Network Architecture Tel: 022-66338900; Extn. 324
protect MS SQL, Oracle, Exchange, Tel: 011-25767117, 25826801/02/03 •Security Solutions •Disaster Email: sales@technoinfotech.com
MySQL and other business critical Fax: 25861428 Recovery •Software Licensing Web: www. technoinfotech.com
applications. Email: amittal@hbsindia.com •Antivirus Solutions.
New Delhi Mumbai Tetra Information Services Pvt Ltd
Tel: 011-42235156 IgnitionWorks Tel: 022-26849192 One of the leading open source
Email: ashish.gupta@bakbone.com IgnitionWorks provides customized Email: sales@ldsinfotech.com provders. Our cost effective business
Web: www.bakbone.com IT solutions for small/medium Web: www.ldsinfotech.com ready solutions caters of all kind of

110  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services
To advertise in this section, please contact:
Dhiraj (Delhi) 09811206582, Somaiah (Bangalore) 09986075717

industry verticles. New Delhi Email: bluechip@vsnl.com Tel: 080-28565801/05, Fax: 080-28565800
New Delhi Tel: 011-26014670-71, Fax: 26014672 Web: www.bluechip-india.com Email: tpvarun@integramicro.com
Tel: 011-46571313, Fax: 011-41620171 Email: info@openlx.com Web: www.integramicroservices.com
Email: sales@tetrain.com Web: www.openlx.com
Web: www.tetrain.com Software Development iwebtune.com Pvt Ltd
iwebtune.com is your one-stop, total
Tux Technologies Linux Experts Carizen Software (P) Ltd web site support organisation. We
Tux Technologies provides consulting Carizen’s flagship product is Rainmail provide high-quality website services
and solutions based on Linux and Intaglio Solutions Intranet Server, a complete integrated and web based software support to
Open Source software. Focus areas We are the training and testing software product consisting modules any kind of websites, irrespective of
include migration, mail servers, partners of RedHat and the first to like mail sever, proxy server, gateway the domain or the industry segments.
virus and spam filtering, clustering, conduct RHCSS exam in delhi for the anti-virus scanner, anti-spam, Bangalore
firewalls, proxy servers, VPNs, server first time ever. groupware, bandwidth aggregator & Tel: 080-4115 2929
optimization. New Delhi manager, firewall, chat server and fax Email: santosh@iwebtune.com
New Delhi Tel: 011-41582917, 45515795 server. Infrastructure. Web: www.iwebtune.com
Tel: 011-27348104, Mobile: 09212098104 Email: info@intaglio-solutions.com Chennai
Email: info@tuxtechnologies.co.in Web: www.intaglio-solutions.com Tel: 044-24958222, 8228, 9296 Sarvasv Technologies Pvt Ltd
Web: www.tuxtechnologies.co.in Email: info@carizen.com Web OSX Windows Linux Mobile
Web: www.carizen.com LAMP W3C apps. Agile, BDD,
Veeras Infotek Private Limited Linux Vendor/Distributors TDD development. On-Demand,
An organization providing solutions DeepRoot Linux Pvt Ltd SaaS, ERP, CRM, HRM. Open
in the domains of Infrastructure GT Enterprises Pure & Exclusive Free Software Source integration. Online project
Integration, Information Integrity, Authorized distributors for Red Business. Creators of the deepOfix management. VCS (git, svn).
Business Applications and Hat and JBoss range of products. Mail Server. We provide: airtight automated deployment.
Professional Services. We also represent various OS’s solutions, solid support and Freedom Greater Noida
Chennai Applications and Developer Tools like We believe in: sharing, compassion Mobile: 09711472457, 09810270848
Tel: 044-42210000, Fax: 28144986 SUSE, VMWare, Nokia Qt, MySQL, and plain action. Backed by full-time Email: sales@sarvasv.in
Email: info@veeras.com Codeweavers, Ingres, Sybase, hackers. Quick deployment, easy Website: www.sarvasv.in
Web: www.veeras.com Zimbra, Zend-A PHP Company, High management. Guaranteed.
Performance Computing Solutions Bangalore Unistal Systems Pvt Ltd
from The Portland Group, Absoft, Tel: 080-40890000 Unistal is pioneer in Data Recovery
Linux-Based Web-Hosting Pathscale/Qlogic and Intel Compilers, Email: start@deeproot.co.in Software & Services. Also Unistal is
Scalix-Messaging solution on Linux Web: www.deeproot.in national sales & support partner for
Manas Hosting Platform. BitDefender Antivirus products.
ManasHosting is a Bangalore- Bangalore New Delhi
based company that is dedicated in Mobile: +91-9845009939, +91-9343861758 Tel: 011-26288583, Fax: 011-26219396
helping small and midsize business Email : sales@gte-india.com Email: isales@unistal.com
companies to reach customers Web: www.gte-india.com Web: www.unistal.com
online. We believe that by creating InfoAxon Technologies Ltd
a website, all you have is just web Taurusoft InfoAxon designs, develops and
presence; but to get effective Contact us for any Linux Distribution supports enterprise solutions stacks Software and Web
traffic on your website, it is equally at reasonable rates. Members get leveraging open standards and open Development
important to have a well designed additional discounts and Free CD/ source technologies. InfoAxon’s focus
one. This is why we provide the best DVDs with each purchase. Visit our areas are Business Intelligence, CRM, Bean eArchitect Integrated Services
of Web Hosting and Web Designing website for product and membership Content & Knowledge Management Pvt Ltd
services. Also, our services are details and e-Learning. Application Development, Web
backed with exceptionally good Mumbai Noida Design, SEO, Web Marketing, Web
quality and low costs Mobile: 09869459928, 09892697824 Tel: 0120-4350040, Mobile: 09810425760 Development.
Bangalore Email: taurusoft@gmail.com Email: sales@infoaxon.com Navi Mumbai
Tel: 080-42400300 Web: www.taurusoft.netfirms.com Web: http://opensource.infoaxon.com Tel: 022-27821617, Mobile: 9820156561
Email: enquiry@manashosting.com Fax: 022-27821617
Web: www.manashosting.com Integra Micro Software Services (P) Email: infodesk@beanarchitect.com
Software Subscriptions Ltd Web: www.beanarchitect.com
Integra focuses on providing
Linux Desktop Blue Chip Computers professional services for software Mr Site Takeaway Website Pvt Ltd
Available Red Hat Enterprise Linux, development and IP generation Our product is a unique concept in
Indserve Infotech Pvt Ltd Suse Linux Enterprise Server / to customers. Integra has a major India usingwhich a person without
OpenLx Linux with Kalcutate Desktop, JBoss, Oracle, ARCserve practice in offering Telecom Services having any technical knowledge can
(Financial Accounting & Inventory Backup, AntiVirus for Linux, Verisign/ and works for Telecom companies, create his website within 1 hour; we
on Linux) offers a complete Linux Thawte/GeoTrust SSL Certificates Device Manufacturers, Networking also have a Customer Care Center in
Desktop for SME users. Its affordable and many other original software companies, Semiconductor and India for any kind ofafter sales help. We
(Rs. 500 + tax as special scheme), licenses. Application development companies are already selling it world over with
Friendly (Graphical UserInterface) and Mumbai across the globe. over 65,000 copiessold. It comes with
Secure (Virus free). Tel: 022-25001812, Mobile: 09821097238 Bangalore FREE Domain Name, Web Hosting and

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  111


FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services
To advertise in this section, please contact:
Dhiraj (Delhi) 09811206582, Somaiah (Bangalore) 09986075717

Customer Care Center forFree Support providing training to the individuals G-TEC Computer Education Netweb Technologies
via Phone and Email and features like and corporate on other open source ISO 9001:2000 certified IT Simplified and scalable storage solutions.
PayPal Shopping Cart, Guestbook, technologies like PHP, MySQL etc. Company, International Testing Bangalore
Photo Gallery, Contact Form, Forums, Ahmedabad Centre, Specialised in Multimedia Tel: 080-41146565, 32719516
Blogs and many more. The price Tel: 079-27545455—66 & Animation, conduct MCP, Email: info@netwebindia.com
ofcomplete package is just Rs 2,999 Fax: 079-27545488 MCSE 2000, MCDBA and MCSA Web: www.netwebindia.com
per year. Email: info@bascombridge.com certificates, CCNA, CCNP,
Patiala Web: www.bascombridge.com the Only authorized centre by New Horizons India Ltd
Mobile: 91-9780531682 INTERNATIONAL AND EUROPEAN New Horizons India Ltd, a joint
Email: pardeep@mrsite.co.in Brainnet COMPUTER UNION to conduct venture of New Horizons Worldwide,
Web: www.mrsite.co.in Kolkata ICDL, Adobe Certifications, training Inc. (NASDAQ: NEWH) and
Tel: 033-40076450 on Web Designing, Tally, Spoken the Shriram group, is an Indian
Salah Software Email: brainnet@brainware-india.com English. Conducts Corporate and company operational since 2002
We are specialized in developing Web: www.brainware-india.com institutional training. International with a global foot print engaged
custom strategic software solutions certifications issued. in the business of knowledge
using our solid foundation on focused Centre for Excellence in Telecom Bangalore delivery through acquiring, creating,
industry domains and technologies. Technology and Management Tel: 080-43567000 developing, managing, lending and
Also providing superior Solution Edge (CETTM), MTNL Email: gtec.indiranagar@gmail.com licensing knowledge in the areas
to our Clients to enable them to gain MTNL’s Centre for Excellence of IT, Applied Learning. Technology
a competitive edge and maximize in Telecom Technology and Gujarat Infotech Ltd Services and Supplementary
their Return on Investments (ROI). Management (CETTM) is a state of GIL is a IT compnay and 17 years of Education. The company has pan
New Delhi the art facility to impart Technical, expericence in computer training field. India presence with 15 offices and
Tel: 011-41648668, 66091565 Managerial and corporate training to We have experience and certified employs 750 people.
Email: ceo@salahsoftware.com Telecom; Management personnel. faculty for the open Source courses New Delhi
Web: www.salahsoftware.com CETTM has AC lecture halls, like Redhat, Ubantoo,and PHP, Mysql Tel: 011-43612400
computer Labs and residential Ahmedabad Email: info@nhindia.com
facility. Tel: 079-27452276, Fax: 27414250 Web: www.nhindia.com
Thin Client Solutions Mumbai Email: info@gujaratinfotech.com
Tel: 022-25714500, 25714586, 25714585, Web: www.gujaratinfotech.com Network NUTS
Digital Waves 25714586 India’s only Networking Institute
The ‘System Integration’ business Fax: 022-25706700 Lynus Academy Pvt Ltd by Corporate Trainers. Providing
unit offers end-to-end Solutions on Email: contact@cettm.mtnl.in India’s premier Linux and OSS training Corporate and Open classes
Desktops, Servers, Workstations, HPC Web: http://cettm.mtnl.in/infra institute. for RHCE / RHCSS training and
Clusters, Render Farms, Networking, Chennai certification. Conducted 250+ Red
Security/Surveillance & Enterprise Complete Open Source Solutions Tel: 044-42171278, 9840880558 Hat exams with 95% result in last 9
Storage. With our own POWER-X RHCT, RHCE and RHCSS training. Email: contactus@lynusacademy.com months. The BEST in APAC.
branded range of Products, we offer Hyderabad Web: www.lynusacademy.com New Delhi
complete Solutions for Animation, Tel: 040-66773365, 9849742065 Tel: 46526980-2
HPC Clusters, Storage & Thin-Client Email: nayak.sujeet@gmail.com Linux Learning Centre Private Limited Mobile: 09310024503, 09312411592
Computing Web: www.cossindia.com Pioneers in training on Linux Email: info@networknuts.net
Mobile: 09880715253 technologies. Web: www.networknuts.net
Email: ranga@digitalwaves.in ElectroMech Bangalore
Web: www.digitalwaves.in Redhat Linux and open source Tel:080-22428538, 26600839 STG International Ltd
solution , RHCE, RHCSS training Email: info@linuxlearningcentre.com An IT Training and Solution
Enjay Network Solutions and exam center,Ahmedabad and Web: www.linuxlearningcentre.com Company,Over an experience of
Gujarat based ThinClient Solution Vadodara 14years.We are ISO 9001:2000
Provider. Providing Small Size Ahmedabad Maze Net Solutions (P) Ltd Certified.Authorised Training Partners
ThinClient PCs & a Full Featured Tel: 079-40027898 Maze Net Solution (P) Ltd, is a pioneer of Red Hat & IBM-CEIS. We cover all
ThinClient OS to perfectly suite Email: electromech@electromech.info in providing solutions through on Software Trainings.
needs of different working Web: www.electromech.info time, quality deliverables in the fields New Delhi
environment. Active Dealer Channel of BPO, Software and Networking, Tel: 011-40560941-42, Mobile:
all over India. Focuz Infotech while providing outstanding training 09873108801
Gujarat Focuz Infotech Advanced Education to aspiring IT Professionals and Call Email: rakhi@stg.in
Tel.: 0260-3203400, 3241732, 3251732, is the quality symbol of high-end Center Executives. Backed by a team Web: www.stgonline.com
Mobile: 09377107650, 09898007650 Advanced Technology Education in of professional workforce and global www.stgglobal.com
Email: info@enjayworld.com the state. We are providing excellent alliances, our prime objective is to offer
Web: www.enjayworld.com services on Linux Technology the best blend of technologies in the TNS Institute of Information
Training, Certifications and live spheres of Information Technology (IT) Technology Pvt Ltd
projects to students and corporates, and Information Technology Enabled Join RedHat training and get
Training for Corporate since 2000. Services (ITES). 100% job gaurantee. World's most
Cochin Chennai respected Linux certification. After
Bascom Bridge Tel: 0484-2335324 Tel: 044-45582525 RedHat training, you are ready to join
Bascom Bridge is Red Hat Certified Email: enquiry@focuzinfotech.com Email: info@mazenetsolution.com as a Linux Administrator or Network
partner for Enterprise Linux 5 and also Web: www.focuzinfotech.com Web: www.mazenetsolution.com Engineer.

112  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services
To advertise in this section, please contact:
Dhiraj (Delhi) 09811206582, Somaiah (Bangalore) 09986075717

New Delhi the need for industries as well as Hardware & Networking Institute of Advance Network
Tel: 011-3085100, Fax: 30851103 Students for trainings on IT, CISCO Dehradun Technology (IANT)
Email: nks@tiit.co.in certification, PLC, VLSI, ACAD, Tel: 3208054, 09897168902 •Hardware Engg.•Networking
Web: www.tiit.co.in Pneumatics, Behavior Science and Email: thedishainstitute@gmail.com •Software Engg. •Multimedia Training.
Handicraft. Web: www.unisofttechnologies.com Ahmedabad
Webel Informatics Ltd Bhopal Tel: 079-32516577, 26607739
Webel Informatics Ltd (WIL), a Tel: 0755-2661412, 2661559 EON Infotech Limited (TECHNOSchool) Fax: 079-26607739
Government of West Bengal Fax: 0755-4220022 TechnoSchool is the most happening Email: contact @iantindia.com
Undertaking. WIL is Red Hat Training Email: crisp@crispindia.com Training Centre for Red Hat (Linux- Web: www.iantindia.com
Partner and CISCO Regional Web: www.crispindia.com Open Source) in the Northern Region.
Networking Academy. WIL conducts We are fully aware of the Industry's IPCC
RHCE, RHCSS, CCNA, Hardware Center for Open Source Development requirement as our Consultants Bridging Gap with professionals.
and Software courses. And Research are from Linux industry. We are Lucknow
Kolkata Linux, open source & embedded committed to make you a total Tel: 0522-3919496
Tel: 033-22833568, Mobile: 09433111110 system training institute and industry ready individual so that your Email: ipcclko@yahoo.co.in
Email: enquiry@webelinformatics.com development. All trainings provided by dreams of a professional career are Web: www.ipcc.co.in
Web: www.webelinformatics.com experienced exports & administrators fulfilled.
only. Quality training (corporate and Chandigarh Koenig Solutions (P) Ltd
individual). We expertise in open Tel: 0172-5067566-67, 2609849 A reputed training provider in India.
Training for Professionals source solution.Our cost effective Fax: 0172-2615465 Authorised training partner of Red
business ready solutions caters of all Email: info@technoschool.net Hat, Novell and Linux Professional
AEM kind of industry verticals. Web: http://technoschool.net Institute. Offering training for RHCE,
AEM is the Best Certified Redhat New Delhi RHCSS, CLP, CLE, LPI - 1 & 2.
Training Partner in Eastern India since Mobile: 09312506496 GT Computer Hardware Engineering New Delhi
last 3 years. AEM conducted more Email: info@cfosdr.com College (P) Ltd Mobile: 09910710143, Fax: 011-25886909
than 500 RHCE exams with 95- Web: www.cfosdr.com Imparting training on Computer Email: info@koenig-solutions.com
100% pass rate. Other courses— Hardware Networking, Mobile Web: www.koenig-solutions.com
RHCSS,SCNA,MCSE,CCNA. Cisconet Infotech (P) Ltd Phone Maintenance & International
Kolkata Authorised Red Hat Study cum Exam Certifications NACS/CIT
Tel: 033-25488736, Mobile: 09830075018 Centre. Courses Offered: RHCE, Jaipur We are Providing Training of LINUX to
Email: sinhatuhin1@gmail.com RHCSS, CCNA, MCSE Tel: 0141-3213378 Professional & Cooperate.
Web: www.aemk.org Kolkata Email: franchise_gt@gteducation.net Meerut
Tel: 033-25395508, Mobile: 09831705913 Web: www.gteducation.net Tel: 0121-2420587, Mobile: 9997526668
Agam Institute of Technology Email: info@cisconetinfo.com Email: Info@nacsglobal.com
In Agam Institute of Technology, we Web: www.cisconetinfo.com HCL Career Development Centre Web: www.nacsglobal.com
provide hardware and networking Bhopal
training since last 10 years. We CMS Computer Institute As the fountainhead of the most NACS Infosystems (P) Ltd
specialise in open source operating Red Hat Training partner with 3 Red significant pursuit of human mind NACS is a organization which is
systems like Red Hat Linux since we Hat Certified Faculties, Cisco Certified (IT), HCL strongly believes, “Only providing training for all international
are their preferred training partners. (CCNP) Faculty , 3 Microsoft Certified a Leader can transform you into a certification, and also NACS is the
Dehradun Faculties having state Of The Art IT Leader”. HCL CDC is a formalization authorized Training Partner of Redhat
Tel: 0135-2673712, Mobile: 09760099050 Infrastructure Flexible Batch Timings of this experience and credo which and also having testing centre
Web: www.agamtecindia.com Available..Leading Networking has been perfected over three of THOMSON PROMETRIC and
Institute in Marathwada decades. PEARSON VUE.
Amritha Institute of Computer Aurangabad Bhopal Meerut
Technology Tel: 0240-3299509, 6621775 Tel: 0755-4094852 Tel: 0121-2767756, Fax: 0121-4006551
Amrita Technologies provides Email: aurangabad@cmsinstitute.co.in Email: bhopal@hclcdc.in Mobile: 09897796603
an extensive training in high Web: www.cmsaurangabad.com Web: www.hclcdc.in Email:info@nacsglobal.com,
end certification programs and mohit@nacsglobal.com.
Networking Solutions like Redhat Cyber Max Technologies IINZTRIX E Technologies Pvt Ltd Web: www.nacsglobal.com
Linux, Redhat Security Services, OSS Solution Provider, Red Hat No. 1 Training prvinder in this region.
Cisco, Sun Solaris, Cyber Security Training Partners, Oracle,Web, Thin meerut Netdiox Computing Systems
Program IBM AIX and so on with a Clients, Networking and Security Tel: 0121-4020111, 4020222 We are one-of-a-kind center for
strong focus on quality standards Consultancy. Also available CCNA Mobile: 09927666664 excellence and finishing school
and proven technology processes and Oracle Training on Linux. Also Email: jai@iintrix.com focusing on ground breaking
with most profound principles of available Laptops & PCs Web: www.iintrix.com technology development around
Love and Selfless Service. Bikaner distributed systems, networks,
Mobile: 09393733174 Tel: 0151-2202105, Mobile: 09928173269 Indian Institute of Job Oriented storage networks, virtualisation and
Email: aict.hybd@amrita.ac.in Email: cmtech.bikaner@gmail.com, Training Centre fundamental algorithms optimized for
Web: www.amritahyd.org kr.gupta.ashish@gmail.com Ahmedabad various appliance.
Tel: 079-40072244—2255—2266 Bangalore
Centre For Industrial Research and Disha Institute Mobile: 09898749595 Tel: 080-26640708
Staff Performance A franchisee of Unisoft Technologies, Email: info@iijt.net Mobile: 09740846885
A Unique Institute catering to Providing IT Training & Computer Web: www.iijt.net Email: info@netdiox.com

www.LinuxForU.com  |  LINUX For You  |  NOVEMBER 2009  |  113


FOSS Yellow Pages
The best place for you to buy and sell FOSS products and services
To advertise in this section, please contact:
Dhiraj (Delhi) 09811206582, Somaiah (Bangalore) 09986075717

NetMax-Technologies unique position of deriving synergies from KARNATAKA STATE OPEN To advertise in this section,
Training Partner of RedHat,Cisco between Networking, Messaging & UNIVERSITY. please contact
Chandigarh Security Solutions and IT Training. New Delhi
Somaiah (B’lore:
Tel: 0172-2608351, 3916555 Chennai Tel: 011-26183327, Fax: 011-26143642
09986075717) Dhiraj
Email: mail.netmax@gmail.com Tel: 044-2433 7355 Email: southdelhicomputercentre@gmail.
(Delhi: 09811206582) on
Web: www.netmaxtech.com Email: training@plexus.co.in com, southdelhicomputercentre@hotmail.
Web: www.plexus.co.in com. 011-2681-0602 Extn. 222
Netxprt institute of Advance Web: www.itwhizkid.com
Networking Professional Group of Education www.itwhizkid.org
Netxprt Noida is a Leading RHCE & RHCSS Certifications Yash Infotech
organization to provide Open Source Jabalpur Ssytems Quest Authorized Training & Exam Center.
training on RedHat Linux RHCT and Tel: 0761-4039376, Making Tomorrow’s professionals Best Performing Center in Lucknow for
RHCE Training with 30Hrs. extra Mobile: 09425152831 TODAY RH Training and Examinations. LINUX
exam preparation module. Email: naidu.vikas@gmail.com Bangalore & Open Source training institute for
Noida Tel: 080-41301814 IT professionals & Corporate Offering
Tel: 0120-4346847, Mobile: 09268829812 Q-SOFT Systems & Solutions Pvt Ltd Email: directorv@ssystemsquest.com Quality Training for RHCE, RHCSS,
Email: anoop.vyas@netxprtindia.com Q-SOFT is in a unique position for Web: www.ssystemsquest.com PHP, Shell Script, Virtualization and
Web: www.netxprtindia.com providing technical training required Troubleshooting Techniques & Tools.
to become a Linux Administration Trimax FuturePerfect Lucknow
Netzone Infotech Services Pvt Ltd under one roof. Since inception, the A Div of Trimax IT Infrastructure and Tel: 0522-4043386, Fax: 0522-4043386
Special batches for MCSE, CCNA commitment of Q-SOFT towards Services Limited. Redhat RHCE, Email: yashinfotech.lko@gmail.com
and RHCE on RHEL 5 with exam training is outstanding. We Train on RHCT Training & Exam Center,
prep module on fully equipped labs Sun Solaris, Suse Linux & Redhat MCTS, MCITP, MCSE 03, CCNA,
including IBM servers, 20+ routers Linux. CCNP, Prometric Center. Web Hosting
and switches etc. Weekend batches Bangalore Mumbai
are also available. Tel: 080-26639207, 26544135, 22440507 Tel: 022-40681313, Mobile: 09987705638 IDS Logic Pvt Ltd
New Delhi Mobile: +91 9945 282834 Fax: 022-40681001 IDS Logic is a leading innovative
Tel: 011-46015674, Mobile: 9212114211 Email: counsellors@qsoftindia.com Email: futureperfect@trimax.in IT Solutions company provides
Email: info@netzoneindia.net Web: www.qsoftindia.com Web: www.trimax.in Linux Web Hosting, Windows
Web Hosting, Application Hosting,
Neuron IT Solutions Software Technology Network Vibrant e Technologies Ltd Reseller Hosting, Dedicated Server,
We offer end to end services and STN is one of the most Vibrant e Technologies Ltd. Is a Virtual Private Server, Server
support to implement and manage acknowledged name in Software authorised Red Hat Test and Testing Management & Monitoring, Domain
your IT Infrastructure needs. We also Development and Training. Apart Centre, has won the prestigious Name Registration, SSL Certificate,
offer Consulting services and Training from providing Software Solutions award “ REDHAT BEST CERTIFIED Corporate Mailing Solutions, Web
in Advanced Linux Administration. to various companies, STN is also TRAINING PARTNER 2007-2008’’ for Security Solutions.
Chennai involved in imparting High-end Western region. Vibrant offers courses Noida
Mobile: 09790964948 project based training to students for RHCE 5, RHCSS etc. Tel: 0120-4235665, Fax: 0120-4235665
Email: enquiry@neuronit.in of MCA and B.Tech etc. of various Mumbai Email: info@idslogic.com
Web: www.neuronit.in institutes. Tel: 022-26285066/6701 Web: www.idswebhosting.com
Chandigarh Email: vibrant@vsnl.net
Plexus Software Security Systems Tel: 0172-5086829 Web: www.vibrantcomputers.com Perfect Innovation
Pvt Ltd Email: stn2001@rediffmail.com Web Hosting Spider
Plexus, incorporated in January 2003 Web: stntechnologies.com Ultramax Infonet Technilogies Pvt Ltd • Web Hosting • Web Design
is successfully emerged as one of Training in IT related courses • Web Application Development
the best IT Company for Networking, South Delhi Computer Centre adn authorised testing center of • SMS Hosting • Corporate Hosting
Messaging & Security Solutions SDCC is for providing technical Prometric, Vue and Red Hat. • Dedicated Servers
and Security Training. Networking, training courses (software, hardware, Mumbai Puducherry
Messaging & Security solutions is networking, graphics) with career Tel: 022-67669217 Tel: 0413-3202726, 3246999
coupled with the expertise of its courses like DOEACC “O” and “A” Email: unmesh.raote@ultramaxit.com Email: admin@webhostingspider.com
training; this has put Plexus in the Level and B.Sc(IT),M.Sc(IT),M.Tech(IT) Web: www.ultramaxit.com Web: www.webhostingspider.com

Want to register your organisation in


FOSS Yellow Pages For FREE
*

Call: Dhiraj (Delhi) 09811206582 Somaiah (Bangalore) 09986075717


or mail: dhiraj.khare@efyindia.com, somaiah.km@efyindia.com
*Offer for limited period.

114  |  NOVEMBER 2009  |  LINUX For You  |  www.LinuxForU.com


presents

‘Unleashing New Opportunities: Indian Electronics Industry’

EFY SUMMIt 2009: A FIrSt OF ItS kINd EvENt whErE lEAdErS FrOM
INdIAN ElEctrONIcS INdUStrY wIll gAthEr UNdEr A SINglE rOOF
All industry reports are loud and clear in saying, “There’s tremendous opportunity for growth in the Indian electronics
industry.” Electronics For You Summit will help senior business decision makers in ‘Unleashing New Opportunities’
and figuring out strategies for tapping them.

who would Attend


Benefits of Attending • Heads of organisations (CEO, Chairman,
• Discover ‘where’ and ‘how’ to expand MD, Partner, etc)
the Agenda your business • Senior heads of business units (VP, GM,
• Which product or customer segments • Discover ‘untapped’ markets and product Head R&D, Head Operations, etc)
promise growth? segments • Senior sales & marketing professionals
• Which markets are still untapped? • Identify technologies that can change • Policy makers related to ICT and
• What’s new in terms of technology for your industry electronics sector
you to harness? • Identify technology trends that can affect • Infrastructure solution providers for ICT
• What all is there in the Indian eco-system your markets and electronics sector
for you to benefit from? • Learn from success stories of others • Banking & finance firms
• How to fund your expansion? When to • Meet and network with top-shots of the • Anyone with an interest in the fast
go IPO? electronics industry growing electronics industry

Book Your Seat Now! For Sponsorships and


Delegate Fee: Rs 5000* plus 10.3% tax; Early Bird Discount: 10% (till 15th Nov, 09) Other Branding Opportunities
To register, call: 09312888878 OR email at: efysummit@efyindia.com
Call 09312888878 OR email at: efyenq@efyindia.com
* Special group discounts available

Media Partners Supported By

Electronics Bazaar Electronics For You Eleb2b.com


EFYTimes.com Annual Guide

EFY Enterprises Pvt Ltd, D-87/1, Okhla Industrial Area, Phase 1, New Delhi 110020 Ph.: 011-26810601/02/03

Anda mungkin juga menyukai