做公众号里的《纽约客》
戳蓝字一键关注 渡十娘
转发也是一种肯定
快來搶道火爆短片市場!全球華語原創IP電影節徵集令
翻译|老万
编辑|渡十娘
地球人都知道,苹果公司有位厉害的创始人叫史蒂夫·乔布斯,又称乔老爷。可是,知道苹果有三位创始人并且能说出他们名字的就不多了。别看他工作经验丰富,但革命意志极其不坚定,对公司前景极度悲观,干了两个星期就问红旗能够打多久。他合计,十鸟在林不如一鸟在手。与其奋斗,不如躺平。于是,他把自己的全部股份(占全司的 10%)转让给其他两位,换成 2300 美元喜滋滋地出局了。按今天苹果近三万亿美元的市值算,他这一操作导致了三千亿美元的损失,折合 100 薇娅加 150 只独角兽,可谓实力败家的扛把子。说来也巧,苹果公司的另一位创始人也叫史蒂夫(Steve)。这位史蒂夫姓沃兹尼克(Wozniak),设计了苹果最早的几个成功产品,和乔布斯一样对公司贡献巨大。沃大爷年纪比乔老爷大几岁,是大 S 。乔老爷是小 S。在苹果公司,大 S 主要负责技术,小 S 主要管营销。他们各自把擅长的事做到了极致。从这位程序员一个字节掰成两半花的行为推断,他应该是苦出身,从电脑行业小米加步枪的时代过来的。但是论抠门,他比苹果公司的大 S 就必须自惭形秽了。今天我就给大家掰扯掰扯大 S 是如何抠出花的。那是 1976 年,乘着粉碎四人帮的东风,大 S 朝着四个现代化大步奔跑,在苹果 1 电脑成功的基础上开始设计苹果 2。后来我们知道,苹果 2 电脑是苹果公司第一套大火的产品。没有它就没有今天的苹果公司。那年头,电脑还是大公司机房里的高档货,劳动人民高攀不起。但是大 S 不信邪,觉得他可以把成本降下来,让老百姓买得起电脑。他充分发挥从小捣鼓无线电的技能,用各种奇技淫巧节省开支。在这之前,所谓的个人电脑大多只有几盏指示灯做输出,用户要经过专门训练才看得懂运算结果。高档的个人电脑可以外接显示器,但出来的只有单色图像,就像电影《黑客帝国》。电脑显示画面是要占用内存的。当时电脑内存价格不菲。电脑最基本的存储单位是比特(bit)。一个比特可以表示零或者一这两个不同的状态。今天大家知道的比特币(bitcoin)就是向这个电脑的基本存储单位致敬。为了处理方便,通常会把八个比特编成一组,叫做一个字节(byte)。在 1976 年,1KB(1024 字节)内存的价格相当于今天的 130 美元。
苹果 2 电脑支持 280 乘以 192 像素(5 万像素)的“高分辨率”图形显示。(我们今天手机拍照可以有上千万像素,是苹果 2 像素的 200 倍。)当年电脑跑得慢,动画勉为其难。为了实现肉眼可以接受的动画效果,沃大爷给苹果 2 设计了两个图形页面:一个是用户看到的,另一个是隐藏的。通过一条机器指令可以选择哪一页可见。动画要一帧一帧地画。在苹果 2 上,画下一帧图的操作是在隐藏页面上做的。这样用户看不见画的过程。等下一帧全部画好了,再将隐藏页面设成可见,达到瞬间更新的效果。如果是单色显示,每个像素可以有两种状态,要么点亮要么拉黑,所以可以用一个比特表示一个像素。两个 280 乘以 192 像素的页面,每个像素一个比特,需要 280*192/8*2 = 13440 字节,成本要 1700 多美元,不低了。这还只是视频内存这一部分。要显示彩色,常人的思路多半是用更多的比特去表示每个像素。比如两个比特可以表示四种不同的状态(00,01,10,和11),分别对应于黑色和其它三种颜色。但是这样搞内存量要翻倍到 26880 字节,3400 多美元。太贵了。大 S 后来想出来的点子,我觉得是受了《葫芦兄弟》的启发。葫芦娃和爷爷一家八口人,像不像一个字节有八个比特?隐身代表 0,现身代表 1。八口人的隐身/现身状态,正好对应于八个比特的 0/1 状态。
大 S 把一条水平线上的 280 个像素分成 7 个一组,每组交给七个葫芦娃控制,再来一个爷爷领头。这样一共 280*192/7*2 = 15360 字节就行了,成本 1950 美元,比 3400 可是低了不少。隐身-隐身 表示 黑色。
隐身-现身 表示 紫色。
现身-隐身 表示 绿色。
现身-现身 表示 白色。
两个比特 00 表示黑。所以 0-00-00-00-0 就是 7 个黑像素。01 代表紫。0-01-01-01-0 就是 6 个紫色像素加 1 个黑像素。10 代表绿。0-10-10-10-0 是 6 个绿色像素加 1 个黑像素。11 是白色。0-11-11-11-0 就是 6 个白像素加 1 个黑像素。这几种套路可以任意组合,比如 0-11-01-10-0 就是 2 白 2 紫 2 绿 1 黑。
两个葫芦娃一对,那七娃单一个咋算?没关系,他和下一家葫芦娃的大娃配一对。两个字节 0-11-01-10-0 和 0-1-10-11-00 啥意思?还是每两个像素一对。
当然,只有黑白紫绿,这色彩还是不够丰富。这时候就该爷爷出手了!大 S 规定,要是一个字节里面爷爷现身,那么像素的颜色遵循以下规则:隐身-隐身 表示 黑色。
隐身-现身 表示 蓝色。
现身-隐身 表示 橙色。
现身-现身 表示 白色。
1-10-01-11-0 就是 2 橙 2 蓝 2 白 1 黑。
问题来了:黑白颜色在爷爷隐身的时候就能表示了,为啥在爷爷现身的时候还要浪费 00 和 11 来继续表示它们?表示其它两种颜色不好吗?黑白非常重要。如果一个字节里面爷爷出现的时候无法表现黑白的话,对画面有很大的限制。
大 S 不光对内存抠门,设计彩色显示硬件的时候一样抠门。这种色彩编码方案硬件成本比较低。
由于沃大爷的精打细算和非凡才智,苹果 2 以亲民的价格一炮而红。虽然在画面显示上有种种限制,大家都表示忍了。沃大爷在该优化的地方优化,以一种匪夷所思的方式设计出彩色电脑,引爆个人电脑革命,成就了今天全球市值最高的高科技企业。某软程序员在不该优化的地方强行优化,以一种哭笑不得的姿势埋下定时炸弹,在 2022 年的第一天爆雷,成就了段子手的狂欢。我们今天学习沃大爷的创新精神,抠要抠在痒处,不可生搬硬套买椟还珠,学成了精神病而不自知。切记:若为战术精明洋洋自得,必因战略愚蠢引火烧身。
图片 I 网络
整理 I 编辑 I 渡十娘
清单内容来自 I 老万
版权归原作者 I 如有侵权 I 请联系删除
发现 I 家庭 I 乐趣
想每天与渡十娘亲密接触吗?
喜欢?粉她!