[note: when I say "time step" below, I mean the next time "now" is explicitely set to]
1::second => dur t; t - (now % t) => now;
That way the two scripts are supposed to start in sync at the next second.
wouldn't something like 1::second => now; be enough to ensure that all initialization is done before the next time step? Additionally, if now % t is near t (say e.g. t-1) the operation t - (now % t) => now; performs only a few steps in time, that is the difference between (now % t) and t. Which specific problems should be solved by your code above? In general I think (or thought) chuck always works strictly in sync, except if the time needed by all the operations for a time step is more than allowed by the next time step, which either means the computer is too slow or the operations should be reordered in a better way. Am I wrong with this assumption?