Author Archives: Maciej Piechotka

Lock-free collection in libgee: hazard pointer

From version 0.8 libgee have support for lock-free collections. While they can be used as a drop-in replacement for any other there are a few ‘gotchas’ that user needs to be aware of if (s)he wants to use them efficiently, … Continue reading

Posted in Libgee | Tagged , , , | Leave a comment

Libraries in Vala – ABI compatibility – part II

In previous post I’ve described what ABI is. Now the time for potential problems which you can run into with Vala – unfortunately the list might not complete so please threat it as a guideline rather than definite description. For … Continue reading

Posted in Vala | Tagged , | Leave a comment

Hello Planet Gnome

The blog have been added today to GNOME Planet. My name is Maciej Piechotka and I’m a libgee maintainer, but currently I’m shifting my focus a bit towards core Vala, especially with regard to performance optimization. In addition I intend … Continue reading

Posted in Blog, GNOME | Tagged , , | 1 Comment

Pre-announcing VaLLVM

Curently Vala simply generates C code and let the C compiler do its job. While in many cases it produces good code there are some cases which where compiler stack could use more domain-specific knowledge. The problem is that C … Continue reading

Posted in Programming, Vala | Tagged , | 11 Comments

Libraries in Vala – ABI compatibility – part I

As described before Vala have quite interesting mix of high and low-level features. One of elements one need to be aware in Vala is that there is an ABI, when the “ABI compatibility” is needed and how to keep it. … Continue reading

Posted in GNOME, GNU/Linux, Vala | Tagged , | 1 Comment

Futures and promises in libgee

In recent unstable releases of libgee contains Futures and Promises (please note that API is still not frozen so the exact details may change). Future in a simples case is a value which might not be currently available. From the … Continue reading

Posted in Libgee, Programming | Tagged , , , | Leave a comment

Vala ABI and branch prediction

Maintaining Libgee for some time I run into interesting phenomena – performance did not behave in a way most people would expect. When the highier-order functions were planned it was pointed out that Vala doesn’t have complex inlining required for … Continue reading

Posted in GNOME, GNU/Linux, Vala | Tagged , , , | 1 Comment

Don’t write your own build system

The title might be a bit controversial but at least it is catchy one. Recently I’ve seen a few posts about Shake, a make replacement with several improvements (such as more flexible dependency specification). There are also examples how to … Continue reading

Posted in Programming | Tagged , , , , | Leave a comment

Statically typed red-black trees

I have met with claims that the static typing is useless as it is not mathematical proof (OK – for those knowing the discussion – I exaggerated a lot). However to large extend the static typing is prove of some … Continue reading

Posted in Programming | Tagged , , | Leave a comment

(Rant) Difference between good and useful slides

Fortunately or unfortunately the presentations tend to be more and more popular sources of information. Be it a new library, language or future direction of a project the only possible way is either attend some presentation or watch it later.

Posted in Uncategorized | Tagged , , | Leave a comment