Personal Web Server

I’ve had a few bad experiences with web hosting. When I first registered this URL several years ago, I naively chose the cheapest hosting I could find. I chose iPage, and fortunately it turned out to be a pretty decent service with good support. But when I wanted to start versioning my site with Git and running my own backup processes, I was pretty dismayed to find out that iPage doesn’t allow SSH in any capacity.

I looked into other hosting services that provide more server access, and ended up at HostGator. The transfer process was less than smooth and their SSH access was spotty at best. Their support was unhelpful and unacceptably slow compared to any other hosting service I’ve used. After a month of enduring these things, I cancelled their service.

That was when I first considered setting up my own web hosting server. I wanted to have complete control over my domain, and I also wanted a better understanding of server-side processes. I picked up an old tower at a local computer parts store, installed Ubuntu Server, set up a simple LAMP stack, opened a few router ports, and had the server up and running within an evening.

Running my own web server at home has been a very rewarding experience. I’ve learned a lot about virtual hosts, security, memory usage, databases, bash, and improved my command line skills. Because of my server’s simplicity and my consumer-grade network connection, I’ve had to optimize this site and other projects on this server as much as possible to achieve good performance. I consider this the most valuable aspect of running my own server, and working with these constraints has definitely improved me as a developer.

Winter Scene Illustration

This is a recent illustration I did in graphite. I found that my process for this piece was different from most of the work I do because of the amount of negative space it required for the snow effects. I ended up throwing away the first two iterations I started because I hadn’t planned for the whitespace properly. But after a couple of practice sketches, I was happy with how the final piece turned out.

Winter Scene

Javascript Inline-Styles

I recently listened to a really interesting panel from ShopTalk about using javascript for styling. Inline styles have been a huge pain-point in web development, so I’m glad to hear several top-tier devs finally giving it some formal validation in the context of javascript. I’ve seen cases of talented devs having their work criticized by less experienced people for inline-styling without any understanding of javascript’s role.

This panel is the first time I’ve heard about relying completely on javascript for styling, and I’m pretty swept-off-my-feet at the idea. I’ve used dynamic styling on the server before using Sass and even PHP, but being able to calculate and run everything client-side sounds really useful.

Easy Digital Downloads

I want to express my appreciation for an open source project that recently made my life a lot easier.

A few years ago, I worked with a client to create a website allowing people to purchase sheet music she composed and download them as PDFs. At the time I wasn’t familiar enough with htaccess processes to create protected directories for the PDF files, so I relied on another online service to host the files and purchase info. That service permanently went offline recently, leaving my client’s site inoperable.

Obviously this became an urgent project, and I needed something I could quickly implement out of the box to process the file purchase downloads until I could write my own solution. I found the Easy Digital Downloads project that integrates with WordPress, and was immediately impressed with the features. I converted the site to WordPress and plugged in Easy Digital Downloads, and had things back up and running within a couple hours.

Now the download files are hosted, maintained, and protected on the client’s server, so we no longer have to worry about a third party service going dark, and I can hook into the plugin and WP Engine to do any customization I need. Plus, the code is minimally invasive to the site. The Easy Digital Download project has saved me a lot of stress and hassle on this project.

Smoky Mountain Backpacking

I took some time off last week to spend a few days backpacking on the Appalachian Trail in the Great Smoky Mountains. It felt amazing to get out of my office chair and just walk and breathe mountain air for 3 days. The trail was much more difficult than I thought it would be, not because of the mountains, but because of how worn down and rocky it was. If you’re not extremely careful with every step, it’s all too easy to roll an ankle or trip. Still, I really enjoyed the physical challenge and the unique landscape.

AT