长文
(可能)更长一些的文章。
2026 秋随记
整修博客的时候才注意到居然离上次更新已经超过一年了。虽然之前引入了 TIL 希望能有更频繁的分享,但最后看因为各种原因还是没有能继续下来。(不过 书签 和 书签摘要 倒是一直有在更新。)从 2025 年底到现在(2026 年 10 月)发生了许多事情,思想和心态也有了一些变化,想来还是写一篇随记,在此和各位读者分享,欢迎评论交流。 工作 其实很早之前就有跳槽的想法了,25 年底也做了一些尝试,但是今年真正迈出了最大的一步。大厂固然很好,但是 25 年底到 26 年春,身边几个要好的同事相继选择了 …
整修博客的时候才注意到居然离上次更新已经超过一年了。虽然之前引入了 TIL 希望能有更频繁的分享,但最后看因为各种原因还是没有能继续下来。(不过 书签 和 书签摘要 倒是一直有在更新。)从 2025 年底到现在(2026 年 10 月)发生了许多事情,思想和心态也有了一些变化,想来还是写一篇随记,在此和各位读者分享,欢迎评论交流。 工作 其实很早之前就有跳槽的想法了,25 年底也做了一些尝试,但是今年真正迈出了最大的一步。大厂固然很好,但是 25 年底到 26 年春,身边几个要好的同事相继选择了 …
软文检测器
读某些新闻网站或公众号的时候,常常会越读越有种隐约的广告感(“这是广告吗?"),直到读到文末才彻底验证(”这果然就是广告吧!“)。之前买了 GLM 20 元一个月的 coding 套餐(agent 用的是 claude code),那就顺手 vibe coding 一个小工具来识别吧。于是就有了”软文检测器“。 在线访问: https://nekonull.me/is-it-soft-ad/ Github: https://github.com/jerrylususu/is-it-soft-ad …
读某些新闻网站或公众号的时候,常常会越读越有种隐约的广告感(“这是广告吗?"),直到读到文末才彻底验证(”这果然就是广告吧!“)。之前买了 GLM 20 元一个月的 coding 套餐(agent 用的是 claude code),那就顺手 vibe coding 一个小工具来识别吧。于是就有了”软文检测器“。 在线访问: https://nekonull.me/is-it-soft-ad/ Github: https://github.com/jerrylususu/is-it-soft-ad …
和颞下颌关节紊乱共存的十年
初识 大概是高一的时候,某个平凡的课间,我打了个哈欠,然后惊恐的发现右侧的下巴卡住了,完全合不上嘴。从此开始了和颞下颌关节紊乱共存的十年。 前几次发生的时候,每次我都如临大敌,校医对此也束手无策,最后只能叫家长来(跨越半个城市)到附近的医院,找口腔科的医生帮我复位。一般这个过程都很痛苦,医生需要在口腔里使劲和关节搏斗。那会大概一个月会出现一次。比较好笑的是,某一次晚自习脱臼又发生了,家长开车来学校,我上车后迷迷糊糊睡着了,醒来的时候还没到医院,但是我突然发现似乎脱臼自己恢复了,于是就直接掉头又回 …
初识 大概是高一的时候,某个平凡的课间,我打了个哈欠,然后惊恐的发现右侧的下巴卡住了,完全合不上嘴。从此开始了和颞下颌关节紊乱共存的十年。 前几次发生的时候,每次我都如临大敌,校医对此也束手无策,最后只能叫家长来(跨越半个城市)到附近的医院,找口腔科的医生帮我复位。一般这个过程都很痛苦,医生需要在口腔里使劲和关节搏斗。那会大概一个月会出现一次。比较好笑的是,某一次晚自习脱臼又发生了,家长开车来学校,我上车后迷迷糊糊睡着了,醒来的时候还没到医院,但是我突然发现似乎脱臼自己恢复了,于是就直接掉头又回 …
The drive to develop
这是一期杂谈,没什么干货。 “The drive to develop” 是早年间喷气式大脑(aka JetBrains)的一句宣传语。虽然目前无论是工作还是自己的项目里我用的都是 VSCode,但是毕竟大学编程的一大半时间都是在 JetBrains 家的各种 IDE 中度过的(毕竟有学生免费),所以对它家印象还是比较深的。第一次见到这句宣传语应该是在某次 ICPC 的直播上(当时 JetBrains 是官方赞助商之一),感觉直击心灵。在学校里的时候虽然有各种课程,但也有一些有趣的课程项目,再 …
这是一期杂谈,没什么干货。 “The drive to develop” 是早年间喷气式大脑(aka JetBrains)的一句宣传语。虽然目前无论是工作还是自己的项目里我用的都是 VSCode,但是毕竟大学编程的一大半时间都是在 JetBrains 家的各种 IDE 中度过的(毕竟有学生免费),所以对它家印象还是比较深的。第一次见到这句宣传语应该是在某次 ICPC 的直播上(当时 JetBrains 是官方赞助商之一),感觉直击心灵。在学校里的时候虽然有各种课程,但也有一些有趣的课程项目,再 …
2024 年末杂谈
其实本来昨晚就想写了,但是因为工作安排需要线上值班,所以今天才动笔。2024 终于平安结束了,希望 2025 年也能一切顺利吧。 回顾 2024 工作 继续干着,职级正常升了一级;不过后续再往上升估计就比较慢了,得慢慢熬 做了一些更复杂的工作,还有几个大的跨部门项目 前半年被迫在一个不熟悉的领域干了很久,好在后半年回到了原来的业务 出了一个事故,好在影响不大;但是更提醒自己得谨慎再谨慎了 总体而言没有太大变化,不具体展开了 学习 & 阅读 年中考过了软考高级系统架构师;然而除了拿了一个实体证书, …
其实本来昨晚就想写了,但是因为工作安排需要线上值班,所以今天才动笔。2024 终于平安结束了,希望 2025 年也能一切顺利吧。 回顾 2024 工作 继续干着,职级正常升了一级;不过后续再往上升估计就比较慢了,得慢慢熬 做了一些更复杂的工作,还有几个大的跨部门项目 前半年被迫在一个不熟悉的领域干了很久,好在后半年回到了原来的业务 出了一个事故,好在影响不大;但是更提醒自己得谨慎再谨慎了 总体而言没有太大变化,不具体展开了 学习 & 阅读 年中考过了软考高级系统架构师;然而除了拿了一个实体证书, …
LLM x 书签收藏:摘要 & 全文索引
背景 网上冲浪的时候,经常会遇到一些有趣的文章或者网站,让我有收藏起来以备后用的冲动(虽然绝大部分情况下都没有再用过)。然而一个人收藏未免有些太孤单了,因此自从 2021 年 5 月以来,我一直在使用一个名为 osmos::memo 的书签插件,将我的收藏直接记录到一个公开的 Github 存储库。这个插件的工作原理很简单,首先设置好 Github 的 token,然后每次点击收藏按钮都会在浏览器里临时 clone 一次,追加新收藏的条目到文件顶部,生成 commit 并提交,然后推送回 …
背景 网上冲浪的时候,经常会遇到一些有趣的文章或者网站,让我有收藏起来以备后用的冲动(虽然绝大部分情况下都没有再用过)。然而一个人收藏未免有些太孤单了,因此自从 2021 年 5 月以来,我一直在使用一个名为 osmos::memo 的书签插件,将我的收藏直接记录到一个公开的 Github 存储库。这个插件的工作原理很简单,首先设置好 Github 的 token,然后每次点击收藏按钮都会在浏览器里临时 clone 一次,追加新收藏的条目到文件顶部,生成 commit 并提交,然后推送回 …
工作两年了
从我 22 年 8 月开始参加工作以来,已经过去了两年的时间。我自己也马上就要 25 岁了。决定还是写点什么东西记录一下。本文可能没有什么结构,只是想到什么写什么;另外出于众所周知的原因,无法详细描述具体细节;还请各位读者见谅。 总体感受:7/10 工作稳定性 虽然目前看还算稳定,但是因为个人强烈的风险厌恶偏好,自己依然以”明天可能就会失业“的态度进行财务规划;体现为对长期大额负债(如房贷)的拒绝,和对现金流、资金灵活性的强烈偏好(如货币基金占比较高) 任何时候离失业只差一次重大事故;至今的工作 …
从我 22 年 8 月开始参加工作以来,已经过去了两年的时间。我自己也马上就要 25 岁了。决定还是写点什么东西记录一下。本文可能没有什么结构,只是想到什么写什么;另外出于众所周知的原因,无法详细描述具体细节;还请各位读者见谅。 总体感受:7/10 工作稳定性 虽然目前看还算稳定,但是因为个人强烈的风险厌恶偏好,自己依然以”明天可能就会失业“的态度进行财务规划;体现为对长期大额负债(如房贷)的拒绝,和对现金流、资金灵活性的强烈偏好(如货币基金占比较高) 任何时候离失业只差一次重大事故;至今的工作 …
软考高级架构师备考记录
我参加了 2024 年上半年(5 月)的软考(全称:全国计算机技术与软件专业技术资格(水平)考试),通过了高级资格「系统架构设计师」的考试。本文记录我的备考过程。 个人背景 科班 CS 本科,参加工作 2 年,大厂底端程序员。 参加软考的原因 如果回看我的 23年总结&24年展望 的话,会发现当时我已经把通过软考作为 24 年的个人目标之一了。其实我接触软考是 23 年 9 月,但是了解信息有些延迟,当时已经过了报名窗口,所以只能再等半年。当时我并没有非常清晰的动机,以下列出的原因只是站在考完的 …
我参加了 2024 年上半年(5 月)的软考(全称:全国计算机技术与软件专业技术资格(水平)考试),通过了高级资格「系统架构设计师」的考试。本文记录我的备考过程。 个人背景 科班 CS 本科,参加工作 2 年,大厂底端程序员。 参加软考的原因 如果回看我的 23年总结&24年展望 的话,会发现当时我已经把通过软考作为 24 年的个人目标之一了。其实我接触软考是 23 年 9 月,但是了解信息有些延迟,当时已经过了报名窗口,所以只能再等半年。当时我并没有非常清晰的动机,以下列出的原因只是站在考完的 …
2024 年了,我最近在用什么工具
2024 年了,我最近在用什么工具 去年年中,公司的主力开发设备从 Windows 换成了 Mac,之前在 Windows 上用的各类工具需要重新在 Mac 上找对应的替代品。一年磨合下来现在已经差不多稳定了,特此记录(其实之前就应该记录的,但是太懒)。如果能帮助到各位读者就更好了。当然也欢迎评论推荐更多你认为好用的工具。 独立工具 (此处的独立指的是软件本身可以独立运行,与之相对的是插件) VS Code:宇宙 IDE(装了足够多插件之后) Kate:KDE 家的文本编辑器,功能齐全但是又没有 …
2024 年了,我最近在用什么工具 去年年中,公司的主力开发设备从 Windows 换成了 Mac,之前在 Windows 上用的各类工具需要重新在 Mac 上找对应的替代品。一年磨合下来现在已经差不多稳定了,特此记录(其实之前就应该记录的,但是太懒)。如果能帮助到各位读者就更好了。当然也欢迎评论推荐更多你认为好用的工具。 独立工具 (此处的独立指的是软件本身可以独立运行,与之相对的是插件) VS Code:宇宙 IDE(装了足够多插件之后) Kate:KDE 家的文本编辑器,功能齐全但是又没有 …
End of 2023
End of 2023 一转眼又到年底了,关注的博主和身边的好友纷纷亮出了自己的年终总结;在这个离跨年还有2个小时不到的时刻,决定还是随手写点,就当给未来的自己留下些印象了。 回顾 2023 工作 正常升了一级,工资涨了点;但相应的工作量也增加了很多 可以明显感觉到自己不再被视为新人,而是已经成为了部门战力的一部分 对负责的业务的复杂性有些感觉,但是了解的依然不够深入;简单的问题可以处理,复杂的问题还是得拉人一起看,没法自己独立解决 全年负责的部分没有出大事故,但是总感觉有些不安 开始有完全自己 …
End of 2023 一转眼又到年底了,关注的博主和身边的好友纷纷亮出了自己的年终总结;在这个离跨年还有2个小时不到的时刻,决定还是随手写点,就当给未来的自己留下些印象了。 回顾 2023 工作 正常升了一级,工资涨了点;但相应的工作量也增加了很多 可以明显感觉到自己不再被视为新人,而是已经成为了部门战力的一部分 对负责的业务的复杂性有些感觉,但是了解的依然不够深入;简单的问题可以处理,复杂的问题还是得拉人一起看,没法自己独立解决 全年负责的部分没有出大事故,但是总感觉有些不安 开始有完全自己 …
再次复活(2023)& 换用 Github Action 部署
又是很久没更新博客了,看了看记录上次更新已经差不多是一年前了。和上次一样,这一年中依然发生了很多:完成了硕士学业,解封前跨过重重关卡回国,入职,打工一年… 真正开始工作的感觉和还是学生时的预期差不多,如果非要比较的话虽然没有大学这么轻松,但是比高中还是好多了的,况且还有钱拿?不过这是后话了,之后再慢慢展开吧,可能以后会有一篇更长的文章来总结这一年(又在挖大概不会填的坑了)。 本次主要的变更是把原来的手动发布流程转换成了 Github Actions,之后直接在 master 分支下提交文件,就会 …
又是很久没更新博客了,看了看记录上次更新已经差不多是一年前了。和上次一样,这一年中依然发生了很多:完成了硕士学业,解封前跨过重重关卡回国,入职,打工一年… 真正开始工作的感觉和还是学生时的预期差不多,如果非要比较的话虽然没有大学这么轻松,但是比高中还是好多了的,况且还有钱拿?不过这是后话了,之后再慢慢展开吧,可能以后会有一篇更长的文章来总结这一年(又在挖大概不会填的坑了)。 本次主要的变更是把原来的手动发布流程转换成了 Github Actions,之后直接在 master 分支下提交文件,就会 …
将已有的 Vue App 变为 PWA
之前写过一个用来辅助五十音记忆的小 App: Gojuon Quiz (源代码),最近心血来潮决定给它加上 PWA (Progressive Web App) 功能,这样一来用户首次加载成功后,后续就算没有网络也依然可用,二来打开的时候不会显示浏览器地址栏之类的控件,体验上基本和一个原生应用接近了。 具体操作起来其实很简单,基本上就是以下几步: 安装 Vue PWA 插件:vue add pwa 生成不同大小的图标,放置于 img/icons 下:可以用 Real Favicon …
之前写过一个用来辅助五十音记忆的小 App: Gojuon Quiz (源代码),最近心血来潮决定给它加上 PWA (Progressive Web App) 功能,这样一来用户首次加载成功后,后续就算没有网络也依然可用,二来打开的时候不会显示浏览器地址栏之类的控件,体验上基本和一个原生应用接近了。 具体操作起来其实很简单,基本上就是以下几步: 安装 Vue PWA 插件:vue add pwa 生成不同大小的图标,放置于 img/icons 下:可以用 Real Favicon …
Python `itertools.permutations` 使用的排列算法
TL;DR:这本质上是一个基于回溯,利用元素交换的递归排列生成算法,但被重写成了循环形式(可能出于效率考量)。 引子 最近在算法复健,刷到了排列相关的题目。恰巧 Python 内置了一个非常实用的工具库 itertools,其中有一个 permutations(iterable, r) 方法,可以对一个给定的 iterable 生成所有大小为 r 的排列,且输出按照字典序排列。 >>> list(permutations('ABCD', 2)) [('A', 'B'), ('A', 'C'), …
TL;DR:这本质上是一个基于回溯,利用元素交换的递归排列生成算法,但被重写成了循环形式(可能出于效率考量)。 引子 最近在算法复健,刷到了排列相关的题目。恰巧 Python 内置了一个非常实用的工具库 itertools,其中有一个 permutations(iterable, r) 方法,可以对一个给定的 iterable 生成所有大小为 r 的排列,且输出按照字典序排列。 >>> list(permutations('ABCD', 2)) [('A', 'B'), ('A', 'C'), …
(译) 复杂系统如何失效
复杂系统如何失效 原文链接:How Complex Systems Fail 译者注:在阅读 Slack Engineering Team 发布的 2022/2/22 事故报告时,注意到了这篇文章。作者描述了系统的复杂性为维护人员带来的挑战,并澄清了一些常见误解。个人认为这篇文章很有价值,但可惜暂无中文翻译,于是便自己动手了。本译文在 DeepL 机翻的基础上润色调整而成,错误在所难免,如有发现还请指正。 1. 复杂系统本质上是危险的系统 所有有趣的系统(如交通、医疗、发电),因其本身的性质,都 …
复杂系统如何失效 原文链接:How Complex Systems Fail 译者注:在阅读 Slack Engineering Team 发布的 2022/2/22 事故报告时,注意到了这篇文章。作者描述了系统的复杂性为维护人员带来的挑战,并澄清了一些常见误解。个人认为这篇文章很有价值,但可惜暂无中文翻译,于是便自己动手了。本译文在 DeepL 机翻的基础上润色调整而成,错误在所难免,如有发现还请指正。 1. 复杂系统本质上是危险的系统 所有有趣的系统(如交通、医疗、发电),因其本身的性质,都 …
分布式系统课程笔记
这学期选了一门分布式系统的课程,实际上内容大概是 MIT 的分布式系统(6.824)和普林斯顿的分布式系统(COS 418)课程的混合。大概覆盖了以下内容: 分布式系统基础:RPC 和消息语义,逻辑时钟,分布式快照,一致性模型, CAP/FLP 理论 最终一致性系统:Bayou, DHT, Dynamo 共识和状态机复制:Primary-backup, Viewstamped Replication, Paxos, Raft, P-BFT 分布式事务与强一致性:2PC, 2PL, Spanner …
这学期选了一门分布式系统的课程,实际上内容大概是 MIT 的分布式系统(6.824)和普林斯顿的分布式系统(COS 418)课程的混合。大概覆盖了以下内容: 分布式系统基础:RPC 和消息语义,逻辑时钟,分布式快照,一致性模型, CAP/FLP 理论 最终一致性系统:Bayou, DHT, Dynamo 共识和状态机复制:Primary-backup, Viewstamped Replication, Paxos, Raft, P-BFT 分布式事务与强一致性:2PC, 2PL, Spanner …
调用栈也是栈
又到了秋招的季节,刷题的时候遇到了一道有趣的题,简化如下: 定义一类字符串为 NB 串,每个 NB 串有一个对应的 NB 值 空串是一个 NB 串,且其 NB 值为 1 对一个 NB 串,在其两侧加上括号后依然是一个合法的 NB 串,且其 NB 值为原串 NB 值加 1 对两个 NB 串,将其拼接后依然是一个合法的 NB 串,且其 NB 值为两个原串 NB 值的乘积 问:给定一个已知合法的 NB 串,求其 NB 值 样例 (())() -> 3*2 = 6 (()())() -> 5*2 = …
又到了秋招的季节,刷题的时候遇到了一道有趣的题,简化如下: 定义一类字符串为 NB 串,每个 NB 串有一个对应的 NB 值 空串是一个 NB 串,且其 NB 值为 1 对一个 NB 串,在其两侧加上括号后依然是一个合法的 NB 串,且其 NB 值为原串 NB 值加 1 对两个 NB 串,将其拼接后依然是一个合法的 NB 串,且其 NB 值为两个原串 NB 值的乘积 问:给定一个已知合法的 NB 串,求其 NB 值 样例 (())() -> 3*2 = 6 (()())() -> 5*2 = …
Tensorflow 开发者认证记录
又名:我是如何在 7 天内通过 Tensorflow 开发者认证的,以及你应该这样做吗? 作者在 2021/7/4 参加考试。本文写于 2021/7/7。文中内容可能在未来发生变化。 下文简称 Tensorflow 为 TF,机器学习(Machine Learning)为 ML,深度学习(Deep Learning)为 DL。虽然 DL 在分类上而言是 ML 的一部分,但鉴于 DL 在各大领域取得的进展,常常将 ML 和 DL 并列。 TL;DR 7天(甚至更短时间内)通过 TF 开发者认证是 …
又名:我是如何在 7 天内通过 Tensorflow 开发者认证的,以及你应该这样做吗? 作者在 2021/7/4 参加考试。本文写于 2021/7/7。文中内容可能在未来发生变化。 下文简称 Tensorflow 为 TF,机器学习(Machine Learning)为 ML,深度学习(Deep Learning)为 DL。虽然 DL 在分类上而言是 ML 的一部分,但鉴于 DL 在各大领域取得的进展,常常将 ML 和 DL 并列。 TL;DR 7天(甚至更短时间内)通过 TF 开发者认证是 …
再次复活
2020 年发生了很多事,一直没有时间更新博客,然而突然意识到,很多有趣的事情、实用的技巧,并没有得到足够的分享,于是打算重新拾起这个博客。 把文件重新找回来 复活的第一步显然是把原始的部署文件找到。但是因为换的设备太多,加之保存文件习惯不加,找起来还是花了一些时间的。Onedrive 里虽然有一个版本,但是是之前用 Hexo 的版本,Hugo 版本的博客则是翻了全盘备份才找到的。(再一次凸显了全盘备份的重要性,不过根源大概还是因为 2020 年换了太多设备了)这次复活后,也会把用于生成静态网页 …
2020 年发生了很多事,一直没有时间更新博客,然而突然意识到,很多有趣的事情、实用的技巧,并没有得到足够的分享,于是打算重新拾起这个博客。 把文件重新找回来 复活的第一步显然是把原始的部署文件找到。但是因为换的设备太多,加之保存文件习惯不加,找起来还是花了一些时间的。Onedrive 里虽然有一个版本,但是是之前用 Hexo 的版本,Hugo 版本的博客则是翻了全盘备份才找到的。(再一次凸显了全盘备份的重要性,不过根源大概还是因为 2020 年换了太多设备了)这次复活后,也会把用于生成静态网页 …
不丢失数据的重装 - Repair Install
本文原载于「小众软件论坛」link 前言 最近主力机上的 Windows 10 遇到了一些诡异的问题,开始菜单部分时候无法打开。这种系统层面的问题,第一反应当然是 sfc/dism 修复,然而无果。各种杂七杂八的方法也都去试了,故障依旧。事已至此,大概只有重装了,然而数据备份,软件安装,想想就头大。但是在偶然间发现了「Repair Install」(试译「修复安装」)这个小技巧,尝试后的确解决了问题。试着搜索了一下论坛,似乎还没有人介绍过,故作此贴。 什么是「Repair Install」 作 …
本文原载于「小众软件论坛」link 前言 最近主力机上的 Windows 10 遇到了一些诡异的问题,开始菜单部分时候无法打开。这种系统层面的问题,第一反应当然是 sfc/dism 修复,然而无果。各种杂七杂八的方法也都去试了,故障依旧。事已至此,大概只有重装了,然而数据备份,软件安装,想想就头大。但是在偶然间发现了「Repair Install」(试译「修复安装」)这个小技巧,尝试后的确解决了问题。试着搜索了一下论坛,似乎还没有人介绍过,故作此贴。 什么是「Repair Install」 作 …
给 WSL 安装桌面环境
给 WSL 安装桌面环境 本文是旧文补完计划的一部分。 可能你需要运行一些只提供 Linux 版本的 GUI 程序,抑或是你厌倦了 VM 的启动/恢复等待,或者只是过年实在无事可做… 总之,你需要在 WSL 下安装一个桌面环境。希望这篇文章能够提供一些小小的帮助。 开始之前:对比 WSL 下的桌面环境与 Linux VM DE: Desktop Environment 桌面环境 DE in WSL Linux VM 启动速度 即时可用 VM 启动 / VM 状态恢复 配置难度 相对麻烦 简单,主 …
给 WSL 安装桌面环境 本文是旧文补完计划的一部分。 可能你需要运行一些只提供 Linux 版本的 GUI 程序,抑或是你厌倦了 VM 的启动/恢复等待,或者只是过年实在无事可做… 总之,你需要在 WSL 下安装一个桌面环境。希望这篇文章能够提供一些小小的帮助。 开始之前:对比 WSL 下的桌面环境与 Linux VM DE: Desktop Environment 桌面环境 DE in WSL Linux VM 启动速度 即时可用 VM 启动 / VM 状态恢复 配置难度 相对麻烦 简单,主 …