Skip to main content


Showing posts from 2009

Mastering Iptable Command Line Usage Linux Networking

Some of the most useful commands related to iptable,

To display filter table rules.#iptables -t filter -L

To display nat table rules.#iptables -t nat -L

To display raw table rules#iptables -t raw -L

To display mangle table rules.#iptables -t mangle -L

To delete all rules in the filter,nat,raw and mangle table.
#iptables -t filter -D
#iptables -t nat -D
#iptables -t raw -D
#iptables -t mangle -D

Set up IP FORWARDing and Masquerading
# iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
The above rule will do source nating.
( It will set eth0 IP address as source address for all outgoing packets on interface eth0.)
# iptables --append FORWARD --in-interface eth1 -j ACCEPT

Port forwading
# iptables -t nat -A PREROUTING -i eth0 -d --dport -j DNAT --to
The above rule will change the destinationIP:portnumber of the incoming packet to private.IP:portnum
Enabing the packet forward in the kernel with proc entry.
#echo 1 > /proc/sys/net/ipv4/ip_forward

iptables is a user space applica…

Dotnet, .Net 3.5, 2.0, C# Interview Questions

Few questions on dotnet, C# 2.0, 3.5
On Object oriented concepts

1)What is inheritance with e.g
2)What is polymorphism
-function overloading
-Function overriding
-virtual keyword use
-Static keyword and use
-Abstract classes

3)What is threading and how do we use in realtime application(cognizant)
4)What is threadpooling, lock, monitor(write code sample)
5)Architecture of current project
6)Session state, diffrent types of state management.
7)What is Application_Start, how it works.
8)Type of authentication in
9)How to configure ASP.NET application.
10) What is Impersonation.
11) What is WebService, WSDL, UDDI, Discovery, asmx files.
12) How to implement WebService and use it.
13) When to use WebServices.
14) WPF, how to implement(BOA)
15) Testing concvepts.
16) Test attributes
17) Flow of Automation Test Method execution
18) Features of dotnet 3.5
19) CLR, garbage collection
20) Finally block
21) Manifest, Metadata, MSIL
22) Assemblies, Type of assemblies, strong name
23) GAC, gacutil, sh…

Virtual Table *_vptr , VTBL, C++

VTBL or VPTR nothing but virtual table and virtual pointer in C++.

It gets created when we create function with virtual keyword. As soon as we create the virtual function in a class A table gets created behind the code.

virtual void function1(){...}

ChildClass : public BaseClass
virtual void function1(){...}// method overridden.

When we override method that is create another version of function in derived class ChildClass in above case then the *_vptrvirtual void function1(){...}// method overridden. gets created for BaseClass.

So VTBL Of Base Class has entry for function1 and Child class will be pointing to that function. *_vptr is nothing but the pointer to function.

Note: ones the virtual keyword is introduced all the upcoming functions are considered as virtual.

ChildClass: public BaseClass
virtual void function1(){...}// method overridden.
void function2(){}

In above case function2 also considered as virtual.

BaseClass will not be pointing to any of Child Cla…

How to unzip .torrent files on Windows PC?

how to unzip .torrent files?
You do not need to decompress .torrent files. The .torrent will disappear from the end of the file once the file has finished downloading onto your computer.

Then you can use the file as you see fit. It may be a .mp3 file, a .zip file, etc
to use bittorent, you need a client. then open the .torrent file in azureus and you will download the file that the torrent is for. the .torrent isnt the file itself, it just tells the client where to get the file.
Here are some popular torrent clients for windows.
Download Azureus at Azureus
Azureus - now called Vuze - Bittorrent Client

Requires Java for Windows; if you are first time installing

Few more popular bittorrent clients for windows
http://www.utorrent.comBitTorrent | BitTorrentCheck out Comparison of BitTorrent clients - from Wikipedia, the free encyclopedia
BitTorrent is the name of a peer-to-peer (P2P) file distribution protocol, and is the name of a free software …

Creating & Working On a CVS Branch Example Usage

Example usage OF Creating & Working On a CVS Branch
Tried working hard on CVs commands, here is simple example for working in branch using CVS, CVS is becoming nomore use with everyone opting for SVN, still CVS usages is wide as it is old,
Lets start with CVS commands to create a branch
This is done with two commands,
cvs tag -b release-1 //create branchcvs update -j release-1 //merge the changes in main totLets see with simple example
Creating and working on a branch for the existing kernel source.
#cvs co kernel/linux-2.6.26
#cd kernel/linux-2.6.26/
#cvs tag -b release-1

First we created a branch to the kernel source, as we are doing first release.
Continue your development work for second release.
After some time, reported a problem in the first release.
So you need to Get the kernel source code of first release.
#cvs co -r release-1 kernel/linux-2.6.24
and fix the problems
Now If you want to merge these changes in to main trunk.
#cvs update -j release-1
And you are done with usage OF Creating …

Linux SMB write performance With Simple Tips

SMB write performance can be increased by Tuning the buffer cache.
The secret to good performance is to keep as much of the data in memory for as long as is possible. Writing to the disk is the slowest part of any filesystem. If you know that the filesystem will be heavily used, then you can tune this process for Linux Samba.

writing out dirty blocks to the disk until the filesystem buffer cache is 80 percent full (80). default is 40%, source =

by writing
echo 80 > /proc/sys/vm/dirty_ratio

I am getting around 2MB increase while write operation, tested in Xp.

I have tried with this single option, as the ref source is for linux 2.2 and we are using 2.6 kernel.
we can try out Linux General Optimization suggested at

Tried with smb.conf, I am getting around 1MB gain while read and write.

socket options = TCP_NODELAY IPTOS_LOWD…


Go to /usr/X11R6/lib in my linux PC.1) install ARM toolchain, If not installed
2) Get x11 source from
3) extract all the tar files, using tar -xvzf
4) edit cross.def and host.def files, in cross.def set the paths
of tool chain in host.def file set crossCompile to YES and
DoLoadableServer to NO
5) make shadow directory "build" and link to xc "lndir ../xc"
6) run Make World
error: linux_vm86.c 281 impossible constraint in 'asm'
268 res might be used uninitialized in this function.
fix:comment line 281,
set res=0
error: implicit decleration of function 'SET_FLAG'
fix: comment line 111 in
error:Undefined reference to XF86VidModeQueryVersion in glxinfo
And glxgears
Undefined reference to XF86VidModeQueryVersion in xdriinfo
fix:download into our armtoolchain lib path
and make softlinksln -s
ln -s libX…

Define:Blu-ray & About Blu-ray Movies HDTV Info

The Advancement of technology had entered into nanometer age. search in google define:Blue-ray will get wiki pages here is summary of it. Blu-ray Disc (also known as Blu-ray or BD) is an optical disc storage medium designed to supersede the standard DVD format. Its main uses are for storing PlayStation 3 games, high-definition video, and data storage, with up to 50 GB per disc. This is quite impressive, The disc has the same physical dimensions as standard DVDs and CDs.
Why Blu-ray disc stores 50GB on same size of DVD/CD?
Well here is advancement of laser technology, thanks to Shuji Nakamura for his invention on blue laser,
The name Blu-ray Disc derives from the blue-violet laser used to read the disc. While a standard DVD uses a 650 nanometre red laser, Blu-ray uses a shorter wavelength, a 405 nm blue-violet laser, and allows for almost six times more data storage than on a DVD.
check out about
Blu-ray Movies - Everything about Blu-ray movies and…

Get HyperSCSI for SAN - Storage Area Network

Get HyperSCSI for SAN - Storage Area Network
SCSI (Small Computer Systems Interface) family of protocols. HyperSCSI can allow one to connect to and use SCSI and SCSI-based devices (like IDE, USB, Fibre Channel) over a network as if it was directly attached locally.
Why HyperSCSI over iSCSI?
The main advantage of HSCSI compared to iSCSI is
especially a lower network load as well as an end system (server and client) load. TCP/IP SAN performance is still not good enough without hardware accelerationFC-based SANs cannot do Storage Wide-Area NetworksFully functional software implementation of both client and server so HSCSI can be used for a solution built on commonly available hardware, no expensive and specialized hardware is needed. Therefore, HSCSI can be used for building small and cheap SANs.HSCSI main disadvantage is this protocol has no official standard like iSCSI nd so it is unsupported in any way by manufacturers developing hardware data storage solutions.
Two modes of operation

The things must know about Linux kernel ...

As a kernel or device driver developer one must know what Linux kernel can not

1) No access to C library
Generally, C library is large. Accessing a C lib function from kernel space is very time consuming.
It affects the kernel speed and size. So many libc functions are implemented in the kernel. Just like printf in libc is implemented as printk in kernel.

2) The kernel lacks memory protection.
Application in user space lacks memory protection. so when an application access illegal memory location, it results in segment violation. But when in kernel space segment violation occures, it results in oops. It is a major kernel error.

3) Difficult to use floating point.
When floating point arithmetic is done in user space, kernel manages the transition from integer to floating point mode. But enabling floating point in kernel, the kernel requires manually saving and restoring the floating point register. It is extra overhead for kernel.

4) Limited and small stack
Linux kernel has very small stack si…

What is difference between monolithic kernel and microkernel?

Monolithic kernel has simple design. Monolithic kernel is a single large processes running entirely in a single address space. It is a single static binariy file. All kernel services exist and execute in kernel address space. The kernel can invoke functions directly. The examples of monolithic kernel based OSs are Linux, Unix.

In Microkernels, the kernel is broken down into separate processes, known as servers. Some of the servers run in kernel space and some run in user-space. All servers are kept separate and run in different address spaces.The communication in microkernels is done via message passing. The servers communicate through IPC (Interprocess Communication). Servers invoke "services" from each other by sending messages. The separation has advantage that if one server fails other server can still work efficiently. The example of microkernel based OS are Mac OS X and Windows NT.

Create File Of Any Size in Linux Using DD Command

How do I create a file of any given size on Linux?
using the dd command.

$ dd if=/dev/zero of=testss bs=1024 count=1048576

This will create a file of size 1024 * 1048576 bytes (or 1 GB).
if - input file
of - output file or the file to be created
bs - block size in bytes
count - # of blocks of size bs

Easiest and fasted way to create file of 250GB using DD command

$ dd if=/dev/zero of=tests bs=1 count=0 seek=250G

read dd(1) - Linux man page

Xilinx's Interview Questions

Xilinx is the world's one of largest supplier of programmable logic devices. It has started R & D department in Hyderabad, India. It has broad scope for embedded system programming in device driver in linux.

Before the interview you have to feel the Xilinx form with information containing all academic details, current/previous employer, contacts of employer( to check out info about you), current ctc, expected ctc and expected date of joining, etc.

I appeared two back to back technical interviews.

The first interview was taken by a young man look like just crossed 30's.

He asked me to tell me about myself.

Then he asked my experience.

He checked my expertise in resume.

He asked questions about RTOS, and Linux Device Drivers.
What is RTOS ? Define it.
How a linux device driver works?
How a character driver works?

He looked at my project summaries and started to ask in depth questions about each project.

After that he asked me to write to delete nth node from starting in Singly Linked Li…

SCALA Programming Language Secret Behind Twitter's Growth

SCALA programming language and Secret behind Twitter's growth
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.
Introducing Scala

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.
Programming Scala book

Programming in Scala Some books

A comprehensive step-by-step guide
by Martin Odersky, Lex Spoon, and Bi…

apsscresults 10th Class results ssc 2009 of AP Board

Andhra Pradesh State Board SSC Results 2009 announced today (27-May-09) by 10.45 am. There is lot of rush for those sites, Results will be available on the following sites: I have tried to give direct links for results, good luck to students.

Results direct links from manabadi ssc
SSC results on SMS from manabadi studentResults direct links from
AP SSC REGULAR results 09 SSC PRIVATE Results OSSC REGULAR results OSSC PRIVATE results Results
Sakshi Results. Ceep 2009 Results · Inter Second Year 2009 Results · Inter First Year 2009 Results.

Results direct links from vidyavision.comAndhra Pradesh SSC 2009 Results (General)Andhra Pradesh SSC 2009 Results (Vocational)
Andhra Pradesh Examination pr…

C Traps & Pitfalls Book PDF Online by Andrew Koenig

C Traps & Pitfalls Book PDF Online by Andrew Koenig
C Traps and Pitfalls is a slim computer programming book by former AT&T researcher and programmer Andrew Koenig, its first edition still in print in 2005, which outlines the many ways in which beginners and even sometimes quite experienced C programmers can write poor, malfunctioning and dangerous source code.

It evolved from an earlier technical report published internally at Bell Labs, but is now available online in pdf form.


Happy coding.

Higher Secondary Kerala hse kerala Results Links

Today vhse kerala HSE Kerala DHSE Kerala hseresults 2009 Plus Two Kerala results are declared, students are finding difficult to get results as official sites are coming down, due to hevay loads, For those students here are some direct links and email registration links.
The result will be made available with the joint efforts of Kerala education board and the National Informatics Centre and to be published on
Arrangements have also been made at couple of hundred Akshaya Centres to provide the result where internet connectivity is a problem.
here are direct links for email Registration
DHSE (Plus Two) Results 2009 Results 2009 Kerala Higher secondary examinations Results links
Schoo… PUC Exam Results 2009

Government of Karnataka KARNATAKA EXAMINATIONS AUTHORITY will declare PUC Exam Results 2009 by tomorrow
Likely to be declared on 09/05/2009 at 3:30pm

check you Karnataka PUC Exam Results 2009 at


Find Karnataka PUC Results,PUC Exam Results 2008, Karnataka PUC Results 2008, Karnataka Pre University Results,PUC Results only on
PUC Results 2009, KarnatakaPU Education Department, Karnataka will be announcing the PUC Results 2009 on 9th May 2009.2 puc results, 2nd puc results, 2nd puc results 2009, cet exam results, karnataka puc results, Karnataka Results, Karnataka SSLC Results 2009, puc results 2009, puc results karnataka Karnataka PUC Results | PUC Exam Results 2008 | Karnataka PUC Results 2008 | Karnataka PUC results 2008 | PUC Results

Use of Select() System Call In Linux To make a non-blocking connect()

About Select system call
The  select() function shall examine the file descriptor sets whose addresses are passed in the readfds, writefds,
       and errorfds parameters to see whether some of their descriptors are ready for reading, are ready for  writing,  or
       have an exceptional condition pending, respectively.
  int select(int nfds, fd_set *restrict readfds,
              fd_set *restrict writefds, fd_set *restrict errorfds,
              struct timeval *restrict timeout);
There are many usages of select() system call, Here is one usage in networking applications, The use of select system call is to make non-blocking call in Linux.
how to make a non-blocking connect() in Linux

1. create socket using socket(),

2. set the file descriptor to non-blocking mode using fcntl(2)
   fnctl (fd, SETFL, fcntl(fd, GETFL) | O_NONBLOCK)

3. call connect() - since you have set the socket to non-blocking, it will
return right away with a result of EINPROGRESS.

4.  Now

   a) Go into a loop and keep c…

Working With Linux Patch 10 Step Guide

What is Linux patch ?
Here is patch description from Linux Man pages.
patch - apply a diff file to an original

       patch [options] [originalfile [patchfile]]

       but usually just

       patch -pnum <patchfile

       patch  takes  a patch file patchfile containing a difference listing produced by the diff program and applies those
       differences to one or more original files, producing patched versions.  Normally the patched versions  are  put  in
       place  of the originals.  Backups can be made; see the -b or --backup option.  The names of the files to be patched
       are usually taken from the patch file, but if there√Ęs just one file to be patched it can specified on  the  command
       line as originalfile.

How Linux patch works?
Here is short explanation about How to use patches in linux.
Working with Patch 10 step Guide.
mkdir patch_testcd patch_test/mkdir oldcd oldcreate   file1.txt and file2.txtcd .. ; mkdir newcp file.txt and file2.txt == Now chang…

Creation of Static Libraries In Linux Simple Steps

Here is real time example of creation of static library and its usage, explained in simple steps.
Creation of static library with example

Creation of Static Libraries In Linux Simple Steps

1. Create Test  Directory
  Create working test directory as: /home/test/so

 2. Choose Library Files
   library file name: add.c
     int add(int a, int b)
         return (a+b);
3. Compile
Now Compile Static Library with -shared option
   gcc -c add.c
   gcc -shared -o add.o

4. Usage of Static Library
 Here is example application uses this library.
   filename: main.c
   int main(void)
      printf("result: %d", add(1,2));
      return 0;

5. Compile Example Code
  gcc main.c -o main -L  <path where the library file is there, in our example it is> -l add
       (in last option -l add we have to specify library name. name of the library is, removing the "lib"
         from libadd. i.e. how gcc takes.)
   example: gcc main.c -o main -L /home/test/so …

The Linux Foundation Free Training Program at linuxfoundation

The Linux Foundation Training Program is: * For the Community, by the Community. The Linux Foundation is
building the program with its Technical Advisory Board to ensure the
content, instructors and classes are the top quality available.
* Technically the most advanced. Since the Linux Foundation works
directly with community developers, it can cover features and advances
in Linux before commercial companies.
* Connected. The Linux Foundation has unfettered access to the
leading developers and companies in the Linux ecosystem and will use
these connections to best position attendees for success. For example,
attendees can attend the exclusive, invite-only Collaboration Summit
where they can forge connections beneficial to their career.
* Real World. The Linux Foundation training courses all have hands
on components and a highly rigorous curriculum of programming or
administration exercises. Graduates will be well equipped to master
Linux programming and system administration tasksThe…

Configure udhcpc for Setting IP netmask and Gateway

How to Configure udhcpc for Setting IP netmask and Gateway?
Tell udhcpc client to run on eht1 interface with -i option.
Also use -s option to tell udhcpc client to use script from specified path.
/sbin/udhcpc -i eth1 -p /var/run/ -s /usr/share/udhcpc-wifi/default.script &

default.script directs the udhcpc to executes one by one scripts from specified folder ie /usr/share/udhcpc-wifi/
else default folder location for udhcpc script is /usr/share/udhcpc/

For directing IP address to temp file obtained using udhcpc client or for DHCP, do little
modification in sample.bound file.
Here is Sample udhcpc renew script, which will update the ip address, netmask and gatway obtained
by boradcasting. The new values will be updataed in /var/dhcpfile.

# Sample udhcpc renew script


[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet

echo $ip >…

Use Of Bootloader In SoC Design Life Cycle

Use of bootloader, in SoC design.
SoC in simple terms is collection of required blocks, like USB, MAC, PCI, surrounded to the CPU (generally RISC CPU, ARM).
As a part of SoC development each hardware block is validated for its functionality.
Validation is done register level. Example if we want to test functionality provided by MAC block in our SoC, then these functionality are validated by writing test cases in bootloader (u-boot-1.1.6).
Bootloader will create an environment for the test cases. The test cases are added as commands for each block with different subtests for each block to touch the corner conditions.
To start with U-boot provides generic block test cases, like I2C and many more are getting added day by day.
Format of bootloader commands

int do_hello (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
printf("Hello World\n");

hello, 5, 0, do_hello,
" hello - Prints hello world\n",
" hell…

UDP Traffic Generator Client Side C code

Learning Networking basics using C programs, to start with here is simple UDP client side code,
Why to start with UDP because its simple, no need of connection handshake like TCP.
This code sends continues UDP traffic over network, depending on the payload (ie send_buf) and delay between each transfer, rate at which data is pumped over network is calculated. Example: this client program is sending constant length 0f 1400 (in sendto function), so if you keep delay as 1s then data transfer rate will be 1400 per sec, decrease the delay to pump traffic at high rate.
You need UDP server side code for running this client.
udp client

#include /* memset() */
#include /* select() */

#define MAX_MSG 1600

int main() {

int sd, rc, i;
struct sockaddr_in cliAddr, remoteServAddr;
struct hostent *h;
char *send_buf;
unsigned int count=0;
int reply;

send_buf= (char *) malloc(1600);

UDP Traffic Generator Server Side C code

Learning Networking basics using C programs, to start with here is simple UDP server side code,
Why to start with UDP because its simple, no need of connection handshake like TCP.

udp server

#include <sys/types.h>;
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>/* close() */
#include <string.h> /* memset() */

#define LOCAL_SERVER_PORT 1500
#define MAX_MSG 1500

int main() {

int sd, rc, n, cliLen;
struct sockaddr_in cliAddr, servAddr;
char msg[MAX_MSG];
int count;
int prev_count=0;
/* socket creation */
sd=socket(AF_INET, SOCK_DGRAM, 0); //create unix socket
printf("cannot open socket \n");

/* bind local server port */
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = inet_addr(""); //using fixed IP for simplicity
servAddr.sin_port = htons(LOCAL…

AVG Antivirus Free Download a Online

Here are some links for avg antivirus free, avg antivirus, avg free download, avg antivirus gratis, avg free

AVG Free - Download AVG Anti-Virus Free Edition for Windows XP and ... AVG Anti-Virus Free Edition - trusted by 80 million users. Antivirus and antispyware protection for Windows available to download for free... clipped from Google - 4/2009 AVG Free - Download antivirus and antispyware software for Windows ... Download antivirus and antispyware security software for Windows for free, join the millions of home users that trust AVG to protect their computers.

AVG Anti-Virus Free Edition - Free software downloads and reviews ... Come to CNET for free and safe AVG Anti-Virus Free Edition downloads. Protect your computer from viruses and malicious programs.

From Windows Vista Home Edition Access SMBD ver 2.2.12

How to Access NAS Box From Windows Vista Home Edition?
Access NAS box windows vista (Ultimate editions), If you NAS box contains SMBD/ SAMBA version less than or equals 2.2.12
Steps to access NAS box from Windows Vista Home Edition
1. In the Windows taskbar, click Start and select Run. In Run window type “regedit” and press OK.
2. This will open User Account control window, here click continue.
3. Double click on the “HKEY_LOCAL_MACHINE” , “SYSTEM”, “Current Control Set” and
4. Then click on “Lsa” then you will get some parameters in the right windowpane.
5. Find for “LMCompatibilityLevel” and double click on this item.
6. In the edit window change the “Value data” to 1 from 3.
7. Press OK then Close the Registry Editor (regedit).

your Vista PC ready to access the NAS box.

Access NAS Box From Windows Vista Ultimate Edition

How to Access NAS Box From Windows Vista Ultimate Edition?
Access NAS box windows vista (Ultimate editions), If you NAS box contains SMBD/ SAMBA version less than or equals 2.2.12
Steps to access NAS box from Windows Vista Ultimate Edition

1. In the Windows taskbar, click Start and select Run. In Run window type “secpol.msc” and press OK.
2. This will open User Account control window, here click continue.

3. Now double click on the “Local Policies” and click on “Security Options”.
4. Find “Network Security: LAN Manager authentication level” in right windowpane and double click on this policy.

5. Now change Local Security Setting “Send NTLMv2 response only” to “Send LM & NTLM –use NTLMv2 session security if negotiated”.
6. click “apply” and then “OK”.
Now your Vista PC ready to access the NAS box.
Share your tricks also.

How To Compile Tool Chain For Bootloader

For compiling Uboot 3.4.4 tool chain is required.
Steps to check and change tool chain correspondingly
1) At the bash prompt of your Linux PC, execute the following command.

$ tar -zxvf arm-tools.tar.gz

Now you will have the "arm-tools" folder created in your current directory.

2) Copy the "arm-tools" directory to your home directory (or wherever you
prefer to)

$ cp -rf arm-tools ~/

3) Modify the .bash_profile file in the home directory, by using the following
steps. (Add the following lines in .bash_profile)

$ vi ~/.bash_profile

This will open the file for editing. Make the following changes in the file

export HOME=$HOME/arm-tools
PATH=$PATH:$HOME/bin:$HOME/arm-tools/arm-linux/bin:$HOME/arm- tools/image_tools/:$HOME/arm-tools/image_tools/bin

export PATH

Close the ".bash_profile" file.

4) Then execute the command

$ source .bash_profile

5) To check whether arm-tools environment has been properly set or not type the
following at the pro…

How to participate in the Linux kernel community

How to participate in the Linux kernel community? check out A GUIDE TO THE KERNEL DEVELOPMENT PROCESS
Jonathan Corbet has written a very interesting article on "how
to participate in the Linux kernel community"

Section 1 is the executive summary.

Section 2 introduces the development process, the kernel release
cycle, and the mechanics of the merge window.

Section 3 covers early-stage project planning, with an emphasis
on involving the development community as soon as possible.

Section 4 is about the coding process; several pitfalls which
have been encountered by other developers are discussed.

Section 5 talks about the process of posting patches for review.

Section 6 covers what happens after posting patches; the job is
far from done at that point.

Section 7 introduces managing patches with git and reviewing
patches posted by others.

Section 8 concludes the document with pointers to sources for
more information on kernel development.

Please take a look at the complete document at

Adding Network Printer in MS windows Simplest Way

yes you can add Network Printer in MS windows in very Simplest Way. I was allocated a new windows Xp PC, I was waiting for network printer to configure on my new machine. I just tried this simplest way, rather to wait for network admin. My friend also asked me about configuration for network printer and i told him same way, which is worked for him also. Here is simplest way to configure your new printer.

go to start->settings-> Printers and Faxes

Here you can see the default printer name.
Just ask your friend about the name of network printer, and all you have to do is rename your default printer with network printer name, your printer is on. check out this trick works for you also.
Sometimes you need to select the driver for the same, from printer properties-> advanced option.

comment on your tricks also.

Difference Between Static And Shared Libraries ?

Libraries are collection of precompiled functions which have been written to be reusable.Libraries in Linux are classified into two types:1) Static Libraries:- The collection of object files kept together. When a program needs a function, that is stored in static library, it includes the header file that declares the function. The compiler combines the program code and linker links the library into an execuatble code.Static Libraries are also called as archives that ends with .a extension.e.g. /usr/lib/libc.a is a standard C library.Disadvantage of Static Libraries:- In the static libraries the function code is included in the executable. So when we run many applications that use the same function code, we end up with many copies of same functions in memory.2) Shared Libraries:- When a program uses a function in a shared library, then that code does not get included in the execuatable. Instead it references to shared code that will be made available at run time. So when…

Loop Unrolling or Loop unwinding in C

What is Loop Unrolling or Loop unwinding in C?
Loop unwinding, also known as loop unrolling, is a loop transformation technique that attempts optimize a program's execution speed at the expense of its size.
The goal of loop unwinding is to increase the program's speed by reducing (or eliminating) the "end of loop" test on each iteration. Loops can be re-written as a sequence of independent statements which eliminates the loop controller overhead.
The major side effects of loop unrolling is The increased register usage in a single iteration to store temporary variables (though much will depend on possible optimizations), which may hurt performance.
The code size expansion after the unrolling, which is undesirable for embedded applications and for purposes of code readability. Large code can also cause an increase in instruction cache misses, which may adversely affect performance.
A simple example
A procedure in a computer program is to delete 100 items from a collection. T…

Access Samba Using Dos Commands List Here

I was searching for accessing samba using DOS command, Finally I managed it by own; here is list of useful command.
To mount or to map the SAMBA folder to local machine.
eg; to map public folder from and copy test.txt
use :- net use z: \\computer\folder
Map the Z: drive to the network path //computer/folder.
net use z: \\\public

enter user-name (if connecting first time)
enter password

To copy the data to this drive

ie to put file
copy test.txt \\\public

to get the file
copy \\\public\test.txt

To delete the connection
net use z: /del /yes

Scientists discover oldest words in the English language

The oldest words in the English language include "I" and "who", while words like "dirty" could die out relatively quickly, British researchers said Thursday. clipped from Scientists discover oldest words in the English language, predict which ones are likely to disappear Scientists at the University of Reading have discovered that 'I', 'we', 'who' and the numbers '1', '2' and '3' are amongst the oldest words, not only in English, but across all Indo-European languages. What's more, words like 'squeeze', 'guts', 'stick', 'throw' and 'dirty' look like they are heading for history's dustbin - along with a host of others Evolutionary language scientistsfrom the University of Reading have been investigating how languages evolve, and whether that evolution followed any rules. Until recently they believed they would not be able to track words back in time…

Linux Essential Shortcuts and Commands

Linux essential shortcuts and sanity commands

Switch to the first text terminal. Under Linux you can have several (6 in standard setup) terminals opened at the same time.
Switch to the nth text terminal.
Print the name of the terminal in which you are typing this command.

Switch to the first GUI terminal (if X-windows is running on this terminal).
Switch to the nth GUI terminal (if a GUI terminal is running on screen n-1). On default, nothing is running on terminals
8 to 12, but you can run another server there.

(In a text terminal) Autocomplete the command if there is only one option, or else show all the available options.
THIS SHORTCUT IS GREAT! It even works at LILO prompt!

Scroll and edit the command history. Press to execute.

Scroll terminal output up. Work also at the login prompt, so you can scroll through your bootup messages.

Scroll terminal output down.
(in X-windows) Change to the next X-server resolution (if you set up the X-server to more than one re…

9 brain habits you did not realize you had

Brain is certainly the most amazing part of human body. It becomes more interesting when it does not work the way you expect it should. Psychology frequently establishes our intuitions about how human mind works, but it reveals a number of surprises as well… clipped from 1) The maximum capacity of your short-term memory is seven. 2) The most visible color is Chartreuse. 3) Subconscious is smarter than you. 4) There are two nervous systems. 5) Brain is exceptionally bad at probability. 6) Memory isn’t great either. 7) Depth is perceivable with one eye. 8 ) Long-term memory closes up during sleep. 9) The Brain has an amazing instant playback feature. Brain is certainly the most amazing part of human body. It becomes more interesting when it does not work the way you expect it should. Psychology frequently establishes our intuitions about how human mind works, but it reveals a number of surprises as well…

Useful Vi Editor Trick

Here is yet another Vi editor trick. At the Vi editor, we can edit multiple files by switching between them (With out opening another terminal)

$vi ex1.c ex2.c ex3.c

To switch one file to another use :n, :#e (With out exiting and opening the file)
like $vi ex1.c ex2.c ex3.c

:n Move forward to next file is the file list
:e# Toggle between the last two edited files
:rew Rewind file list and reopen first file in the list

Animated LILO The Linux Loader for SuSE Linux 7.2 or Animated boot-up screen

It's just something fun to do to add eye candy to your boot-up screen, if your tired of looking at the same old LILO prompt or boot-up screen every time you start your system.
Make your LILO boot screen more exciting with animated pictures! From the author's web page:

Since mid-2001, most Linux distributions include some patched versions of LILO (the LInux LOader) that support VGA or VESA graphical modes and make it possible to have a nice background image while booting. Starting with SuSE Linux 7.2, the SuSE distribution includes an interesting extension to LILO that allows a programmer to define some callback functions that are triggered when some events occur (key pressed, timeout, ...). It gives a much greater flexibility than the other extensions that are provided by most of the other Linux distributions, including the new graphical modes that have recently been added to the official version of LILO 22.x.

While testing the SuSE version of LILO and the helper program mkbootms…

Gear Up for GSoC 2009 Google Summe of Code

The Google Summer of Code is a program designed to encourage college student participation
in open source development.
How does it work? Students submit project proposals to the organizations,
organizations rank the submissions (students paired with
mentor from open source community).Google allocates a given number of slots to each
organization, the students work all summer on their project in close mentored collaboration with that organization.
GSoC 2009 Timeline
March 9-13: Google will accept applications from open source projects.
March 13-17: Google program administrators review organization applications.
March 18: List of accepted mentoring organizations published on
March 23-April 3: Student applications acceptance period.
March 23: Student application period opens.
April 3: Student application deadline.
April 20: Accepted student proposals announced at
August 24: Final evaluation deadline.
September 3: Students can begin submitting required cod…

Useful VI Commands For Linux Beginners Read on

useful vi commands for Linux beginners

1) To open two files in single window of vi editor
a) vi a.c
b) give the following command in vi editor to open b.c file
:sp b.c
c) Now vi editor contain two files in each half screen. TO switch
between two files use ctrl+ww.

2)Replacing a text
a) vi a.c
b) In a.c file, replace printf with printk using follwing command
This will replace only first occurrence of printf in each line.
The above command will replace all printf words in entire
file with printk.
The above command will ask confirmation.
This commamnd will replace in current line.

3)setting auto indentation:

In home directory create .exrc file add the following commands
:set nu
:set cindent

:set cindent will do indentation in C
4) To open a man page of a system call from vi editor
a) vi a.c
put the cursor at system call and press shif…

Linux Command Line Most Used Shortcuts

Just sharing some of the command line shortcuts that I used and learnt; please share yours also.

1. To search in history or run previous commands
This is my most used shortcut. Hit Control-R and begin to type a string.
For example, type the following and hit Enter.grep root /etc/passwdThen hit Control-R and begin to type 'grep'.Control-R
(reverse-i-search)`gre': grep root /etc/passwdWhen you see the original command listed, hit Enter to execute it. Alternatively, you can also hit the Right-Arrow to edit the command before running it.
Use -> ctrl + r and type the command, to go one more level back again hit ctrl + r, to edit the command before you execute use right key arrow.

2. To clear the present screen use -> ctrl + l (My discovery works on board also).

3. To edit previous command using vi commands -> set -o vi

Now you can use the Vi cw command to change the word in command.

4. Use of alias

alias ll='ls -l'
alias gohome='cd; ls'
If you want these custom a…