So, I managed to get a little work done on Kadath today, not as much as I’d have liked (what’s new), but at least it’s some. One thing I did was take a quick look around for a new unit testing framework, since although I’ve been relatively happy with CppUnit, it’s always hung in debug mode, which is fine during regression testing when it all works (since you always run in release anyway), but makes investigating issues when you first set them up - or if, horror of horrors, your regression test fails - a little awkward.
For interest, we broke our monthly web stats record in August: Hits: 8,143,695 Pages: 1,995,725 Visits: 141,969 Unique Visitors: 61,351 Of course the latter is unique IPs and so there may well be more actual individuals than that if they’re behind a corporate firewall. Bonkers!
A lot of people like GL intermediate-mode style code for building custom objects. Unfortunately, it’s very inefficient for large objects or those which are rendered multiple times. OGRE gives you a full render API independent interface to the wonders of hardware vertex and index buffers, and all the super-flexible vertex declarations and shared buffer bindings that allows, but a lot of people find it intimidating. So I’ve decided to write a class for Dagon which allows a user to build a piece of custom geometry which is both efficient and hardware-friendly, whilst at the same time being very simple to define.
My other news today is that I’ve taken the plunge with a new iPod and have just got it set up again. I was disappointed to note that Apple don’t provide a remote or carrying case with them anymore, like they did with the early mid-range models, and then have the cheek to charge £25 for each. Surely Mr Jobs has quite enough turtle-neck sweaters already that he doesn’t need to stoop to that sort of tactic to raise extra funds.
Over the last 24 hours stevestreeting.com has been having some network issues, because my ISP has suffered a DOS attack on one of their boxes. It was so bad even their upstream provider was having problems and they apparantly had to deadvertise an entire netblock for a while. Ouch. The target wasn’t on the server stevestreeting.com sits on, but even so we experienced some outage. Luckily I was asleep for most of it.
Who would be a PC programmer? Sometimes I really envy those console programmers with their fixed hardware setups - although I don’t envy them their paltry memory restrictions of course (even next-gen memory specs are rather chucklesome ;). Today’s issue was that a while back (a long while) I changed the BSPSceneManager to use a fixed set of hardware buffers and 32-bit indexes, to take better advantage of modern cards. It works great, but some people with cards like the GeForce4MX (step outside now please, you’re not welcome here 😉 had issues because their cards didn’t properly support 32-bit indexes.
Despite being a user of iTunes for a while, I’ve never actually bought anything from the iTunes store. This is entirely because I like to keep my music in un-DRM’ed form. The very notion of a record company wanting to tell me where I can and cannot play music that I’ve legally purchased almost makes me want to pirate it just to spite them. So I exclusively buy and rip CDs instead; the anti-ripping protection introduced on some CDs is laughably easy to bypass so I’m happy.
This past week has been mostly about 2 things - the next maintenance release of OGRE, which you can read ample about on the OGRE Website, and doing a spot of commercial work which I can’t talk in any detail about, hence the lack of updates. All I can say is that I’ve had a bit of fun exploring the Radiance source code, and although stylistically it’s full of things that make me squirm (it’s old-skool C), it’s a useful resource.
I’m sure I’m not the only one who finds they work better to certain kinds of music. I’ve found that different kinds of music suit different kinds of work, and I’ve made a small effort to correlate them for maximum effect. Here’s a quick run down of what works for me: Complex coding problems / new research: Classical. There’s nothing like a little orchestral music to get the brain cells self-organising, or soothing the nerves when you’re bashing your head against a particularly knotty problem.
Well, I spent a little while tonight upgrading an application I wrote under contract from a year ago (against 0.15.x, the Hastur days) to OGRE 1.0.x, and it took longer than I thought. The app happens to make fairly heavy use of CEGui which also changed a fair amount so some rejigging was required there too. It’s amazing how quickly you forget how things used to be done; this code included custom serialisers and tools using the old DataChunk code for example, I’d forgotten how nasty that aspect was before I rewrote it all for the resource overhaul in 1.