Introduced ourselves to our new neighbors across the street at our new house. They’re super nice and have a granddaughter around Leo’s age. Such a relief.

Apple Wallet + FaceID = 😍

It took getting a mortgage for me to get a credit card in Japan. The registration process was polished using the camera to read the card details and Messages to auto fill the verification code sent via SMS. Paying for things just using FaceID is so fluid. Not to mention the privacy and security benefits of using a dynamic card number. Hats off to the designers and engineers behind it all. Well done!

Apple needs to contract Johnny Ive’s new company to do voice overs for the product videos. I miss the accent.

Managed to get Vue.js/Typescript with webpack, which is then included in a Django template allowing for the best of both Single Page Applications and traditional form based apps that Django excels at working today. Hot-reloading is so nice. I should document what I did.

Saw some fun English on the train today. “You can’t expect to inspire people if you’re uninspiring. OBEDIENCE”. All righty then.

Found this fascinating video about the transformation of Dutch cities from car centered to people and bike centered. Japan is way more bike friendly than the US, but dedicated bike lanes or roads are still rare.

Something I’ve been thinking a lot about recently but not yet been able to reach a conclusion, is the open/indie web and how I can contribute. Writing a blog again is a start, but I’d like to do more. Any ideas?

The Slow Web

It’s been almost 5 years since I wrote Slow is not a Dirty Word. Reflecting on the sentiment in that article, that the best things in life take time and we needn’t rush as society tries to force us, didn’t quite go far enough. The concept of Slow should also be applied to the web.

The Slow Web

What is the slow web? At it’s core it’s the idea that we shouldn’t fill our mind with junk and we should connect with those around us. Social media is fast food for the mind. Consuming it feels in the moment, but when you look back you’re not left with anything memorable. Moreover, because of the lack of nuance afforded by platforms, such as Twitter, it encourages behavior based on dopamine and adrenaline impulses.

  • The slow web is formulating your thoughts and expressing them fully.
  • The slow web is about owning what you produce.
  • The slow web is open.
  • The slow web is yours.

The Slow Web in Practice

For most people the slow web is best manifested as a blog. This could be a simple Wordpress blog, a, a bunch of static files on a server somewhere, anything that works for you. The important part is that you have control of your content. That you can control how and when it appears.


So much of sharing on the web these days is based on these social media platforms. So how do you get the word out about your new latest pieces in the slow web?

  • Writing unique content that matters to you and like-minded people will find it via search
  • RSS Feeds (standard in most all blogging systems)
  • POSSE (Publish (on your) Own Site, Syndicate Elsewhere

Ignore the Numbers

Knowing the number of visits to your website or article only serves to feed disappointment when one article doesn’t match your expectations. Avoiding that sense of failure will inevitability lead to a habit of not writing and only consuming.


The common methods of tracking visits can not only break your site, it also invites an invasion of privacy for your readers. Are there more privacy-minded ways to collect visitor statistics? Yes. Do you even need to collect the information in the first place? Probably not.

Don’t Over Engineer

As technologies it’s often easy to get caught up in nuts and bolts. We’re want to build our websites to handle all the traffic the world can throw at it, so we setup database servers, build servers, deploy servers, proxy servers, and CDN caches. And for what? A trickle of traffic? All of this could be easily served off a single server, reducing operational complexity and reducing the places where things can break when you really just want to publish a blog.

Making the Jump

Making the jump to the slow web doesn’t mean you cannot participate in the social networks, you’re just changing the terms of engagement. Instead of being the default place to collect your thoughts and ideas, it simply becomes another channel to link back to your site.

Because you no longer tweet every clever thought you have into the void, you’re able to slow down your mind, formulate your thoughts, and take back control.

Checked in at 東京入国管理局 横浜支局. Hopefully the last time at immigration for a while (7 years?). Picking up my permanent residence. Y’all’re are stuck with me. :-)

Checked in at Starbucks Coffee 藤沢菖蒲沢店. A nice morning trip to Starbucks with the family. Leo has had his first yogurt and banana at Starbucks.

Recent End to End Testing Preferences with Django

When testing in Django there’s two basic ways to make an End-to-End test for your view: use the test client to send a request to the server or create a fake request object and manually call your view function.

One isn’t “better” than the other, but I’ve come to prefer using the mock client over the fake request for the following reasons:

  1. Client tests hit the entire stack of code before executing your view allowing you to catch any conflicts with a middleware or settings and your view.
  2. Url Path tests come for free. When testing with fake request objects you can put any path you’d like in there and it will execute missing that bad merge where your url config change removing an endpoint.
  3. It’s (slightly) easier to reason about. If I’m writing a test to confirm X happens when Y is posted I make Y and post it rather than making an object that pretends Y was posted.
  4. It removes the friction to refactor your views. As long as the url stays the same, you can rename and move your view however you’d like without changing any of the tests. This makes it easier to create a more consistent codebase e.g. some views use the verb “save” while others use “register”.