我最近开发了两个小工具分别是 dir2casthomebrew-leftover-scanner

离开 LeanCloud

从我 2015 年 加入 LeanCloud 已经 7 年多了,这是我人生中非常重要的一段时间,第一次独居、和蛋黄恋爱结婚、辗转三个城市、有了自己的积蓄、新冠疫情和封控,都发生在这期间。

我在 LeanCloud 一直在做 云引擎,加入公司两年后我就成为了这个产品的负责人。实际上在之前我就对后端托管很感兴趣,在 LeanCloud 这些年也是 Serverless 飞速发展的一段时间,我深度地参与到了云引擎的每一个方面 —— 无论是产品的设计、项目的管理,还是后端开发和运维这样的技术工作,尽我所能实现了这样一个适合于 LeanCloud 的产品形态,我也很高兴公司能在这个产品上给予我非常大的「自由发挥」的空间。

在这样一个技术主导、时间跨度接近十年的项目中,给了我一个非常好的舞台去实践我的软件工程知识 —— 在开发功能的同时,我不断地在用我最新学到的知识来进行重构,为一些脆弱的实现寻找彻底的解决方案、降低代码的复杂度,用各种不同的方式来编写测试、文档、提升可观测性。同事们也都认可我在这些方面的努力,与大家的讨论也总是会给我带来新的想法。

江宏将 Google 的「工程师文化」带到了 LeanCloud,构建了一个对内透明、能够进行坦诚沟通的工作环境,并坚持执行了这么多年,实属不易。这样独特的文化也聚集了一群聪明、专业的同事。因为我的上一家公司番茄土豆同样非常独特,所以其实我是很晚才意识到 LeanCloud 的特别之处,意识到能和这样的同事一起工作是多么难得的事情。

在被收购后我在很努力地了解大公司工作的方式,但大公司终究难以兼容之前的团队文化,并有着它自身的「大公司问题」,随着业务重心和管理风格的变化、很多一起工作多年的同事的离开,这份工作逐渐变得不那么特别了。

同时,这么长时间地在一份工作上也让我在业余时间少了很多创作的灵感。因为工作本身就会占用大量精力,加上工作中的开发有着更强、更确定的正向反馈(其中最大的当然是按时间计算的工资),导致相比之下更难在业余项目上集中注意力,有点类似于 Overjustification effect 中所描述的,因为外部激励过强影响到了人内在的兴趣。

所以我觉得是时候离开寻求一些变化了,接下来我会休息一段时间,然后和蛋黄一起去加拿大学习、工作,之后的一段时间对我们来说应该会充满未知与挑战。

为什么我选择 Apple 设备

在最近几年,我发现自己渐渐买齐了差不多所有的 Apple 设备,我使用 MacBook Pro 在写这篇文章、工作时使用 Mac mini、手机是 iPhone、手上戴着 Apple Watch、使用 AirPods 听播客、在床上用 iPad mini 看视频,蛋黄同样也有自己的 iPhone、MacBook Air、iPad Pro 和 AirPods,我们家里还有一个 HomePod mini。

数据安全与隐私

我选择 Apple 的第一个理由是数据安全,iPhone 和 Mac 都是在业界率先普及全盘加密,并在近些年开始使用硬件安全隔区(Secure Enclave)强制加密的。就像 Apple 的很多功能一样,因为其对软硬件的垂直整合能力,Apple 可以在其所有品类的设备上,提供水平相当的数据安全保证。Apple 也在其在线服务中尽可能使用端到端加密,iMessage、健康、家庭等功能此前已经是端到端加密,2023 年起包括备份、文件、照片、备忘录、iMessage 聊天记录在内的几乎所有 iCloud 服务也都支持了端到端加密(Advanced Data Protection)。

在隐私保护方面,Apple 也是最特别的一家厂商 —— Apple 八成以上的收入来自于消费级硬件的销售,这也是 Apple 唯一的主营业务。这意味着 Apple 的商业模式决定了,相比于主要收入来自于广告和增值服务的互联网公司、相比于消费者业务仅占收入一小部分的软件公司,Apple 更有可能与消费者站在一起。

因此 Apple 的设备上你几乎见不到广告,Apple 也不会帮助第三方收集行为数据和投放广告,在互联网公司千方百计地希望你将数据上传到云端时,Apple 则是唯一坚持设备端机器学习的厂商 —— 将(明文的)数据留在设备端,使用设备端的机器学习芯片来提供 AI 能力。

我知道在一些人看来 Apple 不配于谈隐私,如果注重隐私的话应该使用能够自己掌控所有数据的开源方案。但我仍希望选择一家商业公司来获得更多便利和保证,Apple 则是其中最好的一个选择。

软件生态

对于大部分普通用户来说,Apple 最吸引人的是它的第一方软件生态,这些软件和系统、硬件有着深度的整合,有着非常不错的跨设备使用体验,也贯彻了前面提到的对数据安全和隐私的保护,以及 Apple 的对美学、工具和创造、社会责任和家庭等方面的追求。

照片可能是普通人在工作之外所产生的最多的「数据」了,Apple 在自己的生态内提供了一套无缝的照片管理体验。包括对 Raw 和 HDR 的支持、够用的照片编辑功能、对照片进行分类和搜索、用 AirDrop 或共享相册来分享照片等等。对照片的改动可以通过 iCloud 同步到所有设备上(包括手机、平板和电脑);但你也可以选择不使用 iCloud,因为所有的功能(包括机器学习驱动的功能)都是可以本地使用的。

这种贯穿所有设备的一致体验在所有第一方应用上都有体现,比如我平时每天都会用到的 Safari、备忘录、邮件、地图、播客等应用,虽然相比于更专业的第三方应用,这些系统内建应用的功能都比较有限,但它们共同保证了 Apple 设备的体验下限。曾经摄像头对我来说也是「扫个二维码而已」,但正是因为 Apple 提供了这样的照片拍摄、整理、处理的体验,才让我在最近几年慢慢喜欢上了摄影。

Apple 对于第三方应用有着非常强的控制,或者换一个角度来说是 Apple 非常善于搭建一个生态让第三方应用能够接入其中,权衡哪些部分应该由系统控制,哪些应该由应用发挥。例如 CloudKit、MapKit、HomeKit、HealthKit 这些框架为第三方应用的开发提供了便利,让第三方应用之间能够互相配合工作,降低用户的学习和迁移成本。出现新的软件或硬件功能时,也可以让第三方软件自动或简单地接入。所以我觉得不能简单地把 Apple 的生态描述为「封闭」,设计一个受控制但又能发展出繁荣生态的系统是非常困难的。

对于开发者来说,macOS 上有着社区驱动的 Homebrew,我几乎所有的软件都是用 Homebrew 安装的,可以让所有软件无论是 CLI 工具、各类 SDK 和 Runime 还是 GUI 应用都处于管理之下,可以一键安装、升级或卸载。因为 Homebrew 主要被使用在开发环境而不是生产环境,所以它会类似一些滚动更新的 Linux 发行版,通常只对最新版本的软件提供支持,刚好符合我的需要。

对于独立开发者来说,Apple 生态有着简单的学习路径、清晰的盈利模式,也正是因为如此,Apple 平台上有着大量高质量的独立软件,充分发挥比如 iPad、Apple Watch、Apple TV 这样的设备形态的独特优势。

硬件

Apple 在每个产品线上仅提供少量的 SKU,无论是不同产品线还是前后的两代产品,其设计都有着非常强的延续性。就我个人来说我更偏好这样有着清晰产品路线和规划的厂商,由厂商来对各种设计进行权衡,消费者只需做很少的选择。

因为 Apple 单个产品极大的出货量,Apple 是目前市场上为数不多能真正地按照自己的想法来决定产品的技术方向的公司 —— Apple 可以投入更多的资源去研发新技术,供应链的上下游也愿意配合 Apple 去将新技术落地。对于消费者来说,极大的出货量带来的好处则是更长的硬件支持时间、在遇到问题时更多的资料和配件,以及保值的二手价格。

实际上 Apple 也确实是在按照自己的标准在做硬件。你很难用其他厂商们都在竞争的屏幕刷新率、电池容量、相机像素数、内存容量去衡量 Apple 的产品,在很多配置参数上 Apple 确实并不占优,因为 Apple 的卖点始终都是包括软件功能在内的综合体验,硬件是为体验服务的,而不是为了与其他厂商竞争的。

不过作为一家公司,Apple 必须要让愿意花更多钱的客户能够有理由花更多的钱 —— 在 SKU 比较少的情况下,Apple 选择了用扩展内存和存储空间达到这一目的,这也是被很多人诟病的一点。

垂直整合

前面聊了几个具体的方面,但如果说有一个最本质的原因导致了这所有的结果的话,我觉得就是「垂直整合」。所谓垂直整合就是指 Apple 一家公司同时完成硬件的设计和制造、操作系统和第一方应用的开发维护、提供 iCloud 这样的软件配套服务,最后还通过 App Store 控制着第三方软件生态。

这种垂直整合使得 Apple 能够对其产品在消费者手中的体验有着完全的控制,贯彻一致的产品设计逻辑,同时也对所有的体验负责。因此 Apple 并不急于使用新的技术去与其他厂商竞争,而是可以以自己的节奏进行打磨,推出系统性的解决方案(例如 Mac 到 ARM 的转型、未来的 visionOS)。

所以说 iPhone 的对手并不是 Android,而是每一个 Android 设备厂商;Mac 的对手也不是 Windows,而是每一个 Windows 设备厂商,而整个 Apple 在个人计算设备领域则完全没有相同体量的对手。

2022 年度小结

2022 年疫情防控愈演愈烈,我们从三月开始经历了两个多月足不出户的严格封控。上海的封城可以说是非常严格,在一开始的半个月中物资供应受到了不小的影响,无法买到自己想要的食物,而除此之外的非生活必需品,更是直到六月解封才恢复正常。就在这样荒诞、焦虑和对未来的不确定的情绪中,我们浑浑噩噩地度过了这两个月。

但好在封城的这段时间我下定了决心要把英语学好,相比于之前几年断断续续、晒网多过打渔的学习,今年虽算不上高强度,但至少是持续性地在学习。我大量地增加了英文内容的输入:全部改听英文播客、对于英文视频直接看原视频而不是翻译、阅读英文的技术书籍和博客。为了弥补我词汇量的短板开始改用英英字典,除了去查见到的每一个单词之外,也专门背了一些单词。我甚至在封城期间甚至报名了一个线上的英文课程,但随着封城的结束生活回到正规,也因为工作方面的变化,这个课程并没有上完。

封城结束后,上海则开始要求 72 小时的核酸阴性证明,我们也开始了差不多两天一次核酸检测的生活。在此之前我只在去年和公司一起去桂林时做过 2 次核酸检测,而在今年一年我们就做了超过 100 次的核酸检测。但即使是这样,因为奥密克戎极强的传染性,在接近年底时,「动态清零」变得越来越难以持续下去,终于在 12 月 7 日随着「新十条」的发布,接近三年的疫情防控措施划上了一个句号,大家很快地就回到了正常的生活轨迹。

在「新十条」发布后,我和蛋黄马上就计划了去沈阳的行程,在沈阳领了结婚证。因为我们彼此早已确认我们会一直生活在一起;因为无论是客观原因,还是我们自己都不希望婚姻是很多人说的「两个家庭的事情」 ,而就是我们两个人的事情;也因为我们都很清楚接下来我们会有更大的挑战要面对,所以结婚这件事更像是我们旅途上的一个小站点 —— 然后就在我还没来得及回味更多时,在沈阳的最后一天我开始发烧,第二天顶着高烧回到了家里,之后通过抗原检测 确认了是新冠感染,这趟行程是如此地匆忙,等回过神来已经到了 2023 年。

三年的疫情重塑了我们每个人对于「风险」的认知,有人会冒着隔离和封城的风险继续旅行,也有的人会选择留在熟悉的城市或稳定的工作。随着阅历的增加,我们能越来越全面地预料到一件事情的风险,或者说其实去做每件事情都是有风险的。总的来说我觉得我自己在这三年中表现得过于谨慎,而我本来不应该是这样一个畏首畏尾的人。

这一年工作上面也发生了很多变化,很多一起工作多年的同事离开了我们。在外部环境好的时候大家当然都很开心,但当大公司面临压力时,这种压力自上而下传导时就会走样,好不容易建立的文化也会很快地被破坏掉。总的来说这一年的工作让我觉得不是很有成就感,花费了很多时间在难以对自己、公司或社会产生价值的事情上。在接下来的一年中,我希望自己能将之前仍有维护价值的 side project 捡起来,同时在开始新的项目时能够快速试错,用上我这么多年积累的工程经验,看看能否在几年内实现我理想中的自由职业。

今年我购买了我的第一台可更换镜头的相机 EOS M6 Mark II 和几支镜头,也拍摄了很多照片。此前我的照片一直是放在 iCloud 上的,编辑、整理、同步的体验非常好,但随着照片接近 200G 的容量上限,我花了一些时间去 寻找基于 NAS 的管理方案。但这些方案和 Photos 的差距实在是太大,再加上 iCloud 发布了 Shared Photo Library 和 Advanced Data Protection,最后我还是选择了升到 2T 继续用,NAS 仅作为备份使用。在近几年我开始越来越喜欢拍照,除了每张照片都是一个创作的过程中之外,整个照片库也是一个有关数字化的回忆的作品,所以我一直很重视照片库的管理,也是为什么只有 Photos 能够达到我的需求。

此外今年还购买了我的第一个全面屏手机 iPhone 13 mini 和 Steam Deck,也遇到了 Persona 5 这样相见恨晚的游戏,算是这沉重的一年中的一点色彩。

12384

精子生于 1995 年,英文 ID jysperm.

订阅推送

通过 Telegram Channel 订阅我的博客日志、产品和项目的动态:

王子亭的博客 @ Telegram


通过邮件订阅订阅我的博客日志、产品和项目的动态(历史邮件):

该博客使用基于  Hexo  的  simpleblock  主题。博客内容使用  CC BY-NC-ND  授权发布。最后生成于 2023-09-21.