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, more admin, testing, chat with Thorsten.
Annoyed to see that Ahok
goes to jail in Indonesia for two years for blasphemy, despite no prosecution case or
real offence; pleased to see that
Fry walks free, although he is beyond utterly wrong about God who as Psalm 89
tells us has Righteousness and justice as the foundation of his throne. Not
a fan of blasphemy laws, discussing all things is important.
Poked at improving online unit tests.
Took E. to Addenbrooks in the morning; back, mail,
built ESC stats, call, plugged through the task backlog.
Read Firefox & Chrome's seccomp-bpf usage - which are
not particularly obvious.
Admin, commercial call; Board calls; call later, revised
Biology with H.
Up early, M.'s SATs start today - music practise, Bible
study etc. Mail chew, consultancy call, sync. with Tamas. Lunch,
more calls & admin.
Up earlyish, practice & played at NCC; Julie over for fine
roast chicken lunch; tidied up; played some games. Snoozed, finished cupboard
side kick-board. Out to play running games nearby the statue of the Queen,
racing, so walked through the graveyard rather than the heath; such a lot of
hopeless tombstones. Tea, read stories to babes.
A large degree of lazy slugging, up late, fine breakfast & lunch.
Tried to buy cheapish >700mm extension ball-bearing cupboard runners for H's
attic; without much luck. Up late revising Physics with H.
Slept poorly; out for a run with J. mail chew; and a series
of customer mails, calls, and so on. Lunch. Managed some fun hacks
between fixes. Re-worked online inter-thread socket transfer to
clean it up a bit.
Mail chew; sync. with Paolo; Lunch; chat with Lenny.
Thrilled to have Collabora
Online 2.1 released: months of work by Kendy's team
since 2.0. Naturally everything is already included into
what will become LibreOffice 5.4, which enters feature freeze
in a couple of weeks - for a first release in June. You can
checkout the latest CODE
docker container and get it setup. There is a huge amount of
work under-the-hood in Collabora Online 2.1; here are some
- Re-worked threading model - our 2.0 version
worked well, but suffered from significant complexity —
the Poco socket code was easy to start with, but that used
a blocking model. Thus to get both non-blocking read & write,
with sensible queue management required two threads per user
socket. This combined with another two threads per document, to
give four threads in the Web Services Daemon - along with a
multitide of locks, conditions, and corner-cases. Collabora
Online 2.1 replaces all of this. We've migrated to a mostly
non-blocking approach for almost all our SSL code. This yields an
simpler model - one thread per document, with almost no locking,
no lock contention, and significantly simplifies both the code
and reasoning around the interleavings as we change it - thanks
primarily to Ashod Nakashian & Kendy for their
- Improved socket code - the new non-blocking
socket code is rather simpler, more readable, maintainable
and of course built-in; easy to find who is responsible for it.
- Improved Bandwidth - in 2.0 we hashed tiles
to avoid re-compressing identical tiles (since PNG compression is
surprisingly costly), for 2.1 (thanks to Tor Lillqvist) -
we propagate these hashes to the client - to allow us to avoid
re-sending un-changed tiles. This reduces our bandwidth use
by ~50%+ in normal writer editing.
- State dumping - the non-blocking code uses
state machinery to a greater degree than before; to help debug
what state your server is in you can
pkill -USR1 loolwsd
to see any queued/un-processed data, queued messages, state of
document loading etc. in the logs.
- Calc row-limit - increasing this is thanks to
Marco Cecchetti who has been nobly wrestling with the many
and various ways Calc's non-affine, non-linear co-ordinate system
intersects with browsers for months.
- Commenting & Change tracking - lots of
hard work here to improve the core code to expose changes &
comments via various UNO commands from Pranav Kant, along
with helping out Henry Castro with his work on the JS side,
animations, prettiness and so on
- l10n & packaging - with many fixes from
Andras Timar improving lots of aspects, and with grateful
thanks to the LibreOffice translation community for their hard work.
- Code quality improvements - running the same
plugins as in the LibreOffice core.git by Noel Grandin and
- SVG icons instead of PNG for better experience on
HiDPI displays by Tomaž Vajngerl.
- Lots more -
git log collabora-online-2-0-branch-point..origin/distro/collabora/collabora-online-2-1
shows we had ~1300 commits, with 11 from non-Collaborans -
hopefully that will grow over the GSOC period. There are lots of
fun things that can be improved in Online, please do checkout the
and get involved.
ESC call, and minutes.
Early to rise - out for a customer pitch together;
a quick lunch, M-J kindly dropped me at the airport for
a near endless round of plane / bus journeys. Worked on
various bits of admin in the time. Lovely to be back home
with the babes.
Up rather early; long bus journey to Luton; worked
on E-mail etc. Eventually got my flight with some interesting
Arrived in Lyon, rescued a lost Moldovan Police Lady
travelling to Interpol, met up with Marie-Jo & Philippe,
enjoyed Marie-Jo's kind hospitality, helped Sarah's English
and learned lots of French.
Quick mail skim; out to Brandon Park for a walk
& play with the babes. Back for lunch, poked at home
tidying. Watched Interstellar with M. and the other babes -
hmm. Watched Line of Duty - great; sleep.
NCC at The Stable; home for a roast lamb lunch
with Sandra; played a card game, and running game in the
garden; H. injured her wrist. Tea, put babes to bed.
Slept in, finished The Amazing Maurice with E.
Breakfast, Bacon butties & H. made heart-shaped fried egg
Edged the lawn a bit, found the ice-maker water supply
was leaking in the fridge; bailed the drip-tray; re-fitted the
push-fit connection; interestingly there is a water-mill style
flow-monitor just after the solenoid actuator: presumably to
fill your ice-cube tray just-right independent of pressure; nice.
Up-ended the piano on its side, onto a skate-board (such
wonderful things), and moved it into the kitchen; swapped
other bits of furniture around to make more of our front-room.
There is always hope that after enough musical 'chairs' that
something drops out of the house at the end.
Watched Bill with the babes, put them to bed.
Poked at mail & bugs; really encouraged to see
Jens Carl and Michael Stahl nailing even more German comments;
calc down to ~1100 detected lines - 500 translated in the last
two weeks: wow. On that trajectory this is a final call for
getting your name into the roster of noble German comment
translators in LibreOffice; if Lennart
can help out - why not you ?
Took babes to school & ran home; bid 'bye to the parents.
Mail chew & other hackery.
Lunch. Chat with Swapnil. Worked away at seccomp-bpf pieces to
better isolate the LibreOffice Forkit processes; fun - eventually got a
signal handler working nicely; unclear how to trade paranoia for
performance when it comes to black-listing syscalls that look scary.
Dinner; Lynn over - read M. a story; helped H. with guitar
chords; sync. with Andras.
Parents off to Hazel's funeral; mail, code review, testing online,
call . Lunch with J. Merged improved compressed
file serving from Aditya with some cleanup, fixed a certificate issue with
Mail chew, chat with Tor, sync with Miklos, then Eloy.
Lunch. Poked at new ESC stats generation pieces from JanI and
built ESC agenda. Sync. with Lenny. Mail and task chew, read
stories to babes, parents arrived, bed.
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)