Archive for May, 2007

Posted on Books

sequels as stand-alone works

I, as one rightly should, filter books by their covers.

If they catch my eye, by being pretty or intriguing, I will read that bashful text taking refuge on the book’s far side. If interest remains by my side, if it has not skipped merrily off (as it has so many times before), I will often scan a portion of the prose contained between those aesthetically pleasing covers. Yes, choosing a book can be a long, and arduous process. And, to be honest, many times you will be disappointed.

Often, I feel as if authors have not put as much thought into the book’s universe, or the characters’ histories, as I’d like seeking to explain it to their readers and themselves. My solution: skip the first book altogether.

I mean, sure, you may no know what’s going on, at first – or even later – but the universe will seem far more vast and detailed, and the characters far more complex.

The trick, I believe, is referencing past situations and events with as little elaboration as possible – allowing the reader’s imagination to spin off, fueled by wonderment and possibilities.


Unrelated, I made a three (or four) page comic, but it wasn’t very good, so I probably won’t post it.

 

Posted on Programming

codepaste

A flurry of ill-formatted code works its way across the internet, neatly wrapped in tiny packages generated by instant messagers. Pasting code into an instant message, while convenient, rarely works out well.
And that is where this “World Wide Web” comes in. It saunters in, wearing its glittering shades with an easy confidence as its poorly chosen hat rests awkwardly atop its head. He carries with him a solution, though difficult to pick out against the backdrop of a shirt he seemingly purchased solely for its garish juxtaposition of bright and strangely flashing colours.

I, myself, have sent my share of code via MSN or GoogleTalk. Foreign eyes can often better detect errors than those that have become familiar with the tangle of semicolons and brackets before them.

But, no more. Well, hopefully at least, less frequently.

codepaste. Just paste in some code, and it will store it for anyone to view. Using Geshi, it will probably even syntax highlight it. If you don’t want to paste the link, you can have codepaste e-mail it to whomever you wish.

codepaste: now featuring dark and light skins.

 

Posted on Uncategorised

How to build a maintainable website

There are two main reasons that you might build a website with maintainability in mind:

  1. You plan to update it regularly
  2. You are the type of person who will go to ridiculous lengths to avoid tedium and redundancy in favour of generality. The type of person who expects user-error.

Many different systems are available for managing your website. Personally, I prefer to avoid them. But they’re great for some specific situations.

I’ve spent a lot of time over the past few years, envisioning and testing different possible solutions to this problem. I have never before been happy with the result for long. Hopefully, my experience with this problem and perhaps even my newest attempt at a solution is of use to you.

CMSs

There are many different Content Management Systems, and they are being increasingly used to power websites. I have used a few, and even written a few. I can see how they would be good for certain websites, and I have seen them horribly misused. Often they are complicated and bloated with unnecessary features, as they try to account for all your possible needs.

If you want to avoid any sort of code, and don’t want to spend the time or money to build a custom system, then they are probably the way to go.

I hate rich text editors as a way to update websites. I mean, sure, they’re great for other purposes, but for a website? They seem to rarely work as one might expect, especially with the external CSS of the site.

Most importantly to me is how disturbingly ugly the HTML that they output is.

Some CMSs make use of textareas over RTEs, or allow you to choose. That way you can write the HTML yourself. But writing clear HTML can be painful without syntax colouring and auto tabbing.

The speed and interface of web-based solutions can be frustrating. As a primary method of maintenance, I decided against a web-based interface.

Files

The advantage of files is that you can batch download them, edit them in your favourite editor (preferably featuring syntax highlighting and auto-tabbing), and upload them.

The file-based solution is just that. Directly modifying the files which make up the site.

As you can probably guess, I had some problems with that. You may remember that I am a proponent for separating data from formatting. In this case, such a separation makes it easier to update youre content. It increases clarity and reduces the risk of ruining your template by inadvertently editing some necessary tag or section of code.

What many people do in this situation is split the template into two files: a file for the top, and a file for the bottom.

I choose not to use this method as I find it distasteful. I will justify this by pointing out that content areas may be spread throughout your template, and are not necessarily restricted to one “middle” section. While a valid argument, I should probably point out that my problem with the method is mostly just a matter of personal preference. I would much prefer to inject data into the template where appropriate.

In the past, I have done this with a data directory which contained, in turn, a directory for each page, as well as a default directory. The default directory would house a file for each content area for which default information was appropriate. Each page directory would contain a file for each content area that was to be filled in with data for that page. The files, themselves, contained only html.
This system worked well, but as I stated earlier, after using it for a while, my displeasure with the method increased. Having to go back and forth between directories in an FTP client was frustrating and time consuming. The obvious solution was to somehow have all the data files in a single directory, which leads to my current solution.

Files: current solution

In a data directory I have places a file for each page on the website. In that file, specific HTML comments divide the information by the content area it is meant to fill. Furthermore, placeholders can be placed into the html for the system to further inject appropriate data, allowing for a dynamic site. And, lately, I’ve been toying with the idea of providing a secondary web-based interface for these data files.

It may or may not end up working well, but I am hopeful.

 

Posted on Uncategorised

PageRanked™

BradleyGill.com finally has a PageRank… And it is huge! A page rank of 3! Okay, so maybe small is more accurate, but at least it’s higher than the Giggling Corpse’s!

I wonder what sort of PageRank bradicon will get.

So, PageRank: Your thoughts? Rebuttal?