Category: 未分类

  • I’m back

    有朋友奇怪为什么这几天我的Blog连不上了,因为有人在同一台服务器上放了不好的东西。一方面对这种人表示强烈的不满,另一方面对自己生活在这样的环境中表示深深的同情。

    在主机挂掉的这几天里,我一直在考虑自己是不是太依赖于电脑,太依赖于网络了。每天都要上网,看看有没有新邮件,别人的Blog里有什么更新,digg.com上有什么新热点。对看到的东西有些想法,就想在Blog上把它写出来。主机被封了,我又不停地发消息问meyu什么时候能好,当下什么进展。

    这样,很少读纸质的印刷品了,也很少通过写信和同学交流了。总感觉比较耽误时间,可是坐在自习室里,又觉得没什么东西可看,或者需要看的东西太无聊了。可能是我现在所学的,确实很无聊吧。要是有个很让人感兴趣的项目来做,也许可以让我集中起精神来。

    那些不注意自己网站内容的人也应该好自为之了,以前总想着为自己注意点,现在看来,更应该为别人想想。

    好了,用Blog记录生活,继续享受这被阉割过的Internet。我们仍然可以自由地在互联网上冲浪,不过互联网最吸引人的特性──最方便地获取信息──在某些情况下已经失去了。

  • Icon generator 泛滥

    最初发现网上有icon generator,只是一些像Email地址转换成图片、生成个XHTML valid 之类的小标志。

    现在看,五花八门的icon generator层出不穷,做什么的都有。昨天看了一下digg.com的RSS,有40多个未读条目。其中关于generator的就有三个,已经是不小的比例了。比如昨天写过的生成Web 2.0样式logo的网站,挺有用的,还有一个是生成警告图标的。另有一个只是for fun,生成搞笑的图片

    有人更是过分,说”Everytime somebody submits ONE generator, I submit LOTS of generators.” 原来他有一个Blog专门是关于generator的,见The Generator Blog,不过大部分都很弱智,用来玩的。PS: blogspot又能访问了。

    说不定有一天出来个家伙一统天下,你想要什么图标我就能生成什么图标。

  • Web 2.0 logo maker

    目前网络上各种各样的icon maker可以说是层出不穷,以前也曾写过一篇日志列举了一些生成Email icon的网站。

    今天看到新出来一个网站(Logo Maker: Web 2.0 Stylr),专门生成Web 2.0样式的网站标题的。对于像我一样不会Photoshop的人可是个好消息。

    根据作者在digg.com上的留言,这个网站被“blogged about like crazy in China”。还有什么是Web 2.0 logo?作者说是“over-done-reflection-logo”。网站的右边列出了最新生成的一些logo,看一下就知道是什么样子了,被许多Blog所采用。

    尽管这种图片已经“用滥”了,我还是生成了一个放上来,比以前的文字好看些,又没有破坏整体的风格。或许正是作者所说的在中国如此受欢迎,字体列表的最后有一个“汉鼎繁古印”,正适合于中文。

    程序目前还比较简单,只有两种渐变效果。不过由于大众的要求,作者可能会下功夫把它做好。很期待,我已订阅了他的RSS。

  • Google Reader Toolkit

    一直希望能有Google Reader Notifier这样一个Firefox扩展,像Bloglines一样,可惜以前搜索的时候只能搜索到一个For Mac的Notifier。Google Reader并没有正式发布一个API,所以它的插件开发并不活跃,不过有人通过反向工程分析出来一些头绪,并且得到了Google Reader开发小组的认可,见此链接。也想过自己做一个扩展,但Javascript实在是不熟悉,只好作罢。

    今天又搜索,终于发现有人做了,叫做Google Reader Toolkit。很简单,甚至没有实现登录,只有自己登录或通过别的扩展登录Google帐户才可以使用。目前与Gmail Manager扩展有冲突,但可以与Gmail Notifier共同使用。不知道Gmail Manager是如何工作的,很可能是登录、检查、注销这样,于是Google帐户一般是处于注销状态的。我不喜欢这种方式,没有必要注销。不过我现在就开着Gmail页面不关闭,也就不装Gmail通知扩展了。

    安装好Google Reader Toolkit后,它默认是禁用的,右键点击状态栏它的图标进行设置,启用。当它检测到有未读的Item时,默认的Google Reader图标颜色会发生变化,点击图标就会打开Reader页面。

    希望作者能够继续改进,更希望Google Reader开发者早日发布API。

  • WordPress 2.0.x需要注意的两个地方

    1. 每日自动备份失效。我一直用wp-cron配合wp-db-backup插件,每天定时将数据库备份发送到信箱中。不过好像是从2.0.4版本开始wp-db-backup插件作了修改,使得定时备份不起作用了。解决办法是在该插件的php文件的末尾,找到wpdbBackup_init函数,把其中的“if ( !current_user_can(’import’) ) return;”语句注释掉。
    2. 缓存功能默认关闭。就是不在wp-content/cache目录中写缓存文件了。解决办法是在wp-config.php文件中加一行“define(’ENABLE_CACHE’,true);”将该功能打开。WP好像从2.0.3开始就默认关闭了这个功能,因为它有一个安全隐患。不过我们大部分的WP用户并不需要为这个漏洞担心,看看这个页面上westi列的三个必要条件。我们大多都不提供用户注册功能,所以,放心吧。
  • 怎样阅读 Blog

    不忍心看朋友在慢如牛,广告如牛毛的Live Space上写Blog,劝他搬出来,我给空间。他唯一舍不得的就是朋友们在MSN上可以看到更新的标志(那个星星),怕Blog没人看。于是写篇扫盲文,让他放在Blog上,希望RSS阅读能在他的朋友圈里得到推广。不太会写文章,莫笑:smile:

    怎样阅读 Blog

    Blog是朋友们展现个性、发表观点的自由舞台。对于愿意了解别人的我们来说,阅读其Blog是一个直接而方便的方式。初看这个标题你一定有点奇怪,阅读 Blog还有什么学问,打开浏览器输入地址谁不会啊?确实,通过浏览器直接浏览Blog的见面是一种办法,不过这并不是最方便最有效的。用MSN的可能经 常会看到联系人前面的星星,就点击进入他的MSN Space或Live Space,这样是挺不错的,能及时看到更新的内容。不过如果他的Blog不是用的微软的服务呢?大家都知道Live Space顶上那一大条广告多影响市容,还有它的速度也不尽人意。这篇文章就来说说怎样快速有效地阅读朋友们的Blog。

    RSS

    RSS是一个缩略词,它有太多种解释。在这里,就指显示网站最新内容的一种格式,不仅限于Blog。一般的Blog系统都提供了一个RSS Feed,它是一个网页地址,显示最新的若干个日志。其链接可以在Blog首页上找到,比如用户名为bob的Live Space的RSS地址就是http://bob.spaces.live.com/feed.rss。 有了RSS我们可以干什么呢?如果是在浏览器里输入其地址,那还不如直接上主页看去。不,我们要用一个软件或者另一个网站的服务来“订阅”它。“订阅”听 起来有点像订报纸、杂志的感觉是吧?嗯,有点像。Blog不就是朋友们自己的报纸吗?我们让人给送到门口的报刊箱里,然后再取回来读。以前东跑西跑偷窥别 人的日子结束了,现在你坐在家里看报纸,然后决定要不要去现场看看。这就是RSS给我们带来的好处。

    用“抓虾”来订阅RSS

    首先推荐用一些网站提供的服务来订阅RSS。许多大网站如Google、Yahoo!等都提供了这类服务。这里就讲一下“抓虾”,容易上手。

    1. 首先在抓虾网站上注册一个帐号。填写你的真实Email,抓虾不会发垃圾邮件的:)收到邮件后按提示激活你的帐户,就可以使用所有的服务了。
    2. 登录后,页面上方有一个导航栏,点击“我的频道”就可以看到自己已经订阅的Blog了。
    3. 点击“添加频道”,右边出来添加频道的提示,然后输入频道的地址(就是Blog的RSS Feed),点击”订阅“,出来一个页面让你修改该频道的信息。你可以在右边选择”订阅到“哪里,如果目录不存在,可以新建一个目录如”朋友“以方便分类。
    4. 填写好之后,点击”订阅频道“,稍等片刻,朋友的RSS就出现在页面左侧了!再看右栏,朋友最新的日志标题尽收眼底。朋友的Blog有新日志时,这里也会很快更新的。
    5. 开始你崭新的Blog阅读体验吧!点击右边的加号可以展开该日志来阅读,如果你看了高兴或不爽,想吼两声,就点击标题到他的Blog里去留言。

    设想你有许多朋友,你经常想了解他们的Blog有没有更新。不要一一打开他们的网址,只要在这里订阅,以后想看的时候只要打开”抓虾“,所有Blog的更新就都一目了然了。

    Google Reader也非常好用,可以试一下,选择一个适合自己的。

    用GreatNews来订阅RSS

    也许你不愿意在网页上阅读RSS,那么就选择一个软件吧。同样有很多软件,不过有一个强大而且免费的GreatNews可以用。我不推荐这种用客户端软件阅读的方式,因为一旦你的系统崩溃或者重装系统时忘记备份,这些订阅信息很可能就会丢失。

    安装该软件后,添加频道等方法与上面说的”抓虾“基本类似,就不再多说了。

    如果你没有订阅过RSS,你已然落伍了。RSS是被越来越多的人采用的发布和获取互联网信息的途径,赶快尝试一下吧!

    前面已经提到,RSS的用处不仅限于Blog,你也可以订阅各大新闻网站的RSS来了解国家大事,或者花边八卦。

  • 终于配置好了Subversion

    以前在Windows里配置过,记得不太难。不过这次想通过http方式访问版本库,费了好多周折,主要是Apache对目录读写的权限问题,最后照UbuntuChina Wiki上的指导弄好了。看来以后要好好看看Linux的文件权限管理了,不然会遇到好多麻烦。

    在Eclipse里通过更新的方式添加了Subcilpse,竟然自动给我搞了个中文版的。我的locale和Eclipse都是英文的啊,难道它会根据IP判断不成?真郁闷,英文界面中冒出一个中文菜单

    机器是通过DHCP分配的动态IP,不过变化不太频繁。所以在域名管理里面增加了一个A记录指向当前IP,变化的时候修改一下,让同学通过域名来访问SVN。不然的话,每次的URL变化,客户端这边可能不太好办。

  • 在WordPress里使用LaTeX输出公式

    mimeTeX处理LaTeX的数学公式,并直接输出一个gif格式的图片。可以在这里看它的教程,并且也有输入框,让你写几个公式看看效果。我的前面两篇日志中也都包含有mimeTeX输出的公式。

    用LaTeX写公式实在太爽了,mimeTeX终于让我们可以在写Blog时也可以方便地插入公式,而不用自己运行一堆命令生成图片再上传。

    Dahnielson专门为WordPress写了一个插件,使用一个公共的mimeTeX服务器,从而避免了在cgi-bin中安装(有的服务器还不支持这个)。它从服务器上取得图片,放在Blog目录中的wp-content/cache目录下。只要在写文章的时候把TeX公式用<tex></tex>标记括起来,页面在浏览器打开时就会将代码自动替换为图片,非常方便。

    BloggingPro提到了Yujian写的类似插件,不过仍然需要安装mimeTeX在cgi-bin中。其它的方案如LaTeXRender,对服务器的需求更多,就不提了。

  • Lottery问题的递归方程

    继续考虑Lottery问题的第三类(有序、可重复),一个同学根据下边的图列出了一个递归方程如下:

    T(n, m) = \left\{ \begin{array}{ll} T(n – 1, m) + T(n, m – 1) & a \geq 2, b \geq 2\\ 1 & n = 1\\ n & m = 1 \end{array} \right.

    T(n, m)设前n个自然数填充m个空,按照要求有T(n, m)种填充方法。图中只给出了n=3, m=3的情况,树的高度为m,从根到每一个叶节点的路径上的标号序列就是一种方法,所以叶节点的个数即为填充方法的个数。用蓝线将图分成两半,则可以发现,左边的子树与T(3, 2)相同,右边子树结构与T(2, 3)相同。可以想象对任意n>=2, m>=2这个式子都成立。

    一行行列举T(n, m)的值(按每行m+n的值相等),就可以发现跟杨辉三角很相似。可以证明这个方程的解就是

    C_{n+m-1}^m

    不过,可不可以在不知道结果的情况下把它解出来呢?

  • Topcoder上的数学题

    前几天上Topcoder,第二个题(Lottery)就让我比较郁闷。

    输入是一些彩票的描述,有名字、可选数字、空格数、是否有序、是否唯一这些项目,有多种彩票,以字符串数组类型输入,要求在输出中按照各种彩票的可能个数大小对这些彩票排序。给定可选数字n,空格数m,则问题就是在1, 2, … , n中选择m个来填空,并按照是否有序(非降序,如:1,2,2,3)、是否允许重复的限制来计算可能的答案数。

    这其实就不算个算法题。首先就是要分析输入字符串,生成可以操作的问题对象(需要定义类),考察的是对语言运用的熟练程度。然后要根据问题限制求出排列数,考察的是对排列组合的掌握。最后是排序,如果用Java,实现一个Comparable接口,还是写一个实现了Comarator接口的类,随便了,不过前一个更方便。如果用C++,那么就写一个回调函数。这考察的又是语言。

    Lottery problem可怜我就在排列组合那里出了问题。现在每次遇到数学问题的时候就没信心,总是觉得学得太差了,好像以前学过的东西都忘了。这个问题,如果不考虑是否有序的话还算简单,很容易想出来,但是考虑到有序,就不知道从何处下手了。

    问了一下数学比较牛的xl,他马上给出了答案。

    Lottery问题解的个数
    是否有序 是否允许重复 答案数
    F T n^m
    F F P_n^m
    T T C_{n+m-1}^m
    T F C_n^m

    我问的是后两种情况,最后一种给出答案我就明白了,n个数里取出m个,按顺序就只有一种放法了。第三种情况,他说也是猜的,看来数学好,感觉也是对的。后来在Wikipedia上找到了解释,这是个很普通的问题吗?我没想到会很容易在上面找到该问题的解释,呵呵。那里已经给出了非常好的讲解,这里就不再赘述了。挺有意思的,自己凭空想,怎么也想不明白是怎么回事。