神兵利器——Alfred

Alfred-icon

有人的地方就有江湖,有江湖就有纷争。

很多人说我的文字风格相对轻松和温和,那是因为我很早就认识到,我们没有教育脑残和喷子的义务。在网际多年,看过太多虚拟的刀锋和鲜血,很多人被彻头彻尾的粉碎,挫骨扬灰,似乎从来没有来过这个网络,但是很快这些人就从另一个黑暗的角落爬了起来,并换上一副暂新的马甲继续战斗。所以我在网络上很少参与或挑起争端,我的文字只写给愿意读的读者。即使这样,有时你还是会遭遇一些特别轴的人,你说「Spotlight可以用多种方式快速定位文件」,他就会说「哪有那么方便,我根本不记得文件名、文件内容及其他任何特征,我只能从各种分类文件夹里寻找」,那你就去找呗,你不是我的学生,也不付给我咨询费费,也没赞助过 MacTalk,我有什么义务让你知道Spotlight的好处呢?

所以关于这个江湖,我最喜欢的两句话送给大家:

自反而缩,虽万千人,吾往矣!
夫唯不争,天下莫能与之争者!


在之前的 MacTalk 中我介绍过几次 Alfred,个人以为小帽子是 Mac 平台上最为传奇的效率作品,誉为神兵利器毫不为过。其实这个领域当年的带头大哥是Quicksilver,一时风头无两。但是一个人在风头浪尖站太久就会倦怠,而且 QS 也没找到合适的盈利模式,结果被 Alfred 迎头赶上,等 QS 醒过来再发布新版本的时候,江山已经易主,Alfred 强势发布2.0,而且通过 Powerpack 模式的强大功能转化了很多免费用户,目前看来 Alfred 已经一骑绝尘了。

昨天 MacTalk 之后有不少读者居然不知道 Alfred,所以今天给大家相对系统的介绍一下。

1、安装(不说了去 Google 吧)

2、基础快捷键:option+space

3、打开应用程序:Alfred 几乎是一切程序的入口,你再也不需要找妈妈要开始菜单了。用快捷键呼出Alfred,输入任何一款应用程序的中文或英文名称,即可快速定位程序,回车打开。

4、简单查找文件:用快捷键呼出Alfred,键入空格,输入你要查找文件名,即可定位文件,回车打开,command+回车打开文件所在文件夹。

5、复杂操作文件:通过find、open、in等关键词搜索文件。find是定位文件,open是定位并打开文件,in是在文件中进行全文检索,三种检索方式基本上可以找到任何你想找的文件。

6、直接当做计算器使用。

7、操作Shell:输入>即可直接运行shell命令。比如>cat *.py | grep print,可以直接打开终端并查找当前py文件中包含 print 的语句。

8、输入iTunes,会出现一个 iTunes mini play,打开可以通过 Alfred 控制音乐播放。用快捷键也能完成这个功能:shift+option+command+p

9、输入email,后面跟邮件地址,可以直接打开写邮件的界面

10、定义文字片段,在 Alfred 的设置-Features 选中Clipboard,在Snippets里定义自己常用的文字片段,比如代码、地址等等等,之后以option+command+c 呼出界面,输入文字片段的关键字回车即可。

11、在option+command+c 呼出的界面里还包括剪贴板历史,输入关键字自动匹配。

12、简单搜索:直接输入你要查询的内容,回车即可打开默认浏览器进行搜索。

13、自定义搜索,这个稍微复杂些,打开设置窗口,点击Features-Custom Search,在右侧栏添加自定义搜索。举几个例子帮助大家理解下规则:

(1)搜索iOS App:

Search URL:itunes://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?term={query}

Title:iOS App

Keyword:ios 

(2)搜索Mac App:  

Search URL:macappstore://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?q={query}  

Title:Mac App  

Keyword:mac  

设置完之后,呼出Alfred,输入mac dash或 ios 多看,看看什么效果  

(3)翻译:
Search URL:`http://translate.google.cn/#auto/zh-CN/{query}` 
Title:英译中 
Keyword:en 

设置完之后,呼出Alfred,输入en awesome,看看什么效果

大家可以据此自定义各种快捷查询、翻译、打开特定网页等功能。

14、编写自己的插件:Alfred2的推出伴随的是成熟的workflow插件机制,这部分内容就更加复杂一些,这次就不做详细介绍了。我为Alfred 贡献了三个 workflow,分别是查找本地视频、查找yyets,查找startup news,已经放到了 github 上,大家可以参考,我之前的 MacTalk 也介绍过,网址:https://github.com/jackychi

Alfred 功能不止于此,大家根据自己的需要各取所需吧。

观察和思考

think

昨天谈了行万里路的个人看法,有些读者反馈说,这里谈到的行万里路就是旅游或远足么?旅行算是游历的一部分,但远远不是全部。

长时间在一种同构的环境中,会产生各种倦怠,这甚至是很多人跳槽的理由(当然更多的原因是钱没给足(^o^))。在一个地方待久了,同样会麻木不仁。你不再感知身边的世界,对发生的变化熟视无睹,不再观察和思考,好奇心也没了,你以为你了解了所有,其实所有的你都没了解。等到有人问到或用到这些知识,你才会大吃一惊,发现自己对大多数子以为非常熟悉的人、事、物了解的如此之少。如果有人问你为何如此慵懒,你会告诉他好奇害死猫,这样挺好。

曾经在一本书上看到,很多一辈子住在同一个地方的人竟然无法给外乡人指路。因为他们一直像机器人一样茫然的反复行走在同一条路线上。想想这是件多恐怖的事情。

行万里路,可以是走遍世界,也可以从身边做起,好好的观察你身边的人、事、物,观察自己,独立思考,听别人说,也说给别人听。有时候想想,人活一世,无非就是和人对话,和事对话,和物对话,最后形成自己的思考。

有人说,人生最好的旅行,就是你在一个陌生的地方,发现一种久违的感动。
还有人说,旅行就是从一个自己待烦了的地方,跑到一个别人待烦了的地方。
也许,心有多远,路就有多长吧。

今日Mac技巧:

1、推荐几个iOS App

多看:iOS平台上优秀的阅读类App,用户体验堪比Kindle App,书源丰富,价格便宜量也足。

拇指博客:传统的博客阅读,有助于了解世界。

读知乎:如果你不打算发言,那么这个App适合你。

Feedly:在Google Reader死亡之后,Feedly似乎是个不错的选择。

2、推出针对小道君创建的Startup News网站的Alfred workflow——SNSearch,主要功能是检索Startup News网站的最新推荐文章。

使用方式:通过option+space呼出Alfred,输入sn all,查看Startup News最近推荐的文章列表,输入“sn 查询关键字”,可以按照标题内容进行检索,关键字大小写模糊匹配。

选中文章后回车可以直接用浏览器打开原生网址,按住command键回车可以查看Startup News的相关评论。

如果你是创业者,技术人,产品经理,VC…你可能需要这个小工具。

点击{原文}可以到Github上阅读SNSearch的简要说明和源代码。

行万里路,读万卷书

sand

昨天的调查结果出来了,18px的字体形成压倒性优势,为了民主和平等,我们尊重这个大多数人的选择。对于那一小撮别有用心的读者,好吧,你们动动小手自己调整下字体就好(注意情绪和秩序:)

另外,微信4.5发布后就支持查看公众账号的历史消息,但我看到很多人还在输入history,所以今天特地在这说一下,怎么查看?大家自己动动找找。

明朝董其昌在《画禅室随笔》中写道:读万卷书,行万里路,胸中脱去尘浊,自然丘壑内营。到了现在这个时代,万卷书已经不是问题,怀揣一个iPad或Kindle,图书何止万卷?现在的问题是读。买书如山倒,读书如抽丝,每每看到书桌书柜pad kindle里皆尽躺满各类新书,就情不自禁的感慨,这么多书啥时能读完啊!其实解决这个问题有个最简单的办法,就是不要用“等我”这个词,比如等我刷完微博,等我看完电视,等我先睡会…再…,这个句式基本就是读书的死对头,号称要你命3000一百单八式。所以绝对不要说“等我”,直接抽出一本书来看就好了。

为什么我把行万里路放前头呢?因为我觉得游历对于年轻人来说比读万卷书更加重要。现在不管你走到哪,只要愿意,随时抽出pad就可以读书,但是游历就不是那么容易了。各种牵挂各种顾虑各种无奈,让你想说迈腿不容易。20岁背起背包就走,30岁开着车就走,40岁得让人拉着走,50岁就在家走走。

很多事情只有经历才是真实,没有经历的人永远无法理解别人过的生活,什么是学以致用知行合一?因为你行了走了,了解了这个世界,才能更好的使用你读书习得的东西来改变世界,创造世界,所谓学无止境,其实行也没有尽头。

昨天看了一篇文章,有一个IT公司每工作7年,就让员工花一年时间游历世界,心中暗暗叹息,咋木有碰到这样的公司啊。其实程序猿是很有优势的,因为你们几乎可以在任何环境下工作,只要有一台Mac和网络。所以,能走多远走多远把。

别像我一样,年轻时不知道游历世界,现在只能写写Mac技巧,做井底之蛙:)

今天推送的Mac技巧(给普通用户):

1、经常有人反馈把iTunes或iPhoto里的文件删除了,无法恢复,对于这种事我只能报以无奈的叹息。再次提醒大家一定要定期用Time Machine备份。

另外,iTunes或iPhoto这样的软件,都会提供一个选项,导入时是否把文件或项目复制到媒体库。我的建议时不要复制,先把文件复制到自己设定的文件夹,再导入即可。这样文件只有一份,不会导致误删除操作。

2、选择文本

用command+鼠标,可以选中不同位置的文本内容。
用option+鼠标,可以对文本进行块选。

今天又把FindYYeTs完善了一下。FindYYeTs是为Alfred开发的一款workflow,主要功能是通过YYeTs(人人影视)提供的API和RSS检索最新发布的影视作品,同时也可以进行全站搜索。这次提交还修复了一个特殊字符引起的bug。

点击{[原文]}1可以到Github上阅读这个插件的简要说明和源代码。

普通人之殇

silence

近期收到几个反馈,说Mac技巧的字体有点大,其实我是特意调整到18px的,让大家阅读的时候更轻松一点,保护视力从我做起。不过连续收到几次字体太大的反馈,让我不那么自信了。问一下,大家觉得现在的字体怎么样?我将根据大家的反馈结果确定用默认的16px还是18px。

上次调查大家是怎么知道Mac技巧的,很多人居然反馈是从1024社区得知,让人不禁唏嘘感慨,我们只能说,技术无处不在!

昨天讲的东西可能有点偏技术,很多人反馈看不懂,说,请照顾一下Mac普通用户可以吗?今天我就说两句普通用户的事。

什么是普通用户,我对普通用户的定义是,我们不会成为乔布斯或比尔盖茨,我们坐飞机不会掉下来,我们中不了几百万的彩票,我们当中只有很少人能够创建自己的公司,我们取得的每一点进步都来自持续艰苦的努力……

但是,这并不妨碍我们成为人群中稍稍优秀一点的群体,比如我们工作稍微优秀一点,唱歌稍微嘹亮一点,踢球踢得更猛烈一点,用电脑用的更高级一点……我想表达什么意思呢?无论大家工作还是生活,总要涉及各种领域,如果每个领域都浅尝辄止,那你就真的成了普通用户了,普通用户是没法进入高级用户的圈子的,因为那些人讨论的东西你不懂嘛,你也不能给别人提供更有价值的东西,那才是真正的普通用户之殇。

大部分人都是普通人,大部分人也成不了盖茨乔布斯,但我们可以成为高级用户。

在写这篇文章之前,我又为Alfred写了一个插件,叫做FindYYeTs,FindYYeTs是为Alfred开发的一款workflow,主要功能是检索YYeTs(人人影视)上最新发布的影视作品。

用法:通过option+space呼出Alfred,输入yyets all,查看YYeTs网站最近发布的影视剧;输入yyets 科幻,可以检索标题匹配“科幻”的影视剧,同样是网站最新发布的,不是所有历史数据。用 上下方向键 或 command+数字 选中需要的文件,回车可以直接在默认浏览器打开。

如果你是个美剧爱好者,你应该需要这个workflow。

点击{原文}可以到Github上阅读这个插件的简要说明和源代码,下载workflow。有时候我想,在这样一个海量信息时代,是不是每个人都该学学编程呢?这样你自己就可以做很多事,那里是一个新的世界,钥匙就在你的手中。

没什么事是容易的

cool

昨天的文章引发了很多创业读者的反馈,大家纷纷表示创业难,难于上青天。还有些刚刚进入社会的童靴,觉得做这事难,干那事苦,说怎么才能找到一个轻松的、感兴趣的、挣钱多的、工作时间弹性的、不加班的工作呢?

好吧,不得不告诉这些童靴一个残酷的事实,木有这样的工作,有的话我早去了。工作苦点累点不算什么,尤其是对年轻人,我知道很多创业公司的资金没问题,有用户有流量,但突然这公司就没了,为什么?业务不增长了,用户开始流失了,而且找不到策略应对这样的流失。这就像是一群热血青年走在平坦的康庄大道上,一切都那么美好,天蓝云白,红日青草,突然发现路的尽头是个无法逾越的鸿沟,这才是让人心碎的悲哀!

经过很多年我才知道,世上没什么事是容易的,即使有,也属于别人。


今天在Github上放了一个Alfred的workflow,叫做Play Mdeia,基于Python和mdfind构建,大概30几行代码,非常简单,给大家介绍下:
Alfred是OS X最常用的一款增强型工具软件,充分利用了OS X的这些特性,帮助用户通过快捷键完成各种常用操作,属于Mac必备软件。 近期Alfred发布了V2,对原有特性进行了增强和完善,并推出了全新的workflow功能,提供了极为简洁的接口和各种Action,帮助用户定制自己所需功能。

Introduction

Play Mdeia是为Alfred开发的一款workflow,主要功能就是快速定位Mac中的音视频文件,并通过合适的播放器播放。
这个workflow的需求来自于我个人的使用习惯。我是重度Podcast和iTune U用户,在iTunes App Store上订阅了大量的公开课视频,包括WWDC上近年的视频,有时候我需要快速找到某个主题,打开查看,但是在iTunes里查找非常麻烦,要操作很多步骤才行。
Alfred本身提供的播放iTunes的功能,也没法满足这个需求,比如你打开Alfred 2的iTunes Mini Player,想查找iTunes U里的内容是查不到的。而直接使用Alfred的find功能会查出一堆不相关的内容,比如你想查看一个和image处理的视频,结果可能找出了一堆图片、包含image的文件夹、pdf等等。

所以只好写一个,这是Play Mdeia的由来,如果您有类似需求,也可以用。

Development

Alfred 2的workflow提供了多种实现方式,比如shell、php、perl、python、ruby和applescript,最近使用python比较多,所以使用Python 2.7结合OS X的mdfind命令实现了音视频文件检索的功能。

mdfind是spotlight的命令行实现,功能强大,可以定制各种复杂查询,快速检索,例如这里用到的命令:

mdfind "kMDItemFSName == '*xcode*'c && ( kMDItemKind == 'MP3*' || kMDItemKind == 'QuickTime*' || kMDItemKind == 'Video Media' ) "

这个命令的含义是检索包含xcode文件名的音视频文件,不区分大小写。

检索完成后通过python组织成Alfred 2能识别的xml格式即可。

然后就是使用Alfred 2提供的Actions完成脚本功能、打开文件、打开文件所在Finder等等,一个插件就完成了。

Requirements

  • Python2.7 (OS X 10.8默认的Python版本)
  • Alfred 2(付费版)

Installation

下载Play Media.alfredworkflow,双击导入Alfred 2即可。

How to use

  • 通过option+space呼出Alfred,输入saga image,就可以看到文件名包含image的音视频,如图所示:
  • 用上下方向键选中需要的文件,回车可以直接打开。对于mkv和wmv等iTunes不能播放的音视频文件,会直接使用系统默认程序打开,比如你安装的射手影音或MPlayerX,其他则采用iTunes打开。
  • 用上下方向键选中需要的文件,按住command然后再回车,可以在Finder中打开文件所在的文件夹。

有需要的童靴点击{原文}可以到Github上下载这个workflow。

如何提问?

ask

最近两天增加了很多订阅者,与以前不同的是,这次我不知道被谁推荐了,想问问大家是从什么渠道知道Mac技巧的,如果您得儿空,就给回个。

现在Mac技巧的读者越来越多,提问的也越来越多,但是好的问题却凤毛麟角,有些问题你几乎不知道要问的是什么,所以也无从答起。

提问和回答是交流最重要的部分,一个好的问题能够让提问者和回答者都得有收获。我在2005年左右,与美国程序员共同维护一个平台级产品,邮件往来必不可少,当时我就发现他们提的问题或bug都非常规范,每个bug都有清晰的标题,正文是环境描述、已经采取了什么措施、结果、日志、Core dump、截图等等,读完邮件你就能很清楚对方想要表达的意图和希望你能提供的帮助,而且你也知道该做什么,如何回复等等。

很多人说中美技术人员在创意和创造方面相差甚远,其实差距是全方面的,不仅仅是技术,还有文化、氛围、教育等等,这个扯远了……

那么就技术问题而言,如何去问一个让双方都满意的好问题并最大程度的得到回复呢?大好人生,谁也不愿意为一个烂问题浪费时间。

简单总结一下,如果你按照以下步骤进行,相信提出的问题会更靠谱一些,提出好的问题是提升的第一步,其实这个过程在提问之前已经开始了:

  1. 遇到问题不要急着问别人,在时间允许的情况下看是否自己能够解决,一方面锻炼自己分析问题和解决问题的能力,另一方面,一旦问题解决了,问题就不是问题,而是你的经验和知识库。况且现在互联网有那么多的技术资料和各类问答网站,想碰到一个别人没碰到的问题,已经非常困难了。
  2. 如果做了努力依然不能解决,或者客观条件不允许你自己解决了,那么首先要选择提问对象,不管是是现实中的大神,还是网络上的牛人,确保他是你所知道的最佳解决人选。
  3. 你需要一个好的标题,用清晰的短句描述你遇到的问题
  4. 至关重要的正文

    (1)用清晰的语言描述你遇到的问题
    (2)提供软件环境,包括操作系统、数据库等相关软件及其版本号
    (3)问题是否可以重现,采用什么方式重现
    (4)采用了什么措施解决问题,最终结果(可提供日志、程序、截图等描述)
    (5)尽可能提供问题相关的可分析文件,包括日志、截图和Core dump等
    (6)不要长篇大论,简明扼要,描述主要问题

最后,不要忘了说请和谢谢,毕竟你需要别人帮助你解决问题,没人欠你什么。

当然,今天讲的提问是个普适问题,不针对Mac技巧,在这提问,没有这么复杂,但是意思到了,你们应该懂。

以前给大家介绍过小帽子Alfred,号称Mac上第一神兵利器,现在Alfred 2发布了,同时更新的是它的插件机制——workflow。刚才基于python和mdfind写了一个workflow,可以快速定位音视频文件,并在iTunes或其他适合的播放器里播放。这个纯粹为自己写的,当然写完会共享出来,有需要的自取。为啥会有这个需求,且听下回分解。