2024 05 27 HackerNews

2024-05-27 Hacker News Top Stories #

  1. Cloudflare突然要求作者支付高额费用升级服务,否则将关闭所有域名,导致作者的在线赌场业务遭受重大停机和信任损失。
  2. Home Assistant被用于乌克兰战争中保护家庭,通过监控空袭警报系统和Telegram频道来及时通知威胁。
  3. Google Meet推出自适应音频功能,允许多台设备在近距离内加入会议,解决回声和音频反馈问题。
  4. Hurl是一种以异常处理为唯一控制流的语言,其源代码和网站在Hurl的仓库中可用,采用AGPL-3.0、GAL-1.0和商业许可。
  5. tmux作为终端多路复用器,允许开发者在无图形界面下分割屏幕为多个shell,尽管存在争议但对SSH到服务器的开发者非常有用。
  6. 如何将iPhone转变为功能简化的“愚蠢手机”,通过使用特定应用程序和设置减少屏幕时间和干扰。
  7. Braid是一个开放工作组,旨在创建互操作状态同步的算法和标准,Braid-HTTP扩展了HTTP协议,增加了版本控制和自动同步功能。
  8. Zellij是一个功能丰富的终端工作区,提供类似tmux或screen的基本功能,并内置了许多特性。
  9. 《Google SRE Handbook》中的“简单性”章节强调了软件简单性对系统可靠性的重要性,提倡在稳定性和敏捷性之间取得平衡。
  10. 人脸识别技术在英国被广泛用于识别扒手,但存在误识别和隐私问题,引发争议。

Cloudflare took down our website #

https://robindev.substack.com/p/cloudflare-took-down-our-website

这篇文章讲述了作者在使用 Cloudflare Business 计划(每月 250 美元)多年后,突然收到 Cloudflare 的通知,要求在 24 小时内提前支付 12 万美元以购买一年的企业计划,否则他们将关闭所有域名。在与 Cloudflare 进行了 3 次销售电话后,他们试图弄清楚发生了什么,并在一周内达成合理的合同。当他们告诉 Cloudflare 他们也在与 Fastly 进行谈判时,Cloudflare 突然“清除”了所有域名,导致核心业务出现巨大的停机时间,不眠之夜迁移离开 Cloudflare,客户信任受到无法弥补的损失,内部系统持续停机数周。

作者是一名在线赌场的 SysOps 工程师,每月活跃用户约 400 万。他们自 2018 年以来一直是 Cloudflare“Business”计划的满意客户,该计划具有一些不错的功能,每月花费 250 美元,流量“无限”。然而,Cloudflare 要求他们升级到“Enterprise”计划,并提出定制价格。在一系列邮件和电话交流后,Cloudflare 最终删除了作者的所有域名,导致巨大的停机时间和内部基础设施问题。

文章还提到了作者与 Cloudflare 的谈判过程,Cloudflare 的销售策略以及作者对 Cloudflare 的替代方案 Fastly 的尝试。最终,作者建议不要直接在 Cloudflare 注册域名,不要使用 Cloudflare 的自定义缓存规则,不要使用 Cloudflare 的专有产品,以及备份 Cloudflare 配置等建议。

总的来说,这篇文章揭示了作者与 Cloudflare 之间的纠纷,以及作者对 Cloudflare 销售策略和服务的看法,提供了对使用 Cloudflare 可能面临的挑战和问题的深入洞察。


HN 评论 341 comments | 作者:nolverostae | 9 hours ago #

https://news.ycombinator.com/item?id=40481808

  • OP 经营赌博网站,遇到了 Cloudflare 要求使用企业计划的问题,但未明确告知问题所在。
  • Cloudflare 可能因赌博网站使用其 IP 而遇到美国州份的问题,导致 IP 声誉受损。
  • Cloudflare 希望他们使用 BYOIP 功能,但未清楚告知问题,只是强烈推销企业计划。
  • 有人怀疑 Cloudflare 是否因为赌博网站的 IP 声誉问题而要求使用 BYOIP。
  • Cloudflare 可能因为 IP 声誉问题要求使用 BYOIP,但通信不清晰,导致客户失去信任。

How Home Assistant is being used to protect from missile and drone attacks #

https://denysdovhan.com/home-assistant-config/config/war/

这个网页是关于作者 Denys Dovhan 的家庭自动化设置,使用 Home Assistant。文章主要讲述了作者如何利用 Home Assistant 在乌克兰战争中保持安全,并且及时通知他有关即将到来的威胁。

文章描述了乌克兰面临的各种危险,如 MiG-31K 起飞、自杀式无人机袭击、弹道导弹袭击、巡航导弹袭击等,以及如何利用 Home Assistant 监控空袭警报系统。作者还提到了使用 Telegram 频道监控战争情况,并将这些信息整合到 Home Assistant 中。

此外,文章还介绍了作者如何利用 Home Assistant 监测即将到来的危险,如巡航导弹发射、战略轰炸机起飞等,并采取相应的行动。文章最后提到了作者如何利用 Home Assistant 监测直接威胁,并在必要时发送紧急通知。整体内容展示了作者在战争环境下如何利用智能家居技术保持安全和警惕。


HN 评论 147 comments | 作者:slovette | 18 hours ago #

https://news.ycombinator.com/item?id=40479729

  • 评论观点中存在着令人着迷和可怕的共存感受。
  • 评论提到“经过实战检验”这个术语在这里被字面使用。
  • 评论指出这是由战壕中的人员制作的。
  • 评论认为这更像是一种应对工具而非警告系统,因为即使在基辅,其作为后者的效用也受到限制。
  • 评论指出大多数的东西已经转移到了家庭助手的用户界面中,与之前相比更少出错。
  • 评论提到了乌克兰各地的空袭警报数量和持续时间的统计数据,包括媒体报道的爆炸数量。
  • 评论讨论了缺乏官方 API 详细描述危险性质的问题。
  • 评论指出了使用分散的服务来分散攻击面。
  • 评论讨论了如何保持信息的机密性以及通过多个渠道传播结构化消息的重要性。

Google Meet rolls out multi-device adaptive audio merging #

https://workspaceupdates.googleblog.com/2024/05/google-meet-adaptive-audio.html

这篇文章介绍了 Google Meet 中的自适应音频功能。在这个混合工作时代,客户反映很难找到视频会议室加入会议。通过“自适应音频”,您和您的团队可以使用多台笔记本电脑在近距离内加入 Google Meet,而不会出现尴尬的回声和音频反馈。这对于没有足够视频会议室或没有资源用于专用会议室设备的组织来说是一个巨大的好处。

Meet 中的自适应音频将自动检测房间内多台笔记本电脑的存在,并同步麦克风和扬声器,实现无缝的音频体验。这使团队可以在任何地方只使用他们的笔记本电脑创建临时会议空间,每个人都可以清楚地听到,而不必围绕一个笔记本电脑拥挤。最重要的是,自适应音频使用户能够在会议室不可用、会议室硬件不工作或对于较小的组织,在每个房间没有专用视频会议设备时加入会议。这也使组织能够使用非典型的会议空间,如休息室、咖啡馆和其他即兴场所。每个参与者的麦克风和扬声器都会被使用,以确保每个人都能听到和被清楚地听到。

当多个参与者从同一房间加入会议时,“自适应音频”会自动激活。管理员无需控制此功能。用户可以通过转到设置 > 音频 > 自适应音频来关闭此功能。这个功能将默认开启。自适应音频功能将在 2024 年 5 月 22 日开始逐步推出,Rapid Release 域名需要最多 15 天才能看到功能,Scheduled Release 域名将在 2024 年 6 月 5 日开始全面推出。

这个功能适用于拥有 Gemini Enterprise、Gemini Business、Gemini Education、Gemini Education Premium 以及 AI Meetings and Messaging 附加组件的 Google Workspace 客户。用户可以访问 Google 帮助中心了解如何在 Google Meet 中使用自适应音频。


HN 评论 136 comments | 作者:tfsh | 7 hours ago #

https://news.ycombinator.com/item?id=40482833

  • 多台设备自适应音频合并在音频工程角度来看真的令人惊叹。
  • Google Meet 替代了昂贵的专有硬件,每个用户都有麦克风。
  • 未经修改的音频已经足够好,但使用一些信号音会提高协调。
  • Meet 可能只是选择最响的麦克风,而不是处理信号跨相位。
  • 当前基线是手动静音和取消静音麦克风,所以选择最佳麦克风听起来更好。
  • 44.1kHz 在一台笔记本电脑上不等于另一台,这意味着一切必须实时动态重新采样,同时保持质量和低延迟。
  • 如果在 RF 信号上进行这种多路径和阵列信号处理,将被 ITAR 覆盖。
  • Meet 对我来说是功能和简单性的完美平衡。 Zoom 和 Teams 总是让我沮丧,尽管我经常使用它们。
  • 视频会议很大程度上是谁勾选了最多框的游戏,需要说服 IT 管理员和 A/V 人员,而 Meet 并不完全满足他们的需求。
  • Meet 让我感到非常沮丧,因为我无法将共享的高清屏幕全屏显示在我的高清屏幕上,并获得 1:1 像素与面部叠加的效果。
  • 通过更改 Meet 呼叫布局为仅一个视频(演示)并禁用观看参与者,按 F11 使浏览器全屏,按 Ctrl+ 减少多次减少 UI 元素,使共享视频接近全屏。
  • 我也同样对这里的音频工程挑战和机会感到敬畏。但我不确定 Meet 是否试图解决所有这些问题?他们是否将麦克风视为麦克风阵列并跨相位处理信号?可能我没有看到他们这样说。

Hurl, the Exceptional Language #

https://hurl.wtf/

https://hurl.wtf/ 是关于 Hurl 语言的官方网站,Hurl 是一种专为探索基于异常处理作为唯一控制流的语言而创建的语言。该网站包含了关于如何使用 Hurl 的文档,提供了一些示例以及调试和解答问题的指导。

Hurl 受到了一些人的赞誉,其中包括 Erika Rowland 和 Nicole Tietz-Sokolskaya 等人。网站还提供了 Hurl 和该网站的源代码。

Hurl 软件有三种许可证可供选择使用:AGPL-3.0、GAL-1.0(Gay Agenda License)和商业许可证。如果您发现错误,可以通过邮件提交补丁。


HN 评论 96 comments | 作者:todsacerdoti | 16 hours ago #

https://news.ycombinator.com/item?id=40480056

  • 设计编程语言时,强制使用命名空间来包含/导入!并且如果可能的话,不要允许顶层的副作用。
  • 希望强制命名空间与包含/导入语句匹配,如果语句没有使用显式名称绑定…
  • Python 在略有不同的地方有这个功能。大多数 pypi 包的名称和模块是对齐的,但这只是一种约定,有一些常见的偏差,比如 pyyaml 包提供 yaml 模块。
  • Python 的包管理器也有问题。但至少 Python 语言很清晰,所以你可以知道 “import foo” 或 “from bar import foo” 在你的文件中创建了一个名为 “foo” 的名称。Go 没有这样的限制。
  • 有人设计编程语言时,不要将异常作为主要的控制流手段。
  • 我一直有点讨厌异常,因为它使调用者和被调用者之间的契约难以确定,使您的代码高度耦合。我更喜欢通过返回值处理,类似 Go 或 Rust 的方式。简要浏览了这种语言,我不确定是否有任何东西可以解决这个问题?
  • 我认为这种模型很酷,如果您的 IDE 能够动态确定函数的所有未捕获异常,并让您跳转到可能抛出异常的每个地方。不确定如何处理耦合。这似乎会导致一个异常波动的控制流图。

Tmux is worse-is-better #

https://hiandrewquinn.github.io/til-site/posts/tmux-is-worse-is-better/

这篇文章讨论了 tmux(“终端多路复用器”的缩写)在终端中的应用。作者指出 tmux 不仅仅是一个 i3(Linux 窗口管理器)的替代品,更重要的是它允许程序员在无需图形环境的情况下将屏幕分割成多个独立的 shell,特别适用于需要频繁 SSH 到服务器的开发者。

作者提到,尽管有些开发者如 Kovid Goyal 对 tmux 持负面看法,认为终端多路复用器会增加不必要的开销并限制新功能的添加,但对于需要在多个 shell 中同时工作的开发者来说,tmux 仍然是一个非常有用的工具。

作者还探讨了“坏就是好”的产品管理哲学,强调了在软件开发中,要将软件的核心功能针对最常见的使用情况做到极致,即使这意味着接受次优的方法。

文章最后指出,尽管作者在家中使用 UNIX 系统,但在工作中使用 Windows,因此在需要 SSH 到 Linux 服务器时,tmux 成为了一个必不可少的工具,让作者能够同时运行多个 shell,提高工作效率。


HN 评论 257 comments | 作者:hiAndrewQuinn | 1 day ago #

https://news.ycombinator.com/item?id=40476410

  • 解释了“parsing each keystroke twice”在评论中的重要性,认为这不值得过分关注,更重要的是远程持久性。
  • 讨论了 Kitty 和 tmux 的集成,以及 Linux 终端的功能。
  • 提到了 iTerm2 作为 tmux 的 UI,解决了 tmux 会话内的 UX 问题。
  • 讨论了 Linux 终端的功能,以及 iTerm2 相对于其他终端的优势。
  • 讨论了 tmux 和其他终端之间的选择,以及一些用户对 tmux 的使用体验和观点。
  • 提到了 tmux 的可扩展性,推荐了一些 tmux 插件和教程。
  • 讨论了 tmux 和其他终端之间的区别,以及用户对 tmux 和其他终端的个人偏好和使用习惯。

Turn Your iPhone into a Dumb Phone #

https://dumbph.com/turn-iphone-into-dumb-phone

这篇文章介绍了如何将 iPhone 变成“愚蠢手机”,即减少其功能以减少屏幕时间和数字化干扰。以下是文章中提到的主要内容:

  • 通过使用一些简单的应用程序和设置,你可以将现有的 iPhone 简化,无需购买新设备。
  • 通过使用最小化主屏幕启动器、选择隐藏底栏的简单壁纸、启用灰度模式和禁用通知等调整,可以将 iPhone 简化。
  • 最小化主屏幕启动器是一个全屏小部件,显示一系列选定的应用程序名称,而不是彩色应用程序图标。
  • 使用简单的、纯色的壁纸可以帮助简化手机界面。
  • 通过启用灰度模式,可以完全将 iPhone 屏幕变为灰色,减少色彩的刺激。
  • 禁用大部分通知可以减少干扰,只保留重要的通知。
  • 最后,删除一些容易让你上瘾的应用程序,如社交媒体应用,可以帮助减少手机使用时间。

这些调整可以帮助你减少对手机的过度使用,但并不是消除智能手机成瘾的灵丹妙药。文章强调,除了对 iPhone 进行调整外,还需要采取更激烈的措施来减少对手机的依赖。


HN 评论 156 comments | 作者:hbroadbent | 15 hours ago #

https://news.ycombinator.com/item?id=40480323

  • 一些评论认为文章提出的建议对于减少使用手机时间有帮助,但并未深入探讨系统内置的管理过度使用功能。
  • 另一些评论指出文章未提及屏幕时间功能,认为文章建议的关闭通知功能过于简单。
  • 有人分享了如何将 iPhone 设置为“愚蠢手机”,并提到了使用监督模式等方法。
  • 一些评论提到了灰度模式的有效性,以及如何通过设置来控制通知。
  • 也有评论讨论了如何使用辅助功能模式、过滤通知、禁用应用通知等方法来简化手机使用。
  • 有人提到了使用 e 墨屏手机,以及如何通过设置和应用来管理通知和应用程序。
  • 还有评论讨论了如何通过设置和应用程序来管理通知,以及 iOS 和 Android 系统的不同之处。

Braid: Synchronization for HTTP #

https://braid.org/

网站 https://braid.org 是一个名为“Braid: Working Group for Interoperable State Synchronization”(Braid:可互操作状态同步工作组)的开放工作组,致力于创建用于互操作状态同步的算法、应用程序、工具和标准。他们的目标是使分布式状态的读取和写入像本地变量一样简单,可以在我们使用的所有网络计算系统之间进行协作。该工作组每两周举行一次会议,讨论应用程序和系统需求,确定共同点,并就共享协议达成共识。

Braid-HTTP 是一个扩展了 HTTP 的协议,将其从状态传输扩展为状态同步协议。它为 HTTP 添加了版本控制、GET 请求的订阅、范围请求的补丁以及用于指定 OT 或 CRDT 行为的合并类型等功能。这些功能使得 Web 资源能够在多个客户端、服务器和代理之间自动同步,并支持多个作者同时进行任意编辑,同时保证一致性,使用 OT、CRDT 或其他算法。

Web 应用程序可以使用 Braid 扩展提供协作编辑、无服务器离线模式和任何 HTTP 资源的点对点网络功能。标准库使得将这些功能添加到现有的 Web 应用程序和浏览器变得简单。

该网站还提供了有关 Braid 协议的详细信息,包括协议实现、算法、应用程序等内容。工作组欢迎与他们合作,参与会议并讨论分布式 Web 的建设。


HN 评论 73 comments | 作者:walterbell | 16 hours ago #

https://news.ycombinator.com/item?id=40480016

  • Braid-HTTP 是对 HTTP 的扩展,从状态传输扩展到状态同步协议。
  • Braid 提供新的 HTTP 头部,使 HTTP 获得全新功能,成为完整的状态同步协议。
  • HTTP 最初是无状态的,但随后添加了 cookies,现在大部分 Web 应用程序需要在服务器和客户端之间同步状态。
  • Braid 的目标是将 HTTP 扩展为完整的状态同步协议,以减少手动编写同步代码的痛苦。
  • Braid 的设计旨在将状态同步集成到 HTTP 中,消除大量现有的 JavaScript 框架,使 Web 获得新功能。
  • Braid 的协议将确保每个页面始终保持最新,实现浏览器不再需要刷新按钮的目标。

Zellij: A terminal workspace with batteries included #

https://zellij.dev/

Zellij 提供了一个终端工作区,内置了许多功能。您可以在该网站上找到 Linux 和 macOS 的下载链接,还可以在不安装的情况下尝试 Zellij。

对于 bash/zsh 用户,可以使用命令 bash <(curl -L zellij.dev/launch),对于 fish 用户,可以使用命令 bash (curl -L zellij.dev/launch | psub)。此外,您还可以获取 Zellij 的贴纸。

Zellij 提供了类似于 tmux 或 screen 的终端复用器的基本功能,但还包括许多内置功能。您可以在该网站上找到关于 Zellij 的更多信息,包括用户指南、配置、常见问题解答等内容。


HN 评论 38 comments | 作者:thunderbong | 1 day ago #

https://news.ycombinator.com/item?id=40478188

  • 有人赞赏维护者的勇气和决心,认为其做法大胆;
  • 有人推荐 Zellij,认为 UI 极其流畅,但缺少自动创建新标签或窗格附加到现有会话的功能;
  • 有人习惯使用 Kitty,认为 Zellij 提供了所需的 UI;
  • 有人建议逐步编写配置文件以解决 Zellij 初始问题;
  • 有人认为好的工具应可无需自定义配置;
  • 有人提到 Zellij 插件生态基于 wasm,有助于管理插件;
  • 有人称赞 Zellij 的易用性和导航性,推荐尝试;
  • 有人提到 Zellij 支持移动标签;
  • 有人认为终端不过时,提到 Nushell 等项目;
  • 有人认为终端不过时,强调终端的强大功能;
  • 有人认为终端不过时,指出 UNIX 的灵活性;
  • 有人对 Zellij 的设计和文档印象深刻,准备尝试使用。

Simplicity – Google SRE Handbook (2017) #

https://sre.google/sre-book/simplicity/

《Google - 网站可靠性工程》中的第九章“简单性”探讨了软件系统的简单性对可靠性的重要性。文章指出,追求极致简单是确保可靠性的代价。软件系统本质上是动态且不稳定的,只有在真空中存在的软件系统才能完全稳定。

为了保持系统的敏捷性和稳定性平衡,SRE(Site Reliability Engineering)的工作是至关重要的。有时为了敏捷性而牺牲稳定性是有意义的,但对于大多数生产软件系统,我们希望在稳定性和敏捷性之间取得平衡。

SRE 致力于创建能够使软件更可靠的程序、实践和工具,同时确保这些工作对开发人员的敏捷性影响尽可能小。文章还提到了“无聊”的美德,强调软件不应该是令人兴奋和有趣的,而是应该按部就班、可预测地实现业务目标。此外,文章还探讨了减少软件膨胀、设计简洁 API、模块化设计以及简化发布等方面的重要性。

总的来说,文章强调了软件简单性对可靠性的重要性,每一步任务的简化都是为了更好地实现目标。


HN 评论 86 comments | 作者:nateb2022 | 23 hours ago #

https://news.ycombinator.com/item?id=40478470

  • 许多评论者指出谷歌实际上遵循了这篇文章中的原则,但也有人指出谷歌的虚伪之处;
  • 有人认为指责谷歌虚伪没有合理性,用户混淆了产品与可靠性实践;
  • 指责虚伪是一种人身攻击,不一定影响有效性,只是让人感觉好而已;
  • 指责某人做某事愚蠢,而他们经常做这件事,可能是怀疑该人在论点中隐藏了一些漏洞;
  • 情感附着并非复杂性的原因,而是决策的结果;
  • 工程师对其创作情感附着,这并不意味着情感是复杂性的原因;
  • 系统演变的原因可能是系统激励的结果;
  • 一些人认为 SRE 组织对系统设计的看法与 SWE 组织的看法不一致,这可能不健康;
  • 谷歌的最佳实践导致删除一个客户的 1350 亿美元养老金账户,一些人对谷歌的文章持怀疑态度。

‘I was misidentified as shoplifter by facial recognition tech’ #

https://www.bbc.co.uk/news/technology-69055945

这篇文章讨论了在英国高街上越来越普遍使用的现场人脸识别技术。文章以一个被误认为是扒手的案例开始,描述了一位名叫 Sara 的女士在一家商店被错误指认,并被禁止进入所有使用该技术的商店的经历。Facewatch 是一种人脸识别系统,被用于识别扒手,但也引发了隐私和误认身份的担忧。

除了零售商之外,警方也开始使用这项技术。在伦敦东部的 Bethnal Green,警方使用一辆改装的白色货车,通过车顶的摄像头捕捉成千上万张人脸图像,以便与警方的观察名单进行匹配。警方称这项技术的速度非常有帮助,并表示已经有 192 人因此被逮捕。

然而,民权团体担心技术的准确性尚未完全确立,指出了一些误认身份的案例。一位名叫 Shaun Thompson 的人士就曾被错误认定为通缉犯。此外,技术的法律监管也尚未跟上发展。

尽管一些人支持这项技术用于打击犯罪,但也有人担心它可能导致滥用和侵犯隐私。文章最后提出了一个问题:这项技术是否会在长远发展中起到作用,或者只会导致更多问题和争议。


HN 评论 3 comments | 作者:rwmj | 15 hours ago #

https://news.ycombinator.com/item?id=40480258

  • 当人们误将人工智能系统的输出视为确定性的时候,可能会导致错误行为和伤害他人。
  • 人工智能系统的训练数据与实际环境常常不匹配,导致其性能下降。
  • 人们容易忽略细微之处,而缺乏对复杂情况的理解。
  • 有人认为将这类系统称为 “智能” 是不负责任的行为,因为这可能导致人们盲目信任系统的输出。
  • 对于误识别为商店小偷并在公共场合遭到污名的情况,有人建议起诉造成的精神压力。
  • 提出应该设立标准慷慨的赔偿制度,以弥补系统误识别造成的损失。
  • 认为应该通过法律规定适当的程序保障,防止商店滥用人工智能系统对顾客进行错误指认。
  • 担心商店可能全球性地禁止被系统误认为小偷的顾客。
  • 表示人工智能系统并不适合广泛非专家使用,需要合适的监管和程序保障。