Sunday 7 October 2007

Free Software is good for Businees

"Once the domain of hobbyist software developers, open source software
applications--both hosted and locally-installed--are having a major
and positive impact
on the enterprise..."

COMPLETE STORY:,3gtz,1,b7vc,2sxh,8hyg,jhei

Checking the Integrity of a Transfer

There are situations in which we have to check the integrity after atransfer. This could be from the network, a CD/DVD, USB or hard disk.In such cases, errors can creep in and partial transfer or corruptedtransfer is possible. When faced with the necessity to ensure theintegrity of critical data, one could use one of these approaches.

$ sha1sum

Executing this command at both ends should result in identicaloutputs. This works for all files, text or binary. You could also dothe same thing with OpenSSL or GNU Privacy Guard.

$ openssl -sha1


$ gpg --print-md sha1

You could also use diff or cksum for this but the above approach isbetter. Or if you have the luxury to execute sha512sum at both sides,it is even better!

Sunday 16 September 2007

Open HackDay

Yahoo! Bangalore will be conducting an open hack day on October 5th and6th at Bangalore. More information on this event is available from

Monday 27 August 2007

Extract the RAR file in Linux

If you are using ubutu/debian, install the unrar package using apt-get

# apt-get install unrar

List the files in RAR archive

$ unrar l file.rar

To test the integrity of the RAR archive

$ unrar t file.rar

To extract the files into the current directory

$ unrar e file.rar

To extract the files into the some other directory(use full path)

$ unrar x file.rar

Debian/Ubutnu run levels(Using inittab)

In ubuntu, you can't find any file name inittab under /etc.
ubuntu call it as UpStart(

First, we look at the run levels in ubuntu

* 0 - Halt
* 1 - Single
* 2 - Full multi-user with display manager (GUI)
* 3 - Full multi-user with display manager (GUI)
* 4 - Full multi-user with display manager (GUI)
* 5 - Full multi-user with display manager (GUI)
* 6 - Reboot

refer the following link and look at the section 10.5

If you want to know the current runlevel, just give

zoobave@zoobave-desktop:~$ runlevel
N 5

There are two ways are available to change the current runlevel
I)use the telinit command

zoobave@zoobave-desktop:~$ sudo telinit 3

II) Create/Edit the /etc/initab file and change the the initdefault value in the
id:3:initdefault entry

# /etc/inittab: init( configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.

# What to do in single-user mode.

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.

# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

# What to do when the power fails/returns.
pf:owerwait:/etc/init.d/powerfail start
pn:owerfailnow:/etc/init.d/powerfail now
po:owerokwait:/etc/init.d/powerfail stop

# /sbin/getty invocations for the runlevels.
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
# Format:
# :::
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
1:2345:respawn:/sbin/mingetty --noclear --autologin matt tty1
2:23:respawn:/sbin/mingetty tty2
3:23:respawn:/sbin/mingetty tty3
4:23:respawn:/sbin/mingetty tty4
5:23:respawn:/sbin/mingetty tty5
6:23:respawn:/sbin/mingetty tty6

But, there is no difference between runlevels 2,3,4 and 5. If you want to customize, add/remove the entries in /etc/rcN.d/ directory
For, example, if you don't want to start your X server during runlevel 3, just remove the S13gdm file under /etc/rc3.d/ directory

zoobave@zoobave-desktop:~$ sudo rm /etc/rc5.d/S13gdm

Thursday 23 August 2007

Manually change the default login session

1) Goto the user's home directory
  $ cd

2) edit the file .dmrc
  $ gedit .dmrc 

3) change the session to kde (or) gnome
4) save the file and logout

Force file system check during next boot

Its very simple, just create a "forcefsck" in root (/) directory
$ sudo touch /forcefsck

Google Talk (gtalk) for Linux

I have been searching a long time for google talk for linux. Somebody suggest me to use gaim (or) pidgin jabber account. But, i couldn't make a call to gtalk users.
I found two packages to make the voip calls to gtalk users in linux

1) Gizmo (
2) Jabbin (

SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.

Some Popular Linux IDEs

jedit(PHP, Python)
vim, gvim
Emacs, XEmacs
bluefish(HTML, CSS, PHP)
netbeans (Java)
quanta (HTML, CSS)
Anjuta (C, C++)
nano (PERL, CGI)
nvu (HTML)
screem (HTML, XML)
freeRIDE (Ruby)
wing IDE (Python)
Zend Studio (PHP)
IntelliJ IDEA (Java)
eric3 (Python, Ruby)
JGRASP (Java, C++)
Code::Blocks (C++)

Wednesday 22 August 2007

Run the shell scripts like batch file in M$ Windows

Add the current directory to the $PATH environment variable

$ PATH = .:$PATH
$ export $PATH

(instead of [./] or [sh] )

Web 2.0 ... The Machine is Us/ing Us

Writing Portable Code

In 'C' or some other programming languages like C++, we often used to declare a variable like this

int a;

we still assume that the size of the integer is 2 bytes (16 bits). But it is not in all cases. The size of the integer depends on the word size of a corresponding processor.
So, This kind of variable declaration leads to the non portable code across different hardware. So, we should declare the variables only based on WORD size of the processor

We may try the following code

typedef char int8_t; (for 8 bit interger)
typedef unsigned char uint8_t; (for 8 bit unsigned interger)

uint8_t a;

we can make use of stdint.h for other size variables.

Fastest KDE Distro

Nimblex sub100 was released yesterday. From the release notes :
"It was just released - the smallest live CD in the world with KDE.
It's just under 100 MB and gathers together Linux kernel 2.6.21, KDE
3.5.7, xine media player, XMMS, GIMP and other software. NimbleX
sub100 is most likely the fastest distro to boot in KDE and from the
tests that where performed so far the fastest boot time was 35
seconds. You can get it from and use it as your portable
OS. ... This is not a new version of NimbleX; it's just a different
edition that has the technology that will be at the base of the next

Tuesday 21 August 2007

How Windows Users Survive

IE 4 Linux
is the simpler way to have Microsoft Internet Explorer running on Linux (or any OS running Wine).

Download BitTorrent Files through Your Browser without a Client Installed

Let's say you're sitting in an Internet cafe or public library computer, and you want to download a file using BitTorrent. Most likely, a BitTorrent client like µTorrent or Azureus hasn't been installed so you might think you're out of luck.

There are actually two things you can do at this point. If you want to schedule a download to your home computer remotely, you can use µTorrent's WebUI feature to control µTorrent over the Internet. You can manage all aspects of downloading a BitTorrent file using WebUI.

Alternatively, if you want to download a file to a public computer where there are administrative restrictions on installing additional software, you can use BitLet. It's a completely browser-based BitTorrent client and probably the simplest way yet to download torrents.

All you need to do is point to a torrent file's URL and hit "Download torrent" to get started. For instance, let's say we want to download Lawrence Lessig's book Free Culture in PDF format.

The URL to the torrent can be found on Legaltorrents. Just paste it into the URL field, hit Download, and select the directory where you want to save the ebook. Then the download will start automatically. You can even resume downloads.

The only troublesome thing about BitLet is that you need to have Java installed and enabled in your browser for it to work.

Listen to Local Radio Stations

Tune directly with Amarok (Ctrl-O, followed by URL)





Smart DAB (Digital)


Friday 17 August 2007


Cdecl (and c++decl) is a program for encoding and decoding C (or C++) type declarations. The C language is based on the (draft proposed) X3J11 ANSI Standard;

root@dvm-desktop:/home/dvm# cdecl

Type `help' or `?' for help
cdecl> ?
[] means optional; {} means 1 or more; <> means defined elsewhere
commands are separated by ';' and newlines
declare as
cast into
set or set options
help, ?
quit or exit
function [( )] returning
array [] of
[{ const | volatile | noalias }] pointer to

{[] [{}] []}
{ struct | union | enum }
decllist: a comma separated list of , or as
name: a C identifier
gibberish: a C declaration, like 'int *x', or cast, like '(int *)x'
storage-class: extern, static, auto, register
C-type: int, char, float, double, or void
modifier: short, long, signed, unsigned, const, volatile, or noalias
cdecl> declare fptab as array of pointer to function returning pointer to char
char *(*fptab[])()

Thursday 16 August 2007

Blackle - Black Google

This is really interesting indeed!!!
http://www.blackle. com
A few months ago, TreeHugger Mark Ontkush wrote a post on his blog
EcoIron titled Black Google Would Save 750 Megawatt-hours a Year. The post
lays out the following train of thought. "An all white web page uses
about 74 watts to display, while an all black page uses only 59 watts."
Google, which has a white background and gets about " 200 million
queries a day " could reduce global energy use by 750 Megawatt-hours a year
by simply changing the color of its homepage to black. (For more
detailed calculations and assumptions check out the original post here .)
In response to this post a black version of Google emerged called According to Blackle's homepage at publication time, 4,408.917
Watt hours have been saved by. The site encourages users to "make a
difference today [by] … Blackling "energy saving tips" or visit[ing] a great blog dedicated to environmental awareness." Nice
ideas. But how does the search measure up? Very well indeed. Give it a
whirl yourself and start saving energy one search at a time. ::

Nokia recalls batteries; at risk to explode

Tuesday 14 August 2007

Monday 6 August 2007

Sunday 5 August 2007

Switch to Linux!

GNU/Linux, or simply Linux, is an alternative to Microsoft Windows. It is easy to use and gives more freedom to users. Anyone can install it: Linux is free as in freedom, and often available free of charge.

Ubuntu Easter Eggs

50 things you need to know about Ubuntu

Differences Between Google and Yahoo;_ylt=AgYzmRSUjk1bMGwiobRa4AEjzKIX?qid=20070801025806AAY1ThB

ThisNickIsTaken: "Google has a philosophy of keeping things simple so that people who are technically challenged can use it without getting confused, Also that simple things are fast.. Yahoo believes in feature rich application.. their products are more customizable and complex."

Gags: "It's a difficult one to answer since both companies are positioned very very differently; on face value, Yahoo looks hip and colorful, whereas Google looks simple and elegant; (...) Google is more thoughtful and strategic, Yahoo is flamboyant and more reactive; Google concentrates on value added solutions rather than presentation and Yahoo concentrates on superb presentation followed by value creation."

Ravelin101: "Yahoo has tons of media and ADS (loads slower). Google search is better (faster) only text ads. I started with Yahoo since I've known it first: Mail, Photos (now Flickr), Geocities but since Google's introduction, I've been moving things to Google Mail, Photos (Picasa), Googlepages."

So Google is strongly associated with simplicity, usefulness, pages that load fast (in one word: text), while Yahoo is connected with rich interfaces, complex designs, pages that load slowly (in one word: multimedia). Gags even called Yahoo flamboyant, which means "elaborately and heavily ornamented". It will be interesting to see if the acquisitions of YouTube and DoubleClick will change people's perception about Google.

Differences Between Google and Yahoo;_ylt=AgYzmRSUjk1bMGwiobRa4AEjzKIX?qid=20070801025806AAY1ThB

ThisNickIsTaken: "Google has a philosophy of keeping things simple so that people who are technically challenged can use it without getting confused, Also that simple things are fast.. Yahoo believes in feature rich application.. their products are more customizable and complex."

Gags: "It's a difficult one to answer since both companies are positioned very very differently; on face value, Yahoo looks hip and colorful, whereas Google looks simple and elegant; (...) Google is more thoughtful and strategic, Yahoo is flamboyant and more reactive; Google concentrates on value added solutions rather than presentation and Yahoo concentrates on superb presentation followed by value creation."

Ravelin101: "Yahoo has tons of media and ADS (loads slower). Google search is better (faster) only text ads. I started with Yahoo since I've known it first: Mail, Photos (now Flickr), Geocities but since Google's introduction, I've been moving things to Google Mail, Photos (Picasa), Googlepages."

So Google is strongly associated with simplicity, usefulness, pages that load fast (in one word: text), while Yahoo is connected with rich interfaces, complex designs, pages that load slowly (in one word: multimedia). Gags even called Yahoo flamboyant, which means "elaborately and heavily ornamented". It will be interesting to see if the acquisitions of YouTube and DoubleClick will change people's perception about Google.

Monday 30 July 2007

Friday 27 July 2007

Skype Found Guilty of GPL Violations

Skype has been found guilty of violating the GNU General Public
License (GPL) by a Munich, Germany regional court, a decision likely
to influence the way companies approach GPL compliance in the future.

The decision found that Skype had violated the GPL by the way it
distributed a voice over IP (VoIP) handset, the SMCWSKP100, which
incorporates the GPL-covered Linux kernel in its firmware.

The phone is manufactured by SMC, the target of a separate case that
hasn't yet been decided, but the court noted that Skype was liable to
fulfill the conditions of the GPL because it sold the phone on its

Skype violated the licence by its failure to supply a copy of the
source code to users along with the phone, and by failing to provide a
copy of the GPL itself with the phone, the court said.

Skype had responded to the charges by including with the phones a URL
where buyers could access the GPL and the source code involved, but
the court found this wasn't sufficient.

The GPL allows companies to distribute source code over the internet
separately from shipped products, but only under certain conditions,
and the court ruled that these hadn't been met. The GPL also
stipulates that buyers must receive the text of the licence along with
the product.

The decision reinforces that companies must adhere to the conditions
of the GPL just as with any other contract, and that "inaccuracies"
aren't to be allowed, according to the court.

It also emphasizes that organizations can be held liable for GPL
violations even if they are simply distributing a product and don't
themselves manufacture it.

Another implication is in the fact that neither of the two companies
involved is German-- Skype being based in Luxembourg and SMC in Spain.
The decision shows that companies may be held liable for GPL
violations in any country, even if the GPL isn't upheld in their home

The case was brought by, a German organization run
by open source software developer Harald Welte, which aims to force
companies to take the GPL seriously. Welte has said he aims to settle
most cases out of court, taking companies to court only if discussions
fail to make them abide by the conditions of the licence.

In 2005, for instance, Welte obtained a court injunction against
security software maker Fortinet, banning the company from
distributing its products until it complied with GPL provisions. As a
result, the company agreed to make some of its source code available.

This week's decision is likely to mean a fine against Skype and will
force the company to adhere to the licence and source code
distribution requirements of the licence.

Original Article @,135120-c,webtelephonyconferencing/article.html

Using GPRS in Ubuntu with Airtel Mobile Phone

Please have a look at the following URL

TechPakoda - News by Indian Techies

is all about technology news powered and ranked by Indian techie. So you can find technology news which matters for Indian techie. In short this is technology news community owned and operated by indian techie.

Thursday 26 July 2007

i recently visited this blog and found that it was really helpful for the students who are all set for flying to US.It contains stuffs like how to prepare for GRE, TOEFL, short listing university, selecting specialization and last minute things tat needs notice.It guides the students right from taking the necessary docs and ends up till packing their baggage and many other useful information.

Release of LX installer for Debian GNU/Hurd

A student team in MES Engineering College Kuttippuram, Kerala Successfully
finished the New Installer for Debian GNU/Hurd, The complete GNU
Operating System. This Installer is named as LX since it is a sucesser
of Debian Hurd K series installer & it directly boot into X.

The Team members of the Installer Project are available at

About Debian GNU/Hurd: The Hurd is a set of servers running on top of
the GNU Mach microkernel to implement file systems, network protocols,
file access control, and other features that are implemented by the Unix
kernel or similar kernels (such as Linux). Together they build the base
for the GNU operating system.Debian GNU/Hurd is a distribution of GNU
Operating system Under Development for developer, server and desktop

Clean a Mouse with White Paper for Smooth Cursor Movements

clean a laser mouse

An illustrated guide about cleaning a slow and sluggish mouse in 2 seconds with just a piece of white paper.

If you are using an external laser or optical mouse with your laptop or desktop computer, you probably know the problems that surface after using the mouse for couple of weeks - the mouse feels sticky or is hard to move especially when you are using it without the mouse pad, the pointer on the screen may not move smoothly with the mouse or jump.

Most of these mouse problem are because of the dust that sticks to the bottom of the mouse surface at points that are in constant touch with the table or the mouse pad - see the red arrows in the above picture - the white circles are actually made from accumulated dust that is disrupting the smooth movements of the mouse.

To solve this problem, hold the mouse over a piece of white paper and gently (but firmly) drag the mouse from the top edge of the paper to the bottom as shown in the picture below.

IMG_3260 IMG_3271

You will see a trail of grease like substance on the paper - you can also repeat the process sideways - just move the mouse on paper from left to right. You will enjoy using mouse once again as all the wax is transferred from the bottom of the mouse to the paper.

It is advisable that you also clean the grease or wax sticking to your mouse pad or table surface (when not using a pad) atlease once a week. Dip a piece of cloth in mild soap water solution and gently rub - wipe with a clean dry cloth or tissue paper.

The trick is illustrated using Microsoft Wireless Laser Mouse 8000 with Intellipoint software but should work just perfect with any mouse including those for the Mac.

The World's Biggest Music Database

MusicBrainz is a Google sponsored music metadatabase community that attempts to create a comprehensive music information site. You can use the MusicBrainz data either by browsing this web site, or you can access the data from a client program

5 Most Useful Plugins For Skype!

1. Skype which is one of the most fantastic internet applications ever built. The beauty of this program enhances, because it lets third party developers to integrate more functionalities to it. Now, We’ll look at the 5 most useful plugins for skype, those plugins which will certainly help you in various situations. The list was long and most of the plugins were really good and it was difficult to choose the best of the lot, but still here is the list and I’m sure that you’ll find these plugins extremely helpful.1. WhiteBoard Meeting : WhiteBoard Meeting is a plugin which allows you to draw vector graphics, it allows you to insert text and images and various other things. It acts as a white board and the person sitting on the other side, gets the real time updates and thus it comes real handy, when you want to point out something on a picture or draw something.

2. Skype Muter : Skype Muter plugin is helpful for people like me, who love to hear music while they are working and this plugin comes in real handy, when you get an incoming call and it lets you lower down the music or lets you pause it and whenever the call ends, the music starts from where it was stopped. It supports Winamp, Windows Media player, Itunes and others.

3. Fring - Mobile VoIP : Although, Fring is not a plugin of Skype, but it is one of the coolest mobile application built for Skype. It is a software which can be installed in supported mobile phones and using this application, you can use your skypeOUT as well. So, it lets you save money even when you are not at your computer.

4. Remote Call : Remote Call lets you share the desktop and lets the other users take control over the desktop and that way, you can get help from a person, who know a bit more about computers. I don’t see any other benefit of Remote desktop sharing but if you can make use of this service in any other way, then the only thing I’ll say, Good for you

5. SAM - Answering Machine : SAM - Answering Machine, is a great plugin which as its name suggests, acts as an answering machine and when you are away or when you are busy on another call, then it records the message for you. You can save the message in MP3 or WAV formats and add personalized messages.
I’m sure that there will be various other plugins which will be of great use. But, these are the ones, which I can’t live without. They offer great functionality and thus these are the must haves for skype. Feel free to tell others about your favorite plugins and the plugins which you think others should be aware of.

Top 10 Highest Paying Certifications in the Technology Industry

Please have a look @

Create Your Resume in Minutes

Creating a quality resume is a difficult task. Keeping track of your various versions is a hassle. Once you have it all figured out, there's the worry of formats, hard drive failure and viruses.

Emurse allows you to focus on what's most important — writing quality content and selling yourself.

Thursday 19 July 2007

Music Portal From Airtel

Airtel has launched a music portal allowing subscribers to access a database of 10,000 songs in 17 regional languages. Simply call the toll-free line 57777 and follow the IVR directions.

The service can be accessed even through a basic mobile phone & can be heard without downloads.

Tuesday 17 July 2007

Running UNIX Commands from C

Please have a look at the following URL..

itoa in gcc

It is difficult to find the "itoa" and its alias functions in gcc. Alternatively, we can use sprint() function.

int sprintf( char *buffer, const char *format, ... );
 char result[100];
int num = 24;
sprintf( result, "%d", num );

*** stack smashing detected ***

If your character array overflows, you will get this error, especially, while using sprintf functions. To avoid this error, increase the array size or check the length of the input string before using this function.

Wednesday 11 July 2007

Some Commands more than HEAD and TAIL

If you want to print a file from 'N'th line to EOF means the commands "head" and "tail" alone will not help. Some possible solutions

Here i take N=25

1)Simple method

$ cat filename.txt | tail -$(echo $((`cat filename.txt| wc -l`-25)))

2)Without Cat

$ FILE=filename.txt
$ tail -n $(($(wc -l <$FILE)-24)) $FILE

3)Using awk

$ awk 'NR>24'

you can try 'sed' also

Monday 9 July 2007

India FRESHERS - IT/Software Salary Survey


Salary in Indian Rupees


2.1 Lacs Per Annum


5.7 Lacs Per Annum


7.5 Lacs Per Annum


4.8 Lacs Per Annum


2.0 Lacs Per Annum


4.0 Lacs Per Annum

Computer Associates

4.5 Lacs Per Annum


2.7 Lacs Per Annum

DE Shaw

6.0 Lacs Per Annum


7.0 Lacs Per Annum


5.0 Lacs Per Annum

Flextronics (HSS)

3.0 Lacs Per Annum


12.0 Lacs Per Annum


3.0 Lacs Per Annum


1.7 Lacs Per Annum


2.1 Lacs Per Annum


2.5 Lacs Per Annum


4.5 Lacs Per Annum

Interra Systems

4.6 Lacs Per Annum


4.2 Lacs Per Annum


1.8 Lacs Per Annum


2.25 Lacs Per Annum


5.6 Lacs Per Annum


2.5 Lacs Per Annum


7.8 Lacs Per Annum


3.0 Lacs Per Annum


3.6 Lacs Per Annum


4.2 Lacs Per Annum


1.7 Lacs Per Annum

Perot Systems

2.5 Lacs Per Annum


2.0 Lacs Per Annum

SAP Labs

4.0 Lacs Per Annum


4.6 Lacs Per Annum


2.5 Lacs Per Annum


4.5 Lacs Per Annum

Sun Microsystems

5.0 Lacs Per Annum


2.05 Lacs Per Annum

Tata Elxsi

1.9 Lacs Per Annum


3.6 Lacs Per Annum


2.5 Lacs Per Annum


8.0 Lacs Per Annum


7.5 Lacs Per Annum


3.0 Lacs Per Annum


2.4 Lacs Per Annum


2.7 Lacs Per Annum

DSL - Some Useful Links (To MR),,sid9_gci214198,00.html

Saturday 7 July 2007

Google and Linux Join Forces for Google OS

Read the story @

The "Hello World" Collection

"Hello World" is the first program one usually writes when learning a new programming language. The first Hello World program appeared in chapter 1.1 of the first edition of Kernighan & Ritchie's original book about C, "The C Programming Language", in 1978 and read like this:

printf("hello, world\n");
Since then, Hello World has been implemented in just about every programming language on the planet. This collection includes 330 Hello World programs in many more-or-less well known programming languages, plus 57 human languages.

Read @

PDF converter commands in GNU/Linux


Why Linux is better?

I guess people won't switch to Linux because it's free (as in free speech, they probably don't care) or because it's free (as in free beer, they probably think they didn't pay for Windows), but because they see new, great features that Windows doesn't have. So here are a few reasons why Linux rocks!

Free Software for Engineers

A Nice Article about Engineering softwares in FOSS.
Download it from here

Basic Computer Concepts - Some Links

This is especially for My Friend MR

C (Its My Blog)

(Full of PDF's)


General Programming Concepts

Computer Networks

Try Google with the following keywords

computer networks filetype:ppt
computer networks filetype:pdf
Networks basic filetype:ppt

Networks basic filetype:pdf
Networks Concepts filetype:ppt

Networks Concepts filetype:pdf

For other things like GSM, CDMA, CDMA, TDMA, FDMA, DSL, ISDN refer wikipedia, it has full details with diagrams.

Friday 6 July 2007

Some MTP based Open Source Projects

libmtp - a fork from libptp2, adds the extensions of mtp. Very good start - still has plenty of issues but is a great start. It's enough to get your MTP device recognized and able to send/recieve a few tracks.

  • I've used it; it works. I'm running CVS as of 2006-03-18 and it detects my Creative Zen Micro, lists its tracks. I haven't tested getting/recieveing/deleting tracks with the programs supplied in the examples directory of the package, but I'd assume they work.

id34mtp, a command line tool that transfers files to MTP devices, reading metadata from the id3 tag.

  • uses libmtp
  • Tested on 2006-03-18: works great! Able to send tracks just fine. I haven't tested extensively, but worked right out of the box.
  • had some compilation issues. It requires two header files from libptp2 - libptp-endian.h and libptp-stdint.h. I first installed libptp2 only to find that it actually wants the files in the project's directory. But hey, it's a prerelease, I wouldn't expect anything else :)

MTPdude, a graphical, beta MTP transfer program, written in GTK, using libmtp

  • tested on 2006-03-18 - compile fails, I'm not sure why really. Probably was based on libmtp's first release version, and I'm now running CVS.
  • CVS for MTPdude doesn't seem to exist (at least not yet). Probably more coming soon! Screenshots look promising and might yield a mini version of gnomad2, but for MTP.

mtpsharp, which can be obtained from mtpsharp, mtpsharp SF project page, or here, writer's personal page. Not sure what the point of this application is.

  • says it's in c++ when it's in c# ( i think)
  • looks to be a wrapper for win32 only - doesn't use libmtp or anything even posix at all - it claims to be a wrapper for win32 to provide mtp device access to .net languages.
  • probably won't work for us posix folks...but might be a decent starting ground for a mtp-sharp mono binding
  • I personally plan to work on a mtp-sharp mono port to plug into libmtp and eventually provide MTP support for Banshee.

gnomad2, the NJB client that is (probably) most popular; working on libmtp to eventually work with gnomad2.

  • According to website, has been working on MTP support, but I see nothing even in CVS.
  • One of the developers from gnomad2, however, is the lead for libmtp, so I'm sure gnomad2 will see MTP support in the coming weeks or months :)

libgphoto2 (and gphoto2) which have reportedly connected to some MTP devices (as gphoto2 is based around PTP cameras, and MTP is an extension, naturally making MTP work wasn't too hard)

  • might yield a better solution than libmtp? Not so sure anymore, after seeing that libmtp is a fork from libptp2 which has been around for a while.
  • so wait a sec - there's libmtp, and libgphoto2 which both have the same mtp functions? wtf...
    • who knows, maybe i'll write a banshee wrapper around gphoto :) can't be that hard!

mp32mtp, a command line program using libmtp

Combination Effects -

scriptaculous is great site to learn various effects.
Please have a look at the following link.

Tutorial for Embedded MP3 Audio Player

Do you want to play a song from your website?
Check out the following tutorial.

Python - Quickstart

Do you have any trouble to learn python? Checkout the following link.

This site has the quick start articles about

* Python
* SPE, Python IDE
* wxPython
* PyGTK/Matplotlib
* Search engine
* CherryPy
* Snippets

Good Job Videos

In this site you can find a lot of small videos regarding placement tips - The #1 Entry Level Job Site

This is the great job site which gives so many features including videos.
Please have a look at

Know the SQL Queries of diiferrent DB Technologies

This is the good website which gives the difference of SQL queries between all available Database Technologies like


Wednesday 4 July 2007

Ajax in CherryPy - A simple Example

import cherrypy

_header = """

Define your Validate function in Ajax


class Start(object):
def index(self):
page.append("""your Code here to call the function...""")
return page

def ajax(self,w):
return str(w)

if __name__ == '__main__':
global_conf = {
'global': { 'engine.autoreload.on': True,
'server.socket_host': 'localhost',
'server.socket_port': 8080,
note_app = Start()
cherrypy.tree.mount(note_app, '/')



The Firebug extension for Firefox allows the debugging, editing, and modifying of any website's CSS, HTML, DOM, and JavaScript, and provides other web development tools. Download it from the following URL.

strace and ltrace

"strace" and "ltrace" are the coolest utilities which will give the the
trace of system calls and library calls (respectively) for any application.
can be very useful while debugging any user application.

To trace the Library calls

# ltrace Application_Name

To trace the System calls

# strace Application_Name

Monday 2 July 2007

Commands to List the Hardware Information in Linux








Wednesday 20 June 2007

Free Online Book Sites

A “speedlinking” list today. Not only are these free for the public, but also there’s no registration or other strings attached. The first rule of the autodidact is to do it for free when you can…

O’ Reilly Open Books. O’Reilly press has long had a policy of publishing out-of-print and open-copyright books online. O’Reilly is also the top name in IT books.

Free Computer Books. Very comprehensive. Nearly every programming language you want to pick up is here.

MIT Courseware. Not really books, but full video lectures here provided for free by the Massachusetts Institute of Technology. Requires RealPlayer, but many open source players can play .rm files as well.

Google Book Search. By selecting the option “full view books” before making your search query, you can keep it to books you can read for free online. Google provides you with an on-site browser for this purpose.

Hiveminds Books. Some books along with snippets and articles.

The Directory of Open Access Journals. Journal publications from universities all over the world, arranged by subject categories for easy access.

World eBook Library Consortia. Big one! All in .pdf for download.

Primitivist resources. OK, just in case you thought this site was too tech-focused! “Primitivism” is the pursuit of ways of life running counter to the development of technology, its alienating antecedents, and the ensemble of changes wrought by both. There, now, if technology ever gets to be too much for you, you know right where to run. Don’t find it too ironic that it’s all published online!

Fullbooks. A alphabetical index of free books on all topics.

Understanding the Open Source Licenses

First, to qualify what an open source license is: It doesn’t always mean that the general public is free to contribute, modify, or distribute the code or even that the licensed software is free of charge. At the base, open source means that if you ask nicely, they’ll let you see the source code, and you can at least modify it to suit your needs. Hence the distinction between Free (as in freedom) software and Open Source.

But there’s all kinds of shades between the two. The Open Source Initiative lists something like 50 licenses approved as meeting their definition. Some entities restrict redistribution for commercial reasons, or contribution for purposes of security or quality control. The most common licenses you’ll encounter:

GPL This is the Free Software Foundation’s own General Public License. It grants the most freedom, to obtain, modify, re-distribute, and even sell the software at a profit. The sole requirement is that you do not restrict others from enjoying the same rights - so it’s “share and share alike”, down to including a copy of the license for the next user. That’s version #2, the current version used by projects like the Linux kernel and the Gimp. The new version #3 which is creating quite a stir is aimed at adding further restrictions such as preventing GPL code form being used for purposes such as DRM. The dust is far from settling on this one! Even if it goes through, there’s nothing to stop anyone from continuing using GPL2.

MPL The Mozilla Public License, which is the license of Firefox, Seamonkey, and other derivatives. Somewhat like the GPL, with some provisions for intellectual property (the Firefox trademark logo). This exception led to the recent public snit between Debian and Firefox, where Debian ended up releasing its own version of Firefox, named “IceWeasel”, to dodge the logo issue. Debian, one of the oldest surviving Linux distros, frequently finds itself in a ‘watchdog’ position on matters of what is and isn’t legal.

CDDL Common Development and Distribution License, used by Sun for Open Solaris. Slightly more restrictive that the MPL, the open development must take place under Sun’s watchful approval and control, with very few rights to redistribute. Sun is pondering switching to GPL for Solaris, as they already have for their Java language.

BSD used in some form for all of Berkely Software Distribution software (Open BSD, Free BSD, etc.). The greatest freedom you can have, generally granting free use for any purpose at all, with the sole restriction that the supplier isn’t responsible for a blessed thing at all, at all.

The examples go on forever, and distinguishing between them is a job for language lawyers. Most of them are exactly the same for the end user; generally you can do what you want on your own computer. For programmers, however, the issue becomes muddier, as questions arise to what license is compatible with what other one, what license allows what right, and so on ad infinitum. Licenses are in a constant state of flux, with new versions popping up all the time. Just be aware that I’ve glossed over a lot, and of course this site is not for legal advice. I’ve also left out enough political/idealogical debate to fill the library of congress… aren’t you glad?

More info:

The Wiki definition of Open Source

The Free Software Foundation

The Debian License Page

What is a Wiki?

The ultimate definition of a Wiki is a site where anyone can add, remove, and edit content. But the actual spirit of a Wiki is simply an ever-changing consensus on a given topic, and Wikipedia is just one example. Wikis are a step above forums and blogs, making equal content creators out of everyone, and sometimes leading to chaos, but in a fun way!

How chaotic it can get is shown by the Wikinovel experiment, started by Penguin Books and De Montfort University. When the project started, you could log in in five minute intervals and find the story was about a red lion, or a blue bear, or was a sitcom, or was a pornographic work… the upheaval continued until they had enough editors to regulate it somewhat. The reading of this work is an adventure in itself, almost coherent in places.

None less than Tim Berners-Lee, recognized “father” of the web, has pointed to Wikis as what he had in mind when he first implemented HTML. Wikis are one of those ideas which sound good on paper; the world-wide network of enlightened minds sharing all the good things they know until the zenith of collected human knowledge is achieved.

In practice… Well, judging by the long list of “bad jokes and deleted nonsense” on Wikipedia itself, global civil responsibility isn’t always benign. They’ve even had to put up a list of Things no one cares about. Just in case you were wondering.

But the Wiki is a handy tool that isn’t going away any time soon. There is a steep curve involved in charting the usefulness of a given Wiki: with only a few editors, it’s mostly worthless junk, but at a certain point it gains enough interest that it has sufficient volunteers so that it can be policed.
The global consensus method of organizing data is being applied to media, as well. Wikimedia Commons is currently at 1,518,406 media files, ranging from sound to image to video to free ebooks, that anyone can download and contribute to. The world is amassing quite a curio cabinet here, and we have room to wonder if maybe in another decade the concept of paid media creators will simply be outdated.

Why GNU/Linux?

The buzz about Linux, BSD, Open Solaris, and other free versions of Unix seems to swell every month. In case you haven’t tried one of them yet, you might be wondering, “What is all the fuss about?” Truly, you see passion about these systems that is seldom shown to their competitors. Here’s a brief list of where the Unix system triumph:

1. Security. Of course, the number-one touted feature. To this day, there exists no major exploits in the wild for Unix systems - no viruses, trojans, or worms. Software security laboratories such as Symantec have found proof-of-concept attacks, but really you almost can’t get a Linux box “PWNED” unless you try really hard. This is because Unix systems have security built in from the ground up. The system embeds the concept of file permissions. User, group, and administrator (”root”) all have different permissions to read, write, or execute each individual file. This also applies to any program you’re using - for instance, a virus which you downloaded through your email couldn’t do worse than wreck your own home directory, because your email program doesn’t have permissions to write anywhere else.

2. Licensing. The free Unix systems belong to the general public under the GNU general public license or the equivalents on BSD and so on. This means you never have to worry about per-machine licensing, or having the system refuse to update because it thinks you’re a pirate. You also have other options to fix something instead of waiting for some corporation that already has your money. If you’re a programmer, you can dive in and fix it yourself; if you aren’t, somebody else who uses the same system *is* a programmer and fixed it themselves, then posted the patch free for everybody.

3. Maturity. It bears saying that the original Unix operating system was first created on a PDP 7 at AT&T Bell Labs - many years before computers were commonly found in the average household. Just about everything that can happen on a computer has already happened on a Unix first, and in fact free Unix systems today continue to be the first to develop new features and introduce new programs. The first web browser, for instance, ran on a Unix system. Today’s versions of Unix have such outstanding legacy support, you can literally take a program written 30 years ago and run it on a modern distro, with no problems.

4. Stability. This is the fabled “cathedral vs. bazaar” development idea in action. Even a huge corporation is unable to match its team of programmers against hundreds of voluntary developers around the world working when they want to. And so by the time a program gets out of alpha development, it is robust enough to run reliably in deployment. A Linux system may have programs running on it misbehave, but the system itself never crashes, ever.

5. Flexibility. Since a Unix system is developed by many hands for many purposes, it is easily put to use in many different ways. This answers a frequent question: “Why are there so many distros?” Because each of those are a prepackaged solution to address unique set of needs. There are Unix-based systems running on everything from mainframes to cell phones and everything in between. Software exists for everything from a web server to an office desktop.

Note that we’re missing the “free of cost” argument. This is to deliberately dispel a myth: While it is a nice bonus that most Unix systems are free of cost, the fact that it can be had for free does not contribute significantly to why users say they prefer it. The existence of commercial systems such as Red Hat, Novell, and Xandros also point to the fact that you can charge for Linux and people will still use it anyway.

Now, for the home or office user, there are some cases where Unix still isn’t a viable option.

  • Hardcore gamers. While many games are ported to Unix systems, the vast majority of commercial game titles are still made for a Microsoft system only. The market just isn’t swaying away from that direction yet.
  • The printing industry. The graphics-to-print technology has methods such as CMYK and Pantone color matching which are heavily patented, the patents are licensed only to Adobe, and Adobe isn’t porting Photoshop anywhere near a GNU system. That’s that.
  • Other proprietary software users. Many software titles still aren’t releasing for anything but a proprietary system. Some work-arounds exist, and several technology companies are starting to warm up to Unix systems, but the market isn’t swaying in the Unix direction that fast.

Note also that we’re leaving out a common misconception about the downside of Unix, which is hardware support. In fact, Unix systems support many times more hardware than proprietary systems - if you count all of the hardware that was sold before this year. Unix systems, not having a commercial motivation, do not drop legacy support for older hardware like their proprietary counterparts do.

Operating System Wars

Apple, after being beaten and almost choked to death by Microsoft, Apple has unleashed what I like to call the “Mac Attack”. The Mac Attack fueled by Ipod sales, is attempting to convert Windows users by offering ease of use, aesthetic appeal and security. Hackers have been merciless with Windows during it history, Macs on the other hand have not yet suffered from these problems. Mac claims that it does not get hacked because Mac has better code, Windows and Linux users claim that Mac doesn’t get hacked because its worldwide Market share is only 2%.

Apple having founder Steve Jobs return to the company has started propaganda warfare. Its Commercial “Get a Mac” features Justin Long as the cool young Mac and John Hodgeman as the older more businesslike or “Square” PC. Get a Mac has been very effective in the United States convincing 5% of the population to purchase.

Microsoft Windows has tried to do the best of both worlds. Keep both Window loyalist close as well as keeping people tempted by Apple. To keep old school Windows fans loyal, Microsoft has tried to keep the insides. The inside being the development tools and configurability Macs just don’t have. Microsoft has also tried to keep those tempted by Mac by offering ease of use and ascetics. The result is that Vista requires an incredibly fast machine with lots of RAM. The amount of Ram required is offset by an amazing Windows Innovation known as Readyboost. Readyboost takes your Flash Memory of 256MB up to 4 GB and makes it into basically RAM. The Readyboost RAM will not be as fast as your computers physical Ram but it will be much faster than a Swap file on the hard-drive, which is slow.

While the two companies do battle, an unpaid alternative hides in the shadows. Linux, a free operating system, is being heavily supported by China and Japan. China and Japan are countries that do not want to have to be tied to Microsoft’s expensive software. However expensive it might be to the Chinese, using Linux has its downfalls including its lack of technical support. As Linux grows, it becomes more and more of a threat as better and better code is created. Linux is always a few years behind the paid alternatives but it will force Windows and Mac to upgrade faster or will cut off their revenue.

Which operating system will dominate the future? As long as the computer market continues in the current direction, Linux by far.