在别人的文字里,遇见自己的念头。
独立书写 · 自由阅读最新念头
按发表时间排列使用 ImageMagick 自动添加水印,保护图片版权
背景 
 细心的朋友可能会发现,我的博客图片都带上了水印。 
 经过 博客被恶意镜像 这个事情后,我一直在思考如何防止内容被恶意盗用,尤其是博客里的一些图片。 
 在 当Hugo遇上AVIF,优化图片加载 这篇文章里,使用了ImageMagick工具做了图片压缩。 
 当时文章最后说留了个坑,其实就是今天的这篇内容,利用ImageMagick自动给图片添加水印。
使用 GPT 对 waline 的评论进行审查
前一阵子收到了这么一条来自 waline 的评论提醒。 New comment on 竹林里有冰的博客 【网站名称】:竹林里有冰的博客 【评论者昵称】:专业数据库 【评论者邮箱】: rakhiranijhhg@gmail.com 【内容】:总之,优化专业数据库对于保持数据准确性、提高系统性能和推动业务成功至关重要。通过遵循本文中概述的策略,您可以提高数据库操作的效率并释放新的增长机会。 【地址】: https://zhul.in/2021/04/04/yay-more/#66f7a8889ab78865d5f5ae
如何注册一个.sol域名
Livid大佬新搞了个 支持Solana的IPFS/IPNS网关 ,了解到还有一个 .sol 的web3域名。 
 
 Solana域名服务(SNS)的目标是提供一种去中心化且可负担的方式,将域名(.sol)和链上数据连接起来。这些链上数据可以是SOL地址、 IPFS CID、图片、文本、或者任何其它的东西。 
 The mechanics of purchasing a .sol domain are a bit different than ENS — they don’t expire
不再关心新闻事件
一种基于人工智能技术的系统发生树绘制与物种演化路径推断系统
河南省青少年科技创新大赛参赛作品 <span
奥森公园半日游
假期第三天,腰间盘犯了,在家躺了三天。 
 假期最后一天,感觉轻了许多,今天北京天气非常好,带娃出来走走。 
 
 
 

九月的记
九月开学已一个月,作者回忆起第一天的忙碌与宿舍整理。与本科时期相比,研究生生活显得更加疲惫,宿舍在13楼,日常步行显著增加。室友和同门相处愉快,导师较为佛系,科研压力依然存在。推荐使用文献管理软件Zotero,便于文献同步与管理。同时,作者反思与刘兰婷的感情,经历了一些小争吵后已和好,期待自己能够改进。
昌平42公里骑行绿道打卡
五一的时候带娃骑过南边这段,网上查了说北边这段不好骑,难得2号下午有空,决定先自己走一遍看看。 
 从家附近的奥北森林公园开始,骑行到沙河水库,整个行程近30公里,耗时3个小时左右。
十月一日爬慕田峪长城
早上5点半起床洗漱,6点出门打车直奔清河站,6点50的火车S515清河-雁栖湖。 
 虽然坐地铁经常路过清河站,但还是第一次来清河站坐车。 
 我们提前20分钟到的车站,已经开始排队了。
制度与利益
制度需要它的"执行器"。
How to Run CPython for WASI Using WASMTIME and Extend It with Python-Implemented Host Functions?
During the National Day holiday, I worked on a project to use wasmtime to execute CPython virtual machine compiled into WASM/WASI bytecode, and extend it with Host Functions implemented in Python on the host side. I’d like to clarify again that this is just a
如何使用 WASMTIME 来运行 CPython for WASI,然后利用 Python 实现的 HostFunction 来扩展它?
国庆节搞了一个活,利用 wasmtime 来执行编译成 WASM/WASI 字节码的 CPython 虚拟机,并在宿主机一侧利用 Python 实现的 Host Function 来扩展它。 再次声明一下,这个只是我个人想搞的活,没有再任何生产环境中得到验证,just for fun(XDDD
国内外主流邮件服务商对比
电子邮件在全球各地的使用情况呈现出显著差异,特别是在国内外之间。在欧美国家,电子邮件仍然是主导性的沟通工具,约90%的互联网用户每天都会使用它。
当Hugo遇上AVIF,优化图片加载

 更新说明(2026-09) :本文记录的是 2024 年使用 ImageMagick 全量生成单一 1080px AVIF/WebP 文件的历史方案。本站当前已改用 Sharp 预生成多个尺寸并复用构建缓存;当前 Hugo 也已经支持 AVIF 图片处理。最新实现见 博客加速实践 。 

2024-09月记
机械革命 mini 主机体验
我最近购入了京东政府补贴的miniPro830 32G+1T,并安装了最新的Fedora。最初尝试使用KDE桌面,但遇到了一些困扰的问题,最终转向Gnome桌面并添加了一些扩展,使用体验大为提升。值得一提的是,Gnome的生态已经显著改善,社交软件如微信和QQ也都有了Linux版本,整体软件生态有了很大进步。
本站现已支持HTTP/3,那么,代价是什么
前言 暑假打了两个月工,非常累。开学的前三个星期开始康复训练,除了上课基本就是在玩游戏和看少女乐队,直到昨天晚 […]
基于 JavaScript 的 Hexo Fluid 主题 banner 随机背景图实现
为什么要换掉随机图片 API 因为 API 太慢了。根据 PageSpeed 的测速,使用 API 的图片加载时间来到了整整 2.5s,这似乎有些不可忍受。 Vercel 冷启动问题 当初年少无知,为了实现 banner 随机背景图,选择了 使用 vercel 创建随机图片 API 。这带来了一些问题,首先 vercel 在站点一段时间没人访问以后会进入一种类似休眠的模式,下一次启动将会经历一个冷启动(cold start)的过程。我认为这对于一个图片背景的随机 API 而言是不可忍受的。 观察图上就可以发现,第一
使用向日葵智能插座 C2 用电记录推算宿舍上次烧水时间
我宿舍里入口处有一张公用的桌子,上面有一个烧水壶。根据生活经验,当用手摸烧水壶外壳能感受到明显热量时,水壶内的水大概是两小时内烧的,绝对能喝;但如果用手摸烧水壶外壳感受不到明显热量时,水壶内的水就不知道是什么时候烧的了,可能是三小时前,也可能是三天前。此时,在不寻求外部科学仪器介入的情况下,唯一能做的是询问寝室成员上一次水是谁烧的,是什么时候烧的。但寝室成员并不总是能够及时回答,可能在睡觉,也可能不在寝室里, 还有可能出现记忆错乱。 因此, 我们需要一种可靠的方案获取上一次烧水时间。 前两天陪黄老板出门吃宵夜的时候
使用 Caddy 反向代理 dockerhub 需要几步?
几个月前,由于众所周知的原因,中国大陆境内失去了所有公共的 dockerhub 镜像(或者说是反代)。网上随即涌现了一批自建 dockerhub 反代的,有用 Cloudflare Workers 的,也有用 nginx 的,甚至还有自建 registry 的。 我使用 caddy 去反代 dockerhub 的原因很简单,一是配置简单,二是通过一台国内访问质量良好的境外服务器进行反向代理的访问质量会比 Cloudflare 减速器好很多。 在网上一阵搜索后,并没有发现任何使用 caddy 去反向代理 docker
将 Rustdesk 中继服务从 Arch Linux 迁移至 Debian
这次迁移主要是两方面原因,一来是我安装了 Arch Linux 的 VPS 要过期了,续费价格过高,没有续费的动力;二来是手上的 VPS 越来越多,逐渐意识到 Arch Linux 作为滚动发行版,每次安装新的软件都要 Syu 甚至重启系统,实在没有太多的精力去维护,这也是为什么 Arch Linux 仅适合桌面发行版。 原本在 Arch Linux 上部署的 rustdesk server 我是按照这篇文章「 (水文)在archlinux上部署rustdesk服务端 」部署的。本身没什么技巧,直接从 AUR 安装
2024 年,如何不使用 create-react-app 从头为 React 项目配置 webpack
对于全新的 React 项目来说,一开始就使用 Next.js、Remix、Shopify Hydrogen、Gatsby 等 React 元框架(Meta Framework)是最正确的选择,这些元框架替你解决了路由、数据加载、服务端渲染(SSR)、全静态页面导出(SSG)、边缘计算、打包器和编译器配置。然而,如果你需要迁移现有的、纯客户端渲染(Client-side Rendering)的项目到 React、或者从其他打包器(如 Vite 或 Parcel)迁移走时,即使在 2024 年,webpack 仍然不
力扣代码编辑器增强
最近我开发了一款插件,旨在增强力扣代码编辑器的使用体验。该插件提供了丰富的代码补全功能,让编写代码变得更加高效和便捷。废话不多说,先上演示图:
Debug 日志:eCapture GH-604
Debug 日志系列第二篇,eCapture 的 GH-604, 一个和 Go, Glibc,静态编译相关的问题 太长不看版:在 eCapture 中,由于在静态链接时 glibc 版本的差异,导致在 Ubuntu 下编译的二进制会在特定发行版上 Segment fault
从 SvelteKit pre-1.0 迁移到 SvelteKit 2:路由、预渲染与 Vercel 实录
记录个人网站从 SvelteKit 1.0 发布前版本升级到 SvelteKit 2 的过程,包括 Svelte 4、Vite 5、文件路由、预渲染和 Vercel 部署。
开学咯
其实九月七八就开学了,这几天安顿下来了才准备写这篇日记。 复试结束后尝试联系了几个导师,不是没有回复就是招满了,后面索性不联系了等着开学双选会再确定叭。暑假在群里看到大部分学生都联系了导师还是挺焦虑的,也不知道最后会剩下什么样的导师。😔 ...
Apple 2024 秋季发布会
昨晚依照惯例,我熬夜看了Apple的秋季发布会,这一次和往常一样,录播,无趣。
补番《relife》
再见了,盛夏
记录作者从大厂裸辞的心路历程,结合自身在腾讯音乐五年的职业经历,借鹅笼、幸福与勇气三个意象,探讨工作的目的、世俗成功的规训与生命意义的追寻。