We had a happily short, if snowy, drive home from Capricon.
Ruby the Dog has been rescued from the kennel, the girls are off for a President's Day sleepover, and we are going to get some sleep. :)
The dock that they supplied for the new work computer had one highly annoying problem -- it won't actually support the monitors that I have on my desk. I've got a pair of 1920 x 1200 monitors, but the maximum resolution that the dock can handle is 1920 x 1080, which means that each monitor had an annoying black stripe at the top and bottom of the screen.
There is, happily, an alternative dock that runs on a Thunderbolt connection which is now available on certain PCs (including this laptop). We were able to order one through Procurement and it arrived today.
I now understand why they don't just hand this dock out as standard issue.
The first thing that you have to understand is that the instructions for this dock are pretty much entirely pictorial in nature, sort of like the sort of thing you'd find in a cheap product from the Far East. (Oh, right. Lenovo. Never mind.) And they are not *nearly* as good as, say, Ikea's pictograms.
The Thunderbolt 3 cable for a PC (and perhaps everywhere) is in exactly the same form factor as a USB-C cable and fits into a USB-C port on the computer. This is the *wrong* port to plug this dock into (although it was the *right* port for the USB-C dock). The problem is that the Thunderbolt symbol on the computer is *in between* the USB-C port and the really odd looking Thunderbolt port that takes the same cable. I found out about that problem by searching the Internet for other people who were having dock problems. Once I got the cable into the right port, I was able to get the monitors to light up. This was progress.
The keyboard and mouse, however, were inert. Was this a problem with the KVM switch? Maybe. But I decided not to try unplugging them and replugging them in directly for the moment as I continued to fiddle with the keyboard and mushpad on the laptop. I find in the fine print somewhere an instruction that says to plug the USB cable for the keyboard and mouse into a *particular* unlabeled USB port on the dock. I guess I can try that. But still no luck.
Using the keyboard and mushpad on the laptop, I manage to navigate to the Windows display controls and reset the preferred monitor resolution to 1920 x 1200. The screens fill up the way that they should. Victory!
Except that I still don't have a working keyboard and mouse.
Well, let's shut the whole thing down and restart. Turn off the laptop, turn off the dock, power up the dock -- oh, look, that powered up the laptop -- type in the encryption password, boot into Windows 10, and let's see what happens next.
And look! There's a message on the monitor that says something to the effect of "Installing Thunderbolt devices". That would be good. And then a dialog pops up telling me that Thunderbolt devices are trying to access my computer. One of the choices is "Yes, let them do it. Every time I log in."
And then the keyboard and mouse started working.
Then the VPN that I connect to with a VPN appliance decided that I needed to authenticate again, because I was now using a different dock. Ok, let's do that.
And now everything works.
I believe the phrase that best describes this process is "Goat Rodeo".
Let us *please* never give this dock to someone who is not technically inclined.
Ruby and I are alone in the house at the moment. She came upstairs to my office, I rubbed her head, and she is now lying on the floor, next to my chair, asleep.
This will change, of course, the moment that I move from the chair.
Gretchen and I booked our tickets for DFDF today. I guess we're going.
(Ok, actually we knew we were going -- and are looking forward to it! -- but actually having the tickets booked makes everything remarkably more real. :) )
I took Katie out for lunch and then grocery shopping, which meant a trip to Sam's Club and then to Mariano's.
There were a large number of things that I had planned to buy at Sam's Club today. Brisket was not on the list. And then I saw the sign advertising brisket for $3.28 / lb. In the cooler were two *ginormous* vacuum-packed briskets labeled USDA Prime with expiration dates in the next week. Well, I suppose that explained the $3.28 / lb price, although how they came to *be* at Sam's Club in the first place is a bit of a mystery, as that's not normally the grade of meat they carry.
I called Gretchen to confirm that it would be ok if I brought this 13 pound behemoth of a brisket home and she agreed that it would be fine. So tonight, we had stew, as planned.
Tomorrow, we will have brisket.
(And for several more meals after that, but let's just worry about tomorrow for now...)
The new hard drive for the studio computer arrived today. After dinner, I went down to the basement to install it.
It has been long enough since I opened the case for this computer that I had forgotten how the drives were mounted. In order to get the failed drive out, you have to remove the front panel. This isn't *hard*, but it *is* tedious, especially when there isn't a good place to work. But I managed to wrestle the drive out (once I figured out which drive had failed) and install the new drive.
The motherboard RAID software figured out that the new drive was there, so when I booted into the control software, I was able to tell it to start restoring the mirror. Then the system booted on into Windows where everything is now running *very* slowly as the disk subsystem is spending most of its time making a copy of all things on the old drive to the new drive.
Looking at the situation, I have now ordered a *second* new drive that will arrive Sunday, by which time, the mirror should have reestablished itself. Then I can remove the remaining original drive, put the second new drive in, and let it mirror everything again.
And then I will finish putting the computer back together...
AT&T sent me another insert in my bill telling me about the wonderful services they can bundle together in my area.
This would be good if they could. Unfortunately, they can't, because they can't deliver Internet at better than 3 Mbps to my address. Today, after rattling around their phone tree at the number that the web page said to call, they offered me *satellite* Internet at a stupidly high price. Because living in the middle of an urban area, that's obviously my best available choice.
You would think they could manage to pull fiber. There's fiber only a few blocks away.
But there will apparently *never* be fiber here.
So it looks like I am going to have to get ready to jettison my DirecTV service in favor of Comcast.
I dislike Comcast, but I am learning to dislike AT&T more.
My work laptop came up on the schedule for replacement, so I figured I may as well get it done. The new laptop arrived this afternoon and I managed to get everything installed, moved over from the old machine, and ready to go. It was a triumph, I say, a triumph!
Until I hooked it up to the dock and to the monitors on my desk.
It turns out that the USB-C dock that they shipped me can't support 1920x1200 monitors. Many docks will, but not this one.
I have sent off an email asking nicely for a different dock.
We'll see how this goes.
This should have been simpler.
The monitor on the computer that Gretchen and Julie share is quite old, substantially older than the computer that it's connected to. Some months ago, it split open along the seam at the point where the switch is and gave a good impression of a dying monitor. As in, wouldn't light up. But Julie is irrationally attached to things and insisted that she did not want a new monitor. I would have tried arguing her into taking a new monitor, but Gretchen managed a duct tape and baling wire repair on the corner and the monitor has continued to function, although we no longer even *think* about trying to turn it off with the switch, lest it end up in the great electronics recycling graveyard in the sky.
The monitor attached to the computer in the studio is *not* a "company" monitor -- it's one of my old monitors from my desk upstairs that I moved down there to replace the monitor that died as part of a swap when I bought two lovely Dell 16x10 monitors. I had lusted after the extra screen real estate for years for these screens and I finally got it.
Lately, I've been contemplating how nice it would be to have a bigger screen down in the studio. I could get a 27 inch screen. I could get a 4K screen, except that it looks like there are some potential sizing problems that I would have to fight through with Cubase. And my current video card probably wouldn't support it. And I would need a new, really long cable. On second thought, let's just ditch that whole idea of a 4K screen. Maybe a nice 27 inch monitor with a DVI port so I can use the existing cable. And then I would have the old screen as a hot spare to swap in upstairs so that I would not have to listen to the anguished cries when the duct tape and baling wire repair finally gives way. (There will still be anguished cries, but there would be an immediate fix. This is a good thing, as my service level agreement with my family seems to be "Nothing must break. Ever!")
So I've been browsing monitors on the Micro Center site and when the new ad came in, I went to browse them again and convince myself that I didn't need another monitor. And I found that the lovely 16x10 Dell monitor that I have on my desk had been marked down to $159.99.
Well, that *is* a larger monitor. And should one of the monitors on my desk decide to die, it can be the hot spare that I borrow to keep working up here until I replace it. It's got VGA, DVI, and Display Port capability, so it actually bridges across the older and newer monitor port technology. And then my old monitor can become the hot spare to replace Gretchen and Julie's monitor.
I had a gap in my schedule over lunch, so I reserved the monitor, drove down to Micro Center and picked it up, and then grabbed lunch, girls from school, and went back to work. After work, I went down to wire in the new monitor.
"Oh, right," I said as I started to work. "The computer is turned off, because we had a brief power outage (less than a minute, I think) during the extreme cold last week." That's convenient, because I don't have to worry about confounding anything by working on the monitor swap with the computer turned on. After a bit of struggling with plugging a wire into a port by touch, I had everything hooked up and it was time to power up the computer.
The RAID configuration screen came up. What do you mean, "degraded"? Oh, crap. I booted into the configuration tool and it became evident that one of the two drives was toast. Looks like a 2 GB drive. What drive do I have in there anyway? Wait, there's the model number. Let's plug that into my phone. Ok, there's what I bought from Amazon about three and a half years ago. Right. Three year warranty. And obsolete. But here's the new version. And I order a new drive for Friday delivery so that I can reestablish the mirrored pair.
Except that I have also booted the computer into Windows. And there is no network connection. Why is there no network connection?
I had moved an old network hub down to the basement so I could have some more ports. I'm not actually *using* more ports yet, but...
And the little network hub's power light is just sitting there blinking and showing nothing connected to it.
I suspect that it is dead too. I'd know for sure if I'd bothered to wire around it, but by this point, I had had enough entertainment for the evening. And I really didn't want to be running the computer more than necessary until I get the RAID reestablished.
So the new drive will be here on Friday and then I'll put things back together.
I suppose it was good that I bought the new monitor. If I hadn't, I wouldn't have found the dead drive...
I was happy to watch the Rams lose the Super Bowl tonight. This is not so much because I am a fan of the Patriots, but more because I find the owner of the Rams contemptible.
Pitchers and catchers report soon, don't they? :)
I was going over my credit card bills today and found that one of my cards -- the one I commonly use at hotels -- had been compromised. The card is now cancelled and the charges are being reversed.
*sigh* But it's annoying.
So last week, I went down for the follow up appointment with the sleep doctor. We had a nice chat, during which I suggested that we could raise the pressure on my CPAP from 14 (which is what he had had it set to based on the new sleep study) to 16 (which is what I've been sleeping with for over 20 years). I'd been feeling a bit "air deprived", especially when I first lie down and we've already got the ramp function turned off entirely, so I get the full pressure as quickly as the machine can deliver it.
He agreed that this would be reasonable and kicked up the pressure.
According to the app that monitors my sleep with the CPAP, the number of events per hour that I experience has been better than cut in half, down to as low as one per hour on my best nights. And my worst nights seem to be less than three per hour.
This is a good thing. :)
I had an opportunity to pull out my favorite Sherlock Holmes quote today: "Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth."
I was helping one of my colleagues chase down a bug in some code he was writing on the Java server. We're trying to add the time period editing over there that we have on the C++ side, so it's just a matter of making sure the code is correctly ported.
But the data spreading was going awry, so *something* had to be wrong. "Ok," I say. "Let's stop the calculation in the middle of the process so we can see if the data is getting spread correctly in the first place."
Some time this afternoon, I realized that there might be a problem with the calculation order. Had it been reinitialized correctly after the changes? Where's the routine that does this? Ah, here it is! Why is it empty with a comment that says "STUB"?
Eep. This routine only gets called from the time period editing code. And since we hadn't exercised that on the Java side, we hadn't noticed that I'd never filled it in.
Well, it's filled in now. And the code works a lot better.
The call to cancel classes for tomorrow came around 10:45 AM this morning. And there was much rejoicing.
I went out to pick up breakfast. The main roads were all clear and dry. The car reports that the temperature outside is -17. This would explain why the hair in my nostrils wanted to freeze.
The car also reports that the temperature in the garage is 10. I've grabbed the 12-packs of canned soda and have moved them indoors. :)
It's cold out there!
The call to cancel Wednesday classes came around noon today. This was a substantial improvement over 5 AM. :)
Classes are still -- in theory -- on for Thursday, but the closing criterion is a low of -15 or a wind chill of -30, both of which are forecast for Thursday morning, so I would bet on school being closed. I am hoping that they decide this before 5 AM on Thursday.
Katie is off to a friend's house for a sleepover. Julie is playing online games.
Gretchen and I have watched the first two episodes of "Absentia", Stana Katic's new series. It films in Bulgaria and is predictably dark and mumbly. :) But it's got us curious and we always liked her on "Castle", so we'll keep watching and will turn the volume up so we can catch all of the dialogue.
And tomorrow, I will enjoy the fact that I work from home.
The phone rang at 5 AM this morning to let us know that school had been canceled. We appreciated the notice, although we might have appreciated the sleep more. :)
Katie woke up on schedule and proceeded to get ready for school, having slept through the phone call. When we eventually became cognizant of this, we let her know that school had been canceled. Being awake already, she took advantage of the extra time to watch more anime. Julie was still sound asleep.
School or not, I had a dentist's appointment for a cleaning first thing this morning, so I had to get up and get there through the snow-covered and partially plowed streets. They were running a little late, but my 10:30 meeting was canceled, so that was good. My *noon* meeting, however, got moved to 11 AM, which made life a bit more exciting.
See, the girls had been invited over to a friend's house. I was supposed to deliver them before noon, except now I had a meeting in that hour. And I wanted to get Gretchen's car out of the driveway so that I could use the snowblower to clear the five-plus inches of snow a bit more easily.
It happened that Gretchen's car needed to take a trip to the shop. It's seven years old and on the original battery. I had noticed last weekend that it had once been *slightly* reluctant to start. (Not *very* reluctant -- just a bit of hesitation.) And I suspected that replacing the battery before the -25 degree predicted cold arrived on Wednesday would be an excellent career move.
So I called home, told Gretchen to call the shop and see if they could check the battery and change the oil, and that she could take the car there while I took the girls off to their friends house. This was executed with all of the precision and none of the planning of the D-Day invasion, which is pretty much par for the course when I say, "I've got it!" and recite a lunatic plan like this. But the girls went off to play, the car went off to the shop, I picked up Gretchen and then dialed into the meeting from the car only a few minutes late, so we're going to call this a success.
After the meeting, I cleared the driveway and Gretchen and I went out for a nice quiet lunch.
The shop eventually reported that the 750 amp battery was delivering an impressive 340 amps. Since the van requires 300 amps to start, the battery was toast. (This was the technical term that they used when reporting back to us.) So we have a nice new battery now.
Everyone is now home (including the van). We have had a tiny amount of freezing rain and snow since I cleared the driveway, which is making life more entertaining.
Later tonight, I will go hit the grocery store and pick up anything else we think we need for the next couple of days.
But now, it is time for dinner.
The forecast for tonight includes up to seven inches of snow, starting momentarily and continuing until 9 AM tomorrow morning. Many school districts in our area have already thrown in the towel.
Ours has not. Yet. Part of the problem is that we're almost certain to lose one or two days later this week to deadly levels of morning wind chill. -50 degrees Fahrenheit will do that to you. And they'd really like not to lose *three* days this week.
But what they *like* and what may happen when confronted with the situation on the ground (literally) tomorrow morning are two different things.
In other news, I have an appointment at the dentist for a cleaning at 9 AM tomorrow.
I wonder if they will be there.
Oh, it *does* look like I solved the problem at work yesterday.
Today, I took a few minutes and deleted the fossil code from the old version of the project that I'm working on. The file went from 2900 lines to 900 lines. So the new code is less than half the length of the old code. Of course, I *did* push a couple of things out to other classes, but even so, it's substantially cleaned up.
There are things that I *should* be doing. I am not doing most of them. This will need to change shortly.
In the meantime, Gretchen and I got to watch "Ant-Man and the Wasp" tonight. We liked it *much* better than the most recent Avengers movie. :)
I have almost solved the various problems at work that are keeping my new code from working properly. I *think* that one of the failed attempts managed to leave some flags set that prevent the calcs from executing, so I am now *clearing* those flags to see if that fixes the last problem.
I hope it does, because otherwise, I am running short on ideas.
Mind you, I *saw* that one of those flags was set while watching in the debugger, so I am reasonably optimistic that I have found a problem.
The question is: Have I found *the* problem?