This is a more personal blog post. Sometimes all those GNOME programming projects are driving me crazy. These last few weeks I needed to rest (that’s why I came only one afternoon at the Developer Experience hackfest, and why I didn’t come to FOSDEM this year (although living nearby)). Yeah, it can happen.

It was time to change a little my focus.

Over the years I created or got involved in more and more projects. When we want to go in too many directions, we make little progress in each. So it’s better to focus only on one or a few projects, and try to make significant progress in those.

Projects that I will no longer actively develop or maintain (at least not during my free time):

Project that I want to “finish” this development cycle:

Project that I’m excited about for the next development cycle:

Other projects that I care about and that I want to do in the future, without any guarantees:

  • Improving file printing in gedit, to be like in Firefox
  • Write a new chapter in my GLib/GTK+ tutorial

Note that for that last item, I would use LaTeXila of course, so if there are some regressions due to some library changes (you perfectly know which library in particular I mean), I’ll probably become aware of the regressions and fix them. Without any guarantees, I repeat. So if someone wants to take over LaTeXila maintenance, I would be more than happy. In the condition that I can still recognize my old pet project afterwards and is still mostly bug-free.

Cat non-fooding

Why such a change of focus? Devhelp was initially a side project for me, and making the gedit source code more re-usable was my main focus during these last years (but along the way it involved also fixing bugs, improving the code readability and making the codebase less a mess, basically).

To explain the refocus, some facts/timeline:

  • I’ve almost always used Vim to program in C.
  • For LaTeX I also used Vim, but at some point I discovered Kile (a Qt application) to write LaTeX documents, because for LaTeX I found that a GUI application has some convenient features.
  • During the summer 2009, I started to write LaTeXila – a new LaTeX editor based on GtkSourceView – to have a LaTeX editor following the GNOME philosophy and based on GTK+.
  • I discovered Vala, and there was a nice gedit plugin for the Vala auto-completion, so I ended up using gedit to develop LaTeXila.
  • At some point I started to contribute to GtkSourceView to fix some bugs, and I used Vim since it is written in C.
  • I got hooked to GtkSourceView development and became a co-maintainer, with the project to make more code of gedit re-usable, to share more code between gedit and LaTeXila.
  • Then my dislike about Vala was growing and growing.
  • I’m no longer a student, so I now rarely use LaTeX.

Basically, I now use gedit mainly for non-programming text editing tasks, e.g. drafting a blog post. In fact, the spell checking is more convenient to use with a GUI application than with Vim. Another use-case of gedit for me is to print a text file. That’s it.

And cat-fooding is important (I’m more a cat person, so I prefer to talk about cat-fooding, or the lack thereof).

For programming, I’m now used to my tmux session with a ‘git’ tab, a ‘build’ tab and several files opened in Vim in the following tabs. I can do everything with the keyboard. I can program during one hour without touching the mouse. I think I would be much less productive if I come back to a terminal + gedit.

But I’m convinced that specialized text editors would be easier to use and configure for the first time than a general-purpose text editor with plugins, tons of options, lengthy configuration files, and such like. And developing libraries to ease the creation of new text editors was an interesting technical project to me.

Anyway, Devhelp is an application that I heavily use. So that’s why I want to improve it. And it’s still in the Developer Experience field. And with the Vim mode of GNOME Builder, I’ll maybe come back one day to a GUI text editor for programming.

Petula Clark – Downtown

This entry was posted in Me Myself and I. Bookmark the permalink.

6 Responses to Refocus

  1. Canek says:

    Hi Sébastien; may I ask you why did you grow a dislike for Vala?

    • swilmet says:

      Sure. The GTK+ libraries are written in C, so when using the C language there is no extra layer. When a C code is correct and there is a bug, it must necessarily be in the library (or extremely rarely in GCC and even less rarely the hardware but at least never the law of physics AFAIK).

      On the other hand with Vala, there are some extra layers: the bindings (the *.vapi files, usually based on GObject Introspection annotations) and the compiler valac. By experience, the bindings have lots of bugs (at least it was the case several years ago). And the compiler is also buggy sometimes. When you hit such bug, it’s a big waste of time. All the time that you’ve saved with the simpler syntax, you loose it with more problems.

      There are other reasons why I prefer the C language, explained here:

    • Michael Catanzaro says:

      A couple crazy problems I’ve hit: “signal handler spuriously runs when signal is emitted by object not connected to once every 98 emissions” “Incorrect choice of signal marshaller causes crash when promoting a pawn in GNOME Chess when built with Fedora hardening flags”

      Pretty sure Vala could have been awesome had it attracted more developers outside the GNOME community… alas.

  2. Marco says:

    So this is it for latexila? Or will someone keep its development alive?

    Thanks anyway for your work, I enjoyed latexila during these years.

  3. Jeff says:

    And here I was, six years late, discovering LaTeXila and how awesome it is (the successor to the Gedit latex plugin! No more running a hacked together shellscript to compile my CV!) and thinking “this is great, finally a simple GTK3-based and *maintained* LaTeX editor!” :(

    • swilmet says:

      The 3.20 version should be a good one, normally. After that I won’t _develop_ actively latexila, but maybe I’ll try to keep it in shape for the next GTK+ 3 releases (usually this is not a lot of work, but usually there is at least one thing that breaks with each GTK+ version).

Comments are closed.

Leave a Reply

Your email address will not be published.