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 use it with say Vala.

The problem is that the Make and Shake are both rather quite low-level tools and while improvement in them is beneficial shake, at least currently, is not a replacement for autotools or CMake.

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 sort and depending on the code it might be a prove of even quite strong properties.

As chosen field I tried to use LLRB trees – I have implemented them quite long time ago and I’ve run into problems that violated the pre and post conditions. Even when problem was discovered it took some time to find out the underlaying problems (my inexperience didn’t helped probably either)

I’ve tried to reimplement the code in GHC Haskell with following rules:

  • Using only ‘safe’ extensions
  • Making all functions total and without use of undefined or error
  • Ensuring that all properties of tree are preserved

Unfortunately this was my first time I used some of the concepts (like Zipper) so the implementation and description might be not the best (comments and corrections welcome).

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.

Continue reading

Posted in Uncategorized | Tagged , , | Leave a comment

Scripting in GNOME

Every time now and then we want to automate tasks. Sometimes it is just a repetitive task and sometimes we want to do a complex task without having to remember each particular step. If the task is not general enough (say – applies to a single workflow) it does not have specialised GUI. On the other hand if one of steps involve GUI it cannot be done from commandline (shell script) alone.

Currently various desktop environments provides their own scripting methods (PowerShell, AppleScript, KJSEmbed. It might be good to look if it fits GNOME as well.

Continue reading

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

So the blog is on now

Unfortunately  the previous host was unreliable to say the least. During last crash I lost two posts (one note very interesting about libgee 0.7 and one about general thought on debugging). The recent security breach caused lost of trust into it from many users (including me) and caused the closure of project.

Therefore the blog was moved to – please wait until the change is propagated through DNSes.

Posted in Blog | Tagged , | 5 Comments

Hosting problems

I finally restored blog after my provider total RAID failure which resulted in xfs corruption of partition where the databases were located (as well as corruption of partition where the blog was). Unfortunately not all data was retrieved so there are a few things missing from previous blog (comments and users).

Posted in Blog | Tagged , | Leave a comment

I'm going to Desktop Summit

I'm goint to Desktop Summit

I’m going to Desktop Summit

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