Fixed a couple bugs. One was legitimately an error in my code, but the other one is obnoxious. There's a condition where the code should be a no-op and if I actually do nothing, an unrelated thing doesn't happen, but if I do the thing that shouldn't have any effect, it forces the other thing to notice it has work to do. That still leaves one bug in the part that I'm working on, but I have a pretty good idea of where that has to be so it shouldn't take too long to track that down.
The house next to mine has had a broken window for years. This morning there was a cat sticking its head out of the window watching me leave for work. I don't know if this is a case of someone with a cat moved into the place or if this is a cat like mine who just decided to move in through the broken window.
Spent some time fleshing out a new data model for externally sourced data in Typica 2. For the 1.x versions all of that was coming from a PostgreSQL database, but Typica 2 is adding more options (one similar and one completely different) such that it makes sense to make more of the code oblivious to where its data came from.
Tonight's coding: first thing I wanted to try wasn't going to work without resorting to dirty tricks so I backed out of that to see if I could come up with a better idea. Next approach was both cleaner and more powerful. Then I reorganized it a bit to shrink it down and make it less likely that I accidentally break it in the future.
The relevant state and city departments for such things have always been pretty proactive about passing along useful information to me and I think they appreciate that we take not killing people seriously.
Had a nice chat with someone from the health department about changes to the food code and licensing requirements. We've apparently gone to a simpler licensing complexity and they'd be fine if we had three times as many chairs as we do, but there's no way that would be happening even if we weren't still dealing with COVID.
The cat likes to type. Her favorite key is the Enter key. Sometimes I'll wake up and find she's composed a very long toot exceeding the character limit consisting of just new lines from the Enter key. She hasn't learned how to click the Toot! button yet, but if you ever see me post something like that, it was probably the cat.
Why did I have a timer pre-dating Typica? Well, back in the days when I was doing all my logging manually, the timer that I started with broke and no local stores sold anything even remotely usable as a replacement so after wasting a day driving around trying to find something usable I spent an evening just hacking something together (which I did not release because there were already so many timer apps that it's faster to write your own than it is to find one that you like)
The hope is that people will find the new panel easier to read while providing faster access to more timing related information. There are still a couple more features that I'll want to add to this before release, but so far this is going well. While this is not a particularly high bar to clear, I think it's safe to say that the timer display in Typica 2 will be substantially better than the timers in any competing software. (As near as I can tell, nobody thinks much about roast timers)
The batch timer is the oldest part of the current release version of Typica, dating back to before Typica was even properly its own project. Since then I've added several timing related features, each time putting the information in its own independent display panel for the people who want to use the feature. For Typica 2.0 I'm taking all of the timing related features (including some that didn't exist in 1.x) and integrating them into a single display panel.
Author of Typica software for coffee roasters.