Skip to content

Ultimate Commander: Frame Handling Implemented

  • by

I’ve just committed the basic frame handling functionality to the repo. Frame handling in UC is part of an advanced interaction design which eliminates the need of more windows.

The concept is that the applications is composed of one, and only one window. Why? Because fiddling with tons of windows is not much fun. I heard many people talking about how much burden handling many windows is and I have the same opinion on the issue.

Here is a little demonstration to show you what I’m talking about. Just to make it clear, the file operatons are not implemented yet. Here’s the initial state of UC:

ultimate-commander-frames-1

Let’s say the user wants to configure the listing of the right panel. Then (s)he presses the “Set Listing” toggle button on the right panel. Here’s what happens:

ultimate-commander-frames-2

As you can see a tabbar and the related tab appears on the left panel frame. There is no overlapping like in the case of an additional window. It’s simple and beautiful.

I’ve made many changes to the codebase in the last few days and I didn’t clean up the code so it’s a bit messy now. Apart from small refactorizations, I guess I overuse accessors a bit. I need to educate myself more on the topic.

As a last note it’s nice to see how friendly the Free Software Community really is. When I requested a logo designer in the help wanted section of SourceForge, I got many help from more people and they were very kind and willing to cooperate. I’ve experienced the same attitude on the GTK IRC channels and mailing lists also.

Edge Detector Dude Released

  • by

I’ve written yet another PyGTK application in the near past for the Digital Image Segmentation course of the university.

You ask me what it really is?

Edge Detector Dude is a simple image manipulation application written in Python using PyGTK. It presents you the Sobel edge-detected and the gradient-directed versions of the input image. The pixels of the gradient-directed image is computed by denoting the angle of the gradient of the pixel and mapping this value as a grayscale color.

Edge Detector Dude is more accurately a front end that uses the accompanying gradient utility to process the input image and visualize its result images.

gradient is written in C using the Allegro game programming library.

Let’s see this dude:

edge-detector-dude

I’m proud of this GUI design because I think it’s very usable, however there are several things that could be improved:

  • Add a “View” button to view images. Currently the statausbar mentions that images can be viewed by double clicking on their names, but it’s not very eye-catching and novices may miss it.
  • Add support for other file formats. For some strange reason Allegro only handled BMPs, however according to the documentation it should handle a wide variety of image formats.
  • Replace the gradient-directed image with something nicer. It’s really ugly, no questions, but I had no choice because that was the exact task to be done.

Prolog Suckiness

  • by

I had to write a simple Pascal parser in Prolog for my programming course of this semester. The rough specification: print the names and line numbers of the procedures and functions found in the Pascal code to be parsed.

Prolog is a nightmare if you wanna write imperative code. I’ve came up with the following mess (also available on GitHub):

You shouldn’t see anything like this in your future life.

Operational Research Demo

I’ve written another application. Unlike the previous one, it’s a GUI application which i’ve made for the operational research course of the university. It features an incremental UI. I mean on this a kind of UI which the user can incrementally fill out as he/she gives more and more information during the input rather than having to handle tons of pop-ups throughout the process. I think it’s a much more usable interaction model.

See it for yourself:

opres-demo

Operational Research Demo is written in Python using PyGTK and you’re free to download it.

initng

I’ve been dreaming for a long time about a well designed, parallelized init system and finally it seems my dream has come true. I hadn’t have the time to check it out, but the boot charts seem very promising.

Comments Disabled

I’ve just disabled the comments and pings in every of my posts because I got massively spammed by various WordPress worms. On the other hand it’s not a real pain for me, because my blog is not really popular. Honestly I don’t mind it all, since I write mainly to summarize my thoughts and make a diary of my journeys.