存档

作者存档

你有几个名字 – 谈谈圈子问题

2007年12月30日 1 条评论
ハウル:  そしたら今度は戦争で王様に呼び出された。ジェンキンスにも、ペンドラゴンにも。
ソフィー: ハウルって一体いくつ名前があるの?
ハウル: 自由に生きるのに要るだけ。
——ハウルの動く城, 脚本 (映画 50:40 – 50:55)

霍尔: 这次又被国王征召入伍,詹金斯也是,潘多拉肯也是。
苏菲: 霍尔到底有多少名字?
霍尔: 很多,多到足够自由地生活。
— 霍尔的移动城堡, 剧本 (电影 50:40 – 50:55)

OK,从这段摘取的剧本开始今天的这个话题。

前两天和朋友聊的关于在网上有多少个昵称的话题,我说我至少有三个,算上身份证上的名字是四个:一个是公司里面用的英文名字,一个所有与技术相关的文章的签名(我称之为Code Name,也就是ftofficer),还有一个用在别的地方,比如动漫圈里面的名字(熟悉我的朋友们可以猜一下是什么,请发送到我的邮箱,猜中有奖——大概一顿饭或者什么吧,QQP请自觉退出,这个名字你看到过);然后朋友表示认同,也举了几个例子:比如他在业余无线电运动当中用的呼号,以及他的一些朋友在火车论坛上面的昵称。

接下来的讨论就是:为什么要有这么多的名字。我们可没有霍尔那种说出“自由地生活”的魄力,我们希望的,其实就是能够更快的融入到一个圈子而已。

圈子这个词应该由来已久,我所理解的圈子应该是一个社交网络,在这个网络当中的人有一些共同点,比如地域,比如爱好或者特长,甚至人格,于是大家自然的聚在一起形成一个圈子。每个圈子当中都有它的规则,有圈子内的行话甚至黑话,大家也有类似的关注点和非关注点。当你刚刚进入一个圈子的时候,能够融入这个圈子的最好办法就是用一个这个圈子当中的人很容易记住的名字,以及学习和大家一起讲这个圈子的黑话。而如果你不在这个圈子当中,对于众多你记不住的名字,听不懂得黑话,就尽管无视好了;而看不惯自己不从属的圈子,或者试图用自己从属圈子的东西和其他自己不从属的圈子来比较或者争论,则是众多争端的由来了。

虽然在圈子当中黑话让你和这个圈子凝聚力更强,好的名字也能让你更快融入其中,但是一旦离开了这个圈子,名字和黑话就往往都变得一文不值。毕竟,让一个球迷认出Bjarne Stroustrup(C++之父)这个名字和让一个C++爱好者认出Bastian Schweinsteiger(德国球星)这个名字一样困难;而跟一个动漫宅男讨论V夹和碟刹那个更优秀和跟一个自行车爱好者讨论猫耳和双马尾那种更萌估计也是相同的性质(好吧,我不知道怎么给这两个加注释,同时从属于这两个圈子的朋友请会心一笑)。

因为一个人通常不会只从属于一个圈子,所以如何在多个圈子之间切换也就成了一个问题,尤其是当两个圈子之间在世界观或者人格这种基础的事物上面有着巨大分歧的时候。当一个人在一个圈子当中待久了,往往会对这个圈子当中的规则和世界观形成习惯,进而将它们带进别的圈子,正如同某资深宅男在他的blog上面所引用的一段话:

“另一方面,我玩魔兽世界
的那些朋友,都将这个游戏当成现实生活中的一部分。他们的日志,他们在bbs上的发言,他们在qq上的聊天内容,尤其是自言自语的情景下,都会不时地夹杂
这个游戏的一些信息,例如希望快升级,例如受到不公平的待遇而感到愤怒,例如共同参与游戏的人员出现变动而感伤,不一而足。其实上面的例子都有一个共同特
征——他们本应体现在游戏里的情感,被不自觉地,带回了现实中,从而对现实生活产生了影响。
”

虽然这种观点和人格在圈子之间的转移处理好了能够成为一种构造更大圈子的可能性,进而达到一种共赢得结果。但是更多的时候,对于差异过大甚至根本对立的两个圈子,如果试图融合,把太多一个圈子的东西带入另一个当中,只会让自己在两个圈子当中都变得孤立,而自己也会由于两个圈子当中的冲突而不得不忍受众多来自内心深处的痛苦。

这个时候,选择融合两个圈子的人格,以期可以存活于两个圈子当中,还是选择用双重的人格,同时在两个平行的圈子当中生活?或者,放弃其中一个圈子,选择在其中一个圈子生活?不管哪一个,当这种痛苦开始缓解,也就是成长的时候了。

那么,我有四个名字,你有几个?

标签:

程序员写的没有bug的软件

2007年12月25日 4 条评论

从某处zz…

1. 程序员写出自认为没有Bug的代码。
2. 软件测试,发现了20个Bug。
3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。
4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。
5. 重复3次步骤3和步骤4。
6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了。
7. 用户发现了137个新Bug。
8. 已经领了项目奖金的程序员不知跑到哪里去了。
9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456个新Bug。
10. 最初那个程序员从斐济给饱受拖欠工资之苦的测试组寄来了一张明信片。整个测
试组集体辞职。
11. 公司被竞争对手恶意收购。收购时,软件的最终版本包含783个Bug。
12. 新CEO走马上任。公司雇了一名新程序员重写该软件。
13. 程序员写出自认为没有Bug的代码。

标签:

TabIMSwitch 开始支持 Firefox 3.0 Beta – 请手动下载更新

2007年12月23日 1 条评论

今天收到Mozilla发过来的邮件,希望我们可以把自己的扩展升级到支持Firefox 3.0。本来在Beta 1出来的时候就打算做的,一直没动手,今天既然收到了信,就花了一天的时间调整了一下TabIMSwitch,小小的改动了一下,目前已经兼容于Firefox 3.0 Beta了。

新版本号码 1.1.0.41。

下载TabIMSwitch 1.1.0.41
SHA1校验码:0f0acbdd7df6ddd712541d5e766fb0ce9f07a56d
MD5 校验码:fe421b0905dbae7e59bbb3d028ad311f

但是因为现在最广泛使用的1.1.0.37版本的一个bug,自动更新到1.1.0.41基本上是不可能的,因为1.1.0.37版本当中根本就不包含自动更新URL。造成这个问题的原因是在编译的时候把放在Mozilla addons上面的版本和公开在Google Code上面的版本弄混了,而Mozilla的版本是不能有自动更新URL的——Mozilla会给你加上一个。

所以,麻烦大家自己手动下载下来升级吧。

为了防止以后出现类似的问题,这次把编译脚本修改了,把Mozilla addon上面的版本和Google Code上面的版本完全分开,将来应该不会出现类似的问题了。

— æ›´æ–°@2007-12-23 3:08 —
发完blog之后两分钟,发现1.1.0.40的包有问题,版本号忘了改了,还是1.1.0.39,忙中出乱啊,晕啊晕。
下载了1.1.0.40的,等自动更新到1.1.0.41吧。

Advanced Windows Debugging

2007年12月20日 1 条评论

今天在The Old New Thing上面看到的Raymond Chen推荐的新书:
Advanced Windows Debugging by Mario Hewardt and Daniel Pravat

关于这本书,Raymond Chen这样写道:

Once you get past the "basics", you still have loads more ahead of you. The book covers debugging scenarios like a corrupted heap, a deadlock, or 100% CPU usage, as well as debugging tasks, like following the trail of an LPC request from the client to the server, peeking at the token count of a semaphore, and reconstructing a partially-corrupted stack—and illustrates each investigation with both discussion and annotated debugger output. All the things that seasoned developers take for granted (because they have become instinctual after years of experience) are spelled out for you.

网站上面还有Mark Russinovich的评论:

"I’ve been debugging my own Windows applications and device drivers for over ten years, but when I reviewed the manuscript I learned about new techniques, tools, and debugger commands that I’d never come across, and that I’ve already found use for."

Mark Russinovich
Technical Fellow, Microsoft Corporation

既然这本书可以让Raymond和Mark侧目,我想我应该买过来看看。$47.03,不知道能不能报销。

标签:

24点的幽默

2007年12月18日 7 条评论

昨天无聊在bbs上面逛,发现joke版上面的一个强帖。本来创意来自mop,是说两组数字怎么得到24:第一组:0,0,0,0;第二组:10、10、10、9。众位闲人们不负众望,充分发挥科大bbs将joke帖转变成技术帖的光荣传统,在得到阶乘这种运算是可以允许的时候,截止到昨天午夜,给出的答案如下,括号里面是我的吐槽,权且当笑话看:

[0,0,0,0]系列 (请在手边常备大学数学书和保证你能够理解二进制补码):

  • (0!+0!+0!+0!)! = 24 (0! = 1,4! = 24,忘了的去补大学数学)
  • (cos0+cos0+cos0+cos0) != 24 (这个没甚创意,下面应该就是e^0了吧)
  • (!0+!0+!0+!0)! = 24 (by Kamui, 别和第一个弄混了,!在这里表示0的二进制取反,好吧,权且认为这个是对的)
  • (exp(0)+exp(0)+exp(0)+exp(0))! = 24 (by spadeQ,好吧,它终于出来了)
  • 只要f(0)=1的函数都可以这么套 (by spadeQ,嗯,有人总结pattern了)
  • delta函数也可以 (by Kamui,delta函数是阶乘运算推广到实数范围上的函数,忘记的请去查概率论)
    — update@2008-1-1 —
    鉴于数学达人ziyuang提醒,我承认我错了。delta函数的详情请ziyuang来解释一下。
    — /update —
  • (-(~0+~0+~0+~0))! = 24 (by me,我也无耻一把好了,~0对于0的按位取反就是-1了)

[10,10,10,9]系列:

  • (10-(9^(1/2))!)!+10-10 = 24 (by reneo, 根号无法输出,用1/2次方来表示)
  • ((10+10)/10)^3*9^1/2 = 8*3 = 24 (by Dedura)
  • (((10*10)^(1/2)/10)+9^(1/2))! = (10/10+3)! = 24 (by Bagwell)
  • {-[-(10+10+10)/9]}! = 24 (by Bagwell, 其中"[]"为数据结构中的向下取整符号,这个都出来了 -_-b)
  • 9-10的导除以10的导加10的导再阶乘 (by anusitch,不过为什么我觉得是错的~)
  • 10+10=20å’Œ10+9=19那两年的月份数之和 (by Recnalias,抛开历法不谈,也许……,算是个创意)
  • 今年第10+10+10+9天的小时数 (by Recnalias,leng~)

放之四海而皆准系列:

  • (10^0+10^0+10^0+9^0)! = 24 (by saturn,不过有了多用了0之嫌,然后有了下面这个)
  • {[(10)’]!+[(10)’]!+[(10)’]!+[(9)’]!}!=24 (by Bagwell, x’表示导数,C’=0当C为常数,忘记的去补大学微积分。确实没有多用数字……)
  • (sgn(10)+sgn(10)+sgn(10)+sgn(9))! (zz by xii, sgn为二值函数,sgn(c)=1当c大于零,忘记的请去补信号与系统或者自动控制原理)
  • 从0到24/39对(10+10+10+9)积分 (by Recnalias,这个……)
  • 以(10+10)为期望(10+9)为标准差的正态分布的某次取样 (by Recnalias,好吧好吧,也许某次取样就是这个,但是能告诉我这个概率么?)
  • define:return24(x1,x2,x3,x4)= 24; (by Joedanver的师弟,终极解决方案,不过我说,在代码当中硬编码magic number是不好地~)

— 2007å¹´12月20日更新 —
10+10+lg10+sqrt(9) = 24

标签:

最近的生活

2007年12月15日 3 条评论

天冷了,天天睡不醒,即使晚上睡得不算晚。

体重持续增加,但是小腹持续减小。得益于最近增强的运动量。

工作上面,两周之前刚刚把Service Pack放出去,清闲了一段时间,有空看看书什么的。接下来又开始忙了,虽然下一个项目要到春节后才正式开始,但是前期准备工作还是要做。

最近会议有增多的倾向,需要选择性的跳掉一些,或者从我从当当的特价书库里面淘出来一些老书当中挑一些出来消磨时间。

空闲时间开始回头翻老书,像《TCP/IP详解》,《Windows Internal》之类,重新翻了几章还是有不少的收获。C++方面,把以前没看完的《Modern C++ Design》和《Imperfect C++》拿来补完,看得目的不在于使用,而在于思想。

非技术类书籍,《长尾》还不错,从同事那里拿来正在读。另外淘了几本友人推荐的书:《你的灯亮着吗》和《理解专业程序员》。前面那本书拿到之后感觉上当了,不是说内容,而是装订太精美,不适合我的风格。这种精美的书我都是借的。花多钱买一个书皮是最不值得的事情之一。

公司宣称明年要扩招到600人(现在只有300多一点),但是现在的地铁大厦已经没有地方可以租给我们了,所以要搬家。可能要搬到雨花台附近,昨天跟着公
司组织的“看房团”去了那边看了看,地方还可以。公司租下来了整栋5层楼,空间很大,有天井和阳台,不知道装修完了会不会仍然保留。既然总面积已经不是现在的两倍这么简单,那么格子间应该可
以大一点了,希望可以放下一辆自行车。今天去骑车探了一下路,从现在住的地方大约40分钟自行车车程,25公里左右。

前些日子恋爱态度上面被QQP教育了一番,传授了众多如何追异地mm的经验。这丫自从有了女朋友就开始变了个人,天天叫嚣着要打电话,但是幸好技术话题仍然在讨论之列。电话当中又被老妈提到恋爱问题,老妈从我上大学(17岁)的时候开始跟我提这个问题,提到22岁,一个五年计划都结束了,但是我态度基本上没变:年轻人别太急着把自己拴起来。因为我比较容易认真,所以要么不谈,要谈就好好谈。所以现在除非有一个不介意飘几年,而且能够容忍三五年之内仍然在租房子的人出现,否则我肯定不会考虑。要谈保障,30岁以后再说。而且要想成为journeyman,还是真的要四处journey一下才好,现在谈恋爱,只是徒增众多烦恼而已。

娱乐方面,主要是看球和看漫画,冬季好动画不多,没什么值得追的片子,剧场版也没有什么新东西,比较无聊。多出来的时间看看书,权且当娱乐了。

差不多就这些。

标签:

今天的路线

2007年12月9日 2 条评论

老规矩,贴路线。

从南京骑到马鞍山(实际上是踏上马鞍山的土地就回头了,也就是骑到了南京和马鞍山的交界处,也是江苏和安徽的交界处),往返90公里,耗时4小时15分,来回均速22km/h。

有点小累。

标签: , ,

如果SMTP支持发送邮件的断点续传……

2007年12月8日 5 条评论

上周末同学来南京考试,顺便就在南京玩了两天,照了一些照片,今天打算打包传过去。结果如何通过我的64Kb(b哦,不是B)上传带宽的ADSL传这么个70M的东西还真让我头疼了一阵子。

先是尝试QQ的传送文件,但是因为她在教育网,我在公网,速度慢的一塌糊涂,估计需要2小时+才可以传过去。自然我是没有耐心等的。然后尝试使用邮件,发现GMail支持27MB的邮件大小,换算起来应该是20M不到一点的附件大小(考虑base64编码带来的开销是4/3),所以把照片分卷打包,然后尝试用GMail的在线邮件撰写,插入附件,点击发送,然后浏览器不出所料地超时了。既然Web不行,那么就走SMTP协议吧。偏偏要通过GMail的邮件服务器的话需要让这些字节绕半个地球,还必须要走SSL加密的链路,安全是安全,但是慢啊,而且加密这种东西,完全就是CPU密集的操作,结果就是导致邮件一发送就占用100% CPU。这样也就算了,大不了我放一边让它传去。结果进度条缓慢推进到80%左右(40分钟+之后),弹出对话框“无法连接服务器,服务器超时”。当时晕掉。

怎么办呢?找一个近一点的SMTP服务器吧。VPN到公司?说不定还不如GMail。这时候想起来当时在学校的时候还有校友信箱。南京和合肥也不算远,而且校友信箱的SMTP也是电信出口,禁用掉SSL应该会快一点。

但是这个服务器只支持10000000字节的邮件大小,换算一下就是7M不到的附件,最后只能打成6M的分卷包,发了11封邮件。估计同学也会郁闷死。

折腾半天还终于算是把它们发出去了。等下回头看看有没有退信通知。:)

回头想想,如果SMTP有断点续传多好。至少这样我前面的40分钟+的时间就不至于浪费了。按理说这种东西应该有人想到过了,搜索了一下果然有一个SMTP扩展是做这个事情的:

RFC 1845 SMTP Service Extension for Checkpoint/Restart

不过看了看状态,还是Experimental(实验)。说是实验性质的,那就是没几个MTA实现了的。事实上也是,搜索了一下,似乎不是“没几个”,而是看起来根本没有。

记忆当中还有一个RFC是关于邮件切分的,一时找不到了。回头再找找。

但是关键还是:有多少人实现了呢?至少我看到GMail的邮件服务器没有实现之。

sigh…为什么SMTP就没有断点续传。

标签: ,

2008年欧洲杯日历

2007年12月3日 没有评论

2008年欧洲杯的抽签结果已经于昨天揭晓,作为球迷的期待又多了一个。

特地作了一个日历,通过Google日历分享一下。

请点击下面的按钮直接订阅到Google日历:

你也可以在线查看,或者导入到其他程序(如Outlook)。

最后转一段:如何使用 Google 日历订阅公共日历供稿?

要使用日历网址添加日历,只需按下列步骤操作:

1. 在左侧日历列表的顶部,点击"添加"向下箭头按钮并选择"按网址添加"。
2. 在提供的字段中输入相应的日历网址(iCal 格式)。
3. 点击"添加"。

这里的日历网址是 http://www.google.com/calendar/ical/lr7j170t5jh6nudv12pkc85rrg%40group.calendar.google.com/public/basic.ics

标签: , ,

没有创作欲望

2007年12月1日 没有评论

连续N旧没有更新blog,最近也没有什么技术专题愿意写,总之就是没有创作欲望。
低潮期么?

反正就随便写点东西,不能让blog就这样荒着。

今天发现Google Reader加上了推荐,就在Add Subscription旁边,出现了一个"Discover",点进去之后有一个Recommandation标签。看了一下,还是有不少好东西的。

最近看了两部短篇OVA,《茄子-安达卢西亚之夏》和《茄子_旅行箱中的候鸟》,讲的是一群自行车运动员的故事。很消遣的片子,推荐有共同爱好的朋友看看。

标签: