This is my (in)activity log. You might like to visit my employer
Novell 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
Mini lie-in, breakfast, Richard & Clint arrived - first
sign of the builders for some weeks: they set to work hammer &
tongs. Mother discovered a 'tic' on E. - guzzling away - prolly from
Thetford Forest - urk; took her to the Doctor; H. to school / sports
day. J. starting to recover slowly.
Poked mail. It seems we have an opensuse Moblin related mailing
list setup now subscribe.
Hacked away happily at a taskstat based bootchart collector in C - very
happily, lots of high-res goodness we can show there, in contrast to the
fearful /proc/*/stat bits.
Took babes to school, pre-school, J. to the doctor's; finally
got to E-mail, and package pieces.
Hacked away at netlink / taskstat goodness for bootchart.
Noticed that the hot weather, combined with the humidity of an adjacent
'me' is bubbling the the paint off my desk under my arms; hmm.
Parents arrived to nurse J. and look after babes - what a
relief; inspected the various works with Father. Claire Reed very
kindly made us a fine meal for the evening, what a dear.
Up early, dealt with babes while J. rested for much of the day.
Took the girls off to a party at Cheeky Monkey's, left J. to rest;
back, bathed & put them to bed. Sleep.
It seems Dhananjay now has
a blog. Up early, looked after babes while J. slept, idled around the
house tending to sick wife.
Off to Thetford Forest for Benjy's party - a great time had by
all, though feeling pretty exhausted & washed out myself. Drove
everyone home. Alba kindly came to baby-sit; took J. to hospital - chest
infection, anti-biotics and rest - poor girl.
Up, J. still in a bad way, call from Sanmarie - tap broken
and leaking; took H. to school - set off to fix tap - realised MOT
is today - set off for Cambridge.
Sat in the car show-room, experiencing '3' 3G mobile internet,
distinctly sub-optimal in terms of bandwidth it seems. Chewed through
older mail at some length.
Back, lunch, successful emergency plumber impersonation - back
Amused by Florian's post
on API design - very true; the real problem I see with using UNO
interfaces (for which read COM), is that migrating existing code to them
incrementally is abominably hard and inefficient, and never gets finished.
Put simply - it is easy to design the perfect API, what is more difficult is
to re-work the old code into the shape of that API. If you choose as a
pre-requisite an (essentially) viral technology like UNO that makes
incrementalism impossible: your entire API surface has to be UNO or not
at all (modulo evil 'tunnel'ing) - then you instantly turn the problem
into a "all or nothing" disaster area - whereby you have to re-write
"everything" all at once, and inevitably you do that either very badly
( and given the way UNO exposes concurrency issues on every single
call, this is almost inevitable ), or you take a very long time to
do it. By far a better way, is to design the new interfaces you want
(I assume there will be more than one interface), pick them off one by
one, and re-factor the code incrementally to them - testing for regressions
constantly. As/when that is done (if you can be bothered), providing a way
to add UNO-isation is then easy (modulo the legion concurrency hazards
you don't need to care about if you don't use it).
Up early, fed the babes while J. slept, took H, to school.
Did some Safety at Work survey thing. Call with JP. Finally got the
image building, and installing as required based on 11.1 - whoop;
Disappeared to nurse sick wife, and care for cascade of
children, music lessons, school collection etc. Back to prod at
image installation later. Pleased by Nat's recommendation
Prodded mail, prodded image building. Meetings much of the
afternoon, waited three hours to build three small package - most of
them in the state "Finished" for the majority of the time.
J. more ill in the evening, poor dear.
Up early; to work, installed a recent image; trotted off
to Cambridge on the train - pottered about enjoying the sun.
Caught up with the Collabora crowd. Pizza lunch, good to see
Train back; dug at mail, entertained babes while J. went
to a parent's evening. Dinner, Tony came over to talk - good time.
Amazed by the staggering ignorance of basic accounting in this
rave - if you spend $38000 now, and expect to get slightly less
than $38000 back over twelve years, you are loosing money.
needs to be compared in net present value terms; still, a >10%
return anually seems reasonable in today's market with ten year
treasuries at sub 4%. Anyhow, despite the numbers not adding up
he's hit on my new favorite solution for sustainable energy - Solar:
Up early, to work; battling the build system, amazed by
the under-thought Malthusian
coupled with supposed eugenic solution. At least Malthus had the exuse of
not having a large published literature on the subject to study first.
OPS call with Markus. Pizza with the family; read stories, put babes
to bed & back to work.
Up early, tidied & cleaned a little, off to NCC - some
encouraging testimonies, Tony spoke. Caught up with various people,
and off to Royston with Mike for a picnic.
Fine picnic in the open air, bouncy castles, lying in the
sun, playing with babes etc.
Mini lie-in, raining - so photocopied architect's drawings
of our home (if only they were actually accurate) - played what turned
out to be a highly popular map-reading game/race, involving finding
coloured dots around the house.
Lunch; cycled out to the heath with N. H. on their bicycles
- with an indominatable performance by M. on a tricycle. H. hugely
improved her starting, breaking and speeding away; N. doing well, M.
steering perfectly, encouraging.
Scaled the apex of the roof, and taped down / nailed the
flapping weather-proofing material down, duct taped various pieces,
sigh. Builders on holiday for another week.
Up early; to work. Chewed mail, did some research on JavaFX -
why not ? It seems that the thought of re-writing OO.o around JavaFX
has a few notable problems (behind the almost insurmountable technical
challenges). JavaFX is not
Free software - presumably it would have to be to base OO.o on it.
Of course - Jeet announced that it will
be: "We will put the core runtime out in the open over time."
sadly, that doesn't appear to have happened six months on; meanwhile the
already open Scene Graph has (rumour has it) been re-written, and the
re-write is not public either. Of course, the promised open-sourcing of the
plugin has been somewhat glacial too. Nevertheless - that all
sounds fixable (by Sun), and it would be great to get JavaFX out into the
open, but it needs fixing before any real discussion happens around
exclusively basing OO.o on a proprietary technology.
Lunch. Fairly appalled by the various media outlet's editing,
and excerpting of the Khameni speech, on every side - from AlJazera to
Fisk, to various blogs; where is a complete, un-edited translation /
transcript ? and why does that not come first, with analysis later ?
much as I disagree with most of what Khameni stands for - it is
precisely because I disagree with him so completely, that I would
like to hear him out. Finally found something here.
Poked at nbtk, found my css speedup was causing much of the
grief with new nbtk, disabled that and life is good. Nice. JP pointed
me at kayak which seems like a
rather usable travel site, in contrast to BCD's disaster. Booked
GUADEC flights (6th-12th), hotel in Italy, and did admin variously:
Up early, half day today; my 2^5th birthday. Poked mail,
caught up with happy hackers, kiwi fiddling with more success,
Got some great presents, some fine sacred music on CD;
and an interesting book Sustainable
Energy without the hot air - an extremely fascinating,
colorful and in (many) places droll
text. Also available for free on-line as above. I believe
David JC MacKay is the man behind Dasher -
and as such something of a Gnome related genius; a must-read. I
was particularly struck by the energy
cost of a single return trip
to LA, being in excess of a 1kW fire being on non-stop on all year.
Though being only on chapter six myself, I can't recommend it highly
Out to a violin lesson with Naomi; good to see her
improving. Laura baby-sat, and out for a meal in the evening: lovely
to get out, alone, with the lovely wife for once.
Up early, prodded mail; helped out Matt, Joey with packaging,
discovered a chunk of the team were lurking on
on the internal IRC server instead of freenode - and confused as to why
so few were there.
Prodded at bits for GUADEC; ineffectual kiwi fiddling, prodded at
trying to reduce osc build times. The compliation of mutter-moblin (on a
build server, from clean) takes:
So - it seems like the clear majority of the time - 2/3rds is
spent creating a chroot jail, which is (at root [sic]) just a
filesystem image. Untarring that (for me) takes 125 seconds - but
presumably with some cunning 'unionfs' or 'fuse' magic that could be
made 'instant'; roll on btrfs. Of course mutter-moblin is higher up
the stack - with 300+ build dependencies, but presumably decreasing
wins could be had for pieces lower down the stack too with pre-canned
|jail setup to end SuSEconfig||402|
|files / debuginfo||6|
|lint / checks||3|
|finishing / cleanup||18|
Tony & John around in the evening to talk; interesting.
Up early, boggled at the Iranian news generally, prayed for them.
To work somewhat late. Got stuck into unwinding some git2obs mis-feature
causing me grief with package versions. Booked UKUUG conf. hotel while
waiting for obs.
Finally filed all my expenses, before discovering (near mandatory)
'-k' and '-p' options to osc build. Plugged away at build / packaging bits.
Call with JP & team, then Paul.
Lydia over for dinner, great to hear the story of her trip to
the US, and catch up - good stuff.
Up early, prodded mail, caught up with Taiwanese friends,
tested package builds from the weekend, back to some writing slog.
Solmon over for lunch, eat with him for a bit.
Steelwork chappy arrived mid-lunch, set off with him, to
chisel through the plaster-board of the roof to reveal a slightly
higher apex than expected - nice. Measured this and that. Back to
almost finish lunch with Solomon, before being dragged away to a
conf-call; then another, and another.
Great to see the leftist's darling Chavez congratulating
Ahmadinejad on his victory; now there's a real democrat. More image
building and polish.
Up early. Elisabeth's first birthday, cooked her scrambled
eggs while J. slept - thankfully no-one dead of food poisoning yet,
cleaned & cleared up.
Out to NCC, Helen spoke pleasingly on the sword of the
spirit, (which is the word of God). Back for chicken dinner - tried
to persuade E. to unpack her presents (with little success). Older
babes very taken with E's sand-pit, much more so than her.
Re-applied myself to the root, ultimately with victory -
filled in the large-ish hole. E. worryingly learned to climb the
stairs today - discovered 15+ stairs up, on the landing. Cue long
training session on the under-developed art of going backwards!
Appalled by the plight of Iranian's, highlighted by Behdad.
To recover, it was necessary to laugh at the loonies trying to write
full-featured 'AJAX' applications for document editing, with all the
font and layout power that gives you (or not) css
is awesome - thanks Jeff.
Mini lie-in, interrupted by the postman; urk. Cleaned the
house while J. at the market. Into the garden to resume the attack
on the infamous, poisonous root; we have a radical [sic.] problem
in need of a solution. H. off to a party.
Persuaded by smaller people to take them to the playground
to dig in the sand; much sun-block application later, set off. Met
an interesting holiday booker there: Donna, sat in the sun watching
small people have fun.
Back for lunch; more effort at the root, consulted the
parents for input - acquired some spare, used bricks to support
the jack, and had much more joy - the application of a 2 tonne
weight can split a root quite effectively; nice.
Slugged for much of the afternoon, reading, played with
the babes, got them bathed & to bed eventually.
Managed to get my inbox under a thousand mails; half of
them unread - a minor victory; given the choice between hacking and
reading mail, I strongly prefer the former - but indulgence brings a
vast backlog of pain to recover from. Updated my previously bland
abstract for the UKUUG
Summer conference to be about Moblin instead, should be a fun
Prodded at Huawei modem issue with ModemManager with Tambet,
who it seems has fixed it already; knocked a few things down. Pleased
with the latest 'osc',
osc build error reporting has got
a lot friendlier it seems.
Started updating Moblin:UI to the latest git versions from
Intel / up-stream; discovered
.git/config with Pippin's
help; why no
git info or somesuch to cat that ? Slogged
away at porting patches & cleaning up Moblin pieces, at great
Up early, read the news; oh dear, oh dear, more ODF
fluff. The comments being particularly saddening, the lack of
sane structure, expertise, delegation and/or bandwidth in the
ODF TC to actually consider and act (in a timely fashion) on
all the proposals seems crazy to me. If we can't do this month's
work in two months, what chance that the six month backlog will
ever clear ? It's sad to see good proposals rotting, and that
TC still holding back progress in interoperability. Oh what a
tangled web, etc.
Poked at mail, priorities, task organistaion. Slogged away
at documenting patches for L3 / maintenance at some considerable
length. Out for some exercise in the evening - the clamour for this
from the immediate family has grown to breaking point; today -
To work, Michael had kindly found and unwound my obs pain,
built a fresh image. Somewhat amazed by nn; it seems the special meeting
of Sun stockholders will be July
16th. Chat with Kohei.
Interesting Desktop preload team meeting; call with Jared.
Break to see Suzannah & Adam, and play with the babes. Ham, Egg &
Chips for dinner; Back to work after putting babes to bed. Workd late.
Poked at a silly GMarkup stack bloating issue of my own
creation, fixed that trivially - encouragingly even if you inline a
caller to 'alloca' (g_newa) the stack is adjusted correctly
Prodded a pybootchartgui bug with Thomas, knocked up a
patch. Finally dunged out all the internal build stuff, struggled
with some obs issue, refusing to build the right source for some
Charl & San Marie over for dinner, nice to see them,
though sad they're leaving. Called Katie & Mike, friends from
Church, whose amazing (somewhat graphic) story of delivery
in a car, appears on-line.
Up early, poked at the OO.o performance issue on save I was
seeing yesterday. Amazingly some great chunk of the time during save
appears to be dedicated to rendering the scroll-bar, and doing some
un-necessary Java-ness; most odd.
Tried to disable Java, just to see if that is related to the
performance issue - there is still a check-box for that, thankfully -
Tool->Options->Java->"[x] Use a Java runtime environment".
Un-checked this, re-started OO.o, and I was amazed - simply typing
in a blank writer document throws up a dialog:
Fine - so, I clicked 'Cancel' - surely typing 'foo' in a writer
document doesn't per-se require Java [ in fact, it turns out that this
is generated by the Java Grammer checker extension ]; then amazingly
this shows the same dialog again, but with a slight tweak: the mouse pointer
has been warped (which is unbelievably bad style anyway) to over
the top of the 'Yes' button. So - if you try to continue clicking 'Cancel'
or 'No', you appear to get rid of the cascade of evil - but in fact
you just agreed to it. Of course - you only notice that because you
then hit the world's least useful modal dialog:
Sadly, since the dialog is modal, and you get an endless stream of
them, you can't in fact save your changes before force killing OO.o,
and there is apparently no way out of the retry loop. I mean - I
loathe Java less, now it's open source, but that is quite some evil.
It's amazing we expose 'SetPointerPos' in VCL now, I don't recall
that in the past, and it's hard to think of a sane use for it - it
seems lots of dialogs are now warping the pointer to the default
option [ urgh ], mailed the list; committed the patch to remove it
to ooo-build; of course it subsequently turns out that I must have
inadvertantly enabled the 'feature' somehow in the settings; hmm,
apparently off by default (thanks pl) - a prime feature to remove.
Back to writing meeting minutes. Knocked up some annotated boot
charts, and sent them to Joey. Filed some packaging issues around
boost-devel (200+Mb) and samba-client - at 50Mb or so, they seem quite
large, perhaps some static linking fun.
Dug at sysprof a bit; the GUI crashes for me, and apparently
valgrind won't help me this time - most odd.
Up early, off to Hertford to speak at Charlies' church;
shared lunch afterwards, back to their place for a cup of tea; and
drove home in the pouring rain.
Applied inaction & slugging, attempted to get to bed
early, but was too amused by Labour getting beaten up on the radio
election results, I didn't vote for UKIP, but they have some good points
to make I think. Despite lots of the problems not being primarily
Brown's fault - he could do a great favour to his party by being the
scapegoat and taking them out into the desert with him to die (or so
it seems to me).
Mini lie-in; worked on sermon for tomorrow. Lunch. Out to
Homebase - bought a circular saw: £19.99, amazing. Back - started
dissecting all that potential fire-wood in the skip: normally one
has to liberate timber from other people's skips - somehow less
satisfying to do it from your own.
Discovered some pine tounge & groove planking in the
bottom - amazing; no idea where it came from - repaired the
children's swinging seat with it.
Attempted to jack the laburnam root out of the ground,
with handy 2 tonne car-jack and suitably beefy new steel chain.
The previous fairly reasonable nylon rope didn't survive this
experience for that long. Some encouraging movement, but not
enough travel on the jack more digging required.
Dinner together, popped babes to bed; more work on
Sermon. Poked at mail and build service bits, I just discovered
a use for non-versioned links - created some new IBS projects
and started a new set of packages building to be ready for
Monday - thanks to Ruediger for reading mail at the weekend.
Up early, poked at the poll results - sad to see the same old
Prime Minister in office; a change is as good as a rest (so they say).
Prodded mail, Joey making some great progress on bootcharting
some of our slower systems. Wrote LXF column on Moblin.
Amused by the talk
of re-writing OO.o based on JavaFX. Of course - there is much
about the OO.o code-base that betrays it's palaeolithic origins as a demo
application for a trendy new toolkit (now VCL) from 20+ years ago - many of
which badly need to be undone with a clean re-design. Of course - opinions
differ on how long it would take to re-write OO.o in C++ - ohloh
suggests it is > 2000 man years. Lets briefly drink the cool-aid and believe
that modern managed languages magically solve all complexity problems, are the silver
bullet, give a 10x programmer productivity boost, and that we can throw out
a chunk of the component, toolkit code. That leaves perhaps 200 man years of
work. With Sun's OO.o team of under 50 programmers, assuming they abandon
OO.o development completely, that is a four year endeavour; but if we look on
the pessimistic side, it could be several decades. Who knows - it may even
happen; Corel Office's total melt-down from porting to Java occured (after all)
when CPUs were slower, RAM was more expensive, garbage collectors were worse, and
Java was far less mature & well understood. At the end of the day though,
where is the win for 200 man years ? a newer code-base, with newer, different
bugs; a different set of performance problems; perhaps some better architectural
under-pinnings; the deployment problem is moved from one of deploying and
managing the right version of a fat-client OO.o to the right version of
fat-client JavaFX (and version management, and certification of multiple
applications, each against a thick-client stack in the same browser is
very much an un-solved problem AFAICS). Of course any idea that this much
Java is going to run on your phone, or that somehow (magically) the UI will
'just work' on small devices without substantial extra work is a pipe-dream.
Personally - luddite that I am, I'd prefer to stick with re-factoring and
optimising the code in C++, and adding incremental managed code
(if any) for new UI features.
Poked at Intel 2D / cairo rendering performance again. Interestingly
my cairo trace seems to run faster on the Intel / 2D netbook than my laptop;
interesting, perhaps the problems lie elsewhere.
It is interesting to see Sun promoting the MySQL
extensions for OO.o, it looks useful enough, but is interesting primarily for legal
reasons; libmysql - last I looked, instead of being LGPLv2 (or v3) was
GPLv2 (ie. incompatible with LGPLv3) with an EXCEPTIONS-CLIENT
list - that (interestingly for 5.1) does not include the [L]GPLv3 - in it's
FLOSS License List, although the web page does (and
has a different text). This curious approach to licensing, combined with the
obvious gotchas for ISVs (sic) was the sometime basis for MySQL's 'interesting'
revenue model - for which they would arrive and demand retrospective compensation.
The curious terms also (seem) to mean (to me, IANAL) that anyone unwittingly bundling
the mysql connector with OO.o on a CD, will need to include complete source for
OO.o; and can they compile ICU in ?
( at least one other license that's not listed there - or is ICU BSD ). Oh, and of
course combining that extension with any other non-open-source extension seems
unfortunate too. It is also curious that the component's page
lists the license as LGPLv3 - does this herald a new dawn in client
licensing sanity from MySQL ?
Looking deeper; downloading the Linux extension (essentially a .zip file) as
you can do here
(please do) contains a full copy of the LGPLv3, with this as the only license flagged,
and inside the .oxt
libmysql.so.16 - it would be great to get the source
for that library under LGPLv3 too (or was that already announced elsewhere ?). Of
course if this was a simple licensing blunder, would it be right to hold Sun to
it ? odd -
but potentially very positive if Sun is going the LGPLv3 route here.
Up bright and earlyish; voted; off to London to visit Intel.
Really pleased to see Eric & a chunk of the X team there, and
catch up with them - even multiplying my understanding of GPUs
drastically over a fish & chip lunch by the Tower of London.
Caught up with Rob, Nick, Matthew, Dirk, and many more
lads there - compared tangled problems. Much fun. Back on the
train; poked away at bootchart - suddenly realised that one thing
about C# that annoys me is having to compile things - I love this
#!/usr/bin/perl -w thing. Hacked up the world's
lamest bash script
#!/usr/bin/mono-cs to be used with the ultra-
fast Mono/C# compiler to make a gtk# 'Hello World' app
easier to run. Surely, it already exists and I'm missing a trick here.
Poked mail, sent mail; home to beautiful wife.
Up early, to work, OO.o team meeting, call with Jared.
Played with bootchart & kernel timer resolution in
/proc/[pid]/stat which looks shockingly bad - no wonder we
don't get great activity rendering in our bootcharts.
Built new kernel to try to export something more interesting.
Baby-sat while J. visited the consulting dentist - it
seems a while since the acute pain; thankfully she seems to have
escaped unscathed this time : good. Dug at payroll tax issues; what
fun. Call with Snorp around SLETC - interesting things live there.
Up early, pottered around cleaning the house up for J.
Friendly call from the builders to remind us they exist - apparently
they do still. Started on the tedious admin backlog - got the
printer working, printed expenses sheets.
Distracted by an avalanche of interaction - three flavours
of Rob, Thorsten, Fridrich, Charlie Bancroft wanting me to speak
on Sunday; Poked around at mojito with Robster. Poked at gnome-menus
Lunch; more E-mail, call with Thorsten, then Florian.
Chat with Paul, conference call, call with Srini. Poked at Empathy,
which for some reason has write-only channels, for me, for now - odd.
Up early, interrupted before breakfast by JP needing a fix.
Worked solidly much of the day debugging this and trying to fix that.
xset -dpms can in fact enable screen blanking,
while without it
xset dpms 0 0 0 actually works -
interesting (or perhaps it was the
xset s noblank that
was my friend).
Chased a random mutter moblin crasher at inordinate length,
turned out to be a juicy CORBA / gconf / e-d-s re-enterancy bug that
had to be seen to be believed; a ~3 line fix that appeared totally
On to an exciting mojito issue, spent hours reading the code,
and trying to work out what is (not) going on with the network; found
a juicy NM bug on the way with resolv.conf re-writing & on-line
James grabbed me about an OO.o / screensaver interaction
issue, seems we missed an
--enable-dbus in our OO.o
compile, most odd - it used to be there. Bed rather late.
In case it's not painfully obvious: the reflections reflected here are my
own; mine, all mine ! and don't reflect the views of 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 (email@example.com)