2025-06-06

47 篇热帖

1. Self-hosting your own media considered harmful according to YouTube (www.jeffgeerling.com)

YouTube 近期观点认为,创作者或用户自我托管媒体内容可能带来危害。其主要论点围绕内容审核的缺失、安全风险以及可访问性限制展开。平台指出,自行托管意味着绕过了其强大的内容审核系统和版权管理工具(如Content ID),可能导致非法或有害内容传播,同时使内容面临黑客攻击、数据丢失等技术风险。此外,自行托管内容可能无法像在YouTube上那样被广泛发现和访问,影响传播范围。

然而,这一观点引发了广泛讨论。支持自我托管的一方认为,这有助于实现数字主权,避免平台单方面审核或删除内容,并确保创作者对数据和分发渠道的完全控制。他们认为,YouTube的立场可能与其维护平台主导地位、广告生态和数据控制的商业利益有关。

这场争论凸显了数字内容生态中平台控制权与个人/机构自主权之间的根本矛盾。创作者需要在平台提供的便利性、可扩展性与自我托管带来的独立性、控制权之间做出权衡,同时考虑技术能力、资源投入和法律风险。

3. Google restricts Android sideloading (puri.sm)

谷歌限制Android侧载

谷歌近期在新加坡试点项目中实施新的限制措施,阻止某些侧载应用的安装,尤其是请求敏感权限(如短信访问或无障碍服务)的应用。这些应用若通过网络浏览器、消息应用或文件管理器下载,将被拦截。此举旨在与新加坡网络安全机构合作,防止欺诈和恶意软件诈骗。

同时,谷歌推出了Play Integrity API,允许开发者限制侧载应用的功能,从而推动用户仅通过Google Play商店安装应用。这些政策在安全名义下强化了谷歌对Android生态系统的控制,但引发了关于数字自主性、创新抑制和用户权利的担忧。

批评者认为,尽管这些措施可能减少恶意活动,但也进一步巩固了谷歌的垄断地位,限制了用户自由、创新和竞争。侧载作为Android开放性的基石,正被边缘化,使Android更接近苹果iOS的封闭模式。

Purism:隐私尊重的替代方案

针对主流移动生态系统中的监控、操纵和企业越权问题,Purism提供了隐私尊重的解决方案。其Librem 5和Liberty手机搭载基于Debian Linux的PureOS操作系统,确保用户自治、隐私和数据主权,避免监控资本主义驱动的定向广告。

PureOS支持安全、自由开源的应用,不依赖剥削性数据挖掘、成瘾算法或行为操纵。无需强制依赖企业应用商店或侵入性API,Purism的生态系统将控制权交还用户,同时确保高水平的安全性和透明度。

随着谷歌进一步封锁Android,Purism成为追求伦理、安全和开放替代方案的用户在移动计算领域的希望之光。

4. How we decreased GitLab repo backup times from 48 hours to 41 minutes (about.gitlab.com)

Learn how we tracked a performance bottleneck to a 15-year-old Git function and fixed it, leading to enhanced efficiency that supports more robust backup strategies and can reduce risk.

5. Gemini-2.5-pro-preview-06-05 (deepmind.google)

Our most intelligent model yet. Best for complex tasks and deep reasoning.

6. I do not remember my life and it's fine (aethermug.com)

What reminiscing is like without mental imagery

8. Dystopian tales of that time when I sold out to Google (wordsmith.social)

I will do something I normally never do here, and make my first ever blog post on the topic of, long sigh: tech. I’ve already talked abou...

10. 4-7-8 Breathing (www.breathbelly.com)

Free evidence-based breathing exercises to help you relax, reduce stress, and sharpen your focus.

11. Odyc.js – A tiny JavaScript library for narrative games (odyc.dev)

Odyc.js is a simple JavaScript library to create interactive narrative games, even without coding experience.

13. A masochist's guide to web development (sebastiano.tronto.net)

这篇博客文章是一份为C/C++开发者编写的指南,介绍如何使用Emscripten将代码编译为WebAssembly(WASM),从而在Web浏览器中运行高性能应用。它以循序渐进的方式,从构建一个简单的“Hello World”程序开始,逐步深入到构建复杂、多线程的库,并解决各种实际问题。

主要内容与关键点:

  1. 环境设置与Hello World:需要安装Emscripten和Web服务器。使用emcc命令可将简单的C程序编译为包含.html.js.wasm文件的可运行Web应用。

  2. 构建可调用的库:重点是如何将C函数编译为模块,并从JavaScript中调用。关键点包括:

    • 使用-sEXPORTED_FUNCTIONS导出函数。
    • 处理Emscripten运行时初始化异步性(通过onRuntimeInitialized)。
    • 使用-sMODULARIZE-sEXPORT_NAME生成JavaScript模块(.mjs),以便更好地管理依赖和避免命名冲突。
  3. 多线程与Web Workers

    • Emscripten通过将pthreads映射到Web Workers来实现多线程。编译时需添加-pthread选项。
    • Spectre漏洞影响:为使用SharedArrayBuffer(多线程通信所需),必须在Web服务器的响应头中设置Cross-Origin-Opener-PolicyCross-Origin-Embedder-Policy
    • 避免阻塞主线程:将耗时计算放在Web Worker中执行,通过postMessageonmessage与主线程通信,以保持界面响应。
  4. 回调函数:当C库函数需要接收一个函数指针参数(如日志回调)时,需要在JavaScript端使用Emscripten的addFunction方法创建一个可传递的函数指针,并注意函数签名匹配。

  5. 持久化存储

    • 使用Emscripten的IDBFS文件系统后端,可将数据持久化存储在浏览器的IndexedDB中。
    • 需要通过JavaScript代码(如使用--pre-js)在运行时挂载并同步文件系统,并处理异步加载过程。

核心思想与总结: 作者强调,虽然Emscripten致力于抽象底层Web技术,但“所有抽象都是有漏洞的”。随着应用复杂度增加(如多线程、大数据存储),开发者不可避免地需要深入了解Web平台的内部机制(如Web Workers、安全限制、客户端存储)。尽管过程复杂且充满挑战,但成功将高性能C/C++应用移植到Web是可行的,并且能带来宝贵的平台知识。

14. Show HN: ClickStack – Open-source Datadog alternative by ClickHouse and HyperDX (github.com)

Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by ClickHouse and OpenTelemetry. - hyperdxio/hyperdx

15. Eleven v3 (elevenlabs.io)

Generate lifelike speech in 70+ languages with emotion, direction, and multi-speaker control. Experience next-gen voice synthesis with Eleven v3.

16. Infomaniak comes out in support of controversial Swiss encryption law (www.tomsguide.com)

Infomaniak has clashed with Proton as the two companies disagree over approaches to Switzerland's controversial proposed surveillance law change.

17. X changes its terms to bar training of AI models using its content (techcrunch.com)

Social network X has changed its developer agreement to prevent third parties from using the platform's content to train large language models.

19. Sandia turns on brain-like storage-free supercomputer (blocksandfiles.com)

Sandia jumps into top five of brain-like supercompute with disk-free, DRAM-packed SpiNNaker 2

20. I think I'm done thinking about GenAI for now (blog.glyph.im)

Deciphering Glyph, the blog of Glyph Lefkowitz.

21. What methylene blue can (and can’t) do for the brain (neurofrontiers.blog)

亚甲蓝(美蓝)是一种历史悠久的药物,最初用于治疗高铁血红蛋白症等疾病。近年来,它被宣传为一种能改善记忆、提升精力的“神奇补充剂”,但科学证据并不支持这些广泛的说法。

亚甲蓝在细胞层面具有多种作用机制:

  • 作为单胺氧化酶抑制剂:可能干扰多巴胺、血清素等神经递质的分解。
  • 影响线粒体功能:在低剂量下,它可以绕过电子传递链中的缺陷,帮助产生能量并减少自由基;但高剂量时反而会抑制细胞色素C氧化酶,增加氧化应激。
  • 干扰一氧化氮信号通路:通过阻断鸟苷酸环化酶,导致血管收缩而非舒张。

这种多靶点特性意味着亚甲蓝可能对多种病症有治疗潜力,但也使得精确调控变得困难。一个关键特性是它的 “激素效应”:低剂量有益,高剂量则有害。

在动物实验中,亚甲蓝在治疗抑郁、焦虑、创伤性脑损伤和神经退行性疾病等方面显示出积极效果。然而,在人类研究中,证据有限且样本量小。虽然在一些双相情感障碍、抑郁症的初步研究中观察到症状改善,但针对中度阿尔茨海默病的大规模III期临床试验未能证实其有效性。目前,没有证据表明亚甲蓝能为健康人群带来认知增强效果

不建议自行使用亚甲蓝的主要原因包括:

  1. 明确的副作用:可使尿液变蓝,并引起恶心、呕吐、头痛、膀胱刺激等。
  2. 严重健康风险:对葡萄糖-6-磷酸脱氢酶缺乏症患者可能引发溶血性贫血;与选择性5-羟色胺再摄取抑制剂合用可能导致危及生命的血清素综合征。
  3. 剂量窗口不明:由于缺乏研究,安全有效的剂量未知,且市售补充剂质量不受严格监管。
  4. 高剂量毒性:过量使用会损害线粒体功能,增加自由基产生,对大脑健康产生反效果。

总之,亚甲蓝是一种具有复杂生物学效应的化合物,其神经保护潜力仍需更多严谨的临床研究来探索和确认。在获得充分的安全性与有效性数据之前,将其作为“促认知”或“全能”补充剂使用是风险过高且缺乏依据的。

22. Seven Days at the Bin Store (defector.com)

This spring, a new business opened on the main drag of my West Philadelphia neighborhood, provoking both excitement and trepidation. “I saw it just the other day and feared it,” one friend texted. “Like what the actual fuck is that shit,” said another. “Why?!!!” said a third. “Who is that for?” Until last summer, the…

24. Doge Developed Error-Prone AI Tool to "Munch" Veterans Affairs Contracts (www.propublica.org)

We obtained records showing how a Department of Government Efficiency staffer with no medical experience used artificial intelligence to identify which VA contracts to kill. “AI is absolutely the wrong tool for this,” one expert said.

26. Show HN: Claude Composer (github.com)

Contribute to possibilities/claude-composer development by creating an account on GitHub.

27. Too Many Open Files (mattrighetti.com)

Recently I’ve been working on a pretty big rust project and to my surprise Icouldn’t get tests to work properly.

28. Curate your shell history (esham.io)

You can make your shell history more useful by removing the typos and false starts.

29. Rare black iceberg spotted off Labrador coast could be 100k years old (www.cbc.ca)

A fish harvester from Carbonear, N.L., snapped a photo of a black iceberg while fishing for shrimp of the coast of Labrador in mid May. It caused a sensation on social media, and impressed a Memorial University professor who says it's likely a very old piece of ice dating back thousands of years.

30. What a developer needs to know about SCIM (tesseral.com)

If you're selling business software, you'll likely run into a customer that wants something called "SCIM." Here's what you need to know.

31. I made a search engine worse than Elasticsearch (2024) (softwaredoug.com)

Integrating my BM25 pandas search library, SearchArray, into BEIR, in order to embarass myself in public.

32. Sharing everything I could understand about gradient noise (blog.pkh.me)

这篇文章详细介绍了梯度噪声的原理与实现,主要使用 WebGL2/GLSL 代码示例。

核心概念:梯度噪声

  • 不同于将随机值直接赋给网格点的“值噪声”,梯度噪声将随机值解释为梯度(或斜率)
  • 通过计算梯度与从网格点到采样点的向量的点积,确定每个网格点对最终噪声值的贡献,然后进行平滑插值。
  • 其关键特性是噪声值在每一个整数网格点上为零。

实现步骤

  1. 哈希函数:为每个整数网格坐标生成确定的、均匀分布的伪随机数。文章使用了优化的 lowbias32 32位整数哈希函数,并通过位运算转换为范围在 [0,1) 的浮点数,可选将其重映射到 [-1,1)
  2. 梯度生成
    • 1D:梯度为标量(斜率),直接从哈希值映射到 [-1,1)
    • 2D:梯度为二维单位向量。一种方法是通过三角函数(随机角度)生成。
    • 3D:梯度为三维单位向量。文章采用了基于球坐标的映射方法。
  3. 噪声计算
    • 确定采样点所在的网格单元(通过 floor)。
    • 计算采样点相对于网格单元原点的偏移量 f(通过 fract)。
    • 对于每个网格顶点,计算其梯度向量与对应偏移向量的点积。
    • 使用五次多项式平滑函数 fade(t) = 6t^5 - 15t^4 + 10t^3 进行插值(1D为线性插值,2D为双线性插值,3D为三线性插值),得到最终噪声值。

分形布朗运动

  • 通过叠加多个不同频率和振幅的噪声“倍频程”来生成更复杂的细节。
  • 每次叠加时,频率乘以一个倍频因子(如1.98),振幅乘以一个增益因子(如0.51)。
  • 使用非整数因子是为了打破层与层之间的相关性。

导数及其应用

  • 导数(噪声函数的偏导数)在许多应用中很有用。
  • 可以通过解析方法(基于插值函数和衰减函数的导数公式)精确计算,或通过 GPU 的 dFdx/dFdy 函数近似计算数值导数。
  • 应用示例:
    • 计算法线以进行光照渲染。
    • 在分形叠加中基于累积梯度调整权重,以模拟侵蚀效果
    • 用于计算到曲线的精确距离。
  • 重要注意事项:对噪声进行缩放或变换时,必须相应地按链式法则缩放其导数。

扩展与进阶

  • 文章涵盖了从1D到3D的实现。
  • 提及了其他相关技术,如OpenSimplex噪声(基于单形网格,减少方向伪影)和域扭曲(通过嵌套的噪声函数扭曲坐标,产生更复杂的效果)。
34. OpenAI is retaining all ChatGPT logs "indefinitely." Here's who's affected (arstechnica.com)

OpenAI explains how deleted ChatGPT logs may be accessed in court battle.

35. Test Postgres in Python Like SQLite (github.com)

PGlite wrapper in Python for testing. Test your app with Postgres just as lite as SQLite. - wey-gu/py-pglite

36. APL Interpreter – An implementation of APL, written in Haskell (2024) (scharenbroch.dev)

A REPL for APL on the command-line (Haskell)

37. SkyRoof: New Ham Satellite Tracking and SDR Receiver Software (www.rtl-sdr.com)

Recently VE3NEA has released a new Windows program called 'SkyRoof'. SkyRoof is both a satellite tracking and SDR receiver program. It supports the RTL-SDR as well as Airspy and SDRplay devices. The software is designed for tracking and receiving ham radio satellites, and it can provide detailed information about all ham satellites, tracking them in real time, and provide pass prediction. It also shows a skymap and SDR waterfall display. The receiver software supports demodulation of SSB/CW/FM, and it automatically compensates for doppler. It can also interface with antenna rotators that support hamlib. Over on YouTube Johnson's Techworld has also

40. VPN providers in France ordered to block pirate sports IPTV (torrentfreak.com)

法国法院命令VPN提供商封锁盗版体育IPTV网站

法国法院依据《体育法典》第L.333-10条,首次命令主要VPN提供商封锁数百个盗版体育流媒体网站,标志着反盗版斗争的重要升级。

法律背景与演变 该条款允许权利持有人在证明“严重且反复侵权”后,可要求任何有能力的在线实体采取“一切相称措施”阻止访问盗版网站。最初目标是法国本地互联网服务提供商,随后范围扩展到公共DNS解析器(如Cloudflare和Google),现进一步扩大到VPN服务提供商。

案件缘由 2024年11月,Canal+集团和法国足球职业联盟(LFP)向巴黎司法法院提起诉讼,指控NordVPN、CyberGhost、ProtonVPN、ExpressVPN和Surfshark五家VPN提供商,称其用户能够通过其服务访问盗播他们拥有转播权的体育赛事的网站。

法院裁决与核心认定 法院于2025年5月15日驳回了VPN提供商提出的所有反对意见:

  • 驳回程序性异议:认为权利持有人有诉讼资格,且欧盟法院的相关案件不影响本案。
  • 认定管辖权与适用性:明确《体育法典》第L.333-10条对目标实体没有限制,且根据《数字服务法》,VPN提供商属于明确涵盖的“技术中介”。
  • 关键论点:法院认为,封锁VPN服务对特定域名的访问,即意味着该服务商阻止其用户通过该VPN工具访问相关网站,从而使其有能力协助减少权利持有人所称的损害。

封锁令内容 法院下令VPN提供商在裁决通知后三天内,采取所有必要措施,防止从法国领土(包括海外属地)或通过在该地区签订合同的用户访问指定的盗版网站和服务,封锁措施需持续至2025年5月25日英超赛季最后一场比赛为止。封锁费用由各方分担。

影响与后续

  1. 历史意义:LFP称此为“法国乃至世界首例”,是打击盗版的重大进展。
  2. 实际操作:许多被命令封锁的域名已被法国电信监管机构ARCOM要求ISP封锁,或近期已被反盗版组织“创意与娱乐联盟”(ACE)查封,这可能使得部分封锁令实际执行时已无必要。
  3. 标准放宽:法院指出,不应要求权利持有人证明其通过每一家被告的VPN都能访问盗版网站,这降低了证明侵权的举证复杂性。
  4. 拒绝附加要求:法院驳回了原告要求VPN提供商在其网站首页刊登此案详情的请求,认为“不合适”。

此次裁决显著扩展了法国反盗版封锁措施的适用范围,将VPN提供商纳入了法律框架下的责任主体。

43. Weaponizing Dependabot: Pwn Request at its finest (boostsecurity.io)

Your trusty Dependabot (and other GitHub bots) might be an unwitting accomplice. Through "Confused Deputy" attacks, they can be tricked into merging malicious code. This doesn't stop here. It can escalate to full command injection via crafted branch names and even bypass branch protection rules. Plus, we disclose two new TTPs to build upon previously known techniques.

45. Anthropic co-founder on cutting access to Windsurf (techcrunch.com)

Anthropic's Jared Kaplan said the company largely cut Windsurf's direct access to Anthropic's Claude AI models because of rumors OpenAI is acquiring the startup.