Live.com

December 19, 2008 11:29 am UTC | In Tech | 13 Comments | hide

曾几何时,bbs 文章里加了附件就去不掉了,只能把文章删掉。实际上,系统管理员还是看得到删掉的文章的,所以一般推荐的毁尸灭迹的方法是(假设这个论坛系统是由心理健康的团队制作的),删除附件(如果可能)、删除文字、最后再删除文章,这样基本可以保证只有闲得蛋疼且拥有服务器直接操作权限的家伙才有可能恢复那个帖子。KBS 系统里面,后来是 etnlegend 写了增删附件的核心和 term 部分的界面(我只是顺手写了个 web 部分的接口),bbs 才慢慢滑入了 21 世纪的轨道,美女 show 完照片可以及时删掉以防 wsn 骚扰。

就在最土鳖的 bbs 也慢慢披上了 Web 2.0 的衣裳的时候,Live.com 却悄悄的把它们的时钟拨回了 20 世纪。在 Live space 里面删除了的博客文章,仍旧会显示在它自己的 what’s new 里面(包括内容提要,但是可以手动删掉)。好吧,我承认,在如此“庞大”的一个系统里面,要保证 consistency 确实不是一件太简单的事情;但是删掉的博客文章不再让别的用户看到,却理应是最基本的隐私规则,对于 Live 这个 bug 我能说什么呢?要么,是 PM prioritize tasks 策略有问题;要么,是 engineer 缺乏 common sense;要么,这难道是一个 feature??

Live.com 最近一次改版,不但 bug 层出不穷,还搞得很八卦。现在 MSN 昵称变化都有记录了。康神是一个好人,每次上 WC 都要改一下昵称以免误事。结果我等教众只要去康神的 profile 看,就可以知道康神如厕时间表……善哉善哉。Live.com 你向人家 SNS 取经,也要动动脑子,不要什么东西都拿来随便一抄,搞得人不像人鬼不像鬼。再比如说,页面上方大大的一个“People you might know”,我琢磨着 Live.com 的六度理论练得是不是纯熟,顺手点进去一看,蹦出一提示“We don’t have any suggestions for you now.”,你这不耍我么?没货早说啊!

还不止这点破事儿。Live space mover 的作者 broom 怒道

Stupid Live Space!!!

我就不明白了,评论的时间只显示月日不显示时分秒是啥意思……

而月份的表示,七月份是四个字母“July”,十一月就变成了三个字母的缩写加一个点儿“Nov.”,发指的是九月份居然是四个字母加一个点——“Sept.”…… 这真是癞蛤蟆跳脚背——不咬人恶心人……

管Live Space的同学你们有那么闲吗??有吗???!

broom 说,这一次的升级已经把他击溃了。还有,Photo permalink 换了,导致 rss reader 里面像洪水一样刷出几十屏的老照片。Alpha 对此评论说:“Live space 隔个一年半载就来这么一遭”,看来大家对这个问题也见多不怪了。我以前还提到过另一个问题

……微软的 Live Spaces 里面的 Blog Entry 发布时间默认是不显示年份的,有时候搜索到一篇文章却死活找不到哪年发表的,告诉我几月几号有个屁用啊……那帮写程序的家伙也许从来没想到过 Live Spaces 能活过一年,所以“前瞻”到年份信息是没有意义的……

博客说到底不就是一个内容发布和留言板系统吗,如果放学校里做顶多算个 network 101 的小作业,final project 都算不上。Live.com 却整得巨复杂,还特慢,稍微差点的机器开个 Live space 就跟死机了似的。随便抓个开源的框架都比 Live 的轻量、简洁、漂亮、全能。Live.com 的 infrastructure 听说也是相当牛逼的,怎么前端会搞成这么个样子呢?

Tags: , , , , , , ,

批评一下 PHP

March 23, 2008 10:43 pm UTC | In Tech | 3 Comments | hide

PHP 里函数多如牛毛,加进去又没什么统一规划,搞得现在成了命名法大杂烩,比如:

  • obj_verb 型的:array_slice() http_inflate()
  • verb_obj 型的:create_function() parse_str()
  • verbobj 不加下划线:setcookie() addslashes()
  • 直接把 POSIX 传统函数拿来用的:opendir() fopen()
  • 这种算什么呢:error_reporting() htmlspecialchars() 特别是这个 htmlspecialchars 命名毫无章法
  • 新老 DOM 类函数不一样:一个叫 getAttribute(),另一个叫 get_attribute()
  • 你可能会说,那同类函数可能命名法就一致了吧?也不全是,日历函数:
    • verb_obj:cal_days_in_month()
    • 大写首字母不加下划线:JDDayOfWeek()
    • 突然又全小写了:jdtounix()

(其实 PHP 函数名不分大小写,最后这俩只是文档故意添乱) 晕死。有人说,你真弱,用多了就全熟了。好吧,我是比较弱,可是我知道有人在知名大公司天天写 PHP 还是和我一样晕……PHP 函数命名为什么这么乱?给俩链接:

换个话题,最近 PHP 的 substr 函数被人改坏了。

There was a small inconsistency between PHP 5.2.1 and 5.2.2. In PHP 5.2.1, substr($str, $start) returns the full $str if ($start < 0 && abs($start) > strlen($str)). But starting from PHP 5.2.2, FALSE would be returned. Before 5.2.2, this behavior was conveniently used to extract at most N last characters of a string, e.g. $str = substr($str, 30); limits $str to at most 30 characters and truncate from the beginning if necessary. However, this no longer works! See also: diff-5.2.1-5.2.2, bug 41375. This is likely to change back in PHP 5.3, given what’s recently been done on PHP_5_3 branch.

PHP Doc 有正方呼吁:This is a small inconsistency, one of those things that makes the life of a PHP programmer like hell. Bugzilla 上反方辩护:The fact that it worked up until 5.2.1 doesn’t mean that you should have used it. 这个问题其实最开始只是因为别的原因无意间改错的,但是 PHP 内部却有人坚持错误,有人报告这个问题也被归类为 Bogus(意思就是说,RTFM,回家好好读文档去)。其实文档也不明确,现在基于各种原因,PHP 5.3 分支上又改回去了,真是搬起石头砸自己的脚。

说个微软搬石头砸自己脚的故事。IE 最开始搞出 {client,offset,scroll}{Top,Width,Height,Left} 十二个很有意义的 HTML 属性用来方便的设置/获取对象大小/位置等信息,实在是一个很好很强大的发明,基本也铁定进 HTML5 了。不过 IE 里面的制造标准不明确,各类元素定义略有不同,反倒别的浏览器抄得更和谐。搞到现在的局面是,微软自己发明的东西,反倒被 QuirksMode 说成 IE 里 incorrect/buggy,不如别的浏览器“正确”,真是衰啊。

Tags: , , , ,

IE6 和 PNG 透明色

March 4, 2008 10:36 pm UTC | In Tech | 5 Comments | hide

kangkang-png8.pngkangkang-png24.pngkangkang.gif

今天又碰到有人说 IE6 不支持 PNG 透明色,真是无语……所以干脆跑上来拜一下康神好了。上面三张图分别是 PNG-8,PNG-24 和 GIF。IE6 不支持的只是 PNG 的 alpha 通道(256 级可调半透明色),PNG-8 索引色里的完全透明色还是支持的。正常浏览器能看到三尊金色背景的康神;IE6 里中间那尊 PNG-24 康神则没有金色背景。

P.S. IE6 可以用 filter 弄 alpha 通道。

Tags: , , ,

小牛犊 APNG 力挫老古董 MNG

March 3, 2008 11:27 am UTC | In Tech | 10 Comments | hide

GIF 是一个变态的格式,不但当年有专利方面的问题,而且只能支持 256 色,还没有 full alpha 通道,只不过现在还没有别的通用格式可以替代其动画功能,所以 GIF 还是一个相当流行的格式。PNG 1996 年发布的时候就希望打倒 GIF,但是 PNG 的软件支持发展比较慢,特别是 PNG 不支持动画,导致 GIF 一直到现在还没有被打倒。(GIF、JPEG 和 PNG 的比较

PNG 小组的保守派一直强调,祖先定下规矩,PNG 只能存储一张图片。于是,他们在 1996 年就开始琢磨另一种全新的动画格式,叫做 MNG,但是十多年过去了,MNG 却已经销声匿迹。MNG 错在哪里?MNG 的结构太复杂了。PNG 当初作为一种全新的格式,就经过了好几年才开始普及;而 MNG 除了多一个动画功能,也没有太多的好处。Mozilla 浏览器曾经支持过 MNG,但是 2003 年夏天很诡异的把 MNG 支持去掉了。You can support, and then unsupport?这不禁让我想到盖茨在 Bill Gates’ Last Day at Microsoft 中所说的“you can retire, and then unretire?”

Mozilla 去掉 MNG 支持的事情曾在 Bugzilla 上引起轩然大波(Bug 18574 195280)。去掉 MNG 的主要原因是 Mozilla 里维护 MNG 库的 tor 力不从心不想干了。MNG 复杂的结构导致其解码库比 Mozilla 里别的所有图片格式的解码库总和还要大,虽说这 200 kB 的解码库即使在当时 2003 年也根本不算什么,但这是 tor 列举的移除 MNG 支持的第一个理由,因此也常被人误读为 Mozilla 去掉 MNG 的根本原因。MNG 创始人之一 Gerard Juyn 曾写道

Mozilla 1.4 still supports MNG, but current builds have it removed. The decision was made to save space…

FireFox is the lean and mean descendant of Mozilla…

这之后 MNG 的日子越来越不好过,目前主流浏览器里只有 Konqueror 原生支持 MNG,别的都要装插件(Konqueror 算主流浏览器么?)。libpng 目前的维护者 Glenn Randers-Pehrson 在 2007 年承认

After 6 years or so since MNG-1.0 was approved, it seems clear that it is not really going anywhere, mostly due to claims that it is too complex.

互联网发展了这么多年,通用动画格式仍旧只有存在各类问题的 GIF 一种。 2004 年,Mozilla 有两个人痛定思痛,发明了一种基于 PNG 的动画格式,叫 APNG。APNG 比 MNG 好在什么地方?APNG 是对 PNG 格式的一个极小扩展,而非完全从头打造一个全新格式。首先,它和老 PNG 标准完全兼容,不认识 APNG 格式的浏览器可以正确显示 APNG 动画里的第一帧图片;其次,由于它只是对 PNG 格式的一个小扩展,所以支持 APNG 非常简单,PNG 库也只会增加大概 5% 的大小。不过比较搞笑的是,2004 年 APNG 提出之后那两个猪头一直没空实现它,一直到 2006 年有一个机会他们在 Google Summer of Code 找了个小弟 Andrew Smith 实现了 APNG 解码,现在最新的 Firefox 3 beta 和 Opera 9.50 beta 都已经支持 APNG。

APNG 的出现,自然是给渐渐死亡的 MNG 重重一击。PNG 邮件列表上争吵声此起彼伏。2004 年,PNG 创始人之一 Thomas Boutell 在《MNG 已死,有事烧纸》一文中回顾到:

PNG is moderately successful, but it never did replace GIF. That’s mainly because Netscape sprang animated GIF on the world when the PNG specification was nearly final, without saying a word or once suggesting that we include animation.

When animated GIF appeared, I lobbied the PNG group for simple, GIF-style animation support in PNG, … I lost out to those who made eloquent arguments for a more complete animation format (So much for dictatorship. At least I was benevolent.). MNG, the all-singing, all-dancing, all-merciless animation format, took a long time to standardize and was rejected by both major web browser vendors …

Very recently, two young turks decided to invent a simple new animated-PNG format (apng) … It is kicking up a shitstorm on the long-dormant PNG mailing list. The old-timers and the young turks are trying to hash out an agreement. I agree for the most part with the young turks and their design choices.

I could not be more pleased with this development.

Andrew Smith 在 libpng 的 apng 补丁发布网站提到一句 MNG:

MNG already existed at that time but was too big/fancy for most people to accept as an image format (this is the first and last time I mentioned this flamy topic).

这样的争吵持续了很久,2007 年 4 月 PNG 小组投票决定是否允许 APNG 进入官方 PNG 标准,投票以 10:8 否决这个建议,PNG 小组里的顽固分子仍旧相当排斥直接在 PNG 格式上动手动脚支持动画。

标准的诞生,基本上是一个先有鸡还是先有蛋的问题。世上本没有使用 PNG 的人,也没有支持 PNG 的浏览器,更没有制作 PNG 的软件;然而几年过去,三者相互影响并都稳步上升。MNG 一开始面对的也是同样的境地,但却没有流行起来。APNG 其概念本身并不优美,是对 PNG 标准的粗暴践踏,但是因为有的放矢,射中要害,却得到了两个主流浏览器的认可。标准的诞生就是一场恶战,不一定最好的技术就会胜利,TCP/IP 就是一个例子。新标准和新公司一样,只有好的想法和技术并不能成功,市场团队同样重要。市场做好了,烂东西也能变成好东西。

有人对开源软件盲目崇拜,认为软件开了源就是万事大吉,其实缺少了经济利益驱动的开源软件往往官僚更严重,即便在开源团队内部,权威照样存在,更不用说在用户层面上的反馈了。开源不等于开放,开源也不等于民主。AA 软件的 XX 功能能不能改改?你丫不会自己改啊?AA 软件为什么没有 YY 功能?你大爷的你爱用不用。AA 软件的 ZZ 功能是不是有 bug?放屁,这叫 feature!Bugzilla 上这么多反对的声音,Mozilla 的 MNG 支持照样被去掉了。群众力推 APNG,无论其多么的符合实际需求,照样能被 PNG 小组里的老东西打倒。

最后,有人问过我,是否看好 APNG。我想我也预测不了世界范围的图片格式流行趋势,不过如果 IE 不支持 APNG 的话,APNG 还是只能局限在应用程序界面上使用,很难成为网页上的通用图片格式。

(以上所有引文中的下划线都是我加的)APNG 的几个网站:

Tags: , , , , , , , , , ,

GIF、JPEG 和 PNG 的比较

March 1, 2008 3:00 pm UTC | In Tech | 3 Comments | hide

GIF、JPEG 和 PNG 是三种最常见的图片格式。

  • GIF:1987 年诞生,常用于网页动画,使用无损压缩,支持 256 种颜色(一般叫 8 bit 彩色),支持单一透明色;
  • JPEG:1992 年出世,照片一般都用这个格式,有损压缩,24 bit 真彩色(224 = 17 万种颜色),不支持动画,不支持透明色;
  • PNG:1996 年问世,无损压缩,最常见的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PNG-24)(当然 PNG 支持的颜色格式远不止此),支持 full alpha 通道(256 级可调半透明色),不支持动画。

简单比较:

  • JPEG v.s. PNG:JPEG 在照片压缩方面拥有巨大的优势,这方面无可替代,但是 JPEG 是有损压缩,图片质量会有损失。另外,一般屏幕截屏用 PNG 格式不但比 JPEG 质量高而且文件大小还更小(维基有图)。
  • GIF v.s. PNG:GIF 只在简单动画领域有优势(其实,GIF 256 色限制以及无损压缩机制导致高质量的动画的发布一般都使用 Flash 等格式),只要没有动画,PNG 完全可以取代 GIF。
  • 防锯齿:下面是 GIF 和 PNG 防锯齿处理的对比,六张小图片是分别放到浅黄和深绿背景下的情景,三张大图是深绿背景情形的放大。由于 GIF 没有半透明一说,所以防锯齿处理时只能假设背景是白色,这样的 GIF 放在深色背景下还不如不防锯齿。而 PNG 图片可以轻松应付各种背景颜色,特别适合用来做网页和应用程序里的通用防锯齿图标适应不同皮肤,没有 full alpha 通道的 JPEG 和 GIF 都做不到这一点。

ren.png

可以看到,除了照片和动画,PNG 是最好的格式,但是 PNG 为什么到最近几年才流行起来?有很多原因:

  • PNG 诞生的时候互联网已经初具规模,当时 GIF 和 JPEG 已经是很流行的格式了,换格式的迁移成本是很大的,有时候惯性是一个很可怕的东西。
  • 浏览器的 PNG 支持比较落后,比如 IE 就是到 IE4 才开始支持 PNG。
  • PNG 当初标准里把 alpha 通道写成了 optional 的,土鳖的 IE 一直到 IE7 才开始支持 full alpha 通道。而一般网页图标 256 色足够,所以为了支持 IE6,PNG 相对于 GIF 毫无优势可言,更何况 GIF 还支持动画。
  • 尽管从原理上说,同样质量的 PNG 图片文件一般要比 GIF 要小,但是早期很多图片编辑器不支持 PNG,甚至支持的也没有完全利用 PNG 压缩算法里最精妙的部分(最典型的例子就是早期的 Photoshop),保存出来的 PNG 往往巨大无比。现在的软件已经没有这些问题了,但是这个偏见还广泛存在。

Tags: , , , , , ,

跪拜康神图

February 18, 2008 5:09 pm UTC | In Tech | 6 Comments | hide

kxnorz.png kxnorz.gif

如果你看到上面三个跪拜图都是动画,那么恭喜,你现在用的是世界上最先进的浏览器。上面从左到右分别是:动画 SVG,动画 PNG,和最古董的动画 GIF。GIF 的弱点对于懂行的人显而易见,对不懂行的人说了也白说,我就不多说了。现在最新的 Opera 9.50 版可以看到三个动画;Firefox 3 开始支持动画 PNG,但是还不支持动画 SVG。

P.S. 记一下 ImageMagick 生成动画 GIF 的命令:

convert -dispose previous -delay 10 *.png kxnorz.gif

Tags: , , , , ,

你的浏览器支持 SVG 吗?

February 14, 2008 6:32 pm UTC | In Misc | 6 Comments | hide

SVG(全称 Scalable Vector Graphics)是下一代矢量图形格式,这玩意儿和 MathML 一样,都是基于 XML,都是 W3C 上个世纪就开始搞的东西,但是一直到现在这俩难兄难弟还不是非常流行。所以,我就做个广告吧,矢量图形格式最大的好处就是放大不失真。如果你的浏览器支持 SVG,就能看到下面的图形。四大菜系里只有 IE 是需要装插件的,Firefox Opera Safari 都原生支持 SVG。

(这是我高中很傻很天真的时候搞的签名 ATP,扫描到电脑里然后用 Adobe Illustrator 矢量化。)

Tags: , , ,

断词换行大战

January 22, 2008 3:57 pm UTC | In Tech | 12 Comments | hide

人物介绍:

  • 王强:网景(Netscape)公司老雇员,后成为 Mozilla 基金会骨干,主管外联;
  • 艾利:互联网世界警察 W3C 高层,负责协调 CSS3 进度;
  • 炮尔:微软(Microsoft)资深工程师,参与编写 CSS3 文字模块标准;
  • 盖兹:微软创始人之一,人称盖老板。

【第一幕】2001 年 5 月,艾利给炮尔打电话。

艾利:老炮啊,我,艾大妈。

炮尔:哎呦妈呀,好久不见嘞呀,你最近忙啥呢?

艾利:我还那样,我跟你说啊,我今天没空跟你扯。明天我们这儿有个会,要开始搞 CSS3 文字模块了,你来不来插一腿?

炮尔:啥?你们 CSS2 都没搞利落呢怎么就上 CSS3 了?我告诉你啊,上次你欠的债还没还呢,你让 Mozilla 把我们微软的 word-wrap 和 word-break 给实现了不就齐活了?还搞啥屁标准啊!

艾利:Mozilla 他们不干啊,他们非要个标准。我说,我私下早就说好让你们写标准了,你到底来不来?

炮尔:标准?啥标准?我们微软就是标准!你去外头看看多少人用我们的浏览器!

艾利:嘘,你们和网景打官司呢,别大声嚷嚷,小心 Mozilla 也告你!

炮尔:好好好,老大我服。明儿个几点开会?我今晚就飞过去。

【第二幕】第二天,W3C 会议室。

王强:炮工您好您好,很高兴见到您。听说你们 IE6 快发布了,恭喜恭喜啊!

炮尔:哪里哪里!不过我们是真的觉得这个版本很好很强大啊!

王强:听说一大批银行网站在 BETA 版上运行都有问题?嘿嘿,嘿嘿!

炮尔:这个……这个……

(艾利姗姗来迟,进入会议室)

艾利:欢迎来到 W3C,谢谢大家光临。我们 W3C 是世界上最大的互联网组织,技术实力雄厚……

炮尔:(打断)喂,你别打官腔行不行,我一会儿还要去看脱衣舞呢,难得老婆管不着我。

艾利:好那我们就直接进入正题,今天我们要协调开始 CSS3 文字模块的工作,最好下个星期就能发布一个草稿。

炮尔:大家都知道,微软早在 IE 5.5 就实现了伟大的 word-wrap 和 word-break 属性,大家只要照搬微软的文档,标准就出来了。我给大家举个例子,加了这个属性的 div,哪怕碰到再长的文字也不会把 div 撑破,比如:

ms.png

王强:首先,我赞赏微软在这方面先驱的工作,但是我并不觉得我们可以把微软这两个东西拿来直接作标准,比如同样属性的 div,可能会有这样的景象:

mz.png

王强:apart 一词被硬生生拆成了两行,这是不容许的。我觉得在这个断词换行领域,我们还有很长的路要走。

会议不欢而散,过了一个星期炮尔勉强拷贝了一下微软的文档发布了第一个 CSS3 文字模块草稿。

【第三幕】 一年后,2002 年 5 月,炮尔给王强打电话。

炮尔:小王啊,我去年请你看了脱衣舞秀,你怎么也不还个人情啊。这不 CSS3 文字模块二稿都快出了,你们 Mozilla 浏览器怎么在断词换行功能上连个动静都没有啊。

王强:这玩意儿不好搞啊。就上个月,我们才找中国佬谈过,各类标点符号能不能放行首行末的规则就快把我搞晕了。

炮尔:这个好办,我直接把我们的代码送给你们吧。我说,你还是给你们开发组施加一点压力,我这 CSS3 草稿发布出来就我们微软一个浏览器支持,我们律师怕人家告我们垄断那。

王强:还不光那一个操蛋的标点问题呢,这不我刚又收到一封中国佬的信,说他们新出了个规定,“毛主席”三个字中间也不能换行……

炮尔:我操,这都文革时候的事儿了,他们忽悠你呢。

王强:不光中文,别的语言也有问题。就说英语好了,一个词在什么地方断行,就是一个很技术的问题。比如 fucking,我是断成 fu-cking 呢,还是 fuck-ing,这很有讲究啊。

炮尔:你他妈骂我干嘛?

王强:我没骂您,我就是举个例子。再比方说了,德语 ss 中间不能断,阿拉伯语……

炮尔:行了,你们就不能随便先起个头,你们社区这么多免费劳动力,你起个头,大家自然就能贡献了。

王强:不瞒您说,这个断词换行我们开会认为是核心引擎功能,只能我们自己干。既然是核心,就不能随便乱搞,要搞就要搞个能用的。您看,光英文断词我们就得输进去整一个大英词典,工作量很大啊。

炮尔:好好,我理解。那你觉得啥时候能搞出来?

王强:今年吧,我们人都招好了,就等着写代码了。

【第四幕】镜头快速切换好几年的时光。

2003 年,Mozilla 基金会成立。断词换行功能毫无经济利益,被无限期搁置。

2004 到 2005 年,新版本 Firefox 连续发布,开发以短平快为宗旨,断词换行功能的呼声在 Bugzilla 上堆积如山,但 Mozilla 基金会视而不见。

2006 年,IE 7 开发组送给 Mozilla 一个蛋糕,祝贺 Firefox 2 发布。王强吃了一块蛋糕,感觉里面有异物,从嘴里拉出一张纸条:“你们他妈的怎么还不搞断词换行?”。

【第五幕】2008 年 1 月,盖兹在办公室找炮尔谈话。

盖兹:老炮啊,你看啊,我再过几个月就退休了,我这辈子就俩愿望,一个是把我发家的 BASIC 语言搞大,VB 搞得很成功,我很开心;还有一个我希望我们强大的 IE8 能成为 W3C 标准,你看,这只剩下没几个月了,你知道我退休前就这么一个心愿……

炮尔:盖老板,我很努力了,可是 W3C 一直不出 CSS3 标准,我也没办法啊。

盖兹:今年过年不是刚给他们送了一箱蚁力神吗?他们怎么不买帐。

炮尔:盖老板您有所不知啊,蚁力神出事儿了;而且 Mozilla 基金会刚给 W3C 送了一箱脑白金,恐怕 Firefox 还没钱开发断词换行功能,不让 CSS3 发布呢。

盖兹:好吧我知道了,你先出去吧。

盖兹给艾利打电话。

盖兹:艾大妈啊,我盖兹。

艾利:哎呦,您老还健在?

盖兹:我好得很,我问你啊,CSS3 咋还不发布呢,老子都快退休了。

艾利:这可不怪我啊,您给 Mozilla 基金会打个电话问问吧。对了啊,HTML 5 出草稿了,你们来不来插一腿?

盖兹:得,我不敢了,先这样吧,我还忙呢。

盖兹狠狠的拨了 Mozilla 基金会的号码。

“您好,这里是 Mozilla 基金会,捐钱请按 1,送钱请按 2,给钱请按 3,……和活人说话请按 0。”

盖兹按了 0,正好是王强接的。

“您好,这里是 Mozilla 基金会,我是王强,May I help you?”一口地道的伦敦腔。

“喂,我是盖老板,你大爷的你们到底什么时候搞他妈的断词换行?”

嘟……嘟……嘟……嘟……嘟……嘟……

(情节纯属虚构,如有雷同,实属巧合。)

路人甲:可是好像真事儿就是这样。

路人乙:笨!这叫艺术源于生活!

Tags: , , , , ,

下一页 »

This weblog is licensed under a Creative Commons License.
Powered by WordPress. Theme based on Pool by Borja Fernandez.