Show newer

Gathered more observations on a minor bug that's annoying me. I probably need to rethink the whole algorithm involved, but I'll look at that later.

Today's coding was a bunch of small and quick QoL improvements. I've got a few larger ones that I want to take care of as well, but I don't think I want to work on any of those until after dinner.

Oh no, it's worse. This was a chocolate company. Come on, Valentines Day is right there.

Show thread

Dear corporate America, please stop trying to make Black Friday in February a thing. Come up with something else.

Did a small coffee order (a little over $3000) for things that are expected to get to a nearby warehouse tomorrow. I'll need a bigger order later, but most of what I'm looking at isn't getting into the country until March or maybe late February. I'll have to reallocate some of the coffee I already have to different products in the meantime.

Related, if you're making the wrong assumption that email is instantaneous and a short expiration time is acceptable, give people an easy way to have a fresh code re-sent when the first code that goes out expires before it's received instead of being all, "well, I guess we don't really want your $800 order".

Show thread

If your verification code expires in 1440 minutes, minutes might not be the best unit to use to express that.

Decided to look into a reproducible crash before going to bed. I'm not sure if any other company actually has the use case that triggers it (it requires being configured for multiple machines with one using rare no longer in production hardware), but once I had a debugger attached and reproduced the issue it was a trivial fix.

Today's attempt at using the new code in real world testing went much better than yesterday's. While there's still a lot to improve on and I don't want my staff using it yet, I could see myself using this while I work on further improvements.

Dealing with hardware interface footguns. I tried to be clever using a non-blocking alternative to one of the calls while forgetting that some initialization steps only take effect if performed after everything the blocking version does takes effect. Getting this wrong does not provide any clue that the hardware will ignore your instructions. It'll just produce garbage data that looks plausible until it blows up when you try to use it for real. Not a hard fix, just hard to remember.

On the plus side, one of the new features that really wasn't working for me has what I think might be a fairly straightforward design change to fix it. The current implementation is confusing and disorienting so if my idea on how to fix that doesn't pan out I'll scrap the feature rather than inflict it on others.

Show thread

Roasted a batch on the new code I've been working on and there's a lot I'll want to change there. Made note of the top annoyances to work on and switched back to the old code for the rest of today's roasting.

That's probably a good sign that I should stop working and make some food instead.

Show thread

Holding paper notes up to the laptop screen so I can read what they say instead of turning on the room lights.

dream visions, assorted potentially unwanted in your feed 

Last night's dream was kind of all over the place. It centered around a combination wine tasting (where far too much of each wine was served)/sex toy factory tour attended mainly by middle aged women. Part way through there was an incident with a purse snatcher who quickly ended up melting into a puddle and it ended at police with magic wands using excessive force. There were also butlers present.

Yesterday's one line fix did, in fact, work. While testing that I decided on another half dozen or so small changes to work on next. I can probably slam all those out before end of day tomorrow.

Spent some time looking at the thing that wasn't working earlier today and I think I found the one simple line of code I forgot to put in. I'll pop into the shop briefly just to do a quick test on real hardware tomorrow. If it works, I can start using the new version on the production machine maybe starting Sunday.

Apparently it's a mistake to max out the stiff-o-meter for the flips challenge on the scared stiff table unless you're almost out of flips. The game is counting all the flips that the machine does without player input against you so it's pretty much game over if you make that shot. Seems unfair.

I was hoping to run the new code at the roaster today, but the last piece that I need before rolling that out wasn't quite doing everything it needs to be doing. I've got a couple work from home days scheduled so I'll see if I can get it figured out over the next couple days.

Someone today asked me how long it took to write some software that I'd written and it's kind of a hard question to answer. I slammed out something useful within a day, but I'm still working on it a couple decades later, but that time period has some pretty long stretches where I wasn't regularly working on it and it's not like I tracked hours on any of this.

Show older
Typica Social

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