A while ago, in a praise of karbon 2.0 I wrote, someone commented on the “lack” of tools in karbon, as opposed to inkscape. And from forum posts, or identi.ca, it seems to cause some confusions. For instance, there is no rectangle or circle tool in karbon. And there will never be. The reason is that for KOffice 2, the tools are meant for user interraction, and for manipulating object in the canvas. Inserting shapes is done through the “Add shape” docker, which allow to manager your collection of customs shapes, as well as standard shapes, you can then just drag and drop the shape, or select a shape and then by clicking and dragging on the canvas you can select the size of the shape like with a tool. Once the shape is on the canvas you can go to the toolbox and start having fun with your shape.

And of course, since the technology is shared, you add shapes to other KOffice application in the same way. To add a text in Krita ? Go to the add shape docker, drag and drop, and enjoy ! To add an image to your presentation in KPresenter ? Go to the add shape docker, drag and drop, and enjoy ! To add a smiley to KWord… you get it !
Sometime I get asked whether what I do in open source is useful for my work. Except for the thing like kalculus that were explicitly written for my work needs, usually the time invested does not pay at all, despite using Krita for scaling or cropping images to put in a paper. But sometime you get the opportunity to accomplish a task in five minutes that would have taken way more time if you had not invest years of development before. Small victory.
Since my thesis deals a lot with computer vision, I wanted to make an introduction to signal and image processing concepts. One of them is the issue of aliasing, which happen when under sampling a signal. And one of the classical artifact caused by sampling is called Moiré. The image below show the result of rescaling a set of concentric circles by three and four (the image were resized up for display):
So my need was to generate those circles. And what better than a programming language made for generating images, such as Shiva ? One can argue that some other tool would have make a better choice. But I was very quick to get to this first version, where I just check if the pixel is inside a white circle or a black one:
kernel ConcentricCircles
{
const int radius = 3;
const float4 color1 = { 0.0, 0.0, 0.0, 1.0 };
const float4 color2 = { 1.0, 1.0, 1.0, 1.0 };
const float2 center = { IMAGE_WIDTH * 0.5 , IMAGE_HEIGHT * 0.5 };
void evaluatePixel(out pixel4 result)
{
float lf = length(result.coord - center);
int l = lf;
if( (l / radius & 1) == 1 )
{
result = color1;
} else {
result = color2;
}
}
}
I then improved that version to get parameters and anti aliasing of the circles, the full Shiva kernel can be found in the shiva collections repository.
I have always liked colored fishes, like clown fish, way before Disney’s movie. And a certain fascination for seahorses, probably because they look so unlike other water animals. During a visit to Göteborg’s aquarium with Hanna, I remembered: “I want one”. What has been holding me back, so far, is that it is a lot of work, and once you started it, it’s a responsibility, you have to take care of it, also in the past few years, I have had to work for about a quarter of time in Paris, the rest of the time I was working in Toulouse, but with holidays and week-ends, that mean I was almost half of the time out of town. But now that my thesis is nearing the end, and that I am going to move somewhere more permanent, or at least with a full time job on a single location, then maybe, it’s time to give it some serious thinking.
Some initial browsing on internet have shown me that, after the initial setup, it isn’t so much a time consuming task, mostly dedication, feeding everyday, and changing part of the water every week. And watching. And getting pleasure from a beautiful aquarium.
Since what dragged me into this are clown fishes, I will want a salt water aquarium. Since it’s a display of nature, it’s important the aquarium is friendly to the inhabitant, and friendly to the environment. Which is going to be a difficult task for a salt water aquarium.