Update (October 2026): While the manual command below still works, it’s actually outdated! Modern Certbot installations handle renewals automatically via background systemd timers. If your certificate is still expiring, your background timer might be broken. Run: to test the automation instead of SSHing in every 3 months. Original post: I usually don’t SSH into the… Continue reading Let’s Encrypt! certificate always expires
Category: Software Engineering
Interface implementation in Go is implicit
I’m quite familiar with the concept of interface in Java; but on my first day reading my colleague’s Go code, I was a little confused. Here’s how: In Java, implementing an interface is explicitly declared with the keyword implements, followed by the names of the interfaces being implemented. For example: By looking at the class… Continue reading Interface implementation in Go is implicit
Best MySQL data types for storing date & time
When it comes to storing date/time in MySQL, several data types are commonly used. My colleagues and I had a brief discussion today on which type we should use for storing created and last updated date/time. Folks were divided into two camps. Those who preferred to work directly with UNIX timestamp wanted bigint, while people… Continue reading Best MySQL data types for storing date & time