This is my (in)activity log. You might like to visit
Productivity a subsidiary of Collabora focusing on LibreOffice support and
services for whom I work.
Also if you have the time to read this sort of stuff you could enlighten
yourself by going to Unraveling Wittgenstein's net or if
you are feeling objectionable perhaps here. Failing that, there are all manner of interesting things to read on
the LibreOffice Planet news
Stuff Michael Meeks is doing
Mail chew, compiling things left/right, reviewed
Norbert's nice fix for flash/bang during unit testing on Mac.
Lunch; team meeting.
Poked at icecream's
ICECC 14:43:15: got exception 17 (192.168.1.113)
message with Lubos - seems the host ran out of memory during
the compile - C++ can do that to you it seems.
Pleased to see the nice reporting of Bjoern Lundel's work
on implementable file formats highlighted.
Off to NCC, helped Clara with the older kids - fun.
Back for a quick game; pizza lunch. Out to a baptism service
in the afternoon; on to take the family to see David's (by now)
rather nicely appointed home; tea & cake there.
Home, put babes to bed.
Shuffled rooms, and off to the venue; talked with each other
for a while outside; met Laurent which was great; got in eventually -
set too at the hacking.
Plugged away at configmgr to try to stop it allocating
interrogating and freeing UNO object wrappers left and right. After
a day of work managed to rescue some 9% from the headless startup /
exit - hopefully making the performance graphs go in the right
Good to see other misc. French contributors turn up as well,
encouraging, and great to hear the mix of languages of people being
helped with the code.
Bid a sad 'bye to the guys, and set off for home; got to the
Eurostar terminal, met a fashion journalist, and accosted by a family
interested in my kcachegrind output - who turned out to be
enthusiastic LibreOffice users: handed out stickers variously.
Up earlyish, breakfast on the hoof, and off to the venue.
Really great to be hosted in such a nice space. Met up with Charles,
Sophie, an interesting chap from MIMO, Mohamed-Ali from Cap Gemini,
gave some journalists a bit of a technical flavour of 4.3, poked at
getting a guy setup.
Pizza lunch, caught up with David O - who just un-screwed-up
gerrit by discovering that the safe looking 'commit' and 'rollback'
operations were no-ops for our use-case. Caught up with Italo.
Hacked away at performance, trying to nail a half a percent
here and there on startup; certainly some law of diminishing returns
when staring at the profile there; occasionally enlightened by finding
something truly silly.
Out for dinner in the evening, with the team; back to the hotel
Mail chew; prepped for travelling to Paris today for the
LibreOffice Paris Hackfest.
Interested to read a great article from Markus on
Open Source & OOXML.
Registered for the LibreOffice conference here.
Into Cambridge, dropped some paperwork with Doree, onto
the station to meet Andrzej and to the Eurostar while hacking on
tiled rendering. Disabled persona image load in headless mode.
Train to Paris, met up with Markus at the station, tube to
the hotel, met up with Norbert & his nephew, out for some
pleasant crepes together, and on to an Irish pub where Kendy joined
us; bed late.
It is great to see Microsoft's OOXML
SDK project open sourced today; clearly while
Collabora Productivity backs ODF as the preferred document format - we're pleased to
see more FOSS appear out there in this space.
So what is it ? - Microsoft just open-source'd just
under nine thousand lines of C#, with around a hundred thousand lines
of code generated from the OOXML schemas. It is under an Apache 2.0
license, which seems reasonable (though I'd prefer a copy-left).
Where is it ? - The OOXML SDK is hosted at github - a great place
to get distributed, non-hierarchical, peer based community involvement.
Unfortunately the free-flowing goodness of github has an un-necessary
roadblock that goes with it,
hopefully one day people generally will learn.
Will LibreOffice use it ? (no) - Well mostly no; we have
our own internal parsing mechanisms written in C++, this C# code targets
the Common Language Runtime which has a different scope. We also have an
efficient, and tuned internal document model that doesn't match even our
ODF XML format - for example repeated formula are stored in groups to
assist with OpenCL
calculations so even if languages matched, switching to another
representation would make little sense.
Will LibreOffice use it ? (yes) Having said
that the OOXML SDK includes a rather nice validator. In recent years Markus,
a Collabora engineer, has been developing an awesome
torture test that loads fifty-thousand documents and re-exports
them to umpteen formats consuming a big machine for around five days.
One of those export formats is OOXML, after export we like to validate
those to try to avoid interoperability regressions. New and improved
validation can only help there, particularly the ability to go beyond a
simple schema validation to check extra constraints. OOXML / Strict
validation would also be lovely. Naturally we need Mono support (which I
hear is coming) since all our headless automated tests run under Linux.
We also currently allow configuration with
that validates the output from all of the unit tests that are run during
compilation - it would be useful to have a command-line tool for this
What about ODF ? - ODF still rocks just as much of course.
One feature I particularly like is
which lets you express an entire document, images and all as a single XML
file; in LibreOffice that has comparable performance to zipped ODF.
Is there an ODF equivalent ? - of course ! Generating and
parsing ODF or Flat ODF is really pretty simple using any number of platforms
and toolkits for ZIP / XML and in-memory DOM models. Then again there is benefit
to re-using and adding to semantic sugar around that. In the C# / CLR world
you can use AODL, or if
Java floats your boat Apache's ODF Toolkit which recently had a new release.
What about validation ? - currently our automated testing tends
to use Alex Brown & Cedric Bosdonnat (of SUSE's) nice Office-o-tron which
handles both ODF and OOXML, a nice combination to be commended to the
Who should I start stoning ? - From my perspective ODF wins the
standards beauty contest here hands down, but it's always good to have more
developers working in the open and working together. If we have fixes for
the SDK I suppose we'll try to contribute them back to github somewhere.
Obviously our primary focus is always ODF, as an enabler for the primary goal
of a better LibreOffice, and Free Software in every productivity environment.
Having said that, we increasingly store and preserve OOXML attributes we have
little use for in LibreOffice to re-export in order to ensure high fidelity
round-trips. Better validation will be appreciated for that too.
Quartet practise in the morning, E. fingers getting stronger.
Mail chew, call with Andrzej, good to catch up with his tiled
rendering work. Lunch. Booked AirBnB-ness in Bern for the LibreOffice
conference. Wrote a Linux Format column. Lovely dinner with the
Mail chew, ESC bug-stat. churn, chased a crash inconclusively,
poked Italo; reviewed some code. Lunch.
Pleased to see talk of Microsoft releasing an Android
Phone. Hopefully that will put to bed the threatening of
other ecosystem participants to extort unreasonable,
and un-earned royalties. Then again the ALv2 is really
not a helpful license in this regard. Surely its about time
Android had a more reciprocal (preferably weak-copy left) license
than ALv2. Looking forward to seeing the hardware.
Dinner, took M. to Cubs (geo-caching), back to play the older
babes at BosWars, worked late; bed.
Mail chew, weekend catchup, lunch. Team meeting, gap,
another team meeting, chat with Markus. BosWars in the evening
with the babes before bed.
Up late, kids playing Bos Wars (the modern chess I suppose).
Out to Pound Lane Free Church as
NCC are all away at an event.
Home, quick lunch in the garden; got going on E's sixth'
birthday party. Much cleaning, preparation. Lots of party games,
food, big water pistol fight in teams; much fun had by all. More
gaming, put babes to bed.
J. Mowed lawn, got Bos Wars setup for the babes; Barbeque
lunch, lots of doing not very much in the sun, very relaxing.
Mail chew, stats building, partner call. Lunch. Customer
call, dug at a problem with a unit test briefly.
Thrilled to see sanity apparently being promulgated down
the stack from the US Supreme Court on the topic of
Train into Cambridge - but it didn't arrive; shared a taxi
with three other ladies; into the office to meet a friendly partner,
talked happily for a while, Nandos for lunch, and a tour of
Back for ESC call, All Hands meeting, Advisory Board call,
then out for dinner with Neil, Guy, Philip, Rob & on for a drink.
Avoided the appallingly late Stagecoach coach, and train home.
Birthday presents / cards at breakfast - lovely. Plugged
at another performance issue. Lunch. Back to some admin.
Dinner - thrilled to have Baked Alaska - my favourite desert,
J. has learned to make it.
Amused to see Caolan's graphical illustration of the home
stretch of the Dialog Conversion task going on on master.
Built ESC bug stats, dealt with board mail; chat with Thorsten.
Finally unwound the SfxItemPool problem, and got the 5x speedup I was
looking for, albeit with some size wasteage due to the legacy binary
file-format used in editeng for copy/paste.
Lunch; work setting up a partner; scanning of printouts etc.
Dinner, read stories, worked late, left some profiles running overnight.
Mail catchup; new headphones arrived: disposed of the
versions I've been eeking out: with no foam, crackly microphone
etc; wow - comfort. Sync. call with Florian.
Fascinated by the trends of Degrees for Women.
Really pleased to William Gathoye's initiative of a LibreOffice Weekly News
Lots to write about each week of course, looking forward to issue #99.
NCC, Tony speaking on work/life balance and the importance
of time management for deliberate living. Pizza lunch, slugged over
the afternoon and ferried babes from parties; watched Frozen with
the babes, nice - but not so clear to me why its such a hit ?
Present opening with Elizabeth who is six (clever as clever).
Off to Dinosaur Park with Sue, Clive & kids - great to catch up
with them. Enjoyed a fine day together. Fish and chips in the car on
the way home.
Really pleased to see Andrzej's LibreOfficeKit Gtk widget - coming along nicely - though it needs some
tiling goodness I suspect.
Mail chewage, debugged a unit test hang fruitlessly, gdb /
python running out of virtual address space (having loaded ~every
bit of LibreOffice + debugging symbols in) with a segv; should
really run gdb in gdb but ... call with Kendy, lunch. Got some text
sorted & sent out finally.
Finally filed openSUSE conference expenses in the right format.
Up; contract work, partner call, board call. Dinner, partner
call. Pleased to see Joyent
doing the right thing and dropping it's contributer agreement.
Mail catch-up, partner call, team meeting, build ESC
bug stats. Handed a chunk of fun hacking to Tor to get back to
the admin. Wondered why the tool to do P2V conversions on
Windows XP installs doesn't do this
to educate the image about different controllers.
Mail chew, catchup; much of the day consumed getting E. to
and from hospital to have her last cast removed. Worked late.
NCC, Calan & Julie's marrige / blessing thing - lovely to
see them so smart & happy. Home for lunch. Slugged, read God's
Smuggler to the babes. Catch-up with the parents, called Grant &
Couldn't sleep in the morning, decided to hack instead,
read up on SfxItemPool and discovered that non-poolable items
were causing hideous performance grief on import. Chewed away at
fixing that; got some 4x+ speed win for larger write docs.
Out to help David move into his new home, lots of fun;
Used the B&Q/Herz rental thingit - which was interesting;
lots of lugging of good things; great to see David's nice new
home. Pizza dinner in the garden, home; bed.
Mail, contract review; fun; worked late.
Mail chew, monthly management meeting; ESC call - great
to see all open action items closed for once - clearly having a
week off is a good thing. Crunched more stats.
Great to read Markus' post on Property Mapping
for charts in LibreOffice 4.3 - giving the user control predictable
control over properties like colours used in the chart.
Calls with Florian, Philippe, partner, bits of mail and
hackery in between times; updated misc. stats left & right.
Mail chew; built ESC stats. If I was going to create a new
product I wouldn't name it after a serially mis-pronounced word
like "Yosemite", but perhaps this is indeed the way to beef up the
gnostic cult of Apple. Is Sedburgh or Llanelli next ?
Lunch. Catch-up with Markus, then Jessica - nice to talk
again after a long time apart. Sync. with Tor. Dinner, met with Arun.
Checked on the largo valgrind thrash - wow, systems (&
libreoffice) is much more valgrind clean these days - 26k
traces with 0 errors, vs. ~60 with an error of some kind; chased
a few issues idly. One silly caused 300k errors in a single
Mail chew; got a live build again, lunch, team meeting, took
E. to have her plaster sawn off, and her pins removed - much screaming
somewhat terrifying the registrar I suspect; afterwards when asked did
it hurt: "no" - extraordinary; either that or gas & air works better
than expected. An interesting thought - if an anaesthetic could remove
any recollection of the pain, but not the pain itself - would people
use it ? live for the moment - afterwards.
Plugged away at work in the evening, wrote LXF column on GSOC.
Dave Richards from Largo kindly donated some time on his new 80 thread
monster machine: we can easily & usefully absorb that running our
import/export tests through valgrind.
Off to NCC, helped Claire with the kids downstairs; back for
lunch; and out to a Laura's cake-bake / stall thing in Stechworth.
Borrowed pressure washer from Nigel and set too on the remaining
muck on the patio outside; got quite into gardening for perhaps the
first time ever. Taught the girls how to make concrete & re-point
the broken bits.
My content in this blog and associated images / data under
data/ directories are (usually)
created by me and (unless obviously labelled otherwise) are licensed under
the public domain, and/or if that doesn't float your boat a CC0
license. I encourage linking back (of course) to help people decide for
themselves, in context, in the battle for ideas, and I love fixes /
improvements / corrections by private mail.
In case it's not painfully obvious: the reflections reflected here are my
own; mine, all mine ! and don't reflect the views of Collabora, SUSE,
Novell, The Document Foundation, Spaghetti Hurlers (International),
or anyone else.
It's also important to realise that I'm not in on the Swedish Conspiracy.
Occasionally people ask for formal photos for conferences
Michael Meeks (email@example.com)