preload
Dec 31

defaults write com.apple.FaceTime AutoAcceptInvitesFrom -array-add +886916123456

Dec 01

在終端機執行以下命令:

defaults write com.apple.screencapture disable-shadow -bool true

è«‹é‡æ–°ç™»å…¥è®“æ•ˆæžœç”Ÿæ•ˆæˆ–é‡æ–°å•Ÿå‹• SystemUIServer:

killall SystemUIServer

把陰影效果加回來:

defaults delete com.apple.screencapture disable-shadow

ç„¶å¾Œå†æ¬¡é‡æ–°å•Ÿå‹• SystemUIServer:

killall SystemUIServer

[source]

Tagged with:
Aug 22

ç¾åœ¨çš„Safari開始支æ´Extension,也就是俗稱的外掛,類似Firefox的擴充套件。

發ç¾äº†ä¸€å€‹å°æœ‰åœ¨æ”影的人很方便的 Extension,ExifExt,而且是 Apple 官方推薦的。

screenshots:

link: ExifExt 官方下載é é¢

Tagged with:
Jul 29

Slash Dot Dash » Blog Archive » Create ISO CD/DVD image (.iso) with Mac OS X Tiger (10.4)

Tagged with:
Jun 24

䏀呍剿ˆ‘å’Œ Tinyfool é–’èŠè˜‹æžœæ“作系統,都èªç‚ºå°æ–¼é–‹ç™¼äººå“¡ä¾†èªªï¼Œè˜‹æžœæ“作系統(Mac OSï¼‰æ˜¯ä¸Šä½³çš„é¸æ“‡ã€‚ Tinyfool 筆頭很快,當å³å°±å¯«äº†ä¸€ç¯‡é•·æ–‡ç« ï¼Œ 我則筆頭很慢,今天æ‰å…¨éƒ¨ç¢¼å¥½ã€‚ 他的文章的主è¦åˆ‡å…¥é»žåœ¨æ–¼ Mac å¹³å°ä½œç‚ºç›®æ¨™é–‹ç™¼å¹³å°çš„å„ªå‹¢ï¼Œè€Œæˆ‘é€™ç¯‡çš„åˆ‡å…¥é»žä¸»è¦æ˜¯ Mac OS 作為一種開發工具的優勢。

é–‹ç™¼äººå“¡çš„è¶æ‰‹å·¥å…·
å°æ–¼é–‹ç™¼äººå“¡ä¾†èªªï¼Œæ‰€æœ‰çš„開發工具的最大的用途,就是最大é™åº¦çš„æé«˜é–‹ç™¼äººå“¡çš„生產率 (productivity) 和創造力(creativity)。在我們這個時代,使用 GUI (圖形界é¢) 是一個æé«˜ç”Ÿç”¢çŽ‡çš„å¥½æ‰‹æ®µã€‚é›–ç„¶ä¸Šä¸€ä»£çš„é‚£äº› UNIX 開發人員的確ä¸éœ€è¦ GUI。一個å±å¹•,一個éµç›¤ï¼Œä¸€å€‹ç·¨è¼¯å™¨ï¼Œåœ¨é™‹å··ï¼Œäººä¸å ªå…¶æ†‚ï¼Œä¹Ÿä¸æ”¹å…¶æ¨‚的黑客比比皆是, 但二å多年éŽåŽ»äº†ï¼Œ ç¾å¦‚今開發環境發生了巨大的變化。 比如說,相比較於當年程åºå“¡ä½¿ç”¨çš„基於文本的環境,在 GUI 下格å¼è±å¯Œçš„æ–‡æª”顯得更直觀,閱讀體驗更加好;就算工作中ä¸éœ€è¦é–‹ç™¼ä»»ä½• GUI 程åºï¼Œç¾ä»£é–‹ç™¼äººå“¡ä¹Ÿæœƒä½¿ç”¨ GUI 來完æˆç¶²é åœ–片和文檔閱覽等等。 因此,å³ä½¿æ˜¯æœ€å‚³çµ±çš„用命令行的開發人員,其實也能沾 GUI 的光。 比如說ç¾åœ¨æœ€å¥½çš„終端程åºï¼Œéƒ½æ˜¯ X 下模擬的,因為這些模擬的終端的出ç¾ï¼Œä¸€äº›å¾©é›œçš„å¯è¦–化功能å¯ä»¥åœ¨é€™äº›çµ‚端中實ç¾äº†ï¼Œæ¯”如 Unicode 的顯示(rxvt-unicode)等等。

å°æ–¼é–‹ç™¼äººå“¡ï¼Œæ“有一組éžå¸¸å¥½ç”¨çš„,能夠最大程度的æé«˜ç”Ÿç”¢çŽ‡çš„é–‹ç™¼å·¥å…·ä¹ƒæ˜¯ä¸€å¤§äººç”Ÿå¤¢æƒ³ã€‚é‚£éº¼ï¼Œé€™å¥—é–‹ç™¼å·¥å…·å¾žä½•è€Œä¾†å‘¢ï¼Ÿ 大體來說,這些工具來自於三個方é¢ï¼š 1. 通éŽç³»çµ±å’Œå–®ä¸€çš„æ‡‰ç”¨è»Ÿä»¶æä¾›çš„ï¼›2. é€šéŽæ­é…使用å„種應用軟件 3. 通éŽå®šåˆ¶å’Œæ”¹è®Šç¾æœ‰çš„æ‡‰ç”¨è»Ÿä»¶ã€‚ é€™ä¸‰é»žï¼Œå°æ–¼ UNIX 開發人員是å†ç†Ÿæ‚‰ä¸éŽçš„了, ç„¡éžå°±æ˜¯å¯«è…³æœ¬ï¼Œèµ°ç®¡é“而已。 æ‰€ä»¥ï¼Œåœ¨å‰ GUI 時代,這一套哲學éžå¸¸ç››è¡Œï¼Œ 開發人員都知é“,需è¦é€šéŽå®‰è£è…³æœ¬è§£æžå™¨ï¼Œå¯«ä¸€äº›çš„腳本,é…置一些環境等等,æ‰èƒ½æŠŠå‰›å‡ºå» çš„ UNIX 系統,改造æˆè‡ªå·±ä½¿ç”¨èµ·ä¾†å¾—心應手的系統。 基本上任何一個使用 UNIX/Linux 系統多年的人,機器裡é¢éƒ½æœ‰å„ç¨®å„æ¨£çš„「ç§è—ã€çš„腳本。離開了這些腳本,他的效率會大打折扣。

GUI 時代傳統的喪失

上世紀 80年代的時候,GUI 時代和個人計算機普åŠçš„æ™‚代é™è‡¨äº†ã€‚從此,計算機變æˆäº†å€‹äººé›»è…¦ï¼Œæ­·å²ä¸Šç¬¬ä¸€æ¬¡ï¼Œè¨ˆç®—æ©Ÿä¸æ˜¯å°ˆç‚ºé–‹ç™¼äººå“¡è¨­è¨ˆï¼Œè€Œæ˜¯ç‚ºäº†æ™®é€šç”¨æˆ¶è¨­è¨ˆã€‚普通用戶的需求就是完æˆä¸€å€‹ä¸€å€‹çš„ç¾å¯¦å•題,軟件產業æä¾›çš„解決辦法就是為用戶æä¾›ä¸€å€‹ä¸€å€‹çš„æ‡‰ç”¨è»Ÿä»¶ï¼Œè€Œä¸æ˜¯è®“用戶自己一行一行的編程和寫腳本,巨大的軟件需求瞬間æˆå°±äº†ä¸€å€‹å·¨å¤§çš„軟件產業。 é€™æ¨£çš„ä¸€å€‹é–“æŽ¥å¾Œæžœå°±æ˜¯ï¼Œå°æ–¼æ™®é€šç”¨æˆ¶ä¾†èªªï¼Œè®“一å°è¨ˆç®—機變æˆèƒ½å¤ å¹«åŠ©è‡ªå·±å®Œæˆä»»å‹™çš„「個人計算機ã€çš„å”¯ä¸€æ‰‹æ®µï¼Œå°±æ˜¯ç–ŠåºŠæž¶å±‹çš„ä¸æ–·çš„è£å„種應用軟件。

我們å¯ä»¥ç”¨ä¸€å€‹ç°¡å–®çš„例å­èªªæ˜Žé€™ç¨®ä½¿ç”¨æ¨¡å¼ã€‚ 我們都知é“ï¼Œå®‰è£ Windows 系統的一個經驗原則是把æ“作系統和應用程åºåˆ†æˆå…©å€‹é‚輯盤,一個在 C 盤,一個在 D 盤。這個ç£ç›¤åˆ†å€çš„經驗原則ä¸å…‰ç¶²å§è€æ¿çŸ¥é“,連我大學裡é¢åªæœƒé»žé¼ æ¨™çš„那些女åŒå­¸éƒ½çŸ¥é“。為什麼有這個奇妙ç¾è±¡å‘¢ï¼Ÿå…¶å¯¦ï¼Œé€™æ˜¯ç”± Windows ç³»çµ±çš„ç”¨æˆ¶çš„å…¸åž‹ä½¿ç”¨æ¨¡å¼æ±ºå®šçš„。 在 Windows 系統上, 應用程åºå’Œæ–‡æª”是關éµï¼Œæ“ä½œç³»çµ±åªæ˜¯ä¸€å€‹éš¨æ™‚å¯ä»¥é‡è£çš„æ±è¥¿è€Œå·²ï¼Œæ‰€ä»¥å¹²è„†å…©è€…åˆ†é–‹ï¼Œäº’ä¸å½±éŸ¿ã€‚在這樣的使用模å¼å¼•導下,Windows 系統上格盤é‡è£æ˜¯éžå¸¸ä½Žæˆæœ¬çš„,åªè¦æ–‡æª”ä¸ä¸Ÿï¼Œæ‡‰ç”¨ç¨‹åºä¸ä¸Ÿå°±è¡Œã€‚這種使用習慣,浪費了多少 geek 男美好的時光為人é‡è£ç³»çµ±ï¼Œåˆä¿ƒæˆäº†å¤šå°‘美妙的姻緣 :) 。 總之,在 GUI 時代,è¦è§£æ±ºä¸€å€‹å•題,就è£ä¸€å€‹æ‡‰ç”¨ç¨‹åºã€‚至於應用程åºä¹‹é–“的通信,和用éžéµç›¤é¼ æ¨™çš„æ–¹æ³•控制應用程åºç­‰ç­‰ï¼Œéƒ½ä¸å†æ˜¯è¦è€ƒæ…®çš„å•題,有這樣的需求的人æˆäº†éžä¸»æµï¼Œéžä¸»æµåˆ°ä»¥è‡´æ–¼ä¸»æµçš„æ“ä½œç³»çµ±å’Œæ‡‰ç”¨è»Ÿä»¶éƒ½ä¸è®“你這麼干了。 æ“ä½œç³»çµ±æŠŠæ‰€æœ‰å…¶ä»–çš„è·¯éƒ½å°æ­»ï¼Œå°±æ˜¯æ˜Žæ“ºè‘—å‘Šè¨´ä½ ï¼Œè¦æƒ³æŸæ¨£åŠŸèƒ½ï¼Œè«‹å‡ºé–€è²·è»Ÿä»¶ã€‚

Smalltalk 的啟示


其實 GUI æ™‚ä»£åŽŸæœ¬ä¸æ‡‰è©²æ˜¯é€™æ¨£çš„。 我們都知é“,GUI 原本是施樂的 Alan Kay 那一幫人åšç§‘ç ”åšå‡ºä¾†çš„,Bill Gates å’Œ Steve Jobs å„è‡ªåˆ°æ–½æ¨‚ã€æŠ„è¥²ã€ äº†ä¸€éƒ¨åˆ†éŽä¾†ï¼Œæ–¼æ˜¯çª—å£å•ŠæŒ‰éˆ•啊就到處都是了。 他們都看到了圖形界é¢å’Œé¢å‘å°è±¡çš„形, 看到了圖形界é¢å°±æ˜¯æŠŠæŒ‰éˆ•圖標等等å°è±¡æ”¾å¥½ï¼Œç„¶å¾Œé¼ æ¨™é»žæ“Šæ‹–動等等這些表é¢çš„æ±è¥¿ã€‚ 因為所有的 GUI 界é¢éƒ½æ˜¯å¾žæ–‡å­—界é¢èµ·æ­¥çš„,所以所有的 GUI 程åºï¼Œå…¶å¯¦å°±æ˜¯åŽŸä¾†çš„å¯åŸ·è¡Œç¨‹åºçš„包è£ã€‚ C++ 這個語言的出ç¾ä¹Ÿå¾ˆè¨Žå·§ï¼ŒæŠŠ C åŒ…è£æˆäº†ä¸€å€‹é¢å‘å°è±¡çš„語言,包è£å°åŒ…è£ï¼Œ C++ å¾ˆè¨Žå·§çš„é©æ‡‰äº†æŠŠå¯åŸ·è¡Œç¨‹åº GUI 化的趨勢, æˆäº† GUI 時代的主æµé–‹ç™¼èªžè¨€ã€‚從表é¢ä¸Šçœ‹ï¼Œåªè¦é‹è¡Œé€™äº›å¯åŸ·è¡Œçš„程åºï¼Œå°±èƒ½å¤ çœ‹åˆ°åœ–形界é¢ï¼Œå°±èƒ½å¤ ç”¨é¼ æ¨™é»žæ“Šæ“ä½œä»–å€‘ï¼Œå¯æ˜¯é€™äº›æ±è¥¿çš„底層,都是一個編譯éŽäº†çš„å¯åŸ·è¡Œç¨‹åºï¼ŒåŽŸå…ˆ Smalltalk 中的那些é‹è¡Œæ™‚環境啊,å°è±¡å®¹å™¨å•Šï¼Œéƒ½çµ±çµ±ä¸è¦‹äº†ï¼Œæ‰€æœ‰çš„圖形界é¢ç¨‹åºï¼Œé‚„是直接é‹è¡Œåœ¨è¨ˆç®—機的 CPU ä¸Šï¼Œè€Œä¸æ˜¯ä¸€å€‹è™›æ“¬çš„é¢å‘å°è±¡çš„容器上。而這個é¢å‘å°è±¡çš„容器(也å«åšã€Œé‹è¡Œæ™‚ã€æˆ–者「é‹è¡Œç’°å¢ƒã€ï¼‰ï¼Œæ‰æ˜¯ Smalltalk 的神。 簡單的說,Smalltalk 本身具有一個é¢å‘å°è±¡çš„é‹è¡Œæ™‚,所以å³ä½¿åˆ°äº†åŸ·è¡Œçš„æ™‚å€™ï¼Œè£¡é¢æ‰€æœ‰çš„å°è±¡é‚„是å¯ä»¥äº’è¯äº’通的。 而 C++ 寫出來的程åºï¼Œé™¤äº†ç·¨è­¯ä¹‹å‰æ˜¯é¢å‘å°è±¡å¤–,åªè¦ä¸€ç·¨è­¯ï¼Œå°±å…¨éƒ¨è®Šæˆæ©Ÿå™¨ç¢¼ï¼Œå’Œå°è±¡å°±å†ä¹Ÿæ²’有任何關系了,也就ä¸å­˜åœ¨é‹è¡Œæ™‚去動態的查看(inspect) 和改變(modify) 這些程åºå°è±¡çš„說法。 總之,因為歷å²çš„å±€é™ï¼Œé€™äº› GUI 的平å°ï¼Œéƒ½æ˜¯æ¼¸é€²çš„照貓畫虎的演變的,所以沒有一個平å°åƒ Smalltalk 那樣細致地考é‡éŽå°è±¡çš„互相通信的å•題,å†åŠ ä¸Šæˆ‘å€‘ä¸Šé¢èªªäº†ï¼Œå正擴展系統的方法就是引入新的應用軟件而已,本身也沒有互è¯äº’通的需求,所以這種拋棄é‹è¡Œæ™‚的,ä¸è®“å°è±¡è¢«å¤–éƒ¨ç¨‹åºæŽ§åˆ¶çš„å¯¦ç¾æ–¹æ³•也無所謂ä¸å¥½ã€‚

坿˜¯é–‹ç™¼äººå“¡ä¸æ˜¯æ™®é€šç”¨æˆ¶å•Šï¼Œä»–們ä¾ç„¶è¦æ”¹é€ è¨ˆç®—機æˆç‚ºè‡ªå·±çš„å·¥å…·çš„ã€‚åœ¨ç¾æœ‰çš„ç¾æœ‰å·¥å…·ä¸èƒ½è§£æ±ºå•題的時候,è¦ä¸ç„¶è‡ªå·±é‡æ–°ç™¼æ˜Žè¼ªå­ï¼Œè¦ä¸ç„¶å°±å¾©ç”¨ç¾æœ‰çš„ä¸€äº›å·¥å…·ï¼Œæˆ–è€…é‡æ–°æŒ‰è‡ªå·±çš„éœ€æ±‚é‡æ–°é…置這些工具。 所以,和一般用戶ä¸ä¸€æ¨£ï¼Œé–‹ç™¼äººå“¡éœ€è¦é€™äº› GUI çš„å¯é…置性,也需è¦é€™äº› GUI 程åºä¹‹é–“的互è¯äº’通。 用黑話來說,第一個å•題關系到 GUI 應用程åºçš„腳本化, 第二個å•題關系到 GUI 程åºä¹‹é–“的進程間通信。 這兩個å•題,說起來簡單,但都牽扯到 GUI 系統的根本設計å•題。 æ­·å²åœ¨é€™è£¡é–‹äº†ä¸€å€‹ä¸å¤§ä¸å°çš„玩笑,把這個唯一的機會給了 Mac OS X。其他æ“作系統,都因為這樣那樣的原因,在這兩個å•題上沒有很好的解決方案。 繼續閱讀 »

Tagged with:
Jun 07

ä¸å–œæ­¡ Eclipse 的笨é‡å—Žï¼Ÿä¾†è©¦è©¦Â Android TextMate Bundle

是一個在Textmate開發Android app用的bundle,有容易使用的介é¢ã€‚

功能特性:

Create & Update 新專案
建立新 Android 虛擬è£ç½®
Emulator Viewer & Launcher
建置ã€åˆªé™¤ & å®‰è£ Android Apps
觀看 Logcat (實驗性)

link: Android TextMate Bundle ~ Home

Jan 20

æƒ³æŠŠæŸ iPhone App 的語系在地化,é‡åˆ° Localizable.strings 為編碼éŽçš„ binary 檔,沒辦法直接用文字編輯器修改。

找到方法把 Apple binary property list è½‰æˆ XML。

plutil -convert xml1 path/to/preferences.plist

link: Convert a Binary Property List to XML – david winter

Tagged with: