同步工具整理总结

陆陆续续用过不少同步工具,资料备份,各个设备间同步文件,从商业化的工具到命令行工具,但总还是一直在寻找一款足于满足我所有需求的工具。这里就整理一下,顺便整理一下我自己的思路。不久前就一直在思考一个问题,数字文件的生命有多长,以前看到过一句话,几十年前父母写下的日记如今依然能从旧书柜中翻出,数十年前的胶卷照片依然还很清晰,但往往几年前的网络文章,或者数字照片可能如今随着网络服务的关闭,物理硬盘的损坏而无法恢复。有人尝试使用多地备份,有人尝试云服务备份,却都无法从根本上解决这个问题,当然现在的我依然没有办法完全的解决这个问题。 目前我从两个方面来规避这个问 Read more ...

2019-10-10 sync , tools , linux , rsync , btsync , syncthing

lsb init scripts

I found someone submit a pull-request to redis, which modify the init.d script. The modification make me curious about the init script. So this is the research result. LSB stand for Linux Standard Base. LSB-compliant init scripts need to: provide, at least, the following ac Read more ...

2019-10-09 lsb , init , debian , ubuntu , linux , startup , script

支持对象存储的开源存储系统

最近整理文档,想起来自己的腾讯云,和 Google 云,好几十 G 的对象存储都空着,虽然腾讯云填了一部分同步的书籍,但是还是没有好好利用起来,然后就突然想起来之前看到过有人自己写了一份网盘同步程序,将对象存储作为同步工具来使用,这么一想确实可以尝试一下,毕竟现在 Dropbox 容量渐渐不够用了,如果能作为一份扩充也倒是不错的选择。所以这里就整理一下目前可用的一些方案,然后再做一下决择。 Cloudreve 这是一款 PHP 所写的云盘系统,支持多家对象存储,设计采用 Material Design ,看起来也不错。 https://gith Read more ...


Use shadowsocks libev

This post is under the environment of Ubuntu 18.04, this instruction will guide how to install shadowsocks libev both server side and client settings manually. And show the step to configure the simple-obfs. The source code is in following two repositories: https://github.co Read more ...


排查导致 CPU load 过高的 Java 线程

When you encouter the high cpu load caused by java application, you may follow these steps to troubleshooting. identify the PID identify the PID, use top or htop then press P, sorted by CPU identify the thread identify the thread using top -n 1 -H -p PID, this command will giv Read more ...

2019-09-26 java , linux , top , cpu , load

Vim 插件之:vim-abolish

vim-abolish 又一款 Tim Pope 大神所制作的插件,这款插件扩展了一条名为 :Subvert 的自定义命令,作用类似于 Vim 内置命令 :substitute 的扩展。 https://github.com/tpope/vim-abolish 比如说想要将整个文档中的 man 和 dog 两个单词交换,如果用 Vim 原生的替换比较麻烦,而使用该插件则只需要 :%S/{man,dog}/{dog,man}/g 在 GitHub 页面上也有大量的使用方式介绍,这里再提一个官方页面上的用例,比如想要把所有的 facility Read more ...

2019-09-22 vim , vim-plugin , tim-pope

Vim global 命令

global 命令结合了 Ex 命令和 Vim 模式匹配的能力,借助该命令,可以在指定模式的所有匹配行上运行 Ex 命令。global 命令是除了点操作和宏命令之外,最强大的 Vim 工具之一。 Basic global 命令基本形式,可以读作在 range 上,如果行匹配 pattern,那么执行全局命令 cmd :[range] global[!]/{pattern}/[cmd] 说明: 缺省情况下,global 命令作用范围是整个文件 (%). 除了 global 还有 :vglobal 表示反转,在没有匹配 pattern 的 Read more ...

2019-09-22 vim , vim-global , ex-command , vim-mode , editor , linux

Oracle 提供免费的云服务

前两天在 Twitter 上看到有人分享新闻说,Oracle 发布了新的云服务政策,提供 Always Free 的主机和对象存储还是数据库,所以就看了一下,搜了一下新闻,还真的有 Oracle Offers Always Free Autonomous Database and Cloud Infrastructure,所以就注册一下。但是当天晚上创建 VM 的时候提示我 “out of host capacity”,Google 了一下才发现,原来这条消息早就在羊毛党炸锅了,不亚于 Google Cloud Platform 当年的新闻。不过我个人作 Read more ...

2019-09-22 linux , oracle , gcp , cloud , vps , server

ModuleNotFoundError: No module named 'marshmallow.compat'

今天重新部署一个服务时发现了一个奇怪的错误,之前用很久都没有错,重新部署一个新环境就发生了这样的问题,问题应该就出现在新依赖的包中。 File "/usr/local/lib/python3.6/dist-packages/flask_marshmallow/fields.py", line 15, in <module> from marshmallow.compat import iteritems ModuleNotFoundError: No module named 'marshmallow.compat' 所以搜了一圈 Read more ...


又一 Google 服务停止:Google Translator Toolkit 关闭

前两天收到一份邮件,标题写着 Google Translator Toolkit to be shut down on December 4, 20191,感叹又一款良心服务要终结其生命了。虽然不常用 Google 翻译工具包,甚至很长时间这个翻译工具都偷偷的被隐藏在翻译页面的角落里面,但是不得不说这个工具曾经帮助我翻译过不少文档内容,也非常适合学习。Google 翻译工具包提供上传文档自动翻译,术语翻译等等功能,结合 Google Translate 的帮助能非常快速的辅助完成一篇文档的翻译。在自动翻译完成的基础上可以人工的进行修改润色。更甚至可以添加 Read more ...


最近文章

  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。
  • Git 本地忽略文件:.git/info/exclude 的作用与使用技巧 由于本地 IDE、插件、Agent 的差异,所以经常打开项目之后会出现一些只属于我自己的文件,AI Agent 和一些 MCP,Skill 也喜欢在项目根目录里面添加文件。每次 git status 都能看到这一串红色的 untracked 文件,看着很烦,又不太好意思为了自己的习惯去改项目的 .gitignore。这时候我想起了 .git 目录里一个存在感极低的文件 info/exclude,它刚好就是为这种场景设计的。
  • Meta Muse 使用教程:上手设置、提示词技巧与实用案例 上一篇 Meta Muse 介绍与注册指南:一个会替你跑腿的个人 AI Agent 把 [[Muse]] 是什么、怎么注册、额度怎么算都整理了一遍,但是留了一个结尾:注册完之后到底该让它干什么。Muse 上线这几周,我查阅了一些测评体验,整理了 X 和 Threads 上用户晒出来的用法,发现大家的使用路径其实很像:从提醒和文件这类零风险的任务开始,确认它靠谱之后再慢慢接入邮箱、日历,最后才让它碰钱。这篇就按这个顺序来整理,从界面和设置讲起,再到具体的案例和踩过的坑。
  • Meta Muse 介绍与注册指南:一个会替你跑腿的个人 AI Agent 2026 年 9 月 8 日,[[Meta]] 发布了个人 AI Agent [[Muse]],宣传语只有一句:「它去做,而不是告诉你怎么做」。用 [[ChatGPT]] 或 [[Claude]] 时,我们得到的往往是一份说明书,真正动手的部分,打开网页、填表单、下单付款,还得自己来。Muse 想把这一段也接过去:你交给它的不是一个问题,而是一件事,它会自己打开浏览器一步步做完,需要你拍板时再回来问你。这是 Meta 迄今为止在消费级 AI 上下的最大一笔注,两周后的 Connect 2026 大会几乎整场都围绕它展开。