如何在OS X上禁止照片应用自动打开

当把iPhone连接到Mac时,会自动启动Photos.app,这个特性非常讨厌(你懂得…),而且没有设置选项来统一关闭。不过还是可以通过终端来设置,具体方法如下:

  1. 打开终端
  2. 输入defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES

如果想还原设置,打开终端再次输入:

输入defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool NO

OS X上的Vim

Vim是一种非常有用的工具,习得之后会极大的提升你敲键盘的速度。当然,编辑器之神也不是浪得虚名,Vim本身是非常强大的,这里就不一一举例了。自行搜索《Vim 用户手册中文版》学习。

在OS X上,有多种Vim可以选择

VimR是一个新项目,口号是“Refined Vim Experience for OS X”,其它都是比较老牌的项目。

除了Vim编辑器外,许多IDE或编辑器都支持Vim的键盘绑定,这样你可以在喜欢的开发工具上使用Vim来提高你的开发效率。

作为一个Xocde使用者来说,XVim是个非常好用的插件。

通过邮件快速添加OmniFocus任务

收集做为GTD最初的环节非常重要,能够随时随地的记录信息就非常关键,对于我来说事情并不是那么的多,所以我没买iPhone版本。但好在OmniFocus for Mac提供了一个方法能通过邮件来创建任务,钩选后会向Mail添加邮件规则,来自动将符合邮件规则的邮件中的内容创建为任务。

屏幕快照 2013-10-12 下午10.34.56

这个方法一直能解决我的问题,因为通过iPhone来发送邮件非常方便。但升级到10.9GM后不怎么好使了,应该是Mail的接口有变,说真的这个GM版本的邮件Bug挺多的。

如果你使用Omni Sync功能的话,现在的有一个更简单的方法来创建任务了,依然是通过发送邮件来添加,但是在云端创建的,然后同步到我的设备上。

http://www.omnigroup.com/support/omnifocus-mail-drop

这个功能应该是前一段时间Omni Sync升级服务后添加的,现在是Public Test状态。

自动导出OmniFocus中的项目并发送到指定邮箱

今年的一个目标是提高个人执行力及效率,好在之前对GTD系统有一些了解,所以目标就是按GTD系统执行。作为执行的一部分,我购买了OmniFocus for Mac,这是我至今为止买的最贵的软件,值不值我还不知道,但这项投资还是有必要的。

在适应过程中,我开始管理工作上的项目,但我碰到了数据同步的问题,因为我会把我所有想的事情放到OmniFocus中,所以我不会在公司的Mac上同步这些数据。但减少收件箱是原则之一,所以我考虑将工作这部分的任务导出。好在OmniFocus是非常牛B的软件,可以输出多种格式,于是我考虑在晚上对第二天的工作进行Review,然后导出成HTML,发送到我公司的邮箱。这是一项非常无趣的重复劳动,但终于可以有机会让我来通过AppleScript干点事了,OmniFocus是个牛B的软件。

首先需要建立一个“透视”,这是OmniFocus中的一个概念。这个“透视”用于显示你想要导出的Next Actions。

然后,启动Automator,选择日历提醒模板,按顺序放置下列“操作”:

  1. 运行AppleScript
  2. 获得指定 Finder项目
  3. 新建邮件信息
  4. 发送待发邮件
  5. 获得指定 Finder项目
  6. 将Finder项目移到废纸篓

点击“运行”按扭,确认流程无问题后保存时会自动添加成日历项,然后根据你的需要设置重复频率。

AppleScript语法上还好,但整个体系我感觉还是有点复杂的,需要了解一些Mac上应用的概念,经过2天的折腾,终于在OmniFocus的论坛中找到了符合我要求的AppleScript

Save OmniFocus as HTML.scpt

直接将上面文件中的内容复制到上面的Automator流程中的第一项中,最开始2行是需要修改的

property exportPath : “Users:yourtusername:Desktop:”

这是导出的目录,必须存在,否则脚本执行会不成功。

property exportPerspectives : {“透视名称”}

这是要导出透视的名称,透视的名称将做为导出的文件名。

OmniFocus导出Demo.workflow 上面的流程文件。

 

代号”Unicorn”

新的MacBook Air也用了快3周了,由于在这不久前重新整理过数据,就没有使用迁移助理。这样就没有从10.5 -> 10.6 -> 10.7 -> 10.8这样一步一步升级上来的历史文件,三年多来,尽然经历了4个Mac OS X版本。另外,计划不使用盗版软件,算是自律吧。

Safari 6用起来非常舒服,其实现在大多数时间都可以不装Flash,通过更换代理伪装成iPad可以看大部分视频网站,还没广告,呵呵。如果需要安装Flash,那可以安装一个ClickToFlash的扩展,这样就不会默认加载Flash元素了。

Firefox 也是必装,现在扩展只安装了AutoProxy、FireFTP和HttpFox。Chrome还是算了吧,用过几次后发现在资源占用有点问题。

生产力软件

Xcode就不必多说了。

Sublime Text 2这个编辑器太棒了,Awesome ! 基本算是免费软件,因为在使用过程中会提示你付费,但不限制你使用。如果使用频率更多的话,我会考虑付费。

Office软件方面我使用的是NeoOffice,这是基于OpenOffice为Mac优化的版本,使用了一些Mac原生的技术,不过这并不是一款免费软件,我花了$10。如果找人一起买Office for Mac的3人授权其实也比较便宜(亚马逊上850),至少与iWork相比的话。

XMind是非常赞的思维脑图软件,依然有免费版,而且还是出自国人。

大多数日常需要使用的软件都可以在Mac App Store找到,上面提到的一些软件也都加入了Mac Developer Program,不修改默认的安全策略也可以直接安装。

最重要的是现在网上银行也都开始支持Mac平台了,让许多人又放弃了装Win的理由。

Mac上的OneNote解决方案

不得不说OneNote是一款非常好的软件,可惜Office for Mac没有这款软件。虽然EverNote有Mac版,但界面确实让我感觉很难用。

MS确实是云服务上下了点功夫,在SkyDrive服务中提供了在线版的OneNote,而且还有Word、Excel、PowerPoint。Metro风格的界面确实比较简洁,这让整个界面看起来比较干净。整个服务都是免费的,没有广告,功能虽然没有原生的多,但已经够用了。SkyDrive有Mac的客户端,也能支持同步,就跟DropBox一样,OneNote文档在Mac同步目录中是一个链接,双击后就在浏览器中打开了该文档,还是挺方便的。另外OneNote有iOS版本,虽然功能比较弱,但还是可以用,SkyDrive for iOS就有点挫了,没看到有什么功能。

从最近的使用来看,2个层级已经可以很好的帮助你管理内容了。太灵活的东西往往不容易形成模式,没有模式的话易用性会很差。

Objective-C运行时的类操作例子

Objective-C是一种动态特性非常强大的语言,但在日常使用过程中可能不会太接触到一些底层的使用方式,最近发现了一个项目很好的展现了这类特性。

怎样扩展UITabBarController大概是每个iOS开发者都会碰到的问题,我在实践中尝试用一些方法来解决这类问题,在没有完美解决这个问题后,我开始寻找一些其它的实现方案。最近在github上找到了名为JBTabBarController项目,在看过源码之后,我觉得这个项目的实现非常巧妙,很好的利用了Objective-C的动态特性,而这类动态特性封装由另外一个项目JRSwizzle来提供。这个项目非常有意思,其实现原理可先看看这篇文章深入浅出Cocoa之Method Swizzling

重点在https://github.com/jinthagerman/JBTabBarController/blob/master/JBTabBarController/UINavigationController%2BJBAdditions.m中

+ (void)initialize {
    if (self == [UINavigationController class]) {
        [UINavigationController jr_swizzleMethod:@selector(pushViewController:animated:)
                                      withMethod:@selector(jb_pushViewController:animated:)
                                           error:nil];
    }
}
– (void)jb_pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
    viewController.JBTabBarController = self.JBTabBarController;
    [self jb_pushViewController:viewController animated:animated];
}

在运行时非常优雅的修改了pushViewController:animated:消息的实现,这种思路让我为之一亮。

另外,这位高人写的 深入浅出Cocoa系列 文章非常之不错,强烈建议学习。

GTD vs 备忘录、待办事项、日历

人总是有惰性的,如果不管理好时间,那什么事都做不成。我有时会有一种非常奇怪的感觉,不知道该做什么,但又不想做什么,然后开始寻找消磨时间的方法。至少昨天刚进入了这种状态…

怎么把时间有效的管理起来这是个问题,幸运的是我肯定不是第一个碰到这种问题的人,你也不是。这方面已经有许多的研究及方法,但关键是怎样执行?我尝试过一些不同的软件来帮助我解决这方面的问题,在用过一些软件后,主要有两类:GTD vs 备忘录、待办事项、日历。

GTD

实现这类方法的软件有很多种,而且各个软件提示的功能也不尽相同,但最基本的功能都是一样的,如:创建任务;结束任务。这些软件不尽相同的地方主要在于简单或复杂,完整的GTD里面还是有许多元素的,比较有代表性的软件,如:Things。而最近在iOS上非常火的TODO软件Clear,则是另一个极端,异常简洁,界面也是如此。我现阶段在使用的Wunderlist是一款适中的软件,功能位于前两款软件之间。

选择GTD软件是一个非常头痛的问题,因为现在这类软件太多了:(,选择的成本有点大。网上的文章很容易带来非常主观的看法,在自己使用时会觉得非常在别扭,如果你也有这种感觉那就继续看下去吧,否则就当笑话吧。每个对GTD的需求是不一样的,因为你可能会应用到不同的场景上,这直接影响到你对这类软件的需求程序。比如:如果你只想维护一组购物清单,那么用Things就比较重量级,因为软件本身就比较复杂,不要跟我说也只需要输入标题。而像Clear就再适合不过了,没有什么更高级的选项。当你有一个工作计划后,你可能需要建立一个任务列表来维护一组任务,并且会给某些任务设定完成时间或优先级。比如:我在使用Wunderlist的过程中,我会建立列表来维护一些将要做的任务,可能是购物清单或者某个项目的开发任务,这一切都运行的不错,能够满足我的要求。但在使用一段时间 后,我又发现了一些新的问题,比如:我需要管理我的项目,规划项目的进度,而不是获得一组任务,这提高了对GTD软件的需求,如果继续使用Wunderlist的话,我需要建立更多的列表,这时Things可能会是更好的选择,创建一个项目后,通过Tag来细化任务。随着需求的变化对GTD的需求也发生着变化,只有选择合适的软件后才能帮你更好的工作。

备忘录、待办事项、日历

其实,最开始我没有想到这三类软件应该是一起使用的,在看了Lotus Notes 8.5.1 时间管理实践这篇文章以后,我感觉豁然开朗。其实待办事项与GTD非常类似,如何单独使用也可以达到GTD的效果,这类方法我觉得更系统一些,更适合在企业中使用,而GTD更适合个人。通过备忘录来确定一个目标来制定一个计划,使用GTD让我烦恼的是没有主体目标,因为细分成不同的任务,而且GTD不建议创建未来很长时间的任务,所以整个进度需要在你脑中有比较清晰的安排。而没有日历项则不能回顾已经完成的事情。这些东西在Outlook里一样不少,Mac OS X上的Mail和iCal也有这样的东西,在最新的iOS5中,这些东西也一样不少。曾经尝试使用Mail的备忘录来做为这种模式的起点,可Mail的备忘录非常不给力,还造成过数据丢失,搞的我最后使用RTF文件来管理项目目标。不过在10.8中备忘录被单独独立出来了,等正式版本出来后一定要再试试。

直到现在我依然在选择一种最合适的方式来满足我的需求。

全屏Safari果然很爽

本来不想折腾系统升级到10.7的,但实在是等不久新的MacBook Pro了,所以还是决定折腾一下升级到10.7,我可耻的在网上找了个镜像安装了…

这就是Mac非常爽的地方,基本上不会出现重装系统的情况。我的MacBook从最开始的10.5升到10.6,再到现在的10.7,升级非常顺得,都非常简单,就像安装软件一样,这一点就足够让Win汗颜的了。

10.7的全屏功能用的真的是非常的舒服,其实软件的全屏功能也挺常见的,但不是系统级的,不能很好的融合到桌面的使用体验中。其它一些功能还在试用中。如果你准备换电脑,可以尝试一下Mac,小心中毒。

最近写了一个小程序,希望iPhone 4S有货时第一时间告诉我,比较杯具的是没有在第一时间订到4S,果然还是低估了兲朝的装B人数。如果排除职业性质,同时有MacBook和iPhone,或再来个iPad,你说不装,估计都没人信你。一款产品好了5年,还需要搞饥渴营销?阴谋论听说过没有?

改变还不够,自省还将继续。

苹果会重演历史?

jobs,终于是退了。于是有类人就觉得苹果要完了,这是多么搞笑的逻辑。
当年个人电脑才刚刚发展起来,这个概念绝对是新的。个人电脑会怎样发展还完全是模糊的,如果当年没有IBM的PC的话,估计个人电脑的发展会很受限制。现在的电脑跟10年前的电脑从外形上有太多的变化。但是,你认为手机会发生这种变化吗?既然叫手机了,必尽有它的特点,不要说你不知道。这样就可以说,手机其实是一个特定的设备,这种情况下封闭的系统自然比开放系统要好,因为开放系统要学着去封闭。这种系统包括了:软件和硬件。