I'm part owner and roaster at a little coffee company in Wisconsin. Author of Typica, a popular free program used to capture and work with coffee roasting production records that's used at roasting companies all over the world. Volunteer on the Roasters Guild education committee. Available for paid coffee consulting, training, open source software development. Living with a cat who broke into my house and decided to stay. Likes: cute, travel, food. Dislikes: blinking lights.
I'd say keeping output file sizes that much smaller is worth a few extra lines of code, especially since I know people email those files around.
Wow, I just compared file sizes on print to PDF with the old code vs the new code. Old code was producing files around 8MB per page. New code is producing files around 24KB per page. The equivalent stuff in the last release version (using ancient dependencies that I can't use anymore) is also in that smaller KB range so that's kind of crazy. That's another mark in favor of the new code.
I would have been happier to not need to write those 18 lines of code, but at least it's not more like 1800.
Spent some time working on printing/PDF generation for Typica's reports and while there's still 1 little thing I want to look into (regarding page margins), this now works the way I always wished I could figure out back in the 1.x code base (where it would do silly things like print the top half of a line of text at the bottom of one page and the bottom half at the top of the next page).
There was plumbing work happening today stopping me from doing most of what I wanted to get done today, but I was able to get operator tracking back into Typica 2. There's a bit more polish work to put in on that feature, but the UI around operator switching is now nicer looking, easier to use, and hopefully less likely to mislead people into thinking that this is a security feature.
Someone just sent me money to support my free software work. I'm a little surprised because I know that they're waiting for an ARM Mac build that I won't have until I've got enough functionality ported over to the 2.0 code base to do a preview release and I've been busy with work that pays more reliably so progress is slower than I'd like. I'll have to send a thank you note.
The one that was wearing out got a lot worse since I last checked on it. Wish I got to it sooner but the manufacturer needed to be reminded to actually ship the part instead of just taking the money and then closing the ticket.
Thankfully, very little code will need to be adapted to do this and maybe I can slam that out over the weekend.
The past couple days I've been doing a proof of concept for removing one of the more problematic dependencies from Typica. Last night was just getting it working at all while today it's been seeing if I can make it look good. The latter is an awful pile of hacks reminiscent of mid-90s webmastering, but it's working and I'm leaving future me extensive documentation.
This is one of the things I like about writing my own software. When I run into a problem I can just fix it. Based on what I was seeing I had a very good guess at where the problem was, verified the root cause, developed enough of a fix to do what I was trying to do, and carried on with the work.
Needed to swap out one of my SQL queries because I'd failed to test an important edge case. The new query has its own potential failure mode that I need to test for and correct if my intuition is right about that, but the thing I've written for now lets me carry on with the work I need to get done today.
Author of Typica software for coffee roasters.