我又装了一次机

如题,我又装了一次机。意思是,我自己攒了一台组装电脑,然后自己装了系统,不是一个,而是 Windows 和 Linux 俩。上一次干类似的事大约是 2004 年。

总的感想是:这个行业虽然算不上“一日千里”,但十几年的时间还是改变了不少东西:Windows 再也不是那个每次重启都有可能起不来的玩意儿,Linux 再也不是要折腾一天才能访问中文网站并差强人意地播放音视频的怪兽。然而也有些事情似乎永远也不会变,比如 Mac 无论多么优雅强大,显卡以及显卡的驱动永远跟不上时代——这也是我这次装机的动机:我要深度(wán)学(yóu)习(xì)啊!

本着 一步到位安静小巧 两大原则,装机配置如下:

read more

软件开发外传(三篇)

编程之禅1

听到一阵骚乱,编程大师走进学徒的小隔间。

“这些该死的电脑!” 学徒正在怒吼,“为了让它们干点事儿我就要用上三、四种编辑器,他们经常把我搞晕,一发晕我就把整个文件都删了,这完全无法忍受啊!”

编程大师注视着学徒,“那么你打算怎么拯救自己呢?”

学徒思考了一会儿,答道:“我要开发一个全新的编辑器,一个完美的编辑器换掉所有其他的!”

编程大师突然出手敲了学徒脑袋一下,不是很重,但是学徒还是吓了一大跳,“您为什么要打我…”

“我一点儿也不想再多学一种编辑器。”大师答道。

突然之间,学徒明白了点什么。

Geoffrey James Book 4 Chapter 6, The Zen of Programming

read more

炉石传说入门

引子

不知不觉我已经玩了四个多月的炉石传说(HearthStone: Heroes of Warcraft)了,随着全球各服进入公测,势必会有越来越多的朋友加入,其中不少应该是没有什么卡牌游戏基础的,为了帮助大家尽快迈过刚开始的门槛,更好地体验这款优秀游戏,我决定借着春节宅在家的时间编写这篇入门指引,希望对朋友们有所帮助。

炉石传说是一款虚拟卡牌游戏,玩家收集虚拟的卡片,然后构建强力的牌组来与其他玩家进行回合制对战。其基本概念来自传统桌面游戏的一个分支:集换式卡牌游戏(TCGs,trading card games),其典型代表是万智牌(Magic: the Gathering)和游戏王(Yu-Gi-Oh!),暴雪尝试通过简化规则和抛弃实体卡来扩大潜在玩家群体,并借助魔兽世界(WarCraft)庞大的传说(lore)资源和爱好者群体,建立一个休闲为主、兼顾竞技的数字化卡牌游戏平台,也是暴雪进入免费网络游戏和游戏微支付盈利模式的又一次尝试。到目前为止游戏取得了不错的成绩,但也出现了一些问题,其中之一就是相比暴雪其他游戏,炉石传说具有一定的入门门槛:虽然即使什么都不知道也可以在开始阶段获得很多乐趣,但是稍微深入一点就会遇到不少问题,这主要是因为卡牌游戏本身比较小众,这时候了解一些卡牌游戏的基本概念会很有帮助,这也是本文的主要目标。

本文分为两个大的部分,第一部分我摘译了来自著名电竞社区 TeamLiquid 的一篇非常棒的入门指南 “A Beginner’s Guide to HS Terms”,这篇文章由资深的万智牌玩家编写,是我看到过的对卡牌游戏基础概念解说最为精到的文字,不仅可以帮助新手快速理解卡牌游戏的核心概念,也有助于更好地融入游戏社区。第二部分则是结合我自己的游戏经验,谈谈如何在炉石传说的构筑卡组对战(Play mode)中走的更远。

因为我自己主要在美服玩,同时为了照顾国服玩的朋友,下文中提到的卡牌都提供了中英对照的名称,并附有来自 HearthHead 网站的浮动图片显示。另外在第一部分的摘译中我也对原文进行了少量的更新以适应目前的环境,并增加了许多针对中文玩家的说明,有条件的朋友如有兴趣可以阅读下原文。

read more

Merry Christmas, from My iPhone

明天就是圣诞节了,在这里跟各位朋友提前说一声“圣诞快乐”。年末商战渐入高潮,看了几支大品牌的圣诞广告,有点感想没法在几条推里说完,就在这里和大家分享吧。

首先是 Apple 为其 iPhone 5s 制作的电视广告 “Misunderstood”,如果还没看过的话,可以在 Apple 的 YouTube 官方频道观看。这支长达 1 分半钟的广告讲述了一大家人的白色圣诞节,主角是一位略显内向羞涩的少年,他一边和家人一起参与各种活动,一边无时不刻地摆弄着自己的 iPhone 5s 智能手机,似乎是在说科技产品让人之间疏远?当然不是,最后少年在圣诞早晨打开大屏幕电视,用 iOS 的 AirPlay 功能在电视上播放了自己这些天拍摄和剪辑的视频,里面记录了大家族团聚的各种难忘瞬间,最后在感人的催泪弹中结束。同时 Apple 还在自己的官方频道上传了一段长度约 2 分钟名为 “A Harris family holiday” 的视频,基本上是广告里少年所制作的视频的完整版本(我很好奇这是不是真的完全用 iPhone 拍摄和制作完成的)。

read more

译文:为何 SICP 意义重大

原文Why Structure and Interpretation of Computer Programs Matters
作者Brian Harvey, University of California, Berkeley
译者Neo Lee a.k.a @soulhacker

译者序

Brian Harvey 是加州大学伯克利分校计算机科学专业的教授。2011 年是麻省理工大学(MIT)建校 150 周年,为了庆祝,《波士顿环球报1》准备了一份 MIT 作出的重要创新列表,著名的计算机科学专业入门教材 Structure and Interpretation of Computer Programs (SICP) 名列其中,Brian Harvey 受邀对 SICP 的重要价值和意义书写一份说明,本文就是他当时的回应。关于函数式编程范型的价值和意义,是一个在计算机科学尤其是软件开发领域经常被提出的话题,通常也伴随着这样那样的争论:它深刻的理论背景与内涵、和人们常规思维模型的差异、一直难以流行的宿命引发的“曲高和寡还是不切实际”的争论,等等。我自己可能由于从小喜欢数学的缘故,对函数式编程范型一直很有好感,也深信如另一位大牛,John Hughes 在其名作 Why Functional Programming Matters2(不知道这两篇文章相似的标题是巧合,还是 Harvey 教授有意模仿了 WhyFP)中阐述的,函数式编程有其独特价值,很可能更接近我们追求的更理想的软件工程目标。SICP 从一个侧面似乎也证实了:一种一直没有流行起来的、非常典型的函数式编程语言,作为 LISP 方言的 Scheme,非常好的完成了“给大学一年级新生一个严谨扎实的编程概念基础”的任务,而 Harvey 教授的文章,非常简明、清晰的阐述了 SICP 的创新价值,即使在数十年之后的今天,也没有过时。下面是译文,除了特别标出的唯一一处以外,其他脚注都是我加上的,与原作者无关,请留意。

read more