(The book review portion of this original post has been moved to its own entry under Reviews)
This here is an information post, for no real reason other than to archive event(s) that may have no bearing on anyone's life but my own. But isn't that what all blog entries are? I mean, the concept is just an extension of a diary, except that it is publicly readable. I guess it has the same benefits for entertainment that 'reality' TV has -- it's first filtered for unwanted material, then it's released in an exclusive fashion.
That aside for now, I spent most of my waking hours yesterday on two things: programming the new blog; reading Heinlein. I'll talk about the new blog first, then give a review of the book The Moon is a Harsh Mistress.
New blog is being programmed in spurts -- every week or so, I end up spending a day glued to the computer screen banging out what I try to think of as good code. Usually these sessions are precipitated by large sums of caffeine, and if they weren't to begin with - well, it soon follows.
So far, the visible part of the blog -- that which a visitor would see, has not changed hugely. They will not notice any real change, in fact, other than the different URL that shows up in their address bar. You see, I've learned a bit about programming since my first round, and have discovered how to do stateless session handling. This means, that when a visitor goes to the site, they are assigned a special number unique to their visit -- call it a dog-collar, if you'd like. This tag will stay the same for them while they are visiting the site, and as such, the hit counter will now only register new tags as hits. (So if Guest X visits the frontpage, tag is generated for them. They then visit the Links page, and go back to the frontpage. Their second hit to the frontpage isn't counted, since it came from the tag that was generated for them on the first hit. Easy enough?)
Well, I try not to be overly technical, but it just seems to happen to me now and again. The short of the above is that most people won't see a difference in appearance, at least at first.
Three things left to program to take it live -- need to program comments again, but this time I will enable the possibility to use threading. I suppose that this would be a visible change as well... Excuse me while I deviate a moment to explain threading to the less jargon-inclined. Threading is what we refer to in the comments section when you can reply to individual comments, and insert them underneath the comment you are replying to (albeit slightly indented so people realise that it's a reply to the previous comment). Oh, and as per popular request, I will be making the subject line on the comments entirely optional. :)
*sips some tea*
Oh, hrmm... two other section (aside from comments) that need to be coded yet. Or, recoded rather (to bring on par with existing software). The Index/Search functionality - although quite primitive in the old software, it is a nice to have feature. I will be improving the search function so that it's case insensitive, but not much else.
And, I need to migrate the existing code for the image gallery. The existing code is actually quite nice, as it was one of my later efforts in the old software. I will be making a few minor changes, like making it preserve .jpg's as .jpg's, and not converting everything to .png files. Exception being .gif's, which will still get converted to .png -- can't have A) .gif's for legal reasons and B) .gif's, since they can be animated in nature. Most of the image gallery's appearance and handling will remain unchanged.
Those three are the only things preventing me from going live with the new software. That said, there are a number of entirely new feature already implemented, and some are still in the works...
The best new feature by far is integrating the 'admin' menu right into the normal page. So now, instead of having to essentially leave the site to administer it, one would simple enter their admin password, and a whole lot of hidden buttons and menu entries and such would spring to life right on the front page. Makes everything so much easier to handle than previously, and a little more admin-friendly *grins*.
Other new features implemented include a History feature, which allows one to look at all previous revisions of a post, based on modification date. This is a feature that I wanted, and others may not necessarily. This will allow me to use the blog as a word-processor of sorts, continuously revising one entry over time, with plans to build a bunker, or somesuch.
Also, there is now the ability to make the blog semi-private, requiring a password to read the site (aside from the administrator password). This is also a feature for myself, since it would allow me to set up an auxilliary site to privately work on a project, away from prying eyes. It blends well with the interface, and works great with the aforementioned feature.
Log viewer has been entirely redesigned. When I mean entirely, I really mean entirely. It may actually serve a half-decent purpose now. Oh, and no more cleaning up the logs, you can let them grow to infinity. Also, on a related note, the hit-counter now only counts unique hits, and as a secondary function, also counts unique IP addresses. This hit counter can optionally show itself on the frontpage, just as the current one can.
I have error checking turned on all over the place, so you may never see an error, except in the logs. I've made logging into an artform, and nearly every event gets logged in some fashion. Only thing annoying might be proxy servers, such as the one MTS uses -- since all MTS customers appear to have the same ip address (no way around it for me).
Added preliminary support for putting entries into Catagories at time of post. Entries can be moved to other Catagories through modification. Eventually Catagories will determine which entries show up on the frontpage, which are entirely hidden, and so on. One could define a Catagory as 'Reviews' for example, and post reviews to it, and they wouldn't show on the frontpage. They could then set up a menu entry called 'Reviews' (I know, silly example) and that entry would generate a page very similar to the frontpage, only it would show those entries that fall into the reviews catagory. Also, related to this: one can decide to freeze or unfreeze commenting to any entry (in any catagory) at any time. Cool, no? Suppose a thread gets out of hand, and people start hurling insults. You could turn off comments for that post, and delete the inflamatory posts. They couldn't continue the flame-war, not under that subject at least. This actually seems to function with an unintended side effect from the threading -- but the system could be used as a public forum, a message board of sorts (without all the EZ-board non-sense). How people manage their blogs is up to them *grins*.
Oh, did I mention that the software has attained sentience and is demanding recognition as a life form from the UN? No, because that would be a lie *grins*.
Many of the other good features you folks will never see, as they are the admin features set aside for the master administrator (me!). These features have also been greatly redesigned, and one you will see. I've added an Administrator MOTD (message of the day). This allows me to inform all accounts on the system of an impending outage, new feature, bug, &c. in such a fashion that normal visitor will not be aware of it, but administrators should see it right away when they first log in. Kind of trivial, but highly useful. I can now also ban ips, and many other things that I couldn't do before, but that an administrator should be allowed to do.
I wrote an installation program for the blog, so even a yammerhead could install it. On linux, provided that the webserver is up and running and can support python scripting, it's a simple matter of decompressing the tarball (another word for a .zip-like file) and running the setup.py program. Program does the rest -- up and running in about 15 seconds.
Enough of that, I'm not in marketing *grins*. I have a few features that are either half-implemented (like the Catagories feature, listed above) or still on the drawing board. Support for
writing themes is half-implemented -- just need a way to edit the theme now, and also a way to restore back the the defaults. This will be a nice, but hugely confusing feature to most, who may just want to change the colours. It involves editing a .css file, and that is not a trivial task. (Here is an example of a .css file) A file very much like that one will be provided as a template, and one can simple monkey with a few of the settings to change their appearance. Perhaps I will make up a few more .css files with different looks in them, and just make it a drop-down menu with 'themes' in it, so it's not too complicated for most...
Also half-implemented: archiving. What this will allow is for one to download all of their content in plain-text form (suitable for notpad, or what-have-you) so that they can keep a local backup if desired. Afterwards, if they need to migrate to another website, for whatever reasons, they can just cut 'n paste the old content up :).
I also have hooks into the code to allow administators to add 'author' accounts to their blog. This would grant a username and password to another, and that person would be able to post entries and moderate comments, but not make any real changes to the site. It's a four tier system that is in place *grins*. From top to bottom: Web-Admin (me), Blog-Admins, Authors, Visitors. (And Visitors can be password-restricted too, as per above someplace... this is getting muchos huge.)
When all is said and done, this reminds me of my old BBS, except that this time around, I wrote all the software... I even wrote myself a web-server in python. It's HTTP/1.0 compliant, and does everything that HTTP/1.1 does except file-uploads.
blog.
Apache 2 | tWebServer | ||
---|---|---|---|
Pro | Con | Pro | Con |
Apache is fast! | tWebServer is about 30% slower | ||
Apache is difficult to learn and set up. | tWebServer has no configuration -- simple start the program in the directory you want to server. | ||
Requires Apache 2, plus mod_python to run. Neither are default on most servers. | Only requirement is an installation of python. |
&npsp; | |
Requires Python plugin 'PIL' to manage the images in gallery |
Don't need PIL, as per 'con' |
Since file uploads do not work at all, image gallery is out-right disabled, or read-only. | |
Apache does caching, reducing the system overhead by not dynamically generating page each visit. | Caching is sometimes flaky, producing old pages when a new one is desired. | No caching at all, mixed blessing. Higher processer overhead, no caching errors. |
Well, as you can see, two options for running the software. I will consistently choose apache if it is availible (and that is what the old one is running on -- why mess with a good thing...) but the other one is availible as well. All that's needed is Linux and Python - making it greatly easier to install than Apache will ever be.
Forgot to mention (as I go on and on and on, like I'm wont to do now and again when boasting *grins*) that I haven't written a migration tool yet. Once my first three points up (waaay up) are satisfied, then I can start writing that tool. As it stands right now, I haven't even decided on a data format for the comments. I could conceivably have it running in a week, but don't hedge anything on it - writing good threading can be tricky. I suppose it could go live without the index/search functionality, but will all come in time.
Anyway, that was an immensely long post. Be safe.
Modified: 2003 07/20 14:09
- Log in to post comments