- Wednesday: I started reasoning about the things that I'm doing kind of wrong with the task runner. Some of the changes I had in mind had me worried about the efficiency implications.
- Thursday: I made one code change, but it was a good one. I also left myself a note to help with future changes.
- Friday: I tried a truly absurd number of things to make my chest stop hurting as a result of sitting... like... one sec. Sorry, I had to stand up, for... some reason.
- Saturday: More code simplification. Turned some of the types involved dramatically simpler.
- Sunday: I started outlining the configuration API changes that I want.
- Monday: I came up with an invariant that should more-or-less leave the algorithms involved at about the same level of complexity, which went a long way towards getting me comfortable with the API changes.
Next week, I'm going to try to get the task runner really for real ready for an initial release. This requires:
- Finish redoing the configuration API
- Full test coverage
I was poking at this some today, and decided to remove some functionality that I don't have a use for, and this made running the tests much more tractable; it remains to be seen how much overhead will be added when I get full test coverage, but I'd be shocked if the "self-hosted" version takes more than five seconds. Fingers crossed.