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.

Fixes:

  • 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)

Translations:

  • 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.

Fixes:

  • 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.

Translations:

  • 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.

http://git.gnome.org/cgit/gnote/

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.

Download

Notes

[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. There is not tarball yet as I still need to iron a few major bugs. On over 13KLOC of code, there are to be some :-)

Notes

[1] emphasis mine