Main

May 06, 2024

重新启程

今天,是我在广州阿里中心办公的最后一天。虽然 Last day 设定在了 5 月 20 日,但后面全部是假期,应该不会再回来这里。这些年的年假我都没有用过,总是到年底自动作废,今年算是休全(一小半)了。

回顾我的职业生涯,2001 年之前在北京经历了创业,而后又短暂的工作了数月。之后便在网易工作了十年直到 2011 年离开 。2011 年底,我们创办了简悦,原本以为会把这家公司一直开下去,但在各种机缘下,于 2017 年底被阿里巴巴收购。之后,我便退出公司的管理,专心开发游戏引擎

每段经历,印证着不同的心境。幸运的是,每次开始和结束,都是我的自主选择。感谢那些容忍着我的任性的伙伴,而我执着于自己想法的同时,也回报了周遭的人。

April 17, 2024

死亡

早上上班的路上,在必经的一条马路,看到一个蓝衣人趴在路中间隔离带的水泥桩上。车流比较大,一晃就开过去了。我问坐在副驾驶的老婆:刚才那个人好奇怪啊。她说是啊,那个人怎么了?我说,昨天你没看到吗?他保持那个姿势已经一整天了,感觉连手指头都没动过。

说到这里,我赶紧把车靠边停下来打了 110 ,附近的派出所联系了我,说马上派人过去看看。我的心情久久不能平静。走在路上,我喜欢观察四周的细节,其实昨天就感觉不对了。路上没有血迹,我以为他/她(看不到脸)是在翻越隔离带时身体不舒服想休息一下。但一个人保持那种姿势几分钟而不动肯定不正常。如果昨天这个时候就报警或许更好呢?

August 14, 2023

疑似 covid-19 二次感染

第一次感染 covid-19 是在去年底,距今已有 8 个月了。

最近似乎又中招过一次,特此记录一下。

上周四( 8 月 10 日)午饭过后,感觉有点困,就靠在办公椅上打了个盹。我平常没有固定午休的习惯,觉得自己是头天没睡好的缘故。14 点多醒了,感觉依旧精神不好。起身去上厕所时发现有些头晕,不过没太在意。

18 点下班时,感觉头晕没有缓和,似乎更严重了。去食堂的路上走路有点飘。没什么胃口,快速吃完,觉得自己的体力不足以步行回家,就搭了个同事的顺风车赶紧回家睡觉。

December 20, 2022

covid-19 感染康复记录

月初还和同事调侃,这次谁也躲不掉,感染是迟早的事。最近全家都中招了,好在病毒这次还算轻柔,差不多都痊愈了。在此记录一下这次的历程。

起点是广州的全面开放。老婆在家已经被关了快一个月,憋得不行。开放第一个周末,就约了同事出去玩,周五晚上密室、周日下午(12 月 11 日)出去拍照。

我觉得广州已经放开,这次病毒的 R0 相当高,快速传播开无可避免,第一个周末外出有非常大的风险。所以取消了原本每个周末的攀岩活动,和两个孩子继续关在家中。儿子一直有点咳嗽,我有一些感冒,有流鼻涕的症状。

Day 0 (12 月 12 日周一)

老婆被通知一起玩的同事已经确诊,需要她居家办公,观察一天再考虑回办公室。

我当天正常上班了。这天我之前的感冒症状(流鼻涕)已经完全消失,精神状态非常好。

晚上她有一点低烧(38 度),自测抗原阴性,觉得是因为感冒。这一晚,女儿和妈妈睡觉。

November 09, 2022

被干眼症结膜炎困扰的这几年

这几年我一直被干眼症和结膜炎困扰。疫情之前,每次洗澡后就双眼通红。但似乎并无其他影响,也没怎么在意。后来慢慢的,眼睛就容易发干,经常疲劳。严重的时候眼睛几乎睁不开。最受影响是在开车的时候,因为无法休息眼睛,特别难受。到晚上环境光线不足的时候,感觉远处看不清楚。

然后,视力突然断崖式下降。三年时间,每年体检,从 1.2 直落 0.7 左右。而我在 35 岁之前一直是双眼 1.5 的视力。本来 2020 年就想约眼科医生看看的,因为疫情去看五官科不方便就一直拖着,直到 2021 年底才去看了医生。

初步诊断结果是结膜炎、干眼症、视疲劳。另外,验光结果表明我有 150 度近视加 50 度散光。因为并不影响日常生活,便没有配眼镜。而且,我的视力是时好时坏。从办公室眺望珠江对面的楼顶招牌时,有时那些字清晰可见,有时则是重影。我感觉如果以后能解决干眼症和结膜炎的话,视力能稳定一些。

March 29, 2022

全民大规模新冠检测方案的一些想法

今天吃饭的时候和同事聊起最近上海深圳等超大城市全民新冠检测的问题。我认为现有方案有极大的改进空间。

千万级的全民检测,需要动用的资源是非常可观的,如果我们能优化这个过程,收益也会极其可观。现有的集体检测已经是相对独立个体分别检测做过优化了:通常是很多人放在一起混检,这样减少了检测成本。但我认为这是远远不够的。

现在自测盒的成本已经很低,至少一个自测盒的零售价格远低于我自己去医院做一次检测。所以我认为,如果全民自测的话,单从检测成本上来说,可能也是划算的。而且,对于群体检测,完全可以全家用同一个检测盒,这样如果是阳性,家庭成员就算没有全部感染,也最少是个密接。这比社区混检有效很多。

至于自测盒可能准确度不高的问题,完全可以自行多次自测来弥补。而目前采取的社区集体混检的形式,反而造成了人群密集,增加了病毒传染的风险。

但是,在千万级人口的城市中全民自测,显然结果是不可信的,这是我下面想谈的主要问题:如何设计一个方案,即降低了全民检测的成本,又能保持结果的可信度。即:如果有人自测发现自己阳性(或干脆不想自测),因为恐惧隔离而瞒报的问题。

February 23, 2022

信息茧房

最近一个月,无论我打开推特,还是微博豆瓣,每天都被“徐州八孩母亲事件”刷屏。在公司吃工作餐的时候,也和同事聊过这个事件。从我的角度看,此事的热度之高,持续时间之久,近年罕见。能读到我的 blog 这一篇的同学,相信都对这件事的来龙去脉不会太陌生。如果你不了解,那么 google 一下“徐州八娃女”或是“丰县铁链女” 就能找到很多信息。

但是,我很清醒的知道,热度只存在于自己所在的这么个小圈子。我相信在中国社会中,不知道此事的人群才是大多数。就算在微博上百万转发,也不会有所改变。毕竟,翻墙的人还是少数。而墙内的微博微信,都帮助人们把各自的信息茧房建设的很好。

April 19, 2021

选择开源项目的几点原则

本周末,阿里集团会在中南大学做校招。我作为校友,被邀请面向应届毕业生做一次技术分享。我想谈谈开源的问题。

由于技术分享的时间很短,我想在现场不太可能展开谈。所以在 blog 上先写一篇相关的子话题:在选择使用开源项目时,我的依据是什么?

我们在开发软件的过程中,总有一些模块的需求是普遍的,除了自己开发,使用一个具备合适的 License 的开源项目也是个不错的选择。

在一个程序员的职业生涯中,总会有那么一个阶段,不太愿意使用别人开发的代码。如果不是受项目进度压力所迫,宁愿自己实现。这并非是因为相信自己总能做得更好,而是希望少受牵制,能够自由发挥。而且,写代码往往比理解代码更简单。整合多块不同团队开发的代码也更难保证项目各个部分的一致性。

May 19, 2020

记一次生不如死的经历

前几天晚上 21 点洗澡的时候感觉左腹部疼痛。因为前一天有过一次腹泻,便以为是吹空调着凉还没有好。继续蹲在马桶上又拉了一次肚子,但和之前不同,并没有减少痛苦的感觉,反而加重了。

我转而怀疑是吃错了什么东西引起的肠胃问题,但是努力回忆也想不出什么来。只觉得如果能把腹中的东西排空应该就好了。想了一下就抠了一下喉咙,趴在马桶上将肚子里没消化完的食物吐了出来。可是依然不见好转。

这个时候已经是坐立不安了,找不到一个姿势可以让自己好受一点。

我自觉还是对疼痛忍耐指数挺高的,攀岩的时候手指肚上拉下一块皮也不觉得有什么,可以继续爬;有次拔智齿的时候甚至没打麻药,牙科医生都赞我是看过的病人里最能忍痛的。可这次真的有点受不了。

July 24, 2019

程序员应该怎样提高自己

经常有小(我 20 岁左右的)朋友问我,作为一个程序员该怎样提高自己。每个人的经历不同,所处环境不错,其实这个问题很难具体回答。不如好好写一篇总结,以后就不必每封 email 都重新写一次了。

纵观我近 30 年的编程生涯,在每个时期,我看到的东西都不同。想必再过 10 年还会有变迁。我只能写写当下眼界所及之处。

June 10, 2019

下划线命名和驼峰命名

其实我不是很在意代码的版式,比如到底用空格缩进还是 Tab ;花括号应该放在行末还是另起一行;以及,当需要用多个单词命名的时候,是用下划线分割还是驼峰。自己写的时候,自然有个习惯,但是项目中如果有多人参与,我也不在意大家各用各的。

毕竟是外在的东西,对代码结构没什么影响。甚至不太影响可读性。反而不同的风格容易区分出作者,阅读的时候更容易追溯到人,甚至比在 git 上看 blame 还方便一点。

前两天纠结这个命名法的问题,是因为在 bgfxidl 这个项目上,bgfx 的作者希望用 idl 描述并生成宏定义。我在设计对应的 idl 语法时涉及了到底采用下划线命名还是驼峰命名的选择。

May 18, 2019

为什么说执行 996 工作制的脑力劳动者非蠢即坏

抱歉我用了这么个吸引眼球的标题。但我其实是想分析一下 996 工作制度到底存在怎样的问题。注意,我说的是身体力行执行 996 工作制的人,而非要求员工进行 996 工作的老板,这是两类人,今天我想骂的是前一类。

如果让我给执行 996 工作制下个定义,我想不能把全身心投入到工作和事业上的工作方式等同。它并不指工作时长;而是指刻意的制度性的把工作安排在非正常工作时间段。对待工作,不是以是否完成计划内的工作为衡量标准;而是本末倒置的先预设工作时长,然后想办法填满这些工作时间。

对于我最熟悉的游戏软件行业,它的工作本应该是脑力劳动为主。尤其对于程序员来说,主要的工作应该是在你的脑子里通过思考完成的,如果你的工作效率受限于每天不停的敲打键盘、移动鼠标、那么就变成了一项体力劳动。不久的将来,猴子和 AI 都能替你把事情干了。体力劳动或许可以通过制度性的延长工作时间来加快进程,可硬生生的脑力劳动变成体力劳动,只能用蠢来解释了。

如果工作的重点是通过大脑思考完成的,那么就不在乎你在什么时间,坐在哪里进行这些思考。甚至入睡前的那段时间都能想很多,限制每天在办公室坐上 10 多小时没有任何意义。那为什么说起来简单,996 反而成了国内程序员工作的普遍状态呢?我以最大的善意揣测人性,若他们不是心眼坏的话,那只能是大多数从业程序员能力欠缺了。

从游戏行业看,投资做游戏的人最期盼的是什么?并不是压榨你用更短的时间把游戏做出来,而是你能给个明确的计划时间表,在这个时间内保证质量的完工。这个时间可以比较长,但只要计划是明确的,就能估算出未来的收支情况。成功的游戏利润率非常之高,如果游戏能成功,用暴力手段压缩制作时间而减少的成本简直无足轻重。所以,游戏产品上线前,一改再改,无限延长开发时间反而是常态。

健康的项目,计划的落实是第一位的。那么最影响计划安排的是什么?不是工作时长,而是开发中的不确定因素:

November 21, 2018

3d engine 项目招聘

我们的 3d engine 项目从 2018 年 1 月底开始,已经过去 10 个月了。比原计划慢,但是进度还可以接受。目前已经大致完成了运行时的基础渲染框架(基于 ecs 模式),整合了 bullet 物理引擎,开发了一个基于网络的虚拟文件系统,可以不依赖本地的资源/代码直接远程运行。另外还开发了一个 lua 的远程交互调试器,可提升 lua 的开发效率。

单从 runtime 角度,引擎的完成度已经较高。但和之前开发 ejoy2d 不同,这次希望把引擎的侧重点放在工具链上。所以虽然有计划开源,但在工具链不成熟的现阶段,暂时还是闭源开发。

目前团队有全职程序 3 名,我个人没有全职加入,但也花了颇多精力在上面。所以在关键节点上,我们已有 4 个人全力开发。

现在想再招聘一名成员,主要想补充工具链,尤其是开发环境/编辑器的开发。让引擎可以在半年内可用于新游戏 demo 的开发。对于这个职位,可以列出下列明确的需求:

June 20, 2018

有时候还真要信命

我们公司最近预研了一款对战游戏,是我的创新实验室中一个同事原创的玩法,同时他做了几乎所有的实现工作:包括客户端,服务器,还有从别的老项目借出来的美术资源……

在独自开发了大半年后,我们又加了几个同事协助他把最后的工作完成。上个月,终于告一段落,所以在公司内部做了一次大规模的试玩。游戏还是挺有意思的,试玩的同学非常踊跃,昼夜不休的打天梯。试玩期结束后,我们决定对最活跃的数十个玩家进行一次奖励。用抽奖的形式奖励自选 switch 游戏卡。天梯排名靠前的同学可以有更高的权重(是排名靠后的同学的 6 倍)。我的排名很低,所以只拿了一张抽奖票,最后一共发放了 106 张奖票。

June 10, 2018

群星的汉化及官方中文版

前段时间,Stellaris (群星)在 steam 上招到了大量差评。这款被短时间差评也不是第一次了,最猛烈的一次是因为 2.0 版改动太大,简直成了款新游戏,得罪了大量 100 小时游戏时间以上的老粉丝;我记得还有一次是因为涨价;似乎还有一次,原因不太记得了。

而这次,是因为有中国玩家用英文在官方论坛请求游戏加入官方中文,被客服不客气的回绝了。原本没官中就差评就是我朝玩家的时尚之一,而这次直接被官方怼回来,更是刺激了我朝玩家的 G 点,连那些平常不参加无官中就差评的玩家都爆了许多。

还是太年轻了。如果是 20 年前,我估计也会义愤填膺的。那年我朝南斯拉夫大使馆被炸,我还在网上乱吼过几句呢,谁没当过愤怒的少年呢?

February 24, 2018

群星 2.0 汉化项目

年前就留意了群星会在年后发布 2.0 ,我一直在跟踪它的版本升级维护汉化 mod ,既然这次是一个大版本升级,更新的文本肯定非常多,所以对这次的工作量有了充分的心理准备。

在 2.0 发布的前一天就返回了广州,我反思了过去汉化 mod 的维护过程。虽然有 github 这个方便的工具,可以联合很多同好的力量,但每次还是弄得人很累,尤其是第一天的整理工作。

我以前的做法是,更新完游戏,把新的英文文本上传,根据 github 上的 diff 来整理中文的翻译。过去选择人肉做中文的工作是因为希望人肉把关,有时候英文原文只是调整了版式,修改了错别字,或是修正里里面提到的数字等等。那么在合并中文版的时候就可以保持原样,或顺手改过来。同时也大致了解了游戏的变更。

大量新增的条目、大幅修改的条目,通常我就在中文版中保留英文原文,做个记录,在 github 上发 issue 分类,征集人手来分头翻译。

December 19, 2017

BenQ WiT ScreenBar 试用记录

前段时间,BenQ 的同学送了盏屏幕灯给我,我看着不占桌面空间就收下了。

作为一个从小学开始就整天盯着屏幕的程序员,30 多年一直没有近视,应该和一贯重视用眼时的环境光有关。大部分时间我在晚上作业,所以我对灯光的要求挺高的,办公室装修时还特别关照灯光要足。但面对屏幕的时候还好,在要写写画画的时候,还是感觉光线不太够。一直没特别在办公桌上摆个台灯,主要还是嫌占空间。而且我的办公桌比较大,一般台灯也照不到整个桌面。

February 17, 2017

为什么 Windows 的文件系统会有盘符,使用反斜杠分割路径

今天同事在公司群里贴了张屏幕截图,上面有30+ 个盘。从 C: 排到 Z: , 然后还有 CC: CD: ,调侃问 Windows 能管理多少个盘。

图应该是 P 出来搞笑的,除去 A B 盘保留给已经淘汰的软驱用外,windows 超过 Z 盘后就不在能增加了。如果有更多储存设备,则需要用把设备挂接在空目录上(ntfs 支持)。

为什么 Windows 会有盘符这个诡异的东西呢?

按如非必要、勿增实体的原则,只用路径就够了呀。物理分区完全可以隐藏在文件系统之后,在 Unix 系的操作系统中,分区是用挂接点的方式挂接在虚拟文件系统中的(ntfs 其实也支持)。如果是为了方便记忆和保持用户习惯,完全可以把分区顺着挂接到 /c /d /e /f 下。如果你在 windows 下安装 mingw/msys 它就是这样处理 C 盘、D 盘 …… 的。

答案要从历史中找。

January 14, 2017

豆豆的日常

云豆两岁的日常:

奶奶:10 点了,豆豆该睡觉了。

豆豆:要听咕哩咕哩。

奶奶:ipad 没电了。

(ipad 电量 1%)

豆豆:ipad 真没电了。

奶奶:听小兔子好吗?

豆豆:(拧开开关)小兔子不好听。(关上)

豆豆:ipad 没电了、手机也没电了、奶奶唱歌。

奶奶:唱什么?

豆豆:门前大桥下……

奶奶:我不记得歌词了。

豆豆:(唱)门前大桥下,游过一群鸭…… 不记得歌词了。

豆豆:奶奶唱,(唱)小燕子、 穿花衣,年年春天来这里~

奶奶:你不是会唱吗?

豆豆: 奶奶唱小燕子, 豆豆睡觉。

奶奶:(唱)小燕子 穿花衣 年年春天来这里~ Zzz...

豆豆:奶奶睡着啦。

November 15, 2015

闲扯几句移动社交软件

我不用微信, 不过见过大概是什么样子。以前用过 icq/qq/gtalk ,现在也用的少了。目前流行的社交平台,也就是微博和 twitter 用一下吧。今天有些想法,闲扯几句。

我觉得,作为现在安装在手机上为主的社交用软件,主要应帮人解决的基本社交需求是:

  1. 给特定的人发特定的消息,或两人间讨论问题。这一点,以前手机短信就可以作到,只不过现代软件更可以发语音、视频、图片、地理位置等等,完善了这个用途。在现代软件普及之前,email 是一个对短信非常好的补充,可惜还不够普及。

  2. 建立新的社交关系。可以是社交场合找到陌生人,也可以是由熟人引见新朋友,还可以是自我推销。在过去只用手机做主要联系方式的时代,很多人利用名片完成这一点。也可以是向人打听手机号码。然后把新社交关系延伸到 1 里。

  3. 就某些话题在半公开场合一群人聚在一起扯淡。过去的网络论坛,后来的 qq 群,微博、微信,都满足了这个需求。这里提一下微博和 twitter 的主要区别之一,就是微博可以在一个主信息下,一堆人围绕着 po 主进行扯淡,这种信息组织方式和 twitter 很为不同。一开始我总觉得这种设计有些问题,但一直没想太清楚。

  4. 个人对外发布信息。一部分信息会引导为 3 ,另一部分仅仅是发布而已。

October 13, 2015

埃及一日游

前段时间去希腊旅游,回程埃航的票在开罗转机,停留 10 小时。

原来计划并没有打算游埃及,所以也没有办埃及签证。感觉那边革命完没几年,社会应该比较乱,还是在机场待着比较安全。

结果一下飞机就被一工作人员领到转机口办手续,说是可以带去酒店休息。一想还有这么好事,可以淋浴睡觉,顿时对埃航好感度提升。由于就是在机场转机柜台办的,放心把护照交给他们了,按吩咐跟着机场的妹子去酒店。

原来以为房间就在机场里(因为没有签证,埃及也不是落地签,通常出不了海关),结果莫名其妙就走工作人员通道出去了,只是要把护照压在机场里。当时没多想,出了机场换了个人(确认还是机场的工作人员)说带我们去酒店。等车的时候问要不要去金字塔看看,一个人收 40 刀(车费),可以刷卡。想想既然来了,不去有点可惜就答应了。

September 15, 2015

最近 blog 系统出了几个问题

今天有同学反应 blog 无法留言了,说是不能创建新文件。我试了一下,果然如此。可是 ssh 上去看,磁盘空间还有 30% 。猜想是 inode 用光了,用 df -i 看了一下果然如此。

但是一下子没想出来是什么东西产生了大量小文件。只好用二分法筛选目录去看。结果发现是很多年前用 php 写着玩的一个留言本,每次留言都会产生一个新文件。这个留言本没有公开 url ,不知道被什么爬虫爬过了,累积下来居然留了一百万条垃圾信息。删掉后一切正常。

另外,最近间歇性的出过 web 访问无法返回的现象。经过排查,是原来用的一个 wiki 系统的某个 bug 导致的死锁。那个系统虽然是开源的,但早就无人维护了,这几年我试着修过几个 bug ,这次真的懒得修了,直接把链接从首页去掉。

最后一个问题是 blog 的留言处理的很慢(导致很多同学多次提交),不知道是不是数据太多了,原来的 movable type 的老版本结构没设计好导致的,一时也不想追查。看来是时候换个自己写的 blog 系统了。用这些停止维护的老开源系统真心不如自己搞啊。

December 14, 2014

skynet 社区广州聚会小记

昨天(2014 年 12 月 13 日),忙了一天,终于把说道半年的心事了了。skynet 社区的第一次线下聚会。

一直在 qq 群里说想搞一次线下聚会,让使用 skynet 的同学有机会当面交流一下,忙这忙那的拖到年底。直到又人有重提,择日不如撞日,就选在了本周六。

原来计划搞此 30 人的小聚会就好了,可以就在办公室会议室里。结果没料到公司最近扩张太快,新办公地又暂时没有搞定,会议室都被塞满了。那么转移到楼下餐厅吧,大概可以装下 40 人。

故意没有宣传,想着不会有太多人报名。可到了最后几天,邮件列表上的报名人数超过了 60 人,赶紧去找新场地。最终昨天来了 80 多人。btw. 南京远道来的同学辛苦了。

September 08, 2014

2014 IGF 评选

前两天受邀去上海参加今年的独立游戏节评选,准确说是亚洲及太平洋地区的 IGF 。

居然有接近 400 个参选游戏是让我事前没有想到的,尤其是在学生组还发现了不少好作品是个惊喜。

评审用了整整两天时间,从一大早到半夜,中间全部是叫的外卖。基本流程就是看介绍视频,(有兴趣)就试玩,讨论,反复这个过程。但明显还是时间不够用的(想想 20 多个小时看 400 个游戏是啥感觉?平均一小时 10+ 个)。

客观的说,大陆地区的整体水平还排不到前列,但也有几个亮眼的好游戏。有点不可理解的是,有些明显是 100 人以上的公司做出来的商业作品也来凑热闹。所以一般看介绍视频里有 “扫荡” 的基本都没试玩。我个人认为,IGF 还是要强调独立游戏精神的,对于可能获奖的游戏也主要是要设计出彩,好玩,而不太多考虑挖坑赚钱的因素。

出于保密的要求,就不写那些具体的很有意思的游戏了。不过可以泛泛的谈谈评审感受。

据说以往老外比较喜欢做 soul game ,可这次明显感觉反了过来。大陆地区无论是学生组还是职业组都有许多 soul game 。可惜试玩了一下,大多不明白在玩什么,甚至怎么玩都不知道。我想游戏毕竟还是以提供乐趣为住,即使是以往获奖的 soul game ,都还是很好玩的。

有些游戏拼了命的往复杂里做,各种定制元素,连我这个一向以玩复杂游戏为主的玩家都受不了。试玩 15 分钟完全开始不了游戏主线,也想像不到后面的乐趣。

抄袭现象也有许多。如果是商业游戏为了赚钱,复刻一个游戏倒没什么;但对于独立游戏,抄一个热门游戏也可以获奖?这次有 7 个评委,似乎很难瞒过这么多玩家的眼睛。当然,制作精良的疑似抄袭作品我们都仔细玩了一下,试图发现不一样的亮点,可惜很难找到。

这次也发现几款图像向 3A 游戏靠近的独立大作,可是…… 不好玩啊。整个就是炫引擎(以 Unreal 居多)和美术的,就一个人物在绚丽的场景里跑来跑去。只要想想,如果把这些游戏放到大厂家的 3A 游戏中对比,完全不会有因为画面而购买游戏的冲动。而游戏可玩性部分又接近 0 ,最终真是可惜了制作这些人物和场景的人工。

June 23, 2014

Linode 服务真不错

今天才发现 linode 出了 10$ 一个月的服务,同时以前 20$ 的服务硬件全面升级了。

反正我的主机用不了这些,翻墙看 youtube 都用不了每个月 3T 的流量。决定降级,可以便宜一点。在 linode 的管理面板上找到了 Resize ,从 linode2048 换到了 linode1024 。马上就成功了。

然后立刻收到了账单邮件。说是因为这个月还有一周,这周的原费用是 $5.34 ,新费用是 $2.67 。退了 $2.67 到我的账户里。:)

再帮它打个广告吧。作为一个在中国生活的程序员,购买一个 linode (我的 referral code : 538bab39bc1265a2ce54115d1f86e2bc81e4d133 ),上 google 必备。

March 11, 2014

linode 广告时间

这是一篇关于 VPS 虚拟主机服务的广告。

经营这个 blog 的 9 年间,我收到过十多次 email ,希望可以在我的 blog 上挂上文字广告条,都被我拒绝了。我不喜欢广告,但推荐觉得不错的东西是例外。

4 年前我把 blog 服务从网易的服务器迁到 linode 时,我写了一篇 blog 。没想到之后 3 年多仅靠推荐就支撑了 vps 的开销。

前天收到 linode 新账单,发现很久没有推荐新用户了(每推荐一个新用户可以有 20 美元的回扣),账户里已经花的差不多。我希望可以保持让这个 blog 自己负担起它的 vps 费用,所以重新写一篇吧 :)

如果有朋友也想租用 vps ,可以 点这个链接 或者或者在 linode 填我的 referral code : 538bab39bc1265a2ce54115d1f86e2bc81e4d133 。

在国内,个人租用虚拟主机必须使用海外的服务,相信对于我的读者来说是一个常识。即使你不谈政治,也希望有一个不受约束的自由发言地,对吧?即使不写点什么,一个稳定的翻墙通道、一个可以随意放点文件的网络储存地都是有必要的。出差到外地,不清楚当地的 wifi 是否安全,最好的方法就是让自己的设备先 vpn 到自己的 vps 上,这样可以大大减少被劫持的几率。

linode 是老牌的 vps 提供商,他绝对不是最便宜的,但却是我知道的最好的。我用的 20 美元一月的服务,用国内的信用卡(比如招商银行的)就可以买单。这些年用下来没有出过什么问题,我的虚拟主机每次重启后都是几百天的稳定运行时间。重启往往是因为自己想把操作系统升级。或是平均两年一次的机房调整(通常伴随着硬件升级),那都是提前通知,自己登陆到控制面板一键完成的。

我对 linode 的客服相当满意,提过几次 ticket ,无论是什么时间,都在 5 分钟内就有人工回复。通常一两次交流就搞定问题了。提 ticket 基本都是换机房。一开始我在美国机房,后来发现日本开了新机房速度相当快就要求换过去。后来日本 linode 的 IP 大批被墙,又换回美国。这几次折腾都是几分钟搞定。

linode 的带宽根本用不完。记得一开始似乎是 100G 一个月,现在已经加到了 2T 。平常翻墙看看 youtube 也只用的了一个零头。我刚开始用的时候,空间是给的 16 G ,现在已经加到了 48G 。8 个 CPU 核心 1G 内存对于个人用户绰绰有余了。

友情提示:域名注册也千万不要选用国内的服务商。迁移不方便,更逃不过备案等等烦心事。我从万网迁到 name.com 后非常满意,供参考。

November 17, 2013

云风:一个编程的自由人(图灵访谈)

这篇访谈是 2013 年 8 月 30 日在北京参加 SDCC2013 期间在会场的一个餐厅做的,图灵社区的同学根据接近 5 小时的录音整理了这样一篇文字,登载在图灵社区 上。

初稿在刊登出来之前交给我看过,我觉得很多地方口语化过强有些重复罗嗦,作为聊天可以,但作为文字恐怕不那么易读。所以我又做了修改。主要是删掉了一些我觉得拖沓的口头语,细微调整了叙事的结构,其他基本保留了采访稿的原貌。

下面在自己的 blog 上收录的是我最后修改后的稿子,没有和图灵社区的版本比较过,不知道是否后来编辑有无改动。


March 11, 2013

最近一些心得

最近特别忙, 每天写程序的时间都不够。有些东西在做完之前不想公开谈,所以只把一些笔记发在公司内部的周报里了。等这段时间过去,再贴到这里来。

不过还是有一些泛泛的心得可以写写的。

前几天遇到一个优化的问题。我想采用定期计算路图的方式优化寻路的算法。而不用每次每个单位在想查找目标的时候都去做一次运算并记录下路径结果。一切都看起来很顺利,算法的正确性很快就被验证了。可是最后实际跑的时候,发现在生成路图的地方会稍微卡一下影响流畅性。

December 29, 2012

房租分配问题

今天读到策划同学的周报中提到的一个关于合租房子的分摊房租问题。

引用周报中的一节如下:


上周在搬家,和喵、刘阳一起租房子住,遇到一个问题,就是分摊房租。中式的解决方法一般都是商量一下,但具体怎么商量,没有手段,总之就是大家估摸一下,觉得大略上说的过去就OK了。很少有拉下面子认真谈价格的,即使心里其实觉得并不认可。

在这方面,美国人还真能想一些办法,这是一个旅美的留学生在博客上写的,他和老美同学的商议方式: 两个人A,B合租一个二居的房子,比如每个月是1500美元,因为主卧和次卧有大有小,价格肯定是不均的,那么两个人分别写两个价格,也就是对主卧和次卧的心理价格。可以很极端,比如1400:100,但总额必须是1500,因为这是A,B必须接受的大条件,然后公开,除掉开价完全相当的情况,两间卧室必然各有一个出价最高的人,价高者入住,而月租则是A,B对这个卧室开价的均值。例如A出价是900:600,B出价是1000:500,那么A住次卧,价格为550,B住主卧,价格为950。两个人都得到了自己认可的房子,而价格还低于自己的预期。

这一方案还有一个优势,就是双方都无法通过恶意的叫价来损害对方,获得利益。相信很多同学会提出一个更直接的解决方案:一个人提价格方案,另一个人选择。但是这一方案也有点问题,提价格的人相对是吃亏的,对吧?

遗憾的是,这种做法,似乎无法推广到三个人的情况。


我觉得这个问题很有趣,晚上想了一下,其实是可以推广到三人甚至更多人的。

December 03, 2012

闲扯几句图形界面的设计

前段时间在微薄上对 windows 以及 vc 发牢骚。对于已经熟悉的软件,我很难忍受图形界面。

但图形界面对于大多数用户还是必不可少的,学习门槛低是最大的原因。但仅仅为降低学习门槛为原则去设计界面却绝对不是好的设计。

图形界面和命令行界面最大的区别是用户了解软件的角度不同。对于命令行界面的软件,用户的第一直觉大约是,我想做一件事情,所以我使用(或编写)这个软件。那么,这个软件应该如何达到我的目的。先有需求,然后寻找答案。通常,软件会有使用说明、可能和软件一起分发放在一个文本文件里,更多的是用命令行参数,传入一个 -h 之类的命令列出来。也可以在网上搜索。总之,需要用户去挖掘。当然,有的软件有所有默认配置,不需要参数就可以启动。如果更改了需求,可以去修改配置文件。修改配置文件的过程,往往可以通过观察默认配置的写法来学习。

图形界面的软件则不是这样。

June 08, 2012

一些工作进展

我们原来订的计划是在 6 月中旬结束第一个历程碑。完成游戏最基本的内容,场景漫游,战斗,NPC 管理,登陆认证等等。

和以前我自己带的项目不同,这次由 dingdang 做产品制作人,安排了专人做项目管理。我们的计划定的很早,也还算按部就班的在做了。

这次我们或许选了一条不太好走的路,一切都是从零开始,作品的要求也竖的较高。过去半年(从 2011 年 11 月开始正式制作,2012 月 3 月开发团队组建完毕),各个不同的部分分头开发,希望在第一个里程碑能做一个较为完整的整合了。

February 28, 2012

主题论坛的一些想法

虽然现在 twitter google+ facebook (你也可以把前面的产品换成新浪微博,人人)已经成为网上公众信息交流的主流工具了。但论坛这一形式始终有它存在的价值。至少,在 mailling list 无法成为主流的状态下,产品在网上发布,大多还是需要一个类似论坛的形式为用户提供服务的。当然,google groups 本质上是一个邮件列表,它也把自己称为“网上论坛”的。我说的这个东西,应该大体上归类于 forum 。但 forum 这个词大多数中国人拼不清楚,大家更习惯称之为 bbs (我知道 forum 和 bbs 其实是有差别的)。

当年 ROR 正火爆的时候,有人说用 ROR 搭建一个网站只需要几行代码,没有更简单的了。有人回,不,用 Discuz 搭建一个论坛更简单。

以为然。

但是我始终不喜欢 Discuz 形式的论坛,尤其是它之后的发展。过于花哨繁杂了。我更喜欢 douban 小组那样的简单设计。只不过那个设计过于简单,如果单独抽出来做为一个产品,对于我有许多信息过滤的需求无法满足。

对于为某特定产品服务的论坛,比如为特定网络游戏的用户服务的论坛,我构想的形式大约是这样的。

首先不需要分板块。对于集中话题,按时间整理出信息流就足够了。

January 19, 2012

开发笔记 (9) :近期工作小结

最近主要就是一些琐碎的事儿,基本上正事没啥进展。

那个模拟网络环境框架的 skynet 早在一周半前的周末就完成了。一直在等蜗牛的真框架架好。看起来那个昨天也弄好了,但是需要细节磨合需要两天,希望在年前能整合好客户端和服务器框架,过个好年。

我觉得理想情况下,这部分进度能快上几天。但我也觉得目前的进度可以接受。集成这些个不同人写的东西本来就是个麻烦事儿。怪物公司的客户端的网络部分也因为方案调整花了好几天事情修改。

我的想法是尽量隔绝客户端和服务器的具体设计方案。在知识点上不要紧密耦合。就是说只交代很少的一点通讯基本协议,然后由不同的人分别设计代码的架子,看最后再怎么合起来。这样可以保证各自的独立性。适应将来的分工和扩展。

January 12, 2012

12306 可望成为中国最大的 SNS 网站

现在有哪家 SNS 网站可以帮用户制造几小时甚至几十小时的共处时间? 还能有共同话题方便搭讪?

没错, 12306 有这个潜质. 它可以帮助适龄男女(通过身份证) 共搭一趟列车, 并肩回家过年。

过于矜持,没留电话?没关系。12306 帮您联系上偶遇的 TA 。

深入挖掘一下,很多潜力(收费项目)可以有。单这一点,就值得铁道部把 12306 做的更好一些,直接通过电子商务创收。单独 IPO ,去骗广大股民的钱。这个概念大家一听就明白,果断上钩啊。


昨天说的排队系统,很多同学提出若干质疑。最多的问题是:黄牛来了肿么办?

本来这么简单的问题,可以有无数方案来解决。我都不忍心说出来几个剥夺您思考的乐趣。不过就着今天 SNS 这话题我提一个。

领排队 ticket 前,需要先提交身份证。排到了必须用这个身份证买一张,或多张同一车次的票。如果排队时间过长,我们可以把排队的人放在一个(多个)大聊天室里。可按年龄段啊,IP 段啊区分一下。

这不就是一同城交友么?

如今还有什么地方好凑这么多人一起聊天的?还不用太担心人妖、装嫩啊等等。谈的投机再想一个方法买一趟车回家,多好。

各位同学可以自由发挥,随便 YY 。

December 02, 2011

概率问题

今天起晚了, 到了办公室, 行政mm 出去了, 中饭却已经订好。据说随便帮我订了一份。

几分钟后,快餐送过来,我很纠结我应该拿哪一份吃。只好等其他同学取走。当桌子上还剩下四份的时候,我决定试一下手气,看看能不能拿到我的那一份。

打开检查了一下,发现有三份是相同的,都是牛展,一份是香菇。盘算了一下,我拿走牛展拿对的几率有 75% 。

这个时候蜗牛同学和怪物公司都过来了,居然他们都拿了牛展。这个时候我犯了个错误,没有及时的放下手上的盒饭。果然,几分钟后,PS 同学就在抱怨他的牛展怎么变成香菇了。

我检讨了一下,本来我是有机会修正我的错误的,这其实是一个简单的概率问题:

当有四份快餐的时候,假定另外三人的选择是随机的,三人出现的次序也随机。那么,如果存在一人订的香菇的概率是 75% 。我一开始的选择并没有错。

但是出现了两个取走牛展的同学后就不一样了。假如我的那一份真的是牛展的话,发生这件事的概率只有 1/3 。所以,我的饭是香菇的可能性要更大一些。


这件事上,我的结论是,晚上要早睡,早上早起就可以不麻烦别人帮忙订饭。

September 17, 2011

秋天

今天武汉起了大风,温度骤降。秋天说到就到了。

前段时间一直住在杭州高强家,我们隔一天去一次可笑岩壁,蚂蚁啃大树一般一点点的清理岩壁,打洞装挂片。夏天和灰风两条线路都完成了,难度都不高,大约一条在 5.10a 另一条在 5.10b 左右。

我发现我的攀岩技术有很大进步。原本我的身体素质不太适合玩这个,一直以来进步也非常缓慢。许多同学苦练两个月就能爬 5.12 的难度,但是我做不到。不过经过这两个月的练习,慢慢也能爬 5.10 了,非常欣慰。想来世间道理均是如此,只要你肯下工夫,花时间和汗水,总能有回报的。

外行总觉得攀岩需要很强的上肢力量和指力。其实玩过就知道,身体的平衡感,攀爬经验,对肢体的把握更为重要。力量是常去玩,自然成长的结果。野外攀岩和室内又不一样,比如 face 面的攀爬技术在室内就很难学到。完全靠身体的平衡,以及脚间的力量就可以把身体顶起来了。大多数时间需要克服的只是心理障碍。

接下来我想学学先锋攀登,先在岩馆多练习一下主动冲坠,能自己去外面爬先锋也算脱离菜鸟的行列了吧。攀岩其实真是项有趣,廉价,安全,可以玩半辈子的运动。

May 27, 2011

聊天信息加密的乱想

信息加密技术已经很成熟了。不过想把加密信息伪装隐藏在看似明文的信息中的工具我还没有见到。

我的意思是,监听方完全察觉不到有密文在传输的情况下,把加密信息传输给对方。我记得有工具可以在图片中隐藏一些信息,即使图片经过扫描,隐藏在其中的密文信息依然可以读出。

May 20, 2011

扯两句电厂经理

不知道我的读者里有多少桌游玩家。昨天我写那篇软件项目需要很多人一起完成可能是一个骗局 莫明其妙的就想到了 Power Grid: Factory Manager 这款游戏。

这是款我个人比较喜欢的偏计算类的游戏。玩家需要安排 5 个回合的工厂生产计划。购买机器、扩建仓库、发电。玩家需要支付电力成本,如果人手不够,需要雇佣临时工。偶尔,会因为场地不够扩建厂房。但是游戏只有固定 5 个回合。结束后,看谁赚到的钱多。当然,固定资产是不折现的。

May 19, 2011

软件项目需要很多人一起完成可能是一个骗局

本文的标题只是一个猜想,并不是我坚信的观点。事实上,我这几年自觉学到的重要东西之一,就是如何在开发过程中分工,如何信任队友开发的组件,如何组织许多人做同一个项目。

可是,如果这是一个骗局呢?那也未尝不是一种可能。

这个世界上我们需要做的软件可能没有太多真正庞大到需要很多人合作才做的出来。需要配置产品经理,需要设计人员,需要前端开发,后端开发等等。

更多时候,你需要很多人一起来完成仅仅是因为别人都这样在做。或者是,你缺乏某方面的专业知识,需要属于这个领域的人。又或者是有些工作很枯燥,你需要一个只是打工的人来帮你完成这些枯燥的你不想干的部分。也可能是你的老板觉得你进度太慢,觉得必须想办法加快进度,他觉得增加人手或许可以……

May 18, 2011

Bitcoin 的基本原理

昨天读到了 Bitcoin 的中文介绍,觉得非常有意思。不过上面这篇文章解释的非常不靠谱,我花了一晚上去Bitcoin的官方网站 仔细研究了一下,总算理解了其原理。感觉非常有启发,尤其是对虚拟货币的流通和发行有许多借鉴意义。今天写这篇 Blog 理一下。

什么是货币呢?货币就是商品(包括服务)交换的媒介。现在我们通行的货币是由有信誉的银行发行的,基本上是由其信誉来担保的。只要用的人都认可,那么我们就可以用它来交易。货币有一定的保值特性,我把我的劳动/服务/所有的商品换成货币后,银行担保我在日后的某一天,我还可以用它交换会差不多等值的东西。这个保证的前提是,银行不会滥发新的货币以及大家都信任这一点。

April 11, 2011

如果从头开发新的 3d engine

最近闲了下来。断断续续的再想,如果业余时间弄一个开源项目玩儿,什么是比较好的题材,适合自己来做。想来想去,3d engine 是一个比较好的选择。以我来看,对外开源如果要吸引到足够的有经验的同学参加,必须项目有一定价值。要可以迅速的搭建工作环境并直接看到结果,这样才能有兴趣迭代做下去。起步必须自己一个人来做,东西得有个雏形。所以必须是自己比较熟悉的领域。

若论熟悉,其实游戏服务器的架构和实现,我这些年考虑的更多,也做的更多。但这个东西不适合做成开源项目。因为受众太小(不是每个人都有机会和意愿去架设网络游戏服务器的),而且它不能单独运行看到结果。没有玩家的游戏服务器是没有意义的。

3d engine 这些年也有在开发。但是公司不可能允许开源已有项目。如果想玩儿,从头做是唯一选择。而且重新开始有更多的乐趣,再造轮子原本就是程序员们的欢乐源泉之一。如果自娱是唯一目的的话,就不必过多考虑商业引擎必须考虑的问题。比如兼容更多的底层 3D API ,做全平台兼容,支持低端硬件等等。甚至于还要去考虑日后防外挂等无聊的问题。

March 14, 2011

方便的分享照片

只是随便想想,还没找到类似软件,希望有人读了后能够受启发做一个 :)

网上做像册的倒是很多,但目前的网络带宽很难满足我的一个需求。即,我这人不喜欢带相机出去旅游。有时候出去玩了,朋友拍了好几 G 的照片,就懒的要了。网上传起来太麻烦。如果真给我寄光盘,估计我也不会有多大兴趣倒腾到计算机里。若是让对方往网上像册上传,估计也难。

其实我的需求很简单,我需要在几百上千张照片里自己挑出需要保留的几张来,然后打包给我。大部分相片不需要冲印出来,所以我也不需要动则几兆的大分辨率照片。缩小到屏幕适合观看的尺寸即可。

March 01, 2011

分享文件服务

今天一个朋友用 qq 邮箱给我发了个 200+ M 的大文件,我无法提取。这让我意识到,在网络上分享大文件也是个比较大的需求。此类服务很多,历史也很悠久(很多网盘也被用户用来解决此问题)。但好用的并不多。

记得 opera 的新版也提供了分享本机文件的功能,可能是墙的原因,在国内也很难用。

我觉得如果为公众提供一个方便的渠道(又尽量压缩成本)来分享自己机器上的文件,或许会有许多用户的。关键在于便捷,功能纯粹。

最简单的方法是让发送文件方在本机架一个 web server ,然后把文件放到 web server 可以管理的文件服务目录中去。这个方案最好实施,对于懂行的同学来说,windows linux 等都提供有 httpd 服务,设置一下即可。对于不懂的同学,提供一个小型软件安装一下也很容易。而文件接收方仅需要用浏览器下载文件即可。

但是这个方案有很大的缺陷。大多数人机器都在防火墙背后,也没有权限可以在网关上设置 NAT 。很大可能是无法使用的。另外,架设 server 隐藏有一定安全上的风险。

而我的想法是这样的:

February 16, 2011

食堂排队系统

今天晚上 18:00 准点去一楼食堂吃饭,结果队伍排到了门口还打了个圈。花了 20 多分钟才领到口粮,回头一看,队伍并没有减短。看着前后都有同学抱着 PSP 狩猎 MHP3,我有点后悔没把 PSP 带下来了。

从这几天的经历来看,我们公司食堂的处理能力应该是够的。从 17:30 到 18:45 基本能处理完 600 号人的进食问题。也不能完全怪发放食物的带宽不够,经过一个月的观察,这部分可以优化的余地不大。而且我认为优化的意义也不大。

那么怎么才能减少这么多无谓的排队时间呢?粗看可能性不大,但仔细想想,如果把眼界放宽到整个系统办公楼运作系统,应该是有可能的。

在不提高食堂带宽的前提下,如果用户随机抵达,理论上队伍总会排到 200 开外。并不会在某个特定时间点减少(只有等到最后队伍才可能逐步缩短)。但我们其实可以把排队时间挪一部分到食堂外面的。行政部以前分发过通知,安排各个部门错开时间用餐也是这个想法。

今天一边排队,一边跟前后的同学讨论是否有可能利用软件来节约大家的时间。

February 15, 2011

新年杂记

这个月由于过年,休假时间比较长,所以没有正经的做一整块事情。由于 douban 啦 twitter 啦神马的用的比较多。有什么一两句话能说的,都感觉不值得写整篇 blog 了。

不过呢,隔一段时间有个小总结还是有用的。都说,学到和经历的东西,能写出来,记忆比较深刻。

January 31, 2011

父亲

我写过很多次父亲。我并不奢望每次能完整描绘出他的形象,向我的朋友们展示出这个已是白发苍苍的老人的全部人格魅力。我曾经写过,他是个程序员, 是个 Geek ,是个手艺人,是论坛斑竹。

这几年,他更多的是在帮助身边的人维护自己的权利。

我爸他老人家在我家这个小区当业主委员会主任已经好些年了,每届都是高票当选。无论哪个物业公司摊上这么个业主委员会,都一定头大不已。每每我回家,都能看见老爸再翻各种法律文件,编写函件。晚上跟我妈闲聊时,总能听到些新鲜故事。我爸是不太主动把搞定了的那些“小事情”跟我说的。不过我能感觉的到跟老人家在小区散步时,街坊们对他的尊敬,当然还包括小区的保安们。

January 20, 2011

洋画

这几年一直被人怂恿着玩集换式卡牌。那帮玩万智牌的同事不给力,一直没把我忽悠进坑。最近我开始玩魔兽卡牌了。我觉得啊,这玩意和我小时候玩的洋画有那么点相似。不过那时“集换”的概念几乎没有罢了。

小时候一度以为自己生活的小圈子就是整个世界。直到上了大学,和室友们一交流,才发现大家的童年游戏并不那么相同,比如踢毽子,在我们那里女生是玩不来那些花活的,我的水平仅仅是末流。而到了大学踢毽球,同学居然不会踢的居多。在我小学初中的孩子圈中,毽子可是一社交工具,放学只要鸡毛毽一拿出来,认识不认识的男生都能聚在一起比试,有完整的比赛规则。我曾经因为脚法不入流,还狠狠的练习过。

同样成为孩子们社交工具的还有洋画。

在网上流传着几篇古老的帖子,所谓 70 后或 80 后童年的游戏。其中提到过洋画。可在我的记忆里,把洋画放在地上拍,只有极少的小 P 孩才那么玩的。因为洋画太贱了,只到 80 年代末,8 分钱还可以买一版 25 张。输赢一点意思都没有。若要玩这种体力游戏,我们只拍不干胶的贴画(价格要贵许多)

December 22, 2010

12 月二三事

这个月做了不少杂事。记个流水帐总结一下。

梦幻西游的 Client 需要优化,我之前提了个方案。对 2d engine 的底层库做了些小修改后,大部分工作都是同事在做。最后完成后,说是性能提升到了可以接受的程度。

我抽了好几天时间研究 XMPP 协议。这个前两年看过,不过这几年开源界内容增加很快。因为对 lua 有偏爱,所以着重阅读了 Prosody 的源码。设计的不错,很容易读,量也不大。

因为对有道词典Chrome 插件的一个 Bug 有所抱怨。认识了做维护的同学。我把我自己对 bug 的 patch 提交了。就是个 js 的小程序,读起来也就是几分钟的事儿。嗯,在听取意见这件事儿上,有道的同学的态度比泡泡组的同学好多了。

我们一合计,就合计到另件事儿上了。想做个 XMPP 聊天群。当然了,想法早有,就是没实施罢了。花了几天,用了 prosody 和 xmppy 把个机器人整了出来,可以群聊了。不过这兴趣后来也就过了。

December 21, 2010

想要这么一个网盘

DropBox 已经满好用了。但是还是需要安装 client 的。能不能做一个不需要安装额外软件,且不依赖特定操作系统的硬件网盘呢?

长的像一个 U 盘即可。内置 wifi 。差在电脑上就自动连接网络服务。里面自己带一些 RAM 做数据 cache 。用户的鉴权分成两个:一是 wifi 的鉴权,二是网盘服务的鉴权。

最简单的方法就是模拟出一个磁盘来,让用户把鉴权信息写在上面。比如把 wifi 的 SSID 和密码。

网盘服务的鉴权还可以有另一个方法。就是在网站上由用户选择跟这个硬件设备绑定。(绑定时,从服务器传输 key 到设备上)

如果连不到网络,也可以做一个 RAM 盘用用的。

November 04, 2010

QQ 用户关系的迁移

最近网上最热的话题算是 QQ 和 360 的火并了。我不是 360 的用户,也没有装 QQ 的 client 。偶尔有朋友非要用 QQ 联系我时,我会用 web qq 登陆上去,收个消息,回复一下,然后就下来。我有个 6 位 qq 号码(曾经还有个 5 位的),04 年开始就不怎么用了。

在腾讯,我有几个私交很不错的朋友,对这家公司没什么恶感。唯一的一次是觉得他们不尊重 GPL 协议。所以这次这件事情也没啥心情观看。直到,QQ 居然封掉了 web qq ,用这种自残的方式参战,完全不顾用户的感觉。

我一直认为,做一家大的互联网企业是应该有更高的追求的。所以我喜爱 google ,他们以让信息被更高效的获取为己任。而作为中国 IM 最大提供商的 qq 呢?我想,更方便的让中国互联网用户相互联络应该是他们最高的追求吧。但是,qq 没有这个意识,这是让我最为失望的地方。

腾讯绝对有技术实力,按 XMPP 协议实现个互联互通的 s2s 服务。这能极大的促进互联网用户的在线交流。但是他们没有。这是我不喜欢这家公司的主要地方。而不是因为 qq 是我所在网易公司所开发的不争气的 popo 的竞争对手的缘故。

September 19, 2010

在新西兰自驾

请了个长假,放松一下。这几天在新西兰很懒散的闲逛。来之前就把车租好了。下了飞机是当地时间清晨,居然不困。由于背了个登山包,入关安检非常严,同行的同学夫妻俩一看就是来度假的,几句话就放过去了。而我长的太像背包客,盘查了半个多小时。

第一段路奥克兰到陶波湖的四小时车程是由我开的。一开始真是不习惯。老把方向灯打成雨刷,还有一次右转差点转到对面车道。不过过了几分钟就好了。出城的时候开错一条路,还好及时绕回来了。

全程路况非常好,一直保持在 100km 时速。没找到车的巡航功能怎么用,所以就手动控制的油门。几个小时下来居然都没碰过刹车。不过开了 3 个小时以后有点累。因为路太窄,几乎都是双车道的,老有拐弯,少许山路。路程又太单调了。加上有点 jet lag 。

August 28, 2010

记一个 Bug

今天周末,桌游店里却没客人,昨天打电话预约的朋友没来,所以我就奔到办公室测试上周写的代码。

上周的工作主要是设计了一个新的包格式,然后整合入前段时间实现的虚拟文件系统中。

这个工作和前段实现的 zipfs 有相似之处,所以做起来也很快。不过前面没仔细测试。今天比较闲,就设计了几组复杂的测试数据,感觉覆盖了各种边界情况。一测试果然发现了 Bug 。

这个 Bug 有点启发意义,所以在解决掉之后,决定记录一下。

April 07, 2010

筹码选配问题

大部分经济类的桌面游戏都需要 vp 筹码。每个游戏配的都不一样。有的为了降低成本,就是用薄薄一张纸,手感很不好。现代艺术的中文版用的纸板也远差于英文原版里的塑料片。

所以我想买 200 个黏土筹码,可以各个游戏通用,拽在手里沉甸甸的,玩起来特有感觉。

在网上搜了一下,看中一款。一共有 10 种面额。1,5,10,20,50,100,500,1000,5000,10000 。

我比较发愁每种应该配多少个,才能达到最大利用率。适应各个游戏。

小店开张了

清明节期间忙坏了。

本来没打算开张的,只是在筹备,随便写了几篇 blog ,算是预热吧。结果星期天就有一群朋友找上门来。没仔细问,但应该不是我的 blog 的老读者。似乎是有人转贴了 blog 连接,然后直接打电话找了上来。

这是一个意外惊喜,我以为除了几个同事,不会有新朋友来的。结果一高兴,把全场的茶饮的单都签在自己名下了。第二天这帮朋友又跑过来,嚷嚷着要开星际争霸。并且强调说,不准我再请客了。:D

March 15, 2010

我诅咒帮网易做 OA 系统的公司

据说公司的 OA 系统是买来的。不知道是谁做的,反正一刹那,我想把这帮人拖出来打一顿。好吧,我不够淡定。

一直以来,这套 OA 系统只支持 IE ,还需要装个 ActiveX 控件才能得到完整的特性。怨声载道啊。这也就忍了。https 的证书没配置好,每次都要求确认一下。我觉得吧,公司还不至于花不了这点钱弄个正式的安全证书。罢了,这也忍忍。

这两天做招聘面试的流程。我的面试记录是写在纸上的。辛辛苦苦的把几份都录入到 OA 系统里。然后电子流程走了一圈。因为到某个环节的流程错误,被退回了。

结果,我输入的面试记录全部被清空了 !现在要重新敲一遍。

March 12, 2010

感谢各位投递简历和参加面试的同学

昨天,我们工作室这次的编辑器一职的程序招聘工作结束了。

比我预期的时间和人选上都超过了预期。谢谢大家的支持。

原来我的计划是找到两个合适的人来做这些事情,但实际上,这次来面试的数十位同学中达到我们心目中要求的人远远超过了这个数字。我想我也是非常细致的做了这一系列面试工作的,每个来我们办公室面试的同学,都做了一个半小时到两个半小时的沟通交流。

直到最后,依旧纠结于在五六个合适人选中该如何选择。虽然我们最终多安排了一个职位,但还是很遗憾不能与各位想来我们这里的朋友在未来一起共事。

February 28, 2010

为什么一定要有密码?

以前写过一篇 可不可以只有密码没有用户名? 。里面提过一个让用户使用 email 做用户名,不设置密码的方案。今天想细化一下。

不设置密码有时候比设置密码,给用户的安全方面的感觉更好。因为,有些服务用户并不在乎帐户数据的私密性,也不在乎被人冒充。(比如在我的 blog 的留言,并不需要注册)要求输入一个密码,对用户反而是件很纠结的事情。用自己常用密码吧,若被服务商恶意记录的话,自己别的位置的帐户变得不太安全。随便选个新密码吧,很可能忘记。输入个简单的统一密码吧,基本行同虚设,跟没有密码区别不大。反而提供了虚假的安全感。这种安全感比没有更差。

而服务提供商在乎的只是用帐户名去标识一个用户,制作用户注册的流程,即费时,又费力,还提高了新用户进入的门槛。

我个人认为这样会好一些。

February 20, 2010

搬家

这个 blog 最初架设在我工作中管理的一台服务器上。感谢公司允许我这么干。(据说很多公司是不允许的)

前段时间,我管理的另一台服务器硬盘出了些硬件故障。据了解,这批机器已经超长服役,早该退休了。反正迟早要挪数据的,我就顺便自己租了个 VPS ,把 blog 搬了过去。

跟其它独立 blog 比,我已经很幸运了。因为机器在公司自己的机房里。机房管理人员都是同事,关系也不错。甚至曾经有段时间,他们中有几人还直接挂在我的部门名下,名义上是我的下属。

早几年刚刚要备案时,是同事转告我一定要去办理那些手续,因为有人查到我的主页挂的 ip 来至于公司的机房。我也很快办理了手续。后来几年,除了接过一个电话,核对我的备案信息,一直相安无事。

February 14, 2010

关于那个手穿玻璃

今天很俗的看了春晚。抱着本连着 wifi 上着推看的。

刘谦的魔术不错,最后擦玻璃的时候预感要表演手穿玻璃了。但是看到了还是觉得很神奇。

仔细想了一下,玻璃上应该有洞的。肯定这一点,就对一开始为啥弄个圆桌子坐一圈恍然大悟了。

玻璃应该是双层的,可以梭动。这样才能一开始把洞藏起来。这样一大圈,就方便藏那个洞了。只要玻璃干净,转得时候就很难发现了。借助表演者的胳膊掩饰,就可以把洞从旁边梭过来。

February 08, 2010

关于招聘

承蒙大家厚爱,到现在,我已经通过 email 收到了 21 份简历。不过两天时间就能收到这么多,而且看得出大家都是很热情,大多数不仅仅附了简历,还专门写了好多文字。还真是受宠若惊啊。

很不好意思,我只回复了两份,别的都还没有动键盘回复。一是周末在打游戏(平时实在没空),二是需要和同事讨论一下才有结论。我们工作室 11 号放假,10 号晚上办公室就没人了。也就这两天会比较所有的简历吧。

嗯,已收到的简历我都看完了(真是花了不少时间呢),明天会发给工作室其他写程序的同事看。我想若安排面试,就是年后的事情了。我们大约在 21 号正式上班。

请原谅我这个周末的懈怠。接下来我会尽力回复 email 的。

February 05, 2010

招聘程序员

今天发个不太正式的招聘信息:

我们这里工作室,需要招聘两名程序员。在未来至少一年的工作是:专职制作维护 3d engine 中的模型编辑器和场景编辑器。(每个一人维护)

要求:

  1. 熟悉 C 语言,或 C++ 。至少有一门动态语言的经验,lua 最好,python 或其它也可以。

  2. 能够全心制作编辑器(至少一年),最好有相关经验(非必须)。

  3. 有 3d 方面编程经验优先,但不是必须。需要有学习 3d 编程的兴趣和动力。

  4. 有任意一款 GUI 框架编程经验者优先。(例如 QT )

待遇方面,不会太高,但也不算低。所以特别牛的同学就免了,可能满足不了你的要求。就算愿意,我也心里不舒服。

完全抱着从头学习的想法的同学也需要考虑一下。我们还是需要有一点点经验的,不可能花半年时间慢慢培养到可以开始动手干活。(经验指:可以独立编写 GUI 程序)

有兴趣的同学可以给我发 email 附上简单的简历。

January 21, 2010

招行虽然烂,但至少可以用

招行的网银只支持 Windows ,这点不只一个人像我这样痛恨过了 。我想大家都是恨铁不成钢吧。

别的银行我也用过几家,也骂过。比如农行早几年取款难。每个季度我都去转工资,每次要排 3 小时的队。后来花了 100 办了网上银行,居然跨行转帐最长等了我一周。后来工资转发到招行,总算解决了问题。愤然去消户,跑了两趟银行,交通费花了几十,手续费花了十块(补交年费,还有把卡弄坏的挂失费等等)。

January 16, 2010

武汉的黄牛还是实在

周五请了一天假回武汉看 iMax 版 Avatar。听说上海不排一晚上是买不到票了。特地周四晚飞回家,周五起了个早去新民众。

中午 12 点 50 到的,一看,好家伙,买票的人排了一层从楼梯都排到楼下了。周六下午场都卖完了。正打算去吃个饭再来排队的。结果一黄牛过来,说要不要 13 点的。我一看表正好 12 点 55 。100 快一张成交。

不错,就是没吃中饭,爆米花充饥。

电影不错,iMax 3D 感觉是不一样。屏幕大,才有足够的纵深。坐的位置估计也满重要。反正我坐在中间靠后一点,感觉正好。

这部片子啊,就是看效果了。情节就那样了,但是设定很严谨。适合我们这样做游戏的人看。

January 09, 2010

随便写写

这些年来,经常会收到前些年写的那本书的读者来信。最近有些同学抱怨说买不到了,有的想让我寄一本。我只能说,谢谢,我这里也没有。估计,出版社也不会再刷了。如果真不想看电子版,可以去图书馆复印一本。其实写过技术类书的同学都知道,写书并不是件好差使,也绝对不可能靠这个赚钱。基本上,你投入的精力,是金钱上的回报远远不及的。真正的意义或许在分享了自己的知识,多交了几个朋友吧。

话说那本书,我自己是不太满意的。04 年写的时候,基本只能总结 03 年之前的一些东西,还差许多火候。写完之后,我给自己打了 70 分,慢慢的,觉得有 60 分就不错了。勉强及格吧。

December 25, 2009

最近玩的几个游戏

上周末去上海参加了华东桌游嘉年华。

之前在杭州赛区赢了几个项目的预赛,拿到入场卷,所以门票就免了。最后以至于票多出来都没人要了。

赛场是在一个 LOFT 里,上面透风。同去的 A 同学的女朋友一直叫冷,我觉得还好,把外套借出去了。没想到感冒了,差点失声。估计另一个原因是我讲太多话了。

我在第一场现代艺术预赛里拿了5人组的第2。没得到第一纯粹是被一个不会玩的 mm 害了。然后去参加电力公司的复赛。由于时间太长,只好放弃了现代艺术的后续赛程。一开始有点可惜,后来听 A 同学讲述了半决赛经历后,我认为我们都没戏争夺冠军的。

December 24, 2009

不要像小贝那样学习C++

小贝

今儿在 google reader 上看到有人推荐这篇文章,谈学计算机的问题。

上面的图是转过来的,《蜗居》第24集3:30秒截图 。这部片子同事前段 copy 给我,带在旅游的路上看的。我也就打发飞机上的时间看了一点。据说很火,但是跟我没什么共鸣,也就没啥欲望看完。

话说,《大规模C++程序设计》这本书,就胡乱翻过电子版的几页吧。算是本不错的书,可惜我对 C++ 失去兴趣已久,不太想读了。但就我读到的只言片语来说,这本书更多的是对 C++ 的友好批判。其实是很适合 C++ 中毒的程序员去读的。

正如引言中所述:”与主流观点相反,从根本上说,最普通形式的面向对象程序要比对应的面向过程的程序更难测试和校验。“

October 27, 2009

关于RSS阅读器的一些想法

昨天在北京,去 douban 的同学那里蹭饭。youdao 的同学也在。

席间,我们谈及了 youdao readerdouban 9 点

我个人是 google reader 的忠实用户,就和许多 qq 用户认为,他们无法更换 IM 的是因为建立在 qq 上的社交群。我也承认,短时间我无法从 google reader 迁移到 youdao reader 。因为我实在是太依赖 google reader 的 friends share 帮我节省的大量时间了。

当然,这并不妨碍我给 youdao reader 提出我的建议,希望他们可以做的更好。去年用 email 写过一次,昨天在飞机上又想了许多,下了飞机便又给 zhoufeng 同学写了封 email ,整理了我的思路。

况且,说到用户迁移,我曾经使用 qq 五六年,在上面认识了众多好友,其结果是,我还是很自然的在 5 年前逐步放弃了 qq 。别轻易下结论说不可能。

October 01, 2009

做了一张壁纸

tifa

放假了。

我的本的桌面分辨率是 1600x768 ,壁纸很不好找。所以从 google 上搜罗了点素材,自己做了一张。今天算是正儿八经的用了一次 GIMP ,还不错。以前对这玩意老没有爱,感觉手感非常差,许多细节都考虑的不好。我从 Windows 3.1 的年代就开始用 Paint Shop Pro ,(注意:不是 Photo Shop,谁让我先接触的前者呢)。比如我喜欢它的滚轮随时缩放图片的设计,总是能把鼠标位置的图象区域居中。在 GIMP 里缩放是学的 PS 的操作方式,但一不小心,操作者关心的热点就飞了。或者是我还没适应用它吧。GUI 软件的小细节也的确不好调。

September 20, 2009

关于 taobao 首页的迷惑

前几年,我一直挺反感 taobao 的。因为到处都是广告,而且是很恶劣的弹出式。最近一年,发现有些东西还真得在 taobao 买,也就慢慢接受了。其实不是一开始如我印象般的差。

最近有个疑惑:为什么 taobao 的首页导航,购物车,收藏夹等等在左上很明显。而"我的淘宝"在不对称的右侧广告条下。每次都多花 5 秒以上定位。

把广告条插在导航条的中间,真有创意啊。

August 01, 2009

捣糨糊

这两天完成一个新需求,需要维护以前一个同事写的代码。

前几天花了一天时间读代码,好不容易都看明白了,感觉真是一团糨糊啊。苦不堪言。

要在以前设计的接口基础上增加新功能,我觉得是件非常违背我的美学的事情。如果就这么干下去,我会做噩梦的。所以一咬牙决定重构。好在是比较底层的代码,只有中间层调用这些接口,和上层无关。

大约删除了 2000 多行代码,重写加上新实现的功能,用了 900 行左右。接口数量,加上新加的接口,总数减少到原来的一半。

另外修改了调用这些接口的大约 30 个源文件。昨天晚上完成的时候已经是一点,似乎都眼冒金星了,才把整个工程编译通过。

今天战战兢兢的测试两天闷头赶出来的战果,上午居然一点问题都没有,让我心虚的很。下午找到一个 bug ,稍微安心了点。晚上解决掉提交了。终于舒心了许多。

June 22, 2009

近日小结

项目进入一个比较繁忙的阶段。广州先后过来 5 个很有经验的同事一起做开发,各个方面都有条不紊的推进。让我轻松了许多。至少,我有更多的时间,专心写程序了。

目前,自我调整为一周六天工作,每天提早到上午十点半上班,并坚持在晚上两点前回家。维持了一个月后,感觉生物钟有所调整。周末也可以真正的谈的上休息了。

最近两个月居然去了三次电影院,如果不出意外,这周还要去一次看变形金刚。若放在半年前,我是无论如何没有这个兴致的。

新来的同事居然对抱石有兴趣,经过简单指导,已经有明显进步了。我的手指伤也好的差不多了。希望下个月的比赛可以去观摩一下。

另外,我们又多了几个桌游爱好者。前几天开了一局冰与火之歌,加了第二扩展,感觉很有意思。这两天订了一套 small world ,想必这种入门级的游戏可以更多吸引新人。可恶的是,RFTG 的第二扩展继续跳票。

May 05, 2009

今天遭遇太好笑的房东

前段工作太忙,有天中午停水,我开了水龙头见没水忘记关,结果水淹了洗手间。地漏不畅,所以漏水到了楼下。

晚上晚饭时就接到楼下邻居愤怒的电话,急忙从公司奔回家看。看人家家里到处是水,心有不忍。也是想把事情早点解决掉,最后当晚提了一万元作为赔偿。

老实说,按实际损失(楼下家里并没有怎么装修),我心里价位也就是 3000 块最多了。只是我自己犯了错误,感觉对不起邻居,说赔多少就爽快的答应了。大家还是合合气气做邻居。这段时间进进出出,还笑着打打招呼。

没想到这房东不乐意了。觉得我工资卡上的钱是天上掉下来的,说拿就拿出来。成天想着让我也给她一点。理由是地板被泡坏了。老天,水是从洗水间直接漏下去的,顺着楼下那家的天花板滴的满屋子。

我们家当天,客厅地板一点毛病都看不出来。这么多天下来,地板也丝毫没有异样。

我这人就这毛病,是我的责任,我绝对不推卸,无中生有的事情让我去承担,那就没那么容易。

March 29, 2009

这两周做了好多事情

今天写周报时,还是老样子,记记流水帐。努力的回想本周做了些什么工作,写着写着就发现居然干了如此多的活。许多事情仿佛都是很遥远的日子前做的了,但是却又明明白白可以打上星期几的标签。

这两周居然阅读和修改了超过万行的代码,原创的代码好几千。琐碎的事情也干了许多,白天大多数时间用来处理行政上的事情以及坐在同事身边陪着人写代码(不算 XP)。晚上就写自己的。周末的连续时间更长,也写了更多的东西。

觉得自己新领悟了许多道理,虽然以前似乎就懂。

还是应了那句老话,实践出真知。

February 05, 2009

今天许了个愿

晚上想起来去买蛋糕。开车过去,带上了两年来公司发的蛋糕卷累计共 RMB 200 圆。路边不方便停车,所以到蛋糕店了胡乱快速点了一圈,打好两大包一算,刚好 200 块,一分不多一分不少。貌似已经是第 2 次发生这种事情了。难道我潜意识里对数字特敏感?

晚上办公室人比较多,加上新年第一趟抱石的,消灭一个 9 寸的蛋糕那是相当容易。

许了个愿,希望在今年内可以实现。

December 28, 2008

关于词典软件

从去年开始关注 Erlang ,我们组里已经有三个同事学习了好长段时间了,并有一个同事有实际的项目经验。前几天的 erlounge iii 我们有一个人过去听,回来后滔滔不决的跟我又咕叨了许多,这使得我周末突然有兴趣仔细读读 《Programming Erlang》这本书了。

btw, 原来打算去上海参加 erlounge 的。正好那个周末我们北京机房挪地方,导致我的域名解析服务器更换 ip ,那是件麻烦且必须快速处理的事情,迫使我留在办公室哪都没去。

网上订了一本《Erlang程序设计》,要到下周才送到,那么就先下载英文电子版研究一下了。

嗯,不过这篇 Blog 不打算写 Erlang ,只是谈谈电子词典软件的问题。

December 21, 2008

在亚龙湾晒太阳

椰树林吊床 过去的一周非常的腐败,很奢侈的把一周时间漫无目的的荒废在海滩晒太阳上。不过这几乎是我出生以来,唯一的一次全家外出旅游度假,所以对于那些流逝的时间,不仅没有丝毫的负罪感,还足以留恋。

December 14, 2008

离开工作的 12 月(三)

话说这次 SD 大会,关于组织方的抱怨声音明显比去年多。不过我个人认为还是满成功的,讨论的气氛比去年好一些(去年也不错)。只不过去年是第一届,CSDN 花了更多功夫(同时也欠缺些经验)。去年的 SD 大会后的几天,还有一些私下的沙龙,今年就没有了(或者我不知道)。

第一天的抱怨最多,因为在九华山庄那个鸟不拉屎的地方,四周什么都没有,院子里的方便面都比外面贵上一倍。会议又是中午开始,不管大家的午饭,很多人是报道完,饿着肚子去听的。会场第一天的大屏幕上小一半都是对没有午饭的抱怨。我估计是赞助商太多,议程安排的太紧了,时间稍微一拖,下面就叫苦连天。我调侃了一句“ CSDN 快餐事业部祝大家吃好喝好”没有显示出来,估计被人工审核墙掉了:)

不过后来 google 的人上台卖他们的手机操作系统,强调开源时,我挖苦了一句,“ Chrome 都开源了,咋就还没有 Linux 版”,居然被讲台上 google 的同学看到了。他告诉大家,Chrome 的 Linux 版和 Mac 马上就要出了。这也算是个意外收获的好消息吧 :)

离开工作的 12 月(二)

到北京前一天,在 taobao 上买的几套桌面游戏到货了。我拿了一套便携的卡片带在身上。中文版的《银河争逐》(RFTG : Race for the Galaxy) 。

花了一个晚上,学习了几个新游戏。RFTG 的规则有点繁杂,虽然是中文版,我们第一次接触这个游戏依然花掉了超过一个小时熟悉规则。初玩这个游戏时,老实说,有些失望。这跟我更喜欢有游戏板和小模型的桌面游戏有点关系。纯卡片类的除了便携(RFTG 的包装盒太大了,为此我自己做了个小盒子可以带在身上),就没有更多竞争力了。

离开工作的 12 月(一)

年底应该是工作比较繁忙的时段,但与我并不成立。似乎对于我来说,现在是几月,星期几,几点,似乎没有太大意义。好好做事,累了就休息,这样就够了。那么,在这 2008 年的最后一个月,几乎远离正职工作,也就不奇怪了。

上周开始就在北京,参加 CSDN 的 SD 2.0 大会。然后又在北京逗留了几天,是利用的年假,酒店的费用也是自己掏的腰包,除了拜访一些朋友,也没干太多事情。

所谓 SD 会议,从这次的议题重点:那虚无缥缈的“云”来看,对我的吸引力不大。事实看来也如此,会场上对这个真正有兴趣的人也不算多,相关的 session 远不如去年的热门火暴。我看,大多数人参加 SD 大会,主要目标是多认识些朋友多多交流为主了。第一天就被猎头公司的人递名片感觉很寒,尤其是,对方似乎对正在聊天的我们几个人一无所知。

November 28, 2008

感谢九城,以及诸个中国网游上市公司

自从我有了一小笔网易 (NTES) 的股票后(执行期权所得,并且为此上缴了 40% ~ 45% 的个人所得税),美元就一直在跌。从当初的 8 块多一直跌到现在的 6 块 8 。虽然我这人没啥钱,但也不愿意看见自己银行里的钱贬值。我又没啥多余的精力去理财,只好选择了长线投资股票,"投资" 那些我熟悉的公司。

首先要感谢九城,去年 TBC 他们一直搞不定,我就萌发了做空 NCTY 的念头。我觉得这是一个比较稳当的长期投资,卖空价位是 40 到 45 美金左右。

其次是新浪,我觉得我从来不用新浪的服务,他们的服务也没见得多好。为啥每个季度财报上还有那么多收入?看着新浪的头儿一个接一个的换,不像能稳定的样子。这让我很难理解。我在 33 到 40 之间做空了 SINA

然后要感谢这次金融危机,让我觉得即使是我这个根本没多少时间分心去关注股市这种无聊东西的人也可以稳定的获得收益。我选择了另一个不太能理解的高价位股票 SOHU (搜狐) 。那几天,我对他们高达 80 股价很不以为然。当然直到金融危机开始后好几天才醒悟过来,其实这是个好机会的:在 55~60 的位置卖空了 SOHU 。

November 10, 2008

今年的 SD 2.0 大会

今年的 SD 2.0 大会据说还是在那个荒郊野外的九华山庄开。我们这里一个打算去的同事都有意见了,好不容易去趟北京,连六环都没进去。

前段时间孟岩让我准备一下,我想不出啥好玩的题目。后来就想聊点基本的东西,也是最近两年开发中纠结了很久总结出的丁点经验吧,有关内存管理的问题。

主题是关于:用 C/C++ 构建的系统,在内存管理这个层面,如何促进系统的健壮性和性能。session 的题目最终被命名为:高性能健壮系统中的内存管理 。有点绕口。

这两周一直很忙,直到前两天搜到今年大会的课程单 才发现,原来我的题目跟大家的相比,还真的老土了 :) 我想有点违背所谓 2.0 的宗旨。或许在十年前讲这个问题,感兴趣的人会多一些?呵呵,无所谓了,开会主要以交朋友为主嘛。

November 08, 2008

不要拒绝学习

在 9.douban 看到一篇 blog :最节省时间的方法——学习 ,深有同感。

学习是多么奇妙的一种经历啊,无论是从过程还是结果来看,都是这样。我想说了,这篇 blog 里都说了,务须重复。

对于那些被我自己挥霍掉的时间,总是有一种负罪感。所以我把零碎的时间收集起来阅读,寻找更高效的方式吸收知识。再把整块的时间划分好,去做些可以提高和消化这些东西的事情(所谓学和习吧)。这就几乎是我目前生活的全部了(当然,学习的对象不应仅仅包括某种技能)。以至于我觉得学习应该是人的天性,人的基本需要。

说到 在学校里读了许多年书的最终结果 ,我倒是在离开校园的时候也偷偷发了个誓,那就是再也不接受任何形式的考试了。最终违背了一次誓言,通过考试拿了个驾照。

之外,我对学校倒没有特别的厌恶。毕竟是在那里,我学到了我所拥有的知识中最根本的部分。

October 24, 2008

听说支付宝已经可以在 Linux 下用了

前段时间听说支付宝可以支持 Windows 下的 Firefox 了,我就正式注册了一个支付宝帐号,用了一回淘宝。虽然我现在的默认浏览器是 Chrome ,第二选择是 Opera ,但不妨碍我装一个 Firefox 在机器上。

由于前几年,淘宝那种近似流氓手段的,铺天盖地的弹窗广告,一直对淘宝没什么好感。不过今天看到:支付宝已支持 Linux 下的 Firefox,不由得生出一些敬意。

话说回来,既然用户不用 Windows 了,所谓安全控件又有多少意义呢?反正我在海外的银行帐户,什么浏览器都可以登陆,也没见啥安全控件。

btw, 该死的招商银行网银专业版,什么时候可以去掉那些白痴的所谓安全保障啊?

October 20, 2008

周末野攀

周末去参加2008华东户外攀岩嘉年华,特意起了早床,不容易啊。在 google map 上查了路线,但是开车过去还是差点迷路了。鉴于我已经一两年没怎么爬了,很无耻的报名参加新人组。但是……,翻屋檐的时候还是可耻的失败鸟。

话说,右手那个手点实在是太小啦,身高太高,上不了脚点,靠那个小揪揪实在锁不住啊。

不过好在没垫底,嘿嘿。

晚上烤全羊没参加,人太多了。拉了几个岩友去玩桌面游戏。

August 13, 2008

最近太不小心

前天晚上做深蹲练习,做了两组感觉不太对劲,改做腿举。后来又换了几个器械练习大腿。可能是练过了,一开始回办公室的路上没觉得有什么,在公司冲了个淋浴然后回家。结果在办公楼前的小台阶上膝盖一软跪到地上摔了一跤。

心里暗暗嘲笑自己这么没用,想当年做深蹲,一百多公斤几十个的做都没问题,如今怎么这么快就脱力了。幸亏胳膊还有力气,回家那三层楼就靠手这么拉上去了。

原来以为睡一觉起来就会恢复的,结果昨天一起床坐在床边居然站不起来。勉强用手撑起来后,一下没站稳又坐到地上了 :( 等再次站起来,很小心的小步走到厨房弄吃的。走顺当了不免得意忘形,步子迈大了一点,膝盖一弯就跪在了地上。

这下够惨的,周围没啥支撑物,胳膊在摔倒的时候还被蹭破了。在地上躺了两分钟,冷静了一下才想了个方法支撑起来。接下来不敢大意了,扶着个椅子在屋子里移动。

August 07, 2008

人不可貌相

昨晚从健身房出来,去找地方觅食。路上碰见一小孩儿问路。满口长沙口音。虽然我毕业有点年头了,可还会说那么两句长沙话。饶有兴趣的逗了小孩子几句。

小孩旁边有一年轻人,看起来跟我一般年纪。我说道,幸亏我在长沙读过书,不然这当地人多半听不明白。

接下来的攀谈得知,这家伙居然是我的校友。其实我挺不好意思认校友的,因为在学校那几年,学业几乎荒废掉了,尤其怕人家跟我提某系某教授老师,我是一个都记不得了。(当年几乎没上课,怎能记得名字)

还好,大家只是交流了一下学校里的老建筑以及宿舍楼。他突然问我一句,那你现在毕业了吗?我大寒,在下毕业已经有八个年头了 -_-

“我 92 年毕业的”

……

亏我一直以为遇到个师弟。

July 14, 2008

周末

这个周末尽力的离开办公室,离开网络,离开计算机。

今年第一次逛超市(似乎去年也没去过),买了点吃的。离开零食很久了,都不知道没什么好。

看了一场电影,当然不是《赤壁》。因为听说很雷,我怕被雷到了。所以我选择了《功夫熊猫》。

去剪了头发,很久没去理发了,开叉的许多,修理了一番,不过没换发型。当然我从来就没换过。

想约人吃饭,但这好象很不容易,想必周末大家都有安排吧。

开车去玩桌游,一路上很顺利,居然都是绿灯。这次尝试了几个新游戏。《电力大亨》不错,设计的很精巧,规则也不复杂。不过另一个《吸血鬼》,让我啃了一个半小时的规则书硬是没弄明白。本来想尝试一下另一个二战的游戏。老板说,还是等下次吧。早上过来,估计到吃夜宵的时候可以完成一局的。

我想我会试试,就冲着那满地图的塑料小兵人了。

July 10, 2008

闲扯几句

最近事情比较杂,所以没心情写 blog 。

travian 玩了一年多,终于快结束了。奇迹修好就解脱了。这个游戏教了我许多设计思路,并展示了一些问题,需要好好盘点一下。

这两天有人问我,为啥我玩了二十多年电脑,眼睛就不近视呢?这个问题好多人问过了,我也想过好几次,终于有了个结论。就是因为我从小玩电脑,所以才没近视的。

道理其实很简单啊。这么多年,坐在电脑前,干的最多的事情是写程序。这当然不同于大多数非程序员的电脑使用者。非程序员用电脑,需要眼睛需要专注的看屏幕,是屏幕对人体的信息输入。而写程序是个相反的过程,是人体对计算机输入,基本是在用脑而不是用眼。眼睛自然没那么疲劳啦。而正是从小到大坐在显示器前,电视也没怎么看。当然比那些小时候泡在电视前的小孩子们把眼睛保养的好啦。

June 02, 2008

推荐一下 bbLean

我知道很老,但是大家不要说出来 :D 推荐一下 bbLean ,玩了一下午加一晚上,已经调整的很满意了。一开始不太习惯,后来调好了(操作习惯可以调成和标准 windows explorer 一模一样的)就很方便了,而且插件很强大。

如果还需要一个 Explorer Replacement 的话,freeware 似乎只有 xplorer² lite 可以选了。还凑合吧,就是需要自己改注册表才能替代掉 explorer 来打开文件夹。

全部整好了后,重启系统,发现启动时间明显缩短了。

May 14, 2008

无言

这几天估计所有中国人都在关注一个共同话题。大家都自发的想做点什么。这两天谈论的太多,反而不想写啥了。

转个公司的内部公告:

心系四川灾区 员工募捐倡议

各位亲爱的兄弟姐妹:

看着四川地震灾难的图片,您一定已经默默地流过了泪,我们感受到了你的爱心,更加感受到了灾区人民的无助,是苍天无眼,但身为中国人,我们是一家人。现在就伸出您的双手,拉上身边的伙伴,虽然我们不能亲自去安慰他们,但我们一样可以支持他们。

已经三天了,全国上下在不断的献出爱心,现在就尽上我们的绵薄之力,去支持他们活下去,去支持他们重建家园。"家"是美好的,但他们失去了,就在一瞬间……让网易的全体员工,积极行动起来吧,让我们的爱去温暖他们受伤的心灵!

昨日公司已率先向灾区捐款500万人民币,并将视灾情考虑追加捐款。

同时,网易四地:北京、上海、广州、杭州今天中午12点起将开通"心系四川灾民--员工捐款箱",接受员工现场捐款,捐款时间截止2008年5月23日(下周五)18点。

此次募捐,因人力原因暂不接受物品捐物。所筹得四地捐款将与公司的捐赠集中统筹使用,灾区重建时公司将委派专人赴灾区,根据实际需要合理使用善款。

现在开始,请擦干心中的眼泪,勇敢些,让我们陪着他们一起努力!

天亮了,我们相信,有我们的爱心,明天会更好!

四地捐款地点如下:

(以下略)

May 09, 2008

写了个简易的 web server

根据昨天留下来的思路 ,我今天做了个 web server 。只用于给本地程序做配置界面用。

这个想法其实是以前用 google desktop 时明白的,gds 和 google 很多桌面软件都用浏览器做配置界面。其实就是自己做了个简易的 web server 而已。我也不需要太多,支持 GET 即可。仅监听本地端口,本质上没碰网络。windows 都不会弹安全警告。整个代码用 C 写的,才 200 来行。

做成了 lua 的一个模块,require 进来即可用,很方便 :) 再用上点 ajax 技术,操作感也不错呢。

April 20, 2008

我的 20% 时间

据说 google 有个 20% 时间,员工可以在本职工作之外,拿出一些时间做点有趣的东西。我和一些朋友讨论过这样做的意义。我想,正是程序员尤其是好的程序员不好伺候,当他们不为了物质利益去工作时,也只好想些“歪招”了。做点有趣的事情,学点有趣的知识,可以让工作更带劲点,老板看似为这 20% 时间多掏了些工资,而实际上,促进了另 80% 时间的工作效率。况且程序员的效率可以天差地别(包括同一个人在不同的状态时的),一不小心就赚到了。

虽然我自己不承认,但是客观的说,这半年看起来工作压力有点大。很明显,我把前几年坚持的健身活动停掉了,室内抱石基本没碰,户外攀岩就更别提了;很久没有骑自行车远行,桥牌没打、围棋没下,杀人游戏提不起兴趣,前段时间玩了次 OUAT (不明白的同学自己 google ),事后也觉得太浪费时间而没有继续。

老妈昨天来信(贴了一块二邮票的平信)千叮万嘱注意身体,我却不小心又在上周通宵了两回。好吧,等项目做完,一定好好改改作息时间,恢复每周 5 小时的身体锻炼。争取再谈个女朋友,执子之手,与子偕老。

不过,那也是项目做完后的事情,不是吗?年轻嘛,再奋斗个一年半载好了。老爸四十出头的时候还把床搬到办公室几周几周的不回家一个人在单位写程序,想必是遗传 :D 我这儿还有一帮子兄弟跟着呢。

跑题了。其实我想写,虽然我现在是七天工作制,但是到了周末还是弄点有趣的东西玩玩的。2/7 其实远大于 20% ,只是借 google 的 20% 说事而已。下面随便写写周末玩的些小玩意。

April 18, 2008

招行的系统测试过吗?

早上收到一条短信,招商银行发的,说是给我的信用卡信用额度上调。附带邀请我给慈善基金捐款。

上次在网上看见招行的广告,在网页上募捐未果。(招行的那个募捐页面似乎只支持 IE ,我尝试了 opera 和 firefox 后作罢)这次看见回个短信就 OK ,按提示输入了个 Y100 回复,打算捐个 100 块试试。

结果答复却是“查询码介绍:……”,分明是不认识这个捐款指令 (._.!)

唉,让我说什么好。估计是系统还没测试好就上了吧。而且使用它捐款的人太少,失败了也没人抱怨,也就得不到用户反馈了。

虽然国内的银行我只用招行的,招行在许多方面也的确做的比其他几个大银行好。但不得不说,有时还是有点恨铁不成钢的感觉。回想上个月招行的客服电话回访,让我提提意见,我也就说了一条,让网上银行支持非 IE 非 Windows 平台吧

April 03, 2008

记录几个近期碰到的 bug

自己的代码若出了问题,大多数情况我会重写。只要模块划分清楚,设计做好。重写的部分都不会太多。但是别人的代码出问题的话,很多情况下,就只能硬着头皮耐心找了。这就是我这几天的境遇。

前几天我们一个系统更新升级,在公网上一直不太稳定。这次产品上线有点仓促,不过也是内部测试过的。一直没碰到什么大问题,而在公网上情况毕竟复杂的多了,而且排错的压力也比较大,毕竟为玩家服务的程序,公布后就不能随便停掉收回来。这就依赖热更新,在运行期间查错了。

先说昨天晚上让我弄了一通宵的 bug ,留个记录,对以后可能出现类似的问题起点警示。

March 20, 2008

还真是休息不下来

前几天请了三天年假,想放松一下。周一去周边逛了一下,没觉得有多大兴致。到周二就发觉无聊了,摸到公司看了看。

发现上周发现的一个 bug 还没人解决,跟同事商量着把问题解决了,大约消耗了一个多小时的时间。然后又整理了下新近写的东西的文档,把下面的任务布置了一下。当下决定最后一天年假不休了。

提前一天上班感觉很好,写程序满有意思,就是原来觉得很无聊的文档工作也比闲着有聊的多。

btw, 我们这里有位程序员离开了,劝说他离开的。毕竟每个人都有适合的工作,都有不适合的工作。管理团队确是件复杂的工作,比管理程序项目难。也有挺多东西想写写,却又拿不准要不要写。

另外,又收到两位朋友的简历,我暂时还没时间仔细考虑,请多多包涵。这几天很忙,真的很忙。

February 14, 2008

没有情人的情人节

祝天下人今天快乐。

其实我不想以讹传讹,只是选个浪漫的日子纪念程序员日。还没找到情人的程序员们,不必把计算机当作情人,也应该在今天节日快乐。

最后,说个冷笑话。

相信爱情。

真的。

February 07, 2008

春运

回家有几天了,特别忙,就没心思写东西。今天初一了,坐下来想想往回赶的那两天的经历,心有余悸。

今年南方遭遇雪灾,恰巧赶在春运,这天灾也就抵不上人祸的威力了。当然不是说年跟前往家赶的人们有什么不对,只是想说这人的因素才是混乱的根源。

这次公司提前放了假,我三号下午就启程回家。那天大雪已经停了,驾车去机场的路上都还顺利。稍稍有点堵车,不过路面的积雪清理的很干净。出了太阳,有同事送我,帮我把车开回去。心情很不错。

到了机场一看,倒吸一口凉气。怎么像火车站似的,人山人海。不少人席地而坐,地上满是垃圾。站着的人拥挤在候机大厅里,朔大的电子公告牌上一片红色,似乎所有的航班都 delay 了,另有几班被取消的。

February 01, 2008

受不了 spam 了

最近一段时间本 blog 的留言 spam 特别多,MT 默认自带的那个 anti-spam 插件不顶用了。今天 google 了一下 MT 插件的大概写法,登陆上服务器用 vi 临时写了个简单的插件。万一过年期间我不能上来清理留言的话,希望这个插件可以阻止 spam 泛滥。

大家这段时间留言时麻烦做一道小学数学题啊 :) 为了防止有读者忘记了怎么计算加法,我把答案也公布在题目后面了,只管照着填。记住要写阿拉伯数字,填汉字数字无效。如果你有注册发言,可以略过这一步。系统会优先承认注册登陆用户的评论。

等过完年再想想换个方法对付 spam ,尽量不降低用户体验。如果找到好方法的话,大家就可以放心订阅留言的 rss 了。

ps. perl 的语法真怪异。

January 29, 2008

辟谣

今天在 popo 上有则可笑的消息传播开,居然连刚离开公司的同事们也将信将疑。鉴于过往的一些事情,我想对于澄清谣言还是及早做点贡献比较好。

关于今天坊间盛传的“传网易人事变动:丁磊将亲掌游戏业务”这则新闻,提到 dingdang 将离职的消息,完全是一则谣言。

圈内的朋友也不要再来向我求证了。我这人从来凭内心说话,大家可以不认同我的观点不相信我的判断,但绝对值得相信我这个人。至于散布谣言的所谓“知情人士”是何居心,这里就不妄加揣测了。

January 17, 2008

给大家做个交代吧

这几天收到了很多朋友的 email ,许多朋友附了简历。非常感谢大家的信任。因为大家都花了心思写 email ,所以我也很努力的回复。和一些朋友做一些交流。不过毕竟精力有限,可能还是无意中怠慢了一些朋友,这里一并说一声抱歉。

加上前几天感冒了,大约花了一周时间到今天才基本转好。身体不太舒服的时候,人也懒懒的。拖到今天终于把人选定下来了。要知道,做选择总是件艰难的事儿。很想和大家以朋友论交商量这件事情,以朋友之礼婉拒大家的盛情。我想我也是这么在做的。

毕竟我们这里只是一个小团队,暂时也不想扩张的太大。前几年给公司做技术招聘的时候,我们一下子从高校毕业生中招了上百个程序员,至今还有消化不良的感觉。不能让每个人都发挥出自己全部的能力时,埋没人才是极大的浪费。

January 15, 2008

随便写写

最近把 Asimov 的《基地》系列中,正传三本看完了。算是补课也好,没有辜负我专门去邮购这些书。买书真是件奢侈的事儿,以前是因为书贵,现在是因为时间和精力。

初翻此书,没有我当年期待的那么好。在那个没有网络的年代,读到这些科幻名著是件很难的事情。Asimov 也被神化了,这里面老爸对此亦有贡献。在我还刚认识几个字,是本书就想拿来读的年龄段,他就向我兴致勃勃的介绍 Verne ,Asimov 。弄的我小时候以为这两个就是世界上最伟大的作家。

不过,把这几本读完后,也不算太糟糕。或许有些翻译质量的不适应,故事还是高潮迭起的。毕竟是数十年前的科幻了,幻想中的科学总有那么一点怪怪的。当我在第一本中看到“电算板”时,心里只有一个念头,这不就是笔记本电脑么?功能好象还抵不上我现在用的 palm 手机 :)

抛开想象中的落伍科技之外(YY 方面自然比不过如今流行的玄幻小说),情节方面的构思还是颇为引人入胜的。即使许多情节的设计以今天的眼光看来不算新鲜。但我们应该考虑到这么多年来,总有新的作者不断仿效加工,才使得我们有了审美疲劳。

总之,向没看过的此书的科幻迷推荐一下。

January 08, 2008

163 邮箱终于支持 opera 了

每当同用 opera 的朋友问起我们公司的各种 web 服务时,我都很惭愧。做为网易的老员工,居然无力推动各种 web 服务对 opera 的支持度。以前还只是一个页面美观度的问题,后来 ajax 的流行,干脆许多东西都用不了了。

其实,在支持 opera 这个方面,我已经很卖力了。抓到机会就在那些同事的耳根子底下叨叨,直到他们怕了我 :)

一些简单的活,我倾向于自己来做。比如去年帮 URS 的页面抓到了几个 opera 下的显示 bug (HTML 写的不标准造成的)。popo 对 opera 支持的不好的问题 现在也官方解决了。

但是,更多产品更全面的支持 opera 还是需要大家的努力。今天,终于发现邮件组的同事将产品完美支持 opera 9.25 了(以前用 opera 登陆 web 邮箱,需要选择非 ajax 的界面,而不能用极速版)。这下终于敢对人说,网易电子邮箱 是国内做的最好的了 :D

感谢大家

承蒙大家信任,这两天收到好多邮件。比我预期的多,非常的高兴。我相信各位朋友是真诚想一起共同做一件有意思的事情,看的出来,很多人都是自己圈子里的高手。相信也是各个猎头公司的重点目标。许多人都没有事先准备好的简历,直接冲着我的这篇 blog 而来。

因为我是真诚想个合作伙伴,所以这次收到的邮件,都不会按以前的惯例转发给公司其他部门。毕竟,我不想利用私人 blog 给公司发布招聘广告。每封邮件我都会站在朋友立场认真回复的。

January 07, 2008

想找个朋友

这两个月我为我们小组申请了个名额,可由于诸多原因,来来去去几个人都没能长期留下来。总觉得有点遗憾,想把这个空缺补上。

在 blog 上发告示好象挺俗的,可是这两年闭门造车,没积累多点人脉,也只好出此下策了。可能我的要求还有那么一点点高,公开场合下写下这些,也担心被人唾骂:又想马儿好,又想马儿不吃草。毕竟,我还是想找多一个志同道合的朋友,一起把游戏做好。要求也会是相互的。

OK 。正经点说,我们谋求一个伙伴,大家一起做一个与众不同的网络游戏。目前引擎的基础构架已经完毕,但还有许多工作需要在项目开展期间完善。游戏的设计案已经基本定下来,有了个大家确定可以完成的蓝图,但尚未细致的文挡化。

希望能找到一个朋友,真心喜爱游戏,有积极向上的人生观,想自己参与到一款并非抄袭现有模式的网络游戏制作中来。暂时我们只想增加一个人,目前不考虑专职策划人员。希望这个朋友是程序或美术的身份,并可以提供自己对游戏设计的想法。

December 17, 2007

个人主页发布十周年纪念

十年前的今天: 1997 年 12 月 17 日,我将主页的第一个 html 文件上传到了网易的服务器。有留言本为证 :)

我没有特地记住这个日子,但是在今天回复留言 的时候突然想到了维护这个网站已经差不多有十年了。查了下最早的留言,居然就是今天。

可惜我再也起不了那么早了。十年前那天,我起了早床,逃课去全校唯一对学生开放可以上网的机房占位置。由于不准携带软盘,不能在寝室把主页事先准备好。在网易申请了个人空间后,我现学现卖写了几个 html 文件上传。

看那条自己留言的记录,大约是早上九点。机房是八点开门的。也就是说,主页的第一版大约用 notepad 写了一个小时。可惜没保留截图。否则可以怀旧一下的 :)

December 16, 2007

胡思乱想续

接着昨天的写。

昨天谈到了对象生命期管理的问题。我们来看操作系统是怎么管理资源的。

对于资源的集合体,操作系统抽象出进程的概念。每个任务可以向系统索取资源,操作系统放在进程的集合内。进程在,资源在;进程死,资源收回。从操作系统看出去,一个个对象都是独立的,不用理会相互的依赖关系,有的只有对象 handle 。收回这些对象的次序是无所谓的,跟发放他们的次序无关。

这里比较重要且特殊的是内存资源,操作系统其实不直接发放物理内存给用户,用户看到的只有虚拟地址空间。真正分配出去的是地址空间。而且空间是按页分配的,到了用户那里,再由用户自行切割使用。

这么看,内存管理的确是最复杂的部分。因为用户通常不能像文件 handle 那样,拿来是什么还回去还是什么。一个简单的引用记数就可以管理的很好。内存资源必须做多层次的管理。或许未来 64 位系统普及后,这个问题会简单很多,但谁叫我们主流应用还是跑在 32 位平台上呢?而且 64 位系统未必不会出现新的问题。我们现在看 64 位系统,估计跟当年在 dos 实模式下写程序时曾经幻想以后随随便便就有 4G 内存用的感觉一样。

除去资源管理,操作系统通常都会抽象出线程这个代码执行流程,加以统一管理。线程本身会作为一种资源放在进程的管理集合中。但是操作系统又需要对所有线程的集合做统一的调度。从这个角度看,仅仅分层归组管理是不够的。

其实不仅是线程,像 socket 这样的资源同样不能简单置于进程的层次之下。一个 tcp 连接是不能简单的在进程结束后直接干脆的抹掉。另外负责网络通讯的核心模块也需要有轮询系统中所有 socket 的能力。

综上看来,对象的生命期管理在同一层次上似乎应该有交叉的两条线。一条是拥有共同的生命期的集合;另一条是同类对象的集合。


先不忙下结论,再谈谈我们现在自己设计的引擎用到的一些管理策略和最近发现的一些不足吧。

December 15, 2007

胡思乱想

这两周过的很混乱,主要是从程序部分脱出来,在写游戏的策划案。没怎么写代码,人有点空虚。策划案都是文字活,脑子里想是一回事,写出来又是回事。还有很多细节似乎是因为没想明白,所以表达不清。还得努力。

今天有个 blog 的读者在 gtalk 上督促俺,很长时间没更新了,不准偷懒,好多人看着呢。我从一开始就没打算为别人写 blog ,自己想到啥就写啥,没在意多少人在看。就这样有一茬没一茬的写着,为自己做一个记录。

今天写这么一篇,倒不全因为有美女鼓励。其实在下午百无聊赖的时候就想敲点什么了,一摸键盘又觉得没想清楚。在 blog 管理界面里已经有好几篇这样的稿子,写完了就那么放着而没有公开。生活若不是为了生存,那么就自然会充斥着胡思乱想,这些年我就这么个状态。偶尔想明白点什么,就写下来。而更多的,来也也快去的也快。

其实最开始想写的还是技术上的东西,大致有两点。

第一个是关于网络对时的,这个问题反反复复折磨我很多年了(去年写过一篇 blog,但相关纠缠着我们项目的问题不仅于此)。当然我不是要在这里向谁寻求答案,所以如果读完这篇 blog 想跟我讨论 NTP 协议或是相关技术细节的朋友,在下就不奉陪了。这也不是个什么复杂不能解决的难题,下面是想写一个衍生问题:

我们现在大多数的软件模型是不考虑时间因素的。我们关心的是输入和输出。各种编程语言也是如此,只见到语言的设计和实现去追求运行时的时间效率,不见从语言上严格定义一段代码的运行时间。当然,绝对时间是不能定义的,它会随着硬件发展而变化。但相对时间理论上可被定义的,可最终还是被人忽略了。我们研究算法,也只探讨时间复杂度而已。当然这跟现在计算机的模型有关系,在现有模型下,一段代码的严格运行时间甚至是不可能精确测度的。

November 30, 2007

讲稿

如果不出意外的话,我现在正在准备在 2007软件开发2.0大会 上的一个演讲:大世界网络游戏服务器的构架 。马上就要上讲台了。

其实主要是介绍下我们这两年正在开发的网络游戏引擎服务器部分的设计。这里有 PPT 可以下载

November 28, 2007

马上启程去北京了

下午就启程去北京了,参加 软件开发 2.0 大会 。30 日下午有一个演讲,时间不长,也就是大略介绍一下这两年的一些开发经验啦。贵在掺和 :)

我没有笔记本,也没有出差带计算机的习惯。到北京后就不再上网了。第一次用 blog 的预定发布功能,希望它能正常工作,把我准备的 ppt 在我上讲台时同步在 blog 上显示出来。

ps. 我的手机可以登陆 gmail ,所以邮件是会回的。

November 21, 2007

新的名片

前段时间把工作名片用完了,需要重新印。顺便,我想捎带去印一些私人用的。这个几年前干过,不过那次只印了十张,文件也没留下来,发完后绝版了。故而今天重新设计了一张。

namecard.png

November 14, 2007

智牙

我这辈子到现在长出两颗净根牙(这个名词是从牙医那听来的)来,都在上面。右上第八颗牙,就是其中一颗智牙,几年前就龋坏了。当初没痛,找了家牙科诊所随便补了下。

今年九月开始,它就没完没了的折磨起我来。国庆都没休息好。没忍住去买了板消炎药,吃了一颗,感觉没啥效果,后来也没再吃了。一直忍到上周才好了一些。

前天吃完晚饭没事用手放嘴里摸了一下,一使劲居然掰了一块下来,看来是烂透了。这下牙神经露了出来,碰一碰还真是酸啊。当即决定第二天去拔掉。

October 28, 2007

设计了个扑克玩法

周末公司组织活动,爬山,去农家喝茶。我们一堆人聚在一起聊天打牌。桥牌的人凑不起,大多数人不会打。无聊之中自己来设计新玩法。

以下是我设计的一个。其基本规则起源于“吹牛”,或是从酒巴里摇骰子的玩法。不过经过我们一天不断的细则改良后,发现了不少玩点 :D

道具用一副扑克,去掉大小王的 52 张。四个人参于游戏,每人随机发放 13 张牌。对家为搭档,游戏中要求对家相互配合,争取胜出——任何一人出完手中的牌就算胜利,结束当局游戏。

扑克中,A 到 10 为普通牌,J Q K 花牌一共 12 张为白搭(万用牌,可以充当任何一张普通牌)。但是,替代相同牌点的多张,需要用相同的花牌。例如两张 J 可以替代两张 3 或是两张 4 ,但是一张 J 一张 Q 则不能一起使用。

游戏时,领打人可以随意出牌,出牌时将牌背面朝上放在牌桌上,宣称自己出的牌点。比如说“两张 3”,此刻他可以使用真的两张 3 (或是花牌)也可以用假的别的牌的替代。

下家可以对上家的出牌声明做出猜测,如果认为是假的,可以自行翻开牌检查(不能让其他人看见,只能自己查看)。若的确是假,前个出牌人将桌上所有牌收起,然后由翻牌人做下一轮的领打;如果检查后,发现确如上家所言,则由翻牌人将桌上所有牌收起,上家领打下一轮。

如果下家不愿意翻上家出的牌,他只能选择向牌桌上加牌。所家之牌必须是同一牌点。例如此轮打 3 那么在这一轮中所有人都必须加 3 。所加之牌的数量,至少 1 张,至多 8 张(因为同一牌点的牌加上花牌,一次最多出现 8 张)。当然,每次出牌之人可以加假牌,是否能蒙混过关,取决于他的下家是否翻牌揭穿他。(很多时候由于战术需要,即使能肯定加的是假牌也会放过)

每一轮牌就这样按固定次序(顺时针或逆时针,看大家习惯)每个人依次向牌桌加牌,直到有一人的谎言被戳穿,或是对讲真话的人没有给予信任而结束。

当某个人手上的牌少于等于五张时,需要主动报警提醒大家。一旦手上的牌出完,就获得游戏胜利结束游戏。游戏过程中,任何人都有权利询问其他人的手牌张数,如果手牌张数大于五张,则允许回答还有很多。

搭档之间不准以任何规则之外的方式交换信息。在选择检查上家的加牌时,不得将牌面信息泄露给其他人看,使搭档获得额外的信息。

在这套规则下的游戏,进行节奏很快,大约 3~5 分钟就可以结束一局。搭档培养出默契后,可以玩出很多战术策略。游戏过程往往大起大落,手上的牌可以一下打光,而在接近胜利时又突然多了起来。对心理判断和记忆力都有一定的要求,理解规则和上手玩都还算简单。

October 10, 2007

微软鼠标也不咋地嘛

去年用坏了两个 DELL 鼠标 ,后来去买了个微软IE4.0(光学银光鲨)。这两天左键也出毛病了。单击老是失灵。

虽然我手指力道比较大,用鼠标比较狠(大拇指抓的地方表层已经被磨掉了),也不至于这样嘛。才用了大半年呢。网上 google 了一下,对这款鼠标抱怨的还真多。不知道过了保修期没有,不过我比较懒,不想跑电脑城。

今天实在受不了了。愤怒的把鼠标打开,本来想把平常不用的一个微动开关换到左键上去。结果没找到悍锡,只好作罢。考虑了一下,用小刀切开微动开关上的四个塑料螺丝,把开关的小盒子翘开看看。结果发现里面的金属弹片朝下的一面已经发黄了。估摸着可能是氧化了导电性下降。拿纸巾擦不掉,手头也没有酒精。想来想去,用铅笔涂了一下,这石墨应该是导电的吧。

装配回来颇费了点工夫,不过现在感觉左键好用多了,最好不是心理作用。 :D

September 16, 2007

手工

玩龙与地下城的朋友应该知道,这个游戏需要一些平常我们见不到的骰子:四面的、八面的、十面的、十二面的、二十面的。通常我们在超市里能买到的只有六面骰,估计是给那些麻将爱好者用的。

我有一套专用骰子,前几年去成都公干,一个网友送我的,据说价格不菲。不过这一套一样只有一两个,玩起来不爽。今天兴起,打算自己做一套。

September 01, 2007

大恩莫言谢

题目是从黑三角借来的。读了南桥的大恩莫言谢,有些共鸣。前两天晚上突然有些聊天的兴致,跟一个未曾谋面的网友在 google talk 上聊了许多。他似乎是一个基督徒,一直都在跟我说些关于行善的事情,我便跟他谈了我的父母,尤其是我的母亲。

我的母亲前些年资助了一个大学生,话题从这里展开。

那一年长江发了洪水,像武汉这种工业重镇,市区自然不会受灾。但是湖北其他的地区就不是这样了。母亲在电视或是报纸上看到些消息,然后去了附近的一所大学。

武汉水运工程学院,现在改名叫武汉交通科技大了。离我家不远,公交车两站地的样子。母亲直接找到了学校,请帮忙介绍一个家里受灾的学生,希望可以资助他。学校里挺重视这件事,没多久就联系到了一个贫困大学生。在洪灾中他的父亲不幸过世,家里条件不太好。那一年,这个学生读大二(或是大一?记不清了),我当时在广州工作,收入远没现在这么宽裕。而那时母亲已经退休,父亲工资不高。

今天、他在天津南开读研。据说是跟企业签了合同,自己不用出学费,同时生活费也有了保障。离开武汉后,他偶尔给我父母打个电话问候一下。

过去好几年了,母亲资助了他本科的学费。每个月把一些生活费交到他手上,并在周末把他叫到家里改善一下伙食。这些年我在外面闯荡,不太熟悉这个人,只见过两面。印象中他有些内向,学习应当不错。第一次见面是在家一起吃饭,第二次他似乎从老家带了条活鱼过来。他没有流露出对我母亲特别的感激,取生活费也是很平常的事情,在我家也没多少不自在。但我知道,感谢是放在心底的。

August 29, 2007

一些琐事

又是很久没写 blog 了。

小学的时候很讨厌写日记,但是父母老师要求写,我也就写了许多。结果现在翻出来读,倒是兴趣盎然,可以回忆去不少当年的心情。

高中开始到大学,我都坚持在写日记。有一年,一个漂亮女生送了一本日记本给我。突然觉得记录生活很有趣,当我把那一本日记写满后,也就没写了。后来似乎在电脑里写了一些,写完后加上了超长的密码,加密码的时候就打算忘记的,结果真的忘记了。文件在换机器时自然就删掉了。

blog 的原意就是写公开日记吧。但是我的生活在别人眼里看来很无趣,只有自己乐在其中,这种生活没啥记录的意义。比如过去的两周:

August 05, 2007

人民币升值?

大约是零三年的时候,我的银行里有了一笔美金,出于游戏心理,我开始炒实盘外汇。同时开始关注世界几大货币的汇率变化,以及黄金价格。那个时候,人民币保持对美圆的固定汇率,8.27 。美圆对欧元 1.1 到 1.2 左右,对英磅 1.6 到 1.7 ,对日圆 110 到 120 。那一年我第一次出国,去澳洲公干,美圆对澳元是 0.6 左右。

从那个时候起,我对货币本身产生了浓厚的兴趣。

零四年第一次去美国,大约住了一周。人民币在那一年依然坚持盯住美圆,保持 8.27 的汇率。但是互联网上已经充斥着人民币即将升值的消息。在美国的那些天,我逛过超市、租过车、去过几种档次的餐厅、喝过当地的星巴客咖啡、打过公用电话、也跟当地居住的朋友聊过天,算是对那里的生活消费水平有了个很初步的了解吧。晚上在酒店里,由于时差的原因不能入睡,便从走廊上的自动售货机中买了罐可乐、50 美分,开始躺在床上胡思乱想。

June 29, 2007

一道初等几何题

triangle.png

前两天看书的时候看到这道题:三角形 ABC 是一个等腰三角形,顶角 20 度。角 EBC 为 60 度,角 DCB 为 50 度。求角 DEB = ? 度。

由于是躺在床上看书,身边没有笔和纸,脑子里想不清楚,就用手机上的计算器把答案算了出来。当然,用了三角公式。结果是一个整数,这也预示着这道题很可能存在一个初等几何的解法。

一不小心把书翻了一页,看到了答案,觉得乐趣少了很多。当时觉得这是道有趣的题,就记了下来,第二天带到公司。果然,几个同事花了很长时间都没做出来 :) 到第三天才有人找到初等几何的解法。

各位观众,如果还有谁有兴趣可以一试。只需要具备初中(或仅需要小学高年级?)平面几何的知识就够了。

June 19, 2007

最近有点忙

旅游回来后,突然觉得有一大块的时间可以用。就仿佛新启动的进程,一下子可以申请到上 G 的连续地址空间那样;感觉很爽。每天可以只做睡觉和写程序两件事。中间累了尽可以来点放松的小活动,但不会干扰主流程。

自从上次引擎的第三次的设计改动已经冻结下来,似乎只需要向上面添砖加瓦了。既然怎么做应该想好,完成它应该只是时间问题。

另一个附带的项目经过了一年,终于可以看到结束的曙光。虽然行百里路半九十,但毕竟一个半成品的出现还是让人欣喜的。

做这些事情的同时,往日坚持的一些业余活动就很久没有进行了。每周两次的抱石没有去碰,现在力量下降了太多,只能指望过段时间再有个恢复期;琴没弹了,太花时间,不适合现在时间紧张的状态。桥牌没打,三缺一(有时候是缺二)。

不过还是做了不少别的事的。比如读书:

卢梭的这本《论人类不平等的起源和基础》放在床头一年,终于读完了最后一页。我开始有点喜欢这个老头了,过段时间可能还会再买一些他的书看。

深入解析Windows操作系统:第4版》有着令人畏惧的近千页的厚度;但是其内容对一个 Windows 程序员的重要性,让我已经翻过了十分之一。

还有一些时间,就是打打游戏:

June 13, 2007

贴两张前段去度假时拍的照片

最近半年工作太忙,通宵多了,没空健身,瘦的不行了。打算突击把程序写完,下半年恢复健身。

June 09, 2007

修复了留言本的 Bug ,翻出几篇旧文

主页的留言本 是我为数不多了 PHP 作品之一。

今天发现原来程序写的有点 bug ,一直点下一页翻不到底。这样会导致正常的浏览方式永远访问不到一些老帖子。晚上花了点时间改过来。同时还找到一些以前写的旧文,留个链接在这里存档 :) 也方便那些搜索引擎的蜘蛛来爬。

May 08, 2007

智能 ABC 与拼音输入法

不知道有没有人还记得 天汇DOS ,我接触智能 ABC 输入法就是从那开始的。这一用就是十多年了。我相信同样有很多人都用着智能 ABC 十年以上,但是却发现大部分人根本没用到这个输入法的精髓。否则?怎么这几年新出的一些拼音输入法均未把其最关键的地方学走?

我所说的精髓之处就在于智能 ABC 对笔画码的简单支持,关于这一点的重要性,我在前段时间写的 一篇关于 google 拼音的 blog 中阐述过。

下面,有兴趣的朋友花上五分钟跟我来了解一下吧,我相信绝对能提高智能 ABC 的输入速度,并大量减少聊天时的错别字 :D

April 19, 2007

修正了 jpeg 解码器中的一个 bug

我一直喜欢重写代码,唯一写了一次就没再重写的是大学时做的 jpeg decoder ,因为它的大量代码都是汇编写的。想来这段代码已经用了快八年了。渗透到公司的各个项目中。

一直以来,总有同事反应这个 decoder 有点小问题,有些看起来正确的图片,解码会出错。但是换一个图像处理软件重新压缩一遍又好了。

我一直没太在意,直到今天问题又被发现了一次。这次一咬牙,调试吧。

结果只花了不到半个小时就找到了问题,而且是一个超级弱智的 bug 。真想打自己一耳光,当初居然这种错误也能犯。修正完以后急忙通知各个项目的代码仓库负责人,想来这套库的很多分支版本里都存在相同的问题了。

March 21, 2007

网络诈骗的技术防范

互联网上没人知道你是一条狗。早年的那幅漫画估计在老一代网民中深入人心。现今的时代已经不大相同了,在互联网上想长期隐藏自己的真实身份已经越来越难。

但是,网络带来的身份隐藏依然可以给许多不良居心者带来诸多便利。其中之一,就是利用 IM 软件诈骗。很难防范的是,通过盗取一些防范有疏漏的用户的 IM 密码,然后假冒这个人登陆 IM 去欺骗他的网友。因为,大多数网民即使会对陌生人有足够的警惕,但对熟悉的网友却缺乏警惕。

即使是再熟悉的朋友,我也绝对不会接受他在网上发给我的任何可执行文件。但是,并非所有人都会如我这样做。这种简单的播种木马的方式,在当今社会却是最有效的一种。

另外,在网络游戏中,通过盗取某一玩家的帐号,既而在游戏中诈骗其他人的虚拟财产的案例也屡见不鲜。甚至,它成了一种在网络上欺骗朋友的借口。一句,“昨天我被盗号了”,一切坏事都可以被开脱。

那么,对于 IM 或是网络游戏服务提供商,我们是否可以提供一些技术手段来减少此类事故的发生呢?

March 14, 2007

关于 email

email 似乎在现今的网民群落中没落了。虽然像我这样只要在线上,每天都至少会 check 一次 email 的人依然不在少数,但我却感觉这个高比例只存在于从事 IT 行业的人群中。在网民的整体中,email 作为一种日常通讯工具,越来越得不到信任。

今天我跟几个同事交换了一下看法,发现有人赞同我的观点,而也有人不赞同。那么,下面也就只是一家之言吧。

March 03, 2007

关于卖空(Sell Short)

周末了,我一时兴起登陆了在美国的股票帐户玩儿。发现里面的股票交易的下单选择有三种:Buy , Sell , 和 Sell Short 。这 Sell Short 就是传说中的卖空了,在国内的股市上还不能这么操作。我一直是有耳闻,而不得其详。

一时冲动想试一下,终于搞清楚是怎么个运作了。

所谓卖空,就是向某人借入一支你想卖掉的股票(简单说就是看跌的股票)来执行卖出操作。当然这个借股票的过程是由股票交易机构帮你完成的,并不需要直接去找个持有这支股票的人来借。

借的过程相当于定了个契约,这一步交易机构并不收你佣金。但是执行 Sell Short 这个操作,需要立刻把借来的股票卖掉,这卖掉是要收交易佣金的(所以还是被交易中介赚到了钱)。

卖掉借来的股票后,你就立刻有了一笔现金,不过同时你还欠人一笔股票。如果你的帐户里的资产够偿还这笔股票,是没有人催你还的。如果日后这支股票跌了,你可以选择把股票还掉,当然是以当时的低价买入偿还。前后有一个差价(当初 sell short 时你获得的现金和事后你用钱购入股票偿还),这就是你的赢利。反之,如果股票涨了的话,你就需要用更多的现金来购买这支股票来偿还了。

因为 Sell Short 这种操作对于交易机构来说,你至少要执行两次操作(当时的一次,和日后偿还时执行的购入操作一次),这样交易佣金也是两次。多一种操作方法,可以促进交易频率。所以对于他们来说,是鼓励客户做这种操作的。

February 14, 2007

程序员日

这是一个值得纪念的日子,1946年2月14日人类历史上第一台现代电子计算机诞生了

当然不光是程序员需要纪念这个日子。因为人类的生活都被计算机在改变,所以,许多不是程序员的人也在以各种形式庆贺,看看街头的人流、鲜花和气球就知道我所言非虚。

支持一下《致招商银行的公开信》的活动

我是招商银行的忠实用户,第一张招行的卡好象是 2000 年办的,到现在为止已经有七张招行的卡了。不论是普通借记卡、信用卡、还是 VIP 卡的服务我都非常满意。而且一直极力游说我的朋友使用招行的服务。这些年来也认识了一些在招商银行工作的朋友。老实说,招商银行给我的感觉要比国内其它银行好上许多。

不过近两年来,我和许多人一样开始抱怨招行的网银服务。不是因为太糟糕,只是一种恨铁不成钢的感觉吧。相比较而言,前两年我申请了农行的网银,还为之付了一百 RMB 。当极力促成公司把工资发放从农行转到招行后,我就立即花钱注销了农行的帐号(帐号里没有余额,但是注销需补交帐号管理的年费,另外为了注销帐号,还专程打车来回)。那个网上银行再不好用,都没有太抱怨过。当时我一个月只用一次,就是在网上把工资转到招行帐号上而已。

January 31, 2007

病了

周日晚喝了点红酒,然后开始头痛。

周一没有食欲,继续头痛。

周二开始咳嗽。

今天出现轻微的流鼻涕这种症状,头痛有所缓解,继续干咳。

我想是感冒吧,估计要到下周才能好。

January 29, 2007

又见谣言

昨天跟老丁喝酒,听说了些坊间流传的谣言,真是让人哭笑不得。我本还以为只是别人说着玩玩,没几个人信的。今天早上一来居然就有人问我这个事了。

以下摘至于我的聊天记录:


网易分拆网游研发 传马化腾入股20%

这个可是大新闻啊~


看来 csdn 真是个谣言集散地 (._.!) 鉴于上次的事情(三人成虎),这次我提早辟一下谣,或许有用。

January 15, 2007

周末

这个周末去逛了下书店。(原计划是去买新手机的,结果没有找到满意的。苹果的 iPhone 又刺激了我的神经,最后决定不换了)

在书店买书,一般从经济上不划算。大多数大书店,书都不打折。所以逛书店纯粹是为了发现一些平时不太关注的东西。如果有一早就有目标的话,在网上邮购是个更好的选择。

随便逛了下,没有什么收获。发现书城一角有台计算机可供查询。就掏出手机,登陆上 douban 打开 我想读的书的页面 ,逐个输入搜索。结果发现了几本想买的书,如《1688年的全球史》和《当中医遇上西医》。直奔指定书架取了下来。

我对这台手机虽然百般不满意,看在它可以跑 opera 的份上也就一直忍着没换。这种时候还是可以发挥点作用的 :)

可惜更多想要的书还是没有。但也没多大遗憾。反正遇见喜欢的书还是需要机缘的,像我这样不常逛书店的人更是如此。

January 10, 2007

不小心成了高收入人士

今天收到通知说,年收入 12 万以上的高收入人士今年起需要自行申报个税。据说申报和单位代缴是两回事。比如股票收入这些,现行法律是不要求纳税的,但是却在申报范畴。

总的来说,我支持税收改革。个人的一些观点,这几年经常在闲聊时和许多朋友议论。

刚才 google 了下,发现自己要放在成都,就是一富豪了 :D 。(成都3000富人 2007年1月1日起单独报税

January 07, 2007

关于废弃 263 电子邮件信箱的声明

我已经前后为我在 263 的电子邮件信箱支付了七年的费用。但是我已经不打算使用它了。

在此声明:如非必要,云风不再回复发往 cloudwu AT 263.net 的信件。不过如这几年一惯所为,我会继续不定期的检查那里的邮件。

本人的主要私人邮件信箱为 gmail 上的一个,地址放在 www.codingnow.com 首页。在 163.com 的私人信箱以及公司分配的公务邮箱同样保证经常查收。

email 为本人的第一联系方式,其下依次为网页留言、电话、IM 、短信和明信片。

December 26, 2006

三维空间直线方程是什么?

昨天吃夜宵的时候跟同事瞎聊,问道三维空间直线方程是什么?

既然平面直线方程是一个二元一次方程,那么三维空间的直线方程就是一个三元一次方程?马上,我就否认了这个答案。明摆着,三元一次方程描述的是一个三维空间的平面。

吃完牛肉面回家躺在床上才想明白,原来三维空间中的直线是用两个二元一次方程联立来描述的。真是汗,不知对面那个中学里的弟弟妹妹知道我们为这么基础的问题苦思不得其解,会作何感想。

千万不要让我那敬爱的中学数学老师知道,我差点把那点解析几何知识都还给她老人家了。真是惭愧啊。

December 18, 2006

为什么是周二?

有道 这个搜索引擎已经用了很久了。里面的 blog 搜索满有意思。(其实平常我用的最多的是里面的海量词典 :) )

最近查了一下我的 blog 的档案分析

发现了一个诡异的现象:我居然没有在周二写过东西 (._.!)

对于我这种无所谓周末,想写就写点的人。整整 150 篇 blog ,一周内有特定一天完全没有记录的概率应该在千万分之一以下了。概率是 (6/7)^150 * 7 ?

我自己没统计,有可能周二写的相对比较少点,搜索引擎制作的图表就看不见了吧。

December 14, 2006

飞机能不能起飞

晚上看到这么一篇 blog ,Airplane-Treadmill问题:这架飞机能起飞吗?

一开始简单想了下,结论也是可以起飞,单做受力分析就可以得到这个结论。但是老是有些问题想不明白,传送带到底对飞机造成怎样的影响的?显然有传送带和静止的路面,情况是很有可能有差别的。结果又持续想了几个小时,终于得到如下的结论:

这个问题的关键在于,在飞机运动时,传送带作用于飞机的轮子(向后)的力来至于摩擦力。这个力只跟摩擦系数有关,跟传送带的速度无关。

November 16, 2006

宗教与科学(转载)

这两天在公司内部收到游戏研究组的文章,其中大块的文字是谈科学的。就这个问题我们展开了一些讨论。这类话题在我们部门内部也经常展开,往往是从谈论伪科学起的。

其实大道理我自己也讲不太清,还是转载一篇感觉不错的文章:

October 26, 2006

驾照终于考出来了

为了个考试,害我几天都没睡好。早起摸黑的练车。这下了了桩心事。希望这辈子不要再有考试。

October 01, 2006

可不可以只有密码没有用户名?

很多网上服务都需要用户注册,而注册的过程往往降低了用户体验。已经有许多人在做一些尝试,简化注册的过程。最简洁的莫过于第一次使用即注册,但是这依然有用户名以存在的麻烦。

很早以前有过一个想法,如果大家都用自己使用的 email 地址做用户名登陆,通常就不会有用户名冲突的情况了,甚至可以选择不使用密码。反正许多网上服务,并不需要密码保护个人身份或者个人数据。而且等到需要的时候,完全可以通过 email 设定一个密码。

一旦用户选择给 email 用户名加一个 nickname 或者由系统自动产生一个名字,而 email 地址不可见,那么 email 地址就成了一个密码的作用,只不过密码强度太低罢了。

September 24, 2006

明天去旅游了

加了一周的班,终于告一段落了。

明天去旅游,断绝外界联系一段时间,莫要找我 :)

这段时间关闭留言认证,广告也不会有人来删除了。

August 27, 2006

黄万里教授的忌日

发几个链接:

http://cn.netor.com/m/box200204/m14193.asp?BoardID=14193

http://www.edubridge.com/erxiantang/library/sanxia_huangwanli.htm

http://chinsci.blogchina.com/2399148.html

August 20, 2006

广州归来

原来计划在广州住一个晚上的,后来感觉太累,居然住了三晚。

第一天的策划会议讲的挺累的,不过我觉得还是有些效果。至少部分的观点得到了大家的认同。第二天的技术讲座由于准备的太仓促,估计没什么意思。结果,会后讨论的最多的不是我写到 ppt 里的东西,反而是没写进去的一些。看来临时赶工的 ppt 就是不得重点。

广州的新大楼修的的确漂亮,到处是眼前一亮的感觉,不愧是出至中国美院的设计。顶上两层活动的空间还没有装修好,看到那些墙壁的造型,我又意淫了一下,如果以后装上抱石墙该有多 cool 啊。

只是出入没以前方便了,门口坐了保安检查工牌,每层楼办公区还有单独的门禁。好在我把丁老大的工牌弄了过来,享受了一把最高权限,出入无限 :D

August 17, 2006

临时决定出差

晚上 6 点接到电话,需要回趟广州。明早的机票已经帮我订好了。

其实一直有计划回去一次,不过没想到这么快。原来打算有机会回广州给技术部的同事做一个讲座的,介绍一下,我们这边一年来的一些工作成果。这次这么急着回去开个会,什么都没有准备。

一开始打算带代码和 demo 回去讲的,晚上改变了主意,还是连夜做了十多页 PPT 。

就这样了,以我出差的风格。是不会带笔记本的,自然接下来几天也不会上网了。网络对我来说,似乎越来越无所谓了,如同我的手机 :)

August 08, 2006

popo 的语音通话

popo 自从用了跟 google talk 一样的语音引擎后,语音通话的质量好了很多,已经非常实用了。

今天突然想,popo 语音前既然跟电话一样嘟嘟等人接,那何不做成彩铃的。还可以自己录,应该很好玩的 :)

July 30, 2006

手机收不到短信了

最近一年用的索爱 P910c ,短信收的越多,速度越慢。隔一段时间我就删除上千条短信,并把一些归档,让手机处理的可以更流畅一些。

今天发现一件事,我的手机从 7 月 14 日开始,就没有再收到任何一条短信,包括广告信息。怪不得最近老有人说为啥不回短信。

暂时还不能确认是移动的问题,还是我手机的问题。猜想更大的可能是手机问题吧。这手机软件写的还真不是一般的滥呢。

不过我的梦想终于快实现了——总有一天我可以扔掉手机的,最近真是清净啊 :)

July 22, 2006

糟糕的 DELL 鼠标

用 DELL 的产品好几年了,不是我喜欢,只是公司统一采购的而已。以前一些小配件还可以自己买,最近一年全改 DELL 的了。

几天前,我的 dell 鼠标就不好使了。拖拽东西老是中途掉下来,让我苦恼不已。隔壁的同事说他一直就受不了 dell 鼠标,自己另买了一个,所以他的机器配的那个还是新的,也就给了我用。想想也是,dell 的东西口碑一直很差,再说我这鼠标也用了快 1年了,出点问题就换个新的算了。

没想到新鼠标没用几天,opera 里的鼠标手势就老是失败。用 spy 查了一下,原来每次我按住鼠标右键的同时,窗口都会伴随着接受到一个 WM_RBUTTONUP 消息。感情是,坏掉的前任我还扔在旁边,那毛病传染到新鼠标的右键上了。

另外,这批鼠标还有一个共同的毛病,用着好好的,鼠标光标会突然飞到屏幕一角。问过 IT 部门的同事,似乎不是我这一批特有的问题,只是打过 dell 的电话,那边死不承认质量问题,光是推脱说是鼠标垫不好罢了。我这还是 dell 原配的鼠标垫呢 (._.!)

July 21, 2006

一部值得看的电影

昨天跟同事一起看完了《疯狂的石头》,笑声不断。上次这么开心的看电影是《无极》,不过笑的有些不同罢了。

没看过的推荐看看,很有点意思。几次都让我联想到一个笑话——恐怖分子在广州的不幸遭遇。 最后那个摩托车劫匪撞上车门不幸的镜头,似乎我的一个同事亲眼在大街上见过。不过那一次,劫匪爬起来拍拍屁股跑掉了,连车都没兴趣去拣,身体还真的是强悍啊。

有人说是抄袭的作品,但是那又怎么样呢?我不想分辨所谓“抄袭”的真伪,那些问题让那些喜欢研究电影的人去从中找到快感吧,我只需要从观看电影的过程中得到愉悦。

网易泡泡的一个问题

一直以来,我都很头痛 popo 的一个设定。就是明明我的默认浏览器是 opera , 在 popo 的编辑框内点击 url 还是会启动 IE 。

popo 组的人似乎埋头做他们的 popo 2006 ,对于我们这些 popo2004 用户不太理睬。我提了几次意见,他们都不想真的去解决。除了 IE ,popo 组的人只关心 firefox 能不能用,这让我这个 opera fans 很伤心,只好自己动手解决了。

先反编译 popo.exe ,找了一下。发现了一段冒似处理 URL 点击的代码,但是打了 patch 后不解决问题。后来才醒悟过来那段代码是处理 popo 界面上的 url 的。又 grep 了一下那一堆 dll ,感觉编辑界面是由 ExtraEditor.dll 负责的。然后在这个 dll 里找到了一段和 popo.exe 中 2 进制几乎相同的代码。

这个比较寒,我个人是很反对 copy - paste 代码的,那反应的是某种设计失误。不同的是 ExtraEditor.dll 这个东东里面还有 pdb 信息,似乎开发者不太放心,放了个 debug 版出来 (._.!) 。这让我得到了关键函数的名字:

CExtraEdWnd::IsUsingIEAsHttpBrowser

看名字,这个函数好象用来检测系统默认浏览器是否是 IE 。分析了下实现,是通过读去注册表项和其它一些手段实现的。其方法不太专业,也没细看。反正我的机器明明设置的 opera 做默认浏览器,但是这个函数依然认为我偏好 IE 。

一旦认为系统设置的是 IE 做默认浏览器,popo 会用 ShellExecute 强制调用 iexplore.exe 打开 url 。而如果不是 IE 则不填写浏览器的名字,这样就不会强制用 IE 了。

就这个奇怪的设定,我问了 popo 组的同事。他们的说法是,如果 ShellExecute 直接打开 url 的话,当用户机器默认浏览器用的是 IE ,那么新的页面会在用户已经打开的 IE 窗口中打开,把用户已经在浏览的页面覆盖掉。而指定 iexplore.exe 就不会。

我强烈 BS 这种头痛医头的的解决方案。不过话虽如此,我也没想用啥更好的方法来做,反正我也不用 IE ,所以就把这个奇怪的设定跳过去,禁止 popo 强迫我使用 IE 打开网页。

方法很简单,把 ExtraEditor.dll 中偏移量为 0x00048FBE 地方的 0xEB 改成 0x74 就可以了 :)

ps. 我查了一下 IE 的设置,发现是否重复使用当前打开的窗口其实是由用户自己决定的。在 Internet 选项—高级—(倒数第3项)重新使用启动快截方式的窗口 。奇怪的是,似乎大多数人都希望可以启动一个新的窗口打开 ShellExecute 引导的 url ,但是这个选项却是默认勾选上淹没在茫茫的 option 菜单海洋中。

July 13, 2006

读了一篇文章

偶然的机会,读到这样一篇文章:清华梦的粉碎—写给清华大学的退学申请

这让我想起当年自己做毕业设计的日子。当然,我那个是本科论文。不过,学校里许多老师的做学问的态度 ......

ps. 最近在读周培德教授的《计算几何——算法设计与分析》,是本好书,值得推荐。

May 29, 2006

opera fans

用 opera 很多年了,从 97 年上网之初到现在,似乎是从第 3 或是第 4 版开始用的。

今天找了个作为 opera fans 的旁证:别人的鼠标都是左键上磨掉了一点漆,而我的则是右键磨掉了更大的一块。

开新窗口要按住右键,切换子窗口要按住右键滚滚轮,关窗口要按住右键,刷新要按住右键,回退也要 ... 我觉得 opera 发明的按住右键做鼠标手势这种创新,可以跟微软发明鼠标双击媲美了 :D

May 11, 2006

里程碑

明天去阳朔爬自然岩壁。

去年就定下来,今年 5 月会有一个项目的里程碑,大约是一个可以联网的 demo 吧。直到前天,对于可以看的东西,我们还是一无所有。大家摸黑干了大半年。

还真是一夜间冒出来的,我们的 demo 从 client 到 server 都有了。已经可以连入许多 client 进去互动了。3d engine 以及更基础的构架也被设计的很好。网络部分由于做了运动预测和补偿,操作手感和同步都可以被很好的解决。

居然,在最后一天,里程碑按时到达了。经过良好规划的项目就是不一样。

May 07, 2006

长假过完了

pool.jpg

五一长假,2 号去骑了下马,然后就回家陪父母。在家几天硬是没出门,看老爸打理他的花花草草,陪妈妈看看电视聊聊天。没做家务,就是在露台上的鱼池清理工作上出了点力。原本带了台 GBA 回去,玩了一天不可思忆的迷宫,在 28 层下,不小心操作失误,把该放在脚下的圣域卷轴吟唱了一遍,结果没能剧情通关。正应了同事的话,玩这个要保持清醒的头脑。侥幸用卷轴逃脱出来,不过已经没有勇气再下一次,怕自己承受不了顷刻间一贫如洗的打击了。又摆弄了一下 ps2 ,觉得没啥意思,便买了机票回来。

发现自己还是离不了编程,几天不写程序就浑身不自在。晚上在公司写代码感觉就是好啊。

April 24, 2006

程序员的命

每周的例会在周一下午三点召开。我们小团队,开例会也不那么严谨,加上五一临近,气氛更是活跃很多。半小时后,话题就转到了工作之外。

五月份计划基础出游,但是有个同事去不了。因为那几天正好是他老婆的预产期。据说因为某些原因一定得刨腹产,这样带来一个额外的好处就是可以自选一个黄道吉日 :D

我的提议是 5 月 12 日。这样可以接程序员的班 :D 我们这生于 10 月 24 日的某人自言,天生程序员的命呐。接下来大家开始对另一个 12 月生的家伙调侃起来,“你要早生几天,也不至于程序里那么多 bug 了,你看,8 号多好”

突然想到自己,据说是早上出生的,莫非是 6 点?

读书这件事

据说昨天是世界读书日,读书这件事,不只是学生应该做的吧。道理大家都明白,可是工作后坚持读书却不是普遍现象。

程序员属于经常读书的一类人,我们说的读书不单指读专业书籍,也不指大部分的小说散文这样的闲书,(并不想说读小说散文没意义)。不过这里只说说专业书籍。

April 06, 2006

做了个 tga 查看器

大部分看图软件显示 tga 文件的时候都忽略掉了 alpha 通道,而游戏开发过程中,经常会用到 tga 文件中的通道。晚上写了个小程序,用于查看 tga 文件,并同时显示其通道。程序很小,只有 16k。tga 的解码是临时用 c 写的,对 tga 的一些偏门格式没支持。

tga 查看器

本软件可以在不修改本身的情况下自由传播和使用。

April 03, 2006

谢卜勒 (Shapley) 公平三原则

今天读到谢卜勒 公平三原则觉得很有趣。命题是:一个老板加一个工程师,可以赚到3万块钱。这两个角色是不可或缺的。少任何一个人,都赚不到钱。这这两人的基础上,雇佣一个工人,可以提高 3 万块的利润,雇佣两个工人,可以再提高3万块的利润。加第3个或更多工人则不能再增加利润了。那么这 4 个人在一起赚到了 9 万块钱。怎么分配,才是最公平的。

March 22, 2006

一次大的重构

今天花了一晚上的时间,两个人把引擎的一些设计改了。最终统计,改动涉及 267 个源文件。因为改动是一步步走的,所以好多是叠代进行的,很多文件都被反复改了好几次。

改的心惊肉跳的,这个时候,发现自动测试是多么的重要啊。

March 07, 2006

建了一个 Wiki

认识 Wiki 比 Blog 要早的多,但是一直没有去搭建一个个人 wiki 。最近发现,Blog 只适合记录一些突发的想法,而以时间为线索,不太适合整理资料。然后就建了一个 wiki ,在 CoCoWakka 的基础上改了一点点,之前在我的项目中用了很长时间,算是比较熟悉了。

今天整理了一些 Lua 的技巧放上去,用 lua 维护这些要方便一些。

February 06, 2006

freebsd 被 gfw 了

<a href="http://www.freebsd.org">http://www.freebsd.org</a> 访问不了了。同事开始抱怨,cvs update 不了,也 commit 不了。

我还是很喜欢 freebsd 的 source code 的,项目管理的很好,代码仓库很整洁,想找点东西非常方便。谁知道去哪投诉啊?

January 26, 2006

明天回家过年

好几年没有在大年初一之前回家了。今年元旦没给自己放假,明天提前放假回家。幸亏先把票买好了啊。刚才查了一下,明天回武汉的连头等舱的票都没了。春运真叫个紧张啊,以往都是年初一初二买票回家不觉得,还能打个折什么的。

January 24, 2006

睡眠瘫痪症

第一次碰到鬼压床大约是上小学放暑假的时候,早上在地板上昏睡不想起来,直到床外的阳光射到眼睛,拼命的想睁开眼起来却办不到。后来知道了这个医学上的学名叫做<a href="http://www.google.com/search?client=opera&rls=en&q=%E7%9D%A1%E7%9C%A0%E7%98%AB%E7%97%AA%E7%97%87&sourceid=opera&ie=utf-8&oe=utf-8">睡眠瘫痪症</a>。我不知道和我自己经历的是否吻合,因为我在发生的时候,除了意识比较清醒,并不能感受到周围的信息。

January 13, 2006

程序员一年究竟能有多少代码产量?

前两天在厦门做了个即兴的演讲,我随口说了个数字说我现在大约一年的代码产量是20万行。当时雷军表示不信,下来我们讨论了一下20万行的可能性,雷军的观点是,要保持年产20万行代码,必须每天写 800 多行代码,因为要留出思考的时间,所以代码日产量是远高于这个数字的。所以不太可能。

January 10, 2006

准备动身去厦门

今天动身去厦门,参加游戏产业年会的民族游戏研发论坛。不过现在工作很忙,明天发言完了晚上还得赶回来工作。

January 01, 2006

在中学100强中看到了母校的名字

<a href="http://www.google.com/search?client=opera&rls=en&q=%E4%B8%AD%E5%AD%A6100%E5%BC%BA&sourceid=opera&ie=utf-8&oe=utf-8">中学100强</a>

这是则老消息了,不过今天才看到。我的母校居然排在 17 :D 想起很多中学时代的事情,很美好,也能牵动几根记忆深处的神经。2006, 转眼就毕业十年了,随着同学聚会的频率越来越小,到会人数越来越少。同学一个个的有了自己的家,分布在地球的区域也越来越宽广,怕是以后的联系也会逐渐减少了。

大家都还好吗?

ps. 最近连着收到几个老同学的电话,就只是单单问问好,觉得真是很难得了。

December 25, 2005

平安夜借机玩了一下

最近工作实在太忙,每天一睁眼就想赶紧来公司写程序,当然还有开会等杂事。

今天是耶教的节日,庆祝他们教派的创始人诞辰的。昨天晚上算是耶老他母亲最值得纪念的一夜了,俗称平安夜。我是不信耶教的,不过现在节日这个概念都淡化了,关键是有机会朋友聚一聚,闹一闹。既然攀友相约,难得开心聚会一晚。

December 11, 2005

12K 的虚拟机

今天把脚本虚拟机整合到正在开发的引擎中去了,按新引擎的跨平台2进制格式 build 出来,只有 12.6K :D 比 lua 小多了 ^^ 庆祝一下。如果不是现在机器都是 32位了,在 16 位或者 8 位机上,这代码体积还能更小。唉,早几年计算机的地址空间只有 64K 的时候多痛苦啊。

突然想,我们这套引擎给手机用一定很不错 尤其是 gc 部分,比 lua python 什么的更适合小内存环境,可惜我现在对嵌入式开发没啥兴趣。

一个陌生的电话

这周的工作很顺利,居然在周六晚上就可以做完,而没有拖到周日。难得的在家里赖了一下床。

早上接到一条短信,两个电话,其中一个电话打错了。短信是我凌晨发的,索要另一个朋友的电话号码,估计那边朋友已经睡下了,早上起来才回过来。

不过已经很难得了,最近一长段时间,我每个月几乎都没什么话费了,几乎存在于一种闭关的状态,无什么事情干扰。

December 06, 2005

《游戏之旅——我的编程感悟》勘误建议

今天拿到了出版社的样书八本,瞬间被分完 :)整个装订还算满意,随手翻了一下,发现了一些印刷错误。当时没有在意,现在回头想一下,应该有个地方列出来,方便读者。下次重印时也好更正。请大家赐教。

我在个人 Wiki 上整理了 勘误表

November 18, 2005

下午去上海

这几天在上海度过,参加<a href="http://www.zhucheng.biz/seminar">Modern C++ Design & Programming 技术大会</a>

周一有一场演讲是关于游戏优化的,当然主题是 C++ 相关,等讲完了在这里放 PPT :)
周二折道成都去做一年一度的校园巡回招聘。

November 16, 2005

办公室里的抱石墙

office.jpg

终于把会议室里的抱石墙做好了 :) 感觉我们的 office 比 google 的还酷。