Put the obviousness into code

Let's get back to what I wrote a few days ago about where you can start. I gave an example about the search engine. I like to look at writing a weblog now.

There exists much software for weblogs. There are hosted versions and there are version that you can host yourself. And version that you can buy. There are even companies where you get a weblog as part of another website.

It is pretty obvious what a weblog is, but there are still many different ways to design one. My question is what do you have to do before can start to write? And then publish to the internet? And make it look like your own thing?

For me starting a weblog is actually quite hard. I wrote my own software. This software hosts my weblog. I write in Vim and then generate static HTML. But to start a weblog I need to create new directories on my web server and create a virtual host. These steps are automated in one command. But that's not the biggest problem. I also need to configure the weblog software to write the pages to the right directory and sync the files with the server. That's not one command.

I'm the only user of this software. And it'll probably stay that way forever, even though the software is freely available on GitHub. And I don't think this is a big problem.

The software is hard to use for some users. You can't expect people to start using Vim as their editor for writing weblog articles. For those people Vim is hard to use. An easier way to write longish pieces of text is by using a textarea on a web page and pushing "Publish".

That software I haven't yet written. And of course I shouldn't have to. I also think that installing WordPress is to hard. Installing software should be one push of a button or one command. I shouldn't need me to download a tar archive from a website and untar it and configure the MySQL database or even create a database and load an SQL file. This shouldn't be necessary. Also know that I'm not bashing on WordPress specifically. It's just that it is the most advanced free blog software we got, right?

But it should be easier than this. And also I want other software. It should be as easy as installing new software on my Linux box. One command and it's available. The software should configure itself. Or be pre-configured.

Just like other software that can write files to a config directory, web software needs a way to create its databases without user interference. As long as you don't touch my other databases I don't care what you need to do.

So maybe the question is: why can some software create files in my home directory and why can't other software create new database files in my database server?


My name is Peter Stuifzand. You're reading my personal website.