13年的时候,入手一枚树莓派1b,曾经派上过大用场,放在宿舍作为中继跳板,实验室只能用贵的不行学校流量,宿舍可以接商用宽带,因此在树莓派上pppoe拨号的同时,作为VPN接入服务器在校园网上搭一条VPN链路就可以在实验室享受便宜的宽带了。这个树莓派已经陪着快10年了,外面的塑料壳子已经破损,胶布将就粘着用。接着往后不需要作为宽带中转的话,还是习惯性把树莓派插着,看着上面的灯在闪就很解压。

突然有一天脑洞大开,想用苹果的Homekit来控制小米的各种智能开关,因为每次手机开个小米app就要翻半天,Homekit只需要喊一声“Hey Siri“,就能控制了。

翻阅一圈发现有个封装好的HASSOS系统很方便,把系统烧录到卡上就能用了,目前最新版的官方镜像只支持树莓派3或4,于是只能下个老版本的支持树莓派的试一试,然后在Preparing Home Assistant卡了半天,花了一天时间重装了三回,还是挂着外网的环境,都没有用。其实吧HASSOS基础无论版本怎么样,都会强制安装最新版本的2022.07.07的Docker,直接在我的机器上挂了。因为在Docker里面,虽然部署方便,但是出了问题很难查找,然后就放弃了,试试在一个干净的Raspbian系统上来安装。

继续阅读

最近有一批Windows下CTeX的TeX源代码,想挪到苹果上运行,碰到了坑不少,最后一一解决

(1)GBK转UTF-8,在Windows的Ctex套装都是用的GBK编码,而现代的TeXLive (MacTeX)都是UTF-8编码,需要把编码转换过来,Mac下自带编码转换软件iconv

(2)命令连字问题,在Windows下的ctex套装,允许出现”\bf这是重点”这种命令,不加空格可以正常运行,但是到了TeXLive下就认为bf后面都是指令,直接报错,于是需要把\bf和内容之间加空格,但是需要避免把\bfseries这类指令给拆开来,只能采用正则表达式了。其他例如\item \pause命令同样如此。

折腾了半天终于搞了个可用的脚本

cd "$( cd "$( dirname "$0"  )" && pwd  )"
for i in ./*.tex;
do
    iconv -c -f GBK -t UTF8 "$i" > tex.temp;
    sed -i "" -r "s/(\\bf)([^s])/\1 \2/g" tex.temp;
    sed -i "" 's/\\pause/\\pause /g' tex.temp;
    sed -i "" 's/\\item/\\item /g' tex.temp;
    mv tex.temp "$i";
done

直接命名为GBK2UTF.command,chmod+x赋予可执权限,与tex文件放到一个文件下就可以了。当然需要把原来代码里的CJK一类删除,通过\usepackge{ctex}和xelatex方式来支持中文。