## 何时发声(以及何时保持沉默) 随着工程师资历的提升,他们会对良好的项目设计产生“鉴赏力”,常常能发现别人忽略的潜在缺陷。然而,*正确*并不等同于*有效*。作者早期希望他的经理能主动处理令人担忧的项目,但后来意识到战略性地保留影响力的价值。 大型公司优先考虑行动和速度;持续的批评可能被视为消极,并会破坏信任。挑战每一个被认为“糟糕”的项目——无论是由于用户体验问题、技术缺陷还是政治动机——都会迅速耗尽宝贵的影响力。 相反,资深工程师应该将他们的影响力视为一个有限的银行账户。小额“支票”用于处理小问题,而大额“取款”则保留给具有重大影响的项目。在发声之前,评估你的专业知识,承认主观性,并考虑项目与你的团队的关联以及潜在后果。 有时,微妙的应急计划或将好的想法融入到失败的项目中,比直接对抗更有效。最终,知道*何时*花费你的信誉——专注于你能赢得的战斗并保护你的团队——对于驾驭复杂的组织动态和保持理智至关重要。
## Briar:安全且去中心化的消息应用
Briar 是一款专为活动家、记者以及任何需要私密通信的人设计的安全消息应用。与常见的消息应用不同,Briar 不依赖于中央服务器,消息直接在设备之间同步。
该应用通过蓝牙、Wi-Fi(即使没有互联网连接)和 Tor 网络来保持安全且抗审查的通信。Briar 适用于安卓系统,可以通过 Google Play 或 F-Droid 安装。
开始使用时,使用昵称和强密码创建一个帐户(注意:无法恢复忘记的帐户)。可以通过链接或扫描二维码添加联系人。Briar 允许您将联系人互相介绍,创建私人组和公共论坛。您还可以使用内置博客发布新闻和更新,或订阅 RSS 订阅源。
Briar 的设置包括更改外观、管理互联网连接(Tor 和桥接)、控制数据使用量以及锁定应用程序以保护隐私的选项。
## Geoscript 与持久表达式缓存:摘要
Geoscript 是一种为 Geotoy(类似于 Shadertoy 的 Web 应用)生成 3D 几何体的编程语言。其解释器包含一个优化流水线,最初专注于常量折叠——有效地预先计算值,因为 Geoscript 程序本质上是纯函数,没有外部输入。这种常量折叠被证明非常有效,通常可以将程序减少到一个渲染调用。
进一步的优化工作促使探索公共子表达式消除 (CSE)。在实现 CSE 的过程中,一个更有影响力的想法出现了:**在解释器运行之间持久化常量表达式缓存。** Geotoy 是一个实时编码环境,开发者通过小的更改进行迭代。通过缓存常量表达式的结果,后续运行可以重用未更改代码的预计算值,从而大大减少执行时间。
这对于计算密集型操作(如网格生成)尤其有利,其中只需要对一个小参数进行调整就需要重新运行。为了处理伪随机数生成 (PRNG)——Geotoy 作品中的常见元素——缓存键包括 PRNG 的状态,以确保确定性缓存。这种持久缓存已成为 Geoscript 中最重要的优化,类似于构建系统 Nix 和 Bazel 中使用的技术,但针对 Geotoy 独特的迭代工作流程进行了定制。