When NAT Bites — Use a Reverse VPN

Monday, Aug 31, 2020

Sometimes I find myself setting up servers on networks with less than ideal network configuration. Most home internets use dynamic IP addresses, which requires extra work to ensure I know the IP address to use when logging into the network from the internet. Another concern is how unreliable home networking gear can be, especially with users tweaking settings without fully appreciating what they’re doing. As a result, I’ve devised an alternate solution to ensure I can always log into boxes hosted on home internet connections.

Continue reading…

Linux dmesg –follow (-w) not working?

Thursday, Apr 30, 2020

For a couple months now, I have noticed that running dmesg -w on my workstation does not appear to print out new kernel messages. In other words dmesg --follow “hangs”. Additionally when running tail -f /var/log/kern.log to monitor new dmesg messages picked up by sysklogd (part of syslogng), the latest messages do not come through until sysklogd periodically “reopens” the /dev/kmsg kernel message buffer. Why is this a problem? This is a problem because I use the dmesg log to monitor important hardware related messages such as the kernel recognizing a USB device or diagnosing bluetooth/wifi issues.

Continue reading…

Debugging Zathura, GTK (don't forget about seccomp)

Friday, Apr 24, 2020

Zathura is a fantastic PDF viewer. It also supports Postscript, DjVu, and Comicbook archive. In particular it supports using mupdf for the backend, so it’s rather fast (unlike poppler, used by evince and friends). Here is a screenshot of Zathura: Figure 1: screenshot of zathura Now that I’ve introduced Zathura. I want to talk about a problem I had recently. I wanted to print a document a couple weeks ago, but found whenever I issued a :print command in Zathura, the program would crash.

Continue reading…

A week in the life of Winston

Saturday, Apr 18, 2020

During these interesting times, I figure it would be a good idea to describe how I’ve been keeping myself busy, bugs I’ve fixed, and some of the daily tasks/routines that keep my day structured. For context: I moved house on the weekend of March 21st, which is a couple weeks before the Covid-19 fiasco became a front-and-center concern for my geographical region. I am finishing my undergrad in computer science — this is my last semester.

Continue reading…

Extending a wireless LAN with a bridged Ethernet LAN using Mikrotik RouterOS

Sunday, Mar 29, 2020

I recently moved, and my new abode has an Ubiquiti Amplifi LAN. The rationale is this mesh-based WiFi network eliminates the need to install Ethernet between Wireless Access Points (APs). It works surprisingly well. In this post I document how I extended this network so I could place my networked devices all on the same Ethernet segment, without needing to wire it to the Amplifi base station. The idea is the network should look like this:

Continue reading…

Switching website to GitLab Pages

Tuesday, Jan 7, 2020

Previously I detailed how I set up blog.winny.tech using GitHub for source code hosting and Caddy’s git plugin for deployment. This works well and I used a similar setup with my homepage. The downside is I host the static web content and I am tied to using Caddy.1 I imagine simpler is better, so I opted to host my static sites — https://winny.tech/ & https://blog.winny.tech/ — with GitLab pages. What’s wrong with Caddy?

Continue reading…

How to fix early framebuffer problems, or "Can I type my disk password yet??"

Wednesday, Dec 25, 2019

Most of my workstations & laptops require a passphrase typed in to open the encrypted root filesystem. So my steps to booting are as follows: Power on machine Wait for FDE passphrase prompt Type in FDE passphrase Wait for boot to complete and automatic XFCE session to start Since I need to know when the computer is ready to accept the passphrase, it is important the framebuffer is usable during the early part of the boot.

Continue reading…