20年后,我删除了我的Steam账户

一位资深PC游戏玩家,在经历了20年的Steam使用后,最终删除了他的账户。文章指出Steam客户端日益臃肿,其DRM机制多次失约,导致旧游戏无法在老硬件上运行;Steam的专有API也阻碍了游戏兼容性和可玩性,甚至强制更新导致游戏功能缺失。作者对比了Epic、Microsoft Store和GOG等平台,认为这些平台在DRM和用户体验方面更胜一筹,并建议玩家考虑订阅服务或从其他平台购买游戏,以获得更好的游戏体验和软件保有权。
阅读更多
一位资深PC游戏玩家,在经历了20年的Steam使用后,最终删除了他的账户。文章指出Steam客户端日益臃肿,其DRM机制多次失约,导致旧游戏无法在老硬件上运行;Steam的专有API也阻碍了游戏兼容性和可玩性,甚至强制更新导致游戏功能缺失。作者对比了Epic、Microsoft Store和GOG等平台,认为这些平台在DRM和用户体验方面更胜一筹,并建议玩家考虑订阅服务或从其他平台购买游戏,以获得更好的游戏体验和软件保有权。
阅读更多
本文追溯了大型语言模型(LLM)规模的演变历程。从GPT-2的1.61B参数到Llama-4的2T参数,模型规模呈指数级增长。文中详细列举了各个关键模型的参数量、训练数据量以及架构特点,包括密集型模型和混合专家(MoE)模型。MoE架构的出现,使得训练和使用更大规模的模型成为可能。然而,模型规模的增长也带来了新的挑战,例如数据偏差、模型可解释性等。文章最后探讨了未来LLM发展的方向,并呼吁更多研究关注纯文本续写引擎的开发,而非仅仅追求在基准测试上的高分。
阅读更多
S-expr是一个用于解析S表达式的库,它对S表达式的语法做了独特的扩展,包括支持单行和多行字符串、单行和多行注释,以及一种名为“转置块”的新特性。转置块允许代码以列为行,行 为列的方式书写,提高了某些复杂嵌套表达式的可读性。这种设计使得S-expr在保持S表达式简洁性的同时,增强了代码的可读性和表达能力,虽然比传统的Lisp语言复杂一些,但其目标是平衡简洁性和可用性。
阅读更多
本文介绍了一种仅使用代数数据类型,无需浮点数即可实现复数和快速傅里叶变换(FFT)的方法。作者首先解释了为什么使用代数数据类型实现数字是可取的,并指出了传统FFT实现中隐藏的低效之处。然后,作者展示了如何用简洁优雅的方式,仅用代数数据类型实现整数和复数。最后,作者推导出了一个纯函数式实现的复数FFT,同样无需浮点数。这通过使用平衡三进制表示整数,以及利用高斯整数的扩展来表示复数,巧妙地避免了浮点数运算带来的融合障碍,从而提高了算法效率。
阅读更多
一位前端开发者在使用Cloudflare Workers和D1数据库的过程中,遭遇了数据库查询效率低下的问题。通过监控D1 dashboard、检查查询语句和行读写计数等方法,他发现了几个关键问题:单次查询耗时过长、批量写入效率低下、更新操作包含ID字段导致额外行读取、计数查询导致全表扫描、多表连接导致笛卡尔积爆炸以及批量插入效率问题。通过使用D1批量操作、排除ID字段、使用游标分页、拆分多表连接查询以及优化批量插入语句等方法,他显著提升了数据库查询效率,将某些查询的执行时间从78ms缩短到14ms。这个经验总结强调了持续监控和迭代优化的重要性,以及服务器端问题与客户端问题的不同之处。
阅读更多
这段代码尝试通过改变输入文本中单词的大小写,生成SHA-1哈希值以匹配目标前缀“20250327”。它解析文本,找到可修改的单词,然后遍历所有可能的字符大小写组合,计算哈希值并进行比较。如果找到匹配项,则会将修改后的文本写入文件。该程序展示了一种巧妙的暴力破解方法,利用字符大小写的变化来尝试生成特定哈希值前缀,体现了对哈希算法和组合数学的理解。
阅读更多
为了节省电费,用户对Xfinity XB3调制解调器进行了硬件修改。XB3调制解调器是Comcast Xfinity NOW服务的配套设备,功耗高达14.9瓦。通过拆卸调制解调器,找到并接地TPS54328稳压器的EN引脚,用户成功禁用了WiFi功能,并将功耗降低至12.5瓦,节省了2瓦电能。虽然修改后设备的管理页面短暂不可访问,但整体网络功能不受影响。
阅读更多
通过重新编译Ubuntu使用的jq源代码包,可以获得高达90%的性能提升。作者使用GeoJSON文件测试,发现重新编译后的jq速度显著提高。文章详细介绍了几个步骤:首先,简单地重新编译软件包即可获得2-4%的提升;其次,使用clang编译器和更优的编译选项(-O3, -flto, -DNDEBUG),速度提升20%;然后,使用TCMalloc内存分配器,速度提升40%;最后,使用mimalloc内存分配器,无论是动态加载还是重新编译,都能获得高达90%的性能提升。实验结果表明,重新编译并使用mimalloc的jq处理速度是Ubuntu默认包的两倍。
阅读更多
作者根据编程语言的类型和特性,将编程语言分为四个级别:解释型动态类型语言(如JavaScript)、解释型静态类型语言(如TypeScript)、编译型自动内存管理语言(如Go)和编译型手动内存管理语言(如Rust)。作者认为,针对不同需求,选择合适的语言级别至关重要,并提出构建一个由Rust、RustGC(2/3级混合语言)和RustScript(4级语言)组成的语言集,以提升开发效率和代码性能。这套语言集共享语法,并支持不同级别语言间的无缝调用,从而解决了不同语言工具集维护、人员培训等问题,最终目标是提高编程效率和代码质量。
阅读更多
Svelte5 发布后,其响应式状态系统“runes”备受赞誉。然而,作者在实际项目中发现,runes 存在诸多限制:只能在 Svelte 组件或 .svelte.ts 文件中使用,需要将状态包装在函数中才能保持反应性,对类的支持也不完善。此外,Svelte 的模板特性在 JavaScript 中难以实现,绑定属性的测试也较为繁琐。表单组件默认情况下是不可控的,这可能会导致问题。作者认为,尽管 Svelte5 试图模仿 React/Vue,但在易用性和功能完整性上仍有差距,SolidJS 或许是更好的选择。
阅读更多
这个项目从零开始实现了一个微型的异步事件循环库,用于教学目的。它演示了异步编程的核心概念,包括任务调度、非阻塞套接字的I/O多路复用、超时和休眠功能、任务取消以及基于协程的并发。该库使用Python的基于生成器的协程和select模块进行I/O多路复用,提供了一个简化的模型,展示了像asyncio这样的现代异步框架底层的工作原理。通过这个项目,你可以深入理解await关键字背后的机制、yield from的工作方式以及协程与事件循环之间的通信方式。
阅读更多
Roc编程语言的编译器团队决定将30万行Rust代码的编译器重写为Zig语言。这并非简单的语言迁移,而是为了解决Rust编译速度慢、以及代码库中累积的技术债务等问题。重写过程中,团队将改进解析器、格式化器、规范化、文档生成、类型推断和LLVM代码生成等多个模块,并计划采用解释器作为开发后端,以提高开发效率。此次重写旨在提升编译速度、改进代码可维护性,最终目标是发布Roc 0.1.0版本。
阅读更多
作者尝试用一道简单的国际象棋谜题测试各种新的LLM模型。这道题目的特点是棋子数量少,解法涉及到少见的“欠升变”技巧,并且需要考虑50步规则。结果显示,即使经过引导,大多数LLM也无法正确解答,这反映出LLM在处理需要逻辑推理和特定领域知识的任务上的局限性。作者认为,这道谜题可以作为快速评估LLM能力的基准,并引发了对LLM未来能否在国际象棋等领域达到大师级的思考。
阅读更多
作者详细描述了一次复杂的钓鱼攻击,攻击者伪装成Google员工,通过电话和邮件诱导作者重置账户。攻击者利用g.co域名和Google Workspace的漏洞,成功模拟了Google客服的场景,几乎骗过了作者。作者最终识破骗局,并分享了这次经历,提醒大家警惕高科技钓鱼攻击,加强安全意识。
阅读更多
一名15岁的中学生Daniel发现了一个惊人的0点击去匿名化攻击漏洞,该漏洞利用Cloudflare的缓存机制,能够通过恶意载荷攻击Signal、Discord等数百个应用,在用户毫不知情的情况下获取其地理位置信息。攻击者无需任何用户交互即可实现,甚至可以通过推送通知实现0点击攻击。Daniel开发了名为Cloudflare Teleport的工具来实现这一攻击,并向相关公司报告了漏洞,但收效甚微。该漏洞揭示了CDN缓存机制的潜在安全风险,提醒用户重视自身隐私安全。
阅读更多
一份GitHub上的数据分析显示,Stack Overflow平台自2023年3月至2024年12月,新提问数量下降了70.7%,从87105降至25566。这与ChatGPT的兴起密切相关,自ChatGPT发布以来,Stack Overflow新提问数量减少了近83000个。文章作者,一位Stack Overflow顶级贡献者,也亲身经历了提问被迅速关闭的现象,认为这是平台衰落的重要原因之一。数据显示,Stack Overflow提问数量的下降速度令人担忧,甚至回到了2009年上线初期时的水平,暗示其可能面临一年内寿终正寝的风险。
阅读更多
这份指南并非教你如何安装和使用PGP加密邮件,而是教你如何更安全地使用PGP进行邮件通信。它强调除了加密邮件内容外,更要关注操作流程安全,包括邮件撰写、存储、密钥管理等方面。指南建议使用文本编辑器撰写邮件,避免在邮件客户端保存草稿;定期生成新的密钥,并及时销毁旧密钥;避免在密钥服务器上发布公钥;邮件主题应保持为空,以减少元数据泄露;使用`gpg --throw-keys`选项加密数据,以防止泄露密钥元数据;默认情况下启用邮件加密,并明确选择是否签名邮件。总之,这份指南旨在帮助用户将PGP的安全性能最大化。
阅读更多
GitHub 上开源了一个基于 SQLite 的键值存储库,它允许像操作 JavaScript 对象一样操作数据,并自动进行 JSON 序列化。该库提供了一个名为 `createDatabaseClient` 的函数,该函数创建了具有独立读取器(`rdr`)和写入器(`wtr`)的并行客户端。写入器使用代理来实现部分 JSON 更新,而读取器返回普通的 JavaScript 对象。该库还包含全面的测试用例,涵盖了基本 CRUD 操作、嵌套更新、删除以及数组操作等功能。
阅读更多
一位开发者在使用Blender导入USD场景时,遇到了导入速度极慢的问题。通过性能分析,他发现瓶颈在于Blender内部的ID排序函数`id_sort_by_name`。该函数原本预期为O(N)复杂度,但由于USD文件中的命名方式导致其退化为O(N^2)复杂度。开发者通过修改命名方式和优化排序算法,成功将导入时间从4分40秒缩短到8秒(对于较小的文件)。然而,他发现问题根源在于Blender对ID的排序要求,并提出了使用Trie树或哈希表等数据结构来替代当前的链表结构的建议。
阅读更多
QEMU 9.2.0及以上版本通过Venus补丁实现了对Virtio-GPU的Vulkan加速支持。这标志着QEMU虚拟机在Vulkan图形渲染方面取得了重大进展。文章详细介绍了配置步骤,包括安装必要的软件包(Linux内核6.13+,QEMU 9.2.0+,Vulkan驱动等),以及如何构建QEMU和创建虚拟机镜像。虽然virt-manager目前尚不支持Vulkan配置,但可以通过命令行参数直接传递配置选项。文章还提供了故障排除指南,并指出了当前virt-manager和libvirt的相关限制。
阅读更多
本文介绍了如何DIY制作一根智能连接器线缆,使iPad Pro 12.9 (2020)的妙控键盘可以在竖屏模式下使用。作者详细描述了所需的组件、线缆制作步骤、连接器准备工作以及外壳的改装。该方法涉及到焊接、环氧树脂填充等操作,并提醒操作不当可能损坏iPad。文章末尾的评论区讨论了充电及数据传输方面的问题。
阅读更多
这篇文章提供了一系列在大小写转换时长度会发生变化的Unicode字符列表,可用于测试解析器。其中包括小写时收缩、小写时扩展、大写时收缩、大写时扩展的字符,以及一些多字符组合。列表中标注了字符的转换前后的长度和字节数变化。
阅读更多
该项目展示了如何使用纯 JavaScript 在单个 HTML 文件中实现类似 React、Vue 和 Angular 的核心功能。它通过简单的计数器示例演示了每个库的基本原理,包括响应式系统、组件化、虚拟 DOM 和数据绑定等概念,旨在帮助开发者更好地理解这些前端库的底层机制。
阅读更多
本文是侯世达于1983年2月在《科学美国人》杂志上发表的一篇关于Lisp语言的介绍文章。文章以通俗易懂的语言解释了Lisp的基本概念,包括原子、列表、函数、递归等,并通过与“Lisp精灵”对话的方式展示了Lisp的交互式编程特点。侯世达还介绍了Lisp在人工智能领域的应用,以及函数式编程的理念。
阅读更多
这篇文章介绍了如何使用 OpenAI 的 gpt-4o-mini 模型,通过提供文档截图的 URL,并根据用户定义的模式提取数据。文章以国会财务披露报告和报纸警方记录为例,展示了如何定义数据模型并使用 Python SDK 和 pydantic 库进行数据提取。结果表明,即使在定义数据方面几乎没有做出努力,也没有进行数据准备的情况下,结果也相当可靠。
阅读更多
15 岁的安全研究员 Daniel 发现 Zendesk 存在一个严重漏洞,该漏洞允许攻击者利用电子邮件欺骗漏洞访问任何使用 Zendesk 的公司的客户支持票据,并可能接管公司 Slack。Zendesk 最初以漏洞利用程序超出范围为由拒绝承认该漏洞,但在 Daniel 向受影响公司报告并获得超过 5 万美元的赏金后,Zendesk 最终修复了该漏洞,但没有向 Daniel 提供任何赏金。
阅读更多
这篇文章介绍了一个 Chrome 书签工具,可以将复制到剪贴板的 HTML、CSS 和 JavaScript 代码渲染成完整的网页,并支持 SVG 代码。该工具特别适用于 ChatGPT Canvas,可以快速预览生成的代码效果,而无需使用 IDE 或保存文件。
阅读更多
这是一篇关于如何在Mac上利用GPU进行语音转录的文章。文章介绍了一个bash脚本,它封装了Python的mlx_whisper库,从而可以使用GPU加速转录过程。
阅读更多
这篇GitHub文章介绍了一个名为OSM的项目,可以在大约30分钟内部署一个包含全球地图数据的自托管服务。项目需要使用podman或docker,并需要约90GB的存储空间。文章还提供了项目所需的下载链接和运行命令。
阅读更多