Verne in GitHub

青海游记思绪整理

7 天的旅程已经结束,更加准确的说应该是完整的 6 天,还有一天时间在路上。这一次经历很多第一次,第一次使用 Trello 规划出行,第一次长时间驾驶超过 2000 公里,第一次使用 Airbnb 来计划住宿,第一次上 3000 多米的高原,这许许多多的第一次让我感受了很多也收获了很多。 旅途遥远记得欣赏沿途的风景 大环线的路程相较于短短 6 天,时间非常赶,但是尤其是从大柴旦到敦煌,以及从张掖到西宁的路上,会路过无数的山脉和平原,别那么赶,看看两边风景。在很大一段时间内,你会看到两边延伸到天边的大漠,以及面前一直通向天边的公路,还有远处层叠的群山。 Read more ...

2018-05-06 travel , trip , plan , trello , qinghai , thinking

BitTorrent 客户端简单比较

本文会横向比较一下当前比较流行的 [[BitTorrent]] 客户端。 [[Transmission]] 跨平台的客户端 [[rTorrent]] 一款使用 C++ 编写的 BitTorrent 客户端,rTorrent 只提供命令行版本,可以配合 [[ruTorrent]] 界面来使用 [[qBittorrent]] [[Deluge]] [[uTorrent]] [[Vuze]] [[BiglyBT]] 一款使用 Java 编写的跨平台开源 BT 客户端,功能非常丰富 Transmission 开源地址: Read more ...


VPS 安全保护:使用 fail2ban 防止暴力破解

之前的文章里面也总结过一些 fail2ban 的简单使用,这里就扩展开来,把一些常见的使用方式记录一下,以便后面回顾。 今天想起这件事情主要是看到日志发现新建的服务(非标准端口)也有人不断的扫描,尝试登录,虽然已经设置过 SSH,nginx 端口的 fail2ban,但是没有考虑到所有的服务端口。 Installation sudo apt install fail2ban Configuration fail2ban 的主要配置都集中在 /etc/fail2ban/ 目录下 fail2ban.conf 主要是 fail2ban 自身的 Read more ...

2018-04-23 linux , fail2ban , security , sshd , password

Maven 依赖管理

使用 Maven 来管理项目的依赖,带来便捷性的同时也引入了一些问题。对于一个大型项目来说,引用数十个依赖是经常遇到的。Maven 在管理这些依赖的时候,遵循一些基本原则,这就是这篇文章主要要定义的问题。另外如果项目中出现了依赖冲突,也是这篇文章的重点。 dependencyManagement 作用 dependencyManagement 主要有两个作用 集中管理项目的依赖项 控制使用的依赖项的版本 使用 dependencyManagement 声明依赖,实际项目并不会引入,因此子项目需要显示声明需要用的依赖 如果不在子项 Read more ...

2018-04-19 maven , build , java , linux , build-system

清空Chrome缓存的301重定向

可能是之前测试短域名生成服务的时候,添加了 http://localhost:8080 的跳转,导致了此后所有对该地址的访问都被重定向到了另一个网址,即使我在 8080 端口的服务已经停止,并且已经更换了其他测试的服务,Chrome 依然缓存了 301 重定向。 而由因为跳转的时间非常快,所以我无法使用以前经常使用的 Ctrl+Shift+R 来强行刷新页面清除缓存。所以只能求助 Google,幸而操作并不复杂,不过让我学到了一些 Chrome 的小 tips,因此记录下来。 强制刷新 之前提到的 Ctrl + Shift + R 就能够强制刷新,但 Read more ...

2018-04-18 chrome , linux , redirect , browser , devtools

Linux 下的防火墙 ufw

UFW,全称 Uncomplicated Firewall,是通过 iptables 实现的防火墙工具。ufw 是对 iptables 的封装,iptables 的规则太过于复杂,不适合新手。这篇文章也是如何增强VPS安全性的扩展篇,在修改了SSH端口,登录用户之后,最好清楚自己开放了VPS的哪些端口访问,把他们用 ufw 管理起来,防止被滥用。 安装 Ubuntu 默认已经安装如果没有安装,使用一行命令即可: sudo apt update && sudo apt install ufw 配置及使用 默认情况下,ufw 的配置文 Read more ...

2018-04-16 linux , firewall , ufw , iptables , ports

威联通折腾篇三:Virtualization Station 安装虚拟机

这里主要是介绍威联通 NAS 上面的 Virtualization Station (虚拟机工作站),这个应用能够在 NAS 上运行虚拟机,支持 Windows, Linux,Android 等等系统。威联通的虚拟机功能可以让用户在一台机器上同时运行多个系统。 Virtualization Station 支持通过 .ova, ovf, .qvm 或者 .ios 文件来安装虚拟化系统。 安装 使用这个虚拟机非常容易,直接在应用中安装 Virtualization Station 即可,然后在桌面上点击打开,就能够见到基本的界面,如下图 安装虚 Read more ...


威联通折腾篇零:威联通 QNAP TS-453B mini 初体验

如今各种设备各种数据日益增多,当越来越多的私人数据需要存储时,NAS 进入了我的视线。早之前我以为云端存储可以涵盖我的一切,而我多年的数据也都安稳的存在互联网的各个领域,我的文件在 Dropbox,我的照片在 Google Photos,我的音乐原来在 Google Play Music,现在转移到了网易云音乐,我的书籍大部分都在 Kindle 上,也就是亚马逊的云上,我的文章、代码大都在 GitHub,我的笔记都在 WizNote,我的书签 Chrome 保存着,我的密码 LastPass 保存着。其实说实话原本这一切都是非常完美的,直到这两年网络越来 Read more ...

2018-04-14 nas , linux , home-server , qnap , qnap-tutorial

RAID 磁盘阵列

RAID 全称 Redundant Array of Independent Disks,独立冗余磁盘阵列,将多块独立物理硬盘按不同方式组合形成一个逻辑硬盘,提供比单盘更高的存储性能和数据备份。RAID 是为了减少数据丢失而发明的一种方法。 RAID 0,数据平均写入多个磁盘阵列,读写都是并行的,磁盘 IOPS 提高一倍 RAID 1,提高数据安全性,一份数据复制到多个磁盘,不能提高 IOPS,但是数据冗余多份 RAID 5,数据平均写到总磁盘数减 1 的磁盘中,在一块磁盘上中写入数据的奇偶校验信息,即使一块磁盘发生故障,也可以通过磁盘数 Read more ...

2018-04-13 raid , nas , backup , disks

使用 git bisect 来快速定位出错版本

在整理之前那篇 [Git 分支管理]1 的时候接触了 git bisect ,用了那么长时间的 git 竟然又出现了一个不曾用过的命令,于是就看了下文档学习下使用。 git bisect 使用二分查找来快速定位出错的 commit,举个例子来说,假设线上正常运行的一个版本,之后进行了大量的开发,提交了成百上千次提交,而导致了线上其中一个小功能的失效。为了定位问题,你可能需要查看过去的提交。 如果你知道这个功能具体在那个文件,那其实很好办,git blame 找出修改的部分,修正即可 而如果提交实在太多,无法定位问题文件的话,那么就需要使用 Read more ...

2018-04-12 linux , git , version-control

最近文章

  • Nowledge Mem 使用半年体验:让所有 AI Agent 共享同一份记忆 今年 2 月份我把 [[Nowledge Mem]] 装到 MacBook 上,想解决的是一个很常见的问题:我希望在 [[Perplexity]] 网页上查过的资料,直接在 Claude Code 中可以记住。但没想到大半年过去,它已经变成了我每天都在用的软件,而且是那种「不在后台跑着就会觉得别扭」的存在。我在 Claude Code、[[Codex]]、[[OpenClaw]] 里开的每一个会话,开头都会先从它这里拿一份简报;网页上和 AI 聊过的东西会自动同步进去;我做过的决定、踩过的坑、服务器的配置,都沉淀成一条条可以被任何 Agent 检索的记忆。说它是我所有 Agent 的记忆和大脑,一点都不夸张。
  • Aside AI 浏览器介绍:既能自己干活,也能接入 Agent 前两天整理了一篇 AI 浏览器自动化方案怎么选,把 Playwright、MCP、Agent 专用浏览器、WebMCP 这些路线梳理了一遍。在那篇文章里我提到,「内置 Agent 的 AI 浏览器」这一类里我最看好的是 Aside,原因是它的密码管理器设计得很用心,但篇幅有限没有展开。今天就单独写一篇,聊聊这个浏览器到底能做什么、和 [[Comet]]、[[Dia Browser]] 有什么不一样,以及我现在是怎么用它的。如果你看完想试试,可以用我的邀请链接 https://aside.com/r/UpYKnv9ziq 注册,注册后会额外获得 100 Credits。
  • AI 浏览器自动化方案怎么选:从 Playwright、MCP 到 Agent 浏览器和 WebMCP 的全景梳理 最近我一直在研究「让 AI 用浏览器」这件事。起因是看到 Nowledge 写了一个 browse-now Skill,可以直接让 Claude 控制浏览器,紧接着又偶然发现了 [[Ego Lite]] 这款专门为 Agent 设计的浏览器。顺着这条线,我把 Aside、BrowserOS、Deta Surf 这几款 AI 浏览器挨个调研了一遍,越看越发现它们的侧重点和实现方式差别很大:有人在做测试框架,有人在做浏览器插件,有人从 Chromium 内核开始为 Agent 改造浏览器,还有人在推动新的 Web 标准。它们看起来都在「让 AI 操作网页」,解决的却根本不是同一个问题。
  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 用 PowerContext 给多个 Coding Agent 做任务交接 现在我写代码基本是 [[Codex]] 和 [[Claude Code]] 轮着用。有时候是 Codex 的额度先用完了,有时候是某一步我觉得 Claude Code 更合适,于是一个任务经常要在两个 Agent 之间换手。真正麻烦的不是换工具本身,而是换手的那一刻:新会话对前面发生的事一无所知。之前选了哪个库、哪个旧接口不能动、改了哪些文件、测试跑没跑过,这些信息全都留在上一段对话里。我只能手动复述一遍,或者把一大段聊天记录贴回去,前者容易漏掉关键约束,后者浪费 Token,还会让模型在几千行历史里抓不住重点。说到底,我缺的不是一个更大的上下文窗口,而是一份能在 Agent 之间传递、而且接手方可以核对的「当前状态」。在写这篇文章的时候还出现了另外一个思路就是利用 [[magpie]] 将模型路由给充足额度的账号,这个之后再写文章说。