Caution - proceeding beyond this point may expose you to dangerous levels of opinionated ranting. “It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us…”
Since the only thing wrong with my v1 ‘retro’ iPod was the battery, I decided to take a look at how much the 3rd-party replacements were, and was quite pleasantly surprised both at how cheap, and how much more powerful than the original they were. I guess I should have looked before I splashed out on the new one, but for obvious reasons a large part of me is glad I didn’t.
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.