Drought tolerant native plant species populate the High Line. HL23, a building I've always admired, leans above the park in the distance.
Iron. Wood. Land.
Someone explored Infotron deeply enough to discover a few easter eggs in the level designs, including (apparently) my own signature:
It took real work to do this! It’s not possible to see portions of levels that are “out of bounds” in the game itself. Whoever did the work had to reverse engineer the level format, write code to fully render each level, and then actually examine each image in detail. That’s quite some effort for a (long-forgotten?) 25-year-old shareware game.
Yesterday was moodily wet and dark in Seattle. I hit record and this moody… cheese emerged. Sometimes you just gotta go with the cheese:
It’s called Kimberlite. Our mission is to give podcasters superpowers. We’re starting with a power that we’ve always wanted for ourselves: the ability to ask fans for money, and collect it, without making anybody jump through hoops. Like, zero hoops: tap the “join now” button, authenticate with Face ID, and you’re done.
If you’re a podcaster and you’re interested in direct monetization, definitely say hi.
We wrapped up the live blog at 2:30AM and before we wrapped it up I was looking at [newspaper] headlines.
Almost all of them had some version of “Split Decision”… which is stupid, really.
People are confusing inputs and outputs. The input was not a split decision: where the American people are at at this moment is super clear. The output? Sure, it’s split. But that’s not the same thing.
Clearly, the inputs were strongly pro-Democrat. I still think “Split Decision” is a good description in the sense that Bill Kristol used it: it wasn’t a good night for Republicans, but neither was it an obvious repudiation of Trump and Trumpism. In that sense, I remain disappointed by the midterms. Sure, I didn’t really think that America would “rise up as one” against Trump… but I certainly hoped for it.
Micro.blog now supports Mastodon. It’s great.
It’s also a reminder that federated social networking can sometimes be (unavoidably) complicated:
Your custom domain on Micro.blog can now be ActivityPub-compatible, so that you can follow and reply to Mastodon users directly on Micro.blog. This also means someone can follow your blog posts by adding @email@example.com on Mastodon. (This username is configurable. Mine is @firstname.lastname@example.org.)
I wonder how many users will fully understand this and make use of it?
I think Bill Kristol has the right of it:
One can argue Republicans didn’t really do that well given the strong economy. One can argue Trump is on net a burden to the party and that in the long term he’ll do great damage. But one must also admit the public did not rise up as one yesterday to repudiate Trump and Trumpism.
Of course it didn’t take long for Trump, emboldened by Republican gains in the Senate, to start the process of dismantling the Mueller investigation by firing* Sessions and replacing him with a loyalist. (* Sorry: I meant “accepting the resignation of”.)
Chrome 70, just released, supports WebAuthn with biometrics. This includes Touch ID on macOS. I was playing with it this morning:
I can’t wait for Apple to get in the game here: if Safari supports WebAuthn and biometrics in some future release of iOS and macOS, and ties it to iCloud Keychain, we might really see passwordless authentication take off on the web. Porting private keys outside of a single ecosystem might prove to be a stumbling block at first… but it’s still a step in the right direction.
Here’s a short slow improv riffing on the harmonies in Wayne Shorter’s Speak No Evil and Miles Davis’ Nefertiti:
There’s been a flurry of recent articles about RSS and ActivityPub:
The Rise and Demise of RSS traces some interesting RSS prehistory that I wasn’t aware of. It also covers the great RSS 0.9x/1.0 schism.
In Oh God Not This Again, Brent Simmons reminds us that RSS is plumbing; widespread adoption of RSS readers isn’t necessary to make RSS “successful”.
What is ActivityPub, and how will it change the Internet? makes several breathless claims about the W3C ActivityPub standard; interesting discussion follows.
Despite being omnipresent, mountain goats are apparently not native to the Olympic Peninsula. So: they’re getting relocated.
I love this amazing photo, by Ramon Dompor, of mountain goats dangling from a helicopter on their way to a new home:
As amusing as that photo is, I’m actually a bit sad to hear about the relocation. When I think of Olympic National Park, I instantly think of mountain goats. One day, while hiking the Klahhane Ridge, Amy and I had to make way for the locals; we happened to capture this video:
Whenever the noise becomes too much, I can turn it off. All it takes is a press of a button. Or, even better, I remove my earpiece entirely. Sound is now off.
This silence is the most absolute that any human can experience, one beyond the best noise-canceling headphones or earplugs. It’s a tranquil state of being, as if I were at a deserted lake on a windless day: still and serene. I do my best thinking here, shielded from the noisy world.
View from the Anacortes Ferry, near Friday Harbor
I think Twitter should reverse course on this whole thing. Replace the now-deprecated third-party client APIs with new ones, let third-party clients flourish, and figure out a way to make money from them.
Sadly, we all know that won’t happen. I’m not even sure it’s the right path forward. If we want an ecosystem of third-party microbloggers, I think Manton has found the better path. His micro.blog clients are the first “indie web” apps I’ve run across with a great user experience. The open nature of the service makes it possible and desirable for other great apps, like Icro, to flourish.
“RSS is dead.” — The tech press, en masse, circa 2013
“It’s time for an RSS revial.” — Wired, 2018
RSS, a feed format first introduced by Netscape in 1999, is today a piece of mostly forgotten plumbing behind the Web. The format had its moment in the sun in the mid-2000s when an ecosystem of reader applications and feed-rich websites flourished. Early reader apps made it easy to consume content sourced from countless websites and to see new content nearly as soon as it was published.
RSS’s “mainstream” popularity peaked with the advent of Google Reader, the first non-beta version of which shipped in 2007. Reader was unceremoniously axed in mid-2013, a casualty of changing consumption habits and of Google’s strategic disinterest. Growing social networks, including Facebook but most especially including Twitter, stole much of RSS’s thunder. Personalities and publications became co-equal voices. Flowing rivers of news, not inboxes with unread counts, became the dominant UX metaphor.
In a twist of fate, in the half a decade since Reader’s demise, RSS has both exited the public consciousness and exploded in daily use. This is entirely due to the growth of the podcast ecosystem: every podcatcher app is secretly an RSS app; every podcast is secretly an RSS feed. NPR is perhaps the world’s largest purveyor of RSS feeds, with nearly 17M monthly unique listeners.
Beyond podcasting, a community of healthy lifestyle businesses has emerged to replace what was lost with Google Reader. Feedly is perhaps the largest player in the space, providing an excellent sync platform and web reading UI along with power features targeted at high-volume consumption of content by researchers, analysts, and teams.
I suspect that opportunities exist both to improve the reading experience and to provide new vectors for content discovery.
The fundamental limitation on consumption is time; as metaphors, inboxes and rivers both dance around this limitation. Inboxes invite consumers to “capture it all” but immediately frustrate them with unread counts that make plain their inability to do so. Rivers remove “total capture” as an expectation but force consumers to tread water as the volume increases. Shallow engagement with content, and (perhaps) increased media polarization, are the results. A consumption service that takes limited time as a fundamental premise would offer an intriguing counterpoint to these metaphors.
Discovery is a tricky beast. Few consumers today would claim that they lack new content to consume! At the same time, humans are foragers. We value new content not only as a function of its quality and utility, but also as a function of how we find it. Ask any music lover about their favorite albums and you’ll quickly discover that the circumstances of and path to discovery are just as important as the music itself. As a result, services that provide additive and unique new vectors for content discovery may prove successful. On the other hand, solo services claiming to “solve” the discovery problem are probably missing the point.
The broader RSS ecosystem is about much more than consumption. Today, RSS is as much a format as it is a signifier of a better, more open, and decentralized1 future for the web. The self-styled Indie Web community is its standard bearer. Along with newer (sometimes informal) standards like Microformats, Micropub, Webmention, and ActivityPub, RSS represents a potential counterpoint to the closed and centralized social networks of today.
In the past several years, a number of early federated social networks have emerged. A few, including Mastodon, PeerTube, Pixelfed, and micro.blog, have shown modest but intriguing traction. Mastodon, for instance, has 1.4M registered accounts across its network and sees over 100k actives weekly. During its two year lifespan there have been 154 million “toots”. The network continues to grow, albeit at a modest pace, and demonstrates unexpected use cases. For example, shortly after the passage of the FOSTA/SESTA bills, a major new Mastodon instance emerged to serve the needs of sex workers in the United States.
I believe there is sizable untapped potential in federated social networks, although it is difficult to predict future scale and probable economic winners. To date, the Fediverse has contented itself with replicating the features of its centralized counterparts. This is uninspiring and unlikely to attract an audience. “Own your own content” is not a mainstream value proposition; neither is “Delete your Facebook”. An opportunity exists to provide users with new social capabilities that the centralized social networks are unlikely to ship on their own. These capabilities don’t need to be radical departures from the past: if the Internet has taught us anything, it’s that even small deviations from currently mainstream modes of expression can quickly attract large audiences.
As a final note, it is worth mentioning the world of cryptocurrency as it relates to the future of decentralization. Some prominent figures, like Chris Dixon of a16z, believe that cryptocurrencies — or, at least, blockchains — have a foundational role to play in a future “re-balancing of power” away from centralized services like Facebook and towards the open web. While provocative, my perspective is that this confuses the issue: there are plenty of federated systems — like email! — operating at scale today that have no dependency on crypto tech. At the same time, it’s difficult to imagine a future ecosystem of any kind where the distribution of influence is flat or nearly so: power laws are the norm, not the exception. We should acknowledge that unequal outcomes in networks are the result of many factors, perhaps primarily including nontechnical factors.
 I typically avoid the word “decentralized” but acknowledge it is the common term, at least today. I prefer “federated” since it has less baggage: many people think “decentralized” implies an equal balance of power among participants. In practice, meaningful networked ecosystems almost never converge to uniform distribution. Email is federated; Gmail is its behemoth… and that’s okay.
Julia Evans, a talented engineer and illustrator, made a series of programmer ’zines that I’ve happily collected:
Apparently Julia just started a company to manage sales. I look forward to reading more of her ’zines in the future.
Marco Arment seems to have a knack for doing little things that are, upon reflection, actually quite big.
This is a small increment that, if widely adopted, will make the open web meaningfully better. Better still: there’s no reason adoption should be limited to podcasts; that just happens to be the corner of the open web that Marco is most invested in (and that, at least today, has the most traction).
It’s not clear to me what’s driving the growth in instances: my assumption was that disaffected Twitter users would flock to well-known servers (like
mastodon.xyz) but it appears that self-hosting is becoming increasingly common. Perhaps this says something about the kind of Twitter user that considers Mastodon a viable alternative?
From the “get off my lawn” department.
I start a new Python web project using a popular “modern” template.
Immediately after creating the project, the top-level directory includes
runtime.txt, and three different
This feels broken in a way I can’t quite put my finger on. I accept that we’re long past the day when, to start a new project, we needed precisely two dependencies: the Commodore 64 Programmer’s Reference Guide and the Merlin Assembler. But I don’t accept that this complexity and layering, especially with its typical paltry documentation, is at all manageable for the average developer. I’m not convinced that it’s manageable for any developer, including the developers who created the template itself!
Yes, the substance of programming has changed radically since the days of the 6502. Then, the art was to understand the machine and coax it to do useful things despite its limitations. Today, the art appears to involve stringing together black boxes in endless new combinations, hoping to arrive at utility that outweighs the mental and operational overhead imposed by those boxes.
If that is indeed today’s art then I believe we’re far from finding an aesthetic that makes it meaningful.
I’ve been taking a closer look at the world of ActivityPub and related federated social networking standards.
The entire network reports slightly over 121 million “toots” across Mastodon’s entire history; for comparison, it’s estimated that there are 500 million tweets every day — that means a new Mastodon is created on Twitter roughly every six hours.
 Okay, it’s not strictly an ActivityPub implementation; there’s a more involved history that’s not relevant here but is worth reading.