# Creating This Blog

### Why I'm Creating a Blog

As part of my plan to increase my exposure in the professional development community, I have commited to start and maintain a blog. If you are now reading this, then I have succeeded in at least half of that particular goal.

I am a self-taught programmer, and I have been programming since at least 2004 (if I remember correctly). I have also been writing a blog and/or keeping a journal for almost that long. In fact, my longest-running personal programming project has been my online journal (which I keep private). Yet I have never written a blog specifically about software development.

So I am creating this blog as a vehicle of expression, as a record of my learning process, and to gain more exposure in the professional world.

### What Software I Chose

Because the focus is on the content, rather than showcasing the code of the framework, I opted for a pre-made blog solution. After a short, non-exhaustive search, I settled on Bludit. I have no idea where that name came from. I chose it for three main reasons. The first two are very characteristic of me: I wanted a self-hosted solution, and I wanted something very minimalistic. The third reason is that I used the developer's previous project (Bludit's predecessor), nibbleblog (no longer in active development) and liked it. Handling high traffic, stricter security, or advanced extensibility are not pressing concerns at present. One major drawback is that it does not have a comment system built in. I did not discover this (apparently intentional) oversight until later. Though I have knowledge of how to add that functionality myself (having done it before) and contribute it, it is unlikely that I will have the time. This, unfortunately, is a deal-breaker. Unless the developers add them in soon, I may have to change the program I use. The great thing about blogs is that they can usually be switched out at will.

### Installation

Bludit is written in PHP (about 3MB unzipped), stores posts in flat, markdown files, and is dead simple to install. I copied the files into a new folder on my webhost, and navigated to the install.php script.

There were two small issues during installation, not due to the software itself, but because of my webhost. Bludit relies on an .htaccess file to route all its URLs through the index.php script. Unfortunately, because my webhost has multiple .htaccess files at multiple levels, they interact badly, causing URLs intended for, say, the "about" page to be redirected to the absolute path of the index file on disk (ie: "/host/homepages/3/1234567/htdocs/"). The second problem was that pages were not redirecting to the HTTPS version properly. I solved both problems with a slight modification to the .htaccess file that came with Bludit.

First, thanks to this answer on StackOverflow, I added RewriteBase /bludit/ after RewriteEngine on, which took care of the absolute path problem. Secondly, I added a rewrite rule to redirect any non-https traffic back to the secure version, like so:

# new rule, added on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$https://www.example.com/bludit/$1 [R=301,L]

# existing rule, left untouched (this one should come last)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]

### Conclusion

I created a blog to show the developer world that I mean business. I'm excited to see how this matures.

Bludit was easy to install and nice to use, but because it does not support comments natively (and its addition does not seem imminent), I will have to resume my search for a minimalistic and self-hosted blogging system - or write in comment support myself.