Tech, tools @ 08 January 2007, “6 Comments”

平时使用电脑的时候为了备份或者整理硬盘空间,需要了解目录的大小,Linux上有df和du两个命令,Windows上却没有对应的命令或者工具,而Windows Explorer(资源管理器)上的Details view里只能显示文件的大小,不能显示目录的大小。

痒总是有人会挠的,于是就有了Folder Size和WinDirStat。

Folder Size是个Shell Plugin,安装后,打开Windows Explorer,到要查看的目录,选择detail view,鼠标移到列表头,按右键,选择Folder Size就可以了。要注意的是因为读取目录大小的操作可能比较耗时和导致大量读硬盘的操作(如果某目录下子目录深,文件多,或者变化频繁)。在控制面板里还有个Folder Size的选项,可以终止Folder Size服务。

FolderSize

WinDirStat是个独立的程序,它在显示目录大小之外,还提供了使用TreeMap的直观的展现。

WinDirStat

Tech @ 19 December 2006, “1 Comment”

LOL, love it, especially the ending when all the programmers parachute off the plane.

Security, Tech @ 11 December 2006, “1 Comment”

在二十七楼写blog的Cathayan向流氓投降了一次,跟Royal几天前一样,使用多年的Windows终于重新装了。

面对病毒,恶意和流氓软件的猖獗和泛滥,除了使用防病毒软件,恶意软件清楚工具,和不得已的重装等手段之外,似乎大部分(没有调查统计过,只是个人有限的观察和猜测)用户都忽略了或者不知道最有效的也是第一道防线:使用受限的帐号使用电脑。

每个程序都有一定的权限,能做什么,不能做什么。对于大部分桌面程序,权限是由运行它的用户帐号决定的,如果用户能够安装软件,修改注册表,那么被他运行的程序也可以,如果用户用有管理员权限的帐号,那么上网或者收邮件感染到的病毒多半就能干任何想干的事情。

所以,第一道防线就是使用没有管理员权限的帐号,使用满足做大部分工作所需要的最小权限,即Principle of least privilege

需要使用高级权限的次数和时间相对平时使用电脑来说小很多,每次需要的时候再切换到高级用户或者管理员的步骤也不复杂,多几步的代价完全值得,也是应该的。

公司里几个星期前开始这么实施,所有同事的电脑帐号都是普通用户,再加上杀毒软件和SpyBot,到现在似乎还没有人投诉不方便或者出现被病毒或者流氓软件骚扰的报告。

Blogging, Tech, Web @ 01 December 2006, “6 Comments”

Firefox 2.0发布后,用户抱怨最大的似乎对Feed的显示不使用用户定义的XSL和CSS(Feedsky的吕欣欣同学曾经抱怨过,昨天看到Zola也抱怨了)。这个问题已经被提交为Firefox的一个Bug,但是Firefox开发团队认为这是个功能而不是Bug,不用修改(WONTFIX)。

Ben Goodger, 年轻的Firefox开发者,昨天做了自己的解释

In general, we felt that RSS reader was a very personal choice to be made by the user, and that we did not want to compete with existing RSS readers that exist, which are very competent in a variety of ways. Rather, we wanted to allow users to easily subscribe to feeds using their favorite reader. The UI presented is not intended to be one for consuming the content, but rather previewing the content before subscription (since many feeds have non-descriptive titles). I think this is where the confusion arises, because the presentation is similar to Safari’s and IEs and so people may expect reading functionality.

Firefox在看到一个URL的页面是XML后,会先扫描(scan/sniff)文档的前512个字节,如果发现有<rss或者<feed,就判断这是个feed文档,不理会自带的style,而直接使用Firefox的方式展现这个文档。所以,最快速和简单的解办法就是不让Firefox在文档的前512字节里看到<rss和<feed。上述的Bug报告的反馈里,Firefox开发者就提到了这个Hack

The emerging workaround for this problem (which isn’t new to us, since we’re using the same heuristic that IE7 betas have been using for months) is to put in a comment ranting about the evils of sniffing web content and overriding the desires of web developers which is long enough to move "<rss" or "<feed" out of the first 512 bytes, since that’s all we sniff.

这是最简单的办法,代价是512字节。Mozilla Developer Center也提出了另外两个方法,见Custom styles for RSS

中午向Zola建议了这个办法,充满PK精神的Zola小朋友于是在自己的feed文档的开头部分加进了了三十二遍“f*** firefox2.0”的xml comment后,Firefox2.0上成功显示了用他自己定义的风格的feed

我个人看法是Firefox应该尊重信息发布者以及阅读者自己的选择,在没有自定义的时候使用Firefox的显示方式,在已有定义风格的时候,还是尊重发布者,使用他们定义的风格。

话又说回来,我还是不很理解为什么要对Feed定义显示风格,Feed是给机器/程序读取最近更新内容,用来展现内容的毕竟还是HTML。

Notes, Tech @ 29 November 2006, “No Comments”

Generated: Wed Nov 29 2006 02:03:42 GMT+0800 (CST)
User Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.8) Gecko/20061115 Ubuntu/dapper-security Firefox/1.5.0.8
Build ID: 2006111503

Enabled Extensions: [20]

以上用MR Tech Local Install生成,themes和plugins忽略。

Notes, Tech @ 28 November 2006, “7 Comments”

终于,Royal受不了流氓软件的非礼,重装系统了。昨晚下班后折腾了好一阵子。我在一旁看热闹的同时也记一下自己在Windows上常用的一些软件,将来要重装的话,也有个快速的参考。

Email: Thunderbird(我在linux上还是习惯用Evolution,因为Thunderbird上的Search folder还是不如evolution的灵活)。另:Outlook Express能不用就别用了,这东西上的安全漏洞多得就象瑞士奶酪。昨天Royal新装的系统很快又跳出广告窗口,估计就是用Outlook Express导入备份邮件后再次感染的。

浏览器: firefox,理由就不说了,Firefox上装的扩展是另外一个话题。IE7暂时先不装,因为网站开发中要测试在IE上的css和javascript,而大部分的用户现在还是在用IE6,所以先留着吧。

IM: Gaim,开源的IM软件客户端,支持多种协议(MSN, Yahoo, Jabber(GTalk), ICQ等),没有花里胡梢的广告条,几乎不存在在聊天时不小心中毒的问题,同时也有支持不会被轻易窃听的聊天内容加密插件。另外一个IM就是Skype,一个是音频和视频的聊天,另外就是聊天内容是加密的。

FTP客户端: FileZilla,开源,易用,支持FTP over SSH2。

下载工具: NetTransport(链接可能已经不存在了),多线程下载,通过flashgot扩展跟Firefox能有很好的集成。跟FlashGet很像,但是没有广告条。

Feed阅读器(桌面): SharpReader,虽然FeedDemo也很不错,但是SharpReader是免费的;

音乐播放器: foobar2000, good enough and less is more;

脑图工具:Freemind,类似MindManager,开源,虽然功能不如MindManager强大,不过足够用了。

清除间谍流氓恶意软件的工具: SpyBot-Search & Destroy: 消除流氓间谍恶意软件的工具。免费。

其他工具:

PowerMenu,能够把窗口最小化到系统托盘,不占用任务栏。这在窗口很多的时候很方便。

SysInternals的许多工具, ProcessExplorer和AutoRun很好用,Autorun能够发现和部分清除一些强制在开机登录时运行的程序。注:开发者已经加入微软,所以这个链接会转向到微软的地址。

PasswordSafe:密码保险箱,用来记录个人密码(网站,银行等)的工具,开源;

Daemon Tools:能将光盘的image文件模拟为关盘驱动器,安装软件时比较方便;

md5summer:计算md5值的工具,

explore2fs: 能够在双启动的机器上在windows里读取linux文件系统;

WordPad: 打印RFC时,Wordpad最好用 (也许是我的电脑和打印机的问题)。

其他:

XP上没有象W2K那样的锁屏幕的快捷方式,在XP上可以自己做一个: 创建一个快捷方式, 把目标设为:”%windir%\system32\rundll32.exe user32.dll, LockWorkStation” (不含括号),把该快捷方式命名为”Lock Workstation”。双击这个快捷方式,就可以锁屏幕了。

Web2.0, WebDev @ 21 November 2006, “10 Comments”

我一直认为网页标准的普及和支持是Web2.0发展中的非常重要的推动力量之一,一是CSS让网页设计和维护更容易,二是Javascript让用户互动更友好,这使得更简洁更友好的web 2.0界面更流行更受欢迎。

同时,越来越多的控制转移到了用户手中,比如Firefox的NoScript扩展让用户可以关闭或者开启所有或者某些网页上的Javascript。这就使得一些网站的页面在Javascript被关闭的时候,不能或者部分不能使用。例子:在豆瓣上对东西评价打分的界面在关闭Javascript后就失效了,似乎也没有其它手段可以做评价和打分。

这是不是有点吹毛求疵呢?那再看看Amazon上类似页面的处理,用户可以对一件商品做评价,和标记自己是否拥有,界面如下所示:

amazon page with javascript enabled

也是使用了Ajax,不需要重新载入页面;把Javascript关掉,刷新页面,由于Javascript被关闭,页面此处则显示一个“Rate this item”的链接,链接到的页面出现以下这个界面,一个简单的“web 1.0”的表单:

amazon page with javascript disabled

这就是“可降解的”(Degradable)Javascript的应用的例子,在浏览器不支持或者不完全支持Javascript的时候,仍然能够正常展现和提供页面所有功能。虽然用户体验不如Javascript开启的时候好,但用户仍然能够完成他想要做的事情。

需要关闭Javascript么?有些情况下,是的,比如出于速度和安全的考虑,比如使用不支持或者完全支持Javascript的浏览器(不,不只是Lynx,还有移动终端上)。更重要的是,不能因为用户选择关闭Javascript,就不让他们使用到某些功能。尊重用户的选择,这应该更是web2.0的精神和力量的所在吧。

那么,既要支持javascript被关闭的情况,又要有Ajax,会不会增加开发的难度呢?Jeremy Keith, DOM Scripting的作者,不这么认为,在他的书里也提到Progressive enhancement(渐进增强)的开发过程和Hijax的手段,简单地说,就是

  1. 首先以传统的或者说web1.0的方式设计和实现网页;
  2. 在1的基础上,添加Javascript实现Ajax,优化用户互动;

因为即使使用Ajax,所有处理还是在服务器端完成的。更多关于progressive enhancement和Degradable Javascript可参考: