Mac 推薦軟體 (2010~2011)

Update(2012/9): 有 2012 年版的 Mac 推薦軟體了
Update(2011/5): 新增 Sparrow、Twitter、iTerm2、Divvy、Flux。

好像每年都整理一次的推薦清單。最近趁換了顆 Intel SSD 硬碟,第一次重灌雪豹,跟去年的推薦軟體相比拿掉了不少 App (越來越清心寡欲了?),新進榜則有四位。(加 * 的是付費軟體)

  • Yahoo! KeyKey: 必備的中文輸入法
  • (2010新進榜) Chrome: 最近幾個月愛用的瀏覽器
  • SubEthaEdit * 協同編輯器,若同事也都用 Mac 超級推薦,可以多人同時(即時)編輯一份文件。當做一般文字編輯也非常順手。
  • iWork* : 包含投影片 Keynote、試算表 Numbers、文件編輯 Pages 三套軟體,也可以拿來開 Microsoft Excel、Word 也大多都可以順利開出來。
  • (2010新進榜) NOTATIONAL VELOCITY: 超級簡單的雲端記事本,最大的好處是可以跟 iPhone 的 Simplenote 同步
  • LittlleSnapper*: 抓網頁或螢幕的 screenshot 並加以管理、加註。
  • Skitch: 螢幕抓圖工具,更棒的這可以直接網路分享,非常方便可以當做溝通工具。
  • VMware Fusion*: 可以在 Mac 上跑其他作業系統,最常見的被迫需求情境是 Windows + IE 瀏覽器。
  • LaunchBar* : 鍵盤快速啟動應用程式的好物。不想花錢的話可以試試 QuickSilver
  • VLC 放影片
  • Pixelmator*: 影像編輯軟體,功能類似 Photoshop,但不用這麼貴… XD
  • Burn: 燒錄軟體
  • chicken of the VNC: VNC client
  • Adobe Reader
  • KKBOX*: 聽正版音樂,有出 Mac 版就甘心。
  • (2011新進榜)Sparrow*: Email 桌面軟體
  • (2011新進榜) DivvySizeUp* :
    透過快速鍵切割視窗畫面,可以很方便地安排左右視窗,適合大螢幕
  • (2011新進榜)Flux: 根據時間自動調整螢幕亮度

網路相關

  • (2010新進榜) Google Reader: 捨之前用的 NetNewsWire 主要的理由是我現在都用 iPhone 做第一次的 RSS 瀏覽(如果有興趣再加到 Instapaper),而大部分的 iPhone RSS reader 都支援跟 Google Reader 同步,例如我用 NewsRack
  • Nally: Mac 上最棒的 BBS 軟體
  • Panic Transmit*: Mac 上超棒的FTP軟體,好操作介面佳,還支援 Amazon S3。
  • Tweetie Twitter: Twitter 的桌面軟體,我會特別需要桌面版的 Twitter 軟體是因為我有多個帳號需求。
  • Adium: 整合msn/gtalk等的IM
  • Skype: 喂喂

系統管理

  • AppZapper*: 反安裝軟體,可以清比較乾淨
  • Growl 好玩的自動提示,可以吃其他應用軟體的訊息。
  • smcFanControl 手動控制風扇
  • OmniDiskSweeper: 磁碟清理工具,可以很方便地找出到底哪個檔案跟目錄是最佔空間
  • coconutBattery: 電池狀態查詢跟紀錄

程式開發

  • iTerm iTerm2: 支援多 Tab 的 Terminal,我主要拿來做 SSH 登入
  • Visor: 把 Mac 內建的 Terminal 改成透過熱鍵即可呼叫出來,我主要拿來下程式開發中的各種 script 指令
  • (2010新進榜) Homebrew: 套件管理工具,詳見這篇文章
  • Textmate * Rails Developer 都會有的一套編輯器,請進一步參考推薦安裝Plugins
  • GitX: Git GUI (有個 Fork 版有 sidebar 不錯)
  • Sequel Pro: MySQL 的 GUI
  • Navicat* : 比較專業的 MySQL GUI,覺得最方便的是支援 SSH 登入遠端操作資料庫(畢竟很少情況會開 3306 Port 可以遠端連線),另外處理編碼也很聰明,印象中很少看到出現亂碼。如果你有舊版本MySQL的編碼問題無法順利dump出來,可以試試。

網頁設計

Dashboard

Ruby Tuesday #12 開放報名

Ruby Tuesday 聚會的第十二場,照慣例有兩場演講:

  • ryudoawaru: Ruby on Discuz!-用Ruby擴充論壇的社群功能
  • ihower: Ruby Object Model & Meta-Programming

我的部份,主要是講上次準備好但時間不夠沒講到的 Designing Beautiful Ruby APIs: Part2 (p.58),如果你喜歡我在 RubyConf 的演講,歡迎繼續來聽下半場更進階的部分。

時間: 2010/5/18(週二)晚上七點到九點半。
地點: 台北市 果子咖啡
報名網頁: registrano.com/events/ruby-tuesday-12

校園自由軟體工作坊 – Meet Ruby on Rails

Update: 投影片下載:遇見 Ruby on Rails

這週三 (2010/5/5) 晚上我在台大有一場 “Meet Ruby on Rails” 的演講,是由 OSSF 和台大資工系學會所合辦的工作坊。

不同於上次在清大的校園課程,這次只有安排 talk,沒有安排電腦教室給學員實作。給大學生講這個題目,我目前想要多準備一點軟性題目,少談一點程式碼。像是介紹 Web 軟體開發產業、為什麼採用 Web framework、為什麼用 Rails? 為什麼用 scripting 動態語言? 為什麼用 Ruby? 以及除了學校課程以外,我認為作為一個 Web-based 軟體設計師,可以學習的方向。當然,還有 Rails 的 live demo。

某方面來說,雖然題目是遇見 Ruby on Rails,但是我希望也可以讓聽眾遇見 Web application 軟體開發的樂趣。台灣的資工系學生畢業之後,大部分都投入硬體相關產業吧 (不同於美國的軟體業產值超過硬體,台灣的軟體業產值只有硬體的九分之一,真是九牛一毛啊 :~ )。如果這場演講可以讓他們多了解 Web 軟體產業,無論是不是喜歡 Ruby 或 Rails (就算是喜歡上 Python, Perl 也不錯),那就達到我演講的目的了。

Homebrew: 新一代 OSX 套件管理工具

身為一個 programmer,總是需要在 Mac 上裝一些開放源碼程式,除了自己下載、編譯( ./configure && make && make install) 之外,通常最方便的選項就是用套件管理工具來處理安裝、升級跟移除。

Homebrew 之前,最常見的就是 MacPortsFink 了,我自己本來是用 MacPorts,它有個討厭的特點就是它不依賴系統內已經安裝好的套件,完全自成一局 (當然,這也算是一種 isolation 優點,如果你不爽的時候只要砍掉 /opt 就移掉了)。所以常常為了裝個小套件,就還要安裝一堆它依賴的套件(例如:重複裝一套你系統裡已經有的 Perl,crazy!),十分耗費時間跟空間,而且到最後我也搞不清楚它裝了一大堆我不知道拿來幹什麼用的套件。

Homebrew 則盡量依賴系統內已經有的套件、它的套件 formula 是用簡單的 Ruby 寫的,所以你可以 fork Homebrew repository 自行修改維護、它自己用 Git 管理自己,升級十分方便。

安裝及使用方式

1. 要先安裝有 Xcode,你才能編譯東西。
2. 下載執行 gist.github.com/323731

安裝好之後,就有以下指令可以使用

brew search 搜尋套件
brew info 查詢套件資訊
brew list 已經裝了哪些套件
brew update 更新 homebrew 自己
brew install 安裝套件

例如,我馬上就安裝了 wgetgit 這兩個是我最基本要用的工具,一下就搞定了,cool!

brew install wget
brew install git

參考資料

homebrew — Mac OS X 下新的软件包管理工具
Homebrew: OS X’s Missing Package Manager

Designing Beautiful Ruby APIs 投影片

Update: 整理了演講摘要
Update: 被 The Ruby Show #126 介紹了,Audio 在第 8:55~9:32 秒,Video 在第 8:00~8:35 秒。

Updated: RubyConf China 的錄影

這是我在 RubyConf Taiwan 2010 所做的演講:

因為時間不夠的關係,整個 Part2: Ruby Object Model and Meta-programming 其實在現場並沒有講到。會有 Part2 也真是意外,本來並沒有想要準備這些內容,可是因為隨著 Designing Beautiful Ruby APIs 越來越進階,有一些設計方式我發覺如果沒有 Part2 的基礎,就進展不下去,沒辦法解釋。所以我竟然花了一半的時間在準備上台不會有時間講到的 slides… XDXD