Skip to main content

OKHK 👀

🤖 Thinking ❤️
  1. 你是唯一一个朋友圈没发SBTI测试截图的女孩子 你好特别 我们可以聊聊吗
  2. 纽时记者称 Adam Back 是中本聪
    #比特币

    纽时记者 John Carreyrou 在调查之后宣称 Adam Back 是比特币作者中本聪,Adam Back 本人公开否认。Adam Back 出生于 1970 年,是一位英国密码学家和密码朋克,工作量证明系统 Hashcash 的作者,这不是第一次他被认为是比特币作者。Carreyrou 是知名的调查记者和作家,他的调查认为,Back 的写作风格、意识形态、技术背景以及早年发表的帖子都与中本聪有重合之处。他的调查主要是基于芬兰程序员 Martti Malmi 公开的数百封与中本聪交流的电子邮件。Back 通过其 X 账号回应称,他不是中本聪,但他早年非常关注密码学、网络隐私和电子现金的积极社会影响,因此从 1992 年左右开始积极参与电子现金和隐私技术的应用研究,在密码朋克邮件列表中参与讨论,最终促成了 Hashcash 等创意的诞生。
    https://www.nytimes.com/2026/04/08/business/bitcoin-satoshi-nakamoto-identity-adam-back.html
    https://en.wikipedia.org/wiki/Adam_Back
  3. 竹新社
    川青铁路尖扎黄河特大桥“8·22”垮塌事故调查报告,经青海省政府常务会议审议通过公布。 现场16人,最终找到13人遇难、3人失联。 事故起因是:临时扣塔中斜拉扣挂系统的分配梁由两个节段用螺栓连接而成,使用了强度劣于国标27%、螺纹长度劣于国标20%的劣质螺栓;分配梁制作安装由临时招揽的劳务队伍完成,未按设计和规范要求开28mm螺栓孔,现场安装时因无法对齐而随意扩孔;主桥合龙前对西宁岸扣塔4号扣索实施第二阶段张拉后,分配梁承受了施工全过程的最大荷载,劣质螺栓超过承载极限断裂,导致斜拉扣挂系统整体失效,主跨钢…
    黄河特大桥垮塌致 13 死调查报告公布,系施工方违规用劣质螺栓,层层监管为何失灵?责任人会面临什么处罚?
  4. NeriPlayer - 原生 Android 多源音频播放器

    https://github.com/cwuom/NeriPlayer

    NeriPlayer 是一个基于 Jetpack Compose + Media3 的原生 #Android 音频播放器。

    整合网易云音乐、Bilibili 与 YouTube Music 的在线内容,并提供流媒体缓存、应用内下载、本地导入、本地歌单管理、 可选 GitHub 私有仓库同步等能力。

    #Music #Tool #GitHub
  5. 继续 golang 数码世界大冒险,上次说到 https://go.dev/play/p/kfAeED2Q2mJ 这个程序里的 callback 版本和 direct 版本有巨大的性能差距,群友 Bo 指出这是由于 literal func 导致的,把闭包移动到循环外避免每次循环都创建就可以了:
    @@ -65,12 +65,13 @@ func consumeCallback(ring eventRing) (int, uint64) {
                    ops    int
                    digest uint64
            )
    +       f := func(chunk []byte) error {
    +               digest += binary.LittleEndian.Uint64(chunk[:8])
    +               ops++
    +               return nil
    +       }
            for range totalItems {
    -               err := readFunc(ring, func(chunk []byte) error {
    -                       digest += binary.LittleEndian.Uint64(chunk[:8])
    -                       ops++
    -                       return nil
    -               })
    +               err := readFunc(ring, f)
                    if err != nil {
                            panic(err)
                    }


    That's a very sharp observation! 但是喜欢随地乱拉闭包的我也很想知道如何在没有参照物 baseline 的情况下单纯通过 perf/pprof 发现这样的性能问题。不要想得太复杂,用常识去思考就能发现。

    随便做一次 perf record -g + perf report --stdio,发现热点栈是这样的:
          99.62%     0.00%  purego_callback  purego_callback_repro  [.] runtime.goexit.abi0
                  |
                  ---runtime.goexit.abi0
                     runtime.main
                     main.main
                     |
                      --98.72%--main.consumeCallback2
                                |
                                |--79.03%--runtime.newobject

    稍微敏锐一点应该都能注意到那个 80% runtime.newobject 不对劲,用 gdb disas/m 一下 main.consumeCallback 可以看到:
       0x000000000049cb68 <+104>:   call   0x413f00 <runtime.newobject>
       0x000000000049cb6d <+109>:   lea    0x14c(%rip),%rcx        # 0x49ccc0 <main.consumeCallback.func1>

    说明确实是每次循环都创建了闭包。

    但是把闭包移出循环之外,再做一次 perf record,发现依然有 80% 的 runtime.newobject 再用 gdb 看一次,发现循环里还有另一个闭包:
       0x000000000049cbc0 <+192>:   call   0x413f00 <runtime.newobject>
       0x000000000049cbc5 <+197>:   lea    0x94(%rip),%rcx        # 0x49cc60 <main.consumeCallback.readFunc.readWithPoll.consumeCallback.readFunc.func2.func3>


    这个闭包看名字就知道是来自:
    func readFunc(ring eventRing, f func(chunk []byte) error) error {
      return readWithPoll(func() error {
        return ring.readRecordFunc(func(chunk []byte) error {
          return f(chunk)
        })
      })
    }

    想办法把这个闭包初始化 hack 掉,发现把 ring 显式传入而不是 capture、并且直接 forward closure 而不新创建 closure 就可以了:
    @@ -24,12 +24,12 @@ func (r *Ring) readRecordFunc(f func(chunk []byte) error) error {
            return f(r.data[:chunkBytes])
     }
     
    -func readWithPoll(read func() error) error {
    +func readWithPoll(ring eventRing, read func() error) error {
            return read()
     }
     
     func readInto(ring eventRing, rec *[chunkBytes]byte) error {
    -       return readWithPoll(func() error {
    +       return readWithPoll(ring, func() error {
                    return ring.readRecordFunc(func(chunk []byte) error {
                            copy(rec[:], chunk)
                            return nil
    @@ -38,10 +38,8 @@ func readInto(ring eventRing, rec *[chunkBytes]byte) error {
     }
     
     func readFunc(ring eventRing, f func(chunk []byte) error) error {
    -       return readWithPoll(func() error {
    -               return ring.readRecordFunc(func(chunk []byte) error {
    -                       return f(chunk)
    -               })
    +       return readWithPoll(ring, func() error {
    +               return ring.readRecordFunc(f)
            })
     }

    这下性能直接提升了十倍,从 40 Mops/s -> 400+ Mops/s,看 perf record 里也不再有 runtime.newobject,全是干净的业务代码栈:
                   |--97.11%--main.main
                   |          |          
                   |          |--94.43%--main.consumeCallback
                   |          |          |          
                   |          |          |--48.08%--main.(*Ring).readRecordFunc
                   |          |          |          |          
                   |          |          |           --33.64%--main.consumeCallback.func1


    我觉得教训还是比较深刻的,我之前确实不知道 go 闭包有这么悲痛的性能问题,真就随手 closure。但 perf 方法论依然可以让我们在不具备相关知识储备的情况下重新发现这个问题,perf 好!
  6. 才知道天天疯狂蒸馏蒸馏蒸馏的。。。蒸馏是这么回事儿么?
    才知道搞这个的和小猫补光灯是一个人
    啊啊啊啊啊啊啊啊
  7. 川青铁路尖扎黄河特大桥“8·22”垮塌事故调查报告,经青海省政府常务会议审议通过公布。
    现场16人,最终找到13人遇难、3人失联。
    事故起因是:临时扣塔中斜拉扣挂系统的分配梁由两个节段用螺栓连接而成,使用了强度劣于国标27%、螺纹长度劣于国标20%的劣质螺栓;分配梁制作安装由临时招揽的劳务队伍完成,未按设计和规范要求开28mm螺栓孔,现场安装时因无法对齐而随意扩孔;主桥合龙前对西宁岸扣塔4号扣索实施第二阶段张拉后,分配梁承受了施工全过程的最大荷载,劣质螺栓超过承载极限断裂,导致斜拉扣挂系统整体失效,主跨钢桁拱结构和桥面结构突然失去扣索拉力而迅速垮塌。
    中铁大桥局指定电商平台“鑫方盛”对供货商除提点12%外“什么都不管”。供货商事故后用美图秀秀制作产品质量保证书,有明显错别字,提交给调查组。
    应急管理部
  8. 一觉醒来发生了什么 04 月 09
    #Daily

    2026 年 4 月 9 日
    🌍 资讯快读
    1、国务院国资委新设境外国资工作局
    https://www.jiemian.com/article/14222739.html
    2、国家体育总局游泳中心就全红婵等跳水运动员遭受网暴一事发布声明
    https://www.jiemian.com/article/14221397.html
    3、腾讯上线首个浏览器“龙虾”QBotClaw
    https://www.jiemian.com/article/14221027.html
    4、严惩“机闹”等犯罪,两高发布司法解释
    https://www.jiemian.com/article/14220094.html
    5、DeepSeek 上线专家模式
    https://www.jiemian.com/article/14218983.html

    👬 即刻镇小报
    1、毛绒公仔三四只
    https://m.okjike.com/originalPosts/69d61827f8e5787b6ff8dc2c
    2、张雪和某造车大佬都证明了
    https://m.okjike.com/originalPosts/69d5ff5d9f3cd84f659a3b59
    3、通过 Claude Code 实现了微信群聊天自由
    https://m.okjike.com/originalPosts/69d538f49f3cd84f65883366
    4、大家知道了他的事情了吗
    https://m.okjike.com/originalPosts/69d260155effd6c397421dbf

    今日即刻镇小报内容来自 @油百万 @CEO 来信 @刘飞 Lufy @黑米 HeeMi ,感谢以上即友的创作与分享。
OKHK