Xueshi

代码手工艺人

Joey 写字的地方 · iOS · WebRTC · C++ · LLVM

Tailscale 与代理软件共存:手机远程 SSH 到无公网 IP 的 Mac

· 网络

在外面的时候常常有这么个需求,SSH 连回家里的 MacBook Pro,看一眼 Claude Code 和 Codex 跑到哪一步了、有没有卡住在等我回话。上一篇讲 AI Agent Coding 基础工具链 的时候提过,tmux 里常年挂着几个 agent,人不在电脑前也得能随时接上。

Claude Code 和 Codex 各自都有手机 app,我没有用,主要考虑是 多接入一个客户端就多一份账号暴露面,出于账号安全的考虑这条路我没走,SSH 也很方便,而且不绑死到某一个 AI Agent 工具上,后面我如果换成其他开源的 Agent,比如 Grok Builder,也没有额外的成本。

家里的宽带没有公网 IP,这一层 Tailscale 能解决:两端装上、登录同一个账号,设备之间点对点打洞,拿一个 100.x 的地址就能连回去。

问题出在 macOS 上常年开着 Surge 增强模式,手机上开着 FlClash,它们和 Tailscale 要占用的是同一批系统资源,默认配置下同时启用会互相覆盖。而我不想每次要连回去就先手动切一次 VPN。

两边最后都配通了:两个 VPN 同时处于活动状态,代理照常分流,手机上一条命令直接 attach 到 Mac 上的 tmux。下面是具体怎么配的,以及这套配置的限制在哪。

Read More →
#macOS #Tailscale #Surge #Clash #Shelter #Android #SSH

我的 AI Agent Coding 基础工具链

· Agentic Coding

我现在写代码基本是多个项目进行,每个项目好几个 agent 一起开着:一个 pane 里 Claude Code 在改代码,旁边 Codex 在跑 test 和 review,还有几个处理杂活的。
同时进行的工作区一般 2-3 个,同时期维护的有 10+ 个,我不想每次都重新打开,所以怎么把它们安排好,能够自驱,且能支持随时随地介入就变得尤为重要。中间折腾了不少次,最终我建立了一套可插拔、高兼容性、高稳定性、错误易恢复的基础工具链。

Read More →
#AI Agent #Claude Code #tmux #ttyd #Cloudflare Tunnel

年岁渐长才看懂诸子百家:拆解人类社会的「巨型操作系统」

· 思考

年轻的时候,要是有人跟我大谈孔孟之道、老庄哲学,我多半是听不进去的,心里还有点不以为然,总觉得这些两千多年前的东西早就过时了,跟现在这个高科技、快节奏的社会完全是两码事。

后来年纪慢慢大了,在职场和各种现实规则里摸爬滚打久了,我才慢慢发现:这个世界运转的底层逻辑,其实跟老祖宗当年看到的差不多是一回事。表面上现代社会日新月异、技术一茬接一茬,但最底层那套 “代码” 几乎没怎么变。两千多年前的先秦诸子,早就把人性和权力这点事看得挺透了。所以这篇我想换个现代人的视角,把这套跑了两千年的 “社会操作系统” 重新拆开看看。

Read More →
#诸子百家 #哲学 #随笔

Self-Hosting Aptabase on a Mac Mini - A Troubleshooting Guide

· 杂记

I recently went looking for an analytics tool for an app I’m developing. There are plenty of options out there, but most are either too heavyweight or raise privacy concerns. After some research, Aptabase caught my eye — it’s privacy-first, uses no unique user identifiers, fully complies with GDPR/CCPA, comes with a clean and intuitive dashboard, and offers over 10 SDKs covering most major frameworks. Best of all, it supports self-hosting, so your data stays entirely under your control.

The official self-hosting repository makes it look simple — just clone, tweak a few configs, run docker compose up -d, and you’re done. But the actual deployment process had quite a few gotchas, and many others in the Issues have run into similar problems. Here’s what I learned, hoping it saves you some trouble.

Read More →
#Aptabase #Self-Host #Docker #Cloudflare

在 Mac Mini 上 Self-Host Aptabase 的踩坑记录

· 杂记

最近在为自己开发的 App 寻找数据统计工具。市面上的选择不少,但大部分要么太重,要么在隐私方面让人不太放心。调研了一圈之后,Aptabase 吸引了我的注意 —— 它主打隐私优先,不使用任何用户唯一标识符,完全符合 GDPR、CCPA 等法规要求,而且自带的 Dashboard 简洁直观,提供了超过 10 种 SDK,基本覆盖了主流的开发框架。更重要的是,它支持 Self-Host,数据完全掌握在自己手里。

官方提供了 Self-Hosting 仓库,看起来很简单 ——clone 下来、改改配置、docker compose up -d 就完事了。但实际部署过程中还是踩了不少坑,Issue 里也有很多人遇到了类似的问题。这里把我的经历整理出来,希望能帮到后来人。

Read More →
#Aptabase #Self-Host #Docker #Cloudflare

2022 年读的一些书

·

最近一年读了不少书和杂志,有电子版也有实体书,收获还是蛮多的,主要偏技术一些,希望 23 年能扩宽一下阅读范围。

技术书籍

技术书籍偏 C++ 以及一些底层的技术,英文为主。 选英文版主要原因有两个吧,一是有些书没有中文版,即便有,翻译的也很晦涩难懂,我倒不怪罪译者的水平,技术书籍确实比较难翻译得平易近人。(打比方说我比较敬仰的 C++ 骨灰级程序员 侯捷老师 的技术水平肯定是一流的,但是翻译的书也是很晦涩,可读性比较..)

  1. Effective Modern C++

    Scott Meyer 著作,每次读都会有新的收获,技术点讲的非常的细,比如关于 std::move 和 universal reference 就花了一章来介绍,各种想不到的 case. C++ 真的是了解的越多,就发现不了解的更多。 建议阅读英文版。
Read More →
#书

Blog 托管到 Cloudflare Pages

· 杂记

Blog 此前一直是跑在自己的东京服务器上,这个服务器上跑着我的 blog 以及一些自用的服务,因为更新并不频繁,所以直接起了本地的 hexo server,然后 nginx 反向代理一下,当然还反代了其他的几个服务。

但是最近考虑把服务器给退掉,所以 blog 的托管就成了一个问题。简单做了下调研,国内的云厂商基本都有,但是麻烦的是域名和备案。做了一些调研,最终考虑托管到 Cloudflare Pages 上,有以下几个优势:

Read More →
#blog #cloudflare