My pretty face [ László Monda's Blog ]
Exploring the cyberspace, one quadrant at a time!
 
Main Page | Blog | Projects

Archive for September, 2005

Hungarian Namedays RSS

Thursday, September 29th, 2005

Ever wanted to remember the namedays of your relatives, friends? It has frustrated me to the point where I wanted to write a dedicated application that does the thing, but it seems there's a fairly good solution using RSS which I haven't thought of. Check it out!

This idea could be further extended by providing separate user accounts and allowing the users to define specific birthdays. Very elegant, very smooth.

WordPress Journeys

Wednesday, September 28th, 2005

I've just finished upgrading my WordPress installation and it's been taking a long time. First of all I'd like to note that WordPress is a shining example of a very high quality Free Software. You can feel it as you use it, there is quality in its every piece.

Strange things have happened after the upgrade (probably partly due to the stupid webserver configuration of my hosting provider) which took significant amount of my time. Most lucky bastard won't ever encounter with them (yeah, I hate them).

Anyway, installing WordPress is quite easy and works pretty well out of the box in most cases. There are however two things that worth customizing and these are the template and the plugins.

The original template is – like most blog templates – only uses half of the screen or so. There is a tendency that says that a blog should be narrow which means that a fine amount of the left and right edges of the screen will be unused. Most people would call it standard. I call it annoying and stupid. One can hardly find a theme that breaks this tendency. Because of the new template system of WordPress 1.5, I needed to search for an appropriate theme and I did. It's called Beeblebrox and this piece of work is both very elegant and very usable.

The other thing that makes blogging much less painful is plugins. I'd like to recommend two plugins that I think are very usable. The first is the DokuWiki plugin. Yeah, genious, that makes you able to blog using DokuWiki's markup language. It kicks ya azz! The other plugin is called Orgainzer and using it one can mess around with his/her upload folder through the web.

AJAX Pushes the Web to the Next Level

I'm not really concerned about cutting-edge web technologies, but this one rocks so much that I must say a word about it. Have you ever used Google Mail or Google Maps? The user experince was uncomparably smoother wasn't it? Well, there's a combination of techologies that powers these sites called AJAX. Wanna know more?

DokuWiki Adventures

Sunday, September 18th, 2005

I've just installed DokuWiki as the engine of my mother's home page. Its content is expected to be edited for some weeks until it'll be ready. There are many things why DokuWiki rocks so much. My favorite features are:

  • Very usable wikilanguage.
  • Super clean stylesheet borrowed from Plone. Yeah!
  • Simple, but usable design.

There are several (painful and boring) steps to install DokuWiki as the basis of your homepage and they are related to user account management and usability improvements. I wanna save you and myself from the pain of figuring this all out again in the future so here are the steps to make this stuff work:

  • Make the source work on the platform: Sometimes it's not as easy as it might sound. My domain is hosted on http://ultraweb.hu. Unfortunately the paranoid sysadmins have decided to disable several critical PHP functions that DokuWiki happens to use extensively such as realpath. In order to solve that problem one needs to hack DokuWiki by using a replacement function. Fortunately the PHP community has provided many of them and a fine implementation is made by <carlosreche at yahoo dot com> which can be downloaded from here. If you have the same problem, just copy it to every DokuWiki directories that has a file that needs realpath, require_once it in them and replace the realpath calls with myrealpath. That's all.
  • Manage user accounts: If you want DokuWiki as your home page engine, you should restrict its default permissions because you don't want allow anyone to edit it.
    • Restrict visitors to only see, but not to edit the pages: In <dokuwiki_root>/conf/dokuwiki.php set useacl to 1 and set superuser to "@admin". Below when I say "set the variable x to y" I mean this file. In <dokuwiki_root>/conf/acl.auth.php you only need the following line: "* @ALL 1".
    • Register the users through the web interface.
    • Change the passwords of the users and make them admin: Unfortunately DokuWiki doesn't provide an interface for that very basic feature so it needs to be done manually. This nifty script I've written will do the work if you use the default smd5 crypt method. Take its output and replace the second field in every line of <dokuwiki_root>/conf/users.auth.php with it as well as the last field with "admin".
    • Disable user registrations: Since you don't want anyone to edit your page, set variable openregister to 0.
  • Improve usability.
    • Allow inline HTML: DokuWiki has a rich and very usable markup language, but for several tasks (such as centering an object on the page) it's not enough. Thats when HTML comes handy. To use it, set the htmlok variable to 1.
    • Set descriptive document headings: By default the heading of the document is their wikipath which is not very intuitive for most users. Because of that you should set useheading to 1 to display the title of the documents instead of their wikipath.
    • Install a more usable template: A default DokuWiki installation has some usability deficiencies. The most apparent is feeling lost because no navigation bar is present. The other minor problem is that the title of the documents is located in the upper right corner rather than in the upper left. There is a awesome template that you should install to solve these problems.

File System Monitoring on Linux

Tuesday, September 13th, 2005

I've been recently involved in the topic of file system monitoring on Linux. That's because my master thesis project is strongly based on this feature so I needed to take a look how things work.

Everyone who is somewhat informed about filesystems and Linux immediately thinks of inotify and (s)he's right, inotify seems to kick serious ass indeed.

I'd like to thank all the inotify folks for creating this miracle, because before that there was an abundance of shit in this area. There was FAM and dnotify and both of them sucked really hard. So bless ya, inotify devs!

The first inotify patch dates back to Linux 2.6.5 and it's part of the mainstream kernel as of Linux 2.6.13. One naive being may think that now inotify is perfect, but others prove him stupid. Well, hopefully it'll be (more) perfect in 2.6.14, but anyway it seems fairly usable and robust for even now.

In case you wanna learn about inotify, this DeveloperWorks article is just for you. LWN has also wrote a nice article on the subject and this post from RML's blog worths gold likewise. You probably wanna check out his inotify directory too on kernel.org.