2025-05-31

34 篇热帖

3. Beating Google's kernelCTF PoW using AVX512 (anemato.de)

PoW is gone 🦀🦀

4. Valkey Turns One: Community fork of Redis (www.gomomento.com)

Valkey is not only thriving, but now outperforming Redis 8.0 in real world benchmarks.

8. Consider Knitting (journal.stuffwithstuff.com)

编织:给程序员的触觉艺术指南

对于长期面对屏幕的脑力工作者而言,编织可能是一项被忽略但极具价值的活动。它不仅能提供编程中所缺乏的触觉体验,还具备精心设计的技能成长曲线,能灵活融入生活节奏,并能创造出充满心意的实体作品。

触觉的慰藉

编程等屏幕工作几乎完全忽略了触觉,而人类大脑中大量神经元都致力于此。编织提供了丰富的触觉刺激:不同材质(如坚韧的棉线、柔软的羊毛、顺滑的精纺毛线)带来各异手感;不同针具(如带阻尼的竹针、光滑的钢针)影响操作体验。当针法熟练后,编织可进入近乎冥想的状态,仅凭触觉即可完成,为数字生活提供急需的实体交互平衡。

开源游戏与平滑技能曲线

从游戏设计视角看,编织像一个开放世界游戏:

  • 高度非线性:无需强制经历特定阶段(如必须先学织袜),可自由选择项目(围巾、帽子、玩偶)和技术(配色、蕾丝、提花)。
  • 平缓可控的技能曲线:初期只需掌握起针、下针、上针和收针即可制作基础物品。之后可按兴趣逐步学习新技巧(如起针法、加减针、麻花针等),每项小技能都能带来成就感。其知识深度千年累积,学习永无止境。

结构与自由的平衡

编织提供了可靠的进步感(每小时都能靠近成品),同时又足够自由灵活,避免了僵化任务带来的压力。它既能通过简单重复的针法(如起伏针)放松身心,也能通过复杂图案(如蕾丝图)让人全神贯注,暂时忘却烦恼。

灵活适应生活

编织的便利性极佳:

  • 时间碎片化利用:无需长时间准备或收拾,可在等车、排队等间隙进行。
  • 空间占用极小:一包毛线和针具便可随身携带。
  • 精神状态调节:根据精力水平,可选择挑战性项目或重复性手工,灵活适配当日状态。

实体化的心意与馈赠

编织最终产出是实物,承载着时间与心意。即使初学作品不完美,它仍是投入时间与关怀的证明,这在快消时代尤为珍贵。赠送亲手编织的物品,往往能传递超越物品本身的情感价值。

开始尝试

若想尝试,作者建议:

  1. 寻找视频教程学习(手部动作更适合直观演示)。
  2. 接受初期的挫败感,掌握基础针法后便会渐入佳境。
  3. 从基础工具(7号针、中粗毛线)和简单项目(如围巾)开始。

编织不仅是一项爱好,更是一种为双手提供触觉满足、为心灵提供创造出口,在数字世界中保持实体连接的实践。

9. Using lots of little tools to aggressively reject the bots (lambdacreate.com)

文章概要

本文讲述了作者个人网站“Lambdacreate”突然遭受大规模机器人爬虫攻击的经历,以及他如何运用一系列系统管理工具进行诊断和防御,最终成功缓解问题的过程。

问题背景

作者的个人网站近期被大量爬虫机器人访问,主要来源包括亚马逊、脸书、OpenAI等大型科技公司。这些爬虫并非友好访客(如Archive.org),而是为了其商业目的(如训练AI模型)无节制地抓取数据,严重影响了网站的正常服务。

问题发现与诊断

  1. 监控告警:通过Zabbix监控系统,作者首先注意到服务器的磁盘空间耗尽,随后又频繁收到CPU和内存使用率过高的警报。数据显示,网站流量从平时的平均每秒8个请求激增至每秒20多个请求,增幅达10倍。
  2. 日志分析
    • 使用lnav工具分析nginx访问日志,通过SQL查询发现,流量来自大量不同的IP地址,且没有特定的引荐来源(排除了网站被热点事件“冲爆”的可能)。
    • 许多爬虫使用了如“Amazonbot”、“OpenAI”等明显的用户代理,但也有大量伪装成正常浏览器的代理。
    • 使用goaccess工具生成了详细的流量报告,直观展示了IP地址和用户代理的分布情况,证实了爬虫攻击的广泛性。
  3. 核心影响:爬虫的主要目标是抓取作者Gitea实例中的所有公开代码仓库的压缩包,这导致Gitea产生海量数据(每天20-30GB)并消耗大量系统资源,使得作者本人连正常的代码操作都无法进行。

解决方案与实施

作者采取了一套分层防御策略:

  1. Nginx层初步拦截

    • 基于用户代理封禁:在nginx配置中,使用map指令创建黑名单,已知的恶意爬虫用户代理(如Amazonbot)将直接收到403 Forbidden响应。
    • 请求速率限制:配置limit_req模块,对同一IP地址的请求频率进行限制,以减缓未被黑名单识别的爬虫的抓取速度。
  2. 防火墙层自动化封禁

    • 部署Fail2Ban服务,监控nginx日志。
    • 创建自定义规则,自动将频繁触发403错误的IP地址封禁24小时。
    • 通过此机制,作者累计封禁了超过700个恶意IP地址。

结果与反思

实施上述措施后,服务器的资源利用率(CPU、内存、磁盘)和网络流量迅速恢复到正常水平,网站服务得以稳定。作者计划长期维持这些防御规则,并考虑为Archive.org等友好爬虫设置例外。文章表达了作者对大型科技公司无差别抓取数据行为的不满,并强调其目的是保护自己的个人网络空间,而非影响搜索引擎的正常索引。

10. AI Responses May Include Mistakes (www.os2museum.com)

这篇文章讲述了作者搜索一个并不存在的IBM PS/2型号时,AI生成搜索结果的不可靠性。当查询“PS/2 Model 280”时,AI的摘要不仅每次都不同,而且绝大多数情况下编造了具体但完全错误的细节(例如将其描述为基于286或486的系统、指定内存容量等),这些信息在初步审视下显得合理但实为虚构。只有约10%的尝试中,AI才给出了正确答案,指出该型号不存在。作者强调,这种AI“幻觉”产生的答案对非专家用户尤其危险,因为它们看起来非常可信且详细,可能导致误解。文章最后警告,不要轻视“AI回复可能包含错误”的提示,因为AI生成的摘要可能是完全脱离现实的胡编乱造。

11. Mary Meeker's first Trends report since 2019, focused on AI (www.bondcap.com)

Mary Meeker 于 2024 年发布的这份报告,是其自 2019 年以来的首份趋势报告,核心聚焦于人工智能(AI)的发展。报告概述了 AI 技术在多个领域的迅速崛起、其带来的深刻影响以及未来面临的挑战。

核心要点概览:

  • AI 的快速普及与性能飞跃: 报告指出,AI 的采用速度远超历史上的其他技术浪潮,其能力(尤其是在生成式 AI 和大语言模型方面)正在快速逼近甚至在某些特定任务上超越人类水平。
  • “AI 基础设施”成本下降驱动创新: 训练和运行 AI 模型所需的计算成本(每单位算力成本)呈指数级下降,同时数据的可用性大幅提升,这共同构成了 AI 创新浪潮的经济基础。
  • AI 深度整合至核心产品与服务: 大型科技公司正在将 AI 功能深度集成到其现有核心产品中(如搜索引擎、云计算服务、办公软件、社交媒体平台),以提升用户体验和效率。
  • AI 对工作模式和企业生产力的重塑: 报告分析了 AI 工具(如代码助手、内容生成器、自动化分析工具)如何改变知识工作者的日常工作流程,显著提升生产力和创新能力。
  • 巨大的市场投资机遇与竞争格局: AI 领域吸引了创纪录的风险投资,创业公司层出不穷,同时现有科技巨头也在大力投入,形成了激烈的竞争格局。
  • 全球监管与伦理挑战凸显: 随着 AI 影响力的扩大,全球范围内关于 AI 监管、数据隐私、算法偏见和潜在社会影响的讨论与立法进程正在加速,这对 AI 的发展路径构成了重要约束和引导。
  • 未来展望:能力边界拓展与新挑战: 报告预测 AI 的能力将继续快速进化,但同时也指出了诸如能源消耗、安全风险、就业市场结构性变化以及如何确保 AI 发展惠及更广泛人群等长期挑战。

报告结构摘要: 报告通过大量数据图表和案例,分析了 AI 技术从底层基础设施、模型能力到上层应用和商业整合的全链条发展。它强调了 AI 已从技术演示阶段进入大规模部署和商业化的关键时期,并对投资者、企业和政策制定者提出了观察与建议。

13. Sid Meier's Pirates – In-depth (2017) (shot97retro.blogspot.com)

《席德·梅尔的海盗!》深度解析 (2017)

游戏信息

  • 标题:席德·梅尔的海盗!
  • 开发商:MicroProse Software Inc.
  • 平台:Amiga(1990年版,原版为1987年C64)
  • 价格:44.95美元
  • 备注:建议以NTSC模式、4:3宽高比游玩

版本特色与历史

  • 本文探讨了玩家对游戏不同版本的偏好,指出许多人因怀旧而偏爱早年版本。作者对《海盗!》的所有移植与重制版都情有独钟。
  • 原版游戏于1987年由席德·梅尔用BASIC语言为Commodore 64编写,随后移植到多个平台。Amiga版于1990年由MicroProse USA内部重写,被视为针对Amiga的“充满爱的移植”,尽管常被忽略,却是原版移植中的巅峰之作。
  • 技术方面:游戏在Amiga上以320x200分辨率、32色模式运行,通过屏幕区域调色板技巧模拟更多色彩,视觉效果出色,甚至被误认为使用64色模式。部分画面(如标题屏)可能因捕捉工具限制而色彩显示不全。

游戏内容与玩法

  • 启动游戏后,玩家可选择直接进入默认的1660年代(海盗黄金时期),或从多个历史时期(如1640年代、1680年代)中选择,每个时期带来不同的挑战。游戏还包含基于真实历史事件的特殊场景。
  • 游戏手册近100页,内容详实,介绍了各个时代背景,被视为提升体验的重要资源。
  • 类型上,游戏融合了动作、冒险与模拟元素(官方称为“动作冒险模拟”),但核心是海盗生活的戏剧化呈现而非严格模拟。包含剑术格斗、海战、城镇攻防等动作元素,以及战略决策。
  • 开放式设计:在开放世界概念尚未普及的年代,本作允许玩家自由设定目标,最终以退休结局。虽然《海盗黄金版》增加了任务列表,但原版已涵盖所有可玩内容。
  • 玩法多样:可私掠敌国船只、贸易、寻宝、攻击城镇、寻找失散家人、登陆探险等,事件随机生成,确保每次游戏体验独特。
  • 地理与探索:游戏还原了南美洲、加勒比海等地的地理格局,玩家可借此学习真实地理位置。作者甚至凭记忆帮助父亲解读游戏中的藏宝图。

个人回忆与影响力

  • 作者分享了童年与父亲共同游戏的温馨回忆,游戏激发了他的想象力,并成为家庭娱乐的一部分。
  • 游戏获得广泛赞誉:1988年获Computer Gaming World“年度动作游戏”,1990年位列Amiga World“年度十大游戏”第10名,1996年跻身Computer Gaming World“史上150款最佳游戏”第18位(特别称赞Amiga版)。
  • 后续作品:原版衍生出众多移植版,包括NES版;1993年推出《海盗黄金版》(含CD32移植);2004年席德·梅尔主导了3D重制版。但作者认为,尽管新版优秀,许多粉丝仍偏爱原版。

总结与推荐

  • 作者视《海盗!》为真正的“冒险”游戏,强调其自由度与玩家主导叙事的特质,认为它定义了冒险游戏的精神。
  • Amiga版被作者列为个人最爱之一,并认为是所有版本中最特别的。游戏在系列粉丝中拥有持久生命力,作者建议玩家务必亲自体验这一经典。
  • 文章关联了作者的视频评测及其他内容,强调了游戏在个人情感与游戏史上的重要性。
17. Jerry Lewis's "The Day the Clown Cried" discovered in Sweden after 53 years (www.thenationalnews.com)

A Swedish actor, who stole a copy in 1980, plans to release The Day The Clown Cried, saying 'it must be seen'

21. Simpler Backoff (commaok.xyz)

背景介绍

指数退避(exponential backoff)结合抖动(jitter)是服务调用中的常见重试策略。传统的实现方式通常涉及循环计算延迟,代码较为复杂。本文介绍了一种更简洁的方法:使用查找表(lookup table)替代动态计算。

传统指数退避实现

传统代码通常包括以下元素:

  • 最大尝试次数(如10次)。
  • 基础延迟(如1秒)和最大延迟(如60秒)。
  • 循环逻辑:每次迭代后延迟翻倍,但不超过最大值。
  • 抖动处理:通过随机因子(如±25%)调整延迟,避免同步问题。
  • 上下文取消:支持通过context取消操作。

示例代码展示了如何通过for循环计算延迟、添加抖动,并使用time.After等待。尽管功能完整,但代码存在以下缺点:

  • 变量较多:需要管理延迟、抖动等变量。
  • 跨迭代依赖:延迟计算依赖于前一次迭代,增加了复杂性。
  • 可读性一般:行为在循环中推导,不易直观理解。
  • 编辑困难:修改退避计划或尝试次数需谨慎,可能引入错误。

简化实现:使用查找表

优化后的代码采用查找表方式:

  • 预定义延迟切片:直接列出所有重试的延迟值(如[]time.Duration{1s, 2s, 4s, ...}),确保固定行为。
  • 循环遍历:直接遍历切片中的延迟,每次迭代独立。
  • 抖动处理:同样应用随机因子调整延迟。
  • 上下文支持:保持相同的取消机制。

示例代码中,延迟值已预先计算并硬编码在切片中,最大尝试次数由切片长度决定。这显著简化了逻辑。

优点对比

使用查找表带来的改进:

  • 代码更简单:减少了变量数量和作用域,无需维护跨迭代的状态。
  • 更易读:延迟计划一目了然,行为直接可见。
  • 更易编辑:修改退避计划或尝试次数只需调整切片内容,安全且 trivial。
  • 减少错误:消除了循环中的计算错误风险,如延迟翻倍或抖动计算问题。

核心建议

作者强调:不要编写代码来生成小的、固定值集合(例如通过循环计算有限的延迟序列)。相反,应使用查找表直接定义这些值。这适用于任何需要预定义、固定序列的场景,能提升代码的清晰度和可维护性。

总结

本文通过对比传统指数退避代码和基于查找表的实现,展示了查找表方法在简化重试逻辑中的优势。关键点在于:直接使用预定义值替代动态计算,使代码更直观、易修改,同时保持相同功能。这一建议可推广到其他类似场景。

22. My five-year experiment with UTC (timestripe.com)

Transform Your Time Management Forever! Discover how switching to UTC eliminated time zone confusion, boosted productivity, and simplified global scheduling for remote work.

24. Cap: Lightweight, modern open-source CAPTCHA alternative using proof-of-work (capjs.js.org)

Cap is a free, open-source CAPTCHA alternative. Self-hosted, privacy-first, no Google. Proof-of-work and instrumentation, no visual puzzles. Apache 2.0.

25. Doge cuts to USAid blamed for 300k deaths – most of them children (www.thetimes.com)

Elon Musk’s tenure running Trump’s Department of Government Efficiency has, according to the academic Brooke Nichols, caused thousands of ‘preventable deaths’

28. A Complete Guide to Meta Prompting (www.prompthub.us)

Check out our deep dive on the latest meta prompting methods, like DSPy and TEXTGRAD, and the best prompt generator tools out there.

29. GUIs are built at least 2.5 times (patricia.no)

Or Why I Think Lean Software Development is Wrong

30. Show HN: AI Peer Reviewer – Multiagent system for scientific manuscript analysis (github.com)

Rigorous AI Peer Reviewer 项目概述

这是一个旨在利用AI技术提升科学知识创建、评估与传播透明度、效率和质量的开源项目。其核心是一个多智能体系统,用于自动分析科学手稿并提供结构化反馈。

项目愿景与状态

项目目标是使科学知识的生产过程更透明、成本更低、速度更快、质量更高。目前有两个主要模块:

  1. Agent1_Peer_Review (v0.1 已就绪):这是项目的核心功能模块。它采用多智能体架构对上传的PDF手稿进行综合分析。主要功能包括:
    • 对手稿各章节、科学严谨性和写作质量进行详细评估。
    • 生成包含可操作建议的JSON格式反馈报告。
    • 提供PDF格式的结构化评审报告。
    • 系统内含质量控制循环。
  2. Agent2_Outer_Fit (开发中):该模块用于评估手稿与目标期刊/会议的匹配度,目前正处于功能实现、与Agent1集成以及测试验证阶段。

访问与交互

最新的v0.2版本已上线,并提供了一个在线交互界面 (https://www.rigorous.review/)。用户可以直接上传手稿并提供目标期刊背景信息,然后在线获取结构化反馈并跟踪分析进度。项目方承诺,待v0.2测试完成后,将开源所有模块的提示词以促进透明度和社区贡献。

技术需求

运行该系统需要:

  • Python 3.7+
  • OpenAI API密钥(系统可适配其他或本地部署的大语言模型)
  • 待分析的PDF格式手稿
  • 各子项目所需的具体依赖项(详见其requirements.txt文件)

未来规划与贡献

除了核心模块,项目社区已提出一些未来可能的发展方向,例如:

  • 基于嵌入的相似性分析,用于比较论文摘要与现有文献。
  • 支持撰写审稿回复。
  • 对研究提案和协议提供反馈。
  • 开发AI辅助的论文撰写工具。

项目欢迎社区通过提交Pull Request的方式参与贡献。

31. The Trackers and SDKs in ChatGPT, Claude, Grok and Perplexity (jamesoclaire.com)

本文通过AppGoblin平台的数据,对比分析了四款主流AI聊天应用(ChatGPT、Claude、Grok和Perplexity)在Android端使用的第三方SDK和API调用情况。数据来源为应用的反编译SDK和中间人API流量抓取。

开发工具

四款应用均采用Kotlin原生开发,而非基于JavaScript的跨平台框架。主要共同依赖的开发库包括Kotlin标准库和Square的OkHttp3。具体差异在于:

  • ChatGPT和Perplexity额外使用了Airbnb的Lottie动画库。
  • Perplexity独家使用了Bumptech/Glide图片加载库。

商业工具

所有应用均集成了Google Play Services和Firebase,用于基础服务与数据收集。工具选择存在显著差异:

  • ChatGPT集成的商业工具最多(10种),包括Statsig(产品分析)、Sentry(错误监控)、Segment(数据分析)、RevenueCat(支付)、LiveKit(语音)、Apollo GraphQL(API查询)、Datadog(监控)和Persona(身份验证)。
  • Perplexity集成了7种,特色工具包括MapBox(地图)、Shopify和Stripe(电商与支付)以及Singular(营销分析)。
  • Claude集成了6种,使用了Sift(反欺诈)等工具。
  • Grok集成了5种,使用了Intercom(客服)等。

产品与营销分析

Google Analytics通过Google Play Services在所有应用中普遍存在。Statsig作为新兴的产品分析平台,在除Perplexity外的三款应用中都被使用,显示出其流行度。传统的Segment(营销分析)和Sentry(部署分析)则被ChatGPT和Claude采用。

货币化与特色功能

  • 支付处理:ChatGPT和Perplexity使用RevenueCat来管理应用内订阅支付。
  • 语音功能:ChatGPT和Grok集成了LiveKit AI语音平台。
  • 电商集成:Perplexity独特地整合了ShopifyMapBox,可能用于购物功能和基于地图的图像生成。
  • 文章指出,OpenAI虽在推出购物功能,但未发现其集成Shopify SDK,相关功能可能通过API或混淆方式实现。

API调用

应用运行时记录的API调用数据可进一步查看(数据已脱敏),涉及各SDK对应的端点。

总体来看,这些AI应用均构建于成熟的Kotlin原生架构上,并根据各自产品需求,广泛集成了多样的第三方服务,涵盖分析、监控、支付、语音及电商等功能。

33. Web dev is still fun if you want it to be (github.com)

A stupid waste of time that I enjoyed. Contribute to jchester/bobotw development by creating an account on GitHub.