存档

作者存档

Herb Sutter Gave up Live Space due to Comment Spams

2008年4月7日 1 条评论

http://herbsutter.spaces.live.com/Blog/cns!2D4327CC297151BB!917.entry

Herb Sutter, the C++ guru, finally left Live Space due to the comment spam out of control.

I like Live Spaces, and I really
hate moving a blog, but unfortunately the comment spam is out of
control and I just can’t keep up with the tools available to manage it
here — other than accepting a blog with no comments at all, which I’m
unwilling to do. Your comments are too valuable to give up.

I have researched on the blog comment spams for a long time, since my blog was spammed at the first time (in Chinese). Also I created a semi-automatic solution (in Chinese) to delete the spams. I believe not only me is suffering the blog comment spams, so I was thinking to make the solution totally automatic, and create a tool to clean blog comment spams for us spammer haters.

However, even I created the tool, that does not means our bloggers should take the responsibility to do anti-spam tasks. Anti-spam is the business of the service provider. Live Space SHOULD improve its comment system, or it will become Live Spam and more and more people will leave.

几款专用电子书籍阅读器的比较

2008年4月4日 4 条评论

最近在评估几款电子书籍阅读器,考虑为自己添置一个,但是目前还处在观望状态,毕竟价钱不菲。

之所以开始对电子书籍阅读器感兴趣是发现自己看书的时间越来越少,坐在计算机前面看书总会被各种各上的事情打断,例如不期而至的邮件和即时消息,而脱离计算机的时候能看的书太少。所以考虑一个设备,可以专门用来读书,而且真的像一本纸质的书一样便于携带,而且随时随地可以阅读。另一方面这个东西功能不能太强大——内置WIFI,浏览器或者内置电子邮件处理的话,很可能会演变成另一台笔记本电脑;而如果直接用PDA或者智能手机或者PSP之类的非专用设备的话,一方面那种屏幕读书很累,另一方面设备上面另外的功能可能会成为看书的影响。添置这个设备的目的本身就在于能够获得像普通书籍一样的使用方式,所以专用的书籍阅读器是一个很好的选择。

这次评估的基本需求是:
1. 便携性:设备至少不能比一本书大,否则太难携带。电池必须足够强劲。
2. 屏幕阅读感觉:不能太伤眼睛(基本上就是E-Ink了,背光的LCD就是太伤眼睛)。
3. 文档格式支持:至少应该可以支持PDF,CHM,DOC。如果能够支持CBZ/CBR格式就更好了。
4. 二次开发的可能性:这样至少可以给我一个对它进行自定义的可能。
5. 售后服务:这种专用设备最怕的就是硬件损坏,因此有一个好的售后服务还是非常重要的。
6. 价格:如果买设备的钱超过了可能的潜在的买书的钱,那么就算了。

在网上搜索了很多的资料加以评估之后,目标基本上锁定在下面的三款:
1. Sony PRS-505
2. 津科翰林V3
3. iRex iLiad

现在非常火爆的Amazon Kindle不在考虑之列,原因有三:通用格式支持不好(主要是PDF);不方便购买和售后服务(在中国大陆没有销售);无线功能在中国不可用(这个是最大的问题,看看Kindle的介绍,只能用美国的3G网络,中国的3G标准不一样啊……没有了无线网络,这个阅读器并没有什么出彩的地方)。

下面分别比较一下锁定的三款阅读器的优势和劣势。

Sony PRS-505:
6寸e-ink屏,显示效果不错,便携性也毋庸置疑。7500页翻页的电池能力(e-ink屏只有翻页的时候才耗电,而且没有背光,因此这种设备的电池续航能力都不是用时间,而是用翻页次数衡量的)。
$299,据说一般会有折扣,让美国的朋友帮我买或者从淘宝上面买,大概2000块左右。
专有数据格式(LRF格式),原生支持TXT和图片,有PDF支持,但是几乎不可用。
没有找到SDK,但是网上有围绕开源的反向工程库libprs500的健康发展的社区,转换工具和库也很多,可以将各种书籍格式转成LRF格式,而且有模拟器可以预览转换后的效果。下过来用了一下,CBZ/CBR、DOC转换效果不错,PDF尚可接受。唯独比较不爽的是处理效率,当PDF文件过大的时候,这些工具都是内存杀手(400页大概消耗400M内存的样子),而且运行速度很慢(大概2秒钟一页纸的转换速度)。
主要问题是需要刷机才可以支持中文,且在国内没有正式销售,因此没有国内售后。

津科翰林V3(评测):
国产产品,因此中文支持、国际化和售后服务都没得说。
6寸e-ink屏,7500页+翻页,电池为诺基亚薄电池,可自行更换(包装盒里面还有赠送螺丝刀一个,用于开启电池盒Orz)。
淘宝上面报价2600左右,比Sony的稍贵。
文件支持格式很全,除了CBR/CBZ不支持其他都支持,而且PDF可三级缩放。虽然不支持CBR/CBZ但是支持统一目录下的一坨图片的格式,因此可以把CBR解开看。原生支持WOLF格式,是一种基于图像的格式,有一些第三方工具,但是不太好用。
看起来似乎有SDK,但是需要注册才可下载,因此还没有看。
颜色看到的都是黑色的,不知道有没有银色的。

iRex iLiad(评测)
这个本来不在我的评估之列的,但是看过之后觉得这个东西真tm酷。
不过价钱也是真tm酷,¥5600,基本打消了我买的念头。但是既然评估过了,还是拿出来谈谈。
8寸e-ink屏,大啊,大就表明字大啊,字大自然看着爽。
支持手写。
支持802.11b/g,以太网和CDMA
原生中文界面支持(但是据说中文文件名和文件内容支持不好)。
有SDK(需要在Linux上面运行),而且看了一下,SDK有不错的架构。
大陆有售后服务中心。
最大的缺点是电池续航能力差,大约只能支持5小时(不开启无线)。
另一个缺点是文件类型支持少(但是有SDK了,而且有个不错的架构,估计会多起来的)。

最后考虑一下,暂时还是不要买了——价钱太贵。如果将来要买的话,首选翰林V3(而且这个在淘宝旧货上面淘到的可能性还很大),其次是Sony PRS-505。iLiad的话,虽然我很喜欢这个,但是目前来说,还是算了,如果有人愿意送我一个,我没意见。

最后写一句,关于为什么不考虑EeePC或者其他的设备:因为他们不是e-ink。

标签: , ,

更新一下最近的状态

2008年3月29日 没有评论

忙。没时间写blog。

就这样。

标签:

书籍推荐:Release It! Design and Deploy Production-Ready Software

2008年3月16日 2 条评论

介绍:http://pragprog.com/titles/mnee

Release It!: Design and Deploy Production-Ready Software
by Michael T. Nygard

2008 Jolt Productivity Award Winner (2008 Jolt生产力大奖)。

不知道Jolt Award?看看它的首页上面的一小段引用吧:

"The Jolt Awards are the Oscars of our industry."

Our industry,自然是Software industry.

本书的核心名言:

“Feature complete” is not the same as “production ready.”
“具有全部特性”不等于“可用于生产”。

朋友推荐给我之后,看了这本书的前言和目录,感觉这本书就是为我,以及为我现在所在的项目所写:

Too often, project teams aim to pass QA’s tests, instead of aiming for life in Production (with a capital P). That is, the bulk of your work probably focuses on passing testing. But testing—even agile, pragmatic, automated testing—is not enough to prove that software is ready for the real world. The stresses and the strains of the real world, with crazy real users, globe-spanning traffic, and virus-writing mobs from countries you’ve never even heard of, go well beyond what we could ever hope to test for.

这本书从一个高于技术的层面来探讨企业级软件架构师、设计者和开发者应该怎样看待企业级软件的问题。一言以蔽之:

…, enterprise-class simply means that the software must be available, or the company loses money.

书中提供了大量的例子来讲述企业级软件的稳定性(stability),容量(capacity),设计上的考虑和权衡(general design issues and trade-offs),以及如何让你的软件融入到整个信息生态系统(examine the system’s ongoing life as part of the overall information ecosystem)。

总之,这本书应该推荐给所有开发企业级软件的人看看,包括架构师、设计者、开发人员和测试人员。

标签:

今天看到的两个安全相关的话题

2008年3月6日 没有评论

Google Android SDK发现安全漏洞


Core Security said Android SDK m3-rc37a and earlier are vulnerable to
several bugs in components that process GIF, PNG and BMP images, and
Android SDK m5-rc14 is vulnerable to a security bug in the component
that process BMP images.


CAPTCHA is dead, long live CAPTCHA

Hotmail, Yahoo, 和GMail的CAPTCHA近期相继被破掉,虽然它们看起来是那么坚不可摧:
Google:

Yahoo:

Hotmail:

— ftofficer的一点看法 —
正如文章中所提到的那样,CAPTCHA对于专业的spam发送者已经越来越没有防御力,它的作用可能在不久的将来就将退化为仅仅为了防script kids了。对于专业的spam发送者来说,技术手段是无法防住他们的,尤其在中国这种低人力成本的环境下,真的雇佣人来读CAPTCHA并且解读,都并非一件不可能的事情。
— /看法完 —

标签: , ,

恭喜 Ferry 喜添千金

2008年3月4日 2 条评论

Ferry是我们以前实验室的师兄,97届少年班天才少年,QQP的师傅。论年龄比我们大不了几岁,但是在我们大三的时候就研究生毕业去了米国,到亚利桑那沙漠中央啃仙人掌去了。自从他毕业我还没有再见过他。印象当中的Ferry是个典型的科大大男孩,瘦瘦小小的,戴着有半边脸大小的黑边框眼镜,穿着看起来似乎几年不洗的T恤和标志性的科大黄拖鞋在科大校园和实验室当中晃来晃去。

就是这样一位大男孩,出国之后却如同搭上了快车道,先是迅速接受了耶稣基督的洗礼,然后半年前听说他结婚了,然后今天听说他有了个女儿。

不禁感叹,一晃三年,如白驹过隙。

标签: ,

修正VeryCD在启用AdBlock Plus的情况下的版面混乱问题的脚本

2008年3月2日 2 条评论

VeryCD是个不错的网站,除了在每个页面上面出现的flash广告(见下图)。当然我也知道VeryCD维持生存基本上要靠广告,但是经常搞死我浏览器的flash广告,我是不得已把它过滤掉的。

Firefox对于广告的解决方案当然是AdBlock Plus。这个插件可以按照通配符或者正则表达式来封锁广告。如果你不懂通配符或者正则表达式,直接用鼠标点点基本上也是可以解决问题的。通过在其中添加一条规则封锁 http://222.37.134.*/*.htm*,顺利达到了封锁VeryCD上面的flash广告的目的。

但是随之而来的问题是,因为过滤掉了一个iframe,整个页面布局就有了一些问题,资源详细信息因为布局的缘故无法显示(见下图)。

为了能够让它显示出来,只好另外再打一层补丁。这次用Greasemonkey,让它在加载VeryCD页面的时候在原本显示广告的地方显示另外一个东西来占个位置,自然就能够让详细信息部分显示了。

在这里显示什么呢?看了几个VeryCD页面之后,发现大多数的页面上面在简介部分都有至少一幅图片。按理说把第一副图片按比例缩小放在其中应该可以吧。最后结果见下图:

最后贴Greasemonkey脚本的代码。请将其拷贝到记事本保存为“所有文件”,文件名选择.user.js结束。保存后拖动到Firefox(事先需要安装了Greasemonkey),确定即可安装。

== 代码开始,请不要拷贝这一行 ==
// ==UserScript==
// @name           Re-format VeryCD item detail
// @namespace      http://ftofficer.spaces.live.com
// @description    Re-format VeryCD item detail
// @include        http://www.verycd.com/topics/*
// ==/UserScript==

function findFirstImg() {
  var paras = document.getElementsByTagName(‘p’);
  for (var i=0; i<paras.length; ++i) {
    var p = paras[i];
    if ( p.getAttribute(‘class’) == ‘inner_content’) {
      var imgs = p.getElementsByTagName(‘img’);
      if ( imgs && imgs.length > 0 )
        return imgs[0];
    }
  }
 
  return null;
}

function getScale(imgWidth, imgHeight, divWidth, divHeight) {
  var wScale = divWidth * 1. / imgWidth;
  var hScale = divHeight * 1. / imgHeight;
 
  if ( wScale > 1. && hScale > 1. ) {
    return 1.;
  }
 
  return wScale < hScale ? wScale : hScale;
}

function fixupVeryCDDetailPage() {
  var moreInfo = document.getElementById(‘moreInfo’);
  if ( moreInfo ) {
    var frame = document.createElement(‘div’);
    frame.setAttribute(‘class’, ‘Banner1’);
    frame.width = 300;
    frame.height = 250;

    firstImg = findFirstImg();
    if ( firstImg ) {
      var img = document.createElement(‘img’);
      img.src = firstImg.src;
      var imgScale = getScale(img.width, img.height, frame.width, frame.height);
      img.width = Math.floor(img.width * imgScale);
      img.height = Math.floor(img.height * imgScale);
      frame.appendChild(img);
    }
   
    if ( moreInfo.parentNode ) {
      moreInfo.parentNode.insertBefore(frame, moreInfo);
    }
  }
}

fixupVeryCDDetailPage();

== 代码结束,请不要拷贝这一行 ==

春暖花开,恢复性训练开始

2008年3月1日 没有评论

经过一个冬天的洗礼,似乎春天也要来了。看着爱车放在家里数月落了一层灰,再看看经过一个年的暴饮暴食导致的腰上的一圈肥肉,觉得是时候把爱车拉出来动动了。考虑到数月缺少运动,想必体能状况很糟糕,这点我也是有数的,所以今天就去滨江大道上面骑了一圈,就当是恢复性训练了。出发之前从朋友那里拿了一台Leadtek 9553D GPS轨迹记录仪,权当作是帮他测试性能了。

归来把路径导入Google Earth,发现部分市中心地段定位精度差到不能忍受,据说是高层建筑太多造成的。在空旷地带例如滨江大道上面,定位精度不错。下面的图就是导入到Google Earth之后稍加修正的结果。

路线:

部分地段细节

本次的一些统计信息:
 
 

实在是只能算作恢复性训练了……

标签: , ,

T-shirt from Mozilla

2008年3月1日 没有评论

From: extensions-developers@mozilla.org
To: [ hidden ]
Date: Fri, Feb 29, 2008 at 2:56 AM
Subject: Mozilla Add-ons Shirt for Firefox 3 Add-ons developers

Dear Add-on Developer,

Thank you and congratulations for updating your add-on with Firefox 3!
Since you have already updated your add-on to the latest Firefox 3
beta, it is time to claim your Mozilla Add-ons Developer T-shirt. If
you would like to receive the shirt, please fill out the following form
by March 18th:

 https://addons.mozilla.org/en-US/firefox/developers/tshirtrequest

Additionally, if your add-on is one of the top 50 most used add-ons by
Firefox 3 users on the Firefox 3 release day, Mozilla will offer to
sponsor a party (for an amount Mozilla will determine) for you and your
friends. That is, Mozilla will chip in for you and your friends to
celebrate your tools success! Mozilla will be in contact with the top
add-ons shortly after the Firefox 3 release.

Thank you for keeping your extension up to date as we get close to the Firefox 3 release!

Regards,

-Add-ons Admins

可惜没有图样预览。

标签: ,

有些事大家知道就行了

2008年2月29日 1 条评论

其实大家都明白就好了。
所谓暗语或者黑话,其实也就是这样了。

附该漫画介绍:

该故事讲述了发生在一所中学里的离奇事件,男主角王小明是班里非常平凡但学习数一数二的优等生,在小学三年级就加入了少先队,平时为人沉默寡言。一天下午
放学之前他注意到从楼上掉到草丛里的一本黑色封皮笔记本,出于好奇心在放学后他捡到了这本笔记。令小明惊异的是这本笔记里面记述的竟然全部都是和今年中考
有关的题型,只要填进里面的空白就可以考满分了。这本神秘的笔记如果被公开的话将会引起今年中考的大混乱。之后这本笔记的存在被省教育局的领导获悉,经省
教育局研究后决定派出一位具有多年教学经验的李教师来处理此事,因为传闻这位老师在之前的各地中考中曾经屡次成功抓住使用复杂作弊技术的作弊者而被评为省
级优秀教师,所以市里很少有人见到过他的真面目。然后在这所中学里王小明和李老师围绕着这本只要做对里面的填空就能掌控中考的笔记展开了错综复杂的心理
战,并且李老师行踪神秘王小明一直无法对其造成报复。在李老师突击家访的时候王小明将这本笔记放进书桌抽屉的夹层来逃避检查,而他一直想知道的地址却因为
李老师经常搬家而无从查起……这一切究竟是如何发生的?事件的背后又隐藏着怎样的真相?“真相,只有一个!”。

很好很和谐。

标签: ,