Narrowboat!

narrowboat morning on the kennet and avon

Fair warning: this post doesn’t include a single lesson about coding or leadership or startups or anything relevant to what LinkedIn wants my posts to be. It’s just fun, and a peek into some brilliant history that’s been on my bucket list for years. Woot!

The Canals of the United Kingdom

Before trucks and before railroads, the UK used over 4,000 miles of canals to move raw materials and goods (ok, mostly coal) around the Union. They are engineering marvels, from the basic waterways themselves to insane aqueducts and manually-operated lock systems.

The canal network overlapped with rail in the late 18th and early 19th centuries, but faded quickly after that, with the final nail being driven in the 1950s and 60s as modern roads reached more and more of the island.

Luckily, starting as early as the 40s but gaining real steam in the 70s-90s, the Brits realized they had a jewel on their hands and began restoring the system for tourism and recreation. The Canal and River Trust now oversees about 2,000 miles of restored canals and towpaths for walking, biking, and — most importantly to me — narrowboating.

Narrowboats

Because the UK never widened their canal system, it is still navigated largely by traditional and unique “narrowboats.” Typically less than seven feet wide but up to seventy feet long, they were originally pulled by horses along the towpath, transitioning to diesel engines by the early 1900s.

My favorite fun fact: there are tunnels throughout the canal system, and while some of them were built large enough for the towpath to pass through, most were not. Instead, before the diesel era boats were “legged” through by men lying prone and pushing off the sides or roof of the tunnel itself.

The original commercial narrowboaters were their own subculture, with whole families living on the boats full time. A fantastic view into this era (albeit in its waning days) is the 1944 book Narrowboat by LTC Rolt. And while it’s no longer based on commercial transport, today there are still tons of families and individuals living on narrowboats throughout the UK. By tradition there are very liberal mooring rules across the system — if you move your boat every fourteen days, you can live on the canals for about $200 per month — not bad! On our trip we met many folks that have chosen to buy narrowboats outright (as cheap as $26k USD) rather than worry about a house.

Along side the live-aboards, the canals support a huge market in holiday rentals. These are kitted out extremely nicely — ours was a 67’ two-bedroom / two-bath unit with a fully galley and living area, propane heat, hot water and stove, full electrics, a wood burning stove, sitting areas in the bow and stern — even wifi (although ours was busted). It was amazing. All lined up end-to-end like a train car with a tiny passageway running the length.

(Our) Great Canal Journey(s)

So how did I learn about the canals, you ask? TV of course! Back in the mid 2010s, British actors and couple Prunella Scales and Timothy West (both now passed) filmed a show called Great Canal Journeys, which you can watch in the USA on Amazon Prime or The Roku Channel. Lara and I stumbled upon the show during the COVID years; it grabbed me from the first minute and would not let go.

Scales and West spent many family vacations on their boat, and were key figures in the restoration movement — invited to be the first to navigate the length of the fully re-opened Kennet and Avon (minus a tiny bit reserved for the Queen) in 1990. They present wonderfully, although everyone I’ve spoken to agrees Timothy could be a bit of a jackass about his wife’s memory issues.

Suffice to say that by 2025 I had watched or read pretty much everything I could find on the topic, from the 1944 classic to current maps and reviews to a million YouTube videos. Our anglophile neighbors here on Whidbey were (slightly less obsessed) fans as well, which led to a lot of (so I thought) idle conversation about planning a trip.

And yet, somehow this June rolled around and I found myself in Bath holding the keys to the sweetest ride of my life, while Chris-of-the-crooked-baseball-cap raced through an hour of instruction on starting the boat, mooring, not hitting stuff (although it’s ok if you hit stuff), checking the oil, refilling the water tanks, managing electrics, pivots, winding holes, swing bridges, tunnels and — yes — locks.

Day 1: Bath to Bathampton

Chris let us off just before the tunnels through Syndey Gardens, and as I confidently swung into the channel I heard him yelling “wait wait wait” — oops, somebody coming through the tunnel and only room for one. A bit of awkward reverse to try to hold my position while they came through, and we were off for a second try.

By the time we actually got going it was about 4pm, so we were glad for a relatively short first day, about 90 minutes of simple navigation into Bathampton (home of plasticine). We moored up right next to The George Inn and went in for dinner.  Bangers and Mash, baby!

After dinner and card games we were all ready to turn in. I was a bit worried about overnight power consumption, since one of our party uses a CPAP. The boat has a 12V battery system that charges with the engine, and our mooring spot at The George had “quiet hours” (engines off) after 8pm. Happily, though, it was no problem — the only issue we had was plug contention for our myriad devices.

One of the best things about a canal trip turns out to be mooring flexibility. Except for a few key areas mostly near tunnels, bridges and locks, you can moor just about anywhere along the towpath and stay a couple of days without reservations or fees. There are rings and posts everywhere, and where they’re missing you just use mooring pins to keep you on the shore.

When I woke up the next morning, I hopped off the boat with my morning Coke Zero and walked the village as folks headed to school and work. A bit of breakfast (there is plenty of space for food storage onboard, and even a reasonable fridge) and we were back on the water!

Day 2: Bathampton to Bradford-on-Avon

Soon after leaving Bathampton we hit our first swing bridge. Too low to pass under, a swing bridge is mounted on a pivot with a long lever for a person to “swing” it off to the side. Many of these operations are easier with a crew! Pull the boat up in front of the bridge, drop off a helper to unlock the bridge and swing it out of the way, pass through and tie up again, swing the bridge back and lock it up, reboard the manual labor and you’re on your way!

So often in the States it seems like every public interaction is a chance for somebody to be aggrieved or rude. Not always of course, there are wonderful people everywhere — but on the canal it seemed like community was just the default. Only once did anyone express any hit of annoyance at my lack of experience, and that dude was Dutch. At our first bridge, a guy reading on a bench asked if we’d like to pass through, took care of the bridge and sent us along with a wave and a smile.

On to our first and only water stop at Dundas Aqueduct. The boat rental gave us visitor access to the Canal River & Trust facilities for drinking water (also trash, recycling and septic pump-out but happily we didn’t need those), so we stopped at the tap to top up the water tank. This is about as high tech as it gets — stick a hose into a hole in the bow; when it overflows you’re done. We had to wait for another boat to finish, so Lara and Lisa got to make a bunch of new friends while I held the boat on the towpath. A side note — if you do this trip, bring walkie-talkies! 67 feet is a long way, and it can seem like the folks in the bow and stern are on completely different trips!

The aqueduct itself is just past the water station — and while the most impressive view is from a drone above the fray, it’s just incredible to think you’re travelling across a cement waterway ten meters in the air, with the River Avon and railway passing underneath. Did I mention this thing was built in 1797??? One-way traffic only, so you basically honk as you get to the bends (sorry Lisa!) and pray nobody else is coming through.

Just a few bumps along the way; thank goodness for that steel hull. “We’re good!” 😉

The next swing bridge didn’t have a helper, so Lara did the hard work, made far more entertaining with a rousing rendition of “A Pirate’s Life For Me” — missing video of this is one of my biggest trip regrets. Those bionic knees get the job done!

The canal tracks quite close to the River Avon during this section; it’s just remarkable country. Classic English hedgerows, water birds, sheep and goats and comfy-looking homes. These were my favorite parts of the trip — gliding through quiet, lovely, lovely country.

The hits (ha) kept coming. Our next landmark was Avoncliff Aqueduct, another water bridge high above the river below. There was more traffic at this one, and I learned two key lessons trying to keep out of the way:

  1. The middle rope is your best friend. My instinct when mooring was to have Lisa man a bow rope while I took the stern. This worked OK, but was definitely suboptimal as we seesawed back and forth. I still can’t quite grasp the physics of it all, but the midships rope is magic — one person can land and hold all 67 feet no problem. Landings got much easier after I figured this out (or more accurately, after some friendly boaters yelled it to me while passing).
  2. Beware the canal edges! Parts of the canal have shelves at the edges, and even more of it has just silted up over hundreds of years. It’s quite easy to get your prop stuck in the mud (or worse, on a stone shelf) — getting free is an exercise in looking pretty stupid, ask how I know.

The home stretch to Bradford-on-Avon was quiet except for my anxiety that we’d get all the way through town without finding a mooring spot — backing up is not a realistic option and turning around can only happen at very specific points along the way! My worry was justified, but we were able to tuck ourselves into a spot just barely big enough right before the lock moorings (to the mild annoyance of the aforementioned Dutch dude). Whew!

Our friends are big fans of Bradford-on-Avon, so we set off to eat at the restaurant where everyone knows them and buy boutique dog toys and art at some cool shops along the way.

B-o-A is also home to an incredible medieval tithe barn where grain owed to the church was stored. A friendly local told us the stone markings on the barn walls were “witches marks,” set at the floor level beneath which grain was at risk of growing ergot fungi. The Internet tells me the actual explanation is simpler, but I like the story anyways.

Day 3: Bradford-on-Avon to Widbrook Wood to Limpley Stoke

I’m a sucker for quiet mornings (writing this as Whidbey wakes up now), and I think that was my favorite part of the canals. The village was barely stirring as I got up, a few raindrops but mostly just the sound of water coming through the lock above (click the images for some zen). And a swan sneaking up to poke me in the butt of course.

The lock! Our second-to-last challenge, and site of our most entertaining-in-retrospect incident. The day’s route took us through the Bradford lock, on about 45 minutes to the winding hole at Widbrook Wood, then back down through the lock and aqueducts to be ready for a short day returning to Bath.

The day before, I had watched the friendly volunteer “locky” help rookies navigate the lock, but no sign of them this morning. Luckily a super-nice liveaboard was also going through and we were able to buddy up with him. Locks basically work like this, assuming you are headed “up” and have two people working the lock and one driving the boat, starting with the water low and all gates and sluices closed:

  1. Moor up just before the lock (this is where we spent the night, so all good there).
  2. Operators hop off and open the lower gates.
  3. Driver steers the boat into the lock. Since there were two of us headed through it was a tight fit! But this actually helps keep the boats from moving around too much while the water is rising.
  4. Operators close the lower gates and wind open the upper sluices (doors in the gates, also called “pedals”) to let water flow into the lock and raise the boat.
  5. When the lock is full, open the upper gates and wind down the sluices.
  6. Drive the boat out and moor to pick up operators.
  7. Close the upper gates and on your way!

The Trust has a great video of the process here.

This can all be done by one person, but it can take quite awhile, and it’s a bit sketchy clambering across the gates from side to side. Once again somehow Europe has figured out how to have fun without everything ending in litigation!

Of course every time you go through this process, water is “lost” from above the lock to the bottom. Since canals aren’t rivers with a natural flow, this has to be replaced by pumping stations along the canal. On day one we passed by the Claverton pumping station, which has been running for hundreds of years using a waterwheel on the river below to move water uphill into the canal. Nonstop and 100% green — so cool!

Anyhoo — it turns out that our really long boat just barely fit into this lock. And the right-side upper sluice was a bit wonky, creating a stream of water rather than just letting it flow in. Why do I mention these things? Watch the clip below and you will see:

Now recall that this boat is really long — I was 22 yards back at the stern thinking to myself, this is going great! Lara walked through the boat and let us know that there was “a lot” of water coming in. How bad could it be, I thought? It’ll be fine. I’m sure it’s normal.

It was not normal. “The deluge” dumped many, many, many gallons of water into our narrowboat and it flowed all the way from bow to stern. On the upside, the visible water drained pretty quickly — but it was very humid and the carpets stayed wet (like, wet) for the duration of the trip. Shoes on in the boat! Ah well.

The canal above Bradford-on-Avon was beautiful but with tons of reeds narrowing the channel. I never did get “comfortable” navigating the boat, always scanning ahead for pinch spots and other boats coming our way — but I think with another few days on the water it’d become routine.

Our turnaround spot was the winding hole at Widbrook Wood, rated at 72 feet across, leaving us a skinny five feet to work with. Instructor Chris had explained the turnaround process as “try to turn about 45 degrees, poke your nose into the bank and then motor sideways to pivot, then a quick reverse and you’re on your way.”

Once again I thought I was doing great, but — while I’ve kept away from sharing too much video of actual people since we’re all a little camera shy — I couldn’t pass up this quick clip of Lisa saying “f*ck me!” as I set the bow, then throwing me a thumbs up. Go team!

Our second run down the lock went much more smoothly. On our own this time, Lara and Lisa were masters of the gates and sluices — only slightly marred by the clueless Aussie couple “helping out.” We retook our old mooring spot and had a bit of tea (Victoria sponge!) at the Canal Trust Cafe before getting back on the water, travelling the reverse route through the aqueducts on the way back to Bath.

Our plan had been to overnight at Avoncliff, but the pub there was closed so we decided to make for Limpley Stoke (seriously), where we’d passed a sign for a promising restaurant. We moored just before a (non-swinging) bridge, and while there was no wifi signal to be had, it was my favorite spot by far — nothing but birds and water and trees.

Under the bridge, up the bank, down the looong hill and over the River Avon, up the single-track road and you’ll find the Hop Pole Inn. Apparently a “hop pole” was used to stir beer during brewing, and folks would hang their pole over the doorway as an invitation to come buy some. It’s a beautiful building with a great garden — and an absolutely enormous “skirt steak for two” dinner. The four of us did a pretty good job putting two of these away before taking an Uber back up the looong hill and spending one more evening with PJs and games before heading to sleep.

Day 4: Limpley Stoke back to Bath

A final canal morning, starting with a quiet towpath walk with my Coke Zero and Tunnock’s Caramel Wafer (another thing the Brits have figured out: everybody just agrees that a candy bar is a meal).  

Back through the swing bridges, this time met going the opposite way by a trio of boats all crewed by members of a college marching band. A last lunch back at The George Inn and then through Bathampton, Sydney Gardens and two final tunnels — I was very in the zone the first time through these, so glad for a second look!

And at last (and too soon for me), back at Bath Narrowboats where we unloaded our stuff, fessed up to “The Deluge” (they couldn’t have cared less), and just like that went our separate ways — Joe and Lisa to more time in the English countryside, Lara and me off to Scotland and Norway for another adventure on a much bigger boat.

This trip was so great on so many levels. The technology was fun. The history was fun. Our friends (and Lara of course) were fun. It was all just brilliant, wonderful fun. Slow, magic, and unforgettable. Did I mention fun?

HMS (USS?) Silvia and crew, Bathampton, UK, June 2026

Developing An Intuition for AI

AI is changing the world. Yes we are in a bubble and current claims are overblown and countless stupid companies are being started and a ton of investment capital is being thrown away. But don’t let anyone tell you (even if it feels good) that it’s all smoke, mimicry and plagiarism. They are incorrect.

There’s no substitute for direct experience — sit down and try it for yourself. You’ll quickly begin to develop an intuition for what it can and can’t do well. You’ll find amazing insights and unsettling failures, and learn how to direct it towards positive outcomes. The people that understand this will thrive on the other side.

To get you rolling, here are two quick, real-world anecdotes from earlier this week — and a few thoughts about why they went down the way they did.

1. Let’s Go Narrowboating!

For years I’ve been fascinated with the UK’s extensive canal network and the narrowboats that travel them. Lara and I are planning to meet some friends in the Cotswolds next year, and I’m trying to convince them that we need to rent a boat and spend a few days on the water.

Of course, the sum total of my experience with narrowboating comes from watching Pru and Timothy on TV, so where to start? These days it’s AI, of course. I started with this very exploratory opening salvo (including the heartbreaking typo literally on word #1!):

I’m need help planning a trip. My wife and I are 56 and would like to spend about three days exploring the Kennet & Avon Canal in a rented narrowboat. We’ve never been on a narrowboat or the canals before so we are beginners! We’d like a peaceful, quiet trip with a few locks but not too many. We’d like to have the option of staying in hotels at night, or at least mooring in villages with nice restaurants and pubs. Can you help me get started?

Here’s a record of the full conversation. Along the way the model made two errors of consistency, each of which could have been disastrous: (1) it would have stranded the boat at the end of the trip because it didn’t consider having to return it; (2) it both warned me not to travel the Caen Hill locks and then recommended a mooring point that would have required doing so.

But the final result, created soup to nuts in just over twenty minutes, is a remarkably useful and comprehensive itinerary: 4-Day Narrowboat Holiday Guide for Beginners. Good enough to rival the most helpful travel agent.

2. Let’s Build a Web App!

Life on Whidbey Island is dominated by weather, tides and ferries. I’ve got a bunch of apps and sites I use to monitor this stuff, and for a long time I’ve wanted to put together a little mobile-friendly web site to unify them all.

This isn’t particularly complicated. My personal weather station and the NOAA tide stations have APIs, and I’ve previously hacked up the WSDOT ferries site so I can pull images. There’s even a REST API that can monitor water levels in our community tank. The only hangup is the user experience — I despise, and am not particularly good at, building usable, nice-to-look at HTML/CSS interfaces.

I was skeptical, but what the heck — let’s ask Claude Code to give it a try. I set up my project, told Claude to figure out how it worked (generating this artifact, kind of amazing in and of itself), and then made this request, again with some embarrassing typos:

The file src/Tides.jsx is set up to fetch a json url representing a high and low tides for today and the following four days; right now it just displays that json text in the component div. I would like to render this information in a way that fits into the “card” display of the site.

Please write javascript that will create an HTML representation of the information that contains a simple graph of high and low tides over the period, with a vertical line marking the current time. The graph should show a smooth curve between highs and lows using the rule of twelfths (please indicate if you do not know what this is).

Below the graph should be a table of each high and low from earliest to latest.

An example of the javascript is in /tmp/tides.json.

The display should fit into the card that contains the content without expanding its width. It should render well on desktop and mobile browsers.

Please give it a try. Please only edit the file src/Tides.jsx so it’s easy to keep track of your work.

Here’s the complete set of interactions I used to create and fine-tune the tides HTML. There was a small bug rendering the horizontal axis to my specification, but most of the back-and-forth is me changing my mind about how to render the chart and table. It even figured out that “src/Tides.jsx” was the wrong relative path, and edited the correct file without saying anything. Really, really impressive.

The final result, saved to my phone’s home screen and already used a ton: Witter Beach Commnity Web Site

A Few Takeaways

Brilliant, Expert Synthesis

The best travel agents have always been those who really, deeply understand:

  • The client. Who are they, what are their preferences, how much do they want to do in a day? Do they have any specific physical limitations? Do they want things scheduled to the minute or are they free spirits? How do they react when language is a barrier? What do they want to learn? Is it OK if their tour guide is a hugger?
  • The locale. Which museums are worth it, and how much time do you really need? What restaurants are an easy walk even at night? Which guides love to talk about wars, or sex, or food, or sport? When do you really want AC and when is it an option? Which side of the hotel is quieter and which has the best views?

This is stuff that’s really hard to pull out of even the best guidebooks, especially in combination with human idiosyncrasies — everyone is a different in some weird way. The best agents put all of this together into a coherent whole that just works.

Front-end web code is the same way — you need to understand not just the data you’re trying to render and how the user wants to see it, but also the incredibly arcane details of rendering HTML and CSS across different browsers and different devices.

This is where AI shines. It knows an incredible amount of “stuff” — more by far than any human that’s ever lived. It has extracted little nuggets out of reviews and support sites and other nooks and crannies that are extremely niche and hidden. It can hold a ton of these variables together, all and once, and mix and match and sort and connect them with a specification or request.

Any time you’d seek out an expert that knows “the secrets” and is willing to listen to what you really want — AI is going to be your best friend.

Trust but Verify

The popular press loves to point out “catastrophic” AI failings, a great example being the mistake of both telling me to stay away from Caen Hill and sending me through it. But it’s actually pretty easy to avoid things like this if you use careful phrasing (which I did not). For example, “Please double-check that your recommendations are consistent, that stops and landmarks line up with the route you’ve selected.”

Also, note my instruction to Claude that it should tell me if it doesn’t know the “rule of twelfths;” AI wants to please and needs reminders to stay in line. I use phrasing like this a lot when doing research: for example, “Please only provide data based on concrete information for which you can provide citations. Do you best to avoid bias or incomplete data sets and do not make up anything you don’t actually know to be correct.”

And of course, check the work yourself! Even the most senior human developers get a review before sending code to production; it’s no different with AI. When I asked Claude to code up the weather display, it created a bug by assuming it would always be 2025 — an issue that would have been invisible (for a few months at least) without manual review.

Embrace the Conversation

I find it most effective to simply talk to AI like I’d speak to a human. Set up tasks with details, examples and boundaries — just enough precision to minimize ambiguity while allowing space for learning, initiative and creativity.

I also simply cannot help but add “please” and “thank you” and “great job” and “my bad” into the conversation. That may seem a bit weird, but the agent is doing work for me, and I appreciate it, so why not acknowledge it? I actually think it leads to better outcomes, too. Maybe that’s all in my head, or maybe I just give better instructions in that mode. Either way I’m sticking with it.

Modularize and Limit Complexity

Looking back at the Caen Hill problem, it’s pretty clear what went wrong. Claude found that Denzies was a good stopping point based on distance and had great moorage, hotels and restaurants. On another thread it remembered that we were narrowboat beginners and should avoid tougher sections like Caen Hill. The failure was in missing the connection between these two factors — we couldn’t both avoid the locks and stop in Denzies.

Reminding the model to pay attention to these conflicts helps a ton. But there are still practical limits on how much they can handle at one time. A few weeks ago I tried playing with this by describing a relatively complex app. I purposely tried to do it all in one shot, something that is not recommended by anyone. 😉 The spec is here if you’d like to take a look.

As predicted, it was an abject failure. The model tried to break the problem up into pieces, but it was fundamentally unable to satisfy all the constraints at once. It would ignore requirements and lie about it, then break other stuff when it was caught out … just a mess.

At the end of the day, models can become overwhelmed — just like people. I’m sure the state of the art will keep evolving (“agentic” AI may be one step on that path), but for now the onus is still on humans to organize problems into tasks the machines can do.

A Miraculous World

I think that’s enough for one post. I just can’t encourage folks enough to spend time with these models and get a real, hands-on, hype-free sense of how they work, their strengths and their weaknesses. Don’t get sucked into the simplistic narratives of the popular press; on both “sides” of the AI issue they’re more about fitting the technology to their ideology than real understanding.

The reality is amazing and beautiful. And scary. And it’s here.