Monday, December 17, 2007

16-dec-2007 -
Fedora7 + VirtualBox + SeamlessRDP = Sweetness! (Seamless virtualization) - could check this
ht - must set this up along with webserver authentication
Sniper Elite-walkthrough



Sunday, December 09, 2007


awesome-a tiling window manager
secure/harden box
pulse streaming audio on my machine...restrict users and port access.
speech recog-on fc8
flightsim-on fc8

binary bombs-code - 2.7 preview version with web upload integration

Subsonic-try the beta -- probably a memory hog, lets check it out and if too much of a load, then switch to gnump3d

winstone - this + subsonic

tiny java web server

FC8 removing hdd icons from desktop

in /usr/share/hal/fdi/policy/10osvendor/99-redhat-storage-policy-fixed-drives.fdi

Friday, December 07, 2007

Fedora 8 + Skype 2 Beta + Vlc + Audacious

I love Fedora. So obviously I love Linux :D, so its only natural that I would not want to use ***doze for just Skype-right?

Here starts a mix and match of sound servers that were messing up one or the other app-pulse audio was not helping much. If I set everything to OSS, audacious and skype were working but not vlc, and any combination had such problems.

Getting Skype 2 beta alone to work was a significant task-all with skype when run on the CLI telling me the follosing message:

Cannot open shared library /usr/lib/alsa-lib/

And searching around I found that this so was in alsa-plugins-pulseaudio, which adding to the confusion was already installed on my machine...

The solution turned out to be to surprise-surprise-- uninstall alsa-plugins-pulseaudio :)


Vlc->Settings->Preferences->Audio->OutPut Modules->Advanced options enabled

Audacious Preferences

Skype Preferences

Now that done, I removed all traces of pulse on my FC8 box and added a few plugins for audacious and alsa-the following is the list of related packages I have at the moment:


And now, all three work fine...phew....


SKYPE 2.x on Linux:

After a lot of digging around, I hit on the brilliant idea of running skype from command line so that U can atleast get a look at the error messages-if there are any. Voila; it turned out that there was just one - could not open

More digging to find out the package that it was present in gave me alsa-plugins-pulseaudio as the package that contains the file. Cool I thought-I downloaded it from rpmfind and tried to install it when it said that it is already installed :D OK Back to square 1. More digging and I found the solution-uninstall the very same package. Yes it did it. Just do a
yum remove alsa-plugins-pulseaudio and you should get skype 2 working cool with excellent audio and the video-ok I have not tested that. My friend whos webcam I was trying to see was having a bad connection and probably a bad cam. So cant really comment on that.

But in addition to removing alsa-plugins-pulseaudio, I installed alsa-plugins-oss and made my system->preferences->hardware->sound point to OSS devices. If you have trouble with just the above, then you could try doing this step in addition....good luck :)

Tuesday, December 04, 2007 - folding - fedora team - try the same kind of stuff for fedora with tamil enabled. - skype on fc8 x86_64 - skype - replace alsa with oss - see if this helps

Monday, November 12, 2007

Thursday, November 08, 2007

Friday, October 12, 2007

Monday, October 08, 2007

Friday, October 05, 2007

Wednesday, September 26, 2007

Wednesday, September 05, 2007

Remote Access to Linux Install

remote access to an installation system

Boot time command args:

expert Turns on special features:
- allows partitioning of removable media
- prompts for driver disk

noshell Do not put a shell on tty2 during install.

lowres Force GUI installer to run at 640x480.

resolution= Run installer in mode specified, '1024x768' for example.

nousb Do not load USB support (helps if install hangs
early sometimes).

nofb Do not load the VGA16 framebuffer required for doing
text-mode installation in some languages

nofirewire Do not load support for firewire devices

askmethod Do not automatically use the CD-ROM as the install
source if we detect a Red Hat Linux CD in your CD-ROM drive.

nousbstorage Do not load usbstorage module in loader. May help with
device ordering on SCSI systems.

noparport Do not attempt to load support for parallel ports

noprobe Do not attempt to detect hw, prompts user instead.

nopcmcia Ignore PCMCIA controller in system.

skipddc Skips DDC probe of monitor, may help if its handing system.

graphical Force graphical install. Required to have ftp/http use GUI.

text Force text mode install.

vnc Enable vnc-based installation. You will need to connect
to the machine using a vnc client application.

vncpassword= Enable a password for the vnc connection. This will
prevent someone from inadvertantly connecting to the
vnc-based installation.

Requires 'vnc' option to be specified as well.

vncconnect=[:] Once installation is up and running, connect to
the vnc client named , and optionally use port .

Requires 'vnc' option to be specified as well.

updates Prompt for floppy containing updates (bug fixes).

isa Prompt user for ISA devices configuration.

dd Use a driver disk.

driverdisk Same as 'dd'.

mediacheck Activates loader code to give user option of testing integrity
of install source (if an ISO-based method).

rescue Run rescue environment.

nomount Don't automatically mount any installed Linux partitions
in rescue mode.

nopass Don't pass keyboard/mouse info to stage 2 installer, good for
testing keyboard and mouse config screens in stage2 installer
during network installs.

serial Turns on serial console support.

ksdevice Takes an argument like 'eth0', tells install what network
device to use for kickstart from network.

ks Kickstart over NFS.

ks=cdrom: Kickstart from CDROM

ks=nfs: Kickstart from NFS.

ks= Kickstart via HTTP.

ks=hd: Kickstart via harddrive (dev = 'hda1', for example)

ks=file: Kickstart from a file (path = 'fd0/ks.cfg')

ks=ftp:// Kickstart from FTP.

ks=http:// Kickstart from HTTP.

kssendmac Adds HTTP headers to ks=http:// request that can be helpful
for provisioning systems. Includes MAC address of all nics in
a CGI environment variable of the form
all nics.

dhcpclass= Sends a custom DHCP vendor class identifier. ISC's dhcpcd can
inspect this value using "option vendor-class-identifier".

upgradeany Don't require an /etc/redhat-release that matches the
expected syntax to upgrade.

lang= Language to use for the installation. This should be a
language which is valid to be used with the 'lang' kickstart

keymap= Keyboard layout to use. Valid values are those which can be
used for the 'keyboard' kickstart command.

ip= IP to use for a network installation, use 'dhcp' for DHCP.

netmask= Netmask to use for a network installation.

gateway= Gateway to use for a network installation.

dns= Comma separated list of nameservers to use for a network

method=nfs: Use for an NFS installation.

method=http:// Use for an HTTP installation

method=ftp:// Use for an FTP installation

method=hd:/// Use on for a hard drive installation

method=cdrom Do a CDROM based installation.

vnc Do graphical installation via VNC. Instead of
starting a normal X server, vncserver will be started
and you can then connect remotely to do the

vncpassword= Set a password for the vnc session.

vncconnect=[:] Once installation is up and running, connect to
the vnc client named , and optionally, on port .
Requires 'vnc' option to be specified as well.

debug Start up pdb immediately
nofallback If GUI fails exit
rootpath= Where to install packages (default /mnt/sysimage)
pcic= Specify pcmcia controller
overhead= Override LVM overhead calculation
traceonly Don't run, just list modules we use
kickstart= Set serial install and kickstart file
kbdtype= Set the type of keyboard
module= Load additional kernel modules
class= Choose install class to use
autostep Make kickstart non-interactive
noselinux Disable Security Enhanced Linux
selinux Enable Security Enhanced Linux
cmdline Use command line installer
headless Automate install for machines with no display
xfs Allows the creation of a xfs filesystem
reiserfs Allows the creation of a reiserfs filesystem
jfs Allows the creation of a jfs filesystem

Tuesday, September 04, 2007

something similar to top but for network traffic...interesting and useful.

Tuesday, August 21, 2007

kernel links


Don't let nobody tell you what you cannot do;
don't let nobody tell you what's impossible for you;
don't let nobody tell you what you got to do,
or you'll never know ... what's on the other side of the rainbow...
remember, if you don't follow your dreams,
you'll never know what's on the other side of the rainbow...
-- melba moore, "the other side of the rainbow"

Sunday, August 19, 2007

Monday, August 06, 2007 - gui testing tool

Sunday, August 05, 2007

Projects of the day


wsdlpull is a C++ web services client library. It includes a WSDL Parser,a XSD Schema Parser and Validator and XML Parser and serializer and an API and command line tool for dynamic WSDL inspection and invocation.

wsdlpull comes with a generic web service client.Using wsdlpull's wsdl tool you can invoke most web services from command line without writing any code like this!!

Invoking the popular stock quotes web service and the currency exchange services

wsdl getQuote SYMBOL
wsdl getRate "United States" India
Get the local time in you city

wsdl getCityTime Tokyo
Or a more complex google search whose wsdl is included in the test directory.Get the first 5 google search results for 'wsdlpull'

wsdl GoogleSearch.wsdl doGoogleSearch "****license-key****" wsdlpull 1 5 0 1 1 1 1 1

Get a dictionary/thesarus on your command line

wsdl DefineInDict wn thesaurus
wsdl DefineInDict moby-thes thesaurus


vlock is a program to lock one or more sessions on the Linux console. This is especially useful for Linux machines which have multiple users with access to the console. One user may lock his or her session(s) while still allowing other users to use the system on other virtual consoles. If desired, the entire console may be locked and virtual console can be switching disabled.


Logapp is a wrapper utility that helps supervise the execution of applications that produce heavy console output (e.g. make, CVS, and Subversion). It does this by logging, trimming, and coloring each line of the output before displaying it.

Thursday, August 02, 2007

todays links

Sunday, July 15, 2007

links to check -- screen tricks -- system optimization -- cli magic - video on cli,1895,2147447,00.asp -- reinvent modern computing

Saturday, July 14, 2007

playing 3wplayer files in linux

use the attached perl script

Usage: perl avi_3wplayer_only.avi new_avi_file.avi

thanks to angelushu

#thanks to angelushu

# Turn of output buffer

# The key for XOR decryption
my $times = 1;

print "Reading from \"$ARGV[0]\":\n";
$insize = -s $ARGV[0];
# Open the bogus AVI file
open(IN, $ARGV[0]) or die $!;
binmode IN;

# Read Header to check
read(IN, $buffer, 4);
if ($buffer ne 'RIFF') {
print " ERROR: \"$ARGV[0]\" is not an AVI\n";
close IN;
# Get Length of the unencrypted movie
read(IN, $buffer, 4);
$offset = unpack 'L', $buffer;
print " End of the unencrypted movie is at byte offset $offset\n";

# Jump to the read offset
seek(IN, $offset, 0);

# The next 4 or 8 Bytes seem to be either an unsinged long
# or an unsigned quad. This is another offset to jump
# over some filler bytes. Right now I can't really tell if
# it's 4 or 8 bytes, because I only have 1 file to test with.
# I assume it's a quad.

# low word
read(IN, $buffer, 4);
$offlo = unpack 'L', $buffer;
# high word
read(IN, $buffer, 4);
$offhi = unpack 'L', $buffer;
# Calculate offset
$offset = $offhi * 4294967296 + $offlo;

print " Offset after the unencrypted movie is $offset\n";
seek(IN, $offset, 0);

# Then there seem to be another 100 filler bytes
# with value 0xff. Jump over those too, to get
# to the offset where the real movie starts.
printf " Adding extra filler bytes, final offset is %s\n", $offset+100;
seek(IN, 100, 1);

# Update the size
$insize -= $offset+100;

# Open a file for writing the decrypted data to
print "Decrypting to \"$ARGV[1]\":\n";
open(OUT, ">$ARGV[1]");
binmode OUT;
truncate OUT, 0;

$bytes = 0;
$klen = length($key);
# Read key length bytes, decrypt them and
# write them to the output file untill you reach
# the end of the file
while ( read(IN, $buffer, $klen) ) {
$buffer ^= $key;
print OUT $buffer;
$bytes += $klen;

# print the status
if ($times == 500)
printf "\r %d written (% .1f %%)", $bytes, ($bytes / $insize * 100);

# Close both files
close OUT;
close IN;
print "\n\nDONE!\n";

Thursday, July 12, 2007

interesting links -- is this available in dsl linux -- excellent article on how to use rtorrent

Monday, June 18, 2007

Interesting apps for Linux

I came across the following apps that were of interest to me...for reference I have posted the app page and the summary from those pages about the app...

Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own monitor(s).
QuickSynergy is a graphical interface (GUI) for easily configuring Synergy2, an application that allows the user to share his mouse and keyboard between two or more computers.
AcetoneISO: The CD/DVD image manipulator for Linux
- Mount and Unmount ISO, MDF, NRG (if iso-9660 standard)
- Convert / Extract / Browse to ISO : *.bin *.mdf *.nrg *.img *.daa *.cdi *.xbx *.b5i *.bwi *.pdi
- Play a DVD Movie ISO with most used media players
- Generate an ISO from a Folder or CD/DVD
- Generate MD5 file of an image
- Encrypt an image
- Split image in X megabyte
- Compress with High Ratio an image
- Rip a PSX cd to *.bin to make it work with epsxe/psx emulators
- Service-Menu support for Konqueror
- Restore a lost CUE file of *.bin *.img

Istanbul is a desktop session recorder for the Free Desktop. It records your session into an Ogg Theora video file. To start the recording, you click on its icon in the notification area. To stop you click its icon again. It works on GNOME, KDE, XFCE and others.


Thursday, April 26, 2007

Speeding up Jigdo

What is Jigdo
Jigdo is a new tool that has been accepted by Debian as THE way to distribute their ISOs. The reasons are:
1. Its a simple tool that can run making use of some very basic linux utilities that are available on most linux distros
2. Can make use of partially downloaded files
3. Can make use of the previous release of an ISO and download only the packages that have changed and recreate the latest release of the ISO locally.
4. Reduces time/resources for both the user and the server that is hosting the ISO

Normally the speed is limited to the number of connections that we can make to the particular server. So more the number of connections that I use to download a particular file, the faster is the download. For example...if I download a file using wget and I get 20KBps then if I use a tool that supports splitting up the file into multiple parts, say I split the file into 5 parts, I can get atleast a 100KBps. Now thats FAST...dont you think? what tool can be used and how can we use it with jigdo?

My choice is aria2c. The reason is that I have used it for generic downloads and have had good performance. It supports mirrors, splitting the download, proxy, torrents, metalinks, https etc... For a complete feature list see:

Lets try to understand how jigdo works so we can modify it suitable:

jigdo-file is the tool used to prepare the ISO for distribution. It creates a .template extensioned file that contains the following:
1. The md5 sum of each file that is in the ISO
2. The directory structure for the file in the ISO
3. In case some files were passed to jigdo-file other than ISO, then those
4. The entire directory structure and padding information from ISO

Another file that is created by jigdo-file has an extension of .jigdo. This file uses the same format as windows ini files and has the following information
1. The [Parts] section contains md5 sum of file in ISO mapped to the URL from which it can be downloaded.
2. The [Servers] section contains URL for Core and Updates folders. These can be modified by us to point to the closest mirrors that we have.
3. [Image] gives a list of images on those servers. This is used to let the user choose which ISO he wants to download-say DVD or CD etc.

This file is pretty self explanatory.

How to go about making the download:

We need to download the .template file to the local machine and run jigdo as follows:
jigdo-lite FC-20070401-6-x86_64.jigdo
Lets assume Im trying to get the latest FC6 respin while having a copy of the first released FC6 disk.

1. jigdo-lite checks if the .template file is present in the directory. If not then it downloads it.
2. I mount the iso of the old FC6 disk in some mount point and ask jigdo to scan it.
3. Jigdo scans the files present in that and checks that against the md5 sums it has in the template file.
4. Based on this information it generates a .list file that contains all the files that need to downloaded.
5. It downloads files into .tmpdir folder. After each 10 file, the files are written into an iso.tmp file in the same structure that is mentioned in the .template file.
6. The downloaded and existing files are merged to recreate the new iso with the updated files.

So by downloading just the changed files, the entire new release iso is recreated on our local machine.

Now coming back to where we started:
jigdo uses wget which supports a lot of features except especially splitting of the download into multiple parts. This is a major disadvantage. So let us use aria2c which supports that and a lot of other features.

jigdo-lite as it turns out is a simple shell script that calls wget in turn to get the files. So all we need to do is find this line in jigdo-lite

wget --user-agent="$userAgent" $wgetOpts "$@" || return 1

and replace with

aria2c $ariaOpts "$@" || return 1

At the top of the file set ariaOpts as follows:
ariaOpts="-s4 --ftp-pasv --http-proxy=PROXY:PROXYPORT --http-proxy-user=ADUNAME --http-proxy-passwd=ADPASSWD"

This will make the script split the file into 4 parts.

Now run jigdo-lite and you stand to get atleast a 4x speedup :)

Useful Links:

Wednesday, February 28, 2007

vmware converter

as part of fun at work ;) today im moving my entire windows installation into a vmware image which i intend to run from linux fc6 custom build through vmware server.

initially my c drive showed around 7+ gb used...later after moving some files and uninstalling all that i didnt like i got to around 5.2 gigs. am currently making an image of 6gigs out of my cdrive. if everything goes on fine...will be reporting back from my windows under linux session....

looks like it would another hour atleast before the image is created on my very slow machine.

1hr and 15mins and i still have 43 mins to go :( boy is it slow....but im ready to wait as this would help me in getting rid of the devil :)

2hrs and still 24 mins to go :(

by now you would be wondering 'what the hell is the config he is using?'....the answer to that would be 1.7 amd with 1.2gb RAM.

2hrs and 22 minutes later its now let me go for a reboot...bye...

finally after 2.5 hrs and a long time waiting for it to bo0t(gave it only 256 mb ram...didnt want to waste mem giving it to 'doze ;))

It works like a charm...but a very slow charm. but ofcourse it is a lot better than doing all the manual editing that needs to be done to the registry to get it working on vmware from linux and in addition to that we get it all in a file so if needed we can increase the size of the partition.

okie people...its time to fiddle with 'doze under linux...catch u later :)


Forgetting is being explained by wikipedia as "retention loss-a process by which old memories are replaced with new ones in an delicately balanced optimized way".

Funny is'nt it...your inability to remember to pick up that pack of bread from the grocery store is in actuality nature's own algorithm to cleanup your mind. More over the algorithm is said to be optimized.

So is there a good way to forget something? It turns out there is. It is called priorities and preoccupation.

Though the human mind is an amazing piece of runs on some simple rules that are set or rather tuned into us by the people around us, the education that we have had and the experiences that we have shared. A mind that is on the constant lookout for ways to make money for the next meal cannot think about the war going on in some far off oil producing country though it directly affects the cost of the food that he is currently trying to earn for. Here the priorities are not the same. Now a well fed politician who has most of the luxuries of life will certainly reflect his thoughts on the war covering not just the fuel price hike but also about the injustice happening to those people, the pollution, the money wasted all though these are in effect felt by him only at the mind's level.

Forgetting does help the common man in one thing. He gets to forgive people. Forgetting makes it easier to forgive.

So friends dont forget to forget ;)

lesson for the day :)

1. google for it
2. the tools used make a lot of difference
3. if a solution looks wrong...then there should be one that is much better and saner

Tuesday, February 27, 2007

summa nachuku

nanbargalae....en vanakkangal...
remba bore adikkarathala ethavathu urupadiya pannalamnu tv pottu partha intha maku payaluga blr'la 2 channel mattum thaan kudukkaranuga...enna panruthu?

Okie people...all these days I had been thinking that linux is one very complete operating system. Complete in the sense...I believed that there wasnt much more to be done in that. But after having through a fair portion of the kernel code I have found that there is a lot more to be done...a lot of cleaning has to be done. A lot of performance changes can be achieved. Some of the biggest minds are working on this. And Im helping in a very small way.

It is probably very late to join the community but as everyone says-better late than never. Even then this is pretty much a good time to join the linux community-the reason being Linus has kinda frozen work on 2.7 and has asked the community to do the cleanup and performance patches necessary for 2.6

So people...what are u waiting for? Come in and make it happen :) There is a lot to do and a lot more to get done.

Monday, February 26, 2007

extended todo :)

1. What are Syslets
2. What are Threadlets
3. What is the difference between Syslets/System calls and Threadlets/Threads
4. What is advantageous under which situation
5. Maybe a whitepaper on these :)

Todays ToDo

1. Must finish reading up on syslets and threadlets