Shell's Home

Jan 11, 2012 - 1 minute read - Comments

两天的生活

我刚刚看了酷壳上的一篇文,讲的是女程序员的故事。然后我准备说个无关的故事——数一数我两个典型的日子,2012年的1.3和1.4。这两天,一天是休假最后一天,一天是工作第一天,又刚刚过去,所以我还记得。听上去没什么关系,你听完就知道联系了。 1.3日 8:30 早上8点半就醒了,工作时间醒习惯了,睡不着了。起来洗脸刷牙开机煮饭——是的,老婆暂时回娘家,我要自己烧饭。(吐槽一下,程序猿婚后还是得学做饭)半个多小时后,大概吃喝完毕,开始处理邮件。 9:00 从九点到十一点,处理了所有的邮件,回了blog上的评论,顺便把整个广西游玩过程写成blog,大概4500-5000字。 11:00 从网络上买点东西,然后继续做饭——水饺。 12:00 吃完东西,开始研究hash冲突漏洞,大概研究到下午三点。收集了一下相关的问题,大致读了一下paper,包括squid上可能出现的情况什么的。把基本问题写了个blog。 15:00 给老婆发个消息,看看醒了没,给老妈发个消息报平安,收拾一下家里,大概花了半小时。给外婆打个电话说晚上去吃饭。然后开始健身。三组动作重复四次,总共半个小时。 16:00 去京东和淘宝上买点东西,看到有音箱,想起来家里的播音系统和视频系统还没有搞定。于是开始研究linux下的视频系统。 15:30 外婆打过来问什么时候去吃饭,出门去吃晚饭。 20:00 晚饭回来,装吃的,做家务。 20:30 看了一下,又是一堆邮件和评论,继续处理评论。 21:00 hash冲突需看一下python源码,然后写一个程序验证一下,发现maillist里面的过程有点问题。发个邮件过去确认一下,然后接着看了一下相关部分的python源码,三个版本。 23:00 看会动漫,然后洗澡。顺便说一下,最近在跟《便当》。 00:00 确定似乎要看一下论文,翻了一下论文,大概搞明白了什么意思。不过差不多一点了,该上床了。 1:00 在床上玩手机,安装一下各种程序,看点动漫,遂觉。 共计如下:写游玩过程的blog和整理相片两小时,研究技术和写程序六个半小时。 1.4日 8:10 开始起床 8:20 努力起床 8:30 起床(没老婆的日子里,闹钟要提早20分钟,不然会迟到),洗脸刷牙做早饭吃饭上班,路上听两首歌,处理一下私人邮件。 9:30 到公司,开始处理各种邮件,开始解决bug #600。 10:00 bug #600验证出了问题,等待测试验证,开始写cmdb项目的映射部分代码。 11:00 hash那里想到一点问题,写个代码验证一下。 11:30 吃饭了,hash那个问题可以走通,不继续写了。 13:30 午觉醒来,开始继续cmdb的代码。 14:00 测试验证出了bug #600的情况,开始修正问题,并出补丁。 14:30 开始写年终总结报告 15:00 继续cmdb的映射代码 16:00 健身一下,处理一下自己的邮件 16:30 从淘宝和京东上买了点东西 17:00继续cmdb的映射代码处理 18:00 本来应该去健身的,没带衣服,算了,吃了饭回家自己健身去 19:00 开始做家务 20:00 开始研究mp3文件格式 22:00 健身,WTF 23:00 洗澡看动漫咯

Jan 9, 2012 - 1 minute read - Comments

广西游记下

阳朔 我们前后两次路过桂林——先从南宁坐过夜火车到桂林,吃过一碗桂林米粉马上上船去阳朔。桂林米粉就是普通的煮米粉,然后自己加上各种配料。当地人是干拌,吃完加点汤。我们吃就是加汤吃,味道很鲜,但是没有老友粉那么特色。我怀疑外面卖的桂林米粉多是因为这东西比较容易操作。作为师傅,只要配料和汤料准备完,剩下的就是小碗煮米粉而已。人多的时候也可以很快操作。老友粉和螺蛳粉就没那么快的操作速度了。 从桂林到阳朔的船是旅行的重点。上船先买票,到了船上还可以包包厢。我建议——最好是多人去,直接包一间包厢,6人间600,送一套午餐。这样既不吵,而且中午吃的也会比较好一点。我们看过他们的普通午餐,根本就是白煮白菜加上米饭!上层的风景非常好,可惜我们去的不是时候,漓江正好处于枯水季。不是上游水库放行部分水流的话,我们今天的船根本一步都开不出去。而且当天略有阴雨,看漓江风光的时候朦朦胧胧。往好了说是别有风味,往糟糕了说就是白干一场。不过这次有几处,江面上开阔大气,两旁山水气势磅礴,船头上又没有什么人,感觉这几处还是值得的。 阳朔据说是最早的旅游酒吧聚集地,资本主义的桥头堡——比丽江早多了。我们看了看,不算大,只有三条街的大小。看看点评,里面最热门的是“谢大姐啤酒鱼”,出门发现谢三姐啤酒鱼,后面什么刘大姐张大姐全都站出来了,李鬼不但比李逵还多,而且多多了。我们找正宗店家找了半天,吃完还没法肯定自己吃的是正宗的。不过东西不错,啤酒鱼中午也有吃,是用啤酒来烧鱼,而不是清水。鱼的味道很赞,和中午效果完全不同——中午连鱼鳞都没有去干净。 我们吃东西的要点是——找一家,少点点,好吃再加,不好吃付钱去别处。因此啤酒鱼垫个肚子,我们又去了点评上的第二家——黄记玉米汁。讲到这里,感觉这趟游玩纯粹变成吃喝之旅了,没办法,两个吃货出门,还能指望点啥呢? 玉米汁不错,据说浦东也有分店,就在八佰伴旁边。好像是用煮过的玉米,用豆浆机打碎,滤过其中的植物纤维,只剩下植物蛋白的粘稠溶液。店里的特色是准备了很多便利贴,让客人自己写各种东西贴在墙壁上作为装饰。我们去的时候,墙壁上已经贴了一层又一层的便利贴了。 黄姚 黄姚不大不小也算是个旅游城市,不过名气上远没有阳朔和丽江那么响亮。猫咪不知道怎么把这个地方挖出来的,绝对赞,强烈推荐。我们去的时候还算是淡季,街道上的人不多不少。看着热闹,又不会拥挤。据说每到逢年过节,春秋风光明媚的时候,镇子上的民宿和镇口的旅馆全部爆满——镇口有一家四星级旅馆。由此可见这地方值得一去。 黄姚古镇是一个很小的镇子,离桂林大概3小时的车程。镇上水土很好,旅游业小有规模,又没有像阳朔和桂林那么夸张,感觉进去好像进了义乌一样。当地的小巷子还是很原生态的,大概有一半不到改成了商店和民宿,另一半还是普通民居。巷子四通八达,山水相连风光秀丽。据说有不少电视剧都是在此取景,因此墙上有很多民国年代的招贴画,像是回到那个年代一样。镇子上特产豆腐和豆豉(都是豆制品哈),尤其是其中一家的姜糖水豆腐花,超级赞。豆腐白花花,入口即化,姜糖味道很明显。一碗两元,一定要吃。 镇子白天进去是收门票的,晚上就不收钱了,随便进。住民居,吃农家饭,都随意。这里的农家饭真的是农家,我们在前厅吃饭,一墙之隔就传来小孩的哭声和笑声,门外还有只黄狗,每次有人经过,就汪汪的叫起来。我们吃的鸡是自己挑的,走地鸡——不走也不行啊,这里根本没有专门的养鸡器具,晚上都是关在一个小笼子里面。笼子顶上还有个洞,居然有一只鸡从里面跳了出来。行,公鸡中的战斗机,就是它了。 先上的是一道扣肉,用芋艿和五花肉烧的。热的时候很香,冷一点就不好吃了。然后是枸杞梗烧鸡杂鸡血什么的,用枸杞梗烧汤是这里的常态,我们两顿都吃到了这样的汤。鸡肉果然鲜美好吃,我们基本干光——剩下的骨头就喂了前面的阿黄。他倒是很挑剔,好吃的吃,不好吃的就不吃了。一点不像我们后来碰到的一只在路上的狗,给什么吃什么。 桂林 桂林基本就乏善可陈了,我们只在桂林停留了半天,而且还没吃到什么好东西。 中午的老字号米粉怀疑是李鬼店,汤头不鲜,而且免费的料太辣。辣不要紧,关键是一点都看不出,而且吃下去过一会才辣起来。我们一行人全都跑出来买水喝,喵舌头还吐个不停——我说这家原来是做辣酱出身的吧。下午去了象鼻山——既然来了,总不能不去吧。象鼻山现在在枯水季,所以不算很好看。然后我们到正阳路步行街逛了一下,回来吃了一碗螺蛳粉。螺蛳粉其实里面没有螺蛳,是用螺蛳肉煮汤,然后放酱料做的。感觉和老友粉非常类似,只是不放酸笋,略有差异。如果去柳州,记得吃上一碗,看看差异。 OK,广西之行基本就是这个样子,如果你也要去,不妨参考一下。另外补充两个值得去的地方,七星山和龙脊梯田。这次我们时间有限,未能成行,非常遗憾。

Jan 5, 2012 - 1 minute read - Comments

广西游记上

说是游记,大概会写成一笔流水帐吧。我写东西大多数情况下,信息多于修饰,一贯如此。 北海 头天飞的北海,天气不错,气候宜人,下了飞机我就脱掉了棉裤棉衣。北海位于广西最南端,几乎是中国大陆最南方的城市,规模并不大,冬暖夏凉气候宜人。我们住在侨湾那里,听当地人说,是当年东南亚排华的时候,从国外逃回的华侨,当地政府在这里安置,形成的村落。所以当地居民很多会说越南语,而且很多东西上标注的都是泰文或者越南文。这里离著名的北海银滩并不很远,打车15就到。 银滩其实没有想象中的好,主要是因为现在是冬季,海水虽然不刺骨,但却不能游泳,因此来的人几乎没有。据当地居民说,这里在旺季的时候,几乎全是人,完全无法游泳。银滩的海浪冬夏不尽相同,不便评价。但是她的沙滩非常好,沙子洁白细腻,踩上去一点都不痛,粘在脚上拂拭不去,干了还是薄薄一层。不仅远离海岸的地方如此,而且海岸边上的沙子也如此,明显是冲积形成的。厦门的白城更加商业化一些,一年四季都有人,卖小吃的,栈道上观景的,冲淡的,始终不断,但是沙子是个先天劣势。厦门远离海岸的沙子是细沙,但是岸边的就是粗砂,踩上去如同足底按摩一般,明显后面的沙子是运过来的。但是银滩在淡季的时候,冲淡的,卖东西的,基本都没有人经营,明显只做一个季度的生意。 我们去了南珠宫买了点珍珠,这里的珍珠非常好,属于当地特产。珍珠的常识是,海珠比淡水珠好。但是海珠更加圆滑透亮,不适合做胸针什么的,大部分都是项链手链。珍珠项链又不适合每个人,所以要不要买,见仁见智。我们买的是淡水珍珠胸针,也不算贵,就是买着玩玩而已。猫咪倒是对这里的甘蔗汁更加感兴趣,喝过一次后念念不忘,吵着要喝。这里的甘蔗是青皮甘蔗,现场压榨。汁液鲜甜,在上海可是很难喝到哦,来的不妨买一杯尝尝。 侨湾那里也有个海滩,和银滩差不多,只是名气没那么响。我们在旁边饭店吃的晚饭,贵死了!!!不过饭店外的风景甚好,我还抓了好几张不错的夕阳,算是心理平和点。 从北海坐火车到南宁只需要三个小时不到,不过一天只有两班火车。与此相对的,火车站修的广大气派,不知道是干什么用的。照我说不妨学学杭州的火车站,把上面的部分改建成商业建筑,还能充分利用。列车上一点让人不爽的地方就是,上去后一趟火车3个小时,推销东西的有四批。一个卖毛巾的,一个卖鞋油的,一个卖牙刷牙膏的,一个卖速算书的。从头卖到底,五分钟清静都没有,猫咪想睡觉都睡不着,铁道部最近穷疯了还是怎么? 火车上我们对面的一对老头老太是北京人,石油部的,退休了到处玩。老爷子心脏有问题,所以在气闷的火车上非常不舒服。问老太太为啥年纪这么大了还到处跑,老太太说,老爷子心脏不好,装了支架,闷在家里不痛快。出来和老朋友见个面,顺便在北海休养休养。北海气候宜人东西便宜,他们住了一个月了。说着呢,老爷子散步好久没回来,我跑去厕所敲了半天门,没开。刚说要不要找列车员开门,老爷子回来了。他去后面车厢上了个厕所,顺便透透气。没事我就准备回去和老太说一声,老爷子继续往前走。过一会,老爷子从前面绕回来了——他原本倒是想回座位,可是找不着座位在哪了。我们的火车上下两层,他光在上面找,是找不到。我碰到了他,以为想继续散步,也没拉他回来。 南宁 我们只在南宁呆了半天,但是对南宁的夜市印象非常深刻。除掉下午去了一趟广西博物馆,剩下的时间就是吃吃喝喝。先是打油茶,狗肉(都是好东西啊),后来还有一个艾粑粑。打油茶是当地特产,用糯米脂肪和茶打出来的一种饮料,具体可以自己百度。我喝喝感觉口味一般,味道不算好也不算糟。艾粑粑是用艾草汁做的一种糯米食品,大概就是没有馅的艾草青团拍扁。不过这年头还有哪里有正宗艾草青团? 夜市里面吃到的各种奇奇怪怪的东西就多了去了,我甚至在里面看到了整只的鳄鱼和鲨鱼。我们首先吃的烧烤,旁的不用细说,里面最特殊的就是猪鞭,平时烧烤这东西可没有当成鸡翅一样在卖吧。然后还有南宁特色,老友粉。广西这里偏爱米粉,而且各地做法不同。到桂林要吃桂林米粉,到柳州要吃螺蛳粉,到南宁就要吃老友粉了。这个是用酸笋和各种料来烧的米粉,味道酸酸馊馊,据说很多人吃不惯。我吃吃很好吃啊,和北京的豆汁完全不是一个概念。 后面有一碗牛杂汤,是用各种牛的下水熬的汤。猫咪不吃内脏,所以让我来吃。我貌似吃到的是牛肺,也好,润肺通气。然后,今日重点登场——王老吉。我们是在一个糖水铺里面看到王老吉的,当地朋友立刻就一脸暧昧的笑容。我们点上各种糖水,然后点了一杯王老吉来品尝。我第一个下手,一口下去——我去啊,这玩意苦的厉害。不过还好,当年我也是喝了好几年中药的,脸上神色不变,点点头,恩,这玩意有点苦。还记得那个笑话么?三个傻瓜摸烧红的秤砣是什么味道的——傻喵马上说,是么是么?多苦啊,我尝尝。恩,很好很好,马上看到某只喵像被掐住喉咙一样的扑腾——我趁机喝掉她的糖水,缓解一下嘴巴里的味道。 后面一帮不信的人,前仆后继的相继中招。这玩意的味道不但苦,而且从喉咙里面不断散发出来,根本不是喝口糖水就能压掉的。这是当地正宗凉茶,可不是外面卖的王老吉那种水货。当地朋友是感冒,当作药喝的。我们几个就傻傻(好吧,里面也许有一点点我的因素)的分别中招。 最后一个吃的是南宁的小馄饨,这个很赞。里面放的丸子是牛肉丸,打的很彻底,很Q很有弹性。馄饨包法很特殊,是用皮子卷出来的,馅料粉红色,煮开后有嚼劲。就是吃的时候有点苦——这个绝对是王老吉惹的祸。总体来说,南宁之旅还是留下了很深刻的印象的——东西好吃!!!

Jan 4, 2012 - 1 minute read - Comments

哈希冲突漏洞的原理和对策

cpug上面最近在讨论一个严重级漏洞,漏洞的相关资料如下: ERT-VN:VU#903934 CVE-2011-4815 CVE-2011-3414 CVE-2011-4838 CVE-2011-4885 上面主要讨论的是这么一个概念,当用户post一个数据,而且这个数据又是一个form的时候,应用需要先将form解析为dict,然后才能方便的使用。例如a=1&b=2,可以解析为{'a':'1', 'b':'2'}。之所以1和2是字符串,是因为只有用户自己才清楚这个数据的类型。 通常情况下,这个form的key都是随机的,生成的hash碰撞概率很低,因此dict的默认实现——hash table没什么问题。但是当攻击者恶意构造数据的时候,情况就完全不同。我们首先讨论一下hash table的实现——开链法和二次探测法。 所谓开链,就是指对所有同余hash,将他们挂到一个hash表项上,形成一个链表。而所谓二次探测,就是在第一次hash冲突后,再进行一次hash,作为第二地址。 开链法对碰撞冲突是有先天缺陷的,因为同余碰撞的构造远比hash碰撞的构造简单。假定hash table有11个表项,那么平均11次尝试就可以得到一个元素,和原始元素hash同余。如果选用这样的恶意key序列,在执行构造的时候,hash table就退化为了链表。链表的插入复杂度是O(n\^2)级的。而作为攻击者,为了获得n个hash同余对象,所需消耗的复杂度做如下估量。首先考虑hash table length和n同阶,因此以n作为hash table长度。这样每n次尝试就可以获得一个恶意元素,获得n个元素的复杂度为O(n\^2)级。 也就是说,即使是sha256这样强的hash算法,只要保证哈希函数特性,对同样的值得到同样的哈希,就无法保证开链法的安全。 而二次探测法对这个是有先天抵抗的,二次探测法的第一次碰撞并不难构造,但是第二次哈希后依然保持同余的构造难度就由n增加到了n\^2,多次碰撞的构造难度以此类推。虽然我没有完整的计算过这个值,但是猜测难度量级应当是O(n*n\^n)级别的。这个级别基本就不用玩了——前提是哈希算法必须是安全的。 由于为了节约计算过程,因此python和php的hash算法都没有采用md5之类的高散列算法,而是一个很简单的算法。我摘抄一下Python2.7.2中的这段代码。python_string_hash.c static long string_hash(PyStringObject *a) { register Py_ssize_t len; register unsigned char *p; register long x; if (a->ob_shash != -1) return a->ob_shash; len = Py_SIZE(a); p = (unsigned char *) a->ob_sval; x = *p << 7; while (--len >= 0) x = (1000003*x) ^ *p++; x ^= Py_SIZE(a); if (x == -1) x = -2; a->ob_shash = x; return x; } 按照<python.

Jan 2, 2012 - 1 minute read - Comments

理想的平板

7寸以下宽屏,原因,可以一手拿住。 300g以内,原因,可以一手拿住。 厚度1cm以内,原因,拿得舒服。 10小时续航,原因,一天可以只充电一次。 3g支持,原因,不支持3g的不叫理想的平板。 IPS/PLS屏幕,原因,普屏的视角的却有的时候很不爽。 usb可充电,原因,外部电源续航方便,充电方便。 支持TF卡,原因,方便。 USB OTG,原因,可以拖U盘和键盘。 GPS支持,原因,地图是很重要的。 好吧,我们合并要求起来看看。300g以内10小时续航,目前芯片和屏幕的功耗连电池重量都不够。所以这个无形就要求更加节能和强劲的芯片,还有更加节能的屏幕。同时,这个屏幕还不能比IPS视角差。 继续等吧。

Jan 1, 2012 - 1 minute read - Comments

语言的继承和历史包袱

出去玩,在阳朔过的新年,随便发点吧。 我们知道,C++继承了C语言的语法,并且号称完全兼容。实际玩下来,C标准自己也不怎么统一,说基本兼容大家是没异议的。这个给C++带来了无限的好处,从一开始,C++的用户数量和其他语言就不在一个数量级上。《C++语言的设计和演化》一书中说,作者设计出来后没多久,基本没有做宣传,就有无数人给他打电话,用户数量飙升。作为一个新出的语言,即使是Go也没有如此的待遇,这就是继承了C的好处。 有好处就有包袱,C++兼容C,出现的包袱也很大。想做GC?想使用智能指针?那就没法兼容C(具体不细说)。此外里面有无数的问题是因为“需要兼容C”而变成一个四不像的。再后来,为了在语言上更进一步,Java继承和吸收了C++的部分语法。这给Java带来好处,也带来问题。 继承一个东西的好处,就会带来一定的包袱。这个也同时体现在Zope社区和Python社区里面。Zope3把2直接推倒重来,导致了用户纷纷出走(当然还有别的原因)。从而出现目前Python Web框架满天飞,各自为战的局面。而Python3则是不完全兼容Python2,导致目前上面的可用库依然不足。在Python3.2的时候,几乎是被迫的做了一些前向兼容,来换取用户可接受的过渡。同样,前几天我在说Django的演进的时候,也说过。如果我要做一个jinja版本的Django出来,大家接受度如何?当然,这不代表你无法在Django中使用jinja,不过发行版中不会作为标配。 还有什么语言继承和革新的事情?大家不妨想想。自己做的时候,对照一下,谨慎取舍。

Dec 28, 2011 - 1 minute read - Comments

大家帮我验证一下证书

今天一个朋友和我聊天的时候,问我,是不是hosts不安全。我说,都不安全。翻墙的话,必须对翻墙服务器的拥有者相当信任才可以。不但要相信人品,而且要相信技术,相信服务器不会被入侵。使用gae的话,服务器要自己组建,否则你无法确定组建者是否会修改代码,加入监控代码再上传。hosts引入的问题是,你自己对自己进行了一遍dns毒化,如果目标本身是错的,你就傻乎乎的跳到了一个攻击者的机器上,而且你的行为使得域名核查不能阻止你犯错——他们也认为这个机器拥有你要去的domain。 不过有意思的是他给出的一个例子: https://199.59.149.208/ 这是用于访问twitter的一个hosts。 https://twitter.com/ 问题是,两者的授权是不一样的。我在《论不同系统和客户端的证书管理》里面说过,如果你访问google的时候发现证书是cnnic签署的,你是否觉得可怕。而这次,我发现hosts的证书是GeoTrust签署的,但是我访问twitter的证书是VeriSign签署的。 一家网络公司会找两个不同的供应商签名么?我不清楚。chrome的自动验证对这个无效(所以很危险),因为域名和ip对不上。我试过用openssl验证,但是debian的openssl有个bug,我用CApath无法验证任何证书,包括真实的twitter证书。所以我也无法解答这个问题。从IP上看,这个IP到确实是Twitter的。 NetRange: 199.59.148.0 - 199.59.151.255 CIDR: 199.59.148.0/22 OriginAS: AS13414 NetName: TWITTER-NETWORK 不过这不说明任何问题,完全有可能在路由器上把这一地址段定义到了其他设备上,从而实现man in middle。关键是证书——谁可以帮我验证一下这本证书是否有效?

Dec 27, 2011 - 1 minute read - Comments

密码三文的补充

前两天写了两篇关于密码的文章,其实没说什么,都是程序员的常识和经历。实话说比较有意思的是大家的反应。 一个是,大家为什么纷纷盯上了第一条?我在写的时候,主要考虑的最多的是第五条,就是网站本身方便盗窃其他网站资料,或者为网站本身提供便利。具体可以看某个投诉知乎的帖子。但是来的人几乎无一例外,都在和我讨论第一条。我不知道理由是什么,大家都觉得政府这么值得怀疑么?实际上,除非政府觉得你有资格收集密码,否则基本没有听说密码必须明文存放的潜规则。你想想,你在国内搭建一个小论坛,需要备份明文密码么? 上级要求明文密码的过程大概是怎么发生的?我听一个朋友聊天的时候说到,网管部门要他们系统上某个用户的密码原文,还必须是原文。当然,作为管理部门,是不需要解释原因的。他们表示,密码都是md5之后的。做不成,对方也没有什么表示。后来老板说,设计系统的时候,密码就用明文吧。从这个闲扯中反推,我大概能窥见事情是怎么发生的。不过神奇的是,这个简单的事情,怎么会发展成“网管部门有保存明文密码的要求”的,我描述的太模糊了? 另一个是无所谓的忧虑。我发现很多过来的搜索都是“哪家银行明文保存密码”,还有朋友加我gtalk问我google是否安全。实话说我觉得大家太多虑了,而且考虑方向还错了。与其考虑谁明文保存密码,不如先无良的假定“你们都是坏人,密码都是明文”。然后再想,我的钱是不是还安全?我的系统是不是还安全?我要不要关注这个安全?你指望对方设计的时候使用了hash,多重hash,salt,还不如指望自己的密码强度足够,而且符合使用规范。 密码是什么?从信息学角度说,密码是某个密码空间中的一个随机值。你和服务器约定,提供这个随机值,服务器就验证你的身份。从这个角度说,每两个实体间验证身份都需要一个独立的随机数,而且这个随机数空间还必须够大。现在的主要问题,是大部分人对这个值的选择太过有规律,太过简单,而且更危险的,对所有场合使用同一个值。如果真的需要使用同一个密钥,除非你的密码体系是公钥体系。否则即使是challenge-response模式,也有差分攻击这个问题。 另外顾虑google的那位朋友就有点神经过敏了。当年google退出中国的理由是什么?被攻击。作为一个被攻击后,事情没人知道的情况下,反应这么大的公司,无论如何比其他闷声不响的公司更加重视安全,也应当更加安全吧?你们知道索尼的网站也有密码泄露么?你们知道国内网站在这次之前有多少入侵事件么?在事情没有曝光前主动反应的,google是最大,最严重的一家。如果他不可信,我觉得要找另一家可信的公司就更困难了。

Dec 26, 2011 - 1 minute read - Comments

geek们在圣诞夜玩什么

24号,几个geek跑到我新家里面来玩,frank,ltn,thomas迟了一点,不过还是来了。gary跑来坐了五分钟。实话说,家里没这么热闹过,谢谢你们。 一帮geek在圣诞夜玩什么呢?首先是诈金花,我好像赢了一点——不过记得不是很清楚。我和猫咪不会打,ltn和frank会,老妈打了一阵就去烧饭了。然后是一顿很不错的晚餐——谢谢老妈。晚餐过后,我们开始摆弄数码相机,拍各种照片。我弹了一把吉他,好久不弹,都不会了。然后继续诈金花,同时电视里面在放哆啦A梦——用一台主机上的虚拟机里面的chrome放,这大概是整个客厅里面唯一符合geek聚会的东西。过了一会我累了,猫咪也困了,就中场休息,猫咪洗澡睡觉。 真正的geek聚会是在十点左右,猫咪睡觉/thomas到场后开始的。我们开始玩——愤怒的小鸟。不过我们不是打电脑游戏,而是用椅子摆了一个真实的物理模型,然后摆上我送给喵喵的猪头,和frank送我们的小鸟。每人五次,用小鸟打猪头。当然,猪头前面一般都是有一把椅子阻挡的。OK,这个——算不算Geek聚会的正常内容? 感觉geek就是一帮长不大的小孩,有点意思但是父母说不能玩的东西都要凑在一起玩一玩。不过以前多数是写程序,或者组装个硬件进行编程之类的事情。现在只是改成了组装愤怒的小鸟现场版而已。现场我们也没人在意战绩了,反正就是玩呗。 然后是例行的德州扑克大战——在weibo平台上面。我们原来在thoma家就是一帮人一起玩德州扑克的,不过现在地方没那时候大,来的人也不够多,所以不够热闹。我用电脑接到电视上玩,而其他人就各自用自己带来的电脑。四个人聚在一起互相打牌——这个有必要见面再打么? 然后?我困了,所以就收拾东西睡觉了。 第二天早上起来,我和喵喵就开始烧早餐——小馄饨。实话说这个简直外挂,不是我们自己包的,不用我们收拾。只是简单的找个锅子,烧热水,放下去,然后加冷水。不过有纪念意义的是,这勉强算是我和喵喵第一次一起做饭,也是第一次在新家烧饭。吃过早饭,大家继续德州扑克。猫咪用我的帐号输了好多,用会自己帐号就开始赢钱。可见根本没用心给我打——可恶。中午吃过点东西下午就去shlug活动了。 这次活动非常的吊诡,大家知道shlug的主题分享历来是比较正统,但是后面聊天就离题万里,OT到不知道哪里去了。今天我们分享的是bigdata,结果——我们会后讨论,OT了五六次,内容倒是很有趣,涉及了普朗克时间,玻尔兹曼常数,人类进化历史,中国和世界古文明史,世界宗教和基督教史,特种半导体技术,基因表达过程,蛋白质折叠计算。最牛的不是我们讨论了什么,而是每次都绕回到bigdata上面。只能说,今天的选题实在是太广了点。 好吧,一篇流水帐,没什么好多说的。geek每天的生活大概就和普通人一样。gary的车要去修,chaos要担心自家宝宝,ltn闹了肚子(不知道是不是和晚饭有关)第二天还要考试,thoma的老婆怀孕,圣诞夜还得陪着不能玩——哦,对了,她的预产期是明年,希望能生一个漂亮的小宝宝。 Merry Christmas,大家圣诞快乐。顺便——Happy new year。 PS: 照片我就不发了,大家看看这个得了。 http://shell909090.3322.org/shell/IMG_20111225_004833.jpg

Dec 23, 2011 - 1 minute read - Comments

关于今天六点到十点间无法访问的事情

别瞎猜了,我下班前写密码的文章时,想起自己的keepass里面有不少密码过期了,然后就更新了这些密码。结果把我的虚拟主机密码更新后,忘记在config.php里面跟着更新密码,然后网站就挂了。 非常抱歉。