Thursday, July 26, 2007
VIM Tip
vim -c ":runtime! syntax/2html.vim | :wq | :q " <FILENAME>
File Created: <FILENAME>.html
Example:
vim -c ":runtime! syntax/2html.vim | :wq | :q " a.c
will create a file "a.c.html"
Friday, May 11, 2007
[Perl] Script to check stock
Uses finance.yahoo.com to get the graphs.
INPUT : stock.conf : contains stock symbol (one per line ) for each company.
You can find the symbols on http://finance.yahoo.com/lookup, if you don't know.
OUTPUT: Generates a html page that contains the information and graph for the given companies in stock.conf.
Requires: lynx
Usages: Put stocks.cgi and stock.conf in your cgi-bin directory. Open in firefox. Refresh to get latest info.
Note: you can also run the script from shell prompt and then redirect the output to a html file , then open this file in firefox :D But you need to run it every time you want the latest info.
# perl stock.cgi > mystocks.html
# firefox mystocks.html
Here are the files:
----- stocks.cgi ---
#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
#Written by Vaibhav Gupta
################ Variables ######################
my $stockfile = "stock.conf";
my $tab_width = 3;
################################################
sub generatestockhtml () {
my @allfile = `cat $stockfile `;
my $toprint = "<table frame=box><tr>\n";
my $count=0;
foreach my $line (@allfile) {
chomp $line;
my ($firstchar) = ($line =~ /(.)/ );
my $stock=`lynx -source " http://finance.yahoo.com/d/quotes.csv?s=$line&f=l1d1t1c6ohgn&e=.csv"` ;
my ($lasttrade,$lasttradedate,$lasttradetime,$change,$open,$dayhigh,$daylow,$name) = split(/,/,$stock);
#Not Printing lasttradetime
$toprint .="<td>
<b>$name</b> Trade Date = $lasttradedate <br>
Current: <font color=green>$lasttrade</font> Change:<font color=red> $change</font> <br>
Open: <font color=green>$open</font> High: <font color=green>$dayhigh</font> Low: <font color=green>$daylow</font>
<a href=\" http://ichart.yahoo.com/v?s=$line\">
<img src=\"http://chart.yahoo.com/c/0b/$firstchar/$line.gif\">
</a> <br>
<a href=\"http://finance.yahoo.com/q?s=$line&d=b\"> More Info</a>
</td>
\n";
$count++;
if($count % $tab_width == 0) {
$toprint .= "</tr><tr>";
}
}
$toprint .= "</tr></table>";
print $toprint;
}
print header("text/html"),
start_html("Vaibhav Gupta's Stock Page");
my $cur = CGI->new() ;
&generatestockhtml();
print end_html;
--- stock.conf --
goog
yhoo
msft
amzn
emc
Thursday, April 19, 2007
Trapping signals (^C and ^Z) in Bash
#Script written by Vaibhav Gupta
#Trapping HUP TERM INT and ^Z in shell.
echo "Process ID = $$";
stty susp "" #Trapping CTRL-Z
trap 'echo "Trapping CTRL-C, TERM and HUP";' HUP TERM INT
echo
echo "Sleeping for some time"
for i in `seq 1 20`; do
sleep 1
echo -n "."
done
echo
stty susp "^Z"
Tuesday, April 17, 2007
Script to exchange ssh keys
1 #!/usr/bin/perl
2 use Expect;
3 #USAGE: ssh-key-exchange.pl <IP> <USERNAME> <PASSWORD>
4
5 my $ip = $ARGV[0];
6 my $login = $ARGV[ 1];
7 my $password = $ARGV[2 ];
8 my $private_key='/root/.ssh/id_rsa ';
9 my $public_key='/root/.ssh/id_rsa.pub ';
10 my $authorisedkeyfile='/root/.ssh/authorized_keys ';
11 my $timeout = 10;
12 my $aft = new Expect;
13
14 #Generate the public and private key on the local m/c A
15 if(!(( -e $public_key ) &&( -e $private_key ))) {
16 print "Generating the Public and Private Key:\n ";
17 @result=`ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" `;
18 #print @result;
19 }
20 #Copy the file to m/c B
21 print "Copying Public Key from A to B.\n ";
22 $aft->spawn("scp $public_key $login\@$ip:/tmp/");
23 $aft->expect($timeout,[ qr'\? $' , sub { my $fh=shift; $fh->send("yes\n"); exp_continue; } ],
24 [ 'Password: $',sub { my $fh=shift;$fh->send("$password \n");exp_continue;} ],
25 # '-re','\# $'
26 );
27 $aft->do_soft_close();
28
29
30 #Add Keys to authorised keys in B
31 print " Adding Keys to authorised key in B with IP=$ip,[ $login $password ] \n";
32 my $aft = new Expect;
33 $aft->log_file("/tmp/expect_log" ,"w");
34 $aft->spawn( "ssh $login\@$ip") or die "Cannot ssh to the machine \n";
35 $aft->expect($timeout,[ qr'\? $', sub { my $fh=shift;$fh ->send("yes\n"); exp_continue; } ],
36 [ 'Password: $',sub { my $fh=shift;$fh->send("$password\n ");exp_continue;} ],
37 '-re', '\# $'
38 );
39 $aft ->send("touch $authorisedkeyfile\n");
40 $aft->expect($timeout,'-re' ,'\# $');
41 $aft->send( "cat /tmp/id_rsa.pub >> $authorisedkeyfile\n");
42 $aft->expect($timeout,'-re', '\# $');
43 $aft->send(" exit\n");
44 $aft->do_soft_close();
45
Monday, November 27, 2006
My New Homepage.
Check my new homepage at http://vaibhav.gupta.googlepages.com/
You can download all the scripts from the given page.
My stumble page http://vaibhav.stumbleupon.com/
Vaibhav.
Friday, November 24, 2006
[perl] Create dir and links for a given dir.
#written by vaibhav gupta
#Creates a new directory for a given directory and creates links for files.
$dir = $ARGV[0];
&usages unless $dir ;
©
sub usages {
print "Usages: <Dirname> \n";
exit;
}
sub copy {
@result = `find $dir -type d`;
$dirname = `echo "$dir" | rev | cut -d"/" -f 1 | rev`;
chomp $dirname;
$desination = "$dirname";
foreach $d(@result) {
chomp $d;
($a,$b) = split(/$dirname/,$d);
print "Creating $desination$b\n";
# print "[$a -- $b]";
@res = `mkdir -p $desination$b`;
print @res;
}
@result = `find $dir -type f `;
foreach $d(@result) {
chomp $d;
($a,$b) = split(/$dirname/,$d);
print "Copying $d\n";
@res = `ln -s $d $desination$b`;
print @res;
}
}
[perl] Popup window
# written by vaibhav gupta
use Gtk2 '-init';
$x=100;$y=100; #default Cordinates
$blue = 0xffff ;
$label = "Hello there";
$label = $ARGV[0] if $ARGV[0];
$delay = 5 ;
$delay = $ARGV[1] if $ARGV[1];
$x = $ARGV[2] if $ARGV[2];
$y = $ARGV[3] if $ARGV[3];
$blue = $ARGV[4] if $ARGV[4] ;
sub usages {
print "\n $ARGV[0] <label> <delay> <x> <y> <color>\n";
}
$window = Gtk2::Window->new("popup");
$window->set_title("Hello");
$window->signal_connect( destroy => sub {Gtk2->main_quit}) ;
$label = Gtk2::Label->new($label);
$label->modify_fg('normal',Gtk2::Gdk::Color->new(0,0,$blue) );
$window->add($label);
$window->move($x,$y);
#$window->resize(300,30);
$window->show_all();
Glib::Idle->add( sub { Gtk2->main_quit; 0 } );
#$window->begin_move_drag(0,100,100,1);
Gtk2->main;
print `sleep $delay`;
[python] Start Python
import sys
import os
import __builtin__
def helloworld():
print "Dare to Challenge http://www.pythonchallenge.com/"
print "Hello World\n";
print "This is system Path : "
print sys.path #this is search Path
sys.path.append("this/is/test/path");
print "This is system Path after appending test path "
print sys.path
filename = os.environ.get('PYTHONSTARTUP')
print filename
if filename and os.path.isfile(filename):
execfile(filename)
li = []
print "Method of list ", dir(li) # list all the method of list
info(__builtin__, 20) # gives the list of built in function
#Factorial Function Start
def fact(n):
if n > 1:
return n * fact(n-1)
else:
return 1
def info(object, spacing=10, collapse=1):
"""Print methods and doc strings.
Takes module, class, list, dictionary, or string."""
# note
methodList = [e for e in dir(object) if callable(getattr(object, e))]
processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
print "\n".join(["%s %s" %
(method.ljust(spacing),
processFunc(str(getattr(object, method).__doc__)))
for method in methodList])
def datatypes():
str = "This is a string."
print str
dict = {"server":"mpilgrim", "database":"this will be deleted"}
print "Currnt Dictionary: ", dict # NOte that it printed in a sorted way.
dict["server"] = "CHANGED"
dict["uid"] = "added"
dict["Uid"] = "case sensitive"
dict[2] = "mixed data"
dict["mixed"] = 123
del dict["database"]
print "Now Dictionary : " , dict
dict.clear() # To clear all the contents
list = ["a", "b", "mpilgrim", "removethis", "example","pop"]
print "Current List :" , list
print "Length of List : ", len(list)
print "list[-1] :", list[-1] #"li[-n] == li[len(li) - n]"
print "Slicing :", list[1:-1]
print "Pop Element: ", list.pop()
list.append("append")
list.extend(["extend1","extend2"]) #note the arg is a list. Concatenates
list.insert(2,"inserthere")
list.remove("removethis");
list += ["Operators"]
print "Now List : ",list
print "Searching extend1 (first occurence): Found at location ", list.index("extend1")
print "Found c in list:" , "c" in list
list = ["1","2"]
print "List Operator : ", list * 10
tuple = ("son","mon","tue","wed","thu","fri","sat") # Ordered, fast, But can not be modified
print tuple
(a,b,c,d,e,f,g) = range(7)
print "rnage d = ", d
#3.6
#Calling main Functions.
helloworld()
#print fact(500)
#datatypes();
#info(list)
""" Notes
---------- and-or Trick ----------
>>> a = "first"
>>> b = "second"
>>> 1 and a or b
'first'
>>> 0 and a or b
'second'
---------- and-or Trick Safely ----------
>>> a = ""
>>> b = "second"
>>> (1 and [a] or [b])[0]
---------- split With No Arguments ----------
>>> s = "this is\na\ttest"
>>> print s
this is
a test
>>> print s.split()
['this', 'is', 'a', 'test']
>>> print " ".join(s.split())
'this is a test'
"""
The Fastest Language
Well,
Though this post is a little digression from what this forum is meant
for. It is really an interesting one because many a times we think
Which language is the fastest?
Considering the same hardware/environments are provided, it will all
depend on how well a compiler/interpreter make use of underlying
hardware/environment to generate native/interpreted code.
In a computer language shootout [Survey]
differrent compiler for different languages tested against their
ability to translate code for Ackermann Function
[Ackermann_function], Fibonacci numbers[Fibonacci_number] and
Tak functions [TAKFunction.html].
I was really happy to see that my favourite compiler gcc rules :-)
-by sbjoshi
Wednesday, September 27, 2006
[Perl] Script to take backups
#!/usr/bin/perl
# Written By Vaibhav Gupta
# vaibhav.gupta@gmail.com
# Modify @FILES_TO_BACKUP @DIRS_TO_BACKUP @FILES_PATH as per your need.
$Directory=`date +%Y%m%d%k%M`;
chomp $Directory; # you know why ?
$HOMEDIRECTORY="~guptav/";
@FILES_TO_BACKUP=(".vimrc",".bashrc","public_html/cgi-bin/index.cgi");
@DIRS_TO_BACKUP=( "cvsroot","public_html/","bin");
@FILES_PATH=("/etc/httpd/conf/httpd.conf");
print "\nCreating directory $Directory\n";
@message = `mkdir $Directory`;
foreach $filename (@FILES_TO_BACKUP) {
@message = `cp $HOMEDIRECTORY$filename $Directory`;
}
foreach $filename (@FILES_PATH) { #Absolute Filename
@message = `cp $filename $Directory`;
}
foreach $dirname (@DIRS_TO_BACKUP) {
@message = `cp -r $HOMEDIRECTORY$dirname $Directory`;
}
@message = `tar -cvzf $Directory.tgz $Directory`;
print @message;
#Vaibhav.
Monday, September 11, 2006
[shell] To find the PPID of a PID and more.
1 #!/bin/bash
2 pid=$1
3 if [ -f "/proc/$pid/stat" ]; then
4 name=`cat /proc/$pid/stat | cut -d" " -f 2`
5 else
6 echo "Not a Valid pid $pid"
7 exit
8 fi
9
10
11 while [ "$pid" -gt "0" ]; do
12 echo -n $pid
13 echo -n [$name]
14 echo -n " --> "
15 name=`cat /proc/$pid/stat | cut -d" " -f 2`
16 pid=`cat /proc/$pid/stat | cut -d" " -f 4`
17 done
18
19 echo "0"
20
-Vaibhav
Writing Kernel Modules for 2.6
hello.c
1 #include <linux/module.h>
2 #include <linux/kernel.h>
3
4 int init_module(void)
5 {
6 printk(KERN_INFO "Hello world \n");
7 return 0;
8 }
9
10 void cleanup_module(void)
11 {
12 printk(KERN_INFO "Goodbye world \n");
13 }
Makefile
1 obj-m += hello.o
2
3 all:
4 make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
5
6
7 clean:
8 make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
9 fresh: clean all
Commands:
Install Module# insmod hello.ko
Remove Module # rmmod hello.ko
Module info # modinfr hello.ko
List Module # lsmod
Check Log # tail /var/log/messages
Files :
/proc/modules | List of modules |
/proc/kallsyms | List of Symbols |
Vaibhav.
Sunday, July 02, 2006
[c++] Source code to find Prime numbers < n+1
/*Code is written by Vaibhav Gupta*/
int prime(int n){
bool *prime = new bool[n+1];
int i;
for(i=0;i<n+1;i++){
prime[i] = true;
}
prime[0]=false;
prime[1]=false;
int m = (int)sqrt((float)n);
for (i=2; i<=m; i++)
if (prime[i])
for (int k=i*i; k<=n; k+=i)
prime[k]=false;
for (i=0; i<n+1; i++){
if (prime[i]) cout << i << " ";
}
cout << endl;
return 0;
}
Tuesday, June 20, 2006
[ebooks] Over 1 billion ebooks.......
Hi friends,
Some sites may not be working.....
http://www.freebookzone.com/
http://en.wikipedia.org/wiki/E-book
ftp://194.105.193.56/pub/warez/books/os/
ftp://194.85.35.67/BOOKS/
ftp://193.231.20.1/pub/books/
ftp://218.104.214.138/4tF/2003/Xmas/
fxp://fxp.runnet.ru/BOOKS - flashget
ftp://se-lab-server.ddns.comp.nus.edu.sg/ebooks/
http://sleekfreak.ath.cx:81/books/
http://preterhuman.net/texts/
http://www.waneesoft.net/books/
http://www.itcertifer.com - www.itcertifer.com
http://cgdn.net/books/
http://www.nerd-star.com/books/
http://publib-b.boulder.ibm.com/Redbooks.nsf/redbooks/
http://classics.mit.edu/Browse/index-Homer.html
http://www.cybersecurity.com.br/Livros/
http://amitmathur.8m.com/ebooks.html
http://mail.stibanas.ac.id/ebooks/
http://www.wolfgarten.com
http://johnny.ihackstuff.com
http://www.law.fsu.edu
http://mail.stibanas.ac.id/ebooks
http://www.comms.scitech.susx.ac.uk/fft/
http://www.cadforum.cz/cadforum_en/default.asp http://en.fixdown.com/eall_1.htm
http://en.fixdown.com/download.asp?id=1658...589&soft=sxdown
http://en.fixdown.com/download.asp?id=1588...886&soft=kldown
http://en.fixdown.com/download.asp?id=1588...886&soft=fjdown
http://en.fixdown.com/download.asp?id=1588...886&soft=bjdown
http://preterhuman.net/texts/
http://www.eicage.org/eicage.asp
http://bjxebook.myetang.com/pc.html
http://www.about-flash.com/
http://docs.rinet.ru:8080/DEFAULT.HTML
http://www.bsmooth.de/BSolutions/
http://newdata.box.sk/raven/books.html
http://www.maththinking.com/boat/computerbooks.html
http://dhruvaraj.150m.com/
http://podgoretsky.pri.ee/ms.html
http://www.comms.scitech.susx.ac.uk/fft/
http://www.intelinfo.com/free_computer_books.html
http://www.e-book.com.au/freebooks.htm
http://www.mcsedirectory.com/books.shtml
http://www.gorkhali.com/kamal/download.htm
http://www.winnetmag.com/windowsnt20002003faq/
http://www.2000trainers.com/
http://www.w3schools.com/
http://members.rogers.com/thekickman/ebooks.htm
http://www.techtutorials.com/Applications/
http://sunsite.iisc.ernet.in/virlib/
http:// www.bdsoft.com/links.html
http://www.python.org/doc/
http://www.graphic-design.com/Photoshop/
http://bjxebook.myetang.com/pc_ebooks/db.htm
http://neworder.box.sk/box.php3?gfx=neword...0Unix%20systems
http://www.exameware.com
http://www.comms.scitech.susx.ac.uk/fft/
http://rahmat.zikri.com/books.html
http://freebooks.by.ru/
http://www.mindview.net/Books/DownloadSites
http://www.maththinking.com/boat/computerbooks.html
http://docs.rinet.ru:8080/
http://www.ebone.at/files.php?show=Books
http://www.empowermentzone.com/#unix
http://skaiste.elekta.lt/Books/
http://content.443.ch/pub/
http://www.ods.com.ua/index.phtml
http://kavosh.irost.net/books/library.htm
http://stommel.tamu.edu/~baum/programming.html
http://digital.library.upenn.edu/books/
http://zikri.indoglobal.com/books.html
http://www.greylib.align.ru/index.html
http://www.itcertifer.com/en/download/default.asp
http://www.lib.ru
http://lib.km.ru
http://aldebaran.ru
http://lib.bigmir.net
http://books.myweb.ru
http://book.pp.ru
http://www.biglib.com.ua/
http://www.lib.com.ua/
http://www.bestlibrary.ru/
http://www.citforum.ru/
http://i2r.rusfund.ru/
http://www.yaxoo.com/books/
http://docs.gets.ru/
http://bookz.ru/
http://www.bestbooks.ru/
http://leoslibrary.on.to/
http://www.bomanuar.ru/
http://molbiol.ru/review/index.html
http://lib.rin.ru/
http://www.bomanuar.ru/
http://www.voronezh.net/library/
http://www.xnt.info/category.php?all=44&start=5&id=9
http://www.emc.maricopa.edu/faculty/farabe...BioBookTOC.html
http://netfoo.net/unix_iso/unixbook.iso
http://maui.fornex.net/e-book/pdf-books/
http://books.dimka.ee/ - HUGE COLLECTION
http://cgdn.net/books/ - Game Programming
http://www.whitefreespeech.com/sub/TurnerDiaries.pdf
http://www.solargeneral.com/library
http://classics.mit.edu/Browse
http://www.nerd-star.com/books/
http://web.starman.ee/winxp/Windows%20XP%2...nside%20Out.rar
http://www.comms.engg.susx.ac.uk/fft/
http://www.vdr-era.cjb.net/documentos/
http://devsaa.narod.ru/books
http://www.ibiblio.org/obp/electricCircuits
http://www.highend3d.com/artists/artist.3d...=yinako&iid=197
http://narod.yandex.ru/cgi-bin/yandmarkup?...og=0x2757571A&H
ndlQuery=757312448&PageNum=0&g=0&d=0&ag=host&tg=1&q0=54598832&p=
http://onlinebooks.library.upenn.edu/webbi...le=&tmode=words
http://macbeht.narod.ru/bucher.htm
http://www.pcworld.com/resource/PDF/circ_2.asp
http://www.emc.maricopa.edu/faculty/farabe...BioBookTOC.html
http://netfoo.net/unix_iso/unixbook.iso
http://maui.fornex.net/e-book/pdf-books/
http://books.dimka.ee/
http://www.click-now.net/ebooks.htm
http://www.baen.com/
http://www.ebookmall.com/ebook/5613-ebook.htm
http://etext.library.adelaide.edu.au/
http://www.freebooks4doctors.com
http://gutenberg.net/cgi-bin/search/t9.cgi
http://gutenberg.net/gutenberg/find.shtml
http://freetechstuff.netfirms.com/dotnet/books.htm
http://www.soldierx.com/books/ACTIVEX_PROG...SHED/index.html
http://www.soldierx.com/books/CHARLIE_CALV...SHED/index.html
http://www.strath.ac.uk/IT/Docs/Ccourse/
http://www.brpreiss.com/books/opus4/html/book.html
http://onlinebooks.library.upenn.edu/webbi...le=&tmode=words
http://www.xatrix.org/index.php
http://www.fintech.ru/Library/prog/Getstrt...DB/getstart.htm
http://www.commandprompt.com/ppbook/
http://www.vijaymukhi.com/documents/books/...oap/xmlsoap.htm
http://www.vijaymukhi.com/documents/books/wap/wap.html
http://www.vijaymukhi.com/documents/books/...sp/javajsp.html
http://www.vijaymukhi.com/documents/books/...s/j2me/j2me.htm
http://www.vijaymukhi.com/documents/books/...s/j2me/j2me.htm
http://www.vijaymukhi.com/documents/books/...cs/csharp1.html
http://www.vijaymukhi.com/documents/books/...dv/csharp2.html
http://www.vijaymukhi.com/documents/books/...vbnet/vbnet.htm
http://www.vijaymukhi.com/documents/books/...ta/metadata.htm
http://www.vijaymukhi.com/documents/books/...net/content.htm
http://www.vijaymukhi.com/documents/books/...2net/vs2net.htm
http://www.vijaymukhi.com/documents/books/...et1/aspnet.html
http://docs.rinet.ru/Cold/
http://www.syncfusion.com/FAQ/WinForms/default.asp#86
http://www.ssuet.edu.pk/~amkhan/cisco/(ebo...ching/Table.htm
http://www.blindprogramming.com/
http://ssuet.edu.pk/taimoor/books/1-57521-...163-7/index.htm
http://www.manastungare.com
http://world.std.com/obi/
http://www.itebooks.net/onlineebooks/Networking.html
http://www.itebooks.net/onlineebooks/Certi...tification.html
http://www.itebooks.net/onlineebooks/Opera...ingSystems.html
http://www.itebooks.net/onlineebooks/Enterprise.html
http://www.itebooks.net/onlineebooks/Internet.html
http://www.itebooks.net/onlineebooks/Programming.html
http://www.itebooks.net/onlineebooks/Database.html
http://www.itebooks.net/onlineebooks/Graphics.html
http://www.itebooks.net/onlineebooks/DesktopApps.html
http://www.itebooks.net/onlineebooks/Hardware.html
http://freebooks.boom.ru
http://the-tech.mit.edu/Shakespeare/
http://www.vecpix.com/
http://kristi.erdves.lt/books/
http://www.zionwap.net/books/main.html
http://www.nopayweb.com/computerbook/
http://leon83.com/download/book/FreeBookList.htm
http://www.mslit.com
http://www.python.org/doc/current/tut/tut.html
http://esspc-ebooks.com
http://en.fixdown.com/eall_3.htm
http://www.xnt.info/category.php?id=9
http://www.bluesfear.com/v5.php
http://www.teamphotoshop.com/photoshop/tut...ials/ps_tut.php
http://www.80four.co.uk/tutorials/photoshop.html
http://www.eyesondesign.net/pshop/tuts.htm
http://www.good-tutorials.com/
http://www.grafx-design.com/tutorials.html
http://myjanee.home.insightbb.com/tutorials.htm
http://www.photoshoproadmap.com/photoshop- ...rials-tips.html
http://rainworld.com/psworkshop/
http://131.128.51.37/se-lab-server.ddns.....edu.sg/ebooks/
http://www.et.utt.ro/public/Docs/
http://www.docs.rinet.ru
http://www.tutorialized.com
http://books.malonus.com/ebooks/computer_science/
http://www.intersoftlb.com/blog4.aspx (mcsd books)
http://131.128.51.37/se-lab-server.ddns.....edu.sg/ebooks/
(nice)(electronic...computer)
http://www.et.utt.ro/public/Docs/
http://www.docs.rinet.ru
http://www.tutorialized.com
http://books.malonus.com/ebooks/computer_science/ (nice)
http://cip.uni-trier.de/jia/links/weball.htm
http://www.gorkhali.com/kamal/download.htm
ftp://ftp.runnet.ru/BOOKS/
Happy reading.......
Bye