Category Archives: Programming

Thoughts on the Linux Mint X-Apps forks

You may be aware that Linux Mint has forked several GNOME applications, either directly from GNOME (Totem -> Xplayer, Evince -> Xreader, Eye of GNOME -> Xviewer), or indirectly via MATE (gedit -> pluma -> XEd). GNOME is like the … Continue reading

Posted in gedit, gspell, GtkSourceView, Programming, Thoughts | 12 Comments

Doing things that scale

In the software world, and with internet, we can do a lot of things that scale. Answering a user question on IRC doesn’t scale, only one person and a few lurkers will benefit from it. Answering a user question on … Continue reading

Posted in Programming, Thoughts | Leave a comment

API vs ABI

I repeatedly see other people doing the mistake, so a little reminder doesn’t hurt. API: Application Programming Interface ABI: Application Binary Interface The difference can be easily explained by knowing what to do for some code when the API or … Continue reading

Posted in Programming | 6 Comments

Libtool convenience library to unit test private functions

Only the public API of a library is exported, so when a program is dynamically linked to the DSO (Dynamic Shared Object), it can only use the public functions. So how do you unit test the private classes of your … Continue reading

Posted in gspell, GtkSourceView, Programming | Leave a comment

Changing quickly between a final and derivable GObject class

When doing code refactorings, it is sometimes desirable to change between a final and derivable GObject class. So it is important that that operation can be done quickly, as every other small refactorings that you usually do in your code. … Continue reading

Posted in Programming | 6 Comments

Object-oriented design best practices

Here is another book review, this time about object-oriented design. Programming Best Practices We can learn by our own experience, we can use our common sense, we can learn by more experienced developers when contributing to an existing project. But … Continue reading

Posted in book reviews, Programming | 1 Comment

{specialized, general-purpose} × {text editors, IDEs}

Some thoughts about text editors, IDEs, specialized or general-purpose applications. Several languages Other tasks Plugins Specialized text editor No No ? General-purpose text editor Yes No Yes Specialized IDE No Yes ? General-purpose IDE Yes Yes Yes The above table … Continue reading

Posted in Programming, Thoughts | 14 Comments

Align parameters of a C function declaration, with lineup-parameters

Renaming a GObject class can involve a lot of manual work. Once the type is renamed, the parameters of the function declarations are no longer aligned. In the following example, GtkSourceSearch has been renamed as GtkSourceSearchContext: guint _gtk_source_search_replace_all (GtkSourceSearchContext *search, … Continue reading

Posted in Programming | 3 Comments

Developing graphical IDEs the UNIX way

Programming on a UNIX environment generally involves the use of command line tools: vim/emacs, git, grep, sed, screen/tmux, and so on. What is really nice about these tools is that they do only one thing, but do it well. Now, … Continue reading

Posted in Programming, Thoughts | 22 Comments

About code quality and maintainability

It can be difficult to write clean code, that is easy to understand, split in nice and well-defined functions that do one thing but do it well, with good variables names, and so on. For the maintainability, it is really … Continue reading

Posted in book reviews, Programming | 1 Comment