**Adi2** 是一个基于 SDL3 构建的现代 Ada 原生 GUI 库。它提供了一套专业级的 UI 栈,在实现类 Web 开发工作流的同时,兼顾了 Ada 语言的高性能与安全性。
**主要特性:**
* **灵活开发:** 支持使用 XML 和 CSS 以声明式方式构建 UI,也可以直接使用原生 Ada 代码进行编程构建。修改 CSS 后无需重新编译即可实时生效。
* **丰富的渲染能力:** 支持 SVG(plutosvg)、Lottie 动画以及 HTML 风格的文档视图。
* **可移植性与高性能:** 编译产物为单个静态链接的二进制文件,大小不足 10MB。支持 Windows (XP+)、macOS、Linux 以及通过 WebAssembly 在 Web 上运行;利用硬件加速(Direct3D、Metal、Vulkan)并提供软件渲染降级方案。
* **现代化工具链:** 包含 HiDPI 支持、国际化(Gettext)以及 MCP 网桥,允许 AI 助手或自动化工具检查并驱动 UI。
* **开发体验:** 提供类 CSS 样式设计(选择器、过渡效果)、自动资源打包,并与 Ada 2022 标准深度集成。
Adi2 目前已在生产环境中投入使用。它为 Qt 或 Electron 等庞大依赖项提供了一个健壮且内存安全的替代方案,非常适合构建自包含、高性能的跨平台应用程序。
一位安全研究员在 Beam Living 的公寓租赁门户网站中发现了一个严重的漏洞,该门户网站被纽约市多个大型住宅区所使用。通过利用 GraphQL API 的缺陷,任何拥有申请人电子邮箱地址的人都可以获取其敏感个人信息,包括部分社会安全号码、出生日期、家庭住址、电话号码和信用评分。
研究员发现,该平台的 API 仅凭电子邮件地址即可获取敏感的用户数据,而无需进行会话身份验证。这一漏洞可能导致所有曾向 Beam Living 旗下房产提交过申请的人员的隐私记录面临泄露风险。
此次漏洞的披露过程存在明显问题。尽管研究员在数周内多次尝试联系该公司,但并未收到任何来自正式安全团队的回复。在通过租赁中介和运营人员升级反馈后,该漏洞最终被静默修复。虽然问题现已解决,但研究员强调,该公司在处理此次严重数据安全事件时,存在沟通不畅和缺乏透明披露流程的重大失误。
长期以来,荷兰一直依赖大规模的疏浚工程来维护其重要的水道基础设施,而这项任务目前正消耗着大量的化石燃料。然而从历史上看,荷兰人曾通过智慧和体力劳动来应对不断的泥沙淤积。
在现代吸泥船(每分钟可清除100立方米淤泥)出现之前,疏浚工作是由成千上万的劳工使用手持式“疏浚袋”完成的。随着需求增长,技术不断演进,出现了利用链斗挖掘深水区的人力及畜力“疏浚磨”。荷兰人还利用自然力量,使用“刮泥器”(通过水流、风力或马匹牵引的耙子)来松动沉积物。在弗里斯兰等地区,设计者选择进行结构适应,建造了被称为 *skûtsjes* 的浅吃水船,以尽量减少对加深运河的需求。
随着疏浚行业面临燃料密集型维护所带来的环境挑战,这些前工业时代的方法提供了一个引人深思的历史视角。“人力发电厂”项目甚至探讨了回归人工方法的可能性,并提出了一个问题:现代社会能否在不完全依赖化石燃料机械的情况下,可持续地维护重要基础设施。