念头。遇见不同想法 NIANTOU.NET

在别人的文字里,遇见自己的念头。

独立书写 · 自由阅读

oldj's blog

按发表时间排列
10 篇

从网文看独立开发

AI 让写软件的门槛大大降低了,于是这两年独立开发者和软件数量都有了一个爆发式的增长。但很多人一头扎进来之后,发现自己写的软件似乎没人用,也几乎没有赚到钱。 这个情况其实和隔壁的网文圈很类似,在网络小说平台发展起来之前,写小说并发布出版是一件门槛很高的事,通常只有专业人士或生花妙手才能完成,因此作家是一个很受人尊敬的头衔。 到了网络小说时代,写作并发布一部小说则变得非常简单,几乎没有门槛,比如番茄小说平台,只要认真写一个两万字的开头,基本都能签约过稿。据报告,2025 年国内的网络小说作者数已经超过了 3000 万

WonderPen 存储格式迁移历程

最近几年我一直在开发写作软件 WonderPen ,去年我对 WonderPen 的底层数据存储格式做了一个重大重构,将原本使用 JSON 存储的数据迁移到了 SQLite 数据库。这儿回顾记录一下相关要点。 原本的方案 WonderPen 是一款写作应用,用户可以使用它写文章或笔记,以下统称为文档,一个非常底层的基础需求是如何存储这些文档。 在最早的设计中 WonderPen 功能不多,为了让系统尽可能简单以便尽早发布,我采用了 Markdown 文件来存储文档,每个文档就对应硬盘上的一个 Markdown 文件

挖井

AI 时代,软件开发的门槛大大降低了。这两年经常看到有人说,用 AI 每个月 vibe 一个 App 出来,不成功就换一个,做上 n 个总会有成功的。 这个说法让我想起来以前看过的一幅漫画:一个人挖井,他在很多地方都挖了坑,但每个都不够深,到最后也没挖出水来。 那些不停地做新 App,希望以量取胜并期待哪天有一个突然成功的做法,和漫画中人物的做法很类似。 不排除有人运气很好,刚好在一个地下水很浅的地方挖掘,于是很容易就挖出水了。但这种情况下,你能在这儿挖,别人也能来这儿挖(跟风/抄袭),很快这块地就会被挖得乱七八糟

SwitchHosts 5.0

一转眼, SwitchHosts 已经存在了 15 年了,距离上一个大版本更新也过去 5 年了。最近抽空把 SwitchHosts 升级到了 5.0,最大的变化是将底层从 Electron 换成了 Tauri,安装包的体积小了很多。 这个过程的大部分工作都是用 AI 完成的,在这儿记录一下。 动机 这次升级的主要动机是想解决 SwitchHosts 体积过大的问题。 之前的版本是基于 Electron 实现的,打包后安装文件有大几十兆,且随着 Electron 版本的提升,这个体积还在不断变大,因为它内部依赖的 C

开源本站博客系统 - Publa

自从 2010 年注册了域名 oldj.net 并架设了这个博客,一转眼已经 16 年了,这么长的时间足够发生很多事,比如杨过和小龙女都已经再次重逢了,本站也经历过了 N 次重构甚至推倒重来。最近,在 AI 的帮助之下,我重写了站点的后台,并决定将这个博客系统开源。 历程 这个博客最早的版本是使用 Django 写的,后台使用了 Django 自带的 admin,前台则使用 Django 的模板输出 HTML。 一段时间之后,我有点懒得继续改进,便迁移到了 WordPress。不得不说,WordPress 的功能非

当写作软件遇上 AI:Scrivener 论坛上一场持续三年的产品哲学之争

老牌写作软件 Scrivener 的论坛上有一篇关于是否要支持 AI 的 帖子 ,我花了一些时间仔细地把这篇帖子以及所有回复读了一遍。读完之后,我发现这不是一个简单的“要不要 AI”的技术讨论,更是一场关于写作工具本质、创作者身份认同、以及技术边界的长期争论,也是 AI 为我们这个时代带来的冲击的一个剪影,值得写一篇博客记录一下。 背景 从 2023 年 3 月开始,Scrivener 的官方论坛上发生了一场马拉松式的辩论,主题很直白:要不要给 Scrivener 加上 AI 功能? 这条讨论一直延续到 2025

使用 GitHub Action 自动更新 SSL 证书

之前写过一篇 使用 acme.sh 申请 SSL 证书 的帖子,最近把这个流程放到了 GitHub Action 上自动化完成,在这儿记录一下要点。 GitHub Action 是托管在 GitHub 上的自动化服务,免费账户的私有仓库每月有 2000 分钟的运行额度,可以用来做很多运维、CI 相关的工作。 要使用 GitHub Action,只需在项目的根目录下的 .github/workflows 中创建一个 .yml 文件即可,比如新建一个 .github/workflows/renew-ssl.yml 。

AB 工作法

什么是 AB 工作法 想象一下,你有两个工作台: A 工作台 上摆着你最重要的那个大项目——可能是一个复杂的架构设计,可能是一本书的核心章节,或者是一个需要深度思考的研究课题。这个工作需要你全神贯注,不被打扰。 B 工作台 上则堆着其他各种各样的事情——紧急但不复杂的需求、日常维护工作、突发的小任务、需要回复的邮件等等。这些事情重要但不需要长时间的深度投入。 AB 工作法的核心思路是:将各项工作放合适的工作台上,然后你的注意力在这两个工作台之间定期切换。比如上午在 A 工作台专注做深度工作,下午切换到 B 工作台处

使用 uv 管理 Python 依赖

我有一个运行了好几年的 Django 项目,之前一直在使用默认的 pip 管理和安装依赖,最近切换到了 uv ,感觉还不错,在这儿记录一下。 什么是 uv 根据官网的介绍,uv 是一个 Python 包以及项目管理器,非常快,使用 Rust 开发。 安装和管理依赖只是它的功能之一,除此之外,它还可以创建虚拟环境,即可以取代 pip + virtualenv 的功能。 我测试了一下,uv 确实比 pip 快了很多。在使用相同的镜像源,且都是纯净的 docker 环境下,使用 pip 安装项目的依赖花了约 88 秒,但

富文本框架体验

由于项目中要使用富文本编辑器,过去一段时间我深入研究了一下几个知名的富文本框架,在这儿写一下体验。 这不是一个全面的分析,仅代表个人观点。 Quill 我最开始尝试的是 Quill 项目,因为它看起来比较简单同时又足够强大,更重要的是它还有一个 Flutter 版本 ,可用于移动端应用的富文本开发。 实际体验上,Quill 确实比较容易上手,根据文档很容易就能写出一个基本可用的富文本编辑器来。当然,如果要添加更多复杂的或自定义功能,就要继续深入研究了。 Quill 的数据结构比较特别,它自定义了一个名为 Delta

读到这里,留一点时间给自己的念头。