Blog migration

My blog (http://pluskid.lifegoo.com) has been down for several months. It disappeared so long that now I can not even found it in google. I'm very sorry to find that. However, it will (finally) be back online again. I hope the situation will recover gradually. Now I'm hosting my new blog through [...]

pluskid.lifegoo.com 大迁移

事情确实发生得有点突然,昨天晚上登上 Google Talk ,Jack 突然告诉我托管的服务器在 11 月份就要拿回来了。那代表所有 lifegoo.com 上的应用都会下线吧。这个 blog 是去年五月份的时候我请求帮忙开通的,非常好用,真的要感谢 Jack 和 sishen 了! 不过,现在得到这个消息还真有些伤心,毕竟是用了这么长时间的 blog ,incoming link 也是有不少的。但是总之还是先把数据备份下来吧。我想先用 wordpress 的方式备份一份数据库,再用普通网页抓取的方式把网站爬下来,不过好像 quark 昨天晚上已经帮我爬过了,还做成了一个 chm [...]

用 dvipng 来快速生成公式图片

用 LaTeX 可以生成漂亮的公式,这是众所周知的。但是并不是总是会用 LaTeX 来做整个文档。例如,虽然我也用 beamer 做过 slides ,但是我还是觉得用 PowerPoint 或者类似的工具可以更方便地做出漂亮的幻灯片来。又比如我在写 blog 的时候想要插入一个公式,等等。这个时候我通常会临时建一个 TeX 文档,输入这个公式,生成出 PDF ,用阅读器打开,然后截图。虽然已经这样做了许多许多次了,但是其实这个过程非常无聊,而且我喜欢透明的背景,截图是白色的背景的话,有时候不能很好地融入到场景之中。 但是其实输出为 PDF 格式只是 LaTeX [...]

百度印象

其实参加百度面试已经是在好久以前的事情了,那个时候我还在十字路口徘徊。一直想把自己的面试经历和对百度的印象写下来,但是一来是因为最近都比较忙碌,二来好像是有一些东西不能到处去说之类的吧。不过现在面试结果已经确定有一段时间了,而我也已经逐渐进入了准研究生的生活,所以我想写写也无大碍吧,反正也不是要说具体的面试题目。 百度的校园招聘比微软和 Google 都要早许多,我想大概是由于有内部推荐的原因(因为有许多朋友都在百度 :) [...]

Google Reader 在 Firefox 下一片空白

其实并不完全是一片空白,上面的一行诸如“Gmail”、“Calendar”以及右边的账户以及注销等按钮都在,只是内容页面完全是空白。刷新、重启 Firefox 、重启系统都没有作用。其实我以前碰到过同样的问题,但是那时好像是 Google Gears 和 Faster Firefox 这样的修改网络参数的扩展冲突的缘故。可是这次我两个扩展都没有装,还是遇到了这个问题。 在 Google 上搜索了一下,发现有不少人遇到这个问题,而且好像相当随机,各个版本的 Firefox 都有遇到过,甚至连 Safari 也有。那看来是相当地和人品相关了!不过我也找到了一个非常简便的解决办法:按住 Shift [...]

Hadoop 实战:谁是最倒霉的人?

上一次介绍了 MapReduce 的工作方式以及 Hadoop 这个开源的 MapReduce 实现,这次尝试用 Hadoop 来写一个简单的应用。要解决的问题是这样的:现在我手里有大量的邮件数据,并且我知道每封邮件是正常邮件还是垃圾邮件,现在我想要找出收到的邮件中垃圾邮件最多的人,亦即找出“谁是最倒霉的人”。 首先是 Map 的过程,输入数据是一封一封的邮件,彼此之间没有任何关联,因此可以很自然地分组处理。Map 将邮件转化到以邮件的收件人进行分组,如果邮件是垃圾邮件,则映射到收件人的垃圾邮件数“+1”。Reduce [...]

CS 科普:计算机如何做分类

本来是发在校内的 cc98 论坛上为 MSTC 的 staff 们科普用的,顺便转到这里来一下。 分类是一项非常基本的任务,例如,拿到一包奶粉,要判断它是不是三鹿牌的,“是”与“不是”,这是一个二元分类的问题。在杀毒的时候判断一个文件是否是病毒,也是一个二元分类问题。再比如,在玩杀人游戏的时候,对每一个人,你要判断出他是“平民”、“警察”或者是“杀手”,这是一个分做三类的问题,类别多余二的情况都可以通过组合多个二元分类来完成,比如,一种组合方式可以是:首先使用“是否是平民”进行分类,如果是,则分类完成,否则,再“是否是警察” [...]

MapReduce 初体验

最近一直都比较忙,blog 都好久没有更新了,不过正好今天十一开始放假,趁机了解了一下 MapReduce 相关的东西,想着还是把自己的经历记下来吧。 MapReduce 最先由 Google 实现并在论文“MapReduce: Simplified Data Processing on Large Clusters”中描述。差不多就是对计算模型做一些限制,让情况得以简化,在有 MapReduce 库支持的情况下,可以非常方便地写出一个应用,并且能够自如地在大型分布式系统里 scale 自如。 map 和 reduce 两个词来源于 Lisp 里的两个基本的函数,其中 map [...]

public interface RequestProcessorFactoryFactory

曾经在 reddit 上看到这个 Apache 的 FactoryFactory ,觉得很好笑,只是想,大概这样的名字就是严格按照某些设计模式做出来的吧。不过笑过之后也并没有去细想。 最近自己开始用起 Java 来,因为以前学过这个语言,所以很容易就上手了,之后差不多很多东西都很自然,直到有一天我发现自己不小心做了一个叫做 FeatureCollectionFactory 的接口出来,才觉得似乎是该好好想一想了。 有一些东西,自己以前也时常听到或者看到,但是觉得太“企业级”了或者太“Java”了,并没有去关注。比如 Factory 这个东西,为什么会需要 Factory [...]

很鹾的“电话面试”

因为朋友的推荐,阴差阳错地联系上了 Microsoft Ireland ,之前有两道题目,大约算一种海选的机制吧,很简单的,昨晚之后提交回去就可以了。后来说要约电话面试,最近也比较忙,约了两次在定在今晚十点钟,也就是爱尔兰时间的下午三点。 其实我是好好准备的,因为寝室的电话我都怀疑能不能用,还是只能用手机,准备了耳机线和话筒,纸、笔之类的,常见的我觉得会问到的问题都大致想了一下。可是有一个地方我确实是三番五次地忽略掉了——时间。其实最近几天 MSTC 在纳新,昨天我还在面试别人,一般如果遇到觉得合适的但是预感到有可能会很忙的那种人,我们都会问诸如“你能投入多少时间到社团里来”之类的问题。

下一个路口

似乎很久没有来写 blog 了,大概一眼望去,页面上似乎没什么技术文章,所以一直想写一篇,但是我酝酿了很久很久的这篇文章却由于最近一直在忙一些其他的事情,相关的东西还没有做出来,也一直迟迟不好写。不过还是决定来写一篇好了,关于生活的。 这也算是一个路口吧,一路走来总是这样的。寝室的四个人,一个已经搬到了考研寝室,几乎再也没有见过了;一个在外面实习刚刚回来,屋里的东西还没有收拾好似乎又出门去了,大概是为找工作而奔波吧?一个一边扎入实验室,一边为留洋的 PhD [...]

程序优化中的测不准原理

在《The Art of Computer Programming》一书中有这样一句话: Premature optimization is the root of all evil in programming. 相信大家肯定都已经耳熟能详了,也大都清楚我在“Ruby: 提升性能的几点尝试”中提到的优化程序应该走的基本步骤。虽然如此,这样的情况还是时常发生:花力气把代码大改一番之后发现性能并没有得到什么提升的时候,才开始悔恨自己没有先跑一遍 profiler 。可是如果只是机械地去重复“找出程序热点”、“优化热点”的步骤的话,实际上并没有掌握优化的真谛。 例如下面是我用 Valgrind [...]

思考是人的最后底线吗?

Image from the cover of The Emperor's New Mind本来不想把标题取得这么大,因为本来就是我自己说几句自己的看法,我也不是专门研究这个的,所以基本上等于是胡说了,不过想来想去也没有想到什么其他的标题。 [...]

在线 DNS 查询

今天不知道是学校的 DNS 出问题了(倒是经常出问题),还是国内的 DNS 出问题了(也是经常出“问题”),突然访问不了 github ,通过 online proxy 上了一下发现不是网站挂掉了,不过本地无法解析这个域名。 于是我便找了一个在线查询 DNS 的网站,Google 一下会有很多结果,比如这个 online nslookup 。不过通常查询出来的 ip 并不能直接在浏览器里输入进行访问,如果页面里有诸如 http://github.com/blabla 这样的绝对链接的话,还是解析不出来。更常见的一种情况是 web server 通过客户端访问的 host 来区别不同的 web [...]

玉泉西门行

中午去同学那里聊了一会关于实验室、导师以及若干问题,可惜到最后也没有得出什么实质性的结论来。不过三十二舍那边条件还真不错,寝室里面的环境和紫金港那边最好的那种寝室差不多,桌子也还是那么大;而寝室外面就是山,虽然有许多人会很讨厌虫子,但是我还是更喜欢像小时候那样住得和绿色更近一些;大厅也很宽敞,不像三十舍根本就没有大厅,连窗户都很小气,风都吹不进去,难道还是怕楼层太高了一不小心掉下去? [...]