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

Archive for March, 2006

Memo

Friday, March 31st, 2006

Novell Open Audio:

Memo

Thursday, March 30th, 2006

Memo

Sunday, March 26th, 2006

I've decided to write my blog in a way that's very different of what I've done so far. Instead of explaining my opinion on various subjects of computing, I'll shortly summarize the most important things in my mind, like in a memo. The reason for this change is my lack of time. I wanna focus more on UC and other things that interest me and blogging is too much of a burden sometimes. That doesn't mean that I won't make any long posts about the things that I found important, of course.

So here's my first memo:

  • C# versus Python: C# for anything robust, Python is for prototyping and scripting.
  • IRC is incredible. Much faster than mailing lists. Lots of helpful folks. Speeds up development. Now XChat starts with my session.
  • Koroaa blows my mind. You gotta give XGL a try. Insane!
  • How to learn CSS fast and well: Don't read the specs, you'll lost in the details. Learn by examples.
  • Banshee has an incredible interface. Too bad it segfaults on my box.
  • I'll probably change to Ubuntu. Debian isn't polished very much regarding the desktop.

I love this way of blogging! :-)

Blog Migrated, Comments Enabled

Thursday, March 16th, 2006

If you can read this, that means that I've successfully migrated my blog to the new server and redirected the related URLs carefully. I've also upgraded to the most recent WordPress and I'm absolutely amazed by the richness of the admin UI. These guys are pushing JavaScript to its limits.

There are many advantages of this move, such as better response time, speed and wider administration possibilities. Abusing the power of .htaccess belongs to the latter category. I love the permament URIs WordPress provides this way.

The most apparent blog change I've made is finally enabling the comments. Comments were disabled for a while in my blog because of the massive amounts of comment spam I got, but there is a great way to evade them. This method is called CAPTCHA and it's wonderfully simple and effective. There are more WordPress CAPTCHA plugins, but most of them are crap. Fortunately there is a real gem among them, the Capcha! plugin. You gotta try it if you wanna communicate through your blog without being flooded with spam.

ultimatecommander.org: Content Migrated

Tuesday, March 14th, 2006

I've just finished migrating all the SF project web content to http://ultimatecommander.org. The site is hosted by http://mediacenter.hu, which seems to be a very good hosting provider regarding how much value it provides in exchange for only 120$ per year. Project demoing flash screencasts shouldn't be slow anymore, not even from foreign countries.

I will migrate the whole monda.hu domain to the new server as soon as they finished setting up the DNS. As a side effect of this, monda.hu will be offline for a while, so you may not be able to read my blog for a day or two. I hope you can live with that. ;-)

I'd like to thank my mother for financing the new hosting service and the ultimatecommander.org domain. I don't have any jobs right now, because I decided to work on UC, gain experience, and create something really exceptional in this respect. She's a furniture painting folk artist and you can find her home page at http://monda.hu/klara.

UC Made Coding Guidelines Compliant

Tuesday, March 14th, 2006

I've just finished editing the Coding Guidelines document and comitting the modified source that complies to the holy guidelines.

It's a small, but significiant quality improvement that should be followed by every projects.

UC Windows Port

Monday, March 13th, 2006

I've demoed UC to Vilmos Bilicki, who is my mentor in relation with my master thesis project (which is UC). He was very enthusiastic and told me that he'd use UC if it ran on Windows. I was thinking about porting UC to Windows even before, but he was giving me a further push, so I did a try this time.

I had a talk with Francisco T. Martinez a la Paco on #Mono. He directed me to his expermiental Windows Mono Installer which incorporates the Gnome bindings, not just Gtk# as the official installer. Using his stuff it was easy to port UC to Windows. Well I've not entirely ported it, just to make the GUI work, but it's nice to see how fine it looks on Windows:

Image

He told me that the extra bindings of his expermental installer will be a part of the official installer soon. Very nice!

I'll try to maintain UC in the future respecting the Windows port. I think it worths the additional maintenance burden which is not too heavy with Mono.

Novell Open Audio

Monday, March 13th, 2006

It's worth listening Novell Open Audio. I've listened their first podcast several days before and these guys talk about some interesting stuff. I realized how powerful Simias, the engine under IFolder really is. I've also realized how little I know about HAL.

One can learn a lot by listening talented people in general.

Ultimate Commander: Project Site Renewal

Friday, March 10th, 2006

I've just migrated all the content to the new project site I've set up on SourceForge. This was one of the subtasks I didn't really enjoy, because these kinds of administrations generally bore and frustrate the hell out of me.

The most exciting part of this job was making a customized style for MediaWiki which powers the site. As a useful side effect, I learned CSS which I find very elegant. I used the FratMan skin as a starting point and modelled the general site layout after the Beagle Wiki. It's a really usable and simple layout.

I've even put up the flash screencast and all the related media to the new site. To be honest this was the first reason I moved the site to SourceForge, because it has better bandwidth, but MediaWiki has additional virtues, of course.

To document my glorious deed for the future generations, here is a screenshot of the old site:

Image

And this is the new one:

Image

I honestly hope that you can feel the difference. If you can't, then there is something wrong with you and you're strange and weird.

MediaWiki on SourceForge – The HOWTO

Friday, March 3rd, 2006

This is my third and last post regarding the installation of MediaWiki on SourceForge.

In my first post, I concluded that it's not possible to install MediaWiki on SourceForge. In my second post, I acknowledged that it's doable and in this post of mine, in my third post on the subject, I'm gonna actually describe how to do it in a way that will make you understand what are you doing and why.

Just to let you know, what you're reading now is probably the most complete and clear HOWTO ever written on the subject. It's not that there aren't any resources out there, but they're not very usable or clear in my experience.

As an additional note, it wasn't fun to compile all this information into a quality document like this, but I was so pissed off by this issue and I wasted so much time with it, that I really don't wanna anyone out there to suck days with this process like I did. So if you're eager to install MediaWiki into your project web space on SourceForge, this guide will worth you pure gold. I should probably charge you, but I'm such a nice person…

Throughout this HOWTO, i'll mark text regions with bold formatting that are supposed to be replaced by your installation settings.

Here are the steps to make the thing happen:

  1. Deploy MediaWiki source on SourceForge:
    1. Download MediaWiki to your local machine.
    2. scp the tarball to your project web space, since outbound connections are forbidden from the SourceForge shell:
      $ scp mediawiki-version.tar.gz username@shell.sf.net:/home/groups/p/pr/projectname/htdocs
    3. Extract the tarball on SourceForge:
      $ ssh username@shell.sf.net
      $ cd /home/groups/p/pr/projectname/htdocs
      $ tar xzvf mediawiki-version.tar.gz
    4. Symlink the wiki directory, so we'll have less burden when upgrading to a more recent version of MediaWiki:
      $ ln -s mediawiki-version wiki
  2. Set up persistent directories. Since project directories on SourceForge are not writable by Apache, we need to create writable directories for storing volatile data and modify some configuration details accordingly:
    1. Create a persistent directory for your project in /tmp/persistent/tmpname. tmpname should be the same as your projectname. In case /tmp/persistent/projectname is already created by someone else, you need to choose another name.
      $ mkdir /tmp/persistent/tmpname
    2. Create writable directories for initial configuration, session management and image data:
      $ cd /tmp/persistent/tmpname
      $ mkdir config sessions images
      $ chmod a+w *
    3. Symlink the config and images MediaWiki directories to your persistent directory:
      $ cd /home/groups/p/pr/projectname/htdocs/wiki

      $ cp config/index.php /tmp/presistent/tmpname/config
      $ rm -f config/index.php
      $ rmdir config
      $ ln -s /tmp/persistent/tmpname/config

      $ rm -f images/.cvsignore images/README
      $ rmdir images
      $ ln -s /tmp/persistent/tmpname/images
  3. Prepare the source for installation. /home/groups/p/pr/projectname/htdocs/wiki/config/index.php needs to be hacked in order to work correctly with the persistent directory setup:
    1. Point to the correct wiki root directory by replacing line 117:
      $IP = dirname( dirname( __FILE__ ) );
      with:
      $IP = "/home/groups/p/pr/projectname/htdocs/wiki";

      and by replacing line 1125:
      \$IP = \"{$slconf['IP']}\"
      with:
      \$IP = \"/home/groups/p/pr/projectname/htdocs/wiki\"
    2. Point to the correct languages directory by replacing line 1296:
      global $wgLanguageNames;
      with:
      global $wgLanguageNames, $IP;

      and by replacing line 1306:
      $d = opendir( "../languages" );
      with:
      $d = opendir( "$IP/languages" );
    3. Point to the correct SQL database definition files by replacing all the "dbsource( "../" strings with "dbsource( "$IP/" strings. (Watch for the space after the parantheses.)
  4. Install MediaWiki. Point your browser to http://projectname.sf.net/wiki/config and install MediaWiki through its web interface:
    1. Select Turck MMCache for shared memory caching.
    2. Use your MySQL admin account as the DB username.
    3. On the end of the page there should be an "Installation successful!" message. If it's not there, the installation may have interrupted due to server suckiness which happended to me several times. If that's the case, you should rerun this script. You may also want to drop your wiki database prior rerunning the install script if things don't work out.
    4. Move the generated LocalSettings.php to the wiki root directory:
      $ mv /tmp/persistent/tmpdir/LocalSettings.php /home/groups/p/pr/projectname/htdocs/wiki
    5. Remove old config, since there's no use of it and it also imposes a security risk:
      $ rm -f /tmp/persistent/tmpname/config/index.php
      $ rmdir /tmp/persistent/tmpname/config
      $ rm -f /home/groups/p/pr/projectname/htdocs/wiki/config
    6. Correct the default session save path by including into /home/groups/p/pr/projectname/htdocs/wiki/LocalSettings.php at the end of the PHP section:
      session_save_path("/tmp/persistent/tmpdir");
  5. Fine-tune MediaWiki for the environment. You have a workable MediaWiki installation at this point, but there are still several steps to be made in the current environment:
    1. Restrict editing permissions by including into LocalSettings.php:
      $wgGroupPermissions['*']['edit'] = false;
      $wgGroupPermissions['user']['edit'] = false;
    2. Display SourceForge logo. SourceForge requires every projects to display their logo on every project web page for statistical and PR purposes. There are plenty of docs on this topic.

Thanks

I'd like to thank Diego Torres Milano, developer of the JGlade project for writing the mediawiki-sf installation script which I learned a lot from.