The latest blog posts about various topics. You can also browse by category.

The Trouble with Made-Up Example Sites and Domains

When people talk about building a website, it’s common to use an example name rather than the name of an actual website. And when people ask questions about their websites, they often use a placeholder instead of the real name. This all makes sense, but when it isn’t done right, it can lead to problems. To see why, let’s start with the story of a Web host and its employees.

Thinking About Phone Trees, and an Annoying Call I Had to Make

I came across an article from Nielsen Norman Group titled “The UX of Phone-Tree Systems.” It talks about how to improve the usability of phone trees, those automated systems that give you a list of options and a number to press for each one. It just so happened that I had to use one of these recently, and this article highlighted what found so annoying about that call.

Building Web Applications the Old-Fashioned Way

Web development on the frontend has come a long way from writing scripts and putting them directly into a Web page. Build tools and frameworks make it much easier to build entire applications that run in the browser, far beyond anything thought possible when JavaScript was first created.

Even so, it’s still possible to do it the old-fashioned way, and it turns out we don’t actually have to give up everything that modern Web development has brought us.

Lessons Learned from a Blog Post Error

Last month I wrote a blog post about how to set up Let’s Encrypt for a Docker-based Web application. However, it contained a major error which I only discovered later on. I corrected it in the original post, but as I thought about it some more, I realized that there were some lessons to be learned, both about the specific technologies and software in general.

How to Set Up Let's Encrypt HTTPS Certificates in Docker

Encryption via HTTPS is something that virtually every website should support, and Let’s Encrypt lets you set this up (mostly) automatically, and for free.

I recently migrated a personal server to use Docker, and this is how I set up HTTPS certificates on it.

Anatomy of a Job Scam

I almost got caught up in a job scam recently. The funny thing is, this isn’t the first time, and it was pretty similar to what happened to me years ago.

I’ll go through the whole story, and along the way I’ll point out the things that seemed suspicious. Hopefully this will help people avoid this type of scam.

Birthday Fundraiser for Disaster Response

Donate to GlobalGiving’s Hope in Crisis Fund. This fund assists communities affected by crisis, no matter where they are in the world or whether they make the news. Any amount is appreciated.

This Is Why We Back Up Our Data!

I recently got back from a trip, and it turns out that the microSD card plugged into my MP3 player has gone missing. (I previously wrote about why I still use an MP3 player to listen to music.)

Thankfully I take regular backups of my music so it’s just a matter of getting a new microSD card and restoring the files from the backup.

Interesting Recruiter E-mails

I sometimes get e-mails from job recruiters. Since I am currently employed in a decent position I haven’t paid too much attention to them. Although I know that I should continue to be open to new opportunities, sometimes I can’t help but wonder when I receive some of them.

Protecting My Home Server's Power Button with molly-guard and acpid
A while ago I took one of the old desktop computers in the house and turned it into a basic home server. Right now its main functions are printing and file storage, and most of the time it can be turned off. To make this easy, I’ve kept the default behavior for the power button to shut down the system. But just shutting down a server like this is risky. What if someone is still logged in and working on something?