Uses this
2013-02-06 21:45
想必很多人知道usesthis.com这个网站, 不同职业的人在这个网站介绍自己所使用的工具, 包括他/她常用的电子设备以及电脑里常用的软件等等. 我刚开始用Mac时从这儿取得了很多灵感. 这个网站似乎没有中文版, 也没见过类似的国内克隆, 于是我就在这儿写写我常用的东西, 以奏抛砖引玉之效.
iPod Nano 4
我很庆幸能够在iPod Nano 5上市前购买了这款经典的iPod Nano 4. 在这款iPod之后, iPod Nano 5添加了毫无必要且惹人生厌的摄像头功能. 而iPod Nano 5的后续作品的设计思路一直很混乱. 我在这一年来一直希望能够用一个设备来升级这个小的Nano, 但是一直没遇到让我心动的设备.
iPhone 4
手上这台iPhone 4是iPhone 4s发布时顺带发布的低价8G版. 常用的app包括导航类的百度地铁和广州地铁; 游戏是sodoku2; 阅读类的包括虎扑的app, iBooks, 商业阅读, QQ阅读和Kindle; 用苹果自带的相机来摄影, 用Snapseed来修图; 其他常用的工具还有剑桥高阶字典, LastPass和微信. 所有这些app都放在一个屏幕下, 所以显然我的手机的空间是够用的. 事实上, 为了不那么’浪费’这些空间我还放了3G左右的音乐到手机里. 即使按照每首30M的大小来说, 能放下的歌曲也有一百首了, 足够满足我正常的听歌需求.
手机早已是我们生活的一部分, 于我而言, 手机已是精神领域的一部分延伸. 就像有了搜索引擎后, 你会更注重选择需要记住的东西一样. 如果说类似Google这样的搜索引擎能够把你需要的东西带到你眼前, 那么手机(加上3G/4G网络)就真的把这些你需要的东西带到了你身边.
MacBook Pro
如果说iPhone是每天要打交道的设备, 那么正在用来写博客的这台MBP是每天使用时间最长的设备了. 我主要的工作和娱乐都在这台电脑上进行.
先说硬件吧, 这台是2012年中高配的13寸MBP, 2.9GHz i7的CPU, 8G 1600MHz的内存, Intel HD4000的显卡, 750G的硬盘. 原本想拆下光驱换上一块256G左右的SSD硬盘, 不过由于拖延症作祟, 直到现在我都还没去实施这个工程, 也正好等SSD进一步降价了. 之前我把买这台笔记本的缘由写到了一篇博客里, 这儿给出链接, 方便你去跟踪.
先说比较大众化的东西吧. 我用BusiCal来管理自己的日程(仅简单替换系统自带的iCal, 没重度使用), 用Cappuccino来收取RSS, 用Dropbox和自带的iCloud来进行云备份, 用iPhoto来管理自己的照片库, 用iTunes来听歌和管理自己的多媒体文件, 用Parallels Desktop来运行Windows虚拟机以应付一些比较2的需求, 用uTorrent来下BT, 用Mail.app来收发邮件. 这儿所列出的, 除了BusiCal外基本都算是正常人都会接触到的软件.
接下来说工作中的需求们, 我使用iTerm 2来控制自己的电脑. 这个app全面超越了系统自带的终端, 可以推荐给每个Mac下严肃的程序员使用. 我对这个app进行了相应的配置, 不过都不算太深入. 值得一提的是沈工曾在Linux下向我推荐用Alt+Q
/Alt+W
来进行Konsole中左右标签页的切换, 在iTerm 2中由于快捷键冲突我换到了Alt-A
/Alt-S
. 另外, 我所做过的iTerm的最深入的一个配置是实现标签页重命名的AppleScript. 我在Konsole下曾有一个脚本来通过dbus编程来切换当前标签页的编码, 可惜在iTerm 2中暂时无法实现这个功能, 作者目前能承诺在iTerm 3中提供实现这个需求的API, 不过谁也说不清那需要多久了.
我对我的bash环境进行了很多配置. 其中比较重要的有下面这几点:
- 创建了一个
~/.xiaket
目录. 这个目录下有etc
/bin
/usr
/var
等这些Linuxer们耳熟能详的目录们. 我在~
下的大部分配置文件都是通过软链接从~/.xiaket
链接到~
的. 另外, 我的配置文件目录们又是放在mercurial管理下的, 而mercurial的目录又是放到了Dropbox里. - 我自定义了
dir_colors
, 对于我常写的脚本们根据后缀名进行了自定义. 我写了很多的bash_alias
来简化我的命令输入. 另外我还根据自己的要求写了很多脚本命令来方便自己, 如果有需要就立即加到~/.xiaket/bin
下面去, 当然, 这个目录是在我的$PATH
下了. - 我在
~/.xiaket
下有个python目录, 里面放常见的python库和一些自己的python脚本. 我通过修改PYTHONPATH
把这个目录添加到了python的搜索路径. - 我很依赖
Makefile
来进行一些常见的维护工作. 我没有使用Makefile
所带的依赖关系, 只是把Makefile
当作一个加强版的alias来使用. 这样就相当于在各个需要alias的地方有一份本地的alias. 我能够简单地通过make
或make <target>
来执行需要的命令.
下面是刚才那段阐述的代码说明, 首先是我在~
下的软链接们:
[xiaket@rondo:~]ls -al | grep "^l"
lrwxr-xr-x 1 xiaket staff 19 Jul 3 2012 .Apache -> .xiaket/share/sites
lrwxr-xr-x 1 xiaket staff 36 Dec 25 10:52 .Blog -> .xiaket/share/Dropbox/mercurial/blog
lrwxr-xr-x 1 xiaket staff 31 Dec 25 10:59 .Hg -> .xiaket/share/Dropbox/mercurial
lrwxr-xr-x 1 xiaket staff 24 Jun 18 2012 .List -> .xiaket/share/serverlist
lrwxr-xr-x 1 xiaket staff 19 Jun 19 2012 .Repos -> .xiaket/share/repos
lrwxr-xr-x 1 xiaket staff 18 Jun 18 2012 .bashrc -> .xiaket/etc/bashrc
lrwxr-xr-x 1 xiaket staff 16 Jun 18 2012 .hgrc -> .xiaket/etc/hgrc
lrwxr-xr-x 1 xiaket staff 34 Jul 30 2012 .pylintrc -> /Users/xiaket/.xiaket/etc/pylintrc
lrwxr-xr-x 1 xiaket staff 17 Jun 18 2012 .ssh -> .xiaket/share/ssh
lrwxr-xr-x 1 xiaket staff 28 Dec 29 14:30 .supervisord.conf -> .xiaket/etc/supervisord.conf
lrwxr-xr-x 1 xiaket staff 31 Dec 25 11:31 .vim -> /Users/xiaket/.xiaket/share/vim
lrwxr-xr-x 1 xiaket staff 17 Jun 18 2012 .vimrc -> .xiaket/etc/vimrc
lrwxr-xr-x 1 xiaket staff 25 Sep 3 17:42 django -> .xiaket/python/django_140
我自定义的DIR_COLORS
# excerpt from dir_colors file
# fav scripts are highlighted:
.py 00;35
.pyc 01;30
.sh 00;33
.htm 00;35
.html 00;35
.xml 00;35
.tex 00;35
.doc 00;32
.ppt 00;32
.xls 00;32
.css 00;31
.js 00;36
我的几个bash_alias
alias reweb='clear && sudo /usr/sbin/httpd -k restart && date'
alias randport='python -c "import random; print random.randint(1025, 65535)"'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias clera='clear'
alias mkae='make'
alias ls='myls'
一个脚本的例子, 为了不让我在~下执行ls时看到太多不相干的东西, 我写了这段简单的逻辑:
[xiaket@rondo:~/.xiaket/bin]cat myls
#!/bin/sh
# Hide certain directories in my home.
cwd=`pwd`
if [ "$cwd" = "/Users/xiaket" ]
then
gls $LS_OPTIONS -h --hide="Applications*" --hide="Books" --hide="Desktop" --hide="Library" --hide="Music" --hide="Movies" --hide="Pictures" --hide="Public" --hide="Documents" $*
else
gls $LS_OPTIONS -h $*
fi
最后是一个用来管理Django项目的Makefile:
# Makefile for easy project management.
# @ was used to suppress repeating of raw command.
redb:
@rm Hudson.sqlite3
@python manage.py syncdb --noinput && python manage.py importdata data.json
shell:
@python manage.py shell
clean:
@touch empty.pyc && find . -type f -name "*.pyc" -print | xargs rm
接下来说多媒体文件. 我的图片文件更新大都来自自己用iPhone和RX100的拍摄, 我用iPhoto来收集和管理这些图片, 用Adobe Lightroom 4.2来对图片进行修饰. 由于LightRoom太过昂贵, 于是我必须很羞愧地承认这儿的LightRoom使用了盗版. 由于RX100还能拍摄视频, 所以我还使用MTS Converter来处理视频文件, 另外ffmpeg显然也是不可缺少的一个强大工具.
前面说了, 我用iTunes来管理我的音频文件们. 我一般通过utorrent等方式来在网上下载(显然是盗版)无损音乐. 然后用XLD来实现由wav/flac/ape等格式到苹果的无损格式的转变, 用Tagger这个app来批量改变文件的tag. 如果下载到的文件里没有专辑封面而XLD由没能自动抓到, 我通过Google搜索来找合适的封面图片, 这使得我的媒体库里绝大部分文件都是有专辑封面的. 如果你和我一样有收集整理癖, 那么你会和我一样, 在打开iTunes有种满足感.
我个人比较热衷于收集有声书, 网上能下载到的(盗版)有声书往往是mp3格式的, 被分割成了多个小文件. 我用mp3wrap这个Linux命令来把它合并成少数几个mp3文件, 再用ffmpeg或iTunes将其转换成m4b文件, 熟悉有声书的同学应该不需要我详细介绍这个文件是啥了.
用iTunes来管理音乐有个潜在的好处在于它具有的智能列表的功能. 这还多亏@aaronike向我推荐这个功能. 现在我习惯对喜欢的歌曲进行评分, 并根据评分来创建这种列表, 让我实现类似”我最喜欢的Ludovico Einaudi的那几首歌”, “我平常很少听的那些不是最喜欢但听上去还不错的歌”的功能.
最后说下小工具们:
- 我用ControlPlane来控制自己电脑的Context. 例如, 当我早上上班时, 电脑接入了有线网, 使用了某个固定的IP地址, 并使用了一些的USB设备. ControlPlane会根据这些线索来判定我所处的环境是什么, 并可以在切换环境时自动执行一些操作. 例如, 当我到公司后自动打开Cappuccino来刷新RSS, 让我在吃早饭时能够阅读一些新闻.
- 我用Language Switcher来切换某些应用程序的界面语言. 例如我在Windows下用惯了英文版的iTunes, 换到中文界面很不舒服. 这个app能够修改系统的配置文件, 强制让你的应用程序用你制定的语言来运行.
- 前面已经说过一些很重的图片处理工具, 而Seashore这个轻量级的app能够实现平常遇到的小功能, 例如把剪贴板里的图片存到硬盘, 又比如改变图片大小等等. *我们经常会需要将两个程序在屏幕上并排摆放, 以相互参考. 典型的场景是你要翻译一个pdf文件中的内容, 这个时候你会另外打开一个编辑器例如vim或者iAWriter或者Windows Word, 而平常程序都是在全屏幕状态下运行, 所以每次应付这种需求时都需要手工调整应用程序的窗口大小. Optimal Layout这个app就是用来比较自动地干这个事情的, 介绍完毕. *我觉得不会打断人的GTD工具才是好的GTD工具. 用过这么多GTD的工具, TaskPaper算是一个还在用的. 其余两个虽也是GTD工具但和TaskPaper完全没交叠的app是Time Sink和TomaTodo. 前者用来自动统计你在各个程序上花的时间, 后者用来实践番茄工作法.
Sony RX100
这台相机是我去年年底的采购. 一方面是为了年后去柬埔寨时能够留点好看的影像, 另一方面也是因为身边缺少一个这样的设备来严肃地记录所见所闻. 毕竟, 在这个图片为王的时代, 谨守着文字传统实在是有些螳臂当车. A picture paints a thousand words, so use a camera to save your word.
挺喜欢这台机器的, 真的可以放在裤袋里而看不出来, 需要时能够拿出来拍照而且又足够强大.