Posted on 11-09-2008
Filed Under (生活) by waterlin

今天有一则新闻,在网上吵得沸沸扬扬的,全国多省现”肾结石宝宝” 都曾食用同样奶粉(图),跟前几年的大头娃娃奶粉有得一拼!

其实这篇新闻的教育意义,除了给质检总局提个醒,加大假冒伪劣产品的打击力度外,更积极的意义在于:提醒广大消费者,在中国目前这种环境下,不管吃啥,尽量换着品牌吃,反正千万别长期吃一种品牌。这样,哪怕质量再有问题,积小流汇成海的可能性也大大减少了。

以后,吃酸菜鱼,不仅仅去省邮校那家川滋味;牙膏,不只用高路洁、黑妹牙膏;牛奶也不只喝蒙牛的,也得经常换换伊利啥的喝一喝;啤酒也不能只喝珠江纯生的……

(0) Comments    Read More   
Posted on 11-09-2008
Filed Under (生活) by waterlin

宁都班车在广州一般停在天河客运站。其实天河客运站要多收一些手续费,所以票价稍贵一点。

宁都班车从天河客运站出来后,并不是直接上大路回宁都,而是要先去沙太路的同心停车场再上一次客。

在同心停车场,其实有很多跑省际客运的大客车,包括广昌的。

如果是回赣州各县的话,大可以直接跑去同心停车场坐车,不过那地方比较偏僻,交通车的确少。不过有几个好处:那里的车比较多,回宁都你既可以坐宁都班车,也可以坐广昌班车;如果在春运高峰期,车堵在路上的时候,你还可以有地方休息;那里吃的东西很便宜,不过看起来不怎么卫生,偶尔吃一吃应该还行吧,最重要的是,有宁都菜吃!

如果是从华工本部过去的话,可以直接去天河客运站坐884到白云山中药厂站下车。同心停车场就在白云山中药厂的对面。记住是白云山中药厂站,不是白云山制药厂之类的。

如果是从华工大学城去的话,还真是比较麻烦,好像怎么转都比较麻烦。有一个方法是到省邮校那转602路车。

(0) Comments    Read More   
Posted on 09-09-2008
Filed Under (软件) by waterlin

今天发现了一个有趣的东西—-POCO内容联盟:

POCO内容联盟为大家免费提供宠物频道、电影频道、连环画频道、旅游频道、美食频道、摄影频道、娱乐频道、在线电影频道以及将所有内容频道整合在一起的聚合频道,很全面,目前应该是提供最多频道的内容联盟了。可绑定域名、自定义广告、添加头尾部网页代码、添加友情链接、自定义一些样式风格等功能, 麻烦的是添加内容联盟网站后需要等待审核,修改设置也不是马上生效。

网址:http://union.poco.cn

(0) Comments    Read More   
Posted on 09-09-2008
Filed Under (技术) by waterlin

在写博客的时候,如果要按中文的习惯在每段开头空两格,实在是很不容易做到。仅仅简单地输入几个空格并不能有效地解决这个问题。今天看到一个文章,有助于实现这个需要。

原文地址:http://wpchina.org/leave-two-blank-character-before-every-paragraph-333/

在博客开头空两格,这对中文博客却又很有意义的功能。包括 WordPress 在内一些欧美博客程序开发者,显然并没有考虑到中文的排版习惯,没有在意这个功能。实际上,实现这个功能非常简单。

不仅是 WordPress ,其他的博客系统也存在类似的问题。以前我曾经考虑过使用空格符号来显示空格。但是这样的问题有两个:第一,对于不同的字体,每个空格所表示的大小并不一 样,因此换一个主题可能就不准确了;第二,也是更无奈的,有些博客程序会过滤掉开头的空格,比如 Blogger 就有这样的过滤效果。

另外一个可替代的办法是,使用全角的空格符号来代替。这个办法比上面的办法稍微高级一些,也不会被过滤掉。我看到很多编辑、记者等对文字要求比较高的文字工作者,使用这个办法。这样做的缺点是比较麻烦,每一段都要将输入法切换到全角,输入两个空格。

最为简单的办法,是我们今天所要介绍的,通过样式表文件,即 style.css 来控制。熟悉 style.css 的网友,只要你在适当的位置添加上

  1. p {text-indent:2em;}

就可以实现这个功能。这也是我们 WordPress 中文站目前所采用的办法。具体的原因和解释,请查看久酷烟云的博客:实现wordpress段首空两格

(0) Comments    Read More   
Posted on 04-09-2008
Filed Under (技术) by waterlin

1、文件名前面没有”>”表示读文件

open(FILE,”~/test.txt”);
while(<FILE>)
{
chomp;
print “$_\n”;
}
close(FILE);

2、文件名前面有一个”>”表示写文件,并覆盖原有内容

open(FILE,”>~/test.txt”);
print FILE “Welcome to Perl\n”;
close(FILE);

3、文件名前面有两个”>”表示在这个文件后面追加内容

open(FILE,”>>~/test.txt”);
print FILE “Welcome to Perl again\n”;
close(FILE);

(0) Comments    Read More   
Posted on 03-09-2008
Filed Under (技术) by waterlin

在emacs中打开和新建文件使用的是一个命令M-x find-file(即C-x C-f),如果文件不存在就创建一个新文件。默认的提示输入文件名的方式类似shell中的补全。事实上,这个补全方式不是太好,起码是不直观的。Emacs提供一个很好的补全方式──ido-mode。这样打开文件时如下图所示:

安装方法如下:

;;in the .emacs
(require ‘ido)
(ido-mode t)

你使用了ido-mode后,还可以在打开的Buffers里切换,命令为:C-x b(即M-x ido-switch-buffer),效果如图:

要在Buffers中循环选择,则要用上C-s(next)或是C-r(previous)这两个命令;用C-f直接退出到打开文件的环境。这样应该比你的C-x C-b来得更爽更直接吧?!

要打开或是查找文件,用命令C-x C-f(即M-x ido-find-file):

  • 当你输入了一些字符后,系统会自动帮你补全;
  • C-s(next)或是C-r(previous)用来在列表中循环;
  • 按[Tab]键会自动列出可能的补全方法;
  • 用C-x C-d直接打开当前目录的Dired浏览模式;

这些是最基本的用法,在使用中,如果记不清楚如何用keys的地方,就用老方法查:

M-x describe-function RET ido-find-file RET
C-h f ido-find-file RET

更详细的说明请参考EmacsWiki上的InteractivelyDoThings

(1) Comment    Read More   
Posted on 03-09-2008
Filed Under (技术) by waterlin

在Emacs中,当你编辑文件的时候,Emacs会默认帮你生成一个带小尾巴~的自动备份文件,很烦人。你可以通过.emacs配置文件,不让它出现或是扔到同一个备份目录下去。

1) 不需要自动备份文件

(setq make-backup-files nil)

2) 自动备份到一个目录下去,推荐使用

;; all backups goto ~/.backups instead in the current directory
(setq backup-directory-alist (quote ((“.” . “~/.backups”))))

当然,你还可以设置更复杂的参数,例如:

;; backup policies
(setq make-backup-files t)
(setq version-control t)
(setq kept-old-versions 2)
(setq kept-new-versions 5)
(setq delete-old-versions t)
(setq backup-directory-alist ‘((“” . “~/emacs/.backups”)))

(0) Comments    Read More   
Posted on 02-09-2008
Filed Under (技术) by waterlin

我在Windows下用Emacs,Emacs默认的打开文件路径为它的bin目录:D:/emacs-22.1/bin

这样非常不方便,于是我在.emacs中加上这句就可以把Emacs的默认文件路径改为home目录了:

;;set the default file path
(setq default-directory “~/”)

另外,我习惯在Windown系统变量中把home设为Cygwin中该用户的根目录。

(0) Comments    Read More   
Posted on 02-09-2008
Filed Under (技术) by waterlin

最近因为工作需要,一直要监视几个网页,如果有更新,就要对它们进行一些处理。每天不停地刷网页,太无聊太痛苦了,于是用Perl写了一个自动监视网页并提取相关信息的东西。

首先,要装上LWP::UserAgentHTML::Manipulator这两个Perl模块。整体思路是用LWP::UserAgent模块读取特定网页下来,然后再用HTML::Manipulator来对保存下来的html进行操作,分离出你想要的部分。

1) 用LWP::UserAgent来操作网页十分简单,基本上以下几个步骤就搞定了:

use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent(“MyApp/0.1 “);
print “Please input the url you want to save:\n”;
chomp($url = );

# Create a request
my $req = HTTP::Request->new(POST => $url);
$req->content_type(‘application/x-www-form-urlencoded’);
$req->content(‘query=libwww-perl&mode=dist’);

# Pass request to the user agent and get a response back
my $res = $ua->request($req);

# Check the outcome of the response
if ($res->is_success) {
#do whatever you want to do here
}
else {
print $res->status_line, “\n”;
}

2) 读取了网页后,就可以用HTML::ManipulatorHTML::Manipulator::extract_title把该网页的标题读出来,用HTML::Manipulator::extract_content把你关心的某一部分内容读取出来,例如:

my $title = HTML::Manipulator::extract_title($res->content);
my $content = HTML::Manipulator::extract_content($res->content, ‘articleBody’);

就是读取html里id为articleBody部分的内容。

我在写我的程序的时候,还用了delHtml函数来对读取出来的内容进行了进一步的格式化,把里面多余的html代码去掉了。如里需要程序自动判断网页是否从特定时间开始有无更新,则需要用上LWP::UserAgentif-modified-since了。

(1) Comment    Read More