升级到 Mac OS X 10.10 Yosemite (Beta)

上周四苹果发布了 Mac OS X 10.10 Yosemite Beta 公开测试版,如果你提前加入了 OS X Beta Program 的话会收到邮件,按照提示提取或手动输入 Redemption Code 后就可以下载安装了。和升级 Mac OS X 10.9 Mavericks 时候一样,升级 Mac OS X 10.10 Yosemite 直接通过 App Store 就可以完成。

目测改变最大的是界面,继续向扁平化、iOS 7 风格靠拢,菜单字体也变了。自己用得最多、最在意的两个程序是 Safari 和 Terminal.

Safari.app 改进挺大,终于加上了 Google Chrome 几年前就有的 “直接在地址栏搜索”,因为从来不关机,所以浏览器经常会有 n 个 tab 页放在那里,时间长了这些 tab 不容易找,单从 tab 上面的 title 没法快速识别自己要找哪个 tab,Safari 菜单上的 show all tabs 能快速预览所有 tabs,正是我想要的。

Mac OS X 10.10 Yosemite

Terminal.app 没有多大变化,依然没有 iTerm2.app 那种多窗口切分功能,只能依靠 tmux 做窗口、会话切分。

Calendar.app 也是常用的 app,这年头记不住事,全靠 Calendar/Reminder/Notes/Timer 之类的工具。不知道大脑退化是否和这些 app 有关,反正自从可以用电脑打字以后,很少碰过笔,现在拿笔写出来的字惨不忍睹~,不知道大家还记不记得曾经有 “书法” 这个词~

Mac OS X 10.10 Yosemite

Spotlight 功能大大加强,而且搜索的速度大大提高,也可能是因为硬盘是 SSD 的缘故,搜索结果基本上可以做到实时显示。

Notifications 增加了 “Today” 标签页,用户可以在 “Today” 里看日历、提醒、天气、股票、计算器等常用信息,据说苹果开放了 API,第三方程序也可以将信息显示到 “Today” 里,貌似苹果打算这个新的信息展示页面替代老的 Dashboard.

iCloud Drive 可以到 System Preferences -> iCloud 开启,5GB 免费,和 Dropbox 用法一样。

可能因为我的使用习惯是保持系统最简,不怎么用第三方软件,不会出现乱七八糟的软件兼容、干扰等问题,Mac OS X 10.10 Yosemite 公开测试版在我的 Mac 上运行很稳定,完全可以当作正式版用~

修改 Mac 的 MAC 地址

以前在学校下载电影 IP 老是被封,后来进化到管理员封物理网卡地址(MAC),每隔一段时间就得换个 MAC 地址。听说苹果在最新将要发布的 iOS 8 上增加了 MAC 地址随机化功能,也就是说在扫描 Wi-Fi 的时候会随机生成 MAC 地址,扫描完成后才会给出真实 MAC 地址,这个功能可以更好的保护用户的隐私和安全,据说一些营销和数据分析公司会通过免费的 Wi-Fi 收集信息,这点信息也不放过实在可恶,所以在外面用公共的 Wi-Fi 最好加一层 VPN 后再用。

假设在 Mac 上通过 ifconfig 查到 Wi-Fi 网卡接口是 en0,更换一个随机的 MAC 地址一句话就可以搞定:

$ sudo ifconfig en0 ether `openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'`

上面的命令没有加到系统启动文件里,所以每次系统启动后会还原真实 MAC 地址。除非系统出问题,一般不会重启 Mac,平时用 Mac 也没必要关机,一般屏幕一合上就走人~

关闭 Mac 上的虚拟内存

MacBook Pro with Retina display 的标配内存是8GB,这个内存足够日常使用了,考虑到 SSD 硬盘寿命的问题,建议关闭系统的虚拟内存(Swap),避免频繁写入。关闭系统 swap 还可以提高性能(参考 Linux 性能监测:MemoryLinux 性能监测:IO 的 swap 部分)。

查看当前正在使用的虚拟内存:

$ sysctl vm.swapusage
vm.swapusage: total = 1024.00M  used = 354.50M  free = 669.50M  (encrypted)

关闭虚拟内存以后,系统里还保留着这些用作虚拟内存的交换文件,可以删除:

$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

$ sudo rm /private/var/vm/swapfile*

用了一段时间还没有遇到系统不稳定问题,如果发现系统不稳的话可以重新开启虚拟内存:

$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

升级到 Mac OS X 10.9 Mavericks

现在升级操作系统这种在以前看来很麻烦的事情变得越来越简单,就像升级一次应用程序一样。升级 Tiger 到 Snow Leopard 从订购安装盘到完成升级花了几天的时间,Snow Leopard 时代就不需要安装光盘了,直接到 App Store 购买后下载升级,这次升级到 Mavericks 更快,在苹果发布会宣布的同一天就完成了升级,昨天得知 OS X 10.9 Mavericks 免费后惊呆了,立刻 Software Update… 果然看到 FREE UPGRADE 按钮:

OS X 10.9 Mavericks

下载速度很快,5.29GB 的系统镜像下载+安装不到一小时就搞定了。

OS X 10.9 Mavericks

据说新版系统有200多项改进,玩了两下没发现什么特别激动的,小改进挺多,iCloud Keychain 能方便记住各种密码并且自动同步到其他 Apple 设备上,在 Mac 上输入的密码在 iPad/iPhone 上就不用输入了,很方便;Finder 增加了 Tabs,不用开多个 Finder 窗口了;新系统增加了两个比较有用的应用程序,iBooks 和 Maps;Calendar 改进了很多,类似 iOS 7 的界面风格;点击 Battery 会看到哪些应用程序很耗电(Apps Using Significant Energy),这个能方便用户在需要的时候关闭这些程序 …

这次宣布免费的重量级应用还有 Pages, Numbers, Keynote. 苹果把操作系统和办公套件(Mac OS X + Pages/Numbers/Keynote)都免费了,难道不知道微软是靠 Windows + Word/Excel/Powerpoint 吃饭的么?这算不算 “走别人的路,让别人无路可走” 呢~

MacBook Pro with Retina display

上周订购的13寸 MacBook Pro with Retina display 到了,本来13寸的 MacBook Air 也在我这次的考虑范围内,没有选它的主要原因是屏幕,Retina 屏实在好太多了,可以说这是小伙伴们目前在大众市场上能买到的最好笔记本屏幕了,没有之一,好吧,我忘了还有 Google Chromebook Pixel,不过目测感觉一般。也考虑过 15寸的 MacBook Pro (Retina),不过根据上两次的使用经验来看,15寸体积有点大,移动办公的时候不方便,不适合我的工作场景。

对于程序员、IT 屌丝、office lady 或任何每天使用电脑超过6小时的人士来说,好的电脑屏幕不但可以显著提高生产力,还能保护眼睛,说 “屏幕” 能 “保护眼睛” 可能不妥,换个说法,“和劣质屏幕相比,好屏幕能减少对眼睛的伤害”,眼睛很重要,你懂的。

没有选 MacBook Air 还有一个原因(对于我来说)就是太薄,亲,薄难道不是优点吗?有的人可能喜欢轻巧的机器,不过 MacBook Air 在我手里会有种把它折断的担心。

13 寸的 MacBook Air 和 MacBook Pro (Retina) 硬件配置差不多,MacBook Pro 的 CPU 稍微好一点。MacBook Air 标配的是 4GB 内存(可选配 8GB),MacBook Pro 标配 8GB,内存足够用了,同时开几个虚拟机都没问题。SSD 硬盘确实提升了不少性能,一些大型应用程序基本能瞬间打开,感觉很明显,目测都能看出来。

为什么国外程序员爱用 Mac?” 是几年前无意写的一篇吐槽文居然引来近两百个回复,其中不乏一些高质量的评论,实在难得。如果有人要问 Mac 的最大优点是什么?不同的人可能有不同的看法,个人认为,Mac 最大的优点是生产力,Mac 极大的提高了本人的工作效率。通过一流的软件和硬件设计 Mac 帮助使用者简化了操作、简化了配置、简化了界面,大幅提高了使用者的生产力。

Life is short, get a Mac:)

macbook pro with retina display
macbook pro with retina display

把 Time Machine 备份到 FreeNAS 上

Mac 上的 Time Machine 很好用,不过每次备份都要用移动硬盘挺麻烦的。如果有多人使用多台 Mac 能不能把大家的 Time Machine 统一备份到云里或者局域网的某台服务器上呢?我们实验室大部分人都在用 Mac,现在正需要这么一个备份方案。谷歌了一下,发现这种使用 Time Machine 备份到远程电脑的方案是最方便、廉价的了,只需要一台普通 PC 就可以充当备份服务器。

Apple 使用自己的 Apple Filing Protocol (AFP) 协议提供文件共享服务,FreeNAS 刚好支持这一协议(貌似 Openfiler 目前还没有实现 AFP)。在一台服务器或虚拟机上安装 FreeNAS,安装过程很容易,这里省略。

配置 FreeNAS

安装好后进入 web 管理界面创建一个新用户,然后创建一个新 APF 共享, 在左边菜单里面选择 Sharing->Add Apple (AFP) Share,这里需要注意钩上 Disk Discovery 并选择 Disk discovery mode 为 Time Machine:

create a afp share

搞定~

配置 Mac

现在剩下的配置在 Mac 完成,让 Mac 连接刚创建的 AFP Share,点击 Mac 顶部菜单 Go->Connect to Server…,填入 freenas 服务器的 IP 地址 192.168.2.200 连接服务器:

time machine backup

成功连接后会挂载一个 AFP share 盘,然后配置 Time Machine 选择这个盘当作备份盘:

time machine backup

大功告成,等着自动备份吧:

time machine backup

在 Ubuntu 上安装 NX 服务器

远程登陆 Linux 图形桌面有很多方式,比如使用 RFB (Remote Frame Buffer) 协议的各种 VNC 工具,TightVNC, UltraVNC, Xvnc 等,使用 NX 的 NoMachine, freenx, neatx 等。NX 通过 X11 调用来通信,比 VNC 这种通过截图似的通信要快的多,而且安全(通过 ssh),更适合在网速不高(相比局域网来说)的 Internet 上应用。如果你想在 VPS 上使用 Linux 图形界面的话,使用 NX 是一个比 VNC 好得多的方案。

安装 NX 服务器

到 NoMachine 官网下载 nxserver 4.0 到 Ubuntu 后直接安装就可以了,不需要其他的依赖包,这个比以前的 3.5 版本清晰多了,3.5 版本的 NX 服务器要装 nxnode, nxserver, nxclient,这三个名字很混淆人:

$ wget http://64.34.173.142/download/4.0/Linux/S/nxserver_4.0.181-7_i386.deb
$ sudo dpkg -i nxserver_4.0.181-7_i386.deb

安装 NX 客户端

在 Mac 上下载 nx 客户端 nxplayer 4.0 后安装,需要注意的是,nxplayer 是 nxclient 的下一代版本,目前还是预览版,因为 Mac OS X 10.8 上不能使用旧版本的 nx 客户端(nxclient-3.5.0-7.pkg),安装后不能启动,所以这里只能用 nxplayer 预览版。

$ wget http://64.34.173.142/download/4.0/MacOSX/nxplayer-4.0.181-7.dmg

测试

安装完毕后,在 Mac 上启动一个 nxplayer 连接 Linux 上的 nxserver:

nxplayer session

成功连接后输入用户名和密码就能进入 Ubuntu 桌面了:

nxplayer session

分享一些程序员的办公桌

优秀的程序员和普通的程序员之间的生产力差距在10倍到100倍之间。窥视高手的办公桌看看能不能找到高手生产力的秘密,没有高手的智慧和经验但至少不要让自己输在工具上,好的工具真的可以提高生产力,飞机真的比汽车快。看看什么样的环境和电脑帮助这些高手提高生产力的,VPSee 发现有两点值得注意:

  • 最简风格,工具都很简单,大多办公桌上没有乱七八糟的东西;
  • 都用 Mac(有一人同时用 Mac 和 ThinkPad),这个不稀奇,三年前就讨论过:为什么国外程序员爱用 Mac?

Coderwall 是 Y Combinator 最近孵化的其中一家创业公司中,致力于聚合 Geek 们在 Github、Twitter、LinkedIn 等的项目和信息,为 Geek 打造一张“技术名片”。最近 Coderwall 社区分享了几位技术高手的工作平台,以下图片来自 Codewall.

Ilya Grigorik: Google 工程师。

igrigorik

Alex MacCaw: JavaScript 程序员,O’Reilly 作者,目前在 Stripe 公司工作。

alex

Sam Soffes: iOS 和 Rails 软件工程师,Synthetic 前雇员,目前在创业。

samsoffes

Max Howell: Homebrew 的作者。

mxml

Scott Hanselman: 微软工程师。

shanselman

Jeff Lindsay: 开源黑客,Hacker Dojo 创始人,目前在 Twilio 工作。

progrium

Dr Nic Williams: 每个 Ruby 社区的人都应该听过或看过他的作品,贡献了超过100个开源项目,目前在 Engine Yard 工作。

drnic

Phil Haack: 前微软 ASP.NET 程序经理,目前在 GitHub 工作。

haacked

Michael Bleigh: 开发了几个被广泛使用的 Ruby 开源软件库。

mbleigh

Chris Eppstein: Compass 框架作者和 Sass 贡献者。

chriseppstein

分享一个截网页的好工具:Paparazzi!

写博客的时候经常会对网页截图,比如对 VPS 服务商的官方网站首页进行截图等。Mac 自带的截图工具非常棒,截对话框、窗口、桌面都非常方便,可惜抓取网页的时候不能捕捉到完整的页面,现在的网页动不动就需要拖动很长的滚动条,如果整个页面不能在屏幕上显示出来的话就不能被完整抓到,Mac 自带的抓图工具只能抓 “看得见” 的部分。Paparazzi! 是 Mac OS X 上的一款开源(当然也免费)的抓图工具,可以方便截取长度超过一个屏幕的网页,只要输入网址,调整要抓图的大小和截取的大小就能拔一张完整的页面下来,非常好用。

paparazzi!

Mac 和 Windows 的中文字体显示效果

本来这篇和上面的 “把简单的事情做好就是不简单” 是一篇,后来加了更多的对比图片导致文章太长,而且内容不怎么相关,所以分成了两篇。

周末在修改了网站的 CSS、测试浏览器兼容性的时候发现一个问题,中文大字体在 IE 上显示发虚。每次使用 Windows 都会觉得不爽,这次是因为 IE 和字体的问题。朋友去度假看世界杯了,留下一台 Sony VGN-Z12GN,不错的机器,超轻、双核、4GB 内存,可是在 Windows 7 上启动一个 IE 的空白页面就不明白为什么鼠标在那里转啊转,转了十几秒才进入 IE,输入博客地址后发现大字体在 IE 上发虚、很难看,多次调整 IE 里面的字体选项也没用,我不清楚在 Windows 上有没有其他的方法和技巧可以绕过这个问题,在我看来这么基本的问题还需要用户手工调整的话本身就是问题,这种事情发生在 Linux 上是可以原谅的,我们可以找理由说 Linux 是免费的、开源的,需要自己加好看的字体(事实上以前大部分人用 Linux 桌面的时候都会从 Windows 那里 “偷” 中文字体),但是发生在久经考验的商业版 Windows 上就说不过去了。很惊讶 Microsoft 为什么没人解决这个基本的问题:字体,拜托,现在是2010年,字体在我的 iPhone HTC Android 上显示都没有问题。下面两张图分别取自 Mac OS X 10.6.4 + Safari 5.0 和 Windows 7 + IE 8.0,很明显 Safari 上的字体(第一张图片)要饱和好看得多:

font on mac

font on windows

更新:下面有位匿名网友在评论里指出可能和 Win 默认语言 or IE 默认语言 or 字体设置有关,我朋友这台 Sony 是英文版 Windows 7,不知道怎么会出来中日文混合字体(日文渲染,缺的字用中文补?),也许曾经在上面装过日语环境吧。重新让其他朋友在 “Windows XP + IE 8.0 + 新宋体” 截了个图,应该是标准宋体:

font on windows

再次得到下面匿名网友的建议,加上 “Windows XP + IE 8.0 + 微软黑体” 的显示效果:

font on windows

感谢 “匿了” 网友的截图,加上 “IE + 雅黑” 的显示效果:

font on windows

评论里又现一位热心网友 hivpn 的截图,“Windows + 雅黑 + MacTypeTray” 的效果:

font on windows

对比上面6张图片,大家喜欢哪个显示效果呢?抛开技术不谈,个人还是喜欢 Mac 上的效果。90%的用户每天90%的时间里都用电脑来处理文字,字体是如此重要,为什么 Microsoft 视而不见呢?字体真的不算高科技。