Blog

  • Our First Cycling Day!

    Our First Cycling Day!

    Today we started on the real work of this vacation — cycling! We had a small breakfast on the boat, and were able to pack a sandwich for lunch. We had our bike orientation, and Susan was given an e-Bike, and I got a “traditional” bike. We headed out from Enkhuizen and mostly followed along the coastline.

    It was a very windy day today, and we were fighting it most of the way, with occasional breaks provided by trees. We got lovely views of the water,

    and saw lots of people taking advantage of the wind by kite boarding, and other wind/board sports.

    We saw our boat, motoring to our meeting point

    We got to the destination town, Medemblik, by around noon, and were able to watch our crew very impressively “park” the boat.

    After that, we rode down the main street of the town, and found a restaurant for lunch. After lunch, came the obligatory ice cream, then we took a brief look at the local castle, where Matt and Susan showed off their balancing skills

    before heading back to the boat.

    The rest of the day was a pretty relaxed affair, for us anyway, but we got to see the crew navigate through a lock,

    and a center-pivot swing bridge, which was pretty nifty. We were served dinner as the boat was nearing the island of Texel, where we will be for the next two nights.

  • Das Boot

    Das Boot

    Today, we woke up in Enkhuizen, and after a hotel breakfast, we walked around the town some, exploring the cute harbor town and marveling at the Dutch combination of streets and canals,

    where bikes get the right of way in general, and the drivers seem actually aware of what’s going on around them. We watched sailboats with tall masts come down a canal, where a pedestrian bridge was drawn to accommodate them.

    We found lunch at a cute restaurant, definitely in the touristy part of town, and we checked out the unique “Ship in a Bottle” museum.

    We checked out a cheese shop

    And even found an optical shop where Susan was able to get her sunglasses repaired (one of the screws was lost)

    We picked up our luggage from the hotel, and carted it down to where our boat was moored, and were able to drop off our luggage there, which was handy. Along the way, we met up with some of our party, and Parke showed us the way to the boat.

    By 4:00, our prescribed boarding time, almost all of the group had arrived. We were each shown our room,

    and given time to unpack, and we re-gathered at 5:30 for the safety briefing. And by the time the safety briefing was done, it was time for dinner! We were served a lovely dinner and dessert, then most of the group went out for a walk around the town.

    Tomorrow we will learn more about the bikes, and we will bike from Enkhuizen to Medemblik, where we will meet up with the boat again.

  • Mostly Train

    After a lovely, relaxed home breakfast with our hosts, Frank drove us to the train station in Kiel. But from there, it was all trains, all day. We boarded our first train in Kiel just after 10, which was supposed to take us to Hamburg. We were at the station early, and there was a train on the next track over, and an announcer said, “If you want to get to Hamburg earlier, go on that train.” Well, we should have listened, but we stuck with our original plan and schedule. About halfway there, there was an announcement to say that the train was not going to make it all the way, so we had to get off two stops early, and switch trains. Which meant a delay. By some miracle, the train we were meeting in Hamburg was also a bit delayed, so we were able to catch it. But we were not so lucky with the next connection, because that train, that would take us to Amsterdam, was not so late. So we missed that connection.

    We went to the Deutsche Bahn office at the station, and explained the situation. The man there kindly told us that there was another train 2 hours later. When we asked if we could reserve seats (you are supposed to reserve seats on the ICE — InterCity Express — trains) on the later train, we were informed that this was impossible, since seats must be reserved the day before at the latest! The clerk didn’t seem to sense the disconnect between our missing the scheduled train due to a delay in the previous train and them not accommodating us. When asked if we could just board the train, we were told we must check with the conductor first! And he would decide if we could board the train.

    Well, after considering many options (use “local” trains that don’t require a seat reservation, but which would get us in very late if all those connections worked; stay the night in a hotel and reserve seats on a train the next day; etc.) we decided to risk it and simply board the train, and either stand in the space between cars, or try to find 2 unclaimed seats near each other, which seemed unlikely since everything was telling us that all seats were reserved. In the end, we were able to find two unreserved seats across from each other (imagine that!), and were able to get to Amsterdam. From there, a local Nederlandse Spoorwegen train took us the final hour out to Enkhuizen, and we got to our hotel (4 minute walk from the train station) at 9:30, after eleven and a half hours of train travel (and station waiting).

    Tomorrow will be an exciting day, after we lug our luggage to the boat! We board at 4:00 p.m., but stay in port for the night, after getting settled in, having whatever orientation is needed, getting fitted for our bikes, and having dinner together. We will do a little sightseeing in Enkhuizen before heading that way. Until then!

  • Train and Automobile

    Train and Automobile

    On Wednesday morning, we woke after a lovely restful night’s sleep, got a quick breakfast at a bakery across the street,

    then checked out of the hotel, and walked with our luggage over to the train station, where we got on the train to Kiel, in the north of Germany.

    When we arrived, the train station was decorated with sails, as Kiel is a big sailing town. Many of the 1972 Olympic water sport events were held there. Frank met us there, and brought us to their home, a few km from the center of town. We enjoyed a lovely afternoon catching up, and a brief outing back to town where we walked along the waterfront and enjoyed some gelato (are you sensing a theme?). For dinner, their two boys joined us, along with a girlfriend, and they prepared a grilled feast of meats and vegetables. We stuffed ourselves, and chatted until 11:00 p.m., catching the last part of the Argentina/England game. We were all rooting for England.

    We had a relaxed morning on Thursday, and in the afternoon, they brought us back to the harbor and took us on a boat tour of the bay,

    after which we stopped for a quick snack of coffee and cake. For dinner that night, we went to El M?venschiss (Seagull Poop)

    restaurant for dinner, a favorite of our hosts. We had some traditional German fare — Wiener Schnitzel vom Kalb and Roastbeef vom Holsteiner Rind. We then walked along the harbor some more, and saw the Olympic torch

    more boats

    and stopped for a group photo

    And then we went home and had a little schnapps, and got a good night sleep.

  • Planes, Trains, and Automobile

    Planes, Trains, and Automobile

    We are off to the Waddenzee! We are super excited to be embarking on one of our most exciting travel adventures — a sailing and biking trip in and around the Waddenzee. This was organized by a good friend who invited us and others, and our group now occupy 12 of the 14 cabins on the boat. Last we knew, they were not going to fill the other two, as they have another boat going around the same time, but I’m sure they would sell them as opposed to foregoing a sale.

    But first we travel to Germany, to visit with friends who were the first tenants in our two family house. It was very nerve wracking to be a landlord for the first time, but the Wetters were the ideal tenants. They were kind, thoughtful, and ended up starting their family at the same time we were starting ours, so we had a lot in common. And when they moved back to Germany, they sold us their Audi A6 wagon at a discount — the most luxurious automobile we have ever owned. They have stopped by to say hello when they’ve been back in our part of the world, so we are returning the favor, except that they have agreed to host us for two days. We are excited to see their home town with them!

    It was an epic day of travel for us, starting with an Uber ride to Logan airport scheduled for 2:00 p.m. We checked our two big bags (pretty much the first time we’ve done that!) and got on an Aer Lingus flight to Dublin, where we had about a 2 hour break, and then got on our next flight to Amsterdam! First time in the Netherlands! Everything there went smoothly — baggage claim and customs — and then we got on a local train from the airport to downtown. We had a couple of hours before our scheduled train to Osnabrück, so we wheeled our ponderous “spinners” around the cobbled streets and sidewalks (almost as fun as it sounds) and had the smallest walking tour of downtown Amsterdam you can imagine.

    Then we had “ham and cheese toasties” at Café Karpershoek, the oldest pub in Amsterdam which has been there since 1606!

    While sitting outside, we watched with wonder at one of the craziest intersections I’ve seen, with pedestrians, bicycles, scooters, teeny cars on the bikeway, normal cars and trucks on the roadway, and streetcars, all negotiating a six or eight way conjunction with only a few close calls. Amazing, and a little frightening at the same time.

    From Amsterdam we took the train to Osnabrück in Germany, and while the train had a twenty minute delay along the way, we managed to make the connecting train to Hamburg, which, happily, also had about a twenty minute delay. We arrived in Hamburg and crossed the street to the Hotel Reichshof where we were finally able to relax and put our feet up

    at 6 p.m., about twenty-two hours after we left home. We showered, and then went to a nearby restaurant known for its German cuisine, took a small walk around that part of the city

    (finding gelato along the way!), and finally got to bed at 10:30 when we settled in for a good night’s rest.

  • Nest Cam (Really.)

    A couple of weeks ago, I was sitting on the back porch with my mom, and a robin flew into the hanging geranium. I didn’t think much of it right in the moment, but when I looked later, it was clearly not her first visit — there was a picture perfect nest in there, with three eggs! As Susan has been really enjoying a webcam documenting an eagle pair (Jackie and Shadow) I figured I could put something together with stuff I had around the house. The eagles had a pair of eggs earlier in the season, but one was cracked and the other was eaten by ravens (though it’s possible the parents knew it wasn’t viable). But they decided to try again, and had two more eggs which have hatched and the eaglets (Sandy and Luna) have recently officially fledged!

    My first thought was to use a Raspberry Pi computer with their official camera module, since I have one sitting idle, and power it with a large USB power bank. But after doing some calculations, it seemed that it wouldn’t power it that long, and I’d be charging the battery daily, or swapping out power supplies, or something. And I wasn’t going to do that. Then I remembered that I had an ESP32-CAM module that a friend had given me, also sitting idle. So I started playing with that. I quickly discovered that the video was super laggy, even at low resolution, so I decided to go with an approach of taking still photos over time, and creating timelapse videos. I had the software done, and was ready to deploy, so I connected it to the USB power bank, and then discovered that the power draw (in sleep mode) was so low that the power bank thought nothing was connected, and it shut down the port. That led to a frantic series of experiments to try to raise the power draw enough to keep the port alive, and trying another power bank, but nothing was working.

    That led to some frantic ordering of parts to put together a “dumb” 5V power supply powered by 2 18650 Li-Ion cells. And of course, by the time everything had arrived, the eggs had already hatched. So I had missed the most interesting event, which was discouraging. But I still put together the power supply (2 cells in a holder that combined them in series, a battery management module, a fuse, and a “buck” converter to take the varying voltage provided by the 2 cells and turn it into a reliable 5V. Everything in a waterproof box. Yesterday morning, Tyler and I (well, mostly Tyler) mounted the power supply and camera, and the documenting of the nest life began.

    Photos from the camera get immediately uploaded to a Raspberry Pi inside the house, into an organized set of directories. I quickly (with help from ChatGPT’s Codex) put together a minimal web site showing the most recent photo. Then today, I got around to writing the code (again, with help from Codex) to take that collection of still images and combine them into a brief video.

    And that’s where the project stands — every 5 minutes a new photo is posted, and once per hour (on the :30) the day’s timelapse is updated to include all the photos of the day thus far. You can find the website at https://nestcam.tastewar.com/ and follow along. Apparently, we should expect them to move out in a couple of weeks, before the end of the month for sure.

  • You’ve got Mail!

    You’ve got Mail!

    I’ve been working on a project with ChatGPT as my assistant to smarten up my mailbox. I spend most of the day on the third floor, so coming down to the ground floor to check whether mail has been delivered is so, well, 20th century. I knew I had to do better.

    I had purchased a new mailbox, but it turned out the lid was slightly curved, and would be hard to adhere the solar panels to well. Tyler took the old mailbox and rehabbed it. I think it looks better than it did new! And now that new mailbox has become my mom’s mailbox, replacing a rather rusty old one.

    The solar panels help charge a battery, and the battery powers the electronics inside this project box:

    Inside that box, besides the battery, is a charging circuit, and a little microcontroller board that can connect to my home WiFi, and from there, connect to my Home Assistant installation, where it can, when appropriate, notify me that the mailbox has been opened. Most of the time, the device is in “sleep” mode where it hardly requires any power at all. It awakens hourly to tell Home Assistant it’s still there, and more importantly, it wakes up when the lid is opened! The way I have it setup, Once that notification arrives, I have to go into the Home Assistant app and press a button that says “Mail Retrieved” which then resets things for the next day (or next delivery, anyway).

    You can see some painter’s tape there. It is just holding the coiled up wire from the left hand solar panel which isn’t connected yet. I have an adapter on order that will let me wire up the two panels in parallel to double the recharging power. But it seems to be holding pretty steady with one. Two will just make we worry that much less about it.

    The first day it was deployed, it worked great! The second day, not so much — the mail carrier was so fast that by the time the device woke up and connected to Home Assistant, the lid was already closed again, so there was nothing to report, and I was not made aware that mail had been delivered. So today, we re-wrote the detection so that when the device is awakened because of the lid opening, it remembers that, and can inform us more directly. Previously, it was just recording the current state of the lid, and if the carrier is very fast (video analysis showed it was open for about a second), the lid may be closed again when it goes to report that. And today, with the new code in place, it was successful again.

    Working with ChatGPT has enabled me to complete, or in some cases, “make good progress on” project ideas I’ve had for years. Working without ChatGPT means doing all the research yourself, trying to find example code that does something like what you want and modifying it. Then finding out that example was from 3 revisions ago of the library you’re using, and then you spend the next half day chasing down build errors. With ChatGPT, much of that drudgery is gone. And I for one appreciate that.

  • This Fan Blows! (but not very well…)

    This Fan Blows! (but not very well…)

    It all started in January, when the cold really settled in. I started to notice that when the furnace was on, the airflow from the vents was inconsistent. In the early morning when it would start up (coming up to the daytime setting from the lower overnight setting), it would blow for a few minutes, but then stop. Then start. Then stop. Etc.

    As with most things in my life that are not a dire emergency, I kind of ignored it for a while. But I eventually called in an “expert” — an HVAC contractor that was on the list of approved contractors from the Bosch web site. They were able to come by a few days later (it was not a “NO HEAT” situation, and there were people without heat). The very polite tech came in and made some changes to the thermostat’s settings, and went on his way. Basically, he changed things so it would use the aux heat (gas furnace) more often, and the heat pump less often. Well, I knew that wasn’t the end of it, because the problem was most evident (to me) when it was using the gas furnace! Sometimes, the furnace would lock out, requiring a circuit breaker reset to get it to try again.

    They came out again about a week later, this time more willing to listen. And the technician was able to experience the problem when it happened, and he said, “Yup — the blower needs to be replaced.” which was what my guess was, too. However, what I didn’t expect was for it not to be covered by warranty (it was installed < 5 years prior), and for the price to be $1827. Yikes! I tried to see if I could get a hold of the original installer, but he was a small contractor doing this kind of work part-time (his full time job was an HVAC technician for M.I.T.), and it seems that he quit doing that kind of work shortly after installing our system. I also tried to find a “warranty friendlier” contractor, but came up empty there as well.

    So I “phoned a friend” who has a lot of knowledge and expertise in this area, and he thought it unlikely that the blower was bad, and that it was more likely that one of the furnace safety switches had gone flaky. The Bosch furnace has a lovely single LED indicator that blinks out a numeric code if there’s a problem. I had only ever noticed it at 11, when it locked out. I told my friend, “If I were smart, I would hook up a webcam and some software to monitor the LED…” but it sounded like a hassle. However, it also seemed like the best way of getting some diagnostic data to get a better handle on what the problem was. If I failed to mention it, this unit is in an attic crawl space, so it’s a pain to get to.

    I then “consulted” with ChatGPT about the idea. It suggested that the camera module (ESP32) I had was underpowered for doing that kind of image analysis work, but that an ESP32 module with a light sensor would be cheaper and the code would be easier. So I set off down that path. “We” were originally going to have 2 light detectors, and put filters over them so we could tell if the LED were lit in green or red. But the filters ended up cutting so much signal that all that was left was noise, and the detector was unreliable. So we ended up with a single detector, essentially attached to the LED via a small tube. And this worked great!

    Meanwhile, I had also purchased and hooked up an airspeed sensor module, so we could monitor the airspeed through the main trunk duct (see the graph above). I was able to show that no matter whether the fan was on manually, or for the gas furnace, or the heat pump, it just ran very unreliably. It would run for a few minutes in a row when cold, but once it warmed up it became very erratic. Then the LED monitor would sometimes show we had gone to code 4, which indicated that the overtemp device kicked in, and had shut down the furnace. Often this would escalate to a code 11, where you would have to manually turn power off and on to get it to reset.

    So all the evidence was pointing to a bad blower, and in fact, to the Electronic Control Module (ECM), which probably had a bad capacitor or something similar. But you can’t just replace the ECM — the motor and ECM are essentially a single unit. So I looked around and found a place to order the blower motor from, and ordered it. It arrived this past Thursday (19 March 2026), and I waited until today (Saturday) when Tyler would be available to help with the install.

    It took just about 2 hours exactly to do the swap. After turning the power off, we had to disconnect a ton of wires,

    and document what needed to be connected where. After that, the entire blower unit with the control board can slide out. Once we had the unit out, we were able to bring it to the basement and do the swap.

    This involved loosening the squirrel cage from the motor shaft, then removing the suspension from the housing. Then getting the squirrel cage all the way off, then removing the suspension from the motor housing.

    That got us to the halfway point, so it was time to turn around and head back — starting with attaching the suspension to the new motor, then the motor to the unit, then the squirrel cage to the shaft. Then we brought everything back upstairs, and reinstalled it into the furnace housing. Finally, we turned the power back on, and monitored and tested everything.

    And we have been successful! Everything now works as expected, and the fan ran for 20+ minutes with the heat on, and turned off when it hit the set point. I then ran the fan manually for 90 minutes, and it ran consistently. So, all looks good! And instead of paying the pros $1827 for this service, we paid $752 for the blower and did the work ourselves, saving over $1000!

    Screenshot
  • An Ode to Stella Rosa

    An Ode to Stella Rosa

    A car is a car is a car, some would say,
    But a car can be oh so much more, in a way,
    Than a simple convenance from hither to yon,
    And a practical purchase from which to move on.

    Stella Rosa is her name, and she’s treated us well,
    A mini-van with many great stories to tell.
    She arrived on the scene in September Oh-Seven,
    And oh how our ordinary lives she did leaven!

    All dressed in a full coat of fine maroon paint,
    A pedestrian auto she definitely ain’t.
    She chauffeured our family, and sports teams to boot,
    And when moving apartments, was as strong as a brute.

    She’s led teams on mission trips, crowded with teens,
    Dressed in enthusiasm and worn out blue jeans.
    She’s seen most of this country, she’s been here and there,
    Performing her job with dependability and care.

    Her eyes have gone cloudy, and her paint’s lost some shine,
    But as transportation, she conducts herself fine.
    The upcoming repair bill was just too much to swallow,
    And so we are left, in our sorrow, to wallow.

    It’s the end of an era, as our needs have since changed,
    And now, Stella Rosa, must be sadly exchanged.
    The miles, and the years, have all taken their toll,
    But her absence will certainly leave a big hole.

    Goodbye, Stella Rosa, and godspeed to you now,
    I hope your next life is rewarding somehow.
    You’ve served us as completely as any car ever could,
    We will always remember you as faithful and good.

    Arriving home for the first time
    Arriving home for the first time!
    Doing a regular stint of mission trip duty.
    Doing a regular stint of mission trip duty.
    Goodbye from your most faithful fan!
    Goodbye from your most faithful fan and caretaker!
    Going out, and coming in
  • JATATD

    Last night’s sing-and-act-along performance of Joseph and the Amazing Technicolor Dreamcoat at Arlington’s Capitol Theater was a major success for the brand new Starlington Productions production company, selling out the theater. The gathered audience was enchanted by the singing of the two principal stars, Susan as the Narrator and Zachary as Joseph. There were also some very entertaining cameos by Matt as Pharaoh, Clara as the Baker, Cori as Reuben, Sara as the Butler, Parke as Jacob, Tyler as Benjamin, and many others.

    Susan’s performance as the Narrator was captivating — she clearly had learned all her lines, and had worked with a vocal coach to bring her A game to the show. She performed her costume changes with amazing fluidity, and her positive energy was infectious.

    Zachary’s vibrant tenor was well suited for the role of Joseph. His performance of Close Every Door in particular was hauntingly beautiful. Zachary brought a wonderfully collaborative and positive vibe to the production.

    I would highly recommend that you go see this production, but sadly, if you missed it, it was a one night only engagement.