2017年,作者从土耳其移居汉堡实习。这段经历打破了“德国人冷漠或不友好”的常见刻板印象,他反而发现了一种植根于信任、包容和社会责任感的文化。从提供支持的室友,到层级扁平、员工受到真诚尊重的职场环境,他融入德国社会的过程非常顺利。
他将这种顺利的融入归因于有利的环境——例如在国际化的科技公司工作——以及他个人对德国“规则导向”生活方式的认同。他并不将这些标准视为限制,而是视为简化日常生活并促进公平的可靠机制。
在德国生活的八年间,作者观察到这是一个勇于正视历史、重视社会民主的社会。在经历了严格的入籍流程后,他最近拿到了德国护照。作者最终总结道,他的旅程并非被迫同化,而是找到了一个与自身价值观相契合的家园。如今,作为一名正式公民,他已开始践行“非常德国”的传统:在为社会做贡献的同时,也积极地对需要改进之处提出抱怨。
Livelymerge (LM) 项目探索了一个大胆的概念:构建一个实时系统,使整个堆(对象、类和方法)成为一个 Automerge 文档。虽然这实现了无缝的多用户协作,但也带来了一个重大挑战:Automerge 虽然能确保状态收敛,却无法保证所得状态符合应用程序的逻辑不变性。
作者以链表的并发修改为例,展示了 Automerge 对指针写入的“盲目”重放如何导致结构损坏,例如产生循环或链表截断。由于 Automerge 记录的是底层属性写入而非高层编程意图,它无法从本质上保护复杂的数据结构。
团队认为,未来的方向在于“合并感知型数据类型”(merge-aware datatypes)。通过将对原始指针操作的合并转向对语义操作的合并(例如,使用“在之后插入”而非“设置 next 指针”),系统可以在构建时强制执行不变性。尽管他们承认目前尚无完美的解决方案,但他们指出了在可交换操作和像 Coln 这样的基于约束的数据库系统领域中,存在一些有前景的研究。目前,该团队在继续攻克这一架构挑战的同时,主要依赖严谨的编程和 Automerge 的内置类型来维护系统完整性。