<?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>葡萄树 On The Road --- 我只是一个会操作计算机的民工</title>
	<atom:link href="http://www.am82.com/houzan/feed" rel="self" type="application/rss+xml" />
	<link>http://www.am82.com/houzan</link>
	<description>我的时光，停在了你的角落...~</description>
	<lastBuildDate>Tue, 09 Mar 2010 01:58:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>水面沉没</title>
		<link>http://www.am82.com/houzan/archives/3900</link>
		<comments>http://www.am82.com/houzan/archives/3900#comments</comments>
		<pubDate>Tue, 09 Mar 2010 01:58:56 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[浓咖啡]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[转]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3900</guid>
		<description><![CDATA[出差到京，心里惦记着如何把前女友推倒在酒店的大床。上学那阵没条件，教室仓库小树林，都是伸手摸着把土屁股下压本练习册的地方，逮哪荒凉在哪腻咕，办点事比地道战还惊心动魄，就因为这，每次都点到为止不能尽兴，这边刚春潮带雨晚来急，转眼工夫就野渡无人舟自横了，管起飞不管降落，好多怪毛病都是那时候坐下的。

回头这就成了人夫人妇，外部条件都满足了，法律道德上却又不允许了，造化弄人这词估计专为这事设计的。床也到位了，人也到位了，空调设上高温，再配上红酒普洱一水的......]]></description>
			<content:encoded><![CDATA[<p>出差到京，心里惦记着如何把前女友推倒在酒店的大床。上学那阵没条件，教室仓库小树林，都是伸手摸着把土屁股下压本练习册的地方，逮哪荒凉在哪腻咕，办点事比地道战还惊心动魄，就因为这，每次都点到为止不能尽兴，这边刚春潮带雨晚来急，转眼工夫就野渡无人舟自横了，管起飞不管降落，好多怪毛病都是那时候坐下的。</p>
<p>回头这就成了人夫人妇，外部条件都满足了，法律道德上却又不允许了，造化弄人这词估计专为这事设计的。床也到位了，人也到位了，空调设上高温，再配上红酒普洱一水的昏黄灯光，明摆着旧梦重温礼崩乐坏的地界，谁要在这儿谈理想谈人生都不好意思再呆下去。万事俱备，却没了东风，留下我俩面面相觑，大眼瞪小眼，欲言又止，心事重重，满脑子枪林弹雨肉欲横飞，说出口却成了家长里短陈康烂谷。</p>
<p>她凑到我身边秀她手机里的睡衣照，我犹豫下，没有一把搂住她，于是她又坐了回去；我挪揄她，她捶了我两拳，我没顺势抓住她的手，于是我被揍得很疼；不知怎么扯到了过去的香艳，谈起教师仓库小树林，但起个头，俩人都不好意思再说下去，就谈起了两会；有半分钟她仰面躺在了床上，我从椅子上站起来，到底没敢骑上去，于是转一圈又骑上了椅子。</p>
<p>整整三个钟头，没人提议下去吃口饭吧，当然也没人提上床这茬，就干靠着，拢共那么点话题，说到后来都口干舌燥脑仁生疼。所谓共同拥有的汹涌记忆，谈两句就原形毕露，流量还赶不上偏旁上的三点水；欢声笑语，无非是没话找话；满屋子欲望，到底敌不过一纸婚书；良辰美景，倒更像是无从下手的满目疮痍。</p>
<p>终于她看看表，说太晚了该回去了，我如释重负，说好，心里却依依不舍。一起走到楼下，送她上了车，失魂落魄地回到房间，突然接到她发来的消息，说恶心，我打趣回她，怀上了？她说，靠，看的啊。于是黯然。隔一会又收到她消息，说想想也挺好，要是怎样了也许会弥补过去的遗憾，但像这样没怎样也许会留下一生的回忆。我想说回忆算个屁，但还是顺着这话说下去，说是啊，说葡萄好酸。其实我时刻盼望着房门在这一刻响起，她掉头回来出现在我面前，接下来的一切便顺理成章，可想而知，这根本没有发生。第二天我接到单位通知，回家了。</p>
<p>这并非一个已婚男人在这里唧唧歪歪如何经受住了考验，我也不想垂头丧气跟你说，操，哥们这回傻逼了。我从不以好好先生自居，也不把婚姻当成多了不起件事。我就是纳闷，曾经那点勇气到哪去了呢？当年在课堂上，在放学后，我始终遵循着一股强大的利令智昏和丧心病狂的激情，将她屡次推倒，到了今天，万事俱备你情我愿，我反而束手无策抓耳挠腮。在那一刻，我想到的不是责任，不是道德，也不是随之而来的边际效应，更与姿色和身材无关，也就是说，并非是理智叫我选择了这个结果，突然间，我只是感到莫名的衰弱和乏味，与脑海中炽热的记忆形成强烈的反差。从她进门的那一刻起，我想到的不是重逢，而仅仅是告别。</p>
<p>那天晚上我脑子里反复出现一句话，就是钱德勒说的，告别就是死亡一点点。这句话之所以奇妙，就在于放之四海而皆准，对我来说，在这次告别中死掉的不是生命的长度，而是上延，是臂展，是水面，死掉的是生命的厚度。换句话说，在这次会面以前，我一直相信自己正拼命在水面以下扑腾，划水，摆腿，像狗一般刨来刨去，左扭右扭变换姿态，以为使尽全力才能探出头，大口呼吸到外面的氧气，而我现在才知道，其实我早已浮出水面，那片曾经湮没过我的水，那片我为之担惊受怕的巨大激情和幻想，那片曾有可能成为灭顶之灾的蔚蓝，早已渐渐退到腰部以下，露出我干涸、赤裸又遍布赘肉的身躯，在水面上东张西望，浑然不觉还手舞足蹈地猛做划水状。</p>
<p>记忆的潮水每时每刻都在添油加醋形成汪洋，生活的火苗却一刻不停地釜底抽薪渐渐熄灭，溺水的求救，早晚会变成自慰的喘息，晃晃悠悠的身影，有天会被便便大腹稳住了重心，拿什么拯救是你丫闭嘴，暮然回首，一张近在咫尺的脸总能叫你瞠目结舌。有人说，琐碎而平淡的涓涓细流会将人湮没，事实上浮力也好，压力也罢，生活从没有予人更多，水面早早涨满，随后只在不停下降，直到从脚下龟裂的大地上流淌走最后一滴，留下一具具干渴至死的人形残骸，嘴角残留着回光返照儿时泡在水中嬉戏的笑容。人湮没了水，而不是水湮没了人，沉没的不是人，沉没的只是水面。</p>
<p>有人将这种状态比作在云端，而我称之为水面沉没。</p>
<p>from：<a href="http://www.tugus.com/bbs_content:137337107864602334173417::">http://www.tugus.com/bbs_content:137337107864602334173417::</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3900/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>还学雷锋么？</title>
		<link>http://www.am82.com/houzan/archives/3898</link>
		<comments>http://www.am82.com/houzan/archives/3898#comments</comments>
		<pubDate>Tue, 09 Mar 2010 01:13:57 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[三八纯情]]></category>
		<category><![CDATA[雷锋]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3898</guid>
		<description><![CDATA[3.5是学雷锋日，在推特上看到一则令人喷饭的推，前半截早已看过，最后一句是龙睛之笔：
——不抽烟不喝酒，63岁，林彪同志；只喝酒不抽烟，73岁，恩来同志；只抽烟不喝酒，83岁，主席同 志；既抽烟又喝酒，93岁，小平同志；吃喝嫖赌样样来，103 岁，学良将军；啥坏习惯没有，每天尽做好人好事，23岁，雷锋同志。
]]></description>
			<content:encoded><![CDATA[<p>3.5是学雷锋日，在推特上看到一则令人喷饭的推，前半截早已看过，最后一句是龙睛之笔：</p>
<p>——不抽烟不喝酒，63岁，林彪同志；只喝酒不抽烟，73岁，恩来同志；只抽烟不喝酒，83岁，主席同 志；既抽烟又喝酒，93岁，小平同志；吃喝嫖赌样样来，103 岁，学良将军；啥坏习惯没有，每天尽做好人好事，23岁，雷锋同志。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3898/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux 内存计算</title>
		<link>http://www.am82.com/houzan/archives/3895</link>
		<comments>http://www.am82.com/houzan/archives/3895#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:41:10 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[技术专题]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3895</guid>
		<description><![CDATA[物理内存 + 占用的swap ＝ 空闲物理内存 ＋ Memory buffer ＋ Disk Cache ＋ 使用掉的驻留内存

4G + 53MB = 17MB + 46MB + 3.2GB + ?

所以使用掉的驻留内存差不多有700-800MB

再累计你top出来那些进程的驻留内存数量，应该是八九不离十的。

从你的操作系统的性能数据来.......]]></description>
			<content:encoded><![CDATA[<p>物理内存 + 占用的swap ＝ 空闲物理内存 ＋ Memory buffer ＋ Disk Cache ＋ 使用掉的驻留内存</p>
<p>4G + 53MB = 17MB + 46MB + 3.2GB + ?</p>
<p>所以使用掉的驻留内存差不多有700-800MB</p>
<p>再累计你top出来那些进程的驻留内存数量，应该是八九不离十的。</p>
<p>从你的操作系统的性能数据来看，物理内存还空闲的很，大部分物理内存被操作系统用做disk cache，可能你的系统IO还是稍微有点频繁的。swap也占用了一点，说明操作系统曾经出现过短暂的内存吃紧的状况，把一些闲置进程换到了swap上 去了，而这些闲置进程一直也没有再被使用到过，所以一直待在swap里面没有出来过。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3895/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux字符设备驱动程序编写基本流程</title>
		<link>http://www.am82.com/houzan/archives/3892</link>
		<comments>http://www.am82.com/houzan/archives/3892#comments</comments>
		<pubDate>Mon, 08 Mar 2010 02:46:45 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[嵌入开发]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[驱动]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3892</guid>
		<description><![CDATA[1.Linux驱动程序编写基本流程：
1.首先是一些版本信息，没什么用，但是不能少
#define __NO_VERSION__
#include <linux/modules.h>
#include <linux/version.h>
char kernel_version[] = UTS_RELEASE;
2.为了把系统调用和驱动程序关联起来，需要一个非常关键的数据结构：struct file_operations。file_operations结构的每一个成员的名字都对应着一个系统调用。用户..........]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">1.Linux驱动程序编写基本流程：</div>
<div id="_mcePaste">1.首先是一些版本信息，没什么用，但是不能少</div>
<div id="_mcePaste">#define __NO_VERSION__</div>
<div id="_mcePaste">#include &lt;linux/modules.h&gt;</div>
<div id="_mcePaste">#include &lt;linux/version.h&gt;</div>
<div id="_mcePaste">char kernel_version[] = UTS_RELEASE;</div>
<div id="_mcePaste">2.为了把系统调用和驱动程序关联起来，需要一个非常关键的数据结构：struct file_operations。file_operations结构的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用在对设备文件进行诸如read/write操作时，系统调用通过设备文件的主设备号找到相应的设备驱动程序，然后读取这个数据结构相应的函数指针，接着把控制权交给该函数。这是linux的设备驱动程序工作的基本原理。编写设备驱动程序的主要工作就是编写子函数，并填充file_operations的各个域</div>
<div id="_mcePaste">3.简单驱动程序的编写（test.c）：</div>
<div id="_mcePaste">a.包含一些基本的头文件。</div>
<div id="_mcePaste">b.编写一些功能函数，比如read()，write()等。这些函数被调用时系统进入和心态。</div>
<div id="_mcePaste">c.定义struct file_operations结构的对象，填充结构体。结构体中功能的顺序不能改变，若一些功能没有实现就用NULL填充，已经实现的功能如read()、write()分别添加到对应的位置。这步实现的是函数的注册。到这里驱动程序的主体可以说是写好了。现在需要把驱动程序嵌入内核。</div>
<div id="_mcePaste">d.注册设备驱动程序，使用register_chrdev注册字符型设备。函数原型为：</div>
<div id="_mcePaste">int register_chrdev(0, &#8220;test_name&#8221;, &amp;test_file_operations)</div>
<div id="_mcePaste">函数返回主设备号，若注册成功返回值大于0。</div>
<div id="_mcePaste">第一个参数：主设备号。第二个参数：注册的设备名。第三个参数：结构体名（设备相关操作方式，驱动程序实际执行操作的函数的指针）。</div>
<div id="_mcePaste">这个函数由int init_module(void)函数调用，这个函数在系统启动时注册到内核时调用。</div>
<div id="_mcePaste">e.在用rmmod卸载模块时，cleanup_module函数被调用，它释放字符设备test在系统字符设备表中占有的表项。</div>
<div id="_mcePaste">void cleanup_module(void)</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">unregister_chrdev(test_major, &#8220;test&#8221;);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">到这里test.c基本就编写完成了。一个简单的字符设备可以说写好了。</div>
<div id="_mcePaste">4.编译</div>
<div id="_mcePaste">$ gcc -O2 -DMODULE -D__KERNEL__ -c test.o test.c</div>
<div id="_mcePaste">得到文件test.o就是一个设备驱动程序。</div>
<div id="_mcePaste">如果设备驱动程序有多个文件，把每个文件按上面的命令行编译，然后</div>
<div id="_mcePaste">ld -r file1.o file2.o -o modulename</div>
<div id="_mcePaste">驱动程序已经编译好了，现在把它安装到系统中去。</div>
<div id="_mcePaste">$ insmod -f test.o</div>
<div id="_mcePaste">安装成功在/proc/devices文件中就可以看到设备test，并可以看到主设备号。要卸载运行：</div>
<div id="_mcePaste">$ rmmod test</div>
<div id="_mcePaste">5.创建设备节点</div>
<div id="_mcePaste">mkmod /dev/test c major minor</div>
<div id="_mcePaste">c是指字符设备，major是主设备号，minor是从设备号，一般可以设置为0</div>
<div id="_mcePaste">以上就是Linux驱动编写的基本过程了，可能有遗漏的地方，这个我只是按我理解的整理的。具体问题还要在实践中再进行研究。</div>
<p>1.Linux驱动程序编写基本流程：<br />
1.首先是一些版本信息，没什么用，但是不能少<br />
#define __NO_VERSION__<br />
#include &lt;linux/modules.h&gt;<br />
#include &lt;linux/version.h&gt;<br />
char kernel_version[] = UTS_RELEASE;　　2.为了把系统调用和驱动程序关联起来，需要一个非常关键的数据结构：struct file_operations。file_operations结构的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用在对设备文件进行诸如read/write操作时，系统调用通过设备文件的主设备号找到相应的设备驱动程序，然后读取这个数据结构相应的函数指针，接着把控制权交给该函数。这是linux的设备驱动程序工作的基本原理。编写设备驱动程序的主要工作就是编写子函数，并填充file_operations的各个域<br />
3.简单驱动程序的编写（test.c）：<br />
a.包含一些基本的头文件。<br />
b.编写一些功能函数，比如read()，write()等。这些函数被调用时系统进入和心态。<br />
c.定义struct file_operations结构的对象，填充结构体。结构体中功能的顺序不能改变，若一些功能没有实现就用NULL填充，已经实现的功能如read()、write()分别添加到对应的位置。这步实现的是函数的注册。到这里驱动程序的主体可以说是写好了。现在需要把驱动程序嵌入内核。<br />
d.注册设备驱动程序，使用register_chrdev注册字符型设备。函数原型为：<br />
int register_chrdev(0, &#8220;test_name&#8221;, &amp;test_file_operations)<br />
函数返回主设备号，若注册成功返回值大于0。<br />
第一个参数：主设备号。第二个参数：注册的设备名。第三个参数：结构体名（设备相关操作方式，驱动程序实际执行操作的函数的指针）。<br />
这个函数由int init_module(void)函数调用，这个函数在系统启动时注册到内核时调用。e.在用rmmod卸载模块时，cleanup_module函数被调用，它释放字符设备test在系统字符设备表中占有的表项。<br />
void cleanup_module(void)<br />
{<br />
unregister_chrdev(test_major, &#8220;test&#8221;);<br />
}<br />
到这里test.c基本就编写完成了。一个简单的字符设备可以说写好了。　　4.编译<br />
$ gcc -O2 -DMODULE -D__KERNEL__ -c test.o test.c<br />
得到文件test.o就是一个设备驱动程序。<br />
如果设备驱动程序有多个文件，把每个文件按上面的命令行编译，然后<br />
ld -r file1.o file2.o -o modulename<br />
驱动程序已经编译好了，现在把它安装到系统中去。<br />
$ insmod -f test.o<br />
安装成功在/proc/devices文件中就可以看到设备test，并可以看到主设备号。要卸载运行：<br />
$ rmmod test<br />
5.创建设备节点<br />
mkmod /dev/test c major minor<br />
c是指字符设备，major是主设备号，minor是从设备号，一般可以设置为0<br />
以上就是Linux驱动编写的基本过程了，可能有遗漏的地方，这个我只是按我理解的整理的。具体问题还要在实践中再进行研究。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3892/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《无耻混蛋》：孙子，别装了</title>
		<link>http://www.am82.com/houzan/archives/3887</link>
		<comments>http://www.am82.com/houzan/archives/3887#comments</comments>
		<pubDate>Sun, 07 Mar 2010 03:26:01 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[三八纯情]]></category>
		<category><![CDATA[无耻混蛋]]></category>
		<category><![CDATA[电影]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3887</guid>
		<description><![CDATA[我是个骗子，打小就爱撒谎聊皮儿，学校收书费，我跟家里多要两块，吃烤串就汽水；考试砸了锅，老师叫家长往卷子上签名，我照猫画虎，签我爸名往上交；放学不回家，说老师补课，其实牵小女友的手逛大街玩；考试作弊，阳奉阴违，惹祸往别人身上赖，不堪回首的往事，缺德事一件接一件。其实都是正经人家孩子，都受过诚实教育，人心都是肉长的，谁也不是天生混蛋，撒一回谎，也羞愧，也彷徨，不到万不得已，谁能豁出来自个干这下三滥的勾当，别说八荣八耻人人有责，就想想撒谎时上煎下烤的架势，小脸通红，心砰砰跳，一捏手掌心全是汗。

其实我想说的是，撒谎这事实.......]]></description>
			<content:encoded><![CDATA[<p><a href="http://tu.6.cn/pic/show-new/id/6881237"><img src="http://i3.6.cn/cvbnm/59/40/c9/7570f24f1758b157323392f0d29bc19b.jpg" alt="" /></a><br />
我是个骗子，打小就爱撒谎聊皮儿，学校收书费，我跟家里多要两块，吃烤串就汽水；考试砸了锅，老师叫家长往卷子上签名，我照猫画虎，签我爸名往上交；放学不回家，说老师补课，其实牵小女友的手逛大街玩；考试作弊，阳奉阴违，惹祸往别人身上赖，不堪回首的往事，缺德事一件接一件。其实都是正经人家孩子，都受过诚实教育，人心都是肉长的，谁也不是天生混蛋，撒一回谎，也羞愧，也彷徨，不到万不得已，谁能豁出来自个干这下三滥的勾当，别说八荣八耻人人有责，就想想撒谎时上煎下烤的架势，小脸通红，心砰砰跳，一捏手掌心全是汗。</p>
<p>其实我想说的是，撒谎这事实在太刺激，太爽了，谁都无法拒绝，撒谎前灵光乍现，恶从胆边生，都觉得自个运筹帷幄决胜千里，与人对质时血脉泵张，心率过速，表面上还得若无其事巧舌如簧，结局非此即彼，不幸被戳穿的，灵魂出窍，万念俱灰，蹦极跳伞不过如此，真能把一场谎圆下来的，大梦初醒，长舒胸抑，比桑拿浴马杀鸡还爽。这世界最刺激那些事都跟撒谎有关，人人趋之若鹜，赌博，军事，还有政治，都靠骗术的高下论功行赏，上至官场商场战场职场，下至扑克麻将杀人游戏，摆明了你骗我，我骗你，鸡鸣狗盗各显神通，技巧好的，心有千千结，扯出天大的谎来，面不改色，云淡风轻，名利双收，技巧差的，禁不起一次折腾，大汗淋漓，破绽百出，输钱又输人。</p>
<p>所以说撒谎这回事，骗得失败才叫骗子，黔驴技穷露出马脚，既给人造成了危险，又侮辱了群众的智商，骗子过街，人人喊打，而骗得高明则是另一回事，卓越的骗术是一门艺术，整出骗局天衣无缝匪夷所思，骗人恍若隔世，骗人心花怒放，叫人意犹未尽，咂咂嘴觉得不够，受骗上瘾，被骗过一次还想上当受骗，这样的骗子通常被人尊为大师。作为大师中的大师，死骗子中的死骗子，昆丁早已习惯了接受来自四面八方的顶礼膜拜，他抖个包袱，满堂喝彩，耍个鬼把戏，一座皆惊，辈分混到这份上，搬出个粪球都有人前呼后拥，骗术次次得手，从不走空，昆丁躲在暗处，一脸坏笑，又满腔寂寞，于是他闲得蛋疼，干脆炮制出一篇《无耻混蛋》，告诉观众，也告诉自己，孙子，别装了，都知道你就是个骗子。</p>
<p>《无耻混蛋》到底在讲什么，依我看，讲的不是二战，讲的不是历史，讲的其实就是骗子那些事，影片刚开一场，一位法国骗子就粉墨登场，看他心定神闲的架势，又洗脸又抽烟，一脸的爱谁谁，一脸的问心无愧，长得就跟诚实本人似的，照说这演技真不赖，少算也得练过两年，搁咱普通人还真就看不出个子午卯酉，可惜小骗子遇上了祖师爷，道高一尺魔高一丈，当汉斯兰达上校抻出个巨型烟斗出来，我当场笑喷，装，叫你装，瞧你那揍性，这回傻了吧。果然，骗子精神崩溃，失声痛哭，可怜了地板下藏的一家犹太人，遇人不淑，所托非人，要找你们也找个骗术过硬的。</p>
<p>昆丁尽情享受着看破与戳穿之间的快乐，对于一场骗局来说，掐头去尾，唯有这中间东西最好，最有嚼头。陪着假模假式的孙子们，昆丁玩到尽兴，提供给他们一个尽情表现的舞台，洞若观火，不动声色，心里早就乐开了花，装，接着装，于是他顾左右而言其他，猫抓耗子，欲擒故纵，扮猪吃虎，请君入瓮，变着法把骗子往绝路上赶，道越走越窄，坡越爬越陡，孙子被玩到溜溜转，直到脚踩在悬崖边上，沙粒滑落，一望无底，惊觉走投无路，形如困兽，剑拔弩张，要么精神崩溃自投罗网，要么恼羞成怒殊死一搏，电光火石间，手起刀落，血肉横飞，乾坤挪移，命运流转，皆在一念之间。</p>
<p>开场的章节奠定了全片的基调，接下来，号称精通德语的骗子败于自己蹩脚的发音，貌美如花的女演员在上校兜里摸到那只要你命三千的高跟鞋，复仇心切的苏珊娜与列兵相互抵消，自以为技高一筹骗得了战后人民的汉斯兰达，作为影片骗术最高的终极人物，额头被刻上纳粹的图腾。整出《无耻混蛋》，讲的无非就是同一件事，所有谎言终归会被戳穿，所有骗局终究会败露，一招不慎，满盘皆输，天下就没有不透风的墙。每个骗子都以为一切尽在掌握，瞒天过海，因势利导，自以为摇身一变，就变成了自己想要的那个角色，但昆丁直截了当地告诉他们，孙子，有我在，这种事想都不要想。</p>
<p>于是昆丁假借中尉奥尔多的手，拎把片刀，一脸坏笑，问每个拣了条命的纳粹，你会脱下这身军服么，当然会脱下，所以我会给你一个脱不掉的标志，昆丁也在用电影问每一个人，你会装成那个不是你自己的人么，当然，所以我要把你们都找出来，你是装的，你也是，还有你，统统都是，鉴定完毕。昆丁一直在怀疑，他怀疑忠厚的外表下是否包藏祸心，他怀疑光鲜的衣装下是否有一具不堪的肉体，他怀疑道德公理，怀疑金科玉律，怀疑科学，怀疑历史，他怀疑每一件将人限制在条条框框里的规律。</p>
<p>于是，昆丁告诉世界，我不相信，他让每一位努力装扮的骗子不得善终，让每一出精心设计的骗局破绽百出，让希特勒戈培尔死在想象中而非记忆里，让眼见为实的虚构驱逐口说无凭的史实，他颠覆了所谓的传统，恶搞了所谓的历史，他在《无耻混蛋》的工作，就是猛一把扯下看似正确的遮羞布，把装模作样赤裸裸地暴露于世，临了还不忘蘸血割个注脚，孙子，别装了。</p>
<p>来源：<a href="http://bonofly.blog.163.com/profile/">bono</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3887/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>每周一推 2010-03-07</title>
		<link>http://www.am82.com/houzan/archives/3889</link>
		<comments>http://www.am82.com/houzan/archives/3889#comments</comments>
		<pubDate>Sat, 06 Mar 2010 21:15:00 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[胡思乱想]]></category>
		<category><![CDATA[推]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/archives/3889</guid>
		<description><![CDATA[你不属于自己，你的身体属于所有肇事司机 #
搞吃完东西，收拾完，就发现有人网上发帖叫嚣解密今天刘谦的魔术，虽然我不知道表演的时候，但是我还是很想说，魔术如果都知道怎么回事儿，还有意思么？解密视频见多了，每次我都忍住了，魔术就这么点儿乐趣了，爱怎么变他娘的怎么变，能让我合不拢嘴，我就很开心了～～～ #
北方玩儿核桃的老人不少，以前在天津上学时候经.......]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>你不属于自己，你的身体属于所有肇事司机 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9771312558">#</a></li>
<li>搞吃完东西，收拾完，就发现有人网上发帖叫嚣解密今天刘谦的魔术，虽然我不知道表演的时候，但是我还是很想说，魔术如果都知道怎么回事儿，还有意思么？解密视频见多了，每次我都忍住了，魔术就这么点儿乐趣了，爱怎么变他娘的怎么变，能让我合不拢嘴，我就很开心了～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9775820593">#</a></li>
<li>北方玩儿核桃的老人不少，以前在天津上学时候经常看到，没想到今天在超市居然碰到一位边走边揉着仨核桃～～～那个声音，听着惬～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9776380849">#</a></li>
<li>以前那会儿也想玩儿来着，但当时稍微好一点儿的核桃都不是我能承受的啊～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9776424230">#</a></li>
<li>我脱下棉裤，春姑娘就来了～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9778906156">#</a></li>
<li>RT @<a class="aktt_username" href="http://twitter.com/AVshare">AVshare</a>: 雨，骤冷，隐去了黑丝；<br />
男，打望，恨不来夏天。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9802136531">#</a></li>
<li>饭否再也回不来了吧～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9851366694">#</a></li>
<li>让我们在今天向这十三家报纸致敬“南方都市報，雲南信息報，經濟觀察報，內蒙古晨報，東南快報，華商報，安徽商報，城市晚報，新安晚報，重慶時報，大河報，遼沈晚報，湘晨報，都市時報 ” <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9851441048">#</a></li>
<li>看了韩局长的日记，让我陷入深深的沉思。。。为什么韩局长们可以随随便便和美女合体，我却连跟美女合个影都这么难呢。。。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9851479790">#</a></li>
<li>RT @<a class="aktt_username" href="http://twitter.com/shifeike">shifeike</a>: 自从局长日记曝光后，五毛们已经无心发帖了，回家连夜审问老婆去了—— 这个跟帖引用率最高 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9854488284">#</a></li>
<li>这一段都要在校区这边上课，每天用教育网，真实操蛋啊～～～比较一下，我还是喜欢电信的小水管～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9855891208">#</a></li>
<li>我从来不过阳历的生日，都是过阴历的，结果因为QQ上填的是阳历生日，搞的十年八辈子都没跟我联系过的人都发短信祝我生日快乐，我是该高兴呢，还是该&#8230;&#8230;.. <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9860508866">#</a></li>
<li>1988年，费曼与世长辞。死前最后一句话是：“死亡太无聊了，我可不愿死两次。” <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9861380300">#</a></li>
<li>在google里搜 2010-01 site:fanfou.com，还是能看到不少用短信更新的～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9861698617">#</a></li>
<li>发出来饭否关闭前更新的最后一条吧～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9861744722">#</a></li>
<li>哪个杀千刀的蚊子居然咬我的脸？想起来，中学时候有两年夏天，愣是没有一个蚊子叮我，搞的我很紧张，一直以为自己得什么病了，连蚊子都不咬我~~~后来，发现自己被蚊子咬了。我居然缺心眼儿的高兴了好几天~~~~~~<br />
2009-07-07 11:29 通过爱饭 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9861749915">#</a></li>
<li>每个人都会经历过犯傻逼，乱操逼，操一逼，被逼操，操不动的这一系列年龄的增长与变化。就像小时候你可以冲进澡堂一脸撞上阿姨的大臀，可是现在你冲男洗澡堂都有人要玩儿你的屁屁一样。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9871562277">#</a></li>
<li>无论这个逼你装的如何像，总有一天你会明白只有装成假鸡巴才是姑娘们手中的最爱，夜晚路灯下的你，就像一个拿着臭袜子的变态色魔一样，这个时候你才发现，你要的不是世人的仰望，你要的不是身边年轻姑娘用胸部挤你的脸，你要的只是在午夜拿臭袜子塞住女人的嘴巴。对，这就是你要的，一个真实的自己。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9871573174">#</a></li>
<li>装逼就要装的滴水不露，我装的是逼，但是我不流水，我装的是深沉，但是你不要和我聊寂寞。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9871582947">#</a></li>
<li>当你装逼装到有一些你认可的人不跟你玩儿了，一些你不爽的人要和你玩儿了的时候，你就想隐退了，你还要告诉自己：这他妈不就是高处不胜寒吗？ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9871594320">#</a></li>
<li>居然可以把饭否的消息导入进来～～～夸夸蟹爪～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9878059592">#</a></li>
<li>我担心这样下去蟹爪会不会也遭毒手？？？ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9878734292">#</a></li>
<li>07年注册了饭否我一直都不习惯，我更习惯在blog上大写特写，那会儿总觉得有说话完的伤感、牢骚&#8230;&#8230;.工作时间越长，被生活日的时间也越长，我的脾气，锋芒也磨的越光滑，慢慢等我打开blog没话说的时候，发现微博真是个好东西，感觉了几个月，结果饭否没了，这是我为什么为饭否伤感 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9878925469">#</a></li>
<li>最初申请饭否只是看很多人的blog侧面挂一个微博的窗口挺好看的～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9878950189">#</a></li>
<li>突然想到一个问题，假如谈恋爱谈了 7.8年，然后结婚之后发现老婆不孕，那之前多年的套套不都白买了？很大一笔钱哦！－－转 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9879248424">#</a></li>
<li>上得学堂，下得厨房，当得拳皇，混得流氓，胖的走样，仍然二的坚强!(桃小染) <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9909533244">#</a></li>
<li>说到幼女和萝莉的区别，ACG界知名的萝莉控翻译Archer分析道：“把一个小女孩推倒，她如果说：‘好痛哦~~’那就是幼女，如果她惊恐的说：‘你想干什么！？’那才是萝莉。“这是何等精辟的见解呀！rt <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9916903805">#</a></li>
<li>吸烟对肺不好喝酒对肝不好做爱对肾不好 ……还让男人活不！？ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9927675297">#</a></li>
<li>一姑娘问我：你看了韩峰局长的日记了吗？<br />
我：看了，里面怎么没有写你？<br />
姑娘：我去的比较晚，没排上。<br />
我：加油，我等着看续集。&#8212;转自（不许联想） <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9957660719">#</a></li>
<li>被时代，不被什么什么才是最幸福的事。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9957755755">#</a></li>
<li>脏话对俺们这种俗人就是个语气助词而已，其实并不是故意就想说它，譬如要是搁古时候。《史记》里头那句“呜呼哀哉，逢时不祥！”，要是让俺说那就是“妈了个逼，逢时不祥！”，表达的意思都是一样一样一样的。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9960825876">#</a></li>
<li>某程序员对书法十分感兴趣，退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日，饭后突生雅兴，一番磨墨拟纸，并点上了上好的檀香，颇有王羲之风范，又具颜真卿气势，定神片刻，泼墨挥毫，郑重地写下一行字：hello world. （via @<a class="aktt_username" href="http://twitter.com/hongbo">hongbo</a>） <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9966185849">#</a></li>
<li>性别：男，爱好：女 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9970913152">#</a></li>
<li>又开始牙疼了～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9973306718">#</a></li>
<li>牙疼～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9977426040">#</a></li>
<li>沈宏非：2010最新强人标准：跟得上股市的大盘，跑得出城管的地盘，买得起开发商的楼盘，看得懂统计局的算盘，躲得开醉汉的方向盘，忍得了非主流的脸盘，搞得定自己的椎间盘，盯得住旧爱的硬盘！ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/9978450813">#</a></li>
<li>蟹爪长的很像饭否，但是性能跟饭否完全不是一个数量级～～～如果不是它能同步推特，然后我不知道还能去什么地方，我真想废了它～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10006509795">#</a></li>
<li>美国佐治亚州格鲁吉亚-格威内特学院研究员发现，男人在窥视丰乳肥臀的女人时，脑部的满足感就像喝酒或吸毒。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10009455424">#</a></li>
<li>昨天晚上被牙疼折磨的翻来覆去睡不着，凌晨又被几个炸雷惊醒，等下还有四节课，我日～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10009753192">#</a></li>
<li>还是牙疼～～～ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10022373170">#</a></li>
<li>有事情再不去做就再没机会去做了 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10022675339">#</a></li>
<li>顺口溜：30岁的男人正在学坏，抱着同一代唱着同样的爱；40岁的男人已经学坏，抱着下一代唱着迟来的爱；50岁的男人最坏，抱着第三代唱着糊涂的爱。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10065350390">#</a></li>
<li>不知道什么时候左手的食指上被划了一道口子，我日，我说怎么这么疼～～～但是什么时候划的呢？ <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10072876983">#</a></li>
<li>先学会从众，再学会与众不同。 <a class="aktt_tweet_time" href="http://twitter.com/uptmd/statuses/10079410036">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3889/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>程序员进阶的建议：多看、多写、多交流</title>
		<link>http://www.am82.com/houzan/archives/3885</link>
		<comments>http://www.am82.com/houzan/archives/3885#comments</comments>
		<pubDate>Sat, 06 Mar 2010 16:37:36 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[挨踢消息]]></category>
		<category><![CDATA[建议]]></category>
		<category><![CDATA[程序员]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3885</guid>
		<description><![CDATA[很多初学者都说入门之后不知道该如何提高，我都是告诉他们多实践。最近在我们的团队中建立了一个学生的实习小组，我在和他们讲授程序设计分析的时候，我也给他们了个小建议写代码就是多看、多写，后来又补上一点：多交流。
我认为不管是做什么行业或工作，只要专注都可以有自己不同的成就。因此我觉得做任何事必需要有热情，而且是持续的热情，有一句话说“好的开始是成功的一半，持之以恒是成功的另一半”我很认同，所以自己的认定的事情就应该坚持的去做。我提出了三多：多看、多写、多交流，来将热情付出行动。
这里谈到的是当你入门后怎么使........]]></description>
			<content:encoded><![CDATA[<p>很多初学者都说入门之后不知道该如何提高，我都是告诉他们多实践。最近在我们的团队中建立了一个学生的实习小组，我在和他们讲授程序设计分析的时候，我也给他们了个小建议写代码就是多看、多写，后来又补上一点：多交流。<br />
我认为不管是做什么行业或工作，只要专注都可以有自己不同的成就。因此我觉得做任何事必需要有热情，而且是持续的热情，有一句话说“好的开始是成功的一半，持之以恒是成功的另一半”我很认同，所以自己的认定的事情就应该坚持的去做。我提出了三多：多看、多写、多交流，来将热情付出行动。<br />
这里谈到的是当你入门后怎么使自己不段的提高的一些方法，可能只是一些片面之词，但我相信只要你去做了都会有一些收获。<br />
在 我们开始学习程序，都必须对一些基础知识进行学习，例如语法、常用的内置函数，就PHP来说内置函数有成百上千个（没有统计过），就常用的也有上百个。怎 么才可以对这些逐个掌握？死记硬背？这是一个常人都无法做到的，即使是记住了，通常能否灵活的应用还要打个问号。那该怎么做呢？<br />
首先是多看，看技术文章，看开源代码。<br />
技 术文章应该不必多说，这是学习新技术和积累技术的必备渠道。这里我谈谈该怎么看，很多人包括我自已有时候，只是看一遍就算了，这样的结果一般都是知其然不 知所以然。我认为要把别人的东西变成自己的必须实践。把文章所说的技术通过自己理解的写出来并改进，并在合适的时候尽快应用的你的实际工作中。<br />
再 说看代码，一是一些网友的代码，这里就要有一个观念，就是不能迷信别人的代码，应该客观的去看，学习别人的方法的时候，应该去考虑它是否有问题，应该是辩 证的态度对对待，如果有问题自己试着去解决，并和他们交流。二是看开源项目中的代码，这类就不仅仅是看代码了还有框架、设计思想等。我建议每个人至少看到 1到2套开源代码，因为我认为开源代码对自己的提高比一般的技术文章要快的很多。首先它们都是一些较为成功的项目，在成功项目中其实包含了原作者的经验和 其项目不断改进中产生的非富经验。对于开源项目，我的方法是先从它的入口文件看起一般是index.php看它的整体文件结构，再看它的公共文件里的内 容，具体的一些常用的工具类，这样会对整个项目的结构有一个了解，然后就是你所兴趣的功能的具体实现代码，并详细搞懂他的实现方式和原理。在看的过程中你 肯定可以学到很多有价值的东西。我个人的经验是：看的最多的是DZ的代码，其它项目也很多，但比较全面的还是dz的代码。个人认为看代码还是比较速成的一 种方式，因为别人的走过的路你就不需要再走了，站在巨人的肩膀上总是可以走的更快更远。<br />
关于多写其实 上面也提到了，学习后的东西应该要马上实践，并尽快在合适的时候应用到自己的工作中，这样才能收获的更多更快。另一方面是自己尝试着去写一些小项目，只有 去做一完整性的项目才是最有价值的实践，但在做这些实践中我认为应该严格的要求自己，既然是为了学习，就不是应该敷衍了事，尽可能把所有细节都处理的最 好。还有就是时间一定要要求自己，不能拖，一方面是要给自己压力，二是如果时间拖的太久思路和激情没法持续的话，那你的计划很可能最终会失败并不了了之。<br />
开 篇我提到很多初学者都说入门之后不知道该如何提高，我都告诉他们要多写，为什么会无法提高，我认为是没有目标，只要你给自己定一个目标，然后去实现，完成 后其实也达到自己提高的目的了。例如你去写一个简单的博客程序，在实现的过程中会遇到很多问题，再逐一去解决，这样你就有了学习的方向了，解决问题就是积 累经验和学习的过程。总的来说要给自己设置一个需要完成的目标，这个目标是什么有什么内容，什么时候完成都很清楚。<br />
其实说到这里就可以回答上面该如何去掌握那么多的函数呢，当你看过和写过很多代码后你会发现你所掌握的函数和方法已经很多了，这就是在实践的过程中无形产生的结果。所以什么语法之类的基础的东西是不需要去死亡硬背的，在运用的时候自然就可以对它驾轻就熟。<br />
最 后我认为做技术的交流很重要，因为做技术是个永无止境的学习过程，而交流是一种更有效的学习方式。因为每个人的知识系统都是不同的，每个人掌握的东西不 同，思维方式各异。所以交流就是一个互相学习和促进的过程，当你把自己的想法与别人交流你就会收获更多新的想法。交流是一咱倍速增长的过程，前一段我写了 一篇《当你开启一扇门的时候，很多扇门将为你开启》给我们的团队就是想表达这个想法。<br />
交流有很多的， 有线上的有线下的，大家都有上论坛的习惯，这是一种交流方式，但我认为线下交流更有效，语言的交流比文字的交流方式更直接和全面。因为我是PEA福州的常 委之一，很多线下活动是由我组织的，从参加人数来看并不是很理想，所以我认为做技术的应该更开放一些，多参加类似PEA的这种交流。<br />
交流一定要是开放的，所以在交流中应该是一种包容的心态去面对。也就是说我们是持有自己想法的时候也应该耐心倾听他人的意见，不能认死理。只有站在客观的角度去看问题才能把问题看的更透彻，只有不抵触才能让自己学到更多的东西。<br />
在我们的技术团队中有定期的技术分享会，目的就是为了建立交流的平台，让大家都尝试表达自己的意见，锻炼自己的能力，并可以和更多的人去交流。<br />
最后总结一下，多看，吸收别人的经验转化为自己所用，多写，全面性的锻炼自己的能力，多交流，利用众人的智慧。三多更多的就是去做。<br />
本文投稿在《PHPer》http://www.phpchina.com/phper/25/06.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3885/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我们的回忆【话剧】【视频】</title>
		<link>http://www.am82.com/houzan/archives/3882</link>
		<comments>http://www.am82.com/houzan/archives/3882#comments</comments>
		<pubDate>Sat, 06 Mar 2010 03:27:22 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[三八纯情]]></category>
		<category><![CDATA[80后]]></category>
		<category><![CDATA[回忆]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3882</guid>
		<description><![CDATA[80后的回忆，我想如果我在剧场的话，很多地方我也会忍不住鼓掌的。坐在电脑前面，我还是忍不住在几个地方拼命鼓掌～～～]]></description>
			<content:encoded><![CDATA[<p>80后的回忆，我想如果我在剧场的话，很多地方我也会忍不住鼓掌的。坐在电脑前面，我还是忍不住在几个地方拼命鼓掌～～～<br />
<embed src="http://player.youku.com/player.php/sid/XMTU1NTA0NDAw/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3882/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>泰戈尔散文节选</title>
		<link>http://www.am82.com/houzan/archives/3880</link>
		<comments>http://www.am82.com/houzan/archives/3880#comments</comments>
		<pubDate>Fri, 05 Mar 2010 13:52:12 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[浓咖啡]]></category>
		<category><![CDATA[散文]]></category>
		<category><![CDATA[泰戈尔]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3880</guid>
		<description><![CDATA[１
      夏天的飞鸟，飞到我的窗前唱歌，又飞去了。
      秋天的黄叶，它们没有什么可唱，只叹息一声，飞落在那里。
     Stray birds of summer come to my window to sing and fly away.
     And yellow leaves of autumn, which have no songs, flutter and fall
there with a sign.

  ２

      世界上的一队........]]></description>
			<content:encoded><![CDATA[<p>１<br />
      夏天的飞鸟，飞到我的窗前唱歌，又飞去了。<br />
      秋天的黄叶，它们没有什么可唱，只叹息一声，飞落在那里。<br />
     Stray birds of summer come to my window to sing and fly away.<br />
     And yellow leaves of autumn, which have no songs, flutter and fall<br />
there with a sign.</p>
<p>  ２</p>
<p>      世界上的一队小小的漂泊者呀，请留下你们的足印在我的文字里。<br />
O Troupe of little vagrants of the world, leave your footprints in my words.</p>
<p>３</p>
<p>      世界对着它的爱人，把它浩翰的面具揭下了。<br />
      它变小了，小如一首歌，小如一回永恒的接吻。<br />
     The world puts off its mask of vastness to its lover.<br />
     It becomes small as one song, as one kiss of the eternal.</p>
<p>４</p>
<p>      是大地的泪点，使她的微笑保持着青春不谢。<br />
     It is the tears of the earth that keep here smiles in bloom.</p>
<p>５</p>
<p>      无垠的沙漠热烈追求一叶绿草的爱，她摇摇头笑着飞开了。<br />
      The mighty desert is burning for the love of  a bladeof grass who<br />
  shakes her head and laughs and flies away.</p>
<p>６</p>
<p>      如果你因失去了太阳而流泪，那么你也将失去群星了。<br />
     If you shed tears when you miss the sun, you also miss the stars.</p>
<p>７</p>
<p>      跳舞着的流水呀，在你途中的泥沙，要求你的歌声，你的流动呢。你肯挟<br />
瘸足的泥沙而俱下么？<br />
     The sands in your way beg for your song and your movement, dancing<br />
  water. Will you carry the burden of their lameness?</p>
<p>８</p>
<p>      她的热切的脸，如夜雨似的，搅扰着我的梦魂。<br />
     Her wishful face haunts my dreams like the rain at night.</p>
<p>９</p>
<p>      有一次，我们梦见大家都是不相识的。<br />
      我们醒了，却知道我们原是相亲相爱的。<br />
     Once we dreamt that we were strangers.<br />
     We wake up to find that we  were dear to each other.</p>
<p>１０</p>
<p>      忧思在我的心里平静下去，正如暮色降临在寂静的山林中。<br />
     Sorrow is hushed into peace in my heart like the evening among<br />
  the silent trees.</p>
<p>                                                      １１</p>
<p>      有些看不见的手，如懒懒的微风似的，正在我的心上奏着<br />
潺潺的乐声。<br />
     Some unseen fingers, like an idle breeze, are playing upon my heart<br />
the music of the ripples.</p>
<p>１２<br />
    “海水呀，你说的是什么？”</p>
<p>“是永恒的疑问。”<br />
    “天空呀，你回答的话是什么？”<br />
    “是永恒的沉默。”<br />
    What language is thine, O sea?</p>
<p>The language of eternal question.</p>
<p>What language is thy answer, O sky?</p>
<p>The language of eternal silence.</p>
<p>１３</p>
<p>      静静地听，我的心呀，听那世界的低语，这是它对你求爱的表示呀。<br />
     Listen, my heart, to the whispers of the world with which it makes<br />
  love to you.</p>
<p>１４</p>
<p>      创造的神秘，有如夜间的黑暗－－是伟大的。而知识的幻影却不过如晨间<br />
之雾。<br />
     The mystery of creation is like the darkness of night–it is great.<br />
Delusions of knowledge are like the fog of the morning.</p>
<p>１５</p>
<p>      不要因为峭壁是高的，便让你的爱情坐在峭壁上。<br />
     Do not seat your love upon a precipice because it is high.</p>
<p>１６</p>
<p>      我今晨坐在窗前，世界如一个路人似的，停留了一会，向我点点头又走过<br />
去了。<br />
     I sit at my window this morning where the world like a passer-by stops<br />
  for a moment, nods to me and goes.</p>
<p>１７</p>
<p>      这些微风，是树叶的簌簌之声呀；它们在我的心里欢悦地微语着。<br />
     There little thoughts are the rustle of leaves; they have their<br />
  whisper of joy in my mind.</p>
<p>１８</p>
<p>      你看不见你自己，你所看见的只是你的影子。<br />
     What you are you do not see, what you see is your shadow.</p>
<p>１９</p>
<p>      神呀，我的那些愿望真是愚傻呀，它们杂在你的歌声中喧叫着呢。<br />
      让我只是静听着吧。<br />
     My wishes are fools, they shout across thy song, my Master.<br />
     Let me but listen.</p>
<p>２０</p>
<p>      我不能选择那最好的。<br />
      是那最好的选择我。<br />
     I cannot choose the best.<br />
     The best chooses me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3880/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>防御CSRF的第四种方法？</title>
		<link>http://www.am82.com/houzan/archives/3878</link>
		<comments>http://www.am82.com/houzan/archives/3878#comments</comments>
		<pubDate>Thu, 04 Mar 2010 14:18:28 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[技术专题]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3878</guid>
		<description><![CDATA[我们知道，一般防御CSRF有三种方法，判断referer、验证码、token。

对于判断referer来说，虽然客户端带用户状态的跨域提交，js和as已经无法伪造referer了；但是对于客户端软件和flash的提交，一般是不带referer的，据说一些山寨浏览器也不带。那么就需要为此开绿灯，但这样使得外站的flash请求伪造无法被防御。

而验证码弊端明显：会对用户造成影响。

token的问题也有一些：时效性无法保证........]]></description>
			<content:encoded><![CDATA[<p>我们知道，一般防御CSRF有三种方法，<strong>判断referer</strong>、<strong>验证码</strong>、<strong>token</strong>。</p>
<p>对于判断referer来说，虽然客户端带用户状态的跨域提交，js和as已经无法伪造referer了；但是对于客户端软件和flash的提交，一般是不带referer的，据说一些山寨浏览器也不带。那么就需要为此开绿灯，但这样使得外站的flash请求伪造无法被防御。</p>
<p>而验证码弊端明显：会对用户造成影响。</p>
<p>token的问题也有一些：时效性无法保证；大型服务时，需要一台token生成及校验服务器；需要更改所有表单添加字段。</p>
<p>而最近我在做之类的防御时，想出了另外一种方法，跟xeye、woyigui等人在群里讨论了一番，认为应该是可行的，所以拿出来分享一下，并让其他的牛人看看是否有什么弊端</p>
<p>其实原理非常简单，与token也差不多：<strong><span style="color: #741b47;">当表单提交时，用js在本域添加一个临时的cookies字段，并将过期时间设为1秒钟之后，然后再提交；服务端校验有这个字段即放行，没有则认为是CSRF。</span></strong></p>
<p>token防csrf的原理是：无法通过ajax等方式获得外域页面中的token值，xmlhttprequest需要遵守浏览器同源策略；而<strong><span style="color: #0000ff;">临时cookies</span></strong>的原理也是：cookies只能在父域和子域之间设置，也遵守同源策略。</p>
<p>我们可以简单看一个demo：</p>
<p><strong><span style="font-size: small;">demo：</span></strong></p>
<p><a href="http://127.0.0.1/test.html">http://127.0.0.1/test.html</a>:</p>
<blockquote><p><span style="color: #b45f06;">&lt;script&gt;<br />
function doit(){<br />
var expires = new Date((new Date()).getTime()+1000);<br />
document.cookie = &#8220;xeye=xeye; expires=&#8221; + expires.toGMTString();<br />
}<br />
&lt;/script&gt;<br />
&lt;form action=&#8221;</span><a href="http://127.0.0.1/test.php"><span style="color: #b45f06;">http://127.0.0.1/test.php</span></a><span style="color: #b45f06;">&#8221; name=&#8221;f&#8221; id=&#8221;f&#8221; onsubmit=&#8221;doit();&#8221; target=&#8221;if1&#8243;&gt;<br />
&lt;input type=&#8221;button&#8221; value=&#8221;normal submit&#8221; onclick=&#8221;f.submit();&#8221;&gt;<br />
&lt;input type=&#8221;button&#8221; value=&#8221;with token&#8221; onclick=&#8221;doit();f.submit();&#8221;&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;hook submit&#8221;&gt;<br />
&lt;/form&gt;<br />
&lt;iframe src=&#8221;about:blank&#8221; name=&#8221;if1&#8243; id=&#8221;if1&#8243;&gt;&lt;/iframe&gt;</span></p></blockquote>
<p><a href="http://127.0.0.1/test.php">http://127.0.0.1/test.php</a></p>
<blockquote><p><span style="color: #b45f06;">&lt;?php<br />
echo &#8220;&lt;div&gt;Cookies&lt;/div&gt;&#8221;;<br />
var_dump($_COOKIE);<br />
?&gt;</span></p></blockquote>
<p>test.html为浏览器端的表单，里面有三个按钮：</p>
<p>第一个是正常的表单提交；第二个是添加临时cookies后提交表单；第三个是以hook submit事件来添加临时cookies并提交。</p>
<p>结果就像开头的图片演示那样，正常的表单提交不会出现临时cookies字段，第二个和第三个按钮提交则会出现。大家可以反复点击按钮来查看结果，但需要注意时间间隔需超过1秒。（当然可以将test.html拿到外域看看，不过要注意form的target不能指向iframe了，可以以新窗口打开。由于同源策略，cookies肯定是带不过去的）</p>
<p>不过这种方式只适用于单域名站点，或者安全需求不需要“当子域发生XSS隔离父域”。因为子域是可以操作父域的cookies的，所以它的缺陷也比较明显：<strong>这种方法无法防御由于其他子域产生的xss所进行的表单伪造提交。而一个区分分域的自校验token是可以防止从其他子域到本域的提交的。</strong>但如果对于单域而言，这种方法应该是足够的，并且安全性可能会略大于token。</p>
<p>和群里的几位大牛讨论了一下，也认为这种方式没有什么大问题，不过确实有一些小的疑问，譬如：</p>
<p><span style="color: #783f04;">网络不流畅，有延迟会不会导致cookies失效。这个显然是不会的，因为服务端cookies是在提交请求的header中获得的。延时在服务端，不在客户端，而1秒钟足可以完成set Cookies+post header整个post表单的过程。</span></p>
<p><span style="color: #783f04;">cookies的生成依赖于js，相当于这个token是明文的？这个的确，不管采取多少种加密，只要在客户端，就会被破解，不过不管怎样，csrf无法在有用户状态的情况下去添加这个临时cookies字段。虽然服务端curl等可以，但是无法将当前用户的状态也带过去。</span></p>
<p><span style="color: #783f04;">外站是否可以伪造这个临时cookies呢？目前来看至少通过as和js无法向其他域添加和更改cookies的，通过服务端虽然可以伪造cookies，但获得不到目标域的用户状态。</span></p>
<p><span style="color: #783f04;">如果目标域有XSS就完蛋了？恩，不过一般来说判断referer、token和简单的验证码（利用canvas识别？）也差不多完蛋了。</span></p>
<p><span style="color: #783f04;">如果由于某种网络问题，获得不到cookies了呢？那么用户状态也不能获得了，用户只能再提交一次了。</span></p>
<p>ok，就这些！</p>
<p>说实话，这种新方法究竟是否真正有效我也没谱，说不定有某种BT的方式可以绕过？所以share一下，大家不妨看看是否真的有效。如果真有效，那么大概是一种最简单的，对代码改动最小，对服务器压力也最小的防御CSRF的方法了。</p>
<p>最后感谢下woyigui，提出了很多建议呵呵！</p>
<p>Monyer！</p>
<p>from：<a href="http://hi.baidu.com/monyer/blog/item/6097347a958babe62e73b3bf.html">http://hi.baidu.com/monyer/blog/item/6097347a958babe62e73b3bf.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3878/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Gears for Attackers</title>
		<link>http://www.am82.com/houzan/archives/3876</link>
		<comments>http://www.am82.com/houzan/archives/3876#comments</comments>
		<pubDate>Thu, 04 Mar 2010 09:12:41 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[技术专题]]></category>
		<category><![CDATA[Attack]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[攻击]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3876</guid>
		<description><![CDATA[Google Gears是一个用来开发离线网络应用的工具，是一个JavaScript应用编程接口，通过Google Gears可以允许多种Web应用程序脱机运行，可以让用户在上线或者离线状态下运行网络程序，其源代码是公开的。

Google Gears包括两大模块：Database和LocalServer。可能存在安全问题的地方：同源策略和用户权限。Google Gears以前爆出过同源策略的漏洞：“Google Gears WorkerPool API绕过同源策略”。

在这里我介绍的是另一种攻击方式.......]]></description>
			<content:encoded><![CDATA[<p>Google Gears是一个用来开发离线网络应用的工具，是一个JavaScript应用编程接口，通过Google Gears可以允许多种Web应用程序脱机运行，可以让用户在上线或者离线状态下运行网络程序，其源代码是公开的。</p>
<p>Google Gears包括两大模块：Database和LocalServer。可能存在安全问题的地方：同源策略和用户权限。Google Gears以前爆出过同源策略的漏洞：“Google Gears WorkerPool API绕过同源策略”。</p>
<p>在这里我介绍的是另一种攻击方式：攻击者如果实施DNS欺骗或MITM攻击，就可以向Google Gears API接口发送恶意代码，然后窃取受害者Google Gears Database中的数据；或是攻击者可以在受害者LocalServer的缓存文件中写入恶意代码，留下后门。</p>
<p>有关详细信息可以阅读：http://www.andlabs.org/whitepapers/GoogleGears_for_Attackers.pdf。此文档中，你可以看到完整的攻击方法，还包括一个myspace 0day的实例演示和攻击工具介绍。</p>
<p>from：<a href="http://hi.baidu.com/xisigr/blog/item/d311f6126622e928dc540147.html">http://hi.baidu.com/xisigr/blog/item/d311f6126622e928dc540147.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3876/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux指针函数追踪方法</title>
		<link>http://www.am82.com/houzan/archives/3874</link>
		<comments>http://www.am82.com/houzan/archives/3874#comments</comments>
		<pubDate>Wed, 03 Mar 2010 08:19:48 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[嵌入开发]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[指针]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3874</guid>
		<description><![CDATA[以下方法适合于arm平台，其它平台类似。
查看指针函数实际调用了哪个函数：
1. 在内核中放置打印函数，打印出函数的地址。
2. arm-linux－addr2line 0xXXXXXXXX -e vmlinux -f
查看谁调用了这个函数：
1. 在被调用函数里放置打印函数，加参数：__builtin_return_address(0)
2. arm-linux－addr2line 0xXXXXXXXX -e vmlinux -f
]]></description>
			<content:encoded><![CDATA[<p>以下方法适合于arm平台，其它平台类似。</p>
<p>查看指针函数实际调用了哪个函数：</p>
<p>1. 在内核中放置打印函数，打印出函数的地址。</p>
<p>2. arm-linux－addr2line 0xXXXXXXXX -e vmlinux -f</p>
<p>查看谁调用了这个函数：</p>
<p>1. 在被调用函数里放置打印函数，加参数：__builtin_return_address(0)<br />
2. arm-linux－addr2line 0xXXXXXXXX -e vmlinux -f</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3874/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
