Peter Firmstone wrote:
Thanks for the compliment.

I'm looking forward to having some help, programming alone isn't much fun, I've been quite busy, so a short break to let others show off their skills while I get some much needed rest is all good.

This is probably also a very good opportunity to finally get some much needed peer review.
...
  2. RevokeableDynamicPolicy and Security delegates. - experimental,
     this could take some time, how to avoid divergence?  Can we merge
     trunk into skunk periodically to keep it up to date?
...

Yes, I think you can, and should, periodically merge the trunk head into your skunk branch, to limit divergence.

Also, try to limit scattered divergences. For example, in some situations you can get users of a feature onto an interface that works with either old or new. Merging that sort of change, with the old style handling of the interface, back into trunk would be relatively low risk. After that, you work one part of the program relatively independently.

Factory methods can be useful for this sort of thing - you can change the class of the interface implementation a factory returns without having to edit its callers. They are much more flexible than constructors.

I'm thinking of replacing the current TaskManager.Task interface with one in which the runAfter method returns a Task it needs to run after, null if there is none, rather than just saying whether there is one. Also, I want to get them off indexed access to Iterable access, so that I am not forced to use a fast random access List to implement the collection runAfter checks. It would only take a small change in the current task manager to use that interface. Once that is done, I can play with TaskManager scalability editing only TaskManager, not its callers.

Can you suggest some background reading for your security work? I have a good background in proof-of-correctness (my bachelor's degree was in mathematics) which might be a useful viewpoint for your peer review, but I don't know enough about security within a Java program.

Patricia

Reply via email to