Author Archives: Michael

Vala async method end

Vala has support for asynchronous methods via the ‘async’ keyword. This means that the method can return its result later via a callback. Unfortunately all the Vala documentation, at this time, shows how to call one async method from another … Continue reading

Posted in Programming | Tagged , | 1 Comment

Vala name clash

A friend pointed out to me lately that Vala can produce C code with clashing symbols. True, and I knew it was possible, but there is a solution. First however, the problem: public class prefix { public static int other_name; … Continue reading

Posted in Programming | Tagged | Leave a comment

Colchester studio Photosomething

Photosomething is a small Colchester based photographic studio. Ok, there are quite a few of those. In fact, with the explosion of digital SLRs on the market everyone and their dog is claiming to be a “photographer”. What sets this … Continue reading

Posted in Photography | Tagged , | Leave a comment

Vala struct parameters by value

In Vala, many things operate as they would in the C world. Even structs appear to do so, with one exception. When passing a struct as a parameter, it is passed by reference. So, the signature some_method(ref MyStruct s) produces … Continue reading

Posted in Programming | Tagged | 2 Comments

Vala and DBus interfaces

Things to note about Vala and DBus: Vala class = DBus interface Vala interface = DBus proxy I hope that’s clear. So, how do we implement multiple interfaces on a single proxy? Just register multiple instances against the same proxy … Continue reading

Posted in Programming | Tagged , | Leave a comment

Vala, DBus, interfaces and segfaults

Vala, DBus, interfaces and segfaults in the valac compiler. Take note, when you markup an interface with the DBus attribute, that interface must extend Object. If it extends nothing, valac will segfault mysteriously. Try the following code sample: [DBus(name = … Continue reading

Posted in Programming | Tagged | Leave a comment

Install Clutter on OSX

Clutter is a great Widget system that uses OpenGL(ES) for rendering and performance. It is build in C using GLib, works on many systems and has bindings for many languages. Install MacPorts from here. Open a Terminal and enter the … Continue reading

Posted in Programming | Tagged , | Leave a comment

Building MonoDevelop Vala plugin on OSX

This is tricky, as there doesn’t seem to be a pre-built binary to download, and I love pre-built binaries. I have Vala installed already thanks to MacPorts, so really this is about MonoDevelop. If you are not comfortable with Terminal … Continue reading

Posted in Programming | Tagged , , | 3 Comments