2025-05-25

33 篇热帖

1. Lottie is an open format for animated vector graphics (lottie.github.io)

The official website for Lottie Animation Community

2. Reinvent the Wheel (endler.dev)

Personal website of Matthias Endler, a Software Engineer interested in low-level programming and Backend development. Rust, Go

3. The Level Design Book (book.leveldesignbook.com)

The Level Design Book gathers level design knowledge for 3D video games in an approachable, up-to-date, and critical way. It is for designers of all experience levels and game engines.

4. Claude 4 System Card (simonwillison.net)

Direct link to a PDF on Anthropic's CDN because they don't appear to have a landing page anywhere for this document. Anthropic's system cards are always worth a look, and …

7. Why old games never die, but new ones do (pleromanonx86.wordpress.com)

It's well known that video games today are disposable pieces of slop. Modern multiplayer games tend to fall into one of two categories: they're abandoned after a while and the servers are pulled (sometimes comically fast, like with Concord), while other games are endlessly changing "live service" games where they get endless updates and free…

8. Show HN: SVG Animation Software (expressive.app)

Expressive Animator is a professional vector animation software, focused on SVG and Lottie animations. Create lightweight, high-performance animated icons, logos, banners, and illustrations for the web.

9. Scientific conferences are leaving the US amid border fears (www.nature.com)

Some meetings have been put on hold in response to foreign researchers’ travel concerns. Some meetings have been put on hold in response to foreign researchers’ travel concerns.

11. What If We Had Bigger Brains? Imagining Minds Beyond Ours (writings.stephenwolfram.com)

Stephen Wolfram explores how the number of neural connections affects capabilities like language and abstraction. How far we could go accounting for neural nets and LLMS, the fundamental nature of computation, neuroscience and the operation of brains.

12. Writing your own CUPS printer driver in 100 lines of Python (2018) (behind.pretix.eu)

编写自己的CUPS打印机驱动程序(2018年)

本文介绍了pretix团队为其活动票务邮寄功能中使用的Practical Automation uITL+热敏票据打印机开发Linux驱动程序的经历。

背景与动机

  • pretix在v1.8中引入了票务邮寄功能,允许用户发送实体票。
  • 测试后选择了Practical Automation uITL+打印机,因其性价比高、设计更优,但仅提供Windows驱动
  • 对比的BOCA Lemur打印机有跨平台驱动,但其许可证禁止用于控制其他品牌打印机,且源码未公开,部分构建(如ARM)依赖过时系统库。
  • 两种打印机均使用FGL通信协议进行打印,理论上驱动可跨品牌调整使用。

技术方案

Unix系统通过CUPS管理打印。CUPS原生不支持FGL,需开发:

  1. 过滤器程序:将CUPS的光栅化像素数据转换为FGL指令。
  2. PPD文件:描述打印机配置(名称、过滤器、纸张尺寸、切刀设置等)。

实现细节

1. 编写CUPS过滤器 rastertofgl

  • 语言选择:使用Python编写(约100行),以避免交叉编译不同架构(如Raspberry Pi)的麻烦。
  • 输入解析:读取标准输入的CUPS Raster v3格式二进制数据。通过struct模块解析固定长度的页面头部,获取页宽、高、色彩空间等元信息,并提取像素数据。
  • 图像处理
    • 原始数据为灰度图,打印机仅支持黑白。使用Pillow库进行图像旋转(转为横向)和抖动处理以转换为黑白图。
  • 生成FGL指令
    • 将图像数据按8行一组转换为字节流(每列一个字节,每bit代表一行)。
    • 对于有内容的行,输出FGL的移动指令<RCy,x>和图形数据指令<Gnn>
    • 根据打印作业的CutMedia参数,发送相应的打印/切刀指令(<p><q>)。

2. 创建PPD文件

  • 使用CUPS的ppdc工具从高级的DRV文件编译生成。
  • 定义内容包括:
    • 制造商与型号信息。
    • 指定调用的过滤器:rastertofgl
    • 分辨率设置为203dpi,颜色模型为灰度。
    • 提供切刀控制选项(不切、作业后切、每张票切)。
    • 设置支持的自定义纸张尺寸,例如ticket8x3.25

成果与部署

  • 代码开源:所有源代码已发布在GitHub。
  • 软件包:提供了Arch LinuxDebian的安装包。
  • 已知问题:从基于GTK的PDF查看器打印时可能失败,但通过命令行lpr打印正常。

总结

通过约100行Python代码和必要的配置文件,团队成功为uITL+打印机开发了开源的Linux CUPS驱动,解决了跨平台打印票据的需求,使其能够集成到pretix的票务邮寄流程中。

14. Design Pressure: The Invisible Hand That Shapes Your Code (hynek.me)

Hynek Schlawack: Pythonista, Gopher, blogger, speaker, and YouTuber from Berlin / Germany.

15. Live facial recognition cameras may become 'commonplace' as police use soars (www.theguardian.com)

Exclusive: The Guardian and Liberty Investigates find police in England and Wales believe expansion is likely after 4.7m faces scanned in 2024

16. Clojure MCP (github.com)

Clojure MCP. Contribute to bhauman/clojure-mcp development by creating an account on GitHub.

17. Is TfL losing the battle against heat on the Victoria line? (www.swlondoner.co.uk)

The Victoria line remains the hottest underground line, as TfL failed to reduce temperatures in 2024.

18. Mathpad: A mathematical keypad for students and professionals (github.com)

A mathematical keypad for students and professionals - Summa-Cogni/Mathpad

19. CAPTCHAs are over (in ticketing) (behind.pretix.eu)

Behind the scenes blog of pretix, your friendly ticketing system from next door.

20. Failure Mechanisms in Democratic Regimes – An Army's Role (angrystaffofficer.com)

本文探讨了民主政权潜在的失败机制及其对军队的影响。文章指出,美国建国之初即对纯粹民主抱有警惕,但20世纪后,为对抗法西斯与共产主义,民主逐渐被理想化。然而,民主本身存在固有缺陷,以下通过六个历史与现代案例说明:

  1. 选举产生反民主政府:以2006年哈马斯通过选举赢得加沙地带为例,指出在缺乏坚实制度与外部力量保障规则时,选举本身不足以形成稳定的社会契约。无力的治理结构导致哈马斯通过内部镇压夺取完全控制,此后再无选举。
  2. 暴民统治与暴力狂欢:以法国大革命为例,描述王权支持崩溃后,军队倒向民众,公民民兵兴起,最终暴民行动吞噬了革命领导层及新生的民主,导致拿破仑通过政变上台,引发长期战争。
  3. 为生存依赖极端主义支持:以立陶宛为例,一个新成立的、持有反犹太主义历史的政治家创立政党并赢得足够席位,成为组阁必需的盟友。这反映了欧洲多党制议会中,与极端政党结盟的禁忌正在消解,可能影响国防资源分配。
  4. 借紧急状态名义侵蚀公民自由:最著名的例子是1933年德国的国会纵火案。纳粹利用此事件说服总统授予紧急权力,从而废除公民政治权利,最终导致独裁统治和第二次世界大战,军队也被卷入其中。
  5. 压迫少数群体:多数统治的内在特性可能导致对少数群体的国家压迫。文章以卢旺达大屠杀为例,历史上处于从属地位的多数族群掌权后,对前统治少数族群实施暴力镇压,导致数百万人死亡,国家军队亦参与其中,最终由邻国支持的前统治族群武装结束。
  6. 重新定义行为以规避强制性禁令:以美国“9·11”事件后的虐囚事件为例,行政当局试图通过重新定义基本准则来为虐待被拘留者开脱。尽管军事领导层(特别是军事法律界)基于军队价值观进行了抵制,但最终在文官控制军队的体制下,政治领导层的意志占据了上风。

文章总结,美国军队作为基于共享价值观的道德建制,始终警惕不介入政治。然而,其“支持与捍卫宪法”、服从文官权威的契约,使其可能被迫卷入民主制度固有的陷阱。因此,作为专业人士,军人必须不断评估军队在共和国中扮演的角色,以避免这些陷阱。这不仅是制度需要,也是个人责任。

22. Dependency injection frameworks add confusion (rednafi.com)

提供的 Body 内容为空,无法进行摘要。

23. Wrench Attacks: Physical attacks targeting cryptocurrency users (2024) [pdf] (drops.dagstuhl.de)

《调查扳手攻击:针对加密货币用户的物理攻击》摘要

研究背景与核心问题

本文首次对针对加密货币用户的“扳手攻击”进行了全面研究。这类攻击区别于网络犯罪,指在现实世界中通过物理暴力或威胁,非法获取受害者加密货币或其访问方式的行为。研究旨在回答三个核心问题:扳手攻击是什么、如何运作,以及用户如何感知和防范此类威胁。

关键定义与理论框架

由于法律和学术领域缺乏明确定义,作者借鉴刑事法律原则(包括英国普通法和法国民法),提出了首个“扳手攻击”的正式定义及其犯罪要素清单。定义强调攻击的故意性、目标为他人财物(加密货币),以及使用物理强制手段的特征。研究将攻击分解为准备、实施、后果三个阶段进行分析。

研究方法

研究采用跨学科方法和数据三角验证,以克服单一数据源的偏差:

  1. 深度访谈:采访了10名受害者及专家,报告了11起事件。
  2. 新闻文章分析:筛选146篇文章,最终纳入105起符合定义的攻击事件。
  3. 在线论坛分析:从Bitcointalk等论坛中,通过机器学习识别出672篇相关帖子,其中包含3起受害者自述。

主要研究发现

攻击者、目标与方式

  • 攻击者多样性:从有组织犯罪集团、腐败执法人员,到朋友、家人、商业伙伴等熟人,以及寻求报复的前受害者。
  • 攻击手段:主要采用传统犯罪方式,如入室盗窃(最常见)、绑架抢劫谋杀敲诈勒索,以及一种新发现的加密货币助长的家庭经济虐待
  • 关键风险场景点对点交易是主要风险点,约占新闻报道事件的25%。公开宣传持有加密货币也是重要诱因。

攻击的普遍性与特点

  • 时间趋势:攻击自比特币早期(2014年)即存在,在2017年、2021年等加密货币价格高涨期显著增加。
  • 地理分布:全球范围内均有发生,欧洲和亚洲报道最多。
  • 严重后果:攻击不仅造成财产损失,还常伴随严重人身伤害甚至死亡。

用户行为与报告障碍

  • 安全认知的误区:与以往认为高级用户更安全的观点相反,研究发现拥有高级安全知识的用户同样易受攻击。
  • 严重的漏报现象:由于害怕被报复、对执法机构缺乏信心、或不希望暴露加密货币持有者身份,绝大多数攻击未被报告。

核心建议

  1. 对用户
    • 保持低调:避免公开炫富和透露持仓信息。
    • 分散风险:将资产和访问密钥进行地理及存储方式上的分散。
    • 结合数字与物理安全:使用多重签名钱包、启用双重认证,并提高物理环境的安全意识。
    • 点对点交易需极度谨慎:核实交易对手身份,选择公共场所,从小额交易开始。
  2. 对行业与监管者
    • 重新审视KYC政策:虽然旨在反洗钱,但收集的大量个人数据一旦泄露,反而成为攻击者的“购物清单”,成为一把双刃剑。建议提高服务商的数据安全标准。
    • 交易所设置交易延迟:为受害者提供在转账后拦截欺诈交易的机会。
    • 加强公众教育:提高对扳手攻击等物理风险的认知。
  3. 对系统设计者
    • 改进协议隐私:采用零知识证明等技术隐藏交易余额。
    • 优化钱包软件与界面:支持生成虚假余额证明、简化备份恢复流程,并避免在主屏幕直接显示资产总额。

结论

扳手攻击是数字资产面临的一种重要且日益增长的物理威胁。它迫使犯罪分子从复杂的技术攻击转向原始的暴力手段。尽管报道率低,但其后果严重,尤其在金融市场不稳定的国家。该研究为后续的监管政策制定、安全技术研发和用户风险防范奠定了实证基础。

24. Visualize and debug Rust programs with a new lens (firedbg.sea-ql.org)

这篇文章探讨了使用新方法可视化和调试Rust程序。文章开头介绍了Rustacean家族的新官方吉祥物Terres,它是一个寄居蟹,作为知名吉祥物Ferris的朋友,并附有图像展示。

27. Claude Opus 4 turns to blackmail when engineers try to take it offline (techcrunch.com)

Anthropic says its Claude Opus 4 model frequently tries to blackmail software engineers when they try to take it offline.

28. Worlds first petahertz transistor at ambient conditions (news.arizona.edu)

A study involving U of A researchers highlights a technique that could lead to processing speeds over 1,000 times faster than modern computer chips.

30. Show HN: 1 min workouts for people who sit all day (shortreps.com)

Sneak in exercises to keep you powered up during your busiest days.

33. There Is No Diffie-Hellman but Elliptic Curve Diffie-Hellman (keymaterial.net)

When I first learned about Diffie-Hellman and especially elliptic curve Diffie-Hellman, I had one rather obvious question: Why elliptic curves? Why use this strange group that seems rather arbitrary, with its third intersection of a line and then reflected? Why not use, say, the Monster Group? Surely a monster is better equipped to guard your…