Did some data integrity related work today, disabling an operation in conditions where it can't do something meaningful where previously the program just crashed. There's one chunk of data that I'm not sure how I want to handle it yet. I need either another integrity check or preferably just rework some things such that all possible states become valid. Ideally I could extend the all states are valid approach to all the data, but I can't do that right now for back compat reasons.
Use case #2: You're doing an experiment where you want to vary a part of the roast in the middle, while keeping the start and end the same. Having a later translation point makes it easier to match the end without having to design the whole modified plan up front. (which you should, but we all know coffee roasters aren't great at actually doing things like that in the real world for the most part)
Use case #1: You're far enough off the plan at the start of the roast, think you're running parallel, but want an early translation to make sure you're on the right track before the auto-translation at the start of taste-able chemistry kicks in, making it easier to match the significant parts of the plan.
Added a new feature to Typica that I've wanted for a long time now: Immediate Translation. This lets you shift live data or plan data across the time axis to make it look like the temperature of the coffee is ascending through its current value at the same time in both without needing to specify a fixed point in advance. You're just saying, "line it up now". This augments the previous behavior rather than replacing it.
@goat fumoffu
@yomimono Right, it's hard to mess them up too badly.
I had 4 feature changes that I wanted to make before roasting the coffee today. All of them pretty minor, all implemented without difficulty. The one I expected to be the most difficult was something that I had already mostly implemented as part of earlier feature work and I just needed to hook it up the right way.
Took another look at a piece of code I wasn't happy with and proved that half of the conditionals were redundant. Took those out, which let me sensibly remove a temporary variable and did a couple other minor tweaks and now I have something that's shorter (both width and height), earlier to understand, runs faster (though that won't be noticed by anybody), and has exactly the same behavior.
Author of Typica software for coffee roasters.