2005年10月20日星期四

Linux下使用google talk

登入选项
协议:Jabber
用户名:gmail邮箱前缀
服务器:gmail.com
资源:google talk
密码:gmail邮箱密码

显示主要选项:
Jabber选项
选中"use TLS if available"和"Allow plaintext auth over unencrypted steams"
端口:5222
连接服务器:talk.google.com

2005年10月17日星期一

再次...参拜...

就算撒旦会向上帝致歉

就算地狱不再黑暗

就算世界已经和平

但是

日本人依然会参拜二战战犯

一个表面谦和内心暴虐的民族!!!

2005年10月13日星期四

[Linux起步]Linux下必装软件之MPlayer

转自:http://www.blogjava.net/sean/archive/2005/10/07/14952.html

在Linux环境下, 尤其是家用桌面电脑系统, 有一些必装的应用软件, 如Firefox, Thunderbird, RealPlayer, OpenOffice.org, GAIM等等, 上面提到的这些基本上主流的Linux发行版都已默认附带了, 或者至少可以从现成的Repositories上面通过YUM, APT-GET, YaST等等配置工具自动下载安装, 还有一些非常好用的软件则往往是需要自己去下载和安装的. 这一部分的软件常见的安装方式大致可以分为现成的自解压安装程序, RPM软件包和源代码tarball三种. 自解压的如Sun的JDK和JRE; RPM是.rpm后缀的文件, 下载下来用rpm -ivh命令安装; tarball是相对来说比较麻烦, 但也是最有意思的一种方式, 把源代码包下载下来之后, 解压, 编译, 安装, 完全自主式的过程. (还有一个很重要的好处那就是编译出来的应用程序是针对目前使用的具体平台优化的.)

今天我们一起来看看MPlayer的安装过程, 一方面给刚接触Linux的朋友一点感性认识: 在Linux下面如何从源码开始安装应用软件; 另一方面, MPlayer的配置过程并不是十分直接了当, 会遇到这样那样的问题, 而网上能够找到的中文说明比较临散, 在这里做个在FC4环境下的安装过程的整理和备份.

MPlayer是什么? 是一个在UNIX的X Window环境下播放各种媒体格式的音频和视频播放器, 在目前可能是Linux下最流行, 也是支持格式最全的播放器了, 它的主页是: http://www.mplayerhq.hu/ . 呵呵, 居然是.hu, 有点意外. 为了从源代码开始安装一个支持GUI的MPlayer, 我们首先需要保证我们的系统中包含了gcc, gtk等工具包, 在这里我默认大家都安装了必要的编译所需的工具. 接下来我们就来看看具体的安装步骤:

## 1 - 安装准备 ##

在http://www.mplayerhq.hu/上找到并下载如下四部分相关的文件: (找不到? 别偷懒, Google一下吧.)
[源代码]MPlayer-1.0.pre7try2.tar.bz2 (主程序, 不带解码器和GUI皮肤)
[解码器]all-20050412.tar.bz2 (注意不是windows-*, 这一个all-20050412目前是最全的官方codecs)
[字体]gb2312-ming.tar.bz2 (为了支持中文字幕)
[皮肤]bluecurve-1.3.tar.bz2 (还有很多其他选择, 笔者比较喜欢简洁, 这个bluecurve就不错)

## 2 - 安装Codecs ##

我们要做的很简单, 就是把all-20050412.tar.bz2解压到/usr/local/lib/codecs/目录下, 命令是:
bzip2 -cd all-20050412.tar.gz2 | tar xvf -
cp all-20050412/* /usr/local/lib/codecs/
注意, 如果没有这个目录, 请用mkdir命令新建, 如果权限不够, 请用su使用root用户安装.

## 3 - 配置MPlayer ##

先解压主程序代码包: (建议在/usr/local/src目录执行以下步骤)
bzip2 -cd MPlayer-1.0pre7try2.tar.bz2 | tar xvf -
然后进入MPlayer-1.0pre7try2目录, 执行./configure, 配置Makefile:
./configure --enable-gui --cc=gcc32
--enable-gui参数指明我们需要图形界面, --cc=gcc32指明我们需要3.2版本的gcc (这是该版本MPlayer必须的, 它不支持3.2以下版本, 也不支持FC4自带的4.0). 在这个过程中, configure脚本会找到刚才我们安装的codecs, 执行成功后会有提示信息.

## 4 - 编译和安装MPlayer ##

很简单, 先后执行两个命令:
make
make install
注意, 如果不是第一次安装, 需要在这两个步骤之前做一次make clean.
OK, 到此我们已经可以在命令行试运行MPlayer了:
mplayer ?????.avi or mplayer ?????.mp3

## 5 - 安装字体 ##

把gb2312-ming.tar.bz2解压后, 会发现两个目录: gbsn00lp16和gbsn00lp24, 分别是16和24两种大小的字体, 选择其中一个, 将里面的文件全部拷贝到/usr/local/share/mplayer/font目录下.

## 6 - 安装皮肤 ##

把bluecurve-1.3.tar.bz2解压后, 将里面的文件全部拷贝到/usr/local/share/mplayer/Skin目录下.

## 7 - 开始运行 ##

好, 现在可以开始运行我们的GUI版MPlayer了, 命令是:
gmplayer
当然了, 你可以选择把上面这个命令加到面板或桌面上作为启动器. 如果发现字幕是乱码, 可以使用-unicode参数启动.

Enjoy!

高句丽

看了新浪上这么一片文章:http://cul.sina.com.cn/bbs/2005/1011/13582617.html
记下只字片语,记录我的点点思维
愤怒
于是吃惊多余愤怒,感慨多余鄙视。
顺着论坛的恢复跟着和我一样不平的中国人的声音追溯到一个词“高句丽”,我一边从google上到处查找这个我从未听说过的词,一边慢慢的开始了解一些这个古民族。当我查到一个韩国料理的店名叫“高句丽”时,我这才愤怒到了极点。于是发给草和老姐,老姐回复了这么一句“怎么中国人这么被人敌视的?”我马上回复到“谁会去嫉妒羞辱一只狗呢?”
联想
回家的路上依然不能平息心情,心里塑造着一个韩国人我跟他对话:单一民族的国家就是狭隘,只知道说中国怎么怎么了,你们就不知道中国有多少个民族的历史,朝鲜民族不也属于中华民族历史的一部分么?狭隘的民族主义将会成为人类发展的最大障碍而不是什么社会主义或者资本主义。看看人类的战争史,民族之间的仇恨是最容易挑起的。高丽人有什么本事?从古至今出了事就是找中国,现在认了干爹就想反老子了。人类的基因经过多少年的进化,谁能说清楚谁身上流着谁的血?猛地心中格登一下,无数的思维混乱起来,原来我也是这样的。当别人说新疆人小偷多时,我心中也在想:你去过新疆么?看你们广东人一个长得和大猩猩一样(其实我的祖籍是广东)。还有很多词汇浮现在脑海里:河南大裤裆(我的干爹干娘是河南人);天上九头鸟,地上湖北佬;四川癞瓜子(我却在成都读的大学)......我鄙视北京人什么都受到照顾,我会说:操被英国老母养了几年的龟现在就充王八(香港)。......民族?历史?仇恨?原归于同一个地球,同一片土地,同一个追求。
七步诗
煮豆燃豆萁,
豆在釜中泣。
本是同根生,
相煎何太急?
历史
历史是用来记忆,用来学习,用来进步的,而不是杀戳的理由。
人类
狼群也懂得合作...
若以杀戳和战争,人类何时比的过狼,他们天生就是武器。

2005年10月11日星期二

AIX知识概要

/etc/filesystems Aix mount 检查路径
主要命令
smit df

linux知识概要

/etc/fstab linux mount file
/etc/profile linux路径全体设置
/etc/bashrc 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_history bash历史
~/.bash_logout bash退出运行
~/.bash_profile 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
系统配置方法:
基本命令:cd ls free top cat vi pwd rm
suse:yast
redhat:setup

无奈的进步

渐渐的开始习惯去看老姐的Blog,看她的Blog的感觉有点像小时候看她的作文的感觉。
时不时会想起初高中和老姐的无间,别人羡慕我有个好姐姐,我也同样骄傲着,然而时间的推移改变了很多东西,我变了,姐也变了。我有时在想,时间可以这么大的力量么,让曾经无间的姐弟俩变成陌路的境界,虽然没用了吵闹,但同样没有了欢笑,没有了固有的那种信任,不再言语,不再交流,什么都局限在简单的问候。
当我们一次次努力的想重新回到以前的信任时,一切好像都无法改变。让我想到的就是:心有余而力不足。
为什么呢?
亲情如此,那么爱情呢?我和草现在心心相印的感觉是不是会成为我未来苦涩而无奈的回忆?
然而毕竟现在找到一个默默沟通的方法,虽然是那么的无奈那么的可悲,然而毕竟这也是一种进步吧...

2005年9月26日星期一

服饰的悲哀

他日,当我得知公司要求必须穿有领子的衣服时,我内心咯噔了一下,回忆起中学的片断:
校长、教导主任、体育老师,班主任近似疯狂的告知我们一定要穿校服,因为有XX人要来学校...
体育课上没有穿校服的人,被逼着罚站,讽刺的是他们穿的是运动服...
校长在校会议上庄严的宣布XX学校因为所有的女生都留了MM头(就是李胡兰同志留得那种),男生全是小平头。获得了省教育部的表扬,号召大家都来学习...
大冬天的为了参加所谓的健身运动,要求男女生身穿白衬衣蓝裤子白球鞋做课间操,好多男生都只穿了一件衬衣...
大夏天听校领导关于如何建设素质教育,所有的人被要求穿上校服(棉质的运动服)在烈日下听校长的报告...
没有戴校牌的同学(上面有姓名和所谓的ID)不让进学校...
没有老师的同意学生不得出校门(所谓的封闭管理)...
......
无语,
因为习惯的沉默,
因为追随的无奈。

很久以来我都觉得学校的悲哀教育,好几次我都想大声地问这些规定的制定者?
什么人最像当代中国的学生?他们被要求统一的服装,他们被要求统一发式,他们还有统一的编号,他们被要求在规定的场所活动,他们的劳动不需要付费,他们的权利不需要重视,“教育”是学校的目的。稍微的发挥一下自己的联想吧,是的,囚犯也是以同样的方式生活的。
悲哀,
因为未来的迷茫,
因为无力的言语。

偶尔看韩片中有人这么说:“为什么不愿穿校服,因为他是日本殖民时代留下的...”,惊诧于那一瞬间。终于明白的我们的教育是以日本为模式的,虽然我是个抵制日货的强烈支持者,可我从来信奉“是夷长技以制夷”然而在我了解到日本校服的片面的点点内容后,再次的沉默:
日本的校服旧服可以回收给没钱的学生穿
校服一般含有多套,可以在不同的天气穿
.....

现在当我大学毕业几年后再次听到熟悉的要求,我有些习惯的排斥,人真的要想蚂蚁一样么?没有个体,拥有的只是类别?

附我同家姐聊天记录:

(*)雨: 不是,公司要求要有领子的衣服。。。
Owl—再见萤火虫: 哦
(*)雨: 无聊的要求
Owl—再见萤火虫: 那怎么办?
Owl—再见萤火虫: 告诉他们:圆领子也是领子!嘻嘻
(*)雨: 草说,剪一个领子,要求带时,挂上去
Owl—再见萤火虫: 哈哈~~这办法也不错~~
Owl—再见萤火虫: 向我们小时候流行的那种假领子,记得不?
(*)雨: 唉~上学要穿校服,但是呢,一人只有一套。上班了又有要求,但是呢又没有服装费,要不发个服装也行啊,也没有。
(*)雨: 都他妈的是学小日本的,学又不好好学
Owl—再见萤火虫: 哈哈~~~有道理
(*)雨: 学校更变态,还要求发型。。。
(*)雨: 更他妈囚犯一样
Owl—再见萤火虫: 这叫取其糟粕,弃其精华的新拿来主义!
(*)雨: 我记得中学有个学校叫女生全部剪成mm头,男生全是平头,竟然受到教育部的表扬。。。。无语。。。
Owl—再见萤火虫: 是这样啊
Owl—再见萤火虫: 别说你们了
Owl—再见萤火虫: 我2000年出来当老师的时候,那还是私立学校
Owl—再见萤火虫: 都是这样的要求阿
Owl—再见萤火虫: 你问东东就知道了
(*)雨: 唉,教育的悲哀啊
Owl—再见萤火虫: 治标不治本
Owl—再见萤火虫: 勤劳节俭朴素踏实,,,这些搞的是在发型和衣服上来完成似的
(*)雨: 都是些脑子有病的人想出来的
Owl—再见萤火虫: 不是说不好,但南辕北辙,越弄越糟!
(*)雨: 唉。。。
Owl—再见萤火虫: 呵呵~~~因为这些大人自己就是这样子的吧,是心态有病!
Owl—再见萤火虫: 自己外表道貌岸然就觉得够了,
(*)雨: 说得好
Owl—再见萤火虫: 当然会这样要求下一代
Owl—再见萤火虫: 把外表搞得正正经经
Owl—再见萤火虫: 至于心理如何,不去管他!
Owl—再见萤火虫: 所以,做了一年老师,我是死都作不下去了:)
(*)雨: :-)
Owl—再见萤火虫: 感觉自己就象一个伪君子
Owl—再见萤火虫: 课上教的是一套态度,课下又被迫按另一种态度来生活,稍微认真一些的人,都会的精神分裂症~呵呵~~~

2005年9月22日星期四

Java 路径解析

路径设置

首先我们看看java学习的最为基础的工作:路径设置。

JDK安装好后会要求设置以下路径:“JAVA_HOME”、“classpath”、“path”。
Windows操作方法:

在Windows下java这些路径设置主要是在系统属性里改变(控制面板->系统->高级->环境变量)

如:

JAVA_HOME D:\j2sdk1.4.2_06\

classpath

.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\dt.jar;d:\Tomcat_4.1\common\lib\servlet.jar

path:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\j2sdk1.4.2_06\bin\;D:\j2sdk1.4.2_06\jre\bin\

注意:分隔符是分号“;”
Linux操作方法:

增加可执行权限: chmod 755 j2sdk-1_4_2_04-linux-i586-rpm.bin

执行命令运行 ./ j2sdk-1_4_2_04-linux-i586-rpm.bin

执行成功后生成rpm文件:j2sdk-1_4_2_04-linux-i586-rpm

执行rpm –ivh j2sdk-1_4_2_04-linux-i586-rpm安装jdk

在linux下修改文件 /etc/profile中的信息来添加JAVA_HOME,classpath,和修改PATH。在此文件末尾加入以下内容:

JAVA_HOME=/opt/jdk1.4.2_04

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$PATH

Export JAVA_HOME,CLASSPATH,PATH

注意:分隔符是冒号“:”
配制说明

前面我们做了路径的设置,现在我们说明一下他们到底是什么东西,为什么要做这些设置。(Java作为跨平台的语言不能像一般程序一样通过写windows注册表的形式添加其它程序访问的路径。)其中“path”一般系统本身就有,主要是确定系统在运行程序时默认查找的路径,添加%JAVA_HOME%/bin就是方便操作系统找到JDK运行程序的目录;“JAVA_HOME”为JDK安装的路径主要提供其他应用程序访问使用,譬如:Tomcat;“classpath”是最易混淆的设置,我们常常都听说要设置此值中要包含如下内容:“.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\dt.jar”其中“.”常常被强调不可遗漏,但是为什么呢?

首先我们要从java的类(class)说起,java开发中所有一切均为对象,而对象的实现全通过类(class)实现,每个class在操作系统中表现为一个文件(*.class),而包(package)则做为类管理的一种方式。将功能相近,相关的类统一部署在一个包(package)内。这种方式在操作系统里则表现为一个目录。

“.”在操作系统里表示为当前目录当你在Windows操作系统里输入dir时便可以看到两个奇怪的目录“.”“..”,分别代表着当前目录,和上一级目录,这也就是当你想在命令控制附里切换到上一级目录输入“cd ..”的原因。

%JAVA_HOME%代表着设置的“JAVA_HOME”的值,可以使用echo %JAVA_HOME%显示此值。

*.jar文件为java的一种特殊的包文件,若你用winrar工具打开它,就会发现里面也是一级一级的目录最后保存着*.class,和操作系统未打包前的文件格式完全一致。

所以常常设置的java路径“.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\dt.jar”代表的意思为:当java程序编译或运行时,若是需要调用其它的类文件将从以上路径中查询,这个路径首先是当前运行路径然后是其次的几个JDK默认所带的jar包中。
编译示例

现在还是让我们从HelloWord开始了解路径的意义

创建一个java文件E:\HelloWord.java

public class HelloWord {

public static void main(String[] args) {

System.out.println("HelloWord");

}

}

在命令控制附种切换HelloWord.java的路径下,此处为E:\输入javac HelloWord.java编译HelloWord.java将其转化为二进制文件:HelloWord.class,然后使用java HelloWord来运行。

我们再做一个实验同样是此文件,我们在第一行加上:

package A;

删除以前生成的二进制文件:HelloWord.class。现在我们再次编译此文件,会发现编译正常而且同样会在当前目录下生成HelloWord.class。再次用java HelloWord运行他,却抛出NoClassDefFoundError,意思为找不到class文件,也就是说HelloWord类无法找到。但是HelloWord.class文件明明存在的啊?

第一次java在运行时要查找的是classpath中提供路径中的HelloWord.class,它在当前目录下找到了(“.”),所以可以很好的运行。第二次当他再次查找HelloWord.class时现存的HelloWord.class在操作系统文件名称上没用任何变化,但是它是属于A这个package的决定了它实际为A.HelloWord类而不是HelloWord类。所以当前目录下没有HelloWord这个类。那么java A.HelloWord可以运行这个.class文件么?依然不行!为什么呢?因为java的类要和操作系统得文件目录相对应,现在虽然有了A.HelloWord的类,但是却无法找到A这个package对应的目录,所以无法运行。正确的方法为在当前目录下建名为A的目录,将HelloWord.class移入其中,然后再运行java A.HelloWord。
javac参数

让我们通过javac /?来查看javac的参数

我们从了解以下参数来进一步理解java路径:

-classpath,-sourcepath,-d

-classpath为java编译时查找的路径和在操作系统里制定的意义相同。但是当在javac中制定-classpath时,操作系统里指定的classpath将会在此javac运行期间无效。

-sourcepath,当javac编译若是查找不到所需要的class文件,默认情况下它会在当前目录查找class所对应的java文件,若是存在,则自动编译好后再次定位class文件。但是若是源文件没有放在当前目录下(注意class文件要和操作系统文件格式相对应,也就是说A.b class 对应的应该是A目录下的b.java文件。)则可以通过-soucepath来指定源文件可能所在的目录。

-d,javac编译默认情况是在*.java所在的目录生成二进制文件*.class,当源文件不在同一个classpath下时,就会造成程序发布或者运行很困难。-d的意义在于自动在制定路径下按照将程序编译出来的二进制文件按照类所对应的操作系统目录文件形式存放。

下面我们写两个程序介绍下这几个参数的意义。

HelloWord.java

package A;

import B.HelloName;

public class HelloWord {

public static void main(String[] args) {

HelloName peple = new HelloName();

System.out.println("Hello Word " +peple.name);

}

}HelloName.java

package B;

public class HelloName {

public String name = "Tom";

}

简单的解释下代码意义:HelloWord和HelloName分别为A,B两个包内的类在运行A.HelloWord时需要调用B.HelloName类(实际是生成HelloName的实例)。

我们先将这两个文件保存在E:\下,当我们使用javac编译时:javac HelloWord.java马上会发现无法编译,原因是查找不到B.HelloName的类。根据前面讲述的classpath我们很容易知道该怎么解决这个问题:将他们分别放置到各自相对应的目录中去。

然后我们再来编译:javac A\HelloWord.java。ok,一切都正常,在用java A.HelloWord 运行一遍,显示出“Hello Word Tom”说明编译成功且可以运行。

现在我们删除所有的class文件将B目录(包括里面的HelloName.java)文件移入到F:\下,如此一来,当我们再次编译javac HelloWord.java时依然无法查找到B.HelloName类,这时我们可以试试-sourcepath这个参数了,在E:\下编译:javac –soucepath f:\ A\HelloWord.java。编译将正常进行且无任何错误抛出。而且可以查看到,每个java源文件相同的目录下都生成了其对应的class文件。

最后当我们想运行和发布时会发现,凌乱的class和java源文件的不同目录造成运行和发布的操作困难,此时我们应当再次了解javac 的-d参数。再次在E:\目录下(先建立classes目录)使用一下命令编译:javac –soucepath f:\ -d e:\classes A\HelloWord.java。这时E:\classes下会按照java类路径需求自动生成相应的目录。此例中你会看到classes下有两个目录A和B,而A,B目录下则存放着所需要的class文件。

2005年9月16日星期五

祭中秋

千年文明百年灾,
一朝羞辱万代忆,
明月抬头献中秋,
热血心中祭国耻!

2005年9月2日星期五

Cygwin使用方法(转)

根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。

1 引言
cygwin是一个在 windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。

根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。

1 引言
cygwin是一个在 windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。

2 机理
cygnus 当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于 win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在 windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。
关于cygwin实现的更详细描述,请参考http://cygwin.com/cygwin-ug-net/highlights.html.

3 安装设置cygwin
3.1 安装
要安装网络版的cygwin,可以到http://cygwin.com,点击"Install Cygwin Now!"。这样会先下载一个叫做setup.exe的GUI安装程序,用它能下载一个完整的cygwin。按照每一屏的指示可以方便的进行安装。
3.2 环境变量
开始运行bash之前,应该设置一些环境变量。cygwin提供了一个.bat文件,里面已经设置好了最重要的环境变量。通过它来启动bash是最安全的办法。这个.bat文件安装在cygwin所在的根目录下。 可以随意编辑该文件。
CYGWIN变量用来针对cygwin运行时系统进行多种全局设置。开始时,可以不设置CYGWIN或者在执行bash前用类似下面的格式在dos框下把它设为tty
C:\> set CYGWIN=tty notitle glob

PATH 变量被cygwin应用程序作为搜索可知性文件的路径列表。当一个cygwin进程启动时,该变量被从windows格式(e.g. C:\WinNT\system32;C:\WinNT)转换成unix格式(e.g., /WinNT/system32:/WinNT)。如果想在不运行bash的时候也能够使用cygwin工具集,PATH起码应该包含x:\cygwin \bin,其中x:\cygwin 是你的系统中的cygwin目录。
HOME变量用来指定主目录,推荐在执行bash前定义该变量。当 cygwin进程启动时,该变量也被从windows格式转换成unix格式,例如,作者的机器上HOME的值为C:\(dos命令set HOME就可以看到他的值,set HOME=XXX可以进行设置),在bash中用echo $HOME看,其值为/cygdrive/c.
TERM变量指定终端型态。如果美对它进行设置,它将自动设为cygwin。
LD_LIBRARY_PATH被cygwin函数dlopen()作为搜索.dll文件的路径列表,该变量也被从windows格式转换成unix格式。多数Cygwin应用程序不使用dlopen,因而不需要该变量。
3.3 改变cygwin的最大存储容量
Cygwin 程序缺省可以分配的内存不超过384 MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的 HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下:
regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin

4 使用cygwin
这一段讲一下cygwin和传统unix系统的不同之处。
4.1 映射路径名
4.1.1 引言
cygwin 同时支持win32和posix风格的路径,路径分隔符可以是正斜杠也可以是反斜杠。还支持UNC路径名。(在网络中,UNC是一种确定文件位置的方法,使用这种方法用户可以不关心存储设备的物理位置,方便了用户使用。在Windows操作系统,Novell Netware和其它操作系统中,都已经使用了这种规范以取代本地命名系统。在UNC中,我们不用关心文件在什么盘(或卷)上,不用关心这个盘(或卷)所在服务器在什么地方。我们只要以下面格式就可以访问文件:
\\服务器名\共享名\路径\文件名
共享名有时也被称为文件所在卷或存储设备的逻辑标识,但使用它的目的是让用户不必关心这些卷或存储设备所在的物理位置。)
符合posix标准的操作系统(如linux)没有盘符的概念。所有的绝对路径都以一个斜杠开始,而不是盘符(如c:)。所有的文件系统都是其中的子目录。例如,两个硬盘,其中之一为根,另一个可能是在/disk2路径下。
因为许多unix系统上的程序假定存在单一的posix文件系统结构,所以cygwin专门维护了一个针对win32文件系统的内部posix视图,使这些程序可以在windows下正确运行。在某些必要的情况下,cygwin会使用这种映射来进行win32和posix路径之间的转换。
4.1.2 cygwin mount表
cygwin 中的mount程序用来把win32盘符和网络共享路径映射到cygwin的内部posix目录树。这是与典型unix mount程序相似的概念。对于那些对unix不熟悉而具有windows背景的的人来说,mount程序和早期的dos命令join非常相似,就是把一个盘符作为其他路径的子目录。
路径映射信息存放在当前用户的cygwin mount表中,这个mount table 又在windows的注册表中。这样,当该用户下一次登录进来时,这些信息又从注册表中取出。mount 表分为两种,除了每个用户特定的表,还有系统范围的mount表,每个cygwin用户的安装表都继承自系统表。系统表只能由拥有合适权限的用户(windows nt的管理员)修改。
当前用户的mount表可以在注册表"HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系统表
存在HKEY_LOCAL_MACHINE下。
posix 根路径/缺省指向系统分区,但是可以使用mount命令重新指向到windows文件系统中的任何路径。cygwin从win32路径生成posix路径时,总是使用mount表中最长的前缀。例如如果c:被同时安装在/c和/,cygwin将把C:/foo/bar转换成/c/foo/bar.
如果不加任何参数地调用mount命令,会把Cygwin当前安装点集合全部列出。在下面的例子中,c盘是POSIX根,而d盘被映射到/d。本例中,根是一个系统范围的安装点,它对所有用户都是可见的,而/d仅对当前用户可见。
c:\> mount
f:\cygwin\bin on /usr/bin type system (binmode)
f:\cygwin\lib on /usr/lib type system (binmode)
f:\cygwin on / type system (binmode)
e:\src on /usr/src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
还可以使用mount命令增加新的安装点,用umount删除安装点。
当Cygwin 不能根据已有的安装点把某个win32路径转化为posix路径时,cygwin会自动把它转化到一个处于缺省posix路径/cygdrive下的的一个安装点. 例如,如果Cygwin 访问Z:\foo,而Z盘当前不在安装表内,那么Z:\将被自动转化成/cygdrive/Z.
可以给每个安装点赋予特殊的属性。自动安装的分区显示为“auto”安装。安装点还可以选择是"textmode"还是 "binmode",这个属性决定了文本文件和二进制文件是否按同样的方式处理。
4.1.3 其他路径相关信息
cygpath工具提供了在shell脚本中进行win32-posix路径格式转换的能力。
HOME, PATH,和LD_LIBRARY_PATH环境变量会在cygwin进程启动时自动被从Win32格式转换成了POSIX格式(例如,如果存在从该win32路径到posix路径的安装,会把c:\cygwin\bin转为/bin)。
更多...

本文来自http://down.licheng.net/info/153.htm

http://w.yi.org/weblog/63_0_1_0.html

2005年8月30日星期二

Give My Love

When I look in your eyes I can see that you
当我凝视你的眼睛 我看到了
Want to be with me but you“re so scared 
你想要在我的身边 但是你在害怕什么
And I don“t know what to say or do
我不知道 我能说什么或为你做什么  
But the tears keep falling from your eyes 
泪水不断从你的眼中流下
And I know that 
我知道
Times won“t change my love 
时间无法改变我对你的爱
And I can“t do nothing to keep you
我也无法让你留下来

Oh, I“ll give my love. oh when I hold you tight 
喔,献上我爱 哦 当我紧抱你时
Give my love through kisses oh so bright
以吻 传达我的爱 哦 好灿烂  
And you know that I can“t change my love 
你知道我无法停止对你的爱
Take my love all through the night… 
就在今夜 带走我的爱...

As the hours pass away 
随着时间的流逝
You think that love ain“t here to stay 
你以为爱意不会留存
Feel a beat from your chest 
感觉从胸口传来的心跳声
But you don“t give doubt a moment“s rest 
但你也未曾怀疑之后的时间
You dream the future  
你所梦想中的未来
and all you see is dark 
你看到的是漆黑一片
Listen to your heart, baby,  
倾听你的心 baby
the truth will set sparks 
真心会让黑暗来光明

2005年8月29日星期一

给我的老板

不要以为工资是成本,它是投资!
不要以为一台300Mhz的电脑就可以跑Eclipse,实际上它连java跑得都够痛苦的了。
不要以为我不关心公司的利润,毕竟公司的利润决定我的工资。
不要以为培训是在花钱,他是留住技术人员的投资,对!是投资。
不要以为一台刷新率只有70hz的显示器对人体无坏,实际上它造成我每天眼睛死掉无数的细胞和视网膜的老化是您给我的工资无法修复的。
不要以为招人就可以解决所有的问题,新人像新鲜的血液,但是不是所有的血液都可以使用。
不要以为会说的人,就能做任何事,会说只是他们的优点。

2005年8月11日星期四

摘录

感觉这两句话听有意思的,留作参考吧,呵呵
“近二十年来,中国社会中价值层面被颠覆得最彻底的就是婚姻与恋爱观”。
“新一代的观念发生了剧变,改革开放了20多年,以前未婚同居的是流氓。现在谁要是还反对未婚同居,他们会把你当作恐龙一样。”

2005年8月4日星期四

快乐童年

偶尔看到网上写年少时的玩物,回忆起以前小时候自己来
象棋

其实想来我最早接触的玩具可能就是象棋了,因为父亲对象棋有执著的、固执的、着迷的爱好,因此从小家里最不缺的就是象棋。
但是我不是象棋神童,因此象棋在我手上全成了木头玩具。
最早在我的记忆深处象棋是和水一起玩的,在小小的平房花园里,接一桶水,里面泡上象棋和几个葫芦可以玩上一个下午。具体怎么玩,不记得了。只有零碎地记忆片断:红砖铺的地,两间面积不大的平房,院里养着鸡,种这一棵似乎永远没长大苹果树,我就在这儿之间,蹲在水桶边,傻呵呵的玩。
再大些,象棋是用来摆兵阵的,现在回想起来也是觉得奇怪,好像当时并不完全知道象棋上的字到底是什么,但是一样可以分开什么是兵,什么是将,7、8副大大小小的象棋,全部都用来摆兵阵,一方是红色的,一方是黑色和白色的。官职大小先以象棋个体大小决定,然后按象棋的将-车-马-炮-兵排列。最大的感觉那时跟我脸差不多大,不过现在看上去也就那么一点;小的和大拇指指甲差不多。摆好兵阵就是开打了,还记得士和象和保镖一样在将帅身边,搞个木头板凳坐城门,城门上好像还有绳子做控制(呵呵,小时候还正能折腾)。用床,米袋子、桌子、椅子搞成各种环境,两方移动一边进行战斗。可怜黑色和白色的象棋全是失败的一方,估计是小时候受到红军的影响,哈哈。所以小时候老爸的象棋坏的最多的是黑白色的棋子,你想想,先是水泡,然后是“摆棋战”中失败,被我不知道要“鞭尸”多少次,再好的木头也要裂了。
最后象棋当然还是回到了棋盘,不过可惜我的象棋水平永远是那么臭。没有多少机会能真正的和父亲下过几盘。
工具


工具也是可以作为玩具的,父亲是个工程师,搞机械制造的,家里什么工具都有。受父亲影响对于工具出奇的爱好,于是父亲在他的工具箱里找来好多小扳手,小榔头,小起子,...还特别的做了个小箱子,说是给我的工具。从此家里的电器、玩具就没有几个完整的。父亲经常拿着竹竿追着打我,却从未收回过这些小工具。
华容道


华容道是我最为自豪的玩具,最早的记忆和象棋也在同一段时间。父亲带家人去库尔勒的爷爷,看了个杂志,上面有华容道的游戏解说。回到乌鲁木齐后父亲找来一些三合板和不知哪来的木头,精心的做了个华容道的积木。还记得当时最后一个积木是父亲叫我拽着木头他剧的,后来简单的刻了字划上钢笔墨就成了华容道。三合板用做华容道外部的框架。不过父亲没有花多少时间教我怎么玩,所以最后他们也成了我兵阵里的一分子。可惜的是我当时不知道这个东西多重要,积木没用多久就没剩几个了。最后剩下的好像也只有个“兵”,不知道是不是因为他像象棋的原因。
自豪是因为不是每个人都有父亲亲手做的玩具。
钮和铁圈


钮:即陀螺,但是小时候一直叫“牛”,到底怎么写,确实不清楚。只记得小时候冬天就是打钮,夏天就和院里的孩子一起滚铁圈。乌鲁木齐的冬天还是挺冷的,到了冬天一群伙伴一人一个钮,拿到院里看谁的钮转的利害。我的钮是钢作的,圆柱体上有几个简单的花纹,下方有个柱子嵌在里面,也是老爸用厂里的边角料给我加工的。铁圈就简单了,尤其是我们这样厂区长大的小孩,几乎人手一个。
竹板

竹板多是从当时的竹筐上拆下来的,好的竹板要宽,最好没有竹节,用来干什么呢?呵呵,滑雪,一脚踩竹板,一脚蹬,冬天上学放学多是用这个交通工具,有时候可以在教室的暖气上看到好多竹板,每个人都会为找到一个又宽又结实竹节又磨得光滑的竹板而骄傲。

随便写了写,好玩的东西太多了,童年的回忆总是那么幸福。


猛然发现好多玩具都和父亲有关系,就把他献给我敬爱的父亲。

2005年8月1日星期一

让我们在平静中相爱

爱情总是被形容成一种凄美的事物
似乎相对于平静的生活
人们更热衷于添加了悲惨结局的爱情故事

是凄美渲染了爱情
还是
动人爱情必然凄美

很少听说某个爱情故事
是因为她的平静而出名的
其实
真正的爱情不一定非要轰轰烈烈
平静也是一种美

愿意为爱人醉生梦死
往往是容易的
琐碎对于爱情
往往产生比死亡更大的破坏力

故事凄美的好
而平静
则是生活中最美丽的爱情

2005年7月27日星期三

困惑

时间可以证明爱情
但是
时间不能说明爱情
长时间的感情真实?
还是一句话真实?
有时候一句话也可以给人否定时间的力度,
因为当它否定的是感情的时候,
时间又能说明什么?

2005年7月26日星期二

用UltraEdit做简单的Java IDE开发平台--简单编译

Java IDE有Borland JBuilder、Eclipse、Sun.ONE.Studio...做为java入门的我没机会仔细研究他们,但是作为项目开发个人觉得还是用这些专业的比较好,JBuilder还有自带的CVS便于项目代码管理,Eclipse的易于扩展性也是选择的亮点... 用UltrEdit做IDE的目的主要还是督促自己对java后台编译的简单过程做些了解。
一.安装java 2 SDK
1.从sun下载个jdk的安装程序,一路“next”基本就可以安装成功。(路径和选择的内容就看自己的需要了) 2.设置路径
JAVA_HOME
D:\j2sdk1.4.2_06\
CLASSPATH
.\;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\dt.jar;E:\Apache Tomcat 4.0\common\lib\servlet.jar
(切记要有最前面的".\")
path
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\j2sdk1.4.2_06\bin\;D:\j2sdk1.4.2_06\jre\bin\
二.编译的批处理设置

编一个简单的批处理保存为Compiler.bat(*.bat,*.cmd都行)
--------------------------------------------------------------------------------
@echo on
@if exist %1.java goto java

:error
@echo ****************************************
@echo *** Nothing Files Can be Compile!!! ****
@echo ****************************************
@goto end

:java
@echo ****************************************
@echo ********* JAVA Files Compiled **********
@echo ****************************************
@javac %1.java
@goto end :
end
--------------------------------------------------------------------------------
简单说明下:首先判断当前目录是否有java源文件若有,则跳入":java"这步运行"javac"编译java源代码,%1为运行批处理时传入的文件名参数。若无java文件则直接进入错误显示“Nothing Files Can be Compile!!!”
三.UltraEdit设置
选择UltraEdit菜单:高级--工具栏配置命令行:输入前面建立的批处理文件并在后写上"%n"(不带双引号)如:D:\WINTOOLS\UltraEdit\command\Compiler.bat %n 工作目录:"%p"(不带双引号) 菜单项名称:"编译"(随意了,主要是最后运行编译的名称,看自己的爱好了,呵呵) 选择保存文件选择输出到列表窗口选择捕捉输出 先点击"插入",点击了"确定"就重写一边吧,什么估计都没保存。 ok,现在简单的java程序可以编译了。但是只限于简单的java文件编译,调用其他package内的类时就不行了

2005年7月25日星期一

北大学生答日本记者问(转)

朋友QQ上发来的,觉得回答到位,没有任何鄙视日本人的想法,抄上来大家看看

问:你支持抵制日货的这种观点或行动吗?
答:每一个人都是一个个体,每个个体都是自由的。我无法左右别人的思想,也无权控制别人的行动。

问:你如何定位中日关系?
答:客观定位,平等互利关系。

问:从学生的角度看,你认为两国关系中最大的障碍是什么?
答:显然,日方在很多方面做出了错误的言论和举动,而这是我们不能接受和容忍的!一句话,改善中日关系需要日方正视历史,拿出善意和诚意。

问:你个人使用日货吗?
答:有,马桶。(在场学生大笑)

问:那你告诉我,为什么日本的马桶会比中国的好?
答:在中国,这种话题是不登大雅之堂的,在公共场合提论这种话题是很变态的。(笑声)当然,我不知道是你有这样的嗜好,还是贵国有这种习惯。(笑声)

问:关于历史问题,中日两国是否有途径可以卸下这个沉重的“包袱?”
答:请注意你的用词!我不同意你的这种说法。你的这个问题本身就在诬陷中国。自古至今,中国从不存在什么“沉重包袱”。中华民族是心胸开荡,豁达前瞻的优秀民族,宽厚待人,睦邻周边是中国的美德。因此我们正视历史,但绝不以怨抱怨。我们容忍和解,包括对待日本。请问,中国和中华民族的历史包袱是什么?中国人民做过对不起日本的事吗?问题恰恰是侵略中国、犯下滔天罪行的日本不正视历史,在中国烧杀掠夺,疯狂地要灭绝中华民族。犯罪的日本不向中国和中国人民认罪赔偿损失,还要叫嚣海外出兵扩疆,分裂中国,霸占中国国土,激怒中国人民。这样的史实太多。请问,这是中国背历史包袱吗? (在场学生鼓掌)

问:我也经常看新闻,最近一段时间,中国生产事故频发,死亡率想必不会低吧?
答:同你们国家一样,每人死一次。 (笑声、掌声)

问:在中国大学校园里,学生自杀频繁发生、屡禁不止,这是为什么?
答:事实上,学生自杀最多的是在你们国家。许多稀奇古怪的自杀方式就是你们国家的自杀一族发明的。在联合国公布的相关资料中,日本的自杀率排名世界第一。我不知道你手上有什么足够的证据来证明我国的校园自杀事件。毛泽东主席有一句名言“没有调查就没有发言权”。希望你做客观真实的报道。对你刚才提问中使用的词语我有必要纠正,在中国汉语语法中,“频繁发生”和“屡禁不止”是重复累赘,用词错误。而且,你的说法不符合事实!(掌声)

问:在日本留学的中国学生非法窃取日本的机密情报,你知道吗?
答:我无法核实你的消息的准确性和真实性。这种荒唐说法就跟布什打伊拉克是因为萨达姆偷了布什家的高压锅一样可笑。 (现场大笑)

2005年7月22日星期五

我的小记

1979年,国家计划生育。在老爸的坚决反对下,老妈的左右为难和外公的坚持立场下我在新疆乌鲁木齐出生了。生来体弱多病成了父母最大的生活压力,我记得 9岁时我住了9次医院,每次都是感冒到发烧到抽风。5岁时打肌肉注射青霉素、红霉素就不哭了,7、8岁时由于药物过敏和医护不利在儿童医院住了一个月后发 现左腿比右腿短了2到3厘米。不满十岁就被实习护士当活标本式的练习打滴流,原因是血管太细找不到,最好的是还是我竟然一点都不哭。在父母的坚持下,每天 都在给我用劲的拽腿,终于基本保持两条腿的长度。虽然身高不够满意,但每每想到我至少不是个残疾人就万分的感谢我的父母。大学2年级我脸上起了白色的斑 点,被医生诊断为白癜风,造成我情绪极大的波动。回家后母亲悲哀的落泪,父亲无言的表情,默默地说对不起我。我顿时体会到了父母的爱,从此,真正认识到了 什么是亲人。可喜的是,从此也再也没有见到白色的斑点。亲情的力量?庸医的误诊?我无法得知...

7岁上小学,8岁时因为学校倒闭转学,四年级时又因为外公的执意追求去了市中心一所民汉合校上小学,小学的成绩一团糟,最终导致小学老师极度歧视我,造成 我现在一想起小学就是一片黑色的记忆。中学倒是奇怪,学习成绩开始飞速提高,体验了中国大陆学生几乎所有的小官的感觉:组长、生活委员、劳动委员、课代 表、班长。令我自豪的是班长竟然是全班投票选出来的。呵呵。于是中学成了我最快乐的时间,理工科的目标也在此时慢慢确定。

而注定在我生命中产生最大影响的她:草出现了。似乎一切都是很自然的开始。她的出现改变了所有的一切,生活变得那么的美丽安详。从此我的人生中多了爱情...

理工科成绩比文科成绩好的我竟然在高考中理科全部落败,语文成绩却是全校第一。悲哀、不安、迷惑的我去了所三流的大学,结果大学自我的虚度造成了现在只能做IT的人生...

使用图形界面在 Red Hat Enterprise Linux上安装DB2 v8.1

在IBM上查到:

DB2 v8.1由于java虚拟机版本不被支持,所以安装使用db2setup无法安装。翻译并记录下来

Red Hat Enterprise Linux好像支持jvm 在1.4.1以上,因此需要替换v8.1安装介质中的jvm.建议:IBM version of the Java SDK 1.4.1(我使用的是Sun SDK 1.4.2_04分为两个步骤:1. java SDK 安装。2. DB2安装)

java SDK

  1. 下载SDK (sun,ibm都有,具体网址忘了,以后再补吧)
  2. 安装SDK rpm -ivh j2sdk-1_4_2_04-linux-i586-rpm (我下的是:j2sdk-1_4_2_04-linux-i586-rpm.bin 在linux下拷贝到本机,运行:./j2sdk-1_4_2_04-linux-i586-rpm.bin。然后rpm安装即可)
  3. 修改/etc/profile文件,配置java路径(包括JAVA_HOME、CLASSPATH、path)注意大小写。

DB2

  1. copy 介质到硬盘上,主要目的是可以修改自带的jvm (如: cp -R /media/cdrom/* )
  2. 删除 db2/linux/java 的目录 (如: rm -Rf /db2/linux/java)
  3. 创建“java”link指到Java1.4.1的目录 (如.: ln -s /opt/IBMJava2-141 //db2/linux/java)
  4. 安装了... (e.g.: /db2setup)

IBM原文:

http://www-306.ibm.com/software/data/db2/linux/validate/rhel3faq.html

Yes, there is a workaround. However it is not officially supported by IBM and is therefore provided for informational purposes only. You could use IBM's version of the Java 1.4.1 environment instead of 1.3.1 that is shipped with the DB2 install image. Note that IBM does not support either 1.3.1 or 1.4.1 (SR1) on RHEL 3 yet. To use this unsupported workaround, you first need to install the IBM version of the Java SDK 1.4.1. Depending on which version of the DB2 install image/CD you have, perform the following steps.

If you have a DB2 UDB V8.1 GA (or level prior to 8.1.4) install image/CD:

  1. Copy its contents to the hard disk (e.g.: cp -R /media/cdrom/* ) where the is large enough to hold the install image.
  2. Delete the db2/linux/java sub-directory.
    (e.g.: rm -Rf /db2/linux/java)
  3. Create a symbolic link called java to point to the Java 1.4.1 directory.
    (e.g.: ln -s /opt/IBMJava2-141 //db2/linux/java)
  4. Ensure the DISPLAY is exported properly and launch the installer.
    (e.g.: /db2setup)

If you have DB2 install image / CD refreshed at Version 8.1.4 or later:

  1. Set the following environment variables: export DB2USELOCALJRE=TRUE
    export JAVA_HOME=
    (e.g.: export JAVA_HOME=/opt/IBMJava2-141)
  2. Launch db2setup from the same shell

开始的困惑

拥有多少开始就拥有多少的结束,说起来好似很是悲哀,其实不完全是现在的心情,仅仅因为老是有始无终的做事,希望有所改变吧。

建立Blog其实目的很简单,太多的文档要看要记,倒不是有什么东西要发布。想来,Blog多少也可以使用拿来主义,用来统计资料倒也不错。赫赫