逃离舒适区

comfortable

本来想起名为逃离技术舒适区,后来想想这个话题具备普适性,就把技术去掉了。昨天谈的是困难和容易的取舍,今儿的话题算个延续。

什么是舒适区?如果你是个新手,你就没什么舒适区,什么都不懂嘛舒适个毛啊,在磕磕绊绊的学习中懵懂前行,期间可能还伴随着老鸟的嘲笑和进度的压力,终于有一天你武功大成,乾坤大挪移练到了第五重,工作中开始得心应手游刃有余,不断有新人或老人来找你解决问题,你微笑着迎接各种挑战,淡淡的送走困难,你挥一挥手,不带走一片云彩,这是什么境界?这就是你的舒适区,这和靠在沙发上看电视的舒适不是一回事,通常进入舒适区需要花费你很多的时间和精力,需要你不断的练习,一旦进入,你会enjoy it!

这时候,如果有人胆敢让你脱离舒适区,可算要了亲命了,你会勃然大怒,轻则争吵,重则离职。这种事遇到太多了,一个写前端的你让他学习一些后端技术,一个写Java的你让他学习一下C,得到的答复可能会,Sorry, I feel very uncomfortable!

没有人学新东西的时候非常舒服,一旦经历过从新人到老鸟的过程,再让你进入陌生的领域,那种痛苦会让你自发的去抗拒。但是一个人不可能永远躲在舒适区里,逃离舒适区会有助于你从不同的角度看问题,视野会更加开阔。人总要往前走的。

就我个人而言,我有多年的vim使用经验,目前在学习emacs,我从Linux转到windows再转到Mac,学习了多种编程语言,一直在练习自己的演讲能力并做了很多公开演讲。有时候做很多事就是为了挠自己痒处,避免在舒适区待太久。

很多人在某个地方待久了就会非常懈怠,没退休就像在养老,这时候我就知道,他们在舒适区太久了,与在哪个地方无关。

今日推送的Mac技巧:

1、可以远程同步文件的FTP工具Cyberduck

上次介绍Retinizer(普通软件Retina化)的时候提到了FTP软件FileZilla,我个人一般使用命令行下的ftp/sftp/scp等实现FTP软件的功能,但普通用户还是用图形界面的更方便些。今天再给大家介绍一个可以实现远程同步文件的FTP工具:Cyberduck

Cyberduck除了可以实现FTP的基本功能外,还能支持远程同步。所谓同步,就是把远程和本地的两个目录进行比较,然后自动找出修改的文件上传到服务器。
具体操作就是通过ftp或sftp的方式登入远端服务器,选中某个文件夹,右键菜单里选择同步,再选择本地文件夹,就可以进行同步比较上转了,上传之前你最好确认下,更稳妥。

同样,这个软件也可以用Retinizer实现高清显示效果。

2、文件重命名

文件重命名的问题以前说过,但最近又有些童靴问起,就再说一下。
如果你没有装任何插件的话,在Finder中重命名文件或文件夹的快捷键就是回车。打开文件用command+o,返回上级目录用command+向上的方向键。
如果你装了原来推荐过的XtraFinder,可以把回车改为打开文件(与windows操作类似),把option+r设置为文件重命名。
如果你在命令行下重命名文件,命令是这样的:mv oldname newname

关于长春婴儿的事件有必要说两句,无论嫌犯是谁,最终的结果是孩子没了,再也找不回来了!没养过孩子的人可能无法体会那种撕心裂肺的痛。所以给所有年轻父母一个忠告:带孩子的时候永远不要让孩子离开自己的视线,不要在自己犯错后指望别人的救赎!
最近收到一些高质量的问题,明天回答一下。

想画出完美的作品?先让自己变得完美,然后随心去画。——摘自《禅与摩托车维修艺术》

难易相成

dificult

古人云:有无相生,难易相成,长短相形,高下相倾。

很早就想说说困难和容易这点事。人生一世,我们到底是要选择做容易的事还是做难事?这个想法源于春节前的业务讨论会,有两位经理各执一词,一个说,为了让部门能够生存下去,我尽可能去做那些简单的相对稳定的任务,因为这样可以保证良好的现金流。另一个说,为了能让部门生存下去,我尽可能去做那些困难的利润更高的任务,因为这样可以保证良好的现金流。

难易相成,困难和容易会在不同的环境下会相互转化,我觉得这两位经理在特定场景下说得都没错。

就个人而言,我觉得我们应该尽可能做那些困难的事情,让别人变得不那么困难。无论是做软件还是做互联网服务,其实终极意义就是你做出来的东西能否解决用户的问题,如果这是一个容易解决的问题,那么很多人早已经解决了;如果这是个困难的问题,那就意味着很多坑等着要埋你。咋选呢,似乎怎么选都是炮灰,权衡一下,选择前者基本是无用功,那我们只好选择后者,我们本身也是爱挖坑的人,况且困难面前人人平等么。

JetBrains是一家捷克的软件公司,他们做的事情就是为Java,Objective-C,Python,Ruby,JS等语言写开发IDE,给程序员写工具可不是闹着玩的,他们对IDE的挑剔基本比肩女性对化妆品,但JetBrains开发出来的工具深受程序员喜爱,各种智能,各种效率,他们获得了极大的成功,为啥,因为做着别人很难做成的事。

让自己困难点,让别人容易点,说了半天,好像就这么点事。

今日推送的Mac技巧:

在Mac下如何进行文件比较?
1、对于单个文件的比较,一般使用diff或vimdiff就可以了,比如:

vimdiff destfile.txt sourcefile.txt

vim会非常清晰的显出时文件的不同,还有很多快捷方式帮助你查看和操作文件,这个命令比较适合命令行爱好者,如果大家喜欢,后续可以讲讲。

2、对于大批量文件的比较,还是图形化比较工具更合适一些。OS X自带了FileMerge比较工具,可以满足部分需求,但对于中文编码文件或大文件经常会崩溃,很奇怪Apple一直不解决这个问题。

3、推荐一款收费软件,VisualDiffer(25元),UI、功能和稳定性都非常不错,实在是居家旅行、代码比较、查找问题的必备利器,有需要的童靴可以感受下。

选择困难的事情,在生活里也没什么不好。坐在沙发上看电视更困难还是在电脑前面写一篇文章困难,显然是后者,你看我就选择了做困难的事……

最大化你的价值

value

有人问,你为什么要从事IT技术研发工作?如果是乔布斯,可能的答案是改变世界;如果是人生导师,可能的答案是跟随你心。如果是我回答呢,答案就是如果不从事这个行业的话呢,我还真不知道该如何养家糊口:)

每个人进入一个行业,有必然性也有偶然性,现在想来,我进入软件行业可能是兴趣使然。我小时候就比较喜欢电子相关的东西,这个习惯保持到现在就是喜欢电子设备。大学的时候电子和计算机相关的课程都学的很好,其他专业课则一塌糊涂。毕业后进入一个工厂做电子设备测试,晚上则用车间的电脑学习编程,很快自己觉得可以找到工作了,就去面试,一面之下进入洪恩,稀里糊涂算是进入了IT行业。

工作了十几年,发现自己确实对技术比较感兴趣,曾经有很多机会转岗成为纯粹的管理和业务人员,但最终都没舍得放弃技术,当然技术也没什么大成,爱好而已。

为什么做技术,技术是什么?我的观点是:

1、与其他工种一样,技术可以谋生。很多导师说看准一件事情就全情投入,不要考虑收入,奋斗不息财富会随之而来。且不说只有你成事了财富才能来,就说没成事的时候我们总不能饿得头昏眼花去奋斗吧。准确一点是工作初期不要过分考虑金钱。总要解决温饱问题吧,那么做技术研发可以很容易达到这个目标。

2、技术是一种手段和做事方式。尤其是在现在这样一个互联网和数据的时代,可以说技术面前人人平等。你付出了多少,差不多就会得到多少。很多人羡慕创业公司的人获得的财富,他们只不过是把你20年平稳的打工生涯压缩成4年艰苦卓绝的创业,当他们冒着成为炮灰的风险在清晨的寒风里编程时,你正在温暖的被窝里做着美梦。所以就别羡慕了,那是他们应得的。

3、做技术需要终身学习,如果你个学习狂,恭喜你找到了一份完美的工作。有一次一个工程师告诉我,每次感到恐慌的时候,就开始学习,掌握了一门又一门语言和技术。最后他成为了一个通才之上的专才。书到用时方恨少,事非经过不知难,有时间就学点东西,没坏处,还能预防老年痴呆。

4、作技术可以最大化你的价值。如果你是卖煎饼的,买一个是一个,如果你开发了一个千万人使用的软件,那你做这个软件的价值就放大了千万倍。如果你做的互联网产品服务了千万个用户,你的做这个产品的价值也就放大了千万倍。如果你在做这样的工作,那么你就最大化了自己的价值,财富也会随之而来。如果没有,就去找这样的工作。

——读《黑客与画家》——如何创造财富有感。

今日推送的Mac技巧:

如何让不支持Retina的Mac软件变成Retina App?
前两天有订阅者求推荐Mac下的FTP软件,我推荐了FileZilla,但这个软件是不支持Retina屏的,Retina用户使用这个软件会感觉整个世界都模糊了,结果搜索之下,发现了一个小软件,叫做Retinizer,顾名思义,就是把非Retina的软件Retina化,我用了一下,完美支持FileZilla,下载地址如下,有需要的自取。

http://retinizer.mikelpr.com/

有同学让我写写自己的经历,我就随便穿插写点,但是人脑对自己的回忆一定是充满了美化和修饰的,而且这种修饰可能是不自知的,我也不例外。

时间与流行

fashion

一种编程语言想要变得流行,最后一关就是要经受时间的考验——《黑客与画家》

时间有时候是很无情的,很多流行的东西,随着时间的流逝将变得面目全非。美貌与时尚如此,技术同样要经历岁月的洗礼。进入21世纪以来,技术热点不断变更,每次的技术更迭,就像流水冲刷河床一样,虚无的流走,沉淀下来的才是有价值的东西,我们要做的就是那些能沉淀下来的东西,这需要去判断和选择。

进入21世纪,从静态语言到动态语言、面向对象编程到函数式编程、从模型驱动设计到领域驱动设计、从SOA到云计算、从BI到大数据、从BS到移动互联,无论技术热点如何变化,站着挣钱的永远是那些踏踏实实做产品和技术的。2009年SOA火热的时候,每家软件公司和互联网公司都号称自己面向服务了,甚至IBM、BEA等公司为SOA确定了SCA和SDO规范,但3年以后,无人再提SOA,无非就是用开放的技术实现原来的EAI么…

有位在校大学生问,“我们下学期要学习数据库,以后想从事大数据方向,不知道从什么方面学习大数据”。我的建议是,不要被现在大数据的噱头忽悠了,等你两年后毕业出来,可能已经没人提大数据这回事了。如果真的对数据感兴趣,踏踏实实把关系数据库学好,有时间的话再学一门编程语言,掌握数据结构,再有余力学习一些数据挖掘和推荐算法等知识,这就行了,相信我,你没那么多时间!

所以,正在流行的东西并不一定值得投入,流行感冒倒是流行,您就别追了……

今日推送的Mac技巧:

如何分别设置Mac的鼠标和触控板的滚动方向?

很多人习惯鼠标使用相反的滚动方向,而触控板类似iPad那样的自然滚动,问如何设置,当时我的回答是不知道,因为目前OS X的系统设置里,鼠标和触控板的设置是统一的。今天发现了一个免费的软件Scroll Reverser,可以实现鼠标和触控板的分别设置。

下载地址:http://www.macupdate.com/app/mac/37872/scroll-reverser

启动后程序显示在顶部菜单栏,设置简单明了,有需要的同学体验一下吧。

昨晚我正在微群里讨论知识管理的问题,刚刚谈到Evernote,诡异的是没过几分钟Evernote就提示要重置密码,当时心想被黑了,我的个人资料库啊……结果发现被黑的是Evernote不是我好失落…… 目前云端服务遍布全球,但是云端的安全仍然堪忧,企业云应用发展非常缓慢和这一点也不无干系。

感兴趣的可以关注Hacker News上的评论,http://news.ycombinator.com/item?id=5309866

Redesign——设计永无止歇

redesign

Paul Graham在黑客的第十四章-梦寐以求的编程语言里,写了一节关于Redesign的随笔。什么是好的文字?好的文字来自于不停的修改,好的编程语言和软件产品同样如此,在个人的工作生涯里,我的体会是,再多的修改也不过分。可以说没什么软件产品是完美的,完美主义者都是不断打磨产品以趋近完美。如果不信,那么各位看官可以打开你们一年前写得代码或文章,如果脸红的话就吱一声吧。

同样,如果你想不断的调整自己的设计和实现,那你就需要保证你的工作在某个特定阶段是可持续的。我的建议是无论选择公司,还是在公司内部选择工作,尽可能选择能够长期投入和完善的事情做,如果你半年做一个项目,之后又换成另一个,然后再换,除了积累了一大堆项目经验之外,1、你个人能力没有得到提升,2、你永远无法完成一个优秀的产品。在产品公司,你可以为优化某个算法或Ajax效果花费一个月的时间,这在以单纯做项目或外包的公司是不可想象的。找一家程序员被当做天才和宝贝的公司,去做可持续的产品…..

推荐两段核心文字,大家体会下阮一峰老师的翻译功底:
>
为了写出优秀软件,你必须同时具备两种互相冲突的信念。一方面,你要像初生牛犊一样,对自己的能力信心万丈;另一方面,你又要像历经沧桑的老人一样,对自己的能力抱着怀疑态度。在你的大脑中,有一个声音说“千难万险只等闲”,还有一个声音却说“早岁哪知世事艰”。( You have to be able to think how hard can it be? with one half of your brain while thinking it will never work with the other. )
如果你能平衡好希望和担忧,它们就会推动项目前进,就像自行车在保持平衡中前进一样。在创新活动的第一阶段,你不知疲倦地猛攻某个难题,自信一定能够解决它。到了第二阶段,你在清晨的寒风中看到自己已经完成的部分,清楚地意识到存在各种各样的缺陷。此时,只要你对自己的怀疑没有超过你对自己的信心,就能够坦然接受这个半成品,心想不管多难我还是可以把剩下的部分做完。

今日推送的Mac技巧:

在小帽子Alfred中查询iOS和Mac App

之前的文章中介绍过Alfred这个Mac必备神器,有兴趣的童靴可以去我的博客上翻翻关于Alfred的介绍,今天再为大家介绍一个功能,就是通过Alfred查询iOS和Mac App。
通过热键呼出Alfred,点击右上角的小齿轮,打开设置窗口,点击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 go2shell,试一下效果吧。

今天从微博上看到张国荣和张曼玉的旧照,让人唏嘘感慨,回忆起当年在录像厅看英雄本色和纵横四海的“暗黑岁月”,江湖一别,竟是永远,人生如梦,一樽还酹江月……

再读黑客与画家(一)

hnp_cover_b

《黑客与画家》这本书的中译本出版于2011年4月,它的作者是美国互联网界”创业教父”,哈佛大学计算机博士Paul Graham,他的译者是著名blogger、译者阮一峰先生。

这本书在2011年一上市就受到了广大人民群众的爱戴,我在第一时间拿到纸质书后,通读了两遍,当时感觉很震撼,可以说本书是我近年来读过的最优秀的人文类技术图书,个人非常喜欢,所以在去年在图灵推出多看电子书后,又购买了电子版《黑客与画家》,放到手机和Pad上随翻随看,最近又开始重读。

好书的特点是常读常新,一本好书往往沉淀了作者几十年的岁月,绝不是你草草翻上一遍就可以理解和掌握的。虽然是同样的文字,在不同的时间和环境阅读,往往给你带来不同的启示和感悟。如果大家感兴趣,后续我可以随读随写些自己的感受,留于自己也方便他人。

今日推送的Mac技巧:

  • 推荐免费的文本编辑器Imagine 我个人觉得Imagine比OS X自带的TextEdit好,除了目前不支持iCloud外,基本涵盖了TE的功能,而且排版简约美观,可更换柔和的背景色,全屏写字非常舒服,对字体样式的支持很好,在富文本和纯文本间切换方便,我基本用Imagine替代了TextEdit。

    下载地址:https://itunes.apple.com/cn/app/imagine/id566877440?mt=12

  • 去除右键菜单的重复项 OS X 系统有个问题,某个程序反复安装后,选中某种类型的文件,点右键-打开方式,你会看到不少重复的选项,我们可以用以下命令去除重复项。 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

今日从CSDN CTO俱乐部微信群中处得知,聚美优品三周年促销导致网站崩溃,目前依然没有修复,技术人员也不知道带盐了没有,但是又一个不眠之夜是注定了的。另外带盐老板陈鸥在出问题后即可抛出百万年薪找CTO,在这种公司做技术,压力山大亚……你们感受下