Great GNOME Hackers meeting

As I told the last time, this weekend was the GNOME Hispano meeting at Seville and was one of the best I remember.

I didn’t expect to have so many people here. The meeting was mostly improvised and with just few weeks of preparation, but we had hackers from many different places of Spain. I think the session with more people had over 30 attenders.

The people didn’t fit on the room so they were looking through the windows. It was cool 🙂

People didn't fit inside the room
People didn't fit inside the room

We even had Rodrigo Moya teaching us about CouchDB and DesktopCouch from another region of Spain using an open tool for video/audio meetings. Rodrigo was great 🙂

There was more good sessions, but for me was especially interesting the explanation about how the new XInput2 and GTK+ works with multi-touch interfaces made by Carlos Garnacho. Another session especially instructive for me was the one about GObject Instrospection and Gjs by Lorenzo Gil (lgs).

I knew about GObject Instrospection, but I didn’t know it was so easy to add to the current libraries and all the adventages we all have with that. Really good stuff….

But we also have a meeting about how some companies from here (Emergya, Yaco, Onirica and Warp by now) are going to approach some projects about to improve the a11y on GNOME. The projects were asked by the Consortium Fernando de los Rios for the Knowledge and Information Society and we all want to be coordinated with upstream maintainers and GNOME goals, so it could be really useful.

This sesion was interesting and we are now in the same page to talk this week with the GNOME Foundation people at the Zaragoza Marketing Hackfest. I think these projects and the collaboration is being proposed is going to be really good for everybody: GNOME, our client and first of all, the users.

Let’s see 😉

GNOME Hispano’s meeting at Seville

This weekend (May 1th and 2th) at the Yaco’s offices at Seville (Spain) will hold the  next GNOME Hispano meeting.

Here will be a bunch of Spanish hackers talking about GNOME technologies and having fun.

The program is ready so we will talking about:

But we will be also talking about a11y on GNOME and how to coordinate the efforts we (Yaco and Emergya) are doing with some projects that are being paid by the Consortium Fernando de los Rios for the Knowledge and Information Society with the GNOME a11y developers.

Here’ll be also Dani García (danigm) a friend who was working with us at Emergya and now is working with our friends of Yaco, to show us his project TBO, a GTK+ app for designing and creating comic strips from GNOME. The idea is that he could present the project and the rest of hackers make sugestions so the project will be fully GNOME friendly.

This could be a good help for those who want to start their own project for GNOME and don’t know exactly how do it right.

Well, I hope to see a lot of good hackers and friends there.

See you on friday night for the warm up 😉

I’m going to FOSDEM 2010

Well, last year was my first time in Brussels and FOSDEM. It was great, but I guess this time, as Barney would say: it’s going to be legen…. wait for it…. dary!!! 😛

This time a lot of friends are going and I hope to meet new not-yet-friends up there.

I’m going with my good friend from Emergya and also great Guadalinex developer, Roberto. Here we are at some spanish FLOSS congress….

Juanje and Rober at the Hispalinux congress
Juanje and Rober at the Hispalinux congress

We are the two guys in the middle… If you are at the FOSDEM we look (kind of) like in the photo.

BTW, If you see the girls you can also tell us 😛

See you there 😉

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

WiiCan: Easy Wii remote control on Linux

Félix Ontañón, a very good friend and hacker from my company, has just released a new versión of a systray application which help to configure and manage the Wii remote control on Linux. The application is called WiiCan and is hosted on Launchpad.

The project has been programed in Python and it uses D-Bus to connect with hal (by now) and bluez for tracking the available bluetooth devices and wiimote connection status.

I’ll copy here from the project’s site the features:

Discover if it’s an available bluetooth device for connect wiimote
Display a list of available keyboard-mouse-wiimote mappings
User-defined mappings creation assistant
Mappings manager:

  • New/Edit/Delete
  • Up/Down order
  • Visible/Invisible

Notify the state of wiimote usaging:

  • Bluetooth available/unavailable
  • Discovering wiimote
  • Wiimote disconnected

And here some screenshots:

WiiCan systray
Connected with a Wiimote
Connected with a Wiimote
Mapping options
Mapping options

I haven’t tryied the application because I haven’t got any wiimote, but some friends have already tested and they’ve told me that it work great, and they are very happy with the tool. So I’d like to invite you to test it and share here your experience.

And also I’d like to invite you to colaborate with the project, reporting bugs, patches and translations.

I hope you enjoy it 😉

Is GNOME 3.0 for users or developers?

This question is walking around in my head for some time now…

I’m the first thinking that the old traditional desktop is that, old. And we need something new.

I like things I see about GNOME Shell and so on, but I’m a geek!

I mean, I do use virtual desktops or spaces, but I like to mess with my system and I always have running my Guake terminal.

I remember when Compiz came up, everyone was so excited with the things it could do. It was so cool, so fancy and that was going to be the right tool to attract normal users to our desktop, because it was a lot of better than Vista

That was cool, but I don’t really see much people using those effects nowadays… Ok, transparency and smoothness on windows stuff, is used, but no much more.

So now people who are thinking on the next release of their distros for non-very-tech-users (like Guadalinex), are a bit afraid to be forced to use a very new concept, which is cool when you are geek or somebody teach you about it.

To upgrade a few thousand of users to a very new desktop concept is a quite hard challenge… Even having a helpdesk services, online documentation and forums.

I just hope those new concepts be really easy to catch or somebody make any kind of “first use lesson” for them.

Actually, for regular end users I think I prefer something like Litl OS or Chrome OS. That is a change of concept, but into something they already know: the web. And also the mediacenter and web interfaces.

Well, it’s just a personal thought…

Anyways, we’ll see next year… I wish the best for my favourite desktop and their hackers, so let’s have a bit of faith 😉

GNOME Hispano meeting and CISL09

I’ve been in Caceres (Extremadura) the last three days attending the “Conferencia Internacional de Software Libre” (International Free Software Conference), one of the biggest FLOSS events in Spain.

It was a very intense days and I met a lot of friends and new interesting people.

But also was held there the GNOME Hispano meeting with people like Carlos Garcia Campos (aka Kal), Álvaro del Castillo (aka acs), José Ángel Díaz, and others gnomers.

The beginning was actually quite moving for some of us, because José made a retrospective of GNOME’s history and how GNOME Hispano was born. For those who were that night, when GNOME Hispano started this made them draw a smile in their (our) faces 🙂

I couldn’t attend all the sessions, because I had to attend also to the other conference, but they told me they were interesting. There was stuff like “GNOME Fails“, “Introduction to the Desktop course“, “The migration of GNOME Hispano’s services to OpenSolaris” and the other two sessions where I was: “Software development using git” and “GNOME and the distributions” (which, actually was mine :-P)

My talk was about how what developers make can be affected by changes on the distribution or by third party people who need to integrate their software with the desktop and more software. We were also talking about the very end users and how is more important to them some small and silly bugs than the next big and fancy feature.

We’ve learned from the experience of thousand of users in Extremadura (GNU/LinEx) and Andalusia (Guadalinex) that the very end users (people from little villages, childrens, old people, and so) don’t care so much about the new fancy stuff but they really do care about crash when they try to perform an email search on Evolution or some dialog is untranslated.

Some of those errors come from the distributions but others are responsibility of the upstream developers. I know it is much funnier to be working in a fancy feature or dealing with a very tricky bug, than take care of a hundred of silly bugs, but it’s probably that a lot of people won’t see the super-feature, just because one those silly bugs… I can tell you…

Anyways, the talk was interesting, the people was participating and we all learnt some lessons, I think. I’d like to write some conclusions to see what do you think as well…

I’ll probably do 😉

CISL09 and GNOME Hispano

I’m packaging my stuff to leave to Extremadura. There, in Caceres, takes place the Free Software World Conference this week, one of the biggest FLOSS’ event in Spain.

I’m very excited because it’s my first event in my new position at Emergya and because there you can always find interesting people and interesting projects.

Good place for networking 😉

I have also to give a talk about GNOME and the Linux distributions there, as part of the GNOME Hispano meeting. It will be about the problems I’ve found several times trying to integrate GNOME with other software into some distributions.

I’ve been working on distributions based on Debian and Ubuntu for almost 8 years and there are some issues that are still there.

Actually, it’s much easier than before to integrate the desktop, but there are always some things hardcoded or not very well documented that make us made some tricky hacks.

Well, these are, mostly, experiences from the past, because now it’s much more better, but I hope this help to be more aware of those things for future changes.

I’ll tell you more after the event and I hope to see any of you there 😉

Python helps you with your running sessions

Time back I was trying parkour, but I got some old injures that didn’t let me practice it properly. Also there was too much sedentary life… I needed to start from the beginning. I needed to create a good baseline for my training.

I also started of doing some rock climbing again. Sport that I really love 🙂

I was gaining some strength and I could doing again some pull ups and some boulders. But I found, as I did before with the parkour that I needed some stamina.

I also realized that parkour is a way to run, so I should be able to run. And I wasn’t…

So I’ve decided to start to run. I used to do it time ago when I got into the university. And I liked to be a bit methodical, so I could see the progress and train better. So I decided to buy a good pair of running shoes, a pulsometer and chrono. Then I realized that things have changed since I was at the university and there are a lot of stuff and software to help you with your training.

But the most of the applications I found weren’t open source and neither for Linux. Very fancy stuff like Ipod+Nike , but nothing for Linux. Nothing until I found Pytrainer !!! 🙂

Pytrainers years stats
Pytrainer's years stats

This is a Python + Gtk+ application oriented to track your sessions and show you your progress. It’s for running, bike and mountain bike, but I think you can add other sports alike those ones.

It has also plugins for that fancy Ipod+Nike system and others. It seems to me a really cool stuff. I have to test it more, but I hope someone with more running training skills than me, test it and give me (and to the developers 😉 ) some feedback.

Well, let’s run! 😛

i18n bugs are important too

I’m Spanish speaker and my English level (as the most of Spaniards) was very bad before I went to Ireland few months for learning English. I was kind of lucky because I could have some extra English lessons at the school and they taught me some technical English at the university, although I couldn’t understand well complicated and technical papers.

I think that this is the typical profile of a computer science student in Spain. Of course, there are a lot of exceptions, but I guess you got the idea.

Well, but the Guadalinex/GNU/LinEx/Molinux/Lliurex/Ubuntu‘s users haven’t that profile at all. They usually don’t know any English at all. Most of them (we are talking of thousands of users) are children at schools, people who hadn’t got any contact with computers before using those distributions and people who know the typical few words in English to ask for directions on London or to ask for a pint in an Irish pub…

The most of our problems are about things we (developers) think are very intuitive but they don’t understand well. Even when they are explained in their own mother tongue…

Now let’s say that this people having a problem with their computers, with some desktop application. The most of the warnings and error messages are scary for them. Sometimes they say something useful, but the most of the time people with almost no computer skills or experience get scared and they stop doing what they were doing and think that the “machine” is broken… or whatever….

And now let’s see the same scenario, but with the warning and errors messages in a language they don’t understand… But this is not much better to have an option at the UI you don’t understand. They don’t use it, because they don’t know what is that about and to avoid breaking something…

If they don’t understand options or features, it’s like don’t having them, but also it gives to the user some feeling of “I can break something“.

Ok, this is not always like that. This is the worst scenario. But, trust me, this happen to the most of our users. I also could bet that this happen to non-English speaker users from any country.

All this introduction and explanation is to say: Please developers and triagers, don’t put internationalization (i18n) or localization (l10n) bugs as “Importance: low“.

We are pushing really hard to get the free desktops to the end users, to the schools, to the (non-technical) professionals and we need to have software well translated for that. But the i18n and l10n bugs are worst of having some strings untranslated.
Strings untranslated in one language are bad, but it’s easy to find people for translating those strings than find someone to understand the app’s code, the gettext and i18n stuff and then fix the code.

I think the developers need to be aware of the importance of fixing those bugs and what amount of users won’t use their cool features if they can’t be translated.

I don’t say those bugs are the most important ones, but sure they are not “Importance: low“…

I’ve seen to change this priority level in Ubuntu and GNOME, but I’m sure this is happening in more projects.

I would like to say one more thing, this time, just for Ubuntu. By now, there is no official tag on Launchpad for i18n or l10n bugs. I would like to ask you that if you report, triage, or find one of those kind of bugs and they have not this king of tags, to add it.

  • i18n: For those bugs about something broken in the application that makes the translations not being working, or strings not included at the translations templates (not marked for translations).
  • l10n: This is a localisation issue. Including errors in localisations, typos, etc. Adding locations and weather stations is one example. Correcting date and time formats is another.

In those cases, will be desirable you follow the Ubuntu Translations guidelines:

All translations (internationalization or localization) issues should be filled against the Ubuntu Translations (ubuntu-translations) project. From there the bugs will be triaged and assigned to the right persons and package.

You can also tag the bug with “l10n” or “i18n”.

Here is a (non-exhaustive) list of problems that should be filled against an Ubuntu Translations Project (ubuntu-translations):

  • if a string from the application is not available for translation in Launchpad Translations
  • if an application from Ubuntu main repository is not available for translation in Launchpad Translations
  • if a translation made in Launchpad Translations is not updated in the Ubuntu Language Packs
  • a source package has the wrong (or inconsistent) translation domain
  • you find a duplicate template
  • a template/translation is no longer used in Ubuntu and should be deleted from Ubuntu Launchpad Translations
  • errors in spellcheckers or language support

You can find these guidelines and much more useful info at the Ubuntu Translations’ wiki.

Well, I hope this makes sense to someone and more developers get aware of the importance of i18n/l10n bugs.

See you soon and happy hacking! 😉

Using git behind a proxy

This is a simple recipe about how to use git behind a proxy.

Right now I’m working behind a very restrictive firewall and I can’t get any port I need open, so I use a proxy socks for working with git,bzr,jabber and so on. I was looking for an easy way to use git with a proxy but I didn’t find easily the solution. After some researches a friend (Roberto) found the solution and we use it at work.

Let’s see it 😉

Just in case we don’t have it:

$ mkdir ~/bin

Now the interesting part, the wrapper for the proxy:

$ cat <<EOF>> ~/bin/proxy-wrapper
#!/bin/sh
# Put your own values
PROXY_IP=10.0.0.80
PROXY_PORT=22000

nc -x${PROXY_IP}:${PROXY_PORT} -X5 $*

EOF
$ chmod +x ~/bin/proxy-wrapper

Note that you’ll need to have installed netcat (the openbsd’s one: netcat-openbsd) to be able to use the command nc with the option -x.

Then you’ll have to be sure you have setted the ~/bin directory on your PATH and then add the env variable GIT_PROXY_COMMAND. That variable will be used by git for doing pushes through git or ssh protocol:

$ cat <<EOF>> ~/.bashrc
export PATH=~/bin:"${PATH}"
export GIT_PROXY_COMMAND=~/bin/proxy-wrapper
EOF

Now you will be able to use git normally with no worries about the firewall, nat or whatever.

Creative Commons Attribution-ShareAlike 3.0 España
This work by Juanje Ojeda is licensed under a Creative Commons Attribution-ShareAlike 3.0 España.