通过 RSS、社交网站等途径,每个月自己都能获取不少信息。对于自己阅读过的、有价值的文章,我曾尝试使用过 Instapaper、DEVONthink 等工具进行保存和归档,方便后续回顾和搜索。
后来,我看到有人通过博客等形式,每周分享自己阅读到的文章(例如这个和这个),我觉得这是一种更好的方式,既能定期回顾自己获取的知识,也能同时将这些内容分享给其他人。所以,我也准备尝试一下,通过每月分享的形式,整理自己阅读到的有意思的内容。
当然,这仅仅是一个尝试,后续可能会根据实际情况,改为每周、每两周、或者每两月分享。或者进一步尝试使用个人 Wiki 等形式来进行更系统的整理和分享。
另外对于本文的排版,由于一些原因,无法达到理想中的效果。在后面的文章中自己将尝试解决。
技术类
APFS 与 Fusion Drive
我的电脑曾经使用了 Fusion Drive,将固态硬盘与机械硬盘整合成一个硬盘,并自动将常用文件放在固态硬盘上、将不常用文件放在机械硬盘上,以取得性能和容量上的平衡。
在 macOS High Sierra 上,APFS 成为了 macOS 的默认文件系统,但这个版本的 APFS 不支持 Fusion Drive,也没有对机械硬盘做优化。所以为了体验 APFS,我把我的 Fusion Drive 拆分成固态硬盘和机械硬盘,分开来使用。虽然这样做能充分发挥固态硬盘的性能,但是需要手动维护将文件放在哪块硬盘上;而且 FileVault 只对系统盘生效,另一块硬盘如果想使用全盘加密的话,必须单独打开;另外两块硬盘上的快照是各自维护的,无法整合在一起。总之,对我来说,使用体验上,还是 Fusion Drive 更出色。
macOS Mojave 上的 APFS,终于带来了对 Fusion Drive 和机械硬盘的支持,所以在这个月,我又重新把硬盘设置为 Fusion Drive,同时进一步了解了一下基于 APFS 上 Fusion Drive.
简单说,旧版的 Fusion Drive 是基于 Core Storage 逻辑卷管理器(LVM)的,文件系统不感知、也无法决定将文件放在哪块硬盘上,而是靠 LVM 以 Block 为单位来管理。APFS 上的 Fusion Drive 不基于 Core Storage,而是直接基于文件系统,所以能够根据文件类型,更加「智能」地决定文件存放在哪块硬盘上。具体体现在如下几个方面:
- APFS 能够根据文件类型,决定将哪些类型的文件放在 SSD 上,如果某些类型的文件(例如较大的视频)放在 SSD 上,并不能对使用体验有太多提升,则不会将文件放在 SSD 上
- APFS 将文件的元信息(metadata)全部存放在 SSD 上,加速 Spotlight 搜索和文件属性查看
- APFS 的 CoW 等特性会产生大量硬盘碎片,对机械硬盘有较大的性能影响,个人猜测 APFS 对 Fusion Drive 中的机械硬盘,做过类似碎片整理的优化(只是个人猜测,没找到具体的资料,也没有实际验证)
对于 APFS 和 Fusion Drive 的实现细节,可阅读如下几篇文章:
- macOS 10.14 Mojave: The Ars Technica review – APFS updates for hard drives and Fusion Drives:Ars Technica 对 macOS Mojave 的评测,其中有关于 APFS 的部分
- Introducing Apple File System:WWDC 2016 中对于 APFS 的介绍,也是 Apple 第一次对 APFS 进行了详细的介绍
- What’s New in Apple File System:WWDC 2017 中对于 APFS 的介绍,包括 APFS 的新特性,以及 APFS 对 Fusion Drive 和机械硬盘的支持
- Fusion Drives in APFS
- APFS in 2018
如下文章以开发者角度对 APFS 进行详细介绍:
-
Apple File System Guide:这份文档主要介绍了 APFS 的新特性
-
Apple File System Reference:APFS 的数据结构(根据文档内容,APFS Fusion Drive 中的固态硬盘,似乎是做为缓存盘使用的,固态硬盘中的数据在机械硬盘中也会保存一份,而不是在两个硬盘上来回移动。但文档中对 APFS 的介绍太少,无法详细确认)
-
APFS:介绍 APFS 实现的一份 PPT
对于第三方应用的开发者,可以使用 APFS 的新特性来实现更多功能,或者优化程序的性能,具体可参考如下几个例子:
- Time Machine 的本地快照,在 APFS 上,就利用了 APFS 原生的快照功能
- Protecting data that is already on your destination volume: The Carbon Copy Cloner SafetyNet:Carbon Copy Cloner 的 SaftyNet 功能,使用 APFS 快照实现了数据保护
- The Best Way to Use APFS Snapshots – Disk Drill:Disk Drill 在后续版本中,将支持通过 APFS 快照实现丢失文件的恢复
- Docker Desktop for Mac – FAQs:由于 APFS 支持稀疏文件,Docker Desktop for Mac 在 APFS 上,直接使用
.raw
格式的磁盘镜像,而不是.qcow2
格式。这样可以通过直接 APFS 来管理和释放磁盘镜像中的空闲空间,从而提高性能、并节省空间占用
通过命令行工具,可以实现对 APFS 的高级操作,例如:
diskutil apfs list
:列出所有 APFS 容器,并显示其状态diskutil apfs listSnapshots
:显示 APFS 的快照信息diskutil apfs defragment
:对机械硬盘进行碎片整理,也可以设置为自动整理机械硬盘的碎片
另外,这篇文章介绍了开发者所需要了解的 SSD 基础知识。虽然与 APFS 无关,但也值得阅读:
Windows 10 on ARM
Windows 10 已经支持 ARM 架构,所以之前已经有人在 Raspberry Pi 和 Lumia 950 上运行了完整桌面版的 Windows 10.
但是之前的方法太过繁琐,我并没有尝试。而最近发现的 WOA Deployer 这款工具,能够更加方便地将 Windows 10 on ARM 部署到 ARM 设备上:
在没有 Raspberry Pi 或者 Lumia 950 的情况下,还可以使用 QEMU 来体验 Windows 10 on ARM:
空闲时间我也尝试使用在 Raspberry Pi 上安装了 Windows 10,并意外地发现,Windows Subsystem for Windows 也支持 ARM 架构。同时,我还用鲁大师给 Raspberry Pi 跑了个分😂:
使用 GDB 调试 Linux 内核
下面几篇文章介绍了在 QEMU 或 VirtualBox 上,使用 GDB 调试 Linux 内核的方法。自己平时也会接触一些 Linux 内核态的代码,希望这几篇文章在以后能够对自己一定的帮助。
安全相关
- IoT security 101:物联网安全基础知识
- Practical Cryptography for Developers:面向开发者的密码学基础知识
- How To Secure A Linux Server
- The Evolution of IPsec
其他
- Hacker Tools: MIT 的一系列讲座,具体可见我的上一篇文章:课程推荐:Hacker Tools
- Congestion Control II: CUBIC
- 后端架构师技术图谱
- Getting Started with Filecoin Repos and Devnets:Filecoin 是我之前比较感兴趣的一个区块链项目,最近这个项目终于启动了测试网络
- Introducing 96B Quad Ethernet Mezzanine,带有四个以太网口的单板电脑,且四个网口与 FPGA 相连,似乎很适合用来 DIY 路由器
- Simple Neural Network on MCUs:在单片机上实现一个简单的神经网络
- Delphi 已经 24 周岁了,记得小时候,家里还有一张 Delphi 盗版光盘……
书单
- 《Linux Device Drivers Development: develop customized drivers for embedded Linux》
- 《Computer Networks: A Systems Approach》(计算机网络:系统方法):本书将网络看作由相互关联的模块构成的交互式系统
- 《上瘾:让用户养成使用习惯的四大产品逻辑》:讲的是如何让用户养成使用自己产品的习惯
- 《Journalism, ‘Fake News’ and Disinformation: A Handbook for Journalism Education and Training》(《新闻业、假新闻与虚假信息:新闻教育与培训手册》):由联合国教科文组织编纂,以 PDF 的形式开放阅读
工具
- iPad Diaries: Using a Mac from iOS, Part 1 – Finder Folders, Siri Shortcuts, and App Windows with Keyboard Maestro:作者正在尝试用 iPad Pro 代替 Mac,做为自己的主力生产力工具。这篇文章介绍了如何将 iPad 与 Mac 配合起来使用
- Mac技巧之调节苹果电脑外接显示器亮度/对比度/音量的软件:MonitorControl:我在使用 LG 27UD88 做为外接显示器,通过这个软件,可以直接使用 Mac 的键盘调节外界显示器的亮度和音量,不需要手动操作显示器上的按键
- Motrix -A full-featured download manager:开源的多协议下载工具,兼容 Windows/Linux/macOS
- My Mac App List by Hailong Hao:郝海龙的 macOS 软件列表
- Server Hunter – Easily browse over 11,000 VPS and Dedicated Servers [Hacker News 评论]:一个在线工具,输入条件后,可找到最符合要求的 VPS 和独立服务器
- Cubbit: reinventing the cloud:Kictstarter 上正在众筹的一款个人云盘,与传统 NAS 不同的是,这款硬件只能将硬盘的一半容量用于保存个人数据,而另一半通过 P2P 技术保存其他人的数据;自己的数据,也会加密后传输到 P2P 网络的其他节点,从而提升文件传输速度,并增强可靠性,避免硬件损坏导致数据丢失。如果能够解决作弊和滥用的问题,感觉还是不错的
- DokuWiki vs. MediaWiki vs. XWiki vs. Confluence vs. TiddlyWiki:关于个人 Wiki 的选择,如果以后用个人 Wiki 进行知识整理的话,可以参考这篇文章
- Notion 勉强合格的数字化手账
- play.js – React Native & Node.js IDE:iOS 上的 JavaScript IDE,能够直接编写和运行 React Native 应用,而且在 iPad 上实现了一个完整的多窗口界面
Making
- Washing machine motor robots!:使用 Arduino 和洗衣机发动机制作的机器人
- Building a RISC-V PC:RISC-V 做为一种开源的 CPU 架构,近期受到了很大的关注。这篇文章中,作者组装了一台完整的 RISC-V 电脑
- Midi Keypad:易于制作的 MIDI 键盘
- My Automatic Dog Petter:自动化撸狗装置😂
游戏
俄罗斯方块的玩法与技巧
最近任天堂发布了俄罗斯方块 99,将俄罗斯方块与「吃鸡」的玩法结合起来。通过这个游戏,我才第一次知道现代俄罗斯方块中,T-Spin 之类的技巧。
如下几个视频,是噗哟噗哟俄罗斯方块(官方译名:魔法气泡™ TETRiS®)中关于俄罗斯方块的教学视频,通过这些视频,我才知道俄罗斯方块有这么多的技巧:
另外,这个视频介绍俄罗斯方块的历史,包括在这个游戏上发生过的,复杂的版权之争:
关于游戏的无障碍设计(Accessbility)
- 【游戏制作工具箱】游戏该如何善待认知障碍玩家 Making Games Better Players with Cognitive Disabilities
- 【游戏制作工具箱】游戏该如何善待运动障碍玩家 Making Games Better for Players with Motor Disabilities
- 【游戏制作工具箱】游戏该如何善待色盲/近视玩家 Making Games Better for Gamers with Colourblindness
- 【游戏制作工具箱】《堡垒之夜/底特律:变人》游戏该如何善待听觉障碍玩家 Making Games Better for the Hard of Hearing
其他
- 如何把控一款 Platformer 的关卡节奏
- Jp 的 Twitter: Here’s an iQue Depot hard drive image running in QEMU…:@jigsaw_master 自行购买了神游加油站,并 Dump 下其中的固件,使其在 QEMU 上成功运行。这应该是一件很有意义的事情,能够将神游加油站中的软件以数字化的形式永久保存,方便后人了解和研究中国游戏主机行业的历史 (下载链接:https://archive.org/details/iQueDepot)
- SciresM/boot9strap:任天堂 3DS 最彻底的破解方式,其实已经是两年前的事了,只是我最近才了解到
更多
- 都市生活下厨指南
- 有故事也有未来:中关村第一家创业博物馆开幕:对这个感兴趣,不是因为创业,而是因为「考古」。博物馆里面有四通打字机、汉卡等展品,希望有机会去参观一下
- Microsoft News 中文版:之前 MSN 中文网已经停止服务,但是不知道什么时候,Microsoft News 的中文版网站又非常低调的上线了,不过似乎内容都来自东方头条和环球网,而且 Microsoft News 的手机 App 和 UWP App 也都没有提供中文版内容。搞不懂微软的策略。
- How KaiOS claimed the third-place mobile crown:文章介绍了 KaiOS 如何发展成为第三大移动操作系统