hobby love

A love letter to hobbyists.

When I would screen applications for hiring in the tech field, I was always amused by the people who had websites offline or emails that would bounce. It was always a dead giveaway who the tinkerers and hobbyists were.

Network rack that runs my hobbies, and other open source initiatives.

This website is built on WordPress, which in turn is installed on an Ubuntu server virtual machine running on used enterprise hardware with Proxmox as the hypervisor.

If I’m using this website “professionally,” shouldn’t I just use a hosting service or at the bare minimum have a cloud-hosted VM to build on?
Yes, but that’s not really who I am, and I almost feel it would be disingenuous.

I’ve probably had hundreds of websites over the years, but this is version three of what I would call my portfolio site. Each time I rebuild it, I pick a new technology as the base. It allows me to learn new things and expand my skill set. I’m no stranger to hosting WordPress sites — I have helped maintain the backend for many business and personal ventures — but this is my first time genuinely trying to design on top of it.

I would be willing to make version four on WordPress. I’ve learned from this experience, and I think the most important thing I’ve learned is that there is no way forward for this iteration. I’ve spent a lot of time building this site in a sort of trial-by-fire way. For hobby projects like this, the best form of learning is to just jump in and do it.

There are a lot of things wrong with this site. It’s slow, it’s bulky, and there are a lot of compromises. When I was initially looking to make a new portfolio, I was browsing WordPress themes. I found one I thought would be good, but I didn’t realize that the theme would put up as much of a fight as it did.

Most themes are designed to be uniform and consistent across the entire site. There were things I didn’t like about the theme, and I sought to customize it to fit my preferences. Themes do not like that. Most themes offer customization at face value, but if you know web design and really want to dive in, they become restrictive.

Throughout this website, if you were to dig around in the inspect module, you would see where the theme and I were constantly at battle. Yes, you can edit the theme files directly, but the problem with that is a lot of theme files rely on each other site-wide in different ways, and changing a backend file to benefit you in the moment may leave you with unintended consequences further along. I did end up changing the theme files quite a bit, but there were some things that were difficult to modify without entire rewrites across different PHP files.

If I couldn’t easily modify the theme source, I would typically just use custom CSS to remove entire modules from loading and again use CSS to add in the modifications that I wanted. Sometimes an image gallery was the wrong size, sometimes the colors were off. All of this was fixed with a bit of custom CSS.

The cobbler’s children have no shoes.

None of this is good practice. If this were truly a “professional” site, like something for a customer or an organization I assist, I would find this approach unacceptable. However, because this site is a representation of myself, I believe it is fitting. Just as a mechanic will daily drive his project cars, I am fine with daily driving this piece of work.

Knowing what I know now, in the next version I will design the theme myself rather than try to bend a theme to meet my will. Anyway, this site gets the point across and really is only here to give a brief overview of the things I do. It hopefully makes you want to ask questions. If the projects I feature have grabbed your attention, please get in contact for a chat. If you are a tinkerer or hobbyist in your own world — mad respect. The world needs more people like you.

– James Lamken