jump to navigation

CurlFtpFS: FTP 文件系统 March 2, 2006

Posted by jnan in 社交网络.
9 comments

自从上次说到 FUSE 用户空间文件系统,我就感到这一功能非常有用。之后试用了一下用 Python写的 flickrfs,因为不懂 Python,感觉不是很好:-(

这两天因为用 Ftp 传多个目录/文件,Linux 下面命令行格式的 ftp client 似乎都不支持多个文件上传,于是就想到了用户空间的文件系统。

FUSE 的主页上浏览了一下,有两个:FuseFTP 和 CurlFtpFS 。FuseFTP 使用 Perl 实现,下载之后总是不能使用,对 Perl 不了解,也就放弃了。CurlFtpFS 用 C 编写,其中用到了 libcurl ,看来也挺麻烦的,不过总算可以用。

curlftpfs 是作者 braga 2006-02-21 在 sf 上注册的,用的人还不多,起码在 blog 空间没有搜到记录。curlftpfs 没有提供帮助信息,因此在怎么使用上多试了几次,发现使用下面的格式可行:
./curlftpfs ftp://username:password@ftp.sitesled.com /mount/point

可能是因为网络的问题,我用 curlftpfs 挂在 ftp.sitesled.com 感觉并不好,传文件很慢,后来断掉了。不过之后探索时,我挂在本地 ftp server 的时候感觉还是很不错的。

当然了,构成 curlftpfs 的主题自然是 fuse 和 libcurl 。正式这两个幕后英雄才使得 curlftpfs 不到 1000 行就达到了目的。

此前已经介绍过 fuse ,这次着重介绍一下 libcurl。curl/libcurl 支持想到多的协议,一开始接触 curl 的时候没有太在意,感觉不过是个命令工具而已。但是当我了解到 curl 支持的协议和 libcurl 的广泛应用之后,我立刻对其刮目相看了。curl 的网站上这样描述:

curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, TFTP, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos…), file transfer resume, proxy tunneling and a busload of other useful tricks.

libcurl 中的常用函数有:

  • curl_easy_init
  • curl_easy_setopt
  • curl_easy_perform
  • curl_easy_cleanup

其中,最关键的当属 curl_easy_setopt,设置 curl 用到的诸多参数。

简单抓取 http 首页的程序如下:
#include
#include
#include

int main(int argc, char* argv[])
{

CURL* curl;
CURLcode res;

if ( argc != 2)
{
printf("USAGE: %s \n", argv[0]);
exit(1);
}

printf("%s\n", curl_version());
curl = curl_easy_init();
if (curl == NULL)
{
printf("Error init libcurl!\n");
exit(1);
}
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
curl_easy_setopt(curl, CURLOPT_VERBOSE,1);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);

return 0;

}

编译:
gcc -o testcurl -lcurl testcurl.c

执行:
./testcurl http://jnan.sitesled.com

cwjboy 对 CURL 有一些研究,较为详细的分析了各个函数。

除 C外,libcurl 还有了 PHP,Python 的 API。

启用 Google Reader March 1, 2006

Posted by jnan in google.
2 comments

RSS 盛行的现在,每个人都应该使用适合自己的 RSS 阅读工具来提高效率,不论是在线的还是离线的,是自己定制的还是托管在服务商的。

之前,我受车东的影响,一直使用 lilina 这个 RSS 聚合工具。但是有因为没有理想的空间主机,所以被我放在自己工作的 PC 上面。

这样就有很多问题。本来在线的 lilina 被我用成离线的了,可访问的地域严重受限;还有 lilina 功能简单,没有分组,没有已读/未读标记,RSS Feeds 管理也很简陋。

于是准备选择一个在线的 RSS 阅读服务。提供这一服务的网站很多,但是我的备选名单只有 bloglinesGoogle Reader。大名鼎鼎的 bloglines UI 比较差,那种安排更适合拥有成千上百 RSS Feeds 的繁忙人士如 keso 者;而 Google Reader 具有很好的 UI,与 Google 已有的产品 Gmail 等结合,可以获得不错的体验。


Google Reader 是 2005 年 10 月推出的, 和 Gmail 很相象,都是用 label 和 star ,而且定义了一些相当符合习惯的快捷键

Google Reader 可以根据相关性排列抓到的文章。大概和 Google Desktop 中的新闻阅读兴趣相关性是一个原理。

另外,Google Reader 可以用 Gmail This 和 Blog This 直接发送邮件或发布到 blog。看到好的文章就用 Gmail This 发送给好朋友共享之也不错,因此我很喜欢这个功能。

WebLeOn 提到了 Google Reader 一键订阅的实现方法,很不错。

Niall Kennedy 在 Google Reader API 里提到: 其实目前 Google Reader 提供了许多 API 来实现功能和 UI 的分离。目前所用的默认 UI 叫做 “lens”,你应该已经注意到,每次访问 Google Reader 都转到 lens 目录下。 Google Reader 的 Product Manager Jason Shellen 在该文留言中证实了 Niall 的分析,并且留言中还透漏有新的 UI 在开发,而且还会正式公布 Google Reader 的 API。

就在写这片文章的时候, Google Reader 不能正常访问了,真想不到又触动了 GFW 的哪根神经?

一个人的精彩 February 28, 2006

Posted by jnan in Uncategorized.
add a comment

就像 Gmail 颠覆了我对 Webmail 的旧有观念一样, WordPress 也让我体验到了完全不一样的感觉。虽然尝试着转移到 MyOpera ,但是我确再也没有原来写 blog 的感觉。

WordPress 给我的感觉试如此之强烈,以至于我宁愿忍受网速的下降,每次访问发贴都使用 Tor。因为网友访问的困难,这也将开始我一个人的精彩。

wordpress.com 倒下,my.opera.com 继续 February 10, 2006

Posted by jnan in Uncategorized.
1 comment so far

春节期间,Chinanet 送给我的一份大礼就是 wordpress.com 被 GFW 了。从我开始在 wordpress.com 写 blog 的时候,我就在担心这一天的到来。虽然我绝对相信这一天会来的,但我依然为如此之迅速而吃惊不已。

经过一段时间的调整选择,我决定在 my.opera.com 开始我新的 blog 生活。这一次,我依然不知道 opera 能坚持多久。

曾经将以前写的所有 blog 都整理到 wordpress.com。因为 wordpress.com 并非倒掉,就不再全盘迁移到 my.opera.com。如果愿意翻翻 January 24, 2006 之前的帖子,就用代理到小空成像@wp看吧。我想 Chinanet 里面的每个人都积累不少自己的代理,或者有自己突破 GFW 的方法吧?

在这块新的地盘,我还希望能够更技术、更生活一点。

要回家了 & 工作感受 January 24, 2006

Posted by jnan in 2005, 生活点滴.
1 comment so far

今天就要回家了,晚上 9 点的火车。下班时间是下午 6 点,有点紧,行囊要早早的准备好。

七月毕业的时候因为时间太紧,没有回家。上学的时候都是寒暑假回家的。

回家之后没有条件上网,估计 blog 很难更新。

说说半年来的工作感觉吧。对于没有经历过的事情,我喜欢首先放任自流,不舍任何规矩,先体会一下工作的滋味。半年来,在这家公司的这个工作还是有了初步把握。

初次进入一个行业当然学习了许多新的东西,但是都是不深入的那种。我似乎只是努力扩充了技术的广度,但是技术的深度没有什么长进。新的一年就要在深度上多下功夫了。

而工作之外的生活,似乎要糟糕一些。我发现自己过于把自己封闭在自己的天地里,没有和别人交流。或许很大的原因就是我自己内部还没有搞定的缘故。所谓“攘外必先安内”,仔细想想还是很有道理的。

我给了自己半年的时间去感觉,新的一年我会努力改变自己。

凤凰乡:投资指南 January 20, 2006

Posted by jnan in Hometown.
4 comments

闲逛的时候在这个网站看到关于家乡的招商介绍:

凤凰工业园区座落在鄄城县城东,济董公路、临商大道十字交汇处,德商高速纵贯南北,园区占地6平方公里,毗邻鄄城(潍坊)工业园和鄄城工业园。交通、通信、水、电等配套设施完备,排水畅通,是全县规模圈套,功能齐全的工业园区之一,目前园区共有企业36家。
  近年来,凤凰工业园在建设管理、功能定位、招商引资等方面采取了更加科学、规范、现代化的手段,坚持“一切为了企业,为了企业的一切”的原则,努力为进园企业提供高质量、一门式、全程无忧的服务。推出了一系列鼓励投资的优惠政策,同时,视投资项目的资金技术的投入密度及产出率,采取一事一议、特事特办的方式,给予不同的优惠。
  凤凰工业园区的建设目标就是紧紧抓住山东省委提出的“突破菏泽”,实现“三三一一”目标的重要机遇,依托优越的区位条件,积极打造环境与服务两个平台全力培育园区产业特色和可持续发展的优势,力争用最短的时间,使凤凰工业园区成为全县乃至全市功能最全、环境最好、服务一流、产出最高、投资商最满意的地方。

如今凤凰乡也要招商了,真是的。招商或着发展现代经济对于中国大陆绝大多数地方意味着小河变成抽水沟,蓝天蒙上一块灰布,维持生态的农田变成破坏生态的工业园。这其实很矛盾,经济要发展,代价却是丧失乡民朴实厚重的性格,丧失乡村令人着迷的绿水蓝天,丧失在金钱面前应有的理智和尊严。刚刚回家当农民的 zola 也看到了他家乡的这一变化。(本来想看看到底是 zola 的哪一篇文章,顺便 Trackback 一下,没曾想碰到他的 wordpress 系统罢工,找好作罢。)

以”凤凰“为名的地方有好多个,其中最为有名应该是沈从文的湘西凤凰县。因为”凤凰“二字实在是太有名我们凤凰乡因何得名着实不好追溯。这就好像一个具有数十万搜索结果得关键词,噪音太多,也不容易找出想要得信息。

同样以“凤凰”为名,凤凰卫视已经是一个响当当的媒体品牌了,去年我在西安上学的时候还能每天欣赏一下,现在到了更为发达的苏州反而不可得了,牺牲了许多脑细胞也没有想明白:P

600Mbps: 802.11n 承诺的最大速度 January 20, 2006

Posted by jnan in wireless.
1 comment so far

前段时间看报道说 WLAN(Wi-Fi) 的下一代标准 IEEE 802.11n 重新开始进行了,今天又看到 802.11n 第一个正式草案获得负责开发的 Enhanced Wireless Consortium (EWC) 成员的投票通过

目前,802.11g 是正式标准中速度最快的,达到了 54Mbps。而 Atheros 公司开发的 SuperA/G 可以达到 108Mbps。现在 802.11n 承诺最高速度为 600Mbps,这将大大扩大 无线产品的市场,尤其是多媒体领域。

EWC 是为了加快 802.11n 的开发速度,在去年夏天由 Intel, Atheros, Broadcom, 和 Marvell 共同发起的。其成员包括:

ADT Corp., Advantest, AirLink101, Airoha, Allion, Amit, Ample Communications, Apple, ASUSTeK Computer, Inc., Atheros, Azimuth Systems, BeWAN Systems, Broadcom, Buffalo, Inc., Cisco Systems, Inc., COMSIS, Conexant, CyberTAN, D-Link, Esqube, Gateway, Gemtek, HED, Intel Corporation, Lenovo, Lesswire AG, Linksys, Litepoint, Marvell, MediaTek, Inc., Metalink, Microsoft, Mitsubishi, NETGEAR, NewLogic, NVIDIA, PMC-Sierra, Ralink, Realtek, Sanyo, Sercomm, SiBEAM, Inc., Signalion, Sony Corporation, Sporton, Stellaris Networks, STMicroelectronics, Symbol, Tamosoft, Toshiba, Twinhead, US Robotics, VeriWave, WildPackets, Winbond, Wipro Technologies, Wistron NeWeb, and ZyDas.

根据我目前所知:

  • Apple,Cisco Systems, Inc., Intel Corporation, Microsoft, NVIDIA, Realtek, Sony Corporation, Toshiba 大名鼎鼎,不必言表。
  • Atheros 提供的无线网卡芯片使用广泛。
  • Azimuth Systems 提供无线网络性能,电磁兼容测试等,在上海有一家代理。
  • LinkSys, NETGEAR 是著名的家庭网络品牌。
  • CyberTAN, Sercomm 作要做 ODM。其中 Sercomm 是我所在任职的公司。

2006-01-21 Update:
Wi-Fi Planet 昨天报道了这件事:802.11n Draft Approved

Yahoo, AOL, MSN 配合 Google 说“不” January 20, 2006

Posted by jnan in ITExpress.
add a comment

今天最受关注的一件事情是:面对美国司法部门对于提供大量网友搜索记录的要求,Yahoo、AOL、MSN 基本同意;而 Google 却要“不顾一切”反对这一可能泄漏用户隐私的政令。 为此,美国司法部(DoJ)起诉了 Google。《Child Online Protection Act》是应该支持,但是是不是应该注意一下方法恰当与否?

我是今天在 Google Desktop 上最先了解到这一消息的。《美施壓取搜尋資料 Google拒配合》一文中还提到:

微軟發言人則表示,「MSN在全世界都會配合執法機構辦案,我們的政策向來是遵守相關法律,積極回應司法需求。」該公司不願證實或否認是否配合司法部傳票交出資料。

看来,MSN 在中国的”配合“是其全球战略的一部分,不必过分指责政府。

大量的信息还是来自我每天 18:00 的 lilina 聚合,大概有这么几个:

还有人制作了专门供政府收录的爱国者搜索

在这件事情上,网友买 Google 的帐大概是因为 Google 这份替用户着想的心意。虽然可能因为还不够格的原因,面向中国市场的美资搜索公司败毒没有被要求提供搜索记录,但是一旦被要求大家都能想象的到会是什么结果;可能不准确,这家公司应该会主动报告吧?

FreeNAS: 让老 PC 发挥余热 January 19, 2006

Posted by jnan in NAS.
add a comment

今天看到一个比较好的项目:FreeNAS。这个项目使用 FreeBSD 构建了一个小系统,用来实现 NAS(Network Attrached Storage)功能。

由于系统很小,需要的资源也很少,据开发人员介绍,64M RAM,CPU 几百 MHz 即可。所以可以让面临淘汰的老 PC 继续发挥余热,成为我们的存储中心,”化做春泥更护花“。

项目是 2005 年 11 月 5 日才开始,所以现在仅仅具备很基本的 NAS 功能。不过,我觉得这个方向挺好,将开源引入家庭网络产品的定制,随后应该会出现 FreeRouter,FreeAP,FreeVoIP 等一系列面向家庭的开源系统。

当然,我还觉得 Linux 在资源方面更有优势。有机会也搞一个玩玩?

诗一首:书愤 January 17, 2006

Posted by jnan in Chinese.
add a comment

早岁哪知世事艰,中原北望气如山。
楼船夜雪瓜洲渡,铁马秋风大散关。
塞上长城空自许,镜中双鬓已先斑。
出师一表真名世,千载谁堪伯仲间。

1186 年陆放翁 61 岁所做。