• rbtree 的 patch 当时一个设计是用来优化 SortedSet 的 hash 实现,但是现在 Ruby 的 hash 在 4 年前就改由 Open Addressing 的方法来实现了([Feature #12142])。这就类似于 Java Spark 里面的 OpenHashMap 了,性能远优于闭散列的实现,自然相关的东西就否决了。

    如果是实际的算法用途,我记得很早以前 GSoC 有个 Ruby 的算法相关 gem 的实现。但这东西能不能进标准库,我表示怀疑。不过目前线下的算法比赛,不管是 ACM/ICPC 还是 OI 应该都是不能用 Ruby 的吧。如果是 Codeforces 或者 Leetcode,虽然不能用 gem,但 gem 也就是 require 的 ruby 文件,提前展开一下做成模板就是了。

  • Ruby 3 Fiber 变化前瞻 at 2020年07月27日

    谢谢,已修复 typo。

  • gems 安装或添加源时卡住 at 2020年05月09日

    如果是 IPv6 连接的话,应该会涉及到

    DNS4 DNS6
    IPv4 DNS4 + IPv4 DNS6 + IPv4
    IPv6 DNS4 + IPv6 DNS6 + IPv6

    这么一个 2x2 的问题。可以先用 https://ipv6-test.com/ 这网站确认自己 IPv6 是正常工作的。看解析出来的 2409:8c54::/32 确实是中国移动机房的地址,像是一个合理的 CDN 节点,不过我这里 IPv6 肯定是好的的情况下打过去也是 100% 丢包。

  • 可以可以,我安排一下。

  • std::bad_alloc 是 C++ 内存申请失败的异常吧。申请失败的常见原因应该是... 你机器上内存已经被吃爆掉了,分配不出可用内存了?

  • 乐理还是讲相对关系,标准音高其实是可以变的,调律方式也是可以变的。所以我只是用了其中一种比较常用的来写了,毕竟写代码最好还是确定算法确定数值比较好处理一点。

  • Sonic Pi 我也用过,算是可以很方便用 Ruby 来为合成器进行编程。特别是现在高级的合成器按钮越来越多,真的还不如直接弄个 DSL 来写比较方便。

  • 其实本来是想在线下的分会场弄一个小的 workshop 尝试的。但现在搬到线上后,互动性没有那么强了,是有点直播 coding 的味道了。

  • 差不多比起 Keynote 演讲的纯介绍性,更多地加入 Live Coding 来演示某一种技术的使用。以练习和 tutorial 为主,内容不一定需要太先进或困难。

  • Petri Net workflow for Rails at 2020年02月14日

    促进一下生态,我又花了一天写了个 PetriNet 的可视化编辑器 https://github.com/dsh0416/petri-editor