Older blog entries for richdawe (starting at number 48)

7 Apr 2004 (updated 7 Apr 2004 at 21:32 UTC) »

Why I Stopped Buying Lots of Music

I used to buy a lot of music. Now I don't.

  • They started copy-protecting CDs, so that I can't listen to them at work or, sometimes, even in my car. I'm not interested in CDs that I can't listen to at work or convert to MP3s/Oggs.

  • I don't have a TV anymore. There used to be some decent music programmes (e.g.: the White Room on C4) exposing new bands, etc. Hence, one less source of news about new bands.

  • Internet radio - why bother buying music, when you can listen to it free over ADSL?

  • Knowledge Magazine - their cover CDs are so good that I no longer feel the need to buy d'n'b much anymore.

Why I Still Buy Music

  • Listening posts in Virgin, HMV, etc. - "try before you buy". (Other people's MP3s/Oggs also allow this, although I've done this very little for a few years.)

  • Fopp, a chain of shops - CDs (and other stuff) at a reasonable price.

It's still risky, though, because of copy-protection. Oh, how I wish that would die or be replaced with something a little less restrictive for the buyer.


I've been hacking a bit more on the GUI for my mail subscription manager, subscripto. It's going quite well. It's nice to be back in the free-software-hacking saddle after so long.

The Perl Gtk2 bindings mostly seem OK, although I'm having to use both the Gtk+ 2.0 and perl-Gtk2 docs to work out what's going on. The perl-Gtk2 docs leave a lot of stuff out, which is fair enough - no point duplicating information.

Hopefully I'll have something useful soon. A couple of my e-mail addresses died recently, so it'll be interesting if I can get subscripto to the point where I can resubscribe with my current address.


"Thunder" by Dom & Roland

National Duck Day

It was National Duck Day in the UK on Saturday (3rd April). One of my friends really likes ducks and she sent round a mail asking people to protest against the way some ducks are treated - e.g.: foie gras.

I'm not sure this had the result she expected, since it reminded me that I hadn't eaten duck for ages. I went out for a Thai meal with some people from work on the Friday, but I managed to restrain myself from eating duck.

I went to Bath on Saturday and they had some people protesting about Marks & Spencers duck products. Again, I think this had the opposite effect. I went out for a meal with some friends and half of them had duck. I suspect the protests against M&S had something to do about that, since they both mentioned the protests earlier during the day.


If you don't want people to eat ducks, perhaps the best thing is not to remind them so obviously that they can be eaten.


I'm on holiday for a couple of weeks. Yay. Maybe now I can recharge my batteries.



Burnt out

I've burnt out. I've felt stressed out and demotivated at work recently and then totally exhausted in the evenings and at weekends, despite getting normal amounts of sleep. I wonder what the best way of recovering from this is. I'll try to take some precious holiday, I guess. (My employer is a tight-arse, when it comes to holiday.)


"Dissolved Girl" by Massive Attack - one of my favourite songs ever


I finally built ACE 5.3 + TAO 1.3 RPMs. I lost count of how many times I had to rebuild it. It took some massaging to get it into an RPM. Shortly after making it work, I discovered that ACE 5.4 + TAO 1.4 had come out - it now supports autoconf, although apparently it doesn't work. Being able to "./configure && make && make install" would make building RPMs so much easier.

Anyhow the CORBA server & client we're developing at work now builds with ORBit2 and TAO, with minimal orbitcpp work-arounds for the lack some CORBA C++ binding features:

  • .replace() on sequences;
  • lack of POA creation, meaning that you have to use the root POA.

We could use the CORBA C bindings for this, but they're just so ugly (look at the GNOME CORBA tutorial if you want graphical evidence). I would submit patches, but my employer's attitude towards Free Software leaves something to be desired.


Anyone in the UK looking for a software engineer? Will code for food (& money). Here's my CV (AKA resumé). I'm looking for a position coding in C/C++. I have 4.5 years of experience of communications software (IP networking, microcode for custom network processors, mail software).


"Exhibitionist" by Jeff Mills - good techno mix CD


After getting distracted by lots of other things at work, I finally knuckled down and finished porting a CORBA server & client from TAO to ORBit2 plus orbitcpp. It was quite a painful experience, mainly because I was tracking changing code.

If you're programming for ORBit2 using orbitcpp, remember one thing: You must always return a value in an _out parameter. Otherwise you'll get weird segfaults in the ORBit2 marshally code. Most of the bugs were to do with that.

TAO seems a bit less strict on these things. I don't actually know that, since I haven't programmed for it. But that's the impression I get from the sources.

Man, am I glad it works now. I felt like I was banging my head against the wall on and off for a fortnight!

Incidentally a couple of reasons for using ORBit2 over TAO are: (i) TAO takes over 7 hours to build on my crappy dev box at work, which makes preparing RPMs tricky (there's no spec file => several rebuild cycles, to perfect packages); (ii) ORBit2 has Perl bindings and is blindingly fast to build in comparison.

I have to say that ORBit2 and orbitcpp have rubbish documentation. In fact, there's virtually none. That's not necessarily as bad as it sounds, since you can get the source and some examples, but a getting started guide would be nice. (If I weren't encumbered by my contract of employment, I'd whip some up. <sigh>)

ORBit2 is faster than TAO, I think, from some brief benchmarking. I really need to compare notes with a colleague, who benchmarked TAO. I haven't benchmarked in-process calls yet.

It's just as well I own a copy of "Advanced CORBA Programming with C++" by Henning & Vinoski. I'd be lost without that. The "Advanced" is a misnomer - it's fine for beginners like me.


"Piece by Piece" by Feeder


I volunteered to do a talk on subscripto, my manager for subscriptions to mailing lists, at the next Birmingham.pm meeting. That's next Wednesday and I have about two evenings to actually write the presentation. Doh. Maybe I can just wing it. It'll be interesting to see what other people think of the idea, though. I'll post a link to the presentation, when I've written it.

14 Feb 2004 (updated 14 Feb 2004 at 09:18 UTC) »


I've been working on my e-mail subscription management program. I've added a basic GUI using perl-Gtk2. So far it seems like quite a simple way of writing a GUI, but it doesn't do anything yet other than exit. ;)

I'm using Gtk2::SimpleList for a list of the (list, address, subscribed) information. Gtk2::SimpleList is a wrapper for Gtk2::TreeView. I want it to be sorted automatically. I've tried doing this manually using a clicked callback on the columns, but this doesn't seem to work. The Gtk2::SimpleList seems to lose its contents when sort it - I think there's some problem with its tied data array member.

I think I may have to go directly to a Gtk2::TreeView for automatic sorting. The docs on the gtk.org site don't really talk about sorted GtkTreeViews.


At work I've been trying to port a CORBA server and client from the TAO ORB to the ORBit2 ORB using orbitcpp. Building was initially tricky, since orbitcpp comes with no documentation. Hint: Look at the examples. You need to build the C and C++ stubs & skels from the IDL. The C++ code just wraps the C code. Other problems I had with porting it were down to the fact that orbitcpp doesn't have some features of the CORBA C++ bindings yet: PolicyLists (which means everything has to go in the Root POA, AFAICT) and a .replace member function on sequences.


"Away From The Sun" by Three Doors Down


I read & reviewed "Linux Kernel Development" by Robert Love for Birmingham Perl Mongers. I enjoyed the book very much - read my review for more details. Hopefully at some point I'll get round to some kernel programming.

26 Jan 2004 (updated 26 Jan 2004 at 21:38 UTC) »


One of my co-workers told us about the BSI standard for tea making. Apparently it's now an ISO standard: ISO 3103:1980 "Tea -- Preparation of liquor for use in sensory tests". Damn, I'm proud to be British today. ;) (Ahem: I don't actually like "normal" tea - I'm more partial to green and ginseng teas.)


"Echo Park" by Feeder


cactus: Thanks for the link to SomaFM - sounds good. I quite like some stuff off Ninja Tune, so this is right up my street.

Incidentally, is there any way you can tell when someone's referred to you in their diary? I only just discovered that you'd told me about that site in your diary, when I was browsing randomly.

Maybe some Advogato blogging engine could automatically mail the people referred to in the diary at the same time as posting the diary entry via XML RPC.

39 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!