2024-01-21

50 篇热帖

1. NASA regains contact with mini-helicopter on Mars (phys.org)

NASA火星直升机“机智号”意外失联后恢复通讯

美国国家航空航天局(NASA)于周六宣布,已与其在火星上的微型直升机“机智号”重新建立通讯。此前,在一次测试飞行中通讯意外中断,曾引发外界担忧这架已超期服役的探测器可能已终结任务。

事件经过 “机智号”是一架高约1.6英尺(0.5米)的无人机,于2021年随“毅力号”火星车抵达火星,并成为首架在另一个星球上实现自主动力飞行的飞行器。其飞行数据通过“毅力号”中继传回地球。在2024年的第72次火星飞行测试期间,“机智号”与“毅力号”之间的通讯突然中断,且发生在着陆之前。

NASA喷气推进实验室(JPL)周六通过社交媒体表示,通过指令“毅力号”执行长时间信号监听,最终成功与“机智号”取得了联系。团队正在分析新数据,以了解第72次飞行中通讯意外中断的原因。

背景与任务详情 第72次飞行本身是一次“快速垂直起降”飞行,旨在检查直升机系统,其高度达到了40英尺(12米)。这是在前一次飞行意外提前着陆后进行的。NASA此前指出,失联后“毅力号”曾暂时无法与“机智号”直线对视,但团队曾考虑驱车靠近进行目视检查。

“机智号”重量仅约4磅(1.8千克),其原始任务目标是在30天内完成5次飞行。然而,它已远远超出预期:

  • 飞行次数:已完成72次飞行。
  • 飞行距离:累计飞行超过10英里(17公里)。
  • 飞行高度:最高曾达79英尺(24米)。

其长寿表现出色,尤其是在必须抵御火星严寒夜晚的条件下,仅靠白天太阳能电池板充电来保暖并维持电池运作。在任务中,“机智号”作为空中侦察兵,协助其轮式伙伴“毅力号”火星车搜寻远古微生物生命的可能迹象。

未来展望 针对“机智号”是否能再次飞行的问题,JPL表示,团队需要先评估新获取的数据才能做出决定。值得注意的是,这并非NASA首次与“机智号”失联,去年曾有过长达两个月的通讯中断。

2. Some fish live beyond 100 and get healthier as they age (www.nationalgeographic.com)

牛头鱼长寿之谜:能活过百岁且越老越健康

一项新研究证实,生活在亚利桑那州阿帕奇湖中的牛头鱼大多已超过100岁高龄,其中部分个体年龄甚至超过127岁。这一发现颠覆了以往认为该鱼类寿命仅约25年的认知。牛头鱼是北美特有的淡水鱼属,包含五个物种,目前已被证实其中三个物种(大口牛头鱼、小口牛头鱼和黑牛头鱼)都能活到百岁以上,使该属成为除海洋石鲈属外,唯一拥有三个“百岁物种”的动物属。

研究与发现 研究始于钓鱼爱好者斯图尔特·布莱克的直觉——他2019年在阿帕奇湖钓到的一条牛头鱼似乎与众不同。随后,明尼苏达大学鱼类专家亚历克·拉克曼领导的团队与数十位钓鱼者合作,从2018年至2023年在该湖捕获了222条牛头鱼。他们对23条鱼实施安乐死,并通过分析其耳石(内耳的碳酸钙结构,会形成类似树木年轮的层状结构)来精确测定年龄。结果发现,湖中约90%的牛头鱼年龄超过85岁,且三个研究物种都有超过百岁的个体。其余199条鱼则通过“捕捞-拍照-放生”的方式进行研究,钓鱼者使用无倒刺或小倒刺鱼钩以减少伤害,并通过照片中鱼身上的橙色和黑色斑点来估算其年龄。

生物学特性与适应性 更令人惊讶的是,牛头鱼不仅长寿,而且“越老越健康”。2021年对大口牛头鱼的研究表明,年长个体比年轻个体表现出更强的抗压能力和免疫功能。它们的血液中性粒细胞与淋巴细胞的比率更低(这是压力水平较低的指标),并且能更有效地抵抗细菌。研究人员形容它们“在百岁高龄时仍处于巅峰状态”。

这种非凡的长寿可能是其独特的繁殖策略演化出的适应性结果。牛头鱼对繁殖环境有非常特定的要求(大多数尚不清楚),可能长达数十年才会成功繁殖一次。例如,在萨斯喀彻温省,牛头鱼可能每隔50年才尝试产卵一次。因此,漫长的寿命是其应对漫长“生育空窗期”的进化策略。

非本土起源与环境韧性 阿帕奇湖的牛头鱼并非当地原生物种。它们于1918年由美国渔业局通过铁路从艾奥瓦州的孵化场引入亚利桑那州的罗斯福湖,旨在建立商业渔业。部分鱼后来通过向下游游动迁移到了阿帕奇湖。令人惊叹的是,这些鱼在陌生的、类似恶劣沙漠环境的水库中不仅生存下来,还跨越了一个世纪的时光持续繁衍。这表明,最初的引入种群中仍有个体存活至今。

研究意义与保护呼吁 拉克曼指出,研究牛头鱼的长寿机制可能为探索脊椎动物(包括人类)的延寿奥秘提供线索。理解它们为何能以低压力、强免疫的状态活到百岁,是一个关键的科学问题。

与此同时,研究也发出了保护警报。牛头鱼是美国中北部地区珍贵的游钓鱼类,但其数量正在下降,且捕捞管理几乎处于空白状态——包括在亚利桑那州。“现在你可以去阿帕奇湖钓一条牛头鱼然后直接带回家,”布莱克说,“对我来说,当务之急是让它们得到保护。”

3. Remembering Bell Labs as legendary idea factory prepares to leave N.J. home (www.nj.com)
4. Will the new judicial ruling in the Vizio lawsuit strengthen the GPL? (blog.tidelift.com)

文章概要:Vizio诉讼案的司法裁决可能强化GPL执行

  • 裁决核心:美国软件自由保护协会(SFC)诉Vizio公司案中,法院初步裁定,通用公共许可证(GPL)的第三方受益人(即普通用户或组织)可能有权就GPL合规问题提起诉讼。传统上,此类执法权通常仅属于软件版权所有者(作者)。
  • 法律背景:开源许可证执行通常基于版权法(仅作者可起诉,主要寻求经济赔偿)。本案则尝试依据合同法,寻求“特定履行”(如强制提供源代码)等救济,并允许第三方受益人起诉。
  • 案件经过
    1. SFC指控电视制造商Vizio在其产品中使用GPL许可的Linux等软件,但未向购买者提供完整的对应源代码,违反了GPL。
    2. 法院先前已裁定本案属合同纠纷而非版权纠纷。最近的裁决则针对“诉讼资格”问题:SFC作为GPL的第三方受益人是否有权起诉。
    3. Vizio辩称GPL(由自由软件基金会FSF制定)无意允许第三方执法。法院驳斥了此观点,直接引用GPL文本(特别是要求向“任何第三方”提供源代码的条款),认定允许第三方执法符合GPL的目标且是实现其目标所必需的。
  • 裁决意义
    • 扩大执法主体范围:若此先例确立,任何GPL软件的用户或受益人都可能成为潜在的执法原告,而不再仅限于资源有限的作者。
    • 填补执法空白:许多GPL违规行为因原作者缺乏资源或意愿而未被追究。此裁决可能使合规压力显著增加。
    • 潜在行业影响:分发包含GPL组件产品的企业需更严格审查合规实践,确保能按要求提供完整源代码。未来可能出现更多基于类似理由的诉讼或合规要求。
  • 后续发展:案件尚未结束。下一步,法院需决定是否存在提供源代码的“法律义务”以及该义务的具体范围。若裁决最终被维持,将对开源许可证的执行模式产生深远影响。
5. So you think you know C? (2016) (wordsandbuttons.online)

这篇文章是一份关于C语言知识的自测题,旨在挑战程序员对这门语言的熟悉程度。作者认为,尽管C语言语法经典且历史悠久,但很多人其实并不真正了解其细节和陷阱。文章提供了5个简短的代码片段,每个都要求读者判断其返回值。这些题目看似简单,但都涉及C语言中一些容易出错或容易被忽略的特性,包括:

  1. 结构体指针的 sizeof 计算。
  2. 不同整数类型相加后的 sizeof 比较与隐式类型提升。
  3. 字符常量(char)参与算术运算后的结果。
  4. 复杂的位移和关系运算符表达式求值。
  5. 变量在同一个表达式中多次自增带来的未定义行为。

文章的目的是通过这些问题,提醒读者C语言并非表面看起来那么简单,其底层规则和潜在陷阱值得深入探究。读者可以通过点击按钮查看答案和自己的得分。

6. NASA loses contact with Ingenuity Mars helicopter (www.space.com)

火星直升机“机智号”失联事件概述
NASA的火星直升机“机智号”在2024年1月18日执行第72次飞行任务时,与“毅力号”火星车失去联系。失联发生在下降阶段,此前直升机已按计划爬升至12米高度。NASA于1月19日确认通信中断,并表示团队正在分析数据并尝试恢复联系。

后续进展
1月20日,NASA通过指令“毅力号”执行长时间监听,成功恢复与“机智号”的通信。目前任务团队正调查失联原因。由于“毅力号”当时与直升机不在视线范围内,NASA曾考虑驾驶火星车靠近进行视觉检查。

任务背景与数据
“机智号”与“毅力号”于2021年2月登陆火星杰泽罗陨石坑。作为技术验证项目,“机智号”在完成5次飞行后转入扩展任务,为“毅力号”提供侦察支持。截至第72次飞行,它已累计飞行超过128分钟,总航程约17.7公里。此次事件凸显了火星探索中的通信挑战,后续任务进展取决于故障分析结果。

7. How a baker survived the Titanic by getting drunk (2022) (nationalpost.com)

面包师乔金:泰坦尼克号上的醉酒幸存者

1912年4月14日夜间,泰坦尼克号撞上冰山沉没,造成超过1500人死亡。然而,船上首席面包师查尔斯·乔金(Charles Joughin)却通过一场“惊人的醉酒”奇迹生还。

事件经过

  • 即时反应:撞冰山后,乔金的第一反应是豪饮烈酒。
  • 救援他人:随后他回到甲板,帮助将妇女和儿童强行推入救生艇。
  • 延迟入水:他多次返回船舱饮酒,并在船尾随船沉没的最后一刻才跳入冰冷的北大西洋海水中,是当晚最后落水的乘客之一。
  • 海上漂浮:乔金在接近零度的海水中漂浮了近两个小时,依靠惊人的镇静(部分归因于酒精)未出现剧烈恐慌。
  • 获救:天亮后,他发现一艘翻覆的救生艇并爬上去,最终被其他救生艇救起。上岸后他几乎没有冻伤,仅脚部浮肿,随后很快重返工作岗位。

科学解释与争议

  • 酒精的生理影响:通常,酒精会导致血管扩张,加速体热散失,在寒冷环境中反而增加失温风险。但当时海水温度极低(约-2°C),寒冷可能抵消了酒精的血管扩张效应。
  • 心理作用:专家指出,酒精的主要作用可能是提供了“液体勇气”——降低恐惧感,维持相对冷静,减少恐慌导致的过度换气和体力消耗。研究显示,受伤的醉酒患者有时在更低体温下仍能保持清醒。
  • 生存策略:乔金无意中践行了标准的海难生存指南:延迟落水(减少浸泡时间)、保持冷静、保持积极求生意志。他的故事凸显了心理状态在极端情况下的关键作用。

后续影响

  • 乔金的事迹在1956年去世前鲜少接受采访,但他的传奇被收录在泰坦尼克号相关历史著作、1997年电影《泰坦尼克号》的删减场景以及喜剧剧集《醉酒历史》中。
  • 专家认为,尽管酒精通常有害,但在特定危机情境下,其对心理的镇静作用可能促成生存。乔金的案例常被引用为“如何在海难中生存”的极端范例,但其成功不可复制,个体在极端压力下的反应差异巨大。

此事件成为泰坦尼克号历史中一个独特注脚,展现了偶然因素与人类求生意志的复杂交织。

8. Investigating a vanishing BIOS on the Fujitsu Lifebook AH532 (blog.timschumi.net)

调查富士通Lifebook AH532笔记本电脑BIOS“消失”问题

问题现象 富士通Lifebook AH532笔记本电脑出现异常:开机时按F2键无法进入BIOS设置界面,按F12键后进入的启动菜单为空,仅能正常启动默认选项。

调查与临时修复

  1. 重置BIOS:作者通过短接主板上RAM插槽下方的CL1_CL2测试点(而非更换隐藏的CMOS电池)来重置BIOS。重置后,启动菜单恢复显示了基于设备的启动选项(如U盘、硬盘),但按F2键仍无法进入BIOS设置。
  2. 更新固件:利用重置后出现的USB启动选项,使用富士通官方提供的对应硬件版本和序列号的BIOS刷新工具(注意不同硬件修订版不通用)成功更新了BIOS。更新后,启动菜单正常,F2键可正常进入BIOS设置。

问题复现与根本原因分析 为便于复现,作者备份了正常工作的固件映像。随后发现,使用Linux下的efibootmgr -c命令创建新启动项会立即导致启动菜单再次异常。更严重的是,执行该命令两次会使启动菜单完全无法访问。

深入分析发现核心问题在于UEFI变量存储异常

  1. Linux系统无法通过/sys/firmware/efi/efivars/读取任何现有的UEFI变量(如BootOrder),而Windows等其他工具则可以正常读取。
  2. 由于读不到现有变量,efibootmgr命令错误地假设没有现有配置,直接创建新条目。
  3. 通过UEFITool分析固件映像发现,在该机型上,“BIOS Setup”(对应按F2)和“Boot Menu”(对应按F12)本身就是两个独立的启动项(分别为Boot0000Boot0001),且位于启动项列表的开头。
  4. efibootmgr创建新启动项时,会覆盖掉这些关键条目。创建第一个新条目覆盖了“BIOS Setup”,导致F2键失效;创建第二个新条目则覆盖了“Boot Menu”,导致F12键失效且菜单为空。

临时解决方案 作者编写了一个小型程序,用于重置启动顺序并恢复“BIOS Setup”和“Boot Menu”这两个关键启动项到其预期内容。此方案为临时“创可贴”式修复,用户仍可能最初遇到问题。作者表示未来可能寻求根本性解决方案。

9. What Happened to David Graeber? (lareviewofbooks.org)

本文分析了人类学家大卫·格雷伯(David Graeber)生前最后几年的思想轨迹,认为其政治立场从无政府主义逐渐转向了更接近自由主义或主流左翼的方向。作者克里平·萨特韦尔(Crispin Sartwell)指出,格雷伯早期的著作,如《债:第一个5000年》,深刻影响了占领运动,其核心是反国家、平等主义和直接民主的无政府主义理念。然而,在其后期著作,特别是与大卫·温格罗(David Wengrow)合著的《万物的黎明》中,格雷伯的立场发生了明显变化。

主要论点与转变:

  1. 对核心概念的质疑:在《万物的黎明》中,格雷伯和温格罗认为,“国家”和“不平等”这两个概念本身是模糊的、历史偶然的,并且是“帝国主义语言”的一部分。他们主张“国家没有单一的起源”,并认为追求绝对平等是“技术官僚式的修修补补”。这直接挑战了无政府主义运动所依赖的“反国家”和“平等主义”核心信条。

  2. 提出普遍自由,而非特定政治主张:书中提出了“三大基本自由”——移动的自由、不服从的自由、创造或改变社会关系的自由。作者认为,这种试图为所有文化设定普遍权利的做法,带有自由主义普遍性的色彩,与格雷伯早期尊重文化差异的立场存在张力。

  3. 政治实践上的转向:文章提到,格雷伯晚年积极参与英国工党政治,支持杰里米·科尔宾(Jeremy Corbyn),并与影子财相约翰·麦克唐纳(John McDonnell)合作,试图将社会运动纳入政府运作。这被作者视为从体制外的无政府主义行动转向体制内的改良主义参与。

结论与作者观点: 萨特韦尔对此思想转变感到失望,认为格雷伯后期似乎放弃或严重弱化了自己早年定义其无政府主义政治的平等主义和反国家立场。他质疑格雷伯是否还能被视作一个无政府主义者,并认为这种转向可能是伦敦政治经济学院的教授职位、主流出版合同以及《金融时报》的赞誉所带来的“温和化”或“同化”效应。作者遗憾格雷伯未能更充分地阐述其思想演变,便英年早逝,留下了对其政治立场发展进行最终解读的开放空间。

10. Collision Detection (2015) (www.jeffreythompson.org)

《碰撞检测(2015)》是一本在线书籍,旨在解释游戏和用户界面中物体碰撞背后的算法。作者杰夫·汤普森使用基本形状(如圆、矩形和直线)来演示碰撞检测原理,以便读者能在自己的项目中实现这些算法。

核心内容覆盖

  • 本书涵盖点、圆、矩形、线、多边形和三角形之间的碰撞检测算法。
  • 所有示例均设计为易读易懂,优先考虑教学性而非效率。
  • 每个章节包括算法描述和使用Processing.js构建的交互式示例。
  • 源代码可在GitHub上获取。

未涉及内容

  • 由于数学复杂性,未讨论三维空间碰撞。
  • 椭圆碰撞等看似简单但实际困难的主题也未包含。

使用提示

  • 交互式示例针对鼠标输入设计,移动端体验可能不佳。
  • 如有错误或问题,可通过GitHub仓库提交反馈。
  • 书籍已针对移动设备进行了优化显示和导航更新。

导航说明: 读者可通过页面底部链接或顶部箭头逐章学习,也可点击顶部目录链接返回。

11. 1,100 Declassified U.S. Nuclear Targets (futureoflife.org)

1,100 个已解密的美国核打击目标

国家档案馆于 1956 年解密了一份美国核打击目标清单,涵盖东欧、俄罗斯、中国和朝鲜的 1,100 个地点。文章通过一张互动地图(与 NukeMap 合作)展示了这些目标,并演示了美俄之间若发生核交换可能造成的灾难性后果。用户可点击地图上的任意点,选择不同爆炸当量,以查看爆炸范围及潜在伤亡人数。

关键背景与现状:

  • 虽然当今的核打击目标清单仍属机密,但可能并无根本性变化。美国目前仍有约 1,900 枚核弹头 已部署于导弹和轰炸机上(另有数千枚处于储备状态),可在收到命令后短时间内发射。
  • 当前局势极不稳定,存在因误判意外触发核战争的风险。
  • 现代氢弹的威力远超投放在广岛和长崎的原子弹,若爆发核战争,“核冬天”可能导致地球上大多数人类死亡

核武器数量的争议:

  • 九个有核国家中的七个已确定,少于 300 枚核武器 即可实现威慑目的,且这些国家均未遭受攻击。
  • 美国与俄罗斯各自拥有约 7,000 枚核弹头,占全球核武库的 90%。两国均在升级核武库,投资研发更精确、更具杀伤力的核武器。
  • 许多军事分析家认为,美俄可用远少于现有的核武器满足威慑需求。五角大楼也曾表示,美国 只需不超过 1,000 枚核弹头 即可进行核威慑。

核打击的辐射扩散与天气影响:

  • 文章通过 Alex Wellerstein 的模拟图说明,核爆炸造成的放射性沉降物会受天气模式影响,可能跨越国界。
  • 模拟了两种情景:
    1. 在特定日期(如 2016 年 4 月 29 日)对所有目标进行核打击,当量越大,辐射扩散范围越广。
    2. 在不同日期(如连续三天)进行打击,由于每日天气不同,辐射扩散方向会改变,可能波及德国、丹麦、芬兰等邻国。
  • 文章强调,此类模拟尚未考虑 “核冬天” 的效应,即核火产生的烟雾若升至平流层,可能引发全球长达十年的“小冰河期”和农业崩溃,威胁全球大部分人口的生存。

发布机构: 该内容由 生命未来研究所 于 2016 年 5 月 12 日首次发布。该研究所是全球最早且最大的 AI 智库之一,致力于引导变革性技术向有益于生命的方向发展,并防范大规模风险。

12. Anime is a $25B industry that pays its animators pennies (hitregbroke.com)

根据提供的内容,无法生成摘要。文章内容仅显示为“页面未找到”(Page not found)的错误提示,以及返回主页的引导,并未包含任何关于标题“Anime is a $25B industry that pays its animators pennies”的实质性论述、数据或细节。

因此,基于当前信息,无法总结出任何主要观点、行业数据或关于动漫产业与动画师薪酬问题的具体内容。

13. Keeping a long shell history (registerspill.thorstenball.com)

文章核心观点:
强烈建议配置Shell(如ZSH、Bash、Fish等)以记录极其长的历史命令,并配备模糊搜索工具,从而极大提升命令行使用效率。作者以自身经历佐证:其~/.zsh_history文件包含2.6万余条命令,可回溯至2019年,通过fzf快速模糊搜索,曾多次找回关键复杂命令(如带有特定头文件的curl、带参数的rsync、复杂的git grep管道等)。作者认为这是“良好的Shell生活”的基础,并分享了具体实践方法。

主要论据与经验:

  1. 重要性:长历史记录相当于自动化的命令笔记本,无需预先判断哪些命令重要,所有执行过的命令均被保存并可随时检索,弥补了人类记忆的局限性。
  2. 性能与成本:现代Shell处理长历史记录速度快(毫秒级搜索)、存储成本低(如2MB文件存储2.6万条命令),几乎无负面代价。
  3. 配置实践:作者提供了详细的ZSH历史记录配置示例(附完整配置片段),关键设置包括:
    • HISTSIZESAVEHIST 设为50000(鼓励设得“大到夸张”)。
    • 启用时间戳记录、立即追加、去重、忽略空格开头命令、跨会话共享历史等选项。
    • 搭配fzf等模糊搜索工具绑定到快捷键(如Ctrl-r)以实现高效检索。
  4. 工具推荐:作者近期尝试并推荐Atuin,它不仅提供长历史记录和模糊搜索,还支持跨机器同步与备份、按机器/目录过滤命令等高级功能,是对Shell内置历史功能的增强替代方案。

总结呼吁:
无论选择原生配置还是Atuin等工具,务必确保Shell被配置为记录近乎无限的历史命令,并配备模糊搜索功能。这是提升命令行使用效率和便利性的关键一步。

14. IT consultant fined for daring to expose shoddy security (www.theregister.com)

该HTML文档是一个人机验证页面,其主要功能是通过计算工作量证明来验证用户是否为人类,而非自动化脚本。

页面目的与结构

  • 标题为“Are we human?”,页面核心是一个动态验证组件。
  • 页面通过CSS媒体查询设置了三种响应式布局(≥1024px、513px-1023px、≤512px),以适应不同屏幕尺寸,调整验证框的尺寸和字体。

关键技术功能

  1. 验证流程:页面加载后会调用一个外部脚本(slow.js)启动验证挑战。
  2. JavaScript逻辑
    • 定义了solved回调函数,当用户完成验证时被触发。
    • 回调函数接收验证结果数据,并向服务器端点(/_labrador/pow/v0/verify)发起GET请求,请求头中携带pow-noncepow-tokenpow-result参数。
    • 若服务器返回200状态码(验证成功),则在500毫秒延迟后刷新页面。

页面交互

  • 验证组件(类名为wicketkeeper的div)作为交互入口,其data-callback属性指向solved函数,构成前端验证链路。

总结:这是一个技术性的反机器人验证页面,通过前端脚本收集用户算力证明,并与后端验证服务交互,旨在阻止自动化访问。

16. Use Midnight Commander like a pro (2015) (klimer.eu)

Midnight Commander 进阶指南

Midnight Commander (mc) 是基于 Norton Commander 的经典文件管理器。除了基础文件操作,它还隐藏着许多高效功能。

基础优化

~/.bashrc 中添加 alias mc='. /usr/libexec/mc/mc-wrapper.sh'(路径因发行版而异),可使 mc 退出时自动切换 shell 到当前浏览的目录。

文件选择

  • InsertCtrl+T:选择/取消选择文件。
  • +:按模式选择文件。
  • ****:按模式取消选择。
  • ***:反选(若无选择则全选)。

Shell 交互

  • 在 mc 底部可直接输入 shell 命令。
  • Esc+Tab:在对话框和命令行中使用自动补全。
  • Ctrl+O:临时切换到全屏 shell,mc 与 shell 的目录环境相互同步。
  • Ctrl+EnterAlt+Enter:将选中文件名复制到命令行。
  • Ctrl+Shift+Enter:复制完整路径。

内置查看器 (F3) 与编辑器 (F4)

  • 查看器支持多种文件预览(如二进制、归档、图片)。
  • Shift+F3:查看文件原始内容。
  • 可通过设置 PAGEREDITOR 环境变量,并取消勾选“Options -> Configuration -> Use internal edit/view”来使用外部程序(如 vim)。

面板操作

  • Alt+,:切换左右分栏与上下分栏布局。
  • Alt+T:循环切换面板显示模式(默认、简略、详细、自定义)。
  • Alt+I:将另一面板同步至当前目录。
  • Ctrl+U:交换双面板。
  • Alt+O:若选中目录,则在另一面板打开并移动到下一文件;若选中文件,则打开父目录并移动。
  • Ctrl+PgUp 或左箭头(启用类 Lynx 移动后):跳转到上级目录。
  • Alt+Shift+H:显示目录历史。
  • Alt+Y/U:在目录历史中前进/后退。

文件搜索

  • Alt+?:打开完整查找对话框。
  • Alt+SCtrl+S:快速搜索,输入名称即可定位,支持通配符。

常用操作

  • Ctrl+空格:计算选中目录的大小(对“..”使用则计算当前目录所有子目录)。
  • Ctrl+X S:在另一面板创建符号链接(L 为硬链接)。
  • Ctrl+X C/O:分别打开 chmod/chown 对话框。

虚拟文件系统 (VFS)

  • 可像浏览普通文件夹一样直接进入压缩包(如 .tar.gz, .rpm, .jar)或补丁文件,无需解压。
  • 通过 cd ftp://... 等命令可直接浏览 FTP、SFTP、Samba 等远程共享,操作方式与本地一致。

配置选项建议

  • Verbose operationCompute totals:显示更详细的进度信息。
  • Equal split:取消勾选以自定义面板宽度比例。
  • Lynx-like motion:启用后使用左右箭头导航文件夹。
  • File highlight -> File types:根据文件类型高亮显示。
  • Skins:可更换主题(如 gotar),建议为 root 用户设置不同皮肤以区分会话。

额外练习

  • 自定义列显示模式。
  • 使用树状模式浏览目录。
  • 比较目录内容(Ctrl+X D)。
  • 使用目录快速列表(*Ctrl+*)。
17. For a moment there, Lotus Notes appeared to do everything a company needed (www.theregister.com)

HTML反机器人验证页面摘要

本文档是一个HTML页面,用于实施proof-of-work反机器人验证机制,旨在区分人类用户和自动化脚本。其核心功能是在用户解决一个计算挑战后验证身份,并刷新页面以允许访问。

主要目的

页面标题为“Are we human?”,表明其设计目的是验证用户是否为人类。它通过运行一个proof-of-work挑战来实现,挑战解决后自动验证,防止机器滥用。

结构与组件

页面采用标准HTML结构:

  • 头部(head)
    • 包含元数据:字符集(UTF-8)、视口设置(确保响应式设计)和页面标题。
    • 引入外部脚本/_labrador/pow/slow.js(延迟加载),用于处理proof-of-work挑战的执行。
    • 定义内联脚本:solved函数是异步函数,当挑战解决时被调用。
    • 响应式样式:使用媒体查询针对不同屏幕尺寸调整.wicketkeeper类的样式,确保挑战界面在桌面、平板和移动设备上适配显示。
  • 主体(body)
    • 包含一个div元素,类名为wicketkeeper,作为proof-of-work挑战的容器,居中显示。

关键功能

  • 挑战验证流程solved函数接收挑战数据后,向服务器端点/_labrador/pow/v0/verify发送GET请求,传递nonce、token和result参数。若服务器返回200状态码,页面将在500毫秒后自动刷新。
  • 响应式设计:CSS媒体查询根据屏幕宽度调整.wicketkeeper的尺寸和字体大小,确保用户体验一致。
  • 外部依赖:外部脚本/_labrador/pow/slow.js可能负责挑战的初始化和渲染,但具体逻辑未在代码中直接展示。

总结

该HTML页面是一个集成化的反机器人验证解决方案,通过客户端-服务器交互和响应式布局,实现用户身份验证。其设计简洁,专注于自动化验证流程,不涉及其他业务内容。

18. Companies make it too easy for thieves to impersonate police and steal data (www.eff.org)
21. Show HN: Checkmate Champ – a training tool for chess tactics (www.checkmatechamp.net)

Checkmate Champ:国际象棋战术训练工具摘要

工具概述

Checkmate Champ 是一个交互式国际象棋训练工具,旨在帮助用户通过解决将杀问题提升战术能力。其核心目标是引导用户找到导致将杀的连续着法序列。工具设计简洁,适用于国际象棋爱好者或希望提高残局技巧的玩家。

操作指南

  • 开始使用:用户可从下拉列表中选择特定棋局,或点击骰子图标随机选择。
  • 游戏提示
    • 若显示“White mates in X”,用户执白;若显示“Black mates in X”,则执黑。
    • 走错后状态会变为“Incorrect”,需点击“Reset position”重试。
    • 成功解局后状态显示“Checkmate!”,可继续下一题。
  • 辅助功能
    • 点击“Show hint”可查看下一步建议。
    • 点击“Show solution”后,电脑将接管另一方并演示完整解法(此状态持续至选择新棋局)。
  • 进度管理
    • 使用“<<”和“>>”按钮快速切换棋局。
    • 已解决的棋局会标记复选框(☑)。
  • 兼容性:工具已在Chrome和Firefox最新版本中验证可正常使用。

技术特点与资源来源

  • 棋局来源:标注“1001”的棋局取自Fred Reinfeld 1955年的著作《1001 Ways to Checkmate》,仅收录五步或更少步数的将杀局面。
  • 引擎支持:电脑走法与评估由Glaurung 2.2版本提供。
  • 棋子图像:默认使用Armando Hernández Marroquín设计的“Chess Mérida”棋子,另有David L. Brown的“Good Companion”棋子作为备选。
  • 其他资源:设置菜单齿轮图标由Zach Bogart创作(CC BY许可),评论图标来自Freepik(flaticon.com)。

未来开发计划

工具计划增加以下功能:

  • 当对手有多种延缓将杀的走法时,显示多个变例。
  • 添加上一步撤销功能。
  • 引入计时器。
  • 增加按将杀步数(1至5步)过滤棋局的功能。

联系方式

用户反馈或评论可发送至工具提供的联系方式。

22. Houthi anti-ship missile systems: getting better all the time (www.iiss.org)

关于“Houthi反舰导弹系统:持续进步”的文章内容摘要

所提供的材料并非一篇完整的文章正文。实际内容是一个网页安全验证(Cloudflare Challenge)页面。

该页面的核心内容包括:

  • 一个标题为“Just a moment...”的HTML页面。
  • 页面提示需要启用JavaScript和cookies才能继续访问。
  • 大量用于验证和安全防护的脚本代码、样式和配置参数。
  • 文章本身(标题为“Houthi anti-ship missile systems: getting better all the time”)的实际文本内容未包含在提供的材料中。

因此,无法根据当前提供的材料总结关于Houthi反舰导弹系统发展的具体信息、技术细节或分析观点。所提供的仅是一个用于访问验证的中间页面代码。

24. Ask HN: How to be productive without making lists?
25. The SuperH-3, part 1: Introduction (2019) (devblogs.microsoft.com)

SuperH-3 (SH-3) 处理器概览

核心特性与背景

  • SH-3 是日立(Hitachi)SuperH 处理器系列中的一员,为 SH-1/SH-2 的后续产品,后被 SH-4 及其变种(如 SH-3e)取代。
  • 它是一个 32 位、RISC 风格(加载/存储架构) 的处理器。
  • 其指令集采用 固定长度的 16 位指令,这有助于实现比同时期 32 位指令处理器更高的代码密度。
  • 处理器支持大端(Big-Endian)和小端(Little-Endian) 字节序模式,而 Windows CE 在 SH-3 上使用小端模式
  • 文章主要关注 SH-3 在 Windows CE 用户模式 下的使用及其在编译代码中的指令。

寄存器体系

  • 通用寄存器:拥有 16 个 32 位通用寄存器(r0 到 r15)。
    • r0:用作返回值。
    • r4-r7:用于传递前四个参数。
    • r14(fp):用作帧指针。
    • r15(sp):用作栈指针。
    • r8-r13:为被调用者保存寄存器。
    • 重要特性:前 8 个寄存器(r0-r7)实际存在 两组(bank)。用户模式仅使用 Bank 0,而内核模式可以选择使用哪一组,并可通过特殊指令访问另一组。
  • 浮点寄存器:SH-3 本身不支持浮点运算(由 SH-4 提供)。在 SH-3 上执行浮点指令会陷入内核并由其模拟,性能很低。
    • 存在 16 个单精度浮点寄存器(fr0-fr15)。
    • 它们可两两配对形成 8 个双精度浮点寄存器(dr0, dr2, ... dr14)。
  • 特殊寄存器
    • pc:程序计数器(指令地址)。
    • sr:状态寄存器(包含标志位)。
    • gbr:全局基址寄存器(在 Windows CE 中作为临时寄存器使用)。
    • mach / macl:用于乘累加操作的高低位寄存器(在 Windows CE 中作为临时寄存器使用)。
    • pr:过程寄存器,用于存储子程序返回地址。

内存与执行模型

  • :在 Windows NT(及衍生系统如 CE)中,栈需保持 4 字节对齐
  • 数据访问:未对齐的内存访问将导致错误。
  • 指令流水线与调度
    • 理论上可 双发射(每周期最多执行两条指令),但存在资源冲突和流水线冒险。
    • 分支延迟槽:部分分支指令具有分支延迟槽。
    • 结果可用延迟:修改标志位的指令后,新标志需等待一个周期才可用;加载指令的结果需等待两个周期才可用,否则处理器会暂停(stall)。
  • 数据大小命名:byte(8位)、word(16位)、longword(32位)、quadword(64位)。
  • 其他:文中指出未观察到“红区”(red zone)的存在。
26. The Bun Shell (bun.sh)

Bun Shell 简介

JavaScript 运行 shell 脚本的痛点
尽管 JavaScript 是世界上最流行的脚本语言,但其执行传统 shell 脚本存在困难。使用 Node.js 的 child_process 模块或文件系统 API 代码繁琐,且不如原生 shell 脚本简洁。

传统 shell 的跨平台问题

  • macOS (zsh)、Linux (bash) 和 Windows (cmd) 的 shell 语法、命令及行为存在差异。
  • 依赖 npm 社区通过 JavaScript 实现缺失命令(如 rimraf 替代 rm -rf),导致额外依赖和开销(如 cross-env 用于跨平台环境变量设置)。
  • 启动 shell 进程耗时较长(约 7ms),频繁调用时性能下降明显。

Bun Shell 的解决方案
Bun Shell 是 Bun 内置的实验性嵌入式 shell 解释器,旨在提供跨平台、高效的 shell 脚本支持。
核心特性

  • 简洁语法:使用模板字符串执行命令,如 await $\ls *.js``。
  • 变量集成:可直接嵌入 JavaScript 变量,并自动转义以防注入攻击。
  • 跨平台兼容:在 Windows、macOS 和 Linux 上提供一致行为,内置常见命令(如 cdecho)。
  • I/O 灵活性:支持重定向输出到缓冲区、文件或管道传递,甚至可将 Response 对象作为输入流。
  • 安全设计:模板变量自动转义,避免命令注入风险。
  • 性能优化:避免外部 shell 启动开销,适合高频调用场景。

集成与使用

  • 内置于 Bun v1.0.24+,无需额外安装。
  • 可替代 package.json 中的脚本命令,也可作为独立 .bun.sh 脚本解释器运行。

Bun Shell 简化了 JavaScript 中 shell 操作的复杂性,为跨平台脚本执行提供了一体化解决方案。

27. Taito's Mini-Vaders: Why Should Dottori Have All the Fun? (nicole.express)

文章摘要:

本文对比了日本太东(Taito)公司的 Mini-Vaders 街机硬件与世嘉(Sega)的 Dottori-kun。两者均为上世纪80年代末至90年代初,为满足日本电子产品法规而设计的极简游戏硬件,通常安装在街机框体中以通过合规性检查。

核心内容:

  1. 背景与目的:两家公司都采用了类似策略,即制作一个仅包含最基本游戏功能的硬件。文章指出,太东选择致敬自家经典游戏《太空侵略者》(Space Invaders),推出了 Mini-Vaders

  2. 游戏功能对比

    • Dottori-kun:功能极度简陋,无标题画面,游戏内容简单。
    • Mini-Vaders:具备更多基础街机功能,包括实际的标题画面投币机制以及关卡间过渡画面。游戏本身是《太空侵略者》的简化版,采用一系列挑战关卡形式,敌人移动快速但不进行反击。玩家飞船被敌人触及底部则立即游戏结束,无生命值设定。游戏没有声音
  3. 硬件电路板分析

    • 两者都基于 Z80 CPU 和分立逻辑元件设计,但 Mini-Vaders 的电路板稍大且更复杂
    • 其电路板的一个显著特点是使用了大功率电阻,将5V电源直接接地以增加负载,作者推测这可能是为了作为测试设备更稳定或避免电源问题。
    • 电路板上将视频颜色线路短接,因此游戏仅显示单色。
    • 相比 Dottori-kun,其硬件在同步信号处理上更稳定,未出现同步问题。
  4. 总结与意义:作者认为 Mini-Vaders 在玩法上比 Dottori-kun 更有趣,但其存在可能仅对少数怀旧街机店主有意义。文章最后提到,该游戏可在模拟器 MAME 中体验,且其 ROM 中存在未使用的图形资源。

28. How to build your own injection molding machine (2023) (www.machinedesign.com)

提供的文章内容并非实际文章正文,而是一个Cloudflare安全验证页面。该页面显示:“Just a moment...”并提示用户需要“Enable JavaScript and cookies to continue”。因此,无法基于提供的文本生成关于如何建造自己的注塑机的内容摘要。

如需获取文章《How to build your own injection molding machine (2023)》的摘要,请提供文章的实际正文内容。

29. Marketing for Product-Obsessed Developers (marclou.beehiiv.com)

文章总结:面向产品痴迷型开发者的营销策略

核心观点

作者作为开发者,不喜欢传统营销,但通过创建免费小工具的方式,既能满足内心构建产品的热情,又能实现月收入5万美元的目标。这种策略被称为免费工具营销,即通过发布免费、易于病毒传播的迷你应用来推广主产品。

免费工具营销的优势

  • 扩大受众:触及更广泛的市场。
  • 提升SEO:获得新的关键词排名。
  • 易于分享:可通过TikTok等平台自发传播。
  • 频繁发布:通过持续推出新工具来增长受众。
  • 建立好感:为潜在客户创造积极的第一印象。
  • 保持动力:激发开发者的构建热情。

成功案例

  • User Persona工具在TikTok上走红,为MakerBox带来了226%的收入增长
  • Ahrefs的域名权限检查器既作为免费工具提供,也包含在其付费计划中。

实施指南

  1. 工具特性

    • 必须免费,以创造病毒式传播循环。
    • 功能单一且简单。
    • 名称直观反映功能,便于用户记忆和搜索。
    • 用户体验从首页开始,无需注册或点击链接。
    • 最好使用独立域名(也可托管在主站)。
  2. 创意来源

    • 从主产品中提取一个独立功能,免费提供。
    • 适用于已有市场需求验证的功能,或用于验证潜在功能。
    • 思考客户在使用主产品前的需求,创建相关辅助工具(如习惯追踪器前的阅读量计算工具)。
  3. 转化付费用户的关键

    • 无缝推广:在免费工具中自然嵌入主产品广告,或收集邮箱进行后续营销。当推广与工具体验结合紧密时,转化率可达30%
    • 持续发布:快速推出多个免费工具,利用病毒式传播和媒体曝光(如TikTok、Product Hunt)积累流量。每次发布都会扩大声量,提升主产品关注度。

作者的相关产品

作者提供了多种工具帮助开发者:

  • ShipFast:基于NextJS的快速开发模板。
  • LaunchViral:通过病毒式视频推广产品。
  • IndiePage:展示独立项目以获取客户。
  • ByeDispute:避免支付纠纷。
  • ZenVoice:免手续费的发票工具。

总结

免费工具营销是一种双赢策略:开发者能享受构建过程,同时有效推广付费产品。关键在于保持工具的免费、简单、直观,并通过持续发布和巧妙整合来最大化传播与转化效果。

31. Old'aVista, a Guide to the Old Internet (oldavista.com)

Old'aVista:旧互联网指南

该网站是一个旨在保存和访问旧互联网历史内容的指南。其主要结构是一个分类目录,将历史网站资源组织为以下主要类别:

  • 艺术与人文:摄影、文学等。
  • 商业与经济:公司信息、分类广告等。
  • 计算机与互联网:互联网、软件、多媒体等。
  • 教育:语言学习、K-12教育等。
  • 娱乐:酷链接、电影、音乐、幽默等。
  • 政府:军事、政治、法律、税务等。
  • 健康:医学、疾病、健身等。
  • 新闻与媒体:杂志、电视、报纸等。
  • 娱乐与体育:体育、游戏、旅行、户外等。
  • 参考:图书馆、词典等。
  • 地区:国家、区域、美国各州等。
  • 科学:计算机科学、生物学、天文学等。
  • 社会科学:人类学、社会学等。
  • 社会与文化:人物、环境、LGBT等。

该网站鼓励用户通过购买特色商品或进行月度捐款的方式提供支持。

在致谢部分,网站感谢了那些为保存互联网历史并使之向所有人公开做出贡献的个人或组织,以及那些帮助在旧式计算机上便捷访问旧互联网的贡献者。网站指出,没有这些贡献,其本身将无法存在。

32. Software Freedom Conservancy lawsuit against Vizio could strengthen the GPL (social.coop)

软件自由保护组织诉Vizio案可能强化GPL

软件自由保护组织(Software Freedom Conservancy)对Vizio公司的诉讼可能对强化通用公共许可证(GPL)具有重要意义。Luis Villa在社交媒体上对此案进行了解释,旨在向普通公众说明案件背景。

该案的核心是软件自由保护组织取得了重大胜利。其诉讼涉及Vizio公司未能遵守GPL许可证条款。GPL是开源软件中广泛使用的一种许可协议,它要求任何分发GPL许可软件的人都必须向接收者提供软件的源代码。

此次司法裁决被认为可能为GPL条款的执行树立重要先例,从而增强该许可证的法律效力。尽管简短的社交媒体帖子无法涵盖所有细节,但案件的实质在于通过法律手段确保GPL条款得到遵守,这对维护开源软件生态系统的健康发展至关重要。

更多详细信息可参阅Tidelift博客上的相关文章。

33. Daily multivitamin improves memory in older adults: meta-analysis study (www.massgeneralbrigham.org)

根据一项包含5000多名参与者的Meta分析,每日服用复合维生素对老年人的记忆力与整体认知功能具有改善作用。

核心发现

  1. 研究规模与设计:研究源自COSMOS试验,其中:

    • 一项子研究(COSMOS-Clinic)对573名参与者进行了为期两年、详细的面对面认知评估。
    • 另外两项子研究分别采用电话评估(COSMOS-MIND)和在线网络评估(COSMOS-Web)。
    • 一项Meta分析汇总了这三个互不重叠的子研究中超过5000名参与者的数据。
  2. 主要结论

    • 与安慰剂相比,每日服用复合维生素在统计学上显著改善了参与者的整体认知功能情景记忆
    • Meta分析估计,复合维生素能够将整体认知老化速度减缓相当于两年
    • 研究人员总结称,每日复合维生素补充是预防记忆丧失和延缓认知老化的一种有希望的方法。

背景与意义

  • 随着人口老龄化,保护认知功能成为重要的公共卫生目标。该研究为一种安全、易获取且经济的干预方式(复合维生素)提供了证据支持。

研究详情与资金

  • 研究人员:来自麻省总医院(MGH)、布莱根妇女医院(BWH)、哥伦比亚大学和维克森林大学的联合团队。
  • 资金与支持:研究部分由Mars Edge和美国国立卫生研究院资助;复合维生素与安慰剂由辉瑞公司(现为Haleon)捐赠。
  • 利益冲突:部分作者报告了与膳食补充剂行业相关的资助或酬金。
34. GraphQL and the Beads on a String (blog.luccasiau.com)

GraphQL 的核心概念与优势

珠子比喻

  • 数据库、后端和用户被比作串在一根线上的珠子,强调它们之间的紧密连接。
  • 在实际应用中,后端通常部署在数据库附近,以减少延迟。

传统 REST API 的问题

  • 加载一个典型网页需要多种数据,如用户资料、主要内容等。
  • REST API 设计通常需要多个独立请求来获取这些数据,导致:
    • 客户端复杂度增加,需处理多个异步请求。
    • 管理请求失败和依赖关系的挑战。
    • 可能增加加载时间,影响用户体验。

GraphQL 的解决方案

  • 单一请求获取所有数据:客户端通过一个 GraphQL 请求指定所需数据,后端将数据拼接并返回。
    • 简化客户端代码,减少请求数量。
    • 改善加载时间,提升用户体验。
  • 设计初衷:专门为减少延迟和复杂性而设计,无需额外优化。
  • 对比 REST API
    • REST 可以定义单一端点来模拟 GraphQL 行为,但这会将复杂性从客户端转移到后端,对于复杂应用不可行。
    • GraphQL 直接内化这种设计,更高效。

其他优势

  • GraphQL 订阅:易于实现实时数据更新功能。
  • 明确的 API 契约:前端和后端之间的接口定义清晰,有助于协作(尽管有人可能不喜欢,但作者推崇)。
  • 易用性:尽管 GraphQL 最初感觉陌生,但通过工具如 Apollo 可以快速上手,一旦尝试就会发现其简便性。

结论

  • GraphQL 提供了一种更简洁、高效的数据获取方式,特别适合需要整合多种数据的场景。
  • 作者鼓励好奇心者尝试使用 GraphQL,以体验其优势。
36. Gemini: Fast Failure Recovery in Distributed Training with In-Memory Checkpoints [pdf] (www.cs.rice.edu)
38. Colorado pastor charged for cryptocurrency scam he perpetrated at God's command (web3isgoinggreat.com)

科罗拉多州一名在线牧师涉嫌利用加密货币诈骗信徒被起诉。该牧师向基督教信徒销售名为INDXcoin的加密货币,但购买者无法将代币兑现。他与妻子将所得资金挥霍于购买劳斯莱斯、珠宝、名牌手袋以及进行“上帝指示”的家庭装修。

牧师在向支持者发布的视频中承认,科罗拉多州证券监管机构指控其挪用130万美元,且“这些指控属实”。他声称上帝先指示他们投资另一种最终被证明是骗局的加密货币,随后又命令他创建自己的数字货币并承诺“10倍回报”。他曾告知投资者资金将用于“寡妇和孤儿”,但实际上大部分资金被其个人挪用。

事件信息来源于科罗拉多州证券部门新闻稿及商业媒体报道。

39. Augmenting the Markdown Language for Great Python Graphical Interfaces (www.taipy.io)

内容类型:网站错误页面 来源:Taipy 官方博客 关键信息

  • 该页面是一个由 Next.js 框架生成的技术性错误页面。
  • 页面内容显示 “404: This page could not be found.”,表明请求的博客文章 (/blog/augmenting-the-markdown-language-for-great-python-graphical-interfaces) 无法找到。
  • 页面结构包含了 Next.js 应用的客户端脚本、样式资源链接、以及用于 cookie 同意管理(Axeptio)、网站分析(Hotjar, Plausible, Clearbit)和营销追踪(LinkedIn, HubSpot, reebee)的第三方脚本。
  • 尽管主要文章内容缺失,但页面成功渲染了网站的通用布局,包括:
    • 顶部横幅:宣传开发者网络研讨会。
    • 主导航与页脚:包含指向 Taipy 主页、资源、博客、定价、社区以及法律条款等页面的链接。
    • 社交媒体图标:链接到 Twitter、LinkedIn、GitHub、YouTube 和 Discord。
    • 版权信息:显示版权归属为 Avaiga。

总结:所提供的材料并非目标文章《Augmenting the Markdown Language for Great Python Graphical Interfaces》的内容,而是 Taipy 网站上一个因资源未找到而显示的通用 404 错误页面。该页面技术细节丰富,展示了网站的前端框架结构和集成的各类第三方服务脚本,并正确呈现了网站的公共导航和页脚组件。

40. A man who used music to try to lure aliens to earth (2020) (pitchfork.com)

John Shepherd在1971年至1998年间,通过名为Project STRAT的项目,每天从密歇根州的祖父母家中广播音乐6至8小时,旨在吸引外星人注意并尝试星际接触。他扩展了项目,在房产中建立了实验室,使用自制科学设备,但最终因维护成本高而停止广播。该项目现成为Netflix纪录片《John Was Trying to Contact Aliens》的主题。

Shepherd的音乐选择注重全球性和探索性,包括雷鬼、爵士、克劳特摇滚和印尼甘美兰等,偏好器乐,因为它能通过灵魂和心灵直接传达情感,无需翻译。他将音乐组织成小时节目块,主题多样,常深入早期电子音乐、实验爵士和打击乐风格。他认为音乐能激发外星人的好奇心,将其吸引到地球附近以便研究。

采访中,Shepherd解释项目始于科学研究,但音乐元素由朋友Mike Johnston的丰富唱片收藏启发,包括前卫摇滚和空间音乐。他的DJ集即兴创作,跟随音乐流动,强调即兴音乐的自由和深度,以及甘美兰等罕见音乐的独特性。他更重视过程而非结果,将探索、艺术创造和手工艺视为项目的本质,即使未获硬数据,也从中获得持续灵感。

41. 'Canada Is a Video Piracy Hotspot While Brazil Sees Piracy in Decline' (torrentfreak.com)

根据反盗版监测公司MUSO与咨询公司Kearney发布的最新报告,全球视频盗版访问量在2023年超过1410亿次,呈现动态增长趋势。报告通过分析各国人均盗版网站访问量及2018-2023年的增长率,将国家分为四类:

1. 热点地区(高访问量、高增长)
加拿大被列为典型热点,人均盗版访问量较高(约90次以上),并在五年内增长约50%。同类国家包括瑞典、香港、卡塔尔等。新加坡人均访问量最高,但增长率相对较低。

2. 恢复中地区(高访问量、低增长或下降)
巴西、新西兰、葡萄牙等国盗版访问量原本较高,但近年来呈现下降趋势。报告认为巴西的改善可能与当地频繁开展反盗版行动有关。

3. 增长风险地区(低访问量、高增长)
包括印度、尼日利亚、加纳等国,其盗版访问量增长超过100%,主要受宽带普及推动。值得注意的是,美国虽人均访问量长期较低,但近年增长率上升,也被归入此类。

4. 积极信号地区(低访问量、低增长或下降)
如日本等国,盗版访问量本已较低且持续减少。

报告通过图表直观展示了全球盗版趋势的区域差异,指出热点地区的盗版威胁仍需关注,而增长风险地区的上升趋势可能对正版市场构成挑战。

42. Neatroff – a new implementation of the Troff typesetting system (2017) [pdf] (litcave.rudi.ir)

Neatroff – a new implementation of the Troff typesetting system (2017) [pdf]

44. GPU Reshape – shader instrumentation for everyone (gpuopen.com)

GPU Reshape:面向所有人的着色器仪表化工具

核心问题与目标

现代图形API(如DX12、Vulkan)日益复杂,增加了代码出错的风险。标准验证层主要处理可在CPU端静态验证的错误,但许多问题源于GPU上着色器的动态行为(如越界索引、NaN传播、未初始化资源访问),这些无法被静态捕获,导致调试耗时漫长。GPU Reshape 应运而生,旨在通过运行时插桩,在GPU上执行指令级验证,捕获这些未定义行为。

工具概览

GPU Reshape 是一个开源(MIT)独立运行的桌面应用程序,无需集成到现有项目中。它支持 DirectX 12Vulkan,以交互帧率提供GPU动态行为的验证。工具在开发中得到了AMD和Avalanche Studios Group的合作支持。

核心功能特性

GPU Reshape 将典型的CPU调试能力引入GPU环境,提供以下关键验证:

  1. 资源边界检查:验证资源读写坐标是否越界。
  2. 浮点数稳定性验证:检查UAV写入、渲染目标、顶点导出等浮点操作中的 NaN/Inf 问题。
  3. 描述符验证:验证描述符(可动态索引)的有效性,包括未定义、类型不匹配、越界索引及缺失的表绑定。
  4. 并发验证:验证队列和事件间的资源并发访问(单一生产者/多个消费者)。
  5. 资源初始化验证:确保任何读取操作之前已进行写入(可能存在误报,后续修复)。
  6. 无限循环检测:实验性功能,可检测并可能防护导致GPU崩溃的无限循环。

部分功能(如描述符验证)可在插桩期间防护错误操作,防止未定义行为导致的GPU崩溃。错误报告会精确到源代码行,包含访问的资源、维度和坐标等信息。

设计与架构优势

  • 语言无关:工具作用于指令和符号,与着色器前端语言(HLSL、GLSL)无关。
  • 符号支持:支持SPIR-V和DXIL的调试符号(嵌入式或外部PDB),显著提升问题定位能力。
  • 模块化框架:核心是一个API无关的插桩框架。功能在自定义的、基于SSA的中间语言上实现,与后端(SPIR-V、DXIL)解耦。
    • 优势:功能无需为每个后端单独实现,新后端接入无需修改功能逻辑,降低了复杂性。
    • 高效翻译:通过与后端二进制码的双向直接翻译(单层),实现快速插桩(通常仅需数毫秒)。
    • 统一开发:开发者可在标准化的中间语言层面编写插桩逻辑,无需关心后端具体差异(如向量化/标量化执行、控制流差异)。

使用方式

  • 无需集成:开箱即用,可通过附加到运行中的应用程序或从工具内启动应用来连接。
  • 工作区模式:以“工作区”为单位管理API设备连接、插桩状态、着色器、管线和验证数据。
  • 网络连接:支持跨网络附加到运行中的应用程序(如连接到美术人员的电脑),便于实时重现问题。
  • 动态插桩:可在运行时实时更改插桩配置,并可按着色器或管线进行专门设置。

未来展望与协作

GPU Reshape 旨在成为通用的插桩框架基础,计划增加更多功能,如:

  • 着色器实时调试与数据检查
  • 源代码级断言
  • 分支热点实时分析与分支一致性分析

项目鼓励社区通过 GitHub 参与协作、讨论和报告错误。

系统要求

  • 支持API:DirectX 12, Vulkan
  • 支持中间表示:SPIR-V, DXIL, DXBC(实验性)
  • 驱动:需要最新AMD Software: Adrenalin Edition™驱动(最低版本23.10.2)
  • 运行环境:.NET SDK 5.0 Runtime
  • 操作系统:Windows 10/11(Linux支持计划中)
45. Show HN: Nutrient insights through your grocery receipts (nutri.adrianstobbe.com)

杂货收据的营养洞察服务

该项目旨在通过分析用户的杂货收据,提供食物的营养成分洞察,帮助用户优化饮食结构,确保营养摄入均衡。其主要特点和功能如下:

核心功能

  • 收据上传分析:用户可上传杂货收据照片,系统将自动识别商品并提供营养成分信息。
  • 演示模式:无需上传收据,可直接体验演示功能,了解服务流程。
  • 手动添加物品:支持用户手动添加非每周购买的商品,完善饮食记录。
  • 本地数据存储:所有数据均存储在用户本地,便于随时返回并上传新的收据,持续追踪每周饮食。
  • AI驱动洞察:营养分析由AI提供,系统提示结果可能不准确,仅作为粗略估计参考。

使用流程

  1. 选择收据:上传杂货收据照片。
  2. 生成洞察:系统分析收据中的物品,生成营养成分报告。
  3. 手动补充:用户可额外添加未包含在收据中的物品。

注意事项

  • 该服务强调其AI分析结果仅为粗略估计,可能存在不准确性。
  • 设计上注重用户隐私与便捷性,数据本地化存储允许用户灵活管理历史记录。

该项目通过结合图像识别与AI分析,为用户提供一种便捷的饮食营养追踪工具,适合希望优化日常饮食结构的用户试用。

47. Migrating from Java 8/11 to Java 21, and Spring Boot 2 to Spring Boot 3.2 (www.unlogged.io)

本文主要探讨了从Java 8/11升级至Java 21,以及从Spring Boot 2迁移至Spring Boot 3.2/Spring Framework 6.1的必要性与实施方法。文章指出,Java 21引入了多项面向未来的关键特性,而Spring Boot 3.2则带来了显著的性能、安全性和可观测性提升,迁移有助于保持软件栈的竞争力。

Java 21 主要新特性:

  • 轻量级虚拟线程:通过虚拟线程实现“每请求一线程”编程模型,极大提升硬件利用率。
  • 结构化并发API:用于协调虚拟线程,编写更可靠、易维护的并发代码。
  • 作用域值:安全高效地在线程间共享变量,无需传递方法参数。
  • 向量API:利用CPU向量指令大幅提升计算速度。
  • 记录模式:增强对复杂嵌套数据结构的模式匹配与解构能力。
  • 增强的Switch语句:支持记录模式和正则表达式匹配。
  • 序列化集合:为List/Set等集合提供统一的首尾、前后访问及反转操作。
  • 分代ZGC:改进的垃圾收集器,实现更智能的内存回收。
  • 外部函数和内存API:便于与JVM外部的代码和数据进行互操作。

当前栈(Java 8 / Spring Boot 2)的局限性:

  • Java 8:缺乏先进的GC、内存管理、安全API、虚拟线程等现代特性,且官方支持已结束。
  • Spring Boot 2/Spring Framework 4/5:缺乏Spring Framework 6的性能增强、对Jakarta EE的支持、更好的自动配置及可观测性特性。

迁移至Java 21与Spring Boot 3.2的收益:

  • Spring Boot 3.2 支持GraalVM:可通过AOT编译将应用编译为原生代码,实现极速启动、低内存占用。
  • 内置虚拟线程支持:通过设置 spring.threads.virtual.enabled=true 即可启用。
  • CRaC支持:支持JVM检查点与恢复,可快速恢复到已知稳定状态,解决启动缓慢问题。
  • 新RestClient与增强的可观测性:引入更易用的HTTP客户端及基于Micrometer的深度可观测性支持(如 @Observed 注解)。
  • 其他改进:包括JdbcClient自动配置、SSL证书自动重载等。

迁移准备工作:

  • 升级路径:可选择逐步升级(Java 8 -> 11 -> 17 -> 21)或直接跳跃至Java 21。
  • 使用迁移分析工具:Oracle提供迁移分析报告工具,可精确分析代码中的必要修改点。
  • 注意关键变更
    • 自Java 17起封装更严格,反射访问内部API需使用 --add-exports--add-opens
    • 正则表达式中否定符 ^ 的行为发生变化。
    • 版本字符串格式改变。
    • 类加载器结构变更。
    • 废弃API(如Applet API、特定的Thread方法)。

Spring Boot 2 到 3.2 迁移清单:

  1. 基础要求:Spring Boot 3至少需要Java 17。
  2. Jakarta EE迁移:所有 javax.* 包名需迁移至 jakarta.*(如 javax.servlet.* -> jakarta.servlet.*)。
  3. 配置属性更新:使用 spring-boot-properties-migrator 工具处理大部分属性名变更。
  4. 升级第三方库:需将Hibernate、Jackson、Tomcat等依赖升级至兼容的最新版本。
  5. 处理已废弃配置:例如,末尾斜杠匹配需自行配置;HTTP头部大小相关属性已更新。
  6. Spring Security 6.0:需根据新的安全配置模型进行调整。
  7. 参考官方迁移指南:详细查阅Spring Boot 3.0和Spring Framework 6.0的迁移指南。

最佳实践与最终步骤:

  • 利用 --release 标志进行交叉编译。
  • 使用 jdeprscan 工具扫描已废弃的API使用情况。
  • 关注IDE的升级建议。
  • 在完成Java 21迁移后,充分利用其新特性优化应用。
48. Brig: A user interface toolkit for Node.js, which is based on Qt for rendering (github.com)

Brig:基于Qt的Node.js用户界面工具包

Brig 是一个基于Qt的Node.js用户界面工具包,允许开发者通过Node.js加载和播放QML文件,简化QML与Node.js之间的通信,从而更便捷地开发桌面应用程序。

核心目的与动机

  • 解决QML的限制:QML中的JavaScript仅限于组件控制,无法实现系统调用(如文件系统、网络、加密等)或使用外部库,传统上必须通过C/C++扩展。
  • 实现纯JavaScript开发:Brig允许使用Node.js扩展QML,无需编写C/C++代码,开发者可以借助NPM模块和Node.js API在QML中实现更多功能。

系统要求

  • Qt 5+Node.js 0.10+
  • macOS用户:无需单独安装Qt开发环境。

已知问题

  • 在Qt 5.8+上构建Brig可能失败。

安装

通过NPM安装模块:

npm install brig

基本用法

  1. 加载QML文件

    • 创建QML文件(如Application.qml),定义界面(例如一个带文本和动画的窗口)。
    • 在Node.js中使用Brig加载该文件:
      var Brig = require('brig');
      var brig = new Brig();
      brig.on('ready', function(brig) {
        brig.open('Application.qml', function(err, window) {
          // 窗口已打开
        });
      });
      
  2. 自定义类型(实验性功能):

    • 使用brig.createType定义自定义QML类型,暴露Node.js API给QML:
      var myQmlType = brig.createType('MyItem', {
        property: { prop1: 123 },
        method: {
          'readFile(a)': function(filename) {
            return require('fs').readFileSync(filename).toString();
          }
        },
        signal: ['test(a)']
      });
      myQmlType.on('instance-created', function(instance) {
        instance.on('test', function(a) {
          console.log(a);
        });
      });
      
    • 在QML中直接使用自定义类型:
      MyItem {
        // 属性...
      }
      

示例应用

Brig提供了多个示例,展示其功能:

  • Example App:基础演示应用。
  • FishFarming:Web浏览器示例。
  • Hankathon:Hackathon活动的倒计时器。

许可与作者

  • 许可:MIT许可证。
  • 作者:Fred Chien(cfsghost@gmail.com),版权所有2015-2017。
49. Why do we have right-on-red, and is it time to get rid of it? (abc7.com)

美国“红灯右转”规则:历史、争议与禁令趋势

起源与普及 美国“红灯右转”规则在20世纪70年代因应对阿拉伯石油禁运而推广,旨在通过减少车辆怠速来节省燃油。1975年《能源政策与保护法》将允许该规则与各州获取联邦能源援助挂钩,加速了其全美普及。到70年代末,除纽约市等少数地区外,美国几乎所有州都采纳了这一规则。

安全风险与禁令趋势 然而,近年来该规则因威胁行人安全而备受审视。美国在2022年创下自1981年以来的行人死亡人数最高纪录(至少7500人)。研究指出,“红灯右转”会增加路口冲突点,导致车辆撞向认为绿灯安全的行人、卡车因视线盲区撞上自行车手以及追尾事故。一项1982年的研究发现,允许该规则的州事故率增加了20%以上,尤其在城市地区、儿童和老年行人中增幅更大。旧金山数据显示,红灯右转相关事故仅占所有伤人事故不到1%,但却占行人或自行车相关事故的20%。

因此,亚特兰大、丹佛、印第安纳波利斯、华盛顿特区等多座城市已提出或通过在繁忙城区或全市范围内禁止红灯右转的法规,以期保护行人和骑行者。

支持禁令的观点 支持禁令者认为,这是优先考虑行人安全、提升城市步行和骑行友好度的重要措施。他们指出,红灯右转是“美国独有的做法”,而禁令是综合性安全解决方案的一部分,有助于创建更安全、更便捷的市中心。

反对禁令的观点 反对者(包括部分司机、司机倡导团体和立法者)则担忧禁令会加剧交通拥堵,影响司机便利性,并可能增加对黑人及其他少数族裔司机的交通拦截和处罚,存在“过度执法”风险。例如,印第安纳州一名共和党州参议员试图立法废除印第安纳波利斯的禁令,称其为“愚蠢的”和“对汽车的战争”,认为这会损害酒店业和城市活动。亚特兰大市议员也担心禁令会导致重大活动期间拥堵。

结论 尽管面临争议,禁令运动反映了美国部分城市在行人安全危机下,试图将安全优先于车辆通行便利的政策转向。

50. Top Cybersecurity watchdog issues emergency Ivanti directive to federal agencies (www.nbcnews.com)

美国顶级网络监管机构发布紧急指令,要求所有联邦机构针对一款流行软件中的危险漏洞进行自我防护,并正在调查中国是否曾利用该软件对美国机构进行间谍活动。

该软件名为Ivanti Connect Secure,供员工远程接入工作网络。2023年12月,网络安全公司Volexity首先发现该软件存在一个严重漏洞。该漏洞能让黑客获得对使用该软件的企业或政府机构的广泛访问权限,并能植入后门以便日后再次入侵。

随着漏洞信息的传播,Volexity发现全球已有至少1700个已知组织因此被黑客入侵

美国网络安全与基础设施安全局(CISA)的执行助理局长Eric Goldstein表示,黑客已获悉此漏洞,并日益增多地尝试入侵使用该软件的企业和政府机构。目前约有15个联邦机构使用此软件,CISA已观察到黑客利用此漏洞尝试攻击联邦机构的案例,相关调查正在进行,尚不清楚攻击是否成功。

此次黑客活动与2021年的一起惊人相似的事件相呼应。当时,同款软件(当时名为Pulse Secure)的一个早期版本存在漏洞,导致黑客成功入侵了多个美国联邦机构。网络安全公司Mandiant(现隶属于谷歌)当时指出,入侵联邦系统的黑客隶属于一个中国情报部门,旨在进行间谍活动。

针对美方的指控,中国驻华盛顿大使馆的发言人表示,“中方在网络安全问题上的立场是一贯、明确的。我们一贯坚决反对并依法打击一切形式的网络黑客攻击”,并称美方的言论“完全是颠倒是非”。

Goldstein此次并未直接将最新攻击归咎于中国,但表示他们观察到的活动“与中国行为体的活动模式相符”。他强调,目前尚无证据表明中国行为体利用这些漏洞入侵了联邦机构,但CISA正专注于此问题,并推动紧急缓解措施,以确保联邦网络和关键基础设施采取正确的应对步骤。