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
February 8, 2016

YubiKey 4 简介与配置

2012 年我买了自己的第一块 YubiKey, 当时功能还很少,后来康哥在参加 BlackHat 会议 时,参展的 yubico 公司直接送 Yubikey NEO,于是我免费得到 一个。 Yubikey NEO 比早前的 Yubikey 增加了 OpenPGP Smartcard 和 U2F 支持,还可以通过 NFC 获得 Yubico One-Time-Password。唯一遗憾的一点是它的 OpenPGP Smartcard 支持到 2048 位 RSA,而我本人的 GPG 密钥都是 4096 位的,所以为了 使用它我只好增加了一个 2048 位的签名子密钥。 15 年 11 月 Yubico 又推出了 YubiKey 4,增加了 4096 位 RSA 加密支持(貌似只有加密,没有签名), 加上一些其他原因(后文),时间又正好赶上妹子回国,于是让妹子在 Amazon 买了帮我带了回来。 Read more
July 2, 2015

定制GH60机械键盘

引: 年初时开源哥搞了个喜闻乐见的团购定制vim键盘的活动, 我饶有兴致地参团了,然而这事儿最后被厂家(TEX)放了鸽子,也就不了了之了。 不过我对键盘的购买欲倒是被激活了,原有的FC660M是个好键盘,但是不能定制键位,切稍微比我的挎包长了那么一点点, 加之最近股市大跌,愈发觉得钱不花真不值钱(谁来打醒我),便总是想买个新的。 挑了半天,poker2 和即将上市的 poker3 还是不够灵活,不能为所欲为…… 所以目光转向了硬件开源的 GH60。 Read more
June 22, 2015

Debian 网络安装内核参数

短文备忘。 Debian 系网络安装使用 preseed 实现自动化,类似于 Red Hat 系的 kickstart。 preseed 的参数不一定需要通过 preseed 文件设定,可以直接通过 kernel cmdline 设置。 比如 Debian 安装时设置 apt mirrors 的时候,不能改 debian-security 的 mirror,就可以通过 preseed 参数设置。 Read more
May 11, 2015

我的 Vim 配置

我的 Vim 配置成型已经有不少时间了,过去也是看着 依云 等人的配置综合而成的, 再加上有人黑我一年不写blog,一写果然就是 Arch 挂,因此决定多分享一些 super user 系列的内容。 我的 vim 所有配置文件,均放在 GitHub 上,但它很可能不适合别人,因此 这篇文档主要讲我的配置文件组织方式、各个插件的用途等等,方便读者组织自己的配置文件。 废话少说,先上王道。 Read more
April 27, 2015

Libinput 与 Udev

Update 2017.11.10 Linput 1.9 总算搞定了这个问题,选择采用硬件内建的加速方案,libinput 仅提供简单的线性映射。 如果需要自己调速度,除了设置 xinput set-float-prop id=X 'libinput Accel Speed' $speed 之外,更底层的方式是给 libinput 提供一个 LIBINPUT_ATTR_TRACKPOINT_RANGE 属性。 Read more