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”.

Checked in at Shake Shack. Went for a single this time. But it’s nice and warm outside. Perfect burger weather.

Love the shutter on this udon restaurant near Shonandai. Fuji, green tea, and a bowl of udon: a winning combination.

When I listen to Hikawa Kiyoshi I always remember my first trip to Japan in 2006 and my host mom in Toyota who was obbsesed with him. Not a surface in the house without his photo (including the bathroom!).

A Father and son are waiting for a haircut. Dad steps out for a smoke. Son goes for the complimentary coffee and has put 4 packets of sugar and a few creamers in it. He’s going to bouncing off the walls.

Checked in at Komeda’s Coffee (コメダ珈琲店). Maru Cheesecake type thing and coffee after some exploring in Totsuka. ☕️

Giving Apple Maps a Try Again

I quit Google search and Chrome a number of years ago and switched to DuckDuckGo and Firefox for privacy concerns. Google maps on the other hand has managed to keep its place in my life. It’s pretty good about knowing where things are and makes it easy to find a nearby cup of coffee when I’m in an unfamilair place.

After a poor experience with Apple Maps when it first launched, I’ve mostly ignored it. But I’ve decided to switch to Apple maps and see how it has improved. As far as the app itself, it’s a joy to use. It’s more fluid and feels like an iOS app should.

My main concern is navigation. The last time I used it in the US the routing wasn’t great. But I’m in Japan now. I’ve heard that Apple’s routing is better in Japan than Google. Google’s routing has a tendecy to route you down super small, maybe not legal to drive on roads.

Google’s default navigation in Japan can pronounce Japanese better, while Siri seems to be pronouncing Japanese like English by default, which makes place names nearly uncomprehenciable.

The jury’s still out if the promotion to my dock willI stick, but so far I’m enjoying the Apple experience a lot more.

Waiting for trains 🚞

Ever since Leo started being obsessed with trains, we always walk along the tracks on the way home from the station. Today not a single train passed and as we got close to the guard rails he started mimicking the noise they make. So we waited with a couple of other kids for the next train to go by. It’s the simple things that make life fun.

When I take the train to Tokyo in the morning there’s this guy who is around my age, but dresses like an old man. Keeping with the theme, he uses a Walkman to listen to music on the train. He’s my hero for today. 🙌🏻

Designed for the Mac

As the Mac has become more popular the cohesiveness of the platform has declined. This is partly because the apps were simpler i.e. we didn’t expect a single developer to support their app across of variety of devices and that the developers who chose to develop on the Mac had a similar goal: make software for the rest of us.

Over that same period our workflows have changed tremendously. Everything is connected to the internet and users expect to be able to access their data instantly, no matter the device they’re using. No longer is a native Mac app enough. At a minimum you also need a mobile, as well as the services to authenticate and sync data between the apps.

In practice what this means is that rather than developing native apps and web-services to power them, the majority of applications have moved to being web apps entirely or to electron-style, web-app masquerading as a native apps.

The result is a computing experience that feels patched together, rather than designed. Each app has its own design language and way of doing things that is different from each other.

As a user of the Mac, there isn’t much I can do to reverse the trend. But what I can do is to find and support smaller, simpler applications. Find and support applications that are designed for the Mac, not just on the Mac.