机器终于 Crash 了。。。

The system 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 在界面上始终保持一致性和继承性,新的系统多是在细节上进行优化,而极少去颠覆之前的设计,我在设计思想上是非常赞同这一观点的。

跑题,打住。。。

 

Posted by K*K Mon, 03 Aug 2009 17:58:47 +0800


Spotify - 超好用的音乐共享软件

 从 CNBeta 的新闻上看有 Spotify 这款音乐共享软件,据说是 uTorrent 的创始人 Ludvig Strigeus 写的,Down 下来了一份,试了一下,果然不同凡响。

延时很短(几乎没有),而且都是很新的金曲,最关键的是曲子都很好听!

 

Spotify

下载链接在: 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 里。

 

Mac OS X Proxy Settings

把 HTTP 和 HTTPS 的代理都选上,都改掉,然后访问:

www.spotify.com/en/get-started/

应该就是注册新帐号的页面了 ;-)

 

Spotify create account page

Spotify 不但是很好的音乐共享软件(其实仅限于从服务器上抓下音乐来,好像不能自己把音乐共享出去),而且还是很好的 Last.FM 客户端,在 Preferences 里填入 Last.FM 帐号后就可以自动连接 Last.FM。

最关键的是它是完整长度的试听,只是不能下载(可以 HiJack 下来,哈~)

很值得一试喔 ;-)

=========================================================

手头有五个邀请,想要的可以留邮箱。

 

=========================================================

用邀请码注册还是会区分国家,所以还得用代理注册。

 

Posted by K*K Mon, 05 Jan 2009 18:56:20 +0800


一不小心,看到 Mac OS X 10.5.6 里的新东东。

今天打开 System Preference 发现 OS X 10.5.6 里多了个新的 Trackpad 选项,还有视频图解如何使用 Multi-Touch,我火星了?!

System Preferences in New Mac OS X 10.5.6

Trackpad in New Mac OS X 10.5.6

===========================================

附记:刚才在一班上看到可以在经典的铝外壳本上(最后一代非 Unibody)可以开启四指 Multi-Touch 的 kext 内核模块,

上传到了这里:http://www.box.net/shared/kp8jsregu2

经过测试,可用。

4 finger Trackpad multitouch with patched kext

苹果净干些非能力不可为而不为之的事情。 -_-#

Posted by K*K Thu, 18 Dec 2008 20:06:50 +0800


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

注意:因为单独的图形结果和完整测试不是同一个时间完成,所以数据有所偏差

Posted by K*K Thu, 11 Dec 2008 22:15:47 +0800


记下给 iPhone 做 ipa 和 ringtone 的方法

IPA:
  • 因为每次用 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,大功告成
Ringtong:
  • iPhone 就那么几个铃声,听多了多无聊啊,scp 拷上去的每次 iTunes 同步后都丢,怎么办,做成 iTunes 能认的不就行了
  • BTW: 现在 iTunes 可以创建铃声,不过仅限于从 iTunes Store 上购买的曲子,所以基本还是白搭
  • 首先准备好 mp3 文件,然后用 QuickTime 打开(QuickTime 需要注册一下,否则无法进行编辑),裁剪到合适的段落,不能超过 40 秒,否则能拖进 iTunes 可是无法同步
  • 然后用 Edit 菜单下的 Trim to Selection,并且导出成 AAC
  • 实际上导出是 .mov 的扩展名,把它改成 .m4r,然后拖进 iTunes 就可以了

Posted by K*K Sat, 18 Oct 2008 01:28:00 +0800


批量更改 mp3 id3 标签编码

不想用 id3mod,自然有自由软件的解决办法。
$ 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,搞定~

Posted by K*K Sun, 05 Oct 2008 07:28:00 +0800


在 Mac OS X 上为 Django 安装 MySQL-python 1.2.2

在 Mac OS X 上安装 MySQL-python 花了一点点功夫, 记一下:

先去 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')


如果能正常输出就没有问题了 :-)

Posted by K*K Wed, 17 Sep 2008 08:22:00 +0800


苹果归来

自从今年年初就把我的小黑贡献给了天津人民,用了半年多 DELL,总算又搞回苹果本本。
好长时间没用,都有点生疏了。。。 -_-#

My Macbook Pro

上周四那天中央电视台的人来采访红旗,我给他们做了桌面演示,把我的 Compiz Fusion 的桌面给他们看了。12 号那天晚上获知要在东方节目中播出,没想到居然是和番茄花园牵扯到了一起。

其实我一直是没用过番茄花园的,平时都是使用绝对正版的,和苹果机附带的 Mac OS X 和 Linux 系统,顶多用 wine 跑跑一些免费的 Windows 软件。很多时候我也是这么鼓励我周围的朋友这么做的。

这周五把那台 DELL 本本换给了公司,因为我即将离开那里,等我在新公司扎下根来,我会过来向大家汇报一下的。

现在努力专攻 Django 和 Python,还请多多交流!

对了,新拿到的本本是 Macbook Pro MB133,有空会做份 nbench 测试并且放上来的。

Posted by K*K Mon, 15 Sep 2008 07:20:00 +0800


COCOTRON

Cocotron 是由 Christopher Lloyd 编写的一套,相当于 Mac OS X AppKit 和 Foundation 在其它平台上的实现,通过它使用 Objective C 编译器将能够同时在 Mac OS X/Windows/Linux 上运行。

想法很好,但是问题是,Mac OS X 的菜单位于屏幕顶端,其它平台的菜单一般在窗口的标题栏下。

我还没试,先不乱猜测。

Right here: http://www.cocotron.org
Cocotron

Posted by K*K Wed, 27 Dec 2006 18:15:00 +0800


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.

Posted by K*K Sat, 23 Dec 2006 03:01:00 +0800


The Loongson 2 Emulator - a patched gxemul

Posted by K*K Tue, 12 Dec 2006 20:26:00 +0800


半夜做音乐


半夜做音乐, take by K*K.

自从开始学习音乐以后,听歌时的感觉都不一样了,会仔细去听歌里每一个乐器的音高,想像着它在键盘上的位置。

很佩服最早敲响第一个乐器的人,他把原本很单调的噪音混合才一起,成为了人类的一种享受。

现在使用的软件是 GarageBandIntuem ,都是非常入门的软件,但功能都很完善,GarageBand 使用的是真实的 Soundtrack 来做,而 Intuem 使用了 Midi 波表,前者更加真实,而后者可以直接打开 midi 文件并转化为五线谱。

挺喜欢感性和理性的兼有的,处女座的自己的,理性的分析周围和自己并做出计划来完成目标,我从目标的成功获得了自信-事情总是朝着自己预想的方向前进着;而用感性的心态去对待身边的每个人,去感觉生活中的美,把学习音乐的过程,变成跟着感觉走的过程。

有在哪里看到:感性的人改变别人来适应自己,而理性的人改变自己来适应别人,可是这个世界就是被一群感性的人改变的。我没改变世界,但也成功地改变了周围的人,并扭转了自己的命运。

后者的理性我觉得改成现实的人更好,感性不是任性,而是更多的同情和理解,更多地用心去感受,感性的人有理想,并愿意为理想而努力;理性也不是现实而成的麻木不仁,而是更多地客观的分析、做事、做人。

挺害怕自己变成一个鲁迅笔下的麻木不仁的人的,周围这种人其实已经很多了,每天为了生活而忙碌,不知所谓的忙碌,不知道明天的忙碌,感受不到月亮和星星的点光,感受不到所呼吸的空气的变化,很怕成为那样的人。

依然没有从神经衰弱中走出来,失眠、多梦,心悸和体温的不正常依然在折磨着自己的身体。近期的计划总是因为这些身体的不适而中断,但练习音乐却始终坚持了下来,每每弹奏起音符,身上的不适总是能立刻消失,音乐能医治人的心灵。

遇人不淑带来的后果是要自己承担的,起码我还有选择救恕自己的机会。 :-)

或许我再多顾及自己一点,也能少受不少伤吧。

最近晚上常陪 Limit 长谈,把遗漏的 blog 补上。

Posted by K*K Wed, 25 Oct 2006 14:05:00 +0800


试奏圆舞曲一首

新 MIDI 键盘绝对好用,努力靠它学习弹奏中。

下面是练习用圆舞曲一首,因无法 blogger 无法上传 mp3,遂只好用 GarageBand 生成五线谱上传。

弹得不好,懂谱子的自己看吧。 -_-#

melody

Posted by K*K Wed, 18 Oct 2006 15:35:00 +0800


Leopard 小试(一)

Leopard - Mac OS X 10.5 安装好了 :-)

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 的男音,利用标点控制语速和“感情”上的能力依然不行,但是明显这次录音比以前好很多,清晰很多。


Technorati Tags: , ,

Posted by K*K Mon, 21 Aug 2006 14:46:00 +0800


Leopard

http://www.apple.com/macosx/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将会在明年春发布。

leopard.png

Technorati Tags: ,

Posted by K*K Tue, 08 Aug 2006 20:45:00 +0800


Bryan O'Bryan 转投 Linux 阵营。

Bryan O'Bryan 是一名资深的苹果平台软件开发者和著名苹果主题论坛ResExcellence.com的管理者,公开投向Linux。他是继Cory Doctorow,Mark Pilgrim ,Thom Holwerda之后又一个离开苹果Mac OSX。

有篇他的公告译文: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 社区内把自己当用户的人,总体数量应该是差不多的。

不管哪个社区,真正有水平的人都不会陷入那样的怪圈。

Posted by K*K Sat, 29 Jul 2006 05:15:00 +0800


Mac OS X 和 WMV9

jserv 在十八日介绍了 Kostya Shishkov 在 FFmpeg-devel 提出的 [RFC - VC-1 I-frames decoder]。
由于以前的 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]


Technorati Tags: , ,

Posted by K*K Wed, 21 Jun 2006 14:02:00 +0800


共享软件也要厚道

身为一名程序员长期使用盗版软件的不安终于在前两周爆发了,大砍掉了机器上的 D 版软件,然后花了一天把 sf.net 和 versiontracker 逛了一遍。
把所有漏洞统统补上,哼,谁说 mac 上软件少,自由软件和免费软件都能满足所有需要。

上次那个谁做了一个 Windows 下的免费软件替代表,晚点我也做份 mac 上的。
好在 Apple 一向是买硬件送软件的,让我有得以安慰的操作系统可以用,否则只好在 PowerBook 上跑 Linux 了。

但还剩下两个余孽我无法脱离:
Aperture 和 Photoshop ...
为了我的照片,只好继续不安下去。。。
看看能否有天发达了买套正版回来用一辈子。

扯远了,只是想说共享软件 - ecto,我一直拿它写 blog,因为 blog 都由它存储,以前 D 版用很长时间了,为了良心 Renew 成了 Trial,长时间没写 blog 没注意。
今天一打开正常,写完了 blog 提交,让我输入注册码。 -_-#

只好再 Renew 一次,结果重新设置 wordpress 向导,把用 ecto 刚写的 blog 丢了。

只好回到 web 页面上手工重新写一次,郁闷得不行。

只是想说共享软件作者也要凭良心做事,想赚钱没有错,但是人家放心用你的软件存储对自己而言重要的数据,就算过期后也该给个让用户把自己的数据转移走啊,不用搞地那么决绝吧。

怀着这种心情,给作者写了封信。

Posted by K*K Sat, 29 Apr 2006 15:41:00 +0800