Archive for the ‘Coding’ Category

去掉 Rainlendar Pro for Linux 的“未注册”字样

很久没有更新 Blog 了。但这并不代表生活索然无味,最近的一段时间, MSRA 总算办夏令营了!于是有幸到在北京玩了六天,见到了许多新老朋友,有许多事情可以说。但如果篇幅有限,只能用一个字来总结这次夏令营,那只能是“热” 实现了 Linux 下的一个通用的 Sandbox,新版本 ZOJ 的后端应该就是它了。同时,发现了现有 ZOJ 几个非常严重的 Bug,真不知道在开源的情况下 ZOJ 是怎么活到现在的,现在想想还是冷汗直流啊 与学校免试研究生相关事情总算告于段落了,结果是和朋友们一起还要在学校呆至少两年多。可以向后来的学弟学妹们传达的信息是,如果不想被直博,那么就趁早准备出国吧… 做了一些简单的对各种 Web Sever 的性能测试,发现 Thin 表现出色,之前对用 ROR 性能的担忧就减少许多了。新版本的 ZOJ 的前端实现应该就是用它了 跟踪了东方永夜抄并实现了有一些功能的外挂,虽然即便这样,尝试了几次也只能让最高分的最高位达到 4 ,即将到 5,相比之下最高的未作弊记录是 6 … 用 LaTeX 和一段 Ruby 脚本自动实现集训队的代码模版的排版,相比之前手工用 Word 来排版,就不会出现少一个右括号而导致的悲剧情况了 这些事情有的是属于另外一个大一点的事情的一部分,完成度还没有到一定程度;有的是通过 Google around 再自己调一调就能完成的事情;有的是不适合公开的事情,所以就没有写 那么回到正题,Rainlendar 是一个很好的桌面日历软件,官方非常厚道,未注册的话只会在网络日历事件的工具提示中显示“[UNREGISTERED]”,没有使用时间限制和其他功能限制。而且,只要为 Rainlendar 的翻译做出一点贡献就能免费获得一份授权。

一个 NFA 引发的血案

引发血案的 NFA 就是下面这个,来自最近的《编译原理》作业的一道题: 把 NFA 变成 DFA 是有明确的办法的。只是,如果试着画一画上面这个图,就会发现另外一个问题,到底要画多少条线,几个圈,会不会把自己绕糊涂呢

云中的搜狗,云下的输入法

前不久,搜狗官方公布了云输入法,简单的说就是把所有的拼音转换成汉字的工作都交给搜狗服务器来做,按照搜狗官方的说法,服务器的词库和速度都是个人计算机不能比的,当然效果会很不错,错字会比较少。实际使用感觉也十分好,让我想到了第一次用微软拼音输入法的时候,那种能够整句输入并且结果不错的兴奋的感觉 :-) 官方给出的云输入法是基于web页面的,只能在浏览器中使用,目前只支持全拼,在浏览器中一旦转移到其它页面,就需要重新加载一次输入法,用起来成本很高。检查后发现官方的云输入法客户端其实就是向服务器发送了明文的全拼字符串,然后服务器会返回一段js脚本,包含了候选结果,往往第一个结果就是所需的,确实识别结果不错。Linux下的各种拼音输入法都没有Windows平台下的好用,既然搜狗云输入法是这样简单的AJAX请求,那么能不能包装一下它,让它在其他的地方也能用呢?

爱浮云

“浮云”被用来指花哨而没有实际用处的东西,在计算机日常使用中,我想大多数人是希望自己看到屏幕上的内容能够漂亮一些,是喜欢“浮云”的。不过也有一些人希望计算机反应更快,有更多可用内存,界面简洁朴素,够用就好。虽然我曾经也是后者队伍的一员,但现在计算机这样快,要对自己好一点 昨天总算把yy许久的自己的桌面歌词在Linux下实现得可以自己用了。 这里有一小段演示视频(1.23MB),由于录制帧速不是很好,实际看起来的动画要比视频中的连贯和清楚一些。如果视频比较麻烦,下面是拼成的图片动画演示,实际文字中心在我屏幕的位置是下方靠近任务栏,横向上的0.618处:

Limited Memory

今天在虚拟机里面用Word处理文档的时候,突然硬盘灯一阵狂闪,然后虚拟机就一起消失了。 这种事情屡见不鲜,很明显是Linux内核把占用最多内存的程序(这次是VirtualBox)终止掉了,而硬盘灯为什么会狂闪呢?这是因为在内存用光之前,Linux的pdflush会把dirty pages写回磁盘上腾出内存给其他程序用。这段时间系统几乎处于不可用状态,Annoying!

电脑不够快

电脑围棋现在处于童年甚至婴儿时代 ——陈志行   在一个论坛中有这样一个新手求助的帖子: 昨天,我用C语言写了一个程序,用来计算一个小学问题:在4*4的方格里填1~16,使横、竖、斜都相等。结果,计算机算了半天,没结果。而cpu使用为100%,我检查过了,不是死循环。我估算了一下,是计算次数太多了,我的电脑不够快。先将程序源代码贴出来,大家帮我想想办法。哪位有高级计算机,帮我算一下,谢谢!

TLE回忆录

TLE是Online Judge上很常见的一种错误:Time Limit Exceeded。它也是一年一度的趣味在线编程比赛,今年是首届,印度学生主办的(Link)。 说它“趣味”是因为它的题目别具一格,要求和评分标准也和普通的算法竞赛不一样,比如有比谁的代码最短的,有要把代码写成回文串的,不准代码中有空格的等等。 这次比赛的时间正好是寒假末期,我正好有时间参加,就注册了一个帐号去试了一下,发现果然是高手云集啊。 官方公布有解题报告,所有参赛代码也都在比赛完后开放。我本来也不想说最佳解法,只记一下我自己的流水账就好。其实这篇日志被我拖了很长时间了,就从“小结” 变成了“回忆录”

朝花夕拾: 帝国时代变速器

最近应急写程序时用到了VB6,又见到了以前自己写的一些小程序, 有还像样的,有只给自己用的,也有一直没完成的…… 既然现在有空间了,独乐乐不如众乐乐,就把其中的一些看起来还好的,大家还有可能用到的程序拿出来分享吧 :-)