[{"title":"排查 kitty + tmux + nvim 中 markdown 文件被自动插入内容的问题","url":"https://qixin.ch/posts/nvim-tmux-kitty-escape-leak/","body":"现象\n在 kitty → tmux → nvim 的终端栈里,每次打开 markdown 文件,文件开头都会自动插入两段内容:\n\n一段形如 tty(0.42.1) 的字符串(其中 0.42.1 是 kitty 的版本号)\n系统剪贴板里的当前内容\n\n其他类型的文件(lua、sh、java 等)不受影响,只有 markdown 文件出现。\n\n根本原因\n终端查询序列泄漏\nnvim 的 snacks.nvim 插件有一个图片渲染功能(image),在 markdown 文件打开时会探测当前终端是否支持 Kitty Image Protocol。探测过程会向终端发送 XTVERSION 查询:\n\\033[>q\n\nkitty 收到后响应:\n\\033P>|kitty(0.42.1)\\033\\\\\n\n这是一个标准的 DCS(Device Control String)序列。问题在于 tmux 对这段响应的处理:tmux 消耗了序列前缀 \\033P>|ki,剩余的 tty(0.42.1)\\033\\\\ 没有被正确路由回 nvim 的终端响应缓冲区,而是泄漏到了 stdin,被 nvim 当作键盘输入处理。\nsnacks.nvim 的 workaround 失效\nsnacks.nvim 的开发者其实已经意识到这个问题(issue #2332):在 tmux 开启 extended-key","description":"在 kitty → tmux → nvim 的嵌套环境下,打开 markdown 文件时文件开头会自动出现 tty(0.42.1) 和剪贴板内容,记录排查与修复过程。"},{"title":"五一泉州旅游攻略(2026)","url":"https://qixin.ch/posts/quanzhou-wuyi/","body":"\nTODO\n\n\n去程机票\n\n回程动卧\n\n博物馆预约\n\n木偶戏预约\n\n清源山预约\n\n酒店预约\n\n🗺️ 行程概览\n日期主题重点景点\n5/3(六)飞抵泉州,西街初探西街、开元寺\n5/4(日)古城深度游清净寺、关岳庙、府文庙、天后宫、中山路\n5/5(一)出城远游 + 木偶戏洛阳桥、崇武古城、提线木偶戏\n5/6(二)清源山,傍晚返程老君岩、清源山、泉州博物馆\n\n\n✈️ 交通\n去程\n\n航班:KN5967,北京大兴机场 08:20 起飞\n落地:泉州晋江国际机场,约 11:00 抵达\n机场进城:机场大巴约 40 分钟(票价约 15 元);打车约 45 元\n\n返程\n\n列车:D132 动卧,泉州站 18:00 出发\n建议 17:00 前到达泉州站,五一节假日人流量大\n\n\n🏨 住宿:推荐区域\n首选:鲤城区(古城核心区)\n西街 / 中山路一带,步行可串联西街、开元寺、清净寺、关岳庙、天后宫等全部主要景点,民宿和精品酒店选择丰富,古城氛围浓厚。\n备选:丰泽区\n商业配套完善,价格通常更低,但前往古城景点需打车约 15 分钟。\n\n⚠️ 五一是泉州旅游高峰期,古城区住宿建议提前 2 周以上预订。\n\n\n📅 Day 1(5月3日)抵达 · 西街初探\n上午落地后进市区 check-in,下午开始游览,节奏轻松。\n\n11:00 落地晋江机场,进市区 check-in\n13:00 午餐:面线糊 + 海蛎煎(西街周边随处可见)\n1","description":"3晚4天,涵盖西街、开元寺、清净寺、关岳庙、洛阳桥、崇武古城、清源山、提线木偶戏,附住宿选址与美食清单"},{"title":"背影","url":"https://qixin.ch/posts/beiying-zhuzhiqing/","body":"我与父亲不相见已二年余了,我最不能忘记的是他的背影。\n那年冬天,祖母死了,父亲的差使也交卸了,正是祸不单行的日子。我从北京赶回徐州,见着父亲,见着母亲,又看见家中所剩的旧物,便伤心地哭了。\n父亲说:“事已如此,不必难过,好在天无绝人之路!”\n唉,我现在想想,那时候真是太不懂事了。父亲已经是多么辛苦,又遭这样的变故,而我只顾着自己的悲伤。\n第二天清早,父亲叫我陪他到火车站去办理些事情。我记得那天风很大,天也阴沉。父亲穿着他那件旧棉袄,走在前面,步子一向是那样稳重而有力。\n到了车站,父亲去买票,又要我在一旁照看行李。他一边走一边回头叮嘱我几句:“看好了,别丢了。”\n后来要过铁道。那时车站还没有地下通道,必须直接从铁道上跨过去。那铁道两旁堆着许多煤块和石子,走上去非常不方便。我本想跟着父亲过去,他却说:“你就在这边等着,东西别乱动,我过去就回来。”\n我看着父亲走向铁道。他缓慢地、却很谨慎地迈过一条又一条钢轨,时不时要停下来喘口气。那时他已经不再年轻,身形也有些发福,上下这样不平的路,对他实在不是容易的事。\n特别是当他要跨过一段稍高的石堆时,我看得分明:他先把双手扶在石堆上,用力一撑,再把一条腿挪过去,然后再挪另一条腿。整个动作既笨拙又吃力,但却很坚决,没有半点退缩。\n那一刻,他的背影在冷风里显得格外厚重。我突然感到眼睛里有些湿润,说不出是什么滋味,只是心里很酸。\n父亲办完事回来时,脸上已","description":"朱自清《背影》原文收录"},{"title":"长沙 + 张家界清明假期四日游","url":"https://qixin.ch/posts/changsha-zhangjiajie-travel-guide/","body":"🏔️ 长沙+张家界清明假期四日游:全家老小的山水美食之旅\n清明小长假将至,如果你正在计划一场兼顾自然风光与美食文化的家庭旅行,这份长沙+张家界四日游攻略或许能给你带来灵感。本次行程专为5人家庭设计(夫妻+小姨子+岳父岳母),节奏张弛有度,既涵盖网红打卡地,又深度体验了湖南的山水人文。\n📅 行程总览:4天3晚的湘西风韵\n日期主题亮点\n4/2长沙市区美食+文化橘子洲头、岳麓书院、坡子街美食\n4/3张家界国家森林公园百龙天梯、袁家界、杨家界\n4/4天门山+返程长沙世界最长索道、玻璃栈道、天门洞\n4/5长沙休闲游湖南省博物馆、IFS商圈\n\n🌆 Day 1:长沙初体验——舌尖与文化的双重盛宴\n📍 上午:初探星城\n10:00抵达长沙后,建议入住五一广场或太平街附近酒店,这里交通便利,步行可达多个景点。放好行李后稍作休整,便可开启美食之旅。\n🍜 中午:味蕾觉醒\n坡子街和太平街是美食聚集地:\n\n文和友老长沙龙虾馆:复古装修风格,招牌小龙虾不可错过\n黑色经典臭豆腐:外酥里嫩,浇上秘制汤汁\n茶颜悦色:长沙限定奶茶,推荐\"幽兰拿铁\"\n长辈友好选择:向群锅饺或杨裕兴米粉,口味温和不刺激\n\n🏛️ 下午:文化巡礼\n\n橘子洲头(14:00-15:30):乘坐小火车直达毛泽东青年艺术雕塑,清明时节洲上绿意盎然,适合全家合影\n岳麓山/岳麓书院(16:00-17:30):考虑长辈体力,建议游览岳麓书院(门票50元),感受","description":"看看著名的橘子洲头,体验一下玻璃栈桥,天门洞"},{"title":"使用hdhive替换cms增强插件中的nullbr","url":"https://qixin.ch/posts/cms-hdhive/","body":"\n这篇记录是把 cms 增强插件里对 /api/nullbr/... 的调用,替换成走 hdhive 的代理服务。核心目的:\n\n由于cms增强插件是闭源的五个直接修改,只能通过拦截后处理来实现\n\n项目地址:KysonGeek/cms_hdhive_proxy\n前置条件\n\n一台能跑 Python 服务的机器(和 cms 后端同机最好)\nCaddy(也可以换成 Nginx/Traefik,本篇用 Caddy 举例)\n已经有可用的 hdhive token\n\n使用步骤\n1) 拉取代码并配置 Token\ngit clone https://github.com/KysonGeek/cms_hdhive_proxy.git\ncd cms_hdhive_proxy\n\ncat > .env <<'EOF'\nHDHIVE_TOKEN=xxx\nEOF\n\n2) 安装依赖并启动服务\npython3 -m venv venv\n./venv/bin/pip install -r requirements.txt\n\nnohup ./venv/bin/python -u main.py > output.log 2>&1 &\n\n确认启动是否正常:\ntail -n 200 output.log\n\n默认监听端口通常是 8900(以项目实际输出为准)。\n3","description":"nullbr失联后,使用hdhive替换"},{"title":"IX(互联网交换中心)科普:从原理到应用","url":"https://qixin.ch/posts/ix/","body":"什么是 IX?\nIX 即 互联网交换中心(Internet Exchange),是一个用于不同 ASN(自治系统号)之间交换流量的基础设施平台。这一概念在国外已经发展多年,核心目的是让不同网络运营商之间能够直接互联,而无需通过第三方中转。\n\nIX 的工作原理\n以腾讯云香港为例,测试到 DMIT 香港和香港大学两个网络时,路由路径分别经过了:\n\n\n\nEquinix IX(EIE) —— 全球大型数据中心 Equinix 提供的互联网交换平台\nHKIX —— 香港互联网交换中心\n\n这说明腾讯云香港到这两个网络之间,分别通过 EIE 和 HKIX 进行互联。只要双方都接入了 IX 并建立了 BGP Peering,流量通常会优先通过 IX 交换。\n\n接入 IX 有什么好处?\n如果不接入 IX,同时也没有建立私有互联(PNI),不同网络之间就只能通过 T1 运营商的 IP Transit 传输数据。公网传输费用远高于 IX 之间的费用,因此通过 IX 可以大大降低带宽成本。\n\n为什么 IX 在中国也火起来了?\n中国近年来也建设了几个 IX,比较知名的包括:\nIX 名称位置\nCNIX(前海 IX)深圳前海\nSHIXP上海\n\n原理与国外一致:不同 ASN 接入后,可以通过 IX 交换流量。但中国网络环境比较特殊——大部分网络由三大运营商垄断,拥有独立 ASN 并进行 BGP 互联的网络非常少,","description":"IX 本质上就是互联网交换中心(Internet Exchange),这个概念在国外已经是发展了很多年了,主要用于不同 ASN 之间交换流量的。"},{"title":"使用tg-bot管理vps","url":"https://qixin.ch/posts/vps-manage/","body":"依赖的包\npython3 -m venv venv\nsource venv/bin/activate\npip3 install python-telegram-bot\n\n# bot.py\nimport subprocess\nimport logging\nimport os\nfrom telegram import Update, BotCommand, InlineKeyboardButton, InlineKeyboardMarkup\nfrom telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, CallbackQueryHandler\nfrom dotenv import load_dotenv\n\nload_dotenv()\n\n# ===== 配置区 =====\n# 建议通过环境变量传入,避免 Token 硬编码泄露:\n# export BOT_TOKEN="your_token"\n# export ALLOWED_USERS="123456789,1111111"\nBOT_TOKEN = os.environ.get("BOT_TOKEN", "在这里填入Token或通过环境变量传入")\nALLOWED_USE","description":"将常用的操作通过tg-bot管理,包括docker的重启、停止、日志等"},{"title":"故障排除:永远不会过时的技能","url":"https://qixin.ch/posts/troubleshooting/","body":"我在多个领域所做的大部分工作,都可以归结为一项技能:故障排除。\n我将故障排除定义为系统地确定系统中不良行为的原因并修复它。\n故障排除通常是在明确学习\"技能\"的过程中潜移默化地学习的。故障排除很少被作为一项技能本身来讨论。但有效进行故障排除的许多方法是领域无关的。\n意识到我花在故障排除上的时间比构建或执行上的时间更多,并且故障排除技能可以与应用它的领域分开磨练,我决定尝试找出如何提高我的故障排除技能 - 从而提高我在多个领域的效率。\n我做故障排除的方式,主要归结为抓耳挠腮,用谷歌搜索错误信息,以及想出并测试假设以缩小搜索范围。但我经常发现自己犯了以前犯过的错误。所以当我进行故障排除时,我会尝试记住以下几点,以保持在正轨上并避免死胡同。\n步骤1:退后一步\n故障排除需要一定的心态。据我所知,它需要对系统底层结构的兴趣 - 用皮尔斯的话说,\"经典\"思维 - 耐心,对细节的关注,以及坚韧不拔。\n有时,即使在赶时间的情况下,缓慢、深思熟虑、冥想式地进行故障排除也更有效。\n很容易陷入被动的问题处理中,而没有停下来思考:这个问题的真正原因是什么?这里到底发生了什么?\n故障排除者是系统的一部分。因此,会有探针效应和传说中的海森堡bug。\n\n确保你在调整正确的弦\n任何弹过一段时间吉他的人都知道那种切身的感觉:意识到他们正在转动的是与他们正在拨弄的不同弦的调音器。难怪没有任何帮助!\n当试图修复一个系统时","description":"故障排除是一项可以在任何领域学习和应用的技能。通过系统地方法,保持耐心,关注细节,你可以更有效地解决问题,无论系统有多复杂。记住,故障排除不仅仅是修复问题,也是理解系统的机会。"},{"title":"暗淡蓝点 (Pale Blue Dot)","url":"https://qixin.ch/posts/andanlandian/","body":"\n\n背景: 1990年2月14日,旅行者1号探测器在距离地球60亿公里的地方,回眸拍摄了一张地球的照片。著名的天文学家卡尔·萨根(Carl Sagan)为此写下了这段不朽的文字。\n\n\n再来看一眼这个小点。就在这里。这就是家。这就是我们。\n在这个小点上,每一个你爱的人,每一个你认识的人,每一个你听说过的人,每一个人,无论是谁,都在此度过一生。我们所有的快乐和挣扎,数以千万自傲的宗教信仰、思想体系观念意识,以及经济学原理教义,每一个猎人或征服者,每一位勇士或懦夫,每一个文明的缔造者或摧毁者,每一位君王或农夫,每一对陷入爱河的年轻伴侣,每一位为人父母者,所有充满希望的小孩、发明家或探险者,每一位灵魂导师,每一个腐败的政客,每一个所谓的“超级巨星”,每一个所谓的“至高领袖”,每一位我们人类史上的圣人或罪人……我们的一切一切,全部都存在于这样一粒悬浮在一束阳光中的尘埃上。\n地球,只是浩瀚宇宙竞技场上一个小小的舞台。\n想想那些帝王将相扬起的腥风血雨,只为在荣耀和胜利中,短暂享受主宰着一个小点上一小部分的滋味。想想有些永无止境的残暴,竟然就发生在这个小点上某个角落里的一群人、与几乎分不出任何区别的同样这一个小点上的另一个角落的另一群人之间。他们之间的误解能有多频繁,他们之间想灭掉对方的愿望能有多迫切,他们之间互相的仇恨能有多炽烈。\n我们的装腔作势与妄自尊大,我们以为自己在宇宙中享有特权的幻想,都","description":"寄蜉蝣于天地,渺沧海之一粟。关于旅行者1号拍摄的那张著名照片。"},{"title":"漫威电影宇宙观影顺序","url":"https://qixin.ch/posts/mcu/","body":"1. 剧情时间线顺序 (Chronological Order)\n起源阶段:\n\n\n《美国队长 1:复仇者先锋》 (发生在 1940 年代)\n\n《惊奇队长》 (发生在 1990 年代)\n\n第一阶段:\n\n\n《钢铁侠》 (发生在 2008 年代)\n\n《钢铁侠 2》 (发生在 2010 年代)\n\n《无敌浩克》 (发生在 2012 年代)\n\n《雷神》 (发生在 2013 年代)\n\n《复仇者联盟》 (发生在 2012 年代)\n\n第二阶段:\n\n\n《雷神 2:黑暗世界》 (发生在 2014 年代)\n\n《钢铁侠 3》 (发生在 2013 年代)\n\n《美国队长 2:冬日战士》 (发生在 2014 年代)\n\n《银河护卫队》 (发生在 2014 年代)\n\n《银河护卫队 2》 (发生在 2016 年代)\n\n《复仇者联盟 2:奥创纪元》 (发生在 2014 年代)\n\n《蚁人》 (发生在 2016 年代)\n\n第三阶段:\n\n\n《美国队长 3:内战》 (发生在 2016 年代)\n\n《黑寡妇》 (剧情紧接内战后)\n\n《黑豹》 (发生在 2018 年代)\n\n《蜘蛛侠:英雄归来》 (发生在 2018 年代)\n\n《奇异博士》 (发生在 2019 年代)\n\n《雷神 3:诸神黄昏》 (发生在 2020 年代)\n\n《蚁人 2:黄蜂女现身》 (发生在 2020 年代)\n\n《复仇者联盟 3:无限战争》 (发生在 2020 年代)\n\n","description":"按照上映时间的“无限传奇”(前三阶段)和“多重宇宙传奇”(第四阶段及以后)的阶段性顺序观看"},{"title":"提升302emby起播速度","url":"https://qixin.ch/posts/fast-emby/","body":"\n我是用qmediasync搭建的,这是以下文档的前提,如果你不是用这个工具搭建的,可能会有差异。\n\n1. 问题描述\n最近搭建了一个115+strm+302emby服务(115网盘+STRM播放列表文件+302重定向的Emby服务),发现起播速度较慢,经测试发现是因为302多次跳转(Emby服务器每次都需要向115服务器请求直链),以及emby服务端的响应时间导致的。\n抓包效果,以及详情如下\n\n\n\n由于手机屏幕比较小只筛选了115的请求记录,具体流程如下\n\n加上其他的请求,起播速度约7秒\n每次请求的作用不一样(Range请求是HTTP协议中用于断点续传或部分内容请求的机制):\n\n第一次请求header中包含Range: bytes=0-,主要是获取视频的基本信息(码率、格式等),响应头中包含Content-Length: 750112694\n第二次请求header中包含bytes=855081591-,寻找文件尾部,检查文件完整性或读取位于末尾的索引信息\n第三次请求header中包含bytes=855029833-,回退一点点位置来读取特定的数据块(如某些 MKV 格式的 Cluster 数据段或特定的 Metadata 元数据段)\n第四次请求header中包含bytes=11768-,此时播放器已经完全了解了视频结构,知道前面的 0 到 11767 字节只是些描述信息,真正的视频","description":"302emby服务由于使用了302跳转,需要多次与emby服务端交互,导致起播速度较慢,本文介绍如何提升302emby起播速度。"},{"title":"使用115网盘搭建emby","url":"https://qixin.ch/posts/115emby/","body":"使用开源工具连接115网盘生成strm和刮削图片\n\n\n使用docker compose运行工具\nversion: "2.3"\nservices:\n qmediasync:\n image: qicfan/qmediasync:latest\n container_name: qmediasync\n restart: unless-stopped\n ports:\n - "12333:12333"\n - "8095:8095"\n - "8094:8094"\n networks:\n - all\n volumes:\n - ./config/qmediasync:/app/config\n - ./strm:/media\n environment:\n - TZ=Asia/Shanghai\nnetworks:\n all:\n driver: bridge\n\n\n\n配置刮削和同步\n\n打开http://localhost:12333\n配置刮削和同步\n\n\n\n安装emby server\n\n\n使用快乐版\nversion: "2.3"\nservices:\n emby:\n volumes:\n","description":"115网盘支持302,视频流量可以不走vps,但要注意异地或多IP带来的封控问题"},{"title":"使用夸克网盘搭建emby","url":"https://qixin.ch/posts/emby/","body":"使用开源工具挂载夸克网盘的WebDAV服务\n\n\n下载工具\nwget https://github.com/chenqimiao/quarkdrive-webdav/releases/download/v1.3.3/quarkdrive-webdav-x86_64-unknown-linux-gnu.tar.gz\ntar -zxvf quarkdrive-webdav-x86_64-unknown-linux-gnu.tar.gz\n\n\n\n运行工具\nquarkdrive-webdav --quark-cookie '你的cookie' -U '用户名' -W '密码' -p 8080\n\ncookie可以在夸克网页登录后通过控制台获取\n\n\n设置开机启动\ncat <<EOF > /etc/systemd/system/quark.service\n[Unit]\nDescription=Quark Service\nAfter=network.target\n\n[Service]\nType=simple\nExecStart=/root/quark/start-quark.sh\nRestart=always\nUser=root\n\n[Install]\nWantedBy=multi-user.target\nEOF\nsystemctl da","description":"夸克+webdav+CloudDrive2+AutoSymlink+Emby自建影视库"},{"title":"厉害的人如何分析问题","url":"https://qixin.ch/posts/analyze/","body":"☆ 我先来举一个栗子 :\n假设,你是一家创业公司的CEO。\n最近,你发现公司的业绩,一路下滑,你打算找业务部主管王小锤聊一下,看看到底发生了什么,下一步该如何应对。\n于是,你把他叫到了办公室,一脸严肃的问到:小锤,最近公司业绩一直在下滑,你打算下一步怎么办?\n小锤有些颤抖,紧张的说到:\n老板,这两个月团队走了几个得力干将。另外,这段时间,市场上出现了一个竞争对手,和我们的产品功能基本一致,但价格比我们低了许多,用户现在都觉得我们的产品太贵,都跑去买他们的了,所以业绩才下滑。\n如果能帮我再招募几个销售,适当的再给我一些折扣的权利,我有信心,业绩一定能提上去!\n你听上去感觉像是借口,便质问到:\n再招几个销售没问题,我帮你去和人力资源部的李总打声招呼。\n可价格高不是理由吧,我们一直都是这个价格在卖,而且我们为了保证产品质量,用的都是好材料,利润本来就不高,现在你再一打折,利润就更少了…\n小锤看你有些犹豫,就继续说到:\n现在市场发生变化了,竞争对手开始主动降价,我们也要跟进,晚了也许市场就没了!\n通过薄利多销,先把竞争对手赶出去,把市场拿回来!\n被他这么一说,你心头一紧,感觉挺有道理,频频点头,还没等你开口,小锤又接着说:\n只要您给我打折的权利,再给我配2个人,我保证下个月的业绩能有2倍的提升!把市场给拿回来!做不到我就走人!\n你被王小崔诚意所打动,脸上露出了迷人的微笑,便许诺了他提出的条","description":"在电影《教父》的原著中,作者马里奥·普佐有一句经典的旁白:在一秒钟内看到本质的人,和花半辈子也看不清一件事本质的人,自然是不一样的命运。"},{"title":"Arthas 使用记录","url":"https://qixin.ch/posts/arthas/","body":"Arthas 官网\n1、进入 webShell 下载 arthas\ncurl -O https://arthas.aliyun.com/arthas-boot.jar\n\n2. 启动 arthas\n方法一\nwebShell# java -jar arthas-boot.jar\n[INFO] arthas-boot version: 3.5.5\n[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.\n* [1]: 364 web-app-1.21.4.jar\n1 //输入上面的 jar前面的序号\n\n方法二\n#找到java进程的pid\nwebShell# ps -ef|grep java\nwebShell# java -jar arthas-boot.jar 364 # pid\n\n3. 常用命令\nwatch com.xx.sdk.entity.EntityMetaUtils getEntitySchema "{params[0],throwExp}" -e -x 2\n\nwatch com.xx.application.service.FieldPageQueryService fil","description":"Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。"},{"title":"《蛤蟆先生去看心理医生》读书笔记","url":"https://qixin.ch/posts/hama/","body":"\n阅读使人充实,会谈使人敏捷,写作与笔记使人精确 ——培根\n\n📝 笔记方法:康奈尔笔记法 (Cornell Notes System)\n康奈尔笔记法是由美国康奈尔大学教授沃尔特·波克发明的一种笔记方法。\n\n目的: 将笔记纸分为3个栏目:笔记、关键词、总结,来高效记笔记,并便于复习巩固知识点。\n操作步骤:\n\n  用简洁的语句在笔记栏记下重点知识。\n  将笔记栏中的知识点提炼为关键词和要点,写在关键词栏。在总结栏写下本次学习总结。\n  遮盖笔记栏的内容,通过关键词栏的要点概括,复述出笔记内容来巩固知识。\n\n\n\n📚 导读\n这是一本入门级心理学书籍,旨在帮助患有抑郁的人走出困境。\n蛤蟆本是一个热情、时尚又爱冒险的家伙,惹出过不少麻烦和笑话。但他现在陷入抑郁,不能自拔。他的朋友们(獾、河鼠、鼹鼠)决定督促他重视这个问题,并带他去接受心理咨询。\n\n📌 笔记内容提炼(关键词与要点)\n关键词笔记栏要点\n心理咨询 / 自发做事1. 心理咨询是一个自发的过程,咨询师和来访者双方都得出于自愿。只有为自己而非取悦朋友才想咨询的时候,双方才能真正合作。2. 咨询师相信每个人都有能力变得更好。\n儿童自我状态 / 行为3. 处于**“儿童自我状态”时,行为和感受都像一个孩子**,不同于“幼稚”。4. 自然型儿童的基本情感:快乐和深情、愤怒、悲伤、恐惧。5. 感受和行为与小时候的自己如出一辙,与实际年龄无关。6.","description":"基于《蛤蟆先生去看心理医生》的内容,整理的关键点,涵盖儿童、父母、成人自我状态、人生坐标和情商等核心概念。"},{"title":"Snell 一键脚本开启多个端口监听","url":"https://qixin.ch/posts/snell/","body":"主要使用的systemctl service的变量功能,将端口当成变量传给service,每个端口启动一个service\n将内容保存到snell.sh中,使用下面命令赋予执行权限\nchmod +x snell.sh\n\n./snell install #安装官方snell-service\n./snell create 1234 #新增端口\n./snell list #查看目前端口列表\n\n脚本内容:\n#!/usr/bin/env bash\nset -e\nsnell_server="/etc/systemd/system/snell-server@.service"\nsnell_bin="/usr/local/bin/snell-server"\nsnell_dir="/etc/snell"\n\ncheck_root() {\n [[ $EUID -ne 0 ]] && echo "请使用 root 运行" && exit 1\n}\n\ninstall_binary() {\n mkdir -p "$snell_dir"\n arch=$(uname -m)\n [[ "$arch" == "x86_64" ]] &&","description":"之前用的snell一键脚本只能创建一个端口,只能和朋友用一个端口不方便。今天用AI糊了个脚本可以开启多个端口监听。"},{"title":"VPS运营商以及线路介绍","url":"https://qixin.ch/posts/as/","body":"声明: 高贵的 IPLC 不在此种范围之内,99% 的个人用户买不起 IPLC 线路的 VPS,所以不在文内进行讲解。\n国内几大骨干网介绍\n目前国内有三大运营商:电信、联通、移动。\n运营商骨干网名称自治系统编号(AS号)\n中国电信163 (CHINANET)AS4134\nCN2 (CNCN)AS4809\n中国联通169 (China Unicom BackBone)AS4837\nA网 (Industrial Internet Backbone)AS9929\n中国移动CMNET (境内骨干网)AS9808\nCMI (境外骨干网)AS58453\n\n科研教育用途小型骨干网:\n\nCERNET (教育网,主用于高校): AS4538\nCSTNET (科技网): AS7497\n\n\n注意:\n\n如果您国内用的是手机运营商或普通家用宽带,对应 AS 号是:电信 AS4134,联通 AS4837,移动 AS9808。\n移动是个怪胎,普通线路不能直接连接海外,必须用 AS58453 (CMI) 才行。\n\n\n\n骨干网详情介绍\nAS4134 CHINANET 中国电信163骨干网\n\n宽带业务范围: 普通家用宽带、商用宽带、政企宽带\n海外加速专有业务: 163精品网套餐(上海地区)\n已知出口: 北京、上海、广州\n特点: 全国规模最大的骨干网,享有最大的国际出口。一般性电信宽带或商宽访问境外网站,如果对方 IS","description":"购买vps时需要注意,不同的vps运营商提供的网络线路不同,影响到vps的访问速度和稳定性。也是解决价格的决定性因素。"},{"title":"同一个模型部署在不同显卡上,结果可能不同","url":"https://qixin.ch/posts/model/","body":"以下是gpt的答复\n非常好的问题,这种情况在实践中确实可能发生,即使模型文件、参数、代码和输入完全相同。\n你看到“相同模型 + 不同显卡 + 相同请求参数 → 输出不同”这一现象,通常是由底层数值计算差异引起的。下面是详细原因分析👇\n\n🧩 一、主要原因:浮点数计算的非确定性\n\n\n不同 GPU 架构的浮点计算实现不同\n\n不同显卡(如 NVIDIA A100 vs RTX 4090)虽然都支持 FP16/FP32/FP64,但在指令级实现(如 FMA 融合乘加、舍入模式、累积顺序)上可能略有不同。\n这些微小的差异会在神经网络的数亿次运算中被放大,导致最终结果略有偏差。\n\n\n\n并行计算顺序不一致\n\nGPU 上很多操作(如 sum、matmul、softmax)是多线程并行的。\n浮点加法不满足结合律:\n\n(a + b) + c ≠ a + (b + c)\n\n所以线程调度或 kernel 执行顺序不同,也可能造成输出不同。\n\n\ncuDNN/cuBLAS 算法的非确定性\n\nNVIDIA 的深度学习库(cuDNN、cuBLAS)在同一个操作上可能有多个实现版本,驱动或硬件不同会自动选择不同 kernel。\n某些算法(如卷积的 FFT 实现、winograd)并不是确定性的。\n\n\n\n\n🧠 二、如果模型涉及随机性,差异更明显\n如果模型使用了:\n\ndropout\n随机初始化(未固定种子)\n随机采样(如","description":"最近工作中遇到同一个模型服务被自动缩容后,迁移到一个更好的显卡上后,发现相同测试集产出的结果不一致,经过测试才发现模型文件部署在不同显卡上的结果不同。"},{"title":"一个支持格式化残缺json的工具","url":"https://qixin.ch/posts/json/","body":"用ai结合vscode原生的格式化能力搭建了一个json格式化工具\njson tool\ngithub\n示例:\ninput1\n{"xxa":{"ak":"a","sk":"a"},"xxb":{"ak":"a","sk":"a"},"xxc":{"ak":"a","sk":"a"},"xxd":{"ak":"a","sk":"a"\n\noutput1\n{\n "xxa": {\n "ak": "a",\n "sk": "a"\n },\n "xxb": {\n "ak": "a",\n "sk": "a"\n },\n "","description":"平常工作中,经常使用json格式化,例如格式化日志,但打印日志时为了减少损耗,会对打印json进行截断,截断后网上的json格式工具就失效了提示json异常,但平常使用vscode时就可以对残缺的json以及log中间包含的json进行格式化。"},{"title":"将夸克网盘挂载到vps搭建图片墙","url":"https://qixin.ch/posts/webdav/","body":"使用开源工具挂载夸克网盘的WebDAV服务\n\n\n下载工具\nwget https://github.com/chenqimiao/quarkdrive-webdav/releases/download/v1.3.3/quarkdrive-webdav-x86_64-unknown-linux-gnu.tar.gz\ntar -zxvf quarkdrive-webdav-x86_64-unknown-linux-gnu.tar.gz\n\n\n\n运行工具\nquarkdrive-webdav --quark-cookie '你的cookie' -U '用户名' -W '密码' -p 8080\n\ncookie可以在夸克网页登录后通过控制台获取\n\n\n设置开机启动\ncat <<EOF > /etc/systemd/system/quark.service\n[Unit]\nDescription=Quark Service\nAfter=network.target\n\n[Service]\nType=simple\nExecStart=/root/quark/start-quark.sh\nRestart=always\nUser=root\n\n[Install]\nWantedBy=multi-user.target\nEOF\nsystemctl da","description":"使用夸克网盘的webdav服务可以将百度夸克网盘挂载到本地电脑上,就像操作本地电脑硬盘一样操作网盘,非常方便。"},{"title":"使用komari的延迟数据 + grafana自定义延迟看板","url":"https://qixin.ch/posts/grafana/","body":"1. 安装grafana\n1.1 安装依赖\nsudo apt-get update\nsudo apt-get install -y apt-transport-https software-properties-common wget gnupg\n\n1.2 添加 Grafana 官方 GPG key\nwget -q -O - https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/grafana.gpg\n\n1.3 添加 Grafana APT 源\necho "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" \\\n | sudo tee /etc/apt/sources.list.d/grafana.list\n\n1.4 安装 Grafana\nsudo apt-get update\nsudo apt-get install -y grafana\n\n1.5 启动 Grafana\nsudo systemctl daemon-reload\nsudo systemctl enable grafana-server\nsudo ","description":"使用高度自由定制的grafana看板搭建属于自己的延迟看板"},{"title":"快速查看csv大文件","url":"https://qixin.ch/posts/csv-tool/","body":"安装:\nbrew install xsv # macOS\nsudo apt install xsv # Debian/Ubuntu\n\n使用:\nxsv table -d, big.csv | less -S # 美观对齐查看(流式输出)\nxsv headers big.csv # 只看列名\nxsv slice -i 0 -l 20 big.csv # 取前 20 行\nxsv select name,age big.csv | head # 选列+快速预览\nxsv stats big.csv # 各列统计(数值/非数值/缺失等)\n\n过滤:\nxsv search Kyson big.csv\n\n→ 查找任意列中包含 “Kyson” 的行。\n只在特定列中匹配:\nxsv search -s name Kyson big.csv\nxsv search -i -s city tokyo big.csv # 大小写不敏感\n\n正则匹配:\nxsv search -s email '.*@gmail\\.com' big.csv\n\n管道:\nxsv search -s process_node_descp '问题识别' 1761016417085.c","description":""},{"title":"查看一行json的大文件方法","url":"https://qixin.ch/posts/json-tool/","body":"使用vscode打开大文件时有一定概率卡死,可以采用jq格式化,将一行json解析成多行,然后使用less分页浏览\n\njq 的主要特点\n流式处理:可以处理任意大小的 JSON 数据\n丰富的操作符:提供多种操作符来处理 JSON 数据结构\n格式化输出:可以美化 JSON 输出,提高可读性\n跨平台:可在 Linux、macOS 和 Windows(通过 WSL)上运行\n\njq . result.json | less\n\n也可以只看指定的字段\njq '.data' result.json | less\n","description":""},{"title":"密钥登录vps","url":"https://qixin.ch/posts/key-vps/","body":"1. 生成密钥\nssh-keygen -t ed25519 -C "gen2" -f ~/.ssh/id_ed25519_gen2\n\n2. 密钥上传到vps\nmkdir -p ~/.ssh\nchmod 700 ~/.ssh\ntouch ~/.ssh/authorized_keys\nchmod 600 ~/.ssh/authorized_keys\n\n//或者通过命令上传\nssh-copy-id -p 11017 -i ~/.ssh/id_ed25519_gen2.pub maxchan@ip\n\n3. 测试密钥登录\nssh -i ~/.ssh/id_ed25519_gen2 root@你的VPSIP\n\n4. 删除密码登录\nvim /etc/ssh/sshd_config\n\nPasswordAuthentication no\nPubkeyAuthentication yes\n\n5.重启ssh服务\nsudo systemctl restart ssh\n\n","description":""},{"title":"你无法通过优化成为一个好人","url":"https://qixin.ch/posts/good-man/","body":"我每次都试图做出完美的道德选择。这侵蚀了我的人性。\n我是一个正在恢复中的优化者。\n过去几年里,我花了大量时间纠结于每一个决定,因为我觉得自己必须做到最好。不是还行的事,不是好事——而是道德上最好的事。\n我停止了一部儿童小说的创作,因为开始怀疑它对任何人都不会有帮助。我责备自己没有每天冥想,尽管我知道这能让我成为一个更善良的人。我花了一年时间为一段分手哭泣,因为我害怕自己刚刚失去了最佳的灵魂伴侣,现在注定要过上一种次优的生活,一种无法达到其应有意义、未能充分发挥潜力的生活。\n我以为可能只是我这样,一个焦虑的千禧一代,带着完美主义倾向。但后来我注意到其他人也有同样的思维方式。\n有位朋友总是在晚餐时烦恼,担心自己选择的职业能否对世界产生足够大的积极影响。另一位朋友将一天划分为 15 分钟的增量,并记录下每一刻所做的事情,以免浪费任何时间。还有一位朋友——我最好的朋友——哭着打电话给我,因为尽管她花了数月时间悉心照料伴侣垂危的母亲,却仍担心自己未能让她的最后时光尽可能快乐。\n“我的情绪妨碍了我,”她自责道。“我真希望自己能像个机器人一样。”\n我特别注意到,认同有效利他主义(EA)的同龄人中存在这种思维方式。有效利他主义是一场社会运动,其核心在于利用数据和理性来找出如何“更好地行善”或“尽你所能做最大的善事”,引用两位 EA 主要思想家的书名。该运动敦促人们向每美元能拯救最多生命的慈善机构捐","description":"我每次都试图做出完美的道德选择。这侵蚀了我的人性。我是一个正在恢复中的优化者。过去几年里,我花了大量时间纠结于每一个决定,因为我觉得自己必须做到最好。不是还行的事,不是好事——而是道德上最好的事。"},{"title":"程序员的心理疾病","url":"https://qixin.ch/posts/rd/","body":"由于程序员工作的性质,他们长期以来受到的所谓“黑客”式的“熏陶”,形成了一种行业性的心理疾病。患了这种病的人对于很多新入行的人,甚至一些外行人士造成了持续的伤害。慢慢的,这些不幸的受害者也形成了“条件反射”,进而成为了这个心理变态的系统的一部分,导致越来越多的人,越来越快的变成“怪胎”。这是一件可怕的事情,所以我觉得有必要警醒一下。\n这里我就简单的把我所观察到的一些症状总结一下,希望作为对于 IT 业界人士的警示,有则改之,无则加勉。也希望为遇到类似问题的新手和外行人士提供一些精神上的支持,以免他们也成为这个系统的一部分。\n无自知之明\n由于程序员的工作最近几年比较容易找,工资还不错,所以很多程序员往往只看到自己的肚脐眼,看不到自己在整个社会里的位置其实并不是那么的关键和重要。很多程序员除了自己会的那点东西,几乎对其它领域和事情完全不感兴趣,看不起其他人。这就是为什么我的前同事 TJ 作为一个资深的天体物理学家,在一个软件公司里面那么卑微。貌似会写点 node.js,iOS 软件的人都可以对他趾高气昂的样子,而其实这些东西的价值哪里可能跟 TJ 知道的物理知识相提并论。很多\u001c科学家其实都可以轻而易举的掌握程序员知道的那点东西,有人却认定了他们不是这个专业的,不懂我们的东西,或者故意把问题搞复杂,让他们弄不明白。\n其实对于一个物理学家,他心目中知识的价值是这样排序的:\n\n\nCOBOL ","description":"由于程序员工作的性质,他们长期以来受到的所谓“黑客”式的“熏陶”,形成了一种行业性的心理疾病。患了这种病的人对于很多新入行的人,甚至一些外行人士造成了持续的伤害。慢慢的,这些不幸的受害者也形成了“条件反射”,进而成为了这个心理变态的系统的一部分,导致越来越多的人,越来越快的变成“怪胎”。这是一件可怕的事情,所以我觉得有必要警醒一下。"},{"title":"VPS 工具","url":"https://qixin.ch/posts/vps-tools/","body":"\n全球延迟\nrealm转发\nwget -qO- https://raw.githubusercontent.com/zywe03/realm-xwPF/main/xwPF.sh | sudo bash -s install\n\n节点搭建\nbash <(wget -qO- -o- https://github.com/233boy/sing-box/raw/main/install.sh)\n\nsnell服务端多端口监听\nwget https://raw.githubusercontent.com/KysonGeek/scripts/refs/heads/main/snell.sh\nchmod +x snell.sh\n./snell.sh\n\ntcping\nsudo wget http://www.vdberg.org/~richard/tcpping -O /usr/bin/tcping\nsudo chmod +x /usr/bin/tcping\n\n\nsnell\nwget -O snell.sh --no-check-certificate https://git.io/Snell.sh && chmod +x snell.sh && ./snell.sh\n\n命令小抄\nbash <(curl -sL https://sh.nodeseek.co","description":""},{"title":"成都三天两夜深度游攻略(8.27-8.30)","url":"https://qixin.ch/posts/chengdu/","body":"📅 行程概览\n\n8月27日(周一):下午抵达 → 宽窄巷子 → 晚餐火锅 → 锦里夜景\n8月28日(周二):都江堰+青城山一日游 → 返程后夜游九眼桥\n8月29日(周三):熊猫基地 → 春熙路+太古里 → 人民公园体验 → 奎星楼街小吃\n8月30日(周四):文殊院 → 午餐后返程\n\n📍 每日行程详解\n🔹 Day 1:老城烟火气初体验\n14:00-15:30 抵达与入住\n\n双流机场乘地铁10号线转2号线至春熙路/宽窄巷子附近酒店(约50分钟),推荐住宽窄巷子周边,方便出行。\n\n15:30-18:00 宽窄巷子漫步\n\n打卡宽巷子的老茶馆(如“三只耳”)、窄巷子的创意小店,体验掏耳朵(约20元)。\n必吃美食:\n\n小龙翻大江火锅(宽窄巷子店):古风装修,推荐毛肚、冰球鹅肠。\n甘食记肥肠粉:非遗美食,红油汤底配锅盔超香。\n\n\n\n18:30-20:00 晚餐推荐\n\n大龙燚火锅(太古里店):本地人常去,麻辣牛肉和霸王牛肉必点。\n\n20:30-22:00 锦里夜景\n\n灯光下的三国主题古街,推荐:\n\n小吃:三大炮(现做糯米球淋红糖)、糖油果子(外酥里糯)。\n体验:川剧变脸表演(门票约80元/人)。\n\n\n\n🔹 Day 2:世界遗产与自然奇观\n07:00-08:30 都江堰景区\n\n地铁2号线至犀浦站,换乘高铁至都江堰(10元/人,20分钟),建议买7:17的S5063次。\n游览路线:离堆公园 → 宝瓶口","description":""},{"title":"【NodeQuality】eunl","url":"https://qixin.ch/nq/xtom-eunl/","body":"💻基本信息\n\n🎬IP质量\n\n🌐网络质量\n\n📍回程路由\n\nNodeQuality链接\n","description":""},{"title":"【NodeQuality】riven","url":"https://qixin.ch/nq/riven/","body":"💻基本信息\n\n🎬IP质量\n\n🌐网络质量\n\n📍回程路由\n\nNodeQuality链接\n","description":"极致的电信、联通日本服务器"},{"title":"【NodeQuality】dc99","url":"https://qixin.ch/nq/dc99/","body":"💻基本信息\nBasic System Information:\n---------------------------------\nUptime : 0 days, 5 hours, 29 minutes\nProcessor : AMD EPYC-Genoa Processor\nCPU cores : 2 @ 2445.404 MHz\nAES-NI : ✔ Enabled\nVM-x/AMD-V : ❌ Disabled\nRAM : 2.0 GiB\nSwap : 1024.0 MiB\nDisk : 40.0 GiB\nDistro : Debian GNU/Linux 12 (bookworm)\nKernel : 6.1.0-38-amd64\nVM Type : KVM\nIPv4/IPv6 : ✔ Online / ❌ Offline\n\nIPv4 Network Information:\n---------------------------------\nISP : IT7 Networks Inc\nASN : AS25820 IT7 Networks Inc\nHost : IT7 Networks Inc\nLocation : Los Angeles, Cal","description":""},{"title":"【NodeQuality】gen2","url":"https://qixin.ch/nq/gen2/","body":"💻基本信息\nBasic System Information:\n---------------------------------\nUptime : 0 days, 0 hours, 17 minutes\nProcessor : AMD EPYC 7763 64-Core Processor\nCPU cores : 2 @ 2445.406 MHz\nAES-NI : ✔ Enabled\nVM-x/AMD-V : ✔ Enabled\nRAM : 3.8 GiB\nSwap : 256.0 MiB\nDisk : 30.0 GiB\nDistro : Debian GNU/Linux 12 (bookworm)\nKernel : 6.1.0-38-cloud-amd64\nVM Type : STANDARD PC (Q35 + ICH9, 2009)\nIPv4/IPv6 : ✔ Online / ✔ Online\n\nIPv6 Network Information:\n---------------------------------\nISP : xTom Japan Corporation\nASN : AS3258 xTom Japan Corporation\nHost ","description":"极致的电信、联通日本服务器"},{"title":"【NodeQuality】瓦工hk85","url":"https://qixin.ch/nq/hk85/","body":"💻基本信息\nBasic System Information:\n---------------------------------\nUptime : 0 days, 0 hours, 48 minutes\nProcessor : Intel Xeon Processor (Cascadelake)\nCPU cores : 2 @ 2699.990 MHz\nAES-NI : ✔ Enabled\nVM-x/AMD-V : ❌ Disabled\nRAM : 2.0 GiB\nSwap : 1024.0 MiB\nDisk : 40.0 GiB\nDistro : Debian GNU/Linux 12 (bookworm)\nKernel : 6.1.0-9-amd64\nVM Type : KVM\nIPv4/IPv6 : ✔ Online / ❌ Offline\n\nIPv4 Network Information:\n---------------------------------\nISP : IT7 Networks Inc\nASN : AS25820 IT7 Networks Inc\nHost : IT7 Networks Inc\nLocation : Hong Ko","description":""}]