Verne in GitHub

使用了半年 macOS 之后 我又回到了 Linux 的怀抱

我在使用了半年 macOS 之后,又回到了 Linux 的怀抱,虽然 macOS 有其自身的优势,我也不否认 macOS 系统上软件生态的友好,但我发现即使我将日常开发主力机器装回到 Linux,也没有丧失操作系统的便捷性和易用性。这或许和我下意识的只使用跨平台的软件有关,并且最长使用的软件几乎都是一套快捷键。 一开始从一个系统切换到另一个系统的时候,难免会有一些东西需要学习,但是其内在的逻辑是一致的,操作系统无非是提高了上层应用运行时的环境。并且如今跨平台的软件越来越多,只要数据在我这里,无论在哪一个系统中都可以迅速地开始自己的工作。 契机 稳定 Read more ...

2021-03-31 linux , macos , operating-system

重置 macOS S.M.C 和 NVRAM

今天用得好好的电脑突然三次黑屏,两次发生在早上刚刚使用的时候,一次发生在晚上回家之后。所以一怒之下就直接上官网联系了 Apple Support,但是也不知道是不是我直接登录的 .com 网站,在我提交了 Support 之后一分钟一个外国小哥打了电话过来,我一下子没反应过来,只能用着不那么熟练的英语开始了 macOS 修复之路。 我简单地向这位技术小哥描述了我的问题,大致意思就是系统突然崩溃了三次,然后在聊的过程之中,经过他的提醒,我发现出现问题的时候都是系统从睡眠状态中恢复,并刚开机不久,在打字的过程中,突然风扇很响一声,电脑就黑屏了。 虽然这个 Read more ...


从 VMware Fusion 中迁移虚拟机到 VMware Workstation

用了半年多 macOS,虽然不错,但工作用还是觉得 Linux 比较顺手,所以经过了半年时间还是从 macOS 切换回了 Linux。然而需要解决的一个问题便是我之前的 macOS 上使用 VMware Fusion 的个人授权安装了一个 Windows 用来进行一些调试,现在有一些配置因为需要依赖外部人员进行操作,证书之类的,只能想办法把 Fusion 上的虚拟机转移到 Linux 下的 VMware Workstation 中。 前提知识 在正式迁移之前先了解一下磁盘上的几类文件,这些文件都是和 VMware 虚拟机相关的。 VMX 文件 VMw Read more ...


VMware Workstation 虚拟机网络设置

总结一下 VMware Workstation 和 Fusion 中的虚拟机网络设置的选项。 VMware 产生的虚拟机会有以下几种网络模式: Bridged NAT Host-only Custom VMware 虚拟机网络模式 Bridged 虚拟机通过桥接,直接连接到物理网络。虚拟机会和主机在同一个子网中。比如你的宿主机的 IP 是 192.168.1.100,并且所在的网络中存在一个 HDCP 服务器(比如路由器等),那么虚拟机就会获得一个 192.168.1.x 的 IP 地址,表现成网络中的另外一台电脑一样。 N Read more ...


在 Linux 上使用 Clash 作代理

去年年中的时候切换到 macOS,一直用 ClashX,时隔半年又迁移回了 Linux1,发现原先使用的 V2rayL 虽然能用,但是有些简陋,并且不支持分流,并且如果一个地址失效了,还需要手动地进行切换。所以看到 Linux 的 Clash 可以自动进行流量切换的时候,就试一下。 Clash 是 Go 语言实现的,跨平台代理工具,支持 Shadowsocks/v2ray,支持规则分流等等。 可以在官方页面下载。 Linux 下载对应的 linux-amd64 即可。 2021 年 11 月更新 在用了很长一段时间的 Clash 命令行之后,我 Read more ...

2021-03-15 linux , clash , clashx , macos , proxy , socks , v2ray

使用 Beancount 记账篇六:利用 VS Code 插件辅助

在之前的文章中已经详细地讲解过 Beancount 这个纯文本的复式记账工具,正是因为纯文本的记账工具,所以帐本就可以理解成为有一定格式的「代码」,所以编写这一份帐本,就可以和代码补充的 IDE 一样,比如在记录从信用卡(Liabilities)产生消费 (Expenses)时,可以利用账户的关键字,借助插件自动补全,快速完成记账。 这篇文章重点介绍一下 VSCode 下的 Beancount 插件。 插件安装 和正常的 VSCode 插件安装一样,直接在插件市场里面搜索 Beancount,找到 VSCode-Beancount,然后点击安装即可 Read more ...


使用 Beancount 记账篇五:使用 Telegram Bot 简化记账

在了解并使用 [[Beancount]] 的过程中,大多数情况都是通过 VSCode 打开 Beancount 仓库,然后手动进行记录,但是通常情况下消费都是遍布在日常生活中的,不会随时随地都有一个 VSCode 环境,所以就需要一个可以随时随地记账的方法,很早之前想过通过 Alfred,或者通过在线构建一个 Fava 环境,但是一方面 Alfred 手机上并没有,而如果构建一个 Fava 则还有安全性问题,所以一直没有很好的对策,直到有一天我看到有人分享了一篇文章说自己使用 Telegram Bot 来作为 Beancount 的记账,我茅塞顿开。 Read more ...


使用 Beancount 记账篇四:证券交易

在我使用 Beancount 的过程中,让我收益最大的是让我知道了一个词 commodity ,直接翻译为通货,它不等同于金钱,也不是我们理解的钱。但是在记账的过程中使用最多的就是以货币单位,比如 CNY 人民币,USD 美元,HKD 港币来作为 commodity 记账。 Beancount 给我普及了 commodity,它可以是用于交换的任何物品或资源,比如可以是股票,可以是黄金,也可以是期权,也可以是加密货币等。这种灵活性使得 Beancount 在处理不同类型的资产时非常强大。 Commodity 每一个投资标的就是一个 commodit Read more ...


使用 Beancount 记账篇三:限制性股票

通过之前几篇文章的介绍,相信大部分人已经入门了基本的 Beancount 的使用,也能理解[[复式记账]]的魅力。 使用 Beancount 记账篇零:Beancount 入门使用 使用 Beancount 记账篇一:给账户命名 使用 Beancount 记账篇二:各类账单导入 这一篇文章就接着之前的内容,来讲讲如何在 Beancount 下记录期权(或者限制性股票)交易的记账。 RSU(restricted stock units),又被称为限制性股票,restricted 意味着当前无法获得,一般经过特定的时间周期,当其成熟时才 Read more ...


Drools 原理之 RETE 算法

RETE 算法是卡内基梅隆大学的 [[Charles L.Forgy]] 博士在 1974 年发表的论文中实现的算法,是一种[[模式匹配算法]]。简易版本的论文发表于 1982 年 (http://citeseer.ist.psu.edu/context/505087/0)。拉丁语的 rete 表示 ”net” 和 “network”。 这个算法设计的目的是为了在大量的规则,Objects(或者说 Facts)中寻找匹配的规则。其核心思想是通过分离的匹配项,根据内容动态的构造匹配树,缓存中间结果,以空间换取时间,降低计算量。 RETE 算法主要可以分 Read more ...


最近文章

  • 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]] 将模型路由给充足额度的账号,这个之后再写文章说。