启用 JavaScript 和 Cookie 以继续。
启用 JavaScript 和 Cookie 以继续。
## 调试抽象层之下 作者利用最近的失业时间,尝试了Seiya Nuta的1000行操作系统教程,这与他们平时的高级应用编程有很大不同。这次经历凸显了一个关键的区别:在使用汇编和底层代码时,缺乏熟悉的抽象层。 调试比预期的更具挑战性。多年应用层调试的经验——追踪调用堆栈和调查逻辑错误—— оказались неэффективными。问题源于根本性的错误,例如缺少`ret`指令(导致意外的执行流程)以及打包结构体中不正确的数据类型大小。这些错误在C语言中编译,甚至*看起来*可以工作,但在汇编中由于手动偏移量计算而显现出来。 关键收获是一个严峻的认识:操作系统代码更接近硬件运行,需要直接检查汇编代码并关注内存布局。与高级语言不同,依赖抽象层来捕获错误的空间很小。虽然ChatGPT在RISC-V解释方面有所帮助,但它在调试方面遇到了困难,反映了作者最初以抽象为中心的调试方法。 尽管存在挑战,但这次经历令人鼓舞,与调试复杂应用框架的“魔法”相比,它提供了一种令人耳目一新的体验。
柏林警方正在调查一名18岁学生,因其可能诽谤联邦议院议长弗里德里希·梅尔茨。此前,该学生在抗议德国新兵役法时展示了一张带有针对梅尔茨的极具攻击性的口号的海报,导致海报被没收,并对可能的诽谤和中伤行为展开调查。 德国法律规定,必须调查故意捏造的、旨在损害公众人物声誉的虚假陈述。 此事件紧随对梅尔茨近期一次公开露面后,网络上发表的评论的调查,用户使用了“匹诺曹”和“纨绔子弟”等贬义词。 警方表示,他们有义务调查任何犯罪活动的初步嫌疑,即使涉及政治人物,这也凸显了德国言论自由与诽谤法律界限之间的微妙平衡。
新西兰正经历着 необычный 移民趋势,流失居民数量接近历史最高水平,特别是30至50岁年龄段的人群。 传统上,年轻的新西兰人会去“大海外游”(Overseas Experiences),但现在,已经建立事业的专业人士甚至前总理杰辛达·阿 Dern 都在离开,原因是生活成本上升、就业市场疲软以及海外更好的机会。 澳大利亚是首选目的地,以明显更高的薪水(中位周收入高37%)和更低的失业率吸引着新西兰人。 像Thorns一家这样的家庭正在获得经济利益——收入增加、食品和交通成本降低——以及改善的生活方式。 还有一些人正在英国、美国和欧洲定居,被职业发展和经济稳定所吸引。 虽然新西兰总体上仍然保持净移民增长,但熟练劳动力的流失令人担忧,可能会影响长期的经济增长。 来自印度、菲律宾和中国等国家的移民涌入正在改变新西兰的人口结构,但留住经验丰富的专业人士仍然至关重要。 许多离开的新西兰人仍然与家乡保持着紧密的联系,将“家”视为一种联系,而不仅仅是一个地点。
伊朗联合国大使称,伊朗米纳布一所女校最近遭受导弹袭击,据报道造成150名学生死亡,但这一数字尚未得到确认。调查显示,美国军方可能对此负责,并非故意为之,而是由于其快速扩展的人工智能使用中的错误。 司法部和国防部内部消息人士表示,该人工智能系统,一个基于Claude的程序,可能使用了过时的情报,将学校定位在伊朗伊斯兰革命卫队(IRGC)前据点附近。五角大楼正在调查发射是如何被授权的。 此事件紧随之前有关人工智能错误导致埃普斯坦文件发布问题的报告。值得注意的是,特朗普政府最近将Claude的创建者Anthropic列为供应链风险,原因是担心政府监控,导致转向OpenAI的ChatGPT。军方有六个月的时间逐步淘汰Claude。
## 在受控世界中对声音的渴望 我们以前所未有的速度拥抱了网络,却难以定义它的目的。作者认为,这种热切的渴望源于我们生活中缺失的某种深层渴望:真实的人类声音。 现代生活被“管理”所主导——一种20世纪美国的信念,认为从商业到个人生活的一切都可以被控制和优化。虽然这种受管理的生活提供了安全和可预测性,但它要求一致性并压抑个人表达,迫使我们陷入“专业主义”,并压制了真实的自我。 网络提供了一种强大的解药。它承诺了一个公开的、真实的自我表达平台,一个夺回我们声音的空间——这是受管理环境压抑的核心身份元素。除了获取信息,网络吸引力在于它能够瓦解等级制度并赋能个人。 从主页到电子邮件和独立的在线出版物,网络允许我们绕过传统的公司控制,直接连接,自由甚至颠覆性地表达。我们被网络吸引,并非知道它*是什么*,而是*希望*它能将我们从受控世界的束缚中解放出来,让我们真正被倾听。
## Linux 内核交换子系统改进 最近的开发重点是彻底改进 Linux 内核的交换子系统,旨在提高性能和灵活性。当前的交换机制将页面绑定到特定设备,在移除设备或使用 zswap(一种基于压缩的交换方法)时会产生效率低下。 一个提议的解决方案引入了“虚拟交换空间”——一个独立于底层设备的单个统一交换表。这允许页面在设备之间无缝移动,并解决了 zswap 预分配未使用存储的需求。虽然前景可观,但这种方法会增加内存使用量,并显示出性能下降,需要进一步改进。 与此同时,另一组补丁提出了“交换层级”,使管理员能够优先使用更快的存储进行交换。这补充了虚拟交换空间的概念,可能简化页面在层级之间的移动。 这些变化表明开发人员重新关注交换子系统,寻求提高性能、可维护性和整体效率。然而,关于开销和性能仍然存在担忧,这意味着在集成之前需要进一步开发。
## Helix: 一款现代文本编辑器 Helix 是一款用 Rust 构建的终端文本编辑器,旨在提供精简且强大的编码体验。它受到 Kakoune 的启发,将**多选和多光标**作为核心编辑功能,实现并发代码操作。 利用 **Tree-sitter**,Helix 提供强大的语法高亮、智能代码导航和准确的代码分析。它拥有**内置的 IDE 类功能**——自动补全、诊断和文档——无需配置。 与 Vim 或 Neovim 不同,Helix 优先采用现代方法,具有合理的默认设置和更小的代码库,使其更易于上手。虽然目前缺乏插件和 GUI(两者都计划在未来实现),但它开箱即用就提供了模糊查找器、项目范围搜索和精美主题等功能。它与 Kakoune 的不同之处在于,它将更多功能直接集成,而不是依赖外部工具。
## 使用自定义补丁编辑器修改Jujutsu变更 作者需要重命名Jujutsu变更中的一个方法,但发现Python LSP重命名不可靠。虽然Git提供了`git format-patch`和`git am`等解决方案,但Jujutsu对此没有直接支持。`jj diffedit`提供了一个接近的替代方案,允许编辑变更内容,但其内置编辑器功能有限,外部合并工具也不起作用。 为了克服这个问题,作者创建了一个与`jj diffedit`集成的自定义工具。该工具从变更生成一个补丁文件,在用户定义的编辑器中打开它(默认使用nano),然后重新应用修改后的补丁来更新变更的内容。它巧妙地通过先从“右”目录(已应用的变更)中取消应用原始补丁,然后再应用编辑后的版本来工作,从而避免对只读的“左”目录的写入访问。 可以通过`jj config edit --user`配置Jujutsu来设置脚本的路径,从而启用此功能。配置完成后,`jj diffedit --tool=patch`将打开补丁进行编辑,并自动保存以更新Jujutsu中的变更。这提供了一种灵活有效的针对性编辑单个变更的方法。
一场新的、非法发动的战争——据美国战争部长皮特·海格塞斯称,这场战争“没有愚蠢的交战规则”——已经开始,以对伊朗一所小学的毁灭性导弹袭击为标志,近200名女孩和老师丧生。这场冲突严重依赖于先进的人工智能技术,特别是Anthropic的Claude,其资金部分来自亚马逊(及其所有者杰夫·贝佐斯,他最近解雇了《华盛顿邮报》的员工)。
《华盛顿邮报》赞扬了Claude在“精确”识别目标方面的作用,但未能将这种精确性与平民伤亡联系起来。作者认为,这凸显了一个令人不安的循环:大型科技寡头通过向军方出售有缺陷的人工智能来获利,他们的媒体机构随后宣传人工智能的有效性,同时淡化人为代价。
尽管投入了大量资金,人工智能对美国经济增长的贡献“基本为零”,但却被吹捧为军事成功的关键。作者警告说,对本质上容易出错的人工智能的依赖构成了日益增长的风险,将少数人的利润置于民主价值观和可持续进步之上。他呼吁抵制并支持致力于创造更具伦理未来的替代社区。