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

Archive for the 'Ultimate Commander' Category

UC: Site Improvements

Tuesday, February 6th, 2007

I've made some improvements on the UC site a few days ago and I think it's a lot easier to navigate it as a result of these improvements. I've also put up some shameless advertising. I don't like to disturb users with ads, but currently it's the only way to make some money from the project so hopefully I'll be able to spend more time on development.

UC: Demo Section Improved

Saturday, January 27th, 2007

The Demo Section of the UC site is better than ever. I've used YouTube and FileHo to host the demos. The foreign bandwith of my hosting provider is fairly limited so it's a better option to use free providers with better bandwith.

Ultimate Commander: Status Report

Tuesday, August 22nd, 2006

I haven't said anything on the UC front in the near past, so it's time to tell some words about it.

First of all, I have a job for some weeks which keeps me busy. That doesn't mean that I won't spend any time on UC in the future, but I won't have so much time for sure. I try to manage my time as efficiently as I can, though. So let's see what has happened in the past few weeks regarding UC.

Documentation Improved

I've finally managed to write the Project Values and Usability Guidelines documents, something I wanted for a long time. I wanted to clearly communicate some things that I think are important about the project and I think I succeeded with these two documents in doing so. I plan to write additional design documentation as I'll implement the related functionality in the meantime.

Complete Administrative Setup Achieved

The setup of the free services used by the project are pretty damn advanced compared to its state and maturity but there were some pieces that were missing and I was bothered by them. In short, I've managed to register the #uc channel on freenode using the IRC services (which I'm new to and really love). I now have administrative privileges over the channel and I invited the ChanServ bot over so the topic hopefully won't appear anymore. I've also requested an IRC cloak (which masks one's hostname so others won't be able to directly attack him/her). I couldn't register previously because the CIA bot had the operator status on the channel. I needed to ask Micah Dowty to remove it temporarily. In case you want to talk to him, he seems to be only accessible via IRC on #cia at freenode, under the nickname scanlime.

Near Plans

The most important goal is to make UC alpha. This implies implementing some critical features, most notably copy, move and delete. This will involve creating some underlying primitives like dialog widgets embedded to the main window and most importantly implementing the job model, a framework that will smoothly manage parallel, long-running operations in an easily managable and intuitive manner, both in terms of functionality and user interface.

Future Plans

Developing the GUI is quite cumbersome with Glade. It's usable, but Stetic binds compile time, generates signal handler skeleton methods and integrates nicely with MonoDevelop. Unfortunately, the latest MonoDevelop that is released has an old Stetic that hasn't got some critical functionality (such as menu bar editing) that I need. I could fetch MonoDevelop from the SVN, sure, but I want to make building UC easy so I'll wait for the next MonoDevelop release.

It'd be also great to optimize the TreeModel underlying the panels, but it's not possible to implement a custom TreeModel interface in C# yet. I tried to play with TreeView to maximize the rendering speed of the panels, but it turned out that the TreeModel is the real bottleneck. I'll keep my eye on the TreeModel binding support in C#.

API Inconsistency Can Be Painful

Friday, July 7th, 2006

I just wanted to install the FancyCaptcha extension for the Ultimate Commander MediaWiki to block those pighead spammers from autoregistering fake accounts. Sounds simple, doesn't it? It got pretty messy, unfortunately. The extension didn't wanted to work, so I went to #mediawiki at freenode for help. After a while it finally became clear what the problem was.

<mlaci> is there a chance that the fancycaptcha plugin in the svn is totally fucked up? it seems to me that it doesn't even register correctly its own special page.
<brion> mlaci: you running 1.7?
<brion> if not, try upgrading
* brion points to release candidate link in channel topic
<mlaci> brion: i'm running 1.6.7. the extension seems to register its special page by assigning an array to #wgSpecialPages['Captcha'] instead of creating a SpecialPage object as the rest of the special pages. so did the api change in 1.7?
<brion> yes.
<CIA-12> brion * r15395 /branches/REL1_7/phase3/RELEASE-NOTES: add note about new special page registration interface
<mlaci> brion: it's very useful to know about

A few minutes later, I finally succeeded.

<mlaci> revision 15016 seems to have a beautifully working fancycaptcha extension for mediawiki
* mlaci is a happy bastard

Moral of the story:

  • Do not suppose that the API is consistent across a project.
  • Do a "svn co -r 15016 http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ConfirmEdit" if you wanna fetch the FancyCaptcha extension for MediaWiki 1.6.7.

My Sites Made More Standard Compliant

Thursday, July 6th, 2006

I've just finished improving my home page, my blog and ultimatecommander.org.

I've:

  • upgraded all the CMSes to their latest version,
  • revamped the skins, so that users that are not logged in cannot see the links related to the authoring functions and
  • made the sites almost 100% XHTML compliant. Well I didn't want to hack the DokuWiki parser any longer, that's why some of my blog pages didn't validate correctly because of some evil blockquote tags.

I'm pretty satisfied with the results, overall.

Being Free Again

Saturday, June 17th, 2006

I'm so glad because I've finally succeeded with my exams for this semester. The last one was a nasty fucker.

I wanna hack on UC, hardcore. I've updated the Project Roadmap in the near past so there's a pretty good vision where the project should be moving. I have to make a couple little changes on the MediaWiki home page skin. After that, I have to implement a custom TreeModel interface for the panel, so it could display files much more faster. It seems that it's the only way to speed it up, I've basically tried everything else. I also feel a strong urge to move to Stetic, in MonoDevelop, because messed up Glade signals are cumbersome to handle.

I wanna also find some nice telejob(s) to make some money, because currently, I'm a poor bastard.

My Thesis Is Ready

Tuesday, May 16th, 2006

I've been pretty busy on the last week writing my thesis. I'll only graduate in the next year, but I had to make it that soon. It's about UC and it looks pretty cool, actually cooler than on this picture.

Image

I've just uploaded the paper to my home page into the Hungarian section. So grab it if you're fluent in Hungarian.

I'd like to thank my mentor, Vilmos Bilicki for his help. He has been very supportive throughout my work and positively influenced the project with his great ideas, especially regarding the Windows port and the plugin architecture. So thanks Vilmos!

UC: Screencast Storm

Tuesday, May 2nd, 2006

I've just made a couple of screencasts demoing the most recently implemented features of UC. I'm pretty satisfied with them.

If you've made some screencasts too, I'd be very glad if you could share them with the public. Either upload them to your site and give me the URL or send them to me so I can upload them. You may want to look up my guide on how to set up your environment optimally for screencasting. As a last note on optimal resolution, it should be 896×672, but not bigger under any circumstances.

Here's a nice shot featuring the new, revamped GUI:

Image

UC: Administrative Status Report

Friday, April 28th, 2006

In the past few weeks I've made a couple of administrative changes to leverage the existing service infrastructure of the Free Software Universe and transition to the most recent tools available. Here's what I could make happen:

  • SourceForge SVN transition: The CVS repository got imported to the new SVN service of SourceForge. It works very smoothly regarding both service availability and performance. CVS had availability problems in the recent past, so I really admire this aspect of the service. SVN is clearly an evolutionary step after CVS. It's interesting how similar their CLI is and how different they are under the hood. I backup the repository to my box in every hour using rsync through cron.
  • FreeNode IRC registration request: I've requested a dedicated IRC channel on freenode.net. The admins haven't replied yet, which is not a suprise, but I'm already using the #uc channel anyway, even if it's not official and dedicated yet.
  • CIA registration: CIA is a fascinating service. The CIA bot is already sitting on #uc.
  • Gmane registration: Gmane kindly provides alternative interfaces to the lists.
  • Freshmeat registration: Because UC should have presence everywhere. ;-)

Evaluating Development Tools

Friday, April 28th, 2006

As an early adopter of new technologies, I'm constantly looking for new flows of ideas and software in the cyberspace. I'm doing this specifically in regard to UC nowadays.

As MonoDevelop 0.10 came out, I had to test it and guess what? It became pretty mature! Formerly I used Eclipse, because that was the only IDE with C# syntax highlighting, good CVS support and usable GUI. Unfortunately it doesn't have any advanced C# features, so development was not very smooth with it.

MonoDevelop has many advanced features. Speaking of me, code completition, application output navigation and code template insertion provide me the greatest help and really skyrocket my productivity, but it has other nice features as well.

Let's see a shot of this babe:

Image

Regarding its SVN support, it has issues. It makes very nice diffs, but it also kills MonoDevelop so bad when committing. It's worth enabling SVN support, though and getting to know what features you should and what features you shouldn't use.

MonoDevelop also has a built in GUI designer, Stetic. I very like its single window interface and signal handler code template generation feature, but I found that it has minor issues which are showstoppers for me, which I won't go into detail with. However it should clearly replace Glade some time in the not-so-distant future. It's interesting that it has a little bit different approach than Glade has. Stetic stores GUI description in a (non-Glade) XML, but instead of pulling in and parsing the GUI runtime, as Glade does, it generates C# GUI code which gets compiled with the rest of your application. Stetic has the advantages that generated code probably runs faster than XML parsing, it has no additional dependencies and its interface is also a pleasure to use. I will evaluating Stetic in a regular basis and fill bug reports as necessary as soon as I'll have more time for it.

I also played with Gazpacho. It has a better interface than Glade has but it generated bad XML that Glade couldn't pull in, so this was an instant deal breaker.