• Article cover

    Sneakerweb:互联网的脆弱与韧性

    把一个完整内容打包并且携带到另外一台设备上,这件事情在史前时代是很容易的。 Authorware 可以直接输出可执行文件,SWF 文件也可以输出可执行文件,Flash Player 更是一个二进制附一下就带走了,那个时候甚至 PowerPoint 都可以直接打包成二进制。

    后来随着一切上云一切都变服务,这件事情变得很难。

    PDF 算是一种延续至今的标准,但是它的表现力相当有限,而且除了 Adobe 之外 也没有几个厂商把 PDF 标准实现到百分之百完美(比如 PDF 里面自带脚本怎么办)。EPUB 算是一种可以用的标准?但是整个 EPUB 生态几乎没跟上 Web App 的步伐。您想要在 EPUB 里面插点交互元素?不存在的兄弟,插个公式或者插个 SVG 图都有一万个阅读器不支持。为了折腾 EPUB 里的公式渲染我甚至写了一套完整的渲染方案

  • Article cover

    Vibe Coding 时代的角色与架构

    Vibe Coding 给了很多人超能力,让人似乎能够不费吹灰之力,就把脑袋里面幻想的产品化作现实。在这个人人都有超能力的时代,出现了一些庞大压抑之下蹦出来的新时代优越论:理科生脑袋呆板,只有我们文科生才掌握了 Vibe Coding 时代的话语权;工程师不再重要,我们产品经理自己就可以完成从零到一;产品和工程师都不重要,我们设计师自己就能做出优雅灵动的东西;产品经理和设计师都可以进垃圾堆了,我们工程师自己就能指挥千军万马做出完美的产品。大公司也纷纷开始「拥抱 AI」,欢喜地迎接一场生产力革命,产品、设计、工程师都不重要了,裁掉一批拿来买 Token 就好。

    然而,现实是残酷的。产品经理做出来的玩意全是 Bug、设计师做出来的玩意卡的要死、工程师做出来的玩意没有人用、大公司从 AI 高潮醒来后纷纷削减了 Token 预算,老老实实地把之前开除的工程师找回来做原来的活。

    真的太口怕了,这到底是怎么回事?

  • Article cover

    拯救呼吸大作战

    我常年患有过敏性鼻炎,同时也有鼻中隔偏曲的问题。这导致自有记忆以来就几乎没有通畅呼吸的体验,这真的很要命。

    医生的建议是出门要戴口罩,并且我自己也曾有常年服用氯雷他定的习惯。口罩可以在很小的程度上缓解这个问题。氯雷他定倒是能简单粗暴的把鼻腔理顺,但一方面吃了这玩意人会变得更容易感冒。另外一方面,常年嗑药在情感上也没那么好。

  • Article cover

    回火星

    2026 年 6 月 10 日,煎蛋网御用工程师 Colt 在煎蛋的附属论坛煎包上面宣布网站会在七月末下线,届时所有数据都会被删除,并鼓励用户转而使用煎蛋的主站论坛。当天就有会员撰写了爬虫开始全站的备份工作,我在第二天拿到了备份数据,并且立刻开始了整个论坛系统的复刻工作。

    老实讲,这个论坛被关闭并不是什么让人意外的事情。它用着非常远古版本的 Vanilla,因为做了一些魔改,所以不太好跟上游进行同步。而 Vanilla 本身也因为开发资源有限,进入了一种半死不活的模式。其官方网站顶部就明晃晃的挂着将 Vanilla 迁移到 Flarum 的教程。现在煎包系统的性能也并不理想,点开每一个页面都会卡几秒,搜索功能更是慢到恐怖。每一次等待查询结果的时候,仿佛都能听到机房内设备的悲鸣。

  • Article cover

    统计十讲

    今天我想和你严肃地讨论一下统计教育这个话题。

    学术界滥用统计方法搞出的各种错误结论,一方面我们得怪研究者没有用正确的方法和态度 处理数据。另外一方面,整个统计教育系统的设计也难辞其咎。我亲眼见到过统计老师在课 上直接讲述当年论文发不出来数据不显著,就把数据复制粘贴一份的鬼故事;听闻过有些 老师觉得「方差分析太复杂」建议学生全做大量 t 检验解决问题;见到过有些老师自己 搞不清楚统计概念,无法回应学生的困惑,直接高速冲过章节进行逃避的场景;甚至亲自 体验过白痴老师让一大堆学生拿着计算器(计算器!)算均值、方差、相关系数。甚至我的 初中数学老师以「锻炼学生的计算能力」为名,逼迫学生手算回归系数和相关系数。

  • Article cover

    一根上流滚动条的诞生

    花了两天,做了一个有点复杂的小玩意:本站右侧的那根滚动条,觉得这是一个很上流的玩意,于是把它生出这玩意的四十八小时脑子里面都在想什么全都呕吐出来 c⌒っ.ω.)っ。

    世人苦滚动条久矣,有一个看似统一的标准,但是 Blink 先森和它的前妻又有一套爆炸复杂的 CSS 规则,它复杂到我几乎没有动自己手写规则的念头,清一色都在用在线生成器做一个凑合。

    你想要让所有平台都有稳定的用户体验,这事情几乎是不可能的,移动端有移动端的脾气,各个浏览器引擎有自己的审美。而且也有一些很现实的事情,滚动条作为一个 Native 组件几乎不会允许你过分自由地修改它的样式。煮个栗子,直到 2025 年 5 月,你没什么原生跨平台的方法让一个半透明的拖拽条覆盖到网页内容上。

  • Article cover

    博客模板更新史 · 希尔维特卷其二 · 第四章

    非常舒服的春天来了,晚上八点多,天还透亮着,每天像是凭空多出来一个多小时的日光,睡觉时间就这么被压缩了,开心得要死,但也觉得有点睡眠不足,有些疲劳。

    自从上次更新博客系统依赖,我陆陆续续又做了一大堆更新,一直到昨天为止,一批新的内容组织架构基本已经全都完成,是时候再写一篇博客更新日志了,于是就有了本文。这篇里面会同时包含一些内容思考、设计想法和技术细节,希望你能喜欢。

    对了,我不是那种只折腾模板不写内容的博主喔,今年一年已经输出了十四篇长篇正文、十二篇短篇笔记,合计二十六篇,不说是独立博客更新频率顶标,也有一个胸部水平了 c⌒っ.ω.)っ

  • Article cover

    从「小帮手」到「废纸篓」:LLM 对话管理的用户体验研究

    编注:这篇是上学期的期末作业报告,关于大语言模型聊天工具的一次用户体验小研究。觉得挺好玩的,于是决定拿出来分享一下。实验是去年年末做的,有 4 个月的不应期,有些信息可能略显过时。此外,全文的风格非常的数据流派和学术风格,读起来会有一定困难,请各位谅解 c⌒っ.ω.)っ。

    自 ChatGPT 公开发布以来,市面上基于大语言模型的聊天应用层出不穷。模型能力随着每一代迭代不断提升,但与之交互的界面设计却几乎原地踏步:左侧是按时间排序的历史侧栏,右侧是当前对话窗口,这套布局从最早期延续至今几乎没有发生实质改变。

  • Article cover

    Jamovi 用户体验研究报告

    上学期一个在 Google 工作的女士担任了我们研究方法课程的讲师,她让我们自己选择感兴趣的产品,并且带着我们跑了一整个用户体验研究的流程,从开始到结尾一共花了三个月。我非常享受整个研究的过程,并在这门平均分八十多的课上拿了个闪闪亮亮的满分。考虑到具有科班风味的用户体验研究在国内并不多见,所以觉着可以写一篇文章好好的记录一下。

    我在这门课上选的是 Jamovi 这款统计软件,一方面我个人对数据分析的确是有着高涨的热情,另外一方面,我自己有开源社区参与者的身份认同,而在这个领域用户体验研究确实是稀少的,如果我能为这个社区做一些什么,那将是一件极好的事情。

  • Article cover

    向死而生:我的三十二岁生日和一个小小的磁带机

    今年是我自己决定生日日期的第二年。

    我政府文件上的生日登记的是阴历,那是父母在登记户口的时候搞错的。阴历生日很麻烦,每年要重新换算,而且我对那个日子也没什么好印象。小时候每年都要被教育这是母难日。我天生就是一个非常讨厌被说教的人,每年被这么 trigger 一次,自然对其毫无兴致。