继生's profilefirefire99PhotosBlogLists Tools Help

Blog


    August 26

    赠七夕
    携眷出郭绕斜阳
    当时只道是寻常
    穿花卧裙蝴蝶手
    化梦又为邻里香
     
    July 22

    毛绒外壳里面的精灵们

    有一天,当巴巴笨遇到了巴巴胖,于是春天来了。
    后来多了巴巴不,和巴巴绿。
    每当巴巴笨让巴巴绿去打扫房间的时候,
    巴巴绿就说,这个是应该巴巴不做的!
    巴巴不就说,我不。
    最后还是巴巴胖和巴巴笨去做了。
    又一年春天,巴巴不从街上捡回一个小白,
    巴巴不给它起名叫,巴巴毛毛。
     
    巴巴胖,巴巴笨,巴巴绿,巴巴不,巴巴毛毛
    这就是毛绒外壳里面的精灵们。
    March 02

    GCPU

    给我的第一个开源软件起了名字:GCPU
    全称为Graphic Computation Parallel Unit,中文是:图形计算并行系统
    目的是开发一套开源的,应用于并行计算硬件的图形渲染管线程序。
     
    起完之后,去google了这个名字,发现和它重名的都是硬件设计,最典型的是amd暂时把自己未来的处理器叫做GCPU。呵呵,比预想的好。
    February 20

    中俄的一些历史

    16世纪,俄罗斯人越过亚洲与欧洲的分界线乌拉尔山开始东侵,用了69年的时间占据了属于蒙古民族的各个汗国和部落,
    十七世纪三四十年代,俄罗斯哥萨克向东侵扰,进入直接隶属于当时满洲的黑龙江流域,烧杀抢掠,吃人肉。
    清朝进入中原以后,分别在1685年和1686年两次打击俄罗斯在黑龙江流域的据点,俄罗斯被迫谈判,并签订(中俄尼不楚条约)中国当时因为国内的葛尔丹问题,暂时把贝加尔湖以东到额尔古纳河之间的50万平方公里的土地让与俄罗斯,但是条约规定额尔古纳河以东和外兴安岭以南全部属于中国。此后的100多年,因为当时中国的康乾盛世,中国与俄罗斯相安无事。
    鸦片战争以后,中国沦为半殖民地社会,第二次鸦片战争爆发期间,英法联军火烧圆明园,俄罗斯乘火打劫,先后通过(中俄瑷珲条约,中俄北京条约,和中俄伊犁条约)直接割占中国达到200万平方公里的土地,其中包括黑龙江以北60多万,乌苏里江以东44万,巴尔喀什湖以东以南75万,以及唐努乌梁海地区等等,并与1900年参加8国联军入侵中国,屠杀海兰泡2万中国居民。
    列宁曾声称要还与中国割占领土,后斯大林当政,让近160万平方公里的外蒙古独立,这样俄罗斯直接或者间接造成中国损失400多万平方公里的土地,是现在中国土地的一半。
    冷战时期俄屯兵百万于边境,挑起数次冲突,支持印度对抗,支持越南对抗中国。
    1989年俄参与了西方7国制裁中国。
    2005年贝加尔湖畔的伊尔库茨克市,俄罗斯警察打死手无寸铁的中国劳工,
    2009,俄罗斯向中国货轮开炮500发,看到轮船即将沉没,人员求救,冷眼旁观船上人员死亡。
    February 17

    wu

    有些时候,可怕的不是不可改变的现实,可怕的是我们悲观的态度。
    February 12

    wu

    早餐:四个水煎包,一根油条,一碗白米粥
     
    书摘
    日记中记载了达尔文极度细致的分析方法。他甚至在日记中列出了结婚的好与坏。结婚的好处是妻子会成为固定伴侣,老年时期的朋友,用音乐和娇柔的声音充满房间。坏处是结婚会让你失去自由,不能开心时疯癫地跑来跑去,不能随心所欲彻夜读书。还要拜访亲戚。必须给孩子花钱而不是买书。

    三思之后,达尔文宣布告别单身,他得出的结论是“一个人不可能孤独一生,颤颤巍巍的晚年、没有朋友,没有子女的惨境摆在眼前,已经开始长皱纹了。”

    达尔文喜欢音乐,但是他却是一个乐盲。结婚后,他每天夜晚都要抽出半小时听艾玛弹钢琴。艾玛曾向肖邦拜师学艺。而且艾玛每天还给达尔文读两次小说。他非常喜欢简·奥斯丁和查尔斯·狄更斯的作品,尤其喜欢喜剧结局。达尔文和艾玛每天还玩两次西洋双陆棋。达尔文保留了大约40年的累积积分。艾玛总是在游戏中获胜

    最后阶段,达尔文认为他是一名不可知论者。在达尔文去世的时候,一名当地的福音传道者坚持说,达尔文已经断绝了与进化论的联系,重新回到了基督教的怀抱。然而,达尔文的家人很快反驳了这一说法。据艾玛说,达尔文说的最后一句话是“我一点也不害怕死亡。”
    -----------------------------------
    我认为不可知论的形成,是意识到问题太复杂而导致无法表达,甚至无论如何都自相矛盾,同时认为难以通过思考来获得答案,因为思考本身就有局限性。更希望通过时间来检验单个事件的结果
     
    December 03

    66号公路

    那一年,我们奔驰在66号公路上,荒野呼啸而过,我们欢呼而进
     
    我带你走我曾走过的路,并非要让你理解我生命的全部,是为了创造一个共同的未来
    November 13

    有梦就疯狂去追

    时间就像下午逃课的几个小朋友,手拉着手,不出声音的蹑着脚,相互使个坏笑,咯吱一下就从墙外溜走了。
     
    有梦就疯狂去追
    August 28

    stop,discard

    既然时间没有尽头,与其拼命往前狂奔,不如停下来享受路上的风景
    August 21

    无题一首

    置身其外看其中
    缘由早灭果始终
    有朝一日曾相聚
    笑是姻缘痴是疯
    March 25

    赠友人

    青衣飘飘,素手遥遥
    有女三人,采茶归来
    日吹升烟,夜舞歌啸
    月不能寐,人不思归
    November 11

    风拓

    自从父母79年生下我,到现在28个年头过去了。
     
    依然事业无成,依然没有组建家庭,依然为了梦想在追。
     
    要保持那一颗心,百年。
     
    岁月荏苒
     
    在这个入冬午后的街头
     
    只有风刻下的身影,停留在落叶飘散的间隙
     
    August 08

    夫妻

    看家有儿女的时候,一点感想,睡同一张床,做同一个梦,就是夫妻了。
    April 04

    婚姻`盐

    这是一次满意的婚姻
    在一次苦恋之后
    抹走了我最后一份娇羞
    撒一把盐
    我痛
    再撒一把盐
    我咸
    July 28

    wu

    程序员的脑力都很好,但体力都不很好。不用怀疑程序员的脑力,也不要挑战程序员的体力.作为雇主,花这么多钱高薪聘请程序员来,要充分利用他们的长处,达到企业与员工的双赢。
     
    来看这样一个lisp函数
    (define(A m n)
     (cond ((= 0 n) 0)
       ((= 0 m) 2*n)
       ((= 1 n) 2)
       (else A(m-1 A(m n-1)))  ))
     
    可以通过一些例子来认识这个函数
    A(m,2) = 4;
    A(0,n) = 2*n;
    A(1,n) = 2^n;
    A(2,n) = 2^2^2...(n个)
    A(3,n) = A(2,A(2,...A(2,2)...)
    A(4,n) = A(3,A(3,...A(3,2)...)
    ...
    A(m,n) = A(m-1,A(m-1,...A(m-1,2)...) (n-1步)
     
    那把最后一个公式写成lisp,原函数就变成这样
    (define(A m n) (B m n 0 2) )
    (define (B m n p s)
      if(= p n-1 )
       A(m-1,s)
       A(m n inc(p) A(m-1,s)) )
     
    这两种写法都用c写的话是这样的:
    int A(m,n)
    {
     if(0 == n)
     {
      return 0;
     }
     else if(0 == m)
     {
      return n*2;
     }
     else if(1 == n)
     {
      return 2;
     }
     else
     {
      return A(m-1,A(m,n-1));
     }
    }
    ------------------------
    int A(m,n)
    {
     return B(m,n,0,2);
    }
    int B(m,n,p,s)
    {
     if(p == n-1)
     {
      return A(m-1,s);
     }
     else
     {
      s = A(m-1,s);
      p++;
      return A(m,n,p,s);
     }
    }

    我终于体会到一点lisp和c的不一样,c需要很多中间计算步骤,赋值,lisp中没有直接赋值,只能通过传参数来赋值,这样lisp把所有的中间计算步骤转换为一系列的函数套用
    July 18

    wu

    梦里刻壁:二十年弹指间过,多情怀,芳心亦老。曾少年气吞山河,
    后面的不记得了。
    February 21

    脑子不用就会坏掉,最后你只记得你最熟悉的东西

    昨天考虑一个关于二叉搜索树的操作,关于查找一个结点我当时是这么写的,
    Node* BinaryTree::IsContain(int num)
    {
    if(!mRoot)
    return 0;
    else
    return Find(num,mRoot);
    }
    Node * BinaryTree::Find(int num,Node * pRoot)
    {
    if(!pRoot)
    return false;
     
    if(num == pRoot->mValue)
    return pRoot;
    else if(num < pRoot->mValue)
    return Find(num,pRoot->mLeft);
    else
    return Find(num,pRoot->mRight);
    }
    关于删除一个结点,我觉得这需要合并两颗子二叉搜索树,我还想用递归,但是前后的逻辑判断怎么放置也不合适,思路越想越乱,前后搞了半个小时,放弃.
    今天早上大便的时候突然想通了,只需要把待删除结点的左子树最大点或者右子树的最小点来代替代删除结点就可以了阿,而且要找到一个结点并不需要递归,查找的过程是寻着树的一枝单线继承下去的,写个循环就好了
    bool BinaryTree::DeleteNode(int  num)
    {
    Node * pNum = mRoot;
    Node * pFatherNum = mRoot;
    while(pNum && num!=pNum->mValue)
    {
    pFatherNum = pNum;
    if(num < pNum->mValue)
    {
    pNum = pNum->mLeft;
    }
    if(num >= pNum->mValue)
    {
    pNum = pNum->mRight;
    }
    }
    if(!pNum)
    {
    return false;
    }

    Node * pFatherMin = pNum;
    Node * pMin = pNum;
    while(pMin)
    {
    pFatherMin = pMin;
    pMin = pMin->mLeft;
    }
    pFatherMin->mLeft = 0;
    pMin->mLeft = pNum->mLeft;
    pMin->mRight = pNum->mRight;

    if(pNum == pFatherNum->mLeft)
    {
    pFatherNum->mLeft = pMin;
    }
    else
    {
    pFatherNum->mRight = pMin;
    }
    return true;
    }

     

    一会再找本书翻翻,看看标准答案是啥样


    January 24

    这个混蛋的法制社会和我们可怜的老百姓

    不知道是哪年国家出台了一个关于不许强制拆迁的法。然而今天早上我看到楼下来了20多位人民警察和若干民工对隔壁的楼里的4家住户进行了强制拆迁。整个过程异常的平静,被拆迁者没有什么反抗,或许他们早就搬走了,或许他们无从反抗,我只听人议论着说:不要再逼死一家就好。
    朝另外一边望望,该吃早饭的人吃早饭,该上学的人继续上学,一切都忙忙碌碌,仿佛什么都没发生,仿佛社会还是那个社会。可是我感觉不是了,这不再是我小时候熟悉的那个社会,不再是那个平静安全的社会。政府真的还关心百姓的利益么?如果真的有人因此家破人亡,那么人民警察还是人民警察么?这跟电影里演绎的旧社会又有什么区别?而我们可怜的老百姓,他们太傻,他们不会狡诈的利用法律来保护自己的最大利益,他们只能承受,有人有能力承受,有人没能力,但也得承受。这样的一个现实让我觉得这个社会也是但求自保就好了,人就像蚂蚁一样,生死各安天命。
    表面上歌舞升平的社会,口口声声的法制社会,我日。
    January 16

    光是由眼睛发出的?

    在现在看来,一些很简单并且无辩论意义的事情实际上在历史上是经过了很长时间的讨论和实践才有定论的.这让我觉得很多看似肯定的事情其实也未必肯定.而且每个伟大理论的产生,都是基于对前一个伟大理论的质疑上;值得庆幸的是,人们最后总是让理论相容而不是彻底互相否定.
    作为一个简单的游戏,请你用实验证明光不是由眼睛发出来的,能想出多少中方法呢?
     
    假设光是由眼睛发出来的,那么就不应该有黑暗,对吧?只要人睁开了眼睛就应该有光.
    假设光是由眼睛发出来的,那么请你找两个人在一间屋子里,请其中的一个人闭上眼睛,请另一个人观察光是否有所变化?
    假设光是由眼睛发出来的,那么我们还需要另一种介质来使我们看到东西,然而我们从来没观测到过这种介质.
    假设光是由眼睛发出来的,那么折射的顺序就应该和我们实际观测到的是相反的.
    January 05

    zEngine & FireEngine

    游戏已经做过两个了,神迹和盛大富翁,今年要整理出一个完整的游戏框架.工作准备分为两部分,一部分是zEngine,负责基于物理的光能计算和渲染输出,另一部分是FireEngine,是一个可扩展的客户端基本框架.
    zEngine不准备作成一个完整的图像引擎,它主要负责颜色计算,然而工作量估计占整个工程的2/3
    FireEngine里面会包含一个图像引擎,核心渲染模块是可替换的,工作量估计占整个工程的1/3
    FireEngine将可能会包括这些内容:GTL库,图像,声音,特效编辑器,UI,脚本处理,资源管理,网络