damien.h

My Setup

This is a fake interview article in the format of The Setup. It’s enjoyable to figure out the most important stuff I use everyday in the process of this writing.

Who are you and what do you do?

I’m a code monkey working at Slide. At work, I build awesome social games using Python, Javascript, and Flash AS3. At home, I build iPhone apps with Objective C, and hobby apps on Google App Engine.

What hardware are you using?

At work I use a 15″ MacBook Pro (2nd gen unibody). I connect my Mac to one external Dell 2209WA monitor rotated at 90˚ at all time, with my terminal screen taking it at full screen. I use the Griffin Elevator to hold my MacBook Pro, with the Apple Bluetooth Keyboard and the Magic Mouse taking control. I have another 15″ MacBook Pro (1st gen unibody) for home use and a desktop computer running Ubuntu/Windows XP. On the desktop, I use Windows for gaming only and Ubuntu for everything else. But I’m spending very little time on the desktop for a while.

I use an iPhone 3GS for mobile computing. And I have the iPad on my wishlist.

And what software?

For programming I use vim. It’s super neat you can have the same developing environment as long as you work on a *nix system. My essential vim plugins are FuzzyFinder, TagList and NerdTree. My latest favorites are SnipMate and Neocomplcache. In a GUI environment I use the desert theme.

I used to use TextMate as my main editor but have converted since a while ago. TextMate is still top notch and I really like it. But there’s no denying it’s about to become the Duke Nukem in the text editor world.

I’m a heavy user of git, professionally as well as personally. It’s an awesome piece of software in itself and keep amazing me from time to time. I use GitHub for my personal stuff. It’s so great that I recently began to buy its paid service.

I’m a paying user of DropBox. I keep all my important data on DropBox and sync it over both my work and home computers running different systems, as well as my iPhone. It’s another piece of amazing software that I recommend to every friend.

I can’t part myself with QuickSilver. I do everything, I start it with QuickSilver. I find the web search plugin especially useful and I define a number of custom search command in the form of safari bookmarks. I use the SilverFlow plugin for QuickSilver. But a couple weeks ago I upgraded to Snow Leopard and it was a pain to get QuickSilver to work in the new system. So I’m trying to use Google Quick Search Box as an alternative for now. So far it’s almost as good except for customization and performance. Hopefully I can find a way to get QuickSilver work exactly the same way as in Leopard, or QSB gets really good soon.

I use Visor for a slick, Quake-like slide-in terminal. I use Megazoomer to zoom anything in full screen. I use Things both on Mac and iPhone to track all my tasks. It’s the best task management tool I’ve used. And I use Evernote to sync all my notes between Mac and iPhone. I have Thunderbird for Emails with the Nostalgy add-on for a mouse-less experience. I use PathFinder as an alternative to Finder. It’s just so much more powerful than the simplistic Finder.

My main browser is Webkit nightly. I use Firefox mostly for development using Firebug because it’s become a real beast for a browser. I also use Chrome for browsing. The Web Inspector tool shipped with Chrome dev is just not as good as that with Webkit nightly. But I love the Vimium plugin for Chrome.

What would be your dream setup?

I wish to have a 30″ monitor for development one day. The sheer screen real estate can simply change the way of working. I wish to have enough RAM to run everything I need at the same time without struggling with swapping. Infinitely fast processing power and network. And I wish *everything* could be wireless so I can get rid of any desktop clutter in my sight.

伟大产品的哲学

一直在思考这个问题,如何定义伟大的产品,怎么样才能做出伟大的产品。这个星期某天又折腾了一把Quicksilver,注意到了About窗内的老子语录,真有茅塞顿开的感觉。这不就是最好的对伟大产品哲学的概括吗?!难怪Quicksilver能达到这种境界。

为无为 事无事 味无味 大小多少 报怨以德 圆难于其易 为大于其细 天下难事 必作于 天下大事 必作于

  1. 难/易,是对”Getting Real“哲学的概括
  2. 大/细,是对Mac(包括iPhone)哲学”polish the hell out of it“的概括

我想,要做伟大的软件产品,参照这两条足矣。要是几千年前有电脑,老子就一定是古代的Steve Jobs了。遂发至Twitter与友共勉。

我最常用的XCode快捷键

和Xcode打了几个月的交道,总结一下我最常用也是最喜欢的几个快捷键。总的来说Xcode快捷键并不是非常丰富灵活,但熟悉了下面为数不多的几个快捷键以后工作效率马上可以提高不少。

  • Command-Option-Up: 切换.h和.m
  • Command-Shift-D: 快速打开文件
  • Control-2: 快速浏览当前文件成员
  • Alt-Command-Left/Right: 前一个/后一个编辑位置
  • Command-Shift-E: 最大化文件编辑区域
  • Control-/: 切换到下一个占位符(自动完成的时候)
  • Control-.: 下一个自动完成提示
  • Command-E: 使用当前选中内容查找
  • Command-G: 在当前文件中查找下一个
  • Command-Shift-F: 在项目中查找
  • Command-Alt-Shift-T: 在Groups&Files里定位到当前编辑的文件
  • Command+双击:浏览源文件
  • Alt+双击:查找帮助

外加一句,深感XCode一定要用All-In-One单窗口的Layout才好用。

    我的Mac OS X开发环境设置

    我是一个Mac新手,算到现在只用了大概4个月的OS X。但是作为长期Linux用户,Mac的上手还是非常顺利的。作为一个开发者,我拿到心爱的Macbook Pro第一件事当然就是开始摸索让自己coding更舒服的环境了。折腾到现在算是小有成就,于是总结分享一下我在OS X下的开发环境设置。(商业软件用*标明)

    1. QuickSilver

    Linux下我用Gnome Do或者Launchy for Linux,Windows下我用Launchy,而QuickSilver才是大名鼎鼎的鼻祖。必备!

    2. Terminal.app

    Terminal是开发者最好的朋友。OS X的初始配置是非常弱化命令行功能的,所以需要根据自己的需要好好折腾一下。
    首先,默认settings我用的是pro,半透明黑色背景到哪里都是我的最爱。
    bash设置也需要按照我在Linux下的习惯调整一下。但是OS X和Linux不一样,默认不读取home下的.bashrc而是.profile。不想把.bashrc内容写到.profile里的话,就在.profile开头加上下面的脚本。

    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
    

    然后把我Linux下的bash配置里适用的部分搬过来,保存为~/.bashrc。

    export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    alias ll='ls -l'
    alias la='ls -a'
    

    3. Visor

    Terminal的配置还没完,Visor是个必备物品。同为QuickSilver的制作公司出品,Visor是一个实现类似fps游戏屏幕顶部下拉命令行的Terminal插件。玩过Quake3的同学都明白这样的下拉式terminal有多爽多酷吧!我的Visor快捷键设成^F12,按下快捷键屏幕顶部的terminal呼之即来招之即去,非常过瘾。Linux下虽然也有Guake和Tilda,但是都比较buggy,还是Visor用得最爽。

    4. *TextMate

    TextMate是Mac下必备级别的开发利器。轻便的尺寸强大的功能,还有大量的Bundle资源,做绝大多数种类的开发都有很好的支持。我目前的TextMate配置是这样的。

    ProjectPlus插件

    TM必备,把一些经典IDE的功能带到了TM:用sidebar替换了TM的drawer,支持包括SVN和GIT的多种SCM集成,能直接把项目文件的SCM状态图标显示在文件图标上,支持color labels等等。装了ProjectPlus的TM在project中工作感觉会大不一样。

    GetBundles

    GetBundles和古老的GetBundle是两回事。GetBundles不光能从官方repository获取bundle,还能从github上拿到最新的bundle。用GetBundles安装bundle也异常方便,只需要指指点点就行了。真希望GetBundles能直接集成到TM2.0里。
    安装GetBundles需要用一下SVN,以后就一劳永逸了!

    cd ~/Library/Application\ Support/TextMate/Bundles
    svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/
    

    然后到TM中Bundles>Bundle Editor>Reload Bundles,GetBundles Bundle就装好了。接下来就可以从菜单中选择Bundles>GetBundles>Get Bundles来查看所有可以安装的bundle了。
    另外,TM对中文和其他双字节字符显示支持有问题,可以用这款TM专用字体来解决。

    附加一个问题的解决方案。如果用了被黑名单了的d版序列号,TM打开了就会强制退出而没法重新输入序列号。这时候可以找到并打开 ~/Library/Preferences/com.macromates.textmate.plist文件,找到“OakSoftwareRegistrationOwner”和“OakSoftwareRegistrationSerialNumber”两项并把值清空就能清除序列号重新进入TM了。

    5. *Path Finder

    Path Finder是款强大的用来替换Finder的文件管理器。可以新建文件(这个很重要,不是吗?),分tab浏览,更好的路径导航,并排窗口浏览,自定义功能的抽屉等等,强大的不得了。必备级别,用了才知道原来用Finder是多么痛苦!

    6. Fink

    装了Fink,就能用熟悉的sudo apt-get了。

    7. 其他

    系统状态监控:iStat Menus和iStat Pro
    风扇调速:smcFanControl
    还有MacVim
    另外,用惯了Ubuntu下的Compiz Fusion,感觉OS X的Spaces还是弱了点,不过总比没有好。窗口太多的时候分门别类到不同的space下去就清爽多了。

    基本上必须的部分就是这么多了。欢迎补充!

    Google Quick Search Bar

    作为Google Mac Team的一员,Mac必备工具QuickSilver的作者Nicholas Jitkoff发布了Google Quick Search Bar for Mac!话说QuickSilver很久没什么动静了,原来Nicholas忙这个呢。
    马上在我的mbp上装上开始用了,毕竟是同一个作者,QSB深得QS的精髓,但又不和QS功能上重叠太多。值得一提的是集成Spotlight的功能,这点用起来很爽,只是目前的早期版本打开Spotlight集成以后性能就下降了,用了半天碰到几次CPU占满的情况。另外方面,和Google服务的集成(Search, GCal, GMail),输入计算表达式直接给出结果等功能也非常使用,也是QS欠缺的,这些功能倒是让我想起Win/Linux上的Launchy了。
    虽然目前的版本还支持早期原型,但是绝对值得Mac上的敲键盘爱好者们期待!现在其我就QS和QSB双管齐下了。对了,还有FF下的Ubiquity等着我呢。

    Quick Search Bar

    Quick Search Bar

    Browse Happy logo

    My tweets

    2016年六月
    « 八    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  

    分类目录

    Articles

    Fancy Stats