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
Up lateish, breakfast, finally got a dental appointment
for Mother. Out to Lackford Lakes for a wander, and play in the
Back for a fine lunch, combined with celebrating a near
recovered Mother (minus one wisdom tooth). Parents left, watched
the Muppets Christmas Carol with the babes. Much excitement at
Tie dying of T-shirts with Becky.
Up extremely late; re-started a funky butterfly
puzzle with Becky & Julia. Lunch, bid 'bye to Robert
and Ilona; slugged around tidying up & learning new
games. Marshalled the babes off onto a cycle ride with J.
Watched Polyanna, put babes to bed, up talking
with parents, Tom & Becky by the fire.
Up late, slugged until an early Lunch. Marshalled babes &
brothers to get to Duxford, wandered the air museum at length, enjoying
the fine interactive science of aviation display we'd not seen before.
Lovely time wandering around looking at all the semi-obsolete hardware
including the Eurofighter.
Back for dinner, Sandy & Daniel over to play games during
the evening. Read some of Freakanomics, amused to notice the Klu
Kulux Klan's rather amusing practise of prefixing many
roles with Kl: 'Klansman', 'Kloran', 'Klabee' etc.
Stayed up watching The Frozen Planet (J's present on DVD).
Up lateish; set too cleaning N's bedroom for Becky -
tons of cruft scattered everywhere, got it into a good state.
Lunch with Becky, tidied up the workshop, adjusted the
drill press; lots of washing up. Robert & Ilona arrived,
Lunch. Barbara, Colin & Chris arrived later. Out for a walk
on the heath together. Buffet dinner, played pit until late,
sat and talked to the brothers & girlfriends happily.
Up early; set to work on a lengthy list of tasks to get done.
Dismantled upstairs toilet window mechanism - a victim of feeble
aluminium casting fatigue. Machined a new gear from a couple of
washers welded together, ground & filed into shape: works
Laura & babes over to play and for lunch. Cut down
shelf to make childrens reading nest (suspiciously sited right
outside my office).
Worked at cutting & mitring magnetic strips for
secondary glazing with Father until dinner. Chat with JP.
Somehow (despite wearing goggles) managed to get a metal
splinter in my left eye - just towards the nose of the cornea.
Started to irritate the eye-lids; read about such things and
headed to A&E at top speed. Some tender administration of
poking around with a needle, and scanning the eye resulted in
its extraction: good. Back to bed.
Up late - first day of holiday; decided to shut my (now
defunct), US based employee stock program E-trade account;
attempted to use the website, fell back on phoning. Apparently
it is necessary to send them a picture of my passport and a
letter to close the account: nothing like making it deliberately
difficult to shut an account. Interestingly, they didn't require
any form of Photo ID (or other) to open the account, only to
close it. Even more amazingly, the steam-powered E-bay appear not
to have an E-mail address for sending scanned copies, but demand
a fax: no doubt validating the ~one inch signature from my
photo-id against another signature in the same fax, both
presumably at 150 DPI, is ultra secure. Eventually discovered a
rather easier way of closing it to get a dollar cheque.
Out to the Brighty mulled wine & mince pie party in
the evening; nice to catch up with the family.
Back for dinner. put babes to bed; David over in the
evening for Bible study. Parents arrived too from Yorkshire; up
late with them.
To work, more mail and document review. Tried to address a nasty
X / multi-head crasher, but simply can't reproduce it; Xephyr
defies my best efforts to create a functioning three-display xrandr setup.
Dear lazyweb - how can I get 'xrandr' or gnome-display-manager to give me
three displays of arbitrary size with Xephyr ?
Poked at an RTL bug instead; discovered the presenter view has
a substantial number of RTL bugs.
Lie-in, breakfast, stayed by the fire with H. in
the morning. Out to practise for the carol service in the
afternoon, followed by service (M. a reluctant, but eventually
triumphant angel; N. a Magi(?), E. a lonesome audience). Party
food afterwards; home, put everyone to bed, holiday atmosphere
reigning. Movie in the evening, sleep.
Up lateish; fooled about tidying the house and slugging with
the babes. Lunch; out for a churches-together angel parade in the
afternoon - visited the Methodist church, and then some animals in
Home, put everyone to bed; H. horrendously sick in the night;
much changing of beds, clothes, scrubbing of stuff; urk.
Packed babes off for their last day at school. Poked at
OpenVPN issues, signing and double signing and other nonsense.
Plugged away at stubify and packaging the results to upgrade our
legacy build systems, stymied by an old internal glib.
Got my openVPN credentials, tried to match the out of
date wiki steps to the changed network-manager UI steps; failed
to connect by either of the native openvpn commandline, and or
the GUI; clearly unnecessary obscurity and complexity adds that
extra sugar-level of 'security' to the system's guts.
Dug out and linked license statements from the archives,
fixed a multi-display bug.
Took babes to school, and attended their music assembly, all
of them playing something - really good to get used to performing from
a young age I suspect. Back to try to unwind some minor cultural mismatch.
Patch review. Lunch, helped Tim with the fence. Team call,
TSC meeting, another meeting; posted minutes, misc. admin.
Out carol singing, mulled wine & mince pies later at Mike &
Thea's. Back to catch up with Julien until late.
Up; mail chew; one-to-one with Ralf, off to the pre-school
play; more E-mail, status report, admin fluff. Back-ported Lubos'
nice docx comment export code to 3.4.5 to avoid data loss there.
Prodded annoyingly intermitten sdi compilation / race bug - most
Breakfast at Church, Hannah's dedication service; Claire
spoke. Home, applied ourselves to a new jigsaw puzzle with strange
3D / striated pieces - really rather hard.
Watched The Princess Bride with the babes, more
applied slugging. Got the new reprap calibrated and the heater
going and extruding. Seems there was some code flagging any
thermistor showing sub 5 degrees Centigrade as broken and thus
dangerous - clearly written by someone from a more temperate
Set off to Sue & Clives earlyish; finished Watership Down
in the car; fondly remembered last year's horror snowbound journey.
Arrived, Bruce & Anne staying, played with fun sized nephews by
the fire, caught up with all & sundry. Excellent roast pork lunch.
Out to watch the Christmas steam train passing nearby. Back, for more
slugging & family enjoyment, drove babes home late.
Up early, parents arrived for breakfast on the way past
to Yorkshire with lots of good things. To work. Mail chew,
wrote Linux Format column, early lunch.
Call wiht Charles; more mail. Dead pleased to see Bjoern
of Canonical fame's latest elite hack - using git bisect on binaries.
Knocked up stubify.
Could this be the world's ugliest hack ? it exists to produce a vampire stub
library with all the fleshy innards sucked out (particularly dependencies on other
libraries), along with matching pkgconfig files and includes. That turns libgtk-3.so
from 4.6Mb to 250k; but why bother ? The answer is - that creating linux builds that
run on multiple versions of Linux is a massive pain; this is primarily down
to glibc's hyper-unhelpful symbol versioning (stubbify doesn't handle that yet). This
means that you have to build you package inside the oldest system you want to
support. Unfortunately, that makes installing the latest cutting edge libraries:
gtk+ 3.2 or KDE 4, practically impossible via an inter-library dependency and
technology cascade. Would you re-package the gtk+3 stack for CENTOS4 (the baseline
we inherited) ? of course not ! So - by using stubify (when it works properly) we
can create libraries that are only there to help the linker be happy, along with
the associated headers. That way we can package up libraries that can later be
dlopened on systems that include the real mccoy, and life is good; at least -
that's the plan.
Dinner, worked late; ran some profiles on libreoffice 3.5 startup.
Up early; prodded mail, chased queued admin. Set about
fixing issues in the presentation display switcher: if your
presenter view shows up on the beamer for whatever tangled
reason, you get a nice button to click to swap it over (will
need to fix the beamer mis-detection too shortly).
Lunch, team meeting, TSC meeting. More misc. bug
fixing until dinner.
Out to Hannah's christmas play in the evening; rather
well done, home - remembered to get into Cambridge to pick up
a drill press won on e-bay. Home; assured myself its bearings
are still in good order & it drills nice holes: good.
Catching up with several days of under-attended mail and
tasks; urk. Thrilled to see the new workstation build LibreOffice
from clean in 45 minutes.
Did some gtk+/broadway handholding to get people up-to-speed.
Hacked the services/ directory scanner to ignore backup files -
avoiding some really odd behaviour. Nearly killed by laughter reading
Michael Stahl's cultural protection request
Misc. patch review / merge.
Suffered yet more pain with GWAVA spam filtering hiding mail
from me, and worse bouncing mail to have me pushed off / get warnings
from misc. open-source lists: hideous.
Freedom in Christ in the evening, interesting stuff. Up late
working getting some problems unwound.
Up too early, train to London; all day partner event - lots of
interesting people, stats, etc. Encouraged to read the git logs and see
all the nice code cleanups from Kohei, windows installer cleans from
Andras, Multi-media embedding in ODF, from Michael Stahl, gtk+ native
print dialog interation from David, and various other bits that slipped
in at the last minute. Advisory Board call in the evening. Home late.
To work, feature freeze tomorrow; certain amount of panic is
in order. Spent much of the day wrestling python embedding, with an
amazing amount of grief. Wonderful things like:
"Import error type wizards.fax is unknown" getting
spewed from wizards.fax's own __init__.py included via
__import__("wizards.fax") and other miracles. Lots of
futile stracing, it seems that exception mostly means 'something
Lots more pyuno exception dumping, tried (somehow) to work out
what the contents of an __import__'ed module's dict
contains; pwrt. classes and variables defined in files in that
directory; totally stumped. Resorted to reading the over-meta,
non-helpful documentation on the point. Tried to introspect the module
in more depth interactively (without success) - trying to map a set
of .py files in a module, to a given content of a module hash
presumably requires some C / code-reading. Eventually defeated it by
explicit .py file/path loading - which works, only to hit a number of
bugs in the python port itself, bother.
Out to Chris & Claire's to baby sit. Worked on getting
things merged. An encouraging feel of cameraderie among the other guys
working late to get their features in; no doubt there'll be a lot of
bug fixing next. Up rather late.
Chat with Vojtech, mail processing, good to see Beta 0
getting lots of build / packaging bugs shaken out before the
excitement of the feature-freeze and Beta 1. Cleaned the office,
setup new hardware, lunch.
Filed a couple of charting bugs; more install / setup.
Worked at the presenter view display management, to make it
easier to switch displays in the case that we got them wrong.
Spent a good while merging the python fax wizard branch,
and trying to untangle the various curious problems associated
with that; improved our python/UNO integration debuggability a
Teachers back at work; helped dispatch family to their care.
Should dig out the advent calendars & start trying to remember
the complex turn-based structure necessary to make it fall fair.
Read and responded to mail; dug out some code pointers to
help a hacker; more mail. Lunch. Out to N. and M.'s school /
nativity play - lots of fun-sized singing: featuring N. the
glockenspiel playing angel, and M. one of a class full of
TSC call. Vojtech's staff call, chat with Dawn; recieved
faster server; quick dinner, back to meet Brad; worked late.
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.
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
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.
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
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.
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).
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.
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.
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 gdb --tui,
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 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.
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.
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.
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.
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.
To work again, started on the mail backlog. Clarified cgit
descriptions, discovered the 'Trinity DE' project when we got a patch
to support it. Posted SC minutes from Saturday, chat with Simon. Lunch.
More mail, chat with Kendy, new business cards request. Yet
more mail generation, big swathes of code-reading around anchors
generating a handful of easy hacks (I need to file). Played with
Kevin's nice notes re-work, and moved it to a branch. Filed more
Up later, pottered about with the babes; J. out shopping.
Thomas up, and staying for the day - nice.
Printed more pieces out and assembled them with Thomas,
cut some screws to size etc. finally getting some y-axis PLA slide
bearings into some shape.
Lunch, played with babes a bit - T. did H's Piano practise
(playing for the Bishop at school next week). Bid 'bye, and set too
at the newly elected TDF board meeting for an hour or so, good to
have had elections.
Helped J. around the house, watched movie with the babes,
and played with them. Dinner, bathed little people, read stories,
put people to bed. Lazy time; more Spooks (before they expire).
Up earlyish; J. out for much of the day to hand-hold Sandy.
E. off to Julie's, H. off to Keziah's, took the day off with Thomas.
Pottered with the reprap, for a bit improving it here & there.
Did some vinegar + baking soda science experiment with N.
and M. to much amusement, then cycling in the road (while printing
knots with various shell thicknesses). Eventually managed to crack
a great hole out of the acrylic bed while removing a knot - not[sic]
ideal. M. learned to cycle a pedal bike though - it turns out that
learning to steer / balance a bike without pedals (just by removing
them) is an excellent way to go (saving a lot of damaged calves).
Lunch; more poking around at misc. domestic chores - hanging
the washing out, dish-washing, etc. J. back.
Dinner, put babes to bed, read stories; T. out to dance in
Harlow. Bed early, watched Spooks.
Up earlyish, off to dentist for some poking and X-raying of
teeth, inconclusive (on the bright side: apparently I do have teeth),
got a gum-impression instead to avoid grinding damage.
Back, mail; fixed a gtk related tinderbox breakage, reduced
the warning count for degenerate cases of headless clipping. Printed
& snail-mailed some receipts. Updated the 3.5 features
page another month+ until feature freeze and we're looking good.
Helped Julian setup #valgrind-dev on freenode a channel for
valgrind developers to work together in. Really pleased to notice
GNOME 3 getting a beautiful desktop device icon right for my gphone
(just in time for the desktop not to have icons on it anymore by
default). Unwound the junk-mail folder.
Lunch. Team meeting. One talk that was a real eye-opener
from the LibreOffice conference was Laszlo Nemeth's (given by
Desktop Publishing - showing off some of the sexy DTP features
in LibreOffice (I hadn't realised we had linked frames, done via
inserting a new empty frame and using the link icon in the
frame toolbar). That combined with pretty graphite2 features gives
a rather nice output (as you can see in the slides). Bounced some
ideas for some easy hacks in this area off the UI advise list.
TSC meeting & minutes to the list. Thomas arrived,
visiting from Boston. Pottered around comparing notes on life,
electronics, work & things. Dinner, up late talking: brothers
are fun, makes me wonder why I'm so bad at keeping up.
Up early, more tiresome E-mail, set some builds going in
the background. Fixed a number of bugs, a nice crash-on-start from
Stefan and a version issue from Petr, plugged away at some SDK
Lunch, bid 'bye to Suzie & boys. Misc. master cleanups
in the afternoon, plugged away at fixing this & that. Pleased that
gtk+ incremental building (with autotools) seems worse than
LibreOffice, problems with .deps, etc.
Wrote up some thoughts and background
on how contributing code to Apache OO.o (Incubating) is to help
a corporate minority impose The Apache Way on a majority that
wants to be their own self governing meritocracy (ie. TDF). So of
course, not a nice idea.
Worked away at gtk+ / broadway's web-sockets implementation, it
seems the protocol got a lot more fun between versions. Discovered the
joys of debug enabled mozillas, and export NSPR_LOG_MODULES=all:4.
Read some bits of Mozilla code to go deeper; rather readable.
Chewed mail in the morning; wrote mail - hacking is much
more fun than E-mail it seems. Lunch.
Pushed feature/gtk3 to master, that should make it easier
for people to find. It touches a large number of the unix VCL
backends, so testing appreciated. It implements:
implements an (unfinished) but 'pure' gtk3 port
avoiding direct X library linkage
enables broadway / web-office prototype
cleanly re-uses svp for client-side rendering
churns synchronous debug, performs badly,
is unfinished etc. [ should default to off ]
improves the svp (headless) rendering code
avoids direct X library linkage
thus making targetting Android / iOS possible
substantially accelerates rendering by working
around many clipping performance issues
adds damage detection to svp rendering surfaces
partial / aborted attempt to make svp fully cross-platform,
blocked on an internal freetype or more re-factoring.
re-factoring / cleanup
shares lots of code between gtk, svp and gen backends
lots of cut/paste code eliminated
ports lots of gtk2 code to use gdk wrappers instead of
raw X, to share with gtk3
re-working of misc. legacy cross-platform code.
Build / run-time testing much appreciated as/when tinderboxen
produce binaries. Chat with Thorsten.
Misc. idl Windows cross-compile, warning while re-builds
happened. Re-wrote a custom GSource for timer handling to avoid an
annoying warning on older glibs. Downloaded the latest openSUSE 12.1
Up earlyish, off to NCC, Tony spoke on Nehemiah 5. Home,
quick lunch, lots of washing up clearing the backlog, while J.
mowed the garden.
Disassembled and re-assembled the reprap z-axis re-using
some z-axis motor holders I had hoped to save for the new machine,
calibration looking a lot better now; printed out some new motor
holders for the new machine - encouragingly the m8 rods fitted into
the holes without reaming, an improvement.
Dinner, read stories to babies, Lydia over - hacked at
repsnapper adding a mode to allow 'mm' in the GCode to mean
cold-input-mm (the new way), instead of hot-output-mm (the old
Up early, let J. sleep. Pottered about the house doing this
& that, played with reprap a bit, calibrated the machine nicely
again and replaced the bed - only to discover that the string (yes)
holding the Z axis in place wasn't an ideal solution; another scored
Took babes to a 'Messy Church' even at NCC, home to sleep -
still catching up the Paris sleep-debt (slowly). Collected babes,
back home for a fine dinner with Hannah, Nick & Joni. Up late
enjoying the company: the dangers of social dolphins, and the
swiss-roll membranes in pig's noses etc. fun.
Up early, chewed mail - interested to see the
taxonomy of the LibreOffice code changes vs. OpenOffice, an
encouraging picture (literally).
Merged a beautiful patch from August Sodora that not only
cleaned out a legacy string class, but included some pretty sexy
unit tests for the StarBasic parser; nice.
Spent some time struggling with gnumake bits getting up
to speed with the function syntax etc. there. Got Markus' unit test
behaving itself, and added a suitable error in case of the missing
dependencies that caused the issue. Chat with Thomas. Lunch.
Updated gitdm-config for more @suse.com E-mail address
migration. Forwarded lots of excellent presentations from the
Paris LibreOffice conference to David - makes you realise how much
good work went in.
More mail chew; worked down the blogging backlog, but didn't
get to slide up-load (yet). Lunch with Helena & Rose. Filed
expenses. Played with EC2 - very impressed by the (low) latency,
and performance; much better than the NOMAD rumours had me believe.
Worked on admin pieces in the evening.
Up lateish, caught up with mail slowly. Chased what turned
out to be a kernel problem plaguing openSUSE 12.1 and making yast2
Re-synched feature/gtk3 to master. Is it only me that
experiences a total-irony-failure when those who repeatedly fail
to meet their commitments to open their code then can't
find other people's that are in plain sight ? Still, I should
straighten out & publish my slides, written in the minutes
before giving them to help out (no doubt).
Wrote Linux Format column, forwarded deluge of conference
slides to David Nelson (who is helping out up-loading and
organising them nicely).
Drove to Presdales
School in Ware to see if it is worth moving house, county etc.
to avoid Newmarket College & get a good state school education;
seemingly an excellent school, but probably not worth moving so far for.
Back to La Cantine for joint talks, great to see Kris porting
LibreOffice to compile with LLVM already (so we can get emulated Windows
compile warnings, far faster than we can on windows). Out for lunch at
an English pub nearby (odd).
Wrapped up the conference, with sad 'byes to many hackerly types.
And out for dinner with the team; wandered at great length trying to find
another cluster of hackers in a Scottish pub.
Up early; off to IRILL slightly late for Kohei's talk, but enjoyed
that - good to see some progress on the calc internals. Tried to sync. the
rooms on two floors' schedule, and adapt to last minute program changes.
Out for lunch with the Lanedo guys; back for more great hackerly
talks, and a pottage of misc. Lightning talks, some of them arranged only
minutes before we started: lots of useful grist there and great speakers.
Surprisingly pleased by the 'star field' effect from an elderly projector.
Gave my web-office talk with
video to make up for the lack of a live demo.
On to a curious party venue in the evening, did a bit of hacking
with Kohei, finally managed to draw my dependency thoughts onto a piece
of paper with Eike, caught up with Gabriel, code review with Lior, and
fun with Doug & Simon.
Incredible that hot on the back of blaming TDF for their
inability to monitor the security list (that their committers are on,
and are publicly
committed[sic] to monitoring); it is now insinuated
by juxtaposition that TDF is spreading unwarrented information.
It seems that this is related to Team OpenOffice's unexpected
that OO.o "can't be allowed to die" and needs to "continue
to be professionally developed", which looks like a distraction to me,
and is exactly nothing to do with TDF.
Interestingly the openoffice.org website (as controlled by ASF)
(until recently) encouragement to donate to "Our prime
treasury - Team OpenOffice.org e.V.". Opening up a dialog with
the very guys AOOo are recommending downloaders to send money to
might be a good internal housekeeping policy. Certainly it is not
TDF's problem whatsoever.
Stayed up inordinately late happily chatting with Fridrich
Up earlyish, off to la Cantine, somehow just in time for the
start of our talk (with Italo & Florian), annoyingly lost a number
of images from my slides (good to work with the latest bleeding edge
Frantic day of meeting & talking to interesting people,
lunch with Simon & Norbert, gave a GSOC summary talk for Matus
after that. Met up with Mike from Mozilla to talk performance, tried
to compare the Lightning talks session at the end.
Off to the party kindly hosted by the Paris Region, fine food
wine, and great news.
Good to see LibreOffice On-Line launched in style. Talked to lots of
interesting people including Mathias, Camilo & Glynn. Out with
the lads for a late drink.
Up early, restless wife - hopefully recovered enough to cope
with the babes by now. Train to Cambridge, started reading the
Innovator's Dillema - nothing like being late to the party:
presumably by now it paints a useful anti-pattern.
St Pancras, Eurostar, random bug fix. Got to Paris, to La
Defence, caught up with the lads; eventually on to the Hotel to wait
for more of them etc.
Up, tidied up / cleaned the house, washing bits while J.
sorted through the piles of paper that spontaneously grow around
the place. I'm convinced that a junk-mail fuelled home-heating
system would keep us warmer, and tidier.
Hacked a little at a vcl / headless / svp related
annoyance, isEmpty doesn't detect emptiness in B2IRanges (it
Up early. Prodded mail, call with Kevin Hunter, then Ludwig.
Disappointed to see the good work being done in LibreOffice
to improve our security & vigilance (as clearly disclosed well
in advance to all related vendors and projects on the multi-vendor
list) twisted by people outside the (necessarily private) lists.
The process, combined with some (lack of) response problems from
Mitre is not perfect, for sure, but hopefully, the punch-line
is clear; if you're not using the latest verisons preferably 3.4.3
or (for the profoundly conservative) 3.3.4 then it would be
helpful to update your LibreOffice.
Fetched E. from pre-school, lunch, TSC meeting.
Recently one of our top slide designers: Karlin Stokes
pointed out how annoying it is that color schemes cannot be embedded
in ODP presentations. That means that causal users tend to create bad
presentations not using the carefully selected palette that matches
the corporate artwork provided by the experts. So - during SUSE
Hack Week I spent a while working away at this.
The user interface change being the rather small 'Embed' button
highlighted. That should move into a more useful place soon I hope,
and finding a volunteer to help move this (essentially file based
configuration) into the File->Properties dialog would be wonderful.
Much of the rest of my hack-week was overwhelmed with
fixing unit test pieces, patches review, and misc. admin - although
I did manage to get a bit done driving the gtk3/broadway port
Tended J. now chewing antibiotics at a great rate, put the
babes to bed, and back to work. Suffered from the X bell suddenly,
tried to turn it off variously in the settings. Eventually
found xset -b - an unpleasant blast from the past.
Took babes to school to spare J's foot. Chewed mail,
setup Windows cross-compile on my main development laptop,
and wondered if it could be shared with a native Linux
compile to save space; interesting.
Finally got to splitting out the fixes Markus needs
for unit testing macros during the build. Lunch, back to
build fixing. Enjoyed Alex's app
bundle prototype, looks good.
Parents arrived for breakfast, and dropped lots of
good things off, on their way up north to Yorkshire. Got to
work, chewed mail, chat with Holger.
Helped comfort & take J. to the Doctor's after an
unfortunate garden-fork, foot collision.
Worked away at debugging some unit test problems with
Markus, seems CppUnit initializes and then de-initializes /
re-initializes much of the LibreOffice core before/after each
test. Encouraging in some ways, that we'd not noticed that
before, re-worked things to fix some nasties.
Interview with Italo, got some help on GdkEvent handling
for the best event queue snooping results, dinner. Out to visit
DT in the evening.
Off to NCC, ran creche. Back for lunch in the garden.
Set too at trying to machine / knurl stainless steel bolts with
the lathe etc. (ground a beautiful 3mm plastic thread cutting
tool, and discovered the stainless is way too hard for my
mini lathe). Set too with the angle-grinder cutter and mini
lathe: worked rather well; destroyed my m3 tap trying to
add teeth - hmm.
Helped J. a little with her painting, and put up some
shelves. Sermon on Daniel 4 in the evening from Park Street,
Up early; drove to Aldeburgh to see Bruce & Anne,
lovely to catch up with them and Sue & Adam too.
Re-platinum soldered my wedding ring, and polished the
family's set. Off to Sizewell beach with the babes - a lovely
sunny day. Back for lunch.
Plugged away at making reprap nozzles from M6 brass
bolts on Bruce's lathe, got a number into reasonable shape
it seems. Broke all my fine drills from 0.3mm through 0.6mm
(which survived several bolts).
Tea, chatted with Bruce, drove home; tinkered with
machinery, caught up with E-mail, bed.
Up early, pleased to see the
cross-compilation work from Tor, Kendy, Fridrich & others. What with it being SUSE
hack-week Kendy's been working on getting the resulting binaries to run; which they now
do (under WINE etc.). So we finally have a live Linux -> Windows cross compiled version,
built entirely with Free Software tooling, inside a repeatable Linux environment. If you
have Kendy's hardware, that means you can build from scratch in under 15mins cf.
minutes. Hopefully this'll mean more frequent Win32 developer snapshots and more
reliable. Played with the build - finally the chance to test some Windows specific
improvements that I've wanted to hack on for a while. With Lanedo to work on MSI
packaging, hopefully we'll have a complete cross-compilation story for Windows for
LibreOffice 3.6 / 4.0.
Chewed & spewed more mail. Slogged away at a silly with calc unit
tests and locale setting. Finally got around to writing and sending my candidacy
for the TDF board elections.
Quick mail chew, really pleased to see the Android / LibreOffice
cross-compile building up to ~the end - although of course no GUI porting
work as yet. Set about growing my VCL re-factor to make that possible -
rooting out bogus X dependencies that have crept in around the place.
Quick lunch, chat with SUSE's PR guys. Hacked away, got the X
dependency out of the headless code, at least at link time. TSC meeting.
Discovered a load of unix dependencies in the headless code - need to
spend some time cutting those out.
Out to see Soham Village College with Rachel; thoroughly pleased
with the excellence on display. Home to the wife. Fun call with Jeremy
Allison until late.
Up early; took E. to pre-school, this time no tears -
progress indeed. Prodded mail, re-started Windows cross-compile.
birthday LibreOffice - only a year ago LibreOffice was
( hitting the ground running, with working test builds for umpteen
plaforms, repositories to work with, and fun
to be had ). What a difference a year makes to the project's
maturity, growth, feature depth and (invisible to users) code
quality, it's fantastic to see the positive difference that SUSE's
investment has made.
Lunch, interview, re-factoring unit tests to prune duplicate
code, and make them small & sweet.
Hacked away at misc. regressions from unit test code-sharing,
until everything looked pretty, and compiled. Switched to gtk-broadway
lots of cleanups there, finally got very much better behaviour.
Freedom in Christ course at our house in the evening.
Chewed mail; call with sb, worked with Moggi on VBA unit
tests, fun. Setup a cross-compile environment with Kendy.
The process of removing and/or re-writing LGPL dependencies
to be under an Apache license is a pretty odious one. Since when has
it been acceptable to call this "IP Remediation" - my code
does not need remediating.
Worked on more code cleanup. Out for the first time in
ages with J. while E. baby-sat, lovely.
Lie in, picked up Emily & NCC, Roy Wheeler spoke
enthusiastically. Back for lunch with Emily + family, and talked,
played with babes, went for bike rides + tree climbing on the
heath afterwards - much fun.
Late tea, babes to bed, listened to Gordon sermon on
12 - interesting stuff.
A day of hacking at last, dunged out mail, and set too
re-factoring the color / property-list code. Discovered a total
rats nest of lifecycle problems - a wonderful 'DontDeleteColorTable'
virtual method on an abstract dialog factory (etc. etc.). Dunged
out lots of complicated, fragile code - 500 lines down, more robust,
fixed some leaks, much more abstraction, clearing the way for the
next big cleanup here. Satisfying, worked late at it, stymied by
the three-layer reduction so couldn't test & push.
Dropped babes to school, and E. to pre-school (weeping
piteously to break a parent's heart) - of course she returns full
of bounce, not interested in coming home & with a fist-full of
paintings but ... even so.
Chewed through mail, reviewed a patch or two. Amused by
Olav's graph of Fedora dropping their CLA
seemingly a rather significant difference.
Worked late while J. put babes to bed, marshalling facts,
trying to pull thoughts together etc.
Dropped into Cambridge, meetings, lunch, Simon kindly dropped
me back - fun. Plugged away at bugs and e-mail in the afternoon.
Got the most beautiful printout yet from the reprap in the evening -
translucently thin and fragile, lovely.
Lazed in, breakfast, NCC, Helen speaking. Back for a lamb
lunch with Clara & April over to play. Movie for the babes later,
fixed another repsnapper issue, and played with another python /
Tea, read stories to babes, J. out, watched the Freedom in
Christ introduction session (by mistake - wrong one), and dug at
some Old Testament texts and their contemporary interpretation
in some more depth.
Up early, J. out for a training session on running pre-schools.
Baby-sat my four, before gaining another two fun-sized people to play
with. Fed six hungry little mouths with some help from the bigger girls.
Richard & George, then Rachel & J. arrived - ate with
them too & caught up until the Steering Committee call intruded.
Plugged away at LibreOffice / SC issues for a while, out into the
sun to teach babes how to cycle: balancing by steering, starting off,
signaling with the hands etc. fun.
Dinner, put everyone to bed. Plugged away at printing things
Day off, turned spare kitchen work-surface into a 'clean'
bench to work at (for ~finished rep-rap pieces). This required
cutting and welding some handy fence-posts into brackets - my
welding skills are really not helped by the complete opaque
blackness setting that ~all welding glasses appear to
specialise in; totally safe and utterly useless. Created welds
with more spatter than weld (that held at least). Played with
the babes variously. Started to get tidied up a little.
Up early; off to Greg's kayak construction talk - off
to finish the slide-ware, met up with Linux User &
Jan H. had found and was fixing more bugs LibreOffice
found in the latest gcc / LTO work with some lovely automated
test-case reducer, that would randomly remove lines looking
for a minimal document exhibiting the error. Fun.
Gave my talk on LibreOffice and SUSE (hybrid-pdf):
Wandered hither & thither saying 'bye to all the
fine hackers types. Plane-ride with Russel & Richard back
Poked at an interview on the train, looked at
E-mail backlog a little.
Up, dug through mail until Michael Miller's marketing
keynote. On to a series of fine talks on Gnome 3, systemd, and
Met Tomas Chvatal and got his commit access setup,
finding some other wedged account requests at the same time.
Spent some time porting libslab / gnome-main-menu to Gnome 3,
seemingly it is redeemable.
Back to the hotel to work on gitdm statistics and misc.
Enjoyed talks on static code analysis, SSD caching, and
much of the hallway track. Lots of interest here, impressed with
Dirk & the QA team's progress. In particular Bernhard's OpenQA using KVM, screen
diffs and OCR - to build videos of installations, and/or really
any interaction (for any OS), with scripts, and videos, and
re-starting failed scripts after tweaking them etc. neat.
Caught up with Henri and Midgard, Mathias, enjoyed the
unusual music in the evening, bed late.
Up earlyish, off to the conference. Enjoyed misc. talks,
particularly Jan Hubicka's on Link Time Optimisation, and caught
up with a selection of the good guys wandering around. Fine
talk around samba
Out for dinner to a German place (in a high quality
thunderstorm) with the Desktop guys.
Up very early, breakfast, Mother dropped me at the station.
Train to Gatwick, checked in. Discovered that what used to be a
spacious jet is now a turbo-prop, how long before cheap, direct
Nurnberg flights bite the dust ?
Arrived, hacked away much of the afternoon adding the
pallete et. al. embedding feature to LibreOffice. Eventually set
off to the venue, tempted by the lure of pizza.
Helped Pavol get his reprap setup, and repsnapper going,
bit of bug fixing. Talked with vuntz and fcrozat until late.
Up early; kick-started stalled travel planning. Fixed more
bugs in the Paris conference schedule, back to gitdm wrapper
improvements; finally worked out where the bogus create tag was
and moved it, misc. cleanups and done.
Lunch, train to Brighton on the way to the openSUSE
conference tomorrow. Worked until dinner. Caught up with the
parents and the state of packing (and the container based
naturete of modern inter-house storage) until late.
To work, started digging at the statistics generation which
needs quite an overhaul for our new git repository structure. Slogged
away at that, learned about and added various new git notes
that were required (in place of tags).
Team meeting, TSC meeting, customer call - more gitdm wrapper
Up early, now Apache have some code available, I did a
quick analysis of the LibreOffice diff to Apache's codebase - which
is fairly large and growing: looking
only at C++ files (*.?xx) we have:
We removed ~678 files (though some small proportion
of these are simple movements to improve encapsulation
and/or re-use). A hundred or so of the removals are obsolete binfilter
pieces, 55 from OS/2 code, 50 from adabas and evo1 connectors,
38 from soldep, 36 from killing vos, but many more bits of unused
We added ~914 new files modulo movements
the single biggest chunk is : 380 files is (IBM's) lotuswordpro
filter (forward-ported by us), then it gets bitty: VBA improvements,
the re-written RTF import filter, the ODMA and KDE file pickers,
OpenXML filter work, new unit tests, gtk3 pieces, AIX UNO bridge,
svg filter and lots more.
These numbers compare with 21.5k common files overall.
As a reasonably useless statistic - but perhaps one that points
helpfully to the likelihood of merging conflicts we have ~2 million
lines of diff -u output over 7.7 million
newlines of code.
More concretely, having elided the code changes from the
(automated) emacs & vi modelines (to make editing much easier)
which touched each file, and looking only at common files we
have: minus 526k lines - always good to measure the negatives
first: we ripped and replaced a lot of cruft. And then we added
290k lines back again.
Naturally, lots of feature work was done in the new files
we added, so the net work input is much larger, the above number is
only looking at the common files; to gague the degree of code-change.
What does that all mean ? well it is a lot of code-change and cleanup.
It is also a lot of scope for conflict when merging changes. Seemingly
there is an assumption, that code committed
to Apache OpenOffice will inevitably and automatically appear in
LibreOffice. This looks increasingly unlikely. Instead I suspect we
will end up cherry-picking and porting only those things that justify
the effort, as/when/if there is any such thing.
Pain in jaw (again) - an annoying intermittent wetware bug.
Re-based feature/gtk3 branch and built it. Did some
hacking on windows to try to unwind some unit test breakage,
remembered again why I hate using that thing. File URLs that look
like file:///c:/foo/baa which inevitably break when
ported from unix Incremental (no
action) re-make time of the order of a minute instead of a handful
of seconds - amazing.
Of course, no doubt cygwin has a lot to do with the slowness, but
wow life is painful without that glob fix (which saves a ton of
un-necessary I/O). It -really- looks as if we should be building
with our own make snapshot on windows.
Tested Moggi's nice merged cells movement / undo/redo fix -
lovely. Poked at Bjoern's nice gerrit instance - looks easy to get
going at least.
Poked at the GTS
library to see if it could be used for 3D shrinking / slicing
for repsnapper, looks rather impressive
(though apparently sadly unmaintained).
Up lateish, off to NCC, Tony speaking on fasting. Back for
a fine chicken dinner; out to Simon & Claire's to admire their
extended home & catch up with them.
Back, put babes to bed. Hacked on repsnapper - fixing
multi-shell shrinking, and cleaning the slicing code variously;
still badly needs fixing - and prolly a polyhedral shrinking
re-write to boot. Appalled to discover that CGAL is using the
'QPL' (in this day & age) as part of some mis-guided strategy
to drive commercial licensing.
Did a little research on Exchange Traded Funds in the
evening, it looks like you have to trust BlackRock; still - I
suppose the same is true for unit trusts - except that
they also charge you a fortune in fees.
Up earlyish, much house cleaning and preparation for M.'s
fifth birthday party. Lunch. Lovely sunny day - lots of babes
arrived, so happy with their unstructured playing that even
lucky-dips with prizes didn't tempt all to play the various silly
Dropped Brighty's back, and admired Chris' lathe,
Cieran & Amy's wedding invites etc. Home, put babes to bed.
Dug away at making filter tests work (during the
build) in LibreOffice, after some extended pain - missing
components throwing obscure exceptions, configmgr needing
re-configuring, and the filter code doing strange things
all eventually defeated.
Poked at the LibreOffice conference schedule -
looking good. Dug at the MPLv2 a bit too. Stumbled upon
what looks like a rather nice gnumake speedup to acclerate
incremental re-building; knocked 30% off an incremental
tail_build/ make with nothing to do.
Up early, started on the mail queue - lots and lots of
nice work being merged, most encouraging. A morning of mail while
building the latest code. Laura & kids over for lunch.
Team meeting, worked through an amazing number of google+
'adding' spam which got wedged under a pile of un-read gmail mail
somehow - an encouraging number of cool kids there it seems. TSC
call, sent out minutes.
Plugged away at a cleanup / refactoring killing a few
hundred lines of cut and paste cruft. Dinner, put babes to bed.
More cleanup after dinner.
Lie-in; up late, last day of holiday (for now). J. out
taking M. shoe-shopping (apparently also has a collapsed arch
Poked at repsnapper some more - Jan Schmidt is doing
some great Windows porting work it seems. Dug into slicing,
seemingly we get poisoned by a number of -nan's causing serious
grief, tried to avoid that variously.
Claire & babes over for lunch, fixed up some wooden
stilts for them to play with - remarkably no real injuries
sustained. Emily came for lunch as well. Tony dropped into to
pick up God's Chosen Fast which on deeper inspection
turned out to be missing, drat.
Watched The Secret of Moonacre in the afternoon
with the babes. More work on repsnapper getting temperature
polling working - looking good finally. Printed out an
inadequate felt slide bearing - annoying - much too small.
Up early, pottered around cutting and drilling bits of
brass for reprap nozzle heater blocks: struggled to tap the
holes (a larger pilot hole presumably required - but no metric
drill set). Brute force, ignorance, and grinding a larger flat
on the tap seemed to work.
Lunch. Hacked away at repsnapper a bit fixing and
improving a number of sillies in the gcode generation breaking
felt slide-bearing printout.
Watched Night at the Museum 2 with the
smaller babes on my knees, to avoid overmuch scaredness.
Early dinner, bathed little people, stories.
Lydia over for dinner & time with J. Dave over to
study Colossians - spent another hour on five verses - and got
a fairly reasonable grasp of them it seems.
Up, quested in the garage for good things; got a new
pillar drill from Father with a sensible chuck & decent
bearings - great; lithium grease for tapping holes too - nice.
Got babes dressed up in pretty frocks, and set off to
Barbara & Colin's for Colin's retirement party. Met and
gret misc. family, good to see Andrew & Olivier again.
Help fed babes, played games with them.
Out to the local playground for fun on the swings
and slides, and (strange) rubberised side-less roundabout:
essentially just a big disk.
Home, put tired babes to bed; chatted to the parents;
watched Shot in the Dark, sleep.
To work, chewed mail; tried to get access back to novell
bugzilla; followed the instructions, no joy, re-read the instructions,
no joy, changed passwords, helpdesk, went around the same ineffective
all keystrokes including tab-switching etc. (though not doing anything
with them) - annoying.
Worked away at palette embedding; got it working reasonably
nicely at least on load. Dinner. Admired the parent's success in
improving the house on the eve of leaving it.
Watched The Pink Panther in the evening with the
parents; interesting how the pace of movies seems noticably more
frenetic these days than in times of yore.
Up, packed, drove south to the parents' with the babes:
leaving J. to go to her parents to help out. Arrived, unpacked,
lunch; to work.
Team meeting, an interesting LibreOffice conference
planning / scheduling call - Charles has done some good work there
it seems. TSC call.
Listened to the all-hands call; encouraged by progress
variously, and our new SUSE jobs page. Dinner.
Dead impressed to see Dave Malcom & David Tardon's gdb
pretty-printing python goodness land in master - at last, easy
debugging, and examining of libreoffice's strange string classes,
even inside stack traces; horay. Pleased too to see Noel removing
6k LOC of redundant code he found / factored out.
Worked late; isolated and filed the groupwise crasher
causing mail filtering problems: some ingenious spam. Enjoyed
Brians' (more accessible) write-up of the API
copyright issues Oracle are creating.
Prodded mail, dug at some Matus' nice linking optimisation work
and did his final GSOC evaluation. Tested the compiles, pushed it. Lunch,
chat with jrb, worked at a proposal. Desktop call. Booked hotel for
Poked at a sales pitch, SC call, dug into an odd splash linking
Read mail, reviewed patches, encouraging to catch up with
the hard work on LibreOffice being done over the weekend, and by
those in other timezones. Late lunch.
Someone pointed out that Oracle's most recent (desperate)
position in their action against Google (judging from their
filing) is that: GOOGLE'S WHOLESALE COPYING AND IMPLEMENTATION OF
JAVA API SPECIFICATIONS IS COPYRIGHT INFRINGEMENT.
As I pointed out in Why
Oracle's copyrights might matter (when the case came to light, IANAL
etc.) this is the most novel & interesting piece of the case.
Their amended complaint had more
API copyright nonsense to dislike - are they really claiming that
almost every Java program infringes their copyright - by implementing
their published interfaces ? Now we have even more detailed oddness.
start to pick this up it is interesting to consider: have Oracle, or an acquired
subsidiary ever reverse-engineered a file format, or implemented a compatible API ?
My knowledge of Oracle products is mercifully extremely weak, but at
least in the area of OpenOffice.org - Sun, (now Oracle) engineers
implemented VBA compatible APIs - to help build out interoperability
with Microsoft office. We even had some contributions from
IBM engineers working on the same task. I would
imagine that this effect is replicated everywhere that Oracle's products
have competed in an existing market. Lots of this has gone on over time, a
hundred years ago Oracle (né Sun né Praxsys) was touting Wabi (amazingly
yet-another product meaning 'Harmony'). Sadly in a world of aggressive
API copyright assertion - everyone is poorer: there is no
interoperability, there is pointless re-implementation and
duplication of APIs, and perhaps some exciting new anti-trust issues
too. Why would Oracle want to make everyone poorer, when it inevitably
will afflict itself at the same time ?
Up earlyish, off to NCC for breakfast; practised & played,
family talk from Janice. Met Emily, Dave's new wife. Home, cleaned
house, finally affixed misc. 'new' bits in the shower-room securely.
Fixed up flaked ancient old / moblin beta on the kids machine for a new
openSUSE 11.4 - much better.
Put babes to bed; Emily & Dave over for dinner - enjoyed
some time with them, bed late.
Up earlyish, tried to replace battery on violin; spent
some time glueing the holder back in; drove to church for more
practise with Mick, Daniel & Tim before the service; got
some new batteries. Fine service, so lovely to see Miriam so well
married after years of prayer & anticipation.
Dropped babes back with Sandy & gave Tim a lift to
the reception, attractive location, much fine food, wine, company,
conversation. Moving speeches, my refusenik dancing, everything
you want in a wedding.
Back somewhat early to relieve Sandy of her charges, bed.
More mail digging, nearly cleared the backlog, reviewed
patches, read Federico's nice
slides on design patterns. Found a systemic problem affecting
linked incremental builds, and fixed it. Re-worked some legacy
UNO wrappers (removing lots of cut & paste), added more friendly
exception printing for fatal startup / loading errors. Lunch.
Chat with Thorsten, plugged away at palette loading
issues, not the most elegant split between xmloff/
and sd/ but functional for now. Discovered another
couple of big rats nest of cut/paste coding of bulky code - set
too dunging them out.
LibreOffice -really- needs someone to test / explode the
mind of their trendy/new cut/paste coding detector; I wonder what
the state of the art is there.
Out in the evening to practise the music for Myriam &
Ben's wedding tomorrow, back to chat with Mary Rogers.
Prodded mail variously; reviewed a patch or two, set to
work on embedded palettes for an internal issue.
Called up by
clueless BT guy - kept repeating that he worked for BT - and was
trying to save me money: couldn't tell me anything about my call
history, or what the best plan was for me - but insisted on
trying to explain several complicated package options to me:
why?. If the company were 1/2 clueful they could tell me
which the cheapest plan for me for the last year would have been,
and I'd pick it - it is highly unclear that that is in their
interest though. Why would they genuinely want me to pay them
Lunch, team meeting, TSC call. Back to palettes. As
normal the vast majority of time is wasted at the UNO interface
- picking some new and innovative way to mangle what is necessary
through a hole that is the wrong size and shape.
More mail chew; sync. call with Caolan, created a freedesktop
repo gitdm-config to make our stats more accessible to
all. Re-based feature/gtk3 onto the new onegit repos.
Lunch. Merge Xapantu's initial gtk3 native widget theming work.
Burned through a couple of k of spam. Reviewed Ricardo's nice,
cleaned up new VCL layout code.
Up earlyish, off to Parc Asterix - somewhat staggered by the
price and number of people queueing to get in; you would imagine one
would offset the other.
Wandered around queueing at length for everything, indeed
having queued for 30+ minutes the one minute ride seems almost a
relief; an applied, repeated, and extended exercise in character
building patience it seems. Enjoyed several rides, and an excellent
Set off driving to Calais, couldn't find a supermache open
in the evening - only innumerable wine outlets (with English signs
and name) odd. Caught the ferry, fine crossing, both France &
England concurrently visible again. Long drive home.
Up early; drove into Saint Junien with Ron to meet with their
(Assemblies of God) fellowship. A familiar setup, if not a familiar
language: Blanc, plus blanc que neige, La vé dans le sang
de l'Agneau, Je se rai plus blanc que la neige (words),
and unfamiliar bisou culture.
Left after communion - I had always thought that the typical
Baptist approach of having lots of little cups was to avoid problems -
since they typically use a non-alcoholic wine. Interested to see the
combination of real vin rouge with many small cups.
Much driving, to a very cheap, but (exciting for children)
hotel north of Paris, succumbed to the 'McDo' (with childrens
playground) opposite, sigh. Bed early.
Up lateish, out with the family to Rochechouart to visit the
castle, and wander the town. Enjoyed the asteroid museum - fascinating
that the area was mostly molten / vapourised by an asteroid impact
~200m years ago, made mental note: not to get in the way of an asteroid.
Enjoyed wandering the castle, shame about the modern 'art'
exhibition; played with some children's building blocks at some length,
Up early, TGV to Angeloueme, re-united with beautiful
wife & mass of babies - many hugs; breakfast.
Off for a canoeing expedition on the nearby river,
at Fleac - fine, surprisngly stable canoes, a lack of dunking,
and good fun even for the smallest.
Home for lunch, slugged a little; then out into town to
buy plasterboard fixings to mend the mess the babes had made.
Eventually found one of the best hardware stores I've seen in a
long time - how can the tiny town of Matha out-do Newmarket for
diversity and depth of supplies. Returned, fixed curtain rail
Misc. packing, put babes to bed, prepped the car for
travel tomorrow, and enjyoyed our last day in Massac.
Up early, quick breakfast with Colin, frantic hacking
at LibreOffice slides (and code) for talk later. Taxi to the
venue, setup, spoke - bit tired, but got a few jokes in:
publicly demo'd my pet project: LibreOffice on-line for the
first time; video to follow as/when I'm back from vacation.
Slides (as hybrid PDF - ie. load in impress to edit as slides):
NB: Broadway is Alex Laarson's baby, and will ship as
a feature in gtk+ 3.2 (the next release). I hope to have a
high-quality gtk3 port finished for LibreOffice 3.5 - this is a
prototype that is unfinished. To get it working, you will need
the old (pre-one-git) LibreOffice, and the libs-gui feature/gtk3
branch. You will need master gtk3 compiled with
--enable-broadway and GDK_BACKEND=broadway
exported, to enable
in your browser, and so on.
Personally I believe that this provides a great path
towards a full feature web office suite. Better: any
size, space, collaboration etc. work in this direction is useful
(via. 100% code-sharing) both for the thick client, and the web
(necessary for off-line use) is that this is fundamentally
duplicative, wasteful and un-fortunate.
Chatted to misc. people afterwards, out for lunch with
the Lanedo guys, Lennart etc. Left in a hurry to inject my reprap
slides into the lightning talks:
Wandered around, gave a few demos to some great guys of
LibreOffice on broadway, lots of interest, and a quick interview
on the topic.
Misc. other interesting talks, poked Marc's SPICE talk's
LibreOffice / projecting goodness; we rather need some hooks into
impress' presenter view to allow easy switching to cloned mode for
demos, and to swap the outputs too I think.
Met up with Mike and Bradley, out with some foundations
guys for dinner and interesting discussion. On to the party,
much chatting with various people, synched with JRB, before
heading back to the hotel with Rosanna too, and up rather
Checked mail - amazed to get my first ever patch as a
.docx file (from some budding reprap hacker).
Up early, quick breakfast, drove to Angeloueme to get the
TGV to Bordeaux, bid a sad farewell to the lovely wife &
babies. Hacked up reprap slides for a lightning talk on the train,
18 slides in 180 seconds; fun. Discovered that (somehow) wine+IE
had managed to associate themselves with image files - interesting.
To the hotel with Alex Laarson, on to the registration
party, up late talking to all & sundry.
Up earlyish, read stories to everyone while M. slept on
beautifully. Packed ourselves into the car, raining: to make us
feel at home, clearly. Admired the Blois bridge while eating
croissants, and drove south.
Lunch at Matha, and finally arrived at Massac, and the
Heathcote's fine holiday home, opened up, followed the
instructions in order: turn on water before water heater etc.
Explored house, unpacked, slugged a bit.
Back into Matha to navigate the hypermarket, and try
to learn a little French (and matching, obscure English words)
from toy shelves (packed with tat as everywhere). Surprised by
how many anglicised toys were present: "Hello Kitty", "G.I.
Home, made dinner & cleaned up while J. cooked;
fed babes, bathed them, put them to bed. Drank rosé
and planned trips with the wife.
Up rather early, drove to Dover, ferry across on a wonderfully
clear day, France and Britain clearly visible concurrently. Lots of
driving, experienced the joys of the prepherique without incident.
Landed in a cheap family hotel in southern Blois. Out to 'flunch' for
some rather reasonable French fast food.
Up early, packed, drove to Bristol, arrived just in time,
Good to see Sean & Abbie married & celebrate with them. Met
lots of guys from Cambridge: Ed, Dan Ham, Imon, Ian, the Hendries
etc. Caught up with the family variously. Fine food, company,
Enjoyed the grotto - created by the owner of the ships that
really rescued the inspiration for Robinson Crusoe, lovely terraced
gardens to play with babes on.
Brief visit to the nearby Clifton Suspension Bridge
to encourage the girls in their appreciation of civil engineering.
Long drive home.
Up early, mail pokeage, set off to Princes Risborough by train.
Hacked away at re-factoring the LibreOffice display plugins variously.
Eventually arrived, walked to Sue & Clives, caught up with
J. and the babes; conference calls. Into hospital to sit with Adam (in
traction), stayed until relieved by Sue at 9pm, back, bed; J. ill,
Prodded mail, filed vacation for 2nd to 15th Aug. Reviewed
more patches, prodded at misc bits of code. Took some movies. Lunch.
So - yast2-gtk is ported to gtk3 which means that (with master
gtk3 compiled with --enable-broadway, and
GDK_BACKEND=broadway exported, and running
/usr/lib/YaST2/bin/y2base disk gtk as root, and enabling
it is posible to use yast2 in your browser quite nicely. Clearly missing a chunk
of rather crucial authentication, app-selection, and glue-logic but hey.
I recorded a small screencast to show this stuff: (webm source:
This is all based on Alex Laarson's sexy broadway
work, and of course Ricardo Cruz' yast2-gtk heroism, and Duncan Mac-Vicar's
gtk3 port. Performance will no doubt be worse from a remote connection, and
better when not screen-recording.
Clearly this is never going to look as pretty as the proper webyast stuff,
but - on the other hand, it is an extremely cheap and easy way to make the
existing, full-feature yast2 tools web-enabled with virtually no effort
Vincent points out that with broadway enabled by default, that when the
latest yast2-gtk gets checked in, this should work out of the box
in openSUSE:Factory, modulo it not being a great idea to allow
un-authenticated access to tools running as root over the web.
Well pleased that Mel chased down a number of possibly related
OOM issues compiling LibreOffice with umpteen threads on a lone machine,
good chap. Spent an hour digging through a long redline document, hmm -
still at least redlining is a most helpful tool; if only I could persuade
more people to use it.
Lunch, extended car insurance for France. Sent out some
pointers on how to reproduce our gitdm results. Knocked up some
thoughts on Project Harmony.
Idly checked out the Apache webserver to have a look
around - amused to have my suspicion affirmed; a quick
find -name '*.[ch]*' | xargs grep ';' | wc -l
yields 163k 'loc'. vcl/ alone is 170k, while gtk+ at 230k is
more complete, interesting.
Dunged out some old layout patches from 'build'. Prodded
iogrind a little, visibility markup too, fun chat with Taras as
Dinner, Dave came over to study Collosians - spent some
considerable time on the first dozen verses, fun.
Seeing Mark's blog
over the weekend promoting corporate ownership aggregation reminded me of an overdue
response to Project
Harmony. Mark writes compellingly, as normal, I'm just not so convinced about
the moral excellence of generosity, without sensible safeguards, towards profit
chasing corporations. But anyhow, Project Harmony:
Having initially been involved with the project, I'm rather disappointed
by its output. There are many applications
of Harmony that are problematic legally, pragmatically, ethically and from
a software freedom perspective. I've written about the practise of to-corporate
Assignment though that title would better be expanded to certain licenses, such
as Harmony's, which are tantamount to (C) assignment enabling an unhelpful corporate
ownership aggregation. Others writing in detail on this are Bradley Kuhn, Richard Fontana, Dave Neary and Simon Phipps.
My two cents is that, best practise is the Free Software norm, where the
inbound contributor agreement (CA) is identical to the outbound license.
There is some extent to which Harmony does improve things - it is rather like a
hypothetical ISO standard for weapons sales. Such a standard, with clear escrow
provisions perhaps, might help accelerate arms sales, making them cheaper, and
perhaps may have a legitimate use: helping some defend themselves and others under
threat. The only slight down-side being the scope for littering the world with
yet more unwanted land-mines. In the same way I fear that Harmony has the
potential to make acceptable the corporate control Free Software projects,
bringing many complications. There are many rather good reasons not to
sign a CLA, often focued on the horrible imbalance of power that they create.
Here is one such specimen reason focused on the corporate sphere:
Why Harmony's CLA can be dangerous
Broken options - the one way street
Consider a BSD licensed Harmony option. The BSD license gives no out-bound
patent rights to the software, so it is easy to end up with code that requires
a separate patent license to effectively use it. Now - consider that you have
assigned your patent rights under a Harmony CLA to FooCorp, you assign:
"For patent claims ... which You own, control or have the right to grant,
now or in the future, You grant to Us [FooCorp] a perpetual,
worldwide, non-exclusive, transferable, royalty-free, irrevocable patent
license with the right to sublicense these rights to ..."
By signing this - you have comprehensively given away your patent rights, to
the code you contributed to FooCorp, but interestingly, you get no license
granted back, either by the outbound BSD license or by the Harmony agreement.
That is deeply generous but
highly broken. It is thus easy to create a situation, where only
FooCorp, and its for-fee licensees can use the project's code.
No self defence provisions
Another problematic down-side follows from this. If there is any ethical
justification for acquiring patents it is self defence (from the madness of
the real world). More sane non-copy-left
outbound licenses have reciprocity clauses to enable self defense against
patent aggression. Lets look at Apache's:
3. ... each Contributor hereby grants to You a perpetual, worldwide ...
irrevocable (except as stated in this section) patent license ...
If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) ... then any patent licenses
granted to You under this License for that Work shall terminate as of
the date such litigation is filed.
Which means - if MegaCorp sues me for patent infringement, while they
are using my own patented code: I get to use that patent to defend myself.
So how does that jive with the Harmony CLA ? Sadly, none of that nice termination
logic is there - you just gave away your current and future patent rights
completely. Pathologically in the previous (BSD outbound) case; quite feasibly
FooCorp can immediately threaten you for patent infringement on their work.
Add some simple corporate mechanics such as making FooCorp a shell
company, even with an Apache licensed project FooCorp's parent can sue you for
using their code.
Third parties get to tread on you
That situation can be seen in a different way. Say you are defending yourselves
in some patent war cf. the mobile space. Perhaps your major defensive tool is a
patent covered by code you've included into FooCorp's product. Unfortunately,
whatever the outbound license used (perhaps it has a sensible termination
provision) the patent license comes, not from you, but from FooCorp. Of
course perhaps you only discover when it comes to defending yourself that
FooCorp already sold your code + patent rights to MegaCorp under a
confidential proprietary license some years back; better hope you
keep them sweet by not competing with them.
A FUD factory - who knows what you're missing ?
Thus FooCorp is sitting pretty, on its pile of aggregated patent and copy
rights, and has a great marketing tool to sell their proprietary licenses
to other companies: "better safe than sorry" - "who knows what key
rights you might be missing; we don't ?" - "sign here for safety".
Similarly other (big) companies are incentivised to only appear to work
inside the community, limiting their exposure by taking bespoke,
non-reciprocal, proprietary licenses. That can make project contributors
feel safe - "MegaCorp is distributing OpenBaa under the LGPL
too right ?" when in fact they have a neat way of avoiding giving
you key rights, via paying FooCorp.
I initially tried to encourage the Harmony project to address this
sort of issue, but without success.
The net effect - more complexity on top of the license
One of the aims of Project Harmony is to make review easier for
lawyers, yet it conceals this non-reciprocal loose your job
minefield. By parameterising 'license', and including the scope for
future license change it provides a very clear definition of the
rights you surrender now and in the future, and a very vague
aspiration to the rights you get back. Thus, you cannot read the
Harmony CLA without also paying very careful attention to
its interaction with the selected outbound license as well.
So - I am fairly convinced that large companies will not be signing
such an 'Entity agreement'. If they need to contribute there are plenty
of ways to look like they are doing that, eg. via a shell entity, or by
letting employees contribute as individuals.
Where is a CLA useful ?
Some projects are not blessed with a copy-left license. That means
that every time they see a patch floating across their mailing list, the
ownership of it can be less than clear; after all, it is fine to claim
that your changes to a non-copy-left code-base are proprietary, even
after you happened to publish them.
Some explicit statement can help in this case to clarify that you are
indeed contributing this code in good faith - paperwork can do that. Also
many non-copy-left licenses have no "or later version" upgradeability
in them via a license steward (the FSF provides that for the GPL). An example
of that is the Apache license. In that context some CLAs make some sense.
Of course, it probably makes more sense, to have a copy-left license,
with a clear license steward. That makes it clear that distributed
changes are licensed under the project license, and can be easily
merged as/when they are published. This is the beautiful inbound equals
outbound symmetry that underpins most Free Software projects.
A quick reflection on the barrier to entry to non-copy-left
projects with sign-and-fax-in assignment/license documents makes
you wonder how they have survived. Perhaps the un-written social
contract around respecting a project's license and not soft
forking it without good reason has protected them thus far from
being hollowed out by more fun, free-wheeling, copy-left variants.
It seems that that unwritten contract is under quite some strain
these days; who knows what the future holds there.
I hope that examining just one weakness in some detail
highlights that, while Harmony may have some uses, in
general a much better approach is to use a uniform copy-left
license that gives the same rights and protections to all.
That also reduces the scope for corporate malfeasance that
will ultimately betray your generosity.
Helped J. pack the babes and misc. bits into the car to
go to Suzannah's to help look after James. Set too, mail chew,
status report writing. Chased a gtkhtml2 CPU hogging nasty.
Dug at a mac crash-on-exit (annoyingly, not a 'most annoying
Updated to master - lots of new gnumake4 goodness from
Bjoern, fixed up a few system-cairo pieces. Irritated by some
mis-importing by evolution in the mbox -> maildir transition,
seemmingly summary/folder mismatches are bad there, my advice:
remove your folders.db before migrating, hopefully it'll
be better in 3.2.
Poked at reviewing misc. calc crasher fixes for 3.4.2rc3.
When I was young 'EDL' meant 'Edit Decision List' - it'd be great
if it stayed that way.
Cooked dinner for myself & ate it, life is lonely
by yourself it seems, good to remember that. Worked on release blurb.
Hacked some junk out of the sc/ VBA implementation. Worked rather
Lie in, off to NCC, spoke on Daniel 3 (the second part).
Home for lunch; tinkered with the lathe - breaking another drill,
somehow it seems more reasonably concentric today, yet not
aligned with the tailstock - annoying.
Played with, and read stories to babes variously. Bed
early making some productive coughing duet with J. Watched an old
movie & slept.
Up; laboured away at researching sermon on second part of
Daniel 3: the firey furnace.
Took a look at Father's birthday
present a book: A Treatise on the Integral Calculus (Volume 1);
With Applications, Examples and Problems - by Joseph Edwards.
Having foolishly bought it from "Paperbackship.co.uk" under
the impression it was a reproduction, and not some OCR monster.
Unfortunately it was an horribly mangled version of this fine book,
no doubt Edwards would turn in his grave. How bad can OCR of a
mathematical text be (I hear you wanting to ask). I hereby reproduce
one side-by-side comparison to assist the reader:
The discerning reader might just be able to make out the
difference, NB. these are the same page - though Ex. 1 is
missing a 16. Illustrative Examples.
Bruce & Anne dropped in, just as the TDF steering
committee call got going, drat.
Insured the house, apparently it hasn't been for rather
a while. The old quandry: is insurance betting in favour
of our own misfortune, or is not having insurance really the
gamble ? either way, it seems worth doing to me.
Up, feeling awful - inherited the wife's head, nose,
throat etc. cold struggled through the day. Plugged away at
writing some random, automated in-build red-lining / editing
regression tests for writer with rather mixed success.
Unwrapped Hannah's birthday present at last, lots of
playing with it from misc. little girls, read stories while J.
counselled. Bed early feeling awful.
Up poked mail, dug into OLE2 properties briefly, patch review,
re-based feature/layout for Ricardo.
H.s laptop arrived, played with the Win7 out of box experience,
and the advertising-supported Office Starter Edition (replacing MS Works):
a feature reduced Word + Excel, (no PPT or Outlook), pleasing to see the
OOXML or ODF as default choice presented on start. Re-partitioned and
installed 11.4 on the machine, seems to work rather nicely - installed
lots of goodies.
Chat with Alex, dinner, TSC call, posted minutes, pushed an
interview with Tor.
Prodded mail; ordered HP laptop for H's birthday - a nice cheap
AMD based model (a CQ56-102SA) that we've hardware enabled for SLED, and
has on-line manuals for a SLED version but sadly is not-purchaseable with
it pre-installed in the UK; bother.
Updated to Evolution 3.0, and was surprised by the maildir
migration process (without UI feedback); dunged out the disk to find
space for duplicating 15Gb of mbox as 16.5Gb of maildir - a smaller
expansion than I feared; encouraging.
Forced an upgrade to Gnome 3.0 in parallel, left stranded
with some hideous theme otherwise; unfortunately theme settings
appear to be the latest casualty of the CADT model, un-findable in
my control-center at least. Seemingly the (fallback) panel nails
applets in place unless you press <Alt> while clicking,
apparently gnome-tweak-tool is necessary to customize your fonts
to your display (making them legible without eye-strain eg.) -
rather under-impressed by the accumulation of pain undoing
various inflexible and unhelpful decisions.
To work, mail, account admin, status reports (no Clarity -
horay). Boggled at various IBM throws support behind ASF's OO.o
non news items, how many times can the same thing be announced and
still have no code to back it up. Looking forward to dissecting it
as/when/if it finally arrives.
Pleased to see the Xamarin / SUSE relationship sorted out properly.
Call with Fridrich, Kendy. Lunch - bid 'bye to the parents,
reviewed patches and bug-fixes for 3.4.2. Bed early, tired &
Lie-in for J. breakfast with babes; off to NCC to practise
with the band, service, back for lunch. Raining in the afternoon,
J. unwell, took lathe chuck apart to try to locate the precision
problem with no success - the spiral looks good. Poked at this &
that. Talked with the parents until late.
Lie in; pottered about with Father - tidied up a bit,
played with the watch-maker's lathe a little, trying to get
the head & end-stock to align, and the three-jaw chuck
to clamp things centrally. Apparently a task doomed to failure.
Played with various useful bits of m6 brass bolts & other
that dad ahd brought.
J. out swimming with H. and friends for her 8th birthday
party (much excitement). Ate some lunch with the babes. Set too
with D. fitting a new mortice lock to the front-door door, much
chiselling and so on. Made sandwiches for dinner, party tea with
H. and co.
Peeled potatoes with D. Mother arrived, ate, J. feeling
ill, went to bed early; stayed up chatting.
Up early, off to the Old Toad - SUSE event; as kindly organised
by myriad enthusiastic people. Coach ride, steam-train ride, coach through
the beautiful countryside to a castle. Photographs.
Rather a fine football trebuchet game, lunch with Hannes,
tried to build and simultaneously climb a tower of plastic crates with
mixed success but much enjoyment, discussed high-torque motors for robots
with Vojtech, axe throwing and (over-sharp) cross-bow shooting fun. All
mingled with excellent company - a fine day out.
Sadly left for flight at midday; with a rush to the train, and
minor baggage malfunction; hopefully corrected via a trip to the office.
Hacked on the train(s) and plane, chewed through the mail backlog,
improved app color selection rendering.
Dead pleased to see Peter Rabi merge all the rsc, rsc2 and rscpp
binaries into just one - to make it much more debuggable in master, nice.
More trains, J. picked up from Cambridge, chatted briefly to Father, bed.
Up early; into the office for Olaf's day of technical strategy
meetings; some quality brains in the room. Out in the evening for dinner
with the lads, good to meet Greg's wife: Shannon.
On to a bar with Jeff Mahony, Kendy, Jiri & Peter. Apparently
the kernel's VM / OOM killer simply can't cope without swap-space - it seems
swap hell gives your kernel the time-slices it wants to work out what to
do. Turning off vm/overcommit is the only solution for SSD users that don't
like wedging up under load, and for whom swap is an expensive folly; bother.
Back to the hotel, via a detour to admire a passing crane with Jiri.
Up rather early; breakfast, off to Hove & to Gatwick,
flight to Nurnberg, poked at mail on the way; caught most of an
all-hands meeting. Fixed a bug or two.
A round of ad-hoc meetings with all and sundry in the
office, nice to see so many competent people working hither &
Microsoft released their new binary
file format validator - which (though sadly proprietary software) - looks like
it could be of great use finding interoperability bugs around the binary
document formats. More details here
- having spent a lot of time in the past chasing
down highly obscure binary file-format issues to try to get files to
import properly into MS Office, this should (I hope) save lots of sweat
and tears. It looks like a great step forward, though of course
if it were open source we could contribute to it too, integrate it into
LibreOffice's smoke-testing, port it to our target platforms, and make
sure it is more widely available.
Played with the validator a bit, runs nicely under wine - and
the EULA doesn't appear to have an issue with that; found and reported
a hard-to-understand issue with a 'Hello World' .doc export, and was
pleased to see a more complex .xls export pass apparently cleanly.
Joined the appliances team meeting in the evening, and stayed up
late - fixed a wonderful pointless eight second delay caused by some
nasty interaction of languagetool & java-a.b.c & LibreOffice by
dropping that. Stayed up rather late talking.
To work, chat with Caolan, call with Eric, wrote some
notes up. Chewed through mail, early lunch. Train to parents to
get early / cheap flight tomorrow to Nurnberg.
Enjoyed the train ride - tried to merge Thorsten's patch
to make my C++ - more C++'y. Thus started the waste of my afternoon:
all in a good cause - learning to hate C++ ever more viscerally.
Feeling happy & enthusiastic - try reading the boost headers, or
even navigating the docs off-line; wondering where that special class
is hidden ? try the evocatively named 'tr1' sub-section; what a giant
pain of pain. At least stl has semi-readable headers vs. boost.
Finally came up with a scheme at least to hide the ref-count vs.
explicit 'delete' lifecycle semantic mismatch inside my code, which
failed to work too, bother.
Eventually arrived, at the parents, dinner, nice to catch up.
Despaired, undid all the prettification in favour of something that
'actually works and is simple', yet more wastage; bother.
Caught up a bit with the parents.
Prodded mail, read the news - amazingly despite the hype
I have a Dell Optiplex GX270 still in perfect working order as a compile
slave and Windows build machine.
Submitted a reprap talk for the openSUSE conf (as well as some
LibreOffice ones obviously). The Paris LibreOffice conference started
accepting a very simple registration
process to let us know if you're coming.
Reviewed and pushed misc. 3.4.2 patches; Lunch; chat with
Kendy, misc. gtk3 port fixes. Chat with Scott, Alan & Karen.
Caught up with Matus' GSOC on performance issues - which is fun.
Riccardo Magliocchetti did a new bootchart2 release, with lots
of fun new features (at least since I last blogged about it); here is the
Nice to see fixes from a widening group: Henry Yei, Henry Gebhardt,
Mladen Kuntner, Lucian Muresan, Sankar P, Peter Hjalmarsson,
Francesca Ciceri, David Paleino, Harald and Anders in the last couple
of releases. Some preparation work has been done to make the charting
useful for rendering long-running jobs such as build systems which
Up early, dealt with babes while J. slept. Off to Church with
Jackie & Pete to practise, played in the service. Had Ben, Dave &
Sam over for lunch - which was fun.
Pottered around, babes watched Angelina Ballerina while
I ineffectively tried to unwind the lathe's oddness by disassembling
it, how can this spiral magic go that wrong ? Babes to bed, got
repsnapper rendering and printing some components for a new extruder.
Dug at lots of patch review and back-porting; should make 3.4.2
rather better. Poked at Wine's MSI implementation - I'd really like to
avoid horrendous proprietary tooling; dear lazyweb - is there a good way
to make msp's that doesn't involve shocking proprietary tooling ?
Submitted a LibreOffice paper to the openSUSE conf, and tried to
register as a participant in the desktop summit with my KDE identity,
which despite having the password reset refused to let me log in;
Bought M's hired 'cello after the end of the probation period,
which proved long enough to win through the "I am going to hate the
instrument, teacher and be disobedient" period into the plateau
of "I'm not going to win, so I might as well enjoy it" phase,
Chat with Fridrich, encouraged to see Eilidh's (and frob and Fridich's)Pretty
Visio import coming along nicely, and all of it in master for 3.5.0.
Mail; admin. Highly disturbed by Sankar's
pointing at a documentary on hindeous srilankan war crimes.
Most horrified by my anger and disgust, which when coupled with
impotence to do much if anything about it is pretty toxic.
Clearly justice should be done. However, Romans
12 assures us that whatever we see now, ultimately it will be:
Do not take revenge, my friends, but leave room for God's wrath, for
it is written: "It is mine to avenge; I will repay," says the Lord ...
Do not be overcome by evil, but overcome evil with good.
Very challenging watching that.
Set off to London to meet up with Norbert
(passing through en route to France). Attacked the clipping
problems with some considerable wins - most of the problems
apparently caused by poor management of clip regions higher up,
but solve-able with a tad more intelligence.
Enjoyed a fine afternoon with Norbert by the British
Library, and pizza afterwards, good to get to know each other
more. On to Oxford Circus, and to LICC the London Institute for
Contemporary Christianity. Rather a fine wine + cheese party, and
Mark Green speaking on Workplace mission; if only I had a
workplace. Home late in the rain.
Dug through mail, sent status report, call with Simon.
Worked on profiling my gtk3 work - it turns out that creating
and destroying full-screen bitmap masks anytime anyone does
clipping vs. more than one rectangle leads to some
under-whelming performance. More mail chew, worked late.
Up early, poked babes, off to studlands park to setup Church
in the Park: much gazebo errection, practised with the band, service,
More afternoon slugging, movie repeat - hacked on repsnapper
master finally getting the libreprap resend logic right (it turned out
there was a really dumb bug in the read parsing) - finally it should
Up late; off to NCC for band practise - good to use the new
Violin for something useful. Back for lunch. Slugged in the afternoon
with the babes watching The Prince and Me 4 - with an
unexpectedly pleasant and positive portrayal of marriage; nice.
Babies teacher's on strike, so took a deferred spring
bank holiday from 30th May. Up late, into Cambridge to the
Funky Fun House - babes all enjoyed it, and managed to
entertain / rescue each other leaving us to talk, lovely.
Into Cambridge on the bus to Downing, picnic on the
paddock, walked to the Fitzwilliam. Sadly E. has learned to say
M-use-eum, instead of the much sweeter 'I-e-am'. Admired some
artwork, and some mummies. Bus to the park & ride, chat
with jrb, home.
Fed babes, pottered about with machining brass blocks
into heater blocks, ground down the wire-resistor fire-cement
casings a little.
Put babes to bed, taught H. some hacking - concept of
variable, two-dimensional axes etc, and got her pygame stars
Chewed mail quickly, tried to draw a pretty picture of
our release schedule from different user perspectives.
Woken by N. playing the violin by my bedside. Prodded mail,
off to TEAM via picking up Mike. Talks on Ecclesiology, visited Maplin
to buy up their entire stock of heating resistors for repraps -
both of them, ditto for 100k thermistors, again both - hmm.
More training, back home. Steering Committee conf. call,
marvelled at openoffice.org
re-directing to an oracle.com apology for technical problems web-site.
Mary Rogers kindly baby sat, so J. and I could go out in the
evening, friendly pint together, then visited a newly refurbished Indian
restaurant at the other end of town nice food, but some chicken raw in
the middle - not ideal.
Mail poking, chat with Kendy & Thorsten; lunch. Booked
Desktop Summit flight and hotel, there from 5th to 8th Aug. Worked
away at some paperwork.
Somewhat amazed to finally notice this
insight from Rob Weir (cf. reply to Maxei). In one short block of
text he manages to malign The Document Foundation's governance, vendor
neutrality, insinuates SUSE collusion with Microsoft (to not compete
in the office space) and suggests LibreOffice will be mainly a Linux
product. So lets deal with some of these:
TDF's governance is vendor neutral
This means that no one vendor can control TDF - we aspire to having
a project people love to belong to. That should mean that people are
loyal primarily to the project, and less so their company when taking
decisions. Just in case that breaks down, and people act in a partisan
way, we have a Conflicts
of Interest section in the bylaws that limits the number of
members from any one company to 30%. That applies to the Board of
Directors, Engineering Steering Commitee, and Membership Committee.
SUSE competes with Microsoft
Clearly there is a well publicised collaboration with Microsoft around
interoperability, but to suggest that there is some
kind of hideous collusion
to not compete in certain areas is execrable
and emphatically wrong. Hard to prove the absence of that beyond
affirming its absence, and/or if you could all head to the Novell
LibreOffice web-page and sign up for our services and support
it'd be much appreciated.
LibreOffice downloads are mainly for Windows
I did a rough analysis of recent downloads by platform early
this month and more than three-quarters of our downloads are
for Windows. Of course, many linux distributions ship with
LibreOffice by default, a download may be multiple installs, etc.
etc. but the picture seems pretty clear.
Quick chat with Ralf, more paperwork. Put babes to bed,
out for a run, dinner with Lydia. Back to work later.
Mail triage; filled out Clarity, then read the mail saying
this (unpleasant top-down time & motion study) is finally gone -
lovely. More mail, patches etc. Lunch. Call with Kendy.
Started booking travel: something I hate getting to - got
flights for meetings in Nurnberg 13-15th of July, finally got Desktop Summit
dates sorted out, only to discover that our family holiday in France
is plonk right on either side of it; irksome; bother.
Dinner, put babes to bed; tried to find flights from
Angoulême to Berlin - amusingly the nearby airport is famous
for having infrastructure
and being"the airport that has no airline operators and no flights"; comic.
The problem apparently dissolves in Bordeaux.
Substantial lie in; skyped Kate & James happily.
Brunch with the family. Machined some PTFE - quite fun, though
the lathe is still somewhat touch and go.
Babes watched Chitty Chitty Bang-Bang while I
did some sermon prep for tomorrow, Daniel 3 - first half.
Returned to play with the babes before dinner, bed, more work
until late in the evening on the topic.
Up early; prodded mail, dug away at reviewing Matus' nice patches
to help enable lots of goodness
in LibreOffice. Merged most of them, lunch. PEEK and PTFE rod arrived for
making reprap nozzles from - lovely.
Call with Charles & Phil, chat with Federico, managed to
miss the travel booking - annoying. Forgot to link the ESC
from yesterday's call.
Up, mail; conference call with Lanedo, chat with Thorsten.
More mail, lunch. Team meeting, read the TDF planet and noticed
Eilidh's nice work on reverse engineering Visio
import being show-cased, more nice clean copy-left goodness,
and (thus far) some missing strings, great progress. Pleasing to
see Fridrich's Evolution
on Windows built in OBS work too.
More mail thrash, bit of hacking, up later digging out
a blocker bug in 3.4.1rc2.
Up; J. also ill - took babes to school, and car
for its MOT. Chewed mail quickly, hacked happily at gtk3 locating
the cloned and subset BitmapDevice modes that were defeating my
damage notification logic; finally something that does client-side
rendering reasonably efficiently and properly - neat. Call with Jos.
Home, lunch. Finished Linux Format column and sent it out,
more hacking here & there. Took elder babes to swimming, and put
them to bed. Bed early.
Up early; tired. Poked mail, lots of encouragement, updated the
website a little, worked on a filter issue with Marc-Andre. Lunch.
Chat with Thorsten, then Charles. More hacking, GNOME Advisory
Board call with some good news: Karen Sandler
is bringing her experience to bear on the free software desktop
as Executive Director of the GNOME Foundation.
Lydia over for dinner, fell asleep early instead of working;
feeling increasingly ill.
Up early, bid Karl & Katherine goodbye; dug through mail;
pleased to get a nice
of support from RedFlag2000. More mail. Lunch.
Calls with Kendy & Frank. Clarity, status report. Back
to various gtk3 pieces, what fun - it seems the idea that anyone can
render anything at any time anywhere is well entrenched in VCL, which
causes some grief with a pure on-demand rendering to a provided cairo
Mini lie-in, the girls seem to be getting better at sleeping
nowadays. 34th birthday today; some lovely hand-made cards from the
family, and a present or two.
Set too trying to deduce the cause of the cooker's failure,
unfortunately the installer didn't leave enough cable to remove it
from its position. Disassembled parts of it by leaning and balancing
it (a Belling 644bl), spent a long time hunting ineffectually for
cracked cables causing earth leakage. Eventually isolated the problem
to the top oven.
Bruce & Anne over for lunch, with some fine gifts - a
caliper giving a better than 1/10th mm accuracy, and some
a pair of micrometers. Out into town for a fine meal with the family
at Prezzo - much fun.
Back, Bruce helped get the laptop lathe setup nicely, with
the help of some spare bolts machined a beautiful brass reprap
nozzle; now I just need some PTFE and passive components.
Raspberry & cream sponge cake, with candles; and
bid 'bye to Bruce & Anne.
Back to the cooker while J. put babes to bed; eventually
discovered the top oven heater element concealed under the right
hand side panel, removed it - no oven, but no RCCD trips either.
Movie in the evening.
Poked mail; Interested to read Brian's latest TDF
entry. Unfortunately the fairly positive, accurate, firm but friendly
approach of TDF is undermined by a few well-intentioned but un-restrained
guys. One of these is Keith Curtis.
Sometimes he makes some good points,
and it can be good for the debate for them to be heard and addressed, indeed
that is to be encouraged. Yet as a fully self-appointed'un-official
spokesman' he in no way speaks for TDF, or indeed for anyone
but himself. Anyhow, I have been personally embarassed by his un-asked-for
intervention in the recent past, heckling a (hard working) papers
committee (apparently) on my behalf; disappointing. Having said
that, he is a nice guy; clearly annoyed by the ASF action, that
much is obvious - plenty of people are, but let no-one think that
his articulation of that reflects TDF's views generally.
More mail digging; back to more gtk3 work, I suppose one nice
side-effect of the cairo-context being passed to the Draw method, is
making it suitably hard to app-driven rendering - ie. the app can't
spontaneously decide to re-render a certain piece of the screen and
just draw there: it has to queue a re-draw of it (which is cleaner
of course) and respond to that. Hopefully that fits the VCL model,
Off to the dentist to check the teeth - apparently they are all
still there (encouraging). Into town to post a laptop back to South
Korea; train to Cambridge. Met up with the Gnome Contacts hack-fest
guys - good to catch up with the assembled heroic hackers. Fine
South Korean dinner, back late.
Up early; more mail pokeage, chat with Florian; breakfast.
Dropped babes off for their sports day, picked up Mike Geach, and
into Cambridge for TEAM.
Simon Scott for a couple of interesting hours on the Holy
Spirit. Lunch - wandered over with Ben to Mackay's to buy some
bulk brass, and brass tube to go with it: time to get the lathe
to work turning brass into beautiful
nozzles. Unfortunately delayed on return.
Picked up babes, and stayed with them for H. and N.'s
swimming lesson, home - poked mail quickly, fixed repsnapper
Pleased to see The Document Foundation Advisory Board
get announced at last, after much hard work from all concerned.
It is fantastic to have strong corporate and non-profit support
for our mission.
Up early, prodded lots of encouraging mail; pushed some minor
tweaks, pushed a screenshot
of my prototype style preview patch
(inspired by Ricardo Cruz's work), to make style selection easier - it'd be
wonderful to have someone to take that further while I'm distracted elsewhere.
Crunched some statistics, got past mail; prodded at gtk3 bits.
Built on Caolan's good start to the work, and got something rendering pixels
without any theming, but reasonably robust. Quite a bit more work required
to target the backend at cairo, and rid ourselves of the X backend I think,
particularly wrt. the ROP_XOR nastiness, either that or abandon
X rendering of most things in favour of basegfx and just chuck
pixels around. Pushed the prototype to master:
--enable-gtk3 --with-system-cairo fun.
Dinner, put babes to bed. Out to see X-Men First Class in Bury
with some of the lads from Church: Brian, Simon & Chris - fun in
some ways. Most curious to see the eugenic motif ultimately adopted by
one of its initial, show-case victims - que ?. Similarly extraordinary
given the film's message, and the primarily white racial representation
to have the token coloured person killed early on with some failing
to evolve idea: weirdly disturbing - can you make this stuff up ?
Poked an oddness in a unit test; amazingly it seems some (internal)
registry XML parsing throws an exception and bails out if we e'X'tend the
thing with an new attribute. Seems like we have a new hand-coded XML pull
parser too; odd. [Update] - it was pointed out that there is a nice wiki
page with information on the thinking around this here.
Worked on some analysis, poked at some nice iogrind work from
Mihai. Dinner, put babes to bed. Poked at libreprap briefly - improving
the re-send handling, still a somewhat hideous protocol sadly.
Mini lie-in; off to NCC, helped out in creche with Ruth.
Caught up with Wesley again; out to Elize's birthday party at the
local scout camp-site. Picnic lunch (in the rain), and Marsh-mallow
Back home for J's birthday cake icing action, and to get
the girls trained in using the mini-lathe. Then and out to
the severals for a Pentecost party; sadly raining still. Chatted
variously to all & sundry. Back, put babes to bed.
Wrote notes on Gordon's second Daniel 3 sermon; and did
more libreprap improvement.
Up early, house tidying, out shopping for baguettes, back
to get Barbeque going - it burned rather well, cooking both the
sausages and the hair on my right arm to a fine crisp. Met up with
the parents of E's friends (we accidentally over-ordered, with ~20
kids). Eventually got everyone fed, games played, things cleaned
Left J. hard at it; set off to the Newmarket Carnival with
the babes. Amused by the neat "do not drill this panel" legend inside the
fire engine (presumably to protect the enclosed water-tank), makes you
wonder how often it was pierced previously. H. went in a mini-Zorb
(rather fun), N. and M. in some back-of-a-trailer "fun house" thing,
and E. plonked for an ice-cream.
Lots of wandering, and choosing, climbing etc. Much free amusement
from the rather steep bank by the exit.
Babes to bed, watched Hustle, spent a good while fixing
libreprap's serial comms code; adding a few tricks to reset
confused firmware when re-starting the client software; nearly back
to full printing glory. Switched repsnapper master over to the
'meeks' branch of libreprap.
Mail prodding, voted in GNOME's election; poked TDF's Membership
Committee to encourage re-use of the same voting infrastructure. More mail.
Backed up prototype Samsung netbook needing posting back; Lunch. Calls.
Finally got around to re-working my style preview patch, got the
basics pushed to master. Pleased to read the FSF's
supportive statement on LibreOffice, hopefully that puts to bed the
idea of the FSF's blessing on sub-optimal behaviour.
Up early, read mail. Read Richard's nice article on
mining, which has a great comment that needs to be a FAQ:
Could Oracle have donated code to TDF ?
It is often asserted that they could not - since we do not yet
have a formal entity to assign to. In fact, with ASF's
software grants, the code is licensed under a very broad license - but it
is indeed to an entity. We are privileged to have two affiliated entities:
the German Association, and Software in the Public Interest (SPI). However,
if you read our recommendation
to Oracle - it says this:
The existing OpenOffice.org code-base should be made available
under our preferred (dual) license: MPL / LGPLv3+, with Oracle retaining the
copyrights. We believe that the MPL (over say an Apache license) as a
copy-left license, is crucial to community growth and acceptance, and
has proved itself with Mozilla.
ie. the idea that we require an entity in place to use a copy-left
license effectively is nonsensical. Furthermore, the idea that we would treat
a single large player as a special case requiring them to assign code, when our
other contributors continue to own their part of the franchise is odd.
Whose move is this ?
Well, clearly it is Oracle's choice to whom it licenses its software,
as well as the software of those who assigned it their rights in good faith
over many years. Having said that, this announcement - with its three-way
co-ordinated IBM blogging, and high-energy advocacy from Rob appears (from
the outside) to be primarily an IBM inspired, resourced and driven move.
Weak copy-left licenses at Apache
Reading around the topic, it appears that one approach to solving the
ASF loathing of copy-left code, at least for licenses that allow binary
distribution without corresponding source is to check in binaries.
Perhaps this leads us back to the spectre of the olden-days, when OO.o CVS
contained vast .zip files of pre-compiled mozilla binaries for handfuls of
platforms and architectures; clearly not ideal but perhaps possible.
Dissecting some advocacy
On Sean's original Terrible Move
blog there is a comment by a 'Doug', who is doubtless IBM's Doug Heintzman,
a man with considerable authority, whose words should be taken seriously.
So, I would like to address it, in its entirety, in sections:
I think that you may be missing some key points. Apache
represents a mature, established, and stable home for OpenOffice with
a respected governance model.
So far so sensible.
It costs a lot of money to create and support a new
foundation and maintain a high volume download site. These are not
Indeed these are useful considerations - so lets look at these
How much does it cost to host TDF infrastructure ?
Does this need to break the bank ? As previously
discussed, TDF's income from donations and sponsors is rather
less than an order of magnitude smaller than ASF's entire budget.
So by inspection this seems an unlikely contention, bearing in mind
that most of our download bandwidth cost (for our huge
binaries) is (kindly) carried by our extensive mirror network.
We can look at other organisations serving web-pages, say
the Wikimedia foundation to get an idea. It seems
that they serve 10bn+ page views each month, at a cost
of less than $10m per year (which seems to include some
real staffing cost). This gives a very upper bound guesstimate
of 1k page views per month per dollar. If we have 100m users that
visit us once per month, that gives an outside, upper bound
of $100k pa. That looks reasonably affordable, with suitable
sponsorship. A wikipedia page hit I assume is some very funky
database interaction, with rich media and image contents coming
from hugely concurrent read/write access of tens of thousands of
disparate pages. The TDF website has some quite simple static-izeable pages
with typically a very simple flow through to the download page so
my guess would be at some fraction of this cost. Perhaps I made a
numerical blunder ? Our current spend is of the order of rather
under $10k per annum.
How much does it cost to setup a foundation ?
Another good question, thus far, not very much. The number of excellent
Free Software lawyers, willing to donate their time on a pro-bono basis
is most encouraging. Our preferred jurisdiction takes some time to
incorporate in, otherwise this is not (thus far) a real cost.
Lets just code !
Nobody wants to spend time money and
energy on legal, adminisetrative, and political overhead when they
could be coding.
Personally, I love that attitude, though there is a rich seam of
irony in hearing it from the political, non-coding department. Of
course there is the issue of show me the code ! - so far
nothing; only blogs, E-mails and hopeful looking statements.
(ie. administrative and political overhead).
Perhaps when we see code, more informed decision making will be possible.
Having said that, being encouraged to be just a coding machine - while
devolving the tricky issues of licensing and governance to other higher
minds, can lead to real problems. Licensing matters.
Won't somebody please think of the proprietary software ?
Furthermore, There are likely interests involved who
have an interest in doing real innovation in the document space
involving such things as rich semantics and analytics. Think of
what Watson could have done if it had access to "smarter"
Some sadly unspecified likely interests who
would want to innovate in the document space - so that Watson: a
bit of proprietary software (albeit built using a lot of open source)
from a single vendor can do better.
At least, this possibility is not something that motivates me to
work harder, or to contribute code under a non-copy-left license.
I for one, would not like to live in a star-trek future if
it was built on proprietary software.
The powers that want to invest in and evolve OpenOffice will
be much more comfortable in Apache, as will their
customers. The various parties including Libre office and the
Linux distos need to seize upon this opportunity to reconcile
and drive value creation from a collective investment. With
the Oracle developer subsidy gone, to both both OpenOffice and
LibreOffice, the remaining parties need to work together and
make a concerted effort to recruit new parties with new
ideas. This could be a great outcome!
More hidden powers that want to invest, but just can't if they
cannot sit inside Apache (or is it proprietise?) - show me
the powers! might be
a good riposte. It is hard to make a balanced judgement on the
basis of likely hidden things. As for working together - I can only
applaud the idea. Step one
for working together is, I would hope not starting and supporting
a competing project. As for recruiting new parties with new ideas
- who can argue with that ? It is the old ideas such as demanding
the right not to contribute in a timely and constructive way that
stick in my throat. Indeed, arguably a major motivation here is to
get the politics around contribution, its extent and timing out of
the project, permanently.
Since Doug is a very sharp and personable chap, I imagine that
the concerns about cost and overhead are rather secondary to the
real issue of the ability to proprietise: which has to be near
the crux of this, rather than just a detail.
Team meeting, appreciated this write-up
from Monday I missed. Boggled at E-mail variously, chased an
intermittent bug, fixed a nasty OSX build issue.
Up early, prodded mail quickly; drove Mike & myself into
Cambridge for TEAM. Enjoyed another day of great teaching, and helpful
Home, fed babes dinner, paid the piano tuner (now finally
getting to grips with the higher octaves), read stories to babies.
Poor J. under the weather, snoozed a while. Call with Mum, pottered
around getting my newest laptop (a lathe) partially re-wired - scary
to see the degree of perishing of the original plastic cabling.
Up extremely early; worked until breakfast, filed updated
e-d-s deadlock. Slept, awoke, massaged patch to fix deadlock, more
mail. Pleased to see Lanedo's Support
for LibreOffice, a tad late for the link I admit.
Read Mark's essay
on balancing power. I tend to think that blessing a single market
segmentation is unfortunate. If QA and documentation are weak, and a project
has no-one that wants to do that (even for cash), why not
out-source that work (at zero cost) to a 'distribution' company ? they can then
aggregate customer needs to the point that transaction inefficiencies become small
and help fund fixing them. Of course
there is some duplication there, but that is the sad downside of competition
surely. Having said that, I'd love our ecosystem to have more, viable, well
funded companies, and more contracting-out of support, QA, documentation
services etc. moving in that direction would no doubt increase flexibility
and provide incentives to attract more business and investment around
technologies. Happily some of these companies exist and thrive today, yet
apparently do not require aggregating ownership of contributions (eg. EnterpriseDB, or PGX or ... ).
Finally, having bazillions of small, fragile foundations is indeed a bad
idea, things like the Software Freedom
Conservancy can help adopt and aggregate established projects giving
them some of the advantages, without the overheads.
Got fed up of writing text, so dug into a fun crasher bug instead,
satisfying to actually improve the code a little; wrote and sent status
report for the week.
The rest of the family returned in emotional pieces, after a
somewhat disasterous attempt at a combined music lesson, hmm. Created a
couple of new freedesktop accounts.
Lydia and Janice over for dinner in the evening, spent some time
riveting the barbeque together (in its increasingly dillapidated state),
poked mail late, bed: off at TEAM tomorrow all day.
Up; pleased to read a sympathetic groklaw
take. Adjusted my blog license to public domain. Some encouraging
Re-compiled chen's e-d-s patch for more testing.
Spent a little while updating my 3.4.0 release blog with an
updated contribution graph for good measure.
This little article on Microsoft's developer platform
story is worth a read. It is interesting to see GNOME 3.0 going in
rather before Windows 8, I guess the QML world is very java-scripty
for serious work, but doubtless that's just compressed crustiness.
Lots of mail thrash, Clarity. Lunch. More mail, Christian Lohmaier
did a fantastic
analysis of the completeness of the code dropped on ASF judging
by the filenames at least. Some highlights: 40k of 69k files to be licensed
to ASF ie. 40% of files missing, by his (clever) file movement analysis,
the snapshot was taken at m103 ie. before 2011-03-21, ie. old and missing
lots of branches integrated since then. Then a lot of details: no
icons but then no toolbar XML descriptions either, no translations,
no templates, no filter configuration, the list goes on. Anyhow,
onto the constructive bit: it would be much better, cheaper, safer and
more complete for Oracle to license all rights that it owns in the code
in the complete set of mercurial repositories to ASF, and to let them clean
this up, absent that - many more man weeks of delay, and many more expensive
legal round-trips will be required I suspect.
Tragically didn't manage to get my Monday inbox processed to the
point of productivity after a whole day at it: not good.
Miriam over for dinner, lovely to hear of her wedding plans, and
flip through our old wedding albums (ten years next year) together. Back to
work before bed.
Fine lie-in, and off to St Peters on the level, an HTB church
plant. Lots of bounce, and friendliness - great kids work, well delivered
helpful sermon, sadly rather de-coupled from the text.
Back, for a roast beef blow-out; tried to read the good bits
from Schneier's Applied Cryptography - (of Thomas') at least got
the basics of RSA and DES under the belt - much less scary than expected
a rather helpful practical book.
Tea, packed, bid 'bye to the parents; drove home via an M25
congested Long Delays in both directions, J. did some great
off-piste map reading around it.
Quick tea, watched the sixth episode of Hustle, and bed.
Mini lie-in; breakfast, climbed trees in the parents'
garden with a succession of small people - some getting 25+ feet
into the air, nice.
Knocked up a packed lunch, and out to Worthing's Brooklands
park / lake. Paddling in the sun, picnic lunch with the babes, lots
of play-ground / rushing around; had a break in the sun.
Back home for afternoon tea. Babes watched a movie, prodded
at mail, did some research until dinner.
In the evening pottered around, poked at a lap-lathe we had
lying around (still in good order - modulo perished electrics it
seems) - hopefully ideal for reprap nozzle creation if the
concentricity is still ok. Dis-assembled a bread-cutter to access a
broken gear (seemingly using it for meat introduced grease to attack
the plastic). Spent a while modelling a replacement gear in openscad,
while catching up with Tom & Becky.
Pleased with J.'s progress at solving the rubicks cube -
most impressive (I couldn't stick it). Bed late.
Up early, breakfast, somehow missed an 8am meeting;
Encouraging sync with Ralf. Insightful
from Brian on the IBM move, and an even more insightful
from Marbux doing some of the spade-work on expanding the
history. Marbux is right - this has all happened before: IBM
trying to fork, based on an old code-base (under a non-copy-left
license), against the existing developer community's wishes as/when
the non-copy-left license was withdrawn last time. Nice to have
Heintzman interview from 2007:
[three+ years ago]:IBM's contributions will
include 35 dedicated
programmers as well as editing, accessibility, and other code ...
We've been investing in creating many complementary things in Notes
that aren't in the core OpenOffice code, such as the SmartScreen
filters and iAccessibility2 ...
While in fact I applaud IBM's lack of engagement with the
(highly unreasonable) Sun regime that was OO.o - it is interesting
to note the exaggerated claims of dedicated developer
numbers never really materialised (or perhaps there was just an
effectiveness problem). Also IAccessible2
integration is still one of the (great) promised distinctive new
features they plan to finally
contribute for Apache Office (much improving accessibility for the
impaired on Windows, analagous to SUSE & Sun's integrated
work on atk integration for Linux - an unfortunate feature to
politic with). The code was
to the community in 2008 in an IBM keynote, and eventually dumped
vs. a very, very obsolete branch (1.1.5) and left; and is still not
integrated to this day, hence re-appearing as a new value-add. Of
course times change, and strategies morph and some commitments are
un-sustainable, no doubt it happens to us all.
Poked at mail, wrote up some thoughts on the 3.4.0 release,
and the encouraging progress there; with so much good work by so
many, I wanted to highlight some of the behind-the-scenes work too.
Are the LibreOffice statistics just made up ?
I was amused last night with Rob's attempt to dispute the
statistics we publish, he was promoting the idea that LibreOffice
had only 54 developers in the last six months, most of them
Novell. It seems (on a benign assumption) that this is likely to
stem from a rather simple error, counting just 'bootstrap'.
Admittedly we do the rather evil thing of downloading more code
when you run 'make' (can be forced with ./download after configure)
so perhaps understandable. It raises the question of how we could
possibly publish graphs with a straight face that show the opposite.
re-generated the numbers last night and posted
them. Of course we all make mistakes, perhaps we have - we
use Jonathan Corbett (and GregKH's) gitdm which is quite
well established, and all the code and patches are published.
They show for the last six months:
Employers with the most hackers (total 214)
(Unknown) 138 (64.5%)
Oracle 45 (21.0%)
Novell 18 (8.4%)
Known contributors 7 (3.3%)
Canonical 4 (1.9%)
Redhat 2 (0.9%)
Of course - the numbers show nothing about volume of contribution,
only discrete numbers of affiliated contributors: so RedHat did a
much larger volume of work than Canonical - who donated a more
diverse set of changes. Cue argument about the usefulness of
lots of volunteers contributing small changes (personally I
love and want to encourage that - I love 'Unknown' affiliated
hackers they sound spicy and interesting).
I'd be absolutely giddy with joy if LibreOffice
developers would come over to Apache and run their project
under the Apache 2.0 license under the Apache process. I'd
even be open to calling it "LibreOffice". But this is much
more an issue of organizational capabilities than it is the
rather narrow gulf between the current OpenOffice and
LibreOffice source codes. I want an organization that will
last, not something that will fall over in the next
Ignoring the red-herring about naming; the question is: is
Apache really that vast, stable, storm-proofed and
well funded as an organisation ?
First I should say, that I think the Apache governance
rocks in many ways, and this is no critique of them. They
are a voluntary organisation, and they kick some serious ass.
More amazingly than that they achieve so much on a fairly
If I read it right:
Attachment AE: Proposed 2010-2011 Budget
ASF budget for FY May 1 2010 - Apr 30 2011
INCOME Total : $541,200.00
With the majority of that coming from the sponsorship
program. This makes me wonder, whether financially and
structurally they are really playing in a different league to
TDF or whether volunteer Free Software projects like this,
doing amazing things on a shoe-string are the norm. Clearly
age, experience, and being incorporated are helpful predictors
of future stability. Another example would be GNOME's financials
bringing in $187,000 last year, KDE ev reports are in German,
but Die Finanzsituation im Kalenderjahr 2008: Einnahmen:
235.406,15 EUR seems of a similar magnitude. Clearly, financially
TDF's raising of Eur 100k in a couple of months (from a mix of
generous donors), seems quite adequate to finance the project.
My conclusion - There is no need for TDF to fall over in
any storm - not even a man-made one. But of course, we are
eager for more contributors, members and stability.
One of the nice things about the Attachmate acquisition
is being part of SUSE; working with management with a deeply
informed grasp of Free Software, the importance of the
community, and how working well with them will always, in the
end, be best for our customers; anyhow enough raving - here is
SUSE Perspective on Oracle's Contribution of OpenOffice.org
Today we released
3.4.0, there is a great list of new features, specific
to LibreOffice available (expertly assembled by Marc Pare and others).
Each should also be credited so some of the depth of the (code) developer
community is apparent, this is of course in addition to our extensive
(kept up to date by a volunteer of course). This is the first major
release containing code from many of our new volunteers which is exciting.
Of course, there are some great improvements there, I like the named
range / data-pilot work that makes it easy to extend the data range you're
working on without manually editing perhaps ten data-pilots depending on it
but there are a load more. Some of the changes are invisible, and/or behind
the scenes - so I thought I'd expand on them here.
The incredible shrinking codebase
First - ridding ourself of sillies - there is lots of good work
in this area, eg. big cleanups of dead, and unreachable code, dropping
export support from our (deprecated for a decade) binary filters and
more. I'd like to highlight one invisible area: icons. Lots of
volunteers worked on this, at least: Joseph Powers, Ace Dent, Joachim
Tremouroux and Matus Kukan. The problem is that previously OO.o had simply
tons of duplication, of icons everywhere: it had around one hundred
and fifty (duplicate) 'missing icon' icons as an example. It also duplicated
each icon for a 'high contrast' version in each theme (in place of a simple,
separate high contrast icon theme), and it also propagated this effective
bool highcontrast all across the code bloating things. All of
that nonsense is now gone, and we have a great framework for handling
eg. low-contrast disabilities consistently. This also reduces run-time
memory consumption (we have to cache the .zip theme's directory), and of
course binary installation and download size shrinks (we ship several
themes to taste) - here is a pretty picture:
The incredible shrinking footprint on Windows
When we first released LibreOffice, in place of the individual
install set per language - duplicating the code, artwork, templates, etc.
many tens of times on each server we switched to bundling lots of
languages (and also the run-time adapted BrOffice branding) into a
single package. That shrunk our mirror load from
76Gb down to 11Gb for 3.3, which is now for 3.4 down
a handy win (of ~70Gb) for mirror admins, making us more agile, and
appreciated by our fantastic mirror network I hope. To achieve this, in
consultation with the l10n team, Kendy worked hard to split out our
help to the wiki - so you can browse it on-line at http://help.libreoffice.org.
That of course helps Linux users' space-constrained live-CDs more
With that work in-place, we managed to cram the top fifty
languages into only 225Mb on release, which (sadly) left the
remaining languages in a rather larger 265Mb download. In 3.4.0
down to improvements such as the them work above, sharing
templates, dropping the BrOffice brand (at the Brazilians
request) and more importantly Kami's gret msi packing improvements
we've managed to pack all our languages, and many more dictionaries,
and more functionality into a single download at 197Mb. That is
clearly still too big, but smaller than a MS Office service pack.
We are still some 40Mb larger than the original single-lang
packaging (which it is our goal to match), but there is plenty
more room for improvement (eg. gutting the megabytes of pointless
ICU code we ship), and we'd love more help, (cf. scale offset
Better translation infrastructure
I'm not an expert here, but our fantastic l10n team, swelled
to 200 contributors is doing some great work on getting the latest
translations into the product. They're using pootle for that, but
better (thanks to Andras) we've switched from storing our translations
in SDF format, instead using native gettext .po files compiled to various
odd other formats during the build. Bjoern has a prototype patch coming to
allow run-time .po file translation, to allow post-ship translation
and better integration with Launchpad.
One of the huge, invisible tasks for 3.4.0 was the merging
of Oracle's code changes. Luckily, of course we use git - and several
split repositories, such that merging should be easy. Then again, we
have done lots of widespread changes, many hundreds of thousands, if
not millions of lines of diff, stripping dead code, translating thousands
of comments, touching every single file, as well as more substantial
API and code changes.
One of the things that made the merge more tricky, was that
(after decades of inactivity), some Oracle developers decided now
(post fork) would be a great time to do some long overdue large-scale
code cleanups. One of those was replacing every instance of TRUE with
sal_True, same for FALSE, all instances of
legacy types like BOOL to sal_Bool, for
each of UINT16, ULONG, LONG etc. etc. Unfortunately, not
an easy 'sed' either, as witness to some of the bogus
"sal_True" type strings that popped out of the works.
While a valuable, and much needed cleanup, this results in the kind
of multi-million-line patch (touching all the dead code too) that
has the effect of obfuscating their other valuable changes, and
takes a certain determination to merge and reconcile.
The effort, spearheaded by Norbert with many straight
days of mindless grunt work from myself, and able assistance from
Thorsten, Kendy, Kohei, Noel and others - hopefully highlights
a triumph of determination and survival against the odds, the tedium
and some RSI. Unfortunately, due to some comic, transient technical
hitches (that resulted in having to do much of the work twice) this
merge rather delayed the code freeze and our first betas for 3.4.
Tinderboxes / rapid building & QA
With the rush to get 3.3 out, and the stabilisation releases
after it, as well as the one-shot fun of migrating many Linux
distributions over to use LibreOffice there was not enough spare
bandwidth to get many tinderboxes
or build-bots building. Unfortunately, this had
quite an impact on the QA teams particularly after the merge completed,
which was sad. The good news is, that we have mostly fixed this now, and
have much more recent (the aim is daily) install-sets for most platforms
available for testing
- a great way to get involved is to help with re-testing old bugs against
the latest stable releases.
A chunk of this is down to better tooling and scripts to drive
tinderboxes, though we still struggle with unreliable Windows
builds, cygwin's sh.exe, or perl.exe or dmake like to wedge
intermittently some hours into the build.
On the Mac front, Norbert had a breakthrough to shrink
the build time. An all-lang Mac build used to take 15 hours
(13 inside helpcontent2) - he managed to get this down to under
30 minutes using a ramdisk - substantially improving our
agility and ability to turn around builds quickly: getting the
latest code to QA fast. One of many great build performance
improvements - with other much appreciated packaging acceleration
wins in the tangle of badly written perl by guys like Jan Darmochwal,
Julien Nabet and Steve Butler.
Then of course some QA stars like Rainer, Alex, Cor, Andre and
many others have been working hard at finding, cleanly filing,
triaging, prioritising and marking bugs, critical work.
Time based releases
One of the key features of LibreOffice, from my perspective, is
its time based release process. Italo has done a great write-up
with several nice pictures of this, one of these is this:
To me - having a predictable, and
time-based release is such a key concept, that shipping
3.4.0 as a carefully labeled, point-zero release on time
is more important than shipping an incredibly bug-free product,
at a future, undefined point. This avoids a deeply political
process of deciding when and if to release, and whose pet bug is
worth waiting for and why, and why is his worse than mine, and oh !
I just found another one, lets delay another week. The alternatives
to a time based release seem to have lead only to long (multi-month)
Clearly, we have learned a lot this cycle, and improved
our processes to make future releases even better. Obviously our
succession of point releases: 3.4.1, 3.4.2 etc, will incrementally
improve quality: indeed we are confident of that, since we already
have a lot of fixes in-place for 3.4.1, however the fact remains that
3.4.0 is buggy (in fact all software is, but it is more so
than usual, and we found a lot of bugs rather late). The bright
side, is that our future point-zero releases, build on our
improved infrastructure will be better in future. This is why we are
continuing to advertise 3.3.2 (and the soon to be available 3.3.3)
as the primary download build for now (thanks Christian for all your
3.4.0 and get stuck into helping us make the Free Software Office
world even more fun, fast-moving, and exciting. A great way to
start as a developer is to get stuck into an Easy
Of course, lots of people got stuck in already, and continue
to do so. We like to graph statistics of commits by affiliation -
charting how many people of what affiliation commit at least one
patch per month, that gives us a pretty graph like this:
Which (I hope) shows the strength and diversity of the
contribitor base, as well as its extraordinary growth since we
launched. Sadly, some like to denigrate and despise contributors that
only come up with small changes, personally I started off in Free
Software as a contributor like that - and we love to help encourage,
and mentor contributors from small things - to greater ones.
Well, of course so many others have been involved in making
LibreOffice the success it is today, tirelesss work by many Steering Committee
members, like Italo and Florian writing and co-ordinating multiple
press briefings concurrently, and many helping translate and promote
the software. The design team, being patient as we get the basics right
before getting too stuck into fixing the UI (while producing some
beautiful, much improved artwork), and no-doubt many others I
forgot. And please take note - this is just some of the features
you can't see, there are plenty
that you can"
Up early, prodded mail, quick reality check. Set off
to drive south, worked in the car - somehow the light was kind.
Recalled happily the first days of the announcement of
The Document Foundation, press-releases combined with real,
building code, preview binaries for end-users, that you could
build yourself, backed by a real, flesh-and-blood team of
developers empowered with commit access, united and working
away at our first official release even while volunteer
spokes-people briefed the media.
It seems that IBM and the ASF are encouraging individuals
from the LibreOffice world to sign on as 'Initial Committers' to
their new project. I have a few thoughts on that. It seems that
there is a gulf between where the Apache Software Foundation is
and where we, as a community are. Bridging that may prove
difficult, and the main stumbling block is non-copy-left
One thing that I think is clear, is that sticking together
is more important now than ever before. While we are a young team
of hackers I hope we're a friendly one, and have built some kindred
spirit. We are not (to use Rob Weir's reply
to Jeremy Allison) "something that
will fall over in the next storm"). I would hate to see us
divided which is a real risk. Consider a question you can
ask a group of people, that seems reasonable: eg.
"Can everyone who was -not- bullied as a child,
please raise their hand ?"
Unfortunately this, if acted upon, has the effect of
isolating and identifying all those who sadly were, yet without
their consent. The best course of action is to reject the
question, and the second best is to not raise your hand.
Whatever we do, needs to be done together as a community.
Perhaps you personally, have no concerns about licensing all of your
code to corporations who have no intention to reciprocate, and who
care nothing for working constructively (some with us with a track
record to match). If so, can I ask you to consider your actions in
the wider context: of the rest of the team you've enjoyed working
alongside, particularly those who maynot
feel the same.
All of which is to say, I would strongly prefer to see either
all of us as initial committers, or none at all, and that is a decision
we need to make collectively; clearly I have a strong personal
preference for the latter option.
Arrived home, lunch. Prodded around in OO.o some more. One
of the more amusing finds is that dmake (still substantially required
to build the majority of OO.o) is GPL software, not acceptable to
Apache. Prodded at xalan-c, I was unaware that Rob Weir started his
apache career here - an initial checkin, and six commits over less
than a month, a decade ago (in the svn
history if I read it right), then nothing. "I was a committer
in the Apache Xalan project many years ago (1999-2000)" sounds
right, apparently from mid Dec 99, to mid Jan 00. Still no doubt
useful to have that thing out there somewhere, and perhaps he has
commits under another name to other xalan pieces (not trunk of java
or test apparently).
Up early, mail prod, misc. calls. Poked at some encouraging
iogrind related progress. Poked at a packagekit / zypp backend issue.
Interested to see that the widely trailed move of donating
OO.o to the Apache Software Foundation actually happened today. TDF
have a simple, friendly response,
and I have a number of thoughts:
Engaging with community members (IBM), and having a
commitment to the developer and open-source communities (Oracle)
are laudable goals. I can only applaud the sentiment. Unfortunately,
starting that process only after finalizing a license incompatible with
the communities existing work, and at a different home to the one the
developers chose themselves seems an odd way to engage, and commit.
Unfortunately, there is a problem with Free Software developers,
firstly - they often don't wear suits, and (get this) some have beards:
which just shows you the kind of schmucks they are. But worse - they
have odd, meritocratic, collaborative decision making processes, that
don't come up with suitably corporate answers. One example is jurisdiction:
the community (after all is said and done) wanted to found itself in
Germany. Professional, serious, serial, corporate body founders prefer
to go elsewhere (US, UK) - yet, is it really that bad to compromise on the
issue ? Community decision making - but only if you like the outcome
is a tad unfortunate.
Worse - Free Software hackers tend to be free-spirited, and they
often believe in reciprocity: if I give you my work, surely you should
give me yours ? ie. the spirit of the copy-left. Unfortunately, that is
not the Apache way, which has some merits no doubt, but is alien to the
existing developer community that commitment is made to. OpenOffice
has traditionally included plenty of copy-left code, some of which I
before. Coercing developers to do the bidding of big companies is not
something they react well to (usually).
This event highlights some of the great work that has been done
as part of the GPLv3 process, and also the MPLv2
work (done by my friend: Luis Villa). These happy lawyers out there have laboured long
and hard to make their new licenses compatible with Apache 2.0 - such that code under
that license can be re-licensed under their terms. An example of doing this
Without their labours, it would not be possible to integrate the Oracle
code, and the eight months of existing work by the community into a
single beautiful whole. Clearly there is no rush to actually do that work,
perhaps it can be done on schedule for LibreOffice
3.5. By a happy coincidence, we have a slightly longer cycle this time
as we sync. up our six-monthly time-based release schedule with that of
Linux distributions and desktop.
Apparently this is a somewhat divisive attempt by an exiting
Oracle, along with IBM to sideline the existing developer community, their
governance, their aspirations, membership, licensing choice (explicitly
adapted to meet IBM's needs incidentally), bylaws, and so on. All of this
despite a profound, frequently stated open-ness to including new
(particularly large) corporate contributors inside TDF, and taking
their advice seriously.
Thankfully, license compatibility lets us turn this from a closed,
and finished chapter of long, sad story - into the beginning of a happy
one - where everyone, regardless of size and Dilbert-ness can join
together around TDF's code-base and contribute on their own merits. So,
next time you meet a Free Software lawyer, please - shake their hand.
We also have Rob Weir enthusing
about the joys of his preferred outcome. It all sounds wonderful, but sadly is
not what the substantial, existing developer (and marketing, and QA and ...)
community chose. Luckily of course, it is not a final choice as/when the code
is released they are free to choose to join TDF and engage. Still, I look
forward to reading Rob's code - it'd be great to hack with him.
Got around to reading Luke's mail
and associated odf proposal
That document itself has some great quoteable material:
Both Oracle and ASF agree that the
OpenOffice.org development community, previously fragmented, would
re-unite under ASF to ensure a stable and long term future for
or how about
The initial set of committers include people
from the community of OpenOffice.org Technology projects ....
The initial group of developers will be employed by IBM, Linux
distribution companies, and likely public sector agencies.
Localization resources are expected to gravitate to the new
project, as well. Ensuring the long term stability of OpenOffice.org
is a major reason for establishing the project at Apache.
Amazing to see Andrew Rist and Rob Weir as the initial
committers - I'm unaware that they have ever committed a single line
of code to the codebase before: but ... there is always a first
line; a whole new sense of initial committer perhaps. I was
encouraged to read somewhere that: "The first step along the road
leading to committership is to become a developer".
Fun quote from Benson Marguliesposting
on the Apache projects list:
Instead of IBM loving and leaving ASF in an attempt to outmaneuver
Oracle, we have IBM, with help from Oracle, proposing to love ASF to
outmaneuver an open source foundation. It all looks like fox-hunting
to me. (The unspeakable in pursuit of the inedible.)
Call with JP. Pleased to see Christian restoring some Korean comments
from the history whose encoding got mangled - LibreOffice: not just a legacy
of German comments, but some in Korean too - help appreciated translating
them, they're: here
Pleased to see Bradley's thoughtful
piece on the move. Played some violin to relax, nothing like Kreutzer to
free up the hands & mind.
Dug into regression test problems with Bjorn at some length,
startup (particularly with pipes for IPC) is a fun problem. Chat with
Mark W. Lunch.
Reviewed some patches for master, fixed some bug-packed code
happened upon from a compile warning. Encouraged to see 32 modules
converted to gnumake on master, of which fifteen are in tail_build
(and thus can be built in parallel) - nice indeed.
Out for a run, dinner with Lydia & J. worked late.
Up early, baby-sat while J. slept. Off to NCC, played with
Mediashout for the first time - seems simple enough. Home for lunch,
Out to see the Castros in the afternoon; fine tea, babes
played happily. Home, quick tea, chatted to Rob in the evening it
seems his company doing heat pump installation
around Oxford is doing well. I love the monster solar PV installation
Up late, Skype with James & Kate - lovely to hear
from and see them. House tidying, Bruce & Anne over for
lunch, great to see them; fine afternoon together.
Played reprap, got the comms code into some slightly
better order and cleanliness; eventually worked out that my
complex 'ok' accounting was un-necessary, the controller
hyper-actively emits as many 'ok's as it wants new commands.
Call with Thomas and Becky until late, lots of
excitement going on there in Boston. It seems the Parent's
house in Brighton looks rather fantastic
for the old family home.
Babes on holiday - half term; up later, mail chew, wrote up
some analysis. Bus to Cambridge - lots of fun with the Collabora folk
at the Cambridge Beer Festival variously.
A number of people have asked about how I feel about: Mark's latest advocacy for
to-corporate contributor agreements (CCAs). I have a number of thoughts.
I agree - that there is a 'spike-filled canyon'
between proprietary software and open development of Free Software.
However, I don't blame this on ideologues, but on the sheer economics.
If you try to choose some middle ground - where you open up slightly,
and 'harvest IP' into your commercially licensed
products through CCAs there are many dangers. First - others will ship
your product without paying you a cent, but worse - since there is an
asymmetric barrier to entry you struggle to build a community,
certainly fail to get other companies involved and have to do all
the work. Thus you capture the worst of all worlds: no money, and no
co-development - perhaps analogous
to Miguel's comic "Part time vegetarianism". As one of those
supposed ideologues - I want to get companies to choose clearly, not
half-heartedly, and get across the canyon quickly without expending
their initial goodwill and into a place that works well both for both
their business and the wider community.
As someone who has advocated circumspection (not fear), of
companies vs. well governed non-profits - I don't believe that view
is 'childish'. Companies have mixed motives, but they also have
fiduciary duties wielded by those very distant from the
communities they are (not) involved in. These can lead to some
perverse outcomes: of business people over-ruling and ignoring
all the better advice from their technical staff, a trivial example
might be around the questionable wisdom of pushing the use of CCAs
Then we have an extended section pitching a nice vision of
companies owning pieces and layers of the Linux stack, and playing
nicely together. My skepticism of this is
with a nice diagram too. I don't believe it can or will work, and
I've seen it fail severally. The
example with MySQL vs. PostgreSQL is not a great one - the latter is
not a CCA project, with the same (very liberal) license available to all.
Certainly no-one is arguing against corporate contribution,
(I work for a corporation at least), instead they argue against
corporate ownership through CCAs.
It seems that Mark's view is that - the thing holding
back the world from providing him with a desktop that he can achieve
200 million users of Ubuntu with is: other people's bad attitude to
assigning rights to Canonical (and others). It is an interesting
thesis. Personally I have a couple of thoughts on that.
First - the simple point: it is curious to see the organisation
that has set the price-point for preloaded Linux, and enterprise
updates at near to zero is suddenly concerned about the lack of money,
and hence jobs in Free Software. It is a great realisation that the
economics of the ecosystem matter, and that it is important that
the answer to "where can I get a job writing Free Software that
everyone benefits from" needs to include Canonical, as it increasingly
Second - my counter thesis: Collaboration is key. which has many
corollaries such as Diversity of contributors is a strength.
Clearly CCAs result in single companies owning pieces of the stack - Mark
appears to implicitly agree with this, apparently believing that this
sacrifice will allow them to invest, and there is perhaps a grain of truth
there. I believe this single company outcome is just a recognition of business
reality, and not a result of my (and others) pernicious lobbying.
Set against this presumed benefit then, is the inevitable stifling of
collaboration, which creates systemic risk (via unrelated corporate failure),
while breeding conflict.
It is hard enough to get opinionated individuals to work together, and take
the risk of re-using others' code.
That is worse across company and group-think borders, and practically
impossible if one company has to assign rights to another. Take for example
GNOME Shell vs. 'Unity' - the problem (of having two teams of half the size,
tackling twice as many bugs) is ultimately one of collaboration. This seems
transparently obvious (and foolish to me), but is by no means unique - quite
the opposite, it is replicated dozens of times. Though I can well believe the
blame for this instance is quite evenly spread, and complex, the issue of
a single company owning the user experience and strangling collaboration
is quite serious, and something GNOME's guidelines
on CCAs would rightly forbid. Indeed - we all need to work hard to ensure
that we are as diverse, and open to new entrants, ideas and contributors as
possible. Creating more excuses to not-collaborate is not
wise even if they were immaterial (which CCAs are not). Indeed I
had thought that working hard to help people collaborate is/was
a key thrust of Mark's thinking underlying launchpad, bzr, etc.
My concern is that, by making collaboration around CCAs much easier,
it will inevitably create more, and ultimately substantially hinder
the laudable goal of greater diversity and collaboration around each
piece of software. That in turn will multiply duplication, conflict,
and wasteage of resources, which in turn will slow our progress further.
In sum total, despite the bus-load of barbs: immature
understanding, idealogue, childishly afraid,
idea-less (no proposals), uncool, fundamentalist,
radical, factionalists, claptrap, non-generous.
I am mostly just amused - it seems a good sign of the strength of an
argument that such an abundence of patently absurd ad-hominem is
needed to articulate it. Simon Phipps has a nice
the LibreOffice related sillies that will pop out of LWN sometime
Anyhow, despite much diverse contribution to many communities,
discussion, thinking and advocacy on the topic, I would love to debate
the issues with Mark personally, perhaps I'm wrong after-all; and I hope
that he will deign to show up at the scheduled Desktop Summit panel on
CCAs to defend both his ideas and adjectives, if this is indeed
the issue blocking our success, it is a discussion well
Up early, to work - mail; happy to have J. working next to
me for a while on a funding proposal.
Amused by Louis's latest great idea
is to have Apache own OO.o. Apache seems to have quite a sensible approach to incubation
that includes many criteria, taking just a few items of the first category 'Legal':
All code ASL'ed - which means Apache licensed. The Apache
license is a non-copy-left license, OO.o's licensing has traditionally
been copy-left indeed the community decided
to go this way in the past to
increase contribution. Traditionally OO.o's has had no problem getting
companies to use the code, the problem has been getting contributions back.
Making it easier to consume the code by destroying the requirement to
contribute back - seems to fix a problem that we don't have, while
exacerbating the problem we do have. LibreOffice's choice of MPL provides a
commercially-friendly copy-left that allows businesses to ship under their
own license: after they have contributed code back. In my view that
is a good choice (when combined with the LGPLv3+ of course).
The code base must contain only ASL or ASL-compatible
dependencies - this is quite a hurdle for a featureful OO.o.
Particularly since all of the LibreOffice patches we've been accepting
are under an MPL/LGPLv3+ dual-license. But more so because OO.o itself
contains and requires non-Apache licensed code to be useful, lets look
at some of that (some of this is listed at the external project).
[Update]: dmake - required to build the software - GPL
Hunspell - critical for spell-checking - MPL/LGPL
NSS libraries - document signing and crypto - MPL
The built-in regular expression library (useful
for search, taken from glibc) - LGPL
cppunit (key for during-build unit testing) - LGPL
libwpd - the wordperfect file filter library - LGPL
libwps - the Microsoft works filter library - LGPL
libwpg - wordperfect graphics library - LGPL
Artwork - Tango, Crystal, Human etc. icons are under various
Mozilla - needed for addressbook integration - MPL
Graphite - needed for very complex text rendering - LGPL
... and more ...
So - in summary, passing incubation would require either discarding
features like spell-checking, document signing, file compatibility etc.
etc. etc. or instead re-writing purely for licensing reasons. That doesn't
sound like a winning strategy to me.
CLAs on file. - Apache projects require members to sign and
send a CLA licensing their rights to the Apache foundation. This creates
some beaurocratic hurdle of unclear usefulness that is likely to stifle
volunteer contribution - whatever its merits. Since the Apache license is
not a 'plus' license, this is necessary, but I for one prefer plus
licensing to achieve the same effect without paperwork.
So - in summary - it doesn't sound like a very sensible idea to me.
The idea that TDF is missing some 'business expansion promoting'
friendliness is somewhat risible.
Back to the real world for some patch review, built a new
Evolution patch to test a sqlite deadlock fix from Chen. Ran into
another stl migration crasher, hmm.
Team meeting, then TSC call, chat with Bjoern.
I seem to be getting much more spam these days, and it is
strange - after a decade of predominantly male enlargement
advertisements, I'm now deluged with Bra adverts: what changed ?
Dinner, read stories, call with JP, then Thorsten.
Up, finished talk on Matthew 2; practise with N. prodded
mail quickly. Off to TEAM, call with Simon, good day of study,
helpful feedback on talk (torrent of words, slow down,
pause/repeat etc. more for emphasis), and so on.
Home, bathed babes, put them to bed, more mail - caught
up with Thomas, reprapped a bit. Pleased to see Nat joining
Reviewed and tested patches in the mail for 3.4.0, lots of
nice fixes flowing in, and useful reviews too.
Boggled at the sheer
rigour of the FMR imaging science that, having carefully identified
"the brain areas that have evolved to process religion" they
amazingly discover that it is active when Apple fan-boys see
Apple kit. I wonder does it also light up when communists
see Marx / Engels or even Marx & Spencer - how about coffee
lovers' reaction to beans ? No chance of course that the basic
assumptions that brains have a special religious bit, that it is
in a well defined place, and that activity there implies worship
might be a tad suspect. Then again - anyone passionate about
anything, their wife, family, God, job - must be deeply
suspect in the first instance particularly if they have a brain.
Amusing BBC3 program on brands though.
Lunch; chat with Caolan. Finally started to get to near
the bottom of my mailbox.
Bad sleep again, annoying - lots to be doing of course.
Mail churn, finally getting close to the pre-LinuxTag strata.
Reviewed patches, printed expense claim, read the bug list.
Poked at a similar python problem, but now in-process
instead of via a remote bridge; fun - discovered a pile of stale
and unpleasant code. Created new commit account, fun.
from Fabrice Bellard, which comes with a C compiler. A simple app that
does: volatile long j; for (j = 0; j < 1000000; j++); (on the
same CPU takes) one second under emulation, and 0.004 seconds natively.
Only 250 times slower, not bad.
Up early, tired. Mail mucking out, still trying to get back
to before LinuxTag's hot topics. Reviewed some patches, and some more,
read bugs. Lunch.
Slightly worried, that when doing an operation I know is a
very heavy I/O user I hear seek noise ... even when on an SSD - until
I think and listen more carefully. More mail, worked out where the
spare disk space I was missing had migrated to.
Fixed a silly crash-on-start; libpng not considered wise to
link to if you want to run on lots of distributions. Tried to square
circles. Discovered the shutdown syscall rather late in
life - I knew there was a reason that dbus didn't need two sockets
per connection, dug fairly deeply into the binaryurp / python UNO
Off to NCC, spoke on Daniel
2 (the latter part): God rules - despite sometimes contrary appearances,
and his Kingdom is awesome mp3
(and the somewhat over-lengthy part1: mp3).
Off to Thetford Forest for Laura's birthday party (and high-wire
course for J.). Solo, child entertainment in groups up to seven (necessitating
frequent stand-still re-counts), much fun.
Back, put babes to bed, listened to More or Less - which appears
to do the job of rigorous scrutiny that journalists would do, if only they were
half-way numerate. Fascinated by a pointer to The Decline Effect - crazy /
provocative enough to be an interesting read (when published) ?
To the conference; wandered hither and thither; lunch with
Lennart. Caught up with Thorsten and Bubli. Misc. conference-calls.
Out for the beginning of a dinner with the German Free Office
Association, misc. trains to the airport, just in time. Flight home,
bed extremely late.
Up before the crack of dawn, taxi to Stanstead; flight to
Berlin - a very prolonged experience of the train system, and a long
walk and finally arrived at LinuxTag; checked in.
Wandered the conference floor meeting people - fantastic
LibreOffice booth manned by all manner of local volunteers; good to
meet Thomas and Mike in person for the first time. Lunch with Lennart
and co. interesting systemd updates.
Chat with Wim, wandered the show floor, Out in the evening,
to crash a party, and then to a beer garden to eat sausages and talk
until late, nice.
Up early; quick mail poking, worked away at 3.4 bugs -
nailed a couple. Interesting, internal SUSE call.
Pondered if underwater balloons anchored to a sea-floor
rotary cable-drum would provide a nice energy storage mechanism;
there is a lot of 3km+ deep sea, with clear vertical runs above
it - so probably not given its not being implemented somewhere.
Read mail; boggled at Louis' latest nonsense in the media.
Apparently now he is smearing uncertainty about LibreOffice around
the place, as well as his normal staple of knocking Novell. To review
the stream of incisive insight recently first we get:
"Novell .... [is] little more, as far as I can tell, than a
proxy for MSFT" - apparently a comforting fiction to cling to
until, unfortunately, a couple of weeks later, as the Mono team news
breaks, it suddenly doesn't look like the hidden hand
of Microsoft lies behind every move we make. Time for a new
gambit"Should Novell effectively withdraw -- which I expect -- then what
will happen" - yet we're all still here hacking to make
LibreOffice better (is that the meaning of 'paralleling' ?). Then -
yesterday we have an interview
with Brian Proffitt who manages (somehow) to condense his fuzzy
logic into a readable narrative.
But first - Who is Louis ? - for those that may never have heard
of him, it seems only fair to start with his own words:
Louis Suarez-Potts is the longtime Community Manager and
Chair of the Community Council for OpenOffice.org; he has led the
OpenOffice.org community since 2000 and currently works for Oracle.
The lead and co-lead of several projects and the primary spokesperson
and representative of OpenOffice.org ...
While it is very unclear who really made many of the decisions
that left such substantial room for improvement in the OO.o
project, Louis had some leadership role. The gerrymandered, ineffective
governance that entrenched layers of control for a single vendor, was
created on his watch. The staggeringly bad infrastructure developers
suffered for many years was provided by his original employer (before
Sun), and the culture of secret deal making, instead of an open
level-playing field, that starved the project of openness, and
independence was continued under his watch at Sun.
So perhaps it is useful to take the issues that are raised
one by one and beat them about a bit. I've done that in a split out
article here. In summary - I hope I don't have to deal with much more of
this twaddle over the next months and years - and can get on with
building some better software, and fixing bugs for 3.4.
Clarity, call with Kendy & co. status report. Dinner.
Rene & the Pregnancy Crisis Centre counsellors over for
supervision; disappeared up-stairs to hack. Worked late on mail
This is of course my view, and I hope yours, but naturally it is
worth presenting at least some rational and working for this conclusion.
Unfortunately, there are so many reasons why TDF and LibreOffice are
done right, that I can't list them all in linear time. However, I'll try
to address some of the major ones recently raised by congenital worriers.
LibreOffice is vendor neutral
LibreOffice does not belong to any single vendor, neither is it a
single vendor's product. To characterise it that way is just silly. We have
full-time developers from Novell, RedHat, Canonical and Lanedo working
currently, with many key volunteer contributors, and contributions from
other companies and distributions eg. CodeThink's Unity integration work,
or the many Google Summer of Code students we've enjoyed working with.
No-one is excluded from our governance - oh, except over-dominant
corporations, there are strict limits in our bylaws on
the proportion of representation (one third) that any single company can
have in any of our key institutions. Elections will be by a fair method
(Single Transferable Vote), and be participated in by
all significant contributors equally. The contrast with the mess of
ridiculously gerrymandered governance, with layers of stacked privilege
given to a single corporation in a previous project is quite stark.
SUSE is the largest corporate contributor to TDF, though we
are small compared to our huge group of motivated volunteers. My aim
is to ensure that no vendor dominates (including SUSE): and
that there is room for all contributors. Looking at our structures:
the Steering Committee, Membership Committee, and the Engineering
Steering Committee, we seem to be doing well there.
Of course, having vendor neutrality around open standards is
also good, but this is someone else's fight. I'm interested in the best
result Free Software implementation possible, with a fun community to
stand behind it, rather than the different good of enabling competition
LibreOffice is robust to participants leaving
What if SUSE, RedHat and Canonical stopped contributing to Free
Software Office suites tomorrow !? would LibreOffice and TDF survive ? This
seems like an extremely outlandish eventuality, it is hard to imagine a
successful Linux Desktop without LibreOffice, and there is no functional
alternative. But lets address it - would we survive - the simple answer
is - yes, but how ?
Well, the answer is simply diversity - we have lots of contributors
from all around the world: all are welcome to contribute to LibreOffice. Many
of them have contributed code, and own part of the LibreOffice franchise: it
is their code. We are all (employed or not) trying to build personal loyalty
to the project, in itself, rather than to a corporate sponsor. We have
volunteers who manage tinderboxes, and can build for each platform we
support, we have hardware to do that scattered around the world. We use
infrastructure services donated by many friendly organisations - like
freedesktop, with many kind mirror sites. Our infrastructure budget
Furthermore, in order to make this unlikely eventuality even less
potentially painful, we're rapidly working to remove one of our big
bottlenecks: building on Windows. Currently to build on Windows, you have
to buy expensive, proprietary Microsoft compilers - we are rapidly completing
the gnu-make migration, as an initial step to much more reliable, and
repeatable cross-compilation to Windows from Linux. When this is complete,
almost anyone with a PC should be able to do releases. If you want to help
out, here is a great task to get involved in.
How does this compare ? for OpenOffice.org almost all release
builds came from a proprietary build environment inside Hamburg, run by
a small team of build engineers. That single point of failure contrasts
with a team volunteers and paid staff (we tend not to distinguish),
with a shared responsibility and an open build process (modulo the
hard-to-avoid windows compiler problems).
Linux distributions are safer with LibreOffice
As a Linux distro, clearly flocking with the other distros, and
sharing your testing, bug-fixes, packaging problems, and integration code
makes an incredible amount of sense. All known Linux distributions are
currently doing this work in partnership with LibreOffice for their next
releases. Doing anything else would be simply silly. Each major distro has
great hackers working on the project, and with LibreOffice's
time based release schedule, have assurance that it will be possible to
get a known-good version, into their release in a predictable way. Of
course, all of that is in contrast to the extra stability guarenteed by
a diverse contributor base.
LibreOffice has a different, and better QA model
This process is still getting started, in large part due to the rush
to get 3.3 out and stabilise that, early work on 3.4, in particular merging
changes from Oracle took a hit. Similarly, building on windows is far less
than ideal, both from a performance and reliability perspective. Having said
that much progress is being made. I'll write up some more explanation of what
a time-based release really means shortly, but suffice it to say that this
avoids the multi-month release slips that we've seen in OpenOffice.org. It is
also the same model that is used by both GNOME and KDE. This also gives
more flexibility to the end-user, they can choose the required quality - either
an older, more stable version say: 3.2.16, or a newer less stable one 3.3.3,
or a very new one 3.4.0 with more problems. It is a matter of choosing your
upgrade path carefully. That can make comparisons difficult - a release
that has slipped by three months is somewhat less stable than a point-three
release (for example).
Division is (sadly) sometimes necessary
Forming TDF caused a lot of heart-ache; in particular Oracle
choosing not to join was extremely sad. Clearly, it takes two to go in
different ways. Having said that, whenever I've written
about it I've pointed out that Oracle were (and still are), encouraged
to join in with The Document Foundation. Their influence, and
contribution over many years would immediately give them a large say,
and I'd love to work with their great engineers again. Though, of
course, there is much public uncertainty around them dis-continuing
In the light of that uncertainty, having a smooth, safe
and predictable upgrade route, backed by commercial support for any
users concerned about the future of OO.o is a good thing. There is
also a welcoming new home for all who contribute, with good governance
The Document Foundation champions ODF
I would have thought this was pretty clear; our announcement made
clear that we are working with OASIS. We have a
statement on OOXML. It reads like this:
The Document Foundation promotes and supports Open Standards. Among them
OpenDocument Format (ODF), that offers many benefits to citizens,
governments and businesses, and sets the documents and users free
from proprietary lock-in.
The reason we enthusiastically promote ODF, is that we believe that no
other standard provides the right level of vendor neutrality with
widespread participation and implementation. We believe that ODF's
absence of lock-in future proofs investment in both documents and
software, to the great benefit of all citizens, governments and
businesses. The Document Foundation does not promote nor support
That aims to be clear; it seems so to me.
We are transparent about our contributors
We publish statistics on code contribution, to be sure these are not
updated as often as they could be - but there are a number of things to be
getting on with. Nevertheless, although all the contribution data, our code, and
git repositories are public, and any half-way competent 'community exprt'
type should trivially be able to analyse them themselves; we provide updates.
The question of regularity of contribution was addressed recently by Cedric in How many frequent
contributors to LibreOffice?. We publish more general stats to show trends:
LibreOffice contribution stats. Unfortunately, judging the volume of
contribution is excessively difficult - some simple changes can be automated and
produce huge commits, while other key fixes can take longer and yield a single
line. Measuring full-time-equivalents from commit lots is (as far as I know) an
un-solved problem. Details as to contributors to translations are also available from
each language's page in pootle.
Anyhow, what we have provides a high degree of transparency. Sun
gathered, but did not publish their equivalent statistics. No good purpose is
served by lying about our contributor base - clearly we need and want more
developers, and there is a place for anyone that wants to actively
contribute to be effective for software freedom. Furthermore, this
contrasts with the inflated estimates of the past, supposedly OpenOffice
had thousands of contributors
in 2005, and Novell, RedHat and Intel's (much smaller) contribution then was
called significant; yet we contribute many more full-time paid contributors
While there is always scope for improvement, in my view TDF gets many
things extremely right. We encourage contribution by vendor neutrality, and not
putting barriers in people's way (such as ownership aggregation paperwork). We
have a meritocratic, and yet fair membership and governance model. We have a
competent and well advised steering committee.
Finally - we are executing, instead of sitting about talking, we are
attracting contributors mentoring them, reviewing their code and including them
into productive membership of the TDF family. Together, we are cleaning up the
code-base, improving our build and release process, adding new features, undoing
past mistakes, and providing an inspiring model for others to copy. Personally,
I see it as a privilege to have been, and to be part of that story.
Up early, dealt with babes while J. slept. Off to NCC; Claire
spoke on fruit of the spirit; home for lunch with James, Ruth, Daniel
and Thomas. Played in the garden with them much of the afternoon.
Poked at the reprap in the evening; I wonder if the general
killing of the Makerbot stepper controllers are down to some combinaton
of the techzone remix 1.2 motherboard, and a new netbook's USB output.
Ripped that to use the Makerbot controller instead, yielding one free
controller to (finally) fix libreprap.
Up early; started on the mail, and admin, clarity etc. Team
call, setup yet another new commit account for a new, promising
LibreOffice hacker. Some bug triage, and patch review, tweaked the
website. More conf-calling.
Out for a run; dinner with Lydia & Janice, worked late
looking at bugs for 3.4.
Lie in - and out to Studlands estate to put up tents, and
get the Church's family fun day going - free hot-dogs, bouncy
castles, cakes and so on etc. Lots of interesting people to talk to.
Home in the afternoon; pottered around tidying up the mess.
Switched an old Techzone controller in for the Z axis (strangely Y
had recovered itself somehow but Z was dead), and ran another print,
this time X died - mid flow; incredibly annoying; rather suspicious of
things powered from the USB connection. Bed early.
Up late; watched the royal wedding, beautiful. I was glad to hear
Parry's beautiful anthem at the entrance (sung many a time in the
C.H. Choir). Some obvious over-emphases possible when associating
one's nation with Jerusalem, the city on a hill etc. but at least
congruent with singing Blake's Jerusalem:
the answer seems to be no to all its questions.
Bite to eat, and out to Noughten Park for a picnic, and
wandering through the tree maze, and fine grounds. Why is it that
park management feel they have to lop all low-hanging boughs from
trees to avoid children climbing them: the children do not
Spaghetti dinner, popped babes to bed; played with my new
violin a bit - reviving Robert's skills, and played Cashflow in the
evening - Monopoly for the (more) modern era, with an added
micro-lesson on inflation (the numbers seem a tad low); fun.
Up early; quick breakfast, today is Royal Wedding day. Despite
being a fan of the royals, took advantage of the day to pack the babes
into the car, and set off for Wickstead (an amusement park). Arrived -
sunny in patches all day despite the morose weather forecast.
Babes have put some good effort into growing taller since last
time, allowing N. to go on some of the more nail-biting rides as well
as H. lurched around the place variously, roller-coastered etc. Robert
& Ilona arrived for lunch.
More spinning on nauseating machines, fake-ice skating, pirate
shipping, fake-helicopter pedaling, excessive log-boat riding, and so
on - with much fun for all. Home, eventually via the Fish & Chip
Prodded mail, hunted down several pieces of prototype hardware
that are needed back; including my reprap controller - hmm. Lunch, misc.
Conf-call, finished the TSC call early (for once) - turns out
not sending meeting reminders out in advance reduces attendance. Finally
got to finishing my LXF column, and sending that off. A royal wedding
national holiday tomorrow: nice.
Up early, poked at mail, responded to this and that. Off into
Cambridge with Mike for ministry course; excellent, simple pair of
presentations on the Trinity. Lunch, another on Malachi, then giving
Home; flurry of texting - apparently Attachmate completed
their acquisition of Novell - good; direction returns, along with
opportunity. Dinner. Listened to the jolly webcast, read mail,
caught up with some debugging, patches etc. researched a work plan.
To work, started on mail - pleased by the amount of elbow-grease
put in by Ryan, the down-side being an inbox stuffed with desktop summit
paper mail. Chewed other mail, Clarity, status reportage.
Great to see Norbert, Dtardon and others working hard at
gnumake-isation, with the growing tail_build module - which can build all
of writer, calc, impress, and chart2 fully in parallel - as a big
Set too building the latest stable and development branches of
libreoffice. Amused by my inability to decipher Louis' latest blog.
Could it be that I've been promoted from a purely malign entity, to an
unwitting pawn of other evil powers ? perhaps that is progress.
Presumably my sub-concious desire to crush small animals while stroking
a white cat is so subtle that even I am unaware of it - thinking instead
that I'm working hard to try to sustain, grow and improve Free Software,
at the same time.
Chewed through some bug reports; started on LXF column. Put
babes to bed, dinner; back to work - valgrinded an odd unit test,
Up earlyish, breakfast. Off to Sizewell beach, dug happily
in the sand. Met a set of un-reconstructed hippies protesting (peacefully
thankfully) in general against Nuclear power. Having said that, they
admitted their own radiation measurements showed the beach by the power
station is no more radioactive than any other beach. Chatted to the
police keeping an eye, in the sun. Sand castles, stone throwing at
Back, for a large roast lamb meal; washed the car for once
(somehow removing the accumulated moss from the windows), collected
good things from Bruce's collection: 8mm diameter rubber piping for
plastic printer rollers, drain for a bespoke sink I have planned
Up lateish, off to NCC, family service for Easter Sunday.
Off to Bruce & Anne's with lunch in the car afterwards - leaving
Leanne for a barbeque.
Arrived, pottered around a lot, and enjoyed an evening
with the inlaws. Stayed up unfeasibly late reading Pride and
Prejudice, which is excessively good - see what free Google
books, and the ability to easily read until late without a light
to disturb the wife do to you.
Long lie in, up, discovered I was nearly late for the Easter
walk of witness through Newmarket. Quick breakfast, and sauntered down
into town. Much singing, processing etc. with many brothers &
Home, lunch, conference call, poked some software and chased
some admin, with some more applied slugging to flavour.
Up early, poked at mail, got a nice new toy in the post: an
Android tablet to port LibreOffice to (perhaps), be nice to get the
gnumake work finished first, obviously.
Lunch; Joy and girls came up to see us - garden crawling with
lots of tiny people having fun, sliding into paddling-pools and so
on in a spectrum of shades of pink outfits. Picnic lunch outside, good
to catch up.
Up early, dealt with babes while J. slept. Worked away
at my talk.
Breakfast, and off to Thetford Forest for a fun time
with the babes in a very English state of sunny
not-quite-raining-ness. Conference call sheltering by the
toilet block (which appears to be a (not very effective in the
rain) solar power showpiece as well.
Back to the monster pyramid slide for a picnic lunch,
then more wandering between various monsters to climb / clamber /
Home for dinner. David: introduced to openSCAD,
~immediately produced a replacement plastic clip for a door
spring, which, when subsequently printed and fitted solved
our malingering cupboard problem.
Printed out a souvenier for David. Finished off talk,
and sat up chatting happily,
Up earlyish, off to Ickworth house to help test their tour
of the gardens, servants tour (dressed up), and so on. Picnic lunch
and play in the playground.
Home picked up Phoebie (over for a sleepover in lieu of
baby sitting). Waited for David, sadly delayed by the M25.
Worked away at a sermon on Daniel
2 - mostly focusing on the failure and charlatanism of
magicians, enchanters, sorcerers and astrologers when compared
to the wisdom of God (rather than the second key point: the
impermanance and fragility of human Kingdoms).
Interrupted by a surprising call from Simon. Distracted into
E-mail / IM, though managed to return to thinking & researching
after a bit.
Got the babes dinner down them, David arrived, packed
them off to bed, and enjoyed our meal and time together.
Up lateish, out shopping with E. Removed, and re-concreted
the septic manhole cover in the workshop to make it somewhat less
odiferous (the burning ABS smell has some uses it seems). It seems
the real key to that, is the consistency of the mix - managed not
to damage my hands this time.
Tried to finish the model/view split in repsnapper: I'm coming
to rather like the C++ sigc:: templated signal fun - although compile
times of (fairly trivial) C++ apps are simply staggeringly bad even
with fast modern machines: odd.
Transcribed Gordon's Daniel 2 talk, to provide bits to
re-use at the weekend, bed.
Up, played in the garden, after some practise jumped the
stream, and accidentally triggered a quest for long-jumping prowess,
the ~five feet, somewhat far off from the Olympic's thirty.
Packed up, and set off to Wendover Woods with Sue, Adam
& James. Made a bivouac to have lunch under, played on the
children's equipment - and made some good progress in tree-climbing
with H. and N. achieving a good height up some trees.
Drove home; bouncing on the trampoline, unpacking and
feeding of babes; took H. swimming and met an interesting
psychologist parent, and interrogated him. Back, put babes
Up earlyish, breakfast, drove off to Leighton Buzzard to
admire Clive's carboard tube manufacturing business, machinery,
team etc. Big spinning rolls of cardboard, plenty of glue, and
lots of interest there, with some fun machinery.
Back for lunch, pottered in the garden a bit; Georgina
Stephanie and Isabelle arrived, out for a walk with them, nice to
catch up with the wider family.
Excited to get Thomas VS interested in repraps, and
gaining another skilled pair of hands to help out with our
feeble software situation. Dinner, James sad in the night
with an ear infection.
Up late; off to NCC - J. spoke nicely about the PCC; Tony
preached on the resurrection. Dropped J. and M. off at a party, and
Lunch, played with the babes in the garden in the sun for
the afternoon, tidied up. Dinner, put people to bed. Poked at
repsnapper fixing a number of annoying bugs - still didn't get to
fixing the shell-only mode I need.
Fine lie-in; entertained children, tried to attach 12V car-pump
tyre first to Molex connector for PC PSU, and second to paddling pool
in order to inflate it. Failed at the latter - pump apparently
inadequate; disassembled, lubricated etc. - some nice castings, while
J. manually einflated it.
Looked after the babes, occasionally spraying them with water,
bouncing on trampoline in the sun etc. while J. went shopping. Lunch.
Knocked up a 'cello
spike holder using openscad to print to stl (my first 'thing' on
Out shopping for bread and mortar. Back, to print it out,
dinner, tested contraption on Miriam's 'cello - a perfect fit. Sometimes
I despair of the craziness of the US patents system as applied to software,
but ... while searching for the perfect angle for a 'cello (at a guess
~60degrees), by accident I discovered that the world of live music is utterly mad as
well. How can something this mind-blowingly trivial be filed in 2002 ?
the base claims seem banal to me, and prior art is (surely) rife.
Up early, discovered my pleas for students have sunk along
with my blog underneath all the new Gnome 3 prettiness; hopefully
t'will return soon.
Light mail-load allowed me to dig back into the deep past
and find some of those things I'd forgotten to do, managed to get
the backlog under a thousand items. Did a little work on the
freedesktop account admin queue, chased a deadlock. Lunch. Nearly
managed to get the mail queue under 500, but failed.
Booked travel to
LinuxTag, arriving early on the 11th, leaving evening of the 13th
some great talks & speakers lined up there it seems. Prodded my
gmake speedup a little more.
Nice chat with Federico. Helped put babes to bed, back to
fix some at-spi2 memory leaks while J. out for a run with Sue.
Prodded mail, and chased nasty kernel wedging issue at
some length. Turned out I wasn't starting icecream, and running
~60 g++ processes concurrently makes the machine perform terribly,
and the OOM killer doesn't do a good job; not such a surprise,
but annoying in itself.
Pleased to see GNOME
3.0 out, with some great images to download and play with, was
somewhat scared previously by the reaction to Vuntz' april
Finished the mail triage; prodded at removing more obsolete
patches from the 'build' module. Lunch.
Plugged away after lunch; Novell LibreOffice team meeting,
the first with Andras. Registered as a GSOC mentor finally. Chased
a comedy writer crasher with redlining.
Tomorrow is the deadline for GSOC submissions - please
get your LibreOffice goodness in soon; I just added an extra sexy
slide-sharing task too, that is crying out for someone to work
Mail prodding; caught up with Julian, who is doing great stuff
with helgrind it seems. Fixed an evo deadlock on start in a test patch
for the sqlite lockup I'm suffering.
Amused by Bruce's GNOME 3.0 review, apparently no-one can find
the force-fallback setting to get the old-style GUI, presumably that
is by design, but it makes the reviews tediously predictable: Control
Center -> System Info -> Graphics -> force fallback mode is
Bruce & Anne over for lunch; quick call with Italo; preload
staff meeting; more hackery. Solomon around in the evening with various
quotes for work. Poked at the reprap fitting new stepper motors that
Up, to work, poked at mail, and got stuck into trying to work
out why an incremental make in writer does 700k stat system calls.
After some digging, it turns out glob is the culprit,
always statting, knocked up a near doubling of performance there in
twenty lines or so, still more to go I'm sure, but parsing 50Mb of
dependencies (just for writer) is going to take at least -some-
time I suspect.
Chewed through the rest of the mail queue. Preload staff
meeting; got stuck into Linux snapshot builds, and re-wrote the
nightmare of ninja shell that was autogen.sh. Then dug into making
relocate cope with the new gnumake deps.
Bed early, feeling awful - the next round in the cycle of
coughs & chest infections no doubt.
Up, to work; pleased to read an interview
with Petr Mladek - who does such great working packaging
LibreOffice for openSUSE, and of course helps to run the LibreOffice
tagging / branching / release process.
Dug through bug spam, apparently lots of my reports are now
old, and thus hopefully fixed already. Wrote weekly status reports,
Clarity etc. Reviewed a patch or two, fixed a crasher. Dug out the
key (setq tramp-mode nil) to make new emacs' responsive
around file opening / completion.
Read over the discussion about how to improve the LibreOffice
hacks page which is a victim of its own success size-wise, some good
ideas there to improve things.
Fixed some broken image theme paths, reviewed some more nice
patches; prodded some python filters/ goodness.
Poked at gnu make to try to work out why it is statting the
same files hundreds (over a thousand in some cases) of times. Surely
one make instance shouldn't need to protect itself from random other
processes updating files (other than itself) while it is running ?
Surely the Makefile rules should specify what each command touches and
might dirty ? Interested to see, that despite my thesis that syscalls
are fast, a warm set of 700k stats to some deep path, take 2 seconds
on my machine in the kernel.
Fixed up some help dialog problems in master. Out for a goodbye
dinner with our American missionaries at All Saints, up late talking
Up; fed and dressed babes, played for a while; off to All
Saints for school / family service. More fun, stayed for shared
supper afterwards - had another couple of extra baby girls over for
lunch - which took some herding home. Much trampolining in the sun,
and a Barbie DVD.
J. returned from her retreat, good to see her again; dropped
babes back to their parents, and home to put ours to bed. Poked at
repsnapper, merged the gtk2 branch to master, and fixed a few bugs.
Mini lie-in, kindly assisted by babies not disturbing their
(hard to rouse) Father. Slugged variously, set off to All Saints for
the kids Easter party, Saddleback ranch DVD / songs, puppet show,
food, easter-egg hunts, good stuff.
Home, via the library and DVD store; watched some Tom &
Jerry, fed, bathed babes, read stories; hacked on repsnapper a bit,
dropped libconfig++ dependency, and gtkglextmm which seems like one
dependency too many.
Up early; took babes to school, to work, poked mail; and worked
through some more 'build' patches that needed merging, interacted with
a couple of promising students wanting to do LibreOffice GSOC stuff:
Lunch, out to do a questionaire with our crosslinks
friends in town on people's religious thinking; some fascinating
answers - eg. a Muslim that believes in re-incarnation; or a Lady
who believes in God, but not an afterlife. Collected difficult
questions for the town's pastors to deal with on Saturday (All
Saints 6:30pm - I suspect some vandalism of C.S.Lewis' nice boolean
consequence tree in the title).
Back; fixed Evolution local addressbook integration issue, and
back-ported to libreoffice-3-3.
Julia home early, and left for a weekend retreat with Louise.
Fed the babes sausages for dinner, put them to bed, read stories, and
back to work. Fixed a glyph fallback crasher, and enabled a number of
filter components that hadn't got their XML component descriptions
sorted out yet. Bed late.
Up early, triaged mail; filed more expenses - the last of
the batch for now, phew. Helped Gary Lin with some signal handler
related fun. Built some evolution test packages.
Chat with Charles; Lunch; team meeting.
LibreOffice / Google Summer of code rocks
Just a quick promo aimed at any students you might happen to know.
I'm excited about some of the sexy
projects we have, and the mentors we have signed up. Just to mortally
offend some of the mentors I'll pick my favorite few:
Visio import filter for draw - do you, like me,
get documents with annoying binary blobs in them that you can't
see ? be part of the solution.
Android port - this seems like a popular research
task, luckily much of the heavy lifting around rendering is already
done: plug and play
Convert DirectX canvas to Cairo - moving away
from gdi+ and sharing code across platforms, as well as leveraging
all the cairo goodness.
LibreOffice on Broadway - much like Android port,
writing a web office front-end using HTML5. Should be lots of fun,
and of great use to many existing systems out there.
UI cleanup - if all of these seem a bit big,
then Kendy has identified a long list of UI failings, all of which
need a small amount of love and polish to fix. Add them up to make
a big improvement.
Lots more interesting things in the project
list, though of course - if you have something you badly want to do
yourself that's fine too, get in touch. You have around a week left to
apply. End of commercial.
Reported the sqlite related evo. summary hang I'm still suffering
with the suggested patch; downer, hopefully the new trace will help.
Out all day at TEAM - the last of this term; finished the
overview of Mark - great to get some good insights into the high
level structure of the narrative, thematic concerns etc.
Home, fed and put babes to bed while J. took H. swimming;
Pottered around in the evening, connected the electric violin to
the sound system to verify that - indeed, it still sounds like a
violin: but louder.
To work; some bug research, dunged out a lot of obsolete
patches variously. Finished LXF column. Lunch. Burned a DVD of
11.4 and started sorting, and filing my expense paperwork. I
love paper pushing !
Finished the install, interspersed the paperwork tedium
with getting it setup variously. Dinner, more work.
Pottered about with the plastic printer in the evening,
got some truly poor print-outs. It seems the combination of a duff
vertical opto end-stop and melting the extruder well into the
acrylic bed while homing the Z axis removed all the thermal grease
between the temperature sensor and the nozzle.
Up early; misc. practices with the babes, 'cello &
Violin etc. snatched some practise myself; to work. Weekly admin:
Clarity, status reports etc. Call with Tor, prodded at iogrind
futures as well. Fixed the from-clean LibreOffice build.
Lunch, worked on a proposal; fixed some icon relocation
bug, prodded the build a little. Played with GNOME 3.0 and wrote
a column on it. Sync with Kendy.
Dinner; everyone out afterwards, tweaked my software &
settings, and got really rather a beautiful, circular gear or two
out of the reprap - and a bangle for the wife for good measure.
Watched some Yes Minister with Ollie.
Lie-in, up with the babes; breakfast, Sandy arrived. Set off
to my Cousin Andy Whitcroft's wedding to Olivia. A lovely service,
most encouraging. Back for a fine reception at the Father of the Bride's
house. Great to see Martin Bligh again, meet Mel & Sinead, and a
number of other interesting folk. Fine food, wine & company. Drove
home rather late to relieve Sandy of her baby burden.
Up in the night, couldn't sleep; poked at a build bug,
did some research on the Android SDK for some the GSOC: LibreOffice
on Android task.
Back to bed to catch up; lunch; back to work - wrote a trivial
tool to similate the /tmp thrash I get when running a compile and tested
Alex's file-selector threading fix, can no longer crash LibreOffice with
it included (and/or evolution) - good.
Submitted a couple of Desktop
Summit talks on LibreOffice on the brink of the deadline, submitted
a repsnapper talk too.
Up early; dug at odd gtk+ file-selector crasher; looks like
some glib async / threading thinko in gtk+, spammed the dev list.
Plugged away at mail, builds, generating some statistics,
etc. Lunch, team meeting, poked at some perl in make_installer.pl.
Merged the sal string size saving, perhaps some windows testing
required, but good to loose a Mb of cruft from the pagein / memory
Dinner during TSC call, read babes stories; finished up
mail, poked at the reprap.
Suffered with gtk+ and gtkmm - trying
to create a simple combo box with two entries in it; choose one
of 'Fast' or 'Logick' a dozen of lines of odd code apparently
serving no useful purpose, and tens or so headers to read. Worse;
the simple, old API that would have made it easy: deprecated -
progress obviously. All that power, translated into lots of
questions and interfaces I don't want to deal with; shame.
Oh - and if glade-3 didn't (still) lay out all vboxes as
hboxes (when an Ubuntu user has touched the file), that would be
just great - presumably there is some good GUI way to create
simple models, if that were usable (end rant).
Printed out a 3D knot25 for fun,
interestingly, appreciated by the wife.
Up early, off to TEAM in Cambridge with Mike; interesting stuff,
but felt pretty ropey; left early to come home to bed.
Fed babes dinner while J. taking H. swimming. M. suddenly very
interested both in how I chose my wife, and why; also hopeful that I
would die before J. and went I pointed out that this couldn't be
guarenteed wondered whether I could fight in a war; comic.
Up early, mail triage, misc. bug fixing; wrote to the IET
complaining at the lack of fact checking in their august organ; with
small boats (erroneously) generating more elextricity than the whole
of the UK, 248GW (instead of 24.8GW) of maximum small-scale hydro-power
potential in the UK and so on - there seems scope for improvement.
Started to dig back through the admin mountain. Pleased to see
LibreOffice paper accepted. Tried to add 4Linux and Codethink to the TDF supporters
page, but realised the infrastructure somehow moved under me,
silverstripe it seems.
Fixed a calc resource reading nasty. Preload staff meeting.
Tried to use silverstripe to edit our web pages: really tried ...
wow the thing is still unbelievably bad (which I guess is mostly the web
being lame). Why have just one scroll-pane, when you can have two controlling
the same range of editing ? have magic styles on headings invisible to the
magic editor, create anchors you can't delete, make a hash of cut/paste
etc. etc. That is before you loose your data by clicking back (the key
carefully and helpfully placed next to left-arrow) by mistake which
really adds some flavour: roll on web editing for everything ! Arguably
it is at least uniformly terrible, frustrating etc. for everyone
regardless of competance (even if you end up editing the HTML by hand
anyway), which is a great social leveller and thus must be good.
Apparently Religion may become extinct
in five nations. What total twaddle from the BBC, many creeds are in the
asendancy, not least the kind of Metaphysical Naturalism so increasingly
popular in concentric circles.
Up early; to work - triaged the mail somewhat bluntly,
while finishing the (Unix only) oosplash.bin re-write which has
To provide a spring-board for ridding ourselves of
soffice.sh, and its various spawned / shell helpers -
helps clean things up.
Removing the quick-starter conditionality on
libpng, we can build without it (as we do for the generic
builds) - but just leave the splash to rather later: when
the main app launches
To ensure we get our splash up really early (if at
all), before pagein / javaldx start doing tons of I/O.
The problem here was made noticeable by the new gnumake
code not stripping libraries, giving eg. a 700Mb libswli.so
to pagein when debugging - takes time even on an SSD.
Nonetheless for those with slow rotating disks, this should
make a noticable improvement in time-to-splash.
Eventually got this finished and committed, with all the
re-starting if unusual return values are returned etc. tested and
Reviewed some bootchart pieces, call with Kendy, setup next
TSC call; boggled at the horrors of Microsoft's latest patent
aggression, and pleased generally by the insight of the technet
Worked late; discovered I'm in danger of loosing holdiay
this year - LibreOffice kept me rather busy it seems; bother.
Lie in, out with N. on her day-out-with-daddy; after some
disappointment with the Ecotech centre (shut at weekends) - hoping to
climb the wind turbine there; off to Lavenham.
Good map-reading from N. and a nice pub lunch. Wandered the
multiple extraordinary examples of why ancient houses need lateral
cross-bracing; enjoyed the Church. On to Pakenham's windmill - also
shut, but at least moving to face into the wind.
Up very late preparing a second sermon on Daniel 1 for
tomorrow, mostly on 1:1-2.
Up early; dug at mail, call with Thorsten; reviewed some
patches, and poked at the sot OLE2 storage code and a potential
Lunch; pleasant Call with Markus & team. Back to
trying to unwind ordering problems hurting the LibreOffice
startup performance; happily converted some stinking chunks
of shell into C (unrelated to performance, but helps splash
Played with the PrusaMendel assembly, made up some
aluminium mudguard washers (such a nice material to tin-snip), and
got the Y axis, and the frame mostly assembled.
Up early; off to School with the babes for their music
assembly, accompanied N.'s violin piece; provided a human 'cello
spike holder for M.'s first public performance; fun.
Home, caught up on the mail backlog. Sad to see the
situation in Japan, the tragic irony of a Tsunami stopping them
getting enough sea-water into the reactors.
Created a new translations/ repo to store our .po files
for Andras, lunch, interview, team meeting. Finally started to catch
up with my admin backlog while a clean LibreOffice compiled.
Reviewed and updated the LibreOffice Google Summer Of Code
page, in hopeful anticipation of our acceptance as an
Good news - an heroic Riccardo Magliocchetti did a release of
If you like to see your boot process, you need bootchart2 - using an
array of wonderful kernel probes (if they are there) it can give you
insight into the bowels of madness. Lots of good
and improvements. My favorites are the reliability improvements
from Peter Hjalmarsson has worked on, but of course Sankar's beautiful,
multi-colour cumulative I/O latency graphing (to complement CPU
graphing) is a must-have as well, for serious boot-charters. Hopefully
we can get them out there, and speeding up distros' booting experience
quickly, and there is still a lot more fun to be had in the world of
Prodded at some oddness with rsc and gnumake, and valgrinded /
fixed a chart related crasher, discovered yet more shocking quality
build perl hiding an scp2 error, accelerated it > 10x and added
TEAM course, a very well attended plenary day on Biblical
Counselling; interesting, and a rather convincing for broadening the
popular application of Christian wisdom to each other. Slightly less
convinced of its utility in the pathalogical cases.
Home; fed the babes while J. went out; put them to bed. Out
for a beer with Bert next door, a relaxing evening.
Another day of intense, all-day merging fun; hopefully the
last one, finally getting there. Filled out Clarity etc.
Interested, and saddened to see so many good intentions
around GNOME turning out wrong, as highlighted
variously. Personally, in my view to interact with a community you have
to be working inside it, ie. you have to "be there". Existence in Free
Software communities is measured almost exclusively in concrete terms:
code, artwork, etc. but more than that - concrete things which are actually
included into the project / product. Most companies whose management is
unfamiliar with Free Software best practise screw this up royally, trying
to create proprietary advantage: "we shipped XYZ first", can easily
turn into "oh dear, we screwed this up, and no-one else is using it, and
now we're lumbered forever with maintaining something with no community
support". Novell has been no exception here in the past, and unfortunately
in large part because of the free-rider concerns. Of course contributors
that don't actually 'exist', and are not really 'there', shouldn't get
a huge say in what is going on, that is the basis of meritocracy, no
surprises there. So what is the right mix, between semi-proprietary
projects, polish and differentiation, and doing everything up-stream ?
Probably there is no truly 'right' answer, but the extremes are probably
both wrong too.
J. out in the evening to Cambridge, printed out some more pieces
here and there, and assembled my PrusaMendel frame with
some success. Tried to print out the slide bearings, but no joy - perhaps
a shell-only print would be better. Bed late.
Up; breakfasted, setup Skype Quaker meeting with Mother
(apparently using Skype muted to transmit silence, and text chat
for ministry). Off to NCC, ran Creche with Cathy.
Home for a huge lunch; tidied up somewhat, and back to
trying to beautifully calibrate the printer to have the perfect
nozzle separation all over the bed; eventually got there, printed
some more - now the most annoying thing is mainly some anti-ooze
software tweaking, and some X-axis backlash.
Bathed babes, early tea, put babes to bed, and quick
stories. Bid 'bye to the parents, and sermon on Judges in bed.
Up earlyish; breakfast, spent a while winding PLA onto a
drum, such that it can be wound smoothly into the machine by the
extruder - instead of requiring me to fiddle constantly with it.
Set off into Cambridge with my
parents, N. and E. to get to a music shop. Ended up buying an
Violin - with a rather good (closed - ie. no sound holes) carbon
fibre & kevlar resonant cavity, and carbon fibre bow; really
excellent, have yet to try it with amplification.
Tea and cake to cheer the babes, and back home via. a much
loved double decker bus. Encouraging to feel the fingers coming back
quickly to the fingerboard after ~15 years of not playing anything. I
suspect the ease of recall decreases the more comes back however.
Babes watched "The secret of Moonacre" - a fine film,
the book presumably is rather better; printed some larger (makerbot)
plates out as it was playing; encouragingly it seems we can run
smoothly for some hours - but really require better software.
Hannah's friend Charlotte over for a sleepover, just getting
to the aftermath of the escape from Efrafa with H. in Watership Down.
Chatted in the evening, interspersed with more Prusa mendel
Up early, day of intense merging action all day - with the git
history fixed, life is much cleaner and more satisfying. Fun to work with
Norbert, Kendy, Thorsten and Bjorn much of the day.
More reprap playing in the evening with Father, who had
disassembled the original timber repstrap, managed to get the workshop
clear enough to actually see the bench surface - and lots of things
re-stacked to make room to move around easily; great. Chatted with the
parents in the evening.
Parents arrived, several calls through the day, merging work
ongoing. Played reprap with Father in the evening, printed out some
frame verticees with feet. Managed to crack a lump from the centre of
an acrylic sheet (missing tape, and fused to the printout), hmm.
Up early, off to TEAM with Mike; a final cracking talk on
Evangelistic speaking from Paul Weston; finished the Bible overview.
Home, caught up with merge progress, SPI board meeting, sadly
without quorum, chatted with Mary Rogers who popped around; played
with the reprap, 0.5mm hot end still causing grief, lots of it vs.
the more standard 1mm form factor; clearly a lathe would be useful.
Up early; to work - mail chew, more merging / patch
resolving fun. Lunch, DE meeting - deeply irritated by
Elluminate stealing the ctrl-space combination (critical for
emacs). Tech Steering call. Dinner - pancakes for Shrove
Tuesday, the start of Lent. Chat with Norbert, got a
merged draw running in the evening to play with; nice.
Up late; long day of slugging, prodding at the reprap with
E. on hand to help press buttons and make suitable encouraging
noises. Z axis coupler managed to come loose, and drop the x
carriage complete with heated nozzle into the bed burning a
beautiful nozzle-shaped hole through my acrylic covering of
the bed), fun.
Discovered that PLA's adhesion to acrylic is strongly
based on how high the nozzle is above the bed as it extrudes,
presumably melting the PLA into the acrylic creates a bond
stronger then the PLA itself.
Prodded at openscad gingerly; and sent my first openscad
patch for Greg Frost's Accessible Wade
extruder - to parameterise the extruder recess and add set-screws
Inspired by a dead Pakistani Christian (Government) Minister's words -
captured on camera:
"The forces of violence, militant banned organisations the
Taliban and al-Quaeder, they want to impose their radical philosophy
in Pakistan, and whomever stands against their radical philosophy - that
threatens them. When I am leading this campaign against the Sharia law,
for the abolishment of blasphemy law, and speaking for the oppressed and
persecuted Christian and other minorities, these Taliban threaten me. But
I want to share, that I believe in Jesus Christ, who has given his own
life for us. I know what is the meaning of the cross, and I'm following
the cross, and I am ready to die for a cause, I am living for my community
and suffering people, and I will die to defend their rights. These threats
and warnings cannot change my opinion and principles, I prefer to die for
my principle and the justice of my community, rather than to compromise
[with] these threats."
A brave man, in a world of people very silent in the face
of injustice. The saddest thing, to me - are those giving the bodyguard
accused of assisinating the Punjab Governor (for similar reasons) a
hero's welcome, and cheering an apparently unrepentant murderer.
Quarterly employee call with Ron. Poked at some oddities wrt.
charset conversion in the merge. Finished the writer merge and pushed
it, lots of review and testing now required, at least deeply into the
more fun compiling and final debugging stage.
Off into Cambridge on my own, fine day of study, nearly
finished the Bible overview, and moved on to giving Evangelistic
Missed the announcement of LibreOffice
3.3 from Novell - with our support (based on 3.3.1 plus some
3.3.2 back-ports), available now for Windows, and of course our
Linux Enterprise products. You can buy support for it standalone
(for Windows), perhaps you have support for it already as part
of the popular Novell Open Workgroup Suite, and of course support
is available for LibreOffice in all our SUSE versions. End
Played with the repsnapper shrinking code in the evening,
managed to get a very jagged part of an egg-cup.
Dug through the overdue mail mountain from last week's
exertions. Clarity, status report writing. Boggled at Amazon -
apparently so eager to get reviews they stop people being able
to do them quickly by demanding that you write a textual review
in addition to a quick and easy rating; sillies.
Decided I couldn't cope without being able to merge and
test patches to master (given all the great work flooding in).
Had a cleanout of the SSD, and got a master build and merged a
patch or two.
Dinner, put babes to bed, met up with Jerry and the
other PCC lasses, over for a meeting; back to work until late.
Up early. Expanded and laid out memory foam mattress,
with incredibly unpleasant smell to match, worse than burning
ABS. Off to Church to clean the toilets etc.
Home, for lunch with Bruce & Anne, great to see
them. Played with turning Bruce's boat's old acrylic skylight
into a truly flat bed for the reprap.
Off to Oak Hill for Stella & Nicky's birthday
party with Chris & Joy. Really fine time, excellent food,
great company, most enjoyable. Left late with car packed with
sleeping babes, bed late ourselves.
Up early, shower, dressed, off to the train: not there,
bother. Back home, internet now working, discovered the next
train time & caught it. Off to Maidenhead for the ODF
plug-fest, hacking on the train.
Arrived at the plug fest; as normal lots of wonderful
words about the joys of ODF, from the usual suspects - the
audience seemed to be 80%+ choir. Lots of LibreOffice goodness
Good talk from Adam
Afriyie the local MP, on open standards and open data. Quick
interview, caught up with Andrew at the pub at the end for a
swift pint followed by an over-long train journey home, via a
missed station, and lost ticket.
Up; fetched mail, poked IRC; lost my internet connection. Fixed
a silly in bootchart2 with --crop-after. After a while got
back on-line; must return home really. Sad to hear Keith Stribley, the
Graphite guy died recently on the eve of Graphite2 integration, created an
account for Martin instead.
Unwound another reverse hostname DNS lookup that crept into our
startup path in LibreOffice. Got on with merging fun, spent much of the
afternoon on that, dense, RSI provoking, etc.
Up, cooked breakfast; dug through mail: encouraging to see
other people reviewing, merging patches and that process scaling
nicely. Clarity, chewed through more queued tasks, wrote status
report. Switched my phone to new UK corporate standard: T-mobile
(away from O2), hopefully it'll be cheaper for data. Created another
Fixed a slideshow race condition, buried under a load of
UNO-ized nonsense in sd/ no blank slides on start now. Spent a
while doing some misc. merging, only to discover Thorsten had
already done it; shame.
Up, packed up, breakfast, more packing of the car, off
to NCC; gave sermon; lunch in the car, drove to Bruce &
Anne's. Much applied relaxation; children much more able to
entertain themselves without breaking everything these days.
Watched Antiques Roadshow, and South Riding in the
Up earlyish, J. off to a training day. Bathed and treated
babes in the morning. Admired the wonderful quality PLA Wade's
extruder print-out, kindly sent by Rhys - sharp corners, smooth
Lunch; babes watched The Slipper and the Rose for the
umpteenth time, while I assembled and tested the geared extruder:
looking rather good. Cooked (well mostly heated up) dinner for the
babes, and enjoyed it, with J. arriving eventually.
Packed babes off to bed, worked away at sermon on a single
thread running through Daniel 1 for tomorrow.
Up earlyish, breakfasted the babes, and set off for Epping.
Central line with babes, push-chair to Holburn, and changed to South
Kensington - their first time on the tube: seemed to enjoy it.
Wandered the Natural History Museum - packed with school
parties, noise and confusion. Information so dense, that very little
was taken in I suspect. Lunch in a convenient underground picnic area.
Admired the susbstantial animatronic T-rex
(terrifying three of four girls), and the enormous (to scale)
blue-whale model, fondly remembered from my youth (and apparently
unaltered since then).
Walked the tired babies to a local Pizza Express, to expend
Tesco vounchers for dinner with Lydia, fun. Tube trains, and drive
home, popped babes into bed, slugged exhaustedly.
Poked mail, continued merging modules misc. more mail,
added an easy hack or two. Lunch. Novell / LibreOffice team
meeting, analyst call, Libreoffice Tech Steering Group meeting.
More working through the mail backlog; discovered a whole wodge
of un-answered-over-FOSDEM mail; urk.
Downloaded and burned chunks of MSDN to get new Win32
build machine & Office 2010 analysis underway.
Researched trip to London tomorrow with the family,
printed out maps, booked restaurant with the wife, read the news.
Amused to see some bearded idiot giving a talk on video about
at FOSDEM. Oh ! and if you feel scared of contributing to improving
the code-base, if you can't translate, or program - there is a great
way to make a significant blow for Freedom by helping us
to get a foundation setup in Germany - we have a deadline in around
a month after which time it will be UK based (which is obviously
inferior, and means I have to do lots more work); so ! if you are a
German tax payer, you can help reduce the federal tax take by deducting
income tax from your donations too.
Up; misc. patch fiddling, build fixing, chat with Norbert
and Thorsten; misc. patch review. Made some stable test builds,
oddness with the incremental stable build griping thus:
config.status: error: cannot find input file: `bin/repo-list.in'
which is down to (somehow) the build/libreoffice*/autom4ate.cache
cache getting out of step with configure.
JP staff meeting; lots of misc. admin. Misc. calls; amused by
the idea that it is cheap to staff up rapidly "at a single geographical
location". I don't believe you can hire the very best people if you
also require them all to be co-located; not everyone will move -
particularly to some locations.
J. lie in while I dealt with the babes; off to NCC, J.
helped with kidzone, while I creched; home for lunch with
Simon, Claire, Tally & Phoebe - good to catch up with them.
Puzzled, and watched Jacob in the evening - in the same
mould as Prince of Egypt but slightly less catastrophic.
Put babes to bed, listened to When
God Says No More, on Judges 10, interesting; then some
Yes Prime Minister, sleep.
Lie in, pottered about, got the reprap going trying to print
out better Z axis couplings, but sadly the extruder is too intermittent
to be able to cope with printing solid objects; badly need a geared
extruder, mercifully have an offer of one - in due course.
Peeled potatoes for tomorrow while waiting for misc. printouts,
baby sat E. while everyone else departed for parties and friends houses
Worked a little in the evening, listened to Graham's take on
Daniel 1 - encouragingly similar, and yet incrementally useful. Bed
Poked mail, listened to parts of the Nokia charge into
Windows Phone 7. Sounds like a sad day for the Linux ecosystem, or
at least a lost opportunity. Things like "We have moved some
future MeeGo device designs and re-purposed these for Windows
Mobile 7" (though still committed to releasing one MeeGo
phone), "R&D as a %age of revenue is too high ... significant
job reductions ... v. substantial use of out-sourced talent".
On Qt "We will evaluate the role of qt at the low end ...
[ MeeGo / Symbian ], but we are not going to put Qt on the windows
mobile phone, as an indication of our sincerity ... introducing
another dev platform on windows phone could serve to fork the
platform ... silverlight, XNA, and other capabilities.... Qt will
not be a single technology that abstracts all of the Nokia devices
going forward. [ quotes potentially somewhat mis-redacted, my
typing is not that fast ]. Elop also extremely bullish on Windows
on tablets too it seems, sad.
By some fluke happenstance, gtk3
got released today.
Spent much of the day merging branches. Worked late,
while J. did some work for Tim.
Practise, packed babes off to school in the car; mail
skim. Pleased to see a movie about FOSDEM movie
featuring the wonderful LibreOffice booth with Cor Nouws (1:30) and
Vuntz (2:55) among others.
More digging through the accumulated backlog of FOSDEM
tasks. I wonder what you are supposed to do with end-users who
insist on mailing you personally, with blindingly obvious suggestions
for improvement, and who when you politely point out that there
is no shortage of good ideas only developer time (which they
are wasting right now), and can they go to the discuss list,
instead reply with yet another set of time wasting waffle; sigh.
Lunch, call with JP. Installed a debug LibreOffice Windows
version to have a poke at some windows specific nasties. Submitted
LinuxTag talk, a tad late, but - lets see. Created several
Dinner, read stories to babes, up late poking at staging
repositories and merge tooling with Norbert.
Up very early, couldn't sleep; prodded mail, worked away
at the backlog tenaciously. Breakfast; off into Cambridge for TEAM.
Great morning on the Theology of mission, followed by talk from
a great Christians in Sport chap from STAG. Bible study, and home.
Dinner; read mail, boggled at the news. In particular
analysis of Nokia - which bears a remarkable similarity to my
personal (perhaps unduly pessimistic) take; but then, apparently,
I have no business sense. I was particularly saddened by:
We have some brilliant sources of innovation inside
Nokia, but we are not bringing it to market fast enough. We thought
MeeGo would be a platform for winning high-end smartphones. However,
at this rate, by the end of 2011, we might have only one MeeGo
product in the market. [supposed Stephen Elop quote]
That this should be news is itself rather silly; I wrote of my sadness
at the demise of the N900 in Linux Format, December 2009:
Finally, Nokia released its (incredibly pretty)
N900 - a lovely Linux / GNOME based handset, although it is sadly
being pointlessly re-written with lots of delay to use Qt instead.
But then, apparently the whole world is about to be pointlessly
ie. fair enough adding Qt, but doing a project reset ? that was just
madness. And not the first Maemo / MeeGo project reset, with another
two coming afterwards: more resets than releases. I griped on about
the same issue in June
2010: Time to market ? or are the times changing ?
As strategies go for Nokia, for those who understand
code re-use, collaboration and time-to-market as key engineering
and business concepts, I can
see only two options: fork, re-brand, and make Android their own
(a winner in my view), and/or get deeply into Windows Phone 7. Of
course, I hope to be
mistaken - some sexy wild-card (open source) option such as a
Windows 7 compatible (via Mono) based on the more open MeeGo
stack, with added Android compatibility would be do-able and
sexy. Sadly that is more complicated than can be easily explained
in a single slide to a financier. Staying tuned with some
apprehension for Friday.
Up late; less exhausted. Breakfast, a day of rest; set too
at the missed husbandly tasks of the weekend - repaired the fence
that blew down overnight: great angle-grinding some old steel
pipe-work into supports and driving them in.
Lunch, call with Simon. Repaired the hoover again; impressed
not only that youtube has a video of how to get the hoover open; but
also that I can find it (youtube search is unutterably terrible in
Quick triage of mail; and sent some out, worked away at this
and that. Took the girls to their music lessons - then home for dinner,
Up later; prodded mail very briefly, checked out valgrind;
to the train. Poked at a simpler / cleaner trap-door mechanism using
weak symbols for valgrind; but frustrated by non-functioning weak
symbols when used from non-fPIC executables; bother.
Brain dumped into the TODO, reviewed / worked at adding more
easy-hacks, arrived at Cambridge with a ~hour to wait for the train,
thank God for 3G, poked mail. Got home; submitted OSCON paper,
flushed mail again.
Babes and wife arrived home, played happily with them until
dinner, and got stuck back into the bed-time story reading routine
with some satisfaction. Bed early, exhausted.
Breakfast, with (a newly married) Gerv; much slideware hackery,
sadly missing several dev-room talks. Taxi to the campus, caught the end
of Caolan's great writer internals talk, some rather good attendance -
pleasing to see people who want to learn about, and get involved in the
real guts of the project.
Gave a talk on our easy hacks, just going through them one by one
from most easy, up-wards to a great audience of developers; encouraging -
we are going to need many more easy hacks soon I think. Hopefully some
people got the git repositories from the passed around USB keys too.
Helped out with Charles's status talk, while snatching lunch.
On to give Office track LibreOffice talk, slides to follow; great
audience, some good questions, overran a little though.
Back to our dev-room, more sticker distribution, discussion etc.
Caught up with Mechtilde, just as we were dismantling everything. Off
into town for Pizza with Caolan and co. Caught up with Aaron & the
Mono mob, joined by Lennart and Kay too. Onwards to Delerium, to get
some time with Kohei, until rather late, then snatched some sync. time
with Kendy before his flight. The tragedy of FOSDEM: packed full of
great talks, and excellent hackers is that of extreme brevity.
Up in time for Eben's interesting keynote on open software and
devices enabling freedom. Back to the booth to help out, wandered around
giving out hundreds of stickers while Cor and many others stuck at the
booth and encouraged potential developers, sold T-shirts, and did a great
job of being present.
An extraordinarily wonderful vibe around LibreOffice, lots of
spontaneous congratulations from unknown well-wishers, and so on, most
encouraging. Caught up with Bjorn, really great to have him on the team.
More wandering of the hall-way track catching up with old friends
and acquaintances, eg. great to meet the bootchart2 hero: Riccardo
Magliocchetti. Somehow ommitted to eat lunch, solved by some generous
chip sharing action with Kendy.
Out in the evening for the speakers dinner, and then on
to meet up with the burgeoning LibreOffice (and friends) team at
dinner. Back to work on slides, bed.
Up early, helped babes to school; packed, and set off early
Interested by the concern and uncertainty being created
around the mistaken idea that there are some security fixes present
in OO.o that are not in LibreOffice. This is not so. LibreOffice
contains all the security fixes in 3.3.0 and perhaps more. Why more ?
simply as side-effects of our code cleans, application of cppcheck
etc. Many 'security bugs' are really just bugs, and we're working hard
to improve our code quality.
To improve code security many projects do code 'auditing', a big part
of which is careful reading of the code with this in mind. In
LibreOffice code review is the norm, so we aspire to a higher quality
from this perspective over time. Sadly, of course there are always
human errors, but as and when they are found, we aim to create fixes
and get them to our users more quickly via. our rapid monthly stable
Nice to hear that SLES11 provides the foundation
for the IBM 'Watson' Jeopardy playing computer; encouraging for the
openSUSE from which it is based.
An insightful article from Bruce Byfield on OpenOffice.org
vs. LibreOffice - nice to read his well researched take ie. it
is clear that he did some detailed tests on both bits of software.
Reviewed patches on the train, and chewed through older
mail, great to see Thorsten doing the new icon cutting and dicing
for 3.3.1 (RC1 / code freeze Monday).
Eurostar to FOSDEM, fewer hackers on the earlier train;
instead some 'dubstep' DJs off to Antwerp to perform. Read Amanda
Brock's latest article on Project Harmony with some interest.
Worked on slideware while people arrived; and out for
dinner with Julian, and the LibreOffice lads (with some honored
additions). Back to the Cafe Delerium, too much crushing, so
moved onto La Morte Subite, for Kriek, and back to
Delerium later with Kendy (finally arrived complete with
more T-shirts than you can imagine). Bed at 5:30.
Up too early; train, with Cheryl and Rachel into London.
Tube to Cloud Expo at the Barbican. Spent some time turning David
Nelson's beautiful website / screenshots into slides, before
realising (belatedly) that perhaps a LibreOffice talk wasn't
entirely the best fit, so spent half the time plugging
Kiwi + SUSE Studio, and the rest on the joys of LibreOffice.
Caught up with the usual suspects manning booths, and
home. Quick lunch with J. and E. set to work burning USB keys
full of git repositories for FOSDEM.
Pleased to read Max KA's write-up
of his research in growing communities; Removing the barriers
to entry etc. - all the obvious stuff, nicely stated and
backed up by survey data.
Worked through the mail, and patch backlog - lots of fun there
to get reviewing and merging. Lunch. More mail, admin, code reading,
etc. Eventually got to fixing an rsc logic bug hurting our mac builds.
Considered and sketched LXF column for tomorrow. Clarity.
Up; walked babes down to All Saints, J. presenting on the
PCC - good to meet up with lots of old friends there. Home for lunch.
To work on the reprap; managed to make up some aluminimum
couplers to drive the vertical Z axis using a PrusaMendel style
setup - lovely, smooth, silent, continuous motion. Perhaps now,
the bottom and top of a print will no longer be co-incident at
Cheered on Egyptian protesters in spirit; I can empthise, if
only in some small way, with struggle against some vast, faceless,
Lie in, pottered downstairs; had brunch. Prodded at the
reprap a little. J. slept, while I washed up, tidied, emptied the
bins, and played with the babes a little.
Played Chess with H. and J. in the afternoon; taught H.
some hideous editing interface) - but passable; taught her a little
Dinner, picked up Rachel to baby-sit. Out to the Pregnancy
Crisis Centre quiz - run ably by Janine & Chris - good fun with
James & Ruth, Simon & Claire - team ended up second, for
the second year running. Bed late.
Mail triage from being out yesterday, especially prolongued and
ineffective. Fixed build issue, reviewed misc. patches. Added some more
easy, and less easy hacks, to try to cope with people fixing them.
J. out, snatched lunch, back to mail, patches etc.
Up early; dispatched babes to school. Mike kindly gave me a lift
to TEAM, at Cambridge's Eden Baptist. Great morning; Bible overview
continued through 1 and 2 Samuel. Preaching Old Testament Narrative -
and just scratching the surface; chiasmic structure, narrative arcs etc.
Lunch; out to (spontaneously) buy flowers for wife with Ben.
Back for bible study leadership training; home. Discovered Sandy had
dropped in for dinner, and brought flowers too - heh. Put babes to bed,
and read more of Watership Down to H.: wonderfully written.
Back to the computer, brief scan of mail, prodded at win32 cross
compiling and Fridrich's great work in OBS.
Pleased to see that Richard Stallman is speaking to the IET
in Cambridge on 1st March, must try to remember.
Today we released
our first stable release of LibreOffice. That is really rather exciting !
and a major milestone. Of course, if you have
a GNU/Linux or Unix distribution, most likely your packagers already
knew our release timetable, and have distribution packages ready for you
to use. If you can use those, do - they are likely to be better
integrated with the system, and somewhat faster.
If you are a Windows or Mac user though, it is a great time
to try out LibreOffice, directly from our download site.
Why LibreOffice ?
Apart from all the obvious reasons - of loving Freedom, Free
Software, and fun, open, community development. LibreOffice is just
better, much better, check out our (still expanding)
Features page - showing off what people can expect to enjoy in
LibreOffice. As I get time, I'll add some highlights of my own appended
What next ?
As we work in a much more conventional Free Software project
mold, we are releasing a point-zero release. This will not be
perfect, but is any software ? what we will be doing is rapidly
iterating it, via many minor point releases, towards perfection.
We've published our timeline
for that. Something you don't like ? some hideous
translation or crasher bug ? we can include that fix soon, so
do get stuck in and help out.
Perhaps the more interesting piece is the commitment to move
to a six month release cycle, that is well aligned with existing
Free Software community and distribution release cycles. We hope this
will help get the latest, and best LibreOffice into users' hands as
quickly as possible.
How do I get involved ?
LibreOffice is a project, almost uniquely suited to scaling to
hundreds of people working on it - there are problems, missing features
and bugs everywhere. There are millions of malnourished lines-of-code,
awaiting your loving ownership, and remedial care - can you help them ?
If so, please head to our developer
instructions grab the code from freedesktop's git repository, and get
stuck in, we'd love to work with you. We have many Easy Hacks
designed for beginners to get involved - ranging from zero programming skill
required, to some heavier lifting for the elite. As you do that, please do
say hello on IRC: #libreoffice on irc.freenode.net, where much
of the team hangs out.
Of course, if you want to mirror our binaries - and we are only
11Gb small (compared to 70Gb+ for OO.o), then drop a mail to
email@example.com, we use Peter's excellent
mirrorbrain - we have good coverage,
but it can always improve. If you just like web banners that point to us
there is just such a image.
Who did this thing ?
Well, in fact many people, far more than I can write down in one
place - there are extensive credits here for all of the many
individuals that have struck their blow for freedom with us; I am incredibly
grateful for their support and friendship.
However, of course, some people have put more than the usual effort
into this release - and here is where I forget people and offend at least
someone. For various reasons: new packaging, and split help - the Windows
build sucked a lot of mental energy this cycle, with Fridrich and Tor
bearing the brunt of the pain. Similarly, Kendy battled the split help
indomitably at great length, while managing the Novell team too. Then of
course, the Steering Committee have put in lots of time with my personal
favorite of Italo - creating and massaging press text and briefing many.
The poor translation team, worked incredibly well under very tight deadline
pressure to make up for the late strings that routinely needed shoving in,
with Andras doing fantastic work getting their changes merged. Then finally,
the website, its infrastructure, mirroring, scripting, design, artwork, and
volume of text, polish, translation and beauty, as always - done on the very
cusp of release swallowed much sweat and tears particularly from David, Christian,
Florian, Thorsten and Sophie. My profound thanks to all of these, and more who
worked so hard to get the release out - oh, and especially to the many un-sung
hackers who got really stuck into triple reviewing, and fixing nasty blocker
bugs before final code freeze.
Up early; today is release day - what excitement. Plugged away
at the website with David, improving the new features page, taking and
editing screenshots, cleaning up priorities a little there. Took a break
to write a minimal blog myself.
Lunch; annotated the features I could recall, from the top of
the head, as being LibreOffice specific in the new-features page; it
seems we are (again) surviving slashdot with good grace; thanks to
Florian - indeed, serving pages faster than slashdot.
Spent an unbelievable time entering LibreOffice speaker / talk
data into the FOSDEM web gui; goodness. I'm sure the web is the answer
to world hunger - and everything should be re-written exclusively for it;
but I fundamentally don't like it (except for watching movies - which
is hardly 'the web').
Phone interview; and back to some E-mail questions. Dinner
with Lydia, back to work - reviewed and pushed a nice gtk+ theming
patch. Did a little repsnapper hacking to relax, making its autotools
funkiness pass make dist; but sucked back to LibreOffice mail
Up early; off to church, enjoyed creche with babes. Home for
lunch. Played chess with the older babies, and Sleeping Queens
concurrently with M. fun.
Kids watched some mind-numbing 'Cindy' movie, while I did
battle with trying to fit my old, home-made, steel nozzle into my
ply-wood extruder, and (somehow) through the small hole in the
carriage; eventually concluded it won't work.
More chess; H. & M. vs. me - fun at the table, while
eating tea: is that as bad as watching TV while eating ? perhaps for
Sundays only. Put babes to bed, H. starting to have Watership Down
read to her, and N. Charlotte's Web.
Back to the extruder battle; de-camped outside (due to the
odor), and got 0.5mm ABS extruding, mostly. Printed enough to see some
serious Y belt slippage; hmm. Bed, listened to Gordon sermon on
Up earlyish, dropped the rest of the family in town, and took
H. to Norwich on her (much delayed, but supposedly annual) outing with
just her Father.
Castle, lots to do. Tried some real armour, long-bow, jousting helm,
sword etc. on Hannah. Admired the different arrows - mail piercing, armour
piercing etc. fun. Wandered the keep variously.
Out for lunch at Nandos, tasty; back to the muesums, wandered them
admiring the various oddities, stuffed families of animals and so on.
Through the tunnel to the regimental museum, and back home (via Maplins).
Pottered around in the evening - sawed down over-long extruder
nozzle to a more sensible length - much more joy extruding PLA, stopping,
and re-starting but eventually even this jammed. Sadly the ID of the nozzle
is 4mm instead of 3.5mm which also doesn't help I suspect. Looked up some
facts on PEEK - which seems
like a wonder-material. Decided to switch back to extruding ABS tomorrow.
Up earlyish; packed babes off to school. Mike drove us into
Cambridge for TEAM. Much thought on preaching and applying Old
Testament narrative to the modern world, writing and leading engaging
and useful Bible Studies, and so on. Fun.
Home in the evening, worked away at
Struggled with a beautiful, but jammed
reprap nozzle, and lots of oozing PLA. Spent a long time trying to
force things through with pliars - waiting for the barrel to heat up
all the way up etc. Apparently I'm doing something quite wrong - seems
I need to cool the rest of the brass barrel: will create some aluminium
Up lateish; checked mail, great to see Tor nailing the
last 3.3.0 blocker, created another new account for a promising
contributor. Really pleased to see the great work by
ODF Authors on their
new book Getting
Started with LibreOffice 3.3.
Lunch; Clarity. Quick call with Matthias N. Voted in
the openSUSE board election, and wondered why they are using a
first-past-the-post voting system, when even the UK seems to be
considering AV, (or even better STV) - fair voting is rather
Poked at helpcontent2 building; wow it is slow. Prodded
at an strace - 25,000+ spawns of 'touch' while building only part
of the output.
Up early, got babes sorted out; mail, reviewed bugs and
patches left and right; and left again. Lunch. Call with JP, then
with Stefan & Kendy.
Slugged away at patch review; why do the silly bugs tend
to crawl out of the woodwork, just when we want to release ? fun.
Lots of good things happening. Set a new Win32 build running.
Looked at LanguageTool, seems the cvs module is lots of
python: interesting. Sat on IRC until late - lots of fun people
turning up to help out there: neat ! Pierre-André pushed
the start of his work to substantially shrink the binfilter which
is wonderful. Worked late.
Up earlyish; breakfast, off to NCC. As if my some
miracle managed to persuade E. that her Father really was
coming back if she was left in the creche, and that she could
play happily alone; listened to the next installment of James.
Back for lunch, slugged in the afternoon, while babes
watched a movie; then helped H. and N. learn chess piece moves
for bishops and rooks (on top of the previously learned knights)
while M. built things out of Jenga bricks.
Packed the babes to bed; nearly at the end of Lord of
the Rings with Hannah. Back to the reprap; tried to get the
(now working) extruder driver to extrude - PLA (it seems)
requires rather more force to get it out; played with
temperature but, apparently even a (handy) elephant sitting
on it is insufficient to extrude it. Hmm, suspicious of the
over-long brass barrel before the insulator in this nozzle.
Sermon on Daniel from the archives to consider and write
Couldn't sleep, so spent a while affixing an aluminium
mounting for the extruder, so two elephants can be applied
without forcing the extruder nozzle itself out; still no joy.
Perhaps best to go back to ABS for a bit. Bed late.
Mini lie in; much house cleaning, sweeping, tidying,
washing up, etc. etc. to get things in order for N.s sixth
birthday party this afternoon. Lunch, perennial egg sandwich
Influx of children; with only me to entertain them.
The tray game a hit - and a lucky dip for prizes even more
so. James, sadly ill poor dear. Painted jam-jars (with LED
night-lights inside and a wire handle - a prize fit for a
king), pass-the-parcel, party tea, more games - blind mans
buff being a surprise favorite.
Opened more presents, put babes to bed, more tidying
up. More thought wrt. the extruder stepper; driver fails to
drive anything anymore - I killed it ? swapped it for the next
victim, and discovered that pulling down the enable pin to
GND worked nicely, probably my previous +12V attempt was what
dispatched the last A3982. Bed.
Up much earlier for a mens prayer breakfast at Church; which
as a side-effect included a fine cooked breakfast. Prodded at bugs,
dug through mail, reviewed patches with a fine tooth comb - we're in
triple review mode for the libreoffice-3-3-0 branch.
Prodded at ICU, and found that our biggest bundled library
(containing the ICU data) is substantially unused, filed an
hack to fix it. Lunch. Dug at an interesting help crasher with
valgrind, silly lifecycle problem, been there for years, only popped
up now; fixed it.
Poked at the website, spent a while re-phrasing new features,
re-arranging and prioritising content etc. Had my builds bitten by a
vicious autom4te.cache problem - whereby (apparently) configure.in was
substantially changed (perhaps back in time by git), but configure was
re-generated solely from the (now stale) cache: horrible.
To work; light E-mail, prodded blocker bugs; fixed up the
old documentfoundation website for RC3; that site needs some more
Lunch; internal LibO team meeting, fixed search toolbar
evilness in industrial fallback theme; much better. Dug through
Dave Richard's strace which looked normal, but for dbus-launch
being execve'd after closing 8000 files: clearly someone is
missing the magic evil of cloexec, and the horrible
that are necessary.
LibreOffice Steering Committee call in the evening, late
dinner, slugged around exhaustedly in the evening, then revived
enough to get my extruder wired up; stepper controller burning hot
oddly - but thermistor, and heater working beautifully; manually
extruded my first PLA.
Started to scale the mail mountain again. Downloaded, and tested
some builds, only to discover a simple avoidable mistake in my perl tweak;
bother. Got a new account setup, and did the five-minute git training,
reviewed misc patches.
Lunch; pleased with results of obscure MSI detail testing; knocked
up a blocker bug patch; started a new test build; wrote a partial interview.
Sorted out collateral for a LibreOffice talk at Cloud Expo Europe which is
surprisingly soon (before FOSDEM).
Unexpectedly early interview; dinner; baby-set Olivier &
Benjy for a bit; back to work until late while J. went out.
Naomi's birthday, lots of fun - presents at breakfast; and
a crying Elizabeth (2) hiding under her folded up top; much
heart-rending comforting and re-assurance, that her time will come
too, in due course. Gleeful prize unpacking by N. and packed them
all off to school with J.
Prodded the mail, finally got around to replying to some of
the queued up backlog. Great to hear that Caolan McNamara (RedHat),
and Rene Engelhard (Debian) will be at FOSDEM too.
Set too building the latest master for a change. Read an
exellent article from Dave Neary on
building which hits the nail on the head as far as I can see.
Reviewed an ORBit2 patch (it's been a while), Lunch.
Reviewed Peter Jentsch's nice flat ODF patch, so you can export
easily to flat ODF files (which can then be processed easily by
various other ODF loving tools) - this is way faster than the
previous beast that gratuitously required Java; it even seems to
be on a par with (or faster than) writing to the zip encapsulation
which is interesting.
RIP Hudson, long live Jenkins.
I didn't realise it was a spare-time project later appropriated
by the corporate overlord, that makes the saga doubly unfortunate.
Lydia over, out to new-years, week-of-prayer meeting in
Up early, packed the babes off to school with Grandma
& Grandad - after a fine Madeline story; to work. Prodded
Prodded at RC3 pieces much of the day; J. had a PCC
meeting in the evening, so worked at the LibreOffice FOSDEM
dev room Schedule.
We have a great set of talks, speakers and attendeees, hope
to see you there.
Lie in, off to church, Tony spoke excellently on James 1. Chatted
variously afterwards, back for lunch with Mum & Dad. Pootled about
not doing much; reading stories, playing with the nearly complete mendel
in the afternoon. It seems, getting a light surface that is sub-milimetre
smooth to extrude on is more difficult than expected. Measured all available
materials that came to hand, ineffectively.
Up early - to work; read mail, commented on an interesting
PackageKit / zypp issue in some considerable detail. Rejoiced as my
browser (firefox) threw away all my work: moral of the story -
placing a magic "throw away your work" button (window left?) right
above the left arrow on the Thinkpad keyboard, is perhaps not an
inspired idea for those that like to keyboard navigate and edit their
comments: rock on the web world. NB. I believe this button goes 'back'
ie. it will also auto-log-you-out of most banking websites mid-flow,
oh, and Alt-Left-Arrow is also impossibly easy to press. Bus-sized
usability problems of this kind are all too common on the web sadly.
More mail creation and churn, some patch review, merging.
Amused to get a mail saying effectively: "We have accepted you
for a talk at our conference - can you us what it is about ?".
Booked FOSDEM travel, we
should have a great LibreOffice track, and showing there this year
and this is (in my view) the top European Free Software conference,
if you can pick just one, go to Brussels early next month.
Internal LibreOffice team call. Tested some patches for the
stable branch, and pushed them. Dinner. Back to work to try to catch
up, and catch the GUADEC/Akadamy CfP meeting.
Back to work; started on the mail mountain, and pile of
pending tasks, call with Kendy, got master built (first time,
modulo some transient sd/ snafu).
After some considerable hours of work, managed to get
the un-read, un-filtered mail below 1000 items, then finally
under five hundred, of course triaging and leaving all the most
interesting ones still to respond to. Reviewed and pushed a few
patches, fixed an issue with zenity build feedback.
Really encouraged to see the video creativity produced
using impress from Drew.
Up late, the last of the lazing in, read some of Moonfleet
with H. who has been devouring it (a ripping yarn as they say).
Breakfast. Pottered around tidying up here and there. Babes watched
Angelina Ballerina to rot their brains.
Poked at repsnapper, mamoth last re-factoring pass to turn
the delightfully named 'ModelViewController' class, into a 'Model'
class, the 'ProcessController' into a cleaner 'Settings' object, and
to get the last GUI bits connected. Listened to "The history of
the world in one hundred objects" at the same time. Up late.
Decided to adopt a strategic approach to the looming end of
holiday: wrote list of un-achieved tasks, and started doing ones
with a real chance of completion. Much cleaning, washing sorting,
office tidying achieved.
Lunch, dug out all relevant bills, bank statements, credit
card reports etc. and filed my tax return for 09-10 - phew. Why is
it that the co-op bank does not retain enough previous statemens
on-line for the last financial year, to make filing your taxes
easy ? I'm always suspicious of the 'you can buy previous
statements by clicking here' motive.
Synched diaries with the wife, signed up for Andy's wedding,
collected possible preaching dates; procrastinated counselling homework.
Chat with Doko.
Hunted lost wedding ring sporadically, finding all manner
of lots objects, and bits of fluff on the way. Off to Church, played
with a clingy E. in creche.
Home, and walked down to Laura & Creighton's for a fine
lunch, and afternoon together - fun; home, fed, bathed, and popped
babes to bed.
Found ring in tub of sweets - and recalled playing with
the babes with that; hmm. Discovered too the solution to my sigc
slot fun - sigc::bind() - with which you can append whatever
arguments you like to your function; neat. Re-hashed repsnapper's
interactive reprap control page; nearly done.
A new fun packed year. Up late, breakfast, read the Economist
Christmas Special, saddened by the article on life in Indian villages,
interested by eg. the disruption that durable plastic receptacles bring
to the 'potter cast' eg. Played with the babes, lunch.
Put up pictures around the house with the wife, and discovered
I've lost my wedding ring (horrors). It shows in photos from yesterday,
and typing without it is rather odd; so must be somewhere in the house
but where / why / how ? some considerable hunting.
Relaxed in the evening by much more, intense repsnapper
re-factoring, finally the code is coming into some sort of shape
at last; expunged a huge swathe of fltk tree awfulness.
My content in this blog and associated images / data under
images/ and 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
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