Plan B

For a variety of reasons, Plan A for the day went away and was replaced with Plan B. However, Plan B involved a reasonable amount of cleaning and the downstairs looks a lot better. There is wood showing on the kitchen table that hasn't been seen for some time and we swept up about .7 of a Ruby the Dog that had been shed onto the floor.

I suppose we should get Gretchen to knit another Ruby for Ruby to play with.

Or something like that.

Comparative Programming Languages

It's time for another round of comparative programming languages, as I have suddenly inherited a chunk of C# code that needs work. Happily, C# and Java have a lot of similarities, except when they don't.

I spent a couple of hours this afternoon and managed to do a moderate amount of cleanup. There's another bigger thing I want to try on Monday -- because I am *not* going to try it this weekend. :)

Intractable Problems Solved Cheap

So we've been trying to port our code up from Visual Studio 2010 to Visual Studio 2019 for a bit less than two years now. (I started aiming for Visual Studio 2017, but that eventually became an obsolete target.) Most of the code appeared to be working, but when it was finally tested by our QE team, an intractable bug popped up.

The intractable bug has been sitting there for some obscene length of time. In the last two days, we have spent four hours on a session with the other group in our company that is trying to talk to our code across COM in order to make this work. Today's session didn't manage to solve the problem either.

About ten minutes after the session ended, I went to my machine and fixed the problem by setting one switch in the compile.

My Google-fu is strong, but it really helps when you finally find out what is going wrong in the communications protocols.


We'll see if this fix sticks...

Going Solo

Julie wants to be able to record herself with something that's going to sound better than the microphone in her cellphone. This is a noble goal. However, I am *not* going to spend my life down in the studio recording whatever she wants recorded and the setup down there is more troublesome than I want to entrust to a twelve-year-old.

I thought about buying her a USB microphone, but the good ones are either out of stock or priced above usual retail, which is par for the course for pandemic summer. It turns out that the Focusrite Scarlett Solo *is* available at a reasonable price now, so I picked up one of those for her. It arrived today and I set it up on the laptop. She's happy with how her voice sounds in the headphones, so that's good.

Now, I just need to get the mic patched into whatever she actually wants to be recording to. This may be some of the included software. We'll see.

One Thing

I may not have gotten a lot done this weekend, but the kids' bathroom is now *much* cleaner than it was. Not perfect yet, but major progress was made. And I installed the new toilet seat, which replaced the rather worn-out seat that was there.

You take your wins where you can get them.

Tomorrow, we will be getting up a little bit earlier as we start the two-week countdown to the beginning of school.

Two Stories

A few years ago, we bought a nice new Samsung refrigerator with an ice maker that keeps a reservoir in the door. This is handy, because it takes up less space in the freezer compartment overall.

Except that there's an endemic problem that causes the ice makers to fail and freeze up. Oops. After a lot of reading on the subject, it looks like the problem is that the silicone gasket that seals the door bin to the rest of the system leaks humid air back into the ice maker. That freezes up and the thing stops working.

After a bit of analysis, Gretchen and I figured that we could stuff the inside of the gasket with enough pipe cleaners to get a good seal. Of course, you still have to figure out how to get the ice maker to unfreeze, but I was hoping that sublimation would save the day.

Eventually, it did. I went to poke around in the ice maker and pried loose a big chunk of ice from the business end. It slid back and forth on a rail and I wasn't able to pry it loose, so I sent Gretchen to beat on it. And the chunk was dislodged and removed from the ice maker. A few hours later, we had ice.

This was good, because in pandemic summer, you want things that you can't find. Apparently due to the aluminum can shortage (Did you know that there was an aluminum can shortage? Neither did I.), less popular beverage flavors have become unobtainium. This includes my usual Caffeine Free Diet Pepsi that I keep around the house. I can get Diet Pepsi (and do), but I would rather not be drinking a lot of caffeine in the evening.

Of course, I also love lemonade. Except I can't have sugared lemonade, because that would be even worse for me than the caffeine. There are canned light lemonades that I like, but they fall into the "less popular flavor" category and have *also* become unobtanium.


Gretchen to the rescue! She has purchased a silly number of canisters of Crystal Light Lemonade in handy single-pitcher pouches. Just add 8 cups of water and refrigerate.

Or pour over a whole bunch of ice from the now-working ice maker.

I am drinking a *lot* of lemonade.


Solving the Math Problem

So I've been trying to sort out a problem with one of my calculations and failing. The problem is that the calculation exists in both our C++ and Java code, but there's no UI to vary the inputs on the Java side, so it's really much more convenient to test this on the C++ side. Of course, we have no unit test framework for C++...

I ported all of the utility routines over to the Java side and wrote unit tests for them. Whenever I saw an error in the results on the C++ side, I'd go add another case or three to the Java tests, figure out what was going wrong, patch the Java code, patch the C++ code, and go run another case on the C++ side.

After a couple of cycles of this, everything worked.