SkipOOMiniJOOL编译实验前端发布

  MiniJOOLCE是SkipOOMiniJOOL编译器实验的前端,从源代码到LIR,已经做了部分优化,LIR已经包括了数组越界检查。目前经我测试,可通过test/correct下所有的测试样例,对test/warning下的所有测试样例均报告warning且正常编译,对test/error下的所有测试样例均报告至少一个错误(不一定“准确”)。   分析器类名:at.ream.minijoolce.skipoominijool.parser.Parser   语法检查器类名:at.ream.minijoolce.skipoominijool.checker.Checker   AST->LIR转换器类名:at.ream.minijoolce.skipoominijool.ast2lir.AST2LIR   Update 2010-6-20: 语义检查器改为抛异常表示语义错误。   Update 2010-6-20: 修正bug,为优化死循环造成,漏加Compare Label导致Continue语句不能正确翻译。感谢kyy报告bug!   今天早上我就将离开合肥去参加RoboCup世界杯,直到26号才会回来,本次发布就大概是我的最终版本了。世界杯期间我的电话无法打通,故这里我不能保证能给您非常及时的技术支持,不过还是欢迎您遇到问题就联系我(Email: windy@ream.at / QQ: 5809853),也欢迎您提供测试样例。   [download id=”56″]   压缩包里包括了一个没什么用的系统设计说明。解压缩时请务必保证目录结构与压缩包中相同。   生成的LIR中对print语句翻译为call _print_int、call _print_bool和call _print_str,对read语句翻译为call _read_int、call _read_bool和call _read_str,主方法名为main,默认生成一个名为_seg_fault的函数用于处理数组下标越界。   生成win32 x86汇编时,请将主方法翻译为_main,print和read的实现请使用_printf和_scanf,数组置0值请使用_memset而不是bzero。   想看代码请直接反编译吧,跟我的源代码差不了多少。   愿主保佑WrightEagle。

爱里没有惧怕

  读《哈利波特》系列,常见到这样的一个名字——You-Know-Who(神秘人)。世人称他为You-Know-Who,甚至He-Who-Must-Not-Be-Named,因为人们惧怕他,连他的名字也不敢提。我曾想,只要人们仍然称他为You-Know-Who,Tom Riddle就没有死——永远活在人们心中。哪怕是千古骂名,世间有几人能做到如此?   今天,5月35日,我们纪念刘和珍君。其由不过如此——中共的61年在我们心里留下了刻骨铭心的恐惧。czyhd问:“是不是只要我们记得,他们就没赢?”我想,并非如此。   伏地魔以恐惧为武器,邓布利多和哈利·波特却坚持叫他Tom Riddle——因为爱里没有恐惧: 爱里没有惧怕。爱既完全,就把惧怕除去。因为惧怕理含着刑罚。惧怕的人在爱里未得完全。(约翰一书 4:18) There is no fear in love; but perfect love casteth out fear: because fear hath torment. He that feareth is not made perfect in love. (1 John 4:18) 从来没有人见过神。我们若彼此相爱,神就住在我们里面,爱他的心在我们里面得以完全了。(约翰一书 4:12) No man hath seen God at any time. If we love one another, God dwelleth in us, and […]

从中西文化差别看六·四

转载自 2007 华夏快递 kd070604. 杨林 一、跪着与平等   一九八九年学潮的起因是胡耀邦的去世,但引起绝食的却是李鹏拒绝接收学生的请愿书。要不是邓小平把李鹏扶到总理的位置上,如果当时的总理有一点智慧来处理学生的请愿,绝食就不会发生。不接请愿书不只是智慧问题,更是心态问题。   记得有人曾经说过,中国人只能是对别人跪着,或别人对我跪着,而不能平等地站着或坐着。当时没有多少人觉得跪着递请愿书有什么不妥。学生把自己摆在低下的地位,给对方更多的面子,以示诚心。他们以为这样对方就会放下架子,来接他们的请愿书,会和他们对话。其实,不管他们是跪着还是站着,李鹏们都不会把他们放在眼里,以后的四·二六社论、戒严令和六·四屠杀都证明了这一点。 二、成者王、败为寇与程序公正   今天还记得六·四或把六·四铭刻在心的人们,不论在国内还是海外,已是极少数。中国人已有太多的苦难和习惯于遗忘,是原因之一。犹太人的苦难并不比中国人少,然而他们拒绝遗忘。看他们对待纳粹的态度,再比较我们对待抗战、大跃进、文革的态度,就知道中国人是多么擅于遗忘。   有的人“忘记”六·四,甚至为统治者辩护,深层的原因是根深蒂固的“成者王、败为寇”的思想。在他们看来,因为中共还在台上,中国才迎来了“经济繁荣”的 “盛世”,所以,共产党当年的做法就必然有道理。这些人没有对真理的追求(“真理”本身就是外来词),不关心程序的公正;他们只关心最后的赢家,而不管其过程是多么邪恶、多么残忍。纵观中国的历史,无不如此。宋襄王成为笑柄,秦始皇视为英雄,便是最典型的例子。   这些人对柴玲的痛恨也源于此。柴玲的“用流血唤醒民众”的说法,比起中共的所作所为根本算不了什么。如果当初的流血真的唤醒了民众,导致了中共的改组,柴玲(们)就是今天的英雄。对中共用几千万人的血和谎言取得了政权,用几千万人的生命去试验超英赶美的“大跃进”,又用千百万家庭的破碎和一代人的青春去树立一个神像,这些人都可以遗忘,或者用“失误”一笔带过。但他们不能容忍柴玲的想法,却愿意为刽子手辩护。这无非因为柴玲等是失败者,而刽子手还在台上。   说起程序公正,在《华夏增刊》纪念文章里,有人已经指出当初的屠杀实际上是一场军事政变。绝食到五月底已经冷下来,其实只要再拖上几个星期,学潮就会自动结束。邓小平之所以要杀人,目的是为了封住人大的口,因为当时已有足够的人数要求紧急召开人大会议。人大会议一旦召开,邓小平、李鹏的下台几乎是肯定的。 三、国家与个人   David Echeman博士曾在“健康家庭”讲座上提到了中西方的文化差别。在他看来,东方注重于集体的荣耀与羞耻(group: honor vs. shame),而西方强调个人的清白与负罪感(individual: innocent vs. guilty)。在什么都要为抽象的集体着想的文化氛围里,个人的利益服从集体的利益,小集体服从大集体,最后的结果是一切都服从于几个人甚至一个人有最后解释权的“国家利益”。于是,个人成为“草民”,个人的生命变得微不足道,几千万人的生命还是微不足道。   在一次辩论中,我的一位朋友几乎把所有发生在近代中国的事件都归为“手段”。我问他,如果几千万人的生命都是“手段”,那目的是什么?他虽然没有说,但我知道,朱成虎说出了很多中国人的内心想法:就是如果有一天能和美国打上一仗,哪怕中国的人口只剩下零头,哪怕地球的大部分地方都变成了焦土,他也在所不惜。   今天民众对待六·四的淡漠,另一个深层原因就是这种“集体主义”,更确切一点说,是“大中国”主义在作祟。今天到处在“唱盛”中国,比如到2030年中国将成为第一经济大国。为了这个强国梦,几百矿工的生命不算什么,几个村几个镇的艾滋病人的生命不算什么,民工拿不到工资不算什么,穷人上不起学看不起病不算什么……在这种思维之下,不少人已经不在乎遥远的十八年前发生过什么。他们不要任何“噪音”来干扰所谓的强国梦。

用GAE同步twitter到人人网状态

本文所述内容已失效,请转向用GAE同步twitter到人人网状态之二。   yegle做过一个同步twitter到人人网状态的PHP脚本,但要求有点高——必须有php-cli组件,估计大多数虚拟主机都没有。Shellex又做了一个用GAE实现的版本,这个可用性高一点,不过他的原版需要webpy和simplejson,需要上传很多东西,而且拼写有错。我改了一下,直接引用django里面的simplejson,再用webapp替换webpy,这样只需要一个文件就能实现了。 更新记录   2010-5-16:跟随校内网更新。   2010-4-25:跟随校内网更新。   2010-4-10:跟随校内网更新。   纪念冯正虎成功回国特别更新:Retweet一并同步。 使用指南   请避免使用“记事本/notepad“编辑twitter2renren.py。   允许同步以”@”开头的tweet:注释掉第46行,同时将第47行的缩进减小一格。   取消同步retweet:注释掉第38, 39, 42, 43, 48, 49行。 脚本文件twitter2renren.py #!/usr/bin/env python2.6 #coding=utf8 import Cookie import urllib import re from django.utils import simplejson from google.appengine.api import urlfetch from google.appengine.ext import db from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app renren_usr = ‘你的人人网用户名’ renren_passwd = ‘人人网密码’ twitter_usr = ‘推特用户名’ […]

域名更换公告之二

  梦.:如此短暂的域名已于2010年4月23日更换为d.ream.at,相应的feed地址也已更换,请注意更新。原域名沿用至2010年10月25日。对给您造成的不便,我深表歉意。请注意,Google Reader不会做出“自动调整”。我把原域名做了301永久重定向,在10月25日之前,Google Reader在更新feed时会被重定向到了新的域名,但10月25日之后原域名将失效,那时Google Reader将无法更新。   这些天遇到了些事情,比赛也快临近了,便无暇来写blog,不过梦.:如此短暂还会坚持下去。其实很舍不得www.briefdream.com,但d.ream.at看起来更帅一些。   WordPress更换域名的确是有点麻烦,主要在于很多地方都用了绝对URI,下面的SQL语句可以把数据库里出现原域名的地方统统换成新域名,不过不包括插件的数据表。 UPDATE wp_options SET option_value = REPLACE(option_value,’原域名’,’新域名’); UPDATE wp_posts SET post_content = REPLACE(post_content,’原域名’,’新域名’); UPDATE wp_posts SET guid = REPLACE(guid,’原域名’,’新域名’); UPDATE wp_users SET user_url = REPLACE(user_url,’原域名’,’新域名’); UPDATE wp_comments SET comment_content = REPLACE(comment_content,’原域名’,’新域名’); UPDATE wp_posts SET pinged = REPLACE(pinged,’原域名’,’新域名’); UPDATE wp_posts SET to_ping = REPLACE(to_ping,’原域名’,’新域名’);

赠王静

  王静来信说伊将离去。无诗文之才,仍以诗经赠子。 车辖 闲关车之辖兮,思娈季女逝兮。匪饥匪渴,德音来括。虽无好友,式燕且喜。 依彼平林,有集维鷮。辰彼硕女,令德来教。式燕且誉,好尔无射。 虽无旨酒,式饮庶几。虽无嘉殽,式食庶几。虽无德与女,式歌且舞。 陟彼高冈,析其柞薪。析其柞薪,其叶湑兮。鲜我觏尔,我心写兮。 高山仰止,景行行止。四牡騑騑,六辔如琴。觏尔新昏,以慰我心。

pppd禁止相同用户多个连接

  推特教牧师发起了一个VPN公益项目,我帮忙搭建了测试用的基本的VPN server。需要禁止PPTP VPN相同用户多个连接。Poptop的用户验证是由pppd负责的,pppd自身没有这样的功能,而为10用户级别的VPN做一套MPPE+RADIUS+MySQL有点过于奢侈了。Google一下发现这里有一个利用pppd的auth-up脚本实现禁止多个连接的脚本(新连接自动踢掉旧连接),需要用一下awk,原脚本USER变量写错了,另外不知道为什么在debian下会被提示“PPID是只读变量”,更正后的脚本如下: #!/bin/sh # get the username from the parameters USER=$2 # create the directory to keep pid files per user mkdir -p /var/run/pptpd-users # interlock access to directory lockfile-create /var/run/pptpd-users # if there is a session already for this user, terminate the old one if [ -f /var/run/pptpd-users/$USER ]; then kill -HUP `cat […]

0.0131 Per View

¥0.0131,是我为梦.:如此短暂的一篇文章的一次全文阅读付出的维护费用,用VPS搬到Woodstock, IL后两个月的租价除以这两个月里所有文章被阅读次数的总和得出。想到梦.:如此短暂每被大家访问一次,我就要出1分多钱,有时候还是挺心疼的。当然,租价的一半应该算作我的上网费,实际上没有那么多。 随着技术的进步,现在有了在linux上用TUN/TAP构建6to4隧道的方法,提供了进一步下降IPv6 VPN的成本的方案。受此启发,VPS又一次搬家,到了Asheville, NC。但是并没有采取这个方案——因为我用的还是Xen based VPS。实测Native IPv6与Tunnel Broker接入在性能上没什么区别。搬家之后上面那个数值将下降到¥0.0098。