编程

解密辅助工具

我们的密码学课程的作业之一就是老师给你一段字母拼成的文字,单词已经划分好了,每个字母都代表另外一个字母,让你翻译成原文。翻译的方法是通过找出一些特殊的部分,不如两个相同字母结尾的单词、单字母单词之类的,来找出更多的字母。对于这种方法的难处,我在之前的文章里有过描述。其中也说了我要写个工具来帮我干这个事情。今天用Ruby简单的写了这么一个。放在了这里

英文单词列表

《密码学》课上的一个内容就是“破译”密码。其实我们也不算真正的破译,只是老师选一段话,把每个字母用另外一个字母代替,让我们找出原文。比如这个:

Twitter备份的代码

我前天写过文章,说写了一个保存Twitter记录的工具。今天把代码整理了一下,上传到了网上

目前我只完成了数据获取的部分,至于报表生成的部分我还没有写。写个cgi来输出HTML表格,我上学期学过,应该不难。

程序中用到了sqlite3-ruby和twitter4r这两个库,它们都可以通过RubyGems来安装。

Twitter备份

自从上次开始,我就想写一个工具,可以像Google搜索历史那样,把Twitter的历史记录下来。思考了几天后,今天开始动手写。

我简单的找了一下,没看到有很合适的工具,也不知道有什么好办法,就用最简单粗暴的方式,写个定时运行的程序,保存tweets到sqlite数据库中,然后从数据库中获取数据,得到列表。

在ConTeXt中使用花体字母

今天上密码学课记笔记的时候,用到了花体英文字母。我之前没在TeX中用过,于是上网搜索,结果不论搜“花体字母”还是“script letters”都找不到。大概是ConTeXt的名字起得太大众,文档又不多,结果搜索的时候只找到一些包含英文单词context的文章。LaTeX就没有这个问题:)

想写一个类似co.mments的东西

co.mments关闭了好长时间了,我的Safari书签栏上还留着它的添加书签。我一直讶异目前市场上没有这类工具,相反,印象里coComment似乎挺火的。我在最早的时候分不清co.mments和coComment,后来发现coComment提供的是插件,非常麻烦,而且似乎还无法达到我的要求。同时我一直觉得co.mments这个工具应该是人人都喜欢的,因此当开发团队说要关闭这个服务时,我着实的吃惊了一把

select标签的兼容性问题

注:题目可能起的不恰当。我对网页编程没什么经验,想不出一个合适的题目来说明问题。

我们这次的《分布计算》课程的作业中的第二部分,是让我们实现一个简陋的分布式任务管理软件。要求是打开网页后,上面显示目前被分配了任务的用户列表,点击用户名称后,会显示这个用户目前的所有任务,这部分要求在不刷新网页的情况下完成,也就是用AJAX技术。然后要让使用者可以添加任务,如果也可以用AJAX实现则有加分。题目只要求必须能在firefox中正常使用(也就是说不需要处理IE6的ActiveX)。

成语列表

今天浏览TopLanguage的时候,看到有人提到成语接龙,于是想自己也试试。找到一个成语列表似乎是基本的一步,但从Google上找了一会,居然没有。看到问典上有个还比较全的成语列表,可惜是按照音调排在了不同的网页里,于是自己写了几个Perl脚本,把成语提取了出来。这几个脚本是相当quick & dirty的工作,不求功能完整,也没有整合起来,手工分成几步完成了全部工作。

为项目填写迭代细节

“迭代细节”一次,是我根据“iteration detail”直接翻译过来的。中文名词里是什么,我不清楚。

我们项目的第一阶段终于完成了,最后的任务就是填写迭代细节表格:包含了用户需求、使用案例、估计时间与风险时间、任务说明以及最后的迭代细节。其它的部分我们一开始都填好了,但迭代细节我们一直留着没填。这本来应该是在项目开始的时候填写的,为什么留到现在才弄呢?

项目体验

我们《软件工程》课上的项目作业快到了第一阶段的截止日期了,因此近期我们的工作量都大了起来。之前我从来没与别人合作写过程序,也从来没有写过复杂逻辑的程序(从来没用过Java的package),因此这次也学到了很多。