Friday, June 05, 2026

Maui Adventure - Day 5: Big Whale and Little Beach

[Composed 1/5/2026]

Day 1, Maui got off to a slow start. Even on our flight's approach, eyeballing the island from the window, we were underwhelmed — fine, but no fireworks.

Twenty minutes in, we came around a curve on Highway 30 and I made Shira pull over at a coastal overlook. The final moments of sunset were on display, the storm clouds cracked, the ocean stretched out, there was even a wind-bent tree silhouetted on the lava below.

Day 5, same overlook, en route to the beach. Shira and I eagerly scanning the horizon with my budget Pentax binoculars. A white puff appeared in the flat gray water.

Whale! Then another!

This is Papawai Point, between mile markers 8 and 9 on Highway 30, just west of Ma'alaea. The channel between Maui and Kahoʻolawe is one of the primary humpback calving and breeding grounds in the Pacific — which is why, during whale season, the Pacific Whale Foundation posts a naturalist here most mornings with exhibits and loaner binoculars. Even my basic set did the trick. We spent maybe fifteen minutes. No tour boat, no ticket.

Two visits, two different gifts. That's Papawai Point. Worth stopping every time.

Yesterday's trip to the Maui Ocean Center made me a whale expert. OK, maybe not. But it made the sighting mean more — this wasn't just a big animal, it was a communicating, learning, parenting, grieving mammal. Worth every minute I almost didn't spend there.

The Checklist

A few years ago, Puerto Rico taught us we were beach people — just not in the conventional sense. We don't want a packed swath of sand with umbrella rentals and a bustling boardwalk. Since then, I've compiled a mental checklist: privacy, shade, fine sand, warm water, snorkeling, shelling.

Research pointed to Little Beach — a secluded cove tucked at the south end of Makena — as the best fit on Maui. The obvious caveat was that it's 'clothing optional', but we figured that would help make it just the private spot we'd enjoy.

Getting There

We arrived early. The sky was overcast. Big Beach — the long, dramatic main strand at Makena — was nearly deserted. Had we had kids — teens or little ones — in tow, this probably would have been our destination. But as it was just the two of us, we were glad to leave this behind.

To reach Little Beach, you walk to the end of Big Beach and scramble up and over a lava rock bluff. The trail is 0.3 miles, steep, a little slippery, and entirely worth it. There are steps cut into the rock. It's less a hidden beach than a beach that requires a little want-it.

The Beach

On the other side: a smaller cove, almost no one in it. At peak, we'd see maybe four or five other people. We basically had the place to ourselves.

As it turned out, the early timing and overcast sky worked in our favor. What felt like a compromise checked the box that mattered most: privacy.

OK, the water wasn't exactly warm and the shade not quite plentiful. The sand felt good underfoot, and the views were extraordinary.

Much to Shira's chagrin, I like to hunt for stuff on the beaches — shells, interesting rocks, whatever the tide left. The main expanse of Little Beach was basically shell-free. On the shoulders of the beach, though, the conditions turn to a mini-lava field. Among the lava rocks: washed-up coral in stark black, red, and white. Shelling checkbox: checked.

Unlike some beaches that encourage shell collection, the entire state of Hawaii is a dead zone for beach combers. Hawaii Revised Statute §205A-44 prohibits removing sand, dead coral, coral rubble, or rocks from the shoreline. Even dead coral is considered part of the marine ecosystem. Dang it. So, plenty to look at (and photograph!) but you can't take.

Little Beach is clothing-optional — Maui's unofficial nude beach. It was mostly just naked dudes, though not everyone was. The atmosphere was relaxed in a way that's genuinely hard to describe. In some respects the whole scene felt less scandalous than walking a crowded beach where swimmers are trying to show as much skin as possible while still wearing clothes. The chill atmosphere isn't just my observation — it's backed by science: without clothing to signal profession or status, social interactions tend to become more genuine. A mere 300 feet from the main beach, and yet an entirely different space.

The Snorkeling

A man who'd been sunbathing nearby — dressed now — overheard me asking someone about the water and stepped in with better advice. He knew the cove well. His advice: start at the northern edge where it gets rocky, and swim around that point.

Between the razor-sharp lava and crashing waves, that seemed mildly terrifying. I went anyway.

Around the point: a tucked-in reef, calmer than it looked from shore, with fish working the rocks. Not the most spectacular snorkeling of the trip — that was still ahead — but a solid payoff for swimming into conditions that looked uninviting. The man's advice was right.

With my woefully incomplete knowledge of tropical fish, all I could do in the moment was furiously snap pictures with my cheap Kodak WPZ2 and think: holy smokes, those are real fish! In among the rocks: one species was unmistakable — bold black vertical stripes on a silver body, like a prison uniform. That pattern earns them the common name Convict Surgeonfish. The "surgeon" part comes from a retractable spine near the tail, sharp as a scalpel, deployed when threatened. In Hawaiian they're called manini, which means "small." They are small. They've found a workaround.

What I didn't know at the time: the manini's survival strategy is coordinated mob action. Coral reefs are carved up by territorial damselfish — small, aggressive fish that defend patches of algae and will fearlessly chase off fish many times their size. Individually, a manini has no chance. So they don't go individually. They form schools of hundreds, descend on a guarded patch all at once, and graze it down while the damselfish can only chase one at a time. It doesn't matter how territorial you are when two hundred fish show up simultaneously. The patch gets stripped. Biologists call it trophic mobbing.

OK, manini, I see you.

Next Time

We had two more adventures planned for the day. After about two hours, we scrambled back over the bluff.

Good morning: a whale sighting, a quiet cove, a stranger's tip that paid off, better-than-expected shelling, a hidden reef. Little Beach hadn't been perfect, but it more than did the job.

On the drive back that evening, a thought hit me. I like trying new things on vacation — new foods, new experiences, whatever the place uniquely offers. Little Beach was clothing-optional, nearly to ourselves, completely relaxed — and it never once occurred to me, in the moment, that I could actually try that. I'd mentally filed it under "for others." Turns out it wasn't in that category at all.

The research is almost funny: newcomers to naturist spaces typically normalize within minutes — the expected awkwardness never materializes — and afterward, it's no big deal.

Shira was not moved by this realization.

Next time I'm at a clothing-optional beach, I'm not opting for clothing.

Wednesday, June 03, 2026

Maui Adventure - Day 4: The Aquarium I Almost Skipped

[Composed 1/4/2026]

I'll be honest: I was not excited to visit the aquarium.

My vacation philosophy leans hard toward the serendipitous and the real. I'd rather crouch over a tidepool, squinting at whatever tiny creature the tide left behind, than stand in front of a tank engineered to impress me. The tidepool requires patience and luck. The aquarium is prepared, packaged, ready-made wonder. I prize the unprepared version.

The thing is, that's not always the right call. And the Maui Ocean Center is Exhibit A.

We arrived at 2pm on a day already packed with tidepools (which were a sealife bust!), a hula show and a wildlife refuge. The aquarium closes at 5pm. I'd pushed it off as long as I could. It was now or never.

The Maui Ocean Center is smaller than Baltimore's National Aquarium, which I've visited a handful of times and consider a gold standard. Size turns out to matter less than execution. A world-class art gallery doesn't need to be the Louvre. What it needs to do is make you stop, look, and feel something. The Maui Ocean Center does exactly that. If you walk out unmoved, I don't know what to tell you.

The Octopus

The highlight of the standard exhibits wasn't the sharks or the coral — it was an octopus.

A keeper had her arm in the tank, and the octopus was moving across her hand and forearm. As it moved, it changed color. Not slowly, not subtly — in real time, pattern shifting across its skin like someone flipping through channels. Red, then mottled brown, then almost transparent-gray, then red again.

I knew octopuses could do this. Knowing it and watching it happen two feet away are very different experiences.

Sharks

The main tank is a multi-story reef packed with sharks, rays, and everything else — adjacent to a tunnel that lets you walk through as sharks glide overhead. Classic aquarium setup. Standard or not, it's breathtaking.

More thought provoking was the shark presentation. Most of it covered familiar ground, but one insight stuck: sharks aren't malicious. They don't hunt for sport. A well-fed shark has no biological reason to expend energy chasing something it isn't going to eat. Before any diver enters the water, the keepers feed the sharks — thoroughly. A sated shark is an indifferent shark.

The presenter's point: every other predator stops when it's full. Only humans eat past satiation by choice. That struck a chord. By the end of the afternoon, it came back to me.

She Becomes He

One display described a Hawaiian reef fish — the wrasse — with an unusual life strategy. The fish are born female. When the dominant male in a group dies, the largest female undergoes a full sex transition and takes over the male role completely.

Just try telling Mother Nature something is impossible.

A History Lesson I Wasn't Expecting

Between the tanks, the aquarium has displays on Hawaiian history and culture. I stopped at one with the understated title: "U.S. - Native Hawaiian Relations." It gave a timeline of the annexation of Hawaiʻi. I realized that while I knew Hawaiʻi was a state, I'd never asked how it became one.

The short version: in 1893, a group of American and European businessmen — backed by U.S. Marines who had already landed the day before — overthrew Queen Liliʻuokalani and dissolved the Hawaiian Kingdom. The driving force wasn't ideology or democracy. It was sugar. Hawaiian sugar had enjoyed preferential access to American markets; when that advantage was eliminated, annexation became the only way to restore it. The businessmen wanted back into the market. The military wanted Pearl Harbor. The math wasn't complicated.

Queen Liliʻuokalani surrendered under formal written protest, explicitly stating she was yielding to the "superior force of the United States of America." President Cleveland investigated, concluded the coup was illegal, and tried to restore her. He couldn't. His successor finished the job: Hawaiʻi was annexed in 1898 via a joint resolution — specifically chosen over a formal treaty because a treaty required two-thirds of the Senate, and they didn't have the votes.

More than 38,000 Native Hawaiians — out of a population of roughly 40,000 — signed petitions against annexation. At the ceremony, the Royal Hawaiian Band wept. Most Hawaiians refused to attend.

As I pondered this heartbreaking origin story, I realized that on the same day we visited the aquarium we had woken to the news that the United States had launched a military operation to remove the leader of Venezuela — a sovereign nation sitting on top of enormous oil reserves. Trump's own words, days later: "The Oil is beginning to flow." Sugar. Oil. The details had changed, but that insatiable appetite had struck again.

I like to think we're more evolved than our predecessors. That we understand sovereignty now; heck we formally apologized for our actions in 1993. We're better than this. And yet, waking to the news that America had invaded a country whose resources it eagerly planned to exploit, while standing in a country that had suffered the same fate — it was hard to make that case.

The Quirkiest Find on Site

Outside, across from 'Turtle Lagoon' and in 'Nursery Bay' sat an object that had no obvious business being there.

Torpedo-shaped. Six to eight feet long. Small stabilizing fins. Vintage in aesthetic — the kind of thing that looks technologically serious but also clearly old, like a prop from a Cold War thriller.

The placard explained: a Soviet submarine communication device. A sub running at depth would tow it on a long cable; the buoy would skim the surface, letting the sub transmit and receive radio signals without surfacing and becoming a target. Single-use. Disposable. It had washed ashore in Hawaiʻi, and nobody knew what it was.

First off, what a clever solution to a baffling challenge. Submarines that surface are a far easier target than one at depth. But, radio signals can't be sent or received at depth, so you're literally and metaphorically in the dark. This fix, surface a cheap, almost drone-like middle-man, neatly solves the problem. The sub doesn't have to expose itself, yet radio signals can find a way into the murky depths. Genius.

If that had been the deal with that exhibit, I'd have been impressed. And yet, there's a whole other level of cool with this artifact. When I went home and researched this artifact, the first link that came up was this Reddit thread. Turns out, someone found the thing on the beach, posted a photo to r/whatisthisthing, and the internet collectively identified it. A cross-post to r/WarshipPorn confirmed it as Soviet naval hardware. The aquarium didn't conduct archival research or consult a naval historian. The cherry on top: they cited the Reddit thread on the museum placard.

I respect that enormously. The answer was right, the source was credited, and a piece of Cold War hardware found a home in an aquarium reef tank because some guy posted a picture and the internet knew what it was. Distributed knowledge working exactly as it should.

The Blue Whale

The aquarium charges extra for the 3D film, and there's a wait between showings. We paid and waited.

The waiting area primes you with text panels covering everything the film is about to show: blue whale song, calving behavior, the complexity of whale communication, the emerging argument for recognizing whales as something approaching persons — the term "non-human person" appeared, which I'd never encountered before. By the time the doors opened, I'd read the whole film.

It didn't matter. The film was breathtaking anyway.

The kids seated near us kept standing up, reaching toward the screen as the whale came at them. You can know everything that's coming and still be moved by how it arrives. The Maui Ocean Center figured out something a lot of filmmakers haven't: 3D works when the thing filling the screen is something you already care about. A blue whale at full scale, emerging from the dark, is one of those things.

We left as they closed the doors at 5pm. Three hours turned out to be exactly right — enough to be moved, not so long you get complacent. I'm glad I didn't skip it.

Lesson learned: serendipity is great. But sometimes the prepared walls have something real inside them. You just have to be willing to walk in.

Monday, June 01, 2026

50 for 50: pocketmap — A Printable Reference for a Long Day of Walking

While planning the 50-for-50 walk, I built a custom routing tool that took in a plain-text route file and generated whatever I needed: a .gpx for my watch, a .kml for my phone's navigation, an HTML Street View preview to spot-check the route. In that spirit, I started wondering: could it also generate a printable reference card? Something I could fold up and keep in my pocket.

Version one generated an index card-sized map. I printed it, got out the scissors, trimmed it down — and threw away most of the paper. That's when it hit me how absurd the index card idea was. It was more work for something less useful, all to meet some arbitrary size requirement.

So the goal shifted: pack as useful a reference as possible onto two pages — a single sheet, double-sided. No cutting required. That became the challenge, and pocketmap is the result.

Two Sheets, Two Jobs

pocketmap takes the same plain-text .pois file used by geoassist and generates a two-page PDF:

pocketmap day1.pois > day1.pdf

Page two is the simpler one: a waypoint table showing each stop, its cumulative distance from the start, and the distance to the next stop. Combined with a distance reference chart (centimeters on the printed map → km and miles), it doubles as a checklist. With six waypoints spaced 2–4 miles apart, a 17-mile day starts to feel doable — just a short list of stops to check off. Shira — a seasoned skeptic of my "this will make things easier" projects — actually used it, treating the waypoint table as a table of contents for the day. That's when I knew I was really onto something.

The 1 cm Rule

Page one is the map, and it's more useful than it first appears. The map is scaled so that the entire route fits on a single page, always expressed in a clean ratio: 1 cm = 1 km, or 1 cm = 2 km, or whatever it takes to fit. The scale bar is on the page.

That simple cm rule connects directly to UTM coordinates, which are printed along the edges of the map just like a USGS topographic quad. A GPS device — phone, Garmin watch, or an InReach you're already carrying for messaging — can display your current UTM coordinates. Find those numbers on the map edge, locate the intersection, and you know exactly where you are.

The useful part: this works without a data connection. Your GPS receiver uses satellites, not cell towers. You can be somewhere with no signal and still find yourself on the map in seconds. If UTM is new to you: it initially looks complex, but it's actually straightforward — and a remarkably simple way to jump between a paper map and a digital device. This video is a quick intro.

I carry a small fresnel lens with centimeter markings along the edge. With the map, that lens becomes a measuring tool: lay it down, count centimeters, multiply by the scale. I can estimate how far I've come, or how far to the next stop, in a few seconds.

How It Actually Went

Honestly, the map was more of a satisfying curiosity than a critical tool on our trip. We were in Knoxville, not the backcountry — if something went wrong, we would call an Uber. But there's something genuinely satisfying about making the leap from digital coordinates to paper in a few moments, and having something physically in my pocket that represents the day ahead.

One thing I hadn't anticipated: the fixed scale. On your phone, you zoom in and out constantly, always seeing the same 2–3 inches of map regardless of zoom level. The printed map doesn't do that. At 1 cm = 1 km, you always see the same stretch of ground. That consistency helps maintain a sense of the whole day — something that gets lost the moment you zoom in on your phone.

One real limitation: the map is useless at micro-navigation. Come to a trail fork — left or right? The scale is way too zoomed out to help. For that, you need your phone.

Low Effort, High Value

If you're using geoassist to build your .pois file, the PDF is a free byproduct. Print it, fold it, put it in your pocket. It won't replace your phone — but it gives you something your phone can't: a fixed, at-a-glance view of the whole day that works anywhere.

Download Pocketmap

pocketmap is free to use and modify. Source code on GitHub: github.com/benjisimon/code/tree/main/pocketmap

Tuesday, May 19, 2026

50 for 50: The Route to a Better Route

Planning the 50 mile walk to mark my 50th birthday proved to be an interesting challenge. The walk would span three days in an unfamiliar city and had a laundry list of needs: scenic and interesting stretches, resupply stops along the way so we could travel light and stay fueled, and as much sidewalk as possible to keep things safe. And of course, strategic bathroom stops. We also wanted a route that made geographic sense across three days — no backtracking, or covering the same ground twice. And the total distance needed to land just under 50 miles, knowing the total would naturally creep up as we went. That's a lot to ask. Here's the tool that helped us pull it off.

AI: Enthusiastic, But Faking It

Like many travel-related tasks these days, we started our planning in ChatGPT. ChatGPT signaled that Knoxville was not just a reasonable location to complete a 50-mile birthday walk, but an ideal one. It heaped praise on Knoxville's greenways, green spaces and of course us for choosing Knoxville. With the scene set, it asked if we wanted it to generate a route we could follow. Yes, please. It provided official-looking GPS coordinates, and when asked, it created an XML-based GPX file we could import into Google My Maps to visualize the route.

This is where things went off the rails. The GPX file had no actual routing data — just a series of random-looking straight lines between points.

We pressed ChatGPT, which sheepishly admitted the file wasn't much use. But it promised it could do better. Around and around we went, failure after failure — like a GPS that confidently calls out a turn, then immediately announces it's recalculating. We should have taken the hint sooner.

The fundamental issue, I suspect, is that ChatGPT has no routing engine. It knows quite a bit about Knoxville, but it doesn't know the street-level details needed to compute an actual walking route the way Google Maps does. Its general knowledge was enough to promise us the world — but without a routing engine, it was never going to deliver.

Existing Tools: Close, But Not Quite

Next up, we explored Google's My Maps. This tool lets you create your own Google Map and, unlike ChatGPT, it actually computes walking routes. Real promise.

My Maps tripped us up in two ways. First, its drag-to-adjust routing is a great feature for casual use — but for the kind of careful, iterative planning we were doing, it became a liability. One errant mouse click or screen tap and a carefully built route would shift. Control-Z helped, but it made the whole process feel precarious.

Second, My Maps buries the route's total distance under several clicks. For most users that's fine. For us, checking distance was something we did constantly — a couple of miles either way could make or break the whole route. Having to dig for it every time wore thin quickly.

We tried sites like onthegomap.com, which shows distance prominently and makes route creation easy. But once a route was set, it was fixed — no way to go back and tune it. Perfect for mapping out a run; not quite right for planning three days of walking that needed to hit an exact distance target.

These are genuinely good tools. They just aren't built for our use case: a route that would be revised dozens of times, with distance and route shape constantly being reconsidered.

Rolling Our Own: geoassist

Ultimately, I decided to build my own tool. I give you: geoassist.

geoassist is a Unix-style script that takes in a plain-text route file and generates any number of outputs — some useful for quick planning previews (distance, a rough JPG), others for detailed navigation (GPX, KML). Under the hood it uses OpenRouteService — a real routing engine — to compute actual walking paths between your points. A route file consists of three entry types:

  • Waypoints — primary established points you plan to route through. These entries start with an X, as in X marks the spot.
  • Routing Hints — points fed to the routing engine to enforce a specific path, but invisible in the final map. These entries start with a V, which you can think of as an arrow into the Earth saying go here.
  • Points of Interest — off-route points you may or may not end up visiting, like a Dunkin' Donuts. These entries start with a @, as in where is this business 'at'?

A point can be a latitude/longitude pair or a plain address. You can give a point a label by appending # label text.

Here's the route file for day 1 of the trip:

X SpringHill Suites by Marriott Knoxville at Turkey Creek, Turkey Drive, Knoxville, TN # SpringHill Turkey Creek

# Concord Park
X 35.86069620962343, -84.13600339974661 # Concord Park
V 35.86093969069506, -84.13496272359271
V 35.86261479769068, -84.12830087899738

X 35.874780833187806, -84.09541418622682 # Dunkin
X 35.89377609396486, -84.06858403222535 # Donato's Pizza
X 35.92390020189228, -84.03230975977412 # Food City

X Courtyard by Marriott Knoxville West/Bearden, Brookview Centre Way, Knoxville, TN # Marriott Bearden

We're starting at the SpringHill Suites, making our way to Concord Park, hitting a few resupply stops, and finishing at the Courtyard by Marriott. The routing hints steer the route through specific trails inside Concord Park that the routing engine would have skipped.

Here's what that looks like in practice:

  # Preview
  $ geoassist -a distance -f day1.pois
  17.049
  $ geoassist -a export -t image -f day1.pois > day1.jpg
  # Detailed Route Generation
  $ geoassist -a export -t kml -f day1.pois > day1.kml
  $ geoassist -a export -t gpx -f day1.pois > day1.gpx

Slow Is a Feature

The workflow for creating the route wasn't glamorous: I sat next to Shira with the file open in emacs while she pored over Google Maps. She'd pass me coordinates through chat; I'd update the file, run geoassist, and either generate a rough JPG preview or pass her a KML file to load into Google My Maps for a closer look.

Compared to dragging lines on a slick web interface, this felt slow. And it was. But that slowness turned out to be a feature. Because the route lived in a plain text file, we could experiment freely: comment out a segment with a #, try an alternate version in a new file, revert instantly. There were no accidental edits, no mystery undo states. The file was always exactly what we intended it to be. Every decision was deliberate.

Once our route was finalized, geoassist generated a GPX and KML file that we imported into our navigation tools of choice. I loaded the route into Backcountry Navigator on my phone; Shira used the Google My Maps version. Here's what both looked like loaded up:

Know Your Route Before You Walk It

One question that nagged at us as we planned was just how pedestrian-friendly the route would be. Sure, the routing engine computed a walking path — but could it be trusted? A "walking route" to a routing engine just means no highways. It says nothing about shoulders, sidewalks, or traffic.

I considered leaning on sidewalk datasets, but sidewalk data is notoriously incomplete and unreliable. I feared using this data would only give us a false sense of security.

After dropping into Google Street View manually on a number of occasions to check individual roads, it hit me: why can't geoassist do this for me?

The result is geoassist -a export -t streetview: an HTML preview of the route powered by embedded Google Street View images, one every half mile. Scroll through it and you're essentially walking the route from your laptop before you ever lace up your shoes.

We could see at a glance which stretches had real sidewalks, which were quiet neighborhood streets where that didn't matter, and which were the kind of busy arterial roads that would send us hunting for an alternate path. We rerouted at least one segment specifically because the Street View preview made it obvious the road had no shoulder and heavy traffic. That single catch was worth the whole exercise.

There's No Shortcut to a Quality Route

The through-line of all this: the time we spent deliberately poring over the route was time well spent. It's tempting to want to hand this off — to AI, to a slick web tool, to anything that feels faster. But the route was the walk. A bad route wouldn't have just been inconvenient; it could have derailed the entire project.

Part of why delegation is hard is that our route had to satisfy several competing constraints at once. It had to hit close to 50 miles — not 45, not 55. It had to pass bathrooms and resupply stops at the right intervals. It had to be safe to walk. And ideally, it would take us through interesting and beautiful places. A routing engine can optimize for one or two of those. Threading all of them takes experimentation and human judgment.

geoassist didn't speed up our planning. It gave us a process we could actually trust — stable, inspectable, and with a Street View sanity check built in. The walk went beautifully, and I think the route had a lot to do with that.

One more note for the technically inclined: because geoassist is command-line driven, it's trivial for an AI tool like Claude Code to run it. Unlike ChatGPT — which talks about routes but can't compute them — Claude Code could in principle call geoassist, evaluate the output, tweak the file, and iterate. This opens the door to having AI plan and optimize a route. I have yet to experiment with this, but the hard part of the process is now taken care of.