Sunday, March 7, 2010

Viewnior - Linux下小巧快速的看图软件

本来在ArchLinux下一只用Mirage来查看软件,Mirage是很小,依赖也很少,唯一的缺点就是速度稍微慢了一点。今天偶尔发现了Viewnior,从AUR里编译出来装上试了试,速度竟比Mirage快不少,很是满意,推荐一下。

Thursday, March 4, 2010

邮件发布测试

打扰了,不好意思 *^___^*

智能手机OS观察

前些天写的,是中文的就没放到 tech blog,放到生活日志又不合适,干脆建立一个中文的“技术水池”吧……

最近很是受到TIM版的 G2 的引诱,不过价格暂时还在2k以上,没有下手的动力……

开始搜索了一 些关于 android 系统手机的信息,后来好奇心驱使下熬夜爬墙的看了一大堆android的系统资料;今天顺手了解了不开源的 BlackBerry OS 的一点信息以及刚刚开源的Symbian……

总得印象就是 Android 很 有希望,Symbian 要悲剧了,BlackBerry 还能蹦跶一阵……至于Windows Mobile,这么个到现在还只支持65536色的系统我实在懒的了解,等 Windows Phone 7 的资料更多再说吧。

Android

Android 的特色之一就是 HAL,这个东西和 Linux 上的那个 HAL 同名,但是实际上起的是 OS kernel 之上的硬件抽象作用。这给了 Vendor 一个很好的避免 Linux Kernel GPL 传染的方式,消除了不少麻烦。

Dalvik VM 是 Google 自己造出来的,虽然一般被当作 Java 虚拟机,实际上执行的却不是 Java bitecode,因此理论上可以用其他语言编写然后交叉编译过去;不过 Java 为广大民工喜闻乐见,想要别的语言的估计也不太多……

Android只有性能相关的系统库是 native 的,而且给程序员用的也是 Java 包装好的接口,这对维护系统的一致性很有好处,应该不会像桌面 Linux 的那些库一样动不动就打架罢工……不过随之而来的一个问题就是拓展性,比如想加一个Helix解码库就不容易(不知道Helix?知道RMVB吧, 就是用来解码RMVB的库)。【正能解自家的Youbute视频就好啦,其他的谁管呢~


Android 用户程序生而平等…… Home 就是一个 Activity,对界面约束极少倒是像个 Linux,开发 Sense一类的用户界面相对更容易。

仰赖不同 APK 运 行于不同的 user id 下并只通过系统 bind 进行通信的机制,小机器人的安全性应该不错。当然到处乱刷 ROM 的风险还是不小的(特别在国内这种迷信xxx论坛美化/优化版的 地方,这种问题更严重,不厚道的说现在开发基于 Android 的 Adware/Malware已经很值得考虑了)。

Android 上现在还没几个收费的游戏,这说明大的软件厂商还没有大举进军 Android,暂时以来自自由软件世界的个人英雄主义开发者为主,不过这应该只是时间 问题。

需要说的一个是“ Android 不能关程序”这个说法,这个是设计成这样的,不是缺陷,理论上应该还是 个不错的想法。不过不知道运行时会不会智能的学习程序行为,对不同程序区分对待。如果没有,倒是可以考虑研究之……或许能在 Android 圈里立名,呵呵。

BlackBerry

铁板一块……想 hack 都找不到门的系统,只是提供了 Java API(不知道Android 是不是就是和BB学来的思路?)好处就是安全,坏处就是不那么geek-friendly。

另外 BlackBerry 结合企业应用还是很有点积累的, 有一套通过手机远程使用假设在公司服务的系统 (BES),这公司居然没跟着风大喊自己搞的是云计算,真是太憨厚了 *^__^*

不过没了 BES 感觉 BB 就少了 很多竞争力…… 尤其是在现在世界娱乐化无聊 化(以facebook崛起为特征)的大潮中,BB 对于第三方应用程序/游戏的开发者/开发公司的吸引力稍欠,有被边缘化的可能。

Symbian

从1980年开始活到现在了,比 DOS 长寿多了……Symbian(包括目前在规划和路线图中的 Symbian^3和 Symbian^4 的最大特点就是支持用户级别的 native 程序,反倒是 Java VM 在整个系统中看着很不伦不类……

大家常说的S60 其实是 Symbian 的上层而已,使用同样 Kernel 的还有以前 Sony 家的 UIQ 以及几乎没见过的 S90 等; S60 基本上是随着 Kernel 版号发行的。

Nokia 的开发语言是 C++, 准确的说是 C++的一个芬兰味方言版,哈哈。当 iPhone 开始颠覆手机概念的时候,Nokia 认识到需要一个更好的界面,于是收来了Trolltech ,把未来寄予在 Qt 上。在这之后就经常在 Youtube 上看 Qt 团队秀效果…… 不过全面 Qt看来还要等 Symbian^4 ,大概在 2010 Q4才会搞好……我个人很喜欢 Qt , 不过我还是认为 C++ 可能不是在手机上的 最好选择…… 一则 Nokia 方言版的 C++ 很多限制,二是代码质量和系统安全都是挑战。(总体来说我认为当今 IT 从业人员写代码的能力持严重怀疑态度,开发工具最好越傻瓜化越好,而 C++ 太需要“智能”了,让二流开发者拿去 race to market 不现实。)

好在 Nokia 很 怕在一棵树上吊死,Java、Python、Ruby,连 .Net 都有……加上最近打了鸡血似的全面开源 Symbian ,接着拿出 Symbian^3/^4 的时间表,甚至跑出来指责 android 开源不彻底;看来去年在智能手机市场上份额的4% 下滑已经把 Nokia 的尾巴点着了……

Saturday, February 20, 2010

交互式shell好工具eyeD3

事由:这两天闲着整理我电脑里的音乐库,因为 windows 7 的 windows media player 12 (以下简称 wmp )和 library 功能配合得非常完美,而且 wmp 12 的媒体管理功能也还不错,因此打算用 foobar2000 管理 APE/FLAC/TTA 等无损文件,而让 wmp 12 管理 mp3 文件。

遇到问题:管理 mp3 的内容无非就是整理 mp3 文件的 tag 信息 啦(就是我们点右键看属性时候看到的那些歌手、专辑等信息),不过 windows 7 和 wmp 12 的 tag 编辑能力都比较一般,做不了向 mp3 音乐文件嵌入专辑封面这些“高档”的事,估计是微软怕什么都做了被告垄断吧。于是只好寻找第三方工具,找来找去找到一个叫做 Mp3tag 的软件,功能很强大,可以编辑多数 mp3 的 tag 属性,也能嵌入图片(嵌入图片后文件在 windows 7 里就显示成专辑封面的图标啦,很好看的)。不过这个软件批量操作还是不够快捷,而且遇到错误的 tag 信息会无法识别 :(

后来:今天终于克服了懒惰,阅读了 mp3 tag 的技术标准,下载了一个 Python 的库和命令行程序(eyeD3)仔细研究了一下。终于对遇到的问题,和应该的解决办法有了系统的完整的了解,能够方便的不受 Mp3tag 功能限制的更改所有 tag 信息了。以后就通过 Python 交互式命令完成处理 mp3 tag 的各种工作啦,终于不用到处瞎找工具了 :)

最后:我想起昨天找到时候遇到一个软件,叫做 TidySongs ,声称 “ Only $39”,嗯,好吧,我找到了一个对我来说更趁手的工具,省下了 $39 ,是不是该买点巧克力和零食什么的庆祝一下 XD

Saturday, May 9, 2009

Tux Drawing

I'm not sure whether is a good idea to put it here, anyway, I think Tux is technique-related...

Done in OpenCavas(Maybe I should use Linux and GIMP to do this, but I really don't like GIMP)... This took me several minutes after a pencil sketch on real paper.

Friday, April 24, 2009

Linux is neither heaven nor hell (3)

前两天开始写这个系列,本来是打算先写天堂的,不过我刚刚写完天堂的信仰之后就发生了无法配置X的惨剧,所以我决定先写“地狱“……

在Linux下,一个十分重大的问题就是升级。因为我们总是希望Linux更加的好用,所以大家弄出了各种各样的新鲜东西,引诱你升级。而现实的另一面是可能过去遇到的一个一直没有解决的问题一直在折磨你,而据说新版本解决了这个问题,所以需要升级。

在Linux升级的时候,需要首先做好搞砸整个系统再也看不到可爱的GUI界面的心理准备,备份好自己的文件,向图灵、冯诺依曼等计算机史上的贤者祷告,祈求得到他们的祝福。然后毕恭毕敬小心翼翼的输入升级的命令,接着就是听天由命了……可惜这些神明并不好伺候,有的时候他们会莫名其妙的降罪于我。比如我今天在笔记本电脑和台式机上同时升级我的arch Linux,笔记本上的表现很好(尽管Root Terminal不能用了,我的触摸板却神奇的好了,经过我的配置还支持了连为windos都不曾支持过的双指触控-_-b),而台式机则直接出现了最恶心的xorg错误,目前连正确的分辨率都无法设置。

Linux像地狱,因为我总是生活在恐惧之中,常常因为一个小小的贪心,陷入系统无数细节的深深泥沼……如果幸运的话还可以抓住manual、wiki、google和bbs这些救命稻草,如果不幸的话常常会花去数个小时也没有挣脱出来。在Linux这个原始蛮荒的丛林里,只有熟悉环境经验丰富的家伙才能像山猫一样游刃有余的穿行,很可惜我至今还是一个时常掉进坑里头破血流还半天爬不出来的小白鼠……

在这片丛林中,你脚下的土地都不是坚实而值得信任的;很多问题和硬件有关的。我不知道这种现状应该归罪于什么人,毕竟对于硬件厂商来说,支持纷繁复杂变幻迅速的Linux比支持用一只手的指头都能数过来的微软Windows要困难多了。这个社区缺乏一个强大的力量,了解并统一大家的意见提出一个清晰的标准;而没有这样一个清晰的标准,社区和外界的交流就会有很多困难。自由和效率不仅仅是一个政治问题,在很多地方都能看到这种博弈的影子。

有人说没必要这么复杂,装一个Ubuntu就好了,可就像在树林边的草地上散步,终归会因为窥见的诱惑或是其他的原因走进这篇丛林……复杂的系统软件如参天巨树遮天蔽日让人难辨方向,依赖关系的藤蔓纵横交错将人包围,脚下的硬件支持如同泥沼不知道什么时候就会陷进去,这就是Linux的地狱印象。

不过着绝望的印象中还有一丝的希冀:当最终穿过这片林子时,当初因好奇而迷失其中的小白鼠应该已经变成主宰丛林的大象了吧。

[ to be continued... ]

Thursday, April 23, 2009

Linux is neither heaven nor hell (2)

昨天说了我在Linux下混的短短历史,其实没什么值得参考的,今天说说我对于类Unix系统和GNU/Linux的感想。

说到学习Linux,我觉得这个说法本身就有一点问题,尤其是对于绝大多数从Windows过去的童鞋(按理说从mac过去的同学应该问题小很多)不是学习一个操作系统如何使用,更主要的是在Linux背后的一些逻辑。没有这些逻辑,就会觉得始终不得要领,而这些逻辑不是Linus自创出来的,而是来源于光辉伟大千秋万岁的Unix系统。

Unix的逻辑是简单的逻辑。(尽管Linux有时候会让人觉得很复杂,这只是因为nix系的操作系统对于消费用户来说暴露了太多的细节,没有做到所谓的傻瓜化隔离)

Unix系统里很多东西都是保存在纯文本文件里的,软件的源代码,软件的设置,甚至软件的本身也很少包括不是从源代码来的东西。比如windows程序多数都会内置一个图标,而Unix程序一般会使用一个外部的单独的图片文件。这种看似原始的方式其实还是蛮有好处的,你可以方便的使用你喜欢的工具编辑你的软件的设置;而且即使你搞砸了,也只是破坏了一个软件的设置,试想如果你把Windows的注册表搞砸了是什么后果……(我记得某文科女生说过她的一个师兄告诉她改注册表就会死机,呵呵……)

Linux继承了这种简单,和所有类Unix系统一样,计算机的文件组织方式是一棵树,这棵树只有一个根,不论你有多少个硬盘,多少个设备,都是这个根上的分支而已。(而Windows呢?我的文件夹还有C盘都是什么关系?正是因为搞不清楚我的文件夹实际上是C盘上若干文件夹内容的映射,多少小白再重装电脑之后痛失桌面上刚刚写好的作业啊……)更好的是所有的类Unix系统的磁盘都是可以挂载在任一文件夹的。如果你希望在Windows上把某软件的缓存设置到内存上,那么你只能祈祷该软件可以设置缓存地址,否则没戏。而在Unix上你可以把内存变成ramdisk挂载在任何你觉得合适的地方。逻辑简单,用法灵活。

很多人提到Linux相到的就是free,可惜理解的意思往往是“不要钱”。卓越上一份Windows也就是几百块,我还真不相信那些叫嚣着微软黑我屏我就跟盖茨拼命的家伙们拿不出来这个钱;把盗版微软觉得理所应当的人,几乎一定认为Linux社区应该把什么都给他免费准备好,生怕他不用……GNU/Linux的free更多的含义应该是自由,作为万灵之长了解并操作一个机器的自由。

有些人会说了,我们不是学计算机的,我就是一个OL,我搞不定C语言,弄不明白算法啦,我只想知道如何写报表怎么办呢?——这些都对,可是这不是褫夺自由和权力的理由。我们的自由和权力与生俱来,我们使用软件是委托其他人帮助我们实现我们的权利,而不是放弃我们的自由和权力。假如因为你扭了脚,要求我代你去超市买只菠萝,我说从此你的钱包就归我,你一定不会答应。所以拥有操作你的电脑的权利的人永远是你而不是某软。所以用某软的东西不是大问题,觉得电脑只有靠某软才能转就不对了。

某软的系统的逻辑也是简单——用户的头脑应该是简单的。于是某软私自做了很多的决定,既不告诉你为什么这么决定,也不说好处是什么,甚至不告诉你它做了决定。客观地说我不认为某软那些家伙们没能力做一个更好的系统出来,不过他们都忙着防范假象中的傻瓜用户把事情搞砸了。(这就和“为了防止你们把不靠谱的人选为xx代表,我熬夜把你们的选票上的圈都画好了,你们到时候拿过来直接扔到投票箱里就好了”是一个逻辑)微软的消费市场操作系统通过图形界面能干很多事情,但是没了图形界面基本干不了啥事情。

我认为Linux的桌面应用永远也不会成为主流,甚至可能在这个脑残和娱乐化的时代用户越来越少;但愿若干年后,还有一种叫做自由的精神香火不灭吧。

【 to be continued… 】