负暄琐话

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

囧囧ID:g9yuayon
[修改头像]
779016次访问,排名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 ??


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

    转载 The Economist上的微软广告

    The Economist的广告。不知道是微软的PR要被开掉了,还是The Economist广告部的要倒霉? 从ongoing上看到的。 阅读全文>

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

    原创 计算机科学经典论文

    从Jao的Programming Musing 看到的:Babar Kazar 整理了一堆经典论文。Jao强烈建议每个严肃的程序员读每篇论文,说它们都或多或少有意思。粗粗扫了一下,很多论文都没读过。挑了些俺多少知道一点的介绍。 · An axiomatic basis for computer programming C. A. R. Hoare Tony Hoare名下的公理化语义(Axiomatic Semantics)。著名的Hoare Triples, P{C}Q, 就是从这里来的。论文不长,双列6页。前辈们就是这样的,6页纸就能开宗立派。不像俺,6页纸连介绍部分都写不周全。哪位老大想知道怎么证明程序正确。前置条件,不变条件,后置条件的妙用,可以用这篇论文开牙。 · Communicating Sequential Processes (CSP) C. A. R. Hoare Hoare, 又见Hoare。其实也正常。牛人之牛,就在于成就深广。链接的文档应该不算论文,而算专著。260页。从1985年推出到现在20多年过去,这本书的引用率在CS历史上排名第三,可见阅读全文>

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

    原创 2006年的图灵奖

    如果哪位老大不知道图灵奖的话,图灵奖是计算机领域的大奖,相当于诺贝尔或者数学的菲尔兹奖。 2006年的图灵奖给了IBM终生院士(IBM Fellow Emerita), Frances E. Allen。ACM的官方声明说Frances因为在编译器优化的理论和实践方面做出的开创性贡献而获奖。她的工作奠定了现代优化编译器和自动并行化执行的基础。 这里有IBM研究院牛人的一手八卦。 Frances是IBM历史上第一位女院士。IBM Fellow是IBM的最高技术职位。当年 Frances本想当一名光荣的人民教师,于是上了阿尔班尼州立师范(Albany State Teacher’s College),又在密西根大学拿了数学硕士学位。临近毕业,她需要钱偿还学生贷款,才加入IBM Watson 研究中心。说到这儿不得不提T.J Watson Jr.高瞻远瞩,建立IBM研究院系统,并大力推进IBM的公平雇佣政策。上世纪50年代,计算机还是公众眼里的新鲜事物,还是高校里长发胡子男们的内宠。IBM已经开始用My Fair Ladies这类花哨宣传材料广纳女牛,只盼桃花过处,竞争对手阅读全文>

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

    转载 重搞(refuctoring) - 因为职位稳固的关键是代码不可维护

    PDF文件。从programming.reddit.com 看到的。没有耐心的话,一定要看11页到第13页。笑死了。作者其实也没有多夸张。有人就这么玩儿的。摘一段把职业道德当放P还理直气壮的2B言论: I also believe we have two vastly deferent mentalities in terms of our perspective of the job we do as coders. You appear to care about the code and the best interest of the client, which is admirable, but I don’t. I care about proper looks and functionality, and maximizing profitability from the client. To elaborate, you’re envisioning future edits to the code and how to make those changes quic阅读全文>

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

    原创 Emacs入门技巧: 排错

    人在江湖走,岂能不挨刀。今天人生又完整了一点:Emacs出现运行错误。一番折腾,正好学会一点简单的排错技巧。 本来JDE运行得上好。我把所有相关文件送入SVN后(花了那么多精力配置Emacs,不把心血放进版本控制软件加每日多次冗余备份,好比吴英真地披挂上10亿珠宝,孤身到广州火车站遛弯儿一样不靠谱),重启Emacs却得到如下错误:error: JDEE plugin Lisp file jde-.svn.el missing。在JDE安装目录下做全文搜索,没有这啥jde-.svn.el文件。也没有任何一份*.el代码含有jde-.svn.el的字样。考虑到Lisp的动态特性,以及.svn酷似SVN文件树下的元数据目录名,开始猜测JDE的某个函数扫描某些文件夹,把里面所有的文件都当成插件载入。当然,俺是程序员,不会像黎叔一样拿比人中黄还有想象力的猜想当证明,满世界找人决斗博取同情。排错的过程如下: 根据Emacs的提示,用emacs –debug-init启动Emacs。或者在初始文件里加入这句:(setq debug-on-error t)。setq是Emacs Lisp阅读全文>

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

    原创 emacs入门技巧:设置字体

    Emacs的基本配置顺手后,我立刻发现缺省的字体,Courier New,让人不爽。虽说Courier New是mono-space的字体,但还是不能满足编程的需要。一是它的0和O不容易区别。二是(和{不容易区别。三是1和l不容易区别(用过Prolog的老大们初学时为了这个1和l,没少熬过夜吧?)。幸好找字体这种体力活早有铁杆儿geek, 博客快枪手Jeff Atwood代劳。我最爱Pragmata。可惜珍品藏富室,美人入豪门。艺术永远是金钱的敌人。Pragmata要价90欧元。我只好作罢,选中Proggy Clean TT。Proggy Clean是基于位图的字体,只有12号字体最清晰。如果我们的屏幕分辨率太高,就没法用了。不过我的分辨率也就1600x1200,12号字体放在Emacs上正好。我们可以比较一下效果: Courier New的效果: Proggy Clean的效果: 安装新字体容易,把字体文件解压到C:\Windows\Fonts下就行了。羚羊书上说可以SHIFT+鼠标左键就可以调出字体菜单。果不其然: 不知道是羚羊阅读全文>

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

    原创 书评:Dreaming In Code by Scott Rosenberg

    “两打程序员,三年,4732个bugs,和对非凡软件的不懈追求”。Scott Rosenberg的新书Dreaming In Code 寄到了,果然没有辜负俺的期待和这句带有宿命意味的题记激发出的强烈好奇心。连花了两个晚上读完这本精彩作品。强烈推荐。作者把Chandler的开发历程,软件开发的历史,和软件开发的基础概念精巧地编织起来,只为探索一个问题:为什么软件开发那么困难? 先说说安逸的地方。首先是文字。作为多年文青,资深记者,Salon的主编,Scott Rosenberg的笔头没得说。三年漫长写作和Chandler项目的艰辛曲折并没有消磨Scott的激情。相反,书中文字蕴涵着他对软件开发的热爱,很有感染力。书里涉及大量技术概念,从OOP到Literate Programming到停机问题,作者都科普得浅显明白。看局外人怎么理解软件开发,也是颇有意思的事情。 其次是资料翔实。光靠Wikipedia和Google随意搜寻是绝对写不出这样一本书的。大量的采访,连续三年实地跟踪Chandler项目组开会讨论,几百篇参考资料,包括大量经典论文和访谈录,和作者细心的阅读全文>

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

    原创 emacs入门技巧

    自从开始对Emacs感兴趣,而不是仅局限于用SLIME同Common Lisp偶尔亲热一下而已后,俺便断断续续读起号称Emacs初学者必备的羚羊书第三版。一边读,一边笨手笨脚地使用Emacs。几周下来,虽然还要不时翻书,好歹开始习惯那些和Vim迥异的组合键。用C-f, C-n, C-p, M-d什么的也慢慢变成下意识的反应。俺的~/目录下也累积了50多兆各式扩展,模式,和配置文件。当然当然,作为初学者,俺坚持不用自己的key binding,除了把过气的\C-x\C-u映射到undo上以外。毕竟对缺省配置的极度熟悉有助于自己在不同的机器上使用Emacs。可移植性不仅是对程序的要求,也是对人的要求。总的来说,Emacs确实好用。扩展比郭敬明抄袭的文字都多,功能比黎叔吹的牛B还强。用于Common Lisp开发的SLIME,用于Ruby开发的Ruby Mode, 用于Java开发的JDE, 开发工具集合CEDET,让操作文件和缓冲方便之极的ECB。。。不过俺还是有些怀念Vim的方便,时不时用Vim编写点小东西。毕竟Vim区分编辑模式和控制模式,使得组合键简短。 图片来阅读全文>

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

    原创 CSDN不log的图片上传

    不少老大抱怨CSDN的图片上传功能废掉了。 不过,CSDN早就有更好的替代方法了。先说说被废掉的传统图片上传。一个字:弱(CSDN的算不错的了,自动化了好些操作),完全有悖人的直觉。很多老大都见识过别人的贴图是一把红叉,点选“属性”时发现,图片的URL是file:///C:/Documents%20and%20Settings/All%20Users/My%20Documents/... 吧?这其实不是用户的错,而是网站上的图片上传功能原始而已。不就是贴张图么?做得比抢鸡蛋还深奥。就算是CSDN不log的图片上传功能,也有那么选项,晃得人眼都花了。 俺看上一张图片,于是CTRL-C+CTRL-V到帖子里,或者打开文件对话框,选中图片,把图片直接插入到文中。就这么多。我不关心图片在本地还是在网上,在别的服务器还是在CSDN的服务器。俺更不想知道贴图的URL是什么。我只知道自己的帖子里有一堆图片,点击了“发表文章”后,这些图片就应该出现在发布的帖子里。还有,干嘛得一张一张地上传啊?我为什么不能选中一堆图片,一次性上传啊? 而这些问题,CSDN通过提供一个Ac阅读全文>

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

    原创 Lambda算子6b: SKI组合子(下)

    接着昨天的写: 继续谈论SKI前,得澄清一件重要的事。我说用S K K可以创建等价于lambda x . x的东西,并不等于我们可以把S K K归约到lambda x. x。在我们讨论的lambda算子里,我们说”x = y”当且仅当x和y要么完全一样,要么可以通过alpha变换变得一样(所以lambda x y . x + y 等于 lambda a b . a + b, 但却不等于lambda x y . y + x)。这叫做intentional equivalence(内涵等价?)。不过另外一种等价关系极其有用。我们称之为extensional equivalence(外延等价?)或extentional equality。在extensional equality里,表达式X和表达式Y相等当且仅当X和Y如前所述等价,或者对任意值a, X a = Y a。从现在开始,我们用“=”或等价指代extensional equality。呵呵,其实编程的时候,equals()也是一个很难实现正确的函数。不然C++不会在STL里加入等价的概念;Java里 ((Long)0L).eq阅读全文>

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

    原创 Lambda算子6a: SKI组合子(上)

    接以前的Y组合子。这篇帖子大致基于Good Math Bad Math的文章,穿插点花边。强烈推荐原文。 说SKI组合子前,不能不谈去年红得发紫的Ruby On Rails。Rails里一大模块是ActiveSupport。该模块实现了很多帮助函数,大幅降低了Rails框架的编程强度。有兴趣地话不妨读一下它的源代码。当然,拜Ruby强大的meta-programming支持所赐,ActiveSupport里函数赏心悦目的程度,远远不是Java一个*Helper.java或者*Utils.java能比的。咳,咳,不好意思,一不小心就开始鄙视Java了。另外一个帮助函数库是Ruby Facets,非常有用。Rails和SKI有乜关系呢?嗯,本来没有,可DHH和一位叫Mikael Brockman的老大聊过以后,于2005年3月在ActiveSupport里加入了一段代码。于是就发生关系老: 我们常常需要创建一个对象。比如说Person,一个Person对象有绰号,有电话号码。一般我们会用这样的工厂方法: 01: def create_person02: person阅读全文>

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

    原创 偶像失踪了,牛人去世了

    失踪的是Jim Gray,1998年图灵奖得主。据博客愤青Robert Scoble(Y烦得要死,把博客说得比抢鸡蛋还重要。Google当年把他开掉看来也是歪打正着。)说,Jim一人驾船出海后,在旧金山湾里失踪,直到现在也没有消息。J老大曾在IBM工作。与关系数据库的创始人Codd合作搞出划时代的System R。System R后来演化为IBM DB2。虽然CSDN的众多老大言必称SQLServer,但说到市场份额,性能测评等硬指标,嘿嘿,嘿嘿,我就不打击一大片了。之后J老大继续勇猛精进,写出了数据库课上必读的经典论文,Granularity of Locks and Degrees of Consistency,一举奠定granular lock的理论基础。而俺这样的弱人就只能上课时屁颠屁颠地苦读牛人文章,课后为一些牛人们看不上眼的证明题绞尽脑汁。接着J老大就搞出了连居委会大妈都知道的事务处理,顺便摆平2-phase commit的语义问题,捎带提出了数据仓库的基础操作Data Cube, 供后人花差花差。可以说,没有Jim Gray的贡献,当代关系数据库什么时候能玩阅读全文>

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

    Csdn Blog version 3.1a
    Copyright © g9