使用Rust打造解释器:论垃圾回收
本文探讨了使用Rust实现Lox语言解释器时的垃圾回收问题。Lox作为一门托管语言,需要自动管理内存。作者对比了引用计数和标记清除算法,分析了Rust的内存模型和借用检查机制带来的挑战,并提出了两种解决方案:使用Rc>和构建对象管理器。最终,作者选择基于性能考虑,采用类似C语言的实现方式,绕过Rust的部分安全机制,直接使用指针操作实现标记清除算法。
阅读更多
本文探讨了使用Rust实现Lox语言解释器时的垃圾回收问题。Lox作为一门托管语言,需要自动管理内存。作者对比了引用计数和标记清除算法,分析了Rust的内存模型和借用检查机制带来的挑战,并提出了两种解决方案:使用Rc>和构建对象管理器。最终,作者选择基于性能考虑,采用类似C语言的实现方式,绕过Rust的部分安全机制,直接使用指针操作实现标记清除算法。
阅读更多
Reddit计划在未来几个月内发布与公司市场相关的新产品。公司联合创始人兼首席执行官Steve Huffman表示,公司计划将收入来源从广告扩展到“用户经济”,即用户在平台上从其他人那里赚钱。Reddit用户目前可以通过订阅、数字礼物和头像等收藏品赚钱。Reddit用户还在该网站的一些论坛上出售实体商品和服务。
阅读更多
Mp3tag 是一款功能强大且易于使用的音频文件元数据编辑器,支持批量编辑 ID3v1、ID3v2、MP4、WMA 等多种音频格式的标签。它还支持从 Discogs、MusicBrainz、freedb 等在线数据库查找标签信息,并自动下载专辑封面。此外,Mp3tag 还提供文件名批量重命名、字符替换、播放列表创建等实用功能。
阅读更多
Dynolog是一款面向异构CPU-GPU系统的轻量级监控守护程序,支持持续性能监控和深度分析模式。它与PyTorch Profiler和Kineto CUDA分析库集成,为AI训练应用提供全面支持。Dynolog利用硬件和Linux内核提供的接口,监控CPU、存储、网络、GPU等资源的使用情况,并提供详细的性能指标。此外,Dynolog还支持按需CPU-GPU分析,允许用户在无需修改代码的情况下随时触发CPU-GPU分析,方便开发者深入了解系统性能瓶颈并进行优化。
阅读更多
本文探讨了理查德·费曼对超心理学现象(如超感官知觉、心灵感应和念力)的批判。费曼将这些研究称为“货运崇拜科学”,因为它模仿了科学方法的外在形式,但缺乏真正的科学严谨性。他批评这些领域实验控制不力,并且倾向于为负面结果找借口,并以此说明科学严谨性和避免自欺欺人的重要性。
阅读更多
本文分析了过去十年中与英国改革党有关联的公司和个人网络。文章以理查德·泰斯、巴瑟斯特庄园、脱欧运动、奈杰尔·法拉奇、改革党和英国独立党六个部分,揭示了这些实体之间的错综复杂的关系,并指出其中一些公司涉及房地产、媒体、政治活动等多个领域,以及与极右翼意识形态的联系。
阅读更多
德国 Linux PC 厂商 TUXEDO Computers 正在开发一款搭载骁龙 X Elite 的 Linux 笔记本电脑。该笔记本电脑原型采用 12 核 X Elite 处理器,配备 2560 x 1600 14 英寸显示屏、铝制机身、32GB LPDDR5x 内存和一个 PCIe Gen4 NVMe 固态硬盘。TUXEDO 表示,该笔记本电脑的 Linux 支持仍在开发中,预计将于 2024 年上市。
阅读更多
System76 发布了其全新桌面环境 COSMIC 的 Alpha 版本,适用于 Pop!_OS 和其他 Linux 发行版。COSMIC 增加了新的功能、自定义选项、性能、稳定性和安全性,但作为 Alpha 版本,它也存在一些错误。文章收集了来自 Linux 爱好者和科技媒体对 COSMIC Alpha 版本的评价,普遍认为 COSMIC 速度快,具有很大的潜力,并期待其正式版本。文章还介绍了 COSMIC 的设计系统、应用和应用小程序模板,以及如何为 COSMIC 做出贡献。
阅读更多
本文介绍了如何自托管Bluesky的各项基础设施,包括个人数据服务器(PDS)、Relay、Jetstream和plc.directory镜像。文章提供了详细的步骤和资源链接,例如使用GOAT工具迁移现有帐户、设置Relay、配置Jetstream以及搭建plc.directory镜像数据库。此外,文章还提到了如何克隆和运行官方web/mobile应用,并表示正在进行AppView的自托管工作。
阅读更多
美国国家公路交通安全管理局(NHTSA)对Waymo自动驾驶出租车展开进一步调查,新增9起事故报告。这些事故涉及Waymo自动驾驶出租车与大门、电线杆和停放的车辆相撞,在有迎面车辆的情况下驶入错误车道以及驶入施工区域等。NHTSA担心这些意外驾驶行为可能会增加碰撞、财产损失和人员受伤的风险。
阅读更多
Netflix 开始逐步取消其最便宜的无广告套餐,目前该计划已在加拿大和英国实施。现有基础套餐用户将需要在 7 月 13 日之前选择新的套餐,可选方案包括含广告的 6.99 美元套餐、无广告的 15.49 美元套餐或无广告 4K 高清 22.99 美元套餐。Netflix 此举是为了推动用户转向其广告支持计划,该计划的用户数量截至 5 月已超过 4000 万。
阅读更多
本文介绍了C++26版本中已经添加的一些语言和库功能,以及部分新功能在Clang和GCC中的支持情况。文章详细解释了为删除的函数指定原因、使用无名占位符变量、结构化绑定声明作为条件、用户生成的static_assert消息等新特性,并给出了相应的代码示例。
阅读更多
X公司宣布立即关闭其在巴西的业务,但其服务在该国仍然可用。X公司表示,巴西高级选举法院院长兼最高联邦法院法官亚历山大·德莫赖斯威胁X公司的一名法律代表,如果X公司不“遵守他的审查令”,他将被逮捕。X公司表示,德莫赖斯的要求将迫使他们违反巴西、阿根廷、美国和国际法,为了保护员工安全,选择结束在巴西的本地运营。
阅读更多
本文介绍了作者使用AxiDraw绘图仪进行水彩绘画的实验过程和结果。作者详细介绍了如何设置绘图仪、选择合适的画笔以及控制水彩颜料的流动,并展示了不同参数设置下的作品效果。作者还尝试了使用不同的笔触和颜色叠加来创作更复杂的画作,并分享了对未来创作的展望。
阅读更多
SUSE 在柏林举行的 SUSECon 大会上宣布对其 Linux 发行版系列进行重大升级,包括 SUSE Linux Enterprise Server (SLES) 15 Service Pack (SP) 6,新版本提供长达19年的长期支持,以应对2038年Unix时间戳问题,同时还增强了安全性,并为 SAP 应用提供更好的支持。此外,SUSE 还发布了轻量级发行版 SUSE Linux Enterprise Micro 6.0,以及用于构建企业级 AI 的 SUSE AI 平台。
阅读更多
这篇文章讨论了在Ubuntu 17.04机器上运行apt-get upgrade时,有时会自动启动Dwarf Fortress游戏的问题。 作者解释说,这可能是因为Dwarf Fortress的可执行文件名为df,与系统工具df(用于显示磁盘空间使用情况)的名称相同,从而导致冲突。当脚本试图检查是否有足够的可用空间来解压存档时,它可能会启动Dwarf Fortress而不是系统工具df。
阅读更多
长期以来,环保人士一直将核能与化石燃料混为一谈,认为它们是矿产密集型、破坏环境的技术,而将太阳能和风能视为更可持续未来的支柱。然而,最新的研究表明,核能发电所需的岩石和金属开采量仅为太阳能或陆上风能发电的30%或23%。文章呼吁环保主义者重新思考对核能的立场,承认核能在减少采矿影响方面的潜力,并以更加生态现代主义的方式构建未来的能源体系。
阅读更多
Era3D是一种新的多视图扩散方法,可以从单张图像生成高分辨率的多视图图像。它解决了现有方法存在的相机先验失配、低效和低分辨率问题。Era3D 首先使用基于扩散的相机预测模块来估计输入图像的焦距和仰角,从而生成无形状失真的图像。然后,它采用了一种简单而高效的注意力层,称为行注意力,以在多视图扩散中加强对极几何约束,从而实现高效的跨视图信息融合。
阅读更多
欧盟的“地平线”计划将从2025年开始取消对开源软件 (FOSS) 的资助,引发了开源倡导者的担忧。开源软件联盟OW2的首席执行官Pierre-Yves Gibello在一封公开信中敦促欧盟重新评估这一决定,他认为开源软件对保护欧洲利益至关重要。Gibello指出,欧盟此前的“下一代互联网”(NGI)计划在支持开源软件方面发挥了重要作用,取消资助将损害欧洲的技术创新和网络安全。
阅读更多
文章介绍了如何利用自定义编码和路径配置文件来构建 Python 预处理器,实现对 Python 解释器的扩展。文中以添加自增自减运算符、使用大括号进行代码块作用域、解释 C/C++ 代码以及验证 TOML 数据为例,详细讲解了如何使用 Python 的 tokenize 和 ast 模块对源代码进行修改和解析。
阅读更多
Windows 11自发布以来问题不断,市场份额远低于预期,用户对其并不买账。相反,即将停止支持的Windows 10市场份额却高达70%。Windows 11强制推送广告、“推荐”等功能也饱受诟病,用户缺乏升级的动力。作者认为,微软应该吸取教训,加速推出Windows 12,将所有AI和其他新功能整合到新系统中,以此挽回颓势。
阅读更多
来自莫纳什大学生物医学发现研究所的科学家团队发现,古细菌,一种生活在极端环境中的单细胞生物,利用一种名为[FeFe]-氢化酶的特殊酶来消耗和产生氢气,从而获取能量。这一发现颠覆了我们对古细菌的理解,也为利用氢气发展绿色经济提供了新的思路。
阅读更多
谷歌的 Gemini AI 被指控未经用户同意或主动授权,扫描存储在 Google Drive 上的 PDF 文件,引发了对 AI 安全和隐私问题的又一次讨论。高级 AI 治理顾问 Kevin Bankson 在 X 上分享了他对私人和机密纳税申报表中自动生成的 AI 摘要的担忧。尽管他试图禁用该功能,但 Gemini 仍在 Google Drive 中运行。谷歌此前曾承诺不会使用 Google Workspace 数据来训练或改进其生成式 AI 服务,也不会将其用于定向广告。
阅读更多
本文介绍了一个名为 wasm-console 的基础 wasmshell 项目,该项目使用 Go 语言编写,并提供了一个简单的命令行界面,用于与 WebAssembly 模块进行交互。用户可以使用 wasm-console 加载、执行和调试 WebAssembly 模块。
阅读更多
本文介绍了开发者 Nic Magnier 将经典游戏 Doom 移植到 Playdate 便携游戏机上的过程。文章详细描述了 Nic 在移植过程中遇到的技术挑战,例如链接器错误和崩溃问题,以及如何解决这些问题。此外,文章还展示了游戏在 Playdate 模拟器和硬件上的运行效果,并讨论了图形优化和未来开发计划,包括添加音效和音乐。
阅读更多
法国政府近日在其海外属地新喀里多尼亚封禁了TikTok,这是欧盟范围内首次出现此类举措。封禁的起因是新喀里多尼亚近期发生暴力抗议活动,抗议活动由一项新的选举法引起,该法案将允许在新喀里多尼亚居住10年的公民参加地方选举。法国政府未详细说明封禁TikTok的理由,但表示此举旨在阻止抗议者利用该应用程序组织集会和抗议活动。数字权利组织和人权活动人士对此表示担忧,认为此举开创了一个危险的先例,可能会助长全球范围内政府任意封禁网络平台的行为。
阅读更多
文章阐述了CRUD(创建、检索、更新、删除)模型的广泛适用性。作者认为,许多看似非CRUD的操作,例如后台进程、文档处理、异步消息传递等,都可以用CRUD模型来表示。作者列举了多个例子,说明如何将这些操作映射到CRUD模型中,并强调了CRUD模型带来的优势,例如自动错误处理、性能优化、监控简化等。作者鼓励开发者在设计系统时,尝试用CRUD的视角来思考问题,即使对于那些难以用CRUD模型表示的操作,也可以借鉴CRUD的思路来设计接口和处理逻辑。
阅读更多
全披露邮件列表是一个在线论坛,专注于披露信息安全漏洞和威胁。该论坛由安全研究人员和专家社区维护,提供了一个平台来共享有关漏洞、威胁和安全事件的信息。论坛还设有专门讨论安全工具、技术和最佳实践的讨论区。
阅读更多