March 2006 Archives

Fri, 2006-03-31 12:57:44 +0800

Tips: How to remove the Carriage Return(^M) in the ASCII file!

If you edit a ASCII file in DOS and see it in GNU/Linux(UNIX), you will find that there are many "^M" characters in the end of every line. We know that's the Carriage Return in DOS generated by "\r\n", but we can only use "\n" for Return in Linux(UNIX), so the "^M" is just the "\r". And I feel very boring about them. But how to remove them conveniently? Here we are:

  1. Shell
    #tr -d '\015' < oldfile > newfile
    
    then check the newfile now. :)
  2. VIM
    :%s/\r//g
    or
    :%s/<C-V><C-M>//g
    
  3. dos2unix
    #dos2unix file
    

Posted by Haiyong Zheng | Permanent Link | Categories: 1.GNU/Linux

Fri, 2006-03-31 10:47:49 +0800

Installing a LAMP System in SlackWare 10.2!

If you are a Web Server Manager, you must know LAMP more or less. Yes, it's very popular and efficient for web site server. And if you are new about it, just follow me now to install a LAMP system in SlackWare 10.2(or other distros).

Preparation

If you are using SlackWare just like me. The first thing you should do is to check that if you have installed zlib-version.tgz and gd-version.tgz by using the comand "#ls /var/log/packages/|grep zlib" and "#ls /var/log/packages/|grep gd". If the answer is "no", you should download them from your install CD or LinuxPackages.Net and install them by "#installpkg xxx.tgz". Moreover, you should check that whether you have installed "apache-version.tgz", "mysql-version.tgz" or "php-version.tgz" by "#ls /var/log/packages/|grep xxx". And if the answer here is "yes", I think that you should remove them by "#removepkg xxx" because we will install a LAMP system from scratch and this could be more convinient and functional.

After that we should download some necessary softs from internet as follows:

If you are confused about something, just check the home of these softs, and you will get more details about them. Just make sure they are suitable to your own system.

After downloading the necessary softs, we should do something for compiling the softs. Make sure all the above source softs we downloaded in /www/lamp/ directory. Then go on nest step.

Compiling

In fact this is the most important step for the result we want. If something wrong in this step, just check if you did correctly and then search it from Google or Email Me.

PDFlib
It's easy for installing PDFlib:
#cd /www/lamp/
#tar xvfz PDFlib-6.0.3-Linux.tar.gz
#cp PDFlib-6.0.3/bind/php/php-4.2.1/libpdf_php.so /usr/ local/lib/libpdf_php.so
httpd
#cd /www/
#tar xvfz /www/lamp/httpd-2.2.0.tar.gz -C .
#cd httpd-2.2.0
#mkdir /www/apache2
#./configure --prefix=/www/apache2 --enable-so && make && make install
--enable-so is for DSO model installation.
mysql
#groupadd mysql
#useradd -g mysql mysql
#cd /www/
#tar xvfz /www/lamp/mysql-standard-5.0.19-linux-i686.tar.gz -C .
#ln -s mysql mysql-standard-5.0.19-linux-i686
#cd mysql
#scripts/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql data
#chgrp -R mysql
#bin/mysqladmin -u root password 'password you know'
then try to connect the mysql database by
#bin/mysql -u root -p
Enter password:password you know
php
#cd /www/
#tar xvfz /www/lamp/php-5.1.2.tar.gz -C .
#mkdir php5
#cd php-5.1.2
#./configure --prefix=/www/php5 --with-apxs2=/www/apache2/bin/apxs --with-mysql=/www/mysql --with-config-file-path=/www/php5 && make && make install
#cp php.ini-dist /www/php5/php.ini
#vim /www/apache2/conf/httpd.conf
... ...
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps

Usage

At last you can ussing the command "#/www/apache2/bin/apachectl start" to start apache server and using the URL "http://localhost/" to test if "It Works".

If you want the apache server start automatically every time as the system booting, you should add the following code into the file "/etc/rc.d/rc.local":

# LAMP - Linux+Apache+Mysql+Php
echo -ne "Starting apache ...\n"
if [ -x /www/apache2/bin/apachectl ]; then
   /www/apache2/bin/apachectl start
fi

That's OK!


Posted by Haiyong Zheng | Permanent Link | Categories: 1.GNU/Linux

Wed, 2006-03-29 12:46:43 +0800

Shell Script - Upload File to FTP Automatically!

It's boring for me to open Gftp and upload file which is updated by me using mouse. So I write a convenient shell script to do this job automatically. It's a little convenient now :)

#!/bin/bash
# Script Name: uploadfile
# by Haiyong Zheng
# Homepage: http://www.flyzhy.org
# Automatically upload file $1 to $2

# Test the Arguments
if [ $# -ne 2 ]; then
echo -ne "Usage: $0 file upload_dir\n"
fi

# Upload file automatically
ftp -i -in <<EOF
open 211.64.130.238
user haiyong haiyong
!echo "Welcome to haiyong:haiyong@211.64.130.238"
!echo "Upload file $1 to $2"
cd $2
put $1
!echo "Done"
!echo "Bye"
EOF

I think I will make it better for uploading files more than one and directories. And I think that could be more convenient.


Posted by Haiyong Zheng | Permanent Link | Categories: 3.Language

Sun, 2006-03-26 11:12:36 +0800

Java-Based KF(Kalman Filter) Learning Tool!

Java-Based KF Learning Tool

But what is a Kalman Filter?

  • Just some applied math.
  • A linear system: f(a+b) = f(a) + f(b).
  • Noisy data in -> hopefully less noisy out.
  • But delay is the price for filtering ...
  • Pure KF does not even adapt to the data.

And in the spring of 2001 the Kalman Filter team of UNC-CH COMP 145 developed a Java-based Kalman Filter Learning Tool that (we hope) will provide some understanding and intuition about the behavior of the Kalman filter. Because the software is to be primarily used as a teaching aid, we have attempted to keep the interface relatively simple. The input choices are limited to avoid overwhelming the user. While the user can change the magnitude of the measurement error (see below) the parameters are otherwise fixed at realistic and interesting values. Using the graphical interface, the user can edit the simulation settings and then plot the results over a 50 second simulation. They can also step through the simulation to see the intermediate filter variable values throughout the simulation. Finally, the application version (see below) allows the user to locally save all of the intermediate variable values in a tab-delimited file that can later be loaded into Matlab, Excel, etc. for further analysis.

My installation and usage

  • Download the Java jar file [kftool.zip] that contains the Kalman Filter Learning Tool
  • Add kftool.zip to your CLASSPATH as follows:
    $mkdir ~/bin/kalman
    $mv ~/kftool.zip ~/bin/kalman/
    $cd ~/bin/kalman/
    $emacs ~/.bashrc
    ... ...
    export CLASSPATH="$HOME/bin/kalman/kftool.zip"
    alias kalmanfiltertool="java gui.KalmanFilterTool"
    ... ...
    $. ~/.bashrc
    
    Then you can run Kalman Filter Learning Tool by the command "$kalmanfiltertool"
  • Alternatively you might be able to cd to the place you downloaded kftool.zip and run with:
    $java -classpath ./kftool.zip gui.KalmanFilterTool
    

Related Links:


Posted by Haiyong Zheng | Permanent Link | Categories: 5.Software

Fri, 2006-03-24 09:40:42 +0800

Who is Kalman?

Rudolph E. Kalman

Kalman ProfileRudolph E. Kalman, a graduate research professor emeritus at the University of Florida and ad personam chair at the Swiss Federal Institute of Technology in Zurich, and Andrew J. Majda, a professor of mathematics and of applied and computational mathematics at Princeton University, were among the 60 new members and 15 foreign associates elected to the National Academy of Sciences in April.

The election of Kalman, a control theorist who is "without a doubt the most influential researcher in the field," provides "additional evidence, if more was needed, that the field of systems and control is now an established part of mathematics and science," says Eduardo Sontag of Rutgers University. Kalman is best known for the linear filtering technique that he and Richard Bucy developed in 1960--1961 to strip unwanted noise out of a stream of data. The Kalman filter is widely used in navigational and guidance systems, radar tracking, sonar ranging, and satellite orbit determination (for the Ranger, Apollo, and Mariner missions, for instance), as well as in fields as diverse as seismic data processing, nuclear power plant instrumentation, and econometrics. (See "Engineers Look to Kalman Filtering for Guidance" in the August 1993 issue of SIAM News, page 8, for a discussion of the origin, function, and extraordinary usefulness of the Kalman filter.)

The Kalman filter, which is based on the use of state-space techniques and recursive algorithms, revolutionized the field of estimation. The filter was the first major contribution in Kalman's influential work in control theory, Sontag observes. Sontag and Yutaka Yamamoto of Kyoto University, both former students of Kalman's, provided SIAM News with the following summary of Kalman's work:

"During the 1960s, Kalman was the leader in the development of a rigorous theory of control systems. Among his many outstanding contributions were the formulation and study of most fundamental state-space notions (including controllability, observability, minimality, realizability from input/output data, matrix Riccati equations, linear-quadratic control, and the separation principle) that are today ubiquitous in control. While some of these concepts were also encountered in other contexts, such as optimal control theory, it was Kalman who recognized the central role that they play in systems analysis. The paradigms formulated by Kalman and the basic results he established have become an intrinsic part of the foundations of control and systems theory and are standard tools in research as well as in every exposition of the area, from undergraduate engineering textbooks to graduate-level mathematics research monographs. During the 1970s Kalman played a major role in the introduction of algebraic and geometric techniques in the study of linear and nonlinear control systems. His work since the 1980s has focused on a system-theoretic approach to the foundations of statistics, econometric modeling, and identification, as a natural complement to his earlier studies of minimality and realizability."

Born in Hungary, Kalman received BS and MS degrees from the Massachusetts Institute of Technology and a DSci in engineering from Columbia University (1957). In the early years of his career he held research positions at IBM and at the Research Institute for Advanced Studies in Baltimore. From 1962 to 1971, he was at Stanford University. In 1971, he became a graduate research professor and director of the Center for Mathematical System Theory at the University of Florida, recently retiring with emeritus status. Kalman's contributions to control theory and to applied mathematics and engineering in general have been widely recognized. In 1985, he was one of four recipients of the Kyoto Prize, inaugurated in that year by the Inamori Foundation of Japan. The Kyoto prize, which in 1985 carried a cash award of 45 million yen (then about $200,000), is sometimes referred to as the "Japanese Nobel prize." It recognizes "outstanding intellectual or creative activities which have significantly enriched the human experience." Kalman received the prize in the field of advanced technology. Among the other honors Kalman has received are the Institute of Electrical and Electronics Engineers' highest award, the Medal of Honor (1974), and the American Mathematical Society's Steele Prize (1986), which recognized the fundamental importance of the papers on linear filtering Kalman published in 1960 and 1961. Kalman is a member of the French, Hungarian, and Russian Academies of Sciences and of the National Academy of Engineering, and is a Fellow of the American Academy of Arts and Sciences.


Posted by Haiyong Zheng | Permanent Link | Categories: 7.Miscellaneous

Mon, 2006-03-20 13:10:02 +0800

How to make a run program installing package!

Actually run program installing package is a package with installing script and the program you want to install as follows:

|-----------------|
|
| script for installing   |
|
|------------------|
|
| program want to install |
|
|-----------------|

It is very easy to make a run program installing package. I will make a simple package like this as an example.

Now I want to install a program named "helloworld" and copy it to "/bin".

$ ls
install.sh helloworld
$ cat install.sh
#!/bin/bash
cp helloworld /bin

Here install.sh is the script for installing and helloworld is the program we I want to install to "/bin". Generally we need a ".tar.bz2" compressed software package like helloworld.tar.bz2 for this moment.

$ tar cjvf helloworld.tar.bz2 helloworld

Then I need to change the "install.sh" as follows:

#!/bin/bash
lines=7   # this is one plus the line number of this script
tail +$lines $0 > /tmp/helloworld.tar.bz2  # $0 is the name of .run file, it stands for the first argument of the command
tar zvfj /tmp/helloworld.tar.bz2
cp /tmp/helloworld /bin
exit 0

At last, I use command "cat" to join "install.sh" and "helloworld.tar.bz2":

$ cat install.sh helloworld.tar.bz2 > helloworld.run

At this time the constructure of the run installing package is:

|-------------------| line 1
|
| install.sh        | 
|                     line 6
|-------------------|
|                     line 7
| helloworld.tar.bz2|
|
|-------------------| End

So, what we need to do is just "#chmod +x helloworld.run" and "#./helloworld.run". Ok, try it!


Posted by Haiyong Zheng | Permanent Link | Categories: 1.GNU/Linux

Sat, 2006-03-11 10:11:25 +0800

Google Sitemaps Code Snippets in ASP.

This is a convenient method for you to generate Google Sitemap. More details you can check this.

First of all, download sitemap_gen.txt and change its name to "sitemap_gen.asp", and then modify this file for these points:

'modify this to change website, virtual directory and phisical directory
session("server")="http://www.yourdomain.net/"
vDir = "/"
phisicalDir="C:\Inetpub\wwwroot\"

Also if you want to exclude some paths, just modify this:

'modify this to exclude path
PathExclusion=Array("\temp","\_vti_cnf","\_vti_pvt","\_vti_log","\cgi-bin")

And add the path you want to be excluded.

Then you should upload this file to your web site server and type the URL: http://www.yourdomain.net/sitemap_gen.asp and wait for a second. At last, it will generate your sitemap.xml and upload this file to your web site server just like "http://www.yourdomain.net/sitemap.xml".

Ok, go http://www.google.com/webmasters/sitemaps/ to let Google Spider know what you are. ;)


Posted by Haiyong Zheng | Permanent Link | Categories: 7.Miscellaneous

Sat, 2006-03-11 08:40:18 +0800

Tips: How to automatically turn NUMLOCK off after booting your GNU/Linux system.

It's not convenient to press "NUMLOCK" if your login password contains some numbers. Although it's easy to type this key one time, still if you have one more consoles to login this will be a problem. So here it is:

Add some sentences as follows to your "/etc/rc.d/rc.local" or the file that will be executed during booting system.

# Enable NumLock
echo -ne "Turning NUMLOCK off ...\n"
for tty in /dev/tty[1-6]; do
    setleds -D +num < $tty
done

Obviously you can control how many consoles will be affected by "/dev/tty[1-6]", do it now and enjoy now. :)


Posted by Haiyong Zheng | Permanent Link | Categories: 1.GNU/Linux

Fri, 2006-03-10 11:28:01 +0800

Solution of phonetic symbol problem for stardict.

It bothered me a long time. I cannot know how to spell words in stardict until just now. But a few minutes ago I figured it out and now it's ok to display phonetic symbol of words.

The solution is to install font "ttf-thryomanes" in your system. You know it's easy to install some fonts in your system. If you are not sure about this, just check my method to install fonts in GNU/Linux.

Obviously we should download ttf-thryomanes firstly. If you are lazy enough to find this from internet, just click here, that's ttf-thryomanes_1.2.orig.tar.gz and I used it now. Then we should install:

#tar xvfz ttf-thryomanes_1.2.orig.tar.gz
#mv ttf-thryomanes-1.2/* /usr/share/fonts/ (or wherever you know and in your font path, e.g ~/.fonts)
#cd /usr/share/fonts/
#mkfontscale && mkfontdir

In fact, we have figured it out now, at last we should choose this font in stardict as follows:

stardict phonetic symbol

BTW, I also installed stardict-treedict-infoBrowse-zh_CN-2.4.2.tar.bz2 from stardict treedictionaries, and to install it, do this:

#tar xvfj stardict-treedict-infoBrowse-zh_CN-2.4.2.tar.bz2
#mv stardict-treedict-infoBrowse-zh_CN-2.4.2 /usr/share/stardict/treedict

Posted by Haiyong Zheng | Permanent Link | Categories: 5.Software

Wed, 2006-03-08 10:27:57 +0800

Using dictionary in your Emacs and Console!

It's really convenient for us to look up some words when we are editing or reading. You must want to say "Yes, we always did that. That's what StarDict do". But I want to say that it's not a perfect idea to use stardict when you are editing with Emacs. So here we are. ;)

First of all, I want to introduct a good client/server dictionary - dict.org. It can be online or local used. If you have a bad internet, following me and we can solove this.

What we need?

We should prepare some materials as follows:

Dictd installation and configuration

  1. dictd installation:
    #tar xvfz dictd-1.10.4.tar.gz
    #cd dictd-1.10.4
    #./configure && make
    #make install
    
    If something wrong here you must make sure that you are "root" or you can do something as root by "sudo make install". Besides you can modify the "Makefile" before "make install" by uncommenting "LIBRARIES= libdictdplugin.a" to have more features.
  2. dictionary installation: you should extract all the dictionary files by "tar xvfz xxx.tar.gz" and then copy all the "*.dict.dz" and "*.index" to "/usr/lib/dict/" or wherever you know (just remember that path).
  3. dictd configuration: Add or modify two files "/usr/local/etc/dictd.conf" and "/usr/local/etc/dict.conf" as follows:
    # /usr/local/etc/dictd.conf
    # Dictd configuration file. 
    #
    # Read the documentation before starting this service.
    #
    
    # allow only local host access.
    access { allow 127.0.0.* 
             allow 192.168.*   }
    
    # database entries
    #
    database web1913   { data "/usr/lib/dict/web1913.dict.dz"
                         index "/usr/lib/dict/web1913.index" }
    database wn        { data "/usr/lib/dict/wn.dict.dz"
                         index "/usr/lib/dict/wn.index" }
    database gazetteer { data "/usr/lib/dict/gazetteer.dict.dz"
                         index "/usr/lib/dict/gazetteer.index" }
    database jargon    { data "/usr/lib/dict/jargon.dict.dz"
                         index "/usr/lib/dict/jargon.index" }
    database foldoc    { data "/usr/lib/dict/foldoc.dict.dz"
                         index "/usr/lib/dict/foldoc.index" }
    database elements  { data "/usr/lib/dict/elements.dict.dz"
                         index "/usr/lib/dict/elements.index" }
    database easton    { data "/usr/lib/dict/easton.dict.dz"
                         index "/usr/lib/dict/easton.index" }
    database hitchcock { data "/usr/lib/dict/hitchcock.dict.dz"
                         index "/usr/lib/dict/hitchcock.index" }
    database world95   { data "/usr/lib/dict/world95.dict.dz"
                         index "/usr/lib/dict/world95.index" }
    database devils    { data "/usr/lib/dict/devils.dict.dz"
                         index "/usr/lib/dict/devils.index" }
    
    # /usr/local/etc/dict.conf
    server localhost
    
    Then modify your "/etc/rc.d/rc.local" to make sure that dictd would startup automatically following the system:
    # /etc/rc.d/rc.local
    # ... ...
    # dictd
    echo -ne "Starting dictd ...\n"
    /usr/local/sbin/dictd -c /etc/dictd.conf
    

Ok, it's end of dictd configuration until now. And after restarting the system you will check this by "dict someword" or "dict -v someword" for verbose output.

Emacs dictionary

It's easy for configure your Emacs dictionary now, just decompress what you download and "#make" in the directory. Then copy all the "*.elc" files to someplace in your "load-path" of your Emacs. And some sentences to your "~/.emacs" as follows:

;;; dictionary
;;; http://www.myrkr.in-berlin.de/dictionary/index.html
;;; C-c d --- look up the current word
;;; C-c m --- searching for a matching word in the directory
(add-to-list 'load-path "~/Emacs/FlyZhyEmacs")
(autoload 'dictionary-search "dictionary"
  "Ask for a word and search it in all dictionaries" t)
(autoload 'dictionary-match-words "dictionary"
  "Ask for a word and search all matching words in the dictionaries" t)
(autoload 'dictionary-lookup-definition "dictionary"
  "Unconditionally lookup the word at point." t)
(autoload 'dictionary "dictionary"
  "Create a new dictionary buffer" t)
;;autosearch had been canceled
(autoload 'dictionary-mouse-popup-matching-words "dictionary"
  "Display entries matching the word at the cursor"t )
(autoload 'dictionary-popup-matching-words "dictionary"
  "Display entries matching the word at the point" t)
(autoload 'dictionary-tooltip-mode "dictionary"
  "Display tooltips for the current word" t)
(autoload 'global-dictionary-tooltip-mode "dictionary"
  "Enable/disable dictionary-tooltip-mode for all buffers" t)
(global-set-key [mouse-3] 'dictionary-mouse-popup-matching-words)
(global-set-key [(control c)(d)] 'dictionary-lookup-definition)
(global-set-key [(control c)(s)] 'dictionary-search)
(global-set-key [(control c)(m)] 'dictionary-match-words)
;; choose a dictionary server
(setq dictionary-server "localhost")
;; for dictionary tooltip mode
;; choose the dictionary: "wn" for WordNet
;; "web1913" for Webster's Revised Unabridged Dictionary(1913)
;; so on
(setq dictionary-tooltip-dictionary "wn")
(global-dictionary-tooltip-mode t)
(dictionary-tooltip-mode t)
;;dictionary mode settings end here

If you think that the display of the word translation is too much longer, just put

alias dict="dict -d wn"

into your "$HOME/.bashrc" to let the dictionary use "wn".

At last, just restart Emacs for a trial.


Posted by Haiyong Zheng | Permanent Link | Categories: 5.Software

Tue, 2006-03-07 09:28:37 +0800

Netcat - the TCP/IP swiss army knife available since 1996.

I am reading the book "Anti-Hacker Tool Kit" written by Keith J. Jones, Mike Shema and Bradley C. Johnson. It's a good book and when I met the first software it provide I was in trouble.

It's NetCat which is the TCP/IP swiss army knife available since 1996, and I downloaded it and then compiled it step by step:

First of all, if you want more good features you should add some options for compiling and here they are:

#wget http://www.vulnwatch.org/netcat/nc110.tgz
#mkdir nc110
#cd nc110
#tar xvfz ../nc110.tgz
#emacs Makefile
... ...
### PREDEFINES

# DEFAULTS, possibly overridden by <systype> recursive call:
# pick gcc if you'd rather , and/or do -g instead of -O if debugging
# debugging
# DFLAGS = -DTEST -DDEBUG
DFLAGS = -DGAPING_SECURITY_HOLE -DTELNET  ### This is what we add.
CFLAGS = -O
... ...

After that we should compile it and I use "#make linux" (that means #make systype which systype is the type of your system such as linux, unix, freebsd etc...) and then the following error happened:

make -e nc  XFLAGS='-DLINUX' STATIC=-static
make[1]: Entering directory `/home/flyzhy/software/netcat/nc110'
cc -O -s  -DGAPING_SECURITY_HOLE -DTELNET -DLINUX -static -o nc netcat.c 
/tmp/ccFV1tiL.o(.text+0x422): In function `gethostpoop':
: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/ccFV1tiL.o(.text+0x36c): In function `gethostpoop':
: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/ccFV1tiL.o(.text+0x621): In function `getportpoop':
: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/ccFV1tiL.o(.text+0x595): In function `getportpoop':
: warning: Using 'getservbyport' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/ccFV1tiL.o(.text+0x1674): In function `main':
: undefined reference to `res_init'
collect2: ld returned 1 exit status
make[1]: *** [nc] Error 1
make[1]: Leaving directory `/home/flyzhy/software/netcat/nc110'
make: *** [linux] Error 2

Therefore, I Googled "res_init netcat" and got the answer about this problem. The error I met went away by adding '#include "resolv.h"' to netcat.c. So enjoy now!


Posted by Haiyong Zheng | Permanent Link | Categories: 5.Software

Mon, 2006-03-06 18:25:49 +0800

My English Resume!

I wrote my English resume by JavE this morning, and it's a really peculiar software for writing something. Here it is:

                        ____    U _____ u ____       _   _   __  __  U _____ u
                     U |  _"\ u \| ___"|// __"| u U |"|u| |U|' \/ '|u\| ___"|/
                      \| |_) |/  |  _|" <\___ \/   \| |\| |\| |\/| |/ |  _|"
                       |  _ <    | |___  u___) |    | |_| | | |  | |  | |___
                       |_| \_\   |_____| |____/>>  <<\___/  |_|  |_|  |_____|
                       //   \\_  <<   >>  )(  (__)(__) )(  <<,-,,-.   <<   >>
                      (__)  (__)(__) (__)(__)         (__)  (./  \.) (__) (__)
   +--------------------------------------------------------------------------------------------+
   |    Name    : Haiyong Zheng                                  Born  : 1982/08/19             |
   |    Address : 23 Hongkong East Road, Qingdao, China 266071                                  |
   |    Tel     : +86 13864805165                                Email : zhenghaiyong@gmail.com |
   |                             Homepage :   http://www.flyzhy.org                             |
   +--------------------------------------------------------------------------------------------+

   |=-------------------------------------=[ G O A L S ]=--------------------------------------=|

      I'm interested in GNU/Linux, Open Source, Embeded D&R, Image Processing, Google and Funny
    things.

   |=---------------------------------=[ E D U C A T I O N ]=----------------------------------=|

      2000/09 - 2004/07 : Bachelor of Electronics Information Engineering at Ocean University of
                          China (http://www.ouc.edu.cn);
      2004/09 -         : Postgraduate of Signal and Information Processing at Ocean University
                          of China (http://www.ouc.edu.cn).

   |=---------------------------------=[ K N O W L E D G E ]=----------------------------------=|

      * Operating Systems :
         GNU/Linux (Slackware, Debian, Fedora, etc...), Microsoft Windows.

      * Languages :
         C, Shell, HTML, asm, C++, Delphi, Lisp, TeX.

      * Hardware :
         MCU, Computer, Arm.

      * Software (beauty & fun) :
         Emacs, TeX/LaTeX, Matlab, Vim, FVWM, Bins, Nanoblogger, LVS, etc...

   |=-------------------------------=[ E X P E R I E N C E S ]=--------------------------------=|

      * Working for image formation system under water based on clustered light which was a
        Chinese Government 863 Project;
      * Implement of LVS/DR cluster system based on GNU/Linux operating system.

   |=-------------------------------------=[  M I S C ]=---------------------------------------=|

      * Languages :
         Chinese (mother tongue), English (CET-6).
      * Entertainment :
         Music, American Movies, Programming, Table Tennis, Swimming, Basketball, Funny, etc...


                Get the latest version at http://www.flyzhy.org/fly/zhy_en.txt - 2006/03/06
   |=[ EOF ]=----------------------------------------------------------------------------------=|

Posted by Haiyong Zheng | Permanent Link | Categories: 6.Beauty

Sat, 2006-03-04 10:48:07 +0800

JavE - Funny thing!

If you care about my blog you may always know what JavE is and what it can do, but today I have an experience to use it. I had to say that it's really funny and amazing.

How to install?

It's easy to install JavE (Java Ascii Versatile Editor) if you have jre installed in your system. But if you didnot install jre or you didnot know about it at all, that's fine, and just relax. You know we can figure out it. ;) OK, let's move on.

  1. First we can put jre aside and just install jave, download the latest version (or whatever version you want :) ) from download page of JavE home. The latest version is jave5.zip so far and I also used it.
  2. Then make a directory to store the unzipped files from jave5.zip (given you are the same as me) as follows:
    #mkdir ~/jave5
    #cd ~/jave5
    #unzip ~/jave5.zip .
    
  3. After that you should download FIGlet fonts if you wanna more features about JavE. Ok, donot hesitate, just download here.
  4. Install FIGlet is very simple. Just unzip the file you download and put all the things into ~/jave5/fonts/.
  5. Well, just type the following command in "~/jave5/fonts/":
    #java -jar jave5.jar
    
    if you got something now. Congratulations! But if nothing happen, you should install Java at this moment.

Actually more details are included in the unzipped jave5.zip and just open ~/jave5/docs/index.html with your explorer (such as firefox :) )

How to use?

You can refer to the document included in the folder "~/jave5/docs/" or the home of JavE.

What's funny?

I have used image2ascii to do some stuffs:

  • zhy profile
  • BWBF"WEWEEBEBgEQBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    EZS"27WEBWBEEgW"ZWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    QpqQZ@,@E,dBW"BWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    WWWEEBBgQ,ZEBF  dWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    """"""WWWEEE2Re,dWWWWWWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    gmgp,,     """Wwg@WWWWWWWEE@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
    `""""""9==,,   9#HBENWBBEEEZHWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
                    g,JBEEEWBEZZZBBWEEEEWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
                    [  7"@BEEZ2ZZEEBEBBEBEBEEEBWWEBWWWWWWWWWWWWWWWWWWWWWWWWW
                   z"^ \ZWWgEZZ@WEEEEZgW"@BEHWWWBBBBBBBBWWWWWWWWWWWWWWWWWWWW
                 -=    JtgqqWWT"ZEEEEEEWWWEEBqgWEBEBEEBBBBWWNWWWWWWWWWWWWWWW
                         `dEEZE2HBEZE222^`2ZZUEEEEEEEEEEBBBEBWWWWWWWWWWWWWWW
                      &   7/2ZES7EEZE222%%2Z22ZEEEEEEEEEEEEEBWWWWWWWWWWWWWWW
                   .        ZZZBgZEZZ%~- ``%zZZZZEEEEEEEBEEEBBWWWWWWWWWWBWWW
                   4  @E   ZEEEEEEEEBzzzsSSZ22ZZZZEEEEEEEEEBBBWWWWWWWWBBBWWB
                   $  JB, ZEEEEEEEEEEEZZZZZ222ZZZZEEEEEEEEBEBWWWWWBBWWWWWEBW
             gEEWgg2   J"3ZZBEEEEBEEEEZZZ2ZZZZZZZZEEEEBEBEEEBBEBWBWWEEBWEBWW
           qdWWWWENE   , -2Z@EEEEEEBBEZZZZZZZZZZZZEEEEEEEBEEBBBWBWWBWWEBWWWF
           qWWWWWBBBh`2qg,ZEEQQEZZBEEEZZZEZZZEZEEEEEEEEEEEBEBBWEWBEQBBWWWWWB
      ,,,,,         dWWNBWE`"TZZEBEEZEZZZEEEEEEEEEEEEEEEEEEEEBBBWWWWWWWWWWWW
    mWEWWWBgp7` --,  #ENBBE 322ZEEEEEEZZEEEEEEEEEEEEEEBEEBBEBEBWWWWWWWWWWWWW
    EEBBBWWWWpzzzggZBWWWWWE ZESZEZZEEEEEEEEEEEEEEEEEEBEBBBEBBBWWWWWWWWWWWWWW
    @BBNBWWWWWZZZZEWWWWWEBE3zgZZEZZZZZZEEEEEEEEEEEEEEEEBEEBBBWWWWWWWWWWWWWWW
    QBBWBBNWWEZZZZZBEBWpBWBEE7ZWBBBBBBEEEEEEEEEEEEEEEEBBEBBBWWWWWWWWWWWWWWWW
    TBWEBBWWWEZZZZHBBBMWBWBBBp22ZEHEEEEEEEEEEEEEEEEBBEBBBBWWWWWWWWWWWWWWWWWW
    JE4@QWWWEBEZEEHBNEMBEWWWWE2ZEEEEEEEEEEEBEBEEEEEEEBEBBWWWBBBWWWWWWWWWWWWW
    qHpQHWEEBBEEEEBEHWNWBBWWWWb%2ZZEEEEEEEEEBEEEEBBBBBWWWWBBBWBWWWWWWWWWWWWW
    T"W@""WWBgEBBEBBEHWWWWWWNWp-ZZZZEZEEEEEEEBBBBBBBWWWBBWBBWWWWWWWWWWWWWWWW
    WWWWWWBWWWWBWWWBHWWWBWWEEEQE2ZZZEEEEEEEEEBBBWWWWBBBBBWWWWWWWWWWWWWWWWWWW
    BWWWBBWWWWWWWWgEHBWWWWWWWBWBBBEQQEEEEEQEEEEEBBEEEBBBBBBBWWWWWWWWWWWWWWWW
    
    zhy_profile_watermark.txt
  • zhy profile
  • zhy profile

Posted by Haiyong Zheng | Permanent Link | Categories: 5.Software

Wed, 2006-03-01 08:23:11 +0800

Emacs Learn Experience!

Emacs is really a perfect software for writing programs, managing Emails and almost whatever you want. It's not easy to know her but if you know about her, you will want to know more about her. :)

I have learned Emacs for about seven days, also I can use it for the basic editing now. I also change the editor of Nanoblogger to Emacs now. So you know I write this article by Emacs. ;) I really feel that the important question to learn Emacs is not about learn Emacs but about use Emacs. If you used it, you will find that actually you are enjoying it all the time. And Sams Teach Yourself Emacs in 24 Hours is really a good book for newbies, so if you are new to Emacs, read it and use it from now on. ;)


Posted by Haiyong Zheng | Permanent Link | Categories: 5.Software