This is my (in)activity log. You might like to visit my employer
SUSE which is an amazing company, and also
Dell who in days of yore provided me with a
free laptop for Gnome development / conferences.
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.
Stuff Michael Meeks is doing
Teachers on strike, so babes out with J. all day on
an educational aquarium trip (to visit some sea-horses).
Mail chew; plugged away at postgresql packaging. Reviewed a
nice patch, read the git log, dealt with neutral security
list bits. Lunch.
Desktop team call; dug at calc subsequentcheck
performance issues, discovered another rats-nest (or
'sleep'-nest) in qadevOOo.
Freedom in Christ course until late.
Prodded mail; checked out some travel details. Setup
really neutral security mailing list and updated our
also trying to reduce the flow of bogus bug reports
created by poorly crafted Window virus checkers, and random
user questions on the list.
More mail; poked at Lionel's nice postgresql driver
work and packaging. Chivveyed people for meeting availability.
Dinner, water coming through the roof in the workshop,
luckily detected before it destroyed plastic printer #3 and
it's controlling netbook - urk. Retired to work on software
instead - merged / fixed / cleaned up a number of repsnapper
Dispatched family to school, chewed mail; wrote status
report. Lunch. Chat with Charles, Camilo, more mail. Pushed the
More mail thrash and build fixing, dinner, put babes
to bed; back to work: created commit account for Astron,
reviewed Olivier's nice extension manager patch.
Up lateish; off to NCC, Tony finishing Nehemiah. Back for
a quick lunch. Knocked up a heater fixture with embedded thermistor
and plenty of thermal grease, finally got that all wired up.
Practised cycling in the road: M. finally pedalling
beautifully, and starting herself. Practised turning with N. and
weaving through patterns with H. Back inside for an Alice in
Bed early, Watership Down going well; listened
to Graham sermon on Daniel 5.
Up earlyish; looked after babes while J. slept. Drove
to Bruce & Anne's - good to see them; lunch. Out into Aldeburgh
for the lights-turning-on-extraveganza.
Back; managed to knurl some stainless steel M8 bolts
on Bruce's lathe. Pizza tea, bathed & packed everyone into
the car. Home again. Poked at reprap endstop wiring and got the
axis all working.
Mail pokeage, read through the git log; thrilled by Bjoern's
improvement of 'make subsequentcheck' to help pin down the errors it
throws up much more precisely. Patch review, merging.
Compared notes on my child-count with HR - good to agree on
that sort of thing. More patch review and mail creation. Extremely
amused by lmgtfy, apparently
ideal for people asking lazy questions that havn't found the
sweetest search engine yet.
Amused by the PDP_ENDIAN cleanup / removal from François Tigeot,
I'd never noticed Middle
Endian-ness before, may it rest in peace. Sync. with Holger.
Out to the school faire, alone with four babes. Helped to get
the pre-school stall setup, and babes through Father-Christmas sausage
machine (before it jammed up). Eventually home, got babes to bed.
A Thanksgiving fund-raising dinner for Hagar - twenty guests
plus three helpers (with some great American input on unusual food).
Up rather late talking & tidying up.
Chewed mail, read some dense text, researched database
drivers. Was just enjoying the brave-new-world of web-apps filing
a github bug, when I again accidentally pressed the "loose all
your data" button that Lenovo helpfull place next to the left
arrow key: returning to the page, it's not there: lovely !
Apparently authoring in emacs & cut/paste-to-web is still
the best way to go.
Suddenly got a number of patches for repsnapper,
exciting times. Team meeting, TSC meeting, call. Encouraging
that we now have so many (fast, in-process, compile-time)
tests, that we have to start deferring them to 'subsequentcheck'
simply for speed reasons; roll on more thorough & useful
Poked subsequenttests, 14 minutes of waiting, and an
opaque failure; bother. Dug some pieces out for Tor.
Dinner; managed (finally) to get a bootloader burned
onto my Arduino mega so I can program via USB (without
removing the shield). Wired up the Mendel & got all the
axis & extruder going, fun. Spent some time sorting out
my prayer diary.
Call with Vojtech; dug through mail, wrote up some code
pointers for an exciting new sqlite / base hacker. Poked about
openVPN setup. Lunch. Patch review / merge, mail.
Freedom in Christ course in the evening, and a chat
Packed babes off to school; chewed mail, listened to
SUSE quarterly update call. Off to Cambridge on the train,
lunch with Rob & Guy, good to catch up, train home.
Caught up with hideous mail / spam-filter / delivery
issues making my life quieter than usual; merged a patch, back
to digging into passive registration. Found a strange un-necessary
activation of the component we had carefully passively registered,
removed it - bingo; much cleaner / faster startup - poked Stephan
for validation etc. Hopefully this will clean out Windows' users'
first-time experience of endless complaints about missing a JRE,
and push that back to when an extensions is actually used.
Interested by Lubos' nice analysis of a Qt threading
though I hope
we can solve it more elegantly (looking at moveToThread
I'm not so sure). I thought it was only ORBit2 that had magic code
to check the thread-id we were initialized in and behaved differently
there for compatibility (due to missing gmain API way back when).
Spent a long while trying to get an Arduino Mega boot-loader
to load, without success; irritatingly the Pololu AVR programmer
seems unusable from the arduino environment. Chat with Legal in the
J. out to meet up with Sue. Slogged through the mail,
read the weekend's git commits, more mail, tested a windows
package. Patch review.
Wired up new Mendel electronics in the evening, turned
on briefly, got a rather hot stepper driver & off again. bed.
Set off to Church, only to discover car battery flat; kindly
rescued en-masse by Dave & Cathy. Helped out in creche.
Home, roast chicken lunch, slugged with babes, got a bit
of wiring done. Out to the race-course with babes - M. having had her
bike seat raised doing some excellent pedalling: nearly 3/4 complete
wrt. training to ride a bike. Helped H. and M. climb a tree.
Back; babes slugged in front of a DVD, while I constructed
end-stop cabling. Tea, bathed & put babes to bed, read stories.
Dismantled the old microwave mining for spade connectors
for new micro-switch end-stops. Lots of fun in there, including
three ~identical micro-switches (apparently they -really- believe in
interlocking microwave doors). Judging by the weight of the
transformer, and magnetron - this is a rare
pre-substantial-cost-engineering microwave. Soldered up spade
connectors & cabling.
Up earlyish; dropped babes off at Chris & Claires, picked
up Claire and into Huntingdon, for the Freedom in Christ all-day
whatnot. Remembered just before leaving that I was supposed to lead
some songs; took guitar & books & prepared in the car.
Arrived, sang a bit, some stock course DVD action interspersed
with prayer, reflection etc. Bought lunch with Andy at a nearby Greggs.
Back for some more; drove Cathy, Heather & Judy home; back
to relieve Sandy from the child care. Played with babes variously
until bed: clock patience, etc.
Pottered about with the reprap, trying to crimp ferules, make
connectors, cabling etc. for steppers. Eventually made some progress.
Dug through mail, prodded the helpdesk about some bits.
Read the git logs, nice to see August's line-number rendering
for the basic editor get in, and Lionel's cleaned up postgresql
Installed the latest SLED11 serive pack build to do some
debugging, filed a few easy hacks. Reviewed Astron's nice handle
patch (at long last) and merged it, glue-points now look far more
visible and sexy.
More admin, patch review, meeting scheduling etc. let
Janice in for Friday club, dinner.
The caveats. As to my motivation (please remember to play the
man not the ball): I do not intend to make anyone afraid, uncertain or
doubtful. If graphs scare you - please look away at this point. These
graphs are built from estimates, hopefully they are fairly
un-controversial ones, I detail them at the bottom.
This is probably misleading in all sorts ways I didn't discover
yet. My hope is that it provides a more helpful picture of the world today than this history
graph that gets a frequent airing. By rendering only the last two years, we de-clutter
lots of lapsed projects, and by not rendering version numbers we can use perceptual
area for showing something more useful: an estimate of user-base. As/when
I discover major bugs I'll update this, it is a work in progress:
A user-base & release picture
This is clearly where it gets hairy. I've tried not to offend people,
though I've tried to round against my obvious bias. Also, drawing very thin
boxes in draw gives some rounding imprecision.
OpenOffice.org was commonly supposed to have around 100m
users, the vast majority on Windows. I collapse the (sweet) Portable
variants, as well as Linux distribution versions of both LibreOffice and
OpenOffice into their parent project to simplify and clarify.
IBM announced that Lotus Symphony had 12
million users; I rendered it as 15m, and include it as an open source
project on the basis that its opening is promised.
OOo4Kids has a download counter that reads 1.05m downloads today, so
I turned that into 1.5m to be safe.
LibreOffice has a conservatively estimated user
base of 25m (cf. Gartner's 35m Linux Desktop users alone).
NeoOffice had around three million
per year; though they claim a user-base of over half
a million. I put them down as 1m.
OxygenOffice has a couple of million downloads, over 500k in the last year (vs. 2.2m over all time), so I put
their users at 0.5m.
RedOffice is omitted, mainly because I found it hard to find
release date information, nevermind estimating user-base. The best stats
we have don't suggest a vast Chinese user-base though.
Everything is meaningless
Of course user-base is a poor heuristic for future relevance.
That would be driven by features and marketing, as provided by developers
and contributors. Potentially graphing contributors in a similar way would
be possible, but that was harder to acquire in half an hour. It would be
ideal to render more than a rectangle - showing the evolution of the
user-base over time, but I don't have that either, and there is some
considerable estimation here. Finally, this doesn't include AOOI, which
has yet to release a product, it'll be interesting to see how things
change when they do.
To work; poked mail, admired the nice new SUSE careers page.
Patch review. Dug at some statistics. Amazed to see Winfried
(a native Dutch speaker) translating German comments into
English in the code.
Team meeting, Tor pointed out
which I should use apparently. TSC meeting. Chat with Bjoern,
dug out a document for him; investigated the anchor issue some
more for Tim. Deleted the (now merged) feature/gtk3 branch.
Dinner, bit more mail. Managed to program my
hardware and get repsnapper talking to it - dug through the
workshop to dig out some connectors & ferules.
To work; mail chew, staff meeting with Ralf. Chased some
bugs around the (unfortunate) usage of sleepycat db databases to
store trivial amounts of data - eventually unwound the problem
and discovered a nice speedup hiding behind it too.
Call with Charles, board call, dinner. Back to work
Up early; nice to see a blog about the great Visio
import work done by Eilidh (Google Summer Of Code), Fridrich,
and Valek (frob); it even comes with pretty pictures like this:
It will be ship in LibreOffice 3.5; great work guys.
Mail read / write. Tried to get LeakTracker to
install & run; without any joy, poked at tcmalloc with
Lunch. Put out a call for people to submit technical,
LibreOffice talks for our FOSDEM
More mail chew; and patch review; call with Ralf. Dunged
some obsolete patches out, more mail. Babes to bed, dinner with Lydia,
Dave over for Bible study - lots of fun; three verses in two hours plus
lots of interesting digressions.
Up; reviewed the weekend's patches - some good cleanups.
Poked mail, lots more nice patches to review. Chat with Benjamin.
Amused by a reasonably accurate (and thus brave) Steve
Wrote LXF column, checked business cards, wrote status
report. Dinner. Chat with Bjoern, legal review, more mail, bed
Breakfast, off to NCC; Tony spoke on taking the Bible
seriously. Home; Matt, Rachel & Levi over for lunch &
Played drafts with H. and M. for a bit, short DVD,
dinner. Bed early.
Up earlyish, breakfast with everyone. Poked at some
code - an odd crasher loading Calligra generated odts. Chewed
queued up mail from yesterday.
Amused by LibreOffice not printing on Tuesdays.
Good thing I re-wrote that code to use a more portable
iso-date/time for 3.5 (as part of an unrelated vcl
re-factor) - but really a system bug.
Lunch, played with assembling the reprap; got it mostly
done - with micro-switch end-stops attached etc.
Out to the race-course with the babes - lots of cycling, M.
finally pedalling and steering concurrently for a substantial
distance. Lots of minor spills & scrapes, helped the eldest three
climb a tree, smearing themselves in green grime - but doing an
excellent job of it (despite occasional assertions that they
just can't do it). Home.
Up earlyish, out into Cambridge with Elizabeth - bus from
the high-street (great excitement), tried un-successfully to find
The Body Shop.
Wandered happily onwards via walking along the mini
Kings Parade walls to the Fitz. Amired statues, wandered the
picture gallery balcony, knights on horses; and off for an early
Nandos: chicken and chips munching with strawberry
yoghurt - back to the Sedgwick Museum - after seeing Night(mare)
at the Museum E. is still somewhat scared of bones - despite
Back; another bus - terrible queues for train tickets at
the station; finally got a ticket, missed the train - an hour of
reading books to E. Finally home.
Emily over to play with babes, Janice & lots over for
Kids Cell, Clara stayed while Joe played with N. - put babes to
bed, J. out counselling, Keziah staying for a sleep-over; tiring.
Caught up with mail, and worked until late - nice to read
the git diff after a day away.
Chewed mail, visited dentist for tooth guard fitting (it
fits). More mail, filed several more fun Easy
Hacks, from dog-removal, to making life easier for artists.
Lunch. Dug at a subsequenttest issue, very inconclusive.
Team meeting. TSC meeting. Poked at impress filter unit tests.
Dinner; Lydia, Janice & Dianne over - disappered to
hack on impress unit tests. Pushed, tomorrow I'll take off for
a day out with Elizabeth.
Prodded mail, read last night's git log, noticed that mst
had fixed the sdi dependency issue before I could file it as an
easy hack - lovely.
Poked at websockets at some length, gotcha'd by
big-endian-ness referring to the MSB as bit-zero, fixed that,
binary websockets not supported by the latest FF, luckily our
protocol is really text. Lunch. Got bi-directional comms going,
with masking and enjoyed the dis-connect / re-connect from
another browser version to the same app.
Desktop staff call. Ordered a faster build machine to
accelerate my somewhat turgid LibreOffice builds.
Freedom in Christ course in the evening, then glued up
the reprap X carriage, and played with it - just need some
improved end-stop holders for my oddly shaped micro-switches.
Prodded mail, merged patches, looked at compilation issues.
Spent much of the day on bug fixing, E-mail, call with Thorsten,
Guy (on pink feathers), Charles etc.
Poked at websockets nastiness in the evening.
E. watches some cbeebies while I pray in the morning; it
seems the Thou shalt not watch live-TV edict has got through
to the littlest babe (since we don't pay the license fee) albeit in
a slightly distorted form: "Don't click on that ! it's
deadly live !". Perhaps some electricity related metaphore,
the mind boggles.
To work; re-fixed the Windows manifest compile / dependency
problems fix, so as well as having correct deps, we actually compile
the right output as well. Nice to have a mingw build to test that in.
Chewed through mail, a number of nice patches to review / merge.
Lunch. Chat with Martyn, pushed the fpicker re-work.
Lunch. More admin, wrote a calc post-it note unit test.
Dinner. Glued reprap slide bearings in - each of which slides nicely,
but together they're not so smooth, hmm. Bit more mail & hackery
in the evening, while J. did her tax return.
Up earlyish, breakfast and out for band practise with
Lydia, played in service, did creche. Back for lunch with David
& family, slugging, bid David 'bye.
Pottered with the plastic printer while babes watched
Howel's Moving Castle, tea, put babes to bed & read
stories. On-line sermons in bed.
Pottered around, printed out a few pieces, and squared /
aligned the new Prusa Mendel frame while J. sorted the garden out.
David arrived in time for lunch, a rainy day.
Sandy dropped in, set too on a big stamp jigsaw puzzle;
Bruce & Anne came over. Chatted variously, and pottered
about with David fooling around with this & that in the
Up late by the fire enjoying David's company.
It seems H. has developed an affectionate habit of trotting
back for a kiss while leaving for school, as a subterfuge to 'it'
her Father; endearing.
Quick mail prodding action; slogged at the windows gbuild
dependency issues, and (I hope) finally nailed the parallel manifest
generation issue. Poked at some unit test breakage on windows. Started
to push the file-picker code down from fpicker/ into vcl/.
Lunch. Plodded away at the file picker re-work much of the
afternoon. Dinner, put babes to bed. Printed out a nice set of slide
Up early; mail triage; more nice patches from Cosimo, perhaps
we will ship a working gtk3 backend in 3.5 after all. Patch review,
poked at the n'th iteration of my TLB thrasher; I strongly suspect that
my cunning plan to allocate 1Gb of memory in one chunk and access it
in odd ways, may have been optimised page-table-wise by the cunning
kernel; re-worked it to re-discover a factor of two effect; poked
a friendly VM hacker for more.
Early lunch (daylight saving), then TSC meeting, team meeting.
Call with Norbert. More mail. Dinner - wash-out of a day hacking-wise.
Dinner, babes to bed, bit more hacking; Helped J. get involved
in bug triage.
Up early; read mail, started on admin tasks; detour via
prolongued timezone mismatch / sanity checking program. Lunch.
Advisory Board meeting.
Thrilled to see Matt's nice interactive
word count feature pop, out of the blue, into the code-base,
lots of happy users there I hope, and to simultaneously get some
beautiful gtk3 code cleanups from Cosimo is a lovely thing.
Reviewed more misc. patches; realised my TLB thrash
code is just junk, and having fixing it the relative win is
tiny (I was measuring a cache effect: annoying & odd, more
thought needed). Pleased to see Tim Hardek start as an intern
on LibreOffice today too. More mail / admin.
Freedom in Christ course in the evening.
Up early; wrote to three of my Euro MPs expressing my concerns around
ACTA; it turns
out that the Vice Chairman of the International Trade committee is my
MEP, how interesting.
Poked at tinderbox logs, and discovered and fixed a number of
nice bugs visible in the MSVC++ warnings (annoying). Filed more easy hacks.
Poked at the drawing object handles code, it seems pressing ctrl-tab
with a drawing object (in writer) selected lets you cycle through the
control-points using the keyboard, which flash; fun. Nailed the gtk+
timeout burn issue. Lunch.
Knocked up a small TLB thrashing test case
to highlight why memory arrangement of large data-sets can be really
important quite apart from cache issues. Noticed during development that I
could wedge my kernel repeatably (some no-swap + SSD joy); upgraded to
3.1.0 - the OOM killer seems much more trigger happy and useful; good.
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 SUSE, Novell, The
Lithuanian Gov't or Arnold Schwarzenegger. 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 (firstname.lastname@example.org)