Author Archives: Felix Huang

insanely great, snow

加拿大的冬天,一向被大雪覆盖。地面早在十一月已被大雪覆盖。夏洛特敦的冬天与加拿大的他处并无不同,阴冷多云,白雪纷飞。但大约是因为暖流在旁掠过,气温并不低于内陆省份阿尔伯特、安大略或魁北克。在王子岛上,冬雪一直到四月才结束。
两年在岛上,过着退休般的日子。今天学分已足、工作也告一段落,是时候离开这个地方了。

Charlottetown Sunset

Get the Flash Player to see this player.

var s0 = new SWFObject(“https://boke.name:8443/citizen/wp-content/plugins/flash-video-player/mediaplayer/player.swf”,”n0″,”460″,”295″,”7″);
s0.addParam(“allowfullscreen”,”true”);
s0.addParam(“allowscriptaccess”,”always”);
s0.addParam(“wmode”,”opaque”);
s0.addVariable(“id”,”n0″);
s0.addVariable(“controlbar”,”bottom”);
s0.addVariable(“height”,”295″);
s0.addVariable(“playlist”,”none”);
s0.addVariable(“skin”,”https://boke.name:8443/citizen/wp-content/plugins/flash-video-player/skins/simple/simple.swf”);
s0.addVariable(“width”,”460″);
s0.addVariable(“autostart”,”false”);
s0.addVariable(“bufferlength”,”1″);
s0.addVariable(“displayclick”,”play”);
s0.addVariable(“icons”,”true”);
s0.addVariable(“linktarget”,”_blank”);
s0.addVariable(“mute”,”false”);
s0.addVariable(“quality”,”true”);
s0.addVariable(“repeat”,”none”);
s0.addVariable(“resizing”,”true”);
s0.addVariable(“shuffle”,”false”);
s0.addVariable(“stretching”,”uniform”);
s0.addVariable(“volume”,”90″);
s0.addVariable(“aboutlink”,”http://www.longtailvideo.com/players/”);
s0.addVariable(“file”,”https://boke.name:8443/citizen/wp-content/uploads/2009/07/Sunset-900kbps.mp4″);
s0.write(“video0″);

brackley beach

Get the Flash Player to see this player.

var s1 = new SWFObject(“https://boke.name:8443/citizen/wp-content/plugins/flash-video-player/mediaplayer/player.swf”,”n1″,”460″,”295″,”7″);
s1.addParam(“allowfullscreen”,”true”);
s1.addParam(“allowscriptaccess”,”always”);
s1.addParam(“wmode”,”opaque”);
s1.addVariable(“id”,”n1″);
s1.addVariable(“controlbar”,”bottom”);
s1.addVariable(“height”,”295″);
s1.addVariable(“playlist”,”none”);
s1.addVariable(“skin”,”https://boke.name:8443/citizen/wp-content/plugins/flash-video-player/skins/simple/simple.swf”);
s1.addVariable(“width”,”460″);
s1.addVariable(“autostart”,”false”);
s1.addVariable(“bufferlength”,”1″);
s1.addVariable(“displayclick”,”play”);
s1.addVariable(“icons”,”true”);
s1.addVariable(“linktarget”,”_blank”);
s1.addVariable(“mute”,”false”);
s1.addVariable(“quality”,”true”);
s1.addVariable(“repeat”,”none”);
s1.addVariable(“resizing”,”true”);
s1.addVariable(“shuffle”,”false”);
s1.addVariable(“stretching”,”uniform”);
s1.addVariable(“volume”,”90″);
s1.addVariable(“aboutlink”,”http://www.longtailvideo.com/players/”);
s1.addVariable(“file”,”https://boke.name:8443/citizen/wp-content/uploads/2009/06/Brackley-Beach-2009-06-28.flv”);
s1.write(“video1″);

Michael Jackson死了

一个时代的终结。

生活变得很规律,忙得很。

春天的花

春天的确还没来,可脚步近了:雪少了,雨多了,温度升了。
冬天很漫长,但春天快来了。

Ragel状态机生成器

Ragel可以把正则表达式翻译成有限状态机(FA)的各种语言表示,包括C、C++、Objective-C、D、Java和Ruby。Regular Expression和FA的用途很广,可以用于协议分析、数据解析、词法分析、用户数据校验等。在Ragel的帮助下,写一个atoi的函数非常容易,而且比标准库提供的atoi函数性能要高。

?View Code C/*
* Convert a string to an integer.
*/
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
%%{
machine atoi;
write data;
}%%
 
long long atoi( char *str )
{
char *p = str, *pe = str + strlen( str );
int cs;
long long val = 0;
bool neg = false;
 
%%{
action see_neg {
neg = true;
}
 
action add_digit {
val = val * 10 + (fc – ‘0′);
}
 
main :=
( [...]

Supported by Webinit Consulting