你好,我是王若如
中南财经政法大学在读。白天研究区块链,晚上刷算法题,凌晨思考维特根斯坦到底在说什么(至今没想明白)。
一个试图在技术深度和人生广度之间找平衡的人。偶尔会因为 segmentation fault 而怀疑人生,但睡一觉起来又觉得”昨天的 bug 其实挺有意思的”。
这种自我安慰能力大概是我为数不多的天赋。
关于这个博客
“语言的边界就是世界的边界。” —— 维特根斯坦
所以我建了这个博客,试图用语言拓展世界的边界。虽然大部分时候只是在拓展 bug 的边界。
为什么要写博客?
因为我发现最好的学习方式是”教别人”。而最好的”教别人”方式是写下来,这样:
- 我可以在写的过程中发现自己其实没懂
- 未来的我可以回来看当初的我有多蠢
- 万一真的帮到了别人,那就赚了
另外,保持向外的交流和输出是保持自我革新的不二法门。不写出来,脑子里的想法永远是一团浆糊。
你会在这里看到什么?
- 算法竞赛:主要是我如何从 WA 进化到 AC,以及为什么有时候会退化回 WA
- 区块链技术:智能合约、零知识证明这些听起来很酷的东西,以及它们如何在我手里变得不那么酷
- 软件架构:如何设计一个优雅的系统,以及如何在需求变更中保持优雅(剧透:做不到)
- 数据科学:Python、机器学习、强化学习。最近在研究能不能让 AI 帮我打比赛
- 哲学思辨:偶尔想不通技术问题的时候,就思考一下人生问题。反正都想不通
- 碎碎念:那些无法分类但又想说的话
更新频率?
薛定谔的更新——不打开博客永远不知道有没有新文章。
具体来说:
- 有时候一周三四篇(通常是 DDL 前,逃避正事)
- 有时候一个月零篇(通常是 DDL 后,躺平摆烂)
- 以及当我掉分/踩坑/突然顿悟的时候
适合什么人看?
理论上适合所有人。实际上可能只适合:
- 对技术感兴趣的同龄人
- 喜欢看别人踩坑的程序员
- 想在技术文章里看点哲学的读者
- 或者单纯很无聊的你
不设限。反正你都点进来了。
技术栈与现状
算法竞赛
现状:ACM 小菜鸡,Codeforces rating 是薛定谔的猫——不打比赛的时候觉得自己还行,一打比赛立刻坍缩到菜鸡态。
擅长:暴力枚举($O(n^3)$ 选手)、看题解(这个最擅长)
不擅长:几乎所有需要智商的算法
主力语言:C++(虽然经常写出 undefined behavior)
区块链
智能合约开发、零知识证明、隐私保护技术这些。
Solidity 写得还行,zkSNARK 还在学(主要在学怎么向别人解释什么是零知识证明)。
最大的成就是写过一个没被黑客攻击的合约。虽然可能是因为没人用。
软件工程
Java 后端开发,热衷于设计优雅的架构。
然后被需求变更打脸,被线上 bug 打脸,被自己三个月前写的代码打脸。
但依然保持着对”优雅代码”的执念。这大概就是所谓的理想主义。
数据科学
Python 数据分析、机器学习、强化学习。
目前的水平是:能跑通 Kaggle 的 baseline,能看懂论文的 abstract,能吹牛说自己在搞 AI。
距离真正的数据科学家大概还差:一个 PhD、三年经验、以及承认自己只是调包侠的勇气。
通用技能
- Debug:熟练掌握从”这个 bug 不可能存在”到”原来 bug 在这里”的心路历程
- Google:能在 Stack Overflow 上找到解决方案(虽然不一定看得懂)
- 背锅:熟练掌握”这是环境问题”、”这是数据问题”、”这是需求问题”等话术
兴趣爱好
- 📚 看书 - 技术书让我变强,哲学书让我迷茫,小说让我逃避现实
- 🏀 打篮球 - 三分命中率约 30%,和我的 AC 率基本持平。但至少篮球不会返回 Runtime Error
- ✈️ 旅游 - 去不同的城市,遇见不同的人,思考同样的问题:为什么我的代码在本地能跑
- 🐛 Debug - 是的,我把它列为爱好了。毕竟每天都要做,不如享受它
喜欢的话
“语言的边界就是世界的边界。把能说的说清楚,对不能说的保持沉默。”
—— 维特根斯坦《逻辑哲学论》
虽然我经常对不能说的也尝试说两句,但至少我在努力把能说的说清楚。
这句话之所以喜欢,是因为它既是方法论(如何表达),也是边界意识(承认局限)。
技术如此,人生亦然。
一些碎碎念
最近的感悟:算法题教会我的不只是优化时间复杂度,还有在有限资源下做最优决策。区块链教会我的不只是去中心化,还有在信任缺失时如何建立共识。
人生大概就是一道超大规模的多目标优化问题。没有标准答案,只有不断迭代的解。
而我们要做的,就是在每次迭代中,让自己变得稍微好一点点。
FAQ(自问自答环节)
Q: 你的博客多久更新一次?
A: 不确定。但可以确定的是,DDL 越近,更新越频繁。因为写博客是逃避 DDL 的最佳方式。
Q: 为什么有些文章里的代码明显是错的?
A: 那是警示后人的反面教材。就像历史书要记录失败的战役。
Q: 你真的懂维特根斯坦吗?
A: 对于不能说的,我保持沉默。(其实就是不懂)
Q: 写博客有稿费吗?
A: 没有。但如果你觉得某篇文章帮到了你,可以考虑请我喝奶茶。(开玩笑的,点个赞就行)
Q: 你最想对读者说什么?
A: 如果你在我的文章里发现了错误(很有可能),欢迎指正。如果你有不同看法,欢迎讨论。如果你觉得某篇文章写得不错,欢迎分享。
联系方式
侧边栏都有。GitHub、Email、各种社交平台。
欢迎:
- 技术交流与讨论(无论你是大佬还是萌新)
- 项目合作咨询(只要不是让我免费干活)
- 指出文章错误(非常欢迎,因为我确实经常写错)
- 友链交换(欢迎同道中人)
不欢迎:
- “这题怎么做”(因为我可能也不会)
- “帮我写个作业”(我自己的都没写完)
- 各种培训广告(求放过)
- “在吗”(有事直说,我不在线也会回)
最后
这个博客是我的数字花园,记录着一个普通人的成长轨迹。
有技术的深度,也有思考的温度;有代码的严谨,也有文字的随性;有踩坑的痛苦,也有顿悟的喜悦。
希望你在这里能找到一些有价值的东西,或者至少能会心一笑。
如果某篇文章真的帮到了你,那就更好了。那说明我写博客的初衷达到了——用输出倒逼输入,用分享创造价值。
好了,如果你真的读完了这么长的”关于”页面,说明:
- 你很有耐心
- 你确实挺无聊
- 或者你和我一样话痨
无论哪种,欢迎你。
就这样。
—— 王若如
一个幽默偶尔犯贱的技术伪宅男
P.S. 如果你也在中南财大,或者也在学 ACM/区块链,随时可以找我。线上线下都行。一起踩坑比一个人踩坑有意思多了。
P.P.S. “伪宅男”的意思是:想宅又不甘心宅,最后变成了薛定谔的宅男——既宅又不宅。