All posts by Igotit

使用Uncrustify在Xcode中格式化Objective-C代码

http://ifcus.org/programs/ Xcode是开发iOS应用和Mac OS应用的必备工具,但这个工具的辅助功能相对于Eclipse之类的IDE来说,还是比较少,在Eclipse里只要按Ctrl+Shift+F,就可以将Java代码格式化得非常好看。而在Xcode里,只有Re-Indent(Ctrl+I)这一个调整缩进的功能,显然不够用。

buy provigil in canada 如果想要完成完备的代码格式化,得要借助Uncrustify这样的工具。更进一步,我们用Automate配置一个针对Text的Service,再加上快捷键,就可以在Xcode里间接实现和Eclipse同样效果的代码格式化功能了。

首先安装Uncrustify工具。安装的方法很多,推荐用Homebrew来安装。如果机器上没有Homebrew,先用这条命令安装:

/usr/bin/ruby -e "$(curl -fksSL http://u.aodaren.com/homebrew)"

安装好Homebrew后,用这条命令安装Uncrustify:

brew install uncrustify

详细的Automate配置步骤可以参考这篇文章,如果不想自己配置,也可以直接下载已经配置好的workflow包,复制到~/Library/Services/,并解压就可以了:

mv Uncrustify-Objective-C.workflow.tar.gz ~/Library/Services/
cd ~/Library/Services/
tar zxvf Uncrustify-Objective-C.workflow.tar.gz

下载针对Objective-C语言的Uncrustify配置文件,移动到 ~/ 目录,并更名为 .uncrustify_obj_c.cfg,注意目标文件名前面有个 .:

mv uncrustify_obj_c.txt ~/.uncrustify_obj_c.cfg

如果上面已经顺利完成,那么现在到Xcode里选中一段代码,点右键,在Services里面应该已经有一个Uncrustify Objective-C服务了。选择后,即可将代码格式化。当然,如果每次都点鼠标显然太麻烦,下面来配置快捷键。

点屏幕左上角的苹果图标,选 System Preferences – Keyboard – Keyboard Shortcuts – Services,在Text分区里,找到刚添加的服务Uncrustify Objective-C,给这个服务加上快捷键。注意不要和Xcode里其它快捷键冲突,推荐设置为:Opt+Cmd+字母O。

这样以后在Xcode里,先用Cmd+A全选代码,再用Opt+Cmd+O来格式化代码。整个效果和Eclipse基本上差不多。

最后,如果对格式有不同的需求,还可以修改cfg文件里的设置,每个选项都有详细的说明,这里就不再赘述了。

Dropbox大动作:增加23GB的免费空间

最近Dropbox又有了新的大动作,因为HTC与Dropbox合作云存储,如果使用HTC的Android手机安装并登录Dropbox,可以免费获得23GB的额外空间,有效期24个月。这可以说是到目前为止,可以获得的最大的一次免费扩容了。

但为了这些空间去专门买个HTC的手机,似乎有点小题大作。不用担心,hacker自然有hacker的办法。这不,来自XDA论坛的修改版Android Dropbox安装程序来了。安装这个修改版,可以把你的Android手机虚拟成HTC品牌,这样就可以绕过限制,从Dropbox那里获得额外空间了。

经过实际测试,我的Moto Milestone,系统版本2.2.1,成功获得23GB的扩容!

操作过程大概是先从手机上删除原来安装的官方程序,如果没装过就可以省掉这一步了。然后下载安装修改版程序,登录自己的Dropbox账号。这样,过不了多久就可以在应用里查看到容量已经增大,成功后Dropbox也会发一封通知邮件到注册时的邮箱。

如果操作完后没有效果,可以先等等看,10分钟后容量还是没有增加的话,可以把程序删除了,再重新安装,重新登录试试。

修改版程序下载链接:http://dl.dropbox.com/u/15143971/Dropbox-23GB.apk

2011年看的所有电影

要不是表弟告诉我最新的影讯,都差点忘了要写这篇博客。每年初都回顾一下去年看过的电影,是一个保持了5年的习惯,今年也不例外。

如今的电影市场越来越繁荣,同学聚会时,大家的话题也总是会集中到最新的大片小片科幻片爱情片。但我却那些“大制造”越来越不敢兴趣,宁可多少年后,盖棺论定了,或者争议不断了,再去一探究竟。

所以这份清单里,除了《让子弹飞》,几乎没有一部新档上市的,但老实讲,我相信《大红灯笼高高挂》一定比谋子那什么新片要精彩多了。

2011年看的最后一部电影《Middle Men》倒是还有点意思,据说是基于真实故事改编的,讲的是最早用互联网做色情生意的几个家伙的故事。当然了,其实是纯粹的商业片,不用太较真情节好坏。想说的是,想想互联网的早期真的是非常精彩,各种机会遍地都是,不过如果你我在94年就接触到互联网,会想到去网上开店卖书吗,或者做一个二手货交易网站,或者做一个色情网站,或者还是做所有这些网站的支付平台,当一个Middle Man呢?

  1. 让子弹飞
  2. 霍元甲
  3. 2012
  4. 倔强的萝卜
  5. Atonement
  6. Ocean’s 13
  7. 大红灯笼高高挂
  8. Tarzan
  9. 线人
  10. 兄弟
  11. 最后判决
  12. Please Vote For Me
  13. Meet the Parents
  14. 逃学威龙
  15. The Object Of My Affection
  16. Middle Men

让Dropbox更加“自动地”即时下载更新

此前写过一篇博文《如何解决Dropbox不能即时下载更新的问题》,里面提到用批处理脚本restart_dropbox.bat来重启Dropbox,然后Dropbox就会开始同步了。之前LeonharT在博客的评论中问道:“如何加上参数,每一小时,重启一次?”

这个提问让我觉得的确可以用一些方法让脚本自动执行,这样Dropbox基本上就能“自动地”保持数据同步了。

最简单的方法是在“控制面板” – “任务计划”里,创建一个新任务,将触发器设置为每1小时重复执行一次,任务的操作选为执行restart_dropbox.bat文件。这样每隔1小时系统就会自动将Dropbox重启一次,确保同步数据了。具体隔多久重启,可以根据需要来设置,比如30分钟或者15分钟。

当然,其实也可以对此前博文中的脚本来进行改进,让脚本自己就能按一定的时间来重复执行里面的命令,但只是这样会一直留下个DOS窗口,大家如果觉得无所谓,也可以用:

@echo off
set interval=3600
path "%appdata%\Dropbox\bin";%path%
:start
taskkill /f /im Dropbox.exe >NUL
start Dropbox.exe
echo Restart dropbox at %date% %time%
choice /t %interval% /d y /n >NUL
goto start

注意第2行的3600,表示重复间隔是3600秒,也就是一小时,大家可以根据自己的需要来做调整。另外,第8行用到了choice命令,如果是Windows XP,可能系统里没有choice命令,可以去别的机器上复制一份过来放到C:\Windows\System32目录。或者用ping命令来替代choice命令,只是ping命令可能在计时上不太精确:

ping 127.1 -n %interval% >NUL

现在Dropbox可以更加“自动地”来确保数据同步了,大家还不装上用用啊。如果还没有Dropbox的账号,可以用这个链接来注册,这样我们都可以获得额外的250M的免费空间哦:http://db.tt/HPvz8NP

Update @20120616:
如果是在Mac OS X上,可以用cron来按时间间隔自动运行脚本。脚本会相对简单一点:

killall Dropbox
open /Applications/Dropbox.app
exit &

保存为restart_dropbox.sh,放在用户目录下面,然后

chmod +x restart_dropbox.sh
crontab -e

添加上

#min    hour    mday    month   wday    command
*/60    *   *   *   *   sh ~/restart_dropbox.sh

这里的时间间隔配置可以依照cron的文档自行修改,我就不赘述了。