Siyao's profile火星猫PhotosBlogLists Tools Help

Blog


    December 05

    图书馆不再美好

    虽然人人鄙视占座,但人人都占。占到座的沾沾自喜,没占到座的心里忿忿不平。谁让咱人多呢,唉!
    October 20

    爱上图书馆

    来北京这么久了,新生活也开始这么久了,才写第一篇,不是因为我懒,而是因为我实在没条件,之前一直在教学区上无线,教育网的条件大家也清楚了,几乎无法访问space,现在好了,在宿舍通了宽带。大运村的宽带贵不说,还限流量,共享也麻烦,还要装计费软件什么的,我可爱的ubuntu就不可能共享了。综合考虑,还是办了网通的,虽然是计时,但是有改为包月的趋势,还能用路由器共享,可以在寝室享受wifi了。
     
    图书馆装了一个暑假的空调,终于在这个月的15号开了。除了因为北航超低的办事效率要到11月份才能将一卡通办下来所以我必须每天带着能证明我研究生身份的录取通知书才能进研究生阅览室之外,对于图书馆本身感觉还是蛮好的,因为我需要的书基本都能找到,而且没有人跟我抢原版书:) 更重要的是,还有可爱的阳光。虽然北京的阳光很少见,不是因为天不晴,而是因为环境污染太严重。我真的太喜欢这个季节的阳光了,阳光让我有寄托,有幸福的感觉。“分享阳光,分担风雨”,虽然没有人和我分担风雨,但是独享阳光的感觉还是很温馨的。
    August 10

    闪电

    我比较喜欢拍照,不好意思叫摄影,因为什么也不懂,也只有一个业余的傻瓜T7,看到什么有意思的或者好看的都喜欢抓起相机就拍。前几天晚上,天空闷响,可以看到远处天边在闪,所以就拿起相机来拍了。这个T7只有2s的暴光时间,ISO也比较低,所以夜景不太好拍。我也没有三脚架,相机也不带anti-shake,所以就用最土的办法,把相机放在家里的一个台子上,对着远方,看到快要闪电了,就按下快门等待。运气还不错,守到了一个效果还不错的一闪。后来雷雨区域行进到我家头顶了,又非常走运地在头顶拍到一闪。雨越下越大,雷暴越来越强烈,不敢站在窗口了,收工。
    May 25

    Google Soc project accepted!

    两周前,一个荷兰的网友Mark邀请我参加Google Summer of Code 2006,这是从2005年开始,每年Google 公司为了促进开源事业进行的一项活动,以每个学生$4500的资金资助一些学生在夏季完成和开源有关的一个项目,今年入选的学生有600多名,涉及上百个开源社区。
     
    我的项目属于Python Software Foundation,内容是从内存管理的角度提升一个从Python语言到C++语言的编译器的性能(Shed Skin project)。
     
    申请项目时的Proposal如下:
    Name: Zheng Siyao
    Email: zhengsyao at gmail.com
    IM: gtalk: zhengsyao at gmail.com
    Abstract:
    I will extend the Shed Skin compiler, so that memory management of
    generated code and hence performance is improved.

    About Shed Skin:
    Shed Skin is an experimental Python-to-C++ compiler. It accepts pure,
    but implicitly statically typed Python programs, and converts them
    into optimized equivalent C++ programs. The ultimate goal is to be
    able to run pure Python programs at the speed of manually written C++, so we can combine the elegance and productivity of Python with the efficiency of C++. For a set of 16 non-trivial test programs,
    measurements show a typical speedup of 2-40 over Psyco, about 12 on
    average, and 2-220 over CPython, about 45 on average [1].

    Proposal:
    Shed Skin still misses an important type of optimization. Because the
    author has mostly focused on type inference techniques, he has not
    paid much attention to memory management. However, Python memory
    management is rather inefficient: every object is allocated on the
    heap, causing costly (de)allocation and garbage collection overheads.
    Shed Skin currently does nothing to avoid such heap allocation. To
    improve the performance of generated C++ code, I will investigate and
    implement techniques to transform as much heap allocation as possible into stack- and static preallocation. This way, we can bring the performance of generated code even closer to manually written C++ code.

    Feasibility:
    It has been shown in the literature (mostly within the context of
    Java) that stack- and static preallocation can significantly improve
    performance. The author of Shed Skin has also shown that a very simple technique to perform stack allocation improves performance by 15% on average, up to 30%, for 6 out of 16 non-trivial benchmarks.

    Deliverables:
    1. Implement a technique to transform heap into stack allocation
    2. Implement a technique to transform heap into static preallocation
    3. Both techniques should work for all the benchmarks in Dufour's
    thesis, with performance at least matching his prototype techniques,
    and superior performance for more extreme demonstration programs

    Timeline:
    I'm going to work on the project for at least 12 weeks. Detailed arrangement as follows:
    1. 2 weeks to get familiar with necessary theory and Shed Skin and some literature;
    2. 4 weeks to implement a stack allocation technique;
    3. 4 weeks to implement a static preallocation technique;
    4. 2 weeks to fix any remaining problems, and to measure performance for the benchmarks in Dufour's thesis and some more extreme demonstration programs.

    About me:
    I am a Chinese undergraduate student majoring in Computer Science. I love my major and have a solid foundation in computer architecture,
    programming languages, compiler principles, operating systems and so
    forth. I was elected to the direct PhD program of another university and will skip a Master's degree to start a PhD course in a few months. I am currently doing my undergraduate project with the topic 'Python Implemented in C++'. I have established a subset of Python with the most important features, and developed a virtual machine based on the subset, as well as a compiler that translates Python source code to bytecode. I have used C++ to implement both. During the project, I have learned a lot about Python internals including its object model, its bytecode, and its running mechanism.
    I like Python very much because of its compactness and elegance.
    Python enables me to write beautiful code and be very productive.
    Although the authors of Python have put much effort into improving the performance of the Python virtual machine, as an interpreted language it is unavoidably slower than compiled languages. With the success of projects such as Shed Skin, we can fulfill our dream of having elegant code run with very high performance.
    经过了两周的漫长等待,google终于在它承诺的时间,太平洋白昼时2006年5月23日的24:03分(实际上到了24号了:) ),发出了announcement。
     
    如果你有时间,如果你有激情,如果你热爱开源,那么请关注Google Soc吧!
     
    April 23

    忙的无聊

    我好忙,但是我好无聊!!!
    March 09

    我是火星人

    研究Python的语言白皮书(其实就是Language Reference,白皮书显得很酷),作者说了这么一句话:If you are from Mars and tried to re-implement Python.......
    January 27

    无题

    很久没有更新这个space了,主要原因还是懒,闲来没事,还是写一写.
     
    这几天连着两个聚会,都是高中聚会,见到很多很久没有见过的人.我要去北京了,两位好友却要离开北京了,一个出国,一个工作.我要离开长沙了,一伙人却跑到长沙去深造...
     
    七班的同学聚会让我感到非常陌生,毕竟只待过一年,后来还有很多人是新进去的.这个班很多人都变化非常大,男孩子都变得很帅了!很多人也学会了抽烟喝酒...各个都很"玩的转"的样子,看样子我是落伍了...
     
    贴上一张高中九班聚会的照片.感觉我们高中越来越可怜了,被征了一大块地出去做马路,学生也似乎一届不如一届了...
    November 26

    宏基,宏碁

    咦,这不是某个电脑的品牌吗?我们在acer的官方网站上看到的是宏碁,在其他地方看到的确实宏基,于是,我们就认为前者是后者的繁体,于是,宏ji这个品牌诞生了。
     
    今天在网上看到一条消息,才发现,acer的创始人郁闷了,告诉大家碁其实不是“基”,而是“棋盘”的“棋”的异体字,所以,也该读“qi”了。
     
    虽然这样也更有意义写,但是总感觉“红旗”没有“宏基”好听了

    纠正一个“错误”

    我们经常说,“在windows工作”,“在linux”工作,某某软件是“linux”的,某某软件是“windows的”。突然想来,觉得从操作系统的角度说,操作系统只是对硬件的抽象,我们的所有工作都是在操作系统之上的,所以,我们应该说,在xxx工作,xxx的软件。
     
    这么说很别扭,权当搞笑了
    November 02

    关于找工作

    又是找工作的热潮,不过我们班找工作的不多,两三个的样子,有人欢喜有人忧。我相信忧的人现在一定很后悔,后悔当初没有打好扎实的基本功。到大四了,有多少人能够说自己在大学的时间过得很充实,能够认认真真实实在在踏踏实实地做了些什么。玩游戏很舒服,只是时间就这么悄悄地流逝了,流走了就没有任何后悔的余地了。
    有人说,保研的人过着猪一样的生活。我也想提醒那些保研的兄弟们,三年的时光很快就会流逝掉,你们希望三年后的今天后悔吗?从今天做起吧,做该做的,不给以后留下遗憾。
    顺祝小波这次好运,你还需要加油啊!
    October 19

    后悔选单片机这门课了

    当初认为自己好歹单片机也玩的很好了,就选了一门自认为很容易过的课,结果老师是个疯子,狂灌输机器码的思想,作业用机器码写,实验用机器码做,不知道这么做的意义何在。
    虽然没去上过一次课,但是可以感觉到上单片机课时满黑板的16进制数,老师开始培养16进制动物了。
    October 18

    补记

    长沙这鬼天气,忽然超冷,忽然超热,害得我两天前感冒了,有点低烧,幸亏立即吃药,没有落得去吊盐水的后果。根据往常的经验,这次属于伤寒。
     
    上周,李老师突然发短信要我交蓝牙技术的调研报告,害我措手不及,前段时间都忙着北航的面试和国庆休假了。还好,在图书馆找到一本“好书”,国内蓝牙也就引进了这么一本书还可以了。速成了一个上午,对蓝牙算是有了了解,而且也想好了开发方案。购买现成的蓝牙通讯模块,在ARM9平台上port一个嵌入式Linux和bluez蓝牙协议栈。想来也是一件超爽的事情,比较有挑战性。只是,成本可能要1500以上,不知道李老师肯不肯同意我的方案。
     
    这段时间在看《具体数学--计算机科学基础》。考虑到以后至少5年的理论研究,数学基础是必不可少的。而且,本科阶段作了这么些东西,感觉层次都不高,很多东西就是查手册,照着手册作的东西,觉得没太大意思了。现在这么多各方面的技术,看透了实际上也就这么一回事,严重感觉到认识事物的层次还不够深刻,而计算机学科,不管是哪一方面,本质上的都是数学。那些发明语言的,发明新技术的,基本上都是博士学位,也就是有很深刻科学底蕴的人,而我们自己没有什么底蕴,怎么有资格去深入研究别人的技术。突然后悔起当年没有好好学数学,因此现在返璞归真了,抓起数学好好研究。看了这一阵子,感觉具体数学这本书写的真是好。一些简单的数学能被这几个牛气的计算机科学家描述的如此的深入,真实太赞了!而且语言也很平易近人,不像国内的垃圾教材,以把读者吓跑为宗旨。翻开central south大学出版的垃圾数学教材我就想睡觉。千篇一律的描述,该清楚的地方绝对不会让你懂。
    September 30

    回家了

    刚从北京回来,算是很开心了,北航的面试通过了。导师还是非常好的。
     
    这几天可以好好休息一下了,不过还得开始准备毕业设计的事了,答应导师国庆之后交一份报告
    September 25

    程序设计大赛归来

    这两天去湘潭参加首届湖南省程序设计大赛。说得好听是拿了第四名,不太好听就是只有二等奖。只可惜一等奖只有两个。不过我们三个人有两个都是一点都没有准备的,还是要靠大可压阵了。
     
    名次是次要的,感觉最好的还是和队友的合作。轮流想算法写算法的感觉真是太好了。感觉他们编程好强,很快就能写出算法。有一道题目我想出来的算法,告诉他们,他们很快就实现了。Teamwork真的是太重要了。我们学校其他有一个队暑假训练了很多,
     
    感觉湘潭大学这次的组织比较不令人满意。就技术上来说,本地调试环境竟然和服务器调试环境不一样,一个是linux,服务器居然跑的是windows,在本地调试很好的程序提交上去老是结果出错。机器也舍不得配置大一点的内存,跑了一个java的eclipse和提交系统客户端就慢得要死了。linux的桌面系统确实也很不如windows的爽,毕竟人家擅长的是服务器。唉,不过也是第一次,不论是承办方还是参赛队都比较垃圾。感觉起码50%的队连语言都玩不转,不要说用语言来灵活实现idea了。
     
    明天上午就要去北京了,祝福自己一切都顺利吧!
    September 23

    要提醒自己一点

    一定要有自信!

    晕死了

    今天收到北航的面试通知,9月28号组织一次面试,也就是下个星期三了。内容包括上机C语言编程,英语口语听力,还有面试小组的面试。其实,挺怕c语言编程的机试,不是怕c语言,而是怕要写算法。写算法没有练过,比较没有底。一般都要查书才写得出,汗阿!英语的交流也很久没有接触了,不知道这几天速成怎么样。
     
    更头痛的是明天还得去湘潭两天参加湖南省程序设计大赛,根本就没有做任何准备,纯粹就是陪另外两个队友了。老师还不让不去,唉麻烦啊。
     
    25号下午才回来,28号就得面试了。
     
    God bless my interview!
    September 20

    北京归来

    匆匆忙忙去了一趟北京,上周六晚上到今天早上,跨越四天,每天都有一段时间在火车上。
     
    见了导师,聊了四十多分钟,感觉收获还是有一些。但他主要还是在要我作好心理准备。两个方面的,一个是毅力方面的,直博至少4年,要坐得住;第二就是竞争非常激烈,计算机学院只有10个名额。
     
    去交了材料,解决了两个疑问。第一,知道研究生院高校的官方解释了,就是有研究生院的高校,比如说我们学校就属于;第二,那个老师透露了9月底会组织一次面试,这样和我们学校的保送研究生的时间就不冲突了,如果北航没有希望了,至少回来还有退路。
     
    目前第一担心的就是送过去的申请材料被reject了。虽然我的条件完全符合要求,问题就是可能会不如别人符合的那么好。假设学校组织30个人面试,有35个人报名。有30个人的成绩排名在前5%,其他5个排名在5%之后,那么,虽然约束条件是10%之内,后面的5个人仍然会被掐掉。
     
    不想这么多,还是专心复习准备面试比较好。不过信心是最重要的,信心十足面对面试,失败了也不难过。另外就是心态,保持好的心态,直博is not the only way out。
     
    再谈谈在北京的感受。星期天早上七点半正点到达西客站,直快列车就是好,不晚点。前一天晚上在车上没有吃好,也没有休息好,所以下车很疲惫。朋友接车,倒了一趟车到北航东南门。这就到了传说中的北航。校内比较大,环境非常好,绿化简直就是一流,所以心情非常舒畅。东南门外是学院路,一条大马路,一路上都是高校。从东面一直往西面走就走到西门了,西门出去有点像湖大天马公寓那一块,我在那边就找到了住处。出了西门向北走到头,转一个直角,就是北门了,北门面对四环。南门就没有探索了。也就是说,这一所学校,至少有两面是面对大马路的,不太像一般对学校的印象,周围都像堕落街似的。北航内的环境特别好,星期天的阳光很好,走在校园内放眼望去就是很青翠的绿,赏心悦目。校内有一个小公园,感觉很不错,比我家那边的八一公园好多了。星期一去找导师的那一天上午,在校内逛了一阵子,觉得步行区的感觉特别好。因为没有任何车辆,所以空气好,也很安静。匆匆走过的学生的话也不多。不过逛着逛着就觉得这个学校变小了。。。
     
    朋友说,我不吃面食,不吃辣食,在北京就混不下去了。一天的觅食确实也比较郁闷,好歹晚上的一顿感觉也不错,把我给吃撑了。
     
    北京的路特别好走,转弯几乎都是直角,所以只要找到了一个方向,就可以认清标准的东南西北了。所以说阿,还是符合标准的产品好用阿!
     
    虽然在北京的时间很匆忙,但是感触还是不少,只是一下想不起来了。大概一心想着面试去了。至少希望还能有机会来经历一次面试。当然更希望能有第三次机会再来,这就说明有结果了。
     
    继续努力吧!
     
    September 14

    今天聚餐

    测评结束了,对于结果也不想多说,也不是我们能控制的了,我们的努力到此为止了。
     
    晚上我们几个人出去腐败了。感觉真好,很怀念这样的合作阿,以后就没有机会了,各奔东西了。记得以前数学文化节有个老师 介绍数学建模比赛的时候,几个队友比赛下来会有很深厚的感情。经历了这么多的比赛,真是很有感悟阿!
    September 12

    比赛结束了

    今天去和平楼把东西搬回来了,清理了一下现场。一片狼藉,疯狂地清扫,什么都乱丢,datasheet一大堆乱丢,看得不顺眼的剩下的元器件乱丢,作的没使用的板子也乱丢。那些垃圾的价值估计都上千了。中午赵旭在那里吃盒饭垫饭盒用的居然是全新的菲林纸。
     
    结束了,都结束了。。。
     
    两个月,有苦有乐,郁闷是这个暑假的主题。收获不仅是技术上的,更主要的还是团队的合作,以及自己功能角色的划定。
     
    电子竞赛也是很bt的东西,要求四天三晚催熟一个东西出来。没有成熟的思考,很难有周密的设计。四天只睡了12小时,包括第一天回来睡的7小时。后面最长没有休息的时间有24小时。几天来整个人都是晕晕乎乎的。最后的一个小时才是系统联调,像打仗一样。直到最后一分钟的时间里,微型打印机里打出了一些看上去还过得去的东西时,我摊在一边了。看着另外两个队友忙着打印论文,装箱作品,心里想着,这样就结束了。
     
    很怀念这特别的两个月。这种生活,估计一生就这一次了。难忘!