Caddy is an open source web server written in Go. It integrates automatic HTTPS and is extensible by adding plugins.

Last time I set up Caddy web server on my VPS, Caddy was still v0.11.0, which was almost 3 years ago:

$ caddy -version Caddy 0.11.0 (non-commercial use only)

Now it’s 2021. My tiny lovely VPS deserves a new version of Caddy in new year!

Old Caddyfile

To show the changes in Caddyfile clearly, here's the old version used on my VPS placed under /etc/caddy:

http://lancitou.net https://lancitou.net http://www.lancitou.net https://www.lancitou.net {
redir https://blog.lancitou.net{uri}
}
https://blog.lancitou.net …

2020 年对全人类来说都是特殊的一年,COVID-19 从 2019 年底出现,2020 年逐渐漫延到全世界,2021 年还在继续肆虐。尽管各国在逐步接种疫苗,但新的变种让疫情看不到尽头,持续时间远超 2003 年的 SARS 疫情。

2020 年,奥克兰经历了两次 lockdown,Level 2 以上的日子共计 93.5 天,也就是说超过四分之一的时间,奥克兰人都必须呆在家里:

Image for post
Image for post

在这样的大环境下,keep safe and healthy 成了最美好的祝愿。

2020 总结

博客更新

尽管想写的主题非常多,硬盘上的草稿也越堆越多,但 2020 年只完成三篇技术博客:

某天随便搜索了一下,发现自己的几篇技术博客被原封不动地照搬到其它中文博客平台。这让我下定决心,今后的技术博客全部使用英文。

另外顺带一提,简书上有几篇文章因为 …


In our project, we use tcpdump to capture frames on CAN bus. In the core library used by tcpdump, libpcap used SocketCAN as the data link type previously.

In commit 93ca5ff, SocketCAN was removed. Instead, it handled all CAN captures in general cooked mode on Linux, which will have an additional 16-byte SLL header. This will increase (actually double) the size of captured frames saved in file, which is critical for embedded environment. …


银蕨实践经验工签(Silver Fern Practical Experience Work Visa)是 银蕨求职工签的后续签证,在找到满足薪资要求的技能性工作后可申请,因此常被称为「银蕨二期签证」,相应地,银蕨求职工签则被称为「银蕨一期签证」 。由于银蕨一期签证已 永久关闭 ,随着目前尚存的一期签证持有者的签证转换,二期签证也将成为绝唱。

银蕨二期签证可以多次申请,签证有效期取决于工作合同的长度,总计不超过两年。但由于签证的申请要求之一是工作合同至少 12 个月,所以最多也只能申请两次。

申请步骤

尽管在 INZ 官网关于二期签证的 Process & fees 页面 明确说明必须使用纸质表格提交申请,同时还给出邮寄地址:

Image for post
Image for post

但其实二期签证是可以在线申请的!

方法一:打开 INZ 官网 https://ww …


工作流

GitHub Actions 提供了直接在 GitHub 仓库中创建软件生命周期工作流(workflow)的功能,极大地方便了持续集成、持续部署的实现。

本文将使用 GitHub Actions 实现 Hugo 博客自动部署到自建 VPS。基本思路是在每次 push 到 GitHub 之后触发 Actions 将最新代码 checkout 到其虚拟环境中并开始构建,构建成功后使用 rsync 自动部署到 VPS:

Image for post
Image for post

在 GitHub 仓库的 Actions 页面可看到大量的基于各种服务的模板,也可点击 set up a workflow yourself 生成一个通用模板,并在此模板基础上修改。修改保存后的工作流将以 commit 的形式提交到 .github/workflows 目录下。本文所述 …


In recent project, I was assigned a task to bring up Wi-Fi and Bluetooth. We used WL1835MOD combo module from TI to implement these two wireless features. After porting kernel drivers and application software, I found both features were malfunctioning. So I started checking the hardware.

Here’s the WLAN power-up sequence from WL1835MOD datasheet:

Image for post
Image for post

I probed the pads in the same order showing on the power-up sequence. VBAT looked good and SLOWCLK (aka EXT_32K) was a perfect 32KHz slow clock. But WL_EN (aka WLAN_EN) seemed abnormal.

On WL1835MOD datasheet, voltage level of both WLAN_EN and BT_EN should be 1.8V:


国内驾照加上翻译件,在每次入境新西兰之后的一年之内都可以合法开车,出境再次入境又可刷新一年的有效期。今年因为疫情不方便出入境的人非常多,所以近期申请海外驾照转换新西兰驾照的排期非常长,从我的申请时间线可见一斑:

  • 13 Jun 2020: 提交申请
  • 15 Jun 2020: 通过理论考
  • 24 Jul 2020: 收到带条件驾照
  • 6 Aug 2020: 通过路考
  • 13 Aug 2020: 收到正式驾照

从提交申请到收到正式驾照,耗时整整两个月,其中大部分时间(六周)都是在等带条件驾照。

申请

我是在 VTNZ North Shore 提交的申请。注意:不是每个 VTNZ 或者 AA 都可以做海外驾照转换业务,完整列表请到 Where to go for an overseas conversion 查询。

申请时 …


如果用一句话概括我的 2019 年,那就是「上半年拼命找工作,下半年拼命地工作!」从登陆新西兰开始,花了将近半年时间找全职工作;入职之后面对全新的工作环境和文化,尤其是在三个月试用期内,总是诚惶诚恐,白天认真工作不敢有一丝懈怠,晚上在家还继续看代码思考解决方案。忙碌中不觉时间过得飞快,一晃眼 2019 年早就结束,2020 年的第一个月都快过完了。

2019 总结

1、博客更新

很惭愧,博客基本荒废了一整年。仅在年初写了一篇《 Resolution 2019 (Philip)》,每月更新一次 1SE ,其余都是简单的修修补补。

最近升级了 Hugo 版本,发现了一些其它问题,应该都是 Hugo 的 API 变化引入,比如生成的主页和 RSS 页面没有内容、有些文章的 Markdown 加粗标记识别不正常等等,详见 yestyle/lancitou-on-hugo (博客底部亦有链接)。

2、阅读与观影统计

为了找工作,功利性地看了几本和求职面试相关的书。实际作用有限,尤其是面试技巧和建议类书籍的内容大同小异。数量上也只有 7 本,未达到 10 本的目标。但换一个阿 Q 的角度,2019 年看的都是英文原版书!哈哈哈哈!完整书单参见《 2019 年讀過的書 》。

一整年都没有看电影,更别提进电影院。忙里偷闲跟进了《权利的游戏》最终季,依照惯例,创建了仅有一个条目的列表《 2019 年看過的電影 》。

3、找到技术类的全职工作

可以说整个 2019 年其它目标都是后面的 0,实现了这个目标才是最前面的 1。在新西兰找工作,除了个人实力,运气也很重要,当然也离不开大家的帮助。详细经历请关注后续文章。

4、未完成的目标

去年的另外两个未完成的目标是南岛行和「人造人计划」,因为我俩都在忙于找工作和适应新工作而搁置。Linda 还在找和专业相关的全职工作,所以这样的忙碌状态还会持续一段时间。

5、生活习惯的变化

新的公司停车位有限,同时为了避开早晚高峰,我习惯于早到早离开。而这里又没有午睡的习惯,经过一天的忙碌工作之后,下班到家基本已经精疲力竭,因此我养成了早睡早起的习惯,大多数情况十点入睡、六点起床。

西方人的饮食习惯是高糖高咖啡因,凡是同事入职、离职、生日等等任何值得庆祝的时刻,都会买个蛋糕和大家分享。起初我每次都凑热闹尝一尝,慢慢地发觉这样的饮食太不健康,没多久我就给自己定下「戒酒精戒咖啡戒糖」的「三戒」目标,也算是提前为「人造人计划」做准备。目前咖啡已完全戒断,酒只在偶尔经不住 Linda 的诱惑时喝一点,糖还在努力戒断中(真难啊)。

借着泳校的福利,体会了在健身房运动的生活。一周三天,下班后先去健身房,有氧无氧结合,运动 30~50 分钟再回家吃晚饭,持续了大概两个月,直到十月初搬到北岸才中断。配合着 Countdown 随意买的蛋白粉和公司充足的牛奶,体重终于涨到 60kg 啦!多年的增重目标总算实现!

2020 计划

真应了那句玩笑话:2020 年的目标是努力完成 2019 年未完成的计划。

1、阅读至少 10 本书

所谓「三月不读书,智商输给猪!」猪年我的智商已经远远不如猪了,鼠年一定要追回来!

2、平均每月一篇博客

Linda 常常笑话我目标实现不了,却还要坚持写 Resolution,而「平均每月一篇博客」大概是每年都实现不了、又每年都要厚着脸皮写下的目标了(苦笑)。今年希望能离目标更近一点吧~

3、专业技能提升

尽管挺喜欢现在这份全职工作,无奈薪资未达预期,而目前的签证和雇主绑定,不好随意换工作。RV 有望在今年内出结果,到时又将面临求职问题。在那之前,必须有针对地提升技能,包括基础知识的巩固、开源社区的贡献、个人成果的展示等等,都需要提前做好准备。

4、英语口语强化

经过一年的浸淫,听力已经大幅进步,但口头表达还是磕磕绊绊。口语加强不管对未来生活抑或下次求职,均有助益。但这需要花费巨大的精力和长期的坚持才能实现。

5、考本地驾照

现在还在用国内驾照加翻译件,从最开始的上高速紧张到全身肌肉紧绷,到现在觉得高速限速太低、自己的车动力不足加速太慢,已经对开车出行驾轻就熟。但使用翻译件毕竟不是长久之计,而且本地驾照还能做身份证件,在新西兰境内可代替护照使用。这一项近期就会着手实施。

6、继续健身和「三戒」

不久之前得知,泳校福利不仅限于西区,而是包括康嫂旗下所有的健身房!待疫情过后,又可以继续增肌减脂啦。饮食方面,除了继续努力戒糖之外,也要尝试减少碳水的摄入。这对于习惯于把吐司作为早餐主要食材的我来说,是一项不小的挑战。

7、北岛自驾游

新西兰不算大,我们要去看看。尽管几乎每天都要工作,和公共假期连在一起的长周末还是可以好好利用一下。先定个小目标,自驾游北岛,两个人,一辆车,走走停停,吃吃喝喝。

2020 年的第一个月还没过完,就发生了那么多爆炸性的新闻。新型冠状病毒引发的传染性肺炎还在持续蔓延,几天前又惊闻 Kobe 所乘直升机坠毁,机上九人全部遇难(包括 Kobe 的女儿 GiGi)。人生无常,变化总是来得比计划快。珍惜在世的每一天吧,提前为可能的突变做好准备,即便灾难真的降临到自己头上,也能不慌不乱,把损失降到最小。

以上。我们明年元旦见。

Originally published at https://blog.lancitou.net on January 30, 2020.


公元纪年法从公元 1 年开始,十年为一个「年代」,百年为一个「世纪」。照理说 2020 年才是这个「年代」的最后一年,但对数字的直觉告诉人们这是从 201X 年到 202X 年的跨越,是总结过去十年的好时机。

许多人在一条推文里总结了过去的十年,也有人用了十条推,我说嘿,何不写篇博客呢?十段简短的文字,十张个人生活照,匆匆一瞥我的 201X 年。

2010

经历了令人纠结的毕业论文,顺利从 BIT 毕业,从北京移居深圳。初入职场,被人说傻,甚至被人瞧不起,但并不妨碍无知无畏的我对新鲜事物的探索。

Image for post
Image for post

2011

个人技术成长最快的一年。工作已经游刃有余,慢慢从开源社区汲取养料,尝试过回馈开源社区,但很遗憾当时没有坚持下来。


在经历了 2018 年最后几个月的手忙脚乱之后,我们在东十三区迎来了 2019 年。刚刚登陆奥克兰两周,需要完成而未完成的事项太多,2019 年的 Resolution 拖到今天才写。想起去年一边紧张地在备战雅思、一边写完《Resolution 2018 (Philip)》就飞去曼谷和 Linda 跨年了;而此刻正在奥克兰的出租屋里写着 2019 Resolution,人生的经历总是妙不可言。

2018 总结

去年制定的目标不大,大部分都已完成。

1、 博客统计

2018 年一共只写了 10 篇博客,其中 3 篇与技术无关,没有达成月均一篇技术博客的目标。

之前埋下的很多坑还没填,又有新的坑等着我,比如博客平台从 Wordpress 迁移到 Hugo,比如 Python 上手,比如初入新西兰的各种指南总结……

2、 阅读与观影统计

今年的阅读计划基本都是在 6–8 月的空档完成的,值得一提的是啃完了英文版的《Professional Linux Kernel Architecture》,虽然对 Linux Kernel 还是一知半解,但对整体架构及原理有了更进一步的认识。2018 年还看了不少村上春树,《刺杀骑士团长》真是不敢恭维,《1Q84》倒是不错。完整书单参见《2018 年讀過的書》。

观影方面,趁着 Linda 还没回国,专挑她不会喜欢看的电影,把《星球大战》按照事件发生的时间顺序(而非电影上映顺序)看完了,《教父》三部曲每一部都是经典,重温了同样经典的《黑客帝国》。美剧看了科幻题材的《The Expanse》,和 Linda 一起看了《The Good Fight》第一第二季,在每天晚饭时断断续续地看了《Elementary》前三季的大部分。完整影单参见《2018 年看過的電影》。

3、 家庭年度旅行

年初的曼谷之行,由于还有雅思压在心头,玩得不够尽兴。春节的澳洲之旅就轻松很多,虽然只在悉尼和墨尔本呆了两周,而且基本都在市区转悠,但对澳洲的整体印象不错。今年来了新西兰,发现很多方面和澳洲非常相似,所以到了新西兰之后感觉非常熟悉,完全没有不适应。

曼谷之行详见 Linda 的文章《十人抱团游曼谷》,澳洲之行详见 Linda 未完成的「澳洲进行曲」系列

4、完成两场婚礼

经过四年的甜蜜相处,终于在 2018 年下半年完成人生一大进阶,在我俩老家各自举办了一场婚礼。原以为婚礼只是一种「形式」,领证才是重点。两场婚礼让我有了改观,对于长辈和我们自己来说,正是需要婚礼这样的「仪式」,完成各自的角色转换,对于新人来说也更能体会到责任的存在。

婚礼筹备得比较匆忙,不管准备得多齐全,也总是有不尽如人意之处,非常感谢长辈和朋友们的加持和包容。

2019 计划

1、找到技术类的全职工作

这是目前的重中之重。前几天登录 INZ 网站看到已经更新了我的首次登陆时间和签证过期时间,从来没有像现在这样对「时不我待」有如此深刻的体会。最需要提高的技能还是英文的口头表达,另外如何写 kiwi-style CV 和 cover letter,希望下周 Newkiwis 的课程对此有所帮忙。

根据前人的经验,这里找工作并不容易,很可能需要经历好几个月。在找到全职工作之前,为了 cover 每周的住宿饮食和交通开销,需要找一两个 part-time 工作才行。这对个人的心态和各项综合技能又是一大考验。

「总之硬着头皮上就对了!」

2、阅读至少 10 本书

奥克兰的图书馆真是太方便了,虽然藏书不多,拷贝数也很少,很多书都需要预定,但整体的图书质量都很高,还能用图书馆的账号登录 lynda.com 免费学习所有视频课程。

坐拥如此高质量的藏书资源,「多读英文原著」的目标想必在今年可以轻松实现了。

3、平均每月一篇博客

「坚持记录与总结」是创建这个博客网站的初衷,虽然各种大小琐事不断,但还是得抽时间写博客,不停地挖坑又不停地填坑。配合着英文原著阅读和英文工作环境,多输出几篇英文博客也是今年的目标,尤其对后继求职可能有帮助。

4、和 Linda 去一趟南岛

新西兰号称地球上最后的天堂,以优美的自然风光闻名于世,而南岛的风景又更胜一筹。今年的家庭旅行计划暂定南岛吧。

5、壮大家庭成员

等生活和工作慢慢稳定之后,就要开始考虑「人造人计划」啦。Linda 的奶奶已经给我们未来的宝宝打了一套毛衣裤,希望可以早日实现四世同堂~

2018 年,我们不惜一切向梦想迈出了一大步;2019 年,还有很多困难需要我们去克服。

以上。我们明年元旦见。

Originally published at blog.lancitou.net on January 12, 2019.

About

Philip Ye

@yestyle

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store