2013年3月15日

FileGee – 功能完善的文件备份工具

个人文件、家庭照片的存储和备份是个大问题,刚刚看到Appinn推荐这个软件,现在转发过来,用以备份。
能提供以下需求场景:
有这样几个设备:1、PC,2、移动硬盘,3、NAS。目前想这样:1上指定目录里的各中文件(主要是图片及文档)增量备份到2上;上述同一目录里的图片同时增量备份至3上;1上另外目录里的视频备份至3上,

FileGee 是一款功能完善的文件备份工具,支持单向/双向同步,增量备份等,支持网盘备份,支持连接移动存储设备即备份等。FileGee 针对个人用户免费,但有功能限制。支持网盘备份(双向,可以网盘到本地,也可以反过来),目前支持 Dropbox、金山快盘、百度盘、新浪微盘。

下载地址如下:http://cn.filegee.com/xiazai.html

2013年3月14日

Google Reader 记录





Google Reader 已死,拍照以示纪念。

国家新闻出版广播电影电视总局

一片吐槽声中,上星期天才刚宣布成立的“国家新闻出版广播电影电视总局”终于要更名为“国家新闻出版广电总局”。名字长度瞬间缩短三分一,这对媒体和记性不好的人而言应该是好消息。

为何不直接为 “文广局”呢?

2013年3月8日

壹基金联名卡-让爱心成为一种习惯


个人比较赞同壹基金的信念,从这张招商壹基金联名卡推出,就申请了,每月11元。
真心希望:让爱心成为一种习惯

诺基亚为什么那么早早的砍掉s60?

以下答案由著名反向预言大师UGlee 的解答:

这个问题的真正答案说起来很简单,就是在用户应用重心的转移下,一个Domain Specific Operating System让位给General Purpose Operating System。

但能把其中细节原因讲清楚,并不容易。够写一篇硕士论文的。

Symbian的RTOS是为了保证Cellular Network Protocol Stack的处理,Application是第二位的,是CPU的富余资源的功能;而iPhone, Android的硬件构架就不是这样的,Baseband里跑RTOS处理协议栈,它作为一个外设接在主CPU上,主CPU跑GPOS。

无论Android,还是iOS,都是基于业界20年的积累,包括BSD和Linux,包括内核,USER SPACE的基础库,常用应用,IPC,UI Framework,以及工具链;这些东西不是Overnight能被发明出来的,也不是钱的问题。微软能做这个事情是因为微软本来就是干这个的。

举个具体的例子。比如Linux上有虚拟文件系统,称VFS;在Symbian上,简单的FAT文件系统是支持的,但是和Linux的VFS比,它太弱了,VFS非常成熟,支持NAND文件?不是问题;支持SSD?不是问题,支持eMMC?不是问题;支持NFS?不是问题。而对于Nokia而言,要追上这些功能,难道在Symbian上全部重写I/O子系统?难度太大了。

而这只是冰山一角。

我们看Android的子系统构成。Android有大约160-200个开源项目构成。涵盖了操作系统的方方面面,从内核到用户空间。在内核里,有极其丰富的驱动支持,各类外设都很容易被支持。图形子系统的framebuffer, overlay, opengl都是成熟的,userspace为了效率google使用了surface flinger,音频子系统的alsa,上面的sound server/tiny alsa,蓝牙的bluez协议栈,wifi的wpa supplicant,渲染网页的webkit,数据库sqlite,java层有harmony项目的核心库,当然google自己也创建了很多关键的东西,但是总的来说,这是站在巨人的肩膀上,而且整个c/c++和java工具链极其成熟。

而Symbian。要追上这些几乎要全部重新发明。即便如此有些东西也是超级难追上的,比如用过Symbian的用户都有这样的感受就是不管配置多高,它的网络连接速度都很差,因为在linux上,网络是一等公民,头等大事,内核里用最高级别的soft irq来处理网络数据包,整个网络子系统为了效率被设计成tcp/ip/datalink混在一起的,对数据包的处理在整个内核里只有一次copy,从网卡到数据结构到user space地址空间或者相反。能实现这样的效率和稳定性是很多年积累出来的。要在symbian上重新发明轮子,花的力气很多而价值何在呢?

Symbian一直被当成多任务操作系统,但它的multi-tasking的实现其实是有问题的。Symbian的程序被称为active object。事实上它是合作式的多任务。Symbian可以有非ui的service程序在后台运行,然后使用active object和service通讯来实现一些类似多线程/多进程的功能。

从单任务到多任务有个很大的麻烦,就是你立刻要面对进程通讯问题。必须有高效的进程通讯机制。因为任何一个应用程序都要通过IPC访问windows manager。在这个问题上,android特别有骄傲的资本,binder ipc源自beOS -> PalmOS Cobalt -> Open Binder。这不是在手持设备上最早的实现,windows ce/windows mobile系也是很完整的多任务操作系统。但android的实现效率是惊人的。直接就把微核的CE/Mobile给踢出局了。

写了这么多,还是冰山一角。操作系统是个庞大的软件集群,类似的例子太多太多了。我只能写一点点自己知道的皮毛。

~~~~~~~~~~~~~~~~~~~~~~

站在更高的层面看。iOS和Android的崛起可以代表开源OS Kernel的胜利。苹果的工作是构筑在bsd的基础上的,虽然它不开源但是它使用了业界积累的代码;Android是构筑在linux基础上的,它本身是开源的,虽然部分代码不强制使用者继续开源,也不反对使用者添加闭源代码。

而Nokia的Symbian虽然最后象征性的开源但是已经失去意义,它的整体的设计和Unix/Linux格格不入,从内核到用户空间的软件栈到工具链。它最后转投了Windows系,是这个星球上最后一个闭源OS资源了。

这是最后的战争。Symbian只是个过路的炮灰,连参战的资格都没有,离对手差距太大太大了。