小记续

May 1st, 2008 firenet Posted in 小记 | No Comments »

早晨看了切尔西和利物浦的比赛才睡觉,一觉直接到11点。起来洗漱,吃饭,中午12点,3天后,我又回到了实验室……
昨天提到了球赛比分短信提醒,花了一下午的时间才搞定,真汗~代码如下(commented here):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl -w
use Encode;
use HTML::TreeBuilder;
use Data::Dumper qw(Dumper);
$Data::Dumper::Indent = 1;
undef $/;
$oldscore=$score=0;
$times = 0;
for ( $times=0;$times <= 50; $times++){
system("wget","http://score.espnstar.com.cn/","-Oindex.html");
open($fd,"
$string = <$fd>;
$string = decode("gb2312", $string);
$string = encode("utf8", $string);
$tree = HTML::TreeBuilder->new_from_content($string);
foreach $row ( $tree->find_by_tag_name("tr") ) {
$line = "";
foreach $cell ( $row->content_list ) {
$line = $line.$cell->as_text." ";
}
if ($line =~ /拜仁慕尼黑/gs) {
if ( $line =~ /(\d*) - (\d*)/gs) {
$score= $1.$2;
}
if($score ne $oldscore){
$cmd='curl -x 222.171.7.131:7628 -u user@163.com:passwd -d status="'.$line.'"'." " .'http://twitter.com/statuses/update.xml';
system($cmd);
$oldscore=$score;
}
}
}
$tree->delete();
close($fd);
system("rm","index.html");
sleep 300;
}

为什么花了那么长时间,主要原因是PERL的熟悉程度太差了,经常需要上网查资料,PERL也看了好久了,不过用得太少了,真郁闷,看着这么像C的代码……还有就是正则表达式,本来想自己构造正则表达式来提取信息的,但是玩着玩着才发现,实在太难了,恰巧前几天看了一段话:“一些人,遇到一个问题时就想:“我知道,我将使用正则表达式。”现在他有两个问题了。 –Jamie Zawinski, in comp.emacs.xemacs ”说的很好~


小记

May 1st, 2008 firenet Posted in 小记 | No Comments »

      四年了,我错过了很多经典之战,学校固执的作息制度使得我无比郁闷。前几天突然有一个想法,无法看到比赛直播,做一个球赛比分短信提醒,算是一点补偿吧。大概的思路是这样,从网络上提取有用的比分信息,处理后利用twitter等类似网站的OpenAPI,发送短信到自己的手机上。信息倒是很好找,随便找了个HTML页面,直接就能提取相关信息。问题的关键是,使用哪个网站的API?原来有个叽歪的账号,而且叽歪的文档也很齐全,首先开始尝试,按照说明文档,更新,OK,没有问题,网页上正确地显示了更新,但是手机上怎么没有呢?还以为是移动的网络延迟,反复地尝试,三天也没有收到。。。期间也尝试了饭否的服务,just the same!Why?上网搜索,终于在一篇文章中提到,叽歪的短信下行服务只是在测试期间开放,现在已经关闭了;而饭否根本没有开通此项业务~我无从证实这一点,不过我确实收不到短信。没办法,还是去twitter吧,虽然一块钱一条的短信认证很贵,不过好在好使,瞬间就收到了更新。OK,这样整个流程就通了,稍微整理就可以使用了,代码随后送上……

      这几天都没有去实验室,忘记给姐姐投票了,不过前边的人刷得也太狠了@_@

PS:我的twitter账号是kevinmiter[AT]gmail.com,大家可以加我啊,follow me ~


如何搞定Muse的相对连接

April 20th, 2008 firenet Posted in emacs | 2 Comments »

这是对终于搞定了Muse的相对链接一文的补充,原以为已经用那个土办法搞点了,结果看来是测试不够…

今天写了一个这样的代码:

1
[[(ywb-muse-relative-path "hometown.muse.html")][Yibin city]]

在C-c C-p发布后,死活都是绝对连接,奇怪的是把hometown替换为index就是相对连接,屡试不爽,找不到答案,只好粗暴的改吧,在Muse生成html文档后,用Perl脚本修改之,代码是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
$pwd = $ENV{'PWD'};
foreach $file (@ARGV)
{
open($fd, "$file");
$string = "";
while($line = <$fd>){
$string = $string.$line;
}
close($fd);
$string =~ s/$pwd/\./gs;
open($fd, "$file");
print $fd($string);
}

现在应该没有问题了,勉强可以用,下一步是学习如何在Elisp调用外部程序,然后修改muse-project-publish就OK了


How to build a function like dup2 without fcntl?

April 10th, 2008 firenet Posted in c | 3 Comments »

最近闲的无聊,开始看APUE,Richard Stevens的神作。

看到第三章的习题3.2,要求“编写一个与3.12节中dup2功能相同的函数,要求不调用fcntl函数,并且要有正确的出错处理。”

基本解决思路,利用dup不断执行,直到dup返回的fd是要求的fd即可。关键是出错处理,面临的基本问题是:不用fcntl,怎么知道一个fd是否已经打开呢?在fcntl的源码里面开了一下,补充了出错处理部分,但是觉得这样就没太大意思,基本就是照抄嘛。。。

代码在这儿


Life will go on without Dota…

April 4th, 2008 firenet Posted in 小记 | 2 Comments »

Dota 是一款很流行的游戏,我大概玩了半年时间了吧,水平还是shit,最近感觉特别没劲了,我想,以后不玩了。

去年九月的时候,按理说来,我在紧张的复习准备考研,但是实际上那时候我在寝室里边一待就是一天,Dota玩得昏天黑地,过着猪狗不如的生活 。

回顾过去的半年,Dota带给我很多快乐,但是我必须得承认,我也失去了很多,时间,学习,还有一个更不健康的胃。。。

大学最后的三个月了,没有必要再放纵自己了,我要时刻提醒自己:

Life will go on without Dota~


终于搞定了Muse的相对链接

March 29th, 2008 firenet Posted in emacs | No Comments »

一直以来都想拥有自己的虚拟主机,终于在考研后,我在浪点主机买了一个普通级虚拟主机,最近正好挺悠闲,于是开始搞主页。

想了好久,决定使用Emacs+muse来做,主要是熟悉Emacs的编辑环境,再就是听说了muse的强大功能。安装很方便,关键是配置。在Emacs@newsmth 找到了几位前辈的配置文件,稍作修改就行了。

开始做第一个页面,我发现按照配置文件中提到的方法,无法找到相对链接,muse直接生成了包含绝对链接的HTML文档,显然要发布到网络上,手动修改是很麻烦的,怎么办?到处搜索,发帖,都没有找到解决办法。。。今天早上我发现这样就行了,原来技巧在这儿:

#title Something about Emacs…
#author firenet
[[<lisp> (ywb-muse-relative-path
“wiki/gnu/emacs/emacs.muse.html”)</lisp>][我的Emacs配置文件]]

使用ywb的ywb-muse-relative-path函数,但是用muse自带的project发布函数,这么结合着使用才行。。。

PS:看看我的第一个页面,muse的配置文件可以在这儿看到


RP守恒定律,恩

March 28th, 2008 firenet Posted in 小记 | No Comments »

2008年3月3日,考研成绩出来啦~
,—-
| 102138030000xxx xx
| 政治理论代码: 101
| 政治理论名称: 政治(含法律硕士)
| 外国语代码: 201
| 外国语名称: 英语(含法律硕士)
| 业务课1代码: 301
| 业务课1名称: 数学一
| 业务课2代码: 824
| 业务课2名称: 计算机专业基础
| 政治理论成绩: 73
| 外国语成绩: 64
| 业务课1成绩: 122
| 业务课2成绩: 116
| 总分: 375
`—-
成绩远远超出了我的预期,特别是英语,本以为也就40来分,忐忑不安地考虑能不能过小分~看来人品的确爆发了,但是这次RP耗尽了,绝对的!同一天的六级成绩,417分,就差10分就过了,虽然我啥也没有准备,直接去裸考,不过,就差一点点还是特别遗憾。考研太损RP了,今天凌晨的冠军杯,米兰在圣西罗最后时刻挂掉了,郁闷,可怜的马队啊。。。有人YY马队再踢一年,可能么?希望如此吧。
God bless him!God bless us!God bless everyone!
Thanks god.I know you are very busy!


这两天累死我了~

March 28th, 2008 firenet Posted in 小记 | No Comments »

4个多小时的飞行,我终于回到了寒冷的哈尔滨。

我没有想到,再冷的天气也不能阻挡我外出的步伐~

26日早上不到八点我就起床了,拿上硬盘就去俱乐部搞机器。满以为挺简单的,可是没想到,回去改变的配置太多了,结果现在有些改不回来了@_@,只能一边回忆一边试。转眼之间,三个小时就过去了。。

中午休息了一会儿,然后就是开会,老师批评了一顿,然后就把任务布置 下来,我很奇怪,为什么别的实验室的同学,他们的任务就那么轻松?

开了会,就是去换手机业务。早就想换了,可惜一直没时间。一路走到骨伤科医院,帅帅的小伙儿居然说半不了,机器出毛病啦,让我第二天再去~我能被他忽悠吗?我再走,走到和兴路,人那儿就能办!!!我有些想投诉那小伙儿。。。

今天也没闲着,去医院看病,又过敏了。医生说注意饮食,不要吃辛辣和 海鲜,想着前几天的火锅,汗,难怪过敏这么厉害~

昨晚听了一首歌,很好听,Bring me to life,我知道我很土~

,—-
| Evanescence - Bring Me To Life
| (feat. Paul McCoy)
|
| How can you see into my eyes
| like open doors.
| Leading you down into my core
| Where I’ve become so numb.
| Without a soul
| My spirit’s sleeping somewhere cold
| until you find it there and lead it back home.
| Wake me up.
| Wake me up inside.
| I can’t wake up.
| Wake me up inside.
| Save me.
| Call my name and save me from the dark.
| Wake me up.
| Bid my blood to run.
| I can’t wake up.
| Before I come undone.
| Save me.
| Save me from the nothing I’ve become.
|
| Now that I know what I’m without
| you can’t just leave me.
| Breathe into me and make me real
| Bring me to life.
|
| Wake me up.
| Wake me up inside.
| I can’t wake up.
| Wake me up inside.
| Save me.
| Call my name and save me from the dark.
| Wake me up.
| Bid my blood to run.
| I can’t wake up.
| Before I come undone.
| Save me.
| Save me from the nothing I’ve become.
| Bring me to life.
| I’ve been living a lie
| There’s nothing inside.
| Bring me to life.
|
| Frozen inside without your touch,
| without your love, darling.
| Only you are the life among the dead.
| All of this sight
| I can’t believe I couldn’t see
| Kept in the dark
| but you were there in front of me
| I’ve been sleeping a 1000 years it seems.
| I’ve got to open my eyes to everything.
| Without a thought
| Without a voice
| Without a soul
| Don’t let me die here
| There must be something wrong.
| Bring me to life.
| Wake me up.
| Wake me up inside.
| I can’t wake up.
| Wake me up inside.
| Save me.
| Call my name and save me from the dark.
| Wake me up.
| Bid my blood to run.
| I can’t wake up.
| Before I come undone.
| Save me.
| Save me from the nothing I’ve become.
| Bring me to life.
| I’ve been living a lie
| There’s nothing inside.
| Bring me to life
|
|
| END
`—-


Hello world!

March 28th, 2008 firenet Posted in Uncategorized | 5 Comments »

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!