给软件开发者准备的优质简报,每日阅读 10分钟。
Backblaze has stopped backing up OneDrive and Dropbox folders and maybe others
Backblaze悄然停止备份用户数据
- 作者自2015年起使用Backblaze云备份服务十年,对其无限存储容量和硬盘寄送恢复服务深感满意,曾多次向朋友同事推荐
- 2025年作者发现Backblaze已停止备份.git文件夹和OneDrive文件夹(383GB),但偏好设置中既无相关说明,也找不到重新启用的选项
- Backblaze在9.2.2.877版本更新中将"排除云存储提供商的挂载点和缓存目录"悄然列为"改进",包括OneDrive、Google Drive、Dropbox、Box等,但既未通知用户,官网排除列表中也无记载
- 作者强调"同步≠备份":OneDrive仅保留删除文件一个月,Dropbox版本历史同样仅一个月,而Backblaze承诺一年保留期;且若云服务商封禁账号,用户将彻底失去数据
- 作者认为Backblaze违背了2015年官网承诺的"All user data included by default"和"No restrictions on file type or size",沉默地改变服务政策彻底辜负了用户信任
- 作者警告:今日不备份Git和OneDrive,明日可能继续扩大排除范围,且不会告知用户,Backblaze已无法被视为可靠的全面备份服务
GitHub Stacked PRs
GitHub Stacked PRs 功能详解
- Stacked PRs 将大型变更拆分为多个小型、独立的 PR,每个 PR 聚焦单一变更层,按顺序构建后一键合并,解决了大 PR 难以审查、合并缓慢且易产生冲突的问题
- 堆栈中每个 PR 指向其下方 PR 的分支形成链式结构,GitHub 原生支持堆栈导航图,CI 对每个 PR 独立运行,分支保护规则按最终目标分支执行
- 提供
gh stackCLI 工具(可简写为gs),支持创建堆栈、执行级联变基、推送分支和创建 PR,也可完全通过 GitHub UI 或 API 操作 - 支持合并全部或部分堆栈,合并后剩余 PR 自动变基以适应新的基础分支
- 支持 AI Agent 集成,运行
npx skills add github/gh-stack即可让 AI 编程助手理解和使用堆栈工作流 - 该功能目前处于私人预览阶段,需注册等待名单方可使用
jj – the CLI for Jujutsu
jj(Jujutsu)是什么,为什么值得关注
- jj 是 Jujutsu 分布式版本控制系统的命令行工具,本教程假设读者具备 git 使用经验
- jj 实现了编程领域罕见的特性:比 git 更简单、更容易,却功能更强大
- jj 融合了 git 和 Mercurial 的最佳特性,工具数量更少但彼此配合更协调
- jj 的高级用法提供 git 难以实现的功能
- jj 拥有 git 兼容的后端,可独立使用,无需团队其他人切换
- 试用后如不满意可无损回归 git,没有真正的风险
The economics of software teams: Why most engineering orgs are flying blind
软件团队经济学:为何大多数工程组织都在盲目运营
- 8人工程师团队的年度成本约为104万欧元(含薪资、社保、养老金、设备、管理费用和办公空间),相当于每月8.7万欧元或每天4000欧元,但大多数工程师和经理都不清楚这个数字
- 内部平台团队若要盈亏平衡,需每周为每位用户节省约3小时工作时间;但考虑到50%-70%的项目失败率,成功项目必须覆盖失败项目的损失,真正可行的财务门槛是月价值的3至5倍
- 客户产品团队的关键杠杆包括流失率、激活率和转化率:例如将2%月流失率降低可保护每月5万欧元收入;将激活率从30%提升至35%可带来每月2.5万欧元新增经常性收入
- 活动和情感代理指标(velocity、功能发布量、NPS)可以持续向好而财务表现却在恶化,这种结构性缺陷源于过去二十年廉价资本环境下财务纪律的缺失
- 2011至2022年间零利率政策和SaaS投资逻辑的结合,使组织即使项目大多失败仍能表面健康,整整一代产品工程领导者在此环境下形成了优先级的扭曲框架
- 大型代码库和工程团队被普遍视为资产,但LLM的出现正在揭示其负债本质——一人用LLM代理在14天内即可构建Slack核心产品95%的功能,当软件构建成本急剧下降时,大型工程团队的合理性正面临根本性质疑
Claude Code Routines
Claude Code Routines 实现工作自动化
- Routines 是保存的 Claude Code 配置,包含提示词、一个或多个代码仓库和 MCP 连接器,在 Anthropic 托管的云端基础设施上自动执行,当前处于研究预览阶段,行为、限制和 API 可能发生变化
- 支持三种触发方式:定时调度(预设每小时/每天/工作日/每周,支持自定义 cron 表达式,最小间隔为一小时)、API 调用(通过 HTTP POST 到
/fire端点并携带 Bearer token 认证,可通过text字段传递上下文)、GitHub 事件响应(支持 pull_request、push、issues、workflow、release 等 17 种事件类型,支持按作者、标题、标签、来源分支等条件过滤) - 可通过网页界面(claude.ai/code/routines)、CLI(
/schedule命令,支持list、update、run子命令)或桌面应用(选择"New remote task")创建,GitHub 触发器需从网页界面配置,创建后会立即同步到同一云端账户 - 应用场景包括:积压工作维护(自动标记分配 issue 并推送 Slack 摘要)、告警分类(关联堆栈跟踪与最近提交并创建修复 PR)、代码审查(应用团队检查清单并添加内联评论)、部署验证(运行冒烟测试并发布 go/no-go 结果)、文档漂移检测(标记需要更新的文档并创建 PR)、跨 SDK 移植(fork 仓库变更自动同步到其他语言 SDK)
- 每次运行会克隆代码仓库到默认分支,默认只能向
claude/前缀分支推送以保护受保护分支,所有已连接的 MCP 连接器默认包含在 routine 中,可按需移除不必要的连接器以限制访问权限 - Routines 消耗订阅用量并有每日运行次数上限,超出时有额外用量授权的组织可按量计费继续运行;GitHub webhook 事件在预览阶段还有按 routine 和按账户的小时级上限;routine 的操作以用户身份执行(GitHub 提交/PR 带用户身份,连接器操作使用用户关联账户)
5NF and Database Design
第五范式(5NF)的教学重构:超越传统拆分逻辑的设计方法
- 传统5NF教学以Wikipedia"推销员/品牌/产品类型"三列表格为起点,核心规则是人为设定的强制约束("如果销售员同时代理B1和B2品牌且销售P类型产品,必须同时提供两品牌的P"),这种规则缺乏实际业务意义,导致拆分操作难以理解且在实际数据库设计中根本不存在
- 作者主张从业务需求出发构建逻辑模型(anchors实体与links关系),再应用教科书式表设计策略自然推导出物理表结构,无需进行表拆分即可获得完全规范化的结果
- 5NF逻辑模型中存在两种典型模式:AB-BC-AC三角模式(冰淇淋示例中Brand、Flavor、Friend三实体间形成三组M:N多对多关系)和ABC+D星型模式(音乐家示例中以Performance演出为核心中介实体,1:N连接Concert、Musician、Instrument三个实体)
- 星型模式涉及主键设计选择:若业务要求组合唯一(如某场音乐会某音乐家演奏某乐器只能出现一次),可使用三列复合主键;否则需添加合成ID作为主键并单独建立唯一约束
- 两种模式并非互斥,实际系统可同时包含三角关系(如描述朋友的一般品牌和口味偏好)和星型关系(如描述朋友对某品牌特定口味的偏好),完全取决于具体业务需求
- 历史背景:William Kent指出5NF的核心是"信息无法从更小子表重构",Hugh Darwen在其著作中明确表示4NF只是5NF的简单特例,6NF才是基础形式
California ghost-gun bill wants 3D printers to play cop, EFF says
加州AB 2047法案:EFF警告3D打印"幽灵枪"立法威胁数字自由
- 加州拟议立法AB 2047,要求3D打印机厂商使用州认证算法检测数字设计文件中的枪支零件并阻止相关打印作业,将防滥用责任从用户转嫁给制造商
- 电子前沿基金会(EFF)的Cliff Braun和Rory Mir指出该法案技术上不可行,因3D打印机核心功能依赖切片软件,法案将制造合法与非法软件之分,可能使专有软件成为默认选项,导致开源替代方案被边缘化
- 恶意用户可通过微调枪支部件的三维模型或G代码指令轻松规避检测,使该技术限制形同虚设;此外,算法存在误报风险,可能误阻合法用户的正常打印需求
- 该法案缺乏约束机制防止"不断扩展的黑名单"蔓延至版权侵权、专利纠纷等其他领域,Mir警告可能出现任天堂屏蔽皮卡丘玩具、约翰迪尔屏蔽替换零件,甚至被专制政权用于屏蔽异议符号或抵抗工具
- 该立法可能导致对用户打印活动的广泛监控,若数据被共享给其他公司(如用于保护3D打印备件版权的企业),可能引发版权诉讼风险
- 3D打印厂商Prusa Research等企业高度关注立法进展,强调支持"维修权"和开源原则,认为用户应能自由使用所购设备而非受到监控和限制
OpenSSL 4.0.0
OpenSSL 4.0.0 正式发布
- OpenSSL 4.0.0 于2026年4月14日发布,是3.x系列之后的首个大版本更新,属于功能发布版本,包含多项重大新功能和潜在不兼容变更,共包含304个提交
- 移除多项旧协议和功能:SSLv2 Client Hello、SSLv3协议支持,引擎(engine)支持,已废弃椭圆曲线TLS支持(默认禁用),显式EC曲线支持(默认禁用),
c_rehash脚本及多个已弃用的函数 - 新增 Encrypted Client Hello(ECH,RFC 9849)支持,以及中国密码算法标准 sm2sig_sm3(RFC 8998)和后量子混合密钥交换 curveSM2MLKEM768
- 新增 cSHAKE 函数(SP 800-185)、ML-DSA-MU 摘要算法、SNMP KDF、SRTP KDF,TLS 1.2 中 FFDHE 密钥交换(RFC 7919)以及 FIPS 自测延迟执行功能
libcrypto清理机制变更:不再通过atexit()清理全局数据,OPENSSL_cleanup()改为全局析构函数运行;ASN1_STRING已变为不透明类型,多个 API 函数签名增加const限定符- 提供 6 个下载资源,包括源码包(openssl-4.0.0.tar.gz,52.5 MB)及对应 SHA256 校验文件,发布获得42人 Reactions(18👍30🎉8🚀)
Show HN: LangAlpha – what if Claude Code was built for Wall Street?
LangAlpha:面向金融研究的AI投资代理框架
- 贝叶斯迭代研究范式:为每个研究主题创建独立工作区,通过
agent.md持久化记忆文件在会话间累积研究上下文,模拟真实投资中不断修正投资论点的迭代过程;中间件栈含24个可组合层,支持技能动态加载、计划模式、多模态输入、自动摘要及上下文管理,可无限长会话运行 - 程序化工具调用(PTC):代理在Daytona云沙箱中编写并执行Python代码处理财务数据,通过MCP服务器包装财务API(行情、财报、宏观数据、期权链),支持复杂多步分析与图表生成,避免原始数据直接填入LLM上下文导致的高额token消耗
- 三层级数据架构:支持ginlix-data实时WebSocket行情、FMP高质量基本面与宏观数据(提供免费层级)、Yahoo Finance免费数据三档配置,系统自动降级;原生工具适合快速查询,MCP服务器适合批量数据处理与多年度趋势分析
- 多模型支持与弹性机制:支持OpenAI、Anthropic、Gemini、DeepSeek等多种LLM后端,可通过OAuth连接ChatGPT/Claude订阅或使用自带API密钥;提供PTC模式(深度多步分析)和Flash模式(快速对话编排)两种运行模式;自动实现3次重试加指数退避后切换备用模型
- 代理蜂群与实时驾驶:基于LangGraph的主代理并发调度多个异步子代理,各具独立上下文隔离防止推理链漂移;支持运行中实时指令注入(Live Steering)和断点续恢复;主代理中断不影响子代理继续运行
- 23个预置金融研究技能与自动化:涵盖DCF估值、可比公司分析、三报表模型、财报预览与分析、研报生成(30-50页)、晨会笔记、催化剂日历等,支持斜杠命令或自动检测激活;内置定时任务和价格触发型自动化,可订阅个股/指数实时行情条件触发研究任务