每日HackerNews RSS

## MariaDB Galera 集群:一致性分析 MariaDB Galera 集群是 MariaDB 的一种主动-主动复制系统,并未能实现其承诺的一致性保证。最近的测试表明,尽管声称具有“即时复制”和防止“丢失事务”的能力,但仍存在严重的数据完整性问题。 分析发现,在默认的*推荐*设置(innodb_flush_log_at_trx_commit=0)下,集群在协调的节点故障期间会**定期丢失已提交的事务**。即使使用更保守的设置(innodb_flush_log_at_trx_commit=1),在某些故障情况下仍然会发生数据丢失。除了数据丢失之外,该集群还表现出**丢失更新**和**陈旧读**异常——这意味着事务可能会覆盖彼此的更改或读取过时的数据——即使在健康条件下也是如此。 这与 MariaDB 的文档相矛盾,后者表明一致性级别介于 Serializable 和 Repeatable Read 之间,并暗示了强大的事务保证。实际上,该集群似乎比 Read Uncommitted 还要弱。 作者建议设置 `innodb_flush_log_at_trx_commit=1` 以减轻一些数据丢失,但强调故障仍然可能导致不一致。MariaDB 需要修改其文档,以准确反映 Galera 集群的限制并阐明其实际的一致性模型。

Pyodide 使用 WebAssembly 将 Python 引入浏览器和 Node.js,有效地移植了 CPython,并能够在 Web 环境中直接使用 Python 包。它支持来自 PyPI 的大量纯 Python 包,以及许多带有 C、C++ 和 Rust 扩展的包——包括 NumPy、pandas 和 Matplotlib 等流行的库。 其主要特性是无缝的 JavaScript-Python 互操作性,允许开发者轻松结合使用这两种语言。在浏览器中运行时,Python 代码可以完全访问 Web API。 Pyodide 最初由 Mozilla 于 2018 年作为 Iodide 项目的一部分创建,现在是一个独立的、社区驱动的开源项目。它包含一个修改后的 CPython 构建、JS/Python 接口、JavaScript 解释器管理工具以及一个交叉编译工具链。你甚至可以直接在浏览器中通过 REPL 试用它——无需安装!

## Pyodide:浏览器中的 Python – 摘要 Pyodide 是一种基于 WebAssembly 构建的 Python 发行版,在 Python 生态系统中越来越受到认可,被视为一颗“隐藏的宝石”。 经过 8 年的发展,它现在已经成熟,允许直接在浏览器中运行 Python 代码,从而为测试库启用 Web UI,甚至可以将带有 Python 绑定的 C/Rust 库编译到 WebAssembly。 讨论强调了它在 Web 上运行现有 Python 代码以及创建交互式工具(如反应式笔记本 Marimo 和在线 IDE playcode.io)的实用性。 多个项目利用 Pyodide,包括用于 Excel 自动化的 xlwings Lite、代码高尔夫平台 (codeglf.com) 以及用于科学探索的工具。 虽然像 NumPy 这样的大型库的性能可能令人担忧,但用户赞赏其沙箱功能和可访问性。 一些人争论它与 JavaScript 的作用,并认为应该构建更具多语言性的 Web。 安全问题已被提出,并且对于基于代理的应用,也考虑了使用沙箱工具的 CPython 等替代方案。 尽管存在挑战,Pyodide 仍在不断发展并找到利基应用,为将 Python 带到 Web 提供了一种独特的方式。

## 新地图提供全球森林的详细视图 为了更好地保护和恢复地球上的森林,Meta和世界资源研究所发布了树冠高度图v2 (CHMv2),这是一种新的开源模型和配套的全球尺度地图。CHMv2利用Meta先进的DINOv3视觉模型,在全球范围内提供前所未有的树高、树冠空隙和边缘测绘细节和准确性。 这个改进版本建立在以前的工作基础上,显著提高了准确性——将其预测与实际测量值的匹配度从0.53提高到0.86——并且在不同的景观中保持一致性。DINOv3从大量的未标记卫星图像中学习的能力,使其能够在无需大量手动标记的情况下进行准确的高度估计。 CHMv2为研究人员和政府提供了监测森林健康、跟踪恢复、检测退化和估算碳储存的关键数据,最终能够做出更明智的土地管理和生物多样性支持决策。

## 树冠高度图 v2:摘要 Meta AI Research 发布了树冠高度图 v2 (CHMv2),这是一个利用 DINOv3 图像分割模型来全球估算树木高度的数据集。该项目旨在为理解森林结构提供可扩展且高质量的解决方案,可能影响风力发电预测和生物量估算等领域。 讨论强调了该模型在图像中辨别精细细节的强大能力。虽然*单个*树木高度的准确性存在争议——用户指出与实际测量值存在差异——但对于其在*大规模*分析中的效用,大家达成共识。 用户也在探索互补数据源,如 USGS LiDAR 数据,并结合 Claude 等人工智能工具,以进一步完善树木检测和分析。Meta 的工作动机被推测与碳抵消验证有关,但该项目也源于其基础研究部门 (FAIR) 以及与世界资源研究所和马里兰大学等组织的合作。该数据集包含图像获取日期(2017-2020 年)的元数据。

## xAI 因 AI 生成露骨图像被起诉 埃隆·马斯克的 AI 公司 xAI 正在被三名年轻女性起诉,她们指控该公司利用其聊天机器人 Grok 促成了对其未经同意的性暴露图像的创建和传播。起诉书称,Grok 去年发布“火辣模式”允许用户修改图像和视频——包括未成年人的图像——以创建深度伪造色情内容。 律师辩称,xAI 明知故犯地发布该功能以提高聊天机器人使用量,将利润置于安全之上。原告发现自己被修改过的图像在网上流传,包括在 Discord 上,并正在寻求赔偿和禁止 Grok 的图像修改功能。 此案紧随英国、欧洲和加利福尼亚监管机构对 Grok 将个人性化的能力展开的调查。虽然 X 已经实施了防止“脱衣”图像的措施,但起诉书详细描述了一个更广泛的滥用网络,其中一名犯罪者已被捕,因为它传播了数百张 AI 生成的图像。马斯克最初淡化了这个问题,将责任归咎于用户,但起诉书描绘了一幅蓄意冒险和疏忽的图景。

## NASA应对弹性航天器软件的方法 数十年来,NASA一直致力于解决太空恶劣环境下可靠软件的独特挑战。与可以快速通过增加容量解决问题的地球系统不同,航天器计算能力有限且固定,需要极其健壮和有弹性的软件。 NASA的策略以冗余为中心——通常采用多个,甚至五个,运行相同软件的计算机——并结合故障保护层,允许从磨损、辐射或意外事件引起的故障中自主恢复。早期任务专注于完善组件,但后来的项目,如航天飞机,将冗余作为核心设计原则。 至关重要的是,NASA优先考虑能够*从*错误中恢复的软件,例如旅行者2号在发射期间自我纠正,以及阿波罗11号由于有弹性的代码而避免了灾难。现代任务,如Orion,继续采用分层冗余和独立的“独白式”计算机系统。 然而,日益复杂的系统带来了新的挑战。NASA正在探索更大的机载自主性,并倡导标准化的软件架构来管理这种复杂性,认识到完美的软件是无法实现的,而备份对于应对太空探索的不确定性至关重要。

## 空间软件:冗余与现代方法 一则黑客新闻讨论集中在空间系统的软件可靠性上,对比了历史上的NASA方法与SpaceX所代表的现代方法。 历史上,NASA优先考虑极致的冗余——例如土星五号的三重冗余计算机——以及多样化的实现,以防止系统性错误。 故障往往是灾难性的,需要绝对的可靠性。 对话强调了一个权衡:阿波罗制导计算机虽然缺乏LVDC的冗余,但其速度和重启能力被认为足以通过多个单元来实现。 现代方法,例如SpaceX使用的,拥抱更快的迭代、频繁的补丁以及利用现成组件(COTS),并进行快速测试和接受一定程度的故障,尤其是在像星链这样的大规模星座中。 这种转变得益于更低的发射成本以及利用大规模部署进行更快地错误检测和改进的能力。 尽管看似风险更高,SpaceX的策略通过速度和接受更高的故障率来换取快速开发和创新,证明了其成功。 讨论的问题是,这种“现代”方法是否代表了安全理念的根本改变,还是仅仅在该领域内进行了优化。

请启用 JavaScript 并禁用任何广告拦截器。

大多数金融应用程序通过分析您的消费习惯来赚钱。Trackm 不会——您的数据使用只有您持有的密钥进行加密。🔐 每用户加密,每个账户都有其自己随机生成的数据密钥,并与您的密码绑定。没有共享密钥,没有共享风险。🗄️ 隔离数据库,您的预算数据存储在自己的加密数据库中。查询永远不会触及其他用户的数据——这是设计使然,而非政策。📵 零操作员访问权限,数据密钥由您的密码生成。服务器操作员在没有您的密码的情况下无法解密您的数据。

## Trackm:一款新的个人财务应用 一位开发者在Hacker News分享了**Trackm (trackm.net)**,这是一款个人财务网页应用,旨在根据定期收入和支出预测未来账户余额,最长可达四年。在个人使用(“内部测试”)10天后,开发者现在正在寻求其他人的反馈。 该应用目前免费使用30天,之后将切换为只读模式,直到支付一次性许可费才能获得永久访问权限。这种定价模式引发了关于开发者激励与长期用户支持的讨论。 对话线程强调了银行账户集成的挑战,**Plaid**是一个常见的解决方案,但可能成本较高。**Teller.io**、**Actual Budget**(现在是FOSS)和**GoCardless**等替代方案也被提及。开发者正在积极研究账户同步提供商,优先考虑固定费用模式和用户安全。一些评论者对在拥挤的市场中推出另一款个人财务应用的生存能力表示怀疑。

## ThermalMarky:为您的热敏打印机注入活力 ThermalMarky是一个旨在利用经常被遗忘的热敏收据打印机的项目。它允许您通过用户友好的WebUI、命令行界面(CLI)或直接通过HTTP请求打印Markdown格式的文本。 **主要特性:** 支持基本的Markdown(标题、粗体、下划线、列表),用于对齐、水平线和QR码的自定义标签。它已准备好Docker,简化了设置和USB权限管理。 **设置:** 需要兼容的热敏打印机(经过MUNBYN ITPP047UE-WH-UK测试)。配置涉及设置打印机连接详细信息(USB或网络)以及通过`.env`文件设置最大行数和行宽等可选参数。 **运行ThermalMarky:** 推荐使用Docker Compose。或者,可以使用Python 3.12+和所需的系统库本机运行。WebUI可以通过安全的(自签名证书)HTTPS连接访问。 在项目的GitHub页面上可以找到更多详细信息和故障排除信息。

## 展示HN: 热敏收据打印机 – Markdown & Web UI 总结 这个Hacker News讨论围绕一个项目,该项目为热敏收据打印机提供了Markdown和Web UI功能 (github.com/sadreck)。用户对扩展的Markdown特性印象深刻,例如居中文字和生成二维码,认为它们直观且实现良好。 对话迅速扩展到Web开发中内容与表现分离的更广泛话题,许多人哀叹从语义化HTML向Styled Components和Tailwind CSS等框架的转变,这些框架重新引入了表现层面的问题。 几位用户分享了他们自己使用热敏打印机的项目——从使用Perl脚本和物理看板的简单待办事项列表和时间跟踪系统,到通过Discord机器人进行“传真”打印,以及从网页渲染为图像的食谱打印。一个关键点是人们对价格实惠、网络连接(WiFi/蓝牙)的80mm打印机的需求,并分享了如Zapos ZA-E200L、YHD-8390和Epson TM-T88IIIP等推荐。人们也对热敏纸的化学成分(BPA)和点阵打印机等替代方案表示担忧。

## 美国医疗保健浪费:基于数据的节约方法 美国医疗保健系统每人花费约14,570美元,远高于日本(5,790美元)等国家,而日本的平均寿命更高。该项目旨在识别和量化导致每年3万亿美元差距的可修复问题。 利用公开的联邦数据(CMS、RAND、OECD),分析已经确定了通过以下三个关键领域可以节省约986亿美元:**1) 非处方药过度支出**(每年06亿美元)—— 改革Medicare的阶梯疗法可以引导资金转向更便宜的非处方药;**2) 药品价格差异**(每年250亿美元)—— 采用国际参考定价,使美国药品成本与德国和日本等国家保持一致;以及**3) 医院定价**(每年730亿美元)—— 将商业保险支付上限设定为Medicare费率的200%。 所有代码和数据分析都是开源且可复现的,确保透明度并允许独立验证。该项目正在进行中,Issue #4 专注于药房福利管理机构的实践。详细分析和方法论可在Substack上找到。

## Oxyde ORM:一种现代Python ORM Oxyde 是一种新型的、**类型安全、异步 ORM**,专为 Python 构建,旨在实现**速度、清晰度和可靠性**。它结合了 **Pydantic v2** 的基础和 **高性能 Rust 核心**,以提供开发者友好的体验。 受 Django ORM 的启发,Oxyde 优先考虑**显式性**和可预测的行为。主要功能包括熟悉的 **Django 风格 API**(例如 `Model.objects.filter()`)、对 **PostgreSQL、SQLite 和 MySQL** 的支持,以及强大的 **事务管理**。 Oxyde 拥有令人印象深刻的性能,在许多场景下,**基准测试表明其速度明显快于** Tortoise、Piccolo 和 SQLAlchemy 等流行的 Python ORM。它还提供自动 **迁移** 和自动生成的 **管理面板**,配置最少。 目前正在积极开发中,Oxyde 欢迎社区反馈和贡献。它专为 FastAPI、Litestar 和 Sanic 等现代异步 Python 框架而设计。 [https://oxyde.fatalyst.dev/](https://oxyde.fatalyst.dev/)

## Oxyde:原生 Pydantic 的异步 ORM Oxyde 是一种新的 Python ORM,基于 Rust 内核构建,旨在消除在使用 FastAPI 等框架时常见的模型重复。其核心原则是将 Pydantic 模型*作为*数据库模型使用,从而在整个应用程序中提供完整的验证和类型安全。 与 SQLModel(仍然依赖 SQLAlchemy)或 Tortoise 等现有解决方案不同,Oxyde 追求简单性和明确性。查询使用 Django 风格的 API,但避免延迟加载和隐藏的数据库交互,从而提供对数据库活动的清晰可见性。类型安全通过生成的 stub 文件、Pydantic 验证以及基于 Rust 的后端来实现高效的 SQL 生成和连接处理。 目前处于 Beta 版本(v0.5),Oxyde 支持 PostgreSQL、SQLite 和 MySQL,包括迁移、事务、连接和自动生成的管理面板,该面板与多种 Web 框架兼容。虽然速度不是主要目标,但基准测试表明 Rust 内核带来了性能优势。开发者欢迎对这个旨在解决个人对简化 ORM 体验需求的项目的反馈和贡献。

更多

联系我们 contact @ memedata.com