请启用 JavaScript 并禁用任何广告拦截器。
请启用 JavaScript 并禁用任何广告拦截器。
## GPenT:从高中创意到壁挂艺术
这个项目重拾了一个高中构想——生成式笔训练Transformer (GPenT),一个结合大型语言模型、生成算法和定制壁挂式笔绘仪(Polargraph)的系统。目标是为作者的公寓创作独特的艺术品。
Polargraph 利用皮带驱动系统,带有一个装有笔的吊舱,可以在大表面上进行绘画。制作过程包括设计木质框架以追求美观并隐藏电子设备,以及使用钛金属配重仔细平衡吊舱以实现平稳运行。
软件是关键。该项目利用 Makelangelo 固件和定制网络界面“plotter.local”,提供各种生成工具——从声动视觉诗学(可视化诗歌)到文本到 G 代码的扩散模型(尽管目前在语义理解方面存在限制)。至关重要的是,利用大型语言模型(Gemini)生成绘图参数的原始愿景得以实现,允许人工智能选择生成器、颜色和变换,从而产生独特的输出。
经过多年的搁置,GPenT 现在已经成为一台运转的艺术机器,用算法生成的图案装饰着作者的墙壁,并展示了将硬件和人工智能驱动的创造力相结合的激动人心的潜力。完整的项目细节、代码和物料清单可在 GitHub 上找到。
## 技术背后的隐性治理:摘要 早期的广播就表明了一个关键点:技术的影响并非内在的,而是由其资助模式塑造的。英国广播公司(BBC)通过牌照费资助,优先考虑具有挑战性的内容;美国商业广播则专注于为广告商最大化注意力;苏联广播则服务于国家宣传。 相同的技术,由于不同的“治理模式”,产生了截然不同的结果。 这个原则适用于今天的技术,特别是人工智能。例如,推荐系统*可以*优先考虑用户福祉,但以广告为驱动的经济模式激励的是最大化参与度,从而缩小了可能性。 分析一个系统——无论是大脑还是公司——都需要理解其**目标**、**机制**和**基质**(资金、激励、结构)。 基质有力地限制了长期可行的目标。 如果经济模式奖励其他事物,良好的意图很容易被破坏。 为了构建促进人类自主性的技术,我们需要超越对技术本身的争论,专注于审慎的制度设计。 两个关键测试:**透明选择**(如果用户完全理解产品,产品还能生存吗?)和**坦诚目标**(声明的目标是否真正解释了系统的行为?)。 目前,人工智能的未来是开放的。 关于资金、所有权和治理的 сознательные 选择至关重要,以确保它培养判断力和自主性,而不仅仅是捕捉注意力。 问题不仅仅在于我们*构建什么*,还在于我们*如何构建*,以及为*谁构建*。
## Tirith:终端命令安全
Tirith 是一款旨在保护您的终端免受恶意命令侵害的安全工具,特别是通过管道传递的命令(例如 `curl | bash`)。与浏览器不同,终端通常无法检测到微妙的基于字符的攻击,例如**同形攻击**——其中视觉上相似的 Unicode 字符(例如,西里尔字母 ‘і’ 代替拉丁字母 ‘i’)会将您重定向到攻击者控制的服务器。
Tirith 在本地运行,**没有任何网络调用或遥测数据**,在执行*之前*分析命令。它会标记潜在的危险模式,例如管道脚本、不安全的下载和拼写欺骗,并提供警告或直接阻止。它涵盖 7 个类别的 30 条规则,包括同形攻击、终端注入和点文件攻击。
安装可以通过各种包管理器(brew、apt、npm 等)轻松完成。安装后(通过 `eval "$(tirith init)"` 激活),它会静默地保护每个命令。用户可以使用 `TIRITH=0` 绕过特定命令的保护,并通过 YAML 文件自定义安全策略。Tirith 还提供分析命令、验证脚本和查看详细审计日志的工具。它采用 AGPL-3.0 双重许可,并提供商业选项。
关于按住版权联系我们创作者广告开发者条款隐私政策和安全性YouTube的工作原理测试新功能© 2026 Google LLC
本文档记录了类UNIX/POSIX兼容系统中可用的原子操作,为线程和进程安全的编程提供了构建块,*无需*传统的锁。其核心理念是利用内核固有的原子性,信任内核而非自定义锁定机制。 列表重点关注诸如 `mv -T`(原子地更改符号链接目标)、`link` & `symlink`(创建硬链接/符号链接用于锁定——如果目标存在则失败)、`rename`(文件系统内的原子路径更改)以及 `open(O_CREAT|O_EXCL)`/`mkdir`(仅在文件/目录不存在时创建)等操作。还包括诸如 `fcntl`(用于锁定文件区域)和 `mmap`/`msync`(用于共享内存)等文件描述符操作。 最后,文档还提到了 GCC 原子内置函数 (`__sync_fetch_and_add` 等),用于无锁算法。**重要提示:** 许多操作依赖于文件系统(避免 NFS),并且 macOS 的 `mv` 未利用原子 `rename`。作者欢迎反馈以进行更正和补充。
## 软件开发中的演进 vs. 工程 争论 软件开发面临一个核心张力:复杂的系统应该通过渐进式演进来构建——从小处着手并添加功能——还是通过全面的前期设计,事先仔细规划一切?“演进”方法类似于初创企业的敏捷增长,而“工程”则类似于摩天大楼的详细蓝图。 经验表明,许多大型组织通过数十年的演进积累了庞大而低效的系统,其中充斥着不一致性和冗余。将这些整合为更少、设计更好的系统可以大大降低复杂性、成本和错误。 关键区别在于处理依赖关系。演进最初*忽略*它们,稍后解决问题——起步更快,但潜在的修复成本很高。工程*优先考虑*依赖关系,需要协调和前期规划,这可能感觉缓慢,但最终会带来更可靠的结果。 虽然演进感觉更具直接的生产力,但被忽视的依赖关系会像雪球一样滚大,形成“技术债务”。 成功的大规模项目通常需要平衡:一个长期的设计愿景指导迭代开发,并仔细关注依赖关系和定期“清理”,以防止混乱。最终,工程虽然较慢,但通常可以防止不受控制的演进带来的更大的放缓。
## PostgreSQL 内存管理:共享缓冲区 & Work_Mem PostgreSQL 利用内存来优化性能。**共享缓冲区**作为频繁访问数据的缓存;后续查询可以从这些缓冲区获得“命中”,从而减少磁盘读取。虽然在生产环境中进行一些磁盘 I/O 是正常的,但目标是避免其成为瓶颈——平滑的读/写和稳定的延迟是关键。存在工具可以检查共享缓冲区的使用情况。 **Work_mem** 是一个更微妙的设置,定义了查询中*每个操作*(排序、连接等)分配的内存。它“危险”在于会迅速增加:查询中的每个并行 worker 都可以消耗高达 `work_mem` 的内存,即使没有应用程序更改,也可能导致内存不足错误。 默认的 4MB 通常足以满足简单的工作负载,但分析查询可能需要增加。`work_mem` 不足会导致溢出到磁盘(临时文件、较慢的排序),而过大的值会导致内存压力。通过使用 `EXPLAIN (ANALYZE, BUFFERS)` 监控查询性能,识别基于磁盘的操作并相应地进行调整,来实现调优。
## CI现状:为什么GitHub Actions不足 作者广泛使用过几乎所有可用的CI系统,尽管GitHub Actions因其与GitHub仓库的便捷集成而占据市场主导地位,但作者强烈反对使用它。核心问题在于令人沮丧、缓慢且经常崩溃的用户体验,特别是其日志查看器——调试的关键组件。 作者推崇**Buildkite**作为更优的替代方案,强调其速度、稳定性以及对开发者工作流程的尊重。主要优势包括一个实用的日志查看器、专注于编排而非复杂逻辑的YAML配置,以及对计算资源的关键控制。 对于Nix用户,**Garnix**提供了一个更简单、无需配置的解决方案。然而,对于大多数人来说,作者详细说明了GitHub Actions的陷阱:复杂的YAML、存在风险的Actions市场,以及与系统抗争的总体感觉。作者承认Actions的便利性,尤其是在小型项目上,但强调对于严肃的生产系统,长期的时间、挫败感和潜在安全风险使得Buildkite成为一项值得的投资。最终,作者提倡一种*支持*开发者的CI系统,而不是成为持续斗争的根源。
## 人工智能的隐性成本:印度的内容审核 数百万人工智能的突破依赖于由人工标注的大量数据集,而这些标注工作往往不为人知。在印度,越来越多的劳动力——主要来自农村和边缘化社区的女性——正在执行这项至关重要但又具有心理伤害性的内容审核工作。 像蒙苏米·穆尔穆这样的工人花费数小时审查算法标记的令人不安的图像和视频,识别暴力和虐待以“训练”人工智能。虽然这项工作提供了收入机会,但它也带来了沉重的代价。审核员报告称,他们经历了创伤、焦虑、睡眠障碍和情绪麻木,一些人甚至出现了侵入性思维和解离症状。 尽管存在明确的风险——被比作“致命行业”——但心理支持往往不足。公司经常逃避责任,而印度的劳动法对心理健康几乎没有保护。严格的保密协议进一步孤立了工人,阻止他们寻求支持甚至讨论他们的经历。 这项“幽灵工作”是由低成本和现成、通常是第一代受教育者组成的劳动力推动的。虽然这对于许多人来说代表着一种进步,但它常常强化了现有的不平等,对感恩的期望会阻止人们对有害工作条件提出投诉。最终,人工智能的进步是以巨大的、且很大程度上不为人知的代价实现的。