For those of you that are regular readers of this blog - all two of you that is - we are back in business. As you probably noticed, sometime this past Friday night the blog died once again.
The issue was once again with my install of MySQL (version 5). For some reason when I do a server restart, all kinds of problems happen to the MySQL instance forcing me to have to uninstall, wipe, and re-install the entire MySQL software. This also means that once I re-install I have to reload my data (if I've been lucky/smart enough to have backed it up -- which I'm usually not).
This time around though, I couldn't get an instance of MySQL to install and take my import of data. I could do a fresh install, and continue running my blog via WordPress software but I would not be able to reload any of my older posts. This was essentially what I did the last time it crashed (less than a month ago).
That time around, I was able to use the cache from google reader to get most of my content back and then just needed to repost each as a new post (which is why the dates were all off and some were missing content).
The problem was that I didn't really want to deal with this every couple of weeks. Since I wasn't able to get the data back with ease anyway, and I knew I could just build out the basic things I wanted by myself, I figured it was probably time to give up on MySQL (and therefore WordPress).
To be fair, the first time the blog crashed was because I attempted to run two WordPress blogs in one instance of MySQL each using a different databases (later when I took time to investigate WordPress does say you can't really do that the way I was trying to). And the second crash is most likely due to my limited resources (I'm running off one Windows machine that has everything I use installed on it; that includes a MS SQL instance).
So long story short, running MySQL on my sever just to support a simple little blog or two was just not working out for me. I needed to find a MS SQL solution.
Surprisingly, there were no MS SQL solutions that jumped out at me as worth my time and since my needs were pretty basic, I figured I would just write one real quick on my own.
I started the project Sunday night with the concepts of Wordpress and how I was using it before my crash as my outline. It's now Monday night (I got my normal amount of sleep and did my normal daily routine of watching the kids and such) and things are at least limping along.
This 24 hours of 'development' time included building the front end (what you see), the database and tables (in MS SQL), a couple of quick and generic admin tools, AND manually importing the data from raw MySQL data files. Not bad eh?
Just to give you a quick tour - the new blog already has support for Categories, Tags, and Monthly archives. The search stuff more or less works (though it's pretty generic). The rss2 feeds should be working as well as the storyrank and random image widgets. Within a post, comment board features should be working as well.
The admin area allows for simple insert/edit of posts as well as review/deleting of comments (I'm already getting spammed on my blog!). It also supports multiple writers (maybe I'll have other people blogging here eventually?).
Of course there's a long list of improvements that the system could benefit from (email alerting, pingback and trackback features, a better posting editor with more options, etc.). But for now it meets my basic needs/wants.
Before I finish up for the night though, let me give you a little more on the tech details of this simple blog.
First, it's all just simple PHP using ODBC (though most of my existing SQL statements are T-SQL specific).
Since I was building it quick and just for me, the database calls are not yet abstracted. However, I *might* work on updating that so that it's easier for others to add in support for other DBs (or even do a file based system because I *think* people on shared/cheap hosts would like that).
There are just 6 tables in the background for all the data.
The front end of the site is 9 PHP files and that includes a header, a footer, and the file that runs the random image widget. This doesn't include images or the stylesheet though because I reference them from the master www.botfu.com (I actually run the blog under botfu.com so you can get here either by blog.botfu.com or www.botfu.com/blog )
The admin area currently is 5 PHP files (including one to handle session data, and one to handle log in/log out).
Since I recently got the domain name and thought it would be fun, I'm referring to this new blog code as KickAssCode (but I haven't even directed the kickasscode domain to my server yet). If I ever get around to improving it much, I might go ahead and release it all as an open source project for people to do with as they like (but probably not any time soon because I'm trying to get too many other things off the ground).
And that's really it so far!



