存档

‘Art’ 分类的存档

因为真实才宝贵

2009年12月10日 Solrex Yang 11 条评论

读大学时我很佩服一个老师。他教过我两门课,两门都是计算机类的课程,在数学系并不很受欢迎。他讲得不错,人很好,但这不是我佩服他的原因。我佩服他,主要是因为他说真话。他敢在课堂上讲他的经历,讲那些年轻的鲁莽和中年的困扰,讲他的爱情的开始和结束,以及那些做过的好事和坏事。

说真话——这一点很难做到。我写博客,越写越不真,看的人越多,就越不敢写。所谓白纸黑字,写下来,就要后怕很多事。隐私的话,怕被有恶意的人利用;针砭的话,怕被人抓住把柄;牢骚的话,怕被相关的人误解。很慷慨地写下自己的得意和风光,却吝啬于记录下自身的失意和落魄。在互联网的一个小小角落留下点儿自己的印迹都要想那么多,可见一个“真”字有多难得!

昨天 ironfeet 从我这借走一本书,我才想起来还欠一篇自己给自己承诺下的书评。这本书的名字叫做《我是一只 IT 小小鸟》。

我开始并不看好这本书。这本书的作者里有几个是我的师兄和朋友,他们都是很杰出的人,丝毫没有诋毁的意思,但是我认为有多少人会买几个年轻人写的书呢?因此这本书推广的九月份 China-Pub 九周年庆生会,我和它的几个作者和编辑一起参加了,但是出于对读物的挑剔,我并没有掏钱买一本。

China Pub 九周年庆生会合照
(图片来自 Linjian 博客)

后来有了点儿时间,我想想自己受过这几个朋友的很多帮助,而且 EricLinjian 都提到过要将稿酬用于公益事业。那么至少出于对朋友的尊重和支持,我觉得有必要买一本来读读,于是我就到卓越上网购了一本。

和其它书不一样,这本书我不是一口气读完的,而是按照感兴趣的顺序翻看了每个人的故事。然后我忽然发现:这不是我想象的那种"IT 牛人炫耀帖合集"。首先,里面有些人其实算不得通常意义上的“牛人”;其次,里面有很多人抑制住了炫耀的欲望,写的是真挚的东西。其实,读任何故事,精彩的往往不是一帆风顺的。如果一个人讲他的经历是把握住了任何时代的脉搏,永远站立在时代大潮的顶端,那么他的故事会很乏味,我很开心地看到这些年轻的朋友们没有这样写。其中某些内容,我想,也许他们平时都不会和别人谈起,但是他们却怀着与人共享的良好意愿写了下来。写自己的经历,不难,但是对于年轻人来讲,能平静地讲述过去的真实故事,并不容易。

大学的时候,我经常读一本杂志,叫做《中国青年》。其中我挺喜欢的一个专栏,叫做“我或我身边青年的生存状态”,《我是一只 IT 小小鸟》大概也能算成“我身边 IT 青年人的生存状态”了。在内心冲突挣扎的青年时代,有一些这样的书和文章可以给自己参考和启迪,知道自己“不是一个人在战斗”,真好!

分类: Reading 标签: , , , ,

EE vs. CS

2009年6月20日 Solrex Yang 4 条评论

这是一篇很古老的文章,翻译得不好,大家将就着看。

固定链接:http://share.solrex.cn/os/ee_vs_cs_cn.html

从前,在一个离这儿不远的国家,一个国王召来他的两个谋臣进行一项测试。国王给他们看了一个闪闪发光的金属盒,盒子上面有两个插槽,一个控制按钮和一个手柄,然后问道:“你们认为这是个什么东西?”

其中一个谋臣,电子工程师,抢先答道:“陛下,这是一个烤吐司机。”国王问他:“如果让你给它设计一个嵌入式计算机,你会怎么做?”这个工程师回答说:“利用一个4位的微控制器即可,我将写一个简单的程序读入亮度盘(译注:the darkness knob,不知道是什么东西),将其量化到从雪白到煤黑的 16 阶亮度水平上。这个程序将使用该亮度水平作为 16 个初始时间值表的索引,然后启动加热元件,用该亮度水平映射到的时间初始化计时器。在计时结束后,关掉加热元件,弹出烤好的吐司。如果您愿意的话,下星期我就能给您一个可以工作的原型。”

第二个谋臣,计算机科学家,立刻认识到了这种短视想法的危险。他说:“烤吐司机并不仅仅是用来把面包变成吐司的,它们同样会被用来加热冷冻华夫饼。在您面前所放置的其实是一个早餐厨具,当您的臣民变得越来越老练时,他们将需要它提供更多功能。他们会希望早餐厨具同样可以用来烤香肠、煎培根和炒鸡蛋,一个只能做吐司的烤吐司机将会很快被大众废弃。如果我们不未雨绸缪,在不远的几年后我们就不得不完全重新设计烤吐司机。”

“考虑到这一点,我们可以制定一个更好的解决方案。首先,创建一个早餐食品基类,特殊化这个基类到几个派生类:谷物、猪肉和禽肉。特殊化的过程可以重复进行下去,比如谷物可以派生出吐司、松饼、薄煎饼和华夫饼;猪肉可以派生出香肠、links和培根;禽肉可以派生出炒鸡蛋、煮鸡蛋、荷包蛋、煎鸡蛋和多种煎蛋卷类。”

“火腿奶酪煎蛋卷类尤其值得特别注意,它必须同时继承猪肉、奶制品和禽肉类的特点,除了使用多重继承,这个问题无法得到妥善解决。在运行时,该程序必须创建合适的对象,并发送消息到该对象:‘把自己弄熟。’当然,由于多态性,这条消息的语义取决于该对象的类型,所以它对于吐司对象和炒鸡蛋对象分别具有不同的含义。”

“回首目前我们的进程,可以看到,分析阶段揭露了一个基本的需求,那就是该厨具需要能做出任何种类的早餐。在设计阶段,我们发现了一些衍生的需求,特别是我们需要一个面向对象的、支持多重继承的语言。当然,没有哪个用户希望当煎培根时鸡蛋变凉了,所以并行处理能力也是必要的。”

“我们绝对不能忘记用户界面。用来控制食物的手柄缺乏通用性,亮度盘令人困惑。一个产品必须具有友好的图形界面,否则不会受到市场欢迎。当这个早餐厨具启动时,用户应该看到一个牛仔出现在屏幕上。用户点击它后,一条消息“正在启动 UNIX v.8.3”将显示在屏幕上。(当该产品推出时,Unix 8.3 应该已经发布了。)然后用户可以下拉菜单,点击他们想做的食品。”

“当在设计阶段做出首先规划软件的聪明决策之后,在实施阶段剩下的只是选择一个合适的硬件平台了。一个使用 Intel 80386 CPU,拥有 8 兆内存、30 兆硬盘和 VGA 显示器的机器应该足够了[1]。如果你选择了一个多任务、面向对象、支持多重继承且内建图形用户界面库的编程语言,写这样一个程序是件轻易而举的事情。想想如果我们傻乎乎地允许一个硬件优先、将我们锁定在一个 4 位微控制器上的愚蠢设计将会给我们带来多少困难!”

国王听完他这番话,作出了将这个计算机科学家斩首的英明决定。人们从此过上了幸福快乐的生活。

[1] 在这篇文章出现的当时,这应该算是挺先进的配置了。

分类: IT, Reading 标签: , , , ,

西格玛奇遇记

2009年6月4日 Solrex Yang 9 条评论

这是一个很有趣又神奇的世界,比如说忽然有一天,你发现和你聊天的将来的同事居然是你老板的直系师兄,忽然有一天,你从同学那借了本久仰的书,不曾想一个小时后就和这本书的作者在一起吃饭。

今天我和回国的徐宥(Eric)师兄携女友,以及在 MSRA 工作的刘未鹏(Pongba)师兄约好了一起吃饭。其实我之前从未见过 Pongba,甚至连照片也没见过,在我的印象里 Pongba 应该是一副少年老成的样子,没想到看起来那么年轻。在前往西格玛大厦的路上,我在青年公寓耽搁了一下,向王捷(Iron_feet)同学借了本早就想看的《编程之美》。

刚开始仅有我们四人,但托 Eric 和 Pongba 的福,我很荣幸地先后见到了博文视点的两位编辑徐定翔、许莹,银杏咨询的创始人郝培强(Tinyfool),图灵公司总编刘江老师(Turingbook)和《编程之美》、《移山之道》的作者、MSRA 的邹欣老师(xin zou)。显然,我没有放过这次机会,为我借来的《编程之美》向邹老师要了个签名,邹老师还专门找出来《编程之美》的勘误表,在上面签上“仍然有许多错误 :) ”,对这本书未来得及修正的错误觉得很抱歉。

和这么多久仰的人物一起聊天真的是受益匪浅,看看师兄们一个个充实地忙碌着,真为自己目前的碌碌无为感觉羞愧。我想,这一段时间我要忙起来了。

PS: 回程顺便到第三极买了本笑来老师推荐的《剑桥中级英语语法》,感觉案头有一本语法书还是很有必要的。

分类: Life, Reading 标签: , ,

Lies My Teacher Told Me

2009年5月26日 Solrex Yang 11 条评论

最早是从笑来的博客里看到这本书的信息,而目前从搜索结果来看,在中文世界里评论这本书的也只有笑来老师。

Lies My Teacher Told Me -- Everything Your American History Textbook Got Wrong》是一本关于历史的书,讲述的是 James Loewen 教授对美国高中历史教科书中对某些美国历史人物、事件和社会形态的故意遗忘、粉饰和错误解读的批判,以及对高中历史教师未能引导学生正确对待和学习历史的原因和结果的分析。

在这本书里,您可以了解到许多惊讶的事情:

为什么历史书里对海伦·凯勒幼年与疾病抗争的故事褒扬之至,却鲜有提及海伦·凯勒长大以后成为了一个什么样的人?因为海伦·凯勒认为视力和听力丧失的悲剧往往发生在那些因贫困而无法给予孩子及时治疗的家庭,为了消除社会不平等引发的罪恶现象,她长大以后成为了一个激进的社会主义者。

感恩节真的起源于欧洲移民邀请印第安人一同庆祝丰收的活动吗?答案是否定的,印第安人从来没有见过这样的宴会。感恩节只是乔治·华盛顿从东印第安人庆祝丰收的传统节日中借来的,而且直到1863年南北战争时美国才开始现代的庆祝活动。

相信大家都熟悉这句话“all men are created equal and independent”,并且有“life, and liberty and the pursuit of happiness”的权利,它来自一份伟大的政治文件——《独立宣言》,但是签署这个伟大宣言的先驱者们,乔治·华盛顿、托马斯·杰斐逊,他们蓄奴吗?是的,他们都拥有奴隶,在写下上面那句话的时候,杰斐逊拥有 175 个奴隶。

此外还有很多故事,总之,这本书讲述了 something different,一个不一样的历史。不仅对美国的中学生来说是一个不一样的历史,恐怕对那些了解或意图了解一些美国历史的人来说,也是一个不一样的历史。但是,关键不在于这些故事,而是这些故事引发的思考。Loewen 教授辛辣的文字会让您读得酣畅淋漓。

这本书我不是看完的,是在一个多月的时间里挂着耳机听完的,而且还在反复听(Recorded Books 制作的声音书非常非常棒)。在听这本书的时候,我很怀疑一个问题:为什么这本书没有被翻译并引进?从这本书的内容来看,正好让“不明真相的群众”认识到一个经常对其它国家指手划脚的 international good guy 的真面目。但是后来我想了想,中国人非常擅长的功夫中有一条——影射,比如“清风不识字,何故乱翻书”之类,如果读者从这本书中描述的国家联想到其它国家,可能是一件非常不幸的事情。

ACM 图灵奖演讲论文集

2009年5月18日 Solrex Yang 没有评论

今天尝试了一下 JabRef 论文数据库的 HTML 导出,将我搜集的 ACM Turing Award Lectures 的 BibTeX 信息输出到了这个页面

由于版权问题,无法给出 PDF 文件下载,但是每篇论文后面都给出了 DOI 链接,有 ACM 数据库访问权限的用户可以自己去下载。如果您是我的朋友且对此感兴趣且无法访问 ACM Portal,可以在 IM 上联系我索取 PDF 包(为个人学习、研究或者欣赏使用),Email 是不行的,因为太大了。

事实上,这个页面的大部分文章是收入《ACM Turing Award Lectures -- The First Twenty Years : 1966 to 1985》中的,中国的苏运霖教授翻译后出版了《ACM图灵奖演讲集:前20年》。

再为 JabRef 做个广告。我不知道其它的论文管理工具能否做这样的事情,不过 JabRef 输出的 HTML 页面真的很不错。我以后要是成为学术男,就用它来发布我发表的论文列表 :)

跨平台音乐播放软件 Songbird

2009年5月17日 Solrex Yang 9 条评论

Songbird 是一款开源音乐播放软件,目前可以支持在 Windows, Linux 和 Mac 操作系统上运行。从我的角度来看,它有几大特性:(1)支持 iPod——对我来说没诱惑,我又没有 iPod;(2)类 iTunes 界面,这一点我还是很欣赏的,管理音乐比较方便;(3)内嵌浏览器,用某篇文章的话说就是:“如果iTunes和Firefox来一场甜蜜的网络性爱,他们产下的卵就是Songbird。”虽然形同鸡肋,不过也蛮有趣的;(4)支持类似于 Firefox 的插件功能,这将会是 Songbird 的杀手锏;(5)支持大部分中文歌曲 ID3 标签——这一点使我不得不喜欢它,下面我还会说到;(6)可用插件支持歌词显示。

总的来说,Songbird 吸引我的主要原因是后两条,因为我很难在 Linux 下找到实现这两条的播放软件,但是这后两条特性又貌似不那么完全。本地化、本地化,Linux 的本地化一直是一个问题,再加上像我这样的“事儿妈”喜欢在 en_US.UTF-8 的 LOCALE 下追求中文使用的无障碍,使得问题更糟糕。Linux 下的经典播放软件 xmms, RhythmBox, Amarok,无一例外都被中文 ID3 标签显示问题打败(或者说我不知道如何配置?)。

Songbird 让我看到了一丝希望。我目前歌曲库中所有歌曲都是从 Google Music 下载的,乍一装上 Songbird 运行后,我发现它居然能识别出大部分歌曲的 ID3 信息(Windows 和 Linux 平台下效果是一样的),不过仍然有乱码存在。我想可能是 ID3 标签自身问题,于是到 Windows 下用千千静听编辑了一下这些显示为乱码的歌曲信息。经过多次尝试,发现用千千静听将 ID3 信息先写入为 ID3v1,然后再重新以 UTF-16 格式写入为 ID3v1 & ID3v2 貌似可以解决 Songbird 的乱码问题,至少我的歌曲库已经没有乱码了。

这个乱码解决方案的重要之处在于:Windows Explorer 支持该方案,也意味着大部分 MP3 音乐播放器(随身听)支持该方案。不像通常为使 Linux 下的播放软件(比如 Amarok)支持 ID3 标签,要强行将 mp3 文件的 ID3 标签转换为 UTF-8 编码,这样会造成大部分 mp3 随身听和 Windows Explorer 无法显示歌曲信息。(插一句:在我使用过的 mp3 里,只有魅族 Miniplayer(M6) 支持 UTF-8 格式的 ID3 标签和 UTF-8 格式的 txt 文档,这也是我对魅族这间公司有很大好感的原因之一。)

Songbird 的歌词插件也很奇怪,貌似它只支持内嵌于 ID3 标签中的歌词,而且没有时间轴,还好 Google Music 的歌曲大部分内嵌有歌词。不知道存不存在可以从外部文件读取歌词并且以时间轴显示的插件?

关于 ID3 标签,我还有一些疑问,下面列出来,希望对此有了解的朋友能够指点一二。

1. 网上讨论 Linux ID3 标签编码问题时经常会说 ID3 标签的编码是 GBK, BIG5 所以造成了乱码问题。但 Wikipedia 上说,ID3v1 只支持 ISO-8859-1,ID3v2.1 增加了 UTF-16 支持,ID3v2.4 增加了 UTF-8 支持,貌似 ID3 标签根本没有 GBK 编码这一说。那么乱码问题到底和 GBK 有关系吗?

Li Fanxi 网友的重要评论:ID3v1只支持ISO-8859-1,不过很多传统的软件,比如WinAMP或Tag&Rename,都会用System Code Page去存放非ISO-8859-1中的字符。对于CP936,自然就是GB2312了。一些严格符合标准的软件如果没有考虑到这个问题,就会出现乱码。

2. 这篇疑似 Amarok 开发人员的博客中说:“(我们限制自动检测编码功能仅检测 ID3v1 )基于这样的假设:所有的 ID3v2 使用的是 UTF-8 编码,所有的 ID3v1 使用的是非 UTF-8 编码。”但是要知道大部分中文 MP3 歌曲使用的是 ID3v2.3,根本不支持 UTF-8。那是否能得出这样的结论:Amarok 乱码问题是因为 Amarok 不支持 ID3v2 标准,而不是 Windows Explorer 和其他 mp3 播放器厂家不支持标准?那么我想,有了 Songbird,是放弃 Amarok 的时候了。

Li Fanxi 网友的重要评论:ID3v2.3不支持UTF-8,如果用UTF-8存ID3v2.3 Tag可以看成是软件的Bug,我不太确定有多少软件会这么做。

3. 为什么某些同样是 ID3v2.3 编码的 MP3,Windows Explorer 和千千静听能读取正确,Songbird 中却有可能显示为乱码呢?

Li Fanxi 网友的重要评论:这个问题还是要具体问题再具体分析,可以用软件分析一下这个文件中倒底存了多少种Tag,一个文件中可以同时存在几种版本的Tag,比如ID3v1、ID3v2、APE,不同的软件可能对不同的Tag的识别优先级不一样,导致显示结果不一样。

虽然我天天在Linux下工作,不过管理Tag我还是wine一个Windows下的Mp3tag来用,因为以前在Windows下用惯了,而且我也在维护这个软件的简体中文语言文件。这个软件Usability不算好,不过功能很强,适合对MP3 Tag管理有比较高要求的朋友用用。http://www.mp3tag.de/en

对于解决乱码MP3的问题,我用Mp3tag的方案是先对用System Code Page存放的Tag做一次Convert Codepage的Action。然后把MP3 Tag清除动作设成清除所有,写入动作设成只写入ID3v2.3 UTF-16,然后对所有的文件做一次Ctrl+X再Ctrl+V。世界就清静了。

PS: 一定要试试 Songbird 的 MashTape 插件,很好很强大!

Google 音乐搜索

2009年4月10日 Solrex Yang 13 条评论

/* 这不是一篇商业软文——虽然我希望可以有钱赚 :) */

Google 音乐搜索

今天无意中溜到和菜头的博客,看到他对谷歌音乐搜索的评论。然后试了一把,您还别说,真不错。

虽然这个音乐搜索并不像一个搜索网站而更像一个常见的音乐站,但是界面足够清爽,而且链接不会失效。我平时访问某些音乐站时最讨厌的就是页面上一堆链接,而且很多音乐是从别的网站盗链过来,经常失效。

最赞的是那个音乐播放器,列表功能很强大,而且还可以同步显示歌词。而且经过测试发现网速足够快,一首歌缓冲个两三秒就下载完了,完全可以在线听。我觉得以后没有必要在电脑中保存音乐了,这样一来,使用 Linux 播放 mp3 的 ID3 标签问题也解决了,而且 Linux 下也一直没有找到可以同步显示歌词的软件。

但是一个问题是播放列表无法保存,为什么不能把播放列表和 Google 帐户联系起来呢?

分类: Movie and Music 标签: , ,

惊艳 rin-wendy.com

2009年4月9日 Solrex Yang 4 条评论

这个网站的 WordPress 主题太——漂亮了!!!太可爱了!!!太喜欢了!!!

http://rin-wendy.com/

别找了,作者没有释出主题下载。国内论坛上曾经有人用蜘蛛抠下来了主题文件,但是碰巧 Rin 其实也是华人,人家能看懂中文。在 Rin 的强烈反对下都被删贴了。

我好喜欢这样的主题呀!不知道哪里有类似的释出的主题下载?我拿来自己改改也成呀!

分类: Art 标签: ,

Revolutionary Road

2009年3月21日 Solrex Yang 5 条评论

周末无事,来写影评吧。

Revolutionary Road(革命之路),一部 Leonardo DiCaprio 主演的电影,在豆瓣上最经典的评价是:“如果杰克当年爬上了木板,他和露丝现在就是这副德兴。”我不太怀疑这句话的正确性,但我仍不禁产生了一个邪恶的想法:Jack 和 Rose 之所以成为传奇,成为“特别的”,勾引无数痴情小女生看完后眼泪汪汪地对男朋友说:“If I jump, do you jump?”,大概也因为 Jack 没有爬上那张木板。

一个平庸的讨厌工作的公司职员,一个梦想做演员的家庭主妇,一个靠搬家到巴黎解决婚姻问题的妄想,一次误打误撞得到提升带来的幻想,一次妄想破灭转嫁于孩子身上却带走自己生命的流产,再加上一个说话尖刻夸张却能看透人心的所谓疯子,一个默默欣赏着邻居美丽妻子的丈夫,一个知道丈夫心思却忍受许久而最终得以解放的妻子,构成了这个发生在 Revolutionary Road 的故事。

看电影最痛苦也最爽快地就是能在电影中看到自己的影子。那个打定主意要放弃自己不喜欢的工作,与妻子搬到巴黎去继续自己不平凡梦想的 Frank,忽而得到提升机会,便以为自己很擅长那份讨厌的工作,又萌生了继续工作下去的想法,并寻找各种理由来反对那个曾经同意的建议。其实就像自己,看似为自己而活,实际上却活在别人的眼光里,喜好、能力莫不是被外力敲敲打打。回头看看走过的路,别人的肯定与否往往影响着自己的选择,而不是由发自内心的喜爱或者憎恶来控制,更可笑的是,会编造出一套虚假的理由来劝说自己承认别人是对的。这样的自己,也算是特别的吗?

挣扎在平凡与特别之间的,不只有 Frank 和 April 两个人。是我们太傻,还是太聪明——能够认为 we are special?

分类: Movie and Music 标签: , ,

新购《少有人走的路》等五本书

2009年2月14日 Solrex Yang 1 条评论

其实本想只买《少有人走的路》一本书,但卓越网购书总价 49 元以上才给免配送费,于是就在卓越的特价店中淘了一批其它好书,均价大致在 5 折左右。后来发现当当网免运费,书价也差不多,就有点儿后悔了 :)

2 月 7 号下的订单,一直没有消息。昨天下楼偶然看到有卓越的送货人员,就上前询问,才知道卓越只给了快递公司座机号码,没有把我手机号打印在订单上,所以他们一直无法联系到我。幸好我问了一下,才拿到了书。装在一个纸箱子里,里面还有起泡塑料纸垫着。

经常在网上买书,比较蔚蓝、ChinaPub、当当和卓越,觉得在卓越网买书,包装和发票是最好的,都很正规。而且配送也比较好,尤其当时住中关村时,是卓越自己的人配送,还会带着 POS 机,付款可以直接刷卡。蔚蓝和卓越给我的印象最深,在蔚蓝网买书,总是隔一天到,期望比较大,方差比较小;在卓越网买书,一般第二天就能到,但是也很容易碰到好几天到不了的,期望比较小,方差比较大。

卓越的特价店经常有一些好东西,买书凑不够免运费的时候我就去特价店逛逛,经常有一些人文类的特价书,一般在 5 折左右。上次就在特价店以 8 元左右的价钱买了几本王小波的书,还没看完呢。这次买的书,包括《少有人走的路》,也都在特价店里面。

《少有人走的路》,M.Scott.Peck,于海生译,吉林文史出版社。这本书曾经被我的两个师兄推荐过。今天早晨翻了一下,的确是一本好书,看得我很汗颜。这种书大概需要多读几遍的。还有一本《少有人走的路2》,据说是伪书,豆瓣上的评论都很差,就不买了罢。

《人间词话手稿本全编》,王国维,内蒙古人民出版社。名声很响,大师的作品,因之很仰慕。

《中国人史纲》,柏杨,山西人民出版社。想读一读不同风格的中国史。

《悲惨世界》精装本,雨果,潘丽珍译,译林。觉得面相还不错,买来收藏。

《第二十二条军规》精装本,约瑟夫·海勒,扬恝译,译林。早有耳闻,顺道买了。

分类: Reading 标签: ,