80后出师表

夫80后者,初从文,未及义务教育之免费,不见高等学校之分配,适值扩 招,过五关,斩六将,初中未结,寒窗数载,二十二乃成,负债三万。觅生计,背井离乡,东渡苏浙,南下湖广,西上志愿,北漂京都,披星戴月,秉烛达旦,六年 无休,蓄五万。楼市暴涨,无栖处,购房金不足首付,遂投游戏,翌年缩至万余,遂抑郁成疾,入院一周,倾其所有,病无果,因欠费被逐院门。寻医保,不合大病 之规,拒付,带病还。服鼠药自尽,遇赝品未果.友怜之,赊三鹿奶粉一包,冲而饮,卒。家人闻之,悲恸不已,欲善葬之,然无奈今墓地寸土千金,家徒四壁,遂 将其骨灰撒于江边,烧些许纸钱,正值城管道格斯适彼,罚款三千...众人闻之,怒之,欲步前理论。一官人,笑执羽扇,曰:D员乎?尔欲为何方而言?屁哉? 屁哉!奈何家人已身无分文。城管见其妹乖巧,意纳之为妾。父母无奈淫威,从之。其妹不堪欺辱,投江,卒。渔人捞起,协尸要价万二。父母不忍此景,含泪投 江,卒。乡邻闻之,纷纷陈词激扬,慷慨解囊,厚葬之。竖日,各媒体纷纷报道,和谐社会,高呼万岁,唯高祖独自泪。
... Read more!

History(历史)命令用法 15 例 (from LinuxToy)

如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率。本文将通过实例的方式向你介绍 history 命令的 15 个用法。


使用 HISTTIMEFORMAT 显示时间戳
当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。如果你想要查看命令历史的时间戳,那么可以执行:


# export HISTTIMEFORMAT='%F %T '
# history | more
1  2008-08-05 19:02:39 service network restart
2  2008-08-05 19:02:39 exit
3  2008-08-05 19:02:39 id
4  2008-08-05 19:02:39 cat /etc/redhat-release
注意:这个功能只能用在当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的所有命令,都将会显示成设置 HISTTIMEFORMAT 变量的时间。[感谢 NightOwl 读者补充]
使用 Ctrl+R 搜索历史
Ctrl+R 是我经常使用的一个快捷键。此快捷键让你对命令历史进行搜索,对于想要重复执行某个命令的时候非常有用。当找到命令后,通常再按回车键就可以执行该命令。如果想对找到的命令进行调整后再执行,则可以按一下左或右方向键。

# [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt]
(reverse-i-search)`red‘: cat /etc/redhat-release
[Note: Press enter when you see your command, which will execute the command from the history]
# cat /etc/redhat-release
Fedora release 9 (Sulphur)

快速重复执行上一条命令
有 4 种方法可以重复执行上一条命令:
  1. 使用上方向键,并回车执行。
  2. 按 !! 并回车执行。
  3. 输入 !-1 并回车执行。
  4. 按 Ctrl+P 并回车执行。
从命令历史中执行一个指定的命令
在下面的例子中,如果你想重复执行第 4 条命令,那么可以执行 !4:

# history | more
1  service network restart
2  exit
3  id
4  cat /etc/redhat-release
# !4
cat /etc/redhat-release
Fedora release 9 (Sulphur)

通过指定关键字来执行以前的命令
在下面的例子,输入 !ps 并回车,将执行以 ps 打头的命令:

# !ps
ps aux | grep yp
root     16947  0.0  0.1  36516  1264 ?        Sl   13:10   0:00 ypbind
root     17503  0.0  0.0   4124   740 pts/0    S+   19:19   0:00 grep yp

使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450 条:

# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

使用 HISTFILE 更改历史文件名称
默认情况下,命令历史存储在 ~/.bashhistory 文件中。添加下列内容到 .bashprofile 文件并重新登录 bash shell,将使用 .commandline_warrior 来存储命令历史:

# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior

使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中,pwd 命令被连续执行了三次。执行 history 后你会看到三条重复的条目。要剔除这些重复的条目,你可以将 HISTCONTROL 设置为 ignoredups:

# pwd
# pwd
# pwd
# history | tail -4
44  pwd
45  pwd
46  pwd [Note that there are three pwd commands in history, after executing pwd 3 times as shown above]
47  history | tail -4
# export HISTCONTROL=ignoredups
# pwd
# pwd
# pwd
# history | tail -3
56  export HISTCONTROL=ignoredups
57  pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above]
58  history | tail -4

使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成 erasedups:

# export HISTCONTROL=erasedups
# pwd
# service httpd stop
# history | tail -3
38  pwd
39  service httpd stop
40  history | tail -3
# ls -ltr
# service httpd stop
# history | tail -6
35  export HISTCONTROL=erasedups
36  pwd
37  history | tail -3
38  ls -ltr
39  service httpd stop
[Note that the previous service httpd stop after pwd got erased]
40  history | tail -6

使用 HISTCONTROL 强制 history 不记住特定的命令
将 HISTCONTROL 设置为 ignorespace,并在不想被记住的命令前面输入一个空格:

# export HISTCONTROL=ignorespace
# ls -ltr
# pwd
#  service httpd stop [Note that there is a space at the beginning of service, to ignore this command from history]
# history | tail -3
67  ls -ltr
68  pwd
69  history | tail -3
使用 -c 选项清除所有的命令历史
如果你想清除所有的命令历史,可以执行:
# history -c
命令替换
在下面的例子里,!!:$ 将为当前的命令获得上一条命令的参数:

# ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg

补充:使用 !$ 可以达到同样的效果,而且更简单。[感谢 wanzigunzi 读者补充]
下例中,!^ 从上一条命令获得第一项参数:

# cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi -5 !^
vi anaconda-ks.cfg

为特定的命令替换指定的参数
在下面的例子,!cp:2 从命令历史中搜索以 cp 开头的命令,并获取它的第二项参数:

# cp ~/longname.txt /really/a/very/long/path/long-filename.txt
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt

下例里,!cp:$ 获取 cp 命令的最后一项参数:

# ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt
使用 HISTSIZE 禁用 history
如果你想禁用 history,可以将 HISTSIZE 设置为 0:

# export HISTSIZE=0
# history
# [Note that history did not display anything]
使用 HISTIGNORE 忽略历史中的特定命令
下面的例子,将忽略 pwd、ls、ls -ltr 等命令:

# export HISTIGNORE=”pwd:ls:ls -ltr:”
# pwd
# ls
# ls -ltr
# service httpd stop
# history | tail -3
79  export HISTIGNORE=”pwd:ls:ls -ltr:”
80  service httpd stop
81  history
[Note that history did not record pwd, ls and ls -ltr]


... Read more!

全日本バーベタイム

うちのごですよ。
http://www.verbatim.jp/senshuken/?replay=55488

見事の勝ち!!!




... Read more!

大光圈的威力啊

大光圈的威力啊。没有三脚架,不用高ISO,手持。
DSC_0014
END
... Read more!

第一次玩定焦

刚刚拿到这个镜头,就来了一张,就知道按快门了,没有任何主题。此头的处女作。
DSC_0001

接着想找个地方拍,发现在车站旁边没啥可拍,郁闷。拍天空吧,有点异样的颜色,会不会有人说是地震云啊。
DSC_0002

只能换地方。大光圈就是好阿,黑黑的也能拍。开始发现,定焦的很难操控了。。。
DSC_0005
DSC_0008
DSC_0009
DSC_0010
DSC_0015

糊了
DSC_0016

休息一下
DSC_0020

到处已经是圣诞的气氛了。
DSC_0021

END
... Read more!

2009年11月06日京都・奈良

11月6日早上7点,踏上了这次的京都之旅。

DSC_0003

第一站是三十三间堂,地方虽然不大,但是还是不错的一个地方,进去是要脱鞋的,而且不让拍照,日本的很多这样的古迹都不让拍照,只能来两张外景了。

DSC_0005DSC_0008

清水寺,来之前就听说在京都会看到舞伎,没想到在清水寺就看到了两个,不过估计只是在尝试这样打扮的平民把。

DSC_0014DSC_0021

DSC_0019DSC_0020

DSC_0047DSC_0062

从清水寺出来后,我们选择了传说中的小路,没有选择错,能够看到真正的京都味的街道。在我拍照的时候,碰巧小径的另一头出现了两个歌舞伎打扮的人。

DSC_0066DSC_0067

继续来两张

DSC_0104DSC_0112

接着飞奔到银阁寺,好久没拍照了,发现拍出来的照片都非常的不满意。光罩没有用,搞出了很多的雾状。

DSC_0163

DSC_0167

第二天来到了奈良,一开始以为8点半到这边是太早了,到了以后发现选择这么早来是对的。

DSC_0210DSC_0211

奈良不愧是一个以鹿著称的城市,到处都可以看到鹿,悠闲的漫步在人行道上。

DSC_0256

DSC_0290

刚开始看到一两只,觉得很兴奋,结果发现,到处都是,因为我们去的很早,发现鹿的数量远远超过人的数量。

DSC_0308

来两张日本庭院的照片。

DSC_0310

DSC_0413

DSC_0417

奈良的红叶是红了,没有白跑一趟。

DSC_0383

DSC_0475

DSC_0439

小鹿在人行道上悠闲的散步。

DSC_0487

买了点鹿饼来喂喂他们。

DSC_0509

午后又返回了京都,来两张金阁寺的。

DSC_0527

DSC_0536


END
... Read more!

祝大家国庆快乐!!

热烈庆祝中华人民共和国成立60周年
END
... Read more!

控制台下启动glassfish时,启动信息乱码的问题

OS:Mac OSX 10.6.1
Glassfish:2.1
在控制台下使用asadmin的时候所有输出信息都是乱码。
解决办法:
编辑bin/asadmin文件,在启动命令中的java后面,加入如下参数。
-Dfile.encoding=UTF-8
END
... Read more!

Gitで間違えたgit addをキャンセルする方法

gitを使っていて、間違ったファイルをgit addしてしまった場合に、これをキャンセルする為には、以下のコマンドが使えます。

% git rm --cached 

git rmは、Working Tree (作業コピー)と index からファイルを削除するコマンドですが、 --cachedを指定する事で、 indexからのみファイルを削除する事ができます。
git addはWorking Treeからindexにファイルを追加するコマンドなので、 git rm --cachedは、git addと対をなすコマンドだと言えますね。

但是,当这个是第一次add,也就是说,在git init后的第一次add,想要回滚的时候,用上面的命令,就会出错。这个时候需要使用下面的命令。
git rm -r --cached .
END
... Read more!

Ubuntu中MySQL环境的建立

本文主要是讲述基本的LAMP环境的建立,依托的是Ubuntu。因为不是每天都在安装它,所以有一些细节在下一次安装的时候可能会忘记。作为一个笔记,放在这里保存吧。这里使用的Ubuntu是最新的9.04
1,Apache和PHP的安装

$ sudo apt-get install apache2 php5 libapache2-mod-php5 

2,MySQL,以及相关包的安装(主要是和PHP相关的包)
$ sudo apt-get install mysql-client mysql-server php5-dev php5-cli php5-common php-pear php5-mysql php5-mcrypt php5-dev php5-mhash php5-gd php5-xsl php5-xmlrpc
在安装MySQL的时候,会提示你root的密码,输入你想要设定的mysql的root的密码,并记好了。

3,MySQL的初期设定
一般我们不会直接使用MySQL的root帐号来进行操作,所以,这边我们建立一个帐户。这里建立的是一个可以操作所有库的超级帐户。
$ mysql -u root -p
Enter password: (输入你上面安装MySQL时设置的密码)

mysql> grant all privileges on *.* to (用户名)@localhost identified by '(密码)';
Query OK, 0 rows affected (0.00 sec)

mysql> select user from mysql.user where user='(用户名)'; #确认一下是否正确的创建了
+------------+
| user       |
+------------+
| (用户名) |
+------------+
1 row in set (0.00 sec)

mysql> exit # 退出MySQL环境
Bye

4,下载并安装phpMyAdmin
phpMyAdmin是一个非常方便的管理MySQL的工具。从它的www.phpmyadmin.net下载稳定版本,直接解压到/vaw/www中
$ cd /var/www
$ sudo wget "http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.2.0.1/phpMyAdmin-3.2.0.1-all-languages.tar.bz2?use_mirror=jaist"
解压后,并修改目录的名字
$ sudo tar -xjvf phpMyAdmin-3.2.0.1-all-languages.tar.bz2
$ sudo mv phpMyAdmin-3.2.0.1-all-languages phpmyadmin
安装随机字符生成工具,并且生成一个长度为46的随机字符待用。
$ sudo apt-get install libstring-mkpasswd-perl
$ mkpasswd.pl -l 46
(随机字符)

进入phpmyadmin目录,创建config.sample.inc.php的一个拷贝config.inc.php,并进行相应设置
$ cd ./phpmyadmin
$ sudo cp config.sample.inc.php config.inc.php
$ sudo vi config.inc.php

# 把上面生成的随机字符放到相应的位置
$cfg['blowfish_secret'] = '';
↓
$cfg['blowfish_secret'] = '(随机字符)';
然后可以打开web浏览器输入你的地址,http://(服务器地址)/phpmyadmin/,然后回车。没有出现以外的话,你就应该可以看到phpMyAdmin的登陆界面。如果没有顺利打开的话,可以尝试重新启动一下apache。

... Read more!

Git,升级到ubuntu 9.04 jaunty后,客户端push时会遇到错误

升级到ubuntu 9.04 jaunty后,客户端push时会遇到错误:

Traceback (most recent call last):
File "/usr/bin/gitosis-serve", line 5, in
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2562, in
working_set.require(__requires__)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 626, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 524, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: gitosis==0.2
fatal: The remote end hung up unexpectedly

尝试aptitude reinstall gitosis,还是没有用。从gitosis源代码重新编译了一下,可以了。

$ git clone git://eagain.net/gitosis
$ cd gitosis
$ sudo python setup.py install

END
... Read more!

【转】IE8中Session管理的变化

IE7中,同一个窗口(IE 进程)共享一个session。

IE8中,所有打开的IE窗口(IE 进程)共享一个session。除非,用户通过菜单 文件 > 新建会话 (新規セッション)打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。

END
... Read more!

2009年・中野島・花火

DSC_0011DSC_0005DSC_0010DSC_0009DSC_0023DSC_0020DSC_0013DSC_0030DSC_0052DSC_0039DSC_0032DSC_0048DSC_0058DSC_0031DSC_0040DSC_0047DSC_0057DSC_0035DSC_0029DSC_0026DSC_0046DSC_0037DSC_0043DSC_0033DSC_0101DSC_0090DSC_0106DSC_0185DSC_0153DSC_0273DSC_0423DSC_0417DSC_0373DSC_0336DSC_0400DSC_0472DSC_0508DSC_0505

... Read more!