The Transition of RubyGems Repository Ownership
https://ruby-lang.org/en/news/2025/10/17/rubygems-repository-transition/
Rubygems 仓库所有权转移给 Ruby core team,由 Ruby central 和 Ruby core team 共同管理。
不要再重复发帖,再发 ban 了。
Falcon 支持在应用层面使用 fiber 并发,和 thruster 解决的不是一个问题。
真相之源更新 https://rubycentral.org/news/source-of-truth-update-friday-october-10-2025/
Andre Arko 声称拥有“Bundler”商标,并要求 Ruby Central 停止使用“Bundler”
引导 gem.coop 治理 https://mikemcquaid.com/bootstrapping-gem-coop-governance/
homebrew 作者 Mike McQuaid 短暂参与了 gem.coop 的治理流程建设,但似乎发现水太深连忙退出撇清关系。
Rubygems.org AWS 根访问活动 – 2025 年 9 月 https://rubycentral.org/news/rubygems-org-aws-root-access-event-september-2025/
Ruby Central 在撤销 André 的控制权限后,仍然让 André 拥有 aws 的 root 权限并且修改了密码,为此发布了事件说明。
RubyGems“安全事件” https://andre.arko.net/2025/10/09/the-rubygems-security-incident/
André 回应,那时候以为是被黑了,所以更改密码。知道这是 Ruby Central 有意为之就没动了,还通知了你们,没想到 Ruby Central 倒打一耙。
亲爱的 Ruby 开发者:Shopify 不是你的敌人 https://byroot.github.io/opensource/ruby/2025/10/09/dear-rubyists.html
前 shopify 员工的视角。
(Ruby Central)董事会成员对 RubyGems 争议的看法
https://apiguy.substack.com/p/a-board-members-perspective-of-the
被 Ruby Central 移除的 rubygems 维护者另外搞了个 gem server
Why I'm not rushing to take sides in the RubyGems fiasco
https://justin.searls.co/posts/why-im-not-rushing-to-take-sides-in-the-rubygems-fiasco/
顶楼广告号已屏蔽。本帖有其他评论所以留着。
太夸张了😅
可能内部用的不是 to_time 而是 Time.parse 之类,我没空深挖了。从现象看就是时区没处理好。我写的话会用显式类型转换。
cover?
实际执行了 begin <= obj <= end
运算,具体来说,是计算 "2025-09-17" <= Time.current - 4.hours
。
"2025-09-17" <= Time.current - 4.hours
会将字符串 "2025-09-17"
转为时间,也就是:
> "2025-09-17".to_time
=> 2025-09-17 00:00:00 +0000
注意时区,当它与 2025-09-17 07:29:45 +0800
比较的时候,结果是 false。
cover? 方法怎么处理时间区间的时区的?
我查文档 UNIQUE NULLS NOT DISTINCT
是指 null 视为同一个值,也就不符合 unique.
https://www.postgresql.org/about/featurematrix/detail/unique-nulls-not-distinct/
不加 NULLS NOT DISTINCT 就符合你需要的插入多个 null。
题外话:我一般把 auth_token 设为 null: false,逻辑更简单。
DHH 在 Rails World 上也展示了 Omarchy
DHH 发行版
这是有可能的,据说 anycable 处理了这个问题,如果是生产环境可以考虑用 anycable https://anycable.io/
我没有用 stream update 来更新是因为累增的 output 会让发送数据量大了很多,于是自定义了一个 action 来只发送新增的部分。
不过 turbo stream 本身的 html 片段相比内容片段还是太大了,还可以直接用 action cable 发送来优化。(我还没做)
这几个 tab 内容是独立的吗?是的话可以写个 stimulus 控制器管理 tab 打开和关闭,然后 tab 内容用 turbo frame 加载,默认下 turbo frame 里面的操作只会影响 frame。
RubyLLM 作者:异步 Ruby 是 AI 应用的未来(而且它已经到来)
用 active job + action cable 实现过一版,如果用 solid cable 会产生很多数据库写入,又不想增加 redis 依赖,所以没用这个方案。
SSE 还有一个好处是终止操作比较好做,客户端断开 SSE,服务端也停止处理就行了。如果是后台 job 就需要跟踪 job id。
我感兴趣 async gem 能不能解决,打算在功能开发完之后再研究。
同样的逻辑,AI 生成的 Ruby 代码少,方便 review,这就是 Ruby 的优势。
编程语言是写给人看的,如果有一天 AI 直接生成机器码不用 review,那么就不需要编程语言了。
楼上都没看内容啊,主题讨论的是“Ruby 写 AI 应用有没有戏”
我最近在写一个 AI 聊天应用,遇到一个问题是要处理流式响应,在 Rails 里为了不阻塞请求需要用线程处理,成本较高。对异步生态的需求比以前更迫切了。
赞👍
公司名和工作地点?
默认 entrypoint 是带 -e 的,所以除了执行迁移的容器其他容器会启动失败。然后 kamal 会隔几秒重试启动,直到超过重试次数。容器启动后健康检查通过才会替换旧容器。
如果有超长时间的迁移,可以关注维护模式这个新功能(未发布) https://github.com/basecamp/kamal/pull/1497
我没验证过,也许 entrypoint 里面失败不影响启动?