Stuff Michael Meeks is doing
|
|
This is my (in)activity log. You might like to visit my employer
Novell which is an amazing company, and also
Dell who in days of yore provided me with a
free laptop for Gnome development / conferences.
Also if you have the time to read this sort of stuff you could enlighten
yourself by going to Unraveling Wittgenstein's net or if
you are feeling objectionable perhaps here.
Older items:
2008: (
J
F
M
A
M
J
J
A
),
2007: (
J
F
M
A
M
J
J
A
S
O
N
D
),
2006,
2005,
2004,
2003,
2002,
2001,
2000,
1999,
legacy html
- Up in the night, hacked at disk block view; added a treeview,
and delayed notebook tab instantiation; sketched out a fuller & more
useful view, back to bed.
- Hacked up a pretty file-system overview widget to give context
to the more detailed block view, looking rather nice, cairo makes life
rather easy. Team meeting. More hacking.
- Defeated the lack of gtk-sharp GInterface support by idly populating
the huge file-system tree-store, made the full-filesystem rendering done at idle,
made the tree walking much more intelligent, for a huge rendering performance
win, now almost snappy.
- Mail dung-out. Continued iogrind paper, submitted a shorter
abstract to Micha for suse-labs conference. Added coloring to my disk view,
coloring files by their parent directory - doesn't help clarify the overall
layout; bother.
- Got linuxconf slides written and sent; nearly a first to have
something ready before the conference. Lunch. More mail.
- Finally onto layout work - resolved conflicts with Ricardo's
changes, and committed. Drove home.
- Up early, dealt with babes as J. slept. Off to St Lukes - lovely
to see old friends & acquaintances again. Back for lunch. Thomas popped in
for the afternoon - really good to catch up with him. Finished the railway
children, fine roast dinner. J. out in the evening to see Louise, bed.
- Slugged around the house with the babes much of the morning.
In the afternoon off to a fine park in Worthing - paedlo pedaling, paddling
pooling, swings & slides etc. lovely afternoon.
- Back, watched half of The Railway Children - good fun.
Watched Wilde's An Ideal Husband in the evening - extremely good.
- To work - more iogrind hackerage - got path resolution, and all
the relevant block I/O in-place; still not got DiskSim plugged into the
backend though the hooks are done right now.
- Knocked up a block-level view of the file-system; pretty looking
(of course) but no particularly useful insights yet, also slow: optimising...
even while rendering only the blocks immediately visible on the screen it's
too slow; hmm - not good. Punt profiling to next week.
- Desktop team call, nice call with Kelli; poked at some VBA issues.
Wrote up some tentative iogrind slides for LinuxConf Europe 2007.
- Poked mail, filed e-d-s valgrind trace. Back to iogrind, started
the groundwork for multi-process trace recording; managed to get the internal
structures sorted.
- Lunch, begun working on a scheduler & splitting out the I/O
accounting per-process. Decided to use threads to more closely model the
kernel behavior, and let one thread be blocked in the middle of reading
indirect inode 2 while another reads some directory block, without requiring
excessively asyncronous code. Got it to work for the pseudo-I/O 'test'
operation.
- More hacking, completely re-worked the simulator core, starting
to look nicely. Drove to Hove to see the parents. Up late talking to them
& Robert, fun.
- Up early, interested to read
Game over for OpenDocument ? while clearly, ODF still has a good long
way to run, and one can't concur with their conclusions (pwrt. the general
merit of proprietary MS Office plugins, or starting a new standard), there
are some interesting insights on the ODF process. From my
perspective though this is all a side-show, the greatest tragedy
in the ODF domain is Sun & IBM's apparent lack of interest in compromising
& working together on OpenOffice.org, to grow the market for both ODF
& Free Software alternatives; whatever file format you choose - we
all need a better OO.o.
- Chewed mail, poked at some ppt import bug. Hacked on layout,
created a toolkit/awt VCLXMetricField implementation, just slightly worrying
that the 1st, trivial dialog to be ported is missing an adequate awt peer.
- Played with Kohei's nice python script to convert .src files to
xml, tweaked it a tad. More hacking on VCLXMetricField, re-working of layout,
added idle sizing.
- Cell group in the evening, a good showing.
- Dug at mail. Committed the file / block parser to iogrind:
good 'oh. Chased some yast2-gtk startup buglet - once again, we badly
need the Desktop
Capabilities spec. (as killed by Havoc / MarkMc 3 years ago) - the proposed
alternative of waiting for ISV API perfection somehow not having born fruit
in the meantime. Which yast frontend do you use: gtk or qt ? how do you
choose ? (groping around several unstable, non-standard environment
variables), will there ever be a better solution (?) ... Perhaps I should
re-submit the proposal - we at least got DESKTOP_LAUNCH through last time.
- Dumped a full filesystem metadata, interestingly all the name /
inode / block positioning data for a 4Gb full Gnome SL10.3 Alpha6 install
consume only 18Mb, only ~3Mb gzipped: admittedly no permission &
meta-data there, but how much information is in that ? The question is:
why would we ever need to seek around the disk to read this stuff ?
- Filed ifolder3 bug. More iogrind hacking - nice file-system
model loading progress feedback, using a thread.
- Out with David Hill in the evening to Weatherspoons for
steak-night; fun.
- Poked mail, read the latest LXF, poked Aaron wrt. some
banshee issues, filed bug. Upgraded my evo. and installed debuginfo
packages for Srini. Good to see
Chris on the BBC.
- Dug at a gut-wrenching yast2-gtk bug; stumbled upon the
mystical boost tribool
implementing "3-state boolean logic".
if (b) { } else if (!b) { } else { } etc. Sounds fun doesn't it;
of course, the fun stops when you're used to being able to read code & see
what it does: the innocuous:
if (ptr != NULL && ptr->getTribool())
yields a fairly inexplicable
SEGV when ptr is NULL; why ? simple: this gem gets interpreted as:
if ( logic::tribool::operator&& ( ptr != NULL, ptr->getTribool() ) )
which (of course) looses you the sequence-point protection you were expecting. Of course,
the academic question of: how to fix this in a robust way is still open.
- Started chasing some substantial performance regression in the
package selector too, found / nailed a corner case. Discovered
y2tool tagversion
and make package in yast2 modules; interesting. Pushed new package.
- Backed up laptop. Hacked on iogrind, chased / filed evo. crasher,
tested / committed JonP's patch. Out to preacher's meeting in the evening @
Tony & Janice's.
- Hannah's birthday, lie-in, present opening, off to NCC. Did
the creche with Daniel. Home for lunch, out to mow Alba's lawn in the
afternoon: mower really mangled the (uneven) ground - it seems flymo's
can't really cope with long grass and stop flying (thus grinding the
grass out): not good.
- Back home, ham, eggs & chips for dinner, babes to bed.
Gordon sermon
What About Premarital Sex - on 2 Sam 13.
Very interested to find
The National Marriage Project (Rutgers University) - in particular
The Top Ten Myths of Marriage (8,9,10 being most interesting personally).
Of course, being in a higher risk category is only an excuse for working
harder at loving one's spouse.
- Julia's birthday, up early, dealt with babes, J. couldn't
sleep. Present opening, off to the market to stock up. Bruce & Anne
over for lunch - good to see them, played with the babes; off to Moon's
for H. to select a present - an 'Ariel' Barbie dolly.
- Home, watched a DVD with the babes, bed. Out to the Red Lion
@ Kirtling - Spanish food, lots of it, fair enough. Nice to go out with
the wifelet.
- To work; pushed bits, sent follow-up mail, filed expenses
while downloading OpenSUSE 10.3 Alpha6. Called Nildram to check my
account. Hacked at representing indirect inodes in mid-file: luckily
in my (simple) examples indirect inodes are often linearly allocated in
the middle of the files they represent, at just the right point: neat.
Lunch.
- Phoned HR, friendly - attempted to extract the cost/benefit
analysis write-up for switching to new (actually exactly the same)
pension provider; should make an interesting read.
- Up late trying to fix the Dyson DC05 (not to be confused
with the DC10) - having
finally discovered there was only 1 screw to remove (on the top) &
4 under the wheels, got the thing apart. Tested the cable for continuity:
looked fine, still not working, tested switch, disassembled the motor,
tested brushes: an inch of carbon left on each, thermal cut-out fine,
capacitor looks ok: hmm. Re-assembled variously. Managed to get it working
when flexing the cable in a certain way: worying. Punted further work
until another day.
- Up lateish, off to the conference, caught up with Brady
finally, saw part of Federico's talk, met Adam Janos; chatted to
Calvin & Brady, saw the iPhone in action; better than I thought;
also giver live. Caught up with the acronym jungle.
- Caught up with Robert & showed iogrind. Hugely
encouraged by some chap 'Paul' showing me OpenOffice.org starting in
~6 seconds on his hand-held, Geode based, 256Mb machine (and that
was some ancient version with none of our wins).
- Lunch & bid 'bye to people; train home - hacked on
my filesystem dumping tool - output confused by various indirect
inode blocks getting duplicated; eventually fixed it.
- Back home, lots of hugs from little babies; good to see
the wonderful wife: the longer we're married, the harder it is to
be away, and the lovelier it is to be back.
- Up early, managed to get to the keynote - unfortunately
the keynote was not on; after sitting around for a while got
lumbered with having to fill the keynote slot with some iogrind
waffle.
- Out for sandwich with jrb, alexl, yacc, Federico
& co. to 'Eat'. Back, talked with Nat/jrb. Alex's keynote,
then a re-run (but sweeter) of our lightning talk with Federico.
- Out for dinner with JP, Larry, Alan, David & co.
in the evening. Back to the flat; interested by the English Channel
flood
data.
- Talked to Larry & Aaron; got the file-system snapshot
code to work: semi-beautiful XML dumps of the filesystem: e2image
appears not to do what is required.
- Up, shower, talked to Nat, Jared & Timo over
breakfast. Off to the conference, on to Michael Lauer's talk on
OpenMoko. Chatted with Will Walker wrt. a11y, calling conventions
and lifecycle for a while.
- Met up with Federico & a number of others; off to
lunch, got into Alex's mind a bit & his keynote, interesting.
Some hacking on iogrind with Federico.
- Wandered the floor, Joe's talk, Havoc's talk (
surprisingly refreshing), out for dinner with Federico &
Carlos. Off to the party for extended OpenHand / Collabora
funded fun. Back with Nat to the appartment; up late hacking.
- Up early, checked mail, poked Ricardo wrt. zypper fixes;
no joy. Raced for train, hacked on it - poked e2fstools integration -
the nastiness of mapping the C ext2fs API via pinvoke overcame me;
hacked up a simpler C wrapper API instead. Battled irritating linking
issues.
- Eventually arrived; checked in, met excessive numbers of
cool people, including Joerg - the yast2-gtk guy. Out for dinner,
up late in the Etap talking to the RedHat crowd.
- Up lateish, off to NCC, Helen preaching. Lunch. Out to
Pete & Victoria's baptism in the afternoon; J. doing the dunking
this time. Today - a breakthrough, N. started to crawl effectively:
after months of nearly getting there, she realised that the hands
have to continue going forwards & the legs wil follow: nice.
- Off to Pete & Shelley's for large-scale barbeque in
the evening, interesting people to talk to etc.
- Up early, off to the market - back with plenty of fodder.
Frantic house cleaning, sandwich making, etc. Lunch. Hannah's party,
spent ages printing out photographs of children to put in mini frames.
- Chatted to lots of parents, one child carted off to hospital
after discovering we had some rather poisonous tree in the garden; no
other significant casualties. Lovely day, fine food, exhausted. Bed
early instead of going out with the lads in Cambridge.
- Burned the morning with IM & mail. Committed Jon's
apply.pl fixes. Out to meet some SIL friends in Cambridge for lunch,
good to see them albeit for only a short while. Back, led book review
on In Search of Stupidity.
- Looked at some bugs. Notified of the libzypp API breakage
just landed affecting yast2-gtk, less than 1 working day to fix it
before Alpha6 - nice. It's clear some more g++ optimisation is required,
some libzypp modules take 3-4 seconds to compile on my fast machine.
Helped Ricardo get setup, back to layout. Started getting some toolkit/
changes up-stream.
- Tested the OpenXML filter in m220, looking good for importing
.docx files, modulo churning debug making it perform (amazingly) worse
than the Mono/XSLT thing - easy to fix though. Poked at layout some more.
- Up early, got babes sorted out, talked to Garrett,
printed maps etc. Poked iogrind, merged a nice patch from Federico.
Got m219 building, then switched to m200. Back to layout; getting
new PushButton(parent, 0); calls to work nicely.
- Attempted to make a standard template for fitting in
some (unfortunately very non-uniform) photo frames for H.'s birthday
party this weekend; little success.
- To work, mail pokeage, chased some (apparent) mono bug
causing a fun crash . Upgraded to the latest
mono - still there. Nasty to debug; turns out using 'mono -v' gave
the best insight - turned out to be a stack overflow; relating to
an understandable behavior in Path.GetDirectoryName.
- Finally got my explicit I/O events simulating
nicelyish, and pretty pictures getting produced. Poked Federico,
back to layout fun.
- Fixed a 'relocate' bug with the new dependency files,
cleaned up a stale font patch. Fixed a nice issue Noel found with
the toolkit property patch for layout. Dug at tab controllers with
Ricardo.
- Dinner, babes to bed, cell group - out to collect
Garrett from Cambridge station; back, chatted, bed.
- Gastroenteritis - fun for the whole family: so far only
H. and M. are missing out on it. Hacked with a bowl nearby. A
certain amount of valgrind hackery & corresponding parser
updating, internal re-factoring.
- Overcome by illness; to bed. Up slightly late for the
team meeting. Back to the hacking a little later, poked Ricardo.
Put babes to bed. Slugged with J. (iller). Poked at DiskSim -
some work necessary to make it even compile: a little worrying,
sent a patch off.
- Poked mail; fixed some iogrind ergonomics. Poked bug
mail, updated NPP / bugzilla. Fixed the linking speedup patch to
reflect new offuh dependency position. Reviewed outstanding patches
in ooo-build, mailed various people internally to clean up various
pieces, dug out some others for the ESC - it seems we're making some
progress with patch up-streaming.
- Jonathan Prior joined Novell today to hack on OO.o
Calc, which is great news; welcome to the team.
- Booked flight to the SUSE Labs conference, tried to
repair breakage to HEAD ooo-build, someone nameless broke it badly.
- Up early, off to NCC, did creche. Back for lunch in the
garden: very sunny. J. to sleep, played with babes, DVD on the wall
for them. Tea, put them to bed.
- Listened to
The Covenant of Marriage on Genesis 2:18-25
Interestingly discovered that notes with the
~full
content already exist. Some great content. Persons unclear on the concept:
"Dear Diary, what's new ?", or a more interesting socialogical excerpt:
Nevertheless, a study from Rutgers University entitled "The State
of Our Unions: The Social Health of Marriage in America", concludes
that the institution of marriage is continuing to weaken, with a
smaller portion of the population getting married than at any other
time in our nation's history. In fact, since 1970 the rate of marriage
has declined by one third. Perhaps even more worrisome is the
discovery that fewer married couples than in any previous study report
being 'very happy' in their marriage. What makes this level of
unhappiness surprising is that since 1969, when no-fault divorce was
instituted, the rate of divorce has tripled. The population of married
persons has been reduced by a vast number of unhappy marriages, and
yet those who are still married are less happy than ever.
Struck again by Christ sacrifice for those who reject him;
unrequited love indeed.
- Up early; into town with the babes, stopped at the Memorial
Gardens on the way back for a swing. Home, babes to bed, slept myself.
- Up late, lunch, out to the Newmarket Carnival, met a couple
of Chris' watched a 'magic' show, rides for babes, etc. home - children
tired. Cracking Lasagne for dinner, N. sick though, J. out: baby-sitting.
- Some hackerey in the evening. Discovered reading the
gtk-sharp2 code matches the compiler warnings rather better. Hacked away
happily, got the selection reflected in the side/tree-view fairly nicely.
- Discovered that it is necessary to add a hook to make ssh
up-load of git repos work properly:
chmod +x repo.git/hooks/post-update seems to do the trick.
- Poked at the e2fsprogs and libext2fs, just what we need with
e2image to get a deterministic file-system dump; poked at
DiskSim which looks ideal
for real latency / cache modelling, was amused by the SimOS FAQ
"I don't understand anything!" etc.
- Wrote LXF column.
- Up early, poked Fridrich, off to Dentist - nice chap. Back,
played with m216 - chart2, it seems, fixed some horrific .xls load-time
performance problems too, which is great.
- The hub & headset I ordered late last night from cpc
arrived at 11am today, impressive. Installed Win32 builds of Fridrich's
CWS, tested with a lot of .odts, code-review, etc. nominated it.
- Call with Kay, lunch. Out to get car serviced, hacked at
Toyota Cambridge & admired their Prius. Hacked on iogrind - got
valgrind spitting stack frames in a fairly efficient fashion: good,
and got most of the mechanics of parsing & aggregating I/O data
by stack frame in-place.
- Dinner, back - poked at layout issue.
- Up; mail & issue churn. Call with JP, poked Fridrich.
Poked at HEAD ooo-build, fixed several problems with m216. Ordered
headset for telephone, more bug mail chasing.
- Up extremely late; collected H. from pre-school, lunch.
- Team meeting, extended conference call-age, WebEx-ing etc.
to the US, up till midnight. Intermittent net connection - presumably
lightning strikes somewhere; phone held up. Call with PR agency.
- Up at 5.45am, drove to La Rochelle, managed (eventually)
to locate Sixt (in the town centre), Ryanair - flight on-time, taxi
home, 10minute turn-around, checked E-mail, printed E-ticket, changed,
back in taxi to Heathrow.
- Checked in, BA delayed the flight for 2:15 without an
adequate explanation (of any sort). Of course, given their (alledged)
general standard of safety & maintenance it's better not to risk
sudden death anymore than normal with them. Unfortunately my Washington
connection was 1:30, next flight to SF. would miss 4 of the 8hrs of
the meeting; abandoned hope & the flight.
- Still some open questions - is there a quality airline that
actually get you there on time (and if not actually tell you why / at
least pretend to care) ? Notably Ryanair managed to do ok. The
Heathrow Express (also delayed) advert showed BMI as the #1 for
reliability. The things people do for the love of Novell.
- Back home, very late, bed.
- Church in the big tent, out into town, packed almost
everything: slept terribly - M. howling in the night: some monster
teething trouble ?
In case it's not painfully obvious: the reflections reflected here are my
own; mine, all mine ! and don't reflect the views of Novell, The
Lithuanian Gov't or Arnold Schwarzenegger. It's also important to
realise that I'm not in on the Swedish Conspiracy.
Occasionally people ask for formal photos for conferences,
bio.
or fun.
Michael Meeks (michael.meeks@novell.com)