25 Apr

5 Years!

Its time for a 5 year update

We’ve owned Never for Ever for almost exactly 5 years now. And its been a pretty damn pleasant experience so far. Will our luck hold? Time for an update…

A Little Background

If you’ve haven’t gone through the whole blog, here is a little bit of how we came to own our trusty 2003 Hunter 386.

When we started this process 2014 we wanted a boat to own for one year while L had her sabbatical. The intent was to sail the PNW, overwinter in Victoria while living aboard and then sell her after we had to come back to real life in July 2016. Which is what we did. Except for the selling part. In the end we just couldn’t part with the lifestyle and we decided to keep her and put her in charter with Nanaimo Yacht Charters to provide guardianship and help defray ownership costs.

The year-long sabbatical meant we wanted a turnkey boat that we could board and sail away without any extra major investment, or worse, time delays. A lot of searching  ensued and as luck would have it we landed on what has been the perfect boat, at first for the living aboard, and then for putting her into charter.

The initial survey

What’s it cost?

Other than the initial purchase price, we’ve done well. There was a bunch of cash we spent right off the bat before we even set off, but the largest costs of ownership since then have been fixing leaks. And that high number mostly stems from paying people to do it as we are 1000+ kilometres away from her 80% of the time.

Initial expenses:

  • new Rocna anchor
  • new galvanic isolator
  • new graphic decals
  • new batteries
  • new hot water heater

Major things we spent money on since then:

  • 120′ new anchor chain
  • Webasto heater repairs
  • BMS (battery monitoring system)
  • new stove thermocouples
  • 2 head rebuild kits
  • chasing down leaks and repairs
  • 2 macerator pumps
  • new head hoses
  • new fender
  • replacing the motor mounts
  • a new hatch
  • new (used) e80 chartplotter
  • a new shower faucet
  • and a new windlass

Shiny new chain!

Ongoing ownership costs include:

  • zincs
  • cleaning materials
  • bottom paint
  • polish & cleaning
  • winterization
  • outboard maintenance
  • oil changes
  • fire extinguisher recertifications
  • propane tank recertifications

I’m not going to  dig up all the figures but none of these items (except for the %^&$# motor mounts and associated costs) were more than several of hundreds of dollars—and it has been divided over 5 years.

Oh and the windlass. The windlass was just replaced and I don’t have the final bills yet although the estimates had that pretty price—close to a couple of boat bucks (~$2000).  What sucks about that is it worked perfectly fine but since Simpson Lawrence has gone out of business, we couldn’t source any seals (we tried for almost 2 years) and it was leaking a ton of water into the forward compartment. So we bit the bullet and replaced it.

All in all, a pretty short list considering the tropes of boat ownership are BOAT: bust out another thousand (dollars) or Cruising: the experience of fixing your boat in exotic places. We definitely lucked out in our choice of vessels—especially considering our naiveté in boat buying matters.

Up on the hard while the motor mounts are repaired

Summary

We’ve spent a lot…a lot… less than I had anticipated over the last 5 years.

The charter option has worked out for us. Being a 2003, the boat already had its maiden dings and dents far in the past and no charterer has inflicted any damage that wouldn’t be accounted for under the heading of normal wear and tear. NYCSS has done an outstanding job in the guardianship department with annual (or more frequent) haul outs, polishing and even a bit of varnishing here and there and making sure everything worked in tip top shape.

With this arrangement we’ve done darn good — even made ~$100 last year — and, excepting the year I backed over the tender’s painter and broke the motor mounts, our annual cost of ownership has been around one to two thousand dollars. That includes moorage, repairs, maintenance, guardianship and insurance. And we’ve been able to sail anywhere from 27–67 days a year. It may not be for everyone and certainly you can’t have the same kind of pride-of-ownership, but having Never for Ever in charter was the right decision for us. I doubt we would have sailed even a quarter as much if we’d sold her and had to charter ourselves.

As much as we love her, Laughing Baby’s days are numbered.

So as it stands, after 5 years, Never for Ever  is pretty good condition still—excellent even. According to periodic checks of Yachtworld, she would likely sell for near what we paid for her. There is a bunch more wear on the sails and we are currently in the market for a new tender so there are still a few things to keep our eyes on. The enclosure canvas is still good but the side panels might need new clears soon, although as they are taken up and down so often they would just get scratched again. Other than that she is still a fairly turn-key vessel with no other major expenses in the foreseeable future—which is a good thing because with Covid-19 and decreased charter revenue, our ownership costs this year are likely to skyrocket, and, what is much worse in my eyes, with potential zero usage by us.

So It’s been a grand 5 years. And I look forward to a whole bunch more and maybe, hopefully, we can get back out and live aboard again for another year — or maybe even longer.

(Disclaimer: as previously noted somewhere in this blog, I am a notorious rounder of figures. The above was just meant to say that overall the cost of owning this particular boat has been pretty affordable. Your milage is definitely going to vary.)

04 Apr

If you can’t boat, dream…

As is almost everyone in the world right now, we are stuck and are having difficulty even imaging getting out on the boat in the foreseeable future. So to amuse myself I have been looking online for that future “forever” boat.

Who am I kidding; I am always looking online at boats. But what I have done is work on a project that fixes an annoyance of mine.

Some time in the recent past YachtWorld, which is the de facto standard for listing boats, decided to redo their website. And one of the outcomes of that is that you can no longer search for boats in multiple places at the same time. And seeing how I desire to buy a boat in the PNW (which used to be a selectable search category) and the PNW ostensibly includes British Columbia, Washington state and Oregon, I now had to perform three separate searches  with no way to “save” a previous search and be able to compare. A definite downgrade if you ask me.

I had recently started to learn how to scrape websites using python because I wanted to be able to post a “books read” page on my personal site. Web scraping is a method of visiting a site and stripping the data from it. It occurred to me that I could apply the same  procedure to YachtWorld and retrieve and aggregate all three searches to one output. So off I went.

Building

My initial method was to  build a python script that output the data to a php web page. After a lot of trial and error it worked. But this meant every time I wanted to do a new search I would have to run the terminal command again and enter in the price range (which were the only variables I included). This produced a database file which the  php page could then display. This was pretty onerous, particularly because I kept forgetting the proper commands :-). I also held out some hope that eventually I could share this with other people. There had to be a better way.

So I investigated further and discovered Flask, which is—simplistically put—a way to turn a python script into a web app. After a lot of fiddling (which I will detail soon over at macblaze.ca) I came up with this:

The new version added the options for Canadian vs. U.S. currency and length and the ability to sort the results. It is all one compact, self-contained unit and works 100% from a web browser.  The search returns most of the details of the boats and links back to the official YachtWorld result so you can dive deeper into any particular boat. If you ask me it turned out pretty good.

A qualified success.

Deployment

I am stuck now though. It currently runs on my testing server and when I went looking to deploy it, discovered that my official web host doesn’t provide python support. I would either have to switch providers or get an additional (paid) account at another web host. I did find pythonanywhere.com, which offered free, albeit limited, python/flask hosting and was excited for the full hour it took to set up and get it running. You can find it here (http://btk.pythonanywhere.com/) but unfortunately the free accounts won’t let you scrape websites that don’t have official api’s (application programming interface)—which YachtWorld does, but it isn’t free so I don’t have access to it. So while the app is running it won’t actually  deliver any results.

So now I am faced with the choice to either open up my testing server to the world (which I am not likely to do), change providers (and I just paid for the next couple of years) or sit on my little project and declare it for personal use only. I haven’t given up yet, but the prospects look dim*.

So…

So here I sit,  a vast distance from the boat and any prospect of cruising and a weeks worth of work sitting on a computer with no way to share. And I am now getting tired of running the search over and over again. Sigh.

Anyway, if any of you experience the same frustration with YachtWorld, I sympathize and want you to know that there is a way around it with a bit of time and even less knowledge—which is something we should all have in abundance right now.

Update

*(May 2020) I managed to start a vm (virtual machine) to run the program. And I’ve added Sailboatlistings.com into the search as an option. The link (for now—it will likely get taken down at some point) is here: search.neverforever.ca. At this point I am still adding features but i assume I will eventually get bored or, if I am extremely luck, actually go cruising…

If you’re interested, this  github repository has the whole flask app now.