Remember to breathe

summit: my second GNOME Summit was a great experience. being a small, hack-oriented conference makes it possible to have a lot of work done — or discussed; I must thank everyone that helped organize it: it was great. I also have to thank Paul for letting me attend it even with a looming deadline at work. :-)

the Clutter 1.2 requests session was pretty good: I got nice feedback from the current users of Clutter in the GNOME platform, both for the planned features and for what is needed. I also was able to talk about GTK+ 3.0 planning outside of the IRC meetings — which started again, so make sure to watch the Wiki page and attend every other Tuesday.

clutter: most of the Clutter discussion has already been summed up by Jason. I’m going to start releasing snapshots of the 1.1 development cycle by the end of this week, to let people test drive the new APIs; feedback is much appreciated.

autotools: I had to catch a red-eye flight to go back from Boston, and I had only 22% of battery left on my laptop, so I decided to go easy on the plane hacking side of things; I just got around to split out the GLib marshallers and enumeration GType generation rules that everyone is copying between projects; those rules now live in two files that you can copy and include at your heart’s content. they work like this:

# glib-genmarshal rules
glib_marshal_list = $(srcdir)/clutter-marshal.list
glib_marshal_prefix = clutter_marshal
include $(top_srcdir)/build/autotools/Makefile.am.marshal

# glib-mkenums rules
glib_enum_h = clutter-enum-types.h
glib_enum_c = clutter-enum-types.c
glib_enum_headers = $(source_h)
include $(top_srcdir)/build/autotools/Makefile.am.enums

and they will also handle the clean and dist rules for you. it would be good to have something like this in gnome-common as well.

json-glib: a couple of weeks ago I released version 0.8; it contains a “fix” for the fact that integers in JSON are defined (or, well, undefined) as machine integers; this allowed braindamaged web services to overflow 32 bits and expect that stuff would not break. nice one. unfortunately, C is a little bit more concerned — and I’d never thought I’d say this — about types and their sizes, so suddenly stuff would start to break; I automatically promoted every integer to 64 bits internally, so this should give us a little bit of wiggle room, at least for the time being. but seriously: incremental integers for unique id without a known length limit? not good design.