<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>旋转木马の阶梯</title>
	<atom:link href="http://boke.name/citizen/feed/" rel="self" type="application/rss+xml" />
	<link>http://boke.name/citizen</link>
	<description>苹果、爪哇与蟒蛇的游乐场</description>
	<lastBuildDate>Sat, 26 Dec 2009 19:57:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>insanely great, snow</title>
		<link>http://boke.name/citizen/2009/12/26/insanely-great-snow/</link>
		<comments>http://boke.name/citizen/2009/12/26/insanely-great-snow/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 19:57:40 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=357</guid>
		<description><![CDATA[加拿大的冬天，一向被大雪覆盖。地面早在十一月已被大雪覆盖。夏洛特敦的冬天与加拿大的他处并无不同，阴冷多云，白雪纷飞。但大约是因为暖流在旁掠过，气温并不低于内陆省份阿尔伯特、安大略或魁北克。在王子岛上，冬雪一直到四月才结束。
两年在岛上，过着退休般的日子。今天学分已足、工作也告一段落，是时候离开这个地方了。
]]></description>
			<content:encoded><![CDATA[<p>加拿大的冬天，一向被大雪覆盖。地面早在十一月已被大雪覆盖。夏洛特敦的冬天与加拿大的他处并无不同，阴冷多云，白雪纷飞。但大约是因为暖流在旁掠过，气温并不低于内陆省份阿尔伯特、安大略或魁北克。在王子岛上，冬雪一直到四月才结束。</p>
<p>两年在岛上，过着退休般的日子。今天学分已足、工作也告一段落，是时候离开这个地方了。</p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2009/12/26/insanely-great-snow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Charlottetown Sunset</title>
		<link>http://boke.name/citizen/2009/07/09/charlottetown-sunset/</link>
		<comments>http://boke.name/citizen/2009/07/09/charlottetown-sunset/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 02:40:11 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=353</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><img src="https://boke.name:8443/citizen/wp-content/plugins/flash-video-player/default_video_player.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2009/07/09/charlottetown-sunset/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>brackley beach</title>
		<link>http://boke.name/citizen/2009/06/28/brackley-beach/</link>
		<comments>http://boke.name/citizen/2009/06/28/brackley-beach/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 22:45:52 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=340</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><img src="https://boke.name:8443/citizen/wp-content/plugins/flash-video-player/default_video_player.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2009/06/28/brackley-beach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Michael Jackson死了</title>
		<link>http://boke.name/citizen/2009/06/27/michael-jackson-died/</link>
		<comments>http://boke.name/citizen/2009/06/27/michael-jackson-died/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 17:57:33 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=338</guid>
		<description><![CDATA[一个时代的终结。
]]></description>
			<content:encoded><![CDATA[<p>一个时代的终结。</p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2009/06/27/michael-jackson-died/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>忙</title>
		<link>http://boke.name/citizen/2009/06/16/%e5%bf%99/</link>
		<comments>http://boke.name/citizen/2009/06/16/%e5%bf%99/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 20:31:46 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=336</guid>
		<description><![CDATA[生活变得很规律，忙得很。
]]></description>
			<content:encoded><![CDATA[<p>生活变得很规律，忙得很。</p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2009/06/16/%e5%bf%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>春天的花</title>
		<link>http://boke.name/citizen/2009/03/01/spring-flower/</link>
		<comments>http://boke.name/citizen/2009/03/01/spring-flower/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 15:09:04 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=334</guid>
		<description><![CDATA[春天的确还没来，可脚步近了：雪少了，雨多了，温度升了。
冬天很漫长，但春天快来了。
]]></description>
			<content:encoded><![CDATA[<p>春天的确还没来，可脚步近了：雪少了，雨多了，温度升了。</p>
<p>冬天很漫长，但春天快来了。</p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2009/03/01/spring-flower/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ragel状态机生成器</title>
		<link>http://boke.name/citizen/2008/12/04/ragel/</link>
		<comments>http://boke.name/citizen/2008/12/04/ragel/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 00:28:17 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[Selectives]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[fa]]></category>
		<category><![CDATA[fsm]]></category>
		<category><![CDATA[ragel]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=318</guid>
		<description><![CDATA[Ragel可以把正则表达式翻译成有限状态机（FA）的各种语言表示，包括C、C++、Objective-C、D、Java和Ruby。Regular Expression和FA的用途很广，可以用于协议分析、数据解析、词法分析、用户数据校验等。在Ragel的帮助下，写一个atoi的函数非常容易，而且比标准库提供的atoi函数性能要高。

?View Code C/*
 * Convert a string to an integer.
 */
&#160;
#include &#60;stdio.h&#62;
#include &#60;stdlib.h&#62;
#include &#60;string.h&#62;
&#160;
%%&#123;
	machine atoi;
	write data;
&#125;%%
&#160;
long long atoi&#40; char *str &#41;
&#123;
	char *p = str, *pe = str + strlen&#40; str &#41;;
	int cs;
	long long val = 0;
	bool neg = false;
&#160;
	%%&#123;
		action see_neg &#123;
			neg = true;
		&#125;
&#160;
		action add_digit &#123;
			val = val * 10 + &#40;fc - '0'&#41;;
		&#125;
&#160;
		main :=
			&#40; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.complang.org/ragel/" target="_blank">Ragel</a>可以把正则表达式翻译成有限状态机（FA）的各种语言表示，包括C、C++、Objective-C、D、Java和Ruby。Regular Expression和FA的用途很广，可以用于协议分析、数据解析、词法分析、用户数据校验等。在Ragel的帮助下，写一个atoi的函数非常容易，而且比标准库提供的atoi函数性能要高。</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p318code2'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3182"><td class="code" id="p318code2"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
 * Convert a string to an integer.
 */</span>
&nbsp;
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339933;">%%</span><span style="color: #009900;">&#123;</span>
	machine atoi<span style="color: #339933;">;</span>
	write data<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">%%</span>
&nbsp;
<span style="color: #993333;">long</span> <span style="color: #993333;">long</span> atoi<span style="color: #009900;">&#40;</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>str <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">char</span> <span style="color: #339933;">*</span>p <span style="color: #339933;">=</span> str<span style="color: #339933;">,</span> <span style="color: #339933;">*</span>pe <span style="color: #339933;">=</span> str <span style="color: #339933;">+</span> strlen<span style="color: #009900;">&#40;</span> str <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> cs<span style="color: #339933;">;</span>
	<span style="color: #993333;">long</span> <span style="color: #993333;">long</span> val <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
	bool neg <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #339933;">%%</span><span style="color: #009900;">&#123;</span>
		action see_neg <span style="color: #009900;">&#123;</span>
			neg <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		action add_digit <span style="color: #009900;">&#123;</span>
			val <span style="color: #339933;">=</span> val <span style="color: #339933;">*</span> <span style="color: #0000dd;">10</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>fc <span style="color: #339933;">-</span> <span style="color: #ff0000;">'0'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		main <span style="color: #339933;">:=</span>
			<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">'-'</span>@see_neg <span style="color: #339933;">|</span> <span style="color: #ff0000;">'+'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #009900;">&#40;</span> digit @add_digit <span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>
			<span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #339933;"># Initialize and execute.</span>
		write init<span style="color: #339933;">;</span>
		write exec<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">%%</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> neg <span style="color: #009900;">&#41;</span>
		val <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>1 <span style="color: #339933;">*</span> val<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> cs <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> atoi_first_final <span style="color: #009900;">&#41;</span>
		fprintf<span style="color: #009900;">&#40;</span> stderr<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;atoi: there was an error<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> val<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">#define BUFSIZE 1024</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">char</span> buf<span style="color: #009900;">&#91;</span>BUFSIZE<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span> fgets<span style="color: #009900;">&#40;</span> buf<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>buf<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> stdin <span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #993333;">long</span> <span style="color: #993333;">long</span> value <span style="color: #339933;">=</span> atoi<span style="color: #009900;">&#40;</span> buf <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;%lld<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> value <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2008/12/04/ragel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Talk Video in Gmail</title>
		<link>http://boke.name/citizen/2008/11/13/google-talk-video-in-gmail/</link>
		<comments>http://boke.name/citizen/2008/11/13/google-talk-video-in-gmail/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 13:40:13 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/2008/11/13/google-talk-video-in-gmail/</guid>
		<description><![CDATA[Google 的新发明。
]]></description>
			<content:encoded><![CDATA[<p>Google 的<a href="http://mail.google.com/videochat">新发明</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2008/11/13/google-talk-video-in-gmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>le temps pour l&#8217;amour</title>
		<link>http://boke.name/citizen/2008/09/03/le-temps-pour-lamour/</link>
		<comments>http://boke.name/citizen/2008/09/03/le-temps-pour-lamour/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 00:55:03 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[饮食男女]]></category>
		<category><![CDATA[Love]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=315</guid>
		<description><![CDATA[Whether you believe me or not,
I fell in love, again, fabulously, rationally, and, radically.
May things go well, Amen.
]]></description>
			<content:encoded><![CDATA[<p>Whether you believe me or not,<br />
I fell in love, again, fabulously, rationally, and, radically.</p>
<p>May things go well, Amen.</p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2008/09/03/le-temps-pour-lamour/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Here&#8217;s to the Crazy Ones</title>
		<link>http://boke.name/citizen/2008/08/25/heres-to-the-crazy-ones/</link>
		<comments>http://boke.name/citizen/2008/08/25/heres-to-the-crazy-ones/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 18:31:15 +0000</pubDate>
		<dc:creator>Felix Huang</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Selectives]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://boke.name/citizen/?p=311</guid>
		<description><![CDATA[
Here&#8217;s to the Crazy Ones.
The misfits.
The rebels.
The troublemakers.
The round pegs in the square holes.
The ones who see things differently.
They&#8217;re not fond of rules.
And they have no respect for the status quo.
You can quote them, disagree with them,
disbelieve them, glorify or vilify them.
About the only thing that you can&#8217;t do, is ignore them.
Because they change things.
They [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/Dvn_Ied9t4M&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/Dvn_Ied9t4M&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>Here&#8217;s to the Crazy Ones.<br />
The misfits.<br />
The rebels.<br />
The troublemakers.<br />
The round pegs in the square holes.<br />
The ones who see things differently.<br />
They&#8217;re not fond of rules.<br />
And they have no respect for the status quo.<br />
You can quote them, disagree with them,<br />
disbelieve them, glorify or vilify them.<br />
About the only thing that you can&#8217;t do, is ignore them.<br />
Because they change things.<br />
They invent. They imagine. They heal.<br />
They explore. They create. They inspire.<br />
They push the human race forward.<br />
Maybe they have to be crazy.<br />
How else can you stare at an empty canvas and see a work of art?<br />
Or, sit in silence and hear a song that hasn&#8217;t been written?<br />
Or, gaze at a red planet and see a laboratory on wheels?<br />
<strong>We make tools for these kinds of people.</strong><br />
While some may see them as the crazy ones, <strong>we see genius.</strong><br />
Because the ones who are crazy enough to think that they can change the world,<br />
are the ones who do.</p>
<p><strong><span style="font-family: Lucida Grande,monotype;"></span>Think different.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://boke.name/citizen/2008/08/25/heres-to-the-crazy-ones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.247 seconds -->
