Thank you, mystery person! On Friday morning, Fedex delivered a small box to us. On the outside, it was marked “Collin Street Bakery”, in Corsicana, Texas. Neither Debbie nor I had any idea what that bakery was, but hey – from a bakery it can't be too bad, can it?
So we opened the box, and discovered that it contained a fruitcake, in a traditional round tin. We hadn't ordered it, so whoever did must be someone who knows me fairly well – well enough to know that I am one of 5 living humans who admit to liking fruit cake (well, good fruit cake, anyway). Debbie is not one of the other 4 – she can't stand 'em. Also, whoever it is knows our new address. But there was no card with the cake, and no letter, so we have no idea who sent it!
Then we tried the fruit cake.
That's the best damned fruit cake I've ever had. I've had some good ones in the past, but none even came close to this one. When Debbie heard my exclamations of delight, she decided to try it, too – and now the cake is disappearing twice as fast as it was. If a fruit cake is good enough to get Debbie to eat it, you know it's good!
So thank you, oh mysterious giver of fruit cake. We don't know who you were, but thank you!
Sunday, January 10, 2016
Geek: working around a Java bug...
Geek: working around a Java bug... On Friday I ran smack into a weird bug in a most unexpected place, while doing something seemingly very straightforward. I was creating a socket factory for SSL connections to a web site, using Jetty (which relies on standard Java library classes). To do this, the socket factory needs to know about your certificates. These are usually kept in a keystore file, which is what I am doing. The standard API has you pass in the path to the keystore file, along with the password for it. When I passed in the path, I got an exception (below with the first few lines of the stack trace):
The default directory path was absolute, so this error made no sense. Eventually I tracked down the source of the issue: a known Java bug (JDK-7181721)! That's something one doesn't run into every day – virtually 100% of the time, the bug is either in your own code, or someone else's code that you're relying on – not the code that's actually part of Java. This is so unusual that I was suspicious I was wrong at first. So I came up with a workaround that avoided this code, and sure enough that fixed it.
The workaround? It turns out that the socket factory as a completely separate way to get the certificates. You can create a Keystore object (in memory) and load it yourself, then pass that in. I did that this morning, and bye-bye problem.
I'd be quite happy to not run into another one of these! On the other hand, finding and fixing such a bizzaro problem is kind of satisfying...
Caused by: java.lang.RuntimeException: default directory must be absolute
at sun.nio.fs.UnixFileSystem.(UnixFileSystem.java:54)
at sun.nio.fs.LinuxFileSystem.(LinuxFileSystem.java:39)
at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:43)
at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:36)
at sun.nio.fs.UnixFileSystemProvider.(UnixFileSystemProvider.java:55)
The default directory path was absolute, so this error made no sense. Eventually I tracked down the source of the issue: a known Java bug (JDK-7181721)! That's something one doesn't run into every day – virtually 100% of the time, the bug is either in your own code, or someone else's code that you're relying on – not the code that's actually part of Java. This is so unusual that I was suspicious I was wrong at first. So I came up with a workaround that avoided this code, and sure enough that fixed it.
The workaround? It turns out that the socket factory as a completely separate way to get the certificates. You can create a Keystore object (in memory) and load it yourself, then pass that in. I did that this morning, and bye-bye problem.
I'd be quite happy to not run into another one of these! On the other hand, finding and fixing such a bizzaro problem is kind of satisfying...
A slight change of plans...
A slight change of plans... This past August we'd booked a trip to Hawai'i, to leave on January 13th, which would have been our first visit there in about five years. With Debbie's surgery just a few days ago, and some recovery time needed, she's decided that she'd rather make that trip later, after she's more fully recovered. So the trip has been canceled (boo hoo!), and we'll re-book it sometime later.
Happier news: Debbie's recovery is going rather spectacularly well! Yesterday she spent most of the day on her own two feet, without crutches, cane, or any other kind of assist. She reports that the pain that stopped her recovery progress over the past few months is gone – a pretty good indication that the meniscus tear has truly been the source of her issues. Now she's got a different sort of pain, the soreness you'd expect after surgery. It's already down to the point where she's not taking any pain medication except prior to physical therapy visits, and even then it's just ibuprofen. She hasn't touched the opioids for days now. Yay!
Happier news: Debbie's recovery is going rather spectacularly well! Yesterday she spent most of the day on her own two feet, without crutches, cane, or any other kind of assist. She reports that the pain that stopped her recovery progress over the past few months is gone – a pretty good indication that the meniscus tear has truly been the source of her issues. Now she's got a different sort of pain, the soreness you'd expect after surgery. It's already down to the point where she's not taking any pain medication except prior to physical therapy visits, and even then it's just ibuprofen. She hasn't touched the opioids for days now. Yay!
There's a new dog in town!
There's a new dog in town! Not ours, but our neighbor Tim D. Cute little bugger, isn't he? For some reason they named the poor guy “Marley”.
We also heard from Sheila Miller, the breeder who has been the source of all our field spaniels over the years. She's got a female who was just bred, and one of the puppies from her litter, if everything works out, has our name on it. Sometime in March or April, there may be some yipping and squeaking in Paradise...
We also heard from Sheila Miller, the breeder who has been the source of all our field spaniels over the years. She's got a female who was just bred, and one of the puppies from her litter, if everything works out, has our name on it. Sometime in March or April, there may be some yipping and squeaking in Paradise...