国际化?

May 7, 2008 9:02 pm | In Tech | 8 Comments | hide

ciba

非北京时间的话,倒计时就错了。有一个日本 IP 在 11 点多的时候发贴问:“为什么那个距现场发布还剩 xxx 的那个时间越来越长?” LOL。某人评论说:“从这个我们就可以看出这不是一家国际化的软件公司”。

(对事不对人,谷歌金山词霸还是蛮好用的。)

Google Reader 里看新浪博客图片

April 30, 2008 11:14 pm | In Tech | 2 Comments | hide

Google Reader 里面订阅的新浪博客直接看不到图片。如果你用 Firefox,一个简单解决方法是:

  1. 安装 RefControl 扩展
  2. RefControl Options - Add Site:
    • Site: photo.sina.com.cn
    • Action: <Block> (send no referrer)

这个方法同样适合别的在线 RSS 阅读器。更多信息:HTTP Referer二三事修改配置,让Firefox/Opera突破图片/文件下载“盗链保护”等外链限制~。刚才有人跟我抱怨,新浪这么搞真 SB。我想说,我虽然不赞成新浪限制图片显示,但是我对此表示理解,无论是管理还是技术上的原因。恩,不多说了。

对了五月一号是 RSS Awareness Day。有关什么是 RSS,请看 Common Craft 的视频

RSS Awareness Day

(不得不唧歪一句,这个图片做的可真够难看的。)

Forward link: 盗链、反盗链、反反盗链、反反反盗链

Tags: , , ,

Ubuntu: upgrade to 8.04

April 26, 2008 1:00 am | In Tech | No Comments | hide

Simply do: do-release-upgrade. Initially Mr. Ubuntu said “A unresolvable problem occurred while calculating the upgrade”. /var/log/dist-upgrade/main.log complained ubuntu-desktop package was f**ked up. After manually removing this package, everything went smoothly. Took about 6 hours.

Tags: , ,

世界是由少数人推动的

April 20, 2008 1:13 pm | In Life, Tech | 21 Comments | hide

很久很久以前,我有过一台电脑,CPU 是 80486SX 33MHz,这个 486SX 没有数学协处理器(floating-point unit、FPU、浮点运算单元,用硬件实现浮点数的快速运算),对现代电脑来说 FPU 已经是一个不可缺少的部件。我记得当年 486SX 上生成艺术字就特别特别的慢,比同速度但带 FPU 的 486DX 慢十多倍,真是土鳖啊。

当年英特尔设计 486DX 有一个缺陷,于是他们搞出一个销售策略是,如果测试出来某个 486DX 主电路是好的,但是 FPU 是坏的,那么就把 FPU 部分砸掉,然后把这个芯片当作 486SX 低价销售。这种销售方式很常见,比方我们实验室买的一种镜子,反射率越高价格也就越高,但是不同反射率镜子的生产工艺和成本完全相同,只不过由于生产过程中各类不确定因素导致镜子质量有好有坏,质量好的也就卖得贵一些。农民卖苹果也会分等级,大的苹果卖贵一些,虽然种苹果的时候他未必在大苹果上多花了力气;如果你跟他讲,苹果大小是一个正态分布,大于 +2σ 叫特等品,恐怕农民是听不明白的。

有不少人认为,世界是由少数人推动的。Kisstar 同学说,学术界真正有用的结果都是 top 10% 的牛校牛人搞出来的,大多数人都是陪练,跟着灌水而已。从时间纵向来看,确实有一小部分人为人类进步做出了很大的贡献。然而从横向角度来看,人类是作为一个整体在进步,个人贡献呈现一个正态分布,这样的分布下,必然会有一小部分人对人类进步的贡献极多。这是地球上这么多人的统计规律,所谓大样本出奇迹,世界是不是由少数人推动的,这纯粹就是一个统计学的解释问题。

就像前文所述的一种销售策略,我们是在出卖自己的智慧寻求人类进步。如果你潜质很牛,那么就不应该浪费这种能力,而应该积极的开发潜能尽力推动人类的进步。而大多数人往往觉得自己碌碌无为,并没有对人类进步做出直接的贡献,这种情况下也没有什么好气馁的,应该看到,我们为牛人出现的极小概率的分母贡献了一份,没有我们这些巨大的样本,奇迹也是不会出现的。通俗点说,你觉得是 100 个人的小村庄里面容易出一个牛顿,还是几亿个人的地球上容易出一个牛顿?

活着,就是对人类的贡献。

Tags: , ,

CSS 裸奔节

April 8, 2008 11:58 pm | In Tech | No Comments | hide

第三届 CSS 裸奔节来了!CSS Naked Day,皆在推动 Web 标准。一个具有良好 (x)html 结构层次的网页,即使没有加 CSS,也应该具有高度的可读性。不过,为啥要裸奔,难道网页有漂亮的风格不好吗?可以看比方这里

祝大家裸奔快乐。

P.S. Firefox 里可以通过菜单 View -> Page Style -> No Style 关闭 CSS。Opera 也有类似的功能。

Tags: ,

Geotagging

April 2, 2008 5:19 pm | In Life, Tech | 7 Comments | hide

Geotagging,一般指给数字化的内容打上地理信息标签,常见的一种形式就是给数码相片加经纬度信息(JPEG 的 GPS tag 属于 EXIF 标准的一部分,不过 GPS tag 在数据结构上和 EXIF 头是并列的关系,嗯……不深究无聊的细节问题了)。现在比较高级的相机都带 GPS 或者 GPS 接口了,对于没有 GPS 功能的相机,一张一张加 geotag 是不可能的,所以一般的做法是随身另带一个 GPS 记录位置/时间(GPS tracklog),然后回家之后把 GPS tracklog 和相片自动同步(两者都带有时间信息)打上 geotag。相机的时间需要预先对准,不过后期也可以用软件调,有些人的做法是对着 GPS 接收器拍一张照片用作后期处理时计算相机和 GPS 的时间差。

前几天出去玩带的是一个 WAAS-enabled GPS,最好的地方显示 5.5 feet(1.7 米)的精度,不过回来把 GPS tracklog 放到卫星图上看貌似有 4 米左右的误差,不知道是卫星图定位有问题还是我这个 GPS 说大话了……后期软件是土鳖的免费的 EasyGPSPhotoMapper,同类软件貌似还有很多。把 GPS tracklog 和同步后的照片缩略图放进 Google Earth 的效果图见上。听说还有人在 GPS tag 里加入照相机朝向的信息(有些 GPS 带电子罗盘,所以这也可以自动同步),真是 geek 到家了。不过给照片加上这么精确的位置信息有什么用呢?似乎也没有什么大用,对我来说就是因为实在太容易搞,所以不搞白不搞。Geotag 的概念倒是不错,有名的旅游景点在 Google Earth 里都有很多网友上传照片,所以无聊的时候可以在里面环游世界(我的虚拟阳光宅男形象呈现出来了……)。

Tags: , ,

康神代码赏析

March 24, 2008 6:41 pm | In Tech | 9 Comments | hide
#!/bin/bash
OLDCONTENT=`find -type f -exec md5sum {} \; | md5sum`
svn up &> /dev/null
NEWCONTENT=`find -type f -exec md5sum {} \; | md5sum`

if [ "$NEWCONTENT" != "$OLDCONTENT" ]; then
  # reload updated configuration
fi

以上是康神写的一个脚本的摘要。值得说的有两点:1、svn up 前后康神对整个目录的文件名和文件内容 md5 消化,这是确认目录是否有变化(包括文件改名)的一个好办法;2、康神用了 &> /dev/null 重定向 stdout 和 stderr,一般土鳖都写成 >/dev/null 2>&1,康神伟大!

Tags: ,

批评一下 PHP

March 23, 2008 10:43 pm | 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: , , , ,

« 上一页下一页 »

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