请启用 JavaScript 并禁用任何广告拦截器。
请启用 JavaScript 并禁用任何广告拦截器。
2023年1月,时任美国总统唐纳德·特朗普对伊朗的态度摇摆不定,一方面为可能的军事行动做准备,另一方面又表示愿意谈判。美国加强了在中东地区的军事存在,加剧了冲突升级的担忧。特朗普将可能的袭击理由归结为阻止伊朗政府镇压在12月底爆发的广泛抗议活动。 关于抗议活动造成的死亡人数存在争议,总部在美国的HRANA报告称超过5500人死亡,而伊朗当局称约有3117人死亡。这些抗议活动后来遭到伊朗安全部队的残酷镇压。来自伊朗境内的令人不安的报告浮出水面,包括一位匿名对CNN表示的医生指控,称政府军故意袭击医院内的受伤抗议者,进一步凸显了镇压的严重性。尽管局势紧张,特朗普仍表示伊朗“想要谈判,我们也会谈判”,但未提供具体细节。
## Rust 只是一个工具 - 摘要
Lewis Campbell 的博客文章表达了对 Rust 优势的赞赏——它的多功能性、出色的工具、令人愉悦的类型系统,以及在没有垃圾回收器的情况下提供高级功能的能力,从而设定了性能和表达力的标准。
然而,核心信息是对务实的呼吁。Campbell 告诫人们不要将 Rust(或任何工具)视为一种身份或道德准则。他批评有时过于狂热的 Rust 社区在 crates、实践和语言特性方面存在教条主义,并敦促人们接受 C 或 Zig 等替代方案。
最终,这篇文章提倡认识到工具偏好是主观的,基于个人需求和技能,并且尊重对话至关重要——提醒人们工具仅仅是*工具*,而不是一个人价值或智慧的反映。
arXivLabs是一个框架,允许合作者直接在我们的网站上开发和分享新的arXiv功能。个人和与arXivLabs合作的组织都认同并接受我们开放、社群、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与秉持这些价值观的合作伙伴合作。您是否有为arXiv社群增加价值的项目想法?了解更多关于arXivLabs的信息。
启用 JavaScript 和 Cookie 以继续。
为 Emacs 中的 Common Lisp 和 Elisp 提供语义语法高亮,基于全局 Lisp 环境的信息。加载 lisp-semantic-hl.el,然后在 emacs-lisp-mode 或 lisp-mode 下启用 lisp-semantic-hl minor mode。使用 MELPA 的示例配置:(use-package lisp-semantic-hl :ensure t :hook ((emacs-lisp-mode lisp-mode) . lisp-semantic-hl-mode)) 移植自我们自己开发的 LispWorks 插件,最初名为 "colourful"。Lem 的类似功能可以在这里找到作为参考。感谢我们的姐妹 Simone,以及深爱并支持我们的 misaka18931。支持神经多样性、跨性别和复数身份!🏳️🌈🏳️⚧️
## 现金与自动取款机出人意料的自动化历史
电子支付取代现金的趋势往往忽略了一个关键的讽刺:现金本身与自动化有着密切的联系。从银行业早期开始,高效且安全地管理现金就推动了技术创新。最初,银行依赖劳动密集型记账,但全国性交易的兴起需要更快的解决方案。这促成了诸如穿孔卡系统以及关键的自动支票处理系统的发展,后者催生了今天支票上仍然使用的MICR码。
IBM在自动取款机的开发中扮演了关键但最终未成功的角色。虽然不是第一个,但他们的2984型号引入了关键的安全功能,如PIN加密(导致广泛使用的“3624算法”),并确立了我们今天所认识到的基本自动取款机功能。尽管最初取得成功,但IBM后来的自动取款机型号由于兼容性问题以及来自提供更灵活、可互操作解决方案的制造商的竞争而失势。
最终,IBM的遗产并不在于自动取款机的统治地位,而在于他们开创性的基础技术——从密码学到网络通信。现代自动取款机虽然通常由其他人制造,但却欠IBM早期自动化处理现金和保障金融交易的努力很大。这个故事突显了即使是看似简单的工具,如现金,也受到商业计算不断发展的塑造,并为其做出贡献。
## 使用 Bootc 和 OSTree 进行现代 Linux 系统管理
本文详细介绍了将系统配置“作为代码”管理,用于笔记本电脑和服务器的实践过程,最终采用 Bootc 和 OSTree 作为解决方案。 最初使用 Packer 和 NixOS 的尝试被证明不足,导致采用 Fedora Silverblue – 一种提供熟悉 Linux 体验并具有增强可靠性的不可变发行版。
OSTree 类似于“文件系统的 Git”,对整个系统快照进行版本控制,以便于更新和回滚,利用 ComposeFS 和 EROFS 等技术来确保数据完整性和去重。 虽然是不可变的,系统通过叠加层来适应配置,允许可写目录用于用户数据和设置。 包管理由 `rpm-ostree` 处理,取代了传统的 `dnf` 等工具。
Bootc 更进一步,将操作系统视为 OCI 容器镜像,从而实现可重现的部署和简化的更新。 可以使用 Podman 等工具构建镜像,然后通过创建 ISO 或直接切换到现有的 Silverblue 系统来部署。 CI/CD 管道可以自动执行镜像构建和更新,确保跨环境的一致性。
关键在于保持一致性 – 避免手动安装软件包导致漂移。 相反,更新是通过重建和重新部署镜像来管理的,从而确保通过 systemd 服务进行自动更新。 这种方法为 Linux 系统管理提供了一种强大而现代的解决方案,尤其适用于服务器部署和 GitOps 工作流程。
## 使用时间旅行调试生产问题 是否曾追逐过只在生产环境中出现,但在本地却运行正常的bug?本文提出了一种使用JavaScript“Effect System”的解决方案,以实现确定性调试。代码不再直接产生副作用(如数据库调用),而是将这些副作用*描述*为“Command”对象。然后由解释器执行这些命令,创建可追踪的流水线。 这种方法允许记录所有交互——数据库读取、API调用——为详细的执行轨迹。至关重要的是,由于核心逻辑保持纯净且无副作用,因此可以在本地*重放*此轨迹,而无需模拟或访问实时服务。 示例演示了看似成功的结账流程,由于支付网关拒绝了100%促销代码后的0.00美元费用而失败。生成的轨迹清晰地指出了问题所在。一个简单的“时间旅行”函数可以重放此轨迹,在本地重现错误。 该系统可以在100行代码以内实现,提供了一个强大的调试工具,通过删除敏感信息增强安全性,并将调试从猜测转变为观察。
Manim-web 是一个用于创建解释性动画的 JavaScript 库,灵感来自基于 Python 的 Manim。它允许用户在浏览器中直接构建和渲染数学可视化内容。 该库提供各种预构建的几何形状(圆形、正方形、多边形)、文本和 LaTeX 支持、绘图工具以及 3D 对象。淡入淡出、变换和增长等动画效果易于实现。还支持拖动对象等交互元素。 代码可以直接用 JavaScript/TypeScript 编写,也可以使用提供的工具从现有的 Python Manim 脚本转换。Manim-web 支持导出为 GIF 和视频格式,并与 React 和 Vue.js 框架兼容。该项目是开源的(MIT 许可证),可在 GitHub 上找到。