Link: Automation

In the vein of technological art, Andrew Campana built something that generates poetry based on the automated subway announcements of the Japanese train system. Some of the combinations can end up really interesting:

The ceiling is passing through on Platform 26. Please contact us.
The local train is moving on Platform 23. Please take care of yourself.
The express train is listening on Platform 1. Please give it back.

Nintendo Labo

Nintendo’s been doing a lot right with their latest console (the Switch). It’s got a pretty compelling use case, and has become the go-to console for some really fantastic gaming experiences (looking at you, Breath of the Wild and Super Mario Odyssey). It also looks like they’ve managed to win over and embrace indie developers, as indicated by a steady stream of titles. I think one of the things they’re getting right (aside from building some amazing games themselves) is an appreciation for play and whimsy, as evidenced by their latest addition to the system: the Labo. Go watch the trailer:

I love pretty much everything about this idea.

Going to Japan

I’ve been talking about wanting to go to Japan for years — Japan and Greece were my go-to bucket list destinations going as far back as when I was 11. I still haven’t visited either of those countries, 25 years later, and it’s high time I corrected that. Just booked tickets for a trip to Japan for my birthday in April! I’ll be there for 11 days (well, I’ll be gone for 11 days, but 10 days there due to timezones and transit). My plan is to bookend my trip with a few days in Tokyo on either side, then take a train down to Kyoto and Nara in between.

I tend to look for quieter spaces, and I’m fascinated by a lot of the shrines and temples, but I’m also going to try and hit some other stuff (keeping an eye on tickets for the Ghibli Museum for instance). I’ve not done much foreign travel (and basically none to non-English speaking countries), so I’m a little nervous about it, but also excited to finally do this. Do you have any tips for things to check out or stuff I should prepare for in advance?

What I Use: RSS

I encourage people to subscribe to my site via RSS, when mentioning I have a site on the Facebooks and Twitters and similar. This may seem a little archaic (that is so 2008), but honestly RSS is still one of my go-to solutions for finding worthwhile things to read, watch, or experience.

One of the big reasons you don’t really see RSS mentioned anymore (despite folks actually using it often, without realizing it… looking at you, podcasts) is because Google stupidly shut down Google Reader, which was the de facto standard for reading your feeds. That killed a lot of momentum for its use.

While RSS may be limping along, it’s not dead, and a lot of sites actually do have RSS feeds, still — they just aren’t as prominently noted or advertised or linked anywhere.

Of course, even if you do decide to use RSS, there’s still the hurdle of finding an RSS reader you actually like. A lot of folks go with a web-based option (ala Google Reader), so they can read on whatever device they happen to be on. There’s also some pretty nice apps for sale (for instance, NetNewsWire), if you’re so inclined, and a lot of RSS-adjacent apps (like several web browsers, and even Apple Mail) are available as well. Personally, I use Vienna RSS, which is an open source project made for macOS. I’ve tried a bunch of other apps and methods, and this is the one I keep coming back to (there was a gap where development wasn’t really happening much, so I looked around a fair bit, but regular updates are happening again). It’s fairly fast, robust, and seems to handle a ton of feeds well. If you’re looking for a reader, I’d say it’s worth a try.

I recently went through and cleaned up my RSS feeds, getting rid of dead feeds. I just want to say, to all those bloggers who have continued to post after the blogging fad wore off: I salute you, and I’m still reading.

Extracting a Nested JSON Value in Python

First, some context: I’ve been working on some Python libraries at work that do things with sets of json data. This is generally pretty easy: Python has a nice library for reading json, so it can be worked on as a native dictionary object in Python. This is great for simple json objects, but there’s some pretty complex json data sources out there, whether it’s being returned as part of an API, or is stored in a file. Sometimes you need to access a specific value from a key buried a dozen layers deep, and maybe some of those layers are actually arrays of nested json objects inside them.

While both arrays and dictionaries are native to Python, so you can do this, it’s kind of a pain. Thankfully, many smart people have already been tackling things like this, which is how there are now handy libraries implementing a (pseudo-standard) approach for getting the value given a specific json path. (There’s even an online evaluator to help you craft a good jsonpath.) The one I’ve been using is called jsonpath-rw. When I looked at the docs for jsonpath-rw, I was a little frustrated, and I wanted to take a minute to write out my eventual understanding, in case there are other folks in a similar boat to me.

Note: I’m not primarily a programmer (currently I’m a Technical Writer, and prior to that I was a QA Engineer — mostly exploratory, not automation), so while my example works, there’s probably more robust and pythonic ways to do the same thing. Continue reading “Extracting a Nested JSON Value in Python”

Link: Careful Now

Chris Coyler over at CSS-Tricks has a worthwhile response to the “Chrome is the new IE6” article I linked to earlier.

Even more concerning than browser-specific websites is seeing browsers ship non-standardized features just because they want them, not behind any vendor prefix or flag. There was a time when web developers would have got out the pitchforks if a browser was doing this, but I sense some complacency seeping in.

These days, the vibe is more centered around complaining about other browsers lack of support for things. For example, one browser ships something, we see one green dot in caniuse, and we lambast the other browsers to catch up. Instead, we might ask, was it a good idea to ship that feature yet?

Link: How to Fix Facebook

Over at Washington Monthly, Roger McNamee discusses How to Fix Facebook – Before It Fixes Us. It’s a good read, and while I may not agree with all of his suggestions, there’s some very astute observations in there:

This is important, because the internet has lost something very valuable. The early internet was designed to be decentralized. It treated all content and all content owners equally. That equality had value in society, as it kept the playing field level and encouraged new entrants. But decentralization had a cost: no one had an incentive to make internet tools easy to use. Frustrated by those tools, users embraced easy-to-use alternatives from Facebook and Google. This allowed the platforms to centralize the internet, inserting themselves between users and content, effectively imposing a tax on both sides. This is a great business model for Facebook and Google—and convenient in the short term for customers—but we are drowning in evidence that there are costs that society may not be able to afford.

I’m going to try and not keep harping on this — there’s plenty of other things to think about and talk about. I’ve been an advocate for the “indieweb” for a long time, and the current realizations over how algorithmic content curation (with no one driving, no less) through single sources might not have been such a great idea certainly help vindicate the desire for a “smaller,” more independent web. That said, I’m painfully aware of some of the gaps in the indieweb space: many tools have an incredibly high bar for getting started, and several parts of the stack frankly just aren’t getting a lot of attention (the state of web galleries is the source of a semi-annual lament). If we’re going to make a serious stab at “making the internet smaller again,” there’s still a lot for us to do.