2024 03 31 HackerNews

2024-03-31 Hacker News Top Stories #

一句话摘要 #

  1. Someone has been attempting to DDoS us for weeks and we do nothing TablePlus 遭受了数周的 DDoS 攻击,但选择不封锁攻击者 IP 并保持服务稳定运行。
  2. Santa Barbara’s collective memory, sold for kindling 圣巴巴拉新闻报纸《Santa Barbara News-Press》的数字档案面临被出售给可能销毁的外国公司的风险。
  3. When new hires get paid more, top performers resign first 新员工薪酬高于现有员工时,特别是顶尖表现者更可能因感到被低估而辞职。
  4. IrfanView IrfanView 是一款快速且功能强大的图像查看器,适用于 Windows 系统,支持多种图像格式和编辑功能。
  5. Garbage Collection for Systems Programmers (2023) 文章讨论了垃圾回收对系统程序员的重要性,以及现代垃圾回收技术的优势和适用性。
  6. Paint.net Paint.NET 是一款免费的数字照片编辑软件,具有直观的用户界面和丰富的功能,适用于 Windows 操作系统。
  7. Apache Guacamole: a clientless remote desktop gateway Apache Guacamole 是一个无需客户端软件的远程桌面网关,支持通过 HTML5 浏览器访问桌面环境。
  8. Running a Raspberry Pi with a read-only root filesystem 博文介绍了如何在树莓派上运行只读根文件系统,以延长 SD 卡寿命并提高系统稳定性。
  9. Everything I Know About the XZ Backdoor 文章详细介绍了 XZ 压缩格式中疑似后门的发现过程及其对开源社区的影响。
  10. Prolog language for PostgreSQL proof of concept GitHub 项目展示了如何将 Prolog 语言嵌入到 PostgreSQL 中,允许使用 Prolog 编写存储过程。

Someone has been attempting to DDoS us for weeks and we do nothing #

https://tableplus.com/blog/2024/03/how-we-deal-with-ddos.html

这篇文章介绍了 TablePlus 遭受分布式拒绝服务(DDoS)攻击的情况以及他们如何处理这种攻击。

文章指出,TablePlus 遭受了数周的 DDoS 攻击,攻击者向他们的服务器发送了数亿次请求,尝试下载他们的设置文件数百万次。尽管攻击仍在持续,但 TablePlus 采取了一些应对措施:他们没有封锁任何攻击者的 IP 地址,也没有激活 Cloudflare 的“受攻击”模式。

由于 TablePlus 的服务能够处理数十亿次请求而无需太多成本,他们选择保持冷静,不采取过多行动。文章还介绍了 TablePlus 如何设计简单的后端服务,避免使用第三方服务,以及他们如何构建单体服务以处理大量请求。

此外,文章还提到了一些部署策略,如使用高性能框架、对数据库进行索引、使用反向代理等。文章最后更新了关于 Vercel 的信息,提到了一些保护网站的功能。


HN 评论 184 comments | 作者:spacebuffer | 15 hours ago #

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

这篇帖子中的评论观点归纳如下:

对于所谓的 DDoS 攻击,一些人认为请求量并不大,不值得夸耀;

另一些人指出使用 CDN(Cloudflare)缓存文件,服务器几乎不提供数据;

还有人认为简单的架构设计可以应对大部分负载,不需要过度复杂化;

有人质疑文章中的自夸,认为实际上是 Cloudflare 在处理大部分请求;

也有人提到了云计费攻击的问题,强调了安全性和防御深度的重要性。


Santa Barbara’s collective memory, sold for kindling #

https://www.independent.com/2024/03/29/santa-barbaras-collective-memory-sold-for-kindling/

这篇文章讨论了圣巴巴拉新闻报纸《Santa Barbara News-Press》的数字档案即将被出售给一家可能会销毁它以供在线搜索算法使用的神秘外国公司的情况。

文章回顾了《Santa Barbara News-Press》自 1868 年以来对圣巴巴拉社区的连续报道,记录了从出生和毕业通知到婚礼、讣告等各种历史事件。报纸在破产前提供了 155 年的社区故事,但在 2000 年被当地亿万富翁 Wendy McCaw 以大约 1.1 亿美元的价格从《纽约时报》公司购买后,遭遇了编辑独立性受到干预的问题。McCaw 试图修改和阻挠她认为会让她的内部圈子感到尴尬的合法报道,导致了编辑部的大规模离职。

报纸于 2023 年破产,数字档案因此面临永久丧失的危险。现在,破产法院将出售报纸的在线资产,包括 30 年的数字档案、社交媒体账户和网站域名等。一家名为 Weyaweya, Ltd.的马耳他公司已经同意以 25 万美元的价格购买这些资产,引发了关于这家公司真实意图的担忧。

文章还指出,这家公司可能是为了将《Santa Barbara News-Press》的数字档案转变为高利润的“回链农场”而收购这些资产,这种做法引发了对数字档案的持续利用和保护的担忧。

文章呼吁社区成员在破产法院的拍卖中采取行动,以拯救这些珍贵的历史记录,避免它们被用于不道德的商业目的。


HN 评论 78 comments | 作者:shortformblog | 1 day ago #

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

这篇帖子中的观点包括:对新闻网站 Deadspin 的收购涉及的投资者和购买者进行调查;有记者团队离开 Deadspin 并创建了 Defector,一个成功的合作社;404 Media 是一群前 Vice 人员组成的类似集体,受到 Defector 的直接启发;工人合作社的兴起受到欢迎;购买旧报纸并将其转变为高利润的外链农场的行为引发了关注;Google 的搜索结果受到影响;私募股权领域的常见操作方式;分离资产和责任之间的交叉收费;保护小型企业免受掠夺性收购的方法等。


When new hires get paid more, top performers resign first #

https://hbr.org/2024/03/when-new-hires-get-paid-more-top-performers-resign-first

这篇文章讨论了当新员工的薪酬高于现有员工时,特别是顶尖表现者会首先辞职的现象。

随着监管变化和技术进步,许多行业的薪酬透明度大幅提高,使员工更加意识到这些薪酬差距。研究表明,除非雇主在招聘新员工后尽快调整现有员工的薪酬,否则员工往往会辞职,而顶尖表现者更容易辞职。高绩效员工在新员工薪酬较高后辞职的比例更高。这种现象的原因包括高绩效员工感到被低估,减少了他们的动力,使他们对工作不再感到兴奋,更有可能开始寻找其他机会。

此外,员工可能会因为持续的薪酬差距而辞职,因为这些情况会严重破坏他们对团队和整个组织的信任。文章提出了几项策略来帮助管理者和领导解决这些问题,确保新员工和现有员工,特别是顶尖表现者,得到公平对待并为成功做好准备。这些策略包括提高意识、定期审计薪酬公平性、尽快解决薪酬不平等问题以及投资于灵活性。

文章强调了及时调整现有员工薪酬的重要性,以避免员工辞职,尤其是为了避免失去顶尖表现者。


HN 评论 204 comments | 作者:mooreds | 1 day ago #

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

根据您提供的链接,这篇帖子中的评论主要观点包括:

    1. 公司应该重视员工满意度,避免用更高的薪资招聘新人而忽视老员工的情况;
    1. 保持薪资保密制度可能导致公司低估员工价值,制约员工谈判加薪;
    1. 薪资公开可能有助于员工谈判加薪,但也可能引发内部矛盾;
    1. Netflix 采用了较高的薪资政策,鼓励员工去面试其他公司以获取市场薪资数据,以确保员工满意度和公司绩效;
    1. 公司应该更好地管理薪资分配,避免员工离职带来的问题。

IrfanView #

https://www.irfanview.com/

https://www.irfanview.com/ 是 IrfanView 的官方主页,是全球最受欢迎的图像查看器之一。

这个程序快速、紧凑(仅 6 MB),免费供非商业使用,支持 Windows XP、Vista、7、8、10 和 11,有 32 位和 64 位版本,支持多语言和 Unicode,旨在简单而强大。

你可以在这里下载 IrfanView 的最新版本,同时也提供插件和皮肤等内容。该软件具有查看图像、转换、优化、扫描打印、创建幻灯片、批处理等多种功能。

网站版权所有者为 Irfan Skiljan,由 domainunion 提供托管,设计由 Playmain 完成。


HN 评论 156 comments | 作者:omnibrain | 9 hours ago #

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

评论中的观点归纳如下:

  • IrfanView 是许多人长期使用的图像查看器,被认为比其他软件更快速、简单且高效。
  • 有人提到 IrfanView 在处理图像时的快速性和多功能性,以及它在不同平台上的兼容性。
  • 有人分享了对 Ditto 软件的使用经验,称其为一个优秀的剪贴板工具。
  • 有人回忆了使用 IrfanView 的旧时光,认为它是一个经典的软件。
  • 有人提到了其他类似软件,如 XnView,作为 IrfanView 的替代品。
  • 评论中还涉及到其他软件和工具的讨论,如 Nomacs、ACDSee、Ninite 等。

Garbage Collection for Systems Programmers (2023) #

https://bitbashing.io/gc-for-systems-programmers.html

这篇文章讨论了垃圾回收(Garbage Collection)对系统程序员的重要性。系统程序员经常需要优化操作系统的性能,因为操作系统的每次加速都意味着更多的计算资源。操作系统需要高度并发,调度用户进程和线程,以及处理硬件中断。为了最大程度减少等待时间,系统程序员使用各种方法在线程之间无锁共享数据,其中之一就是读-拷贝-更新(Read, Copy, Update)策略。

文章介绍了一种名为 RCU(Read-Copy-Update)的方法,用于处理常读取但很少写入的数据,如当前插入的 USB 设备集合。RCU 通过在写入时拷贝数据,更新指针,以及读取者通知写入者的方式,实现了无锁共享数据。这种方法在 Linux 等系统中被广泛使用,甚至在一些流行的并发库中也有应用。

作者还讨论了垃圾回收与手动内存管理的效率对比。传统认为垃圾回收比手动管理效率低,但实际上现代垃圾回收提供了许多优化,如周期性地重新整理堆内存,提高了吞吐量和缓存性能。文章指出,垃圾回收并非万能解决方案,但在某些情况下是一个有用的工具,不应该被过度忽视。

总的来说,文章强调了垃圾回收对系统程序员的重要性,以及现代垃圾回收的优势和适用性。


HN 评论 128 comments | 作者:ingve | 12 hours ago #

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

这篇帖子中的评论观点可以归纳为以下几点:

    1. 对于并行 GC 技术的讨论,提到了 MaPLe 和 MPL 等技术;
    1. 对于内存管理文献中的贡献,特别是与 Standard ML 和 MLKit 相关的内容;
    1. 对于 GC 效率的疑问和与 OCaml 支持多核并行性的比较;
    1. 对于 GC 在不同情况下的表现和性能问题的讨论;
    1. 对于 GC 与自定义内存管理解决方案的性能比较和对比;
    1. 对于 GC 的复杂性和内存管理方式的选择的讨论;
    1. 对于 GC 与手动内存管理的优劣比较和性能影响的分析。

Paint.net #

https://www.getpaint.net/

https://www.getpaint.net/ 是一款免费的数字照片编辑软件,适用于运行 Windows 操作系统的个人电脑。该软件具有直观创新的用户界面,支持图层、无限撤销、特效以及各种实用强大的工具。Paint.NET 起初是由微软指导的一名大学本科生设计项目的成果,现由 Rick Brewster 维护和开发。最初旨在成为 Windows 操作系统中附带的 Microsoft Paint 软件的免费替代品,如今已发展成为功能强大且简单易用的图像和照片编辑工具。它被比作其他数字照片编辑软件,如 Adobe® Photoshop®、Corel® Paint Shop Pro®、Microsoft Photo Editor 和 The GIMP。

Paint.NET 拥有活跃且不断增长的在线社区,提供友好的帮助、教程和插件。该软件支持多种语言,包括英语、白俄罗斯语、加泰罗尼亚语、简体中文、繁体中文等。用户可以通过免费下载获取最新版本,也可以通过捐赠或在 Windows 商店购买来支持 Paint.NET 的未来发展。该软件已获得多项奖项认可,是一款强大且易于使用的照片编辑工具。


HN 评论 100 comments | 作者:lazyjeff | 20 hours ago #

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

  • Paint.net 被认为是一个适合中等复杂度艺术任务的工具,界面简单,插件丰富;
  • Paint.net 被称为图形编辑器中的 Notepad++,具有强大的用户体验;
  • Paint.net 在 Windows 上运行良好,但在 Linux 上使用 Pinta 作为替代,但 Pinta 稳定性较差;
  • Paint.net 被认为是非专业图形编辑器中最好的选择之一,适合快速编辑;
  • 一些用户认为 Krita 和 GIMP 更复杂,视需求而定;
  • Paint.net 在 Windows 用户中备受喜爱,但在转向 Mac 时,用户错过了它;
  • Paint.net 被认为是桌面 Linux 的一个缺失,用户希望它能跨平台;
  • Photopea 被推荐作为类似 Photoshop 的替代品,运行在浏览器中;
  • Paint.net 曾是开源软件,后来变为专有软件,一些用户因此停止使用;
  • Paint.net 被认为是免费闭源软件中最好的之一。

Apache Guacamole: a clientless remote desktop gateway #

https://guacamole.apache.org/

Apache Guacamole™ 是一个无需客户端的远程桌面网关。它支持诸如 VNC、RDP 和 SSH 等标准协议。所谓无需客户端,是因为不需要插件或客户端软件。借助 HTML5 技术,一旦在服务器上安装了 Guacamole,您只需通过网络浏览器即可访问您的桌面。

您可以从任何地方访问您的计算机,因为 Guacamole 客户端是一个 HTML5 网络应用程序,您可以在任何设备或位置使用您的计算机。通过 Guacamole 访问的桌面不需要实际存在,您可以将 Guacamole 和云中托管的桌面操作系统结合起来,将 Guacamole 的便利性与云计算的弹性和灵活性相结合。Apache Guacamole 是免费且开源的软件,永远都会是如此。

它是根据 Apache 许可证第 2.0 版许可的,并由一群开发人员积极维护,这些开发人员使用 Guacamole 来访问自己的开发环境。Guacamole 建立在其自己的核心 API 堆栈上,这些 API 得到了详细的文档支持,包括在线手册中的基本教程和概念概述。

这些 API 允许 Guacamole 与其他应用程序紧密集成,无论这些应用程序是开源的还是专有的。Apache Guacamole 的社区支持可通过项目的公共邮件列表获得。同时也有第三方公司提供专门的商业支持。


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

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

  • 有用户喜欢 Guacamole 的易用性和高度定制性,认为它是一个出色的选择;
  • 一些用户提到 Guacamole 在处理输入延迟和响应性方面的挑战,同时推荐了 BrowserBox 作为一个更轻量级、更快速的替代方案;
  • 有用户赞扬 Guacamole 在教育平台中的应用,并对开发人员为开源社区做出的贡献表示赞赏;
  • 一些用户分享了他们使用 Guacamole 的经历,以及对其他类似项目的探讨和比较;
  • 有用户提到 Guacamole 在 SSH 和 RDP 方面的应用,以及对其在浏览器中的表现的评价;
  • 一些用户讨论了 Guacamole 的历史和相关案例,以及对现有解决方案的需求和期望。

Running a Raspberry Pi with a read-only root filesystem #

https://www.dzombak.com/blog/2024/03/Running-a-Raspberry-Pi-with-a-read-only-root-filesystem.html

这篇博文介绍了如何在树莓派上运行只读根文件系统。许多在树莓派和类似单板计算机上运行的应用程序,比如向中央数据库服务器报告的环境数据记录器,并不真正需要在树莓派的 SD 卡上本地存储任何状态。因此,可以通过只读根文件系统来运行树莓派,这将显著延长 SD 卡的寿命。需要注意的是,使用只读文件系统后,日志在树莓派重新启动或断电后将不会被保留,因此远程日志记录对故障排除非常有帮助。

博文中提到的内容包括:

  • 选择 microSD 卡
  • 移除不需要的软件和禁用不需要的服务
  • 确保树莓派不使用 SD 卡作为交换空间
  • 实施各种解决方案和对某些需要能够写入磁盘的服务的修改
  • 为必须可写并存储临时数据的路径提供 tmpfs 文件系统
  • 配置系统将根文件系统挂载为只读
  • 添加一些系统范围的 shell 快捷方式以便进行系统维护

此外,博文还提到了一些具体操作,如禁用不必要的软件和 SD 卡交换、迁移到 ntp 而不是 systemd-timesyncd、处理 NetworkManager、移动临时文件夹到 tmpfs 等。最后,还介绍了如何在系统中添加只读和读写模式的 bash 集成以及在注销时切换到只读模式等。

总的来说,这篇博文提供了详细的指南,帮助用户在树莓派上实现只读根文件系统,从而提高 SD 卡的寿命。


HN 评论 69 comments | 作者:ingve | 1 day ago #

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

评论中的观点归纳如下:

    1. 使用 SquashFS 或 EROFS 等特定设计的文件系统可实现嵌入式只读用例;
    1. 切换到 Alpine Linux 可通过 RAM 磁盘减少 SD 卡损坏风险;
    1. 使用 openwrt 等系统自然实现只读根文件系统;
    1. SD 卡寿命问题因电源问题或写入频率而异,建议使用高品质 SD 卡或 USB 闪存;
    1. 通过覆盖文件系统或手动设置实现只读根文件系统;
    1. 使用工具如 buildroot 构建定制 Linux 系统;
    1. SD 卡故障可能源自固件问题,建议使用工业级 SD 卡;
    1. 通过 RAM 磁盘等方式减少 SD 卡写入,提高稳定性。

Everything I Know About the XZ Backdoor #

https://boehs.org/node/everything-i-know-about-the-xz-backdoor

这篇文章详细介绍了关于 XZ 后门的情况。

文章指出了一系列事件,从 2021 年开始,一个名为 JiaT75(Jia Tan)的 GitHub 账户开始提交一些可疑的代码。在 2022 年,Jia Tan 开始在 XZ 项目中提交代码,并逐渐成为活跃贡献者。

文章还提到了一些与该后门有关的邮件列表讨论和技术细节,以及一些人们对 Jia Tan 身份的调查和发现。最终,GitHub 暂停了 JiaT75 的账户,XZ 项目也被禁止,Lasse Collin 的账户也被暂停。

整个事件揭示了一个潜在的安全漏洞,以及开源社区中的一些问题。


HN 评论 27 comments | 作者:internetter | 1 day ago #

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

  • 一位评论者认为这是情报机构试图在存档软件中添加后门,可能还会针对其他实用程序进行类似操作。
  • 另一位评论者指出后门针对 OpenSSH,因为由于复杂的依赖关系,它最终被编译用于构建 OpenSSH。
  • 有人担心原始维护者可能受到未知机构的蓄意破坏,可能导致开发者生活受到干扰,甚至可能被迫辞职。
  • 一些评论者认为这是一个明显协调的尝试,可能是国家层面的行动。
  • 有人提到发现异常的幸运,但也强调了防御的重要性,以防止单点故障。
  • 评论中还有关于发现漏洞的技术细节和对事件的解读。
  • 有人认为这可能只是冰山一角,尤其如果这是国家机构的行动。
  • 最后,有人提出了对开源项目维护者数量的思考,认为多于 5 位维护者更安全。

Prolog language for PostgreSQL proof of concept #

https://github.com/tatut/pgprolog

这个 GitHub 页面是关于“PostgreSQL Prolog 语言处理程序”的项目。该项目是一个 PostgreSQL 扩展,允许在 Prolog 中编写存储过程。它将 Scryer Prolog 嵌入到 PostgreSQL 扩展中。需要注意的是,这只是一个概念验证版本,尚未准备好用于实际用途。

您可以通过运行 cargo pgrx run 来运行该项目。然后可以创建扩展和语言,例如:

  • 创建扩展:CREATE EXTENSION pgprolog;
  • 创建语言处理程序:CREATE LANGUAGE plprolog HANDLER plprolog_call_handler;
  • 创建函数示例:CREATE FUNCTION myfunc(a TEXT) RETURNS TEXT AS ‘parent(alice,bob). handle(In,Out) :- parent(In,Out).’ LANGUAGE plprolog;
  • 调用函数:SELECT myfunc(‘alice’);

总体而言,这个项目提供了一个在 PostgreSQL 中使用 Prolog 编写存储过程的解决方案。


HN 评论 72 comments | 作者:triska | 13 hours ago #

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

  • 有人对 Prolog 在战争模拟中的应用提出了疑问,认为 Prolog 可以描述 AI“指挥官”来优化多个单位的计划,但这种方法可能导致单位行为看起来过于机械化和过度微观管理。
  • 有人提到 Prolog 与 SQL 的关系,认为 Prolog 和 SQL 等价,但从 Datalog 转换为 SQL 的例子显示了 Datalog 转换为 SQL 的复杂性。
  • 有人讨论了 PostgreSQL 的功能和插件生态系统,提到了 Logica 等语言。
  • 有人期待 Prolog 可以直接查询数据库,但目前的实现是将 Prolog 嵌入到 PostgreSQL 中。
  • 有人讨论了 PostgreSQL 与其他企业级 RDBMS 的功能和优势,认为 PostgreSQL 提供了更多功能,但也指出了一些性能监控、HA 和优化方面的挑战。
  • 有人强调 PostgreSQL 的价值在于其繁荣的插件生态系统,使得用户可以根据需要编写插件来满足特定需求。
  • 有人提到 PostgreSQL 缺少的一点是没有提供类似 Oracle 那样的支持供应商,可以让公司将责任转嫁给他们。
  • 有人讨论了 PostgreSQL 的专业服务支持,指出 PostgreSQL 也提供专业支持服务。
  • 有人提到 SQLite 也提供类似的支持服务,虽然用例不同。

希望这个总结对您有所帮助!