## Locker:你的自托管云存储
Locker 是 Dropbox 和 Google Drive 等服务的免费开源替代方案,它允许你自托管数据,从而完全掌控你的数据。你可以选择你的存储方式——本地磁盘、AWS S3、Cloudflare R2 或 Vercel Blob——只需通过简单的环境变量切换即可,避免厂商锁定和不可预测的成本。
Locker 专为高级用户设计,提供全面的文件管理工具,包括虚拟 bash shell(使用熟悉的 `ls` 和 `cat` 等命令)、强大的图片和 PDF *内部*搜索,以及具有基于角色的访问权限的协作工作区。
主要功能包括:密码保护和过期日期的安全共享、用于轻松收集文件的上传链接,以及用于集成的类型安全 API。Locker 优先考虑安全性,提供电子邮件/密码和 Google OAuth 身份验证。它使用 Next.js、PostgreSQL 和 tRPC 构建,并且可以轻松部署在任何 Node.js 平台上。
这位创作者是粗野主义建筑的爱好者,制作了一个独特而沉重的笔记本电脑支架,体现了20世纪60年代混凝土结构和城市衰败的美学。支架采用原始的混凝土饰面,通过有意的混合和打磨技术实现,露出砾石并营造出风化的外观。
除了美观之外,它还具有高度的功能性,内置了2.1安培USB充电端口和一个三孔插座。一个锡制花盆,种有垂吊的“珍珠串”植物,被嵌入混凝土中。故意暴露的生锈钢筋和逼真的腐蚀“损坏”电线等细节进一步增强了破败的主题。
制作过程包括两次混凝土浇筑和创新的老化工艺——使用盐、过氧化氢甚至氨溶液来实现逼真的锈蚀和腐蚀。尽管支架非常重,但创作者对最终结果感到满意,认为其形式与功能的结合完美地捕捉了他们想要的粗野主义愿景。
## 从恐惧到构建:浮点数之旅
本文讲述了作者理解和实现浮点算术的五年挣扎,最终促成了两次芯片流片。 最初因其复杂性而感到畏惧,作者开始深入研究,意识到表面的理解是不够的。 这段旅程超越了软件,旨在通过硬件实现来真正掌握其中的复杂性。
该项目选择了bfloat16格式——一种紧凑的16位浮点类型——因为它适用于矩阵乘法加速器,并且缺乏严格的IEEE合规性,从而允许优化。 关键决策包括放弃对亚正数、NaN和无穷大的支持,以简化硬件。 为了提高性能,选择了双路径加法器架构,并利用综合工具进行了优化。
随后进行了两次流片,分别在GF180节点和IHP 130nm上。 第二次流片专注于最大化频率,通过定制实现和流水线技术,最终实现了454.545 MHz的乘法器。
最终,作者承认持续学习的过程,认识到浮点数的复杂深度。 这段经历强调了动手实现的重要性以及现代综合工具在实现优化硬件设计方面的惊人力量。
## 视频游戏主机安全的历史
数十年以来,视频游戏主机安全一直是一场持续的军备竞赛。早期的主机,如雅达利2600,*没有任何*保护,允许任何人制作游戏卡带。任天堂的NES引入了10NES芯片——一个硬件身份验证系统——但它很快就被逆向工程并绕过,从而形成了一种锁和钥匙的模式,这种模式会不断重复。
向光盘媒体(CD、DVD)的转变,以及像PlayStation这样的主机,带来了新的挑战,导致了“修改芯片”的出现,这些芯片可以伪造身份验证。虽然加密代码签名随着初代Xbox的出现而到来,但漏洞依然存在,通常通过修改存档和缓冲区溢出等方式被利用。
PS3由于对所有签名重用相同的密钥,导致了灾难性的加密失败,公开暴露了其签名密钥。后来的主机,如Switch,仍然面临启动过程中的漏洞(如fusée gelée漏洞),而PS5和Xbox也出现了针对软件层的漏洞。
关键要点是什么?技术安全措施绝非万无一失。现代主机采用强大的防御措施——安全启动、加密、虚拟机监控程序——但仍然存在漏洞。厂商现在通常将技术安全与服务锁定(例如,越狱后失去在线访问权限)相结合,以阻止黑客攻击。最终,持久的安全需要一种整体的“安全设计”方法,承认复杂的系统*最终*会被利用。