每日HackerNews RSS

## PicoIDE:复古计算工具 PicoIDE由PicoGUS的开发者创建,是一款为经典PC设计的开源IDE/ATAPI驱动器模拟器。它允许用户从.bin/.cue/.iso(CD-ROM)和.img/.hda/.vhd/.hdf(HDD)镜像文件运行软件,从而有效地替代物理驱动器。 该设备支持PIO模式0-4和MWDMA 0-2,性能可与52倍速CD-ROM驱动器相媲美。它具有内置CD音频输出,以及可选的外壳,配备1.3英寸OLED屏幕、导航按钮、WiFi连接(用于镜像管理)和RGB活动LED。 目前模拟一个驱动器,未来的开发目标是支持同时使用两个设备。虽然硬件已最终确定,但未来的迭代*可能*会探索更多功能和不同于最初3.5英寸版本的形态。PicoIDE即将发布 – 注册以获取有关可用性和定价的通知。

## PicoIDE:复古计算及更多 PicoIDE是由polpo创建的一个新的开源IDE/ATAPI驱动器模拟器,主要设计用于复古计算需求。它旨在填补基于软件的旧系统(如MS-DOS和Windows 9x)的仿真空白,特别是针对具有固定几何形状的CD-ROM驱动器和早期IDE硬盘。 该项目利用RP2350微控制器,并且比使用FPGA技术的ZuluIDE等替代方案更经济实惠。除了复古游戏之外,潜在用途包括替换街机柜(如Dreamcast)中的CD-ROM以及旧录音设备中的硬盘驱动器。 创建者计划在几周内公开发布原理图和代码。讨论围绕潜在的改进,例如支持各种子通道数据格式(对于复制保护仿真很重要)以及探索当前3D打印原型之外的经济型外壳选项。用户对其潜力感到兴奋,并认为它是复古计算工具包中的一个有价值的补充。

## ReVoLTE:监听加密的4G LTE通话 研究人员发现“ReVoLTE”,这是4G LTE网络中的一个安全漏洞,允许监听Voice over LTE (VoLTE)通话。该攻击利用了加密过程中可预测的密钥流重用,这是由于基站(eNodeB)实现中的缺陷造成的。 ReVoLTE的运作方式是,攻击者在之前的通话结束后,与目标发起一次新的通话。通过记录攻击者自己在这第二次通话中的内容(已知明文)并分析加密的无线电流量,攻击者可以恢复密钥流——而这个密钥流与目标之前加密通话所使用的密钥流*相同*。这使得能够解密早期的对话。 测试表明,这种漏洞影响了15个被测基站中的12个,主要位于德国。虽然供应商已经发布了补丁,但广泛部署至关重要。研究人员发布了一款移动应用程序(“Mobile Sentinel”),允许用户测试他们的网络是否仍然存在漏洞。这项研究强调了在移动网络基础设施中安全实现和打补丁的重要性,以保护用户隐私。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交 登录 也许会打电话给我:使用ReVoLTE窃听加密的LTE呼叫 (2020) (montsecure.com) 36 分,由 vxvrs 1天前发布 | 隐藏 | 过去 | 收藏 | 4 条评论 puppycodes 1天前 | 下一个 [–] 我认为这很有趣,但应用/可行性非常有限。有太多更好的窃听方式,所以不值得付出努力。回复 vxvrs 1天前 | 上一个 | 下一个 [–] 这个是几年前的,但仍然认为攻击本身很有趣。回复 stop50 1天前 | 上一个 [–] (2019) dang 1天前 | 父级 [–] 已添加在上方。谢谢!编辑:看起来来自之前的帖子是2020年? 窃听加密的LTE呼叫使用ReVoLTE - https://news.ycombinator.com/item?id=24129977 - 2020年8月 (14条评论) 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 模拟的陷阱:为什么你的测试会稍后失效 模拟可以是一个强大的测试工具,但一个常见的错误会导致后续出现意外的失败。关键原则是**模拟对象被*使用*的地方,而不是被*定义*的地方**。 考虑一个读取设置文件的代码场景。对 `open()` 函数的看似有效的模拟可以在测试期间绕过对真实文件的需求。然而,这种广泛的模拟可能会干扰其他工具——例如代码覆盖率库——这些库也会在内部*使用* `open()`。这种干扰表现为错误(例如 `TypeError: replace() argument 1 must be str, not bytes`),当这些工具尝试运行时会出现。 解决方案?仅在*使用*它的模块内修补 `open()`,而不是全局修补。这隔离了模拟的效果,防止了意想不到的后果。 最近,`coverage.py` 的作者甚至添加了一个安全措施,以在其模块内恢复原始的 `open()` 函数,以减轻此问题,并认识到过度模拟的普遍性。最终,有针对性的模拟可以减少摩擦并确保测试的稳定性。

## Hacker News 讨论总结:避免过度 Mocking Hacker News 的讨论围绕着单元测试中过度 Mocking 的陷阱,尤其是在 Python 中。核心论点,源于一篇链接的博文,是**过度 Mocking 会导致脆弱的测试,在代码重构时容易出错。** 开发者应该**将代码重构为将纯逻辑与不纯副作用(如 I/O)分离**,而不是 Mocking 内部依赖项,例如文件 I/O。 理想的方法是设计函数,使其接受数据作为参数,而不是直接与外部系统交互。这使得使用真实数据或简单的测试替身进行测试更加容易。 许多评论者提倡**依赖注入**和创建**“假对象”(fakes)**——外部依赖项的轻量级替代品——而不是严格的 Mock,后者会验证实现细节。 讨论强调了测试速度/隔离(通过 Mocking 实现)与长期可维护性之间的矛盾。 许多人同意**测试应该验证行为,而不是实现**,并且过度 Mocking 通常表明代码设计不良。 也有人建议使用真实的、隔离的数据库或容器化服务等替代方案。 最终,共识倾向于尽量减少 Mocking,并优先考虑促进可测试性的代码结构,而不要依赖于脆弱的 Mock。

美国突然停止生产一美分硬币,但令人震惊的是,对于已经流通的约3000亿枚硬币没有任何计划。尽管每枚硬币的制造成本超过三美分,并且在货币供应中占比微乎其微,但没有人预料到它的终结——也没有为此做好准备。 深入调查显示,官员们知道生产一美分硬币毫无意义,但他们认为国会法律强制要求这样做,这种观点已被证明是错误的。加拿大成功地通过回收计划和公众指导淘汰了一美分硬币,而美国缺乏任何此类策略。由于一美分硬币的锌含量及其与铜分离的困难,回收美国一美分硬币存在问题,可能导致对环境有害的冶炼过程。 本质上,政府任由美国人处理这些基本上毫无价值的数十亿枚硬币,没有为现金交易或收集工作提供任何指导。更糟糕的是,铸币局保留了在“必要”时*重新启动*一美分硬币生产的权力,这使得一美分硬币的未来——以及它所代表的后勤噩梦——变得不确定。整个情况证明了官僚主义的惯性和缺乏远见。

## Go语言实现的朴素贝叶斯垃圾邮件分类器 这个Go包,`nspammer`,实现了一个基于文本的垃圾邮件检测的朴素贝叶斯分类器。它利用贝叶斯定理,并带有朴素独立性假设,并结合拉普拉斯平滑来防止遇到未见词时出现零概率问题。 该分类器在带标签的消息数据集(垃圾邮件/非垃圾邮件)上进行训练,并提供了一个简单的API来对新的文本输入进行分类。在训练期间,它计算垃圾邮件和非垃圾邮件类别的先验概率和词频。 分类涉及计算对数概率,以确定消息更有可能被识别为垃圾邮件还是非垃圾邮件。该包包含使用简单示例和Kaggle垃圾邮件数据集的测试,以便在真实数据上评估准确性。它可以通过`go get github.com/igomez10/nspammer`获得。

一位Hacker News用户分享了一个基于Go语言的垃圾邮件分类器链接,该分类器利用了朴素贝叶斯算法,发布在GitHub上。 这篇文章引发了讨论,一位评论者分享了十多年前的一个类似Perl实现的版本,并提到计划加入向量化功能。 对话涉及开源项目许可的重要性,以及一篇Paul Graham关于构建更好软件的文章链接。 有人担心LLM生成垃圾邮件的兴起可能会降低贝叶斯垃圾邮件过滤器的未来有效性,但其他人认为LLM独特的模式应该可以检测到。 最后,用户回忆了2010年代贝叶斯统计在工程师中流行的一个时期,尤其是在A/B测试中,一些人认为这受到社会学和像Eliezer Yudkowsky这样的人物的影响。 讨论还强调了贝叶斯统计在特定A/B测试场景中优于频率学方法的优势。

最新研究阐明了“顿悟”时刻与记忆力提升之间的联系。研究表明,人们更容易回忆起伴随高水平顿悟的信息——特别是当解决方案感觉快速、确定且令人愉悦时。脑部扫描显示,在这些时刻,VOTC和海马体活动增加,从而加强记忆编码。 然而,顿悟并不能保证准确性;参与者经常在*错误*识别图像时体验到顿悟。进一步的研究表明,顿悟的作用因任务而异。虽然对于快速解决问题(如穆尼图像)有益,但像隐喻生成这样的创造性任务可能更依赖于分析性思维,而这些解决方案更容易被记住。 研究人员现在正在探索顿悟在心理治疗和冥想等不同领域的功能。最终,理解顿悟可能会彻底改变学习方式,教育者被鼓励在学生中培养“顿悟”时刻,以提高理解力和动力。看来,顿悟是一种强大的认知体验,具有广泛的影响。

高盛分析师最近对基因疗法的长期商业可行性表示担忧,尽管该疗法有潜力提供“一次性治愈”。他们的报告《基因组革命》质疑治愈患者是否是一种*可持续*的商业模式,因为它消除了慢性病治疗常见的持续收入来源。 该分析指出吉利德科学公司在丙型肝炎治疗方面的经验——2015年最初是一个125亿美元的市场,现在预计将降至40亿美元以下,原因是患者数量减少。虽然治愈对患者和社会有益,但这对寻求稳定现金流的生物技术公司构成了财务挑战。 高盛建议三种策略来缓解这一风险:瞄准大型市场(如血友病),关注高发病率疾病(如脊髓性肌萎缩症),以及优先进行持续创新和投资组合多元化,以抵消治愈疾病疗法收入的下降。最终,该报告强调了基因治疗领域中医疗进步与财务可持续性之间可能存在的冲突。

## 高盛报告:治愈患者与可持续商业 (2018) 2018年的一份高盛报告引发了Hacker News上关于治愈患者是否是一种可行的商业模式的讨论。核心论点是,虽然治愈疾病在伦理上是可取的,但它消除了治疗这些疾病带来的持续收入来源,这使得以盈利为中心的制药公司不太感兴趣。 评论者对此进行了辩论,指出治愈方法仍然可以非常有利可图(以吉利德的丙型肝炎药物为例),并且治愈的人口总体上对社会有更大的贡献。另一些人强调了解决大市场和持续创新的重要性,以抵消治愈方法出现后的收入损失。 一个关键点是需要考虑“二阶效应”——健康人口带来的更广泛的经济效益。许多人认为,政府资助可能更适合治愈方法,因为它们并不总是与纯粹的盈利动机相一致。讨论还涉及了制药行业的复杂性,包括专利期限、仿制药竞争以及为了持续收入而优先管理症状而非治愈的潜力。最终,争论的中心在于,优先考虑利润是否会固有地阻碍对治愈方法的追求。

一个鲜为人知的事实是,斯皮尔斯女士是半导体物理方面的专家。除了唱歌和演戏,在接下来的页面中,她将指导您了解数字格式下能够听到她美妙音乐的关键半导体激光器组件的基础知识。 科学计算器 点击此处向世界上的饥饿人民捐赠食物。

## 布兰妮·斯皮尔斯半导体物理学:怀旧的网络奇闻 一个黑客新闻的讨论重新唤醒了2000年的网站“布兰妮·斯皮尔斯半导体物理学指南”(britneyspears.ac),引发了人们对早期互联网古怪幽默的回忆。该网站,表面上是一个用布兰妮·斯皮尔斯图像装饰的真正的物理教程,是2000年代初流行的一个无厘头玩笑,曾在Slashdot等网站上多次出现。 用户分享了轶事,包括一位开发者为了确保证书更新而用布兰妮的名字签署代码,并回忆起类似荒诞的网站,如“大型强子对撞机”。对话还延伸到对其他令人惊讶的受过教育的名人——多夫·龙格伦(化学工程)、布莱恩·梅(天体物理学)和波士顿的汤姆·斯科尔兹(机械工程)的讨论。 许多评论者强调了该网站尽管年代久远但仍然可以正常运作,与现代网络的计划报废形成对比。这个笑话的核心,被描述为“荒谬”,依赖于流行明星与复杂科学主题的意外并置,以及对一个更简单、更不精致的互联网的提醒。有人补充警告说,由于可能存在问题内容,不要在专业通讯渠道中分享该网站。

## bcrypt 的隐藏 72 字节限制 尽管 bcrypt 长期以来被广泛使用,并且是一种强大的密码哈希算法,但它有一个鲜为人知的限制:它只处理密码的前 72 个字节。这源于它基于 Blowfish 密码,而 Blowfish 密码具有这种内在限制。 如果密码超过 72 字节,bcrypt 会有效地忽略多余的部分,可能导致碰撞和安全漏洞——正如 Okta 最近发生的一起事件所证明的那样。这个限制适用于*字节*,而不是字符,这意味着包含多字节字符(如表情符号)的密码可能会更快地达到限制。 现代 Python 的 bcrypt 包 (v5.0.0+) 现在会对超过 72 字节的密码引发错误,但其他实现方式各不相同——有些会截断,有些会报错,有些则提供选项来控制此行为。 为了未来的安全性,请考虑使用 Argon2 等替代方案,或者在应用 bcrypt *之前* 将密码哈希为固定大小的摘要(如 SHA-256)。虽然 bcrypt 仍然适用于典型的 72 字节以下密码,但了解此限制至关重要。

## Bcrypt 密码哈希:潜在弱点 最近在 Hacker News 上的讨论强调了 bcrypt 中可能存在的漏洞,bcrypt 是一种广泛使用的自 1999 年以来的密码哈希算法。虽然仍然比许多常见做法更安全,但 bcrypt 会静默截断超过 72 *字节*(而非字符)的密码,从而降低熵值。 问题在于,现代字符(如表情符号)可能占用多个字节。如果密码严重依赖这些字符,则截断可能会显著降低其安全性。虽然有些人认为 72 字节仍然足够,但另一些人指出这会限制安全性,尤其是在用于“组合”凭据时(如 Okta 泄露事件中)。 核心论点是 bcrypt 已经过时;较新的算法,如 Argon2、scrypt 和 yescrypt,专为密码哈希而设计,利用现代密码学并解决了 bcrypt 的局限性。然而,bcrypt 长期可靠且经过验证的抗破解能力意味着它不一定*不安全*,尤其是在使用随机生成的密码时。讨论强调了库需要清楚地记录此限制,并可能为过长的输入引发异常,而不是静默截断它们。

请启用 JavaScript 并禁用任何广告拦截器。

更多

联系我们 contact @ memedata.com