阅读视图

发现新文章,点击刷新页面。

周报 #89 - 博客改版与 TheWan App 发布

前言

weekly_review_89

本篇是对 2025-03-252025-03-30 这周生活的记录与思考。

这周最大的变化就是根据 Antfu 的开源博客主题改版了我的博客,也加上了一些模块,折腾得很开心;开发了两年几度放弃的一个 iOS App TheWan 也终于发布了,依然很基础,UI 设计和细节也并不满意,但总算迈出了第一步;还有很多有意思的事。

博客改版

我是一个博客折腾爱好者,前前后后写过十几篇关于如何搭建 Hugo 博客及一些周边服务的文章(详见「周报 #68 - 关于写博客这件事与我生活的色彩」),也有不少朋友是通过这些教程才了解到我的博客的。

但随着博客内容的增加以及想要呈现和分享的形态越来越丰富,虽然网站主题是我之前很喜欢的那种古早台湾风,但早在四五年前就已经不再维护,期间我有提过几个 pr 新增了一些模块,但终究还是受 Hugo 框架的制约,没办法很好地满足我的定制化需求。

但因为早期我的博客 slug 是 /zh/yy/mm/dd/:slug 这样的路由形式,以及 Remark42 是根据完整的 url 匹配的,所以如果要迁移到新主题/框架要做很多额外的处理和重定向,所以一直搁置着没有折腾。

但最近因为偶尔会把一些博文转到朋友圈,有不少朋友反馈说打开很慢甚至完全加载不出来,除了因为部署在海外的原因外,博客本身的一些素材/性能问题也逐渐显现出来了,但也很难排查和解决,于是又动了迁移的心思,看了看其他的一些框架,大同小异,也都不算满意,但自己也不想太折腾用 Astro 之类的重新写一个。

antfu_blog_os

恰好翻到了 Antfu 的博客 antfu.me,是他自己定制的框架主题,性能自然不用多说,风格简洁美观且功能丰富,还有我一直想要的摄影展示模块,是我理想中的博客了,于是在跟他确认授权之后,着手开始了迁移。

博客分区

我之前的网站定位在一个博客而不是主页,所以其实只有文章展示,也趁着这次机会重新划分了一下分区,目前有以下几个模块:

Homepage

pseudoyu_homepage_new

Homepage 是我的个人主页,主要展示简单的个人介绍、履历和各个平台的联系方式。

Blog

pseudoyu_blog

Blog 是我的博文板块,分为了两个类别,BlogNotes

Blog 主要会是周报及一些更完整的技术文章/教程等,并提供 RSS 输出,可以在 {Folo} 等 RSS 阅读器中订阅;而后者 Notes 模块则可能是一些零散的不足以成文但却有一定价值的笔记,也可以供查看但并不会包含在 RSS 中以免造成一些干扰。

Projects, Talks 与 Poscasts

pseudoyu_projects

Projects 展示了自己工作、开源以及一些折腾的 Side Projects,其实把这些年零散做的一些大小项目汇集到一起很有成就感

不过这部分我去掉了 Antfu 的 TOC 目录,每看一次他的项目页面就多一次震撼,我项目什么时候能多到需要目录导航呀。

pseudoyu_talks

Talks 是我的一些课程/演讲。这两年其实还比较热衷于作为分享者参加一些线下的分享、课程和 Workshop 等,大多数其实都是和 OpenBuild 合作的,梳理了一下一些录屏、课件等,发现不知不觉已经沉淀了不少。

还跟学姐开玩笑说可能我今年分享怎么写 Solidity 的时长已经超过我真正写 Solidity 的时间了,常常会有一些隐隐的惭愧、焦虑和冒名顶替综合征。

尤其在 AI Coding 发展到已经相对成熟的当下,应用开发已经不再是门槛了,但真正服务的架构、性能等却更依赖开发者自身的判断,所以今年想更多沉淀一些基础知识了。

pseudoyu_podcasts

Podcasts 部分目前还很单薄,其实我只有几年前在技术播客节参加的一期,当时思路和分享深度也很有限,但却也还是享受播客这种形式的,今年会多参与甚至自己尝试做一些。

Photos

pseudoyu_photos

Photos 也是主题里我很喜欢的一个板块,之前就一直很想在个人网站上有一个类似 Unplash 这样的个人摄影展示模块,也算是能够激励自己出门多拍一些,尝试过用 Ghost 搭建一些子站之类的,总觉得不是很方便,现在能够直接集成到博客里了。

Let's Chat 与 Sponsors

pseudoyu_chat

Let's Chat 是一个聊天/咨询板块,我之前其实偶尔也会邮件或是各个平台收到一些咨询,一般就是解决一些博客搭建的问题或简单聊一些关于技术学习、成长相关的困惑,最近也趁着博客改版,放了一个单独的咨询页面,也算是轻咨询的一次个人尝试。

pseudoyu_sponsor

以及所有的 Sponsors 会展示在这个页面以示感谢。

Friends

pseudoyu_friends

把之前添加的友链页面也迁移过来了,也欢迎大家交换。

博客组件

其实大部分的页面都是基于 Antfu 的已经很完善的框架来微调内容的,除了一些个人的页面外,我主要做了两个调整。

第一个就是 OG 图的生成没有用之前的 svg 替换文字的方式,而是用了他更推荐的 satori 开源项目来动态生成,样式和灵活性更高一些。

另外就是把我之前的 Remark42 评论系统与 GoatCounter 访问统计系统集成进来了并且保持了原有的数据。

并且发现了 Netlify 非常好用的重定向功能,只需要在目录下添加一个 _redirects 文件就可以自动化解决了我兼容之前的一些旧链接的问题,不需要在 DNS 层面做其他配置,例如以下的格式:

/zh https://www.pseudoyu.com/posts 301!
/zh/about https://www.pseudoyu.com/about 301!
/zh/links https://www.pseudoyu.com/friends 301!

/en https://www.pseudoyu.com/posts 301
/en/* https://www.pseudoyu.com/zh/:splat 301

所以服务部署也放到了 Netlify,依然是每次 commit 代码都会自动部署。

关于 TheWan iOS App

2022 年下半年,我看了 Reorx 的一篇关于 n8n 的文章 —— 「使用自动化工作流聚合信息摄入和输出」,被他所说的「赛博空间」这一概念所吸引,搭建了我的一个 Telegram 频道 —— 「Yu's Life」,自动化同步我文章收藏、豆瓣记录、B 站投币、YouTube/Spotify 点赞等各个平台的记录,聚合了我在网络空间的数字痕迹。

当时一位颇为有缘的学弟找到我说想一起做一个这样的应用,每个人都可以建立自己的专属聚合频道但却不用去折腾 n8n、rsshub、telegram bot 这类繁琐的技术细节,我很感兴趣,一拍即合。

一开始信心很足,花了一个多月做了一个网站和配套的 api 与同步服务,还写了详细的文档,想着春节就能上线,但节后我的个人生活发生了很大的变化,我换了工作、搬家回了杭州,暂搁置了一阵子,再捡起时却已经缺乏了那一股劲。

随后的两年里这个产品既没有消亡却也未能如期上线,一次次跳票。甚至为了说服自己继续开发下去,我把它当成了一个技术 Playgroud —— 用 Rust 写了 api 服务,Go 写了同步服务,产品本身也从一个网页端迭代成了用 SwiftUI 写的原生 iOS App。

期间也有很多有意思的事。产品背后同步用的是 {RSSHub},未曾想到自己现在也成为了项目的 maintainer,前段时间遇到一个小宇宙同步问题直接去上游一条龙修完了;以及期间也诞生了 {Folo},功能有些重合的点,一度让我对产品丧失了一大半的动力。

不过总觉得更多由于自己的原因跳票至今有些对不住一起的伙伴,所以在今年年初杭州和内蒙两场婚礼之间久违的空隙时间里完成了一个基础版本的开发,再经过和 Apple 审核近两周的 Battle 之下,终于上架了 App Store。

tujunjie_thewan

上午跟一位最早期就加入了 waitlist 并且日常有不少沟通的读者朋友讲了这个消息,他说:

不知不觉,这两年我娃都快一岁,你也结婚了,真快呀。

自己很早之前就在博客里说过,想拥有一个自己的产品,后来真正开始做了才慢慢发现,即使是一个仅 1.1M 的小 App,从想法萌芽到最后打包上架都很不容易,但总之先迈出了第一步,回头看看,轻舟已过万重山。

欢迎感兴趣的朋友在 App Store 搜索「TheWan」或点击下载链接体验。

有趣的事与物

输入

虽然大部分有意思的输入会在 「Yu's Life」 Telegram 频道里自动同步,不过还是挑选一部分在这里列举一下,感觉更像一个 newsletter 了。并且把 Telegram Channel 消息作为内容源搭建了一个微博客 —— 「daily.pseudoyu.com」,可以更方便浏览了。

收藏

文章

视频

11 Overlooked Linux Commands You Really Should Be Using

Beneath the surface of the well-known Linux commands lies a treasure trove of lesser-known utilities that can make your life easier, enhance your productivity, and even impress your fellow Linux users. Let's explore some of the most powerful but overlooked commands that deserve more attention.

6 Features I Want to See Natively in Chrome

Chrome has been my go-to browser for years. While it comes packed with features, it still lacks some functionalities other browsers offer. To compensate, I often rely on third-party extensions, which pose potential risks. Here are some features I’d love to see natively integrated into Chrome.

9 Quick Tips for Apple Notes on a Mac

Apple Notes has been a standalone app in macOS since 2012. It's easy to take for granted, but over the years, it has grown and added some useful and powerful features. From ways to improve your note-taking to tools for better organization, here's how to get more from the Notes app.

I Played Every Classic BSD Game. Are They Still Fun Today?

The Linux terminal is well-known for its productivity tools for savvy users, but it also offers ways to be unproductive. You can do fun things as well as programming and shell scripting. You can play games in the terminal. One collection of games, BSD games, is borrowed from games that were popular on one of Linux's ancestors, BSD. These text-based games were originally developed in the late 1970s and 1980s.

How to Adjust Image Previews in Your Instagram Grid

Instagram’s profile grid is more than just a gallery—it's your personal billboard, first impression, and digital aesthetic all rolled into one. Whether you're a content creator, a small business, or just someone who enjoys curating a beautiful feed, how your posts appear in the grid can make or break your vibe.

摄影随想

我以为买了相机,揣着它在大街上,就会敢于举起并开始拍照。在没有相机之前,出于某种羞耻感,不敢或者是不敢光明正大地用兜里的手机拍下眼前的人或物,除非旁边没有别人。

摄影随想 - 第1张图片

或许是受某些新闻的影响,潜意识里举起手机拍照和“偷拍“划上了等号,而相机才是光明正大之物,可以随时随地拿出咔嚓两下。

再仔细想想,这应该不是主要原因,我拍人很少,尤其是对一个 i 人来说,敢于拍人是一种巨大的挑战,因此拍景和物更多,但为什么还是不敢呢?源于内心的自卑和不自信,很多时候过于在意别人的眼光,看到我认为值得拍照记录的内容,当我拿出手机一本正经按下快门时,总会担心旁边是否有人指指点点和各种议论,“这有什么好拍的“。我想,这才是主要的、根本的原因。

最近睡前在 b 站看到不少关于摄影的视频,有一个类别我很喜欢——街拍,寻一个天气不错的日子,带上手机或相机,随处走走,边走边拍。在户外,一种随机的环境下存在着不确定性,光线、角度、人物都不确定,拍出来的照片也是独一无二,我理解为这是一种机遇,确切来说是缘分。或许是这个原因,我不喜欢的一类摄影是写真,穿着特定的服装、做着特定的妆造、摆着特定的姿态,这一切都是被安排、布置,像一男一女被安排相亲、订婚、领证,缺少缘分。上述观点为个人看法,仅限于在写真馆或摄影棚,在户外给女生拍照不在讨论范围内。

我很喜欢 iPhone 的实况功能,在拍照的同时能够记录按下快门前后的几秒瞬间,今天翻开相册,找到春节期间和朋友一起玩的照片,播放实况能听到朋友的笑声,一直觉得摄影的意义是记录瞬间,记录一切不确定、随机的瞬间,边走边拍能遇见许多随机的人,发生随机的事,眼前的建筑和光线会组成随机的构图,按下快门的时候,随机的瞬间变成永恒,许多年以后当我们再翻开曾经的相册,便能回忆起当初。

今天是 3 月最后一个周末,购买相机已经一个月,每次一到休息日,总会想出门逛逛,觉得外面会有东西等着我去拍,今天也不例外,但是天气不好,阴天没有光线,带着相机在楼下溜达了一圈,被倒春寒的冷风赶回了家,手痒。前段时间连续一周的下雨,潮湿,购买收纳箱做了一个简易的防潮箱,但还是忍不住拿出来开机看一看,实在手痒,对着桌上的键盘拍了几张。

摄影随想 - 第2张图片

摄影随想 - 第3张图片

摄影随想 - 第4张图片

摄影随想 - 第5张图片

或许热爱摄影的人都喜欢拍一张自己拿着相机的照片,第一次是拿着大学同学的 Canon EOS M50 Mark II,那是我第一次独立使用相机,虽然摄影的爱好并不是从那一刻才开始,但拥有一台相机的想法开始萌生。购买 Nikon Z5 之后一直没找到机会拍一张举相机的对镜自拍,晚上临时起意,在房间的全身镜前拍下了一张与小猫的合照,光线不好,希望能有机会拍一张更佳的对镜照。

摄影随想 - 第6张图片

摄影随想 - 第7张图片

拍照不是见不得人的事情,是一种兴趣和热爱,可能费钱,但还是希望能够大胆地拍,大胆地记录,记录不确定的瞬间。

摄影随想》最先出现在印记

20250330

吃完早饭,就赶到办公室听歌了。又搬运了一些唱片过去,计划赶不上变化,柜子第一层放了设备后第二层因为柜门的铰链卡在两侧,唱片不能贴着两侧直立,好烦。想继续改造我的办公室,再定制一些 USM 柜子,再来一盏好看的灯,还看上一个书架。

image.jpeg

下午和酷去了大屋顶,参加了知行小酒馆百万听友嘉年华。听了几个嘉宾很不错的分享,雨白的团队很优秀,特别是那个零零后的新晋制作人。达到百万这个 milestone 太厉害了。

image.jpeg

晚上王老板家宴,刚好从大屋顶直接走过去吃饭了。豪华宁波海鲜大餐,没想到王老板厨艺也这么好。第一次见果果,似乎也很喜欢我呢。

image.jpeg
image.jpeg

三星S24

  冒泡…

  2025年,正式用上5G手机。二月中旬在海鲜市场淘了台三星S24配置12+256,卖家标价低于行情价三四百块,开始我以为是低价引流,看了卖家信用极好且卖的东西不多,聊了几句没啥问题果断下单。两天后到货,开箱成色几乎完美无瑕疵,拿在手上感觉比我主力机华为P30尺寸还要小一点丢丢,手感非常Nice..迁移数据后体验了一段时间,无论拍照,程序加载,屏幕高刷比P30高好几个档次,但P30毕竟是2019年的产品,现在用上S24后感觉回不去了。上手一段时间再用回P30后感叹,我靠怎么这么卡,反应这么慢。

  信号:不太好,之前用4G在一些信号死角还能正常刷视频,s24直接没信号,联通尤为严重,移动的还好。上次去东莞某工业区在附近饭店内吃饭,默认是联通网结账扫码都成问题,切换为移动网就好。华为的双卡双待在遇到网络不好时会自动切换到另一个卡,三星虽然也有该功能默认也开启但经过此次体验感觉完全没有,当时有想换回4G手机的冲动,因为我的主卡是联通呢。

  电池:虽然有4000毫安电量,中度使用需要一天一充,不耐耍。充电用之前华为充电从20到100居然需要两小时!!买了原装24瓦充电头快40分钟左右,总体还是慢了点…

  最后一次使用三星手机还得追溯到2012年那款安卓2.3.6版本的盖世兔9100,十几年前的产品一直保存到现在,现在拿出来充电还能正常开机使用..

  现已使用三星系统一个多月很多地方不够人性化,日历有点简陋不大符合中国国情,笔记中的分页让我这强迫症不爽,复制手机号码多点几下才能找到复制按钮。主题太过花哨,图标适配少,一个主题图标有方有圆。

  其他问题在慢慢摸索,系统还算干净没有预装太多App,其他常用App都设置不通知,手机不会收到乱七八糟推送消息。


读书小结十一

癌症楼

从死亡边缘逐渐活过来的政治犯,又恢复了对生活的希望,然而在流放制度的强压下,即使身体康复,自由还是那么遥远,面对向自己释放好意的女医生,身份的差距是难以逾越的鸿沟,科斯托格洛托夫最终选择独自回到了流放地。他那桀骜不驯的性格,也只在病房里才有显现,在社会制度面前个人无力反抗,只能希求一点微不足道的幸福。

而小官僚鲁萨诺夫,在放下虚张声势的架子逐渐适应医院的环境和治疗后,又要因政治环境的风吹草动而担惊受怕——曾被自己举报的人获得释放后会不会来寻仇。然而鲁萨诺夫最终却潇洒地出院了,不是无法治愈的出院,是否也暗示着正义的制裁不会到来。

小说里出现了很多人物,深入刻画的却没有几个,有的只有一个名字而无下文,有的描写不足或戛然而止,多少有点硬伤。小说的政治意味和道德思考显然高于文学本身,毕竟读索尔仁尼琴,就是读苏联社会的阴暗一面。

二手时间

人们对苏联解体有什么样的看法,苏联解体后的人们又过着怎样的生活,从对一个个普通人的访谈中,从一个个家庭和爱情故事中,我们能看到苏联解体后社会的分化和割裂,民族、宗教之间的矛盾和仇恨。

有人怀念苏联,有人恨苏联,新一代人已逐渐忘记苏联,然而苏联的阴影却没有散去,民族之间互相残杀,经济被寡头掌控,政治没有实现民主,底层人民的生活依然悲惨。

我的骨头没有忘记

面对母亲无休止的责打,认为是自己做得不够好,反而更努力讨母亲的欢心。想用自己的懂事维系家庭的完整、唤起父母的爱,但这对不爱自己的父母来说无济于事。这就是作者的童年,也是作者患上复杂性创伤后应激障碍的原因。

确诊之后,作者开始了真正的治愈行动。她确认自己的童年经历是真实的,也探究家族历史——父母的不爱自己或许来源于他们自己的创伤。在找到适合的心理医生后,作者终于能够直面自己的内心,不再苛求讨好式的完美,懂得了伤痛和折磨的区别,允许自己有负面情绪。一切都在一场完美而感人的婚礼中结束,作者终于有了爱自己的家庭,也发现自己有很多好朋友。

爱是疗愈心理创伤的良药,但知道如何接受爱、如何爱别人,才是最重要的药引。

❌