Ramblings of a Tampa developer
Begin.
Photo by Danielle MacInnes / Unsplash

As prepped a few weeks ago, if you are reading this post you are viewing my new blog located on brand new hardware.

From wherever you are in the world, this request was fed via Linode (referral link) in their Atlanta, Georgia data-center. So lets walk through the changes this means for this blog.

#1. Bye Apache, Hello NGINX.

This point doesn't mean much for the non-technical folks, but I've abandoned my old web server for NGINX. At the end of the day, there are tons of blogs debating this point but I switched for the following:

  • No more htaccess files.
  • Quicker loading of static files.
  • Support for pretty directory index.
  • Easier reverse proxy for Node (required for Ghost)
  • Easier to process configuration.
  • HTTP/2 Support

A big benefit of HTTP/2 is the ability to shove many resources on one connection or multiplexing. So instead of the classic queue based approach of downloading an asset, waiting and going to next, this blog now just starts all the assets immediately resulting in a quicker load.

Chrome Inspector to see protocol used (HTTP/2)

#2 - Bye Google Trackers

The era of data and analytical tracking is here and websites everywhere contribute to it. From loading Google Analytics, Google could correlate my readers to my content and thus use this knowledge for a multitude of purposes.

When Google Analytics was installed and used in early 2011, there wasn't much discussion on what this data was for. The product was free and the analytics it provided were sweet, but no longer for this blog.

My Google Analytics dying with no more connection.

So now my blog has no Google Analytics, so the obvious question - how do I know how popular posts are?

Well, if I was writing for popularity I would have given up a long time ago. The amount of readers does not interest me, just building a history of thoughts.

Though, without infringing on my reader's privacy. I can log all requests to my server and use a visualization tool like GoAccess to make some pretty charts.

GoAccess - 1.5 days of stats for this blog.

So this will be pretty neat to keep in terms of seeing which articles are most popular. Strange enough, right now its my blog posts about The Matrix and illegal movies. It will run nightly and at some point I'll probably have to investigate how this works when log files start rotating, but for now tis perfect.

#3 - Dark and Light Mode

Some feedback I got after moving to entire dark mode was a method to go back to light mode. You can never please everyone, so now the page has a simple "Dark/Light" toggle in the main navigation. It was written in vanilla JavaScript and swaps the colors and logo on each click.

It might need some tweaks, because it isn't easy to build a website that can completely invert itself on the click of a button. Using local storage the system will remember your choice, so you may chose to read posts in either dark or light mode.


In closing, this blog is now running on its own Nanode ($5/month) and is paving ground for a fully static, but yet dynamic publishing platform for posts. The next large iteration of this blog will be leveraging a system to make all posts ahead of time into static HTML files. Those would then be served very quickly by NGINX.

Finally, a few design changes were made:

  • Quotes are much smaller and less annoying
  • Mobile uses more horizontal space
  • Mobile removes useless vertical padding
  • Base theme upgraded to v2.0.2

Hope you enjoy the new speed and design - any feedback welcome.