Posts Tagged ‘blogging’

Moving a WordPress blog to Nearly Free Speech

Up till recently, this blog has lived on WordPress.com. Now I’ve moved it to http://www.rratliff.com/, where I have control over more of the configuration. I’ve had some experience with WordPress before, but I wanted to update my knowledge. Also, with all this recent talk about privacy on the web, I wanted to set up my own server and see how I could eavesdrop on my visitors learn about it.

For my non-tech friends, here is some quick background. WordPress is two things. It is a blogging software, which anyone can install on a web server that they control. It is also a company who has installed this blogging software on WordPress.com. They control it, but they give it away as a free service (and also have a paid service for those who want more advanced features.) I’ve chosen to move from the free service to the service that I can control. Now I pay NearlyFreeSpeech.net some money to host my blog on their site, but again, it gives me more control over the configuration, and more opportunities to learn.

Things I learned

  • How to list all the tags in Subversion. (I used this to make sure I was downloading the most recent version of WordPress.)
  • An SQL process can have multiple databases in it.
  • WordPress can use a single database to host multiple sites by using a table prefix.
  • In the world of web servers, file permissions matter. For most of my life up till now, I’ve been working on single user systems. Therefore I have not needed to worry about the group and other sections of the unix permission modes.
  • The ability to export and import a blog from WordPress.com to self-hosted WordPress is pretty cool.
  • How to install a WordPress plugin manually. The fastest way is to SSH into the host and wget the zip file. Then unzip it there.
  • My hosted site does not utilize HTTPS right now. Therefore several passwords that I use to administer WordPress are transmitted in the clear. Say hello to my government surveillance friends, and hackers too? Hopefully not.
  • Piwik is a really cool way to do web analytics. There’s two pieces.
    • One is the Piwik tracking Javascript, which is added to all pages on my website. This can be done by the WP-Piwik plugin.
    • The other is the Piwik web server, which handles the requests from the tracking Javascript and then stores the information in the database. It also provides a Dashboard for admins who log in to view the analytics data.
    • Also, Piwik can anonymize part of visitors’ IP addresses to reduce the amount of personal information that is collected.
    • Google Analytics provides a free (as in price) service, but my analytics data is being aggregated with the analytics of a lot of other website, thus contributing to Google’s database. They use this for marketing, which I view as a form of corporate surveillance.
  • WordPress by default does not generate valid HTML. I fixed it on my site by modifying functions.php. See WordPress category tag validation error fix for more information.
  • I installed the Use Google Libraries plugin to change the jQuery to use Google hosting. This has a small speed benefit for users.

Still to learn

  • How to get Apache to do what I want. I really want a good rating in Google Page Speed. Two sticking points right now are leveraging browser caching and enabling gzip compression. There are WordPress plugins that will manage my .htaccess for me, but I think it would serve me well (pun intended) to learn how to configure it myself. Another tool for testing blogs is ismyblogworking.com
  • It would be cool to set up a staging environment, where I can work on plugins and WordPress tweaks without worrying about disabling my production website.
  • It would be nice to have blog posts and pages stored as files instead of in a database. That way I could put them under version control.
  • Either WordPress or my web host has poor performance, because I’m getting the “Reduce server response time” suggestion pretty consistently from Google Page Speed. I know a static site would help immensely in this area, but at the cost of some convenience of administration.
  • Even cooler would be to tie the version control and the staging environment together. When I am happy with the way my blog looks in the staging environment, I can commit the changes, then push (deploy) them to the production blog.
  • My host supports some sort of HTTPS/SSL. I’d like to learn more about this and then consider asking them to enable it.
  • Another suggestion from Google Page Speed is “Eliminate render-blocking JavaScript and CSS in above-the-fold content.” To fix this will require diving into WordPress themes, which I am not looking forward to.
  • There are more recently popular blogging frameworks, such as Jekyll or Octopress.

Why I am writing this blog

After writing 3 posts, I think I am starting to get the hang of this blogging thing. I wanted to write about why I started blogging. I had been kicking around ideas for blogging in my head for quite some time, but I just wasn’t able to sit down and start it.

Taking Strengths Finder was the impetus I needed to start blogging. I took the test, and learned that my themes are input, deliberative, intellection, responsibility, and consistency. As I read through the strengths insights, something stuck out to me: three of my strengths mentioned the written word.

For example, the input theme includes the following insight: “You school yourself by reading, investigating, examining, experiencing, or receiving instruction in a subject.” As a follow-up to that, a suggested action was to share advice with others, or write about what I have learned. “Remember that you must be more than just a collector of information. … Make a point of identifying the facts and data that would be most valuable to others, and use this information to their advantage.”

I hope this blog is able to pull valuable information out of my own knowledge, and it is my hope that this information is of value to you.

The second reason I decided to jump in and start writing was because of an article I read on Coding Horror. How to Write Without Writing. Basically, writing and communication is the differentiator between a decent programmer, and an excellent programmer. Jeff Atwood’s article mentions two ways to train yourself to write: blogging, and cheating. Cheating in this case would be getting programmers to participate in Stack Overflow, where they learn to write by answering and asking questions.

I’ll try out blogging first. As I blog, my aim is to challenge myself to write longer, in-depth articles about things I have personally explored. I do not want to merely react to the latest tech topics. Jakob Nielsen’s article, Write Articles, Not Blog Postings, presents an excellent article about how to differentiate yourself by being proactive rather than reactive in your writing. We’ll see how this manifests myself in this blog.