负暄琐话

我的email: rot47('649@ 6(hF+`hd"w=92vhG{>}G3"@l M >:>6?4@56 \F')

囧囧ID:g9yuayon
[修改头像]
777153次访问,排名36好友9人,关注者11
g9yuayon的文章
原创 238 篇
翻译 4 篇
转载 48 篇
评论 790 篇
g9的公告
最近评论
alextooter:ff可是用的完全的自己内存管理。。

最近ff3非常好,值得试试看。
fferror:无比期待g9老大的model checking续集。
sprhawk:哈哈,太强了,最近刚听说有Erlang,了解一下。
看一下历史,比看语法有意思得多嘿嘿
lordchl:后面提示下不动点好了,跳得太大
lbaby:Do you mind if I jot down some notes on your chests ??


猛到无以复加
文章分类
收藏
    相册
    旅游
    计算机科学
    Lambda the Ultimate
    软件开发
    Reddit编程专栏(RSS)
    正在读的书
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes
    2008年03月28日

    转载 程序员的效率

    Steve McConnell的博客帖子。详述了程序员产率相差10倍的来历。插草标 卖身推荐。引用一段:80年代中期,波音上了一坨重要项目。80枚程序员参与其中。项目不顺利,眼看要错过一坨不容错过的最后期限。为了保证该项目成功,波音调走了这80枚老大,请来一个人。于是这枚老大以一人之力,按时按量交割项目。 剩下的问题是:我们怎么才能培养出这种一击必杀的能力? 阅读全文>

    发表于 @ 2008年03月28日 21:42:00|评论(loading...)|编辑

    2008年03月21日

    原创 采访Joe Armstrong的podcast

    早上上班,听Software Engineering Radio对Joe Armstrong的访谈。Software Engineering Radio办得真不错。请来业界风云人物娱乐大众。访谈前主持人做了功课,提的问题颇为有趣,引得被采访着侃侃而谈。上期对Galen Hunt的访谈也挺精彩,把Singularity OS吹得比Singularity还有卖点。 Joe在谈到并发编程对程序员冲击时提到2006年的新闻:2010年Intel会推出32核的CPU Keifer。到时候,写惯顺序处理程序的程序员在老板面前抱怨性能问题时需要三思。因为老板到你机器上一看,保证怒从心头起,恶向胆边生:靠!你丫才用了3%的CPU cycle,也好意思说遇到性能问题!想来一枚对并发编程无所谓的程序员,听了这段话应该对并发编程兴趣大增吧? 除开便于跟踪状态出错地点外,我以前一直奇怪Erlang的变量只能赋值一次的原因。要说支持合理并发,进程间禁止共享数据,强化消息传递就行了。进程内还是可以支持私有状态嘛。结果Joe说Erlang变量赋值的规则是当年用Prolog时传承下来的风格,并没有特别的原阅读全文>

    发表于 @ 2008年03月21日 02:03:00|评论(loading...)|编辑

    2008年03月18日

    原创 八卦一下模型检验(二)

    接着八卦前先回答老大们直指灵魂的问题。不就是系统状态遍历的问题么?干嘛非得用什么时序逻辑、模型一类的形式化手段啊?搞得比陈凯歌还深沉。做人不能这么无耻不是?找个真正的程序员,放出手里的蝴蝶不就搞定了? 嗯,很多程序的确可以靠程序达人强大的自觉和天才的排错能力搞定。问题是,模型检验的对象是高并发复杂系统(比如说1020个状态),目标是绝对可靠地查出系统的错误,既不错杀三千,也不放过一个。这些系统失败时的代价也高昂。奔腾94年的FDIV错误花掉Intel至少5亿美元。偏偏我们对并发系统编程也没有什么特别有效的手段,不然大家也不至于对Heisenbug津津乐道了。我们在这种情况下怎么能全靠自己的直觉?何况直觉有时相当不可靠。在这篇让人崩溃的论文问世前,谁能想到在一个异步多进程拥有可靠网络的的分布系统中,哪怕一个出错的进程就能所有进程无法通过消息传递对一个值达成共识呢?当我们需要确保设计无错的时候,形式推理非常称手的工具。有些老大可能不知道,我们只所以能放心使用常用的数据结构和算法,多少也因为那些算法经过了严格的证明。当初Purely Functional Data St阅读全文>

    发表于 @ 2008年03月18日 10:34:00|评论(loading...)|编辑

    2008年03月13日

    转载 汉英对照阅读

    任话事人讨伐员工的檄文:http://www.javaeye.com/topic/170950。中心思想:自杀是你丫不够高尚,自找的。 Joel Spolsky的近文: http://www.inc.com/magazine/20080301/how-hard-could-it-be-lessons-i-learned-in-the-army.html?partner=fogcreek 引一小段:So don't tell your star salespeople to take the bus and stay with relatives when they make that call in St. Louis, even though that's what you did when you started the company. 顺便学习英文短语:disconnected from reality 阅读全文>

    发表于 @ 2008年03月13日 20:58:00|评论(loading...)|编辑

    2008年03月08日

    转载 “人各有志,给分六十”

    从傅国涌的 民国往事看来的。那个时代的风骨啊。按理说不应该全文转帖,但是考虑到牛博上反动文人们随时会被和谐,就破例抄在这里了。CSDN的大大们放心,这篇文章一点都不反动。“人各有志,给分六十” 物理老师魏荣爵在学生谢邦敏富的试卷上赋诗一首:“卷虽白卷,词却好词。人各有志,给分六十。” 天津南开中学名动天下,在抗战前后创办于沙坪坝的重庆南开中学,在“允公允能”的校训下,也有无数值得莘莘学子追忆的往事。经济学家吴敬链回忆:“我虽然只在南开念过两年书,但南开给予我的基本训练方面的影响,却是极其深远的。除语文、数学等功课外,从逻辑思维、语言表达,‘公民’课上关于如何开会、如何选举、如何表决的训练,……都使我终身受用不尽。总之,就我的亲身感受而言,南开教育之所谓的‘高贵’,指的并不是生活上的奢侈和安逸,也不是目中无人和颐指气使,而是对于德、智、体、美四育并进的高素质要求。”南开中学自编国文课本,首席语文教师孟志荪是主编之一,蒋介石所喜欢的王阳明一篇也未能入选,曾国藩家书也只选了一篇。蒋介石几次亲临沙坪坝看望张伯苓,“未闻校方出来组织三呼万岁之类的举阅读全文>

    发表于 @ 2008年03月08日 00:50:00|评论(loading...)|编辑

    2008年03月03日

    原创 八卦一下模型验证(一)

    2007图灵奖和模型检验不知道长达半年的疯狂加班是否损害了自己的心理健康。回顾过去几个月,似乎除了工作嘛都没干。人仿佛颓了,觉得时光了无意义地飞逝,过去半年的泰半记忆好像盛夏阳光里的冰块,蒸发得不剩一丝水汽。幸好不是全无亮点,比如看到好朋友幸福无比地结婚。中学好友到家里盘桓月余,也是一大快事。Steve McConnell在Rapid Development里的案例分析里提到death march之后程序员往往大批离开。想不到这次亲自体会了一把,人生又完整了一点。过去几周一系列戏剧性的事件让我仔细思考了一下激励团队士气的问题,也算小小的收获。跑题了。本来想说什么来着?对了,图灵奖和模型检验。2007年的图灵奖授予Edmund M. Clarke, E. Allen Emerson, and Joseph Sifakis,表彰他们在模型验证方面做出的开创性贡献。前段时间白天忙项目,晚上改简和历准备面试,也就没有心情八卦。刘江老师在他的博客里做了详细介绍,在这里推荐一下。关于几位大牛,俺没有什么补充的,就八卦一下他们的研究方向:模型检验。模型检验是计算机科学理论与实践结阅读全文>

    发表于 @ 2008年03月03日 11:00:00|评论(loading...)|编辑

    2008年01月11日

    原创 今天是Knuth的70寿辰

    好像太八卦了一点,不过这是Knuth ,我的终极偶像啊。就算他没有写注定留名青史的The Art of Computer Programming(是滴,俺有空还在读),就算他不是最早让人们认识到算法也可以定量严格分析(没有算法分析,哪里有现代计算机科学嗫?)的人,就算他没有发明和改进LR解析方法,就算他不是最早独立实现Algo编译器的人,就算他不是编程语言经验研究方法的奠基人,就算他没有提出Attribute Grammar,只看他10年间写出免费排版软件TeX(读Tek哈)和字体软件METAFONT,单枪匹马灭掉一个行业:科技出版物人肉排版,就足以让人诚服。这种欧拉式的文艺复兴男不是每个世纪都有的。 还是Lance Fortnow总结得好:Knuth的态度是I want to solve problem X and I'll use whatever math I need to solve it, even if I have to develop it myself. 另外这里有一堆连接供八卦人士享用。这些包含热情的文字读来极富乐趣,强烈推荐。 Update:阅读全文>

    发表于 @ 2008年01月11日 00:45:00|评论(loading...)|编辑

    2007年12月31日

    转载 Netscape挂了

    从BBC看来的。 AOL从2008年2月1日起停止支持和开发Netscape,我用的第一款浏览器。缅怀一下。不知这算不算做软件必须做为公司直接赚钱的软件的旁证?AOL就一抱残守缺的ISP,怎么会关心一款软件的健康发展?阅读全文>

    发表于 @ 2007年12月31日 13:23:00|评论(loading...)|编辑

    2007年12月19日

    转载 面向组合的开发

    Joe Armstrong 在他的新书Programming Erlang里提到我们不该随便应用函数返回高端函数的技巧,因为这个技巧容易让代码难以分析和调试。但是也有一些明显的例外,比如说构造parser combinator。高度精简的代码却能实现高度灵活复杂的操作。多少程序员用不靠谱的XML实现自己的DSL就是被解析这一环逼的啊?最近在项目里实现了一个parser combinator的库,更体会到组合的方法并不限于解析,甚至不限于高端函数的应用。互联网的好处(或者说坏处?)之一就是当自己对某项技术有所灰心时,我们总可以在网上发现牛银们做出了更为深广的探索。比如说ajoo老大2005年的系列帖子,面向组合的开发。我不过写了一个简单的parser combinator库而已,而Ajoo不仅写了Java下的JParsec,还写了Ruby下的rparsec。哦,我说了A老大还实现了C#的NParsec,和支持monadic combinator的jaskell脚本语言么?所以还等什么嗫?点击这里,开始享受吧。 P.S., 这样谈技术灰常邪恶: “所谓ioc就是这样的思想的一种阅读全文>

    发表于 @ 2007年12月19日 03:23:00|评论(loading...)|编辑

    2007年12月16日

    转载 Amazon的SimpleDB

    还是Beta,限量供应。简而言之,SimpleDB提供简单的数据存储和查询服务。加上EC2和S3,Amazon又向公共服务公司(比如水电气公司)迈向了一步。网上铺天盖地的讨论,有兴趣的老大百度/google吧。从技术角度来说,SimpleDB用Erlang实现,原因是要保证高度可靠性。对Erlang社区来说应该是好消息。 阅读全文>

    发表于 @ 2007年12月16日 12:17:00|评论(loading...)|编辑

    2007年12月15日

    原创 微软和联想都很幽默

    微软拼音这款丑恶的输入法时不时跳出来恶心我一把,但我居然不能在输入语言选项里删掉。怎么弄得和当年的RealOne一样了,把禁止Message Center和自动更新的选项藏在一个极不起眼的地方。我拿到电脑总是立刻删掉所有同RealOne的文件关联,用第三方软件播放rm文件,就是因为当了几天人质,恶心坏了。是滴,我是犬儒,还没有强硬到连rm文件都不用的地步。 微软拼音在运行,却没有登记到语言输入选项里。 所以只好来硬的了,彻底删除微软拼音: >regsvr32 /U Msimtf.dll >Regsvr32 /U Msctf.dll run -> regedit -> 删掉HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\MSSCIPY 这个世界清净了。 联想的幽默已经超出我的想象力。他的ThinkAdvantage看起来是一款系统管理软件,其实是吹风机。以前我以为只是Fn+F4坏了。结果刚发现,只要在扩展坞上用过电脑,哪怕用对话框选择待机,也立刻热启动机器。而且联想的客服完阅读全文>

    发表于 @ 2007年12月15日 03:05:00|评论(loading...)|编辑

    2007年12月13日

    原创 JavaScript这浓眉大眼的也背叛革命了(一)

    更新:忘记加入对generic function的概述了。刚才补上。另外chenxiaoshun老大提了个很好的问题:generic function和function overloading有什么区别?区别就是,调用哪个generic function是在运行时决定的,同调用虚函数实现多态一致。而重载函数是在编译时确定的。补充的内容是: Generic function就是用来解决这类多分派问题的。运行时调用generic function时,会根据该函数的*所有*参数决定分派对象。总的规则是越具体的类型占用越高的优先级。比如说foo(Number)比foo(Object)有更高的优先级,因为Number是Object的子类,比Object具体。另外,generic 函数里所有参数的分派权重一样,所谓的对称多分派。Groovy采用了不对称多分派。系统会先比较第一个参数。如果不能决定,再比较第二个。。。 两个半月前的旧闻。不过今天才稍有闲暇,抽空八卦。JavaScript 2, 也即ECMAScript 4(简称ES4)的官方综述出笼,Yahoo!的Douglas Cr阅读全文>

    发表于 @ 2007年12月13日 13:48:00|评论(loading...)|编辑

    2007年12月12日

    原创 T61P使用体验

    刚把用了3年的T42P换成T61P。笔记本还是一不可靠的主,不像台式机那么夯实。我那T42P的硬盘,主板,键盘,和屏幕全换过。而我的台式机除了ATI 9800的小破电扇脱落,烧了显卡以外,一直运行良好。三年前我在CS:S里被人秒杀爆头,现在CS:S里仍然被人秒杀爆头,一点延迟没有。当然考虑到一天大于12小时的用量,和一两周才重启一次的频率,T42P的质量实在不错。另外我也不考虑其他品牌的笔记本,哪怕是吹得可以生死肉骨的苹果—除非它们配备track point。Track point是目前唯一能替代鼠标的东西。应该说甚至超越鼠标,因为我的手不用离开主导行(home row)。拿到Thinkpad的第一件事就是关掉触摸屏。内玩意儿除了让拇指永久劳损外,没别的用处。更重要的是,触摸屏导致俺的手离开键盘的主导行,有悖程序员行在人在行亡人亡的精神。 拿到T61P,首先注意到它改成了宽屏,支持1920x1200的解析。这非常体贴。我终于可以在IDE上肆无忌惮地让Package Explorer全景展示10层嵌套,而旁边的编辑器仍然能容纳180字符的行宽。俺明白Linux上用console阅读全文>

    发表于 @ 2007年12月12日 06:02:00|评论(loading...)|编辑

    2007年12月11日

    原创 谁说内存管理不重要来着?

    前俩儿Java进程是咱内旮旯的IDE和测试服务器。IE上就一页面儿,运行咱正开发的WEB应用。FireFox上就Google Reader,供开小差用。照这玩儿法,多少内存也得玩儿残了。 阅读全文>

    发表于 @ 2007年12月11日 04:21:00|评论(loading...)|编辑

    2007年12月02日

    转载 科学和信仰

    这里看到的:http://www.wellingtongrey.net/miscellanea/archive/2007-01-15%20--%20science%20vs%20faith.html 万一真理部启动贵妃网,下面是贴图: 右边的模型的确简单哈,符合天才程序员追求整体和谐、天人合一的先进观念。怪不得好几枚专家孜孜不倦地教导俺们,算命可以预测项目进度,邹衍早已参透生老病死,AOP滥觞于中医,人生问题的答案全在易经。囧rz 阅读全文>

    发表于 @ 2007年12月02日 00:37:00|评论(loading...)|编辑

    Csdn Blog version 3.1a
    Copyright © g9