[ Content | Sidebar ]

moved off of itunes

February 29th, 2020

As I mentioned a couple of months ago, iTunes lost track of most of my music in the transition to Catalina, so it was time for me to find some other way to store my music. (With the criteria being that I wanted archival storage on my Mac and an easy way to keep copies of everything on my phone.) Unfortunately, the presence of iTunes has destroyed most of the other competitors in that space, but there has to be something, right?

I’d been hearing people talk about Plex for a while; mostly in the context of organizing and streaming video content, but presumably it works for music, too. And, indeed, it does, so that’s one possibility. For a while, it was the only serious possibility on my list, but then I ran across Vox: if I want to go music-only, then it seems like a possibility?

Both of those offer iPhone clients, but unfortunately they’re kind of expensive to do what I want. The Plex client won’t let you copy stuff to your phone unless you get a “Plex Pass”: $40/year, or $120 lifetime. And Vox makes you sign up for “Vox Premium” for that functionality, which is $50/year. I’m all for supporting good software, and actually those prices felt reasonable to me if I wanted to enable the full functionality that those premium plans enabled (basically, increased cloud streaming options); but it felt a little expensive to me if the only feature that I wanted was to copy music from my Mac to my iPhone while on my own WiFi.

For a while, I was wondering if I’d end up using VLC on my phone; I had a hard time believing that was a good idea, but it might be a reasonable initial step while I’m experimenting? And actually using Plex on the Mac and Vox on the phone seemed like it might be possible, too. But then I found Prism: an iPhone music client that includes Plex as one of the music sources, and that enables downloads for a one-time $5 fee. So that’s perfect: I can use Plex as an archive store for all of my media, and pair that with a music-focused client on the device that I actually use to listen to music, all at an extremely reasonable price.

 

Next step: create a clean copy of my music. It’s all there in the iTunes folder, but there are duplicate copies of purchased stuff there, because I redownloaded purchased music after iTunes lost track of most of it. So I copied my iTunes music library to a Music/Archive folder, looked for duplicates, and deleted them.

The criterion that I started with was: which directories contain a file whose name ends in “ 1.mp4”? That algorithm has both false positives and false negatives: some track names legitimately end in 1 (e.g. Art of the Fugue recordings typically contain a track “Contrapunctus 1”), and some of the duplicates were mp3s or were copy 2 instead of copy 1. So that involved manual work; tedious, and it’s certainly possible that I made mistakes, so I’m not going to delete the original files from my iTunes library. But it was a limited amount of work, just one and a half evenings.

The one annoyance there is that the names of some of the tracks had changed between the original and subsequent times I’d downloaded them from the iTunes store: Korean tracks in particular sometimes went from having English titles to Korean ones. (Or maybe vice-versa?) So for albums like that, I had to do a bit more manual work.

 

Once I was done with that, I copied the Music/Archive directory to Music/Plex. I wasn’t going to point Plex at the Archive directory: if there’s one thing I’ve learned over the last few years, it’s that I shouldn’t trust music software to not mess with my music files. Also, for all I knew, I’d want to run a similar experiment with Vox; I didn’t want to point both of them at the same directory. And music just isn’t that big: I have a decent-sized collection, but even so tripling the size of my music collection still leaves me with lots of space.

Then I downloaded Plex and pointed it at that directory. It thought for a while, but then everything showed up, and it looked nice! There were, unfortunately, still duplicates; when I poked into those, I realized that I’d missed the case where the album name changed between the first and second times that I’d downloaded the album. (Korean albums, again.) So I went through and removed the duplicates in both the Archive and Plex directory. Which, actually, pointed at one issue with Plex: it doesn’t have a native Mac client, it’s implemented as a web app, and navigating back from the single-album view to the all-albums view was quite a bit slower than I would have liked. And, after doing that a few times, Safari started giving me warnings about the amount of memory the page was using; looking in Activity Monitor, that page was using over a gig, I think I saw it go up to two gigs?

So that also made me happy with my choice to go with a third-party iOS client; probably the official iOS Plex client is better than how it works on the Mac, but that wasn’t a great first impression. Though actually other aspects of the transition gave me an actively good impression of Plex: in particular, I appreciated how it sorted the names of Japanese and Korean artists into the letter that corresponds to their name in the romanization of their name, instead of sticking all off them into a single “numbers and weird stuff” list at the end.

 

And then I launched Prism, pointed it at my collection, purchased the ability to download files, poked through the UI until I found an option to download everything (it wasn’t hard to find), and waited. Took a while, and I kept on waking up my phone to make sure it was making progress; which I think it really wasn’t doing while it was asleep, because it still had a lot of work to do when I woke up the next morning. But I don’t blame Prism for that, I bet iOS doesn’t even provide a mechanism that allows apps to download thousands of files in the background. A handful of them (I think 5?) didn’t download right the first time, presumably because of the app going to sleep at the wrong time, but I told it to download everything again, it grabbed those last files, and I was all set.

 

So: yay, I’ve ended up basically exactly where I wanted to be. And I also have an archive system set up, so that if I want to transition how I do this in five or ten years, I’ll be able to do that. And it means that I’m no longer tied to Spotify: if I decide that I want to switch back to Apple Music at some point in the future, I can do that without worrying that it’s going to mess up my music collection. (Which it did in multiple ways: not just the file modification stuff I linked to above, Apple Music also broke albums into multiple parts and removed the ability to fix metadata.)

The one gap in my flow is newly purchased music: it was kind of convenient to buy music on my phone and have it just show up everywhere? But I can deal with that, I just set up a once-a-month reminder to copy new music over to the new system. A small price to pay to get an archive system that I trust; and, if I want to stop paying that price, I can just stop buying music…

Though of course the new archive system isn’t complete: I probably have hundreds of albums only on CD. I know for a fact that some of those CDs are no longer readable, but presumably most of them still are; and it’s probably high time for me to digitize all of the ones that I can. So maybe I’ll start chipping away at that? But that’s a later thing, for now I’m going to enjoy the current state of affairs.

minit

February 28th, 2020

I’m behind on my blogging, unfortunately: I normally try to have no more than one game finished and unblogged, but right now I have four. So I can’t quite remember what I had to say about Minit; fortunately, I didn’t have a ton to say about it, so that’s not the worst thing.

It was a pleasant way to spend some time? It’s working in a good genre, adding in a good hook to that, executing well on both of those aspects, and not overstaying its welcome.

I guess the thing that struck me the most beyond the basic idea was how I was responding to it emotionally. Most of the time, the time limit was fine: mildly frustrating, but only very mildly. Because there was always something to do next after you died: so the bad news is that you died every minute, but the good news is that you almost always had an idea of what to do after that. And, as a corollary: the game is constantly giving you little wins, because by its very nature there’s always going to be some little success you can reach in 30-45 seconds, and while I didn’t actually make tangible progress every lifetime during my playthrough, I did maybe ever third or even every second lifetime, which is a very pleasant drip of accomplishments.

The downside is when you get a little stuck. When that happens, you just want to be able to spend a little bit more time exploring and tugging on threads; so having to start over every minute makes that harder and more annoying. And, more subtly, it actively works against deeper / more creative thought: it keeps you (or at least kept me) in a more surface level of hypothesis generation. Not that there are deep puzzles to solve in Minit or anything, but, as is the nature of puzzles, sometimes one of them will randomly take longer for you to hit on a solution.

But the loops aren’t anywhere near as bad as in Outer Wilds: having to spend 30 seconds to get back to where you were just isn’t that bad. And I only really got stuck once; and, fortunately, just as I was starting to get really frustrated with that, Ariel wandered by and had a useful idea. (Which makes me curious if this would be a good game for two people to play together; it was certainly useful in that situation, but then the flip side is that, with the time pressure, it might be annoying to have to deal with suggestions from somebody else about what to do next, if you’re already a little on edge then you might not have mental bandwidth to think about what somebody else is saying? Dunno.)

Anyways, good game, pleasant way to spend three hours or so.

physical experiences of meditation

February 13th, 2020

I’ve been meditating increasingly regularly over the last year or so; first doing standing meditation, but more recently doing seated meditation as well. And, of course, being the person I am, I’ve been reading books about meditation; there were some good book recommendations at the end of this Ezra Klein podcast with Richie Davidson, in particular.

One thing I realized after reading a few of those books, though, is that what they talk about doesn’t actually match what I’m finding striking about the experience of meditating. Specifically, they (and other books I’ve read on the subject in the past, if my memory is correct), talk about effects of meditation on your brain, of how it changes mental sensation; but what I’m noticing most are the physical sensations.

That’s maybe not so surprising when it comes to standing meditation; I actually started coming at that from a martial arts point of view, and the discussion there is more around sensing your balance, relaxing your body, and feeling rooted. But I’m finding physical sensations more striking than mental sensations even when doing seated meditation, or other forms that seem less explicitly physical than standing meditation.

 

For example, Damo Mitchell’s first book has an introductory meditation exercise where you’re either sitting or lying down and following your breath. This seems like a standard meditation exercise; yes, paying attention to breathing is paying attention to something physical, but it’s also a standard attention exercise. I was feeling lazy when I first gave this a try, so picked the option that had me lying on my back in bed: no pillow under my head, legs spread somewhat, arms spread somewhat with my palms up, and I stayed that way for 30 minutes.

And by far the most striking aspect of that experience was how it felt in my hands: I got a very strong tingling sensation in my palms, completely unlike any sensation I have when just lying down normally. (But not so unlike a sensation that I have when doing Tai Chi, though it was particularly strong in this context.) And the longer I meditated, the stronger it got; I spent 40 minutes doing this a few times, and the tingling sensation would head up my arms during those sessions. I’m curious whether people who don’t do Tai Chi would have a similar experience from this exercise; if you try it out, let me know!

That’s not a seated meditation practice; when I do seated meditation, the physical sensations are different, but still very much present. And, to me, the physical sensations are more interesting / noticeable than mental sensations; maybe that just means I’m not doing a good enough job focusing, but it doesn’t feel to me like that’s all that’s going on.

 

So what’s the deal here? Why are these books talking about mental changes when I’m feeling physical changes? Are there relevant differences between this batch of books that I’ve been reading on meditation versus the systems that I’ve been following (of which meditation is only one part: stuff like Tai Chi or Mitchell’s Daoist Nei Gong)?

For example, is it a difference between Western sources versus Eastern sources? Is it a difference between Buddhist approaches versus non-Buddhist approaches (Taoist-influenced ones in particular)? Is it a difference between non-Chinese approaches versus Chinese approaches?

My tentative conclusion is that, yes, actually all three of those splits are somewhat relevant. But I think the Chinese / non-Chinese split is the best route into what’s going on here.

 

Traditional Chinese medicine talks about a thing called “Qi”. Which, of course, I’ve been aware of for ages, you don’t have to go very far to hear about Qi, you’ve probably seen mention of Qi (and of meridians, channels that Qi is supposed to flow thlough), maybe in a description of acupuncture or something.

Hearing a bit more about it, though, there’s a whole theoretical system going on here. Qi, in particular, isn’t an isolated concept or substance or whatever: there are actually three related substances, namely Jing (“life essence”), Qi (“vital energy”), and Shen (“consciousness”, “spirit”). Jing is more on the physical end of things, Shen is more on the mental or mystical end of things; if you want to go further, you can even extend this to add a fourth element beyond Shen, namely Dao (“the way”).

And Traditional Chinese Medicine, or many schools of Taoist thought, go into lots of detail about this. Your body can turn Jing into Qi, Qi into Shen, Shen into Dao; there are specific places in body that are associated to those transformations (for example, a place in your abdomen called the “Lower Dantian” is very relevant for the Jing to Qi transition), and the meridians help those substances move throughout your body.

So Taoism has a theoretical framework that relates to these sorts of sensations: for example, it might say that the feelings I reported while lying down are caused by Yang Qi collecting at my Lao Gong (a particularly important set of acupuncture points in your palms), and then moving up my arms along one of my meridians. Or some of the feelings that I feel while sitting are related to Qi gathering in my Dantian; and I’ve felt feelings while standing that match discussions of the Yong Quan, Bai Hui, and Huiyin acupuncture points, as well as Jing at the bottom of my torso (and affecting my overall energy level) and Qi trying to move along my Du meridian. (And, currently, not making it very far, because the meridian is blocked at my Ming Men.)

To be clear, I’m not saying that any of that analysis is, say, an accurate description of physiological occurrences. (Though I’m also not saying that it isn’t that, either!) But I’m saying that these sensations that I’m being surprised by do match concepts and descriptions that Chinese sources talk about.

 

So that’s why I’m wondering about the Chinese / non-Chinese distinction as a possible explanation for this difference in emphasis. As for Western/non-Western: I think Western sources on meditation are coming at it from either an intellectual point of view or a mystical point of view, with neither of those having much to do with the body. (Western takes on Taoism mostly involve translating the Tao Te Ching over and over again, with a bit of Chuang Tzu mixed in; and there’s occasional pointing at a certain kind of Taoists as being weird alchemists who think that they can manufacture pills in their bodies that will make them immortal.)

And, as for Buddhists, the Buddha’s story involves him becoming enlightened after stopping physical mortification. And I feel like that story doesn’t point at a desire to take the body seriously? Like, first he starts off by trying to show that he can treat his body actively badly, then he decides that that’s not the issue, that he should just ignore this whole body thing. But neither approach says “your body could be an asset”. Or, if we think in terms of Jing / Qi / Shen / Dao, then Buddhism is interested in Shen and Dao but not Jing and Qi.

 

Having said that: Buddhists treat meditation very seriously, and also Buddhists aren’t the only Indian tradition out there. I don’t know almost anything about yoga, but I suspect that it has quite a bit in common with the Taoist Nei Gong stuff that I’m interested in.

So if you listen 7 minutes into this episode of the Lotus Underground podcast, for example, then you’ll hear a mention of Chakras (which sure sound to me like they’re related to the various Dan Tians and some of the other key acupuncture points) and Prana (which the podcaster says is the same as Qi), before getting into a discussion of a Buddhist sutra. As he says, “Buddhism is not really into the Chakras”, but he then launches into an analysis of a sutra named after one of the Chakras! So some of this physical stuff is present in Indian traditions, in Buddhist traditions.

And, as a bit of a side note: the Shaolin Temple is, of course, famous for its martial arts. But that temple is a Buddhist temple; and it’s supposed to have been founded by Bodhidharma, who brought Zen Buddhism to China. And Bodhidharma is supposed to have written the Tendon Changing Classic and the Marrow Washing Classic, both books on the physical side of transformation. No idea how much of that is real history versus stories told after the fact, but, in China, this stuff merges even more.

 

I read a book a month and a half ago called The Mind Illuminated; it’s a systematic guide to a form of Buddhist meditation called “Insight Meditation”. And I was really impressed by the book; I like systematic discussions, and I really do think that I’m going to carve out a significant amount of time at some point to try meditating the way the book presents.

But the book doesn’t talk about the body much: it wants you to focus on your breathing (it specifically recommends focusing on the tip of your nose while you breathe!), but the important part of that is as a tool for training your focus and observational skills, not as a gateway to anything like Qi.

Or it least most of the book doesn’t; but then I got to the chapter that talks about the transition between the sixth and seventh stages of the system outlined therein. And all of a sudden, I see a lot of familiar ideas: “energy currents moving through the body” (Qi), “involuntary body movements” (Zi Fa Gong), “energy moving up and down the spinal axis of the body” (the Du meridian), “a continuous circular movement between the core and extremities, and the base of the spine and the head” (the Du channel flowing into the Ren channel, making the Microcosmic Orbit, and then eventually out into your arms and legs, making the Macrocosmic Orbit). There’s even a diagram that looks like one of the advanced meridian diagrams (and which, incidentally, also maps to some extent to Silk Reeling Energy from Tai Chi, with some of the channels winding around your legs); the author says that “there is absolutely nothing in the human body that corresponds anatomically to these energy currents or the channels through which they seem to move”, which seems a little overconfident to me! And I could go on with the mappings here; over and over again, stuff that I’ve read about in Daoist Nei Gong books, and a fair amount of which corresponds to physical sensations that I’ve gotten at least a taste of.

 

So it seems like, if you go deep enough, you’ll see a lot of the same concepts. Yoga or Tai Chi starts with the body, Daoist Nei Gong starts with the body and Qi, Buddhist schools start with your mind. But the Buddhist path can pull in your body and Qi, Daoist Nei Gong explicitly ends up exploring consciousness and beyond, and I bet Yoga ends up talking about all of this as well.

Which certainly helps me be interested in this stuff: I don’t have to proceed from faith in a single system, or to be worried that, if I don’t pick the exact right system, I’m going to miss out on something important. Insead, I can be somewhat optimistic that there are basic experiences here that I can get access to via a range of routes. Probably some routes are faster than others, or better matches for me than others, but that’s okay, that’s a problem I’m very used to confronting.

Interesting stuff. And, of course, I shouldn’t spend too much time reading and thinking about it: I need to spend time practicing, and to work with teachers who can point at what I’m doing wrong and what direction might be a good one for me to explore next…

apple arcade notes

January 19th, 2020

Some notes on Apple Arcade games that I’ve played:

Guildlings

This is super good. The writing is charming and funny and moving, but also there’s really interesting rethinking of what it means to be an RPG. Directly addressing the “hero who saves the world” trope; rethinking combat / spell mechanics in interesting ways. And managing to work in emotions and emotional health into its core, mechanically as well as narratively.

Only downside is that it’s chapter based, and I’m still waiting on the second chapter. So, while I really enjoyed the three hours I spent with the game, I’d like to spend a lot more time with it…

Card of Darkness

This was maybe the game on the service that I was most looking forward to: I’m still playing Flipflop Solitaire regularly, which I think is a legitimately great game.

Unfortunately, Card of Darkness hasn’t grabbed me the same way. I’m willing to believe that I’ll like it more if I spend more time with it, but for now there have been other places where I preferred to spend my time.

Grindstone

Like, for example, with Grindstone. Took me a little while to warm up to this, but once I’d played for a couple of hours and gotten a couple of key pieces of equipment, I really like it. Very pleasant core mechanic, I think they do a good job balancing the game to make the levels feel you’re doing some thinking and are in danger while ultimately really being about drawing paths with your fingers in colorful ways.

Also nice to not have to worry about how a free-to-play mechanic would affect things.

Sayonara Wild Hearts

I was really expecting to enjoy this more; I’ve played through it once so far, and it was fine but not as special to me as it was to other people? I’ll find time to go through it a couple more times at some point, though.

Where Cards Fall

This game I’m more torn about than any other on the list. It has a really good puzzle mechanic, used to make some very well designed puzzles; but also more than any other game on this list, there are tons of little things that it does wrong? (Most of which feel like unforced errors.) It’s been a while since I’ve played it, but issues that I can remember:

  • If you click in the wrong place (or if the game misinterprets your interaction), then your character might move in ways that will cause you to have to spend a while getting back to the previous state; and moves are (usually) not interruptible, so even if you notice the problem quickly, there’s nothing you can do about it.
  • The puzzles depend on height and spacing, but the visuals don’t always make it easy to determine heights and spacing.
  • You don’t have a list of puzzles, so you don’t know if finishing the game will take a couple of hours or a couple of weeks.
  • Performance was usually fine (I’ve got an iPad Air 2), but then on a later level it suddenly became bad enough to be literally essentially unplayable. (I’d stretch my fingers to try to place a card, the game would spend about five seconds with the card vibrating between two different positions, and 75% of the time it would end up in a position that I didn’t want.)
  • The puzzles are interspersed with cut scenes, and the cut scenes are not only long enough to take up a significant portion of your time interacting with the game, they’re also oblique enough (non-verbal, in particular) that, fairly soon in, I had no idea what was going on in them and had no desire to follow their thread.

Which, as I write it out, doesn’t seem like so much? But it meant that I was constantly being annoyed at the game. Really good puzzles, though, so I kept on going until I hit performance issues that made it unplayable.

WHAT THE GOLF?

Amusing enough concept, but it didn’t really grab me; I probably played a couple dozen (short!) levels, and then I stopped.

Assemble with Care

From the makers of Monument Valley, and not as good; quite lightweight puzzle, quite straightforward narrative, and while it was pleasant and I was happy to have played it, it didn’t have the surprising charm of its predecessor.

Patterned

A puzzle game in the sense of jigsaw puzzles, except the pieces are made out of squares, so you’re placing them based on the pictures instead of the shapes. An entirely pleasant way to spend time (modulo some performance issues around the fringes); having played this makes me curious about the genre on the iPad. And I’m still going through the puzzles, it’s a quite solid way to spend five or ten minutes, without having to worry that I’ll get sucked into something large / tricky.

tint.

A color-based puzzle game. I went through the first book of puzzles; they were pleasant but pretty mindless. Then I started the second book and the difficulty level skyrocketed. And I stopped, but I might well come back, there’s definitely something there.

Overland

I wanted to like this, if for no other reason than that the developer sounded convincing on Designer Notes, but my basic conclusion is that this just isn’t the genre for me. If you like XCOM-style games, then you might enjoy Overland, I have no reason to believe it isn’t well done, but I bounced right off.

 

So that’s where I am now; still playing Grindstone and Patterned, and I really am going to give Sayonara Wild Hearts another shake. And I’ll drop everything and pick up Guildlings again when the next chapter is released. And I have another half-dozen games that I’ll give a try at some point, and I’d love to have suggestions for good games that I missed. Certainly enough reason for me to stay subscribed to Apple Arcade for now; not necessarily enough reason for me to tell other people they should subscribe, though?

Also, potentially a nudge to buy a new iPad: the games all mostly ran well enough on my iPad Air 2, but a couple of them clearly weren’t optimized with that in mind. (But hey, running at all well on a 5-year-old device is good!) We’ll see what iPads Apple releases this Spring…

tdd and deliberate practice

December 28th, 2019

A little while back, I wrote some about the pros and cons of deliberate practice, as per the book Range. Deliberate practice works well if you’re working on something with a clear goal, where you have fast and accurate feedback loops; but if you’re not working in a domain like that, then deliberate practice might not get you working in an effective direction.

So yay: that lets you know when deliberate practice is a good idea, when it isn’t. The thing is, though: having fast and accurate feedback isn’t an inherently immutable characteristic of a problem domain! Like, as medicine developed precise tests and forms of measurement, I would imagine that larger and larger portions of becoming an effective doctor became amenable to a deliberate practice approach.

 

In a domain that’s much more familiar to me, I feel like this shift is a big part of what’s going on with Test-Driven Development. If you’re approaching a programming question starting with the idea of “I want the software to do something like this, so I’m going type some code that feels like it should accomplish that, and then I’ll deploy it and poke around and hope that it does that thing (and also that it doesn’t crash)”, then you’re pretty far away from the sorts of characteristics where deliberate practice approaches are effective. The feedback loops in that scenario are long, and not particularly precise. (If you’re poking around through the UI of the software, it’s very easy to miss paths through the software, paths that could have unexpected behavior, paths that could crash.)

If you’re doing TDD, though, you’re doing something that’s different in at least two important ways: you’re phrasing your questions in a much more precise way, setting up the possibility of much more precise feedback; and you’re shortening your feedback cycles from minutes (or hours or days or longer) to seconds. So the feedback / learning / practice cycles start looking a lot more like the situations where a deliberate practice style approach works.

 

Don’t get me wrong, this doesn’t mean that TDD is a panacea. Even if you’re good at applying it, there are going to be questions that TDD won’t answer: maybe business metrics questions, maybe usability questions, maybe broader questions around architectural interaction. Brian Marick’s Testing Quadrants are one touchstone here; TDD is about the bottom left quadrant, and there are three other quadrants involved in testing, along with concerns that are broader than testing!

So, yes, exploratory testing is still a thing, it’s still extremely valuable, and it maps a lot more to the approaches described in Range than to a deliberate practice approach. But leave exploratory testing for bigger questions, questions where it’s harder to quickly get precise answers. The more you can design your programming processes so that as much learning as possible happens in short precise trustworthy cycles, the faster your learning as a whole will go.

spider-man

December 15th, 2019

I don’t play a lot of AAA games; there are certainly specific AAA series I like, and I do play my share of Nintendo games, but most of the big releases just don’t catch my eye. (Or at least don’t catch my eye enough for them successfully fight their way up my queue.) But I remembered thinking that Spider-Man sounded kind of neat when it came out last year; and so, when I found myself with a month to kill before Shenmue III came out, I decided to use Spidey to fill the gap.

And Spider-Man is a really good game! Partly really good in ways that show the virtues of AAA games; partly really good in executing on AAA design tropes in ways that make me actually kind of like them; and partly really good purely on its own merits.

 

The main potential virtue of AAA games is how they use the budget. Using it on conventionally good graphics (generally interpreted as having photorealism as your touchstone) is de rigeur; but you can also use it on having a large and detailed map, on having lavishly crafted set pieces, or (where appropriate) on licensing. The last random AAA game that I played was Forza Horizon 4; it had beautiful graphics, a great world to drive around in, and lots of licensing. (Not so many set pieces, it’s not that sort of thing.) And Spider-Man put its money in all four of those areas.

And, honestly, that’s great. I’m far from a connoisseur of the state of the art of human in-game character models, but the ones in Spider-Man looked as good as any game that I can think of that I’ve played? Or at least it looked as pleasantly realistic, as any game I’ve played: I’ve played lots of games that go for a more distinctive art style, and honestly I prefer that in general. But that’s not what Spider-Man is going for, and if a game decides to have a realistic-looking Peter Parker face instead of, say, taking the approach of Into the Spider-Verse, then go for it and do it well. Which this game certainly did.

As far as the map goes: it models Manhattan. I don’t really know how faithful the model is, because I’ve barely visited New York at all. But there are a ton of buildings there; when I started playing the game, my reaction was “wow, I bet people who live in New York would really get a kick out of going through the city like this”, and by the end of playing the game, I was enjoying the city too, the experience actually made me rather more favorably inclined towards New York.

As for the rest of what I listed; the set pieces are fine, pleasant but nothing that I feel will stick with me. And I don’t have any particular attachment to the Spider-Man license (I’m not a big superhero comic fan), though it seemed like they did a good job with the license and the presence of that license helped strengthen the game?

 

Another aspect of AAA games: if you want to sell a game to millions of people, you’re going to want the mechanics of gameplay to be something that isn’t too offputting. Spider-Man does that particularly well, I think? I enjoyed the combat even though combat isn’t particularly my thing; there’s a gentle level-up skill tree mechanism that feeds you new moves to try out without overwhelming you; and the side tasks often come with rewards for handling the combat in a specific way, encouraging you to branch out more instead of sticking exclusively with the same move. So, as the game goes along, you feel like more and more of a badass; but also the game is generous enough with health that failing and having to retry was rare.

But the game also gets the mechanics right in one way that is specific to this game, not a generic AAA thing at all: they nailed webslinging, so movement is a total joy. There’s a fast travel option, but it took me a while to use that option at all, and I never used it much: I was quite happy to spend a few minutes webslinging from one end of the map to the other.

 

And there’s one last AAA aspect of this game: the way there are side tasks cropping up all over the place. You unlock sections of the map by traveling to a tower in that section, and then there are lots of little tasks that show up on that section of the map. This gives you something to do while traveling across the map (which, as per the above, is something that you want to do!); and it lets you explore just being Spider-Man, outside of the context of the main plot.

There’s a lot of beating people up in these missions; too much, honestly, I wish they’d cut down on that. But, like I said above, the good aspect of the combat in this context is that the game actively encourages you to explore different combat moves. And there are other tasks that are more exploratory, usually involving helping people out; most of the time this translates mechanically into practicing your traversal skills, but not always. And there are some tasks that are flat out skill challenges.

Sometimes, when confronted by this sort of profusion of tasks in a game, I feel annoyed because my brain wants me to check stuff off but I’m not really enjoying that. And there was a little bit of that here, a few too many police alerts cropping up as you move around; but mostly I was really glad that these side tasks exist. The game’s main story plot is fine, I enjoyed going through it; but I liked just being Spider-Man more, and that’s what these tasks emphasized. So, for me, these tasks actively brought out something good about the game, they weren’t just padding.

 

Good game: I’m not going to spend most of my time with games like this, but it is neat to see what studios specializing in this sort of production can come up with.

looking for an itunes replacement

December 5th, 2019

I’d been thinking for a while that I should move away from iTunes: Apple’s music focus is now on streaming from a library that Apple controls, not on maintaining a library that you control. And, while they sort of support syncing your music with their cloud technology, they explicitly say that they feel free to serve up different files when syncing, they provide you no way to control metadata if Apple Music is turned on (and they get that metadata wrong, completely losing the integrity of albums), and they even rewrite the original files you have on disc. So the team is clearly no longer trying to solve the archival use case; iTunes is still usable for that as long as you’re not signed up for Apple Music, but the writing is on the wall, it’s time to look for another solution, from a team that is focused on that use case.

That’s what I’d been thinking for a while, but then this afternoon, on my train ride home, I noticed that my phone hadn’t downloaded some of my music. The albums that I was looking at were ones that I’d purchased through the iTunes store, so at first I assumed that they’d added some option to offload music for you, the same way that iOS has an option to offload unused apps. Seemed weird, I didn’t remember turning that on and I had a bunch of space available on my phone, but whatever.

 

When I got home, I checked my computer; songs were missing there as well. Had they added an option like that in the upgrade to Catalina (along with the change from iTunes to the Music app)? Fortunately, on the Mac, at least there’s an option to see all the music you’ve purchased from the iTunes music store that’s not on the computer, so I started re-downloading stuff.

Then I looked for the option in the settings to make sure it didn’t delete music; and I couldn’t find an option like that. Which raised a much more worrying possibility: had I hit a bug where the Music app was just deleting music? And, if there was such a bug, was it affecting music that I’d ripped from CDs? One search for Trilectic later (well, two, one on my phone and one on my Mac) and I had my answer: a good-sized chunk of my music library had disappeared, presumably during the Catalina upgrade.

At which point I started freaking out a bit, and wondering whether I still had a pre-Catalina backup around. I think the answer is “yes” – I’d actually just done a disk clone yesterday, so that one would have the problem, but I use alternating drives for my clones, and I think that the backup from the previous month was pre-Catalina? (I could also look in Backblaze, but I think they only keep stuff around for a month, so that wouldn’t be better than my older clone disk.) And, actually, one good side effect of the previous problems I had was that I’d made a copy of my full iTunes library while investigating that, which I think I still have around; it’s two and a half years old by now, but pretty much all of my purchases since then have been through iTunes, so it should contain all of my physical CDs and probably all of the stuff I’ve purchased from non-iTunes online sources.

Fortunately, before worrying too much, I looked on disk, and the old mp3/m4a files are still there. So it should just be the metadata that’s gotten messed up, the important data hasn’t been lost. (Though the stuff that I’ve re-downloaded from the iTunes store has now created duplicate copies of those songs, so I’ll have a bunch of stuff to de-duplicate when I resurrect the music from the disk! Sigh…)

 

The upshot of all of this is: I’m now actively looking for a different solution to store my music. Any recommendations? My requirements are pretty simple: 1) It should have a master library of music on my Mac, managed in a straightforward way in a separate location from iTunes. 2) I should be able to sync all of that music to some place on my iPhone. (I don’t want a solution that requires streaming from my Mac to my phone.)

And add yet another item to the list of serious Apple quality problems.

memory improvements

November 25th, 2019

A few years back (probably a decade back, by now?) I wrote some software to help me memorize Japanese vocabulary, by doing time-spaced repetition. And it was also an excuse to play around with Ruby and with Rails.

I’ve been using that software ever since: sometimes a little more diligently and sometimes a little less diligently, but always well enough to let me more-or-less keep up with things. But, in recent years, it had gotten to be a bit much, and I’d started falling behind in my reviews; some of that was because I’m not spending as much time on Japanese as I once was, but that didn’t feel like the whole reason to me. I might not have been reviewing quite as frequently as I had been, but I also wasn’t adding in new words nearly as frequently as I had been, so if anything I should have been being asked to review fewer words each day? But there were just some words that kept on coming back over and over, and doing so more often than felt necessary to me. So I finally decided that I should do something about that.

 

The basic assumption that I’d made was that I should space the review of each item along an exponential curve, but that different items needed different exponential curves. I’d start them off at an increase of 2.5, but I’d automatically adjust them if I got them wrong too often, with the most gradual increase using a factor of 1.3. And my goal was to get each item right 90% of the time; I implemented that by increasing the factor by .1 on a streak of 10 and decreasing it by .1 (unless I was already at the 1.3 limit) when I got it wrong.

The core idea still felt right, but it also seemed like the details of the automatic adjustment weren’t correct; in particular, too many words were getting stuck at the 1.3 factor.

 

Not sure if I’ve got the chronology right here, but the first thing I wanted to tackle was new words that quickly hit the 1.3 limit: it seemed like that was happening too often. I felt like part of the issue there was that maybe it took a little while for a word to get in my brain the first time; and part of the issue there was that I didn’t reliably make it through the the whole list of items to review every day, so it might take multiple days for me for me to get back to a word; that’s a problem if the algorithm says I should review it every day!

I ultimately made two tweaks there. One is that I simply wouldn’t count wrong answers if they were on a streak of 0. I think I was already doing that some of the time, but not for brand new vocabulary words? So this actually simplified my code, which is nice. (And it helped for unrelated reasons: idempotency helps a lot with error conditions.)

But also, I decided that, if I got a word right and then got it wrong the next time I saw the word, then I wouldn’t decrease the factor: in practice, that “correct” answer often meant that I more or less had the right idea but it wasn’t really in my short-term memory? And, again, the short streak repeats are vulnerable to problems if I’m not clearing things out every day.

With these two together, it felt like it took significantly longer for new items to get down to 1.3: it still sometimes happens, and it should, but before it seemed like words either put into a bucket of “words made out of kanji that I know well that fit together in an obvious way”, that would stay in the 2.2 – 2.5 range, and “words with something a little more unusual going down”, that would all crash down to 1.3. And now it seems like I’m getting more differentiation in that latter set, so I’m using more of the range between 1.3 and 2.2.

 

That helped with new words. But I felt I also had problems with words that had been around for a while: even once I had them basically calibrated, they’d mostly stay at the same difficulty rating but sometimes the multiplier would decrease, while the multiplier would never actually get higher.

Thinking about it some, I decided that I was applying the streak increase at the wrong time: I was applying it as soon as I hit a streak of 10. And, actually, it was worse than that: if the multiplier was changing from, say, 1.7 to 1.8, I treated the next gap as 1.811 instead of 1.710 * 1.8. So it was a big discontinuity in the review spacing.

I could imagine a few different ways to fix that, but I went with the easiest one: keep the multiplier the same until I get it wrong, only applying the streak bonus when I get a question wrong.

But, even with that, I felt like the multiplier was decreasing significantly more often than it was increasing, even for words that had been around long enough that I felt they should have stabilized. And, looking at the probability, I think I just got it wrong: there’s something intuitive in saying that, if your target is to get it wrong 10% of the time, then you should do something different on a streak of 10. But, the thing is, if a question is actually calibrated accurately, and if I have a 90% chance of getting it right every time I ask it, then I have a 61% chance of having my streak end before I hit 10, so the most common case is actually for my multiplier to decrease. And I only have a 12% chance to hit a streak of 20, which doesn’t come close to balancing that out.

For now, I’ve changed things so the streak bonus kicks in at 8; that way I have a 48% chance of having the multiplier decrease. Which, as I type it out, is still wrong? And I’m using 18 for when the multiplier increases, which is a 15% chance. So 48% chance of it decreasing by 1, 37% chance of it staying the same, 15% chance of it increasing; that’s not right. (Some portion of the increase is by more than .1, so it’s not quite as bad as that seems, but I think that’s negligible. Also, the math above doesn’t take into effect that getting it wrong right at the start is a no-op; that actually makes the 8 part seem pretty reasonable.) So: probably more tweaking to come.

I think the probability problem is more subtle than that, though: I don’t actually know what the correct multiplier is for any given vocabulary term. So what I’m really trying to do isn’t just to have it stay more or less stable when I have the multiplier right, what I’m instead trying to do is update my best guess based on priors and new observations. And I don’t really understand about the best way to go about that; makes me wish that I’d actually studied probability some, that I actually understood what the word “Bayesian” meant…

 

Anyways, things are getting better? I am sometimes seeing items hit a streak of 18, so items are slowly starting to move back up from a multiplier of 1.3. Which also points at another aspect of the probability question: maybe the important question isn’t whether, if we’re at the correct multiplier, we stay exactly on that multiplier: instead, the important question is more, if we get that multiplier wrong, we’ll course-correct and get it back to where it should be? Which, of course, isn’t just a probability question: it involves having a model that lets us predict our chances of getting an item wrong if we have our multiplier wrong. And I don’t actually have any idea what the answer is to that one? (Heck, I’m not even sure that an exponential spacing approach is correct in the first place…)

And this whole thing brings me to the last thing that I improved: more visibility into the underlying factors here, your current streak length and multiplier. That information was always accessible, but not easily so: I had an attitude in the back of my head that it was wrong to pay attention to it, that I should just answer the questions the algorithm throws at me without worrying about streaks and the like. So I didn’t make it easy to get at the streak numbers; but I’d periodically check on them anyways: in the past, just because I was curious, but now, because I was actively tuning the algorithm.

So I finally gave in and realized that, while I still think I don’t want the numbers to be in your face, I also don’t want them to be hard to find. The previous way of doing that was to hit the back button in my browser and then on the “show current item” link; but something in iOS’s behavior recently had made that very unreliable, where when I hit back it would show me the new item instead of the previous item. (It’s the same URL for both, representing “show me the current item to be quizzed on”.)

I ended up adding a link to the current page saying “show me the details for the last item I was quizzed on”. So the information isn’t in my face, but it’s just a click away when I want it. And it definitely helps; I’m not checking on it all the time or anything, but when I do want to check on that info, it’s nice to have it easily accessible.

 

Arguably the most interesting part of this process, actually, was getting some experience with a side of agile software development that I don’t normally see: acting as the Product Owner. (Or, to use the XP term, the Onsite Customer.) I mean, I was implementing the changes too, but that side of thing was easy; each change probably only took about half an hour of work, so the above is maybe three hours of programming total?

But it’s three hours of programming that really made a difference in my experience using the program. I’m not going to say that that kind of extreme is a normal part of programming: most changes to software do take more work than that. But I also kind of feel like it’s the case that there’s not necessarily that much connection between effort and business value, and that we undervalue changes that take less programming time and that make a quality of life difference for users.

Though there is a part of these changes that really did take time: I’ve been living with this software for years, so it’s taken a while to understand the consequences of the choices to its algorithms. That’s certainly more the case with this software than with a lot of kinds of software: the algorithm feeds me tasks at a days-to-weeks-to-months rhythm, so I’m just not going to be able to make a change, play around with it for a few minutes, and have an idea for how that change has played out and what to do next. But still, I am getting the sense that the rhythm of living with software and the rhythm of developing software are different, that the Product Owner side of things is informed by the former, and that it’s important to give the former time to breathe instead of prioritizing a constant implementation grind.

doing and not doing

October 30th, 2019

These days I try to do some meditation every day; some seated meditation, some standing meditation. Most days I spend about half an hour on this; occasionally it’ll be an hour a day or even a little more.

And, honestly, there were (are!) times when my reaction when thinking about this was: what on earth am I doing? I’m only awake for 16 hours a day; why would I want to spend a noticeable chunk of that doing nothing?

I wouldn’t have the same reaction if I were, say, going to a gym and working out. (At least I don’t think I would, it’s not like I ever actually go to a gym.) I guess part of that is that, in this hypothetical gym scenario, I’m actually moving, and even moving in ways that cause pain (though standing meditation can be pretty painful too!); and society has stories readily available saying how working out will improve your life, whereas stories around the benefits of meditation are less well entrenched.

I certainly wouldn’t have the same reaction if I were working at a job, or helping cook dinner, or walking Widget. Which makes sense: those are all situations where I’m doing something that helps somebody else, with fairly concrete effects. (Sometimes the effects at work are more concrete than other times, but there’s always a paycheck to mark the agreement that my presence is useful.)

I probably wouldn’t have the same reaction if I were, say, playing a game. I’m not doing anything grand for the universe there, but at least I’m giving myself some pleasure? And I’ll get a blog post out of it; or at least I will if I’m playing a new game, as opposed to playing yet another level of a puzzle game that I’ve known how to do well at for ages…

 

If I really didn’t think I would get anything out of meditation, I wouldn’t do it, of course. At the least, it’s (usually!) interesting to observe, and sometime actively pleasant. And I hope that it’ll eventually have bigger effects on my mind and/or body; I don’t know that for sure, but I’m curious enough to take a flyer? So it is like going to the gym, or learning Japanese, or something: hopefully it’ll lead somewhere, but who really knows.

Still, it’s kind of weird to spend time doing nothing. But maybe that itself is something that I should lean into, to not feel like I always need to fill space. To get better at enjoying just walking somewhere, instead of always be looking at my phone and/or listening to a podcast…

apple and china

October 27th, 2019

A few random thoughts on Apple’s China mess:

  • I’m somewhat sympathetic to Apple.

Apple is a very powerful company, but China is the second largest economy in the world. Apple is a multinational company with hundreds of billions of dollars with revenue; I’m not convinced that it’s not reasonable to compare their behavior to the behavior of countries with a similar GDP. And it seems like it’s reasonable to give smaller countries a break when dealing with much larger countries on realpolitik concerns?

I dunno; maybe that comparison is ridiculous (companies aren’t countries!), or maybe the answer is that Apple is too large and too multinational. Though the multinational thing isn’t entirely the issue—Cook has come under fire for his interactions with Trump, too…

  • I could see that opinion changing fast.

I’m really scared of what’s going on in Xinjiang, and of China’s increasing surveillance state. And it’s not like that behavior is a one-off, either: I was just reading the Dalai Lama’s autobiography, and what happened in Tibet was awful. So I can imagine international opinion going bad really quickly. (Though who knows, we seem to have a pretty high tolerance for governments doing really bad things.)

  • It’s a hard tightrope to walk, and Apple might be falling off.

So far Apple’s been able to say “we’re just following the law”, while pushing back in various places about laws or proposed that they think are bad (most notably around encryption in the United States). But, with HKmaps, it’s not at all clear that what they were doing was required by law; and it’s also not at all clear to me that China isn’t going to make their laws quite a bit more strict, especially around encryption.

We’ve seen examples over the last couple of years of people trying to do their best while working with Trump, and coming out looking really badly; I feel like the same thing is starting to be apply to interactions with China as well.

  • Manufacturing is a real problem.

If Apple stops selling in China, that’s not going to help their stock, but whatever. (And I say that as somebody who has a decent amount of Apple stock!) But if they stop being able to manufacture in China, then that’s much worse for the company. (And, more selfishly, for my ability to buy a nice new phone.)

I would have to think that this is Tim Cook’s number one worry? (I don’t know what the other candidates would be.) And I assume that we’ll see more assembly (and hopefully other parts of the supply chain) moved to other countries, and that Apple and Hon Hai have had talks about contingency plans…

(Hmm, maybe this points out that I actually shouldn’t own stock in the company: I feel like I understand most of their business concerns well enough to be be able to guess at the future within my risk tolerance, but geopolitical concerns are a different matter, at least these days.)

  • The App Store makes app permissions a false dichotomy.

The question “should HKmaps be allowed in the App Store?” is only a crucial one because that’s the only way to get the app on your iPhone. But that’s bad: iOS is arguably the most valuable computing platform in the world, Apple shouldn’t have monopoly control over what runs on it!

I’m sympathetic to some of Apple’s reasons here: security is super important, I don’t want to have to worry about software running on my phone. But that’s not the only reason why Apple puts restrictions on the App Store: they restrict based on content, not just security. I think it’s fine for a store that’s curated along non-security criteria to be one of the options, but it’s wrong for it to be the only option. (Going back to my Apple-as-country analogy, they’re not big on free speech!)

So, for non-China-related reasons, Apple should loosen up the App Store. I’m actually not sure if that would make a meaningful dent in China-related app restriction: maybe the right solution is for Apple to allow opt-in for arbitrary app installs, in which case it would, but maybe the right solution outside of a China context is for Apple to allow opt-in for app installs that pass some security screening, and if they do that, then that opens the door for legal concerns to be part of the screening.

But, until Apple at least tries that route, then it’s hard for me to take their moral concerns around app installs in China all that seriously…

slay the spire

October 20th, 2019

Slay the Spire is a deckbuilding roguelike. And it’s a pretty good deckbuilder game! But, unfortunately, it’s still a roguelike, and one of the things I’ve learned over the last couple of years: I don’t like roguelikes, or at least I haven’t yet found one that I like.

Slay the Spire is the roguelike I’ve played that I like the most. But it has the same problem as other roguelikes I’ve played: the loop is just too long. A full run takes maybe an hour and a half, and that’s a problem for two reasons. One is that the learning loops are too long: it takes a while to learn how an experiment works out, and while there are multiple learning opportunities in a single run, the flip side is that the signal that you get out of a single run is also relatively unclear. And the other is that, if you just make a mistake in a level of the run, you can easily lose an hour of work for something that was just stupid.

Still, it’s a neat game. And it is possible to learn: I’ve gone through the game successfully with all three characters, it took me a while to come up with a successful strategy with the second and third characters, but I managed it. I had a more frustrating time trying it after that in Ascension mode: for some reason, even the lowest difficulty setting of Ascension felt quite a bit harder to me than in regular difficulty? But I also started trying out the daily challenges, and those provided a pleasantly different twist.

 

Definitely glad I played Slay the Spire. And I actually think I’ll probably return to it when I have free evenings, probably trying out a daily challenge? Heck, I might even go through that when finishing these posts. And it’s on the edge of being a reasonable learning curve for me: I feel like I’m in range of getting to where I can start succeeding more often, at which point the randomness starts turning into an interesting learning challenge.

But also: I continue to feel that roguelikes just aren’t for me…

shoulder positioning

October 9th, 2019

One thing that the Gokhale Method teaches you about is shoulder positioning; Gokhale has a shoulder roll technique to help you improve your positioning. It’s not one of their eight big steps, just a smaller technique that is a component of several of the bigger ones, but I was surprised how much of an effect it had on me, it’s one of the things that I’ve gotten most out of the method.

Gokhale’s claim is that your arms should hang from your shoulders closer to the back of your chest than to the front of your chest. Which is plausible enough, if you look at a skeleton? And, after doing her shoulder roll technique a few times a day (move your shoulder forward, then rotate it up and back, then relax and let it just drop down while it’s at the back) for a couple of weeks, sure enough, my shoulders got used to that new position.

But what I also noticed (and I think this is somewhere in Gokhale’s book, but mostly as an aside?), that my hand positioning changed as well: my hands were aligned parallel to the sides of my body instead of having the backs of my hands facing forward. And, somehow, that seemed more obviously natural to me: of course your hands should be parallel to your sides at rest.

 

This set off a whole cascade of questions. What in the past caused me to adopt this prior posture? What adjacent areas of my anatomy are relevant to this? Are there situations where you’d actually want your shoulders to be further forward? Are there other examples of more natural positions that I can find?

In terms of adjacent anatomy, the most relevant parts were, unsurprisingly, the top of my back and my neck. Basically, if I hunch forward, then my shoulders will come forward; and, when hunching, it’s also natural for my neck to be forward, and in fact my neck coming forward can cause the shoulder hunching. And this sort of hunching was naturally happening to me all the time in two situations that I found myself in.

One is when sitting at a computer and typing: my hands would be at a keyboard in front of me, instead of at my side, and I’d be looking at a screen, which might subconsciously cause me to move my head forward. And the other is when using a mobile phone, which would lead to my hands in front of me and my head forward so I can look down. I was doing that latter one an awful lot of the time when walking around; walking might in other circumstances cause my body to be moving relatively freely, but I was actively subverting that by the way I was holding my head and arms. And I’ll throw in a third context in there: I read a lot of books, and again I have my arms forward and my head down when doing that.

 

So yeah, no surprise that my arms had gotten used to being forward, and that that had affected my shoulders and my neck / head. And, looking around, I see tons of people hunched over and with necks stretched out; I suspect that this started getting a lot worse over the last twenty or thirty years as computers have become more popular, and became much much worse as mobile phones have taken over our lives.

It’s not an insuperable barrier. Gokhale has a technique for repositioning your head and neck, so I’m doing that, too, and she also addresses typing and book usage. So, these days, I’m aware of what’s going on and have trained myself to let my arms hang, counting on my forearms to bend my arms to let them access objects in front of me; I can type fine that way, my keyboard is just closer to my body than it had been. And, when reading, I can similarly hold a book with relaxed arms; the neck is harder, but if I look down with my eyes more then I can still read okay. Mobile phone usage is harder still; I have a grab bag of solutions there, but honestly the best one of them is to not use my phone as much, especially while walking!

 

I was starting Tai Chi at the same time as I read Gokhale’s book; and, sometimes, my teacher would say to round my back, so my shoulders would be forward. At first, this felt like mixed messages to me: my Tai Chi teacher says to round my back, but Gokhale says to keep my shoulders back?

After a bit (and talking this over with one of the other students), I realized that it wasn’t a mixed message at all. My teacher didn’t say to constantly round my back: he said to do that during certain specific moves. And those were moves where you’re doing a pushing motion. So yes, if you want to push at something in front of you, then your arms will be at front, your shoulders will be forward, and you’ll round your back: that’s actually your anatomy all working together! But, if you’re not pushing something in front of you, then you don’t want your arms in front of you, so you’ll have a different shoulder positioning.

 

The Gokhale Method training helped me (I believe) unlearn some habits that I’d gotten in, to let my body return to different positions as it relaxes more. This is something that happens in Tai Chi, too, and is a key part of the Lotus Nei Gong ideas. In particular, as I do more Tai Chi, shoulder positioning has become something that I explore when doing silk reeling; in several of the silk reeling exercises, I can observe when I’m moving my torso in a way that causes my arms to naturally fall forward. And that’s good! It’s not that it’s bad to have your arms forward: it’s a natural response to certain situations.

But when those situation become too common, it’s a problem: your shoulders end up adopting that forward position as the norm, other parts of your body do as well, and you end up tense and in pain. So I’m glad I became aware of what’s going on, and managed to unlearn that positioning as a bad default habit.

not so deliberate practice

October 2nd, 2019

I’ve read a couple of books on deliberate practice over the years; I was more or less convinced that there’s something important there, but I also have misgivings about it.

So it was interesting to read Range, to get a different take. Range acknowledges that deliberate practice does work, but it works best in certain specific domains, or even subdomains: e.g. it’s more important in golf than in many other sports, it’s more important in classical music than in other kinds of music.

One key domain differentiator is how feedback loops work. If you can get feedback that’s both quick and accurate, then deliberate practice can work very well: trying to drive a golf ball from a tee over and over again, trying to play specific passages in a piece of music that a composer has laid out for you. But if feedback cycles get longer, or if the accurate of the feedback is lower, then deliberate practice isn’t so effective: it’s hard to tell if you’re learning the right lessons.

Another factor that the book points out is that it’s important to find a fit between you and what you’re working on. Maybe you love music, so you want to play an instrument; but it can take a while to find out which instrument really clicks. And it’s better to spend a few years exploring and end up at the right instrument for you than to decide your instrument early at the expense of it not really feeling like a fit.

And the book also talks about the benefits of cross-fertilization. Ideas can come from anywhere, and the most impactful ones are disproportionately likely to come from unexpected directions.

 

It’s not an all or nothing, of course. Take learning guitar: there are lots of skills that fit the deliberate practice mold. Learning scales or doing chord transitions quickly and crisply are both unquestionably valuable skills to learn, and they have fast, accurate feedback loops.

But also: try out stuff. You have a huge number of musical genres available to you; even if you know what speaks to you, try out different genres, you’ll learn something from them. And try out different instruments, too: you’ll learn something about how songs are constructed from playing bass, you’ll learn something different from singing or playing drums or keys. And spend time both in more improvisational modes and playing composed music.

 

Nice to have some justification for my, uh, more scattershot approach to life and learning. Though, honestly, I don’t want to pretend that that really works out well for me: it’s not like being a (reasonably good) dilettante at music or learning some Tai Chi makes me a better programmer. Probably my mathematical background did help me in some oblique ways as a programmer, though, as does reading and thinking seriously about a fairly wide range of somewhat related books?

And, of course, as per my prior post, there’s more to life than becoming an expert, anyways.

erica

September 29th, 2019

I kind of waffled about whether I should write about Erica, but it’s on the list, so it gets a post.

And I do think it’s a good game. You’re watching filmed interactions most of the time, but the bits where you have to interact with the environment (even if they don’t involve a choice, as they usually don’t), or where you have to choose between responses, make a difference. It’s kind of a limiting case: how far can a game go with cut scenes, with only limited interaction and with no skill component (other than the fact that responses can time out), while still feeling meaningfully different from a movie? And the answer is: pretty far!

I guess it would be even farther in that direction if there weren’t choices that affect what you see. The existence of those choices is one aspect of the game that I didn’t probe so clearly: it’s a horror game, and that meant that Liesl didn’t feel like watching it while I was playing, or even being in the next room over. (And, honestly, it creeped me out some, too!) So I felt a little guilty about replaying it, since it would basically mean exiling her; I certainly wouldn’t have gone completionist, and the fact that I was shoehorning it into the middle of other games so I could talk about it with VGHVI folks also meant that I was playing it more provisionally than normal. But I probably would have played it a second time if it weren’t for that, and quite possibly a third. I’ll be interested to see what other folks have to report about the game.

Anyways, because of that: not much to say, about either the mechanics or the plot. Though I do recommend it (and who knows, maybe I’ll replay it at some point if Liesl is out of the house), what I saw did actually rather impress me.

my practice routine

September 23rd, 2019

Here’s my practice routine for Tai Chi and Nei Gong.

First, stuff I do every day. I use Streaks to help me with this: I don’t actually care about the streaks themselves, but I can use the help of daily reminders for this. And, once I started poking at Streaks’ settings, I really like how it lets you decide whether / when to get notifications from it and whether / when to turn on badge markers. So, for example, if there’s a specific task that I’m mostly likely to be able to find time to do either during a mid-afternoon work break or as I leave the office at the end of the day, then I might tell Streaks to notify me at 3pm and to put a red badge on the app icon at 5pm if I haven’t completed it that day.

My current set of daily activities:

 

Dantian Rotations

I do two rounds of 25 per day, at the train station while either waiting to get on the train or just after I get off. I got a lot of benefit of this when I first started; I feel like the benefits have leveled off, so I might stop? But it’s not like I’ve got anything better to do when waiting for the train.

Squats

Specifically, one batch of 5 squats, going down and up very slowly; if it gets easier, I go slower. (I do this one when getting ready for bed.) Or at least I should go slower: honestly, I haven’t been taking this one as seriously as I should. Still worth working on.

Meditation

I added this one relatively recently; seated meditation, sometimes focusing on breathing and sometimes doing a body scan to relax things, both from the instructions on Sung Breathing described in Damo Mitchell’s first book and again in a later one. On work days this is usually only 10 or 15 minutes before leaving for work, which honestly just isn’t much time; sometimes I do another 20 minutes when I get home, but not usually. On weekends I usually find time for a longer session, 30 or 40 minutes. I haven’t seen a lot of effect from this, but I feel like, if there’s one thing that I’m doing that has lots of evidence and tradition behind it, it’s meditation! (Though that doesn’t mean that 10 minutes is useful, even if it’s daily…)

Wu Ji

Specifically, the Lotus Nei Gong version. I’d been doing it three days a week for about half a year; I like what it does to my body, and I wanted to keep the intensity up, so I switched it to a daily thing more recently. 15 or 20 minutes most days, but longer sessions (30 minutes, working on lengthening that) three days a week. Helps with sinking (most oddly with my shoulder blades?), helps with relaxing, and I get these weird shoots of energy through my body all day after doing this.

 

So that’s the daily stuff. I think I’ll keep it all in there for now. I might add in some stretching; the Lotus Nei Gong folks recommend that, and my hamstrings in particular are quite tight. And if I had fewer constraints then I would do the Tai Chi first form every day, multiple repetitions of it; it’s hard to find time for that, though, especially now that I’m carving out time for Wu Ji, and I don’t have a great location for that at work either.

 

The next category of stuff is classes. Which, right now, means Tai Chi classes: if there were somebody in the area giving regular Lotus Nei Gong classes then I’d probably do that, but as it is my only option is multi-day seminars that happen a few times a year.

One class that I do is on Tuesdays. It’s a combined beginner / intermediate class, and I go to part of each: focusing on early postures in the second half of the beginner class, then doing Qi Gong and Silk Reeling in the part shared between both halves, and then going through the form once. I’d certainly get something out of staying for more of the intermediate class, reviewing those postures, but I also like going home and having dinner.

The other weekly class is the Saturday one: a longer Silk Reeling session, going through the form twice, doing some more review of some portion of the first form, then practicing some weapon, and then doing something else (for the last year and a half, that something else has been learning the Xin Jia form.) And once every three months or so, I get to lead Silk Reeling, which means that, the following week, I get one-on-one instruction from my teacher, which is super useful.

Once a month there’s an advanced class on Sundays: going through the second form, some applications, a different weapon, and some Xin Jia. (And, this year, also some Xingyi.)

 

And then there’s practice that’s less frequent than daily. On Sunday, I do more Tai Chi practice (unless it’s a week with a Sunday class): I go through the Lao Jia first form 5 times, the second form once, the Xin Jia first form once, and our current weapon a few times. If I want to get serious about learning the second form and the Xin Jia form, I should probably up those some, and I should probably add in more practice time for other weapons, so they’ll stick; for a while I was regularly reviewing Dao routines, and that helped.

And I do more Nei Gong three days a week: at lunch Tuesday and Thursdays, and at home on Sundays. (Sundays are a busy practice day! Which I’m still learning how to integrate into my habits…) I start off by doing some stretches, then I do a longer batch of Wu Ji (30 minutes on Tuesdays and Thursdays, and I’m pushing beyond that on Sundays), and finally I either go through the Ji Ben Qi Gong or the Five Animal Frolics. (Well, four of them, I never learned the fifth!)

 

Feels like I’m kind of reaching my limits in terms of time, at least without major changes? Though, who knows, I’ve found time to add Nei Gong into my days this year, I wasn’t doing any of that 8 months ago. If I really wanted to find more time, I guess the options are either to spend time during weekdays evenings practicing stuff instead of playing games / typing / hanging out with Liesl, or to spend all five weekday lunches practicing instead of playing board games with coworkers, or to work less instead of making money. And, right now, all of those options seem like they have downsides that are big enough that I’m comfortable with my choices.

The other issue is that I don’t have a regular weekly Nei Gong course available to me; so if I want more training there, I’ll have to go to seminars more often. There are local seminars available maybe five times a year; they usually last for about four days, two of which are weekends; so I both need to ask Liesl to take care of home stuff on weekends and to take some time off of work. Which I’m willing to do to some extent, but at least this year I haven’t been going to all of them; that feels like something that will change over the next year or two.

And another possibility would be to see if I could get private lessons from my Tai Chi teacher more often; I don’t feel like I’m putting in quite enough time for that to be worthwhile, though.

Or maybe I’ll decide to dial down all of this; I have a history of finding something, getting interested in it and taking it seriously for a while, and then dialing down my interest. I feel like I’m still in the upswing of that process, but given that I’ve been doing Tai Chi for four years now, it’s certainly not out of the question that I could start getting bored soon…

pokemon let’s go

September 12th, 2019

I’d never played a Pokemon RPG before. I’d seen a few episodes of the anime a couple of decades back, and I played Pokemon Go when it came out, but the main RPGs never made it to the top of the list of potential games for me to play. This summer, though, I had a bit of a lull between games and I was going on a trip so I wanted something I could bring with me; Pokemon Let’s Go looked adorable, so I figured I’d fill in that gap.

And it was adorable! (Especially since I grabbed the Eevee edition.) But also I feel like the series isn’t for me. Structurally, the game seems to be encouraging you to build up a diverse set of pokemon to be able to fight different matchups; but, if you really want to do that, you’re setting yourself up for a ton of grinding? And, to make matters worse, there are random variables involved, ones that are hidden most of the game.

So, if you’re me, you’ll eventually end up with a reasonably strong and reasonably diverse set of pokemon once you reach somewhere around the halfway point, and hope that they can carry you through the game without having to always get the matchups right. And they did carry me through fine; actually, as I went through the final third or so, I found myself overleveled more often than I had earlier, even though I’d been avoiding some portion of the encounters. So the game isn’t mean; but also has a design at its core that doesn’t particularly attract me.

 

Which isn’t to say that I didn’t enjoy playing Pokemon Let’s Go: I’m glad to have done so. It’s a pleasant lightweight RPG; more battle heavy than I’d like, but the battles are pleasant enough.

And it’s got character. Though, honestly, a little less character than I expected? Like in the encounters with Team Rocket, for example: my expectations for that were set by the anime, but Jessie and James don’t have nearly the same style in this game as they do in the anime. So maybe it’s not quite right to say that the game has character: the interactions are pretty bland, the music was hit and miss, but I liked the visual styling quite a bit.

 

But still, the game gave me something to do, and it didn’t overstay its welcome. And I’m glad to have filled in that gap in my background.

where i write

September 9th, 2019

An occasional reminder of the various places that I put stuff. This blog is for longer-form stuff; you know about it, since you’re here! I have a Twitter account, @davidcarlton, low volume. (Maybe one tweet a day on average?) I have a Tumblr that I use solely for links to stuff, malvasian links. (I cap it at 4 links a day, but it rarely gets that high.) And I have another blog, Malvasian Scenes, that started out as game play diary experiences, and now is once-a-week notes on Tai Chi / Nei Gong and once-a-month pictures from VGHVI Minecraft. I can’t imagine that that last one is of interest to much of anybody, the Tai Chi notes in particular are really just notes to myself.

(Speaking of the VGHVI, if you want to talk about video games once or twice a month and if you’ve had any contact with me at all, let me know and I’ll invite you to the VGHVI Discord.)

outer wilds

September 8th, 2019

Outer Wilds sounded like a really neat game. Heck, it still sounds like a neat game to me! A tiny solar system, and a ship to explore it; a mystery or two to seed your curiosity, growing as you explore the planets in the system; and then, after 22 minutes, the sun goes nova and you have to start over, keeping only the knowledge you’ve gained from previous loops. That sounds like a great concept; and, from what I’ve heard from people who have finished it, it can be very rewarding.

I wasn’t one of those people, though. Ultimately, I didn’t feel like I was spending nearly enough of my time uncovering mysteries, or at least banging my head against mysteries; that got frustrating. And, honestly, open-ended puzzle games are already frustrating enough; that’s part of what makes them good, because if you always know what to do next, then you’re not getting enough puzzle! But that also lowers my tolerance for other forms of frustration: I want to spend my time doing something potentially slightly unpleasant but ultimately rewarding in the form of banging my head against mysteries; having to spend my time in other unpleasant ways while I’m trying to reach my chosen unpleasantness makes that feel a lot worse.

 

The first form that this takes is traversal. You fly a ship, and it has to make its way through full 3D space, trying to land on or otherwise navigate moving objects at various orientations. There are a bunch of controls to help you handle that (it’s not just pointing a joystick and going); a reasonable map to the problem space, and one that could be fun. Except that it’s not the problem space that I’m interested in exploring: if what I want to do is “poke around in that region over there, in hopes that it sheds light on the current mystery that I’m exploring”, then I want to spend my time poking around, seeing what I can find and thinking about it, not doing fiddly execution stuff layered in front of the poking around.

And the other problem was the time loop. Or rather, the time loop combined with the changing / decaying nature of the environments combined with the lack of time manipulation ability combined with the difficulty of navigation. For example, there’s one world that has sand falling on it; as that sand rises, it makes it impossible to access certain areas. And, the first time that happened, that was actually kind of neat: I knew that there was an area that I wanted to get to on the other side of those passages filling up with sand, and figuring out how to get there under time pressure was a pleasant enough experience, so I didn’t mind the fact that I had to take two time loops to figure it out.

But then there were more mysteries past there; and they were also affected by the sand. So, if I wanted to explore this area during a given time loop, I had to re-navigate that initial area; then get to where I’d left off my exploration; then poke around some more, hoping to find some ideas of what to look at next; and then hope that I can look at that thing before that area fills up with sand. And if some section had filled up on sand, I’d have to wait until the next loop to explore that; so my choices are either to context switch and hope I can find something else worth exploring that isn’t in an area filled up with sand, or else to exit the current loop early, taking an immediate multi-minute penalty of getting back to that world and then going through the initial sand passages and getting to wherever I’d left off. And none of that is what I want to be doing.

So I stopped playing. I’m sure there’s a core to the game that I would really enjoy; I just wasn’t able to spend enough time in that core of the game.

 

Mostly, Outer Wilds gave me even more respect for Return of the Obra Dinn. In Obra Dinn, you’re banging your head against a mystery, trying to figure out what on earth happened on this ship, to uncover the fate of every single crew member and passenger. And that’s hard, there’s a lot there to bang your head against!

But the game knows that, and so that’s exactly what you spend your time doing: you’re spending the entire game staring at stuff and trying to figure out what that’s telling you. Usually staring at frozen scenes in the ship’s past, sometimes wandering around the ship in the present and trying to get a broader picture, sometimes looking at your notes and trying to make connections. However it manifests itself, the game is always focused on giving you the context to make progress in the puzzle.

I wish Outer Wilds had had that sort of focus on its mysteries.

returning to shenmue

August 26th, 2019

I was very glad that Shenmue and Shenmue II got a re-release in preparation for the forthcoming third game: I thought back on those two games incredibly fondly, but I didn’t actually remember so many details about them, and in particular I could use a plot refresher.

Maybe I was a little curious how well they would hold up, but honestly I wasn’t worried about that: in the past, when I’ve returned to old favorites, they’ve held up pretty well for me? And the specific ways in which the Shenmue games did well are still ways that I haven’t seen explored much in subsequent games; the Yakuza games have some similarities, especially in the care with which they treat their environments, but there are a lot of differences between the two series as well.

Having said that, I was a little taken aback at the start: old-style controls, and some of the graphics hadn’t aged well. (Though I liked the graphics more later, maybe the initial cut scenes were particularly rough or something?) But, once I got beyond that (and looked up how the controls worked, I miss paper manuals!): this is still Shenmue, and Shenmue is both great and unique.

 

At the time, there were very few games with environments that were crafted to the level of detail of those in Shenmue. Those detailed enviroments aren’t so uncommon today, and in fact I’m sure that there are lots of games out there with more objects in them, more places that you can stick your nose in.

Most of those games don’t treat those environments as living spaces, though: AAA games usually spend their crafting budgets on locations for elaborate set pieces. Not always: the city sections where the Yakuza games take place feel like characters on their own, and the Citadel and the ship in the Mass Effect games also feel lived-in. (Whereas the environments that Mass Effect missions take place in, elaborate as they are, are designed to funnel you through them instead of to make you feel at home in them.) And open-world games go in a somewhat different direction: huge amounts of space, space that you can return to, but also space that’s generally lacking in density.

But, even granted that, Shenmue is different: the spaces don’t just feel lived in, they’re spaces that you have to actually live in. Yes, there are the traditional game trappings of combat, of commerce, and of conversational unlocks; but it’s all embedded in a structure of daily life. And, to me, this turns out to make an unexpectedly large difference, and a difference that’s positive.

 

Take combat as an example. Most adventure games turn you into a killing machine, slaughtering by the thousands. And combat is very important in Shenmue: the whole plot is focused on martial arts, there’s a full fighting game mechanic there.

But you don’t actually fight all that often! This is completely different from Yakuza, a series that has people lying in wait for you multiple times on every city block: instead, Ryo can go for days in game without fighting enemies. Which would be a little weird if the game left it at that, but instead the game says: if you want to get good at fighting, you should put in the practice. So you can practice with one of your fellow students at the dojo, you can practice in vacant lots that are dotted through the environments.

 

That practicing mechanic could feel forced, and could run into level balancing mechanics, as so many RPGs do: part of throwing enemies at you constantly is to make sure that you get leveled up for the major battles, so you can feel like you’re progressing. With Shenmue, practicing is optional, so the game has to either make you not need to practice or make you want to practice.

Honestly, I suspect it does both: it’s not really clear to me how important it is to level up your various punches and kicks. But, at least for me, the daily life structure of the game makes it very natural to want to practice. Of course I’ll want to put in an hour at the dojo each day: my character is a serious martial artist, he would actually put in much more time than that! But also, it’s a game with a plot, so I’ll be wandering around town; I’ll spend some of that time talking to people, some of that time just poking my nose in places, and I’ll also usually advance the plot some each day.

But the plot advances usually take the form of “come to this location tomorrow and something will be there for you”. You can only do so much with the plot on any given day; so you’ve got time to kill, and it’s only natural to spend some of that time in a vacant lot, working on your technique!

 

And it’s also only natural to spend some of that time shopping. Not a lot of time shopping, though, because you only have so much money; you get an allowance, but that’s limited, so if you want to spend more, you need to earn it. Also, you’ll need to spend for plot-related reasons, not just for personal enjoyment.

Which is another one of the things that I both enjoyed and found realistic about the game was that it has you set a budget but where it feels natural to put most of that budget towards essentials and savings but some of it towards short-term pleasures. Like, yes, I have to make sure I can make my mortgage and utilities payments every month, and I want to put some money towards retirement savings, but it’s also nice to be able to go out to eat every once in a while? So it is in life; so it is in Shenmue.

So, in Shenmue, I have to get a job; and, in both the game and in life, the job is interesting enough. In real life, I’ll be happy enough to retire eventually, I’m not going to be one of these people who works forever, but I also do genuinely enjoy the challenges at work. And I don’t know that I would enjoy a game that was solely based on being a forklift operator, but it’s a fun way to spend parts of your day in Shenmue, there’s enough skill development there to be interesting, but I’m also happy to be finished at the end of each in-game work day.

 

Shenmue II has many of the same virtues; though, as the game went along, I realized that they played out in different ways, and in ways that didn’t work as well for me. You don’t have the same opportunities to practice your combat, for example; I’m not sure why you can’t practice in the vacant lots in Shenmue II, but that’s the way it is? (And, jumping ahead, towards the end of the game there are lots of arenas you can fight in if you want, but you’re forced to gamble, so you don’t want to do that unless you’re sure you can win.)

You still can earn money at a job in Shenmue II, but it’s one that I personally didn’t find as satisfying: you’re stacking crates through a button-pushing minigame, it feels much more artificial than forklift delivery, and there’s no reward for doing well. I literally never got credit for anything other than six crate deliveries the entire way through the game, no matter how badly or well I did. (I’m sure that if I’d intentionally screwed up, I could have gotten less money, but I would have had to work hard at it to screw up that badly, you can make a bunch of mistakes and still get credit for 6 deliveries.) And you can earn money through gambling, but the odds aren’t in your favor, and I wasn’t about to start save scumming.

I still enjoyed the environments, though; and on a personal level, it was nice to see so much Tai Chi, and even to have Ryo be surprised at the martial applications of Tai Chi and to have it explained that that’s because it’s Chen-style Tai Chi. And the plot is fine, too; a little less of a feeling of connection than the first game, perhaps, but that’s only natural since Ryo has uprooted himself, and he does make bonds in Hong Kong as well. So the core good feelings are still there.

 

Still, I was feeling that maybe some of the magic was missing in Shenmue II, that it wasn’t quite as good as either its predecessor or as my memories of the first time I played the sequel. But then I got to the final section of the game. And, yeah: I’d never seen anything like that before, I’ve never seen anything like that since.

Maybe the end of Shenmue II is the ur-walking simulator? Or rather, it’s a walking-and-talking simulator, because that’s all you’re doing: you spend two days walking from a harbor at the base of a river up the mountains to a village, accompanied most of the way by a girl who lives at the village. There are a few quicktime events, but mostly you’re just talking to each other while going along the path. And that conversation is perhaps the most natural conversation that I’ve ever seen in an adventure game or an RPG.

You’re not going through dialog trees and then waiting for the next set of trees to unlock, you just have a handful of topics to talk about at any give point. And these are topics that naturally flow out of the prior conversation: so, basically, what the game is doing is modeling being a human being who is good at being around other people, paying attention to what they’re saying and following up on their words and their interests. If that bores you, there’s an option indicating that you don’t have anything else to say, so you can probably cut the time in half and just quickly make it to the village.

But I was never even remotely tempted to take that option. It left me with a very similar feel to the daily rhythms of the first game: there’s enforced breathing space between plot points, but that breathing space doesn’t outstay its welcome, it’s just enough space to let you feel like a regular human being going through life instead of like a Video Game Hero. I don’t know that I would want a full game of Shenmue II conversation, but I’m sure glad to have experienced it here. I’m glad because of the uniqueness; I’m glad because I genuinely enjoyed it; and I’m glad because it gave a cooling down period after the climax of the game, to let the excitement of the final battle settle.

 

So that’s the first two Shenmue games. And, in a few months, I’ll get to play the third one! I was very excited about that prospect before the replay; and I’m just as excited after having revisited the first two games.

turned on https

August 13th, 2019

I’d been vaguely thinking for a while that I should enable encryption here. I’d had it enabled for Memory (my spaced repetition memorization tool) since the beginning of that project, but with a self-signed certificate; getting real certificates for that and my other domains didn’t seem worth the cost, though. But then Let’s Encrypt came along, so the cost problem disappeared, and it sounded like the ergonomics were quite good as well.

So, maybe four months ago, I signed up for a certificate through them; I had it list all of my domains, but I initially only used it for Memory. Worked fine there, and when I checked three months later, I verified that the tooling had automatically renewed the certificate.

After that, I added it to all of my other domains. Took a bit of Apache fiddling, but I eventually got that right. And some of my domains have custom code and custom code generation, so some of that had to be updated; e.g. I ran into CORS problems and proxy configuration problems when doing the code that retrieves the blog posts associated to a game I’ve played. But it all worked out fine.

Yay for Let’s Encrypt, I’m quite impressed by it.