What I love about traveling in Japan

I always end up feeling lucky when I travel in Japan. It’s a country that rewards you for being unprepared. For example, yesterday we had to get from Kawaguchiko to Shizuoka. There’s no easy way purely by train, but Kawaguchiko has a bunch of busses, so I left it until the morning we left to decide how we’d end up in Shizuoka. It turns out the bus line I found online wasn’t running, but the ticket office attendant suggested we take the local bus all the way around Mount Fuji to end up in Fuji town at the seaside.

The local bus turned out to be a great pick: if took us past all the surrounding lakes on a scenic tour of the area. There were only 5 people in the entire bus, since it’s the off season. Most tourists end up taking the trains or buses back to Tokyo. I really enjoy experiences like this – it’s little off-the-beaten-path finds that make otherwise crowded tourist destinations even more enjoyable. And with a beautiful blue sky as the backdrop, what more could you want?

It’s hard for me not to contrast this experience with that of other countries. Some other countries might ‘punish’ you in this situation, by forcing you to spend more money or time to get to your destination. When we traveled Cuba we tried to take a bus from the far end of the island back to Havana and had to wait until the last minute until we were sure we’d even get a seat, despite having been reassured that we wouldn’t have to reserve. And then of course that bus randomly ‘turned off’ several times in the middle of the night as we were moving, causing the driver to have to clutch-drop on a downhill to get the thing going again. Or England, where I’ve run into plenty of cases where public transport was just cancelled or delayed without further notice. But in Japan, supported by its excellent infrastructure and incredibly helpful locals, you are rewarded, because there’s always another way to get to where you want to go.

People travel for a lot of reasons: culture, meeting people, activities. As for me, I get a lot of enjoyment out of taking in the scenery. The aesthetic of places always appeals to me, and it’s usually one of my main goals each trip to visit a place with a beautiful view. But I also appreciate the easthetic of ‘boring’, normal locations. A long road leading from the suburbs into a city, with restaurants, car shops and malls on either side, might sound pretty generic, but there’s a uniqueness in how each country (and each city) plays the theme. Perhaps it’s not beautiful in the traditional way, but Japan’s take on it is definitely unmistakeably Japanese. That, to me, makes it interesting. It’s great to be able to experience that again.

Tagged ,

Mission to Japan

Foreword by me: when I mentioned to my wife that I wanted to write more during this trip and that I was going to write a bit about our travel woes she said she’d write something too, and she was happy for me to share her account of the proceedings here. What was interesting to me is how she highlighted different aspects of the same experience. Below is her version.

—————————————————————————–

It started like any other trip, we called for an Uber to the airport.

In a change of pace, we opted to fly from LCY. It was an eye watering £70 but with the Tube down and us having luggage, we considered it worth the cost, but I hadn’t bargained on the eggy fart from the driver. I think he had issues with his windshield jets as he kept having spray screen wash on from a bottle and then wiping it off. A little disconcerting particularly on a densely foggy and frosty morning.

We arrived at LCY in good time, passing the time at Costa and Pret. Between the time we dropped our bags off and queueing for security, disaster struck. Our flight to FRA was cancelled.

We queued up at the BA desk and was given the option of booking on a flight from LHR connecting at HKG in a few hours or our planned flights a day later. We opted for LHR. Upon closer inspection of the ticket pass, it turned out that we were flying into HND and not NRT as originally planned. Ho hum, Tokyo is Tokyo.

Looking at the inclemental weather, the chap at the booking desk advised us to take public transport. We weren’t convinced and the earliest Uber was six minutes away. As we were by the Taxi rank, we opted for a black cab and the cabbie advised taking us to Paddington and then Heathrow Express. Time was of the essence.

As we drove through London, we came across some of my stomping grounds near work. The roads were quite busy and I hadn’t realised just how higgledy-piggledy the roads were from Spitalfields to Euston.

We eventually arrived at Paddington and caught the Heathrow Express without much fanfare.

When trying to check in at the kiosks in T5, we got an error alerting us to see a person. We were then directed to a queue which just didn’t seem to be moving fast and time was ticking. Up to now, I had been feeling strangely calm, I could feel my heart racing, adrenalin coursing through my veins. In an act of desperation, we flagged down a very helpful chap who was initially unsure as to whether we’d make our flight. His supervisor thought otherwise and we were elevated to the front of the queue.

It was a bit touch and go at the counter. The dull but very helpful chap was having difficulties getting us checked through the second leg of the flight but eventually got through. We wouldn’t be sitting next to each other on the first flight to HKG but at this point, I’ll take whatever I can get.

Security, dinner and boarding was fine but we were held at the runway for an indeterminable amount of time due to last minute change of staff and paperwork. Once again, time ticking away, the chances of us making the second leg of the trip was dwindling fast. Rather annoyingly, I wasn’t getting reliable signal on my phone and couldn’t message my significant other. The seat to seat chat didn’t seem to be working either (in retrospect my significant other told me he couldn’t find the chat button). It was a fairly uneventful flight, the only thing of note was that they ran out of sweet and sour chicken by the time it got to my row and I didn’t sleep a wink.

As expected, we missed the connecting flight at HKG but were greeted by very helpful ground-staff. The next few moments felt like a whirlwind of events. We filled in the health declaration, collected bits and pieces for a COVID test, got swabbed, filled in more paperwork, picked up our baggage and issued a meal voucher.

I’m impressed by the organisation of the COVID tests, there was no waiting and everything was very smooth.

For a major international transport hub, I must say that I’m quite disappointed in HKG airport’s eating options. We tried to spend our $HK 150 once we made it airside and it seemed that pretty much everything is shut at 23:00 and reopens at 7:00am. Not even a cafe was open. Vending machines were few and any that were there didn’t accept foreign cards which is not useful at an airport. The take home here is to always pack snacks.

Our flight to NRT was pleasant, JAL’s service was swift and efficient, as you’d expect from Japan’s flagship carrier. Even the food was a few notches about BA.

As soon as we were on the final leg of our trip everything went fairly smoothly. There were some disadvantages to being in NRT super early (before 7:00am), namely that most things are shut apart from the conbini which was a sight for sore eyes.

I’ve lost all sense of time and I’m not even sure what day it is or how long it’s been since we left Cholesbury but we’ve finally made it to Kawaguchiko. I guess it could’ve been worse, we could still be stuck in London since snow has blanketed the country. At last we made it to our final destination and begin the vacation proceedings.

Tagged , , ,

A Travel Story

Has air travel gotten worse since covid? I certainly think so. It’s been a while since I’ve gone on a long trip, and today was without a doubt the worst experience I’ve had in decades. Normally I’d keep my rant to myself, but one of my goals for this trip is to write more, so the tale of how we got to Japan seems like a good place to start.

TFL was the first hurdle to overcome. That’s not a new thing though, they’re always pretty unreliable. It turns out that there was maintenance work being done on all the train lines that could connect us to our London City Airport flight, so our options were to either take several rail replacement buses and do multiple tube transfers in London, or take an Uber. Uber it is. As we were driving to the airport I definitely noticed the thick fog, but it was not something I could do anything about.

Let’s talk about flight check-in post-covid. British Airways’ method is horrendous. They ‘partnered’ with an app called Verifly, and it just did not work. Verifly is not up to date with the latest covid requirements for each country, and the verification result never seems to make it back to BA, meaning that we could not check in online and pick any seats for our long haul flight, at least not without paying BA more money.

Despite our online check-in woes the check-in at the airport went fairly smoothly and we dropped our bags off as soon as the bag drop opened. It was at the security gate where our troubles began. It didn’t let us through. Seconds later a guy came up and told us our flight was cancelled. We rushed back downstairs to the BA service desk to get ourselves rebooked, but there was already a hefty queue in front of us, and BA’s customer service desk at LCY isn’t the most populously staffed. When it was finally our turn the only replacement flight on the same day departed from Heathrow, in about 4 hours. Having no other option, we took it. The guy at the desk assured us that we could make it if we took public transport and left immediately, which should be doable given that he assured us all the bags we checked in were already waiting for us.

That turned out not to be true, and we had to wait a while to get our final suitcase back. What follows could be described as a “mad rush through London” but was in fact a quiet taxi ride to Paddington where we took the Heathrow Express (yes, I know.. but we were in a hurry and I fully intend to get this reimbursed from BA). We ended up taking a taxi because public transport seemed iffy according to the TFL site at the time (what a surprise) and the Uber didn’t show up in time. It turned out to be a good choice because the taxi driver said we’d be better off driving to Paddington and taking the train rather than driving all the way to Heathrow, given the weather and road conditions. We ended up at Heathrow with about two and a half hours to spare. We never did find out if the original flight was cancelled because of the thick fog or because of something else.

Our original flight would have had us transfer at Frankfurt and onwards to Tokyo Narita airport, our replacement flight would take us to Tokyo Haneda via Hong Kong, arriving only a couple of hours later than originally planned. At least, if we could make it on to the flight in time. We got to Heathrow with a reasonable amount of time left, but when trying to check in with the machines all we got was a piece of paper that said “Request assistance”. Despite it being BA’s main terminal at Heathrow, the general check-in area was woefully understaffed and handling of each person in the queue took forever. We were still very far back in the queue when I realized that we wouldn’t make our flight, and asked for assistance to a random BA member of staff, who saved us by bumping us up in the queue. The person who checked us in seemed to indicate that the reason we needed assistance checking was again that the covid certificate from Verifly wasn’t logged in their system. Once again, Verifly + BA just does not work.

Despite all the setbacks we managed to get checked in for the Hong Kong flight and headed through security. While doing that I was fortunately able to cancel our first night’s hotel at Narita free of charge, since our new flight would take us to Haneda instead. We got to the gate with minutes to spare and even had time to pick up some food, so I was pretty happy. Surely that was the last of our problems.

Hah, no. After we boarded the plane it sat at the gate for two full hours, apparently because some of BA’s crew members had to come in at the last minute and they had to get paper(!) approval from the Hong Kong authorities before they were allowed to board the flight. So by the time the flight finally left Heathrow I already knew we missed our connecting flight, which departed about two and a half hours later from Hong Kong.

This opened up a whole new world of trouble. We were supposed to just transfer at HK so we wouldn’t need to worry abouy any additionala covid restrictions that would have been required if you went landside. My assumption while flying was that they’d get us a replacement flight that’d be reasonably close to the original flight, so we could still sort it out at the transfer desk without going landside, but as soon as we got out of the plane a person from the airline was there waiting for us to guide us through the airport to get us landside. BA did get us onto a replacement flight already, which was nice, but it was about 6 hours later, which was not nice, because that meant we had to go landside to pick up our luggage and check in from there. And that meant that we had to do a covid test and sign all the documentation needed to enter Hong Kong. We passed through a whole area of sterile covid test cubicles, all fully staffed, but no passengers in sight other than the two of us and one other person who missed his connection. I’m not sure if that’s just a matter of timing and being between flight arrivals, or if just not a lot of people go to Hong Kong any more given the covid situation there. I suspect the latter but I can’t know for sure.

After going through all that we picked up our luggage and our guide brought us to the departures area, where we had a long wait for our final flight. British Airways kindly provided us a lunch coupon for our troubles, but our guide warned us it might not be valid since BA didn’t renew their contract with the airport vendors. This turned out not to be an issue because all the shops were closed anyway.

From there on it was finally smooth sailing all the way. The Japan Airlines flight was excellent as always, and we didn’t have any issue going through immigration and customs at the Japan side. Though it wasn’t clear to me that the Japanese covid site’s “quarantine pre-screening” part was required for the ‘normal’ arrival process to happen, given that we only required proof of vaccination. We managed to finish it before arrival though, and basically just walked through by the time we got to Narita – Yes, our replacement replacement flight took us back to Narita instead of Haneda. I had already cancelled the hotel, but that was fine though since we ended up arriving the next day’s morning instead.

We made it to Japan! It’s been a couple of years, but it feels like forever.

Tagged , ,

Dumb things programmers do

I’ve written before about this blog’s journey away from WordPress into becoming a statically hosted blog, and how I’ve regretted it ever since. Allow me to present you with the next chapter in this increasingly silly saga.

WordPress has a lot of limitations. It had them years and years ago when I first decided to move away from it, and it still has them now. Back then, you basically had three choices: 1. host your site through wordpress.com, meaning not a lot of customization options. 2. Host everything yourself, meaning it’s on you to keep things up to date and running. And 3. go with a hosted WordPress solution that allowed you to customize some things without having to manually manage your host or software stack. I was on option 3 at the time, and the major drawback was that it just wasn’t fast, and near-impossible to make it fast while still taking advantage of WordPress’ ease of use. Oh yeah, one constraint I forgot to mention in my quest: it had to be dirt-cheap.

So at some point I decided to statically host this blog. After all, how hard could it be, right? Just generate a bunch of files, put them in an S3 bucket and you’re done. Except you need to either use a framework that does that for you, adding a thing to learn and a depedency that could cease to be updated in the future, or do it yourself, increasing the time spent on writing and maintaining your own software. I went with the latter and wrote my own blog generation software. I tried to be strict on myself in terms of maintenance burden: I only wanted the absolute barebone functionality and as little reliance on third-party libraries as possible. I would only be satisfied if, years later, I would open up the code for this blog to add a new feature without having to trudge through thousands of lines of code, or having to stare at what I wrote in disgust and confusion.

I didn’t quite make it. Even in trying to keep the codebase minimal, it’s still a maintenance burden compared to WordPress for only a fraction of the features. I spent a long time trying to figure out how I was going to do comments on a static blog without having to rely on some shitty service like disqus. I ended up with something working, but clunky, and it only added to the maintenance burden. In retrospect I am 100% sure that staying on WordPress would have been the better solution.

So… where does a lazy programmer like me go from there? Back to WordPress? Ugh. I would have to re-convert all the blog posts I wrote in my custom format back into WordPress SQL or whatever other format WordPress allows you to import. I would have to rejig the DNS, undo all the magical things I had to do to convince AWS to host things in the way that they are.. It’s all certainly possible, but it sounds like a time sink. So instead, I did what every self-disrespecting developer would do, and I made things even worse.

One major disadvantage about this static blog is that I need to run software in order to write and publish posts. Since that software is something janky that I built myself I’m not super keen on exposing that to the world wide internet, so basically the only way I can write blog posts when I’m away is if I bring a laptop that’s got the blog software on it. Old school, I know. My solution to fix that was to come up with a little script I’d run on a local raspberry pi which would ping Github for published blogposts, and in turn render them and publish them. It would solve the problem of allowing me to write blogposts remotely, but I’d still need access to a git client.

So then I thought: why not write the blogposts on WordPress instead? I could read a WordPress RSS feed and use that to convert each post into my custom static blog format, and publish whenever there’s a new post. So that’s what I did. I now have a script that runs every couple of minutes on a local raspberry pi that checks if the WordPress blog has a new post, which it then publishes. The circle of madness is now complete. I have come full circle when really what I should have been doing is just stand still.

Eventually I will probably spend some time moving everything back to a more manageable platform. The way my life has slowed down over the years I’d say that’s probably not going to be any time soon, but let’s see how long this duct-taped solution will last, and which will be the first part to break. For now at least, I am “feature complete”. Yay.

Posted in Tech | Tagged

Change is in the air

When you’ve kept your head down for a long time you might be surprised at where you are when you finally look up again. That’s what it feels like right now.

It’s been an odd day. My life in general is pretty normal lately. As a fairly boring middle-aged person I sometimes have month after month where nothing of significance happens. Those days just fly by. But then, suddenly, something happens that jolts me from normality, and I realize fully where and when I am. Today was such a day.

First, my wife finally received her British passport. It has been a long wait for her since she first applied for citizenship, but today the last remaining worry was finally dispelled and she can travel freely again. This is amazing. One less thing to worry about.

Second, I met an old friend for dinner in London. It might be the last time I see him in a while because he’s leaving the UK, as a lot of my (software developer) friends have done in the last couple of years. Increasing costs of living in the UK make London an increasingly hard sell for a lot of people I know, so inevitably many of them are returning to their home country. The general concensus among people in my circle seems to be that London is fine for a couple of years – you earn some decent money, live the life, meet the people – but then it’s time to move on and go somewhere else so that you can have a better quality of life.

Most of my friends have left London now, either to move to places just outside of London, or further away. I’m not quite the last holdout but on days like today it certainly feels like it. It reminds me of the time when I left Japan and I was the last foreigner in my group of friends to leave. Being the last to leave is an interesting feeling. I certainly felt that same melancholy today, and it made me remember my past self.

Third, this happened:

The queen died. As I was walking to the tube station I passed by Piccadilly Circus, which was full of tourists and other random people, just standing there in a daze, staring at and taking photos of the giant billboard that was showing the queen. They all seemed a bit bewildered, wondering about what was going to happen next.

So I look up at the billboard and I realize that the world has changed so much recently. Ukraine happened. Covid happened. My life in the UK happened. And the queen is dead. Who knows what will happen next.

This is the new world
This is your time
Down in the basement
Dancing again
Everybody get ready to sing
When the lights go out
When the lights go out

Posted in Daily Life , Thoughts , UK

This is a test post

More info soon. I am working on a better way to publish blog posts. This post was published on a Raspberry Pi! Woohoo!

Posted in Thoughts | Tagged ,

The Netherlands

It's been four years since I was last back in the Netherlands. This might be the longest time that I've not been back. But covid is nearing it's end (hopefully), and circumstances allowed for it, so here I am. I didn't realise how much I missed it. A brief break from my daily life.

On a sunny spring day like this, going out for a cycle in the countryside is absolutely amazing.

Everything is green, sunny and positive. New life takes the place of old life.

Posted in Dutch , Thoughts , Travel

The electric bike

Last summer I decided to buy an electric bike conversion kit from Cyclotricity. They sell a 250W front wheel kit that doesn't require any major assembly or hacking into your bike, so I thought I'd give it a go. I'd like to think that I'm still as fit as I was ten years ago (because ten years ago I wasn't that fit either..) but I've definitely put on some weight since then.. Since my last major touring cycle I've probably put on as much as the weight of the touring luggage I used to carry, so it's as if any ride is a touring ride these days. Can't blame anyone but myself for that though.

The front wheel kit is pretty easy to install. The simplest version (the one that I got) comes with a battery, a controller box, a throttle (no pedal assist here, it's all manual control) and a front wheel that contains the motor, so in theory all you have to do is stick the bits on your bike without any disassembly other than taking the front wheel off. I did run into various difficulties though.

The first surprise was when attempting to put the new wheel onto my fork. It turns out the Surly Long Haul Trucker has some sticky-outy metal bits where the wheel connects with the fork, which is normally fine for almost any wheel because a normal wheel's wheel nuts are usually small enough to fit. But the motorized wheel's nuts were way too big, and I ended having to file large bits of my fork off so the wheel could fit. I'm pretty sure that the bits I filed off were decorative, but I really have no idea how it'll hold up in terms of structural integrity in the long term. The frame was already a write-off anyway since it was bent during a previous plane trip, so it makes for a nice experiment bike.

There were some other issues during mounting: the throttle unit doesn't fully break open, so if you want to put it into your handlebar you have to slide it on. This means having to remove the handlebar tape, brake/gear unit etc. I didn't like the idea of doing that right from the get-go, so I bought a handlebar extender instead, thinking it'd be useful for other purposes as well, like mountaing a smartphone holder and/or light unit. The one I got is way too wide though, and I'm not sure I'd buy it again. The controller unit goes underneath the frame in front of the rear wheel, and I again ran into mounting issues because the clamps provided were just a little bit too wide for my frame, and I ended up having to jury-rig that by wrapping the frame and the unit in tape to prevent the unit from jiggling around too much. It's all very ghetto, but it works.

My little bike shed is pictured below. I remember the days when I used to rent a 'studio' apartment that was a converted garage the size of this..

As you can see the cables are a bit of a mess. There's not really any way around this. I certainly could have tidied them up a bit better, but the way the package is set up is that you'll always end up with a bunch of connectors and wires that need to go somewhere. I can definitely see the value of a bicycle that has everything integrated in the frame.

I did a bunch of rides with it last year and I quite liked it. I hardly noticed the additional weight of the battery pack and wheel motor, probably because my touring bike is pretty heavy to begin with, and so am I. What I definitely did notice is the pull it provides on a hillclimb. The 'throttle' really only has one setting if you're going for the 250W model: on or off. I've cycled hillclimbs with up to a 10-12% gradient with this, and they are a piece of cake, even with a heavy bike and a heavy person on it. 250W is plenty to get up a hill at low speed with only a little human power added. If you're a hardcore cyclist and/or a glutton for punishment I'm sure it's hard to imagine 'cheating' by skipping the uphills, but for someone like me who's not in it for the performance, this is fantastic. Because of where I live I pretty much cannot avoid a 10% hillclimb if I want to go anywhere, and the motor just lets me 'skip' this without too much effort, or alternatively I can keep my speed up by adding my own power.

Before I bought this I did wonder if the front wheel unit would have enough grip when pushing, since the weight will be on the rear wheel, but so far I've not had a single issue. The front wheel motor is plenty grippy for every situation I've encountered.

What I like: it doesn't actually feel much heavier than usual, and I can skip any uphills that I don't want to do so I can preserve my strength to do longer rides.

What I don't like: the cables are an unavoidable mess, and I'm not really sure about the reliability. I did one longer ride last year where the motor kept cutting out on me despite the battery telling me it still had plenty of juice left. I couldn't reproduce that this year with a freshly charged battery, so I suspect it's not a case of faulty wiring or motor issues, but just the battery not being very accurate about its actual level. I need to do more rides to confirm that though. And even if it does fail: "escalators don't break down, they just turn into stairs". It's the same for an electric bike.

I still love cycling.

Posted in Cycling , UK

RSS Feed

Although in the previous post I lamented about wishing I'd stayed on Wordpress, a day after I published that this article about wordpress.com pricing model issues became the top post on Hacker News. Just changing out the pricing model for their existing users seems like a practice that would certainly have made me unhappy if I had been their customer. It made me feel slightly better about the time I spent on this blog. But only slightly.

And speaking of ancient technologies, since it seems I'll be on my self-built platform for a while I added support for RSS feed generation to my static blog platform. The front page now has an RSS feed, though I likely won't bother to add feeds for categories, tags or article comments unless there's more early-2010s nostalgia fans like me out there.

I'm still thinking about publishing this on Github but I know there's tons of static blog solutions out there that are way better than mine, so I've not been in a hurry. It's on my todo list though.

Posted in Tech | Tagged

Comments

I deeply regret moving away from Wordpress. It was a terrible choice. Self-hosting is much, much faster, more secure and I have more freedom to do what I want with this site, but even something as simple as making a comment form involves so many decisions and so much future maintenance burden that it just makes me sad.

Anyway, it's working. There's comments again now. I have to regenerate the entire site to make this work, but it's not something that should happen too often. I had planned to go with a full AWS-based solution but ended up incredibly frustrated because everything AWS is just so needlessly complex. Lambdas and SES seem like a great way to handle "serverless" comment form submissions, but hooking it all up and figuring out which set of permissions to use made me vow never to use AWS again if I can avoid it. Instead, pythonanywhere.com lets you very easily spin up any kind of python server, which made it super easy to get started, and the free tier provides more than enough capacity for a blog of this size. I gave up on SES as well and ended up going with mailjet which again provides a very usable free tier and a straightforward API.

I also had to add a captcha to avoid abuse. It's unfortunate, but kind of necessary on today's internet. An alternative would have been to ask people to tie an identity to their comment and authenticate them with Google, Facebook or whatever, but that runs counter to what I'd like this blog to be. If you do think this would have been better, feel free to leave a comment! You can do that now!

So in the end I had to use three new cloud services to make comments work on my static blog: a non-static web hosting service to handle the comment form submissions, a mail service to send out the comment notifications, and a captcha service to prevent abuse. In return, what I get is data that remains under my control: comments (and email addresses used in comments) are in my inbox and on my PC, rather than on some external commenting service. No ads, no spam, no bullshit. Mild hassle because of the captcha, but hey, you can't have everything.

What I would do different in the future if I still had to stick to a static/custom solution: just load everything in memory. All the 17 years of content on this blog, compiled into html, is less than 256 megabytes. Even if I became twice as prolific over the next 17 years it would still easily fit into memory. Single server, maybe with a CDN in front of it, though I doubt it'd need it. Optionally I could parse the original templates on-demand to save even more memory, but it doesn't really matter. That way I wouldn't need to jump through hoops to make static hosting work and could have everything be contained in a single web service. All of this is of course still worse than moving back to Wordpress.

Posted in Tech | Tagged