• 接着to do list - [工作进度]

    2009-03-02 | Tag:工作进度

    好像算命的只能预测别人的未来,却不知道自己下一顿饭在哪里吃一样,不止一个人说过我很会开导别人,但自己却一次又一次走到思维的死胡同里……

    好像晚上跟小小师妹说了半天如何捏着鼻子开始一直逃避的事情,想想自己这几天又干了什么呢,看了几篇论文,代码么,今天一天就把贪心初始化变快了不少,又顺手写了个变种,再就是看看网页,扯扯淡,听听讲座,如此而已……

    deadline就要到了啊,有个算子还那么差,还是加把劲干吧,接着to do list

    1. 蚂蚁的算子重新实现一下,至少结果不要太难看

    2. 开始设计实验策略

    3. 有时间的话把禁忌也加到框架里

    4. 明天去借书,深入理解计算机系统,虽然只有英文版,而且是炒作出来的书,但确实还挺好看得

    水一句,豆瓣真是好网站呐,最早是看糗事百科解闷,自从看了煎蛋,糗事就戒了;现在上了豆瓣,煎蛋也可以戒掉了,嘿嘿 谁闲得无聊了可以试试,效果还真不错

  • home, sweet home - [心情]

    2009-01-20 | Tag:无题

    在吃了一大碗饭外加睡了两个小时,我终于说服自己我已经到家了

    其间做梦一枚,内容貌似和实验有关,一睁眼第一反应就是套上衣服往实验室赶……直到看到熟悉的家具才反应过来,我真的已经到家了,嘿嘿

    在火车上看完了那本疯狂的程序员,里边的一句话还是很有道理:疯狂的程序员绝对不是靠狂妄和拼命地程序员,而是能够踏实、持续努力的程序员。等真正做到了这两点,在写程序这个领域,能够限制你的只有你的想象力。近年来看到的少有的如此真诚的作者了,上一次好像还是十年光阴——梦想带我去飞翔,但那本书里多少还有些吹嘘的成分,总是在讲如何从月写月薪240到年薪几十万,而疯一书却完全可以看成是作者作为一名程序员的自传了,其间苦乐又有多少人能理解呢,火车上书被同校一材料系的同学借去看,从头笑到尾,根本体会不到作为程序员的辛酸与汗水,欸。 满纸荒唐言,一把心酸泪, 都云做者痴,谁解其中味,看来真的是这样。

    后记,因为看小说,前天新买的psp电池一点没用,可惜了100大洋……

    后记二:权衡了半天,还是把砖头书代码大全背了回来,神作再临,可以睡前重温经典了 嘿嘿

  • 跑实验的时候,结果时不时出现统计时间是负数的问题……开始以为是逻辑错误,程序调了个底儿掉,没找到错误。今天突然意识到应该是计时出了问题,clock()返回的是长整数,加上linux下的CLOCKS_PER_SEC是1000000(Windows下这个数是1000,难怪原来用的时候没有发现问题),运行时间长了自然会越界,然后会滚回滚。

    之后翻clock的帮助文档,发现里边写到

    Note that the time can wrap around. On a 32-bit system where CLOCKS_PER_SEC equals 1000000 this function will return the same value approximately every 72 minutes.

    我每次开始记录下clock()返回值,结束时记录下,做差,记录结果,难怪会出错,而且可重复性那么差,半个小时才重现一次错误。

    发现了问题,接着就得找解决方法。找来找去(其中在碧海青天C版版主同学帮助下,顺便强烈感谢) 知道了用timeval结构体能解决问题。

    timeval里边有俩成员,tv_sec 的单位是秒;tv_usec 的单位是 1 / CLOCKS_PER_SEC = 0.000001秒,记录时间的时候用gettimeofday函数,下面摘自man gettimeofday


      #include <sys/time.h>

      int gettimeofday(struct timeval *tv, struct timezone *tz);

      int settimeofday(const struct timeval *tv, const struct timezone *tz);

      Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

      settimeofday(): _BSD_SOURCE

    DESCRIPTION
      The functions gettimeofday() and settimeofday() can get and set the
      time as well as a timezone. The tv argument is a struct timeval (as
      specified in <sys/time.h>):

      struct timeval {
      time_t tv_sec; /* seconds */
      suseconds_t tv_usec; /* microseconds */
      };

      and gives the number of seconds and microseconds since the Epoch (see
      time(2)). The tz argument is a struct timezone:

      struct timezone {
      int tz_minuteswest; /* minutes west of Greenwich */
      int tz_dsttime; /* type of DST correction */
      };

    这样计算时差就很容易了,

    timeval tv, tv1;  
    gettimeofday(&tv, 0);
    //blah blah
    gettimeofday(&tv1, 0);
    cout<<(tv1.tv_sec - tv.tv_sec + (double)(tv1.tv_usec - tv.tv_usec) / CLOCKS_PER_SEC)<<endl;

     就记录一下,万一有人和我类似问题呢,嘿嘿

    打完收工,接着干活去 

    p.s.: 今天搞到19号站票,寻思要不要再买块电池打一宿游戏的……

  • 冬季的校园 - [心情]

    2009-01-07 | Tag:无题

    中午在校园里溜达,突然很想晒太阳,跑到图书馆前的广场,捡了个长椅坐下开始眯瞪,仰着头看天,蓝色的天空还真是在家不可能见到的。低下头的时候居然看到小小师妹,囧……

    大中午被人逮到晒太阳还真是丢人,欸

    跑回实验室接着敲代码,发现浮点数精度误差,第二次了……第一次还是半年前的局部搜索算子……

    没办法,调参数,阈值高了倒是精确了,漏判率也上去了, vice versa,艰难的tradeoff啊……

    晚上回来,看到亮着的灯,还以为奇迹发生室友没有回家……结果开门才发现那不过是他们给我的告别信号……囧

    想起老狼冬季校园里唱那宿舍里的录音机也天天放着爱你爱你,可是每到假期你们都仓皇离去。昨天他俩收拾行李的时候,我就莫名其妙地开始感伤,听到擦拭皮箱的声音,我突然想到明年这个时候就真的要各奔东西了。今天和实验室同学聊天的时候说到大四保送生和工作同学的区别的时候,说其实我们当时并没有那么多的感触,因为毕竟还有很多同学可以继续相守两年多。不知道明年的这个时候我们会是怎样的心态……

    晚上接到老妈的电话,第一句话居然是你还想不想回来了……虽然知道是开玩笑的但内心还是不大不小地抽搐了一下,我也不是不想家,只能怪我能力差干活慢迟迟结束不了工作吧,加把油干,早点回家,陪老妈过年,以上。

  • 纠结 - [Beatles]

    2009-01-04 | Tag:无题

    这个词很流行吗,跟风一把

    最近实在是很纠结。好容易实验效果算是不错了,突然发现个诡异的小问题,不知道老板会要求怎样处理。

    再下来估计就要开始跑程序K文档了吧,麻烦的事情。不过至少是有那么熹微的希望了吧,加油吧,不要留下什么遗憾就好。

    这个还不是最纠结的了,最近看到诸如排队、买票的新闻或者帖子就会在内心不大不小的抽搐一下,犯愁啊,因为助教批改试卷加上论文的事情赶在了和本科生一起抢票……今天看到BBS上关于排队买票的帖子实在是抓狂到不行了……初步计划6号白天回去,先把jerry拜托的事情办了,找哪个同学蹭一晚上或者干脆露宿街头或者车站麦当劳一宿,赶在早起三四点钟跑到车站排队买票,只能祈祷一切顺利了……

    神呐,赐予我两张车票吧……