Posted on 25-06-2008 | By: Jérémie Laval
Category : C#, DBus Explorer, English, Linux, Programming
Tags: dbus, DBus Explorer, debugger
Long time I hadn’t hacked on DBus-Explorer but as a exam stress killer I brought together all the piece I had already randomly coded. This resulted in a number of appreciable improvements that were long overdue like :
Tabbed browsing :

Good if you get lost like me with multiple DBus-Explorer windows (Ctrl+T to open and tab button to close, who say Firefox ?).
Multiple (possible) languages :

↓

Just write a definition file like the one in the screenshot and drop it in ~/.dbus-explorer/langs, « possible » because I was too lazy to write another language than C#
.
Stubs autogeneration :

↓

For use with library like Managed D-Bus, yay \o/ .
There has also been work on the UI and other bugfixes but nothing major. All in one I think DBus-Explorer kept its KISS nature together with the few extra features it was missing. Now I just need to add dialogs for managing language definitions and stub generators in a friendly way.
Hot stuff to be grabbed on git at the usual place.
Even though GSoC coding period started two weeks ago, I totally forgot to blog about it so here it is.
First week started very slowly as I had a bunch of school exams to take care of. During that time I set up a Windows VM to play with the library and wrote a first batch of stubs with some simple logic (getter and setter for instance).
This week was much more interesting because of two things : the Google Code Camp at my school and the ParallelFX’s team releasing a new CTP (beta) of the library. GCC was an event organized at my school by sam and Dave. The concept was simple : gather some geeks together in a big place for the night, with pizza and big amount of coffee/DarkDog, courtesy of Google, to hack on what we wanted. The association of these two events resulted in some productive things done.
At first I had planned to start the Scheduler part but with the new release (and thus the API additions) I preferred to stub/code the new parts like System.Threading.Collections which contains lock-free implementations of stack and queue, SpinWait/SpinLock which, as the name implies, provide locking facilities based on processor spinning and LazyInit/WriteOnce which, respectively, allows lazy evaluation of expression and readonly-like variable (which can be be set only one time and anytime). I pushed these changes this morning, together with a start of unit tests, in the Mono SoC repository.
The next three weeks will be at a slow pace as I have to prepare school stuff and my final exams in two weeks.