Loud ramblings of a Software Artisan

Wednesday 29 April 2009

Gnote 0.3.0

Wednesday is release day for Gnote. Version 0.3.0 is now available on GNOME FTP.

Here is the changelog:

New features:

  • Applet support (Closes #578979).
  • Print addon.
  • Insert Time Stamp addon.
  • Bugzilla addon.
  • Implement addin preferences.


  • Should now build if Gtk+ 2.16 is present but not Gtkmm 2.16.
  • Should build with Gtk+ 2.12 and Gtkmm 2.12 (Closes #580250) (Robert Millan)
  • Fix a typo in gnote.1 (Closes #580211) (Robert Millan)
  • Desktop file reflect XFCE and bugzilla component. (Closes #580481) (Ritesh Khadgaray)
  • Missing accelerators in link context menu (Closes #580443) (Mário Machado)
  • Reference bugzilla component in server file (Closes #579198)


  • Short descriptions in shema must not end with a '.' (Closes #579337)
  • Added translations: - British English (en_GB) - Czech (cs) - Portugese (pt) - Spanish (es) - Thai (th)
  • Updated translations: - Arabic (ar) - German (de)

Tuesday 28 April 2009

libopenraw 0.0.7

Just a quick note to mention that I released libopenraw 0.0.7 to fix a nasty memory leak. I recommend the upgrade.

Wednesday 22 April 2009

Gnote 0.2.0

I just released Gnote 0.2.0. Here is the changelog:

New features

  • Now support addins (Bug #578980): - Fixed Width
  • Show addins in preferences.


  • Can now close the template note opened when the Preferences dialog is open. (Close #579105)
  • Check for Gtk+ 2.14 or later and include gtk/gtk.h in src/utils.cpp (Close #579240)
  • Fix wrongly highlighted URLs and a crash when inserting in some situation. (Close #579225)
  • Fix offsets on WikiWord (similar to bug #579225)
  • Initialize gettext properly (Close #579520)
  • Properly check for libxml2.
  • Drag and drop of notes to a notebook (Close #579637)
  • Fixed hang when changing the title of a note (Close #579362)
  • The open state of notes is now saved properly.


  • Update comment to reflect format in strings. (Close #579209)
  • Ensure the spelling of Gnote.
  • Some strings shouldn't be translated. (Close #579197)
  • Date format are non localizable. (Close #579207)
  • Properly use plural forms (Close #579412)
  • Remove markup from translatable strings (Close #579453)
  • Added translations: - Swedish (sv) - Greek (el) - Arabic (ar) - Catalan (ca) - German (de) - French (fr)

Many thanks to the translation teams and the people who provided feedback.

The tarball can be downloaded fronm GNOME FTP

There is more to come: the addins (I had to rewrite an addin system based on Glib::Module, which I hope will be generic enough ; I'll see when I integrate it into Niepce), the synchronization (I have a branch locally that I need to test thoroughly, for which I also needed addin support), and what not.

Wednesday 15 April 2009

Gnote 0.1.2

I just released Gnote 0.1.2. Here are the changes:

  • Don't return containers on the stack.
  • BUG: Pinning notes now work.
  • BUG: Fix a potential crasher in PrefsKeybinder in the gconf callback.
  • BUG: Fixed typos in man page.
  • BUG: Remove the use of gettext calls that are only in glib 2.18
  • BUG: Fix Note search that didn't work. (Close #578956) (Wade Berrier)
  • BUG: Fix the position of the menu in case of popping upward. (Close #578958)
  • NEW: Imported the manual (Close #578982)
  • NEW: Addin preferences. (TO FINISH)
  • Clarified some (c) notices.

You can find it on GNOME FTP

Moving to GNOME

Gnote is now in GNOME git repository.


All you need is to pull from there.

It also has a bug tracker in GNOME bugzilla.

Update: is seems to be misunderstood that the URL above is for the web git interface. The git URL is git://git.gnome.org/gnote

Tuesday 7 April 2009

Gnote 0.1.1

The unavoidable bugs arose, mostly build bugs[1]. So if you had an error on BOOST_FOREACH, it is fixed. Bye-bye, gone.

Thanks do Dodji for the testing.

I released Gnote 0.1.1.



[1] if only I could have a few chroot to build with different versions

Monday 6 April 2009

Gnote 0.1.0

Following my April 1st announcement, I ironed out the last detail I deemed necessary for a 0.1.0 release of Gnote.

It should build on recent systems. I welcome any feedback or patches. If you have a build failure, I at least need the compiler errors.

Source tarballs - Homepage

PS: it is known to not build on Debian etch because of an antique version of boost.

Wednesday 1 April 2009

porting to C++

In my attempts to fight my own boredom, as an unemployed hacker[1], I took on myself to do something: porting Tomboy to C++. It is actually not that hard, just a lot of work to do manually because there is over a dozen of thousands of lines of code. This show me that the door is open to reimplementing Gtk# software (or parts) in C++ with not too many problems, making it easy to have them available for C applications.

Nonetheless there are still some challenges:

  1. Garbage collection: I replaced this with a combination of Gtkmm memory management, std::tr1::shared_ptr<> and stack allocated object. Seems to be working so far. I could also be using a garbage collector, but it seems to be unecessary.
  2. String and file path utilities: Boost has string algorithms and Boost.Filesystem
  3. XML: while XML parsing is not a big issue with the various libraries available, APIs have enough difference to make it non-trivial. I also had to write a convenient wrapper of xmlTextWriter to make my life easier.
  4. Add-ins: I don't have the support for generic addins as found in Mono. No big deal, I implemented a factory in a few lines with a couple of macros. Some core features are actually implemented as add-ins, so I had to do it. Dynamic loading shouldn't be too hard.
  5. regex: some of these core feature use regulars expression. Not a big deal if it wasn't for apparently different syntax.

To help all of this, I have implemented a small library (in the same tree) called "sharp" aimed at helping port from Gtk#. In addition to boost, I also make an extensive use of Gtkmm and libxml++.

Of course the code is available. I have set up a repository on gitorious (Edit: Apr 1st 2016) — it is in GNOME git ; gitorious is dead.(/Edit) There is no tarball yet as I still need to iron a few major bugs. On over 13KLOC of code, there are to be some :-)


[1] emphasis mine