沙尘暴那天,手机报上新闻是这样写的:
"大风起兮尘飞扬","满城尽带黄金甲",沙尘暴"如约而至"。
当时我抬头看看天,突然对这条新闻感到一阵恶心。
次日,因为大旱,贵州黄果树瀑布水量大幅减少,手机报上这样写:
黄果树大瀑布严重"瘦身",过去气势磅礴的大瀑布,如今宛如纤弱细腰的少女。
别卖弄你们这些"文学素养"了,正经报道新闻就是了。
最近整理 Google Reader 的时候,发现有些标签无法删除,显示:
Oops...an error occurred. Please try again in a few seconds.
搜索了下论坛,发现是一个很长时间没解决的 bug,如下:
据说问题出现在对标签进行大量操作的时候,我感觉频繁对标签进行操作就有可能出现这个问题。解决方法暂无。
最近写了一个 GAE 应用,需要向外提供大量 Feed,很多以前不是问题的问题就出来了:
- 各个在线阅读器的抓取器对网站造成负担,尤其是当 Feed 很多的时候;
- 因为我提供的 Feed 有时效性,但是很多在线阅读器的抓取器不能正确识别 301 重定向和 410 永久删除,这就造成还会始终访问无效的地址;
- 现有的 Feed 托管服务基本都不支持批量托管,比如 Feedburner 和 Feedsky,只有一个 FeedCat 支持,但是就是它的 FeedCatBot 现在还在对我无效的网址进行抓取。
不同的在线阅读器的抓取器也不同:
- Google Reader:一小时一次,User Agent 为 Feedfetcher-Google,我看以前人说它不支持 301,不过据我观察,它会接受 301 重定向,只是用户界面查看 Feed 地址还是原来的。但是 Feedfetcher-Google 不会再去抓取原地址。
- 抓虾:User Agent 为 Zhuaxia.com,支持 301 重定向,不过需要响应 Head 方法。它先用 Head 然后 Get。
- 豆瓣九点:完美支持 301 重定向。
我最后的解决方案是:
- 自己编写了一个批量托管的 GAE 应用,使得原始服务不会受到太大压力,一部分转接到 Feed 托管服务上。
- Feed 托管服务针对实际 Feed 的不同状态返回相应的状态码和转向。
在 MATLAB 6.5 中 int8, uint8, int32 这种函数是采用截断尾数的方式取整,在 MATLAB 7.9 中采用的是取就近整数的方式。
A new approach to China,这个消息真是震撼但不震惊。Google 退出中国吧,别折腾了。还谈什么协议,就你这公告就能招来全面封锁。
没关系,反正以后都是翻墙。
这新闻没什么好评论的,肯定铺天盖地都在说,发文留念~
如果你错过了煎蛋这篇:学会条码,在它被遗弃之前,不要紧,你依然可以通过阅读本文快速掌握人眼扫描、解码,从而破解出这些粗细条条蕴含的深刻含义的高科技技能。
条形码的意义
按照八股论文的写法,我应该先介绍下条形码的NB之处,以提醒读者此刻正在阅读一篇有着深刻含义的文章。
2009年10月7日,Google 为了纪念1952年10月7日条形码 (Bar Code) 成功申请专利(专利号为2612994),首页 Logo 都改成了条形码。这个日子恰好与高锟、乔治·史密斯、威拉德·波义耳被授予诺贝尔物理学奖的时间重叠在一起,而他们发明的"电荷耦合器件"在用于扫读条形码的方面作出了贡献。
为了继承这宝贵的文化遗产,应对外星人入侵地球导致所有条码扫描仪都失效的情况,我们必须学习条形码!当然,某些三俗的读者可能觉得"在MM面前显摆才是真正的目的"。
准备工作
对正常人来说,只要能看见东西就行。
如果你有条码扫描仪,可以用来通过扫描实物来做练习。不要问:"我都有扫描仪了还学什么?"这种弱智问题。
条码介绍
所谓万变不离其宗,下面介绍的是通用的 Code 39。条条们分为四种:细细的白条、粗粗的白条、细细的黑条、粗粗的黑条。它们分别代表条码中所用的四个符号:空格、破折号、0和1。对应关系如下:
- 细白:空格
- 粗白:破折号
- 细黑:0
- 粗黑:1
也就是说,粗细不等的黑条表达了主要的编码,白条则表达分隔符。注意到,空格的含义并不是指编码中的空格,而是要分离相邻的两个黑条。破折号不仅可以分离相邻的黑条,还可以表达破折号的含义...
题目:阅读下面的条形码,写出它代表的二进制编码。
答案是:0-0110|10-
那么这堆数字表示什么含义呢?就要熟记下面的编码含义了:
- * = 0-0110
- 0 = 00-110
- 1 = 10-001
- 2 = 01-001
- 3 = 11-000
- 4 = 00-101
- 5 = 10-100
- 6 = 01-100
- 7 = 00-011
- 8 = 10-010
- 9 = 01-010
于是,上面的条形码表达的编码含义为:*8675309
更多技巧
有同学立刻提问,那个星号是什么意思。在正规的 Code 39 中,开头都有一个"*",它的作用和男人的乳头是一样的(亦即区分正反面...煎蛋怎么这么邪恶)。
又有同学说了,阅读出 01 串比较简单,怎么跟数字对应上呢?这叫涉及到当初设计条形码编码时的高深理论了:我们可以看到,每一个条形码如果表达的含义是数字,则它是形如:ab-cde 的形式。
- e 是奇偶校验用的,无视。
- 有两个1和三个0。
- 左边四位按照逆序排列dcba,其值是:1-6、8-10、12,分别对应真实数字中的:1-6、7-9、0。
- 为何跳过7和11?是为了校验方便,避免出现三个1的情况。
更多疑问
感谢坚持阅读到这里,您可能会有疑问:"知道了数字,我还是不知道有什么用啊?怎么知道定价呢?"这很简单,只要你能连上商场超市的数据库,查询对应条码即可。至于怎么连上数据库,就是另外一个问题了。
也有同学对本文表达质疑:"现在条形码下面似乎都有数字啊"。我想说,怎么这么死脑筋,难道不会把数字挡住,然后对身边的MM(不排除是GG)说:"你看,我不看下面的数字也能说出下面的数字!厉害吧!"。
更多链接

