2025-08-16

35 篇热帖

1. Show HN: I built an app to block Shorts and Reels (scrollguard.app)

Block Instagram Reels, YouTube Shorts, TikTok, Facebook Reels, and X feeds. Keep your DMs, stories, and social connections. Get 3+ hours back every day.

2. Occult books digitized and put online by Amsterdam’s Ritman Library (www.openculture.com)

In 2018 we brought you some exciting news. Open Culture, openculture.com

3. Toothpaste made with keratin may protect and repair damaged teeth: study (www.kcl.ac.uk)

Toothpaste made from your own hair may offer a sustainable and clinically effective way to protect and repair damaged teeth.

4. Lazy-brush – smooth drawing with mouse or finger (lazybrush.dulnan.net)

JavaScript library to draw smooth curves and straight lines with your mouse, finger or any pointing device.

5. PuTTY has a new website (putty.software)

Free software SSH client for Windows and also Unix, including an xterm-style terminal emulator.

6. Everything I know about good system design (www.seangoedecke.com)

核心观点

好的系统设计往往不显眼,不依赖复杂技巧,而是正确使用成熟组件解决问题。过度复杂的设计通常意味着基础决策有问题。

关键设计原则

1. 状态管理

  • 有状态组件(如数据库)能进入异常状态,需手动修复;无状态组件更易维护和恢复。
  • 实践:将读写操作集中到单一服务,避免多个服务直接写入同一数据库表。可接受从副本读取数据以减少延迟。

2. 数据库设计

  • 模式与索引:设计可读、灵活的模式;根据查询模式创建索引(高基数字段优先),避免过度索引。
  • 性能瓶颈:尽量让数据库执行工作(如使用JOIN);向副本发送读请求;警惕查询峰值(尤其是写操作);对可能产生流量高峰的服务(如批量导入)进行限流。

3. 处理快慢操作

  • 快速响应:用户交互需在数百毫秒内返回结果。
  • 后台任务:将耗时操作(如生成报告)移至后台队列(如Redis);对于长期任务(如一月后执行),可使用数据库表结合定时任务管理。

4. 缓存

  • 用于避免重复计算昂贵操作(如API调用)。
  • 注意:缓存是状态源,可能引发数据不一致;优先优化底层性能(如数据库索引),再考虑缓存。
  • 技巧:对大型结果,可使用对象存储(如S3)作为持久缓存。

5. 事件系统

  • 事件中心(如Kafka)用于广播状态变更(如“新用户创建”)。
  • 适用场景:发送方不关心接收方处理;高流量、非实时性操作。
  • 避免滥用:直接API调用通常更简单可追溯。

6. 数据分发模式

  • 拉取:客户端主动请求数据(简单,但可能冗余)。
  • 推送:服务器主动发送数据更新(高效,适合实时场景)。
  • 大规模场景:推送需结合事件队列;拉取需部署读取副本集群。

7. 热路径

  • 关注系统最关键、流量最大的部分(如计费逻辑)。
  • 热路径解决方案有限,错误影响大,需重点设计。

8. 监控与日志

  • 日志:在异常路径(如错误响应)和关键决策点(如计费跳过)记录详细信息,便于排查。
  • 指标:监控资源使用、队列大小、请求延迟(关注P95/P99,而非仅平均值)。

9. 容错与重试

  • 重试:避免盲目重试加重服务负担;使用“熔断器”和“幂等键”防止重复操作。
  • 降级策略:根据功能重要性选择“失败开放”(如限流失败则放行)或“失败关闭”(如鉴权失败则拒绝)。

总结

优秀的系统设计依赖于合理组合数据库、缓存、队列、事件系统等基础组件,而非追求新奇技巧。在拥有成熟基础设施的大型公司中,好的设计往往简单且不显眼。

7. Show HN: Edka – Kubernetes clusters on your own Hetzner account (edka.io)

Kubernetes Management Platform - Simplify cloud operations and accelerate application delivery on Kubernetes

8. Candle Flame Oscillations as a Clock (cpldcpu.com)

Todays candles have been optimized for millenia not to flicker. But it turns out when we bundle three of them together, we can undo all of these optimizations and the resulting triplet will start to naturally oscillate. A fascinating fact is that the oscillation frequency is rather stable at ~9.9Hz as it mainly depends on…

10. Dicing an Onion, the Mathematically Optimal Way (pudding.cool)

There is more than one way to dice an onion…

13. OpenAI Progress (progress.openai.com)

AI has been evolving at an incredible rate. This piece aims to highlight the progress made so far.

14. Eliminating JavaScript cold starts on AWS Lambda (goose.icu)

Porffor can run on Lambda now!

16. Imagen 4 is now generally available (developers.googleblog.com)

Discover Imagen 4 Fast, Google's new speed-optimized text-to-image model, now generally available with Imagen 4 and 4 Ultra in the Gemini API.

17. California unemployment rises to 5.5%, worst in the U.S. as tech falters (www.sfchronicle.com)

加利福尼亚州的失业率上升至5.5%,成为全美失业率最高的州。这一状况主要受科技行业表现疲软的拖累。

18. Claude Opus 4 and 4.1 can now end a rare subset of conversations (www.anthropic.com)

An update on our exploratory research on model welfare

20. Best Practices for Building Agentic AI Systems (userjot.com)

Real patterns for building AI agent systems that don't fall apart. Two-tier architectures, stateless design, orchestration strategies, and what we learned building UserJot's agent infrastructure.

21. Volkswagen locks horsepower behind paid subscription (www.autoexpress.co.uk)

Owners can now subscribe to boost the power of their car… for a fee

23. Thai Air Force seals deal for Swedish Gripen jets (www.scmp.com)

Thailand finalised the deal a week after using its current fleet of F-16s to strike military targets during border clashes with Cambodia.

25. Steam can't escape the fallout from its censorship controversy (www.polygon.com)

PayPal is the latest payment processor to exert pressure on Valve, a list that includes major players like Visa and Mastercard

28. It seems like the AI crawlers learned how to solve the Anubis challenges (social.anoxinon.de)

It seems like the AI crawlers learned how to solve the Anubis challenges. Anubis is a tool hosted on our infrastructure that requires browsers to do some heavy computation before accessing Codeberg again. It really saved us tons of nerves over the past months, because it saved us from manually maintaining blocklists to having a working detection for "real browsers" and "AI crawlers".

29. How Figma’s multiplayer technology works (2019) (www.figma.com)

A peek into the homegrown solution we built as the first design tool with live collaborative editing.

31. The Folk Economics of Housing (www.aeaweb.org)

The Folk Economics of Housing by Christopher S. Elmendorf, Clayton Nall and Stan Oklobdzija. Published in volume 39, issue 3, pages 45-66 of Journal of Economic Perspectives, Summer 2025, Abstract: Why is housing supply so severely restricted in US cities and suburbs? Urban economists offer two prim...

33. Seagate spins up a raid on a counterfeit hard drive workshop (www.tomshardware.com)

Bust finds nearly 700 Seagate hard drives, along with some from Kioxia and Western Digital.

34. TextKit 2 – The Promised Land (blog.krzyzanowskim.com)

After 4 years of using Apple's TextKit 2 API: viewport bugs, unstable scrolling, and implementation issues make it fall short of its promises.

35. Princeton NuEnergy's battery recycling tech recovers 97% of lithium-ion material (www.energy-reporters.com)

In a significant move to bolster the domestic supply chain, a New Jersey-based company, Princeton NuEnergy, has unveiled a groundbreaking battery recycling