In 2016, elementary moved to a Medium publication to host our official blog. At the time, Medium was touted as a simple, clean, and reader-focused host for writers. They supported custom domains, a robust API, RSS, rich formatting, and great image embedding. We had been largely happy with the experience—as were our readers—but something changed in 2017.

(Via Welcome to the New Blog ⋅ elementary Blog)

I like elementaryOS. Yet this is not a post about it. Nor is this yet another post about the problems with Medium.

I’m still considering moving from my self-hosted WordPress on DreamHost to a static site on This elementaryOS post documents my own thoughts on this potential migration.


The post talks to several key points I like:

  • Fast. Since it’s a static site, there’s no waiting around for pages to load and render on a server. They’re served as-is directly off a fast, global CDN.
  • Total control. Since we are writing the entirety of the HTML, CSS, and JS, it means we can decide exactly what the blog is, looks like, etc.
  • Privacy-first. Because we have total control and are leaning on the static nature of Jekyll, it means we can be fanatical about privacy: no external JavaScript, no analytics, no social tracking scripts, etc. Just what matters: the content.

Where I diverge is not relying on GitHub. i have two reasons:

  1. It’s yet another corporate cloud provider owned by Microsoft; and
  2. I don’t use GitHub all that much for reasons that have nothing to do with 1. has Jekyll support. I like SDF’s model and they’ve been around for over 30 years.

More advantages:

Modern Features
Just because it’s a simple static blog doesn’t mean we don’t support all the modern features you’d expect:

  • RSS feed for all the subscribing and cross-posting you could desire.
  • Completely responsive design from the start.
  • Great typography for long-form reading with sane line-lengths, pull quotes, etc. […]
  • Rich image embedding with side-by-side layouts, zooming in, and full-bleed support.
  • Sharing to social media without the privacy-invasiveness that usually comes with it.

I’m also following their lead by avoiding a on-site comment system. Instead I will rely on ActivityPub. If I want to see how my posts do, because:

… [I] get enough sense of “engagement” via social media and press coverage to know what [my] users and readers find interesting. And since [my] goal for the blog is to spread genuinely useful information …

[I’m] not incentivized to tailor […] content to what gets the most clicks or attracts the “right kind” of readers. 

No Tracking, Remote JS, External CSS, or AMP

Here is one of my key tenants:

… avoid as many forms of tracking as possible. This sounds easy, but it turns out that modern web development practices heavily push you towards including external scripts, tags, etc. for simple functionality … 

Because this drives me crazy:

We’ve also found that a clean, tailored blog doesn’t actually need any JavaScript to function (a near-blasphemous concept on the modern web!), and any tiny amounts of progressively-enhancing JS we may want can be included on the page where needed. For CSS, we use Sass to make it easier to write (and more organized across multiple component files), then the preprocessor compiles it all into one minified file.

In addition to the above, I love their statement around Google’s largely unnecessary AMP technology:

We feel that AMP is perhaps an acceptable technology that may solve problems for large, slow sites, but Google is unacceptably pushing it on all websites—and unfairly deprioritizing sites that don’t adopt their technology. Instead, we believe in web standards and the open web, and will continue to publish stories on a crazy-fast performing static blog without resorting to non-standard technologies.

Final Thoughts on WordPress and DreamHost

I have no ill will for either company (Automattic in the case of WordPress). I’m finding I’m spending too much time fixing and tuning compared to writing. Both are solid choices for a self-hosted on a trusted platform solution.

Stay tuned!

Many apps I used are doing to a subscription model (a.k.a. Software-as-a-Service in the corporate world). As they move to the SaaS model I take a deep look.

Immediate red flags for me are when devs explain their move in these ways:

  • Implemented a custom proprietary sync mechanism
  • Implemented encryption
  • Costs are rising
  • Push notifications (in most apps, unnecessary chrome)
  • Theming, styling, icons &| dark mode (again, unnecessary chrome)

There are select apps in the subscription model to which I subscribe and why:

  • Apollo (Reddit reader app): superior to the native app & other options; theming; and to support development
  • CARROT Weather (Weather app) Tier 2: additional data sources; Apple Watch; map layers; and other stuff
  • Fiery Feeds (RSS reader app): for “Smart Views” ; to support development; and I read a lot of feeds
  • Overcast (Podcast app): to remove adds; to support development; and I listen to a lot of podcasts

Apollo violates two of my red flags, yet the developer is crazy responsive; his app is heads & shoulders better than the native Reddit app; and he regularly pushes out updates for security/bug fixes/functionality/chrome.

CARROT Weather also often pushes out updates for security/bug fixes/functionality/chrome, and is also better than the other options.

Overcast does, too, but more judiciously based less on chrome. I like PocketCasts, too, but less so.

Some apps that I avoid in the subscription model but use in their legacy or alternate license mode:

But I don’t know what the right way is:

Networking and web security giant Cloudflare says the recent 8chan controversy may be an ongoing “risk factor” for its business on the back of its upcoming initial public offering. […]
8chan became the second customer to have its service cut off by Cloudflare in the aftermath of the attacks. The first and other time Cloudflare booted one of its customers was neo-Nazi website The Daily Stormer in 2017, after it claimed the networking giant was secretly supportive of the website.
Cloudflare, which provides web security and denial-of-service protection for websites, recognizes those customer cut-offs as a risk factor for investors buying shares in the company’s common stock. […]
Cloudflare had long taken a stance of not policing who it provides service to, citing freedom of speech. In a 2015 interview with ZDNet, chief executive Matthew Prince said he didn’t ever want to be in a position where he was making “moral judgments on what’s good and bad,” and would instead defer to the courts. […]
Cloudflare has also come under fire in recent months for allegedly supplying web protection services to sites that promote and support terrorism, including al-Shabaab and the Taliban, both of which are covered under U.S. Treasury sanctions.
In response, the company said it tries “to be neutral,” but wouldn’t comment specifically on the matter.

(Via Cloudflare says cutting off customers like 8chan is an IPO ‘risk factor’ by Zack Whittaker)

I am mixed on this takedown even after a solid week of reflection. There is no doubt in my mind that 8chan is toxic and a blight on humanity, and the same with The Daily Stormer. I’m happy they aren’t being protected by CloudFlare.

However, I don’t like that:
– there’s no oversight into these takedowns;
– CloudFlare acted from public pressure (well, social media pressure), and the mob is oft not rational (or real);
– and, from a technical perspective, these instances offer a problematic precedence.

CloudFlare and similar companies are almost as core to the Internet’s function these days as DNS and NTP. My site is protected by CloudFlare, in fact (and in full disclosure, etc.). They and their competitors are akin to an active Internet insurance policy. Denying core-adjacent functionality and insurance to sites because the sites are reprehensible in giving the dregs of society a place to congregationally amplify their hate seems a no-brainer on first blush. But it also helps lay out a blueprint for blocking sites for far less.

Sadly, I don’t know how I would feel better about or how I would solve this. I’m open to constructive discussion.

To be clear: I agree wth CloudFlare on their actions in regard to 8chan and The Daily Stormer. I would like the actions to get codified into a documented policy.

Today I learned that ZIP Codes do not strictly represent geographic areas but rather “address groups or delivery routes”.
> Despite the geographic derivation of most ZIP Codes, the codes themselves do not represent geographic regions; in general, they correspond to address groups or delivery routes. As a consequence, ZIP Code “areas” can overlap, be subsets of each other, or be artificial constructs with no geographic area (such as 095 for mail to the Navy, which is not geographically fixed). In similar fashion, in areas without regular postal routes (rural route areas) or no mail delivery (undeveloped areas), ZIP Codes are not assigned or are based on sparse delivery routes, and hence the boundary between ZIP Code areas is undefined. […]
ZIP Codes are therefore not that reliable when doing geospatial analysis of data:
> Even though there are different place associations that probably mean more to you as an individual, such as a neighborhood, street, or the block you live on, the zip code is, in many organizations, the geographic unit of choice. It is used to make major decisions for marketing, opening or closing stores, providing services, and making decisions that can have a massive financial impact.
> The problem is that zip codes are not a good representation of real human behavior, and when used in data analysis, often mask real, underlying insights, and may ultimately lead to bad outcomes. To understand why this is, we first need to understand a little more about the zip code itself.

(Via The Bear with Its Own ZIP Code by Jason Kottke)

I ran into this a decade ago, plus or minus a few years, when trying to come up with a good mechanism for imprecisely denoting the general location of network equipment. One idea had been to use the ZIP code or outside-of-the-US postal equivalent in device naming or SNMP strings. I determined ZIP codes and their analog are useful in postal delivery but are not good for asset and information management. I think there was a substantial cost for a database with every possible Earthly postal code, which would have been a massive overkill for the need.

Baird Kichijoji Taproom (吉祥寺タップルーム)

Newest location. No seasonal or special taps; bottles instead. Mainstays are on tap. Small front room but large room in the back.

Tokyo, JP

34 °C scattered clouds

It’s worth checking if the rules we hold dear, and fast to are helping the people we serve.

Rules Checklist

  • Why does this rule exist?
  • Does this rule benefit the majority of our customers? How?
  • Do we have difficulty looking people in the eye when we explain this rule? Why?
  • What story does this rule tell the customer [and ourselves] about our values?
  • How does this rule make us better?
  • What would happen if we scrapped this rule?

Doing what’s accepted or expected isn’t necessarily the right thing to do.

(Via The Story of Telling)

I like this.

I got back from stocking up at the market just in the nick …

It turns out that there is a problem downloading from the GNU [ELPA] archive that’s related to TLS. Happily, the answer is simple: just add

(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")

to your init.el file. […]

If you’re getting weird errors when you download from the GNU repository, try adding the above line to your file. It worked well for me.

(Via Irreal)

I ran into this very issue the other day but didn’t have time to run it down.

I’ll be 😆 tomorrow when #Tokyo starts up again from the Summer holiday. Also, this is a test of quill.

Conspicuous consumption is not absolute, it’s relative. […]

It’s a lousy game, because if you lose, you lose, and if you win, you also lose.

The only way to do well is to refuse to play.

Earning trust outperforms earning envy.

(Via Seth’s Blog)

Last night I sold my Sonos system, 2x Play:1 & 1x Play:5 I schlepped to Tokyo from the US a few years ago, to another expat. Tomorrow I sell my Canon DSLR and related kit for another bit of cash. 

I supposed I am de-consuming?

BTW, wasn’t “The only way to do well is to refuse to play” the moral of WarGames?