机器终于 Crash 了。。。
用苹果本子五年,头一次看见四国,兴奋ing。。。
我的主要工作是给公司内部写自动化测试工具,当然是使用 Django,这个 Web framework 越用越好用是我和我的设计师的共识。
工作配置主要是浏览器 Safari + Firefox,不过感觉还是 Webkit 比 Firefox 某种程度对开发者更加易用一些,比如 Firefox 的 form 是不能嵌在表格内部的,Safari 则可以。其它还有很多,比如 Safari 对 HTML/CSS 扩展比 Firefox 更加实用和简易,Javascript 执行速度也更快。
编辑器是 TextMate + MacVIM,TextMate 主要负责多文件的编辑,用起来还是很舒服的,MacVIM 主要是不想用鼠标的时候,全心写代码的时候用,主要用了 http://code.google.com/p/yy-vimscript/ VIM plugin 和 snippets,用 SynergyKM 共享了台式机的键盘鼠标用。
操作系统是 Snow Leopard 10.6 10A421a,我已经将它用于生产系统,系统平时还是非常稳定的,平时开一个礼拜也没问题(只待机),这次崩得很没头脑。-_-#
最新的苹果系统性能的确有极大提高,从前一篇 nbench 测试贴也能看出来,全部自带的应用程序都是 64bits,完全抛弃了 ppc 代码,体积也更小。完全重写的 Finder 打开和预览文件的性能也比之前版本高出很多,尤其是 Quake 3(32bits) 在我的本子上标准画质从 227fps 猛增到 540fps。现在就等着其它软件厂商推出64bits 的应用软件了,我目前只有 Tweetie 和 Perian 是 64 位的,其它的还是 32 位的。试着去编译过一些自由软件,但是编译始终在变量类型上会出问题,或者更加难缠的链接错误。这一版本承诺的功能也基本都已完成,不过 ZFS 去哪儿了?!-_-#
OS X 在界面上始终保持一致性和继承性,新的系统多是在细节上进行优化,而极少去颠覆之前的设计,我在设计思想上是非常赞同这一观点的。
跑题,打住。。。
Spotify - 超好用的音乐共享软件
从 CNBeta 的新闻上看有 Spotify 这款音乐共享软件,据说是 uTorrent 的创始人 Ludvig Strigeus 写的,Down 下来了一份,试了一下,果然不同凡响。
延时很短(几乎没有),而且都是很新的金曲,最关键的是曲子都很好听!
下载链接在: www.spotify.com/en/download/
目前只支持 Windows 和 Mac,如果想在 Linux 上用,可以使用 wine,这里有篇 Guide:
www.spotify.com/en/help/faq/wine/
=========================================================
我这里只对如何注册说一下,现在 Spotify 对英国境外的人都使用邀请方式(在英国的朋友有福了;-)),而包括我在内都是没有邀请码的。
所以按照新闻走,去 www.proxz.com/proxy_list_uk_0_ext.html 上找个英国的代理,在使用前最好 ping 一下,看看能否连上。
我用的是 212.241.180.239:81 这个地址。
然后去改代理,Mac OS X 在 System Preferences 的 Network 的 Advanced 里。
把 HTTP 和 HTTPS 的代理都选上,都改掉,然后访问:
www.spotify.com/en/get-started/
应该就是注册新帐号的页面了 ;-)
Spotify 不但是很好的音乐共享软件(其实仅限于从服务器上抓下音乐来,好像不能自己把音乐共享出去),而且还是很好的 Last.FM 客户端,在 Preferences 里填入 Last.FM 帐号后就可以自动连接 Last.FM。
最关键的是它是完整长度的试听,只是不能下载(可以 HiJack 下来,哈~)
很值得一试喔 ;-)
=========================================================
手头有五个邀请,想要的可以留邮箱。
=========================================================
一不小心,看到 Mac OS X 10.5.6 里的新东东。
今天打开 System Preference 发现 OS X 10.5.6 里多了个新的 Trackpad 选项,还有视频图解如何使用 Multi-Touch,我火星了?!
===========================================
附记:刚才在一班上看到可以在经典的铝外壳本上(最后一代非 Unibody)可以开启四指 Multi-Touch 的 kext 内核模块,
上传到了这里:http://www.box.net/shared/kp8jsregu2
经过测试,可用。
苹果净干些非能力不可为而不为之的事情。 -_-#
QuartzGL ?!
这 Tiger 里据称就是原来的 Quartz 2D Exteme,到 Leopard 里换了个名字叫 QuartzGL 了。刚刚在 Quartz Debug 的 Tools 菜单里看见有开启它的选项,所以就开了一下,用 xbench 跑了跑测试,结果居然比不开性能还差,而且还导致一些应用程序的不兼容现象出现(QuickSliver 启动画面成一半透明白框,据说Dashboard也会有问题),所以我还是关了。
开启方法是:
$ sudo defaults write /Library/Preferences/com.apple.windowserver QuartzGLEnabled -boolean YES
恢复方法是:
$ sudo defaults write /Library/Preferences/com.apple.windowserver QuartzGLEnabled -boolean NO
注销即可,不过我为了测试结果的准确性重启了电脑。
开了后的结果:
Results 179.93 System Info Xbench Version 1.3 System Version 10.5.5 (9F33) Physical RAM 2048 MB Model MacBookPro4,1 Drive Type FUJITSU MHY2200BH Quartz Graphics Test 144.47 Line 181.54 12.09 Klines/sec [50% alpha] Rectangle 145.47 43.43 Krects/sec [50% alpha] Circle 235.46 19.19 Kcircles/sec [50% alpha] Bezier 78.55 1.98 Kbeziers/sec [50% alpha] Text 190.48 11.92 Kchars/sec OpenGL Graphics Test 164.98 Spinning Squares 164.98 209.29 frames/sec User Interface Test 271.05 Elements 271.05 1.24 Krefresh/sec
没开的结果:
Results 206.56 System Info Xbench Version 1.3 System Version 10.5.5 (9F33) Physical RAM 2048 MB Model MacBookPro4,1 Drive Type FUJITSU MHY2200BH Quartz Graphics Test 192.86 Line 176.63 11.76 Klines/sec [50% alpha] Rectangle 232.50 69.41 Krects/sec [50% alpha] Circle 189.12 15.42 Kcircles/sec [50% alpha] Bezier 189.01 4.77 Kbeziers/sec [50% alpha] Text 185.73 11.62 Kchars/sec OpenGL Graphics Test 167.72 Spinning Squares 167.72 212.76 frames/sec User Interface Test 296.17 Elements 296.17 1.36 Krefresh/sec
完整的测试结果在:http://db.xbench.com/merge.xhtml?doc1=327066&doc2=327063
注意:因为单独的图形结果和完整测试不是同一个时间完成,所以数据有所偏差
记下给 iPhone 做 ipa 和 ringtone 的方法
- 因为每次用 scp 把 .app 拷进 iPhone 实在是太 XX,所以还是做成 ipa,拖进 iTunes 让它自己同步的好!
- 准备工作:
- 首先,需要一份被破解了的 MobileInstallation, for iPhone OS 2.1 的一搜就有很多 - Google,然后用 scp 复制到 iPhone 的 /System/Library/MobileInstallation.framework 里,否则未经过 Apple 签名的程序都无法安装;
- 找一份已经被破解的程序,比如 WeDict Pro;
- 开始干活:
- 再去 iTunes App Store 上找到 WeDict Pro 的页面,并且用鼠标右键点击其中的图标,选择 Copy iTunes Store URL,并且粘贴到一个文本编辑器里,比如这个:http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=287799252&mt=8;
- 把其中的 phobos.apple.com 替换成 phobos.apple.com.edgesuite.net,并且粘贴到浏览器地址栏中打开,可以看到乱七八糟的东西;
- 打开源代码,并且在其中搜索“100x100-75”,然后把整个地址全部复制下来,并粘贴到浏览器地址栏里打开;
- 这时可以看到 WeDict Pro 的图标了,然后把 100x100 换成 512x512,并重新打开,出现了超大图标;
- 把打图标保存到电脑里,起名为 iTunesArtwork(不要扩展名,如果有必要的话,可能需要借助终端重新命名);
- 随便找地方建个目录,叫 package,并且在 package 里再建一个目录叫 Payload(区分大小写);
- 把刚弄的 iTunesArtwork 弄到 package 目录里,并且把权限改成 665(为什么是 665?!我也不知道),再把破解好的程序弄到 Payload 目录里;
- 给 Payload 里的程序加上执行权限(需要 Mac OS X 或者 Linux,Windows 应该不行),比如 WeDict Pro 就是 chmod 755 Payload/WeDict\ Pro/WeDictPro
- WeDict Pro 不用做,但别的程序可能要做的一步:用 Property List Editor(Mac OS X Only) 修改 Payload 程序里的 Info.plist,加上“SignerIdentity”段,内容是“Apple iPhone OS Application Signing”,并且保存;
- 最后打包:
- 到 package 目录里,用 WinRAR 把 iTunesArtwork 和 Payload 目录打进一个 .zip 文件里,或者 Mac OS X 的 Compress 2 items,Mac 上会生成一个 Archive.zip 文件
- 把生成的 zip 文件,重新命名为一个 .ipa 文件(比如我的 WeDict Pro.ipa),把它拖进 iTunes,大功告成
- iPhone 就那么几个铃声,听多了多无聊啊,scp 拷上去的每次 iTunes 同步后都丢,怎么办,做成 iTunes 能认的不就行了
- BTW: 现在 iTunes 可以创建铃声,不过仅限于从 iTunes Store 上购买的曲子,所以基本还是白搭
- 首先准备好 mp3 文件,然后用 QuickTime 打开(QuickTime 需要注册一下,否则无法进行编辑),裁剪到合适的段落,不能超过 40 秒,否则能拖进 iTunes 可是无法同步
- 然后用 Edit 菜单下的 Trim to Selection,并且导出成 AAC
- 实际上导出是 .mov 的扩展名,把它改成 .m4r,然后拖进 iTunes 就可以了
批量更改 mp3 id3 标签编码
$ wget http://quodlibet.googlecode.com/files/mutagen-1.14.tar.gz $ sudo easyinstall mutagen-1.14.tar.gz Processing mutagen-1.14.tar.gz Running mutagen-1.14/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0hg6pP/mutagen-1.14/egg-dist-tmp--Dn1sG zip_safe flag not set; analyzing archive contents... mutagen 1.14 is already the active version in easy-install.pth Installing moggsplit script to /usr/local/bin Installing mutagen-inspect script to /usr/local/bin Installing mutagen-pony script to /usr/local/bin Installing mid3iconv script to /usr/local/bin Installing mid3v2 script to /usr/local/bin Installed /Library/Python/2.5/site-packages/mutagen-1.14-py2.5.egg Processing dependencies for mutagen==1.14 Finished processing dependencies for mutagen==1.14然后切到 mp3 的目录里,比如我的“~/Desktop/周杰伦/魔杰座”,直接执行:
$ cd ~/Desktop/周杰伦/魔杰座 $ find . -name \*.mp3 -exe mid3iconv -e GBK {} \; Updating ./01 魔杰座.mp3 Updating ./02 女儿红.mp3 Updating ./03 东方之殿.mp3 Updating ./04 红楼梦中.mp3 ...拖入 iTunes,搞定~
在 Mac OS X 上为 Django 安装 MySQL-python 1.2.2
先去 Sun 网站上下载最新版本的 MySQL, 再去 djangoproject.org 上下载最新版本的 Django 1.0 release, 并且正常安装.
然后用 easyinstall mysql-python, 发现无法正常安装.
查看 easyinstall 的下载路径, 用下面的命令下载并且解压缩
$ cd /tmp $ curl -o MySQL-python-1.2.2.tar.gz http://internap.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz $ tar xvf MySQL-python-1.2.2.tar.gz $ cd MySQL-python-1.2.2
然后修改 site.cfg, 修改下面内容:
由
#mysql_config = /usr/local/bin/mysql_config
改成
mysql_config = /usr/local/mysql/bin/mysql_config
否则会出现找不到 MySQL config 的问题:
... File "/tmp/easy_install-nHSsgl/MySQL-python-1.2.2/setup_posix.py", line 24, in mysql_config EnvironmentError: mysql_config not found
然后修改 _mysql.c, 把第 37 到 39 行注释掉, 如下:
//#ifndef uint //#define uint unsigned int //#endif
否则会出现:
In file included from /usr/local/mysql/include/mysql.h:47, from _mysql.c:40: /usr/include/sys/types.h:92: error: duplicate 'unsigned' /usr/include/sys/types.h:92: error: two or more data types in declaration specifiers error: command 'gcc' failed with exit status 1
然后再用 python ./setup.py build 编译
$ python ./setup.py build running build running build_py copying MySQLdb/release.py -> build/lib.macosx-10.5-i386-2.5/MySQLdb running build_ext building '_mysql' extension gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DMACOSX -I/usr/include/ffi -DENABLE_DTRACE -pipe -Dversion_info=(1,2,2,'final',0) -D__version__=1.2.2 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c _mysql.c -o build/temp.macosx-10.5-i386-2.5/_mysql.o -g -Os -arch i386 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT gcc -Wl,-F. -bundle -undefined dynamic_lookup -arch i386 -arch ppc build/temp.macosx-10.5-i386-2.5/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.5-i386-2.5/_mysql.so ld: warning in build/temp.macosx-10.5-i386-2.5/_mysql.o, file is not of required architecture ld: warning in /usr/local/mysql/lib/libmysqlclient_r.dylib, file is not of required architecture ld: warning in /usr/local/mysql/lib/libmygcc.a, file is not of required architecture
然后再用 python ./setup.py install 安装
$ sudo python ./setup.py install Password: running install running bdist_egg running egg_info writing MySQL_python.egg-info/PKG-INFO writing top-level names to MySQL_python.egg-info/top_level.txt writing dependency_links to MySQL_python.egg-info/dependency_links.txt reading manifest file 'MySQL_python.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'MySQL_python.egg-info/SOURCES.txt' installing library code to build/bdist.macosx-10.5-i386/egg running install_lib running build_py copying MySQLdb/release.py -> build/lib.macosx-10.5-i386-2.5/MySQLdb running build_ext creating build/bdist.macosx-10.5-i386 creating build/bdist.macosx-10.5-i386/egg copying build/lib.macosx-10.5-i386-2.5/_mysql.so -> build/bdist.macosx-10.5-i386/egg copying build/lib.macosx-10.5-i386-2.5/_mysql_exceptions.py -> build/bdist.macosx-10.5-i386/egg creating build/bdist.macosx-10.5-i386/egg/MySQLdb ...
然后用下面的命令进行测试:
$ cd ~ $ python Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb >>> MySQLdb.apilevel '2.0' >>> import django >>> print django.VERSION (1, 0, 'final')
如果能正常输出就没有问题了 :-)
苹果归来
好长时间没用,都有点生疏了。。。 -_-#
上周四那天中央电视台的人来采访红旗,我给他们做了桌面演示,把我的 Compiz Fusion 的桌面给他们看了。12 号那天晚上获知要在东方节目中播出,没想到居然是和番茄花园牵扯到了一起。
其实我一直是没用过番茄花园的,平时都是使用绝对正版的,和苹果机附带的 Mac OS X 和 Linux 系统,顶多用 wine 跑跑一些免费的 Windows 软件。很多时候我也是这么鼓励我周围的朋友这么做的。
这周五把那台 DELL 本本换给了公司,因为我即将离开那里,等我在新公司扎下根来,我会过来向大家汇报一下的。
现在努力专攻 Django 和 Python,还请多多交流!
对了,新拿到的本本是 Macbook Pro MB133,有空会做份 nbench 测试并且放上来的。
COCOTRON
想法很好,但是问题是,Mac OS X 的菜单位于屏幕顶端,其它平台的菜单一般在窗口的标题栏下。
我还没试,先不乱猜测。
Right here: http://www.cocotron.org
Native GTK running on Mac OS X
Native GTK running on Mac OS X, originally uploaded by K*K.
Successful running GTK 2.11 2006/12/21 cvs version on Mac OS X, no X11, no more requirements!
Plan:
1. Try to rebuild GTK with nquartz(Quartz Native) target, hope that GTK widget will looks like Aqua Widgets.
2. Merge Mac OS X like top menu patch in this version of GTK .
I recommend you to build it with a script gtk-osx-build.sh, you can download it from: http://www.box.net/public/db9dx205gq.
Want to learn how to port GTK to Mac OS X, you can download Porting-Gtk-MacOSX.pdf guide by Anders Carlsson from my box Documents folder.
半夜做音乐
自从开始学习音乐以后,听歌时的感觉都不一样了,会仔细去听歌里每一个乐器的音高,想像着它在键盘上的位置。
很佩服最早敲响第一个乐器的人,他把原本很单调的噪音混合才一起,成为了人类的一种享受。
现在使用的软件是 GarageBand 和 Intuem ,都是非常入门的软件,但功能都很完善,GarageBand 使用的是真实的 Soundtrack 来做,而 Intuem 使用了 Midi 波表,前者更加真实,而后者可以直接打开 midi 文件并转化为五线谱。
挺喜欢感性和理性的兼有的,处女座的自己的,理性的分析周围和自己并做出计划来完成目标,我从目标的成功获得了自信-事情总是朝着自己预想的方向前进着;而用感性的心态去对待身边的每个人,去感觉生活中的美,把学习音乐的过程,变成跟着感觉走的过程。
有在哪里看到:感性的人改变别人来适应自己,而理性的人改变自己来适应别人,可是这个世界就是被一群感性的人改变的。我没改变世界,但也成功地改变了周围的人,并扭转了自己的命运。
后者的理性我觉得改成现实的人更好,感性不是任性,而是更多的同情和理解,更多地用心去感受,感性的人有理想,并愿意为理想而努力;理性也不是现实而成的麻木不仁,而是更多地客观的分析、做事、做人。
挺害怕自己变成一个鲁迅笔下的麻木不仁的人的,周围这种人其实已经很多了,每天为了生活而忙碌,不知所谓的忙碌,不知道明天的忙碌,感受不到月亮和星星的点光,感受不到所呼吸的空气的变化,很怕成为那样的人。
依然没有从神经衰弱中走出来,失眠、多梦,心悸和体温的不正常依然在折磨着自己的身体。近期的计划总是因为这些身体的不适而中断,但练习音乐却始终坚持了下来,每每弹奏起音符,身上的不适总是能立刻消失,音乐能医治人的心灵。
遇人不淑带来的后果是要自己承担的,起码我还有选择救恕自己的机会。 :-)
或许我再多顾及自己一点,也能少受不少伤吧。
最近晚上常陪 Limit 长谈,把遗漏的 blog 补上。
Leopard 小试(一)
OK,它有了什么东西在上一篇 Blog 中就已经说明了。
那么让我们来首先分析一下概况,尽管上一篇中基本都说明了。
1. Native 64 bits suppport - 是的,Mac OS X 拥有原生 PPC 64 位支持,这曾经在 Panther 中作为一大特性大吹大擂过一番,这次不同的是,挟 Universal Binrary 之势,Apple 把这 Mach-0 的旧酒,用 Leopard 新装了一遍,那么,它是什么?
$ file /usr/lib/libSystem.B.dylib
/usr/lib/libSystem.B.dylib: Mach-O universal binary with 4 architectures
/usr/lib/libSystem.B.dylib (for architecture ppc): Mach-O dynamically linked shared library ppc
/usr/lib/libSystem.B.dylib (for architecture ppc64): Mach-O 64-bit dynamically linked shared library ppc64
/usr/lib/libSystem.B.dylib (for architecture i386): Mach-O dynamically linked shared library i386
/usr/lib/libSystem.B.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
OK, 一目了然,使用了 Mach-0 可执行文件格式的 Darwin,能够将多种平台的二进制代码编译进一个文件中,gcc 使用了这个特性,所以有了一个 APPLE ONLY 的 -arch 参数(详见 man gcc)。
不过 Leopard 有一定好处是,Carbon 程序也能 64 bits 了。
2. Time machine - 需要下一篇细说
3. Complete package - 垄断 。。。 垄断 - 不过必须承认 Apple 官方的软件质量更高。
4. Spaces - 和 XGL 的“把桌面贴到正方体上不同”,Spaces 所做的似乎和早就就有的自由软件 Desktop manager 一样,依然是一个平面,正如名字一样,有的窗口在 No.1 Space,有的在 No.2 Space,你无法指望拖出一半的窗口出当前 Space,然后切换到另外一边相邻的Space,并看到原来拖出去的那部分。
它与 XGL 谁优谁裂,不想评论,不同人有不同喜好,Spaces 在躲避老板上还是有好处的。
Spaces 由于是 Apple 官方推出,比起 Desktop manager 上还是有优势的 - 首先是移动窗口有了 Quartz 加速,播放中的视频在很短的特效中依然继续播放,而 Desktop manager 只是一个静态的截图。但 Desktop manager 的好处是-它是自由软件,它特效更多。
5. Spotlight - Google Desktop 和 Beagle 竞相模仿的对象,失败的 WinFS 的成功反例,但新家的跨机搜索虽然有用,但对我什么吸引力,我只有一台电脑。
6. Core Animation - OS X 的出色框架再添一员,整合 Core Animation 之后的的 Mac OS X 内置大量特效,使得 ISV 开发更酷的软件提供了基础。它或许也是未来 Mac OS X 完全 3D 化的前兆。
7. Voice Over - 感觉像被完全重写了,提供了更多自定义性的设置,当然这不是我所关心的,新加了一名叫 Alex 的男音,利用标点控制语速和“感情”上的能力依然不行,但是明显这次录音比以前好很多,清晰很多。
Leopard
1 64位原生支持,但同时亦有32位兼容
2 时光机(Time Machine),这个特性对那些没有备份习惯的用户所准备的,时光机就是一个自动备份系统,可以为您备份文档、图片、音乐、你电脑里任何可以备份的东西。而它最具特色的地方就是它备份的方式,这也是它得到这个名字的原因,它可以必免覆盖原文档。而通过日期来快速的恢复你的文档。另外它还支持第三方程序!
3 软件包,包括Boot Camp、Front Row、PhotoBooth,它们都将是Leopard的一部分
4 虚拟桌面(Space),用户可以创建多个桌面,来按排它们的工作,而不同桌面上的文档可以通过拖拉方式进行转移。
5 Spotlight,这也是tiger的特性之一,但在Leopard里它将变得更强大。现在Spotlight可以搜索其他电脑和服务器上的文件了。
6 核心动画效果(Core Animation)
7 语音识别(VoiceOver),语音更自然,听上去像真人在朗读,支持中文和日文了。
8 Mail再度改进,模版(支持Html编辑)、待办事项、邮件记事功能
9 Dashboard,各种第三方的Widgets数量已经超过2500了,我们为开发者提供了名为Dashcode的开发软件,开发一个Widget极其简单。
10 iChat,支持多帐户登录、隐身、动态图标、视频录象和分页标签对话,iChat Theater功能可以向对方播放视频流、Keynote等等。还有很多视觉特效。
Leopard将会在明年春发布。
Bryan O'Bryan 转投 Linux 阵营。
有篇他的公告译文:http://www.pkblogs.com/zhcn/2006/07/translationbryan-obryan-why-i-ditched.html
我也是一个从 Mac 投奔到 Linux 人,我有一台 PowerBook 17",上面运行着 PPC 版本的 Gentoo,在经过了长期使用之后,觉得自由软件更适合自己。
Bryan 之所以投奔到 Linux 社区,是因为 Mac 社区内人的高傲与刻薄,最近 Linux 公社上似乎又有相关争论,与之相对应的,Linux 社区氛围明显好了很多。
国内社区又与国外有所不同,更多人认为自己是一名用户,而不是一名受益者,此区别在于受益对象,用户付费给软件作者,作者受益,而自由软件作者无私的将自己的作品贡献出来,依然会受到诸多指责。自命不凡的人指责苹果软件不好我能理解,他们为此付费了,但在 PC 上跑着盗版 Windows 和 Linux 的用户认为自己不同凡响就有点难以理解了。
Linux 社区的概念是:有需求?自己动手。
一点牢骚,建议大家在逛国内 Linux 论坛的同时,也一并逛逛国外的论坛,邮件列表,对培养性情还是有一定好处的。
不过说真的,Mac 社区内自命不凡的人和 Linux 社区内把自己当用户的人,总体数量应该是差不多的。
不管哪个社区,真正有水平的人都不会陷入那样的怪圈。
Mac OS X 和 WMV9
由于以前的 win32codec 在 Mac OS X 下无法使用,所以我对此表现了很大的兴趣。
经过试验确定确实可以使用,但效率目前仍然十分低下,在我的 PB17" 上只能达到 2 frames/sec.
补丁可以从 http://jserv.sayya.org/mplayer/ffmpeg-vc1.patch.gz 下载
jserver 的 blog 在: http://blog.linux.org.tw/~jserv/archives/001726.html
实际运行效果如:
$ mplayer -vc ffwmv3 '/tmp/test (DVD 640x480 WMV9)[CRC 9FD2].avi'
MPlayer dev-SVN-r18764-4.0.1 (C) 2000-2006 MPlayer Team
AltiVec found
CPU: PowerPC
Playing /tmp/test (DVD 640x480 WMV9)[CRC 9FD2].avi.
AVI file format detected.
VIDEO: [WMV3] 640x480 24bpp 119.880 fps 1269.1 kbps (154.9 kbyte/s)
Clip info:
Software: VirtualDubMod 1.5.10.1 (build 2366/release)
SUB: Could not determine file format
Cannot load subtitles: /tmp/test (DVD 640x480 WMV9)[CRC 9FD2].txt
==========================================================================
Forced video codec: ffwmv3
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[wmv3 @ 0x4f2770]This decoder is not supposed to produce picture. Dont report this as a bug!
[wmv3 @ 0x4f2770]Header: 4FF10A01
[wmv3 @ 0x4f2770]Profile 1:
frmrtq_postproc=7, bitrtq_postproc=31
LoopFilter=0, MultiRes=0, FastUVMV=0, Extended MV=0
Rangered=0, VSTransform=1, Overlap=1, SyncMarker=0
DQuant=0, Quantizer mode=0, Max B frames=0
[wmv3 @ 0x4f2770]Extra data: 16 bits left, value: 401F
Selected video codec: [ffwmv3] vfm: ffmpeg (FFmpeg M$ WMV3/WMV9)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16be, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [macosx] 48000Hz 2ch s16be (2 bytes per sample)
Starting playback...
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)
[wmv3 @ 0x4f2770]Consumed 12055/12056 bits
VDec: vo config request - 640 x 480 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Packed YUY2 special converter
VO: [macosx] 640x480 => 640x480 Packed YUY2
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 72/ 72 27% 3% 7.5% 32 0
[wmv3 @ 0x4f2770]Consumed 14381/14384 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)000 76/ 76 27% 4% 7.2% 35 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)001 80/ 80 26% 4% 6.8% 39 0
Error while decoding frame!
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)001 84/ 84 24% 3% 6.5% 41 0
[wmv3 @ 0x4f2770]Consumed 36226/36232 bits
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 88/ 88 24% 4% 6.2% 42 0
[wmv3 @ 0x4f2770]Consumed 43567/43568 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)000 92/ 92 25% 4% 6.0% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 96/ 96 24% 4% 5.8% 43 0
[wmv3 @ 0x4f2770]Consumed 58828/58832 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)000 100/100 24% 5% 5.6% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 104/104 23% 5% 5.4% 43 0
[wmv3 @ 0x4f2770]Consumed 76199/76200 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)001 108/108 24% 5% 5.3% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)001 112/112 23% 5% 5.1% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)002 116/116 22% 5% 5.0% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)002 120/120 21% 4% 4.9% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)002 124/124 21% 4% 4.9% 43 0
Error while decoding frame!
===== 以下输出省略 =====
mplayer -vc help 输出如以下:
$ mplayer -vc help | grep ffwmv
ffwmv1 ffmpeg working FFmpeg M$ WMV1/WMV7 [wmv1]
ffwmv2 ffmpeg problems FFmpeg M$ WMV2/WMV8 [wmv2]
ffwmv3 ffmpeg crashing FFmpeg M$ WMV3/WMV9 [wmv3]
共享软件也要厚道
把所有漏洞统统补上,哼,谁说 mac 上软件少,自由软件和免费软件都能满足所有需要。
上次那个谁做了一个 Windows 下的免费软件替代表,晚点我也做份 mac 上的。
好在 Apple 一向是买硬件送软件的,让我有得以安慰的操作系统可以用,否则只好在 PowerBook 上跑 Linux 了。
但还剩下两个余孽我无法脱离:
Aperture 和 Photoshop ...
为了我的照片,只好继续不安下去。。。
看看能否有天发达了买套正版回来用一辈子。
扯远了,只是想说共享软件 - ecto,我一直拿它写 blog,因为 blog 都由它存储,以前 D 版用很长时间了,为了良心 Renew 成了 Trial,长时间没写 blog 没注意。
今天一打开正常,写完了 blog 提交,让我输入注册码。 -_-#
只好再 Renew 一次,结果重新设置 wordpress 向导,把用 ecto 刚写的 blog 丢了。
只好回到 web 页面上手工重新写一次,郁闷得不行。
只是想说共享软件作者也要凭良心做事,想赚钱没有错,但是人家放心用你的软件存储对自己而言重要的数据,就算过期后也该给个让用户把自己的数据转移走啊,不用搞地那么决绝吧。
怀着这种心情,给作者写了封信。