曾经的我 - 2024

/images/now/book-shelf-1.webp

记录下我的学习轨迹。(结果写着写着有点像是技术笔记跟日记的混合了 hhhh)

Twitter 上 @Manjusaka_Lee 等大佬喜欢写周报,不过我不太喜欢周报的形式。因为周报的标题本身没啥意义,而要看其中的内容却得一个个点进去看,这对我自己回顾过往的学习、工作、生活,体验非常不方便。我比较喜欢类似「一镜到底」的阅读体验,所以我采用这种单页的方式来记录我的日常。(基于同样的理由,我将博客单页展示的文章数量上限调整成了 1000

全部历史记录:/history

  • 跟 ld 聊完了 2024H1 绩效,个人还挺满意的。虽然有时候会因为兴趣不匹配而缺乏动力推进,但今年上半年工作状态大部分时间确实挺好,尝试了 IPv6、Karpenter 适配、AI 计算资源的改造优化等许多新技术。
    • 缺点仍然是
      • 做事前考虑不周全、缺乏计划性,导致在项目做完后发现不符合预期,又各种找补。
      • 做事比较凭兴趣,没兴趣的工作很难推进。
  • 上半年户外徒步旅游了 8 次,对比去年的 1 次,这个进步也挺大,体重也略有下降,以及看了大半年的心理医生后,现在乐乐的心态也有了很大的好转。
  • 总体完美契合我去年底的期望——「工作与业余爱好上稳中求进,生活上锻炼好身体、多关心家人」
  • 突然又有了点危机感,分析了下目前我自己的能尝试补齐的短板:
    • Go 语言,目前只是会写一些简单的代码,对于一些高级特性、性能优化、并发编程等都不太熟悉。
    • Kubernetes 与 Istio,只是会用,也解决过一些问题,但没深入研究过底层实现细节。
    • Linux 内核,去年折腾 NixOS 深入学了一点东西,但并不多,或者说对完成工作帮助不大。
    • Rust 语言,现在开源社区最火的语言了,真有必要学一学。
    • 算法,这个可以边学语言边刷题,一举两得。
  • 如何解决这些问题?
    • 使用 Go 语言刷 codewars 上面的题目,每天刷个三四题。
    • 阅读一遍《Go 程序设计语言》跟《Go 高级编程》
    • 先完成 karpenter-provider-proxmox 的功能并发布第一个版本。
    • K8s 方面后续大概应该考虑考个 CKA CKAD CKS 证书,补全下这块的知识。
    • Linux 内核的话,先把那两本编程手册看完,然后再学统一遍操作系统这门课吧。
    • Rust 语言学一学,以及使用 Go 跟 Rust 参与一些相关开源项目的贡献。
  • 虽然如此也并不想给自己多大压力,最近一年半内能完成这些目标就好。
  • 先这么列一列,近两周尝试下看看效果。
  • 上午终于打完了《星穹铁道》的最新主线——匹诺康尼,这部分的剧情跟音乐都很棒!
    • 支线不是很感兴趣,新剧情也没开放,暂时不打算继续玩了。
  • 游戏打完,收了收心更新 PC 跟 Homelab 的 NixOS 配置,修复更新后的一些问题。
    • Orange Pi 5 Plus 的 NixOS 系统在上次升级到 24.05 后就炸了,今天修了两小时仍旧没搞定, 累觉不爱。
    • ARM 不能用主线内核真的太坑了,每次 nix flake update 都像是在赌博,出了问题就得花很多时间修复。这次打算直接弃坑,把东西都搬到 x86 主机上。
  • 业余时间一直《星穹铁道》,打上瘾了,每天都在玩。
  • 又一个 Q 末,工作上给之前整的爬虫项目收尾。
    • AWS IPv4 公网 IP 收费,换成 DigitalOcean 云 + K3s + Karpenter 但发现 DO 机器的最小收费单位是小时,而且计费的最小单位是 $0.01,导致成本比 AWS 还高。
    • 又尝试换成 IPv6 后发现它特征太明显,更容易被封。
    • 最后还是通过一系列不太技术的手段(增加 ARM 及其他实例类型、跟踪业务状态缩减 IP 池大小),降低了成本。
  • 这个 Q 搞项目久违地写了不少 Go 代码,打算重读下《GO 程序设计语言》,还有手上另一本《Go 高级编程》,但游戏太吸引人了,一直没动。
  • 上班干活
  • 下班时间继续《星穹铁道》
  • 上班地铁上继续用多看阅读 APP 读 Educated - A Memoir.
  • 玩新出的游戏《绝区零》,然后突然迷上了去年浅尝辄止的《崩坏:星穹铁道》,连打两天。
  • 上班干活
  • 到康宁复诊,人巨多,等了两个多小时才排到我(ADHD 知名度越来越高了吧可能),而且运气不好专注达库存没了,医生给开了阿莫西汀。
  • 阅读《Educated - A Memoir(中文名:你当像鸟飞往你的山)》
    • 微信读书的全文翻译整挺好,但没找到离线词典,在地铁上阅读体验很差,转战「多看阅读」,它的离线词典功能真的非常好用。
  • 读完了 走出荒野
    • 2021 年 2 月读此书的评价:没读书的内容前,我完全没预料到作者的人生曾如此不堪。 最近刚离职,毕业后的第一份工作就这样结束了。心里好多想法,也好想多看快这个世界。 嗯,有点想来上一次徒步旅行了哈哈。
    • 2024 年 7 月重读评价:今年我爱上了徒步,重读此书,又有新知。我想徒步也类似跑步,也有徒步的蓝调。今年已经在香港麦理浩径上完成了 5 次徒步,越发上瘾。我想我也该带老妹体验下, 见山见水见自我。
  • 在家躺一天,昨天因为没重装,其实跟以前比并不算很累,肌肉不怎么酸,但今天就是莫名很困,可能跟淋了雨、湿了鞋有关。
    • 路上没来得及把雨套戴上,不然我鞋子或许不会湿。
  • 更新了一点 karpenter-provider-proxmox,另外发现 cluster-api 的功能跟 karpenter 有点重合,而且它把各种 provider 的支持都插件化了,社区支持也比较完善,在考虑怎么把它们整合起来,实现一个更通用的 karpenter 扩缩容工具。
  • 与同事四人组团麦理浩径一二段徒步,乘公交到北潭凹站下车,从二段终点反穿,一路走到「萬宜水庫東壩」,全程 15 公里多一点(GPS 计数实际走了大概 18 公里)。快到咸田湾时天突然黑了,先是打雨点,我们赶紧穿雨衣。雨来得快去得也快,我们雨衣还没穿好雨就下得很大了,走了几分钟, 到咸田湾时雨就基本停了。之后在去西湾亭的岔路口休息时,也是突然天黑,开始刮风,我就打算先把雨衣从包里拿出来备用,结果包刚打开,风就一阵比一阵大,刚把雨衣披上,直接就下起了大雨。天气变化得非常快!本来热得不行,一下雨立即就凉快了,即使披着雨衣也一点不觉得热。我们赶紧一路往西湾山上爬,中间雨一直没断,山路上浑浊的水流越来越大,但还好地面还比较硬,不滑。等我们开始下山时,下山的路就已经比较湿滑了,一路上还遇到很多正穿的徒步者,挺多甚至直接是休闲装,也没登山杖,甚至有个鞋子湿了直接换拖鞋爬山的,看着都无语,我们往上爬的那一段很陡峭,很担心他们待会儿要怎么下山。
  • 经过西湾时我以为浪茄湾跟西湾、咸田湾一样都有补给,就没在西湾买水。结果走到之后发现这里的村庄是封闭的,甚至还写明了内有恶犬禁止入内…连可直接饮用的淡水都没有,我这次因为没计划露营,也没带过滤器。结果就只能强撑着往终点去,我想终点总该有水吧,结果终点也只有厕所,下次徒步真的过滤器必备啊!
  • 我们早上 11 点左右开始走,到下午 18:30 到东坝终点。然后打了个的士到「东铁大学站」(花了 200 块)。本来东坝亭子对面就有 9A 路巴士可坐,不过一开始不知道(没仔细做攻略导致的),而且有同事也累到不想转车。
    • 在东坝亭子用 Uber、did 都打不到车,我们一度担心要走回去(主要是有个同事体力到极限了),问路人,他们说对面有个大巴,等几分钟就末班车了,的士这个时间不加价个几百块没人来接的,我们赶紧往巴士站走。没走两步就过来两的士,我估计司机是送人到了周边,顺便过来试试捡漏的,刚好就捡到了我们。回去的路上也遇到了另一辆过来捡漏的的士,总体来说还是运气好吧。
  • 上班干活,专注达跟安非他酮每天都吃。这周工作状态都不错,之前有些 delay 的项目进度也在这周赶了上来。
  • 跟几个同事约好周六麦理浩径二段徒步,拉了群讨论行程、装备、食物等事宜。
  • 技术上最近可以做的一些 TODO
    • 工作:逐步上线 Istio Ambient Mode,去掉 Sidecar 应该有比较明显的成本收益。
    • 工作:K8s 网关架构逐步从自定义的 Nginx 迁移到 Istio Gateway + Gateway API
      • 成本上收益不大,但换成标准的 Gateway API 有利于后续的维护管理。
    • 工作:上线 containerd 社区的 image steaming 功能,或者所有容器镜像都改用 zstd 压缩。
      • 上述两项工作都能提升容器启动速度,后者比较稳妥,前者可能导致 java 预热时间更慢。
    • 业余:完善 karpenter-provider-proxmox 这个项目

香港徒步又一弹

目标:

  • 6/22 乘车到铅矿坳营地,走麦理浩径 8 段,行进 10 公里到达轮夫仔营地露营。
  • 6/23 洗漱好,乘车离开。

实际结果:

  • 11 点多才出门,到了香港后发现要转小巴 23S 到打铁刃,再步行上山到铅矿坳营地,但小巴 23S 一小时一班,我就选择直接步行了。步行上山到打铁刃的路上超级热,而且我只带了一小瓶水,喝得我小心翼翼。本来是打算到营地再用过滤器过装水的,但我完全低估了三十多度温度对徒步的影响, 同时也低估了步行到营地所需的时间。
  • 路上发现条小路有水源,甚至还有椅子可以坐,直接就疯狂过滤水,一次性喝了得有一升。然后休息了一阵后,已经饿了,又原地开始做午饭。在这里装水、吃午饭、消食,感觉起码呆了两个小时。
  • 大约 16 点多到达打铁刃,然后又被高德地图带着往上穿过打铁刃村,走到了一条死路。这里信号也差,百度地图用不了,Google Map 让我往回走。我有点无语,试探着继续往上走了一段,到了一个观音庙,庙过去是一条小溪,过了溪有一条小路但不知道通往哪里。
  • 我一路都穿着 MH100 高帮登山鞋,全身又是紧身运动衣裤�外面还套了速干 T 恤,走到观音庙的时候脚已经热疯了,我直接把包放在庙门口,鞋袜脱在岸边,展开折叠凳坐在溪水里边泡脚边看《走出荒野》,泡了得有二十分钟,极度舒适。
  • 泡脚时时间已经来到了 17:20,泡完脚后,跟着 Google Map 的导航往回走,其实基本猜到了就是之前路过的一条往上爬的阶梯,搞这么累结果还要往回走,有点气馁。不过没走错路的话大概也没机会泡脚了,所以也算是意外的收获。
  • 背着这么多东西,这么热的天,往上爬也不容易,最终到达钱矿坳厕所时已经是 19:20 了,休息了一会了,对着地图看了很久,又试探着找了找,19:30 才找到了铅矿坳营地。这个时间点,又搞这么累,也别说啥再徒步麦径了,选择了直接在铅矿坳营地露营一晚。接着就是搭帐篷、做晚饭、洗漱、睡觉。
  • 晚上很热,收了一半外帐吹风,发现月亮很亮,天上云层清晰可见,很闲适。不过还好睡前看了天气预报,说一小时后要下雨,赶紧把外帐再扎好,这天晚上真的下了两场雨。

一些感受:

  • 紧身运动衣 + 外面套速干 T 恤,实际透气性能不好,之前 OK 是因为温度不高。现在 30 多度的天气扛不住。透气性最好的还是只穿速干 T 恤 + 防晒袖套(这样躯干就只有薄薄一层了,透气性好太多)。
  • 黑色是吸热的,尽量穿浅色衣物。
  • 防水透气、高帮的登山鞋,在 30 多度的天气下穿,脚要热疯了,得赶紧买个轻薄透气款的夏天用。
  • 紧身运动裤能保护双腿,虽然热一点但还是值得穿(熟悉的、没蚊虫灌木的路线可以不穿它,这样更透气)。
  • 很多露营地点都有桌椅,小桌子可以不带。
  • 素食汤味道还不错,泡米花+玉米粒当早餐也很 OK
  • 卡式炉气罐也挺耐用的,用完后放完气,想凿个孔发现很难,没小刀不行(弄把水果刀上地铁没难度,不知道能否过海关)。
  • 香港山上夏天好像确实没啥蚊子,但露营点鼠妇蚂蚁跳蚤蝗虫等各种小动物挺多,在水浪窝还遇到毛毛虫。露营地点选得离树木跟草地远一点,这样能少一些虫子。路上还遇到过蜈蚣,还好露营地点没遇到过。
  • 露营地点地面用沙土,好处一是下地钉很容易,二是下雨不会积水,晚上下了两场雨,但醒来帐篷底下都没咋湿。
  • 雨后收帐,先抖一抖把水珠抖掉,再收外帐。内帐也抖一抖避免虫子附着在上面。说起来晚上内帐外爬了虫子,但白天就都爬走藏起来了(除了上次水浪窝遇到的毛毛虫,大概因为毛毛虫不怕阳光跟热量?)。
  • 小蚂蚁容易被带进内帐,不过貌似没啥杀伤力,只有几只没啥影响。
  • 最好还是持续性锻炼,间歇性露营体力上不去,每次都还是很累。
  • 再次被高德地图坑,以后在香港还是老老实实用 Google Map 吧。现在用了一阵也熟悉挺多了。
  • 离线地图很重要,毕竟很多山上信号不好甚至直接没信号!
  • 400ml 的过滤器水袋太小了,装个 500ml 的水瓶都要搞两遍,3L 的水袋就更是麻烦,最好是弄个 1L 的。
  • 户外温度计或许可以搞一个?
  • 看《摇曳露营》发现个便携酒精炉,感觉很好,立马淘宝整了一套,接着在京东下单了 95% 浓度酒精当燃料。
    • 查了下还挺耐用的,100ml 的酒精能烧不少开水了,单人徒步用个两天没问题。过地铁跟海关的安检也方便,比带燃气罐安全很多。
  • 昨天看完了《户外旅行终极指南》,今天开始重读《走出荒野》。
  • 过去一个月的工作状态都不太行,有断断续续试过点专注达但效果也不佳(可能性一是徒步露营的兴趣太浓厚了占了我注意力,可能性二是跟维生素一起吃会削弱药效)。上周末两天(6/13-6/14)终于找到点状态,把一个 karpenter provider 的功能实现了大半,但可能因为没嗑药,注意力一从项目上移开,要再专注起来就得费老大劲。周末在家也是写不了任何代码,想业余做点东西出来,但结果是整个周末都在焦虑地刷 B 站视频、看网络小说,就很寄。这周尝试了专注达+安非他酮,维生素则不吃或错开时间吃,发现状态回归不少,这种调整看来比较有效。
    • 去年在家只要是搞 NixOS 或电子电路、写博客,都超容易进入状态。现在大概是兴趣降低了,状态也就不行了。
    • 抛开兴趣不提,我发现相比公司,在家里确实就更难进入状态。我目前分析原因可能有如下几点
      • 我租房就二十来平,空间小,而且窗户正对大路,噪音大,相对公司的环境差很多。
      • 公司是专门的办公场所,而且有同事、领导在,有压力、有监督、有氛围,对 ADHD 而言这都有助于进入状态。
  • 读完了这两本书:
    • 《户外旅行终极指南:基础装备、露营技能、交通方式、饮食、环境和急救》:内容很多,但都比较入门级,好处是图很多,读着很轻松,几个小时就能走马观花全过一遍。
    • Programming Kubernetes - Developing Cloud Native Applications: 2022 年开始读的书,但当时没啥兴趣。最近在照猫画虎写 karpenter provider,有了些编程经验后又对它产生了兴趣。书不厚,花了三个小时走马观花全读了一遍,代码内容大都跳过了(不少也过时了,譬如还在介绍 dep),做了些笔记。挺有帮助,帮我系统地梳理了最近折腾 karpenter 学到的 operator 编程相关知识。
  • 又采购了一堆露营徒步装备,按两人份的(我+我妹),挺期待啥时候一起去香港昂平营地露营。
    • 30L 背包、一个超轻睡袋内胆、三个睡袋(0 度、8 度、15 度各一个,加上我已有的 15 度睡袋 + 升温内胆,应该能爬挺多的山了)
    • 还有些其他的,不一一列举了。
  • 晚上本来想完善下ryan4yin/karpenter-provider-proxmox 但发现一点劲头都没,可能是专注达药效过了(
  • 最近看到各种报道说 2023 年的高考人数再次创下新高,又听人提到什么新高考 3+1+2 模式,一番搜索恍然惊觉,原来湖南省 2018 年就实行新高考模式了,高一就开始按志向选不同的科目学习,一共有 12 种不同的科目组合。甚至以后还会进一步拓展英语之外的外语作为高考科目。这比以前死板的文理分科要灵活多了。
    • 我在 2024 年才知道这么回事,确实是挺久没关注教育这一块了。
    • 因为乐乐读的职高,我去年倒是有了解过一些高职的教学改革,好像说要推行 Python 作为高职的编程语言,这也是挺前卫的。
  • 网络漫游,从卡瓦邦噶的珍藏资料意外发现Linux C 编程一站式学习居然有在线版,而且链接是 GitHub Pages,进一步定位到了对应的代码仓库,也就找到了几位作者的 GitHub 账号。
    • 从 GitHub 主页看,akaedu 也就是亚嵌教育,早就倒闭了,但他们还是很有情怀的在 GitHub 上公开了一些非常有价值的资料。而作者宋劲杉至少在 2012 年就移居 New Zealand 了。
    • 接着又搜到了亚嵌教育李明:一生的学习 这篇文章,才知道它跟当年的新东方是类似的,是中国职业培训的先驱,其创立也挺具理想主义色彩。诸多感慨吧。
    • 从 akaedu 进一步发现了这个博客 Peter’s Corner,作者在这里分享了很多他的所思所想,读着挺有启发。他后来搞区块链去了,还梭哈比特币,而且看文章他搞比特币之前就不咋缺钱了吧。
  • 跟 0xffff 分享了上述发现,站长觉得挺有价值,于是发了个小帖子分享倒闭的 akaedu 及相关的人与事
  • 乐乐 6 号晚上到深圳,10 号早上回老家。
  • 7 号带乐乐在深圳出入境异地办理了港澳通行证跟护照(需提前在微信公众号上预约),以及去医院复诊。
  • 8 号带乐乐去听「厨子与戏子」乐队的 Live House,这是她第一次去 Live House,玩得非常开心。
  • 9 号在家躺着看动漫玩手机,顺便弄了俩人的户口本跟身份证的彩色复印件,以及 3.5cmx4.5cm 的证件照(打算后面办日本签证)。
    • 本来我想说去参加个满展,但乐乐没啥兴趣,外面又下雨,就躺平了。
  • 休息整整两天了,25 号回家当天就拿小米筋膜枪把大臂大腿锤了一遍,26 号又锤了两遍,结果到今天两条腿还是有点酸痛。这次运动量确实比较大。
  • 发现很多专业的好东西,普通人其实完全可以用,只是没渠道了解到而已。比如说能量胶跟盐丸,朋友说爬山会低血糖,我说你买点能量胶啊,他就觉得我太专业了。可实际上能量胶跟盐丸都是快速补充血糖蛋白质或者电解质的补剂,普通人爬山怕低血糖当然也可以吃啊。马拉松、骑行、登山等任何长时间的有氧运动都用得上它们。
  • 因为最近最徒步上头,查了下「运动成瘾机制」,有些挺好的文章,比如
  • 现在还只是初步入门徒步,确实有快感,不过还不至于走火入魔。不过还是稍微提防一点吧。
  • 这次感觉头灯不太好用,而且续航不行,反倒是手电筒挺好用,续航很够,而且还能换电池。
    • 京东淘宝上一番查找后,在淘宝上购买了耐朗 B71 转角手电筒、不知名的万向手电筒 U 型夹(当手电腰夹用)、倍量的最高密度 18650 电池跟 21700 电池。这样转角手电 + 直角手电 + 手电腰夹 + 备用电池组合,能应对任何多日长线徒步的夜行情况了。
  • 继续徒步麦径四段,坐九巴 299X 路到大浪窝站下车开始步行,在三段终点用直饮水机将 3L 水袋灌满,然后取出登山杖出发。从起点出发的时间为 13:20,20:30 到达基维尔营地。但确认了该营地为私人领地,不接受个人申请露营(一开始就有预期),麦径上的下一个露营点离得很远。于是又导航徒步到大老山隧道站乘九巴 74X 路到广福邨下车,再步行到地铁站乘车到罗湖口岸回家,到达车站时已经是 22:20。全程差不多 9 个小时,全程超过 21 公里,背的还是 16kg 的重装背包。

    • 高德地图给的从基维尔营地导航去车站的路线有坑,公路没走多远就没了,后续的小路已经半荒废,灌木林立,几乎看不到路面,让人忍不住怀疑这条路真的能走吗?不会走到一半成断头路吧。还好这条灌木丛近期有人走过,还在沿途灌木上扎了飘带,这给我增加了一点对它的信心。钻灌木丛,中间还过了条溪流,接着又是上山,好走的山路没走多远,接着又是钻灌木丛。很担心被灌木遮挡的路面会有蛇,但回家心切的我没时间顾虑这些,一路急行,被灌木丛拌倒了好多跤也完全不管不顾了。后半段下山路几乎是钻灌木丛林直线下降,即使有登山杖的辅助,也摔了好多跤,还好灌木比较密,有效减缓了摔倒的冲击。下山路没走多久,发现腰包里的水杯跟夹着的折叠坐垫都不见了,显然是在前面几次摔跤的时候掉了,不过也就三四十块钱,不管了。
    • 下山路仿佛没有尽头,万幸途中发现底下的山坳里有好几片亮光,一开始怀疑是山里废弃的房子, 前面趟这条路的旅游队在房子里露营,这也给了我希望——或许能有人给点帮助跟一口吃的,一起露营也不错。到九点半左右终于下到山脚的时候,发现是个电站之类的建筑,周围还有监控警示。挺失望的。不过到这里就是大路了,在路边把身上汗湿且因为钻灌木、摔跤而脏乱臭的衣服都脱掉, 换了身干净的。登山鞋里也湿透了,石子叶子小木棍进去了不少,也换了备用的沙滩鞋。换鞋时不知道哪跑出来只蚂蟥在我脚面上爬,赶紧给拔掉丢了(也很庆幸我一直穿运动紧身内衣裤,不然这一趟灌木丛徒步下来,小腿刮伤不说,还可能被蚂蟥等各种虫子叮咬)。
    • 衣服鞋子换好后又休息了挺久,然后沿着大路走了可能十多二十分钟,才终于走到了车站,但已经是 22:20 了,乘公交、转地铁、过关、再乘一号线时已经 23:40,这个点居然还有一趟末班车。最后到家已经过了 0 点,饿得不行搞完夜宵、休息、再洗澡,搞到两三点才睡觉。
  • 从 zlibrary 下载了几本豆瓣/Amazon上分数比较高的徒步、户外书籍。
    • Mountaineering: The Freedom of the Hills(登山圣经)
    • 《户外旅行终极指南:基础装备、露营技能、交通方式、饮食、环境和急救》
  • 晚上 22 点到宝安出入境续签香港签证,为明天出行做准备(后面查了下离我家不到 700 米的派出所就能续签,下次就去这吧)。
  • 晚上试用了急救毯当被子,发现它实际是镀铝的塑料膜,并不是纯铝箔,所以相对来说更有韧性,不容易破损。直接裹在身上并不会立即变热,要点时间。另外用风扇测试强风往身上吹的时候,即使裹上急救毯还是会被带走热量。
    • 总的来说,户外活动多带几块救生毯感觉更保险,反正也不重。可以身体里面裹一条,晚上睡觉时睡袋里面或外面裹一条,紧急时都能增强保暖效果。
  • 今天是 NixOS 24.05 branch off 日,不过因为时差可能得到明天才能切换到 24.05 分支。
  • 今天嗑了专注达上班,希望状态有改善。
  • 把近两个月的香港旅游见闻整理了下,发了篇游记2024 年香港徒步游记(一)
  • 这两天,很长时间没出现过的工作焦虑又出现了,具体表现就是明明有工作,就是不想干,翻各种博客、论坛打发时间。
    • 很长时间没吃专注达了,上个 Q 搞上 flux 跟 aigc 以来,因为兴趣在,状态都还不错。这次可能是徒步、写博客之类的事情占了兴趣点,导致工作状态又出了点问题,明天再嗑个专注达试试。
  • 最近两个月业余沉迷看各种网络小说,但这两天逐渐看腻歪了,越发觉得最近读的这本书没意思。睡前把书删掉了,但又没啥事干,直接睡觉。
  • 昨晚到货了 NixOS 项链,很漂亮,超喜欢!

NixOS 项链到货了,很漂亮

  • 两日麦理浩径徒步,实际只 19 号走完麦径三段就精疲力尽了,第二日早上直接打道回府。
    • 从二段起点走到终点,用时 12:45 - 20:30,在交界处吃晚饭、休息了 1 个小时。
    • 之后从 21:50 - 22:15 走到水浪窝营地,到 22:50 才搭好帐篷。营地很空旷,只有我跟另一伙人露营。
    • 18 号一共走了 33582 步,而且背着十七八公斤爬上爬下,最后两三公里完全是咬着牙拼命爬的。
    • 第二日收拾帐篷发现还挺费劲,慢慢吞吞弄了也大概 40 分钟,而且发现蛋巢垫下面有跟毛毛虫, 帐篷内还有好几只蚂蚁,还发现一只跳蚤,另外内帐外面也爬了根看着就很毒的毛毛虫。
    • 蛋巢垫下的毛毛虫、帐篷内的跳蚤大概是昨晚搭帐篷时,把东西放在一个石墩上,从石墩上爬上来的,蚂蚁可能是从内帐的孔洞爬进来的。总之它们吓得我收拾东西的时候检查了一遍又一遍,生怕碰到虫子或者把虫子收拾进了行李中。
  • 发现气罐很难处理,带着上地铁、过海关,感觉都不太行,在香港我也不知道是否好买,所以这次没带锅具跟炉子,只带了两盒海底捞自热米饭。
  • 只爬完第三段就精疲力尽,我分析了主要有这几个原因:
    • 体力不够,还需要多加锻炼
    • 第一次重装徒步,装备不够精炼,一共得有十七八公斤,其中有许多东西完全没用上。
    • 带了过多食物,可以更精简。
  • 装备总结:
    • 不应该带的装备:
      • 折叠桌跟折叠凳:吃饭都是在营地或者烧烤点,根本用不上这俩。路上都是直接拿出零食或能量胶随便啃两口,也不需要坐下来吃。
      • 沐浴露:许多营地没洗澡的地方,擦身体也用不上沐浴露,带这个不如带点湿巾。
      • 洗洁精:同理,就几天徒步,用纸巾擦一擦就行,回家后再用洗洁精清理一遍不迟。
      • 太阳能电板:三天以内,一个 30000 mah 的电源完全够用。如果 3-6 天,还不如带两个移动电源。目前根本没有超过这个时间的计划,所以这个也没必要带。
      • 保温杯:保温时间有限,徒步一天以内可以用一用,超过一天得跟炉子一起带着才有热水用。
    • 起了重大作用的装备:
      • 登山杖、徒步背包、3L 水袋、600ml 水杯、登山鞋:没有它我走不完第三段
      • 睡袋:即使是现在夏季,山上的营地(水浪窝)晚上还是有点冷的,盖一个夏季睡袋刚刚好。
      • 能量胶、盐丸、压缩饼干、零食:帮助保持体力。能量胶恢复体力但饿得快,压缩饼干能维持饱腹感,零食能提供口感。
      • 折叠水桶、速干毛巾:打水洗头洗澡洗衣必备!(营地没洗澡的地方,用湿毛巾擦擦身体,也 OK,擦完舒服太多了)
      • 运动速干套装(紧身速干打底衣裤长袖 + 短袖短裤 + 薄外套):防止蚊虫叮咬、速干、防晒、防风,钻个灌木丛也不惧,徒步必备!
      • 速干汗带:吸汗,防止汗水流入眼睛,而且速干款比棉制品强多了,蒸发很快。
      • 变色防风眼镜:防风防晒、防雨、防风沙蚊虫。不管是白天也是夜间徒步,都很实用!
      • 保鲜袋:一时半会儿没吃完的食物,用这个装非常方便。
      • 一次性内裤、袜子:用完即抛,不用洗,方便得很。
      • 手电筒:一开始觉得好像没啥用,毕竟已经有头灯了,结果发现晚上搭帐篷、在营地逛逛,这个很好用也很有必要。
      • 30000 mah 移动电源(111Wh):显然这个起了大作用,用完一天到回家的时候,还有 70% 电量,它大概能顶三天,650g 的重量物有所值。
        • 大概两年前买的,最近查了下,有个别能量密度更高的电源,但市面上大部分电源的能量密度都跟这差不多,没有太大的提升。
    • 不是很满意的装备
      • 头灯:用了两个小时就没电了,后面去露营地点的路上只能手举手电筒同时还要用登山杖,很不方便。得换个续航长点的。
      • 防晒袖套:穿了长袖紧身衣的情况下这个就没啥必要了,它适合轻量运动场合,对更复杂的徒步场合就不太合适。
      • 迪卡侬 MH500 冲锋衣跟雨裤:这俩占地方,而且也挺重,这次没派上用场。但考虑到万一下大雨刮大风,这俩还是得带上。大风天气下雨披用处不大,只能靠冲锋衣。
      • 急救包:有 400g,感觉太重了,下次可以精简一下。
    • 这次没带,但发觉应该补充的装备
      • 能放水杯、证件、手机的腰包:背包腰封会挡住裤子口袋,腰封的口袋也没法放手机,这个时候腰包就非常有用了。
      • 驱蚊水:驱蚊驱虫,一是防止叮咬,二是防止蚊虫进入帐篷,我还挺怕小虫子的。
      • 湿巾:一些营地淡水不太好获得(比如水浪窝营地,我这次是用了水袋里的饮水擦身体…), 这时候湿巾就非常有用了,可以用来简单清理下身体。
      • 便携坐垫:路上累了的时候,可以随地坐下休息。本来是打算用折叠凳的,但折叠凳收纳还是麻烦许多,而且它建议承重 75Kg,我背着个接近 20 公斤的包,很怕一屁股给坐坏了。
  • 其他
    • 需要练习下雨披 + 背包的使用方式,这次路上下雨点,手忙脚乱地穿上,搞半天都盖不住背包。
    • 学习下雨天如何快速收拾帐篷,这次收拾都花了半个多小时,要是下大雨大概帐篷跟东西得全搞湿了。
    • 如何选择扎营地点?这次选在了树下的草地,结果恰好是少有人扎营的一块,虫子特别多(毛毛虫、跳蚤、蚂蚁、蜘蛛,等等…)。
    • 登山杖的手柄系带如何拆卸清洗,以及如何调整长短。走完一趟系带都被汗水浸湿了,而且有点长了。
    • 再复习一遍登山杖使用方法,这次发现登山杖起了大用,而且经过一天的高强度使用,经验也丰富了,现在再回头补充下理论知识,应该会有更深的体会。
    • 学习伞绳、急救包的使用方法,经常徒步的话,出了意外不会用就尴尬了。
  • 已经爱上了徒步这种运动方式,花钱折磨自己毫不手软(

麦边站等九巴 94 路

麦径三段-开头的急攀路段

风景很不错

山路

继续急攀

开始下降

到达嶂上营地跟士多店

麦径路标 - M61

上升,没有台阶的陡坡

累得不行,寻个地坐下,顺便回头看看

继续走

晚上 7 点,天开始黑了

到达山顶,已经打开了头灯

山顶继续前行,远方城市灯火通明

遇到的轻装夜爬团,应该是香港学生,而重装徒步的我已经精疲力竭,一阶阶楼梯地蹒跚下降,被很快超越

到达 M68,离三段终点近了,全身无一处不疼,真真是行百里者半九十,最后这一公里路相当折磨人

到达三段终点,接水、自热米饭当晚餐,休息了一个多小时。

很想直接回家,但导航发现水浪窝营地只差 500 米了,内心天人交战后继续往营地进发

继续夜行

路标

500 米走了我 25 分钟,中间还有一段陡坡

慢吞吞搭帐篷,花了半小时才搞定

第二日早上 6 点醒来

7 点多,解决卫生问题,顺便随处走走,发现营地标牌

回家路上,取水点

  • 已购买的徒步装备列表
    • 登山杖
    • 徒步背包
      • 打包方式:上重下轻,内重外轻
      • 常用物品放腰包、侧袋、裤袋里
      • 其他常用物品跟食物放背包顶部
    • 睡眠系统
      • 三季帐篷
      • 蛋巢垫
      • 睡袋+睡袋内胆
        • 视目标地点气温跟天气,选择对应温度的睡袋,低气温可使用抓绒升温内胆。
      • 充气枕头
      • 睡眠耳塞与眼罩
    • 饮食系统
      • 必备:复合维生素、电解质盐丸、运动能量胶(懒得做饭也能直接用这个顶)
      • 饮水:
        • 便携净水器(针筒式+水袋)
        • 保温杯(冬季)、水杯、水袋
      • 可选(吃口热乎的):
        • 便携锅具 + 筷子/叉子 + 炉具 + 燃气罐 + 便携桌凳
          • 燃气灌过不了安检,需要在目的地买。
          • 带电打火的炉头能带上高铁地铁,但不能带上飞机。如果要坐飞机,要买不带电打火的炉子,下飞机后再买个打火机。
          • 折叠凳跟桌子在烧水吃饭时非常有用,显著提升幸福感。
        • 速食食品(泡面、冻干饭、冻干蔬菜、速食粥)
    • 穿戴系统
      • 上装
        • 头部
          • 夏季:防晒袖套、脖套
          • 防风变色眼镜、速干头带
        • 衣物:三层穿衣法,根据气温随时增减
          • L1 吸湿排汗:高弹紧身速干内衣、宽松速干T恤
          • L2 保暖:抓绒背心(运动穿、透气)、羽绒夹克(不运动的时候穿、更保暖)
          • L3 防风防雨:冲锋衣(硬壳)、雨裤、雨披天幕
      • 下装
        • 防水登山鞋
        • 紧身速干裤、宽松运动裤
        • 雪套(防雨、防泥)
      • 其他
        • 一次性内裤
        • 一次性袜子
    • 洗漱:
      • 洗漱收纳包
      • 速干毛巾
      • 牙膏牙刷 + 折叠杯
      • 旅行液体分装瓶 30ml/50ml(洗发水、沐浴露、洗洁精等等)
    • 医疗急救系统
      • 买个急救包(尤其是救生毯)
      • 蚊虫叮咬止痒棒
      • 驱蚊水
      • 伞绳(遇到意外的时候会有用)
    • 其他必备
      • 垃圾袋
      • 电源:3W mah 移动电源,如果长时间徒步可再带上太阳能充电板
      • 头灯必备,另可选配帐篷灯 + 手电筒
      • 运动手表,主要是看心率,避免心率过高这点非常重要。
    • 其他选配装备:
      • (夏季)小风扇
      • 运动相机
  • 其他出行前需要做的准备
    • 熟悉装备
    • 锻炼身体
    • 查询攻略,确定装备
    • 了解目的地的气候
    • 根据自身情况,以及目的地的水源、营地、补给、下撤点、路线难度,制定行程
  • 周末两日麦理浩径徒步计划力可走完第六段再回家。
    • 麥理浩徑 - 香港遠足資訊
    • 天气:周六周日两天应该小到中雨,问题不大。
    • 计划:两天时间,若天晴则走完三到六段,若下雨则走完第三四两段然后回家。
    • 第一日(M49 - M68 - M93):三四段,10 公里 + 12.5 公里,在大老山近基維爾營地(有水有厕所)露营一晚
    • 第二日(M94 - M115 - M124):五六段,11 公里 + 4.5 公里
  • 非常有用的科普视频:35位医生投票:家中常备什么药?竟然有一个德不配位!- 哔哩哔哩
    • 一、解热镇痛类(NSAIDs)
      • OTC 布洛芬【消化道溃疡禁用;不急;不同剂型起效快慢:混悬液,儿童用>颗粒>片>缓释片,在小肠崩解】
      • OTC 对乙酰氨基酚(扑热息痛)【注意复方感冒药可能造成的药物过量→毒副作用,∵具有封顶效应,应只用一种感冒药】
      • 洛索洛芬钠片【起效快 半小时、胃肠道反应小;处方药;禁忌:肝肾功能差,冠心病,消化道溃疡,儿童】
    • 二、止泻药
      • OTC 盐酸小檗碱(黄连素)【在蒙脱石散至少30min之前;抑菌】
      • OTC 蒙脱石散【不适用于感染性腹泻,症见上吐下泻、发热等;可用水或蜂蜜调成糊,保护口腔溃疡创面】
      • 口服补液盐III【少量多次;防治脱水、电解质紊乱,补充Na/K/Mg;处方药,可用运动饮料或电解质盐丸替代】
    • 三、胃痛药
      • OTC 奥美拉唑【PPI-质子泵抑制剂;抑制胃酸分泌;饭前30min;药物相互作用:治疗心脑血管病的抗血小板药e.g.氯吡格雷】
      • OTC 铝碳酸镁(达喜)【保护胃粘膜;适应于胃酸过多引起的胃痛、反酸、烧心、嗳气等;饭后】
    • 四、抗过敏药(最常见的,荨麻疹)
      • OTC 氯雷他定(开瑞坦)【二代抗组胺药;药效个体差异大;不良反应:嗜睡】
      • 另外我自己有在用处方药 西替利嗪(泰诺定),效果更好。
    • 五、消毒剂
      • 碘伏(居家备用“稀碘伏”;禁忌:烧伤)
      • 开放性伤口不接触含酒精的药品
    • 六、抗生素
      • OTC 红霉素软膏1%/眼膏0.5%【防治皮肤伤口感染,眼睑闭合不全有时会用】
      • 左氧氟沙星【不建议居家自备;广谱喹诺酮类抗生素;有肾毒性,影响神经系统&软骨发育和正常功能,老年人可能产生幻觉,禁忌:老幼,酒精】
    • 注:几乎所有的药物都要避免与酒精同服,酒精会加重肝脏负担,降低药物代谢速度
  • 以及保健品(个人经验)
    • OTC 桑海金维多维元素片(21)
      • 最重要的应该是维 C 跟维 B.
      • 补充维生素还能有效降低一些药物的副作用,比如专注达的反胃、食欲不振。
    • 益生菌
  • 蛋巢垫充气枕毕竟睡着没那么舒服,打包好东西,换睡两天床舒服下。
  • 发现入坑 NixOS 刚好一个月,挺感慨的。去年对NixOS的热情极其强烈,在NixOS上付出了相当多的时间跟精力。现在再回顾下快过完的2024上半年,技术与工作上并没有做太多,只能说按部就班。但另一方面今年热衷于运动、旅游、徒步、露营,生活重心转移到了锻炼身体、接触大自然、关心家人。目前状态有点现充,想要的都拥有,得不到的都释怀。
  • 继续睡帐篷,室内露营。
  • 试用了露营锅具、炉子以及食物,感觉还不错。
  • 本来打算这周末开始在最近的山地公园进行体能训练,同时练习登山杖及其他各种装备的使用,争取下周末刷完麦理浩径三四段。但就周日一天休息日,下午又下雨,再家宅着看了一天小说。
  • 给 history 中补了近两个月到处旅游的照片。
  • 把徒步背包里的东西全翻出来清点了一波。
  • 把帐篷搭建好了,我买的是挪客云尚 2,实际用下来发现:
    • 这个帐篷非常好搭建,铝合金支撑杆是完全一体的,甚至比两根支撑杆的圆顶帐篷更方便。
    • 确实如网上评论所说,单人也最好买个云尚 2(即 2 人帐),因为云尚 1 只能睡进去一个人,行李都不好放,空间太小了。云尚 2 感觉对单人来说刚刚好,行李也能放进去,有一定的活动空间。
  • 空调开到 16 度,帐篷、蛋巢垫、睡袋、帐篷灯都弄好睡了一晚上,体验是穿薄衣服睡觉的话,空气温度一定要高于睡袋的舒适温标,否则会冷。(我是怕冷体质,公司开空调 26 度,穿短裤都觉得脚冷)
    • 睡袋温度比舒适温度高一点没关系,还能通过敞开睡袋拉链来调节。但如果低了就非常危险了!可能会着凉甚至感冒,在户外徒步时生病会非常麻烦。
    • 当然穿保暖衣服睡觉能有效减少这个问题,但衣服穿多了睡着不舒服,如果没有合适的睡袋跟升温内胆可以考虑这个方案。

试用露营锅具、炉子以及食物

试用了好几天帐篷(室内露营 emmm)

目前的所有装备,算上没拍进来的衣物,总重量大概 14kg

  • 给昨天的故障写 Post Mortem,事故回放、事故影响、事故原因、做对了什么、后续处理。
  • 请了 SRE 跟业务方喝了杯奶茶感谢他们的帮助,毕竟是我捅出的篓子,害几位老师跟我一起加班一个多小时,业务也有受到些影响。
    • I 人也得懂点这个人情世故啊,最近算是学到了一些。回想起来过去几年也弄出过几个大故障,但当时我的处理就没这么圆润,都没想过请个奶茶赔罪。花点小钱换个人情,大家都舒心,以后互相之间也能多担待点,这真的很重要。
  • AI 的进展层出不穷,另外很多相关东西噱头不小,搞得我现在有点厌倦 AI 了。
    • 调低了学习 AI 的优先级,暂时会用 Copilot 跟简单使用 LLM 就 OK 了。
    • 调高了操作系统的学习优先级,RISC-V 跟 Linux 作为近期的主要学习方向。
  • 发现我快三个月没写博客了,但真的没想到有啥好写的,之前起了个「Homelab All in NixOS」的草稿,但 Homelab 后面一直没迭代,看小说、徒步露营去了,没进展感觉写出来的东西参考价值不高…
  • 学习使用登山杖 -户外这 7 种常见的地形,登山杖的使用方法也各不相同 - Bilibili
  • 了解是否需要使用护膝:
    • 护膝不能久戴!只应在从事使用膝盖的运动(比如下山)时配戴护膝,运动完立即取下,避免膝盖周边组织缺乏刺激而退化。
    • 护膝能不带就尽量不带!与其用护膝保护膝盖,不如强化自身肌肉和韧带,自己保护自己。
    • 结论:登山杖必备,护膝尽量不带。或许新手期高强度运动时可以考虑带上护膝,但不要长时间带
  • 下午折腾 fluxcd 弄出个大故障,给新 k8s 集群部署 flux,从旧集群配置仓库 copy 删改,结果直接改到了旧集群配置,push 后旧集群一堆核心组件全部被删除(因为我都设置了 prune = true),namespace 进入 Terminating 状态无法恢复…在同事帮助下强制删除 Namespace,部署时又遇到 admission webhook 导致的循环依赖问题(A 需要 B 才能正常运行,但运行 B 的 pod 需要调用 A 的 webhook),修了三四个小时才修好。还好旧的非 k8s 环境还在,临时切换到旧环境顶了几个小时。
    • 主要问题一:之前在熟悉 fluxcd 的阶段开了允许 push 到主分支,上线 Prod 环境后也未回收此权限。导致了我修改完配置后直接 push 到了主分支,缺少 review 环节。
    • 主要问题二:集群的核心配置以及重要的有状态配置,都应该将 prune 设置为 false,避免误删。
    • 主要问题三:误删配置后重新恢复环境非常麻烦。一是在日常配置维护中很难保证配置不存在循环依赖,得使用全新的环境验证。二是在涉及 load balancer, volume 等资源时,这些资源的删除会卡住,恢复也麻烦。如果遇到核心资源被误删,最佳解决方式可能是直接新建集群,但即使如此,也得先做好这类预案,否则出了问题难免跟这次一样手忙脚乱,各种意外。
  • 买了个大疆 Osmo Action 4 徒步套装,2874 大洋,到目前为止五月份大概花掉 1W 了,钱不禁花啊…
    • 为了今年的徒步大业,我也是下了血本了…
  • 帐篷、65L 背包、登山杖、登山鞋等一堆装备到货,拆包裹、整理背包弄了一晚上。
  • 为了提前适应下装备,晚上睡了蛋巢垫跟充气枕,感觉还不错。考虑明晚试试在家睡帐篷。
  • 买各种徒步装备,算上去香港之前买的冲锋衣裤啥的一共花掉了六七千。
  • 读了朋友推荐的这篇长文比装备推荐更重要的户外知识:重装徒步入坑指南,学到挺多新东西。
    • 比较重要的一点是,气罐、带电打火的炉头、求生刀具等都是不能带上飞机甚至国内地铁的,所以我买的气罐跟炉头大概就只能在深圳香港用用了。
  • 上午 JD 买的东西都到货了,然后做了大半天准备。毕竟是第一次连续多天的徒步,而且还是在香港,查了小红书许多攻略跟路线、必备物品啥的。考虑到徒步中间可能找不到吃的,能量棒我也带了四五个(事实证明它们作用很大,啃两口就能很快恢复体力精力,而且我还带少了)。
  • 下午出境,首先买了 OPPO 9.9 元的香港流量包,然后坐地铁到深水埗(bù)地铁站整了张八达通,200 港币,其中 50 块押金,另外考虑到以后会常去香港,我又多充了 100 块。
  • 各种导航,首先坐小巴到西贡码头,然后查半天导航,坐九巴 94 路到麦理浩径起点。
    • 小巴要叫车才停,真的 I 人天敌,决定以后尽量选九巴,下一站前按个 Stop 这种才适合 I 人。
    • 导航本来是说坐到麦理浩夫人度假村站,但我一下没注意就坐过了,然后下车时第一次「掀钟」不熟悉,又过了一站才按到 Stop,结果就是在「北潭凹管理站」才下车(16:34),然后往回走了半个小时才到「麦理浩径起点」(17:09)。
  • 从「麦理浩径起点」往万宜水库的路上(大网仔路)看到很多出租车来来往往,联想到之前查的攻略,就知道这些出租车是为了接送徒步的人。我为了省 150 的打车费,就选择了坐九巴到起点。
    • 根据攻略,这些出租车应该大都是直接把人送到了西湾亭,我错估了从「麦理浩径起点」到「西湾亭」的距离,一直走到 18:34 我才到西湾亭。也就是说为了省 150 的车费,我多走了 2 个小时 (中间还休息过几波)。不过倒也不算亏,这两个小时的路上风景也还是不错的,而且基本没人, 体验非常棒!有种我很喜欢的孤独感。
    • 路上很多烧烤点,貌似是政府修建的,可以免费用,但没遇到过人在用这些烧烤点,可能季节或天气原因?
  • 在水库边的岔路上,我一番心理斗争后,选择了路线更近的西湾亭路线(根据攻略,这也是大部分人的选择),没走西贡水库水坝那条线。
  • 到西湾亭已经天已经快黑了,我有点慌,刚好有辆出租送人到这,我向司机问路,他好心地帮我指了路。从这里开始才是山路,前面两个小时一直走在大马路上,而且我的脚在走了两个小时后已经很痛了。
  • 接着就手机打着灯,一直走到 19:10 才到西湾村,看到第一个租帐篷的店,立马就整了套帐篷。押金 300 租一晚 200,跟国内比可能很贵,但跟香港劳动节期间 1300+ 的旅馆比已经性价比爆棚了!
    • 我之前的目标是到咸水湾租帐露营篷,但到西湾村的时候天已经完全黑了,而且一路心惊胆战地连续赶了三个小时路后我也累得不行了,在往西湾村的路上我就一直憧憬着西湾村总该能找到地方住,万幸它没让我失望。
  • 本来想吃口热乎的,但看到店里 55 起步的面食,我还是决定吃点自己的能量棒当晚餐。
  • 洗澡收费 30,但人太多了,我就没洗。晚上海浪声、旁边帐篷里人的说话声等,环境变化太大,睡不着,小说看到凌晨三点,然后跑去海滩上听了听海浪声,回来的路上一路被村民家的狗狂吠,惊出我一声冷汗,万幸我还懂点这种场面的处理方式,盯着狗看,慢慢后退。即使走得远了,我还是一步三回头,置到回到营地把门关上才松了一口气。并且明白一个道理 —— 晚上还是不要这么跳脱的好…
    • 西湾村手机信号挺好,但用的人太多带宽不够,很多站点怎么刷都刷不出来…
    • 想起 21 年看过的《走出荒野》,讲的是通过徒步自我救赎的故事,打算翻出来读一读但网络问题根本刷不出来。
  • 然后迷糊睡到了早上 7 点,出帐篷发现我这个营地人都走差不多了。想洗漱但意识到我带了牙刷却没带牙膏…因为最初是打算住旅馆的,谁 TM 知道居然没找到个便宜旅馆,香港的物价太 TM 离谱了,逼得我连夜赶路到这里来住帐篷。
  • 厕所也没上,早餐看太贵了也没吃,买了瓶 0.6L 的水(20 港币),07:24 直接出发了,早餐仍然是能量棒配水。
  • 07:58 到达我印象中全程风景最赞的地方 —— 接近咸水湾沙滩的一段步道。
    • 咸水湾营地这有黄色标牌,写着野猪出没。朋友也提醒过我,说它们不咬人,但如果你包里有吃的,它们会弄坏你的包。
  • 08:15 到达咸水湾沙滩,这里人很多,帐篷也很多。从这里开始接着是往赤径去,钻的就是山路了, 这一段不是海景,但也别有韵味。
  • 10:00 到达赤径,这一处水湾风景也很美!在这里玩了很久。
  • 10:30 到达赤径公厕解决了下个人卫生问题。意外发现赤径公厕个别涂鸦很可爱!随手一拍。
  • 接着是从赤径往北潭凹的路,同样是起起伏伏。路上遇到一泡插着鲜花的牛粪,很有意思,前面的女生蹲下拍照,搞得我差点以为花是她插的…
    • 一路上再怎么陡峭的步道上都能看得到牛粪,挺原生态的哈哈。甚至回去路上在西贡码头汽车站都看到了两头牛在绿化带上吃草。
    • 一路上脚踝酸痛得不行,非常痛苦。有一段累到直接坐在地上看了 20 分钟《走出荒野》。
  • 11:57 到达麦径二段的终点,走不动了,放弃挑战麦径三段,从「北潭凹」站坐 94 路九巴回黄石码头。
    • 我坐 94 路来又坐它回,从「北潭凹管理站」下车又从「北潭凹」上车,几乎是围着这一片走了刚好一圈,有点意思。
  • 12:30 到西贡市区,饿得不行,找一圈发现麦当劳居然是最实惠的——因为它价格跟国内差不多。于是搞了一顿麦当劳,发现公司有点事,因为今天我 Oncall,顺便拿出 macbook 处理了下公司的事。
  • 顺便去中银香港尝试开个户(碰个运气),结果没做好前期调研,说我开户理由不 OK,被拒了。网上一查这东西还有套路的,而且最好有 A 股交易记录,决定准备准备下次再战。
  • 累得不行,昨晚又没洗澡,一路上疯狂出汗,浑身气味比较感人。决定直接跑路回家。坐九巴 299x 路到沙田,然后转乘东铁线到罗湖,再坐地铁回家。
  • 回顾下,发现自己有点上头了,累得不行,脚都要废了,但明天还想找个步道走走。另外就是帐篷、登山杖之类的装备,立马就查资料整了一套,等着到货了。
  • 总的来说,香港西贡这块开发得更好,步道很多,原生态的同时路线也足够成熟,而且过来比深圳大鹏半岛更方便,期待下次再来。
  • 查攻略最有用的几个 APP:

我的路线(抄了近路) - Google Earth Map

香港地铁

深水埗(同埠)办八达通实体卡,因为计划常来香港玩

乘小巴到达西贡

乘上九巴 94 路去往麦理浩径起点

路边海湾

坐过了站,在北潭凹管理处下车

路上几乎没人,风景很好,很安静

麦理浩夫人渡假村

多走了半个小时公路才到达麦径起点,路上体验很好,主要是几乎没遇到人

到达万宜水库岔路口,往右是正经麦径,不过比较晚了,我抄近路走了左边。

一路上依旧遇不到人,远离城市跟人群的感觉很奇妙

风景很不错

瞅一眼路边地图看看我在哪

抄近路到达西湾亭,从麦径起点算用了一个半小时

走小路下山到西湾村

走到 M30 标距柱(每 500 米一个)时天已经黑了

快到西湾村了,路边开始出现路灯

终于到了,租了个帐篷露营,200 港币一晚,因为港币不够付了人民币

第二天一早从西湾村出发,M31 标距柱

原来西湾村过来没几步就是西湾营地,垃圾好多...

过了西湾营地开始上山,这张图漂亮

回望西湾营地

山上海景独好

这一段风景绝赞,全程最佳!

这段山路也很有味道

看到了咸田湾

咸田湾的独木桥

到达赤径,这片海湾很美,在这里休息了挺久

赤径公厕,还有人画简笔画,可爱

继续往北潭凹走,左侧指路牌

不知道是谁,在牛粪上插鲜花 emmm

到达 M044

柱子上的简笔画

到达终点的公厕

终点的指示牌

又坐九巴 94 路回西贡市区

到达市区,饿得不行到处找吃的

发现麦当劳是最实惠的,跟深圳差不多价。顺便处理个 Oncall...

这家店装修有点意思

理发店,香港物价...

这几家店面比较有年代感

西贡码头

  • 本来打算去香港,结果下雨,在家宅了一天。
  • 考虑到之后几天也可能下雨,在 JD 买了迪卡侬 MH500 冲锋衣 + 冲锋裤,这样下雨也能继续徒步。
  • 顺便买了两件速干 T 恤,徒步跟跑步都能穿,在户外洗了也能很快干。以及一次性内裤、一大 (1.5L)一小(0.6L)两个水杯。
  • 香港是英制插座,又买了个公牛的英转国标插头,这样如果移动电源没电了还能充电。
  • 偶然翻到有个坐高铁时买的统一方便面(拌面)一直没吃,于是就拿出来当午餐吃了,结果下午手脚就开始起红疹,一开始我还以为是蚊子咬的(非常像),又是 JD 下单蚊香液,又是涂「叮咬消消棒」,结果涂了没任何效果,到晚上疹子越来越多,接着就连成了片,我才意识到是过敏反应。想半天意识到我之前查过敏原医生给拿了西替利嗪,吃了一片,一个小时过去疹子就慢慢消退了。
  • 结果第二天下午又复发了,4/28 又吃了一粒西替利嗪。
  • 4/29 周一上班,过敏还没好但我有点担心不能一直用药压制,就没吃药。当天身上一直有一点疹子,不过没之前那么严重。
  • 4/30 早上还没好,有点怕是别的问题,请了半天病假看社康,医生说就是普通的荨麻疹,说西替利嗪继续吃没毛病,同时吃点维 C 效果更好些。另外就是想好的快的话就别吃高蛋白食物,比如鸡蛋、牛奶、牛肉、豆浆等。
    • 我意识到最近几天早餐午餐一直高蛋白制…大概这就是过敏一直没好的原因。
  • 最近业余又沉迷看小说,年初我几乎以为自己已经戒掉了的,但回想起来其实去年也断断续续看了一年。网络小说真的是我无聊时最喜欢的消遣手段。
  • 工作上在折腾 K8s GPU 集群,用了 openKruise 的 AdvancedStatefulSet + PVC 当缓存以加速扩容,效果很好。
    • 目前最大的麻烦是 fat containers 带来的健康检查难题,导致更新存在麻烦(不清楚新容器是否已经 ready)。
  • 这最近两周工作状态还不错,折腾 K8s GPU 集群进入状态了。
  • 周末本来想再去香港海边徒步,但是因为下大雨放弃了。宅在家边看动漫边折腾了下nixos-rk3588 - PR 28,弄了一天没搞定。
  • 想学学 AI,毕竟也是今年的三大学习目标之一,但是一直提不起劲来,看网上一些人从 Prompts 学起,但我因为看上了 D2L,心里觉得非把它看完不可,但又因为难度跟兴趣问题,一直卡在这里没动静。
  • 其实也对 Linux、RISC-V 感兴趣,但是感觉学 AIGC 更重要而且对我更有用些,总之现在就卡在 AIGC 这了。
  • 到香港海边步道逛了一下午,从深圳一号线到口岸转香港东铁线直接到维多利亚港,在维多利压港玩了几个小时,然后沿着海边一直走到步道尽头,花了好几个小时。香港的海很漂亮,比深圳好看多了。香港海边人也少很多,深圳湾烂泥滩旁边的步道人数都是香港这条线的好几倍(听说深圳湾以前真的是海边,但填海造路使它成了现在的烂泥滩)。
  • 是一场说走就走的旅行,临时起意,东铁线坐了一站突然发现网没了、手机没半点信号,惊慌之下又出站再往回坐然后连国内网络开漫游功能买流量包…所以上水到罗湖这一段我今天坐了两个来回… 多花了 50 块钱,价格有点离谱。
  • 香港确实是国际化大都市,跟深圳的气息很不一样,海边随处可见的酒吧,比例非常高(景点可能有四五成都是外国人)的外国游客跟在香港工作的外国人,让我感觉到了一种国际化的氛围。但说繁华程度的话深圳倒没差多少,香港确实是衰落了。
  • 香港的特点大概是小而美,各种店铺都非常小,但弄得比较精致,能看得出花了心思。相对而言深圳的商场店铺就大气很多了。
  • 另外发现香港地铁一是比深圳贵两三倍,二是建筑设计语言跟地铁车内部都跟深圳非常相似,语音播报更是一模一样,也一样的干净整洁。跟朋友聊了解到国内深圳地铁跟香港地铁是有合作关系的,大概跟这个有关。
  • 另外可能有点水土不服,我发现香港的饭菜我吃不了,吃了个猪扒饭回家就上吐下泻…
  • 哦还顺手办了个众安虚拟银行的卡,连的维多利亚港免费 WiFi,能直接访问 Google/Youtube,延迟非常低,很舒服。
  • 来回的地铁上都在看《这才是心理学》,看了大半了。

  • 阅读《这才是心理学 - 看穿伪科学的批判性思维 第 11 版》半小时
  • 确认了复合维生素能缓解安非他酮等药物带来的恶心、反胃等副作用,打算持续吃了。
  • 带我妹复诊,她这次过来感觉又开朗了许多,但读书还是不太能集中精力,医生这次给她开了专注达,很期待效果。
  • 看完医生跑去仙湖植物园,爬了山,看了空谷幽兰跟荫生园两个植物园,拍了很多照片,很开心。但因为是临时起意准备不足,玩到中午就饿了,至少返程,返程的导航给我们带到了梧桐山上,爬得好累。抱怨了一路,说为什么逛植物园还要爬山 emmm
  • 另外跟药哥约好了下周开始读心理学的书,每周五晚上一次读书会随便聊聊。得看书了!

  • 更新了些 KubeVirt 集群的文档,添加了 K9s 截图。
  • 添加了 Private CA,所有内网服务都使用了私有 CA 签发的证书,证书通过 NixOS 自动部署到所有主机中,非常舒服。
  • 把 ruby/kana 上运行的所有服务都迁移到了 rakushun 这块 Orange Pi 5 Plus 上面。
  • 使用 kubevirt 替换 Proxmox VE 集群(三个节点),并启用 LUKS 加密 - 100%
    • 搞定了在 KubeVirt 上运行 Windows 虚拟机,完成了整个替换工作,longhorn 跑分布式存储,非常舒适,VM 可以在三台主机上无缝迁移。之前用 PVE 迁移的时候还会有个磁盘传输的过程,现在是分布式存储,迁移更快更稳定了。
    • 接下来还有一些工作,主要是在 KubeVirt 里运行 K3s 集群,以及 Windows Server 作为 NAS 服务器,它们之前都是在我 PVE 上运行的,迁移后需要在 KubeVirt 里重新部署。
  • 小组团建,上午一起爬了深圳凤凰山(鲲鹏径),中午吃了福满楼的点心。
  • 晚上逛 B 站看到了这个在中国铁路再次上演《你的名字》名场面,拍得太好了,哭得像个傻子。
    • 它让我想起 2021 年我的一次高铁之旅,当时写下了月宫。车到了站,下来站在站台上,眼泪就那样涌了出来。
  • 将 tailscale-gateway 跟 dae 软路由两台虚拟机迁移到了 Onrage Pi 5 上,使用 microvm.nix 运行它们
    • 使用 microvm.nix 运行 NixOS 虚拟机,体验非常好!/nix/store 直接跟宿主机共用而且是只读,根目录默认是 tmpfs,持久化数据需要额外挂载 img 镜像,同时还具有了完整的网络协议栈跟独立的内核,既轻量又不损失功能。
  • 将一台 PVE 主机彻底换成了 NixOS,并在上面跑了 K3s + Cilium + KubeVirt,打算后续就使用它做虚拟化了。
    • 其实 MicroVM 就能满足我的大部分需求了,但 KubeVirt 功能还是强大很多,而且顺便也能学点技术。
    • Server 比较轻量,不需要 bootstrap 的配置,直接部署完整的 NixOS 配置就行(secrets 与 LUKS key 目前通过一个单独的 U 盘提供)。
  • 对 NixOS-CN 文档站做了一些更新,将 sidebar 调整为默认展开,方便阅读,另外还补充了一些国内网络相关的解决方案。
  • 尝试在 Orange Pi 5 上运行基于 eBPF 的某代理程序,遇到了许多问题
    • 首先遇到的是,不存在 ksm 内核模块,因为这是一个基于 armbian/rockchip 的定制内核,它默认关掉了许多内核模块。需要修改内核参数生成新的 .config 文件,然后重新编译内核。
    • 恰好前两天有人给我的 nixos-rk3588 提 issue 说他将内核升级到了 6.1,发现在 UEFI 下无法启动。就决定直接在 6.1 的内核上添加一些缺失的模块,新内核用着也更爽一点 emmmm 弄了挺久的,最终发现 EDK2 不支持 6.1 内核的 dtbs 设备树,通过一些手段可以解决。此外内核模块列表也做了许多调整。
    • 东西都解决后,为了隔离环境,我一开始尝试使用 microvm.nix 来运行此 ebpf 程序,遇到了 agenix 在 microvm.nix 中出莫名其妙的问题,原因大概率是 bash 脚本太脆弱了,microvm 的环境可能有些不同。弄得有点心累,暂时放弃迁移了…
    • 我虚拟机里跑的代理也出了点问题,不过好在有每日自动备份,restore 了一个旧版本,问题解决。虚拟机的快照功能真香啊。
  • 给 nix-config 加了些新测试,发现并修复了一些之前没发现的 bug,同时也避免未来再出现同类问题。
  • 最近各种想法很多,nix-config 仓库经常建了很多分支,然后功能还没弄好,又有了新的点子,结果就是多分支开发,互相冲突… 目前的解决方法就是,在发觉难以管理的时候,先把一些未完成的分支 merge 掉,降低维护成本,后面想推进它们了再提新的 PR 完善这些 WIP 的功能。
    • 这里的问题是,我各种想法不是按一定顺序出现的,经常是在做 A 的过程中遇到了些问题,然后想到了一个解决方案 B,B 跟 A 可能并无关联,但我又想尽快验证 B 的可行性(想法不抓住,后面可能就再也想不起来了),于是就开了个分支去验证 B. 这样就导致了分支越来越多,互相之间冲突的概率就越来越大,越来越难维护。到了某个时间点,我就会一次性把旧的分支全 merge 掉,降低维护成本…
  • 持续迭代使用 NixOS + KubeVirt + FLux2 取代 Proxmox VE 的方案,方案基本调通了,时间主要用在了解决这些问题上:
    • K8s 集群中部署的 Controller/Operator 删除非常麻烦,它们会创建各种 CRs 并添加 finalizer,一旦删除顺序不对就会导致 CR 无法删除,这个问题在 Pulumi 时就遇到过,当时以为 Flux2 可能自动能解决这个。但现在看是 K8s 自身的问题,必须通过手动在 Pulumi/Flux2 等工具中声明好依赖关系,才能保证删除顺序正确。另外 victoria-metircs 等个别 operator,即使删除顺序是正确的,也会因为它设置的许多保护策略导致无法删除,必须手动一个个确认并删除 (繁琐,但我能理解这么做的目的,确保不丢数据)。
    • KubeVirt 的 Multus-CNI 插件在 k3s 上无法正常工作,各种报错导致 Pod 都无法删除了(删除也要调用 CNI 插件,但插件不工作),因为这个问题,以及上面提到的集群数据删除很麻烦的问题,我在测试 KubeVirt 的时候借助 Proxmox 的虚拟机快照重置了好多次集群状态。
    • Flux2 的同步速度比较慢,每次改完配置再跑 flux reconcile 但是要等好久才能同步完成,这也严重拖慢了我的迭代速度。但为了保证集群环境的可复现性,又没有太好的办法。好在配置调好后,内容基本不会有大的变动,所以这个问题也不是很大。
    • longhorn 的分布式存储倒是部署上就能用,UI 面板也挺友好,出问题能给出关键信息,好评。
  • nixos-cn.github.io 提了几个 PR 补充内容,同时对完善该文档产生了兴趣,提了个Issue 18 寻求项目 Owner 的意见。

当前的 Homelab 改造进展:

  • All in NixOS,做到 99% 的声明式配置
  • 监控系统迁移到 NixOS(Prometheus + Alertmanager + Grafana + Uptime-Kuma) - 100%
  • 网络设备迁移到 NixOS(dae 旁路网关 + tailscale 网关) - 100%
  • K8s 集群迁移到 NixOS - 100%
  • 将 Homelab 监控、Git 仓库、旁路网关都迁移到一块 Orange Pi 5 上,并启用 LUKS 加密 - 100%
  • 这是 KubeVirt 改造的前置工作,这三项服务都需要最高的稳定性,也被 kubevirt 依赖,因此需要放在 kubevirt 集群之外
  • K8s 集群使用 Flux2 进行 GitOps 式自动配置 - 100%
  • 两块 RK3588 板子启用 UEFI + NixOS + LUKS - 100%
  • 使用 kubevirt 全面替换 Proxmox VE 集群,并启用 LUKS 加密 + Secure Boot - 50%
  • 方案已经在 PVE 里的一个 k3s 集群上通过验证,接下来是替换工作。
  • 基于 restic 与 rclone 做 Homelab 数据加密备份与版本控制 - 0%
  • 监控节点(hostname=ruby)性能给得够高,将其同时用做 homelab 的控制节点,方便我在 macOS 上进行 homelab 的管理与更新 - 100%
  • 又对 NixOS & Flakes Book 做了大量更新,主要是各种小问题的修复。
    • NixOS 群友建议使用 pre-commit-hooks 自动调用一些 spellchecker/markdown-formatter 等工具,试了下帮我解决了大量的格式问题与拼写错误,非常好用!已经把这个也抄到了我其他项目中。
  • 拿到了护照跟港澳通行证,要开始摇人一起去香港新加坡玩了~
  • 参加 2024 玄铁 RISC-V 生态大会,第一次亲眼见到中国科学院院士做报告,挺开心的。一整天听下来,对如下几个报告的印象比较深刻:
    • 倪光南院士对 RISC-V 的开篇介绍,大概芯片工艺与指令集架构的发展历程,并引出了 RISC-V 的优势:开源开放、模块化、Chiplink 技术。
    • 包云岗(一生一芯项目以及香山开源 IP 发起者)阐述了 RISC-V 技术变革的定位以及它未来可能的几种商业模式。
    • 郭松柳(中科院计算所)介绍了他们在 RISC-V 软件生态上的工作,包括支持 RISC-V 的操作系统、周边软件生态支持等等。
  • 另外因为也约到了 0xFFFF 的朋友一起去,他又叫上了深大电信协会里对 RISC-V 感兴趣的几位同学,在听完报告后,我们也聊了很多关于 RISC-V、X64、ARM、MIPS、LoongArch 等架构的话题,感觉很有意思。
    • 我是业余玩家,对指令集的了解不多,底层的指令细节主要是在听他们聊,感觉还是很有意思的, 也学到了不少东西,对 RISC-V 起了更多的兴趣。
  • 会议结束后,我跟朋友又在展厅完了很久 openKylin 展出的 LicheePi 4A 跟 Milk-V Pioneer,测了 Chromium 的渲染性能、ffmpeg 的编解码性能之类的,也拍了 64 核的 htop 监控图,超好玩!
  • 之后又跟他们去了深圳大学丽湖校区吃了学校的晚饭,学校很漂亮、饭也很便宜很香。完了又在学校里逛了得有一个多小时,拍了很多照片,体验了小半天校园生活,梦回大学时代哈哈。
    • 深大真的很有钱,学校里的设施都很好,校园环境也很漂亮,又很大,这次游玩的体验很好。
  • 偶然在 NixOS 中文群聊天,guangtao 老师提出可以用 overlays 来解决 darwin 的 broken packages 问题,非常好用:Refactor: Remove darwin packages
  • 继续研究 ArgoCD 跟 Flux2,发现 ArgoCD 的文档很乱,HA 的架构也比较复杂。Flux2 的文档相对清晰许多,而且架构简单,使用方便,所以决定在公司的几个项目跟我个人 Homelab 上都使用 Flux2 来管理 K8s 集群。
  • Nix 配置少量重构,添加 Eval Tests 跟 NixOS Tests,并且修了一堆之前重构导致的 Bug,之前因为没有测试,有些 bug 现在加了测试才发现。
  • 更新 NixOS & Flakes Book 的部分内容,许可证从 MIT 替换成了更适合文档的 CC-BY-SA 4.0。
  • 搞定了 NixOS RK3588 + UEFI + tmpfs + LUKS,上到了我的两块 Orange Pi 5 / Plus 板子上。
  • 之前尝试在 Homelab 上使用 Pulumi,但遇到比较多的问题,放弃了。跟 @Kev @Viz 聊过后,在他们的推荐下,转而开始研究 ArgoCD 跟 FLux2 两个 K8s GitOps 工具,打算上线到 Homelab。
  • ryan4yin/nixos-rk3588/pull/19: 搞定了 ISO 镜像在 UEFI + NixOS 模式下启动失败的问题,解法是直接生成 Raw Image 而不是 iso 镜像。
  • ryan4yin/nix-config/pull/74: 尝试在 RK3588 上添使用 NixOS + LUKS + Secure Boot 启动。
  • 报名参加了 3/14 的 2024 玄铁 RISC-V 生态大会,因为是周四工作日,还提前请了假。Pi Day 玩玩 RISC-V,感觉很有意思。
    • 呼朋引伴,拉到了 0xffff.one 社区与其他对 RISC-V 感兴趣的朋友一起去。
  • 这两天搞 ARM 板子,对继续更新 nixos-rk3588 跟 nixos-licheepi4a 又起了兴趣,打算把它们搞得更完善一些,对已有的 Issues 做了些整理,也跟几位 issue owners 做了些沟通。
  • 认识了 dae 社区的新朋友,聊 NixOS 跟 CloudNative 等话题,聊得火热。
  • 探索 NixOS + K3s + KubeVirt 这套虚拟化方案,遇到一些难点:
    • 虚拟机需要使用 underlay 网络,接入到宿主机的网桥上。但直接桥接好像说会导致无法热迁移, 这个研究了很多。
    • 为虚拟机分配静态 IP 地址,毕竟 K8s 默认使用动态 IP.
    • 分布式存储方案,因为虚拟机数据是在 PVC 里的,如果不使用分布式存储,那么机器就无法迁移到其他节点上了(文档只说了热迁移要求这个,但我感觉非热迁移显然也会有问题吧)。
  • 一开始尝试使用 pulumi 来声明式地配置整个 KubeVirt 集群,测试代码ryan4yin/nix-config/pull/71,但发现用 pulumi 管集群确实不太爽快,尤其是它对依赖关系的处理很不好。destroy 时它先把我 operator 的 pods 给删掉了,但后面删除 CR 时又得由 operator/controller 完成 finalizer 操作,结果就是删除无法成功…
    • 跟 Kev/Viz 两位朋友聊了后,决定换成 flux2/argocd 来以 GitOps 的方式管理整个集群,貌似它们有些黑科技能自动识别到这些依赖关系,总之不会出现先删掉我 operator/controller 导致 CR 无法清理的问题。
  • 如果使用 KubeVirt,可 KubeVirt 一是它比较复杂也没那么成熟,肯定没 PVE 那么稳定,二是它需要拉取镜像,这最好是过一下我软路由。所以软路由、Git 仓库、Homelab 监控等组件,就得单独部署,不能跑在 KubeVirt 里面(我依赖我自己这种架构,出了问题没法修)。
  • 所以就决定把软路由(dae)、Git 仓库、Homelab 监控等组件单独部署到一块 ARM 开发板上,但安全起见也要设置 LUKS 加密。接着就开始折腾我的 Orange Pi 5 跟 Orange Pi 5 Plus 两块板子。
    • 以前使用的直接 dd 的方式不兼容 LUKS 加密,而且我之前做的镜像也无法在 Orange Pi 5 Plus 上从 SSD 启动,于是又研究了一晚上的 EDK2-RK3588,想看看用 UEFI 的方式能否解决此问题, 结果是能进 Grub,但接着 NixOS 怎么启动都是一直报错。
  • 朋友聊到 BTC 大涨,看了下币安发现我的加密货币也涨挺多,SOL 更离谱,涨了十多倍。
  • 顺便就聊到了什么把加密货币变现的问题,需要借助香港银行账户、护照这两个东西,又考虑到今年本来就打算旅游,直接申请了下周一去办护照跟港澳通行证。
  • 后面再看看我妹的护照跟港澳通行证要怎么办,需要哪些材料。这样后面她过来就可以一起去香港跟国外玩了。
  • 早睡早起,晨练。尝试了下早起打光剑,仍旧会导致呕吐…看来早上锻炼前不吃点东西是不行的。
  • 发现通过 ssh -A xxx 将桌面电脑的 ssh-agent 临时提供给控制节点 ruby 使用,可以免去在服务器上保存私钥带来的安全隐患
  • 看《葬送的芙莉莲》
  • 尝试将一台 PVE 节点替换成 LUKS 加密 + BTRFS 文件系统,大败北
    • 首先发现 PVE 的安装程序不支持 LUKS 加密,必须首先安装 Debian,然后再安装 PVE 来实现。或者先安装好 PVE,然后再手动加密整个磁盘。
    • 尝试使用 disko 自动分区、LUKS 加密、挂载 BTRFS,用得非常舒服,比手动跑一堆命令要方便太多了。
    • 使用 debootstrap 安装 Debian,也遇到一些问题,在花了许多时间后都解决了。
    • 最后安装 PVE 时,发现它对文件系统的分区以及文件系统都有些要求,太脆弱了,遇到各种报错,最后放弃了。
  • PVE 没搞定,而且也不太喜欢这种不可复现的系统,刚好最近看到说 kubevirt 发布 1.0 了,打算直接上 NixOS + K3s + kubevirt 来搞虚拟化。正在研究中。
  • 工作上梳理了下 Q1 要干的活,目标是啥,有哪些痛点难点,以及在这些痛点难点上有哪些可以做的事情,这样得出了一个初步的工作计划,然后开始正式推进 Q1 工作。
  • 业余技术上也没写啥东西,同样是做了些梳理与规划,更新了些相关文档。
  • 春節正式結束,開始了新的一年的工作,不過還沒咋進入工作狀態。
  • 搞了下 Homelab,將之前弄的三臺 NixOS 主機分別擔任監控、應用、路由器三個角色:
    • 使用 NixOS 部署了 Prometheus + Node-Exporters 監控系統,一些好用的 Grafana Dashboards,用 caddy 做反向代理。
    • 負責應用的 NixOS 主機上部署了許多應用,如 Homelab, SFTPGO, Uptime-Kuma 等。
  • 加了一個 6 節點的 k3s 集羣,並嘗試使用 pulumi 來聲明式 + GitOps 地管理整個集羣配置,但還沒搞定。
  • 弄了一天的 NixOS Router 跟 dae 配置,完成了这个 PRryan4yin/nix-config/pull/60,并且删掉了之前的 OpenWRT 虚拟机,离 All in NixOS 又近了一步。
  • 大年初一,拜年,吃饭。
  • 考虑到今年打算国际旅行,研究了下护照、签证、目的地选择等相关事宜。
    • 港澳通行证应该挺好办,找个时间先弄了,出个大陆。
    • 热门目的地(目前这几个都爆火,人太多了,而且贵,感觉 5 月份之前都不太适合?):香港、新加破(免签)、日本、泰国、马来西亚。
    • 日本签证的话,查了下我应该能申请到三年多次旅游签证(年收入超 20 万),价格七八百的样子。
    • 非深户在深圳办理出国护照指南
    • 我妹可能只能在湖南省办理护照,这个也得研究下
  • 帮我妹弄了个 Copilot,她对弄个人网站感兴趣,又把前年国庆给她弄的 Hugo 站点捡回来搞了下。
  • 在 NixOS 中文群水群,跟群友聊了 Nix/NixOS 当前文档上的一些问题:
    • nix.dev 的 sidebar index 很散乱,完全没搞明白自己的定位。尤其是里面 NixOS 这一块塞了一堆杂七杂八的东西,搞得又好像个 wiki,根本不适合新手学习。
    • nix.dev 的定位是 Nix 教程,从涵盖入门到深入学习的各种内容。但它现在的结构不太匹配这个定位。另一方面这也是说,官方目前根本没有 NixOS 的新手教程。
    • Nixpkgs/NixOS 的文档没有分页,对 SEO 跟阅读都很不友好。
  • 另外也聊到了 nix flake lock –update-input 这个命令已经被废弃了,现在推荐用 nix flake update xxx 来更新 flake 的依赖。
  • @碎冰冰发消息说搞定了他的博客,我一看第一篇文章就说减掉 45Kg, 懵了,差点以为单位错了…太猛了,我宣布以后碎冰冰就是我偶像了😍
  • 坐高铁顺利到家~ 开始在家摸鱼的生活了。
  • 从头开始重新学 Dive into Deep Learning
    • 前面数学基础知识花了挺多时间,然后看神经网络时,还是有很多知识点的 gap,跟我很久以前尝试学 AI 的感觉一样。不过以前因为没看到过实际惊艳的效果,缺乏坚持的动力,这次应该能克服。
    • 从实操代码开始,英文版跟中文版就出现了比较大的区别,主要是英文版完全改成用 Class 的方式来组织代码了,而且 PyTorch 变成了默认框架。所以从线性神经网络这一节开始,以英文版为主要学习材料。
  • 公司年会,今年的年会公司意料之外的壕气,每人发一台 iPhone 15. 老板还说本来想订 140 台遥遥领先,但余承东说他没货,只能换 iPhone 15 了,真壕哪。
    • 然后年会的抽奖奖品也比前两年提升了一个档次,记得前年最高的奖是瓶茅台,还是某位 Owner 私人捐赠的。今年这种级别的奖品好多件。
    • 再然后就是也少了一些随机选人上台回答问题或者做游戏的尴尬环节,我这种小透明可以更放松地享受年会。
  • 发的 iPhone 15 当晚拆开自用了,打算跟 Android 换着用,体验下两种不同的硬件跟生态。
  • 发了两篇博客
  • 对深入学习 NixOS 产生了兴趣,读了些the Nix community RFCsNixpkgs PR 等相关资料。
    • RFC062 - content-addressed-paths
      • 受到许多 Nix 用户关注的一个实验特性。它从包的 output 计算其 Output path 与对应的 Hash 值,固定的 Output 总是输出到固定的地址。
      • 这一是能减少许多重复的构建(许多包可能因其 Input 不同而被重复构建,浪费资源),二是可以替代掉旧的基于 public key 的缓存信任模型(拉下来的缓存只要地址跟源码能匹配,那就肯定没有被篡改过)。Content-addressable storage 是一个在存储领域被广泛用于数据可信校验与数据去重,比如你在 QQ 里上传一份,有时候发现它几个 G 的数据一两秒就上传成功了,这实际根本没上传数据,只是对比了下文件 Hash 发现 QQ 线上已经有这个文件了。
      • 该特性最大的改变是,以前 Nix 是从 Derivation 的 inputs 计算其 output 路径,包定义也只锁定了 src 源数据 的 Hash 值。因此在执行构建之前,一个 derivation 的 output 路径就已经被确定了。而 CAS 这个特性则必须通过构建结果来计算其 output 路径,因此 output path 必须在构建完毕后才能给出。
      • 这其中可能存在的问题是,有些包的构建结果并不是确定性的,比如你构建两次 glibc,可能会因为时间或其他随机因素而产生不同的结果。
    • Nixpkgs Maintainers 说明: 虽然目前我也没维护啥包,但确实有些兴趣参与一下,读了下要求。
    • Nix RFC 指导委员会的会议纪要: 讨论各种社区提出的各种 RFC
    • RFC146 - 使用类似 tag 的方式对 packages 做分类: Nixpkgs 确实一直缺少一个好的分类方式,在基于文件夹的分类方式已经被[RFC 0140] Simple Package Paths 取代的背景下提出这个特性,我觉得是个非常好的想法,希望它尽快落地!
    • RFC134: 跟项目复杂性,可拓展性有关的 PR, 看着是个很不错的想法,正在落地中。
    • CLI stabilization effort: 我已经跟进这个 Issue 有一段时间了,目前看年底大家都放假,没啥新进展。
    • [RFC 0165] Bootspec v2: 强化对嵌入式相关的设备树的支持,加强 initrd secrets 的安全性等,挺不错的
    • [RFC 0166] 官方的 Nix 代码格式化风格: 有一说一,Nix 的代码格式化确实很混乱,是个好 RFC,希望尽快落地…
    • Official NixOS Wiki: 这个是前一阵看到的,NixOS 终于又要搞官方 Wiki 了,泪目。
  • 查了下 NixOS 的 Google Trending 与 Nixpkgs 的 Contributors 趋势,发现
    • @NickCao @Figsoda @bobby285271 等几位国内的活跃贡献者几乎都是从 2021 年开始参与贡献的,Top N 的 @SuperSandro2000 @fabaff 等好几位也是这个时间段。
    • 2021 年 Nix 最大的变化,应该就是Nix 2.4 引入了--experimental-features 这个 flag,并发布了 Flakes、The New Nix CLI 以及 content-addressed path 三个实验性特性。Flakes 大大加强了 NixOS 的可复现能力,大概因此而吸引了一大批用户的关注。实际上这也是我在 2023 年被 NixOS 圈粉的主要原因。
    • Nixpkgs 的 commits 图也是一个明显的上升趋势,整个项目都是越来越活跃。
    • RFC 流程也运行得越来越好,Flakes 等遗留问题也从 2023 年开始提出了明确的解决思路并已经推进了一部分。此外整个 Nix 社区的组织架构也越来越完善,
    • 总体看,我觉得 NixOS 的未来很光明。
  • 调整 2024 年的目标,Guix 折腾了一波觉得还是没 NixOS 香,加上目前看 NixOS 社区相当活跃, 决定重点投入 NixOS 而不是 Guix.
    • 也在考虑是否通过 Rust 语言来学习操作系统。最好是学了 Linux 跟 Rust 立即就能写点有用的程序。
  • 对 nix-config 做了比较多的改动
    • 尝试了在 Hyprland 下使用 sunshine/rustdesk 当远程桌面,全部失败,wayland 下的远程桌面方案稳定性仍旧很差。
    • yabai 在 macOS 14.3 Intel 下无法正常工作,排查到 6.0.7 解决了这个问题,但 Nixpkgs 里仍旧只有 6.0.6,所以 override 了一下解决了问题。
    • 将旧的基于 Ubuntu 22.04 的 tailscale-gateway 虚拟机替换成了 NixOS,非常舒适。
    • 尝试使用 NixOS + dae 作为 bypass router 替代掉我当前的 OpenWRT 旁路由,加了点初步的配置,但还没开始测试。
    • 将所有 Hosts 的静态 IP、网关配置集中管理,方便以后修改。
  • 研究了 OpenSSH 与 GnuPG 的密钥安全性,并据此重新生成了所有个人 SSH 及 PGP 密钥对。它们的 passphrase 也全部使用了新生成的随机密码,专门编了些小故事来记忆它们(毕竟人类擅长记忆故事,但不擅长记忆随机字符)。
  • 更新了一遍我所有重要账号的密码,以及 backup codes,全部保存在了我的 password-store 中。
    • 改了近 30 个账号的密码,包括微信、QQ、GitHub、Google、Microsoft、等等。
  • 使用新生成的 GPG 新密钥对重新加密整个 pass 密码仓库,清理整个 pass 仓库的所有历史 commit,确保只有新的密钥对能解密其中数据
  • 做了完善的数据备份,所有备份数据全部通过 rclone 加密存储。
    • rclone 的加密配置保存在 secrets 仓库中,而 secrets 的恢复密钥当然不能用 rclone 加密存储,否则就死锁了。所以我将 secrets 仓库的恢复密钥使用 age 对称加密后再存储在备份盘中 (passphrase 与 GPG 一致以避免遗忘)。
    • 其实 secrets 仓库恢复用的 SSH 密钥本身就有 passphrase,但 OpenSSH 自身的加密算法不够 morden,所以再用 age 加密一层会保险很多(即使使用的是相同的 passphrase)。
  • 在去年发的帖子中更新了最新进展:学习并强化个人的数据安全性(持续更新)
  • 读了一遍 Wayland 官方文档,大概了解了 X11 的缺陷,以及 Wayland 的改进。大概意思就是去掉中间代理商 X.org Server,让 Compositor 自己直接跟内核通信,同时 Application 也直接通过共享内存的方式自己渲染,结果上就是比 X11 好许多的性能, 以及比 X11 精简非常多的协议实现。Compositor 跟 Application 都获得了更大的自由空间,这也激发了社区的创造力。所以在 wlroots 这个工具库之上,出现了许多活跃的现代化的 Compositor 实现,比如说 Hyprland.
  • 调研了下支持 Wayland 的远程桌面方案,在 X11 上是有很多成熟的方案可选的,比如说ssh -X/RDP,而在 Wayland 上,目前看(2024-01)比较 OK 的方案有(待测试):
    • waypipe: 一个类似 ssh -X 的方案
    • 据说 rustdesk 目前对 wayland 的支持比较 OK
    • 也有很多人推荐使用 sunshine + moonlight 这套游戏串流方案。
  • 研究了一波所有 rust/go 重写的摩登命令行工具的简单使用及区别:eza/bat/sad/duf/dust/gdu/fzf/ripgrep/fd 等等。
  • 因为跟朋友聊到 Emacs Magit 插件好用,他向我推荐了类似的 TUI 工具 lazygit 跟 lazydocker, 确实也都很好用,而且比 Emacs 轻量、对新手更友好。
  • 读了点 NixOS 创始人的论文:The Purely Functional Software Deployment Model
  • 朋友 @碎冰冰 问了下「你在学一个新的技术或者框架的时候,是怎么做的笔记?我看技术书籍老觉得有时候做成了抄书,有时候看二手资料,也觉得有点一叶障目。」
    • 我的回答:
      • 我以前自学了点分布式系统,做了这个笔记:https://thiscute.world/posts/consistency-and-consensus-algorithm/
      • 我学这玩意儿的时候看的各种资料,都只讲了作者自己想到的某个方面,没有任何一篇文章能完整地解答我的疑惑。
      • 我带着疑问,通过查阅各种资料,把我想知道的东西全部汇总到了一起,结果就是这篇文章。其实里面绝大部分数据都是抄的,但我觉得写出来自己还是清晰了不少。
      • 而且我也相信我做了一些别人没做过的事情,因为我自己的这篇文章能解答我学习过程中的疑惑,但我看过的其他任何一份资料都做不到这一点。
      • 所以我觉得,内容是不是抄的并不重要。最核心的是,要带着疑问去做笔记,笔记里要有自己的思考在
  • 了解了下 canokey 跟其他硬件密钥方案,以后有兴趣自己搞几个看看。
  • 学习了下如何使用 NixOS 当路由器用,目前第一步是用它替换我的 OpenWRT 旁路由。
    • 这个旁路由目前只有一个功能:帮我「流畅上网」,因为 clash 已经跑路了,目前打算换成 dae 来加流畅上网功能。
  • 用了几天 Emacs Magit,确实非常香啊!已经爱不释手了,比记一堆 Git 命令要方便太多了。
  • 继续补充更新了一波我的个人加密方案文档,文档目前在我的私密笔记中,打算近期开始实施。
    • 其实也没有那么急,有兴趣的时候就折腾一下,一两个月内搞定就行。
  • 重新梳理了下我 2024 年的兴趣与目标,更新了 /now 页面以及 /2023-summary 中的 2024 年展望。
    • 技术上的三个核心目标:搞搞 AIGC、学学操作系统、了解下 Lisp/Emacs 生态圈
  • 补充更新我的个人安全加密方案文档。并且研究了 LUKS2 加密的安全性,发现它的 argon2id KDF 算法可以手动设定迭代次数,这样可以大幅提升破解难度。这跟我以前学的密码学知识对应上了。
    • 进一步考虑,OpenSSH 私钥的 passphrase、GnuPG 的 passphrase 强度分别有多高?确实还没研究过呢。
    • 调研了跨平台的全盘加密方案,最后发现 rclone 自带的加密功能应该是最好使的,而且还能同时将数据加密备份到七牛云/青云/阿里云等云服务商提供的免费对象存储空间。看了下其安全性应该也足够。
  • 因为渐渐意识到 Nix 设计上存在的一些缺陷,正在尝试折腾 Guix 跟 Guile 语言。
    • 目前只能说没有银弹,Guix 也有它自己的缺点…
  • 学习了 Emacs Magit 拓展的用法,确实挺香的。
  • 买的 U 盘到货了,写了一晚上的个人数据安全方案,梳理了下我所有的隐私数据,初步考虑清楚了如何做多备份、如何加密、如何灾难恢复等等。
    • 密码尽量设计得够随机且复杂度高,然后尽量通过复用密码来减少记忆负担,定期回顾密码,或者确保日常会经常用到这些密码,避免遗忘。
    • argon2 的迭代次数设置得尽可能高,提升破解难度。
    • 根据数据的重要级别与日常使用频率对数据进行分类,然后分别采用不同的加密方案、分别保存在不同的 U 盘上。
    • U 盘需要定期检查(暂定半年或一年一次),防止数据损坏。

NixOS 小书满 1k stars 了!

  • 注销印象笔记账号,使用 evernote-backup 跟 evernote2md 两个工具将我的私密笔记迁移到了一个私有 Git 仓库,用 GitJournal 在手机上查看编辑笔记。
  • 考虑到笔记跟其他各种数据的安全性,买了一堆 U 盘,用于重要数据的双备份,打算全部 LUKS 加密存储,LUKS 解密密钥交叉保存在不同的 U 盘上。
    • 简单的说就是,一定要两个不同的 U 盘都在手上才能解密其中的数据。
    • 以前对安全的考虑不多,曾经把各种重要账号的 backup_code 直接保存在百度云盘或 onedrive 上,一些密码经过简单的转换后直接写在印象笔记中。隐患挺大。这次加密备份方案上线过程中, 也打算同步更新一次所有的 backup codes 以及主要账号的密码。

注销了从大一用到现在的 evernote 印象笔记,数据都迁移到了 GitJournal

买了一堆 U 盘,用于 GPG 密钥等数据的双备份,LUKS 加密存储

  • 偶尔想起,在 NixOS TG 群里提到我电脑重启经常报 /dev/xxx is not a LUKS devices,NickCao 立马问我是不是有多个磁盘,问题马上就定位到了,万能的 NickCao!
  • 读了一遍 Vim 的官方文档 https://vimhelp.org/,深入学习了 Vim 本身的使用。
  • 又过了一遍 Helix 的 :tutor,Helix 确实精简非常多,键位设计上 motion 前置用着确实更舒服一点,值得一用。
  • 对 2023 年的年终总结做了些更新,加了些图片,补充了对 2024 年工作上的展望,技术上的期望也做了些调整,更明确、精简了。
  • 以 2024 年的新状态与目标为参照,更新了 /now 页面
  • 参加 Emacs 深圳线下聚会,作为一个玩 Emacs 不到一个月的新手,去听听大佬们的分享,学习一下,也感受下极客圈的氛围哈哈。
    • 印象深刻的有一个用 Framework 模块化笔记本的大佬,坐我旁边,还有一个日常用 Streamdeck 的佬(也用 Nix,日常写 Elixir)
    • 三个人分享,他们命令行操作全都贼六,基本不用鼠标。
    • 因为发现大家都对 Nix 比较感兴趣,甚至有不少朋友曾经试用过但被劝退了。我也借此机会分享了下 NixOS/nix-darwin 的使用,优缺点。以及为什么我现在在尝试 Guix(我就是因为折腾 Guix,安装文档装了个 Emacs 不会用,这才入了 Emacs 的坑)。
  • 完成了将密码管理全部迁移到 password-store 的工作,现在 NixOS/macOS 跟 Android 上都可以使用了,非常香!
  • 继续微调 emacs 配置,之前加了 lsp-bridge 后语法高亮各种毛病,它的配置还是太复杂了,我换回了 lsp-mode. doom-emacs 下 lsp-mode 完全是开箱即用的,慢一点但配置起来不费脑子!
  • 熟悉 orgmode 语法,用起来还是挺多不习惯,尤其是它的转义问题,我研究了一整天,现在还是有几个「未解之迷」…
  • 发现 NixOS 内置了 Guix 支持nixos/guix: init,装上玩了一波。
  • 跟领导聊完了年终绩效,以及明年的工作展望。看起来我明年需要深入搞一搞 AIGC 的规模化,有机会深入搞下新鲜火热的 AI 技术,还挺期待的。
    • RTX 4090 虽然吃灰大半年,但现在国内已经禁售了… 或许今年还能发挥一下它的作用
  • pass : 密码管理本不复杂: 前两天学 Emacs 看到了这篇文章,给我带来了对密码管理的新思路!
  • 然后今天研究一天的 password-store 跟 gpg 的使用,把所有原本保存在 Firefox 中的密码全部迁移到了 password-store + GnuPG 加密,并 push 到 GitHub 的一个私有仓库上。太香了!
  • 继续尝鲜 DoomEmacs,对其配置做了大量的迭代。
    • 折腾好多天了,目前遇到的问题都解决得差不多了,很漂亮用着也挺舒服。现在最头疼的问题还剩:
      • Emacs 的代码格式化跟 Neovim 不一致,两边会把代码格式化来格式化去… 导致我无法在同一项目上混用两个编辑器
  • 学会了使用 parinfer 这个插件写 lisp/scheme,确实非常爽,它会根据缩进情况全自动地添加或删除括号,使用户完全不用关心括号的问题。难怪被人说这个插件使写 lisp 就跟写 python 一样了 emmm
  • 把 Makefile 换成了 Justfile,简单清爽了不少,还结合 nushell 脚本做了些代码重构
  • 学习整理了下编辑器的基础知识:Vim 键位速查表、现代化编辑器的LSP/TreeSitter 介绍与对比、Formatter/Linter 等工具的区别等等。
  • 周六到逛了半天公园,可能是天气好、然后山里空气、风景也不错,再听着歌,简直开心到起飞!
  • 周日早上挂了医院的过敏反应科,想做个过敏源筛查,做了皮试跟血检,三天后才能出结果。