最近感悟越来愈多,女儿越来越大,头发越来越少,我知道,自己老了。

30岁之后,时间仿佛开闸的河水一样滚滚而去,感觉自己浪费的时间太多。我们不得不承认,先知先觉的人会比我们领先10年甚至更多的身位。所以我们唯一能做的就是,奔跑和追赶。

岁数大了之后,会变的唠叨,此言非虚,现在常常回想起自己走过的道路,一路走来,我必须得承认自己是个普通的不能再普通的人,但是,引用电影里的一句话“保安怎么啦,保安也是人啊”,所以还是觉得有必要去总结一些东西。很早就有这样的念头,但是一直没有动笔,想必是在等一个引子。期盼已久的Mac OS X10.7发布了,好吧,那就拿这头狮子(Lion)为引,先说说Mac那些事。

2011年7月20日,Mac OS X的Lion终于正式发售了,也就是10系列的第七个版本。

Lion的发售终于让我下定决心,对我的MBP进行一次全面整合,乾坤大挪移,告别MBR分区,改为GUID。我再也不想为每次大版本的升级修改那该死的OSInstall了。

说起Mac,还得从2001年说起,那是我第一次接触Mac OS X体系,当时由于与一家厂商合作,需要把我们的软件移植到Mac Server上。软件是BS架构的,基于JDK1.3构建,由于一直在linux上编程(当时Java几乎没有像样的IDE,Eclipse、NetBeans、IDEA等后来如日中天的工具,有的刚刚起步,有的还在孵化器中),所以Mac基本上是被我们当做Unix用的,印象中移植并没有太大的工作量,细节也不记得了,反正当时Mac对我来说就是一个Unix Server。后来有另外一个组的兄弟是给软件做音乐的,公司专门给他配了一台Mac Pro,价格相当昂贵,那个兄弟护的很紧,基本不让我们这些土鳖程序员靠近,那时候Mac OS X已经告别了9,进入了10。如果记忆没有失误的话,那个系统用的是Mac OS X 10.2 Jaguar,其华丽的界面让一直用土土的windows的程序员留了一堆口水,但当时我们已经被Liunx下各种华丽但不实用的GUI伤透了心,像GNome,KDE基本都是浮云。于是苹果在我眼中就是个酷酷的操作系统,界面优美,适用于图形图像视频制作,价格贵的离谱,用来工作娱乐神马的,基本上是天方夜谭了。当时留下的印象就是留着长发的流浪歌手,谈着吉他,安详的坐在Mac Pro前调音和谱曲的画面。那个兄弟叫老郭,专门为软件做音乐,经常对我们这些不懂艺术的程序猿说,嗯,你们都是土鳖,就知道编程,多无聊。当时我想,这话反过来说,也成!

后来工作上兜兜转转,使用的技术越来越多,工作范围也越来越广,但一直没忘关注Apple和Mac,先是iPod火的一塌糊涂,之后Mac OS X相继发布了10.3 Panther,10.4 Tiger,10.5 Leopard。GUI一直是Apple的强项,界面越来越炫,新功能也层出不穷。类似窗口管理器Expose,全文搜索Spotlight,智能文件夹,Dashboard,强悍的备份工具TimeMachine等等,变得越来越吸引人,尤其是2006年Mac硬件进行了重大的架构调整,开始全面采用Intel系列CPU,Power渐行渐远。架构的调整和Bootcamp的推出,使得在Mac上安装双系统变得触手可及,这一点在当时还是非常吸引我的。在这期间,微软这个巨人似乎步履蹒跚,Vista恶评如潮,被window折腾的不轻的我失去了尝鲜的勇气,所以从2001年到2009年我始终如一的使用XP,只是不断的更新微软的补丁,不断的重装系统。2007年Apple推出了iPhone,如出一辙,又一次重新定义了产业格局,我想是时候尝试一下Mac了,而且手里的IBM Thinkpad已经用了4年,Mac的价格也不那么离谱了,除了GUI的吸引力,作为多年的linux/unix用户,Mac下的原生shell也是吸引我的重要原因之一。

从经济角度而言,MacbookPro的价格对工作多年的我来说,已经没有什么压力了。好吧,开始动手。

2009年入手购置了一台MBP985,操作系统是Leopard,也就是10.5,雪豹还没有出。当时对在Mac下能否完成日常的工作还是有一定担心的,而且对Bootcamp和windows下的C盘D盘划分充满迷恋。自己亲手对Mac做了分区,分区方案为MRB,320G的硬盘,给xp分了200G,而且做了C盘和D盘,同时为了能让Mac的Vmware Fusion能识别D盘,还修改了虚拟硬盘分区表。当时做了很多操作,以至于现在我基本记不起来到底修改了什么东西。现在看来,这些工作除了让我提高解决问题的能力和更好的使用Google之外,基本没起什么好作用。

很快我就从双系统(Leopard+虚拟的XP)切换到了单系统(仅使用Leopard),由于自己是重度Liunx用户,所以Mac下的Shell对我来说简直是天赐良缘。早期工作常年在Linux服务器端编程,那时最爱的工具就是SecureCRT,每天的工作就是从Windows下打开SecureCRT,登录服务器自己的帐号开始编程。以至于后来我一直在Windows下构建自己的Linux环境,每个使用过系统,VIM/Grep等工具是必须要装的。所以我从XP切换到Mac下基本上是非常自然的,以至于我的感觉是,为什么没早点使用Mac OS X,并发出了“这tmd才是电脑!”的吼声。我为自己在Mac下打造了全新的工作/娱乐/阅读/学习环境,后来基本上只有需要网银或通过docbook生成chm文件时,我才会切换到Windows下。

2009年8月28日,Snow Leopard全球发售,我撑到11月,终于忍不住升级了,于是又开始为了把SL无缝安装到我的MBR分区上而苦苦思索,后来花了一个周末,在不影响全部数据和程序的基础上把雪豹安装成功了,一直用到现在。

当初分区的不合理性造成的影响是显而易见的,首先无法升级固件,其次没法直接升级大版本的Mac OS X(岁数大了,有折腾这个的时间我宁愿看书),第三当初磁盘空间的不合理造成很大的资源浪费,已经很少用Windows了,却划了200G空间,Mac这边呢,磁盘经常满,我像个小蚂蚁一样,满了就搬一部分数据到移动硬盘上,让我很不爽。很早就像把整个系统重装上阵,一直迟迟没有动手。直到Lion的发布。

Lion已经宣传了很久,2011年6月苹果的WWDC大会上,Phil Schiller对Lion的介绍给我的影响非常深刻,看完WWDC的KeyNote,我对自己的MBP说,该对你动手了。

Lion如期发售,我用Time Machine备份了SL,WinClone备份了BootCamp,分区修改为GUID,然后重新恢复SL,购买、下载、安装、升级Lion,目前运行良好,空闲空间200G。至于Windows,我准备装个XP的虚机,应该足够了。

对于Lion的体验,可以形成另一篇文章。亮点:Mail/Multi-Touch/全屏/Mission Control/重返/文档多版本等。

其实一句话可以概括,那就是当你觉得Snow Leopard已经足够好了的时候,Lion会轻易突破你的心理底线,就像iPhone4之于iPhone3!感谢乔布斯和苹果天才的工程师!

Mac尤其适合程序员使用,曾经有N多程序员写了文章,为什么程序员该用Mac,没看的可以用Google百度一下。知乎上也有这样的讨论,我的回答:

1、Mac OS X是基于Unix的,这一点对程序员太重要了

2、良好的开发环境,除了xcode外,还有c/java/perl/python/ruby等,还有shell,全部自带,浑然天成

3、大爱vim

4、不需要安装杀毒软件

5、很少重装系统,系统也很少变慢,安装程序极其方便

6、快捷键、UI就不说了

......

具体链接:http://www.zhihu.com/question/19596099#62177

还可以参考:

 
我在微博上的一些引发讨论的推:
一个有趣的发现是,使用win非常熟练的老鸟,转到mac会很别扭,因为win的环境和mac区别很大,熟练的人往往依赖自己搭建的环境。反而是win菜鸟,一转到mac,会有一种,“嚓,原来这才是电脑”的感觉。
现在人们看到iOS、Mac OS X技术如日中天,其实基础是90年代初打下的。当时乔帮主成立了NeXT公司,一帮天才程序员搞了一套基于Objective-C语言的NEXTSTEP操作系统,也就是后来的Mac OS X和iOS的前身。在20年后Objective-C及其相关技术名满天下,开发出炫目的应用时,我们只能敬畏的惊叹,这也太tm超前了。

引子——从Mac OS X的Lion说起的更多相关文章

  1. VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2

    原地址:http://zengwu3915.blog.163.com/blog/static/278348972013117114742496/ 所需软件1.VMware Workstation Bu ...

  3. VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程

    VMware虚拟机安装Mac OS X Mountain Lion 10.8.2所需文件:1.Vmware 9.01版下载:点击进入2.Vmware 9.01版汉化文件:点击进入3.VMware Wo ...

  4. Mac OS X Mountain Lion安装Bochs

    基本步骤可以看这个帖子 http://hi.baidu.com/any_where/item/990c0acdfbd6542c47d5c003 大体是: 1.安装x11; 2.开启Mac OS X的r ...

  5. ☆ ☆ VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程 (转)

    参考  http://diybbs.zol.com.cn/1/34037_699.html 然后对安装的Mac系统进行升级到最新版本. 安装mac系统之后,再安装VMTOOLS darwin. 方法可 ...

  6. 在Mac OS X苹果lion系统上制作USB启动盘

    本文翻译自:http://evan.borgstrom.ca/post/1314205955/osx-bootable-usb-from-iso 我也就不按照原文上一句句的翻译了,只说几个比较重要的步 ...

  7. VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程

    http://unmi.cc/vmware9-install-mac-os-x-mountain-lion 非常详细,赞一下 本教程是在 VMware 9 下安装当前最新版的 Mac OS X Mou ...

  8. 开始使用Mac OS X——写给Mac新人

    本文转自博客园:http://www.cnblogs.com/chijianqiang/archive/2011/08/03/2126593.html 写这篇文档的原因有两个,一.身边使用Mac的朋友 ...

  9. 【转】开始使用Mac OS X——写给Mac新人

    写这篇文档的原因有两个,一.身边使用Mac的朋友越来越多,经常会有人来咨询一些常见的使用问题,比如:“为什么把界面右上角的红色按钮叉掉,程序还没有关闭?”之类.而且我也不愿意看到很多人使用OSX时仅仅 ...

随机推荐

  1. 一步步教你编写不可维护的 PHP 代码

    译者注:这是一篇很棒文章,使用有趣的叙述方式,从反面讲解了作为一个优秀的 PHP 工程师,有哪些事情是你不能做的.请注意哦,此篇文章罗列的行为,都是你要尽量避免的. 随着失业率越来越高,很多人意识到保 ...

  2. (二) solr 索引数据导入:xml格式

    xml 是最常用的数据索引格式,不仅可以索引数据,还可以对文档与字段进行增强,从而改变它们的重要程度. 下面就是具体的实现方式: schema.xml的字段配置部分如下: <field name ...

  3. js交互

    Js和native交互的方法与问题 实现JS和Native交互有两种方式: 第一种:shouldOverrideUrlLoading(WebView view, String url) 通过给WebV ...

  4. Opencv算法运行时间

    使用getTickCount() 需要导入命名空间cv,using namespace cv; double t = getTickCount(); funciont(); double tm = ( ...

  5. PHP将对象转换成数组的方法(兼容多维数组类型)

    /** * @author gayayang * @date 2012-8-21 * @todo 将对象转换成数组 * @param unknown_type $obj * @return unkno ...

  6. spring调用方法(接口和多个实现类的情况)

    以spring框架注入bean说明接口TestService 有2个实现类 TestServiceImp1 @Service("TestService1") ,TestServic ...

  7. lr自带网站WebTours打不开

  8. 同一个IP不同端口号使用session失效

    背景 我有两个工程projectA.projectB,projectA放在TomcatA中,projectB放在TomcatB中,TomcatA.TomcatB在一台server上. 工程都映射的根路 ...

  9. thinkphp3.2开启静态缓存与缓存规则设置

    网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力.在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可. 静态缓存   首先设置 H ...

  10. console在ie下不兼容的问题(console在ie9下阻碍页面的加载,打开页面一片空白)

    在页面中加入以下代码: window.console = window.console || (function() { var c = {}; c.log = c.warn = c.debug = ...