Yesterday afternoon my manager scored some major points. He told me that he didn't want me to work more than 8 or 9 hours a day, and if that meant that deadlines on this project are missed, well, the customers will just have to live with that. He gave me the strong impression that he would back me up if it came to that.
On the one hand, this is in David's best interests. He needs me alert and creative, not burned out and disillusioned. On the other... you know, maybe he really does care more about his people than about the latest set of requirements and deadlines. That would be a pleasant experience, especially after some of my experiences in graduate school.
Meanwhile... He's given me the okay to bring someone else in part-time on this project for the next few weeks. Eric knows VTK about as well as I do, but he's totally new to Qt. I can count on having him half-time for two weeks. He will not accomplish as much as I could in that time because of the overhead of learning the system and talking things over with me, but it means I'll have a few more precious hours to myself for things like sleep and exercise. I will still have to do all the system integration myself, but that's unavoidable where things stand. This is not going to save me completely from working overtime - I'll probably be putting in weekend hours - but I'll take what I can get.
I suspect that I will be able to hit the March 17 milestone. I am not at all sure of this. I'll have to talk to Nabeel (the main customer) and impress upon him the need for our beta users to be tolerant of crashes and random bugs.
Meanwhile, today I committed a whole bunch of infrastructure to a branch of VTK. It's oriented mainly toward scientific visualization, but there are quite a few people who want it to be useful for information visualization as well. The biggest obstacle to this is that VTK assumes that data means numbers: that every piece of data everywhere in the system has a meaningful conversion to and from one or more floating-point numbers. Infovis more often works with string data types where this assumption doesn't hold. Last summer I tackled the job of adding support. It is neither simple nor straightforward, but, well, someone had to do it. There's a lot of work left to do to integrate it properly and flesh it out but what's there is usable.
Committing code to the main repository, as I did this afternoon, means that suddenly my stuff is visible to and usable by the 25,000ish people around the world who use VTK. I'll be surprised if more than three people see it in the next few months. For one thing, it's only in the CVS repository, not any of the released versions. For another, it's not even in the main trunk: it's off in a branch of the tree so that I can work without fear of breaking the build everyone else relies on. Still... it's out there, and someday it'll make it into the main release. Maybe the next major version.
Getting the patches updated and committed took up all of yesterday and most of today. Tomorrow will go into a couple of the graphics pieces related to displaying the subset of data that actually fit on the screen. Then it's Friday, which means a long day at work and then a trip to Back Porch to get turned into a puddle.
Oops, the build has just broken. Time to go fix it. Further updates as events warrant.