From an outside view it might look pretty calm on the Anjuta development side of things but that is basically a wrong impression. There haven’t been many breath-taking feature additions recently but everybody concentrated on polishing:

  • Sébastien Granjoux overhauled gdl completely so the whole docking / undocking is much smoother (not only in anjuta)
  • Carl-Anton Ingmarsson polished uncounted bits including usage of deprecated methods, user-interface issues and small bugs
  • James Liggett took care of all the releases that I missed and on fixing the builds
  • not to forget all the other people that fixed strings, translation and meta-data issues

Of course we might return with some new feature at some point and there is also a hackfest planned so stay tuned.

GUADEC…

22. July 2012

But I have one question: What’s the best way to travel from Santiago de compostela’s airport to A Coruna? Help appreciated…there only seems to be one bus / day that I cannot catch because of flight times.

What else am I doing and why didn’t you hear much of me:

  • I am working full-time building trains since a while
  • I feel that life is so much more important than writing code far more often than in the past which makes me hanging around in parks much more often in sunny weather with great people
  • Apart from that, I am still fixing bugs in Anjuta and maintain the whole thing. Other people work much more on this so, Sébastien is fixing a lot of gdl issues and of course of GSoC-Student Moritz does a great job with refactoring and integrating clang.
  • If time permits I am adding a bit more FinTS-Support to GnuCash, esspecially international transfers (mostly ready) and standing orders (planned) because I need it for banking

 

What’s up?

3. February 2012

So as usual I need an excuse for not blogging for so long. This times it’s work, moving to Berlin and some other things.

Anjuta

While I haven’t contributed that much code in that cycle apart from minor bug-fixing there have been a couple of nice contributions:

  • Sébastien Granjoux did amazing work to improve our project management which is now much easier to use and more powerful
  • Marco Diego Aurélio Mesquita (what a name) improved the glade integration by allowing to automatically connect widgets and code
  • But I guess I should cover all this in a “What’s new in Anjuta 3.4″ post pretty soon

Gdl

The often forgotten but still heavily used docking library…Inkscape forked that library into their repository and added some fixes for them that were never magically contributed back and at some point (especially with the gtk+3.0 transition of gdl) I became very hard to merge between the projects. However, lately Alex Valavanis stepped up and ported most of the Inkscape patches back into gdl master and hopefully Inkscape will be able to use stock gdl (or probably better gdlmm) really soon.

Gnucash

As I tried to organize all my banking stuff I made some contribution to the best linux banking software in the area of HBCI/FinTS which is a german standard to securely initiate online transactions with your bank. I hope to find some time to actually implement SEPA (read EU- or international transactions using IBAN and BIC) at least originating from german accounts. But I have to think about how to compute (98 – (x mod 97)) for x being larger than a 64-bit integer and while I found some strategies on the web this was too much math for a late evening. Before you ask, this is part of the way an IBAN checksum is computed and I need this checksum because at least for Germany the IBAN can be generated as a combination of account number and bank-code.

Brno Hackfest

/me will be there saving the world or drinking beer, maybe both.

Laptop

After having been for a couple of hackfests which my much loved white netbook (read: “Oh, it’s so cute…”) I though it’s time for a real (male ;) laptop. It doesn’t seem very easy to get a reasonably priced laptop without a Windows license or preferably with a preinstalled and working Linux. After some searching I ended up buying a ThinkPad Edge 320 from linux-laptop.de which arrived pretty quickly (apart from some problems with the postal service). I ordered it preinstalled with Linux Mint after having only used Fedora for a while.

The installation was complete but the fan was constantly running which annoyed me but can be fixed by installing the thinkfan utility and now things are quite again! I reported this back as I kind of assume things like that installed when I order a laptop with operating system.

Toronto Hackfest

22. March 2011

Tomorrow will be the last day of the Toronto Documentation Hackfest so I would like to summarize what happened to the developer documentation:

developer.gnome.org

A bunch of tutorial-style demos (online preview) have been added to the gnome-devel-docs though I would wish there were even more. If your favourite programming language is missing demos it would be great if you could add them following the style of the existing demos. P. F. Chimento did a great review of these demos. Thanks!

Germán worked on updating the platform overview and I guess he will blog about the results himself. The website that is currently shown as image on developer.gnome.org should be mostly in a good state though some links need to be checked and I hope the marketing-team will review it once the awesome F?ederic Peters gets around setting up an instance for testing somewhere.

Help on setting up the development environment

Furthermore I created a bunch of wiki pages explaining how to install a decent development environment for GNOME 3. It currently contains information on Ubuntu and Fedora that has to be tested and I would love to see people adding more distributions.

Those installation instructions are linked from developer.gnome.org and the demos itself so we should take care that they always work and install the versions required.

Related to that, Michael Terry from Ubuntu made sure that the gnome3 ppa will have new version of Anjuta, Glade and Devhelp so that people can follow the tutorials and have an easy start on GNOME 3 Development. Thanks a bunch!

Anjuta Help

The Anjuta manual is quite outdated so I stubbed out a new task-based help for it. Unfortunately I won’t have time to fill that with content but it would be great if people would fill this with live. It is really easy with the mallard format and the help of the GNOME Documentation Team.

These and that

Of course, there are plenty of things discussed in a hackfest between the lines like Ubuntu/GNOME relations and GNOME3 in general. As we have people from all side involved it is always amazing how sane everybody is about all this and how few practical problems exist despite all this flame-war.

We switched to the hotel today as the internet connection at the university broke down (they apparently fixed that already…):

For people closely following the development of Anjuta that feature is actually quite old as I presented it on GUADEC but it didn’t get included until the upcomming 3.0 release.

Thanks to GtkBuilder signal autoconnection you actually don’t need to care about manually connecting signal anymore but can defer that job to glade. And as glade is integrated pretty much into Anjuta you also don’t have to care about creating correct prototypes for the signal handlers as you can just drag them into your code:

Before:


After:

This does not only work for for C but also for Vala and Python. It is actually even clever enough to detect if the handler is already present and to add the handler to the header file if the header file is open.

Documentation Hackfest

Apart from that I am sitting at the documentation hackfest in Toronto fixing up the developer demos we started in Berlin and fighting with various programming languages and bugs.

So, the hackfest is over but I hope you are interested in the results. You should already have read some rumours on Planet GNOME.

Planing phase

Before we actually started to write documentation or improve our tools we clearly needed to define our goals and our target audience. The target audience broke down to various types of developers:

  • Students/Hobbyist
  • Freelancers
  • Companies (products and in-house development)
  • Web developers
  • Teachers

All of those have different motivation and goals but we concluded that we can still fit most of these with the same documentation. Teachers were a really interesting side-discussion as it would be great if GNOME development would be tought in schools and universities but we didn’t know how to dive deeper into that topic.

The other difficult thing was to define which are the components of the GNOME Development Platform. This belongs a bit to the GNOME OS discussion and was clearly something we couldn’t solve in that room but we ended up mostly copying from the release-team proposal here, making some additions.

Central starting point for GNOME Development Platform

Daniel pointed out that here and there people asked him where they can find information about getting started on the GNOME Platform and he couldn’t really point them somewhere.

In the discussion we looked into various development sites (Apple, Django, Microsoft, etc.) to see how they solve that problem. We concluded that such a page is about 50% marketing and 50% information. It has to serve mainly two purposes:

  • Attract people to GNOME development
  • Convince managers that GNOME is the way to go

As there is no better place than developer.gnome.org we put it there. What you see there is no mock-up but an actual screenshot of the site on Fréderics local webserver. The site itself is mostly finished in a joint work between Phil (html mockup), me (Javascript for carousel and search), Andreas (awesome design) and Fréderic (ugly technical details…). It depends on some other stuff in the gnome.org redesign process and some final polishing to really go online and it the information targets GNOME 3 only. It is available in the web-devel-2 module.

10-minute-tutorials

  • Fun to follow while teaching limited subsets of the platform
  • Show various interesting and useful technologies (no “Hello World”)
  • Complete them in your (extended) lunch-break

We wrote five different tutorials at the hackfest and tested them with our GTK+ newbies. In the end, all those tutorials should be available in the five major programming languages (C, C++, Python, Vala, Javascript). If you have other interesting ideas to show off in about 100 lines of code or want to convert one example to your programming language, please contact the documentation team.

As we didn’t want to annoy people with build system issues we decided to use anjuta for the tutorials. Once Shaun adds expandable notes to mallard we might extend the tutorials with some notes how to do the same on the command-line. The tutorials live in the gnome-devel-docs module. Please note that they haven’t been fully reviewed, yet.

There is also draft documentation for installting the required packages to start GNOME development. Please complete this for your favourite distribution as there are only stubs except for Fedora by now.

Problems we couldn’t solve (yet?)

Best pratices: We really also need some more in-deep guides for application development. That should cover basic things (like 5 things every GNOME developer should know) to more in-deep things (explaining the GObject-framework, desktop integration, etc.)

Deployment: This is a non-trivial thing on Linux/etc. as there is no AppStore and also no ecosystem like Windows where you just ship installers. We don’t have an ultimate solution here so what we though about was writing an Anjuta plugin interacting with the OpenSuSE build service to build packages for the popular distributions, while auto-generated debian/ or .spec-files at least for the case where the package contains a single application. Some people pointed out that having a build service instance on GNOME infrastructure for the applications moduleset would be great.

Up-to-date versions of tools: Neither Fedora nor Ubuntu ship the current version of Anjuta which really needs to be fixed. The Fedora guys seem to take the bug report serious though and Phil promised to talk to the Ubuntu people so this will hopefully be solved soon. OpenSuSE is the shiny example to do the right thing here by shipping 2.32.1.

Glade: It’s completly broken for the moment and this is really a show-stopper for 3.0. I hope we will be able to fix that but that really needs people with a lot of knowledge on gtk+. Hopefully Tristan will be able to donate some time on this and others will help him.

Other stuff that happend

  • Frederic put a lot of work into library.gnome.org
  • Phil converted the HIG draft to mallard
  • Andre (who actually just happend to be around…) started to convert the evolution docs to mallard
  • Konstantin just happend to ring on Sunday morning because he read about the hackfest on Planet Ubuntu and was instantly recruited by the documentation team. It’s nice to see random interesting people showing up!

I hope everybody had four fun and productive days in Berlin and that things will continue to improve. Thanks again to Openismus and especially Kat for the fantastic hosting and the GNOME Foundation for making this happen. Thanks to everybody who attended. Just remember that people don’t mind having 22-hour flights just to attend a four day hackfest – that’s amazing commitment!

Small Anjuta feature update

24. November 2010

After we have bothered a lot in the past months to build everything against the GNOME 3.0 stuff and fixing lots of bugs it is time to introduce a tiny new feature:

Compiler errors shown as tooltips of the editor marker

So, finally the Python plugin originally developed by Ishan Chattopadhyaya in GSoc 2009 has made it’s way into the master branch after some heavy modifications.?? As usual the auto-completion and calltips are fully asynchronous and won’t be in your way while typing. You need to have the rope libraries installed for it to work (and that’s not checked for now…) and they are used as backend. As I am not a Python programmer I cannot really say if the support is complete but it shows a reasonable amount of information. As python is not a strong-types language this are actually a bit tricky and all the dirty work is done inside rope.

Enough words, some screenshots:

Autocompletion for python objects

Autocompletion

Python calltips

Calltips

Patches welcome…

All Python programmers are encouraged to test this, give feedback (Bugzilla) and ideally write patches to improve this.

(cross-posted on Anjuta News Blog)

GUADEC follow-up

2. August 2010

GUADEC

As others have mentioned, GUADEC was great. Thanks a lot to the organizers. Especially it rather felt like being part of a big family instead of just being a guest there. And I think that was the first GUADEC where people started dancing. So congratulation to Stephane, Lenka and Patricia for winning the dancing awards!

It is also always great that people not yet involved with GNOME come to GUADEC because they want to become a part of the project.

GNOME 3.0

With the discussion about delaying GNOME 3 and after watching the gnome-shell talks I wondered a bit if we go into the right direction. Actually, I think we do though nobody can say today if all this will be successful. My point is that we basically copied the desktop idea from others in the past years with little changes and little innovation. Now we really try to innovate which brings the risk of failure but also the big chance to really increase our market share. Remember that we had this 10×10 goals?

So, as conclusion, we might fail but at least we tried.

Development Documentation and Tools Hackfest

The wiki page has been updated to finally contain a date, which is 2nd to 5th of December 2010. This might still change if it causes problems for too many people, so please contact me if you cannot make it on that weekend. Also we still need sponsorship and I didn’t get an answer from the board, yet. Stay tuned!

Anjuta

While still trying to release a new development version of anjuta I mostly worked on getting the python support from GSoC merged. There is still a lot to polish but the basic stuff is now set up in the python-support branch and will hopefully hit master soon. This will eventually lead to auto-indentation, auto-completion and calltips for Python.

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 :)