Pinned post

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.

Every time I encounter something cricket related I become more convinced that it can't possibly be a real sport that anybody seriously plays, but is instead some kind of weird long running experimental theater project that's exceeded the expectations of anybody involved in it.

Me: *trying to use a laptop on my lap*
Cat: *trying to sit on my lap*

In unrelated news, I need to schedule a furnace repair at home. Looks like it's probably the capacitor on the fan.

If it weren't for the accuracy issue, I wouldn't have bothered.

Show thread

The difference is that the old code was using something considerably more heavyweight to start with that has a lot of capabilities that aren't needed for this feature. My excuse is that this was already there and needed for other things and hundreds of microseconds is still plenty fast enough for this, whereas the new code does a lot less and it was a few hundred SLoC that I had to write, though I did encapsulate that such that it's almost exactly the same code at the call site.

For the most common use case it's running in almost exactly 1/10th the time.

Show thread

Finished integrating the new evaluator for mathable fields in Typica 2 and did some performance testing. Despite the utter garbage quality of my code with considerable room for performance optimizations when I'm in a better head space for that, it's producing results that are always correct in 10s of microseconds where the old code was producing results that were only almost always correct in hundreds of microseconds.

Note to self: when dealing with linker errors that should be impossible, try "make clean" first.

Today's scheduled work from home day turned into a show up for a split shift day, but when I got home after the first chunk of work the neighbor's tree was no longer in my yard and there was a big fat bird hanging out there instead.

I think I've just decided that we never got any Final Fantasy games other than 1-6 and confusingly, 9. A shame they stopped making those.

Any performance difference is not all that important here because it's for low volume interactive use and either would give apparently instant results even on machines that would have been considered low end a couple decades ago, so it's really just personal curiosity.

Show thread

Finished up some code that I've only been able to get a bit of time here and there to chip away at which would have gotten done a lot faster with a larger contiguous block of time to write it in. Kind of want to benchmark it against the code that it's replacing because on the one hand what I just wrote is not even remotely optimized, but on the other hand it does way less than the code it's replacing.

Today's weird request was from someone who brought in their random probably stale coffee from who knows where and wanted to know if I could brew it for them in ways that we're not set up to do in any reasonable amount of time. Pro tip: Coffee shops are set up to use their own coffees, they have a menu of offerings, and if they're aware of the relevant food safety regulations they need to abide if they want to operate legally they can't use random ingredients of unknown origin. Don't be that guy.

Dear transphobic text message survey spammers, please resign and live a better life.

Getting a little more time to continue work on an improved mathable field for Typica today. Not enough time to actually finish the work, but at least it's become obvious what the rest of the code needs to be and I just need to type it and put together a bunch of test cases to make sure it does what I think it does.

The cat wants to be up on stuff but doesn't want to do the work of jumping herself.

Continuing to work on blend updates with new ingredients. The first blend matched just swapping the new ingredient into the old recipe, but the 2nd one needed the proportions adjusted from a 50/50 to a 60/40. The rest of the blends on my list are more complicated and may need more substantial recipe changes.

It's been a few years since the last time this was true, but Qiqi is once again my hardest hitter in Genshin Impact. Congratulations, Qiqi!

My sister sent a text message asking me to buy salt. My phone notified me of this about an hour after getting back without the salt.

Tasting production test batches of the new Costa Rican coffee. Medium roast from the previous lot is on brew so for that one I could do a side by side by side. Very good match.

Show older
Typica Social

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!