2025-06-20

39 篇热帖

1. Phoenix.new – Remote AI Runtime for Phoenix (fly.io)

Documentation and guides from the team at Fly.io.

3. Hurl: Run and test HTTP requests with plain text (github.com)

Hurl, run and test HTTP requests with plain text. Contribute to Orange-OpenSource/hurl development by creating an account on GitHub.

5. Asterinas: A new Linux-compatible kernel project (lwn.net)

Asterinas is a new Linux-ABI-compatible kernel project written in Rust, based on what the autho [...]

7. I will do anything to end homelessness except build more homes (2018) (www.mcsweeneys.net)

文章总结:《我愿为结束无家可归竭尽所能,除了建造更多住房》

本文是一篇讽刺性文章,通过第一人称的口吻,生动刻画了一位自私、伪善且固守特权的中产/富裕阶层人士的内心独白。其核心批判的是那些口头上“关心”无家可归问题,但坚决反对任何可能触动自身利益或改变现有生活方式的实质性解决方案(尤其是建造更多住房)的社会群体。

主要讽刺点与批判内容:

  1. 虚伪的同情心:叙述者声称关心无家可归者,但其“善举”仅限于一年一度的三明治施舍,并要求受助者远离自己的视线。这种关怀是表面、廉价且充满施舍优越感的。
  2. 保护特权与既得利益:反对建造住房的深层原因是为了保护自己的生活方式。这包括:
    • 维护房产价值和社区“纯洁性”,认为无家可归者有碍观瞻。
    • 保护从父母继承或凭借过去经济优势获得的独栋住宅和私有领地(如草坪)。
    • 维持依赖私家车出行、享受宽敞空间和奢侈品的舒适生活。
  3. 拒绝真正的解决方案:叙述者明确反对增加住房供给,并给出一系列荒谬理由,如“这个镇子已经有很多房子了”(暗指自己的大房子)。他认为建造更多住房(尤其是经济适用房)会引发连锁反应,威胁到他珍视的现状,例如更多人就业、组织起来推动进步性政策(如全民医保、公共交通),甚至导致私家车淘汰。
  4. 行动上的表里不一:他采取的“行动”仅限于无效的媒体表态、社交媒体上带有歧视性的抱怨以及频繁报警,这些都是维持秩序、排除异己的方式,而非解决根本问题。
  5. 对不平等的漠视与合理化:他回避讨论财富集中等系统性问题,反而对无家可归者(如声称是退伍军人)的身份表示怀疑。同时,他享受着不平等经济结构带来的红利,却将个人成功归因于自己的“努力”,并心安理得地利用廉价非法劳动力。

总结: 这篇文章犀利地讽刺了自由主义态度下的自利与伪善。它揭示了一种社会心态:部分优势阶层在面对社会危机时,倾向于进行象征性的、不触及问题根源的“关怀”,而任何要求他们让渡部分特权或资源的实质性解决方案都会遭到坚决抵制。其最终结论是,对于持这种心态的人来说,维持无家可归的危机现状,远比改变自己的舒适区更为“可取”。

8. Visualizing environmental costs of war in Hayao Miyazaki's Nausicaä (jgeekstudies.org)

Audrey Aguirre Upland High School, Upland, CA, USA. Email: audrey.a.aguirre (at) gmail (dot) com Download PDF Past studies on Nausicaä of the Valley of the Wind (風の谷のナウシカ; Topcraft, 1984) have primarily focused on its ecological themes and anti-war messages through analysis of the narrative as a whole or Nausicaä’s character. These studies address the ethical…

9. New Linux udisks flaw lets attackers get root on major Linux distros (www.bleepingcomputer.com)

Attackers can exploit two newly discovered local privilege escalation (LPE) vulnerabilities to gain root privileges on systems running major Linux distributions.

10. Break Up Big Tech: Civil Society Declaration (peoplevsbig.tech)

We, people and civil society organisations from Europe and around the world, call on the European Commission to act now to break up the powerful Big Tech

11. Learn Makefiles (makefiletutorial.com)

Makefile 简明指南

核心概念

Makefile 用于决定程序的哪些部分需要重新编译。其核心机制是基于文件时间戳的依赖检查:仅当目标文件不存在,或其任一依赖文件的时间戳比目标文件新时,才会执行对应命令。

基础语法

一个基本规则格式如下:

targets: prerequisites
	command
  • 目标:通常是生成的文件名。
  • 依赖:生成目标所需的文件。
  • 命令:生成目标的一系列步骤,必须用Tab键缩进

关键元素

变量

  • 递归展开:使用 =,使用时才展开。
  • 简单展开:使用 :=,定义时立即展开(更常用)。
  • 条件赋值:使用 ?=,仅当变量未定义时赋值。
  • 追加:使用 +=
  • 引用:使用 $(VAR)${VAR}

自动变量

  • $@:当前目标名。
  • $<:第一个依赖。
  • $^:所有依赖(去重)。
  • $?:所有比目标新的依赖。

通配符

  • *:在文件系统中匹配文件。建议通过 $(wildcard *.c) 函数使用。
  • %:在模式规则中匹配字符串(称为“词干”)。

常用目标

  • all:通常作为第一个(默认)目标,用于构建所有内容。
  • clean:用于清理生成文件。声明为 .PHONY 可避免与同名文件冲突。

规则类型

模式规则

用于定义如何从一种文件生成另一种文件。

%.o : %.c
	$(CC) -c $< -o $@

静态模式规则

为特定一组目标定义模式规则,比隐式规则更明确。

objects = foo.o bar.o
$(objects): %.o: %.c
	$(CC) -c $< -o $@

命令控制

  • 静默:在命令前加 @ 可禁止回显。
  • 错误忽略:在命令前加 - 可忽略错误。
  • 递归调用:使用 $(MAKE) 代替 make,以传递选项。
  • 默认Shell/bin/sh,可通过设置 SHELL 变量更改。

函数

用于文本处理,常用有:

  • $(subst from,to,text):字符串替换。
  • $(patsubst pattern,replacement,text):模式替换,常用于修改文件后缀。
  • $(foreach var,list,text):遍历列表。
  • $(filter pattern,text) / $(filter-out pattern,text):筛选/排除匹配模式的词。
  • $(shell command):执行shell命令(注意会将换行替换为空格)。

依赖管理

通过 vpathVPATH 变量可指定依赖文件的搜索路径。

vpath %.h ../include

Makefile Cookbook(项目模板)

一个适用于中型项目的模板,特点如下:

  1. 自动查找 src/ 下所有C/C++源文件。
  2. 使用 -MMD -MP 编译选项自动生成依赖文件(.d)。
  3. 将构建产物(.o文件)输出到 build/ 目录。
  4. 通过 -include $(DEPS) 包含自动生成的依赖规则,实现精确的增量编译。

此模板是 Makefile 自动化处理依赖的一个优秀范例。

14. Cataphract: Medieval-fantasy roleplaying wargame, in the Black-Sea C. 1300 (samsorensen.blot.im)

Cataphracts commanders: there is no actionable intelligence in this post. Read on. About two months ago, I reread several series on military

15. Meta announces Oakley smart glasses (www.theverge.com)

Meta is releasing a new line of AI glasses with Oakley, starting with a $499 limited-edition gold accent frame that shoots 3K video.

16. Rolling the ladder up behind us (xeiaso.net)

网站防护系统 Anubis 简介

该网页展示了网站管理员启用的防护系统 Anubis,其主要目的是防御 AI公司的大规模网络爬取行为。这种爬取会导致网站服务器资源过载和停机,影响所有用户的正常访问。

系统原理与运作方式 Anubis 采用了一种类似于 Hashcash工作量证明机制。其核心逻辑是:

  1. 对个体用户:进行验证所需的计算量微乎其微,几乎不影响体验。
  2. 对大规模爬虫:海量的请求需要累积完成巨量的计算任务,这将显著增加其爬取的经济与时间成本,从而起到防御作用。

系统现状与未来目标 目前的 Anubis 方案被定义为一个临时性解决方案。其长期目标是:

  • 开发更先进的识别技术,例如通过分析字体渲染等行为来识别无头浏览器
  • 未来希望只对疑似机器访问的用户进行验证,而正常的用户将能直接访问,无需面对验证页面。

使用注意事项

  • Anubis 依赖现代JavaScript功能才能工作。
  • 部分浏览器安全插件(如 JShelter)会禁用必要的JavaScript特性,从而导致系统无法正常运行。用户需要为此域名禁用相关插件
17. A Deep Dive into Solid Queue for Ruby on Rails (blog.appsignal.com)

Solid Queue 在 Ruby on Rails 中的深入解析

Solid Queue 是一个基于数据库的后台作业处理系统,无需 Redis 等外部依赖。本文深入介绍了其高级功能,包括作业调度、重复任务和并发控制。

作业调度

Solid Queue 将所有作业数据存储在数据库中。定时作业被保存在 solid_queue_scheduled_executions 表中,该表与 solid_queue_ready_executions 类似,但增加了 scheduled_at 列,用于指定作业的执行时间。

  • Dispatcher 进程:负责持续轮询 solid_queue_scheduled_executions 表。当发现 scheduled_at 时间已过的作业时,会创建一条 ReadyExecution 记录,并删除相应的 ScheduledExecution 记录。随后,常规的工作进程会处理这些就绪作业。
  • Supervisor 进程:负责监督所有 Solid Queue 内部进程,包括工作进程和 Dispatcher。

重复任务

重复任务类似于 Cron 作业,允许作业按固定周期运行。配置通过 config/recurring.yml 文件完成,使用 Fugit 解析人类可读的调度表达式。

  • Scheduler 进程:与 Dispatcher 类似,它运行一个无限循环,但查询的是 solid_queue_recurring_tasks 表。
  • 调度机制:使用 Concurrent::ScheduledTask 为每个重复任务创建后台线程。线程在指定时间运行时,会首先递归调度下一个周期,然后将当前作业加入队列。调度基于静态时间表(如每小时),即使进程重启也不会中断计划。
  • 执行去重:通过 RecurringExecution 记录和唯一索引(基于 task_keyrun_at)来防止同一时间的同一任务被重复入队。

并发控制

Solid Queue 允许限制特定作业的并发执行数量,通过 limits_concurrency 方法实现。配置项包括:

  • to:最大并发数。
  • key:基于作业参数的并发控制键(例如用户ID)。
  • duration:并发锁的最大保证时间。
  • group:跨不同作业类的并发控制。

并发控制基于 信号量 模式实现:

  • Semaphore 模型:维护一个 value(剩余容量)。获取信号量时值减一,释放时加一,值为零时表示不可用。
  • BlockedExecution:当信号量不可用时,作业入队失败,会创建一条 BlockedExecution 记录。
  • 工作流程
    1. 新作业尝试获取信号量锁。
    2. 成功则入队并减少信号量值。
    3. 失败则创建 BlockedExecution 记录。
    4. 作业完成时释放信号量,并尝试释放一个被阻塞的作业。
  • 超时与清理:信号量设有过期时间(对应 duration),由 Dispatcher 进程中的 ConcurrencyMaintenance 类负责清理过期信号量和释放被阻塞的作业,以防止锁被永久占用。但若作业执行时间超过 duration,可能导致并发限制失效和作业重叠。

总结

Solid Queue 利用数据库作为单一存储后端,通过 Dispatcher 和 Scheduler 等进程协调,实现了作业调度、重复任务和并发控制等高级功能。其设计避免了外部依赖,同时提供了生产环境所需的可靠性和灵活性。

18. In praise of “normal” engineers (charity.wtf)

This article was originally commissioned by Luca Rossi (paywalled) for refactoring.fm, on February 11th, 2025. Luca edited a version of it that emphasized the importance of building "10x engineering teams" . It was later picked up by IEEE Spectrum (!!!), who scrapped most of the teams content and published a different, shorter piece on March…

19. Rocknix is an immutable Linux distribution for handheld gaming devices (rocknix.org)

The Official ROCKNIX Wiki

20. Estrogen: A Trip Report (smoothbrains.net)

本文是一位经历性别不安的个体关于使用雌激素的详细第一人称报告,结合了个人主观体验、神经科学解释及哲学反思。

一、个人背景与用药缘由

作者自述经历持续的“脑-身体图式预测错误”,自青春期前即感知到身体与大脑预期不符。长期压抑后,在2021年通过氯胺酮辅助的自我探索直面此问题,最终获得了雌激素处方(100µg/24小时贴片),开始激素治疗。

二、雌激素的科学作用机制

作者简要概述了雌激素的作用原理:作为性激素,通过与全身(包括大脑)的雌激素受体(ERα和ERβ)结合来调节基因表达。关键点在于其对神经递质系统的影响:

  • 调节神经递质水平:上调血清素合成,调节多巴胺合成,并影响谷氨酸系统。
  • 改变受体表达:可能上调海马体的NMDA受体(谷氨酸受体)和前额叶等脑区的5-HT2A受体(血清素受体)。 作者指出,这些受体是致幻剂(如氯胺酮和血清素能致幻剂)的作用靶点,暗示雌激素可能具有影响情绪和感知的药理学基础。

三、雌激素的主观感受变化

作者详细描述了用药后在多方面的感知与心理变化:

  1. 感官变化
    • 味觉:甜味感知增强,酸味变得更甜且带金属味。
    • 嗅觉:对男性的气味感知发生变化,差异更明显。
    • 体感:长期存在的皮肤感觉过度敏感和“白噪音”感显著减轻,对触摸的耐受度提高,睡眠质量改善。
    • 视觉:空间感发生变化,环境感觉更“和谐”且立体感更强,类似微量致幻剂的效果,但颜色鲜艳度未增强。
  2. 运动与身体感受
    • 肌肉力量快速下降,但肌肉紧张度大大缓解,身体更放松。
    • 长期颈背问题得到改善,身体感觉更“具身化”。
  3. 情绪与心理变化
    • 情绪深化:幽默感增强,对音乐等艺术的反应更强烈,更容易哭泣释放情绪。
    • 情绪紧迫感:难以再忽视问题,倾向于采取直接行动,有时显得激进。
    • 注意力调整:作者曾通过亚历山大技巧训练注意力控制,但雌激素使这项技能更难掌握,仿佛回到了“高重力训练”。
  4. 对自闭特质的影响:作者认为雌激素降低了自身的感官敏感度,这与一些自闭特质个体的报告相符。

四、作用机制的理论探讨

作者基于上述体验和文献,提出了几个假说来解释雌激素为何产生积极主观效果:

  1. 对抗解离状态:雌激素上调NMDA受体,可能与氯胺酮(NMDA受体拮抗剂,引起解离)作用相反,从而缓解与性别不安常共病的解离感。
  2. 类迷幻剂作用:雌激素上调5-HT2A受体,这正是经典致幻剂的作用靶点。作者将视觉、情绪变化和“具身感”增强与此联系,认为雌激素产生了持续的、温和的致幻状态。
  3. “身心”放松:雌激素的肌肉松弛作用被比喻为重置了身体的紧张基线,使身体图式更流畅,可能间接改善情绪和感知。
  4. 从自闭特质转向分裂型特质:作者引用研究提出,自闭特质与过度关注感觉预测误差相关,而分裂型特质则相反。雌激素似乎降低了其感觉敏感度,并增加了关联性思维、灵性思考和情绪共鸣,这类似从“自闭”一端向“分裂型”一端的移动,这种状态与温和的致幻体验相似。

五、总结与未解问题

作者总结,雌激素的主观益处可能源于其对谷氨酸和血清素系统的多重调节,这些调节可能纠正了与性别不安相关的神经化学基础(如NMDA受体功能不足)。然而,这是否意味着激素疗法在纠正某种先天的神经多样性缺陷,仍是一个开放且受政治因素影响的问题。作者呼吁对性别不安的现象学进行更细致的研究,并认为这些研究对理解大脑、身体与身份认同的关联至关重要。

21. FedFlix — Public Domain Stock Footage Library (public.resource.org)

The National Technical Information Service

22. Open source can't coordinate (matklad.github.io)

I was taking a shower this morning, and was pondering yesterday's problem, where I suspect that I have an outdated version of hotspot Linux profiler, but I can't just go and download a fresh release from GitHub, because hotspot is a KDE app, and I use NixOS. And NixOS isn't a problem --- it's a solution.

23. Show HN: I wrote a new BitTorrent tracker in Elixir (github.com)

Elixir-powered BitTorrent Tracker. Contribute to Dahrkael/ExTracker development by creating an account on GitHub.

24. Show HN: EnrichMCP – A Python ORM for Agents (github.com)

EnrichMCP is a python framework for building data driven MCP servers - featureform/enrichmcp

25. JavaScript broke the web (and called it progress) (www.jonoalderson.com)

We replaced simple websites with complex apps nobody asked for. Now it takes a complex build pipeline just to change a headline.

26. Mbake – A Makefile formatter and linter, that only took 50 years (github.com)

mbake is a Makefile formatter and linter. It only took 50 years! - EbodShojaei/bake

27. Literate programming tool for any language (github.com)

A literate programming tool for any language. Contribute to zyedidia/Literate development by creating an account on GitHub.

28. Is mathematics mostly chaos or mostly order? (www.quantamagazine.org)

Two new notions of infinity challenge a long-standing plan to define the mathematical universe.

30. Klong: A Simple Array Language (t3x.org)

Klong:一种简洁的数组语言

Klong是一种数组编程语言,旨在提供类似K语言的特性但消除其歧义性。它适用于对向量和多维数组进行操作,采用数学记号风格而非传统编程范式。示例程序如素数检查体现了其核心设计。

学习资源

  • 官方提供从入门到深入的文档:《Klong手册》 为首选,详细描述语言规范;《数组编程入门》 书籍全面讲解问题解决方法;快速参考 适用于有K/APL经验的用户;简易简介 面向数组语言新手;另有 与K的差异对比 供K语言使用者参考。

编译与安装 Klong以纯C99编写,可在任何支持C编译器的系统上编译(如通过make)。安装时需复制kg二进制文件并设置KLONGPATH环境变量指向源码的lib/目录。源码包约170KB,另提供旧版本存档。

扩展工具 若追求更高性能,可考虑KlongPy——一个基于Python的向量化实现,项目托管于GitHub。

32. 2048 with only 64 bits of state (github.com)

2048 with only 64 bits of state. Contribute to izabera/bitwise-challenge-2048 development by creating an account on GitHub.

34. Show HN: Ts-SSH – SSH over Tailscale without running the daemon (github.com)

Go-based SSH and SCP client with userspace Tailscale connectivity. Secure shell access and file transfers over Tailnet without requiring a full Tailscale daemon. - derekg/ts-ssh

35. Why do we need DNSSEC? (howdnssec.works)

Discover how DNSSEC helps prevent tampering by verifying DNS responses. Learn why it's crucial for secure web navigation, plus get a refresher on resolvers and authoritative servers.

37. AI is going to hack Jira (thoughtfuleng.substack.com)

Hide your kids, hide your wife: how the Agile Industrial Complex has set us all up to be duped by AI codegen

38. Show HN: SnapQL – Desktop app to query Postgres with AI (github.com)

AI-powered Postgres Client. Contribute to NickTikhonov/snap-ql development by creating an account on GitHub.