25 Jan 2008

Linux-based NAS 扩展到 4 bays

写在前面:给 2008 的一个承诺就是多写写 Simple NAS 和嵌入式 Linux,就让这个帖子作为 NAS 的开端吧。

LinuxDevices 的消息,Qnap System 推出了 4-bay 的 NAS —— TS-409 Pro Turbo,这里是其规格:
  • Processor — Marvell 5281 500MHz
  • Memory — 256MB DDR2 RAM; 8MB flash
  • Hard drive capacity — 4 x 3.5-inch SATA I/II drives (not included), up to 4TB internal, RAID 0/ 1/ 5/ 6/ 5+ support
  • LAN port — 1 x gigabit Ethernet (RJ-45)
  • USB — 3 x USB 2.0 (support printer, disk, digital camera, pen drive, card reader, and USB hub)
  • LEDs — USB, status, eSATA, HDD, LAN, power
  • Dimensions — 8.9 x 6.9 x 7.4 inches (225 x 176 x 188 mm)
  • Operating system — Linux (unspecified version)
这款产品是 TS-109/TS-209 的升级版,支持的硬盘数量从一颗到两颗,再到 TS-409 的四颗,最多支持到 4TB,这就是这个产品最大的卖点,NAS 的一个至关重要的参数还是最根本的看容量,其次应该是稳定性、性能和功能融合能力。

我感兴趣的一些地方:
  • 我目前在玩的 Processor 是 Marvell 5181,TS-409 使用的 5281 应该是其升级了。
  • 8MB Flash 能放下多少东西?我比较感兴趣这台 NAS 支持哪些扩展功能,这些没有在 LinuxDevices 新闻里出现。BT/HTTP/FTP downloader? UPnP AV media server? Web Station?... 我会继续跟进这款产品,应该会有一些更新。
  • 256MB DDR2 RAM - 我很羡慕这个数字。我玩过的最高记录是 64MB,但主要的还是 32MB,汗。RAM 搞大一点,性能会提高不少,这可能是 NAS 发展的一个趋势。
  • 现在的 NAS 都是 SATA HDD 和 Gigabit Ethernet 了,IDE 被淘汰,毫无悬念。一个还没有出现的潜在趋势:随着 SSD 的提高与普及,Simple NAS 迟早也要支持的。Fenng 就提到 EMC 已经在其产品上应用 SSD 了,虽然那是在高端 NAS SAN 上面。
  • 没有 Wireless。一般来讲,Wireless 是 router 的功能。NAS 连到带有 Wireless 的 router 上,也有可以无线访问了,要 NAS 本身带有 Wireless,似乎不太必要,况且现在 Wireless 几乎成了 router 的标配。我曾经做过一段 Wireless for NAS,虽然该型号终於夭折。

--
每一个不曾起舞的日子都是对生命的辜负。
Gmail/Gtalk: jick.nan@gmail.com

Python 写的输入法: scim-python

Linux 下输入法,我一开始使用的是 fcitx,后来切换到 scim 这个平台,但在 scim 里还是用得 fcitx,比较喜欢 fcitx 的输入习惯。也想过自己修改一下,或者 porting 新版的 fcitx 到 scim,但却一直没有行动。

关注 jserv's blog,经常看他提到新酷音这个注音输入法,想来使用自己亲手打造的输入法也是很爽的事情,于是参与一个输入法项目的想法越来越强烈。当再次看到 Jserv 提到《 SunPinYin 引擎改以 CDDL / LGPL 2.1 雙重授權 》,我终于决定花点时间了解一下 Linux 下的输入法,然后选择一个加入开发。

通过 SunPinyin 和新酷音这两个线索,我大体了解到比较现代的输入法都是基于统计语言模型(statistical language model, SLM)的智能引擎。而英文键盘到中文的转换方式主要有全拼、双拼、注音、五笔几种。新酷音是注音,在对岸使用。

上述这些输入法,大都使用 C++ 编写,而我对 C++ 不是不在行。又因为精力问题,也不想花太多在 C++ 上。于是,当我看到 python 写的 scim-python 输入法时,很是兴奋。Python 一直对我比较有吸引力,只是还没有等到好的切入机会。

scim-python 最开始是由 Shawn.P.Huang 在 2007 年 9 月开始开发的,他用 C++ 写了 scim 的 Python wrapper,而后在这个基础上又写了 EnglishWriter 和 Pinyin 输入法,后来 yufanyufan, 参与进来,写了整句输入。目前 scim-python 使用的是搜狗拼音输入法开放的词库,从输入效果来看,还算不错,已经达到可以使用的级别。但目前功能上还比较薄弱,设计上的变数依然很大。

--
每一个不曾起舞的日子都是对生命的辜负。
Gmail/Gtalk: jick.nan@gmail.com

Fwd: 对Jserv的访问两篇

(Orz,还要发一篇,爆发了 :P)
Jserv 仅比我大一岁,可是已经参与众多 FOSS 社区项目,名满两岸了,很是崇拜。还是加点*我*看了两篇访问后的记录吧:

涉及:
* Kernel
* Embedded: RTOS, i18n, Ajax
* System emulation
* X11: QT/Embedded, 新酷音输入法 chewing


* 2005 年初,成立 Jserv's lab
* 2007 年初,成立 Orzlab

近来看了些输入法方面的,SunPinYin 是一个线索,Yong Sun 写了一系列的代码导读,很深入,对我理解输入法现状很有帮助,很感谢。

Sent to you by jicknan via Google Reader:

via 素心如何天上月 (Yong Sun's Blog) by yongsun on 11/18/07
Jserv(黃敬群)是名满两岸的自由软件开发者,是我崇拜的青年才俊、技术偶像之一。我虽然痴长了几岁,但是在Linux和自由软件开发方面却是后学晚辈。下面是台湾的同业者对Jserv的访问,读后直觉得自己光阴虚度了 :$。

自由軟體開發者 Jserv 訪問 (上)
自由軟體開發者 Jserv 訪問 (下)

记得我最初了解到Jserv,是2002或03年,读到他的一篇关于Qt/Embedded本地化的文章。后来逐步看到他在浏览器、嵌入式系统、图形库、Java虚拟机、输入法、Linux内核、实时系统等各个方面的成绩,对他的技术能力真是钦佩不已。而且Jserv还是一位兼具诗人气质、十分感性的青年,从他许多的blog中,可以看到他对人生许多富有哲理性的思考。

后来虽然在网络上有一些联络,但对他个人却了解不多。这两篇访问,正好满足了我的好奇... ...

希望他将Lab的事业拓展到大陆来。

Things you can do from here:

17 Jan 2008

也说嵌入式移植的裁减

因为需要重启 web station 的开发,因此翻了翻 bob 的旧文──这个 function 最开始就是他在做。看到 《作嵌入式,一定要学会裁减》一文,有些感慨。

在该文中,bob 提到嵌入式裁减的四条路:
  1. strip - 去掉 binary 中在运行时用不到一些符号。这些符号在 debug 的时候要用到,但到板子上就不需要了。
  2. strace - 这可以说是 bob 的独门秘笈,他最先使用,也用的最多。核心细想就是:"需要的一个不少, 不需要的一个不多"。
  3. 去掉不需要的功能 - bob 认为这是代码级别,比较高级一些。
  4. 扩充 Flash - 无法再减,无须再减。
这些当然是我应该遵守的,但我还有个习惯:在做上面 4 步之前,我会充分利用 configure 的选项,尽量将不需要的功能通过 options 的调整关掉,在此称为 Setup 0。这和 Setup 3 是一样的目的,不过不是 code 级别,而是 compile 级别。

这就是我的小感触。bob 是个善于总结的,我要向他学习,并跟着他顺道反思 :P

--
每一个不曾起舞的日子都是对生命的辜负。
Gmail/Gtalk: jick.nan@gmail.com

15 Jan 2008

EGLIBC: Embedded GLIBC 体验

EGLIBC 是一个小型化的 Glibc,由 CodeSourcery 联合 freescale, montavista 和 windriver 等厂商合作开发。今天参照 jserv 的脚本 ,花了几个小时终于编出了。在此过程中,我深刻体会到一个强劲的 PC 对开发编译的重要性,目前用的单核 1.4GHz X31 明显不够用。

编译时,我稍稍修改了一下 jserv 的脚本。修改后的版本放在了这里:
http://jicknan.googlecode.com/svn/trunk/code/toolchain-eglibc.sh

在我的 slackware-current 上还有个问题:EGLIBC-HEADES 那一步 configure 的时候,会提示没有找到支持 long lines and -e 的 grep。看了一下 grep 的 man page,-e 是支持的,估计问题出在 long lines 上。我找到相应的(eglibc/libc{posix/glob, sysdeps/unix/sysv/linux}) configure,将检查出错跳过的地方注释掉(做 cross compiling 的时候,我经常这么干),向下编译没有再出现问题。

其实工具生成之后,还需要编译个系统出来试试,我还没有合适的系统,仅仅测试了一个小程序。接下来打算做一个自己可以完全掌控的系统,编译器就用这个了。

工作中所有的都是 prebuilt 的编译器,考虑的和其他组员一致,我也不好使用自己的工具了 :P 不过,现在工具好像也是出自 CodeSourcery。

参考:

--
每一个不曾起舞的日子都是对生命的辜负。
Gmail/Gtalk: jick.nan@gmail.com

11 Jan 2008

还是需要 wiki 做个人知识管理(PKM)

其实很早就尝试试用 wiki 做个人知识管理,2005 年尝试的是 pmwiki (php 写的,文本保存,不需要数据库)。后来空间没了,算是断了。在 2006 和 2007 年尝试过在本地架设 Moinmoin(Python, 免数据库) 和 Trac(Python, sqlite/mysql)。在线的尝试过 woodpecker 的Moinmoin,但这是中文 Python 开发者乐园,放杂七杂八的东西总感觉不好意思,虽然是在自己的页面。

我对 wiki 系统的需求是:
* 便携。日常工作生活中,我要在 2 个网络环境,3 台 PC/NB,5 种系统中切换,必须保证每个系统都能方便的访问,架在 Internet 上似乎是惟一的选择。
* 稳定。个人知识管理么,要的就是积累,一要不出问题,二要活得长远。
* 速度。使用起来要流畅,不能在一个页面卡半天,但这也要好于 timeout 需要重来。
* 便于控制,操作简单,最好有权限控制。有些可以共享,有些则适合自己参考。

比较一下 online/local 版本的不同: * online: 便携,其他都要看具体的服务方。
* local: 稳定好,速度没有瓶颈,便于控制,但就是 TMD 不便携。

我在 web 上努力寻找合适的 PKM 系统:
* Google Docs 不够简单,编辑界面复杂,操作起来也不直接,速度也是个限制,不流畅。便携和稳定都还不错。目前主要用于查看/存放 Docs, Excel,虽然自己不生产这些东西,但别人生产的还是要兼容。
* Google Notebook 最近一两个月才开始用的多一些,改版后好用多了。可以用来保存看到的网页,配合 Firefox 插件效果更好,也可以存放一些简单的想法。但没有格式控制,也不能很好的组织知识的体系结构。
* MindMeister mind map 在线工具,但不是所有的知识都适合这种结构。
* ...

努力之后,我还是发现需要一个 wiki 系统。现在开始从两方面解决这个问题:
* 寻找 online 的服务,重点考察稳定、速度与控制。
* 可以架在 web 上的系统,现在买的空间好像也很不稳定,因此这个系统需要满足:
* 兼容性。有尽可能多的候选空间可以跳,目前 php 的实现比较多。
* 备份、同步与恢复。随时做好换空间(不稳定,被阻尼,……)的准备,便于备份,便于同步,便于恢复。数据库倾向于 sqlite,不过声称支持的好像不多;其次可以考虑文件方式存储数据,像 pmwiki,但不便于同步;mysql 支持的挺多,也可以考虑,但比 sqlite 要复杂。

你有更好的建议么?

[update @Fri Jan 11 21:41:44 CST 2008] 在 Wiki Matrix 比较了一番后,选了一个在线的 wiki 服务: wikidot。这类方案有个很大的弊端是可能被阻尼。

--
每一个不曾起舞的日子都是对生命的辜负。
Gmail/Gtalk: jick.nan@gmail.com

5 Jan 2008

软件与在线应用使用年结之2007

一年了,总结一下,以记录使用习惯上的变化轨迹。

Firefox 去年我的第一浏览器还是 Opera,今年已经变成了 Firefox。是 Firefox 的扩展将我绑在了其上: Adblock Plus 屏蔽广告;Gladder 使用在线代理去墙外兜风;Access Flickr! 显示墙外的图片;Google Gears 离线使用在线服务,在线的还是限于带宽,不够流畅;Google Notebook 记录零散的笔记;以及 Fenng 提到的 Twitter 扩展 TwitterFox 和 Hung 提到的 Picnik 截屏与在线图形编辑扩展。

Gmail 估计是 Firefox 里停留最多的页面了,配合 Gmail Talk 效果更佳 :P

Greader 也是每天必玩的节目,很好,好强大。就是和 Google Gears 配合的还不太好。试用过抓虾,没用过鲜果。我是 RSS reader 使用者,而不再是试用者 :P

Blogger.com 虽然 07 年发贴并不多,虽然即使发贴也用 Gmail email 过去,虽然发了贴在墙内也看不到,但是 Blogger 还是很重要的一环。07年,我仍然在写给自己。

Twitter 虽然三月份就注册了,但是并没有太玩,不敢太用,怕被口水淹没。开始用的是安静许多的 Saying@weazone,后来还是经不住 ocde 的诱惑,跑了去。但还是相当节制。直到前些天看到 Fenng 推荐了 TwitterFox,才算放开了一些。但目前 Twitter 还只是 tweet,像 Hung 那样 TwitterFeed 定向的,还是不敢 follow :-)

LinkedIn 比较喜欢的一个服务,虽然年中才用。注册过若邻,但太热闹(感觉这类网站也不是那样的热闹发),不喜欢。Facebook 也是 SNS 之一,而且很热,但给我的感觉也很乱。这里应该有不少猎头,已经有两家大公司通过这里找到我了。

Google Docs & WPS Office 主要是打开 M$ 的 office 文件,WPS Office 基本可以搞定,而且更小更快;Google Docs 则做一些编辑和共享。这一使用和车东很像。

豆瓣:去的不是太多,但每次要看书/音乐/电影的评价,都会想到这里。

Picasa Web 这里有 1GB 空间,不必在乎每月的流量会否超过,我喜欢一次上传很多,picasa 桌面版配合的不错。

财帮子  三月份一发布就开始用了,越用月舒服,基本上开基不用找别的网站了。

其他的:原则上试用开源/免费的。中文输入法 Linux 用的是 scim+fcim,Win 下是谷歌拼音,编辑器用 Vim,Win 下的压缩/解压缩用 7-zip,抓包用 wireshark。

注意:都没有给链接,下面这个页面可以找到大部分: http://jicknan.bplaced.net/link.html

参考:
 * HUNG: 过去一年,天天使用的软件和在线应用
 * 车东: 年终总结: 2007 chedong.com 小结
 * David Yin: 2007年常用的Web 2.0服务
 * Feng:年度回顾:2007 年最常用的 Web 2.0 服务

--
每一个不曾起舞的日子都是对生命的辜负。|| Gmail/Gtalk: jick.nan@gmail.com

移动开发,第三次浪潮

- 农业时代
- 工业时代
- 信息时代
 * 大型机/小型机
 *  PC 第一推动: IC 芯片
 * Mobile Intenet/Mobile net
  * Symbian
  * Windows Mobile
   * BlackBerry
   * iPhone
   * Linux
    * Android: Linux + Java
    * OpenMoko
    * ...

源于《程序员》(2008.1)的专题。

--
每一个不曾起舞的日子都是对生命的辜负。
Gmail/Gtalk: jick.nan@gmail.com