Recent blog entries for garnacho

17 Jun 2005 (updated 17 Jun 2005 at 00:43 UTC) »

Finally got some time to work on new possible features for GST 1.4, I'm giving (at last!) some love to the services-admin tool, so maybe could be an option for the Ubuntu people or for GNOME itself.

It's still in some need of coding love, and I should categorise at least the most used services for providing useful descriptions, so there's still work to do.

Calum: Maybe what I missed when adding accessibility support to the gnome-control-center shell were some docs about where to begin when adding accessibility support to custom widgets. The better source of information I could find was other widgets' code, as the API may look quite raw if you're unfamiliar with it :)

Finally had time to apply NotZed's suggestions (Thanks!) to the small evo plugin I wrote to remove duplicates, and as of evo 2.3.2, plugins can be compiled independently, eliminating the need of patching evo sources, really good stuff :)

IMHO, the next great step would be to create a small repository for plugins (i.e.: a evolution-plugins-extras VCS module), cluttering evo sources with plugins that will be barely used might not be very desirable, and OTOH cluttering the CVS with small software pieces like this would be crazy.

So, while I don't know where to put the thingy, the code is here. Enjoy!

Kudos to evolution developers

It's all I have to say, they have created an excellent development platform with e-d-s and the plugins stuff:

The other day, while evo was downloading mail, I managed to break download operation, leaving me with about 1000 duplicated mails. Thanks to the cool work of the evo people, making a plugin for removing duplicated mails has surely taken me less time than removing the mails by hand (the code is barely 100 lines). There are still some issues to sort out, but they're mostly ui-wise.

You can get the code and the glue patch with evo here.

Getting a name

The plan I've briefly talked about in other ocassions (more details in the wiki) is getting a good shape, now I have a dbus-ified backend object for the shares list [1] and a library that allows just doing:

main (int argc, char *argv[]))
  GMainLoop  *loop;
  StbSession *session;
  StbObject  *shares_list;

g_type_init ();

session = stb_session_new (); shares_list = stb_shares_list_new (session);

g_signal_connect (G_OBJECT (shares_list), "changed", G_CALLBACK (foo), NULL);

... }

just to get a list of shared folders, sadly the hardest part right now is being to get a good name before creating a CVS module (libSTB isn't neither nice nor descriptive), so I brought up the issue in the #gst channel and some ideas for the name came up:

  • BackWrap (from Backends Wrapper)
  • GarBack (something about my back? I swear I didn't tell it! :)
  • LibNacho (again my surname got mixed, but this name is tasty)
  • GoBack (GObject backends?)
  • LibOObs (Object Oriented backends system)

Honestly, I have to admit that I like the last one, it's fun and descriptive, and I don't get disturbed if I read "boobs" somewhere (nor to touch them, if the carrier allows me to do so), but people may find it offending [2], so I guess that I'll have to keep thinking in a name and fall back on this one if I don't find anything better... any suggestion? :)

[1] Of course, in an experimental branch
[2] remember the "pair of testicles" issue?

Other GNOME stuff

both Guadec-ES and Guadec are getting nearer, I'm impatient :)


It seems to be a good season for Heavy rock concerts in Madrid/Spain!, I've already got tickets for Porcupine tree + Anathema, Soul Sirkus, and Lorca rock Festival (in Murcia, featuring Dream Theater, Iron Maiden, Running wild and others), I'm missing another good music festival in favour of Guadec, and had to refund the In extremo ticket, due to their concert being cancelled...

Congrats to Jeff and Pia!


At last (with the rest of the 2.10 packages) the gnome-system-tools 1.2.0 have been released, lots of hard work and bugfixing have gone in this release cicle, so I hope that people will appreciate it.

Software Patents

What can I say... it's a shame to live in the banana republic these days :(

And the big thanks goes to...

  • The GNOME hackers, translators, documenters and artists, they've done an awesome work in the last 6 months
  • Daniel P. Berrange, who has created all I was missing for experimenting with my crazy plans, I really hope that these bindings will be in FreeDesktop someday soon
Jeff: I can tell a couple of reasons for doing it in that "silly" way:

  • It will make the network tool a bit closer to the instant-apply model
  • It will allow this in a non-intrusive way ("why the f*ck have my config files changed if I didn't click the OK button?" :)

Danilo: I have to agree with you that dial-up is a bit buggy (it's hard to code something you can't test, and specifically in debian has switched from wvdial to pppconfig-like), but those aren't the reasons for this, the config is modified too in the distro specific config files when the user agrees to do so, as I answered to jeff, it's more related to instant-apply and user-frienlyness

In another GNOME related stuff, I got my Guadec talk rejected, it seems that my proposal wasn't interesting enough... *shrug*

Sometimes I wonder if people even understand what I'm talking about, of if they simply manage not to hear/read me

Yesterday after some thinking I managed to write down my thoughts about the possible future of the GST backends, it's in the GNOME wiki. Somehow Carlos was able to make public my thoughts before myself, this makes me think seriously that I should blog more often :)

Of course opinions are welcome

This morning Kiwnix told me about the sloccount application, it's a funny program which will perform some Software Engineering studies on your code and will show you how much your effort would cost.

As a little example, I did run it against my current network-admin code (it took me about a month and a week to rewrite it), here's the result:

Totals grouped by language (dominant language first): ansic: 4443 (100.00%)

Total Physical Source Lines of Code (SLOC) = 4,443 Development Effort Estimate, Person-Years (Person-Months) = 0.96 (11.49) (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) Schedule Estimate, Years (Months) = 0.53 (6.32) (Basic COCOMO model, Months = 2.5 * (person-months**0.38)) Estimated Average Number of Developers (Effort/Schedule) = 1.82 Total Estimated Cost to Develop = $ 129,331 (average salary = $56,286/year, overhead = 2.40). SLOCCount, Copyright (C) 2001-2004 David A. Wheeler SLOCCount is Open Source Software/Free Software, licensed under the GNU GPL. SLOCCount comes with ABSOLUTELY NO WARRANTY, and you are welcome to redistribute it under certain conditions as specified by the GNU GPL license; see the documentation for details. Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."

So I've done my work in about 1/10th of the estimated time, and in my spare time! I don't know whether this means that I'm really really smart, or whether Software Engineering estimates (or this program estimates) are non-functional stuff.

Anyway, I had a laught with this :)

Just arrived from a friend's house. we've seen "The pianist", a really sad movie, what it makes it even more sad is the fact that it's based in real facts. sometimes I shame to be part of the human race...

the last days I've been mostly working on an authentication API which lets trusted users to run things with root privileges, it's half-way between su and sudo, relying on it's own setuid program. Some people has already told me that trusting in a new setuid program is a bad idea, but I think it's worth, some kind of improvement has to be done in this area regarding to linux desktops, after all, there are lots of tasks that a desktop (no console) user should be able to do and belong to the root user, and the good ol' sudo is much more suitable for command line.

11 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!