博客

登彼西山兮,采其薇兮

今天登山队训练,走的是京西古道,途经“西风瘦马小桥流水”的马致远故居。中午路餐的时候找了个非常空旷的地方生火,后来老张还叉了块鸭肉在那里烤。正到High处,身后跳出来两老头,大声喝止——说是前不久来了一组学生生火,差点烧到旁边的房子,林木啥的——现在正是枯藤老树时节,山里很忌讳明火。

后来和他们攀谈,知道我们来自搜狐,其中一人问:那你们知道推特吗?

当时我们就震惊了!

静默了2,3秒,然后大伙集体狂笑——这深山野岭的突然冒出两打扮羊倌似得老头和你谈论twitter,给人的反差太不真实了.

这老头解嘲的说:上推特还得翻墙,不过网上好多客户端,封不住的。然后接着问,你们知道艾未未,刘晓原吗?

我们再次集体石化

老头又说,我推特上和刘晓原老说话;还把推特上的东西转发到新浪微博,他们就删;我也理解,他们要不删敏感词就得把他们删了

赵老师大为激动,邀请他来搜狐写博客和刘晓原作伴

这位后来问起来今年56岁了,20年前是工自联的,我们才长出口气,心想正该如此。

另外一位老人将近70,陪我们走了一段,途中大谈中国现在是走莱茵模式还是英美模式,旁征博引百年前法国某大家的论著,我们说他反动,他理直气壮的说"反动是逆历史潮流而动"... 文明用语的,这两位隐士简直就是伯夷叔齐啊

以暴易暴兮,不知其非兮——《史记·伯夷列传》

UPDATE: 赵老师的照片集
古道荒村的世外高人

穿越京西古道[组图]

Topic: 生活 社会

佳能的 CREATIVE PARK

http://cp.c-ij.com/en/

明天要让达达带钱去学校交费,老婆大人让我准备信封。。。

我一边找上次中银给我发的信用卡账单,一边想,这玩意也可以打印啊,又不是去寄信(好像邮局是不接受DIY信封的??)

于是就找到佳能的这个服务,上面有各色 pdf 下载,有信封/折纸/贺卡/日历...实在是居家旅行的必收藏网址

心想如果有彩打的话还是蛮好玩的,可惜实在受不了喷墨的噪音,彩色激光性价比又太低,残念~~

Topic: 生活

OpenEMM

一直觉得群发 DM 是一样很高深的任务,普通企业最好是求助于专业厂商来弄。今天第一次知道有专门的开源软件 OpenEMM,而且已经发展到 6.0 版本,貌似发展得还不错。

如果你要给超过100个人发信,而且想了解对方的收取和阅读状况,可以试试这个

Topic: 商业

淘宝上的“敏感词”


前两天,在淘宝上买了一个装单反的包,有点波折,不过卖家服务挺好。我在双方互评的时候,想写几句好话,赞扬一下他们。

写完提交后,系统提示“不允许在评价中使用日”,于是我只好改成“祝你们的生意蒸蒸曰上”

鸣谢:三表童鞋对此插图亦有贡献。(嘿嘿,最先是看到他的 msn 头像换成这个,创意很赞,等我想用了,他的头像已经撤了,于是自己 DIY 了一下)

用 python/reportlab 生成 PDF

达达这学期关于加减法运算的一个要求是速度——8分钟以内做120道题为及格,5分钟做完是100分.

为了平时训练,偶周末就写了个脚本产生一组题目,并生成 PDF 以供打印。

网上的入门教程多是 reportlab 的 pdfgen.canvas 的例子,不过我这里是要打印 120 道题出来,就得用 platypus.Table 来排版了.

表格的数据用一个 list 来表示;其每一个元素仍然是一个 list,就是每行(row);这个 list 里的每个元素是字符串,是 cell 的数据了。

准备好 table 后,用 platypus.SimpleDocTemplate 来生成 pdf。它最后处理一个 list,把这个 list 里的对象挨个渲染出来,这个有点像浏览器依次画出 block 级别的 div。

示例如下:

  1. from reportlab import platypus
  2. from reportlab.lib.units import inch
  3.  
  4. def genTable():
  5.     data = []
  6.     items = genList()  #随机生成120道题目
  7.     for i in range(0, len(items), 5):
  8.         #生成一个有 5 列的表格数据
  9.         data.append(items[i:i+5])
  10.     table = platypus.Table(data, 1.5*inch, 0.4*inch, [('FONT', (0,0), (-1,-1), 'Courier')])
  11.     # 每个cell 1.5' 宽,0.4' 高,差不多 120 题排满一张 A4
  12.     # Courier 是等宽字体,为了俺的算式看起来整齐
  13.     # (0,0)/(-1,-1)说的是font style运用范围,从左上到右下
  14.     return table
  15.  
  16. doc = platypus.SimpleDocTemplate(fname, topMargin=0.9*inch, bottomMargin=0.9*inch, title='DaDa Math', author='qyb')
  17. # 目标是一个叫 fname 的 PDF 文件,缺省上下留白有点多,修改为0.9'
  18.  
  19. elements = []
  20. for i in range(n):
  21.     elements.append(genTable())
  22.     elements.append(platypus.flowables.PageBreak())
  23.     # 生成 n 页的数据,每个表格后面跟着一个换页
  24.  
  25. doc.build(elements)

Getting Started With ReportLab 这篇文档给我很大帮助,推荐阅读。

最后要说的是,Linux 下配置佳能 LBP 3018 非常麻烦,我尝试了10分钟后没有搞定就放弃努力回到 XP 下打印了。CUPS 发展这么多年,佳能也是大厂,没想到 Linux 桌面上用打印机还是如此困难!

Topic: dada 技术

mutt killer

gmail 影响的不仅仅是 webmail 以及桌面客户端(thunderbird 都要变成 raindrop),现在看来 text-based 终端应用程序也要进化了!

首先出台是 Sup. 一个用 ruby 写成客户端,带有标签/全文搜索/自动创建联系人名单....还有会话功能. 看截图还蛮像回事

然后就有对 ruby 不鸟的 C 程序员开发出来了 "Not much mail". 利用 xapian 作的全文搜索...在 blog 里对 xapian 只提供 C++ 接口还调侃了一下

NotMuchMail 没有 POP3/IMAP4 fetch,没有 SMTP 发送功能,甚至没有 UI!!! 要想把一切有机的组织在一起,得靠神器 Emacs. 现在 at least two users using it for reading all of their incoming mail... 这个是算 alpha 么?

Topic: 技术

车站能不能把春运火车票放到淘宝上去拍卖?

这两天断断续续的看薛兆丰的《经济学通识》,里面提到春运火车票可以拿黑市价格来参考定价,哈哈深得我心,周末还和 qyt 争论过这个问题。

今天我又想到这个事情,春运的卧铺火车票完全可以拿到网上拍卖,从技术和渠道上淘宝能够担起这个重任,就看车站敢不敢这么做。

车站多赚来的车票钱也许可以多开些临客

如果马云老师先天下之忧而忧,就去主动找铁道部请缨吧。

Update: 周末去鼎好买了一个打印机,越南制造... 从成衣/鞋子,到IT制品.... 越南股市可能还真是个适合冒险的地方呢

Topic: 社会

THIS IS IT


大约在91年的暑假,我经常出没于家乡的文化宫。有一台街机给我留下很深的印象。画面上只有一双穿黑皮鞋的脚,圆形灯光打在地上,脚往前走了几步,皮鞋后跟敲在地板上的声音很悦耳,突然那双脚跳了几个动作,脚面上散出发亮的晶体,最后两脚原地转了一圈,立在地上。这个造型定住并拖出几根水平的直线,变成一个单色的符号,随后,音乐声想起,游戏示例视频开始播放。在关与关之间的过场动画里,总有一个扎着小辫的女的尖叫两声。当游戏主角陷入重围时,可以放出“绝招”,全屏的人跟着他一起跳舞,舞蹈结束时,他将帽子一甩,一道光在屏幕上快速扫了一遍,敌人都被消灭了。游戏进行中每关都有节奏感很强的歌。这些就是 Michael 给我的最初印象。好几年后,我知道了那些歌的歌名——《BAD》、《Beat It》、《Smooth Criminal》。

大约是93年左右,集市到处的摊上都在卖一个封面很有特点的磁带,我印象深刻,却没产生买的想法。家里有本杂志,彩页上有他黑白的剪影。另外有一盘格莱美的精选,里面有《We Are The World》和《Beat It》。哥哥大学放假带回来了我曾经在集市上看到《Dangerous》磁带专辑以及录像带,那时我也高中了,对这些自然毫无抵抗能力,迈克尔杰克逊自此进入我的听歌范围。记得那时有一个可以罩住耳朵的耳机,听《Dangerous》这首歌尤其爽,每一个鼓点都好像敲在心上,听了这么多中文歌英文歌,能产生这个效果的只有这首歌。《Dangerous》专辑做得精致极了,封面上所有的图案都分成一小块一小块印在里面的歌词与歌词之间,歌词本身印得也很有特点,居中对齐,这种排列方式在方块字的歌词上是没有见过的。录像带带给我的震撼就不用说了,演唱会上各种梦幻般的创意令人叹为观止。总之,中了毒后,就赶紧恶补吧,《BAD》《Thriller》以及《Moon Walker》等,一遍又一遍。

到了他出《History》的时候,我们的信息总算与时代同步了。可是他似乎也开始步入下坡阶段。不断地被媒体消费,各种负面新闻层出不穷,深居简出的他变成了一个怪人。再就是最近的伦敦告别演唱会,轰轰烈烈的筹备阶段突然传出他的死讯。老实说,听到这个消息,我并不吃惊。其实,一直以来,在世界巨星中,有两个人,哪天早上起来,有人告诉我他们死了,我将坦然接受,因为我心里早已做好了准备。一个是 Michael Jackson,一个是迭戈马拉多纳。

Michael 的那些歌啊,再听的时候,我仿佛看见了台灯下带着大耳机做作业的我;我仿佛看见了少年时电视前目瞪口呆的我;我仿佛看见了集市上徘徊在磁带摊边的我;我仿佛看见了街机厅里没有钱只好眼巴巴看别人打游戏的我。那些青春岁月跟随着他的歌声而逝去,那些青春岁月也因为有他的歌声相伴而鲜活可忆。

终于,时间来到现在,《This Is It》让我在电影院里见到了几个月前 Michael 的风采,虽说有一些瘦削,但是精神很好,怎么也不像一个媒体所说的病人、怪人。在彩排的时候,他有两句口头禅,一句 This is it,一句 God bless you。他谦逊、认真、坚持、富有感染力。他为了演唱会,精心地给一些老歌拍了新的 Music Video。可是这一切,却只能通过电影这种方式展现给全世界的歌迷。看电影的时候你能想象到,这将是多么完美无暇的告别演唱会,看电影的时候你也会想起张国荣,他们留给世界的缺憾,永远让后人唏嘘……






Topic: 文化 音乐
订阅 RSS - 博客 | BT的花