<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>Challenge everything!</title>
	<atom:link href="http://blogs.gnome.org/raywang/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/raywang</link>
	<description>Ray Wang&#039;s notes</description>
	<lastBuildDate>Mon, 30 May 2011 03:11:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>		<item>
		<title>Ubuntu 10.04 将字体设置成文泉驿微米黑 (ttf-wqy-microhei) 的方法</title>
		<link>http://blogs.gnome.org/raywang/2010/08/01/ubuntu-10-04-%e5%b0%86%e5%ad%97%e4%bd%93%e8%ae%be%e7%bd%ae%e6%88%90%e6%96%87%e6%b3%89%e9%a9%bf%e5%be%ae%e7%b1%b3%e9%bb%91-ttf-wqy-microhei-%e7%9a%84%e6%96%b9%e6%b3%95/</link>
		<comments>http://blogs.gnome.org/raywang/2010/08/01/ubuntu-10-04-%e5%b0%86%e5%ad%97%e4%bd%93%e8%ae%be%e7%bd%ae%e6%88%90%e6%96%87%e6%b3%89%e9%a9%bf%e5%be%ae%e7%b1%b3%e9%bb%91-ttf-wqy-microhei-%e7%9a%84%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 12:58:04 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/2010/08/01/ubuntu-10-04-%e5%b0%86%e5%ad%97%e4%bd%93%e8%ae%be%e7%bd%ae%e6%88%90%e6%96%87%e6%b3%89%e9%a9%bf%e5%be%ae%e7%b1%b3%e9%bb%91-ttf-wqy-microhei-%e7%9a%84%e6%96%b9%e6%b3%95/</guid>
		<description><![CDATA[执行一下： cd /etc/fonts/conf.d sudo ln -s ../conf.avail/69-language-selector-zh-cn.conf . 就可以了，这样中文的字体就能自动选择了]]></description>
			<content:encoded><![CDATA[<p>执行一下：<br />
cd /etc/fonts/conf.d<br />
sudo ln -s ../conf.avail/69-language-selector-zh-cn.conf .<br />
就可以了，这样中文的字体就能自动选择了</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2010/08/01/ubuntu-10-04-%e5%b0%86%e5%ad%97%e4%bd%93%e8%ae%be%e7%bd%ae%e6%88%90%e6%96%87%e6%b3%89%e9%a9%bf%e5%be%ae%e7%b1%b3%e9%bb%91-ttf-wqy-microhei-%e7%9a%84%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>怀念xkx</title>
		<link>http://blogs.gnome.org/raywang/2010/07/14/%e6%80%80%e5%bf%b5xkx/</link>
		<comments>http://blogs.gnome.org/raywang/2010/07/14/%e6%80%80%e5%bf%b5xkx/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:00:55 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[xkx]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/2010/07/14/%e6%80%80%e5%bf%b5xkx/</guid>
		<description><![CDATA[今天突然特别怀念 xkx (侠客行，文字MUD) 以前玩了6年的游戏，从1999.9 玩到毕业2005.6 ，时间真不算短了。 以前玩的 ＠BJ 帐号也没了，＠ZJ 的地址今天也找不到了。只能连进＠AH，用小号进去看了一眼 (@BJ 的帐号都被并入 ＠AH 了) ，把登录时的内容记录下来，一为存档，二为怀念&#8230; 谁 纵 千 救 眼 三 将 闲 事 十 银 赵 能 死 秋 赵 花 杯 炙 过 了 步 鞍 客 ︻ &#8230; <a href="http://blogs.gnome.org/raywang/2010/07/14/%e6%80%80%e5%bf%b5xkx/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>今天突然特别怀念 xkx (侠客行，文字MUD)  以前玩了6年的游戏，从1999.9 玩到毕业2005.6 ，时间真不算短了。<br />
以前玩的 ＠BJ  帐号也没了，＠ZJ 的地址今天也找不到了。只能连进＠AH，用小号进去看了一眼 (@BJ 的帐号都被并入 ＠AH 了) ，把登录时的内容记录下来，一为存档，二为怀念&#8230;</p>
<pre>
谁  纵  千  救  眼  三  将  闲  事  十  银  赵
能  死  秋  赵  花  杯  炙  过  了  步  鞍  客	  ︻ The
书  侠  二  挥  耳  吐  啖  信  拂  杀  照  缦	  侠
阁  骨  壮  金  热  然  朱  陵  衣  一  白  胡     	     Quest
下  香  士  槌  后  诺  亥  饮  去  人  马  缨
                                                  客 Of
白  不  烜  邯  意  五  持  脱  深  千  飒  吴
首  惭  赫  郸  气  岳  觞  剑  藏  里  沓  钩	     Oriental
太  世  大  先  素  倒  劝  膝  身  不  如  霜	  行
玄  上  梁  震  霓  为  候  前  与  留  流  雪	  ︼ Chivalry
经  英  城  惊  生  轻  赢  横  名  行  星  明

Copyright XiaKeXing Gaming Group 1996-2007

侠客行网站：&lt;  www.TheXKX.com  或 xkx.xkx1.com &gt;
有任何意见，请 email 给 wiz@thexkx.com

儿女情长，仗剑江湖路，暮然回首，萧风夜雨近八载。纵观天下，图形网
络游戏五花八门比比皆是，而仍不为所动，倾心狂醉侠客行中者，实乃独
解其个中真味之辈。为让侠客行游戏更上一层楼，以更丰富的游戏内容和
更高的游戏质量来回报玩家之厚爱。从即日起，门路广开，希望有志之士
能加入到我们侠客行巫师队伍中来。详情清参阅  (help wiz_apply)
- MudOS v22.2b14 -
侠客行站点名称	     国际网路位址     埠号	  运行时间	   玩家人数
=================   ===============   ====  ====================  ============
安徽侠客行(AH)   202.102.197.65    5555    十二天二十二小时多    一百零八位
广东侠客行(GD)   210.22.14.139     5555          九天四小时多    一百四十位
苏州侠客行(SZ)   58.218.250.45     5555    四十九天十九小时多  一百八十五位
=================   ===============   ====  ====================  ============
目前侠客行共有四百三十三位玩家在三个站点连线中。

英文ID识别( 新玩家请输入 new 进入人物建立单元 )
请输入您的英文ID：
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2010/07/14/%e6%80%80%e5%bf%b5xkx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experience on GNOME Asia Summit 2009</title>
		<link>http://blogs.gnome.org/raywang/2009/12/14/experience-on-gnome-asia-summit-2009/</link>
		<comments>http://blogs.gnome.org/raywang/2009/12/14/experience-on-gnome-asia-summit-2009/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 02:50:49 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/?p=30021</guid>
		<description><![CDATA[I was very lucky that I had the chance to take part in GNOME Asia Summit 2009. The summit was held in Ho Chi Minh City(HCMC), Vietnam. It was a really wonderful journey in my life, because it was my &#8230; <a href="http://blogs.gnome.org/raywang/2009/12/14/experience-on-gnome-asia-summit-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://gnome.asia/wp-content/uploads/2009/10/gnome.asia-logo.png" alt="GNOME Asia Summit 2009 logo" width="270" height="103" /></p>
<p>I was very lucky that I had the chance to take part in <a href="http://www.gnome.asia">GNOME Asia Summit 2009</a>. The summit was held in Ho Chi Minh City(HCMC), Vietnam.</p>
<p>It was a really wonderful journey in my life, because it was my first time to go abroad to see what other country looks like. I started to prepare my passport on Nov 9, 2009. and got the passport on Nov 18, 2009, then I immediately went to Vietnam embassy for visa that day. How lucky I was, the embassy provides express visa service within 2 days. So I took off on Nov 20, although I was not able to participate in the opening ceremony.</p>
<p>I got up early and went to the Beijing airport that day, after 3 hours flight, I arrived at Hong Kong for flight transfer, and after 2 hours, I arrived at Ho Chi Minh city. My planes belong to Cathy Pacific airline, the service was great.</p>
<p>I was impressed when I went out HCMC airport, there were some volunteers for the event picked me up.</p>
<p><img class="size-full wp-image-30026 alignleft" title="Me and Volunteer" src="http://blogs.gnome.org/raywang/files/2009/12/smalldsc01630.jpg" alt="Me and Volunteer" width="300" height="225" />the temperature was HOT compare to Beijing, and the volunteers were very friendly, they helped us(gf and me) to take taxi. We got to the hotel at 8pm, the price of my room was cheap, about $10. We met some awesome guys, some of them came from Taiwan(Fred, Ping-Hsun, Andrew, Medical-Wei), one from Germany(Tobias), and one from Australia(Andy). We took taxi for having dinner together that night, It was so impressive, we had happy time. I was shocked by hundreds of motorbikes starts to get across the cross road at the same time, and I spent all the money that I had exchanged at the airport that day&#8230;</p>
<p>Second day morning, I went to the venue, briefly presented &#8220;GNOME Accessibility and Automation Testing&#8221;.</p>
<p><img class="size-full wp-image-30029 alignnone" title="Someone is presenting" src="http://blogs.gnome.org/raywang/files/2009/12/smalldsc016321.jpg" alt="Someone is presenting" width="300" height="225" /></p>
<p><img class="alignnone size-full wp-image-30028" title="Paul Mei is prsenting" src="http://blogs.gnome.org/raywang/files/2009/12/smalldsc01633.jpg" alt="Paul Mei is prsenting" width="300" height="225" /></p>
<p><img class="alignnone size-full wp-image-30030" title="I'm presenting" src="http://blogs.gnome.org/raywang/files/2009/12/smalldsc01637.jpg" alt="I'm presenting" width="300" height="225" /></p>
<p><img class="size-full wp-image-30031 alignnone" title="The audience" src="http://blogs.gnome.org/raywang/files/2009/12/smalldsc01644.jpg" alt="The audience" width="300" height="225" /></p>
<p>The <a href="http://docs.google.com/fileview?id=0B-AH9BjwSPWdMzU5NWY4ZWItYzJmMi00N2JlLWE2MWQtNDQxNWFiNjcyZDNh&amp;hl=en">slides</a> talks about what is Accessibility, its definition and its categories, at the second part of the slides, I presented what is at-spi and how at-spi works with other GNOME components and other applications(java, winforms, moonlight etc). finally I did a demo to show how to use <a href="http://medsphere.org/community/project/strongwind">strongwind</a> to implement a automation test. I had another workshop for <a href="http://l10n.gnome.org">GNOME localization</a> at the afternoon that day, and I worked with a guy who is a Vietnamese translator/contributor for GNOME Vietnamese translation, and discussed the new translation process in<a href="http://l10n.gnome.org/"> damned lies</a>.</p>
<p>The GNOME Asia Summit(GAS) 2009 lasted 3 days from Nov 20 to Nov 23. It was successfully hosted, and I believe it has achieved its goal &#8211; to spread GNOME in Asia. I really hope I have the opportunity to take part in in the future, and I do hope GAS could be more and more successful, and could be as good as GUADEC. Let&#8217;s try our best to make it happen!</p>
<p>The summit has gone, I enjoyed it very much. <img src='http://blogs.gnome.org/raywang/wp-content/mu-plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/12/14/experience-on-gnome-asia-summit-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux&#8217;s Magic key (转)</title>
		<link>http://blogs.gnome.org/raywang/2009/08/11/linuxs-magic-key-%e8%bd%ac/</link>
		<comments>http://blogs.gnome.org/raywang/2009/08/11/linuxs-magic-key-%e8%bd%ac/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 04:10:54 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/?p=30018</guid>
		<description><![CDATA[转自 http://li2z.cn/2009/08/10/linux_magic-key/ 自从我换成了开源的A卡驱动以后，我的电脑就时不时地崩溃。现象是：突然之间，整个画面就冻结了，鼠标也不能动了，几乎所有的按键也都失效了，ctrl+alt+F1 和 ctrl+alt+backspace 都无效。这种情况一般发生在有不规则形状的窗口出现的时候，比如gnome-osd的透明文字，但也不是很一定的，发生的概率也不高，一般几天才会有一次。我想，要彻底解决的话，也只能等待驱动的改进了。 不过，每次崩溃都强行按电源的话，还是有点心痛的。幸好办法还是有的，因为驱动程序其实也只是一个程序而已，这时候即使驱动死掉了，鼠标键盘不能动，linux内核还是在正常运行的（按理如果我开了sshd的话，其他机器还是能ssh上来的）。而且，内核还是能处理一些键盘事件的，比如本文要说的：Magic System Request Key 以下按键，一般情况下不建议使用，除非是ctrl+alt+F1都失效了，才用。 使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开，并且没有在/proc/sys/kernel/sysrq里禁用掉，也就是 cat 这个文件的时候，出来的是 1 （或其他某些非0值）。其实这两个条件，在一般的linux发行版里都是满足的。下面就来介绍一下几个键的具体作用，其中SysRq指的是右上角的 “Print Screen”键。 ALT-SysRq-b 立即重启系统，不卸载分区和同步文件。 ALT-SysRq-c 调用kexec内核函数来重启，可以生成个crashdump。 ALT-SysRq-d 显示所有的“锁”，如果开了X的话，估计基本看不到。 ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号，可以试图正常结束所有进程。 ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。 ALT-SysRq-g 内核调试相关的（好像新内核已经没了？）。 ALT-SysRq-h 显示其他key的帮助，同样，如果开了X的话，估计基本看不到。 ALT-SysRq-i 给除了init以外的所有进程发送SIGKILL信号。 ALT-SysRq-k 结束当前虚拟终端的所有进程。 ALT-SysRq-l 显示所有活动CPU的栈跟踪信息。 &#8230; <a href="http://blogs.gnome.org/raywang/2009/08/11/linuxs-magic-key-%e8%bd%ac/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>转自 http://li2z.cn/2009/08/10/linux_magic-key/</p>
<p>自从我换成了开源的A卡驱动以后，我的电脑就时不时地崩溃。现象是：突然之间，整个画面就冻结了，鼠标也不能动了，几乎所有的按键也都失效了，ctrl+alt+F1 和 ctrl+alt+backspace 都无效。这种情况一般发生在有不规则形状的窗口出现的时候，比如gnome-osd的透明文字，但也不是很一定的，发生的概率也不高，一般几天才会有一次。我想，要彻底解决的话，也只能等待驱动的改进了。<br />
不过，每次崩溃都强行按电源的话，还是有点心痛的。幸好办法还是有的，因为驱动程序其实也只是一个程序而已，这时候即使驱动死掉了，鼠标键盘不能动，linux内核还是在正常运行的（按理如果我开了sshd的话，其他机器还是能ssh上来的）。而且，内核还是能处理一些键盘事件的，比如本文要说的：Magic System Request Key<br />
以下按键，一般情况下不建议使用，除非是ctrl+alt+F1都失效了，才用。<br />
使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开，并且没有在/proc/sys/kernel/sysrq里禁用掉，也就是 cat 这个文件的时候，出来的是 1 （或其他某些非0值）。其实这两个条件，在一般的linux发行版里都是满足的。下面就来介绍一下几个键的具体作用，其中SysRq指的是右上角的 “Print Screen”键。</p>
<blockquote><p>
    ALT-SysRq-b 立即重启系统，不卸载分区和同步文件。<br />
    ALT-SysRq-c 调用kexec内核函数来重启，可以生成个crashdump。<br />
    ALT-SysRq-d 显示所有的“锁”，如果开了X的话，估计基本看不到。<br />
    ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号，可以试图正常结束所有进程。<br />
    ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。<br />
    ALT-SysRq-g 内核调试相关的（好像新内核已经没了？）。<br />
    ALT-SysRq-h 显示其他key的帮助，同样，如果开了X的话，估计基本看不到。<br />
    ALT-SysRq-i 给除了init以外的所有进程发送SIGKILL信号。<br />
    ALT-SysRq-k 结束当前虚拟终端的所有进程。<br />
    ALT-SysRq-l 显示所有活动CPU的栈跟踪信息。<br />
    ALT-SysRq-m 显示内存状态。<br />
    ALT-SysRq-n<br />
    ALT-SysRq-o 可能的话，关机。<br />
    ALT-SysRq-p 显示当前的寄存器状态和标志位。<br />
    ALT-SysRq-r 关闭键盘的raw模式。<br />
    ALT-SysRq-s 同步内存里的数据到硬盘。<br />
    ALT-SysRq-t 显示当前的任务信息。<br />
    ALT-SysRq-u 以只读模式重新挂载所有分区。<br />
    ALT-SysRq-v<br />
    ALT-SysRq-w 显示不可中断的任务<br />
    ALT-SysRq-x<br />
    ALT-SysRq-z<br />
    ALT-SysRq-数字键 调整日志输出级别
</p></blockquote>
<p>    另外，除了物理的按键以外，其实还可以把某个键的值用root权限写到 /proc/sysrq-trigger 文件里（这个文件是个只写不读的怪文件，哈哈），比如</p>
<p>    echo t > /proc/sysrq-trigger</p>
<p>    ，来触发Magic SysRq key。 </p>
<p>以上内容可以在内核源码的 Documentation/sysrq.txt 里找到英文原文，但是即便是这个官方文档，也似乎不是每个按键都有效的，可能是某些只有在特定的硬件条件下才有效，又或者文档没更新？<br />
在万一遇到程序崩溃的时候，你可能需要按的键是： ALT-SysRq-r e i s u b 来安全地重启机器~</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/08/11/linuxs-magic-key-%e8%bd%ac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mono UIA Packages Preview</title>
		<link>http://blogs.gnome.org/raywang/2009/07/30/mono-uia-packages-preview/</link>
		<comments>http://blogs.gnome.org/raywang/2009/07/30/mono-uia-packages-preview/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 02:28:46 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[uia]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/?p=30013</guid>
		<description><![CDATA[Recently, I was working on pushing Mono UIA stuff into debian/ubuntu, but being accepted is a really long way to go. The packages need to be reviewed by Debian Mono Group hackers, and they were mostly working on geting Mono &#8230; <a href="http://blogs.gnome.org/raywang/2009/07/30/mono-uia-packages-preview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently, I was working on pushing <a href="http://www.mono-project.com/Accessibility">Mono UIA</a> stuff into debian/ubuntu, but being accepted is a really long way to go. The packages need to be reviewed by Debian Mono Group hackers, and they were mostly working on geting Mono 2.4.2 uploaded, UIA stuff are not in a high priority. </p>
<p>For those who wants to use Winforms apps on GNU/Linux, you can get packages as deb or rpm without compiling by yourself. Currently we have <a href="http://www.mono-project.com/Accessibility:_Release_Notes_1.0">1.0 release</a>. You can get:</p>
<p>RPM:</p>
<blockquote><p>http://download.opensuse.org/repositories/Mono://UIA/MonoOpenSUSE_11.1/ (for openSUSE 11.1)</p></blockquote>
<p>you will need to install <strong>mono-uia, mono-winfxcore, uiaatkbridge, uiautomationwinforms</strong> in order. </p>
<p>DEB:</p>
<blockquote><p>https://edge.launchpad.net/~raywang/+archive/uia2atk</p></blockquote>
<p>you have to add my PPA to your /etc/apt/sources.list, import key and get refreshed, and install <del datetime="2009-09-29T02:00:58+00:00">libmono-uia3.0-cil, libmono-winfxcore3.0-cil, libmono-uiaatkbridge1.0, libmono-uiautomationwinforms1.0-cil</del> <strong>libmono-uia3.0-cil, libmono-windowsbase3.0-cil, libmono-uia-atkbridge1.0-cil, libmono-uia-winforms1.0-cil</strong> in order.</p>
<p>Feel free to contact me if there are problems/questions/concerns etc</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/07/30/mono-uia-packages-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Google App Engine做个人代理服务器（Linux版）</title>
		<link>http://blogs.gnome.org/raywang/2009/06/18/%e7%94%a8google-app-engine%e5%81%9a%e4%b8%aa%e4%ba%ba%e4%bb%a3%e7%90%86%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88linux%e7%89%88%ef%bc%89/</link>
		<comments>http://blogs.gnome.org/raywang/2009/06/18/%e7%94%a8google-app-engine%e5%81%9a%e4%b8%aa%e4%ba%ba%e4%bb%a3%e7%90%86%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88linux%e7%89%88%ef%bc%89/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 03:19:55 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/2009/06/18/%e7%94%a8google-app-engine%e5%81%9a%e4%b8%aa%e4%ba%ba%e4%bb%a3%e7%90%86%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88linux%e7%89%88%ef%bc%89/</guid>
		<description><![CDATA[摘自：http://groups.google.com/group/gappproxy/browse_thread/thread/3d0ad3dd6331311 博文的链接地址是：http://hi.baidu.com/bdhoffmann/blog/item/ db383603b37756703812bbc8.html ～～～～～ 身处教育网，找代理上网总是一件烦人甚至恼人的事情。某次和同学闲聊，他推荐了Gappproxy给我使用，我用了一下，感觉还可以。现将 自己使用的一些心得记录如下，希望能让广大Linuxer受益。（windows下使用的详细教程请参看http://skydao.com/ post/google- app-engine-to-do-with-personal-proxy-server-second- edition/） 使用的过程主要分为两个部分。第一部分是上传一个文件到google appengine（GAE）,第二部分是建立本地和GAE的连 接。 1：上传 1.1 创建一个google appengine帐号 点击链接 （http://appengine.google.com/）申请注册一个google appengine帐号，注册需要一个 gmail邮箱，另外在注册的过程中需要填入手机号码进行验证。 1.2 安装python 我的系统是Ubuntu8.04，所以只要apt-get install python就可以了 1.3 下载并安装google appengine软件包 点击链接（http://code.google.com/appengine/downloads.html），下载Linux平台的 Google App Engine SDK，并进行解压。我的解压路径是桌面上的GAE目录。 1.4 下载并解压fetchserver源码包。 点击链接（http://code.google.com/p/gappproxy/downloads/list），下载里面的 fetchserver- 1.0.0beta.tar.gz。这个是GAppProxy服务端源码包，用于架设自己的fetchServer。要将这 个包进行解压。然后将解压后的文件（fetchServer）夹放入Google App &#8230; <a href="http://blogs.gnome.org/raywang/2009/06/18/%e7%94%a8google-app-engine%e5%81%9a%e4%b8%aa%e4%ba%ba%e4%bb%a3%e7%90%86%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88linux%e7%89%88%ef%bc%89/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>摘自：http://groups.google.com/group/gappproxy/browse_thread/thread/3d0ad3dd6331311</p>
<p>博文的链接地址是：http://hi.baidu.com/bdhoffmann/blog/item/<br />
db383603b37756703812bbc8.html<br />
～～～～～<br />
      身处教育网，找代理上网总是一件烦人甚至恼人的事情。某次和同学闲聊，他推荐了Gappproxy给我使用，我用了一下，感觉还可以。现将<br />
自己使用的一些心得记录如下，希望能让广大Linuxer受益。（windows下使用的详细教程请参看http://skydao.com/<br />
post/google- app-engine-to-do-with-personal-proxy-server-second-<br />
edition/）</p>
<p>      使用的过程主要分为两个部分。第一部分是上传一个文件到google appengine（GAE）,第二部分是建立本地和GAE的连<br />
接。</p>
<p>1：上传<br />
1.1 创建一个google appengine帐号<br />
     点击链接 （http://appengine.google.com/）申请注册一个google appengine帐号，注册需要一个<br />
gmail邮箱，另外在注册的过程中需要填入手机号码进行验证。</p>
<p>1.2 安装python<br />
     我的系统是Ubuntu8.04，所以只要apt-get install python就可以了</p>
<p>1.3 下载并安装google appengine软件包<br />
     点击链接（http://code.google.com/appengine/downloads.html），下载Linux平台的<br />
Google App Engine SDK，并进行解压。我的解压路径是桌面上的GAE目录。</p>
<p>1.4 下载并解压fetchserver源码包。<br />
     点击链接（http://code.google.com/p/gappproxy/downloads/list），下载里面的<br />
fetchserver- 1.0.0beta.tar.gz。这个是GAppProxy服务端源码包，用于架设自己的fetchServer。要将这<br />
个包进行解压。然后将解压后的文件（fetchServer）夹放入Google App Engine SDK的安装目录。</p>
<p>1.5 编辑fetchServer目录下的app.yaml文件。<br />
     用nano或者其他方式编辑这个文件，主要编辑的参数是第一行application.<br />
～～～～～～～～～～～～～～～～～～～～<br />
application: aaaaaa(比如我的比如你的AppEngine地址是aaaaaaaaa.appspot.com，那就是<br />
application帐号就是aaaaaa）)<br />
～～～～～～～～～～～～～～～～～～～～<br />
     编辑结束后，保存并关闭这个文件。</p>
<p>1.6 上传<br />
    进入Google App Engine SDK目录。然后运行命令：appcfg.py update fetchserver。程序会要求<br />
你填入你的gmail和gmail的密码。<br />
～～～～～～<br />
hoffmann@ubuntu:~/Desktop/GAE$ python appcfg.py update fetchServer/<br />
Scanning files on local disk.<br />
Initiating update.<br />
Email: aaa&#8230;@gmail.com<br />
Password for aaa&#8230;@gmail.com:<br />
Cloning 1 application file.<br />
Deploying new version.<br />
Checking if new version is ready to serve.<br />
Closing update: new version is ready to start serving.<br />
～～～～～～<br />
OK ，上传部分完毕。</p>
<p>2：连接<br />
2.1：下载客户端<br />
    点击链接（http://code.google.com/p/gappproxy/downloads/list），下载<br />
gappproxy- 1.0.0beta.tar.gz ，这个是GAppProxy源码包，内含客户端所有源码，并将这个文件进行解压。我还是解压<br />
在桌面上，文件夹的名字是gappproxy。</p>
<p>2.2 更改配置文件<br />
    进入gappproxy目录，用nano或者其他的文件编辑器编辑proxy.conf文件。在fetchserver一栏里面填写自己的<br />
apengine地址。并去掉一行开头的井号（这个是注释用的）<br />
～～～～～～～～～～～～～～～～～<br />
GAppProxy configuration</p>
<p># local_proxy<br />
#local_proxy = host:port<br />
#<br />
# If local proxy needs authentication:<br />
#local_proxy = user:passwd@host:port</p>
<p>fetch server<br />
#fetch_server = http://127.0.0.1:8080/fetch.py<br />
fetch_server = http://aaaaaa.appspot.com/fetch.py ###填写自己注册的appengine地<br />
址。<br />
#fetch_server = http://fetchserver-nolog.appspot.com/fetch.py<br />
～～～～～～～～～～～～～～～～～～～～<br />
     然后保存并关闭。</p>
<p>2.3 运行代理服务<br />
    直接在终端里面运行 python proxy.py.如果看到HTTP Enabled : YES的字样，恭喜你，代理已经成功开启了。你<br />
所要做的就是将这个终端一直开着，就可以上网了。代理的地址是127.0.0.1:8000.这个可以在浏览器里面设置的。<br />
～～～～～～～～～～～～～～～<br />
hoffmann@ubuntu:~/Desktop/gappproxy$ python proxy.py<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
HTTP Enabled : YES<br />
HTTPS Enabled: NO<br />
Local Proxy :<br />
Fetch Server : http://aaaaaa.appspot.com/fetch.py<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
~~~~~~~~~~~~~~~~~~</p>
<p>注：<br />
1:感谢博客天空岛里面的文章（http://skydao.com/post/google-app-engine-to-do-with-<br />
personal-proxy-server-second-edition/）以及group上面WCM的指点。</p>
<p>2:虽然在主页上提到gappproxy仅支持标准80端口的HTTP协议和443端口的HTTPS协议,其他端口均不支持.但是我在实际应用的过程<br />
中，上微软的live.com，总是上不去。＝。＝</p>
<p>3:现在google appengine开始收费了，标准为：每额外一小时CPU处理时间收费10美分；输入应用的数据每1GB收费10美分，输出的<br />
数据收费12美分；每一 GB数据存储一个月收费15美分。所以强烈推荐大家自己在google appenging上自己搭建服务器。因为，免费的流<br />
量对于个人来说是够用的，但是如果大家都用软件作者的服务器（客户端conf文件里面默认的那个），那么作者估计会花费大笔的银子的。</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/06/18/%e7%94%a8google-app-engine%e5%81%9a%e4%b8%aa%e4%ba%ba%e4%bb%a3%e7%90%86%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88linux%e7%89%88%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Say Hi to GNOME World</title>
		<link>http://blogs.gnome.org/raywang/2009/04/20/say-hi-to-gnome-world/</link>
		<comments>http://blogs.gnome.org/raywang/2009/04/20/say-hi-to-gnome-world/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 07:32:57 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/raywang/?p=30006</guid>
		<description><![CDATA[Hi everybody, I&#8217;m new here, I will start my new blog from today, and I&#8217;d like to write my posts about GNOME,  and of course I&#8217;ll try to write in English. see you then.]]></description>
			<content:encoded><![CDATA[<p>Hi everybody,</p>
<p>I&#8217;m new here, I will start my new blog from today, and I&#8217;d like to write my posts about GNOME,  and of course I&#8217;ll try to write in English. see you then. <img src='http://blogs.gnome.org/raywang/wp-content/mu-plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/04/20/say-hi-to-gnome-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>i18n 和 l10n 区别</title>
		<link>http://blogs.gnome.org/raywang/2009/04/07/i18n-%e5%92%8c-l10n-%e5%8c%ba%e5%88%ab/</link>
		<comments>http://blogs.gnome.org/raywang/2009/04/07/i18n-%e5%92%8c-l10n-%e5%8c%ba%e5%88%ab/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 07:32:01 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[l10n]]></category>

		<guid isPermaLink="false">http://raywang.yo2.cn/?p=30005</guid>
		<description><![CDATA[Internationalization = I18n Changing a program to support for multiple languages and cultural habits. Character handling (unicode&#8230;) Locale awareness (date formats, currencies, numbers, time zones, etc.) Localizability Isolate localizable items (messages, pictures, etc.) Implement infrastructure necessary for localizing above items. &#8230; <a href="http://blogs.gnome.org/raywang/2009/04/07/i18n-%e5%92%8c-l10n-%e5%8c%ba%e5%88%ab/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<ul>
<li><strong>Internationalization = I18n</strong><br />
Changing a program to support for multiple languages and cultural habits.</p>
<ul>
<li>Character handling (unicode&#8230;)</li>
<li>Locale awareness (date formats, currencies, numbers, time zones, etc.)
<ul>
<li>Localizability</li>
<li>Isolate localizable items (messages, pictures, etc.)</li>
<li>Implement infrastructure necessary for localizing above items.</li>
</ul>
</li>
</ul>
</li>
<p><span style="color: #ff0000">The programmer’s work.</span></ul>
<ul>
<li><strong>Localization = L10n</strong>
<ul>
<li>Translate localizable items (messages, pictures, etc.) for one language.</li>
</ul>
</li>
<p>Providing an internationalized package the necessary bits to support one’s native language and cultural habits.</p>
<p><span style="color: #ff0000">The translator’s work. </span></ul>
<p>Gettext = complete toolset for translating messages output by programs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/04/07/i18n-%e5%92%8c-l10n-%e5%8c%ba%e5%88%ab/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux System Programming 学习笔记</title>
		<link>http://blogs.gnome.org/raywang/2009/03/20/linux-system-programming-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/</link>
		<comments>http://blogs.gnome.org/raywang/2009/03/20/linux-system-programming-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 06:13:43 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[lsp]]></category>

		<guid isPermaLink="false">http://raywang.yo2.cn/?p=28024</guid>
		<description><![CDATA[the sector is the smallest addressable unit on a block deviice. the block is the smallest addressable unit on a file system. the page size is the smallest unit addressable by the memory management unit. sector = 512 bytes block &#8230; <a href="http://blogs.gnome.org/raywang/2009/03/20/linux-system-programming-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><code>the <strong>sector</strong> is the smallest addressable unit on a block deviice.<br />
the <strong>block</strong> is the smallest addressable unit on a file system.<br />
the <strong>page size</strong> is the smallest unit addressable by the memory management unit.</code></p>
<p><code><br />
<strong>sector</strong> = 512 bytes<br />
<strong>block</strong> = sector * 2(power 0, 1, 4) = 512 bytes, 1 KB, 4 KB<br />
sector &lt;= block &lt;= page size</code></p>
<p><strong>process</strong><br />
<code><br />
|------ data<br />
|------ resources<br />
|------ state<br />
|------ virtualized computer</code></p>
<p><strong>ELF section</strong><br />
<code><br />
text section: executable code, readonly data<br />
data section: C variables with values, readable and writable<br />
bss section: uninitialized global data</code></p>
<p><code><br />
<strong>real uid</strong> is always that of the user who started the process.<br />
<strong>effective uid</strong> may change under various rules to allow a process to execute with the rights of different users.<br />
<strong>saved uid</strong> stores the original effective uid, its value is used in deciding what effective uid values the user may switch to.<br />
<strong>filesystem uid</strong> which is usually equal to the effective uid, is used for verifying file system access.<br />
</code><br />
<code><strong><br />
real gid<br />
effective gid<br />
save gid<br />
filesystem gid</strong></code></p>
<p><strong>IPC</strong> mechanism supported by Linux:<br />
<code><br />
pipes<br />
named pipes<br />
semaphores<br />
message queues<br />
shared memory<br />
futexes<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/03/20/linux-system-programming-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>srandom 与 random</title>
		<link>http://blogs.gnome.org/raywang/2009/02/19/srandom-%e4%b8%8e-random/</link>
		<comments>http://blogs.gnome.org/raywang/2009/02/19/srandom-%e4%b8%8e-random/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 03:38:19 +0000</pubDate>
		<dc:creator>raywang</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>

		<guid isPermaLink="false">http://raywang.yo2.cn/articles/srandom-%e4%b8%8e-random.html</guid>
		<description><![CDATA[今天看了看这两个函数的manpage，srandom 的作用是为random 做个种子，默认random生成的数是以srandom(1)为种子的。所以，虽然random 生成的数好像没什么规律，但每次生成的数都是一样的。如果想要改变这个所谓的“随机数”，就要再说srandom生成一个新的种子，比如srandom(2)，不过这样做太麻烦了，先拿srandom(time(0))充个数吧。 #include &#60;stdlib.h&#62; #include &#60;stdio.h&#62; int main() { srandom(time(NULL)); printf(&#8220;the number is %ld\n&#8221;, random()); }]]></description>
			<content:encoded><![CDATA[<p>今天看了看这两个函数的manpage，srandom 的作用是为random 做个种子，默认random生成的数是以srandom(1)为种子的。所以，虽然random 生成的数好像没什么规律，但每次生成的数都是一样的。如果想要改变这个所谓的“随机数”，就要再说srandom生成一个新的种子，比如srandom(2)，不过这样做太麻烦了，先拿srandom(time(0))充个数吧。</p>
<p>#include &lt;stdlib.h&gt;<br />
#include &lt;stdio.h&gt;</p>
<p>int main()<br />
{<br />
srandom(time(NULL));<br />
printf(&#8220;the number is %ld\n&#8221;, random());<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/raywang/2009/02/19/srandom-%e4%b8%8e-random/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/raywang/feed/ ) in 0.85573 seconds, on May 25th, 2012 at 7:22 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 25th, 2012 at 8:22 am UTC -->
