One of the fun games during pregnancy was trying to anticipate what aspects of the gene collection Amelia would eventually express. A fun one was could she buck the very likely outcome and get blue eyes instead of brown. To paraphrase Big Trouble in Little China, “Chinese girls do not come with blue eyes…”

So then Amelia was born. One of the things you really don’t get until you are a parent how babies grow in the early weeks. (In my generation, you usually don’t see a lot of newborns up close, and even then not long enough to notice much) To begin with her eyes were set deep into her face and combined with the way newborns keep them closed, we only had hints of eye colour. But they were looking pretty brown.

Later on we started to get hints that we might have one of each! (Ok, we know it wont last)

So for several weeks we been trying to get a photo that shows both eyes with the light in them. (THAT was way harder than I expected). So here in all their surprise, my brown and blue eyed girl:

eyes

Big heads come with big neck loadings…

I like my N85, I really do. But why can’t device makers (from camera makers to phone suppliers, printer hawkers and all the other e-guys) ever test their PC integration software?

nokia_darn

I just wanted to update the phone firmware. The updater wanted to update itself . Finally, it decided that I don’t have admin privs for this account and it wants to bail (like Microsoft hasn’t been shipping various OS with different privileges and a means to escalate for some time now…) Of course the damn thing can’t shutdown. Task manager to kill it, which caused the software updater to show a “are you sure” dialog. Then it exited.

Was the dialog hidden behind the app window? Did Nokia even test this stuff. I know the answer, that’s why I’m depressed.

DSC_7329c

DSC_7364cDSC_7418c

DSC_7430c

DSC_7518cDSC_7525c

DSC_7607cDSC_7633c

At some points in your life, you take a leap into the unknown. Like “I’m pregnant”. When you are little baby, those leaps are smaller in an objective sense, but pretty huge relative to the sum of your experiences up until then. It was in this spirit that Amelia approached her 2months immunisations. An early appointment to try and get in and out before the 30+ temperatures hit. (it was already 25 at 8:30am). Things lined up well and we were wide awake and playful in the waiting room:

21112009011_c21112009012_c

Our doctor was a little worried about doing this. Apparently he didn’t like making babies cry. (How does one work as a GP? Surely most of the job is little kids, old people and medial certs?) One oral and two injections later, Amelia was telling mummy all about it.

Wow, we’ve made the leap from “newborn” to “infant” nappies!

DSC_6997_c

Time flies. 4 weeks old already? Where does it go? Lost in a blur of nappies, puke and caffeine. One the upside, I get to wallow in all the silly milestones (look forward to 3/6/12 and 18 months!).

Though growing fast, there is still time for chilling out with dad on the floor:

DSC_6259_c

Of course modelling some attractive headgear provides lots of light entertainment:

DSC_6302_c

It turns out to be a lot harder than Dad expected to cook cake in between nappy demands. On the upside, the cake was very nice thank you Amelia. Mummy and Daddy will happily take care of finishing it for you.

DSC_6576_c

After all the excitement, time to go to bed. For all of us:

DSC_6643_c

So looking through the codebases for gtkglarea and gtkglext the contrast in approaches is pretty stark:

gtkglext gtkglarea
large codebase small code
separates platform specific code ifdefs everywhere
dead maintained for the moment

For my purposes, I think I’m best to port back to gtkglarea. It is maintained for now (not to slight the current maintainers, just we’ve been through this dance before).

update:

I’ve done the port.  Since kludge3d used gtkglarea in the past it wasn’t really that hard. So for now I’d say unless you need gtkglext’s extra features, use gtkglarea.

DSC_0345

Once upon a time, kludge3d (and g3d before it) implemented OpenGL rendering via gtkglarea. gtkglarea (developed by J. Löf and originally hosted at http://www.student.oulu.fi/~jlof/gtkglarea/ – now a dead site) it provided a gtkdrawingarea like widget. Then some time goes by and gtkglarea seems to have gone unmaintained.

In the meantime, gtkglext had come into existence. So by the kludge3d 2003-07-18 release, gtkglext was the display option of choice. gtkglext offered the possibility of placing an OpenGL view onto any GTK+ widget. (Though I’ve never been convinced that you need to do that very often).

So then in 2008, I get my first Vista based laptop. At work, I’ve been internally maintaining a version of kludge3d for many years. I was disappointed that kludge3d only worked properly with desktop compositing turned off. It is not the end of the world sure, but it looks bad, and anyway, it should be fixable right? A quick look at the gtkglext source made it clear I didn’t really have the understanding of how gdk actually does anything on win32. With deadlines looming and the fact that my users were all on XP, I shelved further investigation.

Fastforward to now. Vista or Windows7 is in our corporate future. So while trawling the gtkglext mailing lists I see a post from Mike Farrell. He suggested enabling PFD_SUPPORT_COMPOSITION based on the information at OpenGL.org. Unfortunately the suggested patch didn’t work for me, but did get me digging into the gtkglext source code again. I worked out some of the path from GTK to the screen. gtkglext looks like it is violating the assumptions that DWM has about GDI and the OpenGL context.

Enter a new gtkglarea. (http://www.mono-project.com/GtkGLArea). It looks like it is being maintained again. And hey, it builds properly on windows with mingw out of the box. And better yet, all of the examples run properly with desktop compositing enabled. Woohoo.

So now the question is:

  • fix gtkglext
  • port kludge3d back to gtkglarea?
2003-07-18

Cool and wet today. Actually perfect to stay at home and play house. I mean that in a good way.

c_DSC_5063

Sometimes its best to sleep late…

c_DSC_5216

… ponder the state of the universe…

c_DSC_5324

… and fool around with daddy.

c_DSC_5346

‘Cause you never know when someone inconsiderate will give you a bath!

c_DSC_5349

But its nice to hold hands afterward.