Tuesday, August 25, 2015

Docker for GIMP: task is on hold

After fighting with dependencies necessary to compile GIMP (yes, now I can do it professionally) I've got another idea: what if I put necessary parts into the docker container? Any newcomer could benefit from having such a preconfigured development environment. The need for the container is simple: it is difficult-to-impossible to automate one step in the build as the necessary libraries are:
...where lcms2 cannot be downloaded automatically (or at least I did not find how to do this) and gdk-pixbuf is placed on the ftp in the way so that I cannot link to the latest version without some sophisticated script. But I could create the docker container. Well, theoretically I can do it as I never did it before.
I thought about two different flavors of the containers: the smallest necessary one which would have only these two mentioned libraries and the complete, huge one which would have everything up to the ubuntu into it.

Anyway, as the solution seems to be only a half-measure because it would break in case any of three participants (gimp itself, lcms2 and gdk-pixbuf) would change in some incompatible way, I put this task on hold.

Alas.

Tools to understand larger amount of C code

To understand the structure of the GIMP project I try to use as much of modern tools as possible. I believe that accumulated experience in the field of analysis worth something. So I bet on them. Of course, reading the source code is still an option, but the last resort, so to say.
Here I put the links on the tools I considered so far.

 Now, the current topic is GLib main loop. Links:
Also helpful:

Friday, August 21, 2015

The very old document on GIMP architecture

It is good to have Google...

Looking for GIMP architecture in internet I've found the paper "The Software Architecture of the GIMP" (2006). Yes, it is old, but it's all we have. I wonder if anyone has anything better.
The funny thing about the document is that it is not available directly using the site (citeseerx.ist.psu.edu), but Google gives you the direct link to it.

Tuesday, August 18, 2015

Installing and configuring software is the ultimate form of Yak Shaving.

Fighting the GIMP, I spent enormous amount of time setting the development environment.
On the last iteration I've found this beautiful article related to the Docker.
The "Yak shaving" metaphor describes my process so precisely that I could not resist to store it here.
If I would have found this article earlier, I could have saved much much much time. On the other hand, how could I know, how much time would it save? It is so ironic...

Monday, August 17, 2015

Creeping features

I don't like the pantheon terminal outlook on the Elementary OS. It is better than others including the one in OSX (I tried only the default one though). But why the heck does it have all these bells and whistles like header, tabs and so on? Just asked a question at stackexchange and got a hint how to do it. So, long story short, I tried to strip all the decorations with some simple hacks, without diving deep into the GTK+/Glade and so on. But the problem has to be solved fundamentally, with some settings. Anyway, I put my thoughts there, in the initial question.
And yes, it is just another spin-off from the main topic of hacking the GIMP. Just a spin-off...

My Blog List