怀旧宝库:American Science & Surplus 面临困境
American Science & Surplus (AS&S) 是一家独特的商店,以销售科学用品和工业/军事剩余物资闻名,是许多科技爱好者和创客的启蒙地。这家店以其幽默风趣的商品描述和各种意想不到的奇特物品而受到喜爱,但目前似乎正面临财务挑战。
AS&S 的独特魅力与价值
AS&S 提供从电子元件、电机到化学品和光学设备等各种剩余物资,如同一个充满宝藏的仓库。它的商品描述充满个性,让逛店或翻看目录本身成为一种乐趣。对于培养动手能力、激发好奇心和创造力而言,AS&S 扮演了重要角色。
社区回忆与观察到的变化
评论区充满了对 AS&S 的美好回忆,许多人分享了在此购买零件进行科学项目的故事,并感谢店员的指导。大家普遍认为它是培养“黑客”精神的宝贵场所。然而,也有评论指出,近年来商品类型似乎有所变化,从真正的工业剩余物资转向了更多普通消费品,这可能与制造业转移或库存处理方式改变有关。
类似商店的衰落与支持意愿
评论者感叹 AS&S 这类独特实体店的衰落,并提到了其他消失的类似商店。尽管有人对通过 GoFundMe 为营利企业募捐的方式表示不解,但更多人表达了愿意捐款支持的心情,希望能帮助这家充满个性和启发性的商店继续存在。
C# 游戏登陆 WebAssembly:Terraria 与 Celeste 的技术之旅
一篇技术文章深入探讨了如何将两款流行的 C# 游戏 Terraria 和 Celeste 通过 WebAssembly 移植到浏览器中运行。该项目基于 FNA 游戏引擎,克服了诸多技术挑战,展示了在 Web 平台上运行复杂 C# 应用的可能性。
移植的技术路径与挑战
项目的核心思路是对 C# 游戏代码进行反编译,修改目标平台为 WebAssembly,然后重新编译。利用 Emscripten 工具链处理了 FNA 的原生 C++ 组件和 OpenGL 模拟。主要挑战包括加载游戏资源(需要浏览器文件系统 API 或拖放)、处理多线程(利用 .NET 9 的 WASM 线程支持,并通过生成代理代码将 OpenGL 调用转发到主线程),以及弥补标准库功能的缺失。
性能优化与 Celeste 的特殊问题
通过 Ahead-Of-Time (AOT) 编译显著提升了游戏性能。移植 Celeste 借鉴了 Terraria 的经验,并受益于 SDL3 对 OffscreenCanvas 的支持,但也遇到了 FMOD 音频库和 Everest Mod 加载器(涉及低级 JIT 操作)等新的难题。
社区的技术讨论与反馈
评论区对这一技术成就表示赞赏,特别是 C# 代码在 WASM 上的可重编译性。讨论涉及了大型 WASM 文件和资源的托管问题,以及 GitHub Pages、Cloudflare Pages 等平台的限制。一些用户报告了性能或加载速度问题,引发了关于潜在原因的讨论。大家普遍认为,尽管在浏览器中运行复杂桌面应用感觉“怪异”,但这展示了 WASM 的强大潜力,并对作者的详细分享表示感谢。
Typed-FFmpeg 3.0:让 FFmpeg 命令更易用安全
Typed-FFmpeg 3.0 是一个 Python 库,旨在通过引入类型安全、自动补全和验证,极大地简化和增强 FFmpeg 命令行工具的使用体验,特别是构建复杂的滤镜图。
库的核心功能与目标
该库是现有 ffmpeg-python
的现代改进,解决了 IDE 支持不佳和命令字符串脆弱的问题。3.0 版本扩展了对源滤镜(如 color
, testsrc
)和输入流选择的支持。其亮点在于提供了一个交互式 Web Playground,用户可以在其中可视化构建滤镜图,并生成对应的 FFmpeg 命令或 Python 代码,甚至尝试反向解析现有命令。核心目标是提供一个健壮、类型化的接口,让复杂的媒体处理更加易于上手。
社区反馈与相关讨论
评论区对解决 FFmpeg 复杂性的努力表示赞赏,认为强大的命令行工具本身就是一种编程语言,引入类型是提升可用性的好方法。讨论涉及了获取命令行帮助的方式(--help
vs man
),确认了对源滤镜的支持,并提到了 Vapoursynth 作为另一种基于脚本的视频处理框架。不少评论者表达了希望看到类似工具但使用 TypeScript 实现的愿望。总体而言,社区积极评价了该库,认可其为 FFmpeg 交互带来的结构化和用户友好改进。
网页设计先驱:Siegel, Nielsen, Zeldman 与 Flash/CSS 之争
文章回顾了 90 年代末 Flash 和 CSS 兴起时期,三位对网页设计产生深远影响的人物:David Siegel、Jakob Nielsen 和 Jeffrey Zeldman,以及他们各自不同的设计理念。
三位先驱的不同路径
David Siegel 追求纯粹美学,不惜使用 HTML "hacks";Jakob Nielsen 强调可用性和语义化,主张简洁和跨浏览器兼容,对 Flash 持批评态度;Jeffrey Zeldman 则试图在设计感、可用性和 Web 标准之间找到平衡。文章探讨了 Flash 和 CSS 在当时的竞争,Flash 因易用性和视觉表现力初期更受欢迎,而 CSS 虽是标准但浏览器支持滞后。最终,Zeldman 结合标准与设计的务实方法被认为更符合网络发展方向。
社区对可用性理念的讨论
评论区围绕 Jakob Nielsen 的可用性理念展开热烈讨论。许多人认同他基于用户测试的“经验正确”方法,即使牺牲美观。但也有人认为 Nielsen 有时过于僵化,未能充分认识到网络作为新媒介的演变潜力。支持者反驳称,这些规则基于实证,现代网页设计忽视基本约定反而导致可用性倒退。评论者普遍认为,尽管 Nielsen 的具体建议可能过时,但他对用户体验的关注在当时极具价值。然而,许多人感叹现代网站为了商业利益,充斥着弹窗、广告等,背离了 Nielsen 的原则,认为可用性有所退步。讨论也涉及对 90 年代末/00 年代初一些设计元素的怀旧。