24-11-2008


Openbox

In one of the last posts we saw how to achieve a lightweight Debian installation with LXDE, a Desktop Environment with netbooks in mind. But there are a lot of reasons to get simple and let behind the Desktop Environment concept (DE from now on) for a Window Manager (WM from now on). The step we are taking now is Openbox.

Openbox is a WM, and just to keep the record, it is the WM LXDE uses (so if we followed the last how-to we are somehow familiarized with it). What is a WM? It is an application that manages the position, size, movement and usually, the decoration (title bar) of windows, besides cool features. The smartest will probably understood by now that every DE uses a WM. There are two types of WM; floating and tiling. The first one is similar to what we can find on DEs: overlapping floating windows we can drag and drop with our mice. The second one is geared towards keyboard users and tries to share the screen space amongst windows following user specified rules, so when the user runs applications the WM adjusts all windows size and position. Openbox is of the first type.

One thing users must deal with with WMs is that a lot of them haven’t panel as is. It is possible to install a lot of different panels, though, but as I see it, Openbox is nearly perfect without one. To realize this, we must think about for what we use panels and how this tasks are accomplished with Openbox:

  • In panels we have menus -> In Openbox we can right-click (default) anywhere to get a configurable menu where we clicked.
  • In panels we have a list of opened applications -> In Openbox we can middle-click (default) anywhere to get a list of applications in each virtual desktop.
  • In panel we have a tray notification area -> In order to achieve this we need to install other software like docker
  • In a panel we have widget-like elements like clocks, mixers… -> For this we have to install additional software too, like conky or lal.

Most common features of panels are not only already present in WMs, but usually are better and more usable. Given WMs are simpler than DEs, they are usually more configurable.

The curious thing about this is that as time goes by as a GNU/Linux user and you understand better how things work, you find new ways to achieve what you need easier, getting your user experience better. Those of us who have used Windows for a long time are usually used to getting things in a static, non-customizable way, ad I think it is important to understand what you need and how you can adapt the system to work like you want it to. Habits aren’t that good usually!

Soon I’ll write a Openbox how-to. Stay tuned ;-)

21-05-2008


Subversion and Trac

It’s kind of sad that, even though I know Subversion (svn from now on) existed since long ago, it was just until a month ago or so when I finally started working with it. What can I say? It has totally changed the way I work not only on group projects, but on individuals too! Easy to install, easy to use, plug-ins for each IDE I use… Version control isn’t only a good way to keep a project history and work with more people, but a development philosophy catalyst that ensures changes in a project will have sense.

Just a moment after my first two commits (true story) I became interested in the project management possibilities svn granted, even though my work philosophy tended always to ad-hoc and little to none organization, always enphasizing the work core.

Now is when Trac comes in. Trac is simply awesome. Each time I browse to a trac project page I get really excited. Trac is project management system that has what I consider to be the best feature: As non-intrusive as possible. Svn integration is wonderful, it is really easy to install too, and it lets you manage your project as you feel right.

And how does this work? The project lives in a single host as a repository in the svn server. There are two basic operations we can do with each repository item

  • Update ->Update our local version, if we have one, with the one in the repository if it’s higher. This is the way to get the last version of what we need.
  • Commit -> Update the repository with the changes we made. The client first checks if the version we used to develop the changes is the one on the repository. If not, another developer changed the base in which the changes have been done, so it is mandatory to check the new version and get things good. All of this is really easy to do. It is possible (I would call it a must-do!) to asign a record text to each commit so we can track all those changes easily.

Regarding basics, that’s svn. Regarding trac, it’s a web application with the following elements:

  • Wiki: A useful wiki to keep the project documentation or info about the project development stage. Extremely easy to use.
  • Timeline: Lists all project related events: wiki edits, svn commits, ticket creation and closure… Everything that has happened since day one!
  • Roadmap: Here we can create milestones or assign tickets to one already created. Each milestone has a percentual gauge that will fill when all tickets of that milestone are closed.
  • Browse Source: A handy svn repository explorer with diff capabilities. Sweet!
  • Tickets: Tickets are trac’s power backend and the organization magic for our projects. A ticket can be anything: a task, a bug, a feature request, a comment… Each ticket belongs to a milestone and it is possible to assign tickets to a user of the system.

This way, trac becomes our project’s main page, and a reference about what to do and when to do it. A task gets more complex? Create more tickets. We finish something? Close it’s tickets. Easy! There are also hook scripts with which we can automagically close tickets, do incremental backups and more.

Some links:

http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/

http://ariejan.net/2006/12/02/how-to-setup-a-ubuntu-development-server-part-2/

http://cachi.temiga.org/2008/02/11/montando-apache-ssl-subversion-webdav-websvn-en-ubuntu-server/

http://blog.odonnell.nu/32.html

http://www.reviewingit.com/index.php/content/view/62/1/

http://www.hosted-projects.com/trac/TracDemo/Demo

http://subclipse.tigris.org/

http://ankhsvn.open.collab.net/

http://www.assembla.com

Written by crimsomshadow under Free software, Software, Opinion, Software development | Comments... » (3) |