Welcome to the world, Aidan John
I was waiting for his father to announce it before I would. Aidan John is finally in the world. Congratulations to Kate and Jeremy!
All children are blessings, but Aidan seems a little more special because they had a few scares during the pregancy. But all that is forgotten now.
BTW, this picture is one of the few in which you will ever see Jeremy smile.
Review: Kenmore Elite Dishwasher
When we moved into our house last summer, we knew that the dishwasher would be the first appliance to go. Not only was it old, but it didn’t wash very well. At all. Things were left on the plates that should have been washed off and none of our glasses shined. So we put it on the short list. And, in mid-January just before all of Gina’s family came, it’s pump quit working. We didn’t replace it immediately — we decided to wait and see if Uncle Sam was going to return some of our money to us. Well, he is and so we started on our hunt.
We got on Consumer Reports and figured out what we needed to spend to get the things we wanted and what brands to avoid. In case you are wondering, just because Dishwasher A is more expensive than Dishwasher B doesn’t mean that A is better. It may have more features, but it may not clean as well over the long term.
We looked at a few different stores, but we couldn’t fine any knowledgeable sales people. We ended up going to Sears and found a very smart salesman. He recommended the Kenmore Elite 16264. It was quiet, has many features and differnt kinds of wash cycles. He compared it to a Bosch, which is the cream of the crop in dishwasher these days, and you pay for it (we couldn’t afford one with some of the things we required.)
So, after some debating, we bought it then. Why the rush? Because we were able to have an intelligent conversation with the sales guy about that dishwasher and the sale ended that day. However, Sears didn’t have the cream color we wanted, so we chose black.
When we got home, we looked at that model’s Consumer Reports rating (yeah, after the fact!) They rated it as an excellent, so we knew that we were in good shape.
I picked it up and installed it this weekend. When I took it out of the box, I didn’t note that it was cream instead of black, but Gina did. We think the sales guy found a cream one after the fact and switched the order. Plus one for Sears customer service!
The installation was pretty easy (once I got the new supply valve on, but that’s a different story and really has nothing to do with a dishwasher). Loading it was much easier than are old one — no hole in the middle to load around and the plates fit in very well. Even our bowls, which have been a pain in our last three dishwashers loaded very nicely in the top rack.
But how does it clean? Very, very well. We haven’t seen our coffee cups, plates and glasses shine like this before. Gina noted that it is a pleasure emptying the dishwasher now because you don’t have to worry about your dishes being clean — you know that they are.
Really, you can’t judge a dishwasher after one weekend of use — instead, you should do it a year or two after you get it. But on first impressions, we highly recommend a Kenmore Elite to anyone looking for a higher-end dishwasher.
Error: Maybe
A useful message Weblogic 8.1 just gave me. I added the boldface:
Unable to read value from underlying bridge : null vmcid: SUN minor code: 211 completed: Maybe
A Real Ruby XML script
Here is a problem that I have been having and I have just solved it via Ruby and REXML:
I have two GPX files that I use for geocaching — one contains all the caches that I want to find and another contains the ones I have already found. Keep track of your finds are important — you can make sure that none of your finds sneaks back into your “soon to find.” What I wanted was a script in which I would give it a list of waypoint names and it would find them in the “everything” pile and move them to the “found” pile. Sounds easy, right? Well, these piles are XML. So now it is no longer trivial.
Yeah, I’ve written DOM scripts before in which I moved nodes from one XML file to another. It ain’t pretty. Since I’ve been liking REXML so much, I decided that I would try tackling it with that and Ruby. My result is called markfound.rb and you can find it here.
The only bad thing about it is the speed. The “everything” pile is 1.3MB (down from 18MB — see a previous post) and takes a while to load. And “found” pile is smaller, so it doesn’t seem to take as long. Of course, both files will get bigger as time goes on. Hopefully, REXML will get faster as that happens. But since the time is spent in loading, I could give it 100 waypoints to move and it wouldn’t be that much slower. Hey, at least I know where the bottleneck is.
There was a surprising thing — a suprise in a good way. What I did was find the tree containing wpt tag that has the proper waypoint name, add it to the found pile and remove it from the everything pile. In DOM, this is about three or four calls. In Ruby/REXML, it was one:
foundRoot.add(cacheInfo[cache])
REXML knew that if I was adding an element from DocX into DocY that I wanted to remove it from DocX. This feature is genius. Okay, it maybe a bug. But it worked out well for me.
Cleaning out your GPX files
I noticed that my “all caches I may hope to find” file has grown tremendously since I starting putting Groundspeak’s info in (i.e. their tags in their namespace). I knew what was doing it — they put in all the logs in, which I don’t really care about. This morning, I was grabbing some caches to put in my GPS and noted that it was taken a while. So I looked at the size of the file. 18MB! Yeah, it was time to go something.
I decided that the best solution was an XSLT. “What? XSLT?!?” Yes. It’s not my favorite thing to do in the world, but writting a Python/Ruby script to do DOM work for this seemed too hard. I was going to delete nodes — a lot of nodes — on a file that was going to grow bigger over time. This was a job for XSLT.
And, just like I thought, it was fairly simple. Maybe one of the easiest XSLT’s you will ever see. Check it out here.
Oh, and my 18MB GPX file? It’s now 1.3MB.
