原文链接:How ARM has already saved Apple - twice by William Gallagher

Apple 可能开始将 Mac 电脑换用 ARM 架构的处理器,其实在过去的 30 年里 Apple 与 ARM 多方位业务紧密合作,而且这些合作对 Apple 挺过低谷贡献极大。

Apple 计划将 Mac 迁移到 ARM 架构的坊间传言已经持续了 10 多年。然而这一步源起 30多年前。

Apple 从 ARM 的合作收益在 iPhone 和 iPad 业务中显而易见,但这也是 Apple 熬过难关的原因。

从 1997 年重回 Apple 担任临时总裁到 1999 年推出 iMac 的这段时间里,斯蒂夫•乔布斯为了扭转公司的困境作了两大公开举措。据报道,当时再过 90 天,Apple 就得申请破产了。不过,乔布斯成功说服微软向 Apple 投资 1 亿 5 千万美金。

很可能微软投入资金的更直接效益在于比尔•盖茨同时承诺在未来 5 年内为 Mac 平台持续开发软件。这些才是助力 Apple 扭转局面的因素。

与此类似,乔布斯的另一个公开举措是取消诸如 Newton 掌上个人助理的项目。此举随即引发了强烈抗议,然而,大家可能忽视了 Newton 设备使用的也是 ARM 处理器。与此同时,乔布斯开始出售 Apple 持有的 ARM 股权。

此举帮助 Apple 获得了足够资金。此即 ARM 第一次 拯救 Apple。

→ 继续阅读

原文链接:How to Email by James Hamblin

一条与时俱进的礼节:言简意赅最可贵

最近我把写邮件的时间缩减了一半,而且我的方法应该适用于很多人。

毋庸置疑会有一部分人因此讨厌我,因为这种写邮件的方式给对方的感觉是唐突无礼。但如果所有人都能以这种方式处理电子邮件,他们也就不会将我的建议视为粗鲁举止了。这些基本准则对我而言有效,因此我提议全世界立即采纳它们。

不要使用结束语

此致……,恭喜……,谢谢……

上述这样的结束语请全部弃用。如果觉得邮件结尾光秃秃的、不自然,你可以在结尾加上自己的名字。一旦这项规则成为常态,应该就不会出现这种感觉了。

→ 继续阅读

原文链接:A hiring test I’d like to run by Terence Eden

(为了避免质疑,我事先声明我的本职工作不是招聘。本文描述的这个测试很可能存在深层次的缺陷,甚至可能导致你一怒之下发推文批评我。)

先听我讲个故事吧!

上世纪 90 年代末,我作为一名青少年,通过一个临时工机构申请了多份临时工作。这个机构先要求我参加一个有关微软办公软件的测试。这种测试你们应该再熟悉不过了,录入一些数据、为一封信函加上一些格式、或者执行邮件合并。

端坐在一台呼哧呼哧地运转的 486 电脑前,两手搭在满是烟渍的键盘上,我心想这无需担心。“Word 2.0 和 Word 6.0 的全部操作我都掌握了!”

CRT 显示器突然亮了起来,Microsoft Word 很快出现在显示屏上。但这却不是我熟知且喜欢的 Word 程序。它是 97版 Word。我完完全全不熟悉它。一封写给客户的信件随即出现。

屏幕上提示 “把客户的姓名调成粗体”。

“这太简单了吧!” 我立马选中客户姓名并按下了键盘快捷键 CTRL + B

“哔哔哔”, “操作错误。你还有两次机会。”

设计这个测试人一定有一种精确的预期操作方式。于是我点击了标有粗体 B 的按钮。这次没问题了。

接下来我把一些文本改成斜体、为另一些文本添加列表标符、调整缩进,然后又有新的问题把我难住了。

“把纸张大小调整为 A4”。

呃……这应该是在文件菜单还是编辑菜单里?都不对!在格式菜单里?我把光标移动到文件菜单上,但是胆小的我最后点击的是编辑菜单。

“哔哔哔!”

好吧,好吧。我又损耗一次机会,最终在他们期望的子菜单里找到了对应的选项。

真是很令人愤怒 :angry:!测试继续如此进行。每个我知道的键盘快捷键都不能用。如果我不能立即找到某个选项的准确位置,系统就会发出警报。

→ 继续阅读

原文链接:JavaScript Asynchronous Programming and Callbacks by Flavio Copes

默认状态下 Javascript 处于同步模式,并且仅有一个线程。这就意味着不能通过代码创建新的并行线程。本文将讨论异步代码的含义及形态。

编程语言的异步性

电脑本身即是异步状态的。

所谓“异步”指的是事件的发生可以独立于主程序之外。

现在的消费者级电脑中,每个程序运行一段时间,然后停止运行,另一个程序继续运行。这种交接过程快到无法察觉以至于我们认为电脑是同时运行多个程序的,但这仅仅是一个幻觉(多处理器的设备除外)。

程序在电脑内部通过向处理器发送一种信号获取系统的注意,这种信号被称为 中断

在此不对 ‘中断’ 进行详述,但是请记住一点程序在正常情况下是异步运行的:在需要关注之前它们会暂停执行,这时电脑可以执行其他任务。当一个程序在等待网络请求的响应时,它不应该阻止处理器运行其他程序。

通常,编程语言是同步模式的,C、Java、C#、PHP、Go、Ruby、Swift、Python 都是默认处于同步模式。有些语言自身或者通过软件库提供管理异步编程的机制。也有些语言通过线程处理异步运行。

→ 继续阅读

原文链接:To www or not to www – Should you use www or not in your domain? by Bjørn Johansen

在过去的 20 多年中,大家对在网站主机名中是否应该包含 www 这个话题争论不休。那么到底是否应该在主机名中使用 www 呢?

历史背景

尽管大家通常把 “域名” 和 “主机名” 视作相同的概念,但它们之间是有区别的,而且这些区别不仅仅是单纯字面上的区别。相关的描述可简化成如下内容:

作为一名 IT 管理员,你的网络即为你的网域。自然地你会给这个网域起个名字,并提供与之配套 DNS (域名解析服务器),为此,你注册一个域名,例如 “example.com“。现在,在这个网域中,你会配置你的多个主机。每个联网的机器都被视为一个主机。用于提供万维网 (World Wide Web)文档的主机会在这个网域中使用 “www” 作为主机名,因此这台主机的完整网域名称 (FQDN)是 “www.example.com”。你应该对你的网络中其他主机作类似的设置,无论你是否架设了网络服务器。这就是通常你的网域中主机的组织方式。

为了访问 “example.com“ 网域中的网络服务器,你会访问名为 “www.example.com” 的主机。顺带提一句:在互联网发展初期是不存在虚拟主机这类技术的。所有的网络服务器仅为一个网站(至少对于每个 IP 地址是这样)提供服务。那时主机名的设置无关紧要,只要主机对应的 IP 地址设置正确就够了。

对于域名解析服务器而言,“纯粹网域名称”,即网域名称去掉 “www“ 的部分,被称为 “原点“。 上世纪 90 年代互联网开始盛行之际,一些 IT 管理员开始将 DNS 原点指向与 “www” 主机相同的 IP 地址。如此一来,网站访客只需要在浏览器中输入 “example.com” 而不是完整的主机名 “www.example.com”。

→ 继续阅读