March 4, 2009
Procrastination via Education
The vast wealth of knowledge on the Internet is both a blessing and a curse. When I was a boy first learning how to program I’d have given my milk teeth for something like the Internet today. All I had to work with was a couple of book on how to program in BASIC. These days, with the Internet, there are hundreds of guides for just about everything. But if you’re keen on learning then there’s an insidious downside to all this information at your fingertips; you can spend entire days reading more and more without actually doing anything. It’s an easy trap because you can use the justification that you are learning, but sooner rather than later you need to be doing as well.
This is what has happened to me over the last few days with setting up my new website. I don’t know much about web design and management, and with the emphasis on security I always feel there’s some critical gap I am missing. I’ve worried about the safety of my domain name with my registrar, the type of hosting I need, how to run my server, using WordPress over plain HTML, and so on. Sometimes the advice is conflicting. If I read too much in one sitting it just feeds into my paranoia, which makes me want to read more. It can end in effective paralysis.
There’s also the basic problem of being swamped by so many options to do everything. This is a general problem with everything to do with computing. There’s so many options to do anything; multiple types of hardware, multiple libraries, multiple service providers. If you aim to find the “best” solution you will spend an eternity evaluating all the choices. I’ve noticed this problem with myself, and I need to learn to put my foot down and if I find a decent solution that works, then I go with it.
All that aside, I have got some progress done. My current objective is to build the basics of a new website that will blossom into a business site. To start, I want to get the skeleton up and running internally where I can test it before putting it up online.
Currently, I have an Apache server running on my iMac together with PHP and MySQL. It isn’t actually that hard to get Apache and PHP running as they’re both part of Mac OS X, although dormant by default. I installed an updated package anyway to speed things up. MySQL was a little trickier as I did not get the permissions right first go. It took several hours to get it and phpMyAdmin working. Unfortunately for me, database management is a big gaping hole in my acquired knowledge so there’s plenty I need to learn.
After that, I’ve got a local copy of WordPress up, configured and “secured”. Modification is still an ongoing process. I’ve got a bit sidetracked reading about all the security issues and plugins. I know security is a big issue for a big open source project like WordPress, but I don’t know whether a lot of the security issues I hear about stem from the kind of people who think “password” is a good password for their system. Currently I think I’ve fixed the basic vulnerabilities; got all the file permissions set up, hidden information on files and directories using Apache’s config, used non-standard names to stop automated attacks and got the administration panel protected with a double password system (HTTP Digest for key files, plus WordPress’s own system). Certainly overkill for a test website that no-one online can see, but all good practice.
Next up, I need to experiment with a directory structure that works for what I want it do to. I’m leaning now towards doing the whole site in WordPress, at least to begin with. To start, my site’s basically going to be a blog anyway. Eventually I’ll be adding in a lot of static page articles and product pages, but I think WordPress should expand to cover that too in a way that has extra benefits (such as including all pages in the same . For a one man website I think it will be sufficient to do a few tweaks to a blogging engine; better that then spend an age learning a more complicated over-powered CMS system. If WordPress can generate static HTML pages for the main site with a bit of automagic, then that’s all I’ll need.
I also need some good administration tools, such as a few good ways to log what’s happening on the site and a method for automating backups. I’m assuming there’s some good methods for this already out there. Once I have the basic global structure down, then I can start thinking about web page design.
And on top of all this, I also need to get started on actually making games. With all the focus on game-a-week and game-a-fortnight projects right now, it is probably best to just jump in feet first. I’ll do a bit of thinking about what a good first project will be, but I’ll make a promise to myself to start on a short, actual game related project by Monday next week, if not earlier.