多版本管理工具 mise 使用详解

我用了很多年的 asdf 作为管理各种语言版本的工具,但是最近一次更新,asdf 多了一些变化,我也写了一篇文章介绍怎么升级的。在文章下方有小伙伴(lonelyhentxi) 给我推荐了 mise 这样一款使用 Rust 编写的多版本管理工具 mise,我大致的看了一下 mise,觉得是一个非常不错的项目,在这里再次感谢。 所以今天我就来介绍一下 mise,替换 mise 倒不是因为 asdf 不能用了,而是 Rust 在执行效率上确实要更快一些,比如我之前介绍的 Meilisearch,espanso 等等都是因为 Rust 编写,效率上都有所提升。 Read more ...


搭建 Joplin 同步服务器

在我的博客上很久之前我介绍过 Joplin,不过我自己只在 Linux,Android 上用过一段时间,后来出现了 Obsidian ,就切换到 Obsidian 了,但是最近看到一篇文章介绍了如何自建一个 Joplin 同步服务器,这样就可以直接无缝地进行同步数据了。之前 Joplin 只是开放了 [[WebDAV]] 协议的访问协议用可以用来同步。 介于由于部分小伙伴嫌弃 Obsidian 闭源,那不妨试试这一款完全开源的 Joplin。 什么是 Joplin Joplin 是一个开源的笔记,以及 Todo 管理应用,可以在 Windows,m Read more ...


从 Java 到 Kotlin

Kotlin 和 Java 作为 JVM 生态中两大主流编程语言,在语法特性、开发效率和适用场景上存在显著差异。Kotlin 凭借现代化设计解决了 Java 的许多痛点,而 Java 凭借成熟生态和广泛支持仍是企业级开发的主力。 Kotlin 在 2017 年 Google I/O 大会之后,成为了 Android 平台上潜力巨大的官方支持语言。 Java 转换到 Kotlin Kotlin 采用极简语法设计,相比 Java 减少约 40% 的样板代码量: 类型声明反转 String name = "Kotlin"; final int age Read more ...

2025-03-01 java , kotlin , programming-language , jvm , dart

AI 时代我们是否还需要个人知识库

这两天不管是在我的视频评论下方,还是在 X(Twitter)上,都有人提出了一个问题「AI 时代还是否需要个人知识库」,我觉得在回答这个问题之前,我们首先要回答两个问题,什么是「知识」?,而什么又是「个人知识库」? 知识 首先我们来聊一聊,「知识」的概念。 在牛津高阶字典中对知识的解释是: the information, understanding and skills that you gain through education or experience 我们从教育和经验中获得的信息,理解和技能。 《汉典》中对知识的解释 Read more ...


macOS 上利用 Hammerspoon 自动切换输入法

很久之前我介绍过一款 macOS 上的自动化应用 Hammerspoon,在那篇文章中我就已经简要的介绍过如何利用 Hammerspoon 实现超级强大的窗口管理,实现切换 WiFi 自动提醒,也简单的介绍过如何自动切换输入法,但是没有展开,今天正好趁着我重写 Hammerspoon 的配置文件,再展开介绍一下如何利用 Hammerspoon 自动切换 Rime 输入法。 查找 RIME 输入法的 Source ID 在编写切换脚本前,首先需要获取 RIME 输入法的源 ID。可以通过以下方法获取,在 Hammerspoon 的控制台中运行: hs Read more ...


OBS 配置多路推流 实现多平台同时直播

[[Open Broadcaster Software(OBS)]] 是一个非常强大的开源的,直播推流工具。但是默认情况下 OBS 只能配置推送一个直播流。但是现在支持直播的平台越来越多,如果直接将直播流推送给多个平台,那么可以通过本文介绍的方法,借助多平台推流插件来实现。 OBS 与 Multi-RTMP 插件 Open Broadcaster Software (OBS) 是一个广泛使用的开源软件,用于视频录制和直播推流。然而,默认的 OBS 设置仅支持推送单一直播流到一个平台。 Multi-RTMP 插件 Multi-RTMP 是一个第三方 Read more ...


将 Obsidian 配置成私人 AI 知识库

前两天介绍过腾讯推出的个人知识库工具 IMA.Copilot,但是熟悉我的人肯定知道我这几年了一直都是在使用 Obsidian 作为我个人的知识库的,在本地完全使用 Markdown 作为文档的存储格式,不依赖任何的外部工具,以及联网工具,只使用 Syncthing 作为同步。 为什么我不使用 IMA 作为主力知识库 看过我之前文章的人应该知道我个人的选择软件工具的一个原则 跨平台 开源优先 本地优先 在了解到 Stallman 对[[自由软件]]的定义之后,更进一步加强了我对于开源软件的选择,而在重度理解 Self-Hosted Read more ...


腾讯推出个人知识库产品 ima.copilot

前两天看到腾讯推出一个个人知识库产品 ima,融合了 DeepSeek,可以直接搜索知识库中的内容,还可以上传文档回答,所以今天就来体验一下这个新产品 ima。 ima 是什么 ima 官方给出的定位是「会思考的知识库」,首先它是一个知识库,并且看官方还是一个跨平台,多端支持的知识库,包括了 macOS,Windows,iOS,Android,以及小程序。会思考则是体现在它接入了 AI,腾讯自己的混元大语言模型,和 DeepSeek R1 模型。 YouTube Bilibili 功能 Read more ...

2025-02-20 ima , copilot , tencent , obsidian

asdf 升级 0.16.0 问题记录

很早之前我就已经开始使用 asdf 作为我本地的编程语言多版本管理工具,这个工具非常实用,但是最近 asdf 升级到了 0.16.0 版本,这是一个不兼容的版本,作者将整个项目中 asdf 从 Bash 脚本重写为 Go 语言,这带来了一系列的问题,这里记录一下我在升级过程中遇到的问题以及解决方案。 这个版本带来了许多重要变化,本文将重点详细介绍 asdf 0.16.0 的主要变更,以及升级过程中可能遇到的问题和解决方案。 asdf 0.16.0 的主要变化 Go 语言重写 asdf 0.16.0 最显著的变化是将整个项目从 Bash 脚本重写为 Read more ...

2025-02-11 asdf , ruby , python , golang , nodejs , pyenv , rbenv

使用 uv 作为 Python 包和项目管理工具

之前在使用一个 FastAPI 的模板项目的时候,很偶然获知了 uv 这样一个 Python 的包管理工具,简单的查询了一下之后发现这一工具是使用 Rust 编写,已经慢慢获得了社区的认可,被越来越多人推荐了,所以今天我也好好地学习一下 uv。 uv 是什么 uv 是 astral-sh 社区利用 Rust 编写的 Python 包和项目管理工具,可以作为  pip、pip-tools、pipx、poetry、pyenv、virtualenv  等工具的代替。在没有 uv 之前,你可能需要使用 pyenv 来管理 Python 的不同版本,使用 ve Read more ...


最近文章

  • Flutter 教程系列一: freezed 使用 不管在什么样的应用中,如果要处理大量的数据,不可避免的就是要定义大量的数据类用来装载和解析数据,在 Flutter 中也不例外,今天要介绍的这个 Freezed 库就是 Flutter 中用来作为数据类(data classes)代码生成的这样一款工具。
  • RAG 简介 什么是 RAG
  • Homerow 配置 macOS 全键盘操作 今天想要和大家分享一下一款非常有趣的应用,叫做 Homerow,他之前的名字叫做 vimac,是一款可以在 macOS 上实现全键盘操作的工具。
  • 自动化运维工具 Puppet 介绍 Puppet 是一个开源的强大的基础设施配置管理工具,很早之前我介绍过一款 Python 编写的开源的自动化运维工具 Ansible,后面陆陆续续还分享过如何使用 Ansible 去管理 Contab,如何使用 Roles 来结构化并管理大量的 Ansible 配置。而今天要介绍的 Puppet 是另外一款运维自动化工具,被广泛用于自动化管理多个服务器配置。
  • Gemini 2 的原生多模态图片生成 Google 今天发布了 Gemini 2.0 Flash 的多模态图像生成功能。