Mount Kōya, Ancient Baths, and Exacting Compilers

The Kumano Kodo

(A much belated hello.)

I’d intended to write about six months ago, but am only getting around to it now. I’d picked out the photographs that I wanted to use last December, but looking at them in my draft brought back such strong memories that for the longest time, I didn’t feel up to writing the words to fill the gaps. I still don’t, but I’m edging right up to the point of sheer absurdity in writing about an old vacation, so it’s time.

Last year I wrote about a trip to Japan, but even after a few thousand words I was only halfway done. I talked about how the country has some of those best metropolises in the world. This time I’ll try to convince you that it has some of the greatest wild areas on the planet too. Before going to Tokyo, Keiko and I spent a week down south in the Wakayama Prefecture, making our way from coast to coast by way of a network of ancient pilgrimage routes called the Kumano Kodo.

I’m about to talk about hiking, a lot. I’m holding a rough pace of three to four messages a year, so I hope you’ll consider this newsletter to be as far opposite on the continuum from spam as you can go, but if you don’t, you can click here to never hear from me again.

Torii at Mount Kōya

We in the west tend to think of Japan as a crowded island, but the lush greenery of its wilderness is pristine. Walking the Kumano Kodo is a singular experience. The stones underfoot look a thousand years old, and the torii arches overhead are timeless. Days are spent in perfect tranquility in the fresh mountain air and nights are spent in perfect relaxation at ryokan along the way. It’s a spiritual experience even for the non-spiritual – you feel the country’s ancient kami with every step.

A holy mountain & otherworldly gate

Our journey started at the busy central station in Osaka, where we boarded a train and headed south. The dense cityscape began to thin out, then disappear, and a few more passengers got off at every stop along the way. We didn’t notice exactly when it happened, but eventually the big city crowd that we’d started with was gone, and we had the train largely to ourselves.

Our first destination was Mount Kōya (Kōya-san), a mountain with a small Shinto town (Kōya-chō) built high on its slopes. First settled by monks around the year 800, Kōya-chō has grown to host an incredible 120-odd temples today. Normally, it’s possible to reach the town by taking a train and transferring onto a mountain-scaling funicular, but this route was out of operation indefinitely after damage from a recent typhoon. Instead, we took a bus up through the mountain’s winding roads.

As the bus rounds one last hairpin bend, you get your first glance of Kōya-chō as the magnificent Daimon Gate materializes out of the mist. It looks like an artifact from another world, completely out of place on these remote slopes.

Mount Kōya

Most of the accommodation on the mountain comes in the form of shukubō, or “temple lodgings”. Monks running the local temples open their doors to visitors, who are fed, clothed (with ever-practical yukatas), and given a place to stay and bathe in return for a small fee.

The temples are better run than any hotel. We entered through the front door of the one we’d selected (Jokiin) and were astonished to find a 4-by-6 grid of pairs of slippers, arranged in perfect symmetry. We were greeted by a smiling hostess, led down the hall to an entry room, seated, and served tea while we finalized a few details on the paperwork.

We walked down long echoing hallways to our room, off a wing of the temple that overlooked its immaculate garden. Accommodation in Japan can often be quite small – just a few tatami mats in size 1, and that constraint forces a certain creativity in the use of the space. Rooms are silently transformed while you’re out in the evening, from a mostly empty space for sitting, to one with an unfurled bed for sleeping. In a place like Jokiin where meals are served in-room, there’s also an intermediate transformation to prepare it for dinner. We’d often find monks quietly checking in on our room, hoping that we were out so that they could take the opportunity to rearrange it. We couldn’t spend too much time in the room or we’d compromise their precise schedules.

Jokiin

A typical in-room meal arrangement at Jokiin

The kotatsu

The monks’ spartan lifestyle is that some of the luxuries that we might take for granted in the west – like central heating – are non-existent. This time of year the mercury sits close to zero, especially in the mornings and at night, and a simple walk through the temple’s halls is a bone-chilling experience. There’s an on-site onsen, and its healing waters will do wonders to warm you up, but afterwards you’re left with a real challenge: getting back to your room.

Japan has an ingenious device for cold days called a kotatsu. It’s a low table with blankets hanging off its edges, and an electric heater underneath – a perfect place to take refuge during frigid evenings. It’s common knowledge in the country that once you’re under a kotatsu, you can’t get back out (it’s too comfortable). Every word of it is true.

A wintery morning

We woke up the next morning to find a fresh layer of white powder on the mountain’s temple roofs and courtyards – the first snowfall of the season. I ran from Daimon Gate up nearby Mount Bentendake, trying to be mindful not to slip on the newly slick paths and throw myself into the underbrush 2. I found that an old shrine had been built on its peak.

First snow at Mount Kōya

We spent the day exploring the spectacular Okunoin cemetary before saying farewell to Kōya-chō and departing the mountain.

Yunomine Onsen

Kōya’s technically reachable along the Kumano Kodo, but along a leg that wasn’t possible in our budgeted time. Instead, we bused back down to a coastal town called Tanabe, and our real journey began the next morning as we set out from its local trailhead. After another two days of hiking and an overnight in a charming small town called Chikatsuyu-oji, we reached Yunomine Onsen.

In 002 I talked about certain villages famed for their onsens might adopt the word into their name. This is the case for Yunomine – a little cluster of inns tucked into a valley in the heart of the Kumano mountains, built around a natural fountain of searing water frothing out of the earth.

Yunomine

This was the one night on our hike that we’d splurged on a pricier hotel, and as we climbed its steps we were surprised to see Keiko’s name drawn out in elaborate hand-written Kanji next to the door. Every morning the innkeepers wake up and carefully write out the names of all the travelers who will be staying the night.

Our room was large and minimally furnished in the most tasteful way possible, with a single low table ornamenting its expansive floors (like at Kōya, bedding would appear later in the night). A balcony surrounded by neatly-trimmed trees gave us a perfect vantage onto the tiny village.

A common pastime for locals and visitors alike is to slow boil eggs in the hot spring’s waters, and we found half a dozen people working on just that when we arrived – you can see some being sold for cooking in the photo below. Later in the trip we’d visit Ōwakudani (“Great Boiling Valley”) on the slopes of Mount Hakone (an active volcano), where the onsen eggs come out a shade of soot black, having picked up coloration from the sulfur springs where they’re cooked.

Onsen eggs

Boiler

Tsuboyu

The hot spring at Yunomine is old. It’s considered to be one of Japan’s oldest, discovered about 1,800 years ago. An ancient bathhouse called Tsuboyu that’s built right on top of the stream running through town lets you get as close as possible to the spring’s source, and is considered to be the only place in the world where you can bathe in a registered UNESCO World Heritage Site.

Tsuboyu (outside)

It’s a popular bathhouse for couples – probably because its cozy quarters won’t hold much else. As we squeezed into the pool’s perfectly blue waters, we realized that even just the two of us were going to be a tight fit. Getting into the bathhouse is an adventure of its own, involving a walk down to the other side of the village where you can negotiate with an elderly gentleman for a placard which you will hang above the door of Tsuboyu as you enter. They’re distributed sequentially, and show a number that signals to waiting groups roughly how long they have until it’s their turn in the cabin (we were waiting on group “7” above).

Tsuboyu (inside)

The road to Nachi Taisha

The last day of our hike involved trekking over a mountain blanketed in a broadleaf evergreen forest. Unlike most mountains you can climb, this one features stone-cut stairs the whole way up and down, each of them laboriously dragged into place over decades. It was cool and quiet. The number of other hikers we passed along the way could be counted comfortably on one hand.

Coins at a shrine

Painted tree

Ancient forest

The mountain spit us out on the other side into Nachi Taisha, an expansive Shinto shrine built halfway up its face. Along with a breathtaking view out to the Pacific, the shrine also overlooks Nachi-no-Otaki, Japan’s tallest waterfall at 133 meters.

Nachi-no-Otaki

The end of the hike was a bittersweet moment. Our sore feet welcomed it, but it was sad to see the trail go, and we were only partially comforted by the beautiful vistas before us as consolation prize. We visited the foot of the waterfall, then checked in at a local inn with an eccentric owner who’d asked for our hiking schedule, and refused to give us a reservation because he didn’t think we’d make the last leg of our trip in time. He only acquiesced when we promised to call at noon on the day of and confirm that we were well passed the halfway point. We had, and he let us stay the night.

The next morning we made our way out to the ocean and onward to Tokyo.

Ponto-chō & beautiful alleys

Like a hundred million visitors to Japan before us, we made our way through Kyoto. We visited the traditional attractions like Fushimi Inari-taisha (recognizable by its rows of hundreds of torii painted in a bright vermilion) and Nijō Castle, but I was most impressed by Kyoto’s alleys. There’s a famous one running through the Ponto-chō district parallel to the Kamo river that’s particularly spectacular.

Lined with restaurants and businesses on both sides and hundreds of people milling about to see them, it’s as vibrant of a public place as you’ll ever find. Small and human-scale, here it’s people who are given priority instead of the screaming traffic found on most city streets. I found myself wondering what an entire city built like Ponto-chō would look like.

Ponto-chō

Wabi-sabi & aged leather

The last time a sole failed on one of my boots, I did something unconventional. Instead of throwing the pair of them out, I repaired the broken boot. While not quite the point of a existential alarm, I’m more than a little disturbed these days by just how disposable everything I own tends to be. Half of it seems designed with planned obsolescence in mind (I can measure the year by counting how many Sennheiser earphones I send back for warranty), and half of it is just junk. Where possible, I’ve been making an effort to buy higher quality products that have some chance of longevity.

I wore these boots for the length of our hike in Japan, and to my pleasure, the trip only had the effect of bringing out more of their character. The leather darkened, and they picked up a few more nicks and lines. There’s something distinctly beautiful about an object that’s aged well – it’s imperfect, and you can see history and obvious ephemerality in its rugged appearance. The Japanese call this idea wabi-sabi, an old aesthetic centered around transience and imperfection that’s derived from the Buddhist teachings of the three marks of existence.

Thousand Mile boots

Rust & the pursuit of reliable software

I’ve been writing a lot of Rust. The language has developed a bit of a reputation for its Haskell-esque (and some might say Kakfa-esque) strictness when it comes to compile-time checks, with very strict rules around reference counting and object movement in memory (usually stack-allocated by convention) specifically. At first, I found working with it to be intolerable. The compiler seemed to be written to be as pedantic as possible, and some subtle problem with borrowing or ownership got in my way of everything I tried to do, which left me stuck and getting little done. But after a few months of hard slog and solid focus, the walls finally started to break down and I even started liking it, a lot.

Its oft-stated benefits like type safety, efficient use of memory, and great performance are all true, but beyond that there’s just an element of consistency and good taste that pervades throughout every part of the language. Unlike other popular languages (cough, Go), the core team doesn’t cover up or dismiss its mistakes, and instead even very fundamental design problems get fixed. This is best exemplified by the recent release of impl Trait, and the upcoming futures rebuild and addition of native async/await. It’s a pleasure to work with, and has the most helpful community you can possibly imagine.

I wrote a piece about architecting a web application in Rust and another about overcoming its sharp edges.

GraphQL & the future of web APIs

I’ve been thinking about web APIs lately, specifically about the status quo, possibilities for the future, and where industry is likely going from here. We reveled in our own ingenuity when we banished SOAP, but did we make things all that much better? Today’s generation of REST APIs are widespread, but they share little with each other beyond a common response format (JSON) and some loose conventions around mapping HTTP verbs to CRUD actions. The promises of discoverability, change resistance, and automation made by REST/hypermedia have had ten years to materialize, but never have.

I wrote a a recent piece on GraphQL, a technology which I find interesting on a number of dimensions. Its improved queryability, well-defined specification, built-in capacity to self-describe, and predisposition to be gracefully evolved would be a vast improvement over the irregular patchwork world of semi-REST that we have today.

On long silences

If you made it this far, you’ve just read 2,500+ words about Japan and software, which is more than anyone should have to put up with from me – thanks (and congratulations and condolences) for getting all the way through! I’ll try not to wait another half year before writing again, but as usual, you can hear from me sooner by replying to this message.

1 In Japan, it’s common even today to measure the size of a room by the number of tatami mats that fit in it. A standard Nagoya-sized tatami is about 1.653 square meters, but the size differs region to region. In Kyoto, mats are 0.955m by 1.91m, and referred to as Kyōma tatami. In Tokyo, they’re 0.88m by 1.76m and called Edoma tatami. Shops were traditionally designed to be 5 12 mats in size, and tea rooms 4 12 mats.

2 As life would have it, I successfully managed to stay on the path while running the treacherously slick slopes of Mount Bentendake, but a few months later somehow managed to eject myself on a trail run in bone-dry California. I was fine, but unfortunately the same couldn’t be said for the screen on my poor mint-up-to-that-moment iPhone X.

– Brandur