November 26, 2023

macOS 按域名切换 DNS 解析

在工作用的电脑上,为了访问公司内网,需要让内网域名走公司的 DNS 服务器,而其他域名走公共 DNS 服务器。 之前我一直使用 dnsmasq 实现按域名切换解析,这样的话有几个问题: dnsmasq 的默认上游是静态配置,并不是在所有网络环境中都能直接用 114 了事,尤其是在一些需要认证的环境中 需要改系统的 DNS 配置,同时每次系统更新之后又要重新改一遍 直到昨天我才知道 BSD 系支持一个按域名设置 resolver 的功能 (man 5 resolver),直接用就好了。 Read more

为什么说 GPT 是无损压缩

上周一从 Tim 处听到一个“暴论”:大语言模型本质上是无损压缩。可惜聊天的时间太短了,Tim 说不完这个理论。经过一段时间的网上冲浪,我也从多个地方 Read more
March 20, 2023

握着你的手训一个类GPT语言模型 (二)

书接上回,我们搞了个最简单的胡说八道机,距离GPT其实只差更科学的模型结构了。本文中公式较多,嚼不动的同学建议参看一些图文并茂的科普文。 上下 Read more
March 12, 2023

握着你的手训一个类GPT语言模型 (一)

这段时间 ChatGPT 大有 AI 奇点将至的势头,它展现的各种能力也的确很惊人,让人忍不住想要复刻一个。不过我从来没搞过 NLP 相关领域,机缘巧合在 youtube 上看见 Andrew Karpathy 的视 Read more

Rosetta in Linux Virtual Machine on Apple Silicon

2021 年底我的主力设备换成 M1 Macbook Pro,整体上还是非常够用的,唯独就是一些 linux 开发搞不定了,所以被迫大小事情都得 ssh 到某个 linux 开发机解决。虽然可以跑 linux 虚 Read more
February 19, 2021

Fit an Overfit with MegEngine

本文为MegEngine系列开篇,难得有机会写一些能公开发出来,又和自己平时工作高度相关的内容,期望下次更新不要再鸽一年了。 作为开篇,我会写一点点深度学习炼丹的基本概念,然后讲一个有意思的小实验: 如何用 MegEngine 拟合一个 “OVERFIT” 出来。 Read more
January 28, 2020

把 CUPS 扔进 docker 里

开头废话 看了一下我竟然整整 3 年没写过 blog 了! 有生之年能更新一下也是挺难得的。 其实我这几年没少写东西,只是和工作重合度太高,都发在内网论坛里了。 以下是正文。 故事是这样的,某年某月滚了一把 Arch,然后打印机就不听话了,会在打印机开始打印的瞬间任务失败…… 由于打印机不常用,也不知道具体是哪次滚动,哪个库的更新引起的问题,很长时间都没搞定。 于是弃疗,把 cups 扔进 docker 里,固定一个版本解决。 Read more
February 3, 2017

ASUS Chromebook Flip

Update 2018-02-10: 我错了,速度实在太慢不给力,已经吃灰半年多。 从很早开始,我就一直想要一个方便携带的生产力工具,在任何我需要的时候,拿出来就能干活的那种;我尝试过随身背着笔记本,奈何Latitude 7440总还是太重,腰背受不了;尝试过 termux + 蓝牙键盘,但总还是不够给力。 年初在康哥的安利下,购入了 ASUS Chromebook Flip,Amazon Prime 含税仅需 ¥2060 元,大约十天到货。10.1 英寸的 Flip,基本满足了我的需求: 非常轻便,放在单肩包里走南闯北无压力,且9小时续航非常给力 移动办公/写代码,yubikey, gpg, ssh, X 转发等各种我需要的都有了 通过 crouton 安装 chroot 的 Linux 环境,该有的都能有 原生的 Google Play,兼容绝大多数 Android 应用 键盘虽然小点,但是还能用,没有 super 键,但 search 键 (caps lock) 可以重定义为 ctrl Read more
July 29, 2016

GPG 与 SSH Agent 转发

我一直有这样的问题,当我 SSH 到某个远程主机时,就很难进一步进行 SSH 和 GPG 相关操作,因为远端没有我的私钥,如果直接把私钥拷贝到远程,则非常不安全。 自从有了yubikey之后,这个问题更加严重:私钥在 yubikey 里,根本不可能“拷贝到远程”。 过去我的一些做法是使用 usbip,相当于把 yubikey “挂载”到远程的机器上,这个太 hacky 了,并且配置麻烦,不灵活。 直到我发现了 SSH 已经可以转发 UNIX Domain Socket。 Read more
February 19, 2016

使用 dnsmasq 和 ipset 的策略路由

今天试了一把 dnsmasq 的 ipset 功能,配合 iptables 和 iproute2 即可实现基于域名的策略路由。 网上已有一些文章介绍了这种方法,但多是面向 OpenWrt 在路由器上做, 我直接拿来则发现在本地跑其实有坑。 Read more