<?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://blog.eaxi.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.eaxi.com</link>
	<description>天使好想学会了游泳，海豚在梦里飞到了半空中</description>
	<lastBuildDate>Sat, 14 Apr 2012 09:39:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>测试WordPress ios!!</title>
		<link>http://blog.eaxi.com/%e6%b5%8b%e8%af%95wordpress-ios/</link>
		<comments>http://blog.eaxi.com/%e6%b5%8b%e8%af%95wordpress-ios/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 09:39:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不想分类]]></category>
		<category><![CDATA[wordpress ipad ios]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/%e6%b5%8b%e8%af%95wordpress-ios/</guid>
		<description><![CDATA[用Wordpress IOS来管理博客真心是个好主意！Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>用Wordpress IOS来管理博客真心是个好主意！</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/%e6%b5%8b%e8%af%95wordpress-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C struct initialize</title>
		<link>http://blog.eaxi.com/c-struct-initialize/</link>
		<comments>http://blog.eaxi.com/c-struct-initialize/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 16:35:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不想分类]]></category>
		<category><![CDATA[c struct]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/?p=597</guid>
		<description><![CDATA[struct SMyOrder { int quantity; int price; }; int main() { static const struct SMyOrder zero_a; struct SMyOrder a = zero_a; printf(&#8220;price=%d, quantity=%d \n&#8221;, a.price, a.quantity); return 0; }Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>struct SMyOrder<br />
{<br />
	int quantity;<br />
	int price;<br />
};</p>
<p>int main()<br />
{<br />
	static const struct SMyOrder zero_a;<br />
	struct SMyOrder a = zero_a;</p>
<p>	printf(&#8220;price=%d, quantity=%d \n&#8221;, a.price, a.quantity);</p>
<p>	return 0;<br />
}</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/c-struct-initialize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>发个带颜色的printf： enum zh color set COLOR BLACK =&#8230;</title>
		<link>http://blog.eaxi.com/%e5%8f%91%e4%b8%aa%e5%b8%a6%e9%a2%9c%e8%89%b2%e7%9a%84printf%ef%bc%9a-enum-zh-color-set-color-black/</link>
		<comments>http://blog.eaxi.com/%e5%8f%91%e4%b8%aa%e5%b8%a6%e9%a2%9c%e8%89%b2%e7%9a%84printf%ef%bc%9a-enum-zh-color-set-color-black/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 15:27:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[status]]></category>
		<category><![CDATA[linux c]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/%e5%8f%91%e4%b8%aa%e5%b8%a6%e9%a2%9c%e8%89%b2%e7%9a%84printf%ef%bc%9a-enum-zh-color-set-color-black/</guid>
		<description><![CDATA[发个带颜色的printf： enum zh_color_set { COLOR_BLACK = 30, COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE }; void zh_printf(int color, char *fmt, &#8230;) { va_list ap; printf(&#8220;%c[1;%d;40m&#8221;, 0x1B, color); va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); printf(&#8220;%c[0m&#8221;, 0x1B); }Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>发个带颜色的printf：<br />
enum zh_color_set {<br />
	COLOR_BLACK = 30,<br />
	COLOR_RED,<br />
	COLOR_GREEN,<br />
	COLOR_YELLOW,<br />
	COLOR_BLUE,<br />
	COLOR_MAGENTA,<br />
	COLOR_CYAN,<br />
	COLOR_WHITE<br />
};<br />
void zh_printf(int color, char *fmt, &#8230;)<br />
{<br />
	va_list ap;<br />
	printf(&#8220;%c[1;%d;40m&#8221;, 0x1B, color);</p>
<p>	va_start(ap, fmt);<br />
	vprintf(fmt, ap);<br />
	va_end(ap);</p>
<p>	printf(&#8220;%c[0m&#8221;, 0x1B);<br />
}</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/%e5%8f%91%e4%b8%aa%e5%b8%a6%e9%a2%9c%e8%89%b2%e7%9a%84printf%ef%bc%9a-enum-zh-color-set-color-black/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpddos应对 最近新起一种udp flood的攻击形式，是利用php中的fsockopen函数往特定机器发送大量UDP包，耗费大量流量，直到网络瘫痪。 php当前只支持用allow url fopen整个禁用 启用网络文件访问，而不支持更细粒度的控制。这里介绍一种源码patch的方式，对该类型的攻击做一些防范。 1&#8230;</title>
		<link>http://blog.eaxi.com/phpddos-defense/</link>
		<comments>http://blog.eaxi.com/phpddos-defense/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 15:39:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[status]]></category>
		<category><![CDATA[php linux fsockopen]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/phpddos%e5%ba%94%e5%af%b9-%e6%9c%80%e8%bf%91%e6%96%b0%e8%b5%b7%e4%b8%80%e7%a7%8dudp-flood%e7%9a%84%e6%94%bb%e5%87%bb%e5%bd%a2%e5%bc%8f%ef%bc%8c%e6%98%af%e5%88%a9%e7%94%a8php%e4%b8%ad%e7%9a%84fsockopen/</guid>
		<description><![CDATA[phpddos应对 最近新起一种udp flood的攻击形式，是利用php中的fsockopen函数往特定机器发送大量UDP包，耗费大量流量，直到网络瘫痪。 php当前只支持用allow_url_fopen整个禁用/启用网络文件访问，而不支持更细粒度的控制。这里介绍一种源码patch的方式，对该类型的攻击做一些防范。 1. 捕蛇打三、七寸 在ext/standard/fsock.c中的php_fsockopen_stream函数中，加入如下代码： if (!strncasecmp(&#8220;udp://&#8221;, host, 6)) { php_error_docref(NULL TSRMLS_CC, E_ERROR, &#8220;Unsupported wrapper UDP&#8221;); RETURN_FALSE; } if (!strncasecmp(&#8220;tcp://&#8221;, host, 6)) { php_error_docref(NULL TSRMLS_CC, E_ERROR, &#8220;Unsupported wrapper TCP&#8221;); RETURN_FALSE; } 2. 频率限制 创建一个全局变量数组，给每个用户维护一个计数器，执行一次函数加一。 fsock_counter[uid] ++; if (fsock_counter[uid] > 10) { php_error_docref(NULL TSRMLS_CC, E_ERROR, &#8220;Too many calls.&#8221;); RETURN_FALSE; } 一个请求，禁止发送超过10次的网络请求！Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>phpddos应对<br />
最近新起一种udp flood的攻击形式，是利用php中的fsockopen函数往特定机器发送大量UDP包，耗费大量流量，直到网络瘫痪。<br />
php当前只支持用allow_url_fopen整个禁用/启用网络文件访问，而不支持更细粒度的控制。这里介绍一种源码patch的方式，对该类型的攻击做一些防范。</p>
<p>1. 捕蛇打三、七寸<br />
在ext/standard/fsock.c中的php_fsockopen_stream函数中，加入如下代码：<br />
	if (!strncasecmp(&#8220;udp://&#8221;, host, 6)) {<br />
		php_error_docref(NULL TSRMLS_CC, E_ERROR, &#8220;Unsupported wrapper UDP&#8221;);<br />
		RETURN_FALSE;<br />
	}</p>
<p>	if (!strncasecmp(&#8220;tcp://&#8221;, host, 6)) {<br />
		php_error_docref(NULL TSRMLS_CC, E_ERROR, &#8220;Unsupported wrapper TCP&#8221;);<br />
		RETURN_FALSE;<br />
	}</p>
<p>2. 频率限制<br />
创建一个全局变量数组，给每个用户维护一个计数器，执行一次函数加一。<br />
	fsock_counter[uid] ++;<br />
	if (fsock_counter[uid] > 10) {<br />
		php_error_docref(NULL TSRMLS_CC, E_ERROR, &#8220;Too many calls.&#8221;);<br />
		RETURN_FALSE;<br />
	}<br />
一个请求，禁止发送超过10次的网络请求！</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/phpddos-defense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AutoHotKey Windows下的自动化脚本，有点像linux下的expect，呵呵。 几招基本功： 1 msgbox Hello World `nNewline&#8230;</title>
		<link>http://blog.eaxi.com/autohotkey-windows/</link>
		<comments>http://blog.eaxi.com/autohotkey-windows/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:09:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[status]]></category>
		<category><![CDATA[autohotkey windows]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/autohotkey-windows%e4%b8%8b%e7%9a%84%e8%87%aa%e5%8a%a8%e5%8c%96%e8%84%9a%e6%9c%ac%ef%bc%8c%e6%9c%89%e7%82%b9%e5%83%8flinux%e4%b8%8b%e7%9a%84expect%ef%bc%8c%e5%91%b5%e5%91%b5%e3%80%82-%e5%87%a0/</guid>
		<description><![CDATA[AutoHotKey: Windows下的自动化脚本，有点像linux下的expect，呵呵。 几招基本功： 1. msgbox, Hello World! `nNewline starts here 2. run http://blog.eaxi.com/ 3. #x:: 绑定 win+x 快捷键 4. #b:: msgbox, win+b !b:: msgbox, alt+b ^b:: msgbox, ctrl+b ^!b:: msgbox, alt+ctrl+b !#b:: msgbox, alt+win+bRelated PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>AutoHotKey: Windows下的自动化脚本，有点像linux下的expect，呵呵。<br />
几招基本功：<br />
1. msgbox, Hello World! `nNewline starts here<br />
2. run <a href="http://blog.eaxi.com/" rel="nofollow">http://blog.eaxi.com/</a><br />
3. #x:: 绑定 win+x 快捷键<br />
4. #b:: msgbox, win+b<br />
   !b:: msgbox, alt+b<br />
   ^b:: msgbox, ctrl+b<br />
   ^!b:: msgbox, alt+ctrl+b<br />
   !#b:: msgbox, alt+win+b</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/autohotkey-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>调试vim慢的原因方法： vim startuptime message txt 启动后，查看message txt中，哪个脚本最慢，再考虑能否禁用加载。在我这里，c vim禁用后，快了非常多。&#8230;</title>
		<link>http://blog.eaxi.com/speed-up-vim/</link>
		<comments>http://blog.eaxi.com/speed-up-vim/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 12:59:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[status]]></category>
		<category><![CDATA[vim gvim linux]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/%e8%b0%83%e8%af%95vim%e6%85%a2%e7%9a%84%e5%8e%9f%e5%9b%a0%e6%96%b9%e6%b3%95%ef%bc%9a-vim-startuptime-message-txt-%e5%90%af%e5%8a%a8%e5%90%8e%ef%bc%8c%e6%9f%a5%e7%9c%8bmessage-txt%e4%b8%ad%ef%bc%8c/</guid>
		<description><![CDATA[调试vim慢的原因方法： vim &#8211;startuptime message.txt 启动后，查看message.txt中，哪个脚本最慢，再考虑能否禁用加载。在我这里，c.vim禁用后，快了非常多。 接下来，可以正常使用vim，然后输入命令 :scriptnames 看到列表后，也能发现耗时脚本。这一步，发现可以禁用菜单、禁用翻译（vim需要这些东西么！），又提速不少！Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>调试vim慢的原因方法：<br />
vim &#8211;startuptime message.txt<br />
启动后，查看message.txt中，哪个脚本最慢，再考虑能否禁用加载。在我这里，c.vim禁用后，快了非常多。</p>
<p>接下来，可以正常使用vim，然后输入命令<br />
:scriptnames<br />
看到列表后，也能发现耗时脚本。这一步，发现可以禁用菜单、禁用翻译（vim需要这些东西么！），又提速不少！</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/speed-up-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>温州动车追尾事故</title>
		<link>http://blog.eaxi.com/723-train-crash/</link>
		<comments>http://blog.eaxi.com/723-train-crash/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 13:48:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不想分类]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/?p=594</guid>
		<description><![CDATA[23号，造成两百多人死伤的〝温州动车追尾事故〞过去还不到38小时，在原因还没有查清的情况下，铁道部将破损车体碾碎，掩埋，引发民众和媒体的质疑。同时，出事路段已经恢复通车。 7月24日 23:15，铁道部发言人王勇平在温州水心饭店为“7?23”甬温线特别重大铁路交通事故举行新闻发布会。有记者问：“在你们宣布没生命体征、开始拆解车厢时，为什么又发现一个活着的女孩？”铁道部发言人称：“这只是一个奇迹。”记者：“那你们做的决策是不是错了？为什么说没人活着又发现呢？”发言人：“我只能说，它就是发生了。” 7月25日 8:30，《东方卫视》24日7点11分的新闻连线，据现场记者丁桃介绍：“截至当时伤亡人数203人，死亡人数63人…”字幕却显示32人死亡。直到24日晚22点，铁道部发言人王勇平通报7?23事故死亡人数为35人 7月25日 9:30，“35”一个神奇的数字。动车相撞35人死亡，河南平顶山矿难35人死亡；重庆暴雨造成35人死亡；云南遭大雨袭击全省35人死亡。知道为什么死亡人数控制在36人以内吗？超过36人，市委书记这个级别的要撤职，所以一开始发生，就注定了死亡人数不会超过36 7月25日 9:50，一个在医院上班的哥说，其实到今天早上凌晨就已经死了100多了，抬出来的都是死人。只不过到医院走了一遭，算抢救无效，不算立即死亡。媒体被要求隐瞒了数据只说30多。。。。。。。。真是用心良苦。。。 7月25日 15:45，凌晨4点宣布已无生命迹象，14个小时后又救出小孩儿，其间发生的事情有：碾碎掉落的车厢，内部协调，拟于 下午6点通车……我相信了：他们根本就没有尽力救人。 7月25日 17:40，到底伤亡多少人：看下香港党报报导吧！ 共6节车厢满员600人掉到30米高桥底下。桥上车厢里有多少人伤亡先不算，桥下已知活着的为210多人，而新华社报的 亡者 为35人。照新华社数据，那么，600（总）-210（伤）-35（亡）=355人，这355人 去 哪了？ 7月25日 21:27，@编剧周力军新浪认证：请大家记住这些图，记住这张脸。先是铁三局说没有掩埋列车，挖坑是为了方便作业。后来这位发言人笑嘻嘻地说，确实掩埋了机车，但那是为了垫脚！MD！你家这是盖房子挖地基呀！把车体、尸体、个人物品、证件、钱财，还有血都当基桩打下去呀！以为这样你们就稳当了吗？！我本不善粗口，但真是忍不住！MMD! 7月25日 21:39，杨峰在现场透露了多个细节：24号凌晨他一点就到达了温州南站，但由于种种阻饶，2点半才到达出事车厢，当时现场已经停止救援，工作人员表示没有生命迹象。他的妻子和母亲是24号下午才被挖土机挖出来的，妻子已经没有了脸部，他流着泪问：这是动车撞的还是被挖的？ 7月25日 22:18，温州微新闻：#默哀现场直播#动车事故最新爆料！！当晚政府去营救的都是D301的。D3115的16节车厢近百人几乎全都死光！！！没有人去救他们！！！直到第二天下午用铲车车直接去铲的！！！这就是我们国家对待生命的方式吗？政府人员到现在都不露面！现场人越聚越多了！ 7月25日 22:50，@新民周刊杨江：杨先生此次事故失去四名亲人：妻子，岳母，大姨子及三岁外甥女，其妻怀孕七个月，所以也可以说失去了五个亲人！他身穿孝衣邀铁道部官员一起参观他因野蛮铲车导致尸体残缺，头部不齐的亲人遗体，该官员连连后退：我给你鞠躬，对不起！ 7月25日 22:53，@公民微报：求真相再次发！据报：保险公司收到医院的死亡人数是179个，新闻报道死亡人数不到40人。 7月25日 22:55，网易微博@龚伟杰：保险公司朋友告诉我，现在核实死亡216人 还没有核实的。 7月26日 8:30， @truth_cn这样都被兲朝狗官想得出: 中新浙江网7月25日电（记者 赵晔娇）有消息称，“温州事故原因有新进展：铁路调度程序员出现BUG（故障）是本次事故的根本原因，警方已经拘留了两名无证程序员。上海大火是无证电焊工，这次是无证程序员。 7月26日 8:37，中央人民广播电台翔宇：铁道部发言人王勇平说：“雷击造成设备故障。”而全国雷电防护标准化技术委员会委员关像石却说：“我只有两句话好说！第一句，此次事故绝对是人祸！第二句，我对政府的善后工作很失望！” 7月26日 14:04，家属看到领导来了，非常气愤，起冲突了，砸了水瓶。 7月26日 14:21，记者不让他们走，家属在质问，家属和领导发生激烈冲突。“我妹妹还有半个头在里面！！！！”汤先生声斯力捷的喊！！！！！ 7月26日14:36，汤先生给专家跪下了，但是他们动用警力把记者强行拉住。汤先生已经哭的不行了，央视的记者大骂铁道部的人是狗！！！ 7月26日 14:44，这就是所谓的专家，坐在那里一言不发，我与他们一同身为人类感到可耻。 7月26日 15:10，一听到是省内某城市的记者来采访，家属直接拒绝回答，“跟你们说他妈屁用，又不能播”。 7月26日 15:37，家属不知又被带往何处，刚才有人向他们保证切割前会通知他们，你们信吗？ 7月26日 16:02，遇难者家属陈峰在事故中失去了五位亲人，其中包括他怀孕7个月的妻子。面对镜头，他对救援工作提出质疑 7月26日 15:01，浙江省委书记大人实在很忙！！当年杭州地铁塌陷，他在海外访问；前两天三桥垮塌，他在海外访问；温州动车追尾，他也在海外访问。 7月26日 [...]]]></description>
			<content:encoded><![CDATA[<p>23号，造成两百多人死伤的〝温州动车追尾事故〞过去还不到38小时，在原因还没有查清的情况下，铁道部将破损车体碾碎，掩埋，引发民众和媒体的质疑。同时，出事路段已经恢复通车。</p>
<p>7月24日 23:15，铁道部发言人王勇平在温州水心饭店为“7?23”甬温线特别重大铁路交通事故举行新闻发布会。有记者问：“在你们宣布没生命体征、开始拆解车厢时，为什么又发现一个活着的女孩？”铁道部发言人称：“这只是一个奇迹。”记者：“那你们做的决策是不是错了？为什么说没人活着又发现呢？”发言人：“我只能说，它就是发生了。”</p>
<p>7月25日 8:30，《东方卫视》24日7点11分的新闻连线，据现场记者丁桃介绍：“截至当时伤亡人数203人，死亡人数63人…”字幕却显示32人死亡。直到24日晚22点，铁道部发言人王勇平通报7?23事故死亡人数为35人</p>
<p>7月25日 9:30，“35”一个神奇的数字。动车相撞35人死亡，河南平顶山矿难35人死亡；重庆暴雨造成35人死亡；云南遭大雨袭击全省35人死亡。知道为什么死亡人数控制在36人以内吗？超过36人，市委书记这个级别的要撤职，所以一开始发生，就注定了死亡人数不会超过36</p>
<p>7月25日 9:50，一个在医院上班的哥说，其实到今天早上凌晨就已经死了100多了，抬出来的都是死人。只不过到医院走了一遭，算抢救无效，不算立即死亡。媒体被要求隐瞒了数据只说30多。。。。。。。。真是用心良苦。。。</p>
<p>7月25日 15:45，凌晨4点宣布已无生命迹象，14个小时后又救出小孩儿，其间发生的事情有：碾碎掉落的车厢，内部协调，拟于 下午6点通车……我相信了：他们根本就没有尽力救人。</p>
<p>7月25日 17:40，到底伤亡多少人：看下香港党报报导吧！ 共6节车厢满员600人掉到30米高桥底下。桥上车厢里有多少人伤亡先不算，桥下已知活着的为210多人，而新华社报的 亡者 为35人。照新华社数据，那么，600（总）-210（伤）-35（亡）=355人，这355人 去 哪了？</p>
<p>7月25日 21:27，@编剧周力军新浪认证：请大家记住这些图，记住这张脸。先是铁三局说没有掩埋列车，挖坑是为了方便作业。后来这位发言人笑嘻嘻地说，确实掩埋了机车，但那是为了垫脚！MD！你家这是盖房子挖地基呀！把车体、尸体、个人物品、证件、钱财，还有血都当基桩打下去呀！以为这样你们就稳当了吗？！我本不善粗口，但真是忍不住！MMD!</p>
<p>7月25日 21:39，杨峰在现场透露了多个细节：24号凌晨他一点就到达了温州南站，但由于种种阻饶，2点半才到达出事车厢，当时现场已经停止救援，工作人员表示没有生命迹象。他的妻子和母亲是24号下午才被挖土机挖出来的，妻子已经没有了脸部，他流着泪问：这是动车撞的还是被挖的？</p>
<p>7月25日 22:18，温州微新闻：#默哀现场直播#动车事故最新爆料！！当晚政府去营救的都是D301的。D3115的16节车厢近百人几乎全都死光！！！没有人去救他们！！！直到第二天下午用铲车车直接去铲的！！！这就是我们国家对待生命的方式吗？政府人员到现在都不露面！现场人越聚越多了！</p>
<p>7月25日 22:50，@新民周刊杨江：杨先生此次事故失去四名亲人：妻子，岳母，大姨子及三岁外甥女，其妻怀孕七个月，所以也可以说失去了五个亲人！他身穿孝衣邀铁道部官员一起参观他因野蛮铲车导致尸体残缺，头部不齐的亲人遗体，该官员连连后退：我给你鞠躬，对不起！</p>
<p>7月25日 22:53，@公民微报：求真相再次发！据报：保险公司收到医院的死亡人数是179个，新闻报道死亡人数不到40人。</p>
<p>7月25日 22:55，网易微博@龚伟杰：保险公司朋友告诉我，现在核实死亡216人 还没有核实的。</p>
<p>7月26日 8:30， @truth_cn这样都被兲朝狗官想得出: 中新浙江网7月25日电（记者 赵晔娇）有消息称，“温州事故原因有新进展：铁路调度程序员出现BUG（故障）是本次事故的根本原因，警方已经拘留了两名无证程序员。上海大火是无证电焊工，这次是无证程序员。</p>
<p>7月26日 8:37，中央人民广播电台翔宇：铁道部发言人王勇平说：“雷击造成设备故障。”而全国雷电防护标准化技术委员会委员关像石却说：“我只有两句话好说！第一句，此次事故绝对是人祸！第二句，我对政府的善后工作很失望！”</p>
<p>7月26日 14:04，家属看到领导来了，非常气愤，起冲突了，砸了水瓶。</p>
<p>7月26日 14:21，记者不让他们走，家属在质问，家属和领导发生激烈冲突。“我妹妹还有半个头在里面！！！！”汤先生声斯力捷的喊！！！！！</p>
<p>7月26日14:36，汤先生给专家跪下了，但是他们动用警力把记者强行拉住。汤先生已经哭的不行了，央视的记者大骂铁道部的人是狗！！！</p>
<p>7月26日 14:44，这就是所谓的专家，坐在那里一言不发，我与他们一同身为人类感到可耻。</p>
<p>7月26日 15:10，一听到是省内某城市的记者来采访，家属直接拒绝回答，“跟你们说他妈屁用，又不能播”。</p>
<p>7月26日 15:37，家属不知又被带往何处，刚才有人向他们保证切割前会通知他们，你们信吗？</p>
<p>7月26日 16:02，遇难者家属陈峰在事故中失去了五位亲人，其中包括他怀孕7个月的妻子。面对镜头，他对救援工作提出质疑</p>
<p>7月26日 15:01，浙江省委书记大人实在很忙！！当年杭州地铁塌陷，他在海外访问；前两天三桥垮塌，他在海外访问；温州动车追尾，他也在海外访问。</p>
<p>7月26日 15:30，一个强盛的国家，开放枪支都不会被颠覆；一个虚弱的政体，买菜刀都需要实名；一个人性的国家，总统会逐一念出遇难者的名字致以哀悼，一个冰冷的政府，遇难人数从来都是高度机密要被隐瞒；一个自由的国家，记者可以将内阁大臣追问到满头大汗，一个禁锢的体制，官员则告诉记者，你爱信不信，反正我信。</p>
<p>7月26日 15:30，上海铁路局局长、党委书记、副局长三人就地免职之后，铁道部总调度长安路生调任上海铁路局局长。安路生，2006年任总调度长，2008年因胶济铁路4．28重大事故免职，之后出任成都铁路局局长，2009年调任上海铁路局局长，2010年重新出任铁道部总调度长。这算什么？？？</p>
<p>7月26日 12:25，今天《人民日报》头版：“党的恩情比天高”。<br />
不知道哪里有痰盂，我想。</p>
<p>铁道部发言人王勇平先生你好，您的大女儿王晓英是铁道部财务局主任，大女婿李阁奎是北京市交通局副局长，二女儿王晓霞是北京市计生局处长，二女婿郭亮是北京市中心医院副院长，小儿子王晓飞是铁道部质检科科长，儿媳张宁是市妇联主任，孙子北京市实验小学副班长王小帅，我所了解的这些情况都没错吧？</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/723-train-crash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用C++来编写PHP扩展</title>
		<link>http://blog.eaxi.com/php-extension-in-cpp/</link>
		<comments>http://blog.eaxi.com/php-extension-in-cpp/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 11:30:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/%e7%94%a8c%e6%9d%a5%e7%bc%96%e5%86%99php%e6%89%a9%e5%b1%95/</guid>
		<description><![CDATA[前面有文章介绍过如何编写一个简单的PHP扩展。简单说，也就下面几步： 去ext目录用ext_skel生成扩展框架 去php源文件目录./buildconf &#8211;force 编辑config.m4 修改extname.c ./configure &#38;&#38; make &#38;&#38; make install 本文介绍下如何在扩展编写过程中，使用C++。 读到这里，如果你还不知道GNU m4或phpize，建议参阅下相关资料。简而言之，GNU m4是一个用于生成文件的宏处理器。这里的phpize是调用了GNU m4来生成configure文件以及其他相关文件。Configure则是生成Makefile的一个bash脚本。 PHP扩展默认使用C语言来完成编码。若想使用C++，需要对config.m4文件做出相应修改。   PHP_REQUIRE_CXX()   PHP_ADD_LIBRARY_WITH_PATH(tlib, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(library_sys, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(library_util, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(ip_pool, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD)   PHP_SUBST(WANGGOU_SHARED_LIBADD) PHP_ADD_LIBRARY(stdc++, 1, WANGGOU_SHARED_LIBADD)   PHP_ADD_INCLUDE($INC_EXPORT_PATH) PHP_ADD_INCLUDE($EXT_PROTOCOL_PATH) PHP_NEW_EXTENSION(wanggou, wanggou.cpp, $ext_shared)   说明： 上述宏的第一句，表明了该扩展需要使用CXX编译器。 接下来四行，添加扩展中依赖的库，也就是 –Lpath/to/lib –lsomelib 段的内容。 接下来添加C++标准库。 下来两行是头文件包含的目录配置。 最后一行表明源代码文件的名字是以.cpp结尾。需要自己重命名自动生成的wanggou.c。   [...]]]></description>
			<content:encoded><![CDATA[<p>前面有文章介绍过如何编写一个简单的PHP扩展。简单说，也就下面几步：
</p>
<ol>
<li>去ext目录用ext_skel生成扩展框架
</li>
<li>去php源文件目录./buildconf &#8211;force
</li>
<li>编辑config.m4
</li>
<li>修改extname.c
</li>
<li>./configure &amp;&amp; make &amp;&amp; make install
</li>
</ol>
<p>本文介绍下如何在扩展编写过程中，使用C++。
</p>
<p>读到这里，如果你还不知道GNU m4或phpize，建议参阅下相关资料。简而言之，GNU m4是一个用于生成文件的宏处理器。这里的phpize是调用了GNU m4来生成configure文件以及其他相关文件。Configure则是生成Makefile的一个bash脚本。
</p>
<p>PHP扩展默认使用C语言来完成编码。若想使用C++，需要对config.m4文件做出相应修改。
</p>
<p>
 </p>
<p><span style="font-family:Courier New; font-size:10pt"><br />
			<span style="color:red">PHP_REQUIRE_CXX()</span><br />
		</span></p>
<p>
 </p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_LIBRARY_WITH_PATH(<span style="color:black; text-decoration:underline">tlib</span>, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD)<br />
</span></p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_LIBRARY_WITH_PATH(library_sys, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD)<br />
</span></p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_LIBRARY_WITH_PATH(library_util, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD)<br />
</span></p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_LIBRARY_WITH_PATH(ip_pool, $LIB_EXPORT_PATH, WANGGOU_SHARED_LIBADD)<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_SUBST(WANGGOU_SHARED_LIBADD)<br />
</span></p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_LIBRARY(<span style="color:red"><span style="text-decoration:underline">stdc</span>++</span>, 1, WANGGOU_SHARED_LIBADD)<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_INCLUDE($INC_EXPORT_PATH)<br />
</span></p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_ADD_INCLUDE($EXT_PROTOCOL_PATH)<br />
</span></p>
<p><span style="font-family:Courier New; font-size:10pt">  PHP_NEW_EXTENSION(<span style="color:black; text-decoration:underline">wanggou</span>, <span style="color:red">wanggou.cpp</span>, $ext_shared)</span>
	</p>
<p>
 </p>
<p>说明：
</p>
<p>上述宏的第一句，表明了该扩展需要使用CXX编译器。
</p>
<p>接下来四行，添加扩展中依赖的库，也就是 –Lpath/to/lib –lsomelib 段的内容。
</p>
<p>接下来添加C++标准库。
</p>
<p>下来两行是头文件包含的目录配置。
</p>
<p>最后一行表明源代码文件的名字是以.cpp结尾。<span style="color:red">需要自己重命名自动生成的wanggou.c</span>。
</p>
<p>
 </p>
<p>接下来就是编码了，像平常一样include头文件，修改完文件，直接make来测试。
</p>
<p>祝你成功！
</p>
<p>&#8211;EOF—</p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/php-extension-in-cpp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP SSH2</title>
		<link>http://blog.eaxi.com/php-ssh2/</link>
		<comments>http://blog.eaxi.com/php-ssh2/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 16:35:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不想分类]]></category>
		<category><![CDATA[php ssh2 linux]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/?p=586</guid>
		<description><![CDATA[function exec($cfg) { $conn = ssh2_connect($cfg['fip'], C(&#8216;SSH_PORT&#8217;)); if (!$conn) return &#8220;cannot connect to server {$cfg}:&#8221;.C(&#8216;SSH_PORT&#8217;); $auth = ssh2_auth_password($conn, $cfg['flogin'], $cfg['floginpwd']); if (!$auth) return &#8220;auth failed&#8221;; $stdout_stream = ssh2_exec($conn, C(&#8216;REALTIME_CMD&#8217;)); //$stdio_stream = ssh2_shell($conn); $stderr_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR); stream_set_blocking($stderr_stream, true); stream_set_blocking($stdout_stream, true); $out = &#8220;&#8221;; while($line = fgets($stdout_stream)) { flush(); $out .= $line;} $err = &#8220;&#8221;; while($line [...]]]></description>
			<content:encoded><![CDATA[<p>function exec($cfg)<br />
    {<br />
        $conn = ssh2_connect($cfg['fip'], C(&#8216;SSH_PORT&#8217;));<br />
        if (!$conn) return &#8220;cannot connect to server {$cfg}:&#8221;.C(&#8216;SSH_PORT&#8217;);</p>
<p>        $auth = ssh2_auth_password($conn, $cfg['flogin'], $cfg['floginpwd']);<br />
        if (!$auth) return &#8220;auth failed&#8221;;</p>
<p>        $stdout_stream = ssh2_exec($conn, C(&#8216;REALTIME_CMD&#8217;));<br />
        //$stdio_stream = ssh2_shell($conn);</p>
<p>        $stderr_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR);</p>
<p>        stream_set_blocking($stderr_stream, true);<br />
        stream_set_blocking($stdout_stream, true);</p>
<p>        $out = &#8220;&#8221;;<br />
        while($line = fgets($stdout_stream)) { flush(); $out .= $line;}</p>
<p>        $err = &#8220;&#8221;;<br />
        while($line = fgets($err_stream)) { flush(); $err .= $line; }</p>
<p>        fclose($stdout_stream);<br />
        fclose($stderr_stream);</p>
<p>        return array($out, $err);<br />
    }<br />
<a href='http://blog.eaxi.com/wp-content/uploads/2011/04/php_ssh2.dll_.zip'>php_ssh2.dll</a></p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/php-ssh2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决netstat中TIME_WAIT过多的问题</title>
		<link>http://blog.eaxi.com/netstat-time_wait/</link>
		<comments>http://blog.eaxi.com/netstat-time_wait/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 09:56:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[服务器]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tcp/ip]]></category>

		<guid isPermaLink="false">http://blog.eaxi.com/?p=583</guid>
		<description><![CDATA[调节内核参数： net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 如果，你的服务器，和所有可能的客户，都不处于NAT环境，还可以打开 net.ipv4.tcp_tw_recycle = 1 这里要注意一点，普通公网的机器不能起用回收，否则会导致问题。 参考： http://zhangle.is-a-geek.org/2010/11/tcp_tw_recycle%E5%92%8Cnat/Related PostsLINUX命令xargs的简单应用及举例rsync 错误与解决方案收集apache mod_negotiation与MultiViews的奥妙对于exec函数家族的理解Sed SkillsDebian NO_PUBKEY errorubuntu 9.04 screenshot关于LINUX登陆Linux 时区问题BSD 小恶魔，Linux企鹅图片收集]]></description>
			<content:encoded><![CDATA[<p>调节内核参数：<br />
net.ipv4.tcp_tw_reuse = 1<br />
net.ipv4.tcp_fin_timeout = 30</p>
<p>如果，你的服务器，和所有可能的客户，都不处于NAT环境，还可以打开<br />
net.ipv4.tcp_tw_recycle = 1</p>
<p>这里要注意一点，普通公网的机器不能起用回收，否则会导致问题。<br />
参考：</p>
<p><a href="http://zhangle.is-a-geek.org/2010/11/tcp_tw_recycle%E5%92%8Cnat/" rel="nofollow">http://zhangle.is-a-geek.org/2010/11/tcp_tw_recycle%E5%92%8Cnat/</a></p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://blog.eaxi.com/linux-xargs/" title="LINUX命令xargs的简单应用及举例">LINUX命令xargs的简单应用及举例</a></li><li><a href="http://blog.eaxi.com/rsync-hints/" title="rsync 错误与解决方案收集">rsync 错误与解决方案收集</a></li><li><a href="http://blog.eaxi.com/apache-mod_negotiation-multiviews/" title="apache mod_negotiation与MultiViews的奥妙">apache mod_negotiation与MultiViews的奥妙</a></li><li><a href="http://blog.eaxi.com/exec-function-family/" title="对于exec函数家族的理解">对于exec函数家族的理解</a></li><li><a href="http://blog.eaxi.com/sed-skills/" title="Sed Skills">Sed Skills</a></li><li><a href="http://blog.eaxi.com/debian-no_pubkey-error/" title="Debian NO_PUBKEY error">Debian NO_PUBKEY error</a></li><li><a href="http://blog.eaxi.com/ubuntu-9-04-screenshot/" title="ubuntu 9.04 screenshot">ubuntu 9.04 screenshot</a></li><li><a href="http://blog.eaxi.com/%e5%85%b3%e4%ba%8elinux%e7%99%bb%e9%99%86/" title="关于LINUX登陆">关于LINUX登陆</a></li><li><a href="http://blog.eaxi.com/linux-timezone/" title="Linux 时区问题">Linux 时区问题</a></li><li><a href="http://blog.eaxi.com/linux-bsd/" title="BSD 小恶魔，Linux企鹅图片收集">BSD 小恶魔，Linux企鹅图片收集</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.eaxi.com/netstat-time_wait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

