0
Posted on 00:06:00 by Unknown and filed under

  沙尘暴那天,手机报上新闻是这样写的:

"大风起兮尘飞扬","满城尽带黄金甲",沙尘暴"如约而至"。

  当时我抬头看看天,突然对这条新闻感到一阵恶心。

  次日,因为大旱,贵州黄果树瀑布水量大幅减少,手机报上这样写:

黄果树大瀑布严重"瘦身",过去气势磅礴的大瀑布,如今宛如纤弱细腰的少女。

  别卖弄你们这些"文学素养"了,正经报道新闻就是了。

1
Posted on 00:43:00 by Unknown and filed under

  最近整理 Google Reader 的时候,发现有些标签无法删除,显示:

Oops...an error occurred. Please try again in a few seconds.

  搜索了下论坛,发现是一个很长时间没解决的 bug,如下:

  据说问题出现在对标签进行大量操作的时候,我感觉频繁对标签进行操作就有可能出现这个问题。解决方法暂无。

0
Posted on 22:04:00 by Unknown and filed under

  最近写了一个 GAE 应用,需要向外提供大量 Feed,很多以前不是问题的问题就出来了:

  1. 各个在线阅读器的抓取器对网站造成负担,尤其是当 Feed 很多的时候;
  2. 因为我提供的 Feed 有时效性,但是很多在线阅读器的抓取器不能正确识别 301 重定向和 410 永久删除,这就造成还会始终访问无效的地址;
  3. 现有的 Feed 托管服务基本都不支持批量托管,比如 Feedburner 和 Feedsky,只有一个 FeedCat 支持,但是就是它的 FeedCatBot 现在还在对我无效的网址进行抓取。

  不同的在线阅读器的抓取器也不同:

  1. Google Reader:一小时一次,User Agent 为 Feedfetcher-Google,我看以前人说它不支持 301,不过据我观察,它会接受 301 重定向,只是用户界面查看 Feed 地址还是原来的。但是 Feedfetcher-Google 不会再去抓取原地址。
  2. 抓虾:User Agent 为 Zhuaxia.com,支持 301 重定向,不过需要响应 Head 方法。它先用 Head 然后 Get。
  3. 豆瓣九点:完美支持 301 重定向。

  我最后的解决方案是:

  1. 自己编写了一个批量托管的 GAE 应用,使得原始服务不会受到太大压力,一部分转接到 Feed 托管服务上。
  2. Feed 托管服务针对实际 Feed 的不同状态返回相应的状态码和转向。
0
Posted on 00:18:00 by Unknown and filed under

  在 MATLAB 6.5 中 int8, uint8, int32 这种函数是采用截断尾数的方式取整,在 MATLAB 7.9 中采用的是取就近整数的方式。

1
Posted on 11:57:00 by Unknown and filed under

  A new approach to China,这个消息真是震撼但不震惊。Google 退出中国吧,别折腾了。还谈什么协议,就你这公告就能招来全面封锁。

  没关系,反正以后都是翻墙。

  这新闻没什么好评论的,肯定铺天盖地都在说,发文留念~

0
Posted on 14:32:00 by Unknown and filed under ,

  今天去买了台电的MP4,型号是 C430T,8G,4.3的统宝LTPS高分屏幕。

  感觉还不错,性价比很高。给妹妹用挺合适的。

  问题如下:

  1. 液晶面板材质和C430不同,清晰细腻,但是亮度稍暗,阳光下看不清,有反光。
  2. 播放 H264 1280x720 的影片有些卡,不太流畅。
  3. 偶尔会死机。
  4. 字幕似乎必须要用 srt 格式,如果显示不出,可能是编码的问题,改成 UTF-8 试试。
  5. 文件夹名称的大小写有时候显示有点问题。
1
Posted on 16:11:00 by Unknown and filed under

  如果你错过了煎蛋这篇:学会条码,在它被遗弃之前,不要紧,你依然可以通过阅读本文快速掌握人眼扫描、解码,从而破解出这些粗细条条蕴含的深刻含义的高科技技能。

条形码的意义

  按照八股论文的写法,我应该先介绍下条形码的NB之处,以提醒读者此刻正在阅读一篇有着深刻含义的文章。

  2009年10月7日,Google 为了纪念1952年10月7日条形码 (Bar Code) 成功申请专利(专利号为2612994),首页 Logo 都改成了条形码。这个日子恰好与高锟、乔治·史密斯、威拉德·波义耳被授予诺贝尔物理学奖的时间重叠在一起,而他们发明的"电荷耦合器件"在用于扫读条形码的方面作出了贡献。

  为了继承这宝贵的文化遗产,应对外星人入侵地球导致所有条码扫描仪都失效的情况,我们必须学习条形码!当然,某些三俗的读者可能觉得"在MM面前显摆才是真正的目的"。

准备工作

  对正常人来说,只要能看见东西就行。

  如果你有条码扫描仪,可以用来通过扫描实物来做练习。不要问:"我都有扫描仪了还学什么?"这种弱智问题。

条码介绍

  所谓万变不离其宗,下面介绍的是通用的 Code 39。条条们分为四种:细细的白条、粗粗的白条、细细的黑条、粗粗的黑条。它们分别代表条码中所用的四个符号:空格、破折号、0和1。对应关系如下:

  • 细白:空格
  • 粗白:破折号
  • 细黑:0
  • 粗黑:1

  也就是说,粗细不等的黑条表达了主要的编码,白条则表达分隔符。注意到,空格的含义并不是指编码中的空格,而是要分离相邻的两个黑条。破折号不仅可以分离相邻的黑条,还可以表达破折号的含义...

  题目:阅读下面的条形码,写出它代表的二进制编码。

  答案是:0-0110|10-010|01-100|00-011|10-100|11-000|00-110|01-010|0-0110,其中的"|"不在条码表示的范围,是为了更好的阅读手工加入的,5位一组。

  那么这堆数字表示什么含义呢?就要熟记下面的编码含义了:

  • * = 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*,至此,恭喜你已经具备了技能:阅读条形码 Level 1。

更多技巧

  有同学立刻提问,那个星号是什么意思。在正规的 Code 39 中,开头都有一个"*",它的作用和男人的乳头是一样的(亦即区分正反面...煎蛋怎么这么邪恶)。

  又有同学说了,阅读出 01 串比较简单,怎么跟数字对应上呢?这叫涉及到当初设计条形码编码时的高深理论了:我们可以看到,每一个条形码如果表达的含义是数字,则它是形如:ab-cde 的形式。

  • e 是奇偶校验用的,无视。
  • 有两个1和三个0。
  • 左边四位按照逆序排列dcba,其值是:1-6、8-10、12,分别对应真实数字中的:1-6、7-9、0。
  • 为何跳过7和11?是为了校验方便,避免出现三个1的情况。

更多疑问

  感谢坚持阅读到这里,您可能会有疑问:"知道了数字,我还是不知道有什么用啊?怎么知道定价呢?"这很简单,只要你能连上商场超市的数据库,查询对应条码即可。至于怎么连上数据库,就是另外一个问题了。

  也有同学对本文表达质疑:"现在条形码下面似乎都有数字啊"。我想说,怎么这么死脑筋,难道不会把数字挡住,然后对身边的MM(不排除是GG)说:"你看,我不看下面的数字也能说出下面的数字!厉害吧!"。

更多链接

   Read a Barcode