Recent posts

New Pandora’s box: Install Linux and Windows onto the same NTFS partition

5 minute read

Linux 5.15 is shipped with a brand new driver for Microsoft’s classic NTFS filesystem, NTFS3. Unlike the decades-old open-source NTFS-3G project, which is based on FUSE and have always received criticism for breaking existing filesystems, NTFS3 is a new driver that is designed to be compatible wi...

Reinstall Windows VPS into Linux with iPXE network boot

3 minute read

This November I found a discount from one of my favorite VPS providers, NETfront. They offered Linux VPS with 2 vCPUs and 2 GB RAM at HK$56/mo, and also Windows VPS with 4 vCPUs and 4 GB RAM at HK$49/mo. Looks strange, right? Why buy the crappy Linux VPS when you can have a better configuration w...

Secure site-to-site connection with Linux IPsec VPN

15 minute read

Linux has a built-in framework for Internet Protocol Security (IPsec), which is often combined with other tunneling technologies (e.g. L2TP and GRE) to create secure cross-site network connections. As an innovative attempt to a lab in this semester’s Network Security course, which was designed to...

Disassembling a hardware RAID 1 array in Proxmox VE

7 minute read

Yesterday in a server maintenance period, we decided to tune the storage layout of our Proxmox VE server, which included disassembling a RAID 1 array and adjusting the size of the root filesystem.

I switched from Google Chrome to Microsoft Edge

4 minute read

Last year (maybe September? I don’t remember now) I switched my primary browser from Google Chrome to the new Microsoft Edge. It turned out to be a wise move and I’ve been with Edge for more than half a year now. In this article I’ll share my ideas with this move.

解决 Win10 自带微软输入法卡顿

1 minute read

昨天开始我用 Windows 10 自带的微软输入法开始出现了严重的卡顿,表现是时不时的按下键盘后要等一秒钟才会出现候选列表,尤其是在切换窗口的时候能卡 2-3 秒。进入 Win10 设置应用,找到微软拼音输入法,把所有设置都改了一遍,把云联想也关了,还是没啥变化。

Setting up a GitHub webhook on AWS Lambda

6 minute read

Last month I set up my own Telegram bot for GitHub event notification. To receive GitHub events via webhook, a receiver is needed. True, it isn’t hard to write a Flask or Sinatra server and throw the whole thing onto a VPS, but thinking about the complexity and maintenance efforts, serverless pla...