蜗牛的污水过滤器

我要一步一步往上爬,在最高点乘着叶片往前飞.

My Links

Blog Stats

News

MAIL TO

My Furl

档案

随笔分类

Links

2007年9月30日 #

性能,总在不经意间流逝

同学们呀,乃们要记住,stl的list的size() 函数,是要遍历整个list的,表乱用呀。 老子擦屁股擦得头疼呀。

posted @ 16:51 | Feedback (1)

2007年7月31日 #

海呀,全tm是水



在某归国同学的建议下,结伴徒步东西涌,在海边露营,然后游泳,晒死若干皮肤细胞。所行甚欢,只感茕茕白兔,东走西顾...

其中种种内幕,骇人听闻,不说也罢。

posted @ 22:56 | Feedback (4)

2007年7月22日 #

Transformers

当amule還在不辞劳苦的下着秒速5cm的时候,恩,我去看了变形金刚。

本来对它就没有什么期望,如同马亲王说的,这是不需要剧透的片子 。所以還是说说感想吧。

看了一半,就觉得擎天柱同学真的很有悲剧女主情节。一上來就是牺牲,奉献什么的,没开打就准备自爆,还把兄弟搭上了。。。好吧,他丫最后没自爆成功。
不然人民英雄纪念碑应该有他一个名号。另外有人看到他丫没死的时候居然笑场了。虽然我也以为,这应该是个带有悲剧色彩的正剧。果然,给小朋友看的东西不能太悲伤。

至于那辆黄色的雪弗兰,恩那,泡mm时有這么一辆车是幸福的...如果开打时有這么一辆车?最好先把他的腿打断。。。

哦,還有那個分成两节的家伙,叫什么来着?

那些因为没有分成两节而完全没有印象的路人甲,路人乙们,原谅我吧。

至于里面的科幻元素,還是不说了吧。我承认比某国产连续剧里用dir造成滚屏效果然后说是装家在破解密码要好。

最后,违反物理定律的变形看起来真是帅到掉渣口牙~~

posted @ 13:09 | Feedback (3)

2007年6月7日 #

人生,是湿意的.

 貌似,今天是高考第一天。
是所谓决定很多有为青年能继续有为下去的日子。
第一天,自然是要考八股的。
而八股的题目,也是八卦的最好题材,是人民群众喜闻乐见的娱乐形式。
也是各位装家,教兽,谑者喜欢品头论足的东西。
各个命题老湿展现自己天马行空的思维,或者昨天晚上生活的最佳平台。
老子作为淫民的一分子,看到这些题目,只能说,湿了。
http://edu.sina.com.cn/gaokao/07gkzw/index.html


突然觉得,作家真tm不好当,谁都可以来品头论足一番。
哼,要是明天把全国各地的高考数学最后一题搞出来,然后贱人们还能讨论得如此高潮迭起的。。。那tm社会才大同了。

posted @ 13:10 | Feedback (2)

2007年5月22日 #

C++, 华丽的无用功.

 最近时常觉得自己的脑袋被门夹过... 基于某些不可告人的目的,我必须用C++写个小程序. 其中大概需要实现一个Command 模式的类。
当时想也没想就写下这样一个东西.


using namespace std;
using namespace boost;

class Command
{
public:
    typedef function<void(string)> Callback;
    Command(const Callback cb, const string& arg):
        m_func(cb),
        m_arg(arg)
    {}

    void execute()
    {
        m_func(m_arg);
    }

private:
    Callback m_func;
    string m_arg;
};

于是,后面大概就可以这样用它:

class Some_Class
{
public:
    void run(const string& arg)
    {
        cout << "some class: " << arg << endl;
    }
};

void func_run(const string& arg)
{
    cout << "func_run: " << arg << endl;
}

int main()
{
    Some_Class sc;
    Command c1(bind(&Some_Class::run,&sc,_1),"1");
    Command c2(func_run,"2");

    c1.execute();
    c2.execute();
}

看起来相当的不错呢!

可是突然想起我前不久用python 写的一个Timer类

class Timer:
    def __init__(self, timeout, callback, args):
        self.timeout = timeout
        self.callback = callback
        self.args = args

    def __cmp__(self, timer):
        return self.timeout - timer.timeout

    def on_timeout(self):
        arg_type = type(self.args)
        if arg_type == types.TupleType or \
            arg_type == types.ListType:
            self.callback(*self.args)
        elif arg_type == types.DictType:
            self.callback(**self.args)
        else:
            self.callback(self.args)

去掉那个timeout不说,其他的基本功能完全可以替换掉上面的类,
而且,由于args可以用不同方式传进来,功能还更加强大。
可以接受任意参数的function.

T.T 所谓技巧,只不过是弥补语言功能的不足而已。
当然,如果是fp的话...

posted @ 22:12 | Feedback (0)

2007年5月7日 #

夏天到了

还有人记得这首歌么?

我爱夏天

脱拉库(Tolaku)

我 我爱夏天
有 漂亮美眉
我 我爱夏天
因为他们穿的养眼
每到夏天我要去海边
海边有个漂亮高雄妹
只打电话不常见面我好想念
不知她会在哪个海边

夏天,是游泳的季节,夏天,是燃烧青春的季节,夏天,是战项目的季节,
勇敢的少年,向着夕阳奔跑吧.

posted @ 17:15 | Feedback (2)

2007年4月21日 #

终于为在现在的项目中引入ACE想到了名目

    C++ Network Programming 那两本书,从4,5年前,就开始断断续续的看着。终于在前几天,抽了个空,全部看完了。看完之后,却发现,好像没有什么地方需要用到。

    最近两年,亦写了不少的网络程序,处理网络并发的问题,各种方法也都有涉猎。或者用IOSIGNAL,epoll,select实现的事件多路分离和分发,或者多进程多线程,基本上都是针对某個应用,写出一个方案来处理。虽然有些繁琐,但在所关注的领域,是合适而且高效的。其中某些架构,和ACE的 Reatctor,倒也颇为神似。
    ACE所强调可移植性,貌似需求并不是很高,至少我是不會认为,一个跑起来要500mb内存的程序,移植到一个嵌入式系统里有什么意义的,并且放棄掉目标操作系统提供的便利高效的API。至于可复用性,貌似我們做得还不错。

    然则,今天在排其他人写的程序的bug的时候,我却突然想到,原来,框架还能降低沟通的成本。好吧,其实我是在为我的懒惰尋找借口,但不得不承认,很多项目,并没有很详尽的文档。一个新成员加入团队的时候,很可能遇到的主要问题就是,这一团乱麻是怎么工作。继承一个类,重载几个函数,然后new出来丢到一个容器中。过了一會,里面的事件被触发了,然后,这个类就被释放掉了,完美而神秘。
    如果选用一个使用广泛的框架,也許这种情況能够得到一定的缓解。就算那个新成员以前没有学习过那個框架,也能够很容易的找到相关的资料自己学习,不用老成员的解释,不用看那些陈腐的文档,并在看代码的时候发现,每份文档都很毕加索。就如同UML,一个大学CS毕业的学生,基本上還是能看懂UML的,所以我們能直截了当的用UML阐述自己的设计。

    最后愤青一下,框架真是让FC 倾倒垃圾代码的好地方。

posted @ 1:08 | Feedback (3)

2007年3月25日 #

OUAT.Bot ready now

大约一周之前,看到卷毛君给的一个Link, 是马亲王介绍Once Upon A Time的,看起来相当好玩,简单的规则里包含着无数bt的可能,真是我们这帮jr居家旅行,杀人放火的好东西. 不过大家天南地北的,要聚在一起玩是不可能了,通过聊天群远程玩这个东西,也有些麻烦——怎么管理这些牌呀.

但实在是想玩的紧,用了几天的业余时间,终于做了一个半成品出来,实现了最基本的功能。大概的原理就是这个程序作为一个client 挂在gtalk上,玩家通过发送指令给他,执行后再转发给其他人。草草的试了一下,感觉没有什么太大问题,先放出来给大家调戏吧.

以下是技术参数时间:
项目主页:http://code.google.com/p/ouat/
编程语言:python
依赖库:稍作修改的xmpppy
使用协议:jabber
游戏规则:http://code.google.com/p/ouat/wiki/RuleOfOnceUponATime
体验用bot:OUAT.Bot(AT)gmail.com (根据开发需要,pc的作息时间以及本人早晨绿茶的温度不定期下线或重启)
说明文档:无 -_,-+

如上所述,没有文档,所以你把这个bot加为好友后说的第一句话应该是/help或者=help(画外音:掌握了help就掌握了一切...),当然更好的办法是直接看源码,最好的办法是看完源码后在wiki上写个帮助.另外,本人的英语较差,建议把英文用金山糍粑按词翻译成中文后理解。

至于bug和不人性化的地方么,自然是有不少的。如果有想尝试菊爆这个bot的同学,可以省省心,如果你们有空看看代码,你们会发现,菊爆这玩意儿还不如去抢小朋友的棒棒糖更有难度。任何意见和建议都无限欢迎,我在有生之年一定找时间修好,其实我更喜欢你们给我patch。

最后,bs下楠君,居然在我还没做好bot之前就去体验真人版,快来陪我战 T.T

posted @ 1:57 | Feedback (2)

2006年7月17日 #

爱上深图

几天前风闻深圳图书馆新馆开放,秉承深圳市政设施钱多烧包的建设传统,很是华丽,不禁神往。
今天偶有闲暇,于是跑去泡了下,感触良多。在我见过的图书馆中,和理想中的图书馆最接近的,非他莫属。

关键字:Free!

资费比较free

        办证收费标准
项目                                    收费标准
办证工本费(首次)           免费
阅览功能                            免费
中文文献外借功能押金     100元
外文图书外借功能押金     200元
深圳市公共图书馆网通借通还功能 免费
预存费功能                         自选
补证工本费                         10元
注册                                     免费


看书感觉也很free,进去看书,上网,看电影什么的是不用任何证件的,而且工作人员也不会过多的干涉。除了一般的木椅子,还有各种沙发。不少不能用大堂灯照明的桌子还配了台灯。供查询的计算机也比较多。还有自助借书电脑。馆藏也比较丰富,至少TP方面的书让我很满意,一个下午温习了下Partricia树和BSD radix树,还看了会儿张爱玲的散文,舒服。

不足么:就是空调有点冷;新开馆,不少的人是当在逛街的,吵;图书摆放也有点乱。不过这个怨不得工作人员。国内出版业混乱,乱卖书号,导致很多书的书号不是自己应该有的类别。工作人员又没有专门的知识,只能按书号排书,自然就会有些牛头不对马嘴。

略微遗憾的是,手机和包一起存了,没有PP T.T

posted @ 0:30 | Feedback (6)

2006年7月14日 #

工作周年

有好久没写blog了!
然则今天临睡时看到钱涂无量的这篇blog,突然想到,自己已经工作一年了。

从以前就着自己性子,写些自以为是的小东西,慢慢的,得自己养活自己,成为一个工作,是幸,抑或不幸呢?
貌似有很多人有这样的困惑呢。如对岸我很佩服的Jserv兄,在最近的blog里,也有提到。

回想一年,却发现,在脑海中找不到一点东西,空空。
说技术的进步,也许有吧,实做了一些东西,是以前所未能涉及的。人生的阅历,貌似也有些增加,虽然还是一副孩子的脾气。

最近常被人问起,为什么不blog了? 答:不为什么!

常认为,在blog扯淡吹牛,只是在增加google的索引负荷,浪费资源。最好写些对大家都用的东西。所以比较想写些心得体会的东西。
然而,自己又没真正的东西什么好写的,或者有些东西写起来过于麻烦,于是,就只好不写了。
sigh,又写了这么多,惭愧,惭愧。

posted @ 0:35 | Feedback (4)