<?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>February birds</title>
	<atom:link href="http://www.tuwaaa.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tuwaaa.com</link>
	<description>Focus on cutting-edge network technology</description>
	<lastBuildDate>Fri, 07 Oct 2011 04:51:39 +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>写在十一之后</title>
		<link>http://www.tuwaaa.com/164.html</link>
		<comments>http://www.tuwaaa.com/164.html#comments</comments>
		<pubDate>Fri, 07 Oct 2011 04:51:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[DOTA]]></category>
		<category><![CDATA[乔布斯]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=164</guid>
		<description><![CDATA[看完《大唐双龙传》的大结局，心里有种很空荡荡的感觉。以前也看过不少的小说，也知道每次看完之后都会有种怅然若失的感觉。但是，你依旧想不停的将它的剧情一收眼底。 但是这次，却... ]]></description>
			<content:encoded><![CDATA[<p>看完《大唐双龙传》的大结局，心里有种很空荡荡的感觉。以前也看过不少的小说，也知道每次看完之后都会有种怅然若失的感觉。但是，你依旧想不停的将它的剧情一收眼底。</p>
<p>但是这次，却微微不同。因为这是在结束了自己的十一长假，刚刚从东莞回到深圳，与老同学再次分别的时刻。虽然在东莞和几个老同学并没如何的活动，但是却让我们感觉无比的充实，因为在开黑打DOTA&#8230;（呵呵）。假期的尾声，人陆陆续续的离去，直至今天和同学在地铁上道别&#8230;我不是特别感性的人，但是也因为看完小说而感觉有点点的伤感——这样的聚会又不知什么时候能再来一次。<br />
<span id="more-164"></span><br />
就在早上，我在同学家里整理行李，准备回深圳，却从同学口中得知，苹果公司的创始人乔布斯逝世了。我并不是果粉，但是我却是个IT迷，对乔布斯的生平还算有点了解。就我个人而言，我还是很崇拜乔布斯的——将电子产品和艺术完美的结合。周围的人也以拥有苹果的产品为荣（想不出别的词了..你懂我的意思&#8230;）。今后，也不知道缺少了乔布斯的苹果公司还能不能继续乔布斯率领的苹果公司的辉煌。</p>
<p>打开IE，谷歌主页“Steve Jobs, 1955 &#8211; 2011”几个字醒目的放在正中间。随之点击进去苹果公司的主页，风格一片肃穆，放置着乔布斯的大幅头像。点击进去，我看到了这样的图片：</p>
<p><a href="http://www.tuwaaa.com/wp-content/uploads/2011/10/t_title.png"><img class="alignnone size-full wp-image-165" title="t_title" src="http://www.tuwaaa.com/wp-content/uploads/2011/10/t_title.png" alt="" width="672" height="158" /></a></p>
<p>活着，就为改变世界&#8230;他做到了&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/164.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>写在10.1前夕</title>
		<link>http://www.tuwaaa.com/157.html</link>
		<comments>http://www.tuwaaa.com/157.html#comments</comments>
		<pubDate>Thu, 29 Sep 2011 13:33:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[DOTA]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=157</guid>
		<description><![CDATA[又是10.1。自从工作后，貌似就没怎么去好好的玩玩，都是宅7天。 今年本来打算好好玩玩的，结果这该死的台风吹来了，我去海边的计划又宣告破产。深圳的朋友同学一个个要不是早有计划，... ]]></description>
			<content:encoded><![CDATA[<p>又是10.1。自从工作后，貌似就没怎么去好好的玩玩，都是宅7天。<br />
今年本来打算好好玩玩的，结果这该死的台风吹来了，我去海边的计划又宣告破产。深圳的朋友同学一个个要不是早有计划，要么就是完全没计划。这让我纠结不已啊&#8230;<br />
好在因为台风的关系，一个准备去广州的朋友不去了，所以召集几个人去他家里进行Dota集训，呵呵&#8230;<br />
好久没有更新blog了，主要是懒得更新。生活平淡无味，又多出个微博来跟我的blog抢生意，这样的结果也就很好理解了&#8230;<br />
哎，想好好的学php了，至少能把自己的blog整个微博接口，还要能实事手机更新..虽然用插件也可以，但是总是提不起干劲来。没有去年的那个劲头了..<br />
想玩个游戏吧，花一百多买了个激活码，结果他妈的还玩不了，真是吭爹</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/157.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>七夕来临</title>
		<link>http://www.tuwaaa.com/153.html</link>
		<comments>http://www.tuwaaa.com/153.html#comments</comments>
		<pubDate>Wed, 03 Aug 2011 14:06:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[七夕]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=153</guid>
		<description><![CDATA[两年多了&#8230;我跟这个特殊的日子无缘两年多了。每当这个时候，我就把脑海中所有可能的女性都遍历一遍，然后用条件语句一个个筛选，最后得出的null让我摇摇头，然后继续平淡的过日子&#8... ]]></description>
			<content:encoded><![CDATA[<p>两年多了&#8230;我跟这个特殊的日子无缘两年多了。每当这个时候，我就把脑海中所有可能的女性都遍历一遍，然后用条件语句一个个筛选，最后得出的null让我摇摇头，然后继续平淡的过日子&#8230;&#8230;</p>
<p>这个时段，怕是深圳全年最热的时段，在屋外走两步就会感觉身上的水分都被蒸发殆尽。好在一周有五天要工作，另外两天宅在家。倒是没有感觉有多难熬。</p>
<p>可能因为深圳是个沿海城市，所以天气变得很难预测。往往天气预报雷阵雨，结果可能是全天都骄阳似火。</p>
<p>前些日子，变3很火爆，我也跃跃欲试，想去KKmall体验一把IMAX。无奈变3的评价超低，还是打消了这个念头。计划在七夕去看哈7，哈利波特最终篇&#8230;七夕啊七夕，结果将还是一个人平淡渡过&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/153.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>好事多磨？</title>
		<link>http://www.tuwaaa.com/150.html</link>
		<comments>http://www.tuwaaa.com/150.html#comments</comments>
		<pubDate>Sun, 26 Jun 2011 07:04:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[电信]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=150</guid>
		<description><![CDATA[搬家两个月了&#8230;住房环境比上个要好不少，当然价格也贵了不少。作为一个不算资深的宅男，上网是必不可少的。但是毕竟新搬，不知道会住多久，所以一直用的房东的网。 凭心而论，这网... ]]></description>
			<content:encoded><![CDATA[<p>搬家两个月了&#8230;住房环境比上个要好不少，当然价格也贵了不少。作为一个不算资深的宅男，上网是必不可少的。但是毕竟新搬，不知道会住多久，所以一直用的房东的网。</p>
<p>凭心而论，这网络还是算不错的，40一个月，除了BT，下载能达到1M的峰值。就是浏览网页速度响应的很慢。对我而言，只要不玩网络游戏，这是可以忍受的。仅仅是能忍受，不代表我喜欢。于是换独立ADSL的想法开始酝酿，发酵&#8230;.当准备实施的时候&#8230;房东通知：你要的一房一厅有了，刚刚搬出去一户..于是乎，我屁颠屁颠的从单间搬到一房一厅&#8230;但是已经到了月初，过了时间，换网已经不太现实（为什么不现实，请参考深圳电信城中村套餐）。<br />
<span id="more-150"></span><br />
于是没办法，只能继续酝酿，终于，又是一个月底&#8230;经过多次的墨迹，我终于在网上下单，等待给我安装。</p>
<p>安装时间订在本月的最后一个周日，等待很久，终于来电话了。结果，让我担心的意外还是发生了&#8230;我在的那栋楼据说要改机房（他是这么说的）不然不能安装。我当时那个纠结啊&#8230;但是我并不急于这两天就用上，我纠结的是，如果又拖到下月，那套餐就是下下月生效，这样我就会吃亏不少。于是商量好在本月底给我开通，但是下周末给我安装&#8230;哎，这难道是传说中的好事多磨么？我的要求也不高，就是自己单独用一个网络&#8230;为神马就这么坎坷呢？..</p>
<p>好事多磨..</p>
<p>好事多磨.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/150.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>无题</title>
		<link>http://www.tuwaaa.com/148.html</link>
		<comments>http://www.tuwaaa.com/148.html#comments</comments>
		<pubDate>Sat, 04 Jun 2011 03:09:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[上火]]></category>
		<category><![CDATA[初恋]]></category>
		<category><![CDATA[端午]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=148</guid>
		<description><![CDATA[月初（上周）又搬家了，从12楼搬到6楼，从单间搬到一房一厅。从目测来看，面积并没大多少。但是总比以前强了不少。 本来想新拉根宽带，因为房东的网络不是很好，一般玩玩还可以，玩玩... ]]></description>
			<content:encoded><![CDATA[<p>月初（上周）又搬家了，从12楼搬到6楼，从单间搬到一房一厅。从目测来看，面积并没大多少。但是总比以前强了不少。</p>
<p>本来想新拉根宽带，因为房东的网络不是很好，一般玩玩还可以，玩玩游戏就悲剧了。但是搬家的时机不好，月底，但是宽带是网上受理的。所以不得已只能再续了一个月等月中再去整这个宽带的事情。</p>
<p>最近上火了，喉咙肿痛。本想着过几天会自己好起来。但是是越来越严重&#8230;只能去买点药吃下了。好在前年有过同样的症状，可以直接去药房拿药。</p>
<p>又是一年端午时&#8230;三天&#8230;但是朋友们都没什么安排，我本来不想白白浪费时间，但是由于这样那样的原因，最终出游计划还是搁浅。无意中，鼠标移过QQ好友列表。初恋的tips闪了一下，貌似更新不少照片，比较好奇，点击进去看了下——原来是婚纱照&#8230;心里不知道是什么滋味&#8230;当初的感觉早已消失，也验证了那句老话：时间是最好的解药。看着她和他幸福的样子，只能心里默默的为他们祝福了。<br />
<span id="more-148"></span><br />
他们祝福了。话说，从大学出来后，我一直是单身。原来我现在依然不知道如何追女孩。我记得蔡康永说：因为受伤而封闭自己的心，然后因为一个不爱你的人而拒绝爱你的人进入你的心是很不明智的。不打开就没法付出真心，不付出真心也就不能打动别人的心。我也试着去打开，但是，可能钥匙不见了，或者锁生锈了&#8230;.总是没法将那扇门成功的打开来。</p>
<p>很想用什么东西来吸引住自己的注意力，但是很不幸的，我对任何事物都不会很沉迷，所以我期待一款游戏的出现，可以让我沉迷其中。不幸的是，这游戏至今仍在跳票&#8230;不要七想八想了，还是去买药吧，不然苦的还是自己&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/148.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>可乐+爆米花</title>
		<link>http://www.tuwaaa.com/145.html</link>
		<comments>http://www.tuwaaa.com/145.html#comments</comments>
		<pubDate>Sun, 15 May 2011 08:45:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[电影]]></category>
		<category><![CDATA[雷神]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=145</guid>
		<description><![CDATA[今天去电影院看《雷神》了，本来我是想求个MM一起去的，但是求不到，也就只能自己过去了。所幸天气还算不错，没有大太阳，也没下雨，比较清爽。到了电影院，买了票，怀着期待的心情入... ]]></description>
			<content:encoded><![CDATA[<p>今天去电影院看《雷神》了，本来我是想求个MM一起去的，但是求不到，也就只能自己过去了。所幸天气还算不错，没有大太阳，也没下雨，比较清爽。到了电影院，买了票，怀着期待的心情入场了。摆弄了下眼镜，之前对可能眼镜不好戴的顾虑烟消云散&#8230;</p>
<p>故事剧情是这样的：《雷神》的故事发生在现今的地球以及艾斯卡的奇幻世界。故事的中心人物是勇有强大神力的雷神，但是他自大鲁莽的行为掀起了一场古老的战争，他也因此被贬入凡间作为惩罚，被迫与人类一同生活。托尔必须学会如何成为一个真正的英雄，才能对抗来自神界的强大黑暗势力。《雷神》一片探讨一个人的传奇冒险，他从一个傲慢自大的神界王位继承人被贬入凡间，他必须成为一名超级英雄才能登上王位。<br />
<span id="more-145"></span><br />
我文笔不太好，现在来班门弄斧，就当是个锻炼吧。每当想写影评的时候，我都先看看别人写得好的影评。既可以补充下我甚是匮乏的电影幕后相关知识，也可以看看别人对电影的看法，最后是学习别人写作的方式。</p>
<p>本来就我个人而言，《雷神》观后确实没多大的震撼，但是也不算很差。本人没看过《阿凡达》正宗的3D效果，但是听说效果极其震撼。《雷神》3D给我的感觉就是很一般，没有什么特别的地方，反而开头的《功夫熊猫2》预告片的3D效果很给力。在豆瓣上看了《雷神》的影评才知道，3D效果也是后期转制的。后期转制能有那样的效果也属不错的了。</p>
<p>剧情也很平淡，老套狗血，演员不show演技，但是有炫目的3D特效，适时引爆的笑点，有知性美女波特曼，有美肉猛男克里斯，两小时50元的票价，得到的是无比放松的心情和天上人间般的快乐。</p>
<p>国人在写影评的时候，喜欢和国内的“大作”来相比。确实，一部接一部的“大片”来袭，却都是一部比一部雷人，任谁都扛不住，好在《雷神》来了，放松了大家的神经。</p>
<p>“而中国商业电影越来越喜欢做加法，简单的爱恨情仇，非要拷问历史、鞭挞人性，拿观众放松的神经玩SM。越来越着迷于颠覆经典，似乎关羽不纠结，导演就纠结；孙膑不傻逼，导演就傻逼；不探讨人性，导演就没人性……而这些，还不如人家克里斯那白花花的腱子肉，来得给力。更要命的是越来越迎合腐向人士，随意调戏历史人物的性取向——难道涓膑不玩基，关曹不卖腐，就没有人间真情啦？你让观众投票，是想看克里斯和波特曼热吻，还是想看两个傻老爷们眉来眼去？”某豆瓣影评写的很中肯。《关云长》我没看过，看到甄子丹那造型就怯了，《战国》也没看过，看过了韩少对此电影的评论，我也忍不住想去自虐一番，实在是太有喜感了（具体请参考韩寒博客《战国之爱的代价》）。</p>
<p>本人对电影的看法仅限于此了，因为对电影圈内的信息不是很了解，所以衍生不出更多的结论，所以引用豆瓣影评：“克里斯是那种每个女生都爱他、每个男生都想成为他的那种男人，但《雷神》之前，他几乎是个无名之辈，还不如《蜘蛛侠》前的托比•马奎尔；饰演Loki的汤姆•希德勒斯顿，虽毕业于伊顿和剑桥，在电影圈也同样是籍籍无名。但好莱坞的电影工业，总是能做到“不选贵的，只选对的”——至少他们不会傻到让姜文演曹操。拍《关云长》时，《让子弹飞》还没上映，但姜文已经在复制自己，无非是把张麻子翻版成曹麻子——在今后几年，一定还会不断涌现出赵麻子、王麻子。拍《雷神》时，《黑天鹅》也还未封后，波特曼是一脱下舞鞋，就来到了新墨西哥州沙漠的，却已完全由邪恶的天鹅，化身清爽纯净的氧气美女。还有安东尼•霍普金斯，十年前的他，或许可以把乖张的杀气，化作奥丁大帝的神威，但肯定演不出隐藏在神威下的衰老和疲倦，但对于如今74岁的他来说，一切都已是水到渠成了。一部有波特曼和霍普金斯的电影，最合适的名字本应是《沉默的羔羊之这个杀手不太冷》，孰不料也能将《雷神》这样的爆米花电影，演绎得收放自如。曾几何时，香港影坛还能为华语电影贡献这样的瑰宝，但今天，两岸三地只能以“麻子”为骄傲了。 ”</p>
<p>写在最后，我突然注意到，原来电影是真的有彩蛋的，而且我也有意识的等（在我记忆中，老外的电影都会在结束后再来那么一小段），但是观众的陆续离场让我倍感压力。正当我起身准备离场时，电影已经放完了&#8230;再回头看影评才知道，《雷神》的蛋&#8230;原来是被阉割了&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/145.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转] 一次谷歌面试趣事</title>
		<link>http://www.tuwaaa.com/142.html</link>
		<comments>http://www.tuwaaa.com/142.html#comments</comments>
		<pubDate>Mon, 18 Apr 2011 02:31:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[谷歌]]></category>
		<category><![CDATA[面试]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=142</guid>
		<description><![CDATA[很多年前我进入硅谷人才市场，当时是想找一份高级工程师的职位。如果你有一段时间没有面试过，根据经验，有个非常有用的提醒你应该接受，就是：你往往会在 前几次面试中的什么地方犯... ]]></description>
			<content:encoded><![CDATA[<p>很多年前我进入硅谷人才市场，当时是想找一份高级工程师的职位。如果你有一段时间没有面试过，根据经验，有个非常有用的提醒你应该接受，就是：你往往会在 前几次面试中的什么地方犯一些错误。简单而言就是，不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题，你可能全部忘记了，所以，先去几个 不太重要的公司里面试，它们会在这些方面对你起教育(再教育)作用。<br />
我第一家面试的公司叫做gofish.com，据我所知，gofish这家公司如今的情况跟我当时面试时完全的不同。我几乎能打保票的说，当时我在 那遇到的那些人都已不再那工作了，这家公司的实际情况跟我们这个故事并不是很相关。但在其中的面试却是十分相关的。对我进行技术性面试的人是一个叫做 Guy的家伙。<br />
Guy穿了一条皮裤子。众所周知，穿皮裤子的面试官通常是让人“格外”恐怖的。而Guy也没有任何让人失望的意思。他同样也是一个技术难题终结者。而且是一个穿皮裤子的技术难题终结者 —— 真的，我做不到他那样。<br />
我永远不会忘记他问我的一个问题。事实上，这个问题是非常的普通 —— 在当时也是硅谷里标准的面试题。<br />
问题是这样的：<br />
假设这有一个各种字母组成的字符串，假设这还有另外一个字符串，而且这个字符串里的字母数相对少一些。从算法是讲，什么方法能最快的查出所有小字符串里的字母在大字符串里都有？<br />
比如，如果是下面两个字符串：</p>
<p>String 1: ABCDEFGHLMNOPQRS<br />
String 2: DCGSRQPOM<br />
答案是true，所有在string2里的字母string1也都有。如果是下面两个字符串：</p>
<p>String 1: ABCDEFGHLMNOPQRS<br />
String 2: DCGSRQPOZ<br />
答案是false，因为第二个字符串里的Z字母不在第一个字符串里。<br />
<span id="more-142"></span><br />
当他问题这个问题时，不夸张的说，我几乎要脱口而出。事实上，对这个问题我很有信心。(提示：我提供的答案对他来说显然是最糟糕的一种，从面试中他大量的各种细微表现中可以看出来)。<br />
对于这种操作一种幼稚的做法是轮询第二个字符串里的每个字母，看它是否同在第一个字符串里。从算法上讲，这需要O(n*m)次操作，其中n是string1的长度，m是string2的长度。就拿上面的例子来说，最坏的情况下将会有16*8 = 128次操作。<br />
一个稍微好一点的方案是先对这两个字符串的字母进行排序，然后同时对两个字串依次轮询。两个字串的排序需要(常规情况)O(m log m) + O(n log n)次操作，之后的线性扫描需要O(m+n)次操作。同样拿上面的字串做例子，将会需要16*4 + 8*3 = 88加上对两个字串线性扫描的16 + 8 = 24的操作。(随着字串长度的增长，你会发现这个算法的效果会越来越好)<br />
最终，我告诉了他一个最佳的算法，只需要O(n+m)次操作。方法就是，对第一个字串进行轮询，把其中的每个字母都放入 一个Hashtable里(成本是O(n)或16次操作)。然后轮询第二个字串，在Hashtable里查询每个字母，看能否找到。如果找不到，说明没有 匹配成功。这将消耗掉8次操作 —— 这样两项操作加起来一共只有24次。不错吧，比前面两种方案都要好。<br />
Guy没有被打动。他把他的皮裤子弄的沙沙响作为回应。”还有没有更好的？“他问道。<br />
我的天？这个家伙究竟想要什么？我看看白板，然后转向他。”没有了，O(n+m)是你能得到的最好的结果了 —— 我是说，你至少要对每个字母至少访问一次才能完成这项操作 —— 而这个方案是刚好是对每个字母只访问一次“。我越想越确信我是对的。<br />
他走到白板前，”如果这样呢 —— 假设我们有一个一定个数的字母组成字串 —— 我给每个字母分配一个素数，从2开始，往后类推。这样A将会是2，B将会是3，C将会是5，等等。现在我遍历第一个字串，把每个字母代表的素数相乘。你最 终会得到一个很大的整数，对吧？然后 —— 轮询第二个字符串，用每个字母除它。如果除的结果有余数，这说明有不匹配的字母。如果整个过程中没有余数，你应该知道它是第一个字串恰好的子集了。这样不 行吗？“<br />
每当这个时候 —— 当某个人的奇思异想超出了你的思维模式时，你真的需要一段时间来跟上他的思路。现在他站在那里，他的皮裤子并没有帮助我理解他。<br />
现在我想告诉你 —— Guy的方案(不消说，我并不认为Guy是第一个想出这招的人)在算法上并不能说就比我的好。而且在实际操作中，你很可能仍会使用我的方案，因为它更通 用，无需跟麻烦的大型数字打交道。但从”巧妙水平“上讲，Guy提供的是一种更、更、更有趣的方案。<br />
我没有得到这份职位。也许是因为我拒绝了他们提供给我的一些讨厌的工作内容和其它一些东西，但这都无所谓了。我还有更大更好的目标呢。<br />
接着，我应聘了become.com。在跟CTO的电话面试中，他给我布置了一道”编程作业“。这个作业有点荒唐 —— 现在回想起来，大概用了我3天的时间去完成。我得到了面试，得到了那份工作 —— 但对于我来说，最大的收获是这道编程作业强迫我去钻研并有所获。我需要去开发一个网页爬虫，一个拼写检查/纠正器，还有一些其它的功能。不错的东西。然 而，最终，我拒绝了这份工作。<br />
终于，我来到了Google面试。我曾说过Google的面试过程跟外面宣传的很一致。冗长 —— 严格，但诚实的说，相当的公平。他们在各种面试过程中尽最大的努力去了解你、你的能力。并不是说他们在对你做科学研究，但我确信他们是努力这样做。<br />
我在Google的第四场面试是一个女工程师，老实话，是一场很无聊的面试。在前面几场面试中我表现的很好，感觉到我的机会非常的大。我相信如果不做出什么荒唐事情来，十拿九稳我能得到这份工作。<br />
她问了我一些关于排序或设计方面的非常简单的问题，我记不清了。但就在45分钟的面试快要结束时，她对我说”我还有一个问题。假设你有一个一定长度的由字母组成的字符串。你还有另外一个，短些。你如何才能知道所有的在较短的字符串里的字母在长字符串里也有？“<br />
哇塞。Guy附身了。<br />
现在，我完全可以马上结束这场面试。我可以对她说“哈哈，几个星期前我就知道答案啦！”，这是事实。但就是在几个星期前被问到这个问题时 —— 我给出的也是正确的答案。这是我本来就知道答案的问题。看起来就好像是Guy为我的这次面试温习过功课一样。而且，可恶，人们通常是通过上网来搜集面试问 题 —— 而我，我可以毫不客气的说，对于这些问题，我不需要任何“作弊”。我自己知道这些答案！<br />
现在你们可能认为——就在她问出了问题之后，在我准备开始说出在脑海里构思完成的最后的演讲之前——你们可能会想，我应该是，当然该，从情理上讲， 镇定的回答出这个问题，并且获得赞赏。可糟糕的是，事实并不是这样。打个比喻，就像是她问出来问题后，我在闹子里立即举起了手，并大叫着“我！嗨！嗨！我 知道！让我来回答吧！”我的大脑试图夺走我对嘴巴的控制权(这事经常发生)，幸亏我坚强的毅力让我镇定下来。<br />
于是我开始回答。平静的。带着不可思议的沉着和优雅。带着一种故意表现出来的 —— 带着一种，我认为，只有那种完全的渊博到对古今中外、不分巨细的知识都精通的人才能表现出来的自信。<br />
我轻描淡写的说出来那种很幼稚的方案，就好象是这种方案毫无价值。我提到了给它们排序，就好像是在给早期的《星际迷航》中的一个场景中的人物穿上红T恤似的。最后，平淡的，就好像是我决定了所有事情的好坏、算法上的效率，我说出了O(n+m)一次性方案。<br />
我要告诉你——尽管我表明上的平静——这整个过程我却在做激烈的挣扎，内心里我在对自己尖着——“你个笨蛋，赶紧告诉她素数方案！”<br />
当我完成了对一次性算法的解释后，她完全不出意外的认可的点了下头，并开始在笔记本上记录。这个问题她以前也许问过了一百次，我想大部分的人都能回答上来。她也许写的是“回答正确。无聊的面试。正确的回答了无聊的字符串问题。没有惊喜。无聊的家伙，但可以留下。”<br />
我等了一会。我让这种焦灼的状态持续的尽可能的长。我可以发誓的说，如果再耽搁一分钟，我一定会憋出脑血栓、脱口说出关于素数的未解之谜。<br />
我打破了沉默。“你知道吗，还有另外一个，可能是更聪明的算法。”<br />
她二目空空的抬头看了一眼，仅在瞬间闪现过一丝希望。<br />
“假设我们有一定长度的字符串。我们可以给每个字母分配一个素数，从2开始。然后我们把大字串中的每个字母代表的素数相乘得出一个数，用小字串中的每个字母代表的素数去除它。如果除的过程中没有产生余数，则小字串是大字串的一个子集。”<br />
在此时，我猜，她看起来就像是Guy当时把相同的话说给我听时我表现出来的样子。而我演讲时泰然自若的表情没了，眼睛瞪大，说话时稍微带出来一些唾沫星子。<br />
一会儿后，她不得不说了，“可是…等一下，有可能…是的，可以这样！可是如何…如果…噢，噢，可行！简洁！”<br />
我得意洋洋的吸了一口气。我在我的面试记录里写下了“她给了我一个‘简洁’的评语！”在她提出这个问题之前我就确信能得到这份工作，现在我更加确信了。还有一点我十分确信的是，我(更准确的说是Guy)给了她今天的好心情。<br />
我在Google干了3年，生活的十分愉快。我在2008年辞职去到一个小公司里做CTO，之后又开办了一个自己的公司。大概是一年前，我偶然的在一个创业论坛会上遇到了Guy，他记不得我了，当我向他细述这段往事时，他对他那条皮裤子大笑不已。<br />
话说回来，如果这个故事里有什么教育意义的话——永远不要冒失的首先去应聘你梦想的公司，应先去应聘那些你不看好的职位。你除了能从这些面试中获得经验外，你指不定能遇到某个能为你的更重要的面试铺路的人呢。事实上，这个经验在你生活中的很多其它事情上也适应。<br />
说正经的，如果你有机会想找一个解决问题的高手——雇佣Guy比谁都强。那个家伙很厉害。</p>
<p>(在这些陈年旧账里发现的一点技术瑕疵：字母有可能重复而字符串可能会很长，所以必须要有统计。用那个最幼稚的解决方案时，当在大字符串里 找到一个字符后就把它删掉，当这样仍然是 O(n*m)次。在Hashtable里我们会有一个key-&gt;value的计数。Guy的方案在这种情况下仍然好用。)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/142.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Google Interviewing Story</title>
		<link>http://www.tuwaaa.com/139.html</link>
		<comments>http://www.tuwaaa.com/139.html#comments</comments>
		<pubDate>Mon, 18 Apr 2011 02:27:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Interviewing]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=139</guid>
		<description><![CDATA[A few years ago I was entering the Silicon Valley job market and at that time looking for senior engineering positions. A good rule of thumb about interviewing if you haven&#8217;t done it in awhile is to at least somewhat accept that you&#8217;ll probab... ]]></description>
			<content:encoded><![CDATA[<p>A few years ago I was entering the Silicon Valley job market and at that time looking for senior engineering positions. A good rule of thumb about interviewing if you haven&#8217;t done it in awhile is to at least somewhat accept that you&#8217;ll probably make a few mistakes on your first few tries. Simply, don&#8217;t go for your dream job first. There are a million nuances to interviewing that you&#8217;ve forgotten, and a few up-front, not-so-important interviews first will educate (or re-educate) about them.<br />
One of the first places I interviewed was a company called gofish.com. As far as I know &#8211; gofish is an utterly different company now than when I interviewed there. I&#8217;m almost sure that everyone I met there no longer works there, so the actual company isn&#8217;t terribly relevant to the story. But the interviewer is. My technical interview there was with a guy named Guy.<br />
Guy wore leather pants. Its a well-known fact that interviewers in leather pants are “extra” scary. And Guy was by no means a let down. He was also a technical crack-shot. And he was a technical crack-shot in leather pants &#8211; seriously, I didn&#8217;t have a chance.<br />
One question he asked me I&#8217;ll never forget. In truth, its a pretty innocuous question &#8211; but it&#8217;s also pretty standard fare for silicon valley interviewing questions at that time.<br />
Here it is:<br />
Say you have one string of alphabetic characters, and say you have another, guaranteed smaller string of alphabetic characters. Algorithmically speaking, what&#8217;s the fastest way to find out if all the characters in the smaller string are in the larger string?<br />
For example, if the two strings were:</p>
<p>String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPOM</p>
<p>You&#8217;d get true as every character in string2 is in string1. If the two strings were:</p>
<p>String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPOZ</p>
<p>you&#8217;d get false as Z isn&#8217;t in the first string.<br />
<span id="more-139"></span><br />
When he asked the question I literally jumped to my feet. Finally, a question I could answer with some confidence. (Note my answer to him was solely considering the worst cases as there are plenty enough nuances there for an interview question).<br />
The naive way to do this operation would be to iterate over the 2nd string once for each character in the 1st string. That&#8217;d be O(n*m) in algorithm parlance where n is the length of string1 and m is the length of string2. Given the strings in our above example, thats 16*8 = 128 operations in the worst case.<br />
A slightly better way would be to sort each string and then do a stepwise iteration of both sorted strings simultaneously. Sorting both strings would be (in the general case) O(m log m) + O(n log n) and the linear scan after that is O(m+n). Again for our strings above, that would be 16*4 + 8*3 = 88 plus a linear scan of both strings at a cost of 16 + 8 = 24. Thats 88 + 24 = 112 total operations. Slightly better. (As the size of the strings grow, this method would start to look better and better)<br />
Finally, I told him the best method would simply be O(n+m). That is, iterate through the first string and put each character in a hashtable (cost of O(n) or 16). Then iterate the 2nd string and query the hashtable for each character you find. If its not found, you don&#8217;t have a match. That would cost 8 operations &#8211; so both operations together is a total of 24 operations. Not bad and way better than the other solutions.<br />
Guy wasn&#8217;t impressed. He showed it by rustling his leather pants a bit. “Can you do better?” he asked.<br />
What the heck? What did this guy want? I looked at the whiteboard and turned back to him. “No, O(n+m) is the best you have &#8211; I mean, you can&#8217;t do this without looking at each character at least once &#8211; and this solution is looking at each character precisely once”. The more I thought about it, the more I knew I was right.<br />
He stepped up to the whiteboard, “What if &#8211; given that we have a limited range of possible characters &#8211; I assigned each character of the alphabet to a prime number starting with 2 and going up from there. So A would be 2, and B would be 3, and C would be 5, etc. And then I went through the first string and &#8216;multiplied&#8217; each character&#8217;s prime number together. You&#8217;d end up with some big number right? And then &#8211; what if I iterated through the 2nd string and &#8216;divided&#8217; by every character in there. If any division gave a remainder &#8211; you knew you didn&#8217;t have a match. If there was no remainders through the whole process, you knew you had a subset. Would that work?”<br />
Every once in awhile &#8211; someone thinks so fantastically far out of your box you really need a minute to catch up. And now that he was standing, his leather pants weren&#8217;t helping with this.<br />
Now mind you &#8211; Guy&#8217;s solution (and of course, needless to say I doubt Guy was the first to ever think of this) was algorithmically speaking no better than mine. Even practically, you&#8217;d still probably use mine as it was more general and didn&#8217;t make you deal with messy big integers. But on the “clever scale”, Guy&#8217;s was way, way, (way) more fun.<br />
I didn&#8217;t get the job. Or I think they offered me some trial position or something that I refused, but it didn&#8217;t matter. I was on to bigger and better things.<br />
Next, I interviewed at become.com. After a phone interview with the CTO he sent me a “programming assignment”. It was a bit over the top &#8211; but in retrospect, worth the 3 days it took me to complete. I got an interview and a job offer &#8211; but the biggest value was what the programming assignment forced me to go out and learn. I had to build a web-crawler, a spellchecker/fixer, and a few other things. Good stuff. In the end however, I turned down the offer.<br />
Finally, I had an interview at Google. I&#8217;ve written before that the Google interviewing process does tend to live up to the hype. Its long &#8211; its rigorous and in all honesty, pretty darn fair. They do as best they can to learn about you and your abilities in an interview setting. By no means is that an exact science, but I&#8217;m convinced they give it a good try.<br />
My 4th technical interview at Google was with a woman engineer that honestly seemed a bit bored of interviewing. I had done well in all my previous interviews there and was feeling pretty good about my chances. I was confident that if I did nothing ridiculously silly &#8211; I&#8217;d get the job.<br />
She asked me a few softball questions about sorting or design, I&#8217;m not sure. But towards the end of our 45 minutes she told me “I have one more question. Let&#8217;s say you have a string of alphabetic characters of some length. And you have another, shorter string of characters. How would you go about finding if all the characters in the smaller string are in the larger string?”<br />
Woah. Deja-Guy.<br />
Now, I could have probably stopped the interview right there. I could have said “Ahee! I just got this question a few weeks ago!” which was true. But when I was asked it a few weeks previous &#8211; I did get it right. It truly was a question I knew the answer to. Almost as if Guy had been one of my study partners for this very interview. And heck, people study interview questions on the internet all the time &#8211; by me non-chalantly answering the question I wouldn&#8217;t be “lying” in any way. I did know the answer on my own!<br />
Now you might think, that in the instant after her asking, and before the moment of time that I began speaking that the entire last paragraph sequenced through my thought process rationalizing that I was, indeed, morally in the right to calmly answer the question and take credit for the answer. But sadly, that wasn&#8217;t the case. Metaphorically, it was more like she asked the question and my brain immediately raised its hand and started shouting “Me! ooh! ooh! ooh me! I know! ask me!” My brain kept trying to wrestle mouth-control away from me (which happens plenty) but only by stalwart resolve was I able to retain composure.<br />
So I answered. Calmly. With almost unearthly grace and poise. And with a purposeful demeanor &#8211; with, I think, a confidence that only someone with complete and encyclopedic knowledge of this timeless and subtle problem would hold.<br />
I breezed over the naive solution as if it were unworthy. I mentioned the sorting solution as if it were wearing a red-shirt on an early episode of Star Trek. And finally, nonchalantly, almost as if I had invented all things good and algorithmically efficient, mentioned the O(n+m) linear solution.<br />
Now mind you &#8211; despite my apparent poise &#8211; the entire time I was fighting my brain who, internally, was screaming at me &#8212; “TELL HER THE PRIME NUMBER SOLUTION YOU DIMWIT !”<br />
I ignored his pitiful pleas.<br />
As I finished the linear solution explanation, her head dutifully sank with complete non-surprise and she started writing in her notes. She had probably asked that question a hundred times before and I&#8217;d guess most people got it right. She probably wrote “yep. boring interview. got boring string question right. no surprise. boring guy but probable hire”<br />
I waited a moment. I let the suspense build as long as possible. I am truly convinced that even a moment longer would have resulted in my brain throwing itself fully into an embolism resulting in me blurting out unintelligible mis-facts about prime numbers.<br />
I broke the calm. “You know, there is another, somewhat cleverer solution”<br />
She lethargically looked up with only a glimmer of hope.<br />
“Given that our range of characters is limited. We could assign each character to a prime number starting at 2. After that we could &#8216;multiply&#8217; each character of the large string and then &#8216;divide&#8217; by each character of the small string. If the division operation left no remainder, we&#8217;d know we have a subset.”<br />
I&#8217;m guessing that at this point, she looked pretty much as I did when Guy had said the same thing to me. General loss of composure, one pupil was dilated, slight spitting while talking.<br />
After a moment, she blurted “But.. wait that wouldn&#8217;&#8230; yes it would! But how.. what if.. wow. wow. that works! Neat!”<br />
I sniffed triumphantly. I wrote down “She gave me a &#8216;Neat!&#8217;” in my interviewing notes. I&#8217;m pretty sure I was getting the job before that question, but it was pretty clear that I was in for sure now. What&#8217;s more, I&#8217;m pretty confident that I (or more precisely, Guy) had just made her day.<br />
I spent 3 years working at Google and had a great time. I quit in 2008 to CTO a new startup and have subsequently started another of my own after that. About a year ago I randomly met Guy at a start-up party who had no idea who I was but when I recounted this story he nearly peed his leather pants laughing.<br />
Again, if there is a moral here &#8211; it&#8217;s to never chase your dream job before you chase a few you&#8217;re willing to fail at. Apart from the interviewing experience you&#8217;ll gain, you never know who might just get you ready for that big interview. In fact, that rule just might work for a lot of things in life.<br />
And seriously, if you get the chance and you&#8217;re looking to hire a crackshot engineer &#8211; you could do far worse than hiring Guy. That dude knows things.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/139.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>愚人节的感叹</title>
		<link>http://www.tuwaaa.com/136.html</link>
		<comments>http://www.tuwaaa.com/136.html#comments</comments>
		<pubDate>Fri, 01 Apr 2011 14:12:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[无奈]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=136</guid>
		<description><![CDATA[愚人节——出差回来后第一天上班。和平常一样，大家都专注着自己的工作。偶尔响起的声音，也是几个人在一起讨论问题。 在长沙出差了十天，到底是第一次出差，虽不说多狼狈，但是也没... ]]></description>
			<content:encoded><![CDATA[<p>愚人节——出差回来后第一天上班。和平常一样，大家都专注着自己的工作。偶尔响起的声音，也是几个人在一起讨论问题。</p>
<p>在长沙出差了十天，到底是第一次出差，虽不说多狼狈，但是也没好到哪去。出差之前的准备工作没做好，结果不必要的东西带了不少，必要的却没带。</p>
<p>好在只是过了十天，熬熬就过去了。下次就会更有经验了。</p>
<p>在长沙没什么特别的发现，只是觉得这里的妹子还比较水灵（呵呵）。吃到了湖南菜，还比较合口味，没深圳这边的湖南菜馆辣——只能说深圳的湖南菜不地道了。</p>
<p>其实很想抽空去长沙的风景区逛逛，一来没时间，二来想去人也懒得动，毕竟不是旅游城市，景点不是很响亮，也就没有了动力。好在也逛了下比较有名的黄兴步行街、坡子街和酒吧街（其实真的就是一路走马观花的逛完了）。还留了张照片。在长沙的同事兼前辈给照的，效果还不赖~昨天终于飞回来了，在飞机上晕的一塌糊涂，不知道是不是前一夜睡的很晚的原因。总之精神极度不振。4.30左右到了深圳。下飞机之后本想拍张机场的照片，想想还是算了，别人都忙着下飞机，我堵在那拍照总是很别扭。</p>
<p>虽然精神不振，我居然还是12点之后睡觉&#8230;同时今天居然是6.30起床不带赖床&#8230;和平常一样度过一天，回到家，打开自己的网站，上面的留言让我觉得心里很沉重。一个一个都是催更新。我哪有时间更新啊&#8230;真的是有心无力了。从最初的激情到现在的无力&#8230;短短不到一年时间&#8230;</p>
<p>突然把群打开，想把网站转出去，经营快一年，早就有了感情。我不在意能不能卖钱，在意的是能不能继续将它延续下去&#8230;但是谈何容易&#8230;如果不能延续，我宁愿它从此消失也不愿它变成一个垃圾站&#8230;</p>
<p>真的很无奈啊&#8230;无奈&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/136.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE6绝对定位的bug及其解决办法</title>
		<link>http://www.tuwaaa.com/131.html</link>
		<comments>http://www.tuwaaa.com/131.html#comments</comments>
		<pubDate>Thu, 17 Mar 2011 06:30:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web technology]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[绝对定位]]></category>
		<category><![CDATA[解决]]></category>

		<guid isPermaLink="false">http://www.tuwaaa.com/?p=131</guid>
		<description><![CDATA[IE6绝对定位的bug及其解决办法。position:absolute定位在IE6下存在left和bottom的定位错误问题： http://www.tuwaaa.com/ tuwaaa http://www.tuwaaa.com/ tuwaaa 上面这段代码在IE6中定位错误。 解决办法有两种： 1、给... ]]></description>
			<content:encoded><![CDATA[<p>IE6绝对定位的bug及其解决办法。position:absolute定位在IE6下存在left和bottom的定位错误问题：</p>
<pre name="code" class="html">
<!–IE6下的left定位错误–>
<div style=”position:relative;border:1px solid orange;text-align:center;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;top:0;left:0;background:#CCC;”>tuwaaa</div>
</div>

<!–IE6下的left定位错误–>
<hr />
<div style=”position:relative;border:1px solid orange;text-align:right;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;top:0;left:0;background:#CCC;”>tuwaaa</div>
</div>
</pre>
<p>上面这段代码在IE6中定位错误。<br />
解决办法有两种：<br />
1、给父层设置zoom:1触发layout。<br />
2、给父层设置宽度（width）。<br />
<span id="more-131"></span></p>
<pre name="code" class="html">
<!–解决方法1 zoom:1–>
<div style=”position:relative;border:1px solid orange;zoom:1;text-align:center;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;top:0;left:0;background:#CCC;”>tuwaaa</div>
</div>

<!–解决方法2 设置width–>
<div style=”position:relative;width:99%;border:1px solid orange;text-align:center;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;top:0;left:0;background:#CCC;”>tuwaaa</div>
</div>
</pre>
<p>下面的这段代码在IE6下，bottom定位错误：</p>
<pre name="code" class="html">
<!–IE6下的bottom定位错误–>
<hr />
<div style=”position:relative;border:1px solid orange;text-align:center;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;bottom:0;left:0;background:#CCC;”>tuwaaa</div>
</div>
</pre>
<p>解决办法和left定位类似：<br />
方法1是给父层设置zoom触发layout。<br />
方法2是给父层设置高度（height）。</p>
<pre name="code" class="html">
<!–解决方法1 zoom:1–>
<hr />
<div style=”position:relative;border:1px solid orange;zoom:1;text-align:center;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;bottom:0;left:0;background:#CCC;”>tuwaaa</div>
</div>

<!–解决方法2 设置height–>
<hr />
<div style=”position:relative;height:60px;border:1px solid orange;text-align:center;”>
     <a href=”http://www.tuwaaa.com”>http://www.tuwaaa.com/</a>
<div style=”position:absolute;bottom:0;left:0;background:#CCC;”>tuwaaa</div>
</div>
</pre>
<p>IE6中很多Bug都可以通过触发layout得到解决，以上的解决方法无论是设置zoom:1还是设置width和height其实都是为了触发layout。下列的CSS属性或取值会让一个元素获得layout：<br />
position:absolute 绝对定位元素的包含区块(containing block)就会经常在这一方面出问题<br />
float:left|right 由于layout元素的特性，浮动模型会有很多怪异的表现<br />
display:inline-block 当一个内联级别的元素需要layout的时候就往往符用到它，这也可能也是这个CSS属性的唯一效果—-让某个元素有layout<br />
width: 除auto外的任何值<br />
height: 除auto外的任何值<br />
zoom: 除auto外的任何值</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuwaaa.com/131.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

