July 02, 2009

关于“群”的那些破事

在 QQ 增加所谓“群” 这个功能之前,我就不用 qq 了。(所以找我要 qq 号的朋友不要再问了)

但是“群”这个讨厌的东西,总是阴魂不散的游荡在我的网络世界里。

今天在 twitter 上看见 Fenng 说 “我真受不了我可爱的同事们了,你们就不能不用"群"啊? 这是 IM 工具最烂的一个设计。除了浪费时间,还能干什么?” ,真是心有戚戚啊。

当然,人和人对事物的看法见解是不一样的。物以类聚、人以群分吧。我还真见过真心喜爱“群”的同学,大体上和 xmpp 同学以及Fenng 随后的发言一致。虽然分享“小笑话、新闻链接、有趣的小图片” 我觉得应该属于 google reader 的事情,

popo 作为网易内部交流工具,当初设计群的时候,我是发过言的。情况大致是这样:

阅读全文 "关于“群”的那些破事" »

June 28, 2009

玩了一下 ActionScript

周末。

玩了一下 ActionScript 。因为感觉做一些简单的需要长连接的互联网应用,flash 是一个不错的选择。在大多数情况下,比要求用户安装一个客户端要人性。(当然,和要求用户为浏览器安装一个莫名其妙的 ActiveX 控件相比,让用户自己决定是否下载独立客户端要友好的多)

因为,虽然 Flash 大多数情况下作为一个浏览器插件(在 Windows 下是一个 ActiveX 控件)的形式存在,但其安全性比之许多绿霸之流的流氓软件还是值得信任的。

阅读全文 "玩了一下 ActionScript" »

June 26, 2009

让 Make 递归所有子目录

最近同事提了一个需求,想方便的调用一个工具校验所有的 xml 文件(包括子目录下的)。我想了一下,最简单的方法是用 Make 来辅助完成这件事情。

问题在于,怎样让 Make 递归的处理所有子目录。因为 GNU Make 默认的 wildcard 只能枚举出当前目录的文件,而不能递归下去。

求助于 Shell 指令当然是一种方法,如果只考虑 unix 环境,我会用 shell 去做。在 Windows 下也有 for 语句可以使用。但我不想处理复杂的平台差异。所以就在 Make 内置的函数里想办法了。

阅读全文 "让 Make 递归所有子目录" »

June 22, 2009

近日小结

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

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

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

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

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

阅读全文 "近日小结" »

June 05, 2009

tcc 的一个 bug

tcc 是个好东西,我们的粒子系统把它当作可选模块,用于动态生成粒子控制代码。较之 lua 的版本,性能可以提高一个数量级(另外一个 gcc 版本的可选模块,会失去动态性)。为了引入这个库,我还好好研究了一下 LGPL 。

前段时间我还在抱怨 tcc 不能跑在 64 bit 环境下,结果今天因为查 bug ,去关心了一下新版本,发现 0.9.25 已经开始支持 64bit 了。

表扬到此为止,现在开始抱怨。

阅读全文 "tcc 的一个 bug" »

June 01, 2009

《链接、装载与库》书评

今年二月份拿到这本书的电子稿时,还不是现在这个名字。

《程序员的自我修养》这个名字听起来比原来的那个名字感觉好一些,但又让人感觉有点不知所谓。还是副标题直接:《链接、装载与库》。我更愿意接受这样的一个名字,有如那本多年前读过的英文经典:《Linkers & Loaders》。

那段时间很忙,一直到现在都是。书稿我压了很久,直到有一天,博文的朋友说,约个时间和 Fenng 、俞甲子等杭州的程序员碰头聚一下。我连夜开始读书稿。不然,见面了谈起这本书来,说不出所以然多不好意思。

阅读全文 "《链接、装载与库》书评" »

May 26, 2009

lua 中判断字符串前缀

一个 lua 的小技巧

在写 lua debugger 的时候,我需要判断一个字符串的前缀是不是 "@" 。

有三个方案:

  1. 比较直观的是 string.sub(str,1,1) == "@"
  2. 感觉效率比较高的是 string.byte(str) == 64
  3. 或者是 string.find(str,"@") == 1

我推荐第三种。(注:在此特定运用环境下。因为用于判定 source 的文件名,大多数情况都是 @ 开头。如果结果为非,则性能较低)

第一方案 string.sub 会在生成子串的时候做一次字符串 hash ,感觉效率会略微低一些。

第二方案效率应该是最好,但是需要记住 @ 的 ascii 码 64 。如果前缀是多个字符也不适用。

Misc

Recent Comments