Category Archives: General

gtkmm API freeze

I’m continuing to threaten gtkmm API freeze, and it looks like it’ll happen with a mixture of feature punting and attrition. I want to get that project finished so I can focus on more interesting stuff such as Glom, which I now have building again for the first time in months.

At work, to show the Windows folks how useful CVS can be, I’ve been using gleblanc‘s notes to install mozilla’s lxr/bonsai webtools, like the system at cvs.gnome.org. It’s actually not that difficult.

Yesterday I met hadess and his gang for drinks, video games, and chinese food in London. Someone should give him a job. I mean, how bad could he be?

My friend, Kari, visited from Munich, and I took him to Brick Lane for curry. That place is a paradise. He’s happy to have found a job in London, but I’d still rather be back in Germany. And I just said goodbye to a great new friend who’s leaving for … Munich. This is too much.

On the headphones this week while running round Hampstead Heath: The Amelie soundtrack, Learn French In Your Car, and Serge Gainsborough. All very silly.

gtkmm

I seem to spend a great deal of my time now just processing gtkmm patches from bugzilla. At least it’s progress even if I’m not making it all. People are learning how to submit proper patches so maybe I should hand out some more cvs write access soon.

I just wrote a Gtk::TreeView chapter for the gtkmm book. Hopefully it shows how we’ve been able to express all of GtkTreeView’s functionality while making it so much simpler for most of the time.

I set up a linux server at work as a cvs repository for my stuff and the web developers. I haven’t messed around with networking and configuration files for a few years, but it seems to have worked out. It’s certainly a lot more fun than the Windows and Mac coding I’ve been doing. I had forgotten just how random the Win32 and MacOS APIs can be.

I’ve been exploring new London again this week – the Tate Modern, the Millenium bridge, and the Globe theatre – in the wonderful company of another temporary resident. I also went to Manor House climbing wall for the first time in years, and was pleased to find that it’s only little compared to the Munich wall, although it was always daunting in my memory. London could be worse but I’d still like my Muenchen life back.

Mac Carbon

Still doing some Mac Carbon coding. I had completly forgotten that we had to write our own little for() event loops. And operating system API functions with no prefixes? What’s that about? I guess they never expected anyone but Apple to ever write a library. And pascal strings, with the the length in the first byte and no null termination? I thought nostalgia was supposed to feel good.

Hampstead Heath turns out to be a pretty good upgrade from the Englischer Garten, just as it had started to seem too small to run around. Plus, as a halfway reward, you get the view from Parliament Hill over London.

Pocket PC

I’ve been exploring Microsoft’s “Pocket PC” development stuff. It’s a terrible confusion of non-orthoganal, overlapping yet incompatible products, some crufty, some .NET and some just called .NET. While Microsoft doesn’t need to compete with anyone else, there does seem to be some kind of twisted competition between internal Microsoft departments. And don’t get me started about how “Managed C++” is the only C++ in Visual Studio now. Sure, you don’t _have_ to use the language extensions – unless you want to use Microsoft’s APIs, which are increasingly .NET-only.

After being offline for so long, I’ve finally caught up with everthing and we’ve released in-sync versions of gtkmm, gnomemm and libbonobouimm. I’m making noises about an imminent gtkmm API freeze, and it turns out that’s a good way to get a lot more bug reports and patches. We have 8 different coders credited in the latest release. Most importantly, Cedric Gustin finally has gtkmm working on Win32.

Together with Morten Brix Pedersen, I’ve overhauled the gtkmm website. He now has it using CSS Positioning instead of tables. I’d never heard of CSS Positioning before but it seems to work well, and along with SSI there’s now almost no duplication of markup in our various pages.

Life in London isn’t so bad recently. I’ve been exploring a bit. Brick Lane is a nice place to spend a Sunday afternoon.

Playing with MacOS X

I’m playing with MacOS X and I’m not very impressed so far. It doesn’t look like MacOS X was
even properly user tested. I’m sure that System 7 was a
lot more convenient even for complex stuff. I don’t think
it’s much more usable than GNOME. Even
our old file selector is better than the MacOS X one. And
I
keep finding stuff that can only be done with secret
keyboard combinations.

I’m also using the MacOS X Project Builder IDE and
trying to make sense of the chaotic documentation.
Again, it doesn’t look like they ever had a newbie sit
down in front of it.

I found a dodgy short-term place to live in north-
west London. My PC is still in limbo somewhere
between Munich and here, so the gtkmm
patches are just accumulating in bugzilla.

In London now

I’m in London now. For three months I’ll be working at
Blueprint, which is
owned by a friend of mine. Now I just need to find
somewhere to live. Incredibly, it looks like accommodation
has become yet more expensive and hard to find since I was
last here in 1998.

My PC is still en route, and I can’t do anything UNIXy
until it arrives.

Taking the train through France

I’m taking the train through France on my way back to the UK, in Brittany at the moment. I should be in London tomorrow
but my PC will arrive a week later. Leaving Munich was hard,
but I guess I`d better get on with it.

For a moment there it looked like things were about to get
better. I had a speaker-phone interview for a contract but
quickly realised that they expected me to do it in fluent
german and they only cared about crufty MFC Windows coding.
Probably the worst interview I`ve ever done – a definite no
sale. Apparently one
of my references said I spoke german fluently. That was nice
but not actually helpful. Gotta get back on track.

Uraeus published his interview
with me. I didn`t say anything much new, but it was nice to
have the opportunity to give a gtkmm status
update to the wider community.

Back from my quick tour of eastern europe

I’m back from my quick tour of eastern europe, Munich to Dresden to Berlin to Wroclaw to Krakow to Budapest to Prague
to Munich in less time than it takes to see anything much.
I’m back in
Munich for a couple of days to sort out the bureocracy of
moving. I managed to meet danielk and
frehberg in Berlin and
cactus in Budapest. I spend lots of time
talking and working with Daniel online but I hadn’t actually
met him before. I’m still surprised by his youth – he
clearly has a great future ahead of him if the German
educational system doesn’t waste too much of his time. It
was also cool to see Cactus in his own environment. I
noticed that all 3 of us have no real idea what direction
our lives should take and we’re not really enthused at the
paths that we’re on, but we do all believe in
GNOME and gtkmm. What this means,
I don’t know.

I’m working with only internet cafe access now, but I’m
glad to see that the gtkmm mailing list is
lively
without me.

I cancelled my diving trip to Croatia because I got
hit by the annual hayfever lack of breath (or I might be
allergic to all of Poland, it’s possible), so I should now
be in London before the end of the month. I have some
bearable 9-5 work lined up – details to be announced.

gtkmm: TreeView

There’s been a lot of discussion on gtkmm-main about the TreeView interfaces, so Daniel and I have been making some
major changes. We managed to create a simpler interface that
didn’t require any use of the TreeViewColumns or
CellRenderers or the renderable properties/attributes unless
you want to do something unusual. You just map the model
columns to the view columns, and they are displayed sanely.
C++ allowed us to keep the
same flexibility as the C interfaces, while not forcing the
tedium on to all client code. It’s a big win.

I got libglademm working and added it to
gnomemm. I spent a day using it to write
PrefixSuffix. Over the years I’ve now written
that app on the Mac (applescript and Powerplant), Windows
(MFC) and now Linux (gtkmm). Only this latest one is
potentially cross-platform.

I added a widget-name-to-member-variable mapper class to
libglademm. It works a lot like MFC’s
macros-and-comments-and-wizard map, but it’s simple and
sensible. I added a similar thing to Bakery to
make it easy to save widget contents/states to GConf.

I’m planning my Eastern European trip: probably
Munich->Dresden, Berlin, Krakow, Prague, Budpest,
Bratislava.

My time in Munich seems to be over.

My time in Munich seems to be over. I’ve been burning money while I look for a contract here or somewhere else
nice in Europe, but things just aren’t working out. Last
year there was too much contractor work and now there’s
hardly any. My appartment’s lease is up so that’s made the
decision for me. I’m making plans to go back to Britain,
where there should be more work. This was my worst-case
scenario, but I have to do it because every safety net and
bridge not burned and contact kept has fallen through. I’m
even thinking that I’ll have to get a regular 9-5 job, but
I’m going to look for contracts in the UK first.

I’ll drive back
leisurely through France at the end of May, if they haven’t
closed the borders by then. But first I’ll
take a quick look at eastern europe, visiting
cactus in Budapest along the way. Then I go
to Croatia for a few days diving. Then I’ll take a rental
car north to the coast, where we’ll swap everything to my
friend Glenn’s car, buy some cheap booze and head back over
the channel. I’m going to stay at Glenn’s place in Bedford
for a while. If you know Bedford, or any generic English
town, and if you have any idea what Munich is like, then
you’ll know that I don’t look forward to the change of
lifestyle.

Losing the appartment also means that I lose my
incredibly fast T-DSL connection, so I’m trying to get as
much architectural gnomemm stuff done as
possible. I expect to be
barely online for a few weeks at least, but hopefully I will
have left a foundation for others to build on until I’m
back.