Long story short

On LinuxTag I was talking to Vincent and Stormy about improving our developer experience and Stormy was proposing to do some kind of hackfest. At that time I really wasn’t sure how that should be done and who to attend.

Anyway, after talking to many of the documentation guys at GUADEC we kind of came up with a plan and a basic set of people to attend.

The Goal

In short: Make GNOME an awesome and state-of-the-art development platform. That probably means to redefine lots of things in the developer documentation and tools to attract new developers and make existing more happy.

In the end, that should mean more and better GNOME applications of course.

When, Where, What, Who

The only really fixed thing we have is a locations that is

Openismus Office

Berlin

Germany

Thanks a lot to Openismus for sponsering the venue!

Currently we are thinking of scheduling the hackfest at the beginning of December 2010, detailed dates are to be announced when we know who is attending to avoid conflicts.

I already listed some people interested in attending on the wiki page but we really want more people to attend.

Why you should attend

We are looking for the following kind of people

  • (Development) documentation people
  • Developers of the development tools
  • Developers interested in making things easier
  • People who tried to get started in development and ran into all these difficulties we want to solve
  • Especially people doing Python (Julie: hint, hint!) and Vala development (or some other language) because we really want to make sure to have those as first-class citizens.
  • Designers to make things looking great
  • Marketing people because a lot of what we do will be a great marketing thing

I also know that quite a number of people at the major distributions (Red Hat, Novell, Canonical) are working on fixing that problem and I would love to have them around. We are also still looking for more sponsers to be sure that everybody is able to attend.

Stay tuned, don’t hesitate to ask and if you are thinking you could be the right person to attend, well, you are!

If you look to the left you will see that after nearly four years on Planet GNOME I now have a hackergotchi (thanks Kat) and I am joining the famous hat fraction.

GUADEC

This is even more important because now you can finally find the person that broke half of your development environment at GUADEC because, yeah,
I'm attending GUADEC
and I am

Sponsored by GNOME Foundation

This is also a good place to remind you of the world-famous FreeFA cup where you can save the honour of your country. In the last years this has been lots of fun so be sure that you aren’t missing it.

Five Questions

1)Who are you and what do you do?

Sometimes, I really would want to know that 😉 On other days, I am a 25 year old student/trainee who currently builds trains for work and hacks on the GNOME Development Tools in his spare time.

2) How did you get into GNOME?

I wrote a patch

3) Why are you coming to GUADEC?

It always much better to meet all the people you only now from blogs, IRC and mail in person. Most people in the GNOME community are actually pretty awesome and fun to hang out with. And don’t forget about the beer event of course…

4) In 1 sentence, describe what your most favorite recent GNOME project has been. (Doesn’t have to be yours!)

GNOME Shell (yeah, I know some people said this already), because it is the first time since about Windows 95 where someone really tried to reinvent the desktop user experience.

5) Will this be your first time visiting the Netherlands?

No, I have been to Amsterdam and I sailed on IJsselmeer twice. Nice country, a bit flat though.

LinuxTag

As Vincent already mentioned we had a nice talk at LinuxTag and there is also a (german) radio interview with me about GNOME3.

Was fun to talk to some people, especially to one of the KDevelop developers who faces about the same problems as we do: There are 10 people working full time on QtCreater while Anjuta and KDevelop probably have 5 spare time contributers each 😐 Awesome though, that we are still competitive 🙂

(cross-posted from the Anjuta News Blog)

Today Anjuta 2.31.3 was released today and it brings some nice features and bug fixes (see NEWS)

What’s new?

  • Massimo Cora’ put a lot of energy into the speed of the symbol database population and brough it down to about 15 seconds for 1000 files.
  • Abderrahim Kitouni finished up his GSoc ’08 work and the language support for vala got merged into trunk. This means we now have autocompletion and calltips for Vala.
  • Naba Kumar ported the class-inheritance plugin from GnomeCanvas to FooCanvas, made it much faster and integrated it back into master

What’s happening behind the scenes?

  • Sébastien Granjoux worked hard on the new project-manager branch but unfortunately it won’t be finished in this cycle. But once it is finished it should bring a much better project management to anjuta.
  • Naba Kumar is working on improving the database queries for the symbol-db which should in the end result in faster and better autocompletion and in general better code.
  • James Liggett started working on a completely new and innovative interface to the git version control system. It will integrate version control much better into the workflow.
  • Abderrahim Kitouni also worked on a plugin loader for python and javascript plugins. In the end we should hopefully support even more plugin languages with gobject-introspection. He blogged about it.
  • In general we follow the development of libpeas with much interest. This might replace our own plugin infrastructure in the future.
  • The glade plugin was cleaned up. It doesn’t provide any new features (actually, some were even removed) but it should be more stable now. This work is targeted to allow to drag signal handlers from glade right into the code. Currently this mostly meant cleaning glade internals but there is still hope finish it for 3.0.

How you can help!

  • Test the latest release and file bugs! Though declared as “unstable” it should be equally stable as 2.30.x.
  • Help us fixing bugs! There is lots of stuff to do including a new icon (we would like to keep the horse which was a unicorn before the horn was ripped off, otherwise you are pretty free) and a new splashscreen.
  • Help to improve language support! We have language support plugins for C/C++, JavaScript and Vala now but most of the Anjuta developers are C coders. We need people to test this and if possible also fix it. Vala support is written in Vala itself which should make it easier for you.
  • Documentation, especially tutorials are another point were you can help us and any potential GNOME contributor in getting started with Anjuta.

This article is part of a series of articles about why I feel gnome.org is a great home for your Open Source project.

Translations are an important point for the success of a project. Most of the people in the world don’t have English as their first language and might not even understand it at all. Luckily a big community is taking care of that issue and translates open source software into many languages including some that would probably just die if there is not enough content for them.

gnome.org provides an extraordinary platform for translatiions called (historically) Damned lies about GNOME. It provides a variety of services and helps to keep translation teams together and productive:

  • Download up-to-date POT files without having to deal with git
  • Upload translations for review
  • Review translation
  • Managing your team by assigning modules
  • Translation stats
  • Automatically commit translations (coming soon hopefully…)

In addition it provides additional information for problems in the project translation infrastructure and links to translation bugs and the possibility to file new translation bugs if necessary.

Getting your app translated

There isn’t much you need to do for the Translation Project to pick up your project when it is hosted on gnome.org. Sending a reminder mail to i18n-list cannot hurt though to have your project added to damned-lies. The rest will then just happen on it’s own but be aware that translators can be picky about wording! Keep your string clear and understadable, otherwise they will bother you 😉

This article is part of a series of articles about why I feel gnome.org is a great home for your Open Source project.

Bug trackers are usually an annoying things. There are always more bugs than you can cope with at a specific time and it can become horrible to keep track of the important things. It is pretty difficult to keep bugs organized and often a lot of crap accumulates in your tracker.

In addition there is no real line between bugs, features, ideas, enhancements usually so keeping them in different places just causes distraction.

Simplicity

From the start bugzilla.gnome.org provides you a with simple interface to just do your stuff, regardless if you are user or developers. It guides you through the steps necessary to file new bugs as well as hinting you how and where to find duplicates.

It also provides a sane way for the bug squad and for developers to mark duplicates, move bugs between different modules, set dependencies of bugs and link bugs with external resources in other bug trackers.

Speaking of the bug squad: This is a ridiculous productive team of people helping you sorting out all the crap, duplicates and unclear bugs from your module. If you want to contribute to GNOME and don’t really now where to start, they always need help.

And not to forget about the highly configurable mail interface that gives you notifications of what happens to your bugs and your project.

Overview


This is one of the strongest points of the GNOME Bugzilla: It gives you a place to start from. You now that number of bugs, the bugs needing a comment, the unreviewed patches and most important the priority of the bugs around. I haven’t seen a single bug tracker providing this information in such a nice way.

Patch review


Kudos go to Owen Taylor here! Splinter is probably the best patch review tool around with an absolutely intuitive user interface. I allows you to quickly comment on patches and to help new contributors. This is especially important as the problems are usually the little things and that it is pretty annoying to explain everything when you could just add a simple annotation here and there.

This article is part of a series of articles about why I feel gnome.org is a great home for your Open Source project.

After some discussion and a final poll gnome.org decided to got for git as version control system. git is a very powerful system and might have a higher learning curve than other DVCS but it also gives you nearly unlimited power on your code. One of the coolest features include:

  • Easy local and remove branches
  • Cherry-picking changes from other branches
  • Edit the history
  • Creating series of patches

cgit: Web inteface


Often it is extremely convenient to track the project status of something you are interested by firing up a web-browser. git.gnome.org/browse implements a very nice interface to the version history and new changes. It shows you the information you are interested hiding all the dirty details.

Add your project

As GNOME is a community project and not a hosting service, getting your project into GNOME git might look frightening first though it isn’t. Often you will start coding without the big picture of where the project will end up. Things like github are possibly a nice place to get started with prototyping when you just need code hosting.

But when you are at the point where things are working and stuffs turning out to be great, just follow the instructions and you will be amazed what will happen:

  • People will file bugs if your module doesn’t build
  • Translators will bother you to fix your strings and translation infrastructure
  • All those little things you might have missed on first try like other platforms, other distributions and build system issues will come up on bugzilla and give you the opportunity to build an even more awesome project.

Bugzilla integration

Again it was Owen who created cool scripts to interact with bugzilla and thus don’t having to get off your work to file bugs and patches. Read his blogs post for details.

Why gnome.org

4. June 2010

Today I want to start contributing to a solution for something that has been agitating me for a while. That is, simply not enough people know who wicked-cool hosting your project on gnome.org is.

As many other people probably, I started hosting projects on sourceforge.net years ago. Over time, their infrastructure became limited. In between I used garage.maemo.org for some stuff which is nice but also limited in some way for bigger projects.

In the end, all the stuff I work on and that I maintain is hosted on gnome.org. While I never worked on any part of that infrastructure and I have high respect for all the sysadmins donating their time to such a great platform I still think we need to do better promotion for it.

Just enough goodness for my project

The gnome infrastructure is the perfect place for my projects because it gives you all the benefits of project hosting without limiting you to a specific development model. And in addition it is a great place to collaborate with other great GNOME projects.

In particular it features great solutions for the following things:

  • Bug Tracking: The best bugzilla I have seen around with an awesome bugsquad taking care of all the incomplete and strange bugreports
  • Code Hosting: Store your code in the git version control system and keep track of the status with the cgit web interface
  • Translations: Huge number of translation teams that provide high-quality translations and damned-lies as great tool to track translation status, submit and review translations
  • Mailing lists: Provides a high quality mailman interface for your mailing list including with archive and bonus features like registering your mail as post-only for all gnome lists which gives great convenience.
  • Web space: Give your project a home on the web which unlimited space and fast servers.
  • Wiki: Nice, easy to use and translatable space for keeping some non-code stuff for your project

All of the major and successful GNOME projects use that infrastructure regardless if driven by companies, groups or individuals.

See the list of Why gnome.org Rocks articles here.

(You might have noticed that this series looks a lot like Jono’s series on Launchpad. That’s intentional! But that doesn’t mean that I want to start a flamewar on project hosting. I just have the feeling that people don’t really understand how good our infrastructure is and I really want to change that.)

Privacy topics are surrounding everybody these days. It is not really the question if you have something to hide but rather if you want the whole world to know about it.  And even more important, do you want that the whole world will still be able to find out in 20 years. The internet doesn’t forget.

Don’t make it too easy

While you can read everywhere that you should disable JavaScript and use tor both isn’t very useful in your everyday life yet. But there are some things that you can do and that make it at least more difficult to track your internet activity:

  • Save cookies only “for this session”
  • Disable flash cookies
  • Avoid putting too much stuff into areas where you cannot control them (mail, social network, etc.)

Let me explain this a bit more. Everybody is using cookies to track you. Google does, facebook does, all advertisement companies do. By deleting cookies when you quit the browser there is a good chance that they won’t be able to recognize you next time[1]. You might want to make some exceptions here for convenience.  For example, I allow cookies from bugzilla.gnome.org because I trust this site. But don’t do it for popular sites like Google (or GMail, Youtube). Google connects your gmail, search and youtube login so they have even more power tracking you.

Disabling flash cookies is not that easy but there are plenty of sites explaining how it works. If you have a html5-Browser you can probably avoid flash completely.

Let’s talk about the mail and social network thing. I know that GMail is highly popular and it is one of the best mail interfaces probably. Anyway, you should be sure that you really want this. It breaks down to two major problems:

  • You are probably permanently logged into GMail! This way, every Google search you do is probably tagged with your real name as well as every YouTube video.  And of course you might use the Google Calendar for your appointments. This is a quite big part of your life, yeah? Ever imagined this data in the wrong hands?
  • Social networking can be fun. I also don’t think that there is a too big reason not to do it. But be careful what you want to show to the world. And keep in mind that the cookie that facebook (or any other social network) will place while you are logged in might be used by lots of partner sites. It is a bad idea to hang out on facebook the whole day – it also might demage your real life 😉

I use Google and GMail as an example here. Same is probably true for Hotmail/Bing or most services that are free (as in beer) .

In the end it might be cheaper to pay for some services that offer far better privacy. That isn’t really expensive, I am sure there are good mail providers out there and even if not, hosting a web/mail server (for you, your friends, your family) isn’t that expensive either. Just compare your mobile phone use to your mail use and how much money you spent on them.

Privacy in GNOME

I wonder that nobody brought that up already but in some parts we are going a dangerous road by making things more easy for the user. Tracker and especially Zeitgeist collect lots and lots of data that might be interesting for you, but also for your employer and maybe also for your jealous gril/boyfriend.

It is time to think about that before blindly using that technology. That implies some things we should do (some are already done):

  • Add a “private mode” to GNOME where nothing is logged
  • Make it easy to delete history/database entries as well as deleting the whole history
  • Make sure that people are aware when their data is used (on the desktop or in the cloud). This becomes more important for things like a single (shared) account dialog between empathy and evolution that other applications might access using dbus.
  • All the above should be available especially in environments where you don’t have control over the whole computer (e.g. no administrator rights, etc.)

Keep in mind that data is pretty worthless until it’s connected. Just my 2 cents…and next time I will tell you about the stunning new developments in Anjuta, promise 😉

[1] It’s not impossible: EFF browser fingerprint

Sorry, this is going to be a rant…

Some distributions like Ubuntu tend to have their own bugtracker for all packages and people will report bugs there (in this example bugs.launchpad.net). This is not a bad thing in general as it might be possible to generate better debugging info if you know the exact binary package.

This requires bugs to be added upstream though because no developer will ever have a look in downstream bug trackers. For core packages of a distribution that has the manpower to do this that should be OK and as those packages might be patched in some way it might be useful to report bugs downstream and decide manually if and how to report them upstream.

However for packages where there is nobody to review the downstream bugs I would really prefer if the downstream bug-tracker will just forward the bug to the upstream bug-tracker (probably doing some internal duplicate filtering in between).  I am more happily getting some incomplete bug reports than missing  the interesting ones because they never reach the upstream tracker.

So, launchpad developers: Do you think that’s doable. There are so many great options in launchpad that I think adding this one shouldn’t be too difficult. By accident I stumbled across some very interesting reports in launchpad and I would have loved to have these reports upstream.

Thanks!

Re: Anjuta UI work

5. April 2010

Today, I finally took the time to fix the optical trash from the embedded tab change I did some time ago:

Anjuta with correct tab buttons

Voilà, tabs look like they should now. Actually this wasn’t that easy to implement and requires a custom GtkContainer widget which is a bit painful to write. There might be some possible improvements in using the correct border/shadow for the notebook but I haven’t figured out a better way until now.