20110830
20110827
标 题: C语言中史上最愚蠢的Bug(zz) 转载
标 题: C语言中史上最愚蠢的Bug(zz)
发信站: 水木社区 (Fri Aug 26 15:59:46 2011), 站内
http://coolshell.cn/articles/5388.html
本文来自"The most stupid C bug
ever",很有意思,分享给大家。我相信这样的bug,就算你是高手你也会犯的。你来看看作者犯的这个Bug吧。。
首先,作者想用一段程序来创建一个文件,如果有文件名的话,就创建真正的文件,如果没有的话,就调用?tmpfile()?创建临时文件。他这段程序就是HTTP下载的C程序。code==200就是HTTP的返回码。
else if (code == 200) { // Downloading whole file
/* Write new file (plus allow reading once we finish) */
g = fname ? fopen(fname, "w+") : tmpfile();
}
但是这个程序,只能在Unix/Linux下工作,因为 Microsoft 的?tmpfile()的实现?居然选择了 C:\
作为临时文件的存放目录,这对于那些没有管理员权限的人来说就出大问题了,在Windows
7下,就算你有管理员权限也会有问题。所以,上面的程序在Windows平台下需要用不同的方式来处理,不能直接使用Windows的tmpfile()函数。
于是作者就先把这个问题记下来,在注释中写下了FIXME:
else if (code == 200) { // Downloading whole file
/* Write new file (plus allow reading once we finish) */
// FIXME Win32 native version fails here because
// Microsoft's version of tmpfile() creates the file in C:\
g = fname ? fopen(fname, "w+") : tmpfile();
}
然后,作者觉得需要写一个跨平台的编译:
FILE * tmpfile ( void ) {
#ifndef _WIN32
return tmpfile();
#else
//code for Windows;
20110822
七种武器:怀念键盘
用计算机的人,把工具视为武器。所以,我们有很多武器。有些,是花哨而炫目
的,有些是沉重得没有声音的。
键盘,是一种武器。老家伙的武器。
时代发展,老家伙们不断地落后于时代,看这个也不惯,那个也不惯。最后,就
变成了一群被时代淘汰的人。我也会是其中之一。
典典同学不知道从哪拍了张mazhazi的照片,放在人人网上,叫嚣着让大家认那
是啥。
mazhazi是一种类似于蚱蜢的昆虫,就是"只恐双溪舴艋舟载不动许多愁"的那个。
mazhazi和蚱蜢之间的区别我就不说了,这不是重点。重点是我答了那是mazhazi
以后,典典同学说,"老头不许说话。"
恩,你,还有你,你们也有一天会变成老头的啊。
老头们会认为最佳的输入工具是键盘,而不是鼠标。我们大部分时间手指都是放
在键盘的基本键位上,而不是鼠标上,那很累手。而且,我们认为手放在鼠标上
仅能获取信息,而放在键盘上是为了对这个世界发出我们的声音。
当然,我们也没有那种键位错误――因为打CS太多,食指不是放在F上而放在D上。
键盘曾经是最常用的输入工具,那个时候鼠标20元一个,我根本就买一起。所
以,学ORCAD,一种绘电路图和仿真的软件,整个课程,我都是用键盘对付下来
的。考试的时候也没鼠标。
键盘定位,真是比鼠标准确多了。
我所怀念的键盘,最初的一个,很寒碜。
每当同学们抱怨这所学校或学院多么糟烂,机房开放时间怎么地的时候,我就讲
讲我当年3块钱2小时机票的事。你看,我老啦,老家伙又能说些什么。
其实我没讲更早的故事。我的第一个键盘,是我手工做的。当然不能接在计算
机,那时机器都放在跟保温箱似的屋子里,难得有机会碰一下。我做的键盘是木
头板上,每个键位的上面粘着海绵,海绵的顶上粘着我从计算机课本上剪下来的
键盘字母。
我为我的高中能提供计算机课程而感激至今。虽然,整学期我们只编了解一元二
次方程的那个程序,BASIC,苹果II。有人说,男人总会找到一个复杂的令他向
往的东西。当时我还不知道这句话,但是我想,这个就是我想要的东西了。
现在,仍能感到当时的激动。机房那美妙的塑料味。
我在这个键盘上练了最初的指法。同时用来练指法的,还有英语林老师的机械打
字机。所以,我现在仍然打字很重,能把IBM笔记本敲得跟机械键盘一样响。
后来,我赖吧吧地想跟一位好友的男朋友学五笔来着,自己找来了字根表啥的。
但是人家不教,那个时候计算机很贵的。机时也很贵。
唉呀,往事如烟哪。现在我中文打字估计能稳定在60―80左右吧,比思维和说话慢
不少,估计比我写字略快。
英文打字大约每分钟正确击键200次左右。大哥同学,每分钟300,我认为他不是
人类,平均每秒钟5次。
小数字键盘,我很少见到像我一样用规范指法的,除了银行的。中指在5上,0用
拇指,回车和加号用小指。
小数字键盘是打一个游戏练的。那个游戏叫做 大时代的故事,讲北伐战争、抗日
战争前、抗日战争中后期的故事。你扮演一个军阀,打别人。用小数字键盘回答
问题,把兵带到某某省吗,骑兵对坦克冲锋吗,花钱在某省发动XX运动么?历史
上的牛人们,战斗力真的很牛,甚至一直打到缅甸。抓到的将军们可以招降,再
招降,再招降,或者杀了,日本鬼子只能杀,没有招降选择。
记得是汉堂的游戏,打过关以后,小数字键盘很熟了。
最上排的数字键盘,一直不熟,不能盲打,所以对各种笔记本的键盘很痛恨。后
来用EMACS,慢慢习惯了,一个一个数字熟悉起来。现在大部分能够盲打了,包
括它们的上档字符。
讲C++还是JAVA课的时候,同学们跟我讨论过我用键盘的利弊。有人希望我用鼠
标操作,这样他们方便记住在哪里找到编译菜单啥的。我后来没有坚持按他们的
希望去做,一则我找那些菜单挺费劲的,没太记住,二则我一直不明白这也应该
算是传授的内容么,换个界面就找不到啦?三则,我其实那个时候就眼神不太
好,看清菜单是件困难的事。就像我用WORD也全屏,不是显摆或另类,而是我长
期用15英寸球面显示器,实在看不清那些按钮,屏幕上也没那么大地方。
说到这里,我想起了用着大显示器,却只有巴掌大的地方是代码的孩子们。
我真是老啦。
最后一件跟我老了有关的键盘的故事。我痛恨加工过的那些键盘。国人制造商们
特有这个瘾,在键盘上加些没用的或者非常不常用的东西。比如待机按钮啦,关
闭按钮啦。
他们在那里污染键盘布局空间不说,还特别容易在按光标移动键的时候按上。为
此,我砸碎一个,而且再也不用这种垃圾了。
键盘,就像你身边那个最可靠的人。古龙小说里写着的,某坏BOSS被打了,床一
翻个就没影了。话说他的床下面24*7有个家伙在那里划着艘船等着。
键盘就是这样,那些按键一直在那里。你可能已经忘了VC编译的快键盘是什么,
但是你的手指还记着。
我们,有一些人,可以永远记着,有另一些或另一个人,一直守候。无论鼠标、
语音输入、脑电波,无论有什么样的变化,他就沉睡在那里,当你需要的时候,
给你确定的支持。
你甚至不必看你的手指,就能知道他的动作。因为他从不改变。
所以,我想说的武器不是键盘,而是可靠。
--
Sincerely,
YANG Guifu
School of Computer Science and Information Technology
Northeast Normal University
Changchun, P.R.China
----
杨贵福
无不大工。
20110821
大多数人从未听说过CTRL+F
Sent to you by Young via Google Reader:
Google科学家Dan Russell称,在他的研究中有90%的人不知道使用快捷键CTRL/Command + F去寻找文档或网页中的单词。 Russell研究了数千人如何搜索资料。他说,在做研究时他已经记不清有多少小时坐在别人的房子内,看着对方阅读一个长长的文档寻找所需要的资料。他在最后会忍不住提醒,有一个技巧可以帮助快速搜索信息,经常研究对象听过后会感慨万分的说"无法想象自己浪费了多少生命"。《大西洋》的资深编辑Alexis Madrigal认为,应该教育数字时代的人们掌握类似的技巧:如CTRL+C和CTRL+V复制粘贴,CTRL+A全选内容,CTRL+ F搜索关键词,CTRL+Z撤销上次操作,CTRL+L选择网址...
Things you can do from here:
- Subscribe to Solidot using Google Reader
- Get started using Google Reader to easily keep up with all your favorite sites
计数
--
Sincerely,
YANG Guifu
School of Computer Science and Information Technology
Northeast Normal University
Changchun, P.R.China
----
杨贵福
无不大工。
20110815
标 题: 男子盗窃后逃跑10秒多跑百余米 监控仅留白影
标 题: 男子盗窃后逃跑10秒多跑百余米 监控仅留白影
发信站: 水木社区 (Mon Aug 15 20:59:11 2011), 站内
http://www.sina.com.cn 2011年08月15日13:04 大河网-河南商报
小偷快速逃跑后,扔下了自己的电动车 河南商报记者 王春胜/摄
河南商报记者 李政 记得博尔特吗?北京奥运会田径100米决赛,他用了9.69秒夺冠。昨日凌晨,郑州街头一名偷电瓶的男子被发现后,拔腿就跑,监控显示,百余米路程,他仅用了10秒多,以至于在监控屏上只留下一道白影。
下手
1分钟内,偷走4个电瓶
郑州人民路丹尼斯商场路边,骑电动车的白衣男子停车了,点上一支烟,吸了一口,朝四周张望着。
时间是凌晨1点45分,路上没什么人。男子身旁停着一辆电动车,3分钟后,他蹲在电动车旁边,用工具撬开车座,拎出4个电瓶,放在自己的电动车上,偷盗过程不超过1分钟。
不远处的监控室内,人民路巡防队员通过监控摄像头看到了男子偷盗全过程。
男子并不知道自己已经暴露,跨上电动车,一溜烟跑了。
逃窜
被撞倒后拔腿就跑 100多米仅用10秒多
男子沿人民路东侧人行道由南向北逃窜,与此同时,巡防队员董松洲、刘洪骑电动车由北向南堵截。
1点50分,监控录像显示,两名巡防队员与男子"狭路相逢"。巡防队员试图用两辆电动车从两侧夹击男子,但男子灵巧地绕过董松洲,眼看男子就要逃走,刘洪用另一辆车撞击男子的电动车,两人同时倒地。
巡防队员用"不可思议"描述接下来的10秒。
电动车不要了,男子先向北跑了30多米,横穿人民路后,穿过人民路金水河桥,向西拐进河边公园,消失。
录像显示,从1点51分13秒到23秒,男子逃窜的整个过程仅10秒多。
市民
偷盗屈才了,去奥运会吧
虽然没追上男子,但被盗的四个电瓶找到了主人,小偷的电动车也被巡防队员扣下。
"从没见过跑这么快的小偷,跟博尔特似的。"没追上男子,刘洪自叹不如。他回忆,男子当时穿的还是一双皮鞋。
而录像显示,男子逃窜时,在监控屏上只留下一道白影。
据河南商报记者实地查看,算上起初逃窜的30多米,横穿人民路十几米,穿过金水河桥以及向西逃窜约50米,加起来有百余米。
市民李先生称,"飞人"博尔特百米才跑9.69秒,他戏称:"跑这么快,偷盗电瓶太屈才,不要偷鸡摸狗,去参加奥运会为国争光吧。"
20110814
研究称开放式办公布局对大脑有害 转载
研究称开放式办公布局对大脑有害
http://science.solidot.org/article.pl?sid=11/08/12/1014209&from=rss
by blackhat
你是否认为在办公室里无法集中注意力?那就谴责办公室结构吧。一项研究发现开放式办公布局对大脑有害。
研究人员发现,噪音不断和隐私缺乏会干扰大脑活动,使注意力无法集中。由于职员对周围环境感到不舒服,他们的幸福度下降32%,生产力下降15%。神经学家Jack
Lewis说,开放式办公原本设计让雇员之间自由移动和交流,促进创造性思维,寻找出更好的问题解决方法。但它没有考虑到背景声音对大脑的影响和干扰。心理学家Craig
Knight博士说,开放式办公没有为私人空间留下多少地方,创造个人空间和舒适环境有助于提高生产力。
20110813
20110812
牙疼时读隋唐英雄们
这篇也是关于工程的,最终所有的感想都会是关于工程的。因为你看,我是个工
程师,你还指望我能说些别的什么。
牙疼,治了一个多月了。或者,更严格的说,我这辈子都在治牙,现在四颗恒
牙,就是被指望用一辈子的那四颗,上面各有钻了一个洞,然后堵上了。
如果你不能想像钻的时候和所谓根管治疗的时候有多疼,我给你讲两件事。
其一。在那万恶的旧社会,我绝无可能成为优秀的地下党员。因为敌人把刑具放
在我的面前,不必讲怎么作用于我的肉体,单是看那些小钻头小钢丝锃明瓦亮地
呆在白布上,我就会全招。问啥说啥。更不说把这些工具真正用在我的身上。
那种疼痛,我想是人的意志不能控制的。疼痛让我浑身都不自主地颤抖,从腹肌
到舌头。连说话都是断续的,"别……钻……了"
其二。高中的时候,我去看牙。那小伙大夫伸啥玩艺一捅,"是这颗吗?"我原来
半躺在那里,他这一下,我完全姿势不同,从半躺改为全躺,头枕在原来放屁股
的地方。我楞楞地仰望他,心想,"看来壁虎爬墙什么的还是有可能的。"
他问,"疼啊。"
我汗才冒出来,"你说呢。"
你说呢,疼不疼。
今天,终于堵上了。事实上,没治完。不止一颗,我都坚持不到医生希望的那一
刻。我不能,我的心脏也不能。
注定不能成为英雄的人的共性,当回来以后咬到这颗新牙--两天以后固化--疼得
要掉眼泪的时候,我就开始看英雄的故事。
不是刘胡兰黄继光的。是田中芳树先生的《中国武将列传》。
题外话,我发现有些国家与咱们很不同。英国人和法国人都会以对方作为背景写
故事,英国人也会以丹麦作为背景写丹麦王子的故事,日本人有大量的以中国作
为背景的故事。咱们,据我所知,没有以别的国家为主的故事。北京人在纽约和
爱在温哥华这样的华人在外,就不算了。有谁知道的,感谢指出我的无知。
我原本接受是日本人是暴露狂,就乐意写自己。现在看来,他们谁都乐意写。算
是对世界文化做贡献呢吧。
题外话结束。
田中芳树正讲到隋唐一代,真是英雄辈出啊。
李靖遇到李世民的时候,李靖47岁,李世民17岁。17岁的李世民此前已经带兵救
过一次隋炀帝被突厥围困,因为杨广反悔了拒不奖赏来勤王的将军们,李认识到
这王朝不久矣,这时候他已经劝说老爸造反了。
李靖年龄比较大了,不过此前也有传奇。他原来是著名将军韩擒虎的养子(?)和/
或外甥,这位韩将军牛到死了以后被大家尊为十殿阎王之一。李靖跟杨素讲兵
法,杨总理或者陆军元帅拍着椅子说,"这迟早是你的啊。"杨素死得早,没见到
李靖坐在那把椅子上,不过李素的老婆之一跟李靖跑了。这位老婆之一就是红拂
女。红女士的头发特长,在宾馆里梳头,被一位大侠看中了,似乎还言语调戏了
几句,基本意思是你跟我得了。结果大侠后来发现红女士的伴侣是李靖,顿时承
认自己没戏了,跟红女士结为兄妹,还留下话,你们夫妻以后有事尽管找我。这
位大侠就是虬髯客。
李靖说完了。还有一位也17岁的少年,叫徐绩,也起兵反隋。因为年龄太小,不
适合当头目,就推了别人扮演头目,自己主事。他们建立的根据地名字叫瓦冈
寨,后来建了个国家叫魏。魏国有多牛,看看它的将军们就知道了,后来都挺有
名:秦琼,罗士信,单雄信,还有一个不是大将的,叫魏征。
后来这群人大部分归了李世民,然后这位就领着大家去打尉迟敬德。尉迟长于马
上近战用长矛,李世民长于弓箭,他们两个后来合作,经常自己亲自去侦察。两
个人被好几千人追。到一小山包上,两个就核计,你去还是我去。于是尉迟下去
杀一阵,敌人略退,他俩再跑;再到一小山包,李世民刷刷一顿射死一群,敌人
又略退,他俩再跑。如是者三。
尉迟敬德之能战,后来就和秦琼变成俩门神。
这位17岁的恐惧少年后来也投了李世民,改名李世绩,或者李绩。尉迟敬德一生
后半段大部分都支持李世民,直到李世民要征高句丽(不是高丽)。李世民打了
几仗,也没征成,尉迟敬德就隐居了,不知道是不是兄弟意见不合了。
只有李绩始终还支持李世民打高句丽,李世民死了以后,李绩也继续支持。直到
75岁,李绩把高句丽灭国了。76岁,李绩死了。
这位17岁少年,年轻的时候在瓦冈寨还有个重要作为,是杀了隋国北方的顶梁
柱,那家伙一死,杨广就安心呆在江都不回来了。
那个家伙叫张须陀,五十多岁没太大作为,当个太守。遇到绝收,百姓饿死不少。
派人去京城申请开国家储备粮仓的话,往返需要10多天,张觉得会死更多的人。
于是他擅自决定开了仓,后来被人告了,杨广也没批评他,还说做得对。
张须陀以一个之力在北方独自支撑,而且占了不少地方。后来反隋的一方一看,
不整死你,我们就没有出头之日了,设了阵地把张围起来。张反复冲突,居然跑
了。
跑出来一看,属下还都在里面,又杀回去,带出来不少。一看,还有属下在里
面,又杀回去,又带出来不少……反复几次以后,属下大部分都带出来了,张须陀
阵亡。
张之死,于起义军是幸事,不过这位仁兄真英雄也。小恩小惠,甚至像李广一样
吸个脓啥的,和这个比,根本不算啥。张把命搭里了,这是真感情,不是表演。
总之,那个时代,真是英雄辈出。看他们一个个意气风发,或者被剁了,觉得牙
也不那么疼了。
然后想到卑微的我们。其实我们身边也诸多牛人,像谁谁,谁谁谁,还有谁谁谁
这样的。只不过,一方面牛人们的所做所为,在未暴露出小宇宙的时候,我们还
以为他是一介凡夫;另一方面,牛人们自有牛人的世界,他们后来就淡出了我们
的视线,成为传说--或者说,我们就淡出了他的视线。
其实我已经亲眼见过不少牛人了。你没见过,是因为你还小,或者因为你视而不
见,还骄傲着以为自己也是牛人之一他也没啥呢。
还有一种可能,你真的就是我以后要膜拜的牛人之一。或者连之一也没有。
附:牛人啊,将来请别忘了,你当年看过这样一个贴子,在这里,我指出你是牛
人。
微软思科,华为腾讯。php,jsp,java,C++,lisp。天下其实一直混战。
大家都想跟着英雄混,或者,功利的,跟着以后成了帝王的那个混,把当前手上
的技术扔了。
但是,谁最终会成为英雄,如果你不是英雄,又如何判别呢。经常有人吹牛啊,
这技术以后没戏了,那个技术一定会成为引领时代潮流的方向。
那都是唬你呢。当年起义军招兵买马的时候,哪个不说自己是真命天子。又有几
个活过那几年。
如果他真能判断出来,早就自己颠颠去开发,还天天教这个?
20110805
赵老师说
赵老师准备了要问的问题,是个好模板,留了一些空。
赵老师说:软件工程缺乏机械工程的成熟符号体系。
赵老师说:小鬼子的方法,你粗一看挺笨,但是看到了最后,反倒是最笨的方法是最好使的。
赵老师说:用的成员中,啥也不会的也能用,给出模板,告诉如何把文字转换成代码
赵老师说:小组内的初学者之间会相互交流
赵老师说:不会编码的也可以用,需要人做PPT,需要人画流程图
赵老师说:最怕会半截的,遇到困难他会停下来半天不动,还追屁股后面问,没工夫结答。
赵老师说:捕捉异常,暂不处理。