[ Content | Sidebar ]

the case of the golden idol

September 17th, 2023

I don’t have anything deep to say about The Case of the Golden Idol, but it’s a very good game. It’s a puzzle game where each puzzle involves figuring out a murder, both who did it and the context behind the murder; each murder has you presented with some scenes that you can navigate through (typically representing different rooms in a house), with objects and people that you can click on to figure out what they’re holding. You’re not represented by an avatar, you’re just an abstract observer trying to piece things together, so there’s no talking to suspects or anything like that; but many of the objects in the scene and in people’s possessions include written notes, giving you an idea for how these people ended up where they are.

That’s half of the UI; the other half is the solution screen, which is presented as as some groups of fill-in-the-blank puzzles, using words that you’ve run across when poking around through the rooms. Part of the screen is, of course, the solution; that generally takes the form of a paragraph rather than just “X killed Y”, so you have to give some context and motivation. And another part of the screen is basic facts; the most common of those has you assigning names to the various people that you see in the scenes. Typically there are a couple of other panels as well, asking you to piece together some other intermediate deductions.


And it works really well! The solution screen does a good job of mirroring your thoughts as you navigate through the rooms. First, you’re just trying to get a sense of what’s going on: so you start encountering people, you read through a few documents, you get a sense for what the key concepts are in this murder. And that knowledge is reflected by more and more words becoming available for you to plug in on the solution screen. So, once you’ve clicked on everything, you’ve gotten all of the words, you probably know who most of the people are, and you have a sense of what to take a second look at to figure out who the remaining people are.

You enter the names you know and then figure out the last few; and the game tells you whether or not you’ve gotten all of the names correct. Then you move on to one of the other intermediate puzzles, and work on it. And by the time you’ve done all of those, you’ve looked at all the bits of writing and evidence enough times that you probably have a pretty good idea how the murder itself went down. You enter that, the game validates that (or tells you you’re wrong; and, if you’re wrong, if you were close or not close), and you feel happy.

This all adds up to a very nice bit of scaffolding for your thinking progress. And for discussion: Liesl and I ended up playing it together, so we’d talk about what we understood, what we didn’t understand, what our theories were, all in the context of that solution screen. Once we got past the first two or three puzzles, there was enough to think about that having each other there to bounce ideas off of each other was pleasant and (especially in the later puzzles) useful.


The puzzles are connected, with each one taking place a few days (or, eventually, years) after the previous one, with significant overlap in their casts of characters and motivations. So, as you go through the puzzles, you’re piecing together a larger picture of what’s going on. That might help you solve the individual puzzles, but each one does actually stand alone as a puzzle, until you get to the last one; that one ties together strands from its predecessors, so you end up jumping back to the earlier scenes to remind yourself of some bit of information or other.

And it’s a pretty neat story, and one that works well as a puzzle game; the twists and turns kept on pleasantly surprising me, even through to the solution of the final puzzle.


So, yay. Good puzzles, in a format that is new and that works well. Pleasant plot. And even though it’s a solo game by format, it works well to talk about and solve with somebody else.

tradeoffs arising from the use of generative models

September 3rd, 2023

Since the discussion around the effects of generative models doesn’t seem to be going away, I figured I’d give in and write about my point of view of this stuff. Specifically, I wanted to talk about how I see some of the tradeoffs involved.


Midjourney responding to the prompt “humans protesting against robots in 19th century britain impressionist style”

The first is the question of how much to worry about people being automated out of work. Which is not great; many artists, writers, and programmers quite reasonably feel threatened by that!

I’m not going to discount that worry, but it’s also not obvious to me that making it easy to produce art / writing / code is going to reduce the demand for artists / writers / coders. If something becomes easier to do, then its cost becomes lower, and so the demand for it increases. And sometimes that increased demand increases the total market enough to increase employment in that market; and not just employment of people doing whatever job in firms in those areas, but of people working specifically on the very jobs where automation is increasing.

Take programming as an example: it’s constantly getting more and more automated. If you go back to the middle of last century, people had to program by flipping switches to enter binary code into a machine. Then assemblers and linkers came along to allow programmers to think in terms of machine instructions and to let the computers turn those instructions into binary. Then higher level programming languages and compilers and interpreters came along to let people address the computer in a way that wasn’t native to the computer (and those languages went through decades of evolution). And, as programming languages were spreading, they were accompanied by the spread of libraries, frameworks, and services, and tooling to make it easier to work with all of this.

So huge amounts of labor have been automated away. But this doesn’t mean that programming jobs have shrunk correspondingly, or anything close to that; instead, the result has been software taking over more and more of the economy, with jobs growing accordingly!

Stable Diffusion responding to the prompt “humans protesting against robots in 19th century britain impressionist style”

I’m not going to say that that trend is necessarily going to continue as generative models help more people program more efficiently; but I guess my default assumption is that it will? And I’m also not sure that the market for other areas where generative models are having an effect will expand in the same way, but I also don’t see a reason to assume that they won’t.

For example, I saw some people make statements along the lines of “you should never use generative models to produce visual art, if you want a drawing in something you’re making, you should pay an artist for it”. But there are lots of people who never use custom art, whether because of financial reasons or time constraints; if some of them start using computer-generated art, then the market is larger. At least it’ll be larger in terms of the amount of new art being created; whether that will increase or decrease the amount of money spent on art, and whether it will increase or decrease the amount of money paid to human artists, isn’t particularly clear. But, again, I don’t see why the answer to either of those is “decrease”: in particular, once somebody gets used to having custom art, they might end up being unhappy with the quality of computer-generated art and being interested in paying a human at least some of the time.


Four Midjourney responses to the prompt “hipster robot drinking coffee in a library cafe while listening to jazz records”

So that’s the most optimistic spin on the effects of generative models on humans who do similar work. But of course, not all automation has that kind of effect; that doesn’t mean that it’s bad, though! We’ve increased the efficiency of food production many fold over the decades, and, as a result; many many fewer people now work on farms than did a century ago. Which is a good thing: it means that there’s a much larger quantity and variety of food available now than there was a century ago. And tons of jobs are still available in the economy, they’re just different jobs; personally I’d rather work as a programmer (a job that didn’t exist a century ago) than as a farm worker.

As examples of how this might play out in game production: when listening to interviews with voice actors, one thing that they regularly bring up is that some of what they do is physically strenuous and even dangerous, with barks being brought up as an example of the latter. So if we could automate the production of barks, that probably would be a good thing? AAA games in general take much longer to produce these days than in previous decades, and one culprit that I’ve repeatedly heard cited is the difficulty of producing art to the resolution standard that modern consoles and graphics cards allow; if generative models can reduce the effort required there (or, for that matter, the programming effort required for modern games), then that’s a good thing, I would think? Or if small teams were able to start shrinking the visual / audio gap between their games and AAA games, that sounds like a plus as well. And that sounds like a plus to me even if it means that there are smaller armies of artists or programmers employed in the game industry; ultimately, to me, the game industry matters to me because of the games rather than as a jobs project.

Stable Diffusion responding to the prompt “hipster robot drinking coffee in a library cafe while listening to jazz records”

I don’t want to completely discount the issue of people being put out of work by automation. But also there’s nothing sacred about the exact division of money going to people in different jobs, new jobs appear all the time and job categories shrink all the time, and that’s okay? (I would actually say that it’s an actively good thing, an economy where job categories stay the same size is a stagnant one.) And, right now, the employment levels in the United States are amazing high and have been that way for a while, even in the face of inflation and interest rate hikes that would normally push us in the other direction; it seems like an odd time to be too doomerist about employment levels.


Midjourney responding to the prompt “robot painting a dog while surrounded by books”. Not sure what happened to the robot…

Then there’s the moral case, with artists and authors saying that generative models are stealing their art by using it for training purposes. And I’m going to be blunt here: my moral position is pretty much the opposite of that one.

Part of the reason is that my position on copyright is actually pretty far out of the norm, in a permissive direction. My attitude is that, in general, growing the commons is good and creating a monopoly is bad; so, as a corollary I’m pretty dubious about copyrights and patents in general. Ultimately I think that copyrights and patents are a good idea, but while I can see the moral case for them, my main reason for supporting them is a pragmatic one, and it’s basically the same one as stated in the United States Constitution:

To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries

I think we get more art by giving artists a monopoly over their works in the form of copyright; but I also think that monopoly should be limited (and in particular I’m strongly against the repeated extension of copyright terms that we’ve had over the last century), and I’m also strongly on the side of allowing derivative works.

Stable Diffusion responding to the prompt “robot painting a dog while surrounded by books”

But, even if we set aside my unusual positions on this matter, I still think the obvious position to start from is to say that we should allow computers that are producing new works to be able to use old works to the same extent that we would allow humans who are producing new works to be able to use old works. And, in that light, the analogue of the statement “we shouldn’t let generative models train on works created by human creators without those creators permission” translates into “we shouldn’t let humans be inspired from works created by other human creators without those other creators’ permission”. Personally, I think that last statement is ridiculous, and if treated seriously would be a huge threat to art.

So yeah, plagiarism isn’t great. Plagiarism isn’t great when done by humans; and if somebody uses generative models to end up with work that we would call plagiarized if it were generated by a human, then fine, call the computer generated work plagiarized as well, and penalize it similarly. But the vast, vast majority of work coming out of these generative models doesn’t fall into that bucket.

And, in particular, producing work in the style of an artist isn’t plagiarism. It’s not plagiarism when done by a human (and it’s also not uncommon when done by a human!); it’s not plagiarism when done by a computer.


I haven’t used the term “AI” anywhere in this post, and that’s intentional. It’s a term that can be used in too many different ways and with too many overtones; when thinking about stuff like this, I find that it just gets in my way. I have no idea to what extent generative models are an important stepping stone towards an artificial general intelligence; and I’m willing to believe that AGIs do raise potential problems that are worth taking seriously. (Though, honestly, I’m not convinced by AGI doomerism, either; I just don’t feel that I have anything approaching an informed opinion about it.)

But, when it comes to generative models, my attitude is much more straightforward. In general, automation is good for society as a whole, because it produces more stuff and because it lets us level up the kinds of tasks that we take on as a society. Frequently, automation doesn’t even have a negative effect on people whose jobs are being automated. (There are more bank tellers now than before automated teller machines were invented!)

And part of putting works of art out into the commons is that other people will be affected by those works of art, which might mean that they’ll want to have more art that is similar to your art; that’s a good thing rather than a bad thing.

notes on incident response

August 28th, 2023

When you’re on call to help run an online service and you get paged, then the page might go a few different ways. Maybe the alert is something that you’re familiar with; so you take the standard steps, you take a note to bring it up in the next retrospective in hopes that your team can decrease its frequency, and then you go back to whatever you were doing. Sometimes the alert is something odder, or the standard steps don’t work; then you dig into the logs, figure out what’s going on and how bad it is, and, after a bit of looking, you get a handle on the issue and the system goes to normal.

But sometimes that alert is a sign of something rather different. There’s a serious problem appearing that’s already starting to affect your users and where the effects could grow if you don’t get on top of it immediately. You don’t really understand what’s going on and you feel like you’re starting to lose control: an outage is brewing. I want to talk about that third situation here.

The short version of this post is: in these outage or potential outage situations, your psychology is probably working against you. The tradeoffs in an outage situation are different from a normal on-call situation and from normal non-on-call work; instead of having one or two people digging deeply into a problem, you want a team of people looking at the problem broadly. And that in turn creates a need for coordination; take that coordination role seriously as well.


Normally, when you’re working as an engineer, you’re trying to understand something and deal with it as efficiently as possible. You’ve got a guess as to what’s probably going on in a given situation and what to do. So you spend some time following where that guess leads, making sure that that guess is the right one. If it is, great; if not, you try out other possibilities. If you get really stuck, you’ll ask a team member for help, but you don’t want to interrupt them unless you really need to: they have work to do as well, after all, and if it’s outside of regular work hours, then they have lives to lead. So you dot your i’s and cross your t’s before asking for help.

In an outage or potential outage situation, however, almost all of that is wrong. There’s a core that remains relevant: you don’t want to make things worse, so you certainly need some level of care. But, given that constraint, your goal should be to get the situation under control as quickly as possible: fixing the problem is a higher priority than completely understanding the situation, it’s a higher priority than not bothering other people. (Don’t get me wrong: understanding is good! But, as long as you can fix the situation safely, then it’s okay if the understanding happens after the fact.)

Part of the implication here is that, in an outage situation, you should be willing to take remediative actions even when you don’t have a clear linkage between those actions and the cause of the outage. For example, if a relevant service was recently upgraded, then try downgrading it; if some feature flags were recently flipped, try setting them back to their prior state. This isn’t always the right course of action: if the service is one where upgrades are problematic for some reason, then there might be a noticeable risk that downgrading it will make things worse. But, in the normal happy case where downgrades are fast and safe, then you might want to just go ahead and do that: it almost certainly won’t make the situation worse, and it might make the situation better.

So part of the answer is that, in these uncertain situations, you want to do safe but speculative actions more often than you would otherwise. But an even bigger part of the answer is that a straight line approach of having one person dig into their best idea of what’s going on is not going to be the quickest way to reach a solution: instead, you want to take a set-based approach.


In our story above, the on-call is digging into their best guess as to what’s causing the problem. And that’s a good thing to do, no question! But they probably have a second and third guess as to what might be relevant; it would be great if somebody else could be looking at those possibilities as well. And, as I mentioned above, you might have some speculative remediation activities that somebody should try out. (“Have you tried turning it off and on again?”) But if the problem is mysterious enough, then none of that will work: so ideally you’d also be digging into the logs to see what unexpected bits of evidence are lurking in them, and you’ll also want to look at recently deployed changes and recent feature flags to see if they provide any clues. And there’s probably somebody in your organization who’s been around a while and has seen all sorts of things, who is unusually good at figuring out what’s going on when the system is behaving strangely; it would be great if that person were here to help.

That’s a lot of different things to try! (Which is why we call this a set-based approach: you’ve got a set of actions to undertake, and you’d like to perform as many of them in parallel as possible.) So, in this outage / impending outage situation, you need to shift out of a mindset of “the on-call will deal with this” to “we need a bunch of people looking at things and digging into different possibilities”; doing so will dramatically shrink the resolution time. And this, in turn, changes the problem into one of group problem solving and coordination.


Coordinating a group is hard work, and one that requires specialized skills. You could ask the on-call to switch into that coordination mode; but that kind of mindset shift is hard. So, at my current job, we have a separate rotation for this (a rotation of senior engineers and managers pulled from different engineering teams), called the “Incident Response Coordinator” (IRC) rotation. The IRC’s job is to help coordinate the response to incidents that are already serious or are showing signs that they will get serious, with the goal of getting the incident resolved safely as quickly as possible.

A big part of their job is to implement the set-based approach. Find an appropriate group of people to work on the problem; at first, maybe it’s just the on-call and the secondary, but by the time the IRC is involved, it’s usually pretty clear that we want more people to get involved. So one of the things that the IRC is doing is notifying other team members that they should join in if available, and giving those people a summary of the problem and a pointer to the Zoom meeting where people are gathering. And once they’ve gathered, make sure that they’re digging into different aspects of the problem.

Another part of the IRC’s job is to shield those people from distractions while making sure that necessary tasks get taken care of. The on-call and most of the other people working on the problem are trying to focus on understanding the problem and digging into one aspect or another of what’s going on; but if the incident is turning into an outage, then there are other things that somebody needs to do. (We should post on the status page to let users know of the issue and to keep them updated, we should check with support to get a sense of the impact and to help them answer questions coming in from users, etc.) And maybe there are other things that could be done to shield the people who are digging into the issue; for example, maybe the on call needs to spend their time really digging into some aspect of the problem but is being interrupted by a flood of alerts; if that’s the case, can we find somebody else on the team who can temporarily hold the pager?

A third part of their duties is to make sure that the flow of the response looks right. The IRC should never be actually working directly on solving the problem: in fact, if the IRC is somebody whose domain expertise would be particularly useful with the incident in question, then they should find somebody else to wear the IRC hat instead! But the IRC can make sure that the group of people working on the problem is expanding appropriately (expanding from a few team members to the whole team that owns the service in question to adjacent teams to random other engineers who are particularly good problem solvers); and the IRC can make sure that people aren’t getting so wrapped up in trying to understand the problem that they aren’t putting in potential fixes in place. (Also, as a side note: once a potential fix is in place, people should switch to trying to figure out how we can validate the fix as quickly as possible and, if the signals that we’re looking for show positive signs, how we can turn up the dials to have the fix take effect as quickly as possible. Don’t just let the autoscaler add a few nodes: double the cluster size, and if that helps, double it again!)


For really complex problems, I also like to have the IRC manage a list of actions and hypotheses that we’re tracking. Every time somebody comes up with an idea of some sort, stick it on the list; if somebody is at loose ends, have them grab an item off the list and put their initials next to it; once they’re done looking into it, cross it off (and add more items that are discovered as part of their investigation).

Also, make sure that we’ve got some level of notes as to what we’ve come up with. During the outage, what’s important is to solve the problem, not to understand every aspect of the problem, but the next day the team is going to want to start digging in deeper to figure out what was really going on so they can put in further safeguards for the problem in the future. So the IRC should make sure that key observations are written down somewhere, to help with that further investigation.


Done well, this can make a real difference: it can turn a multi-hour outage into one that lasts less than an hour or even into one that barely qualifies as an outage at all. But doing this right takes effort and skill. You need to recognize that individual engineers’ instincts will lead them to behave in ways that aren’t optimized for quickly bringing the problem to resolution; you need to instead bring in a group of people who are all working on different aspects of the problem in parallel; and you need to focus on the metric of safely resolving the situation as quickly as possible.

touching my toes

August 13th, 2023

My body is decently flexible in some way; but my hamstrings aren’t one of those ways, it’s been decades since I’ve been able to touch my toes. (At least when standing; I could barely touch the toes on one foot if sitting with only one leg extended.) Which didn’t seem like the greatest thing, and once I started doing Tai Chi and Nei Gong, it felt like something to work on.

Of course, it doesn’t help that I spend lots of time sitting down; my body is just adapting to what I’ve been asking it to do! So the first step is probably to do that less. My watch is happy to let me know when I’ve been sitting down for a full hour; I’d been thinking of that as a reminder that I should get up and walk around (which I mostly ignored, to be honest), but what if I instead think of that as a reminder to try to touch my toes instead? If I do that enough, then presumably my hamstrings will get less tight and I’ll be able to touch my toes.


I did that for several months; I don’t know if it was as long as a year, but I think it might have been. And: it totally did not work! I won’t swear that I didn’t make any progress at all, but, if I did make any progress, it was a really miniscule amount.

Honestly, though, I don’t know that I was taking this idea all that seriously: I wasn’t worrying too much if I was in the middle of something else when my watch told me to stand up, and I also wasn’t proactively stretching during hours in which my watch had already given me credit for standing. So I figured I’d keep going, but I’d take this idea more seriously: after all, if I stretch enough, my body has to get more flexible, right, so I must not have been stretching enough?


I kept on going; maybe things were getting a bit better? But then, one time, I noticed: I’d been mostly paying attention to the tightness behind my knees, but if I relax the area around my butt, sometimes I can get more bend there. Which probably isn’t so relevant if my goal is just to get my hamstring looser, but touching my toes is probably useful for other reasons? Or, even if it’s not actually useful, it’s still something I’d like to be able to do!

After playing around with this a bit more, it turned out to be pretty repeatable. I’d relax a bit and wiggle my butt some, and I’d be able to bend over a noticeable amount more. And if I kept on going, I could usually get a second extra bend. And, once I got to that stage, I could touch my toes!


I played around with how this felt. There’s a line that goes up my legs, over my butt, and up my back; I feel like I’m managing to disconnect from that line to some extent and rotating the rest of my body underneath it. Also, when I bend over enough, the location where I feel tightness the most changes: instead of being behind my knees, it’s more towards the inside of my thighs, fairly high up; not sure what’s going on there. And that higher up tightness is less annoying than tightness behind my knees, so if I bend over more, it actually becomes more pleasant and easier to maintain the stretch.

I can keep going once I reach my toes, too. I can touch the floor; and frequently, I can bend my fingers and make it to around my first knuckle. The bend doesn’t keep on going forever: I can’t put my hands flat or the floor or anything, and honestly my back is still depressingly close to parallel with the floor, so I clearly still have work to do. But, if I go down far enough, I do start to feel like the weight of my head is helping tug at me, and my lower back is opening up a bit; it would certainly be good if I could continue that improvement.


So: yay for pushing on with this, and yay for figuring out something about how my body works. I’m curious if I could have done this years ago, or if the way Nei Gong is affecting the layers of my body is important in letting my body move as I relax and wiggle. So if any of you try this out, let me know how it goes!

updating my hoa’s ccrs

July 23rd, 2023

I’ve been on the board of the HOA of the townhouse complex that I live in for the last three years; and we just passed a new set of governing documents. And there was enough going on there that I figure I might as well write down some notes on it.


When we first considered buying here, we looked at the CCRs. (And the Bylaws.) There was a decent amount of stuff there that made me roll my eyes (no clotheslines in your back yard? drapes must be white or off-white?), but ultimately, there weren’t any deal breakers. (In particular, they allowed us to have dogs, which wasn’t the case for all of the HOAs we looked at.) And we liked and could afford the house, so we bought here; it’s been a good choice.

Over the years, issues with the CCRs have come up occasionally. The maintenance responsibilities aren’t super clear; one board paid a lawyer to give an opinion about what the HOA was responsible for, and that gave us some clearer guidelines, but it was still too vague: having the responsibilities depend on on knowing what qualifies as “trim” wasn’t great. But they were manageable, and passing a new set of CCRs seemed like a pain, so nobody did anything about it.


That changed five years ago: one board member felt motivated to change things, found a lawyer, and produced a first draft. At least I assume that process was mostly motivated by the feelings of that one board member: I wasn’t normally attending board meetings so I don’t know what discussion happened there, and the board didn’t actually tell people about it in advance. (I’m basically the only person who has served as a board member who treats communication with everybody as a priority…)

And, when I saw that draft, I was not impressed. There were a several sections that felt like that person’s hobbyhorses, and I didn’t agree with most of those hobbyhorses. It was structured in a really bizarre way, with a lot of stuff being listed both in the CCRs (which requires a very difficult vote to change) and in the rules and regulations (which future boards can change on their own), which made no sense to me; I don’t know how that happened. (And some of those items really did not belong in the CCRs.) And there was stuff that probably came from the standard template that that lawyer used that traded in one set of things that made me roll my eyes for another set.

So I complained about that version. Nothing much happened with it the rest of that year, and then that person left the board; the next board did a decent job of trying to understand points of contention in that draft and seeing if they could turn it into something that had a plausible chance of passing in a vote, but that was difficult, and they gave up after a couple of meetings.


I came on the board pretty soon after that; I can’t remember the exact timing, but either the next year or one year later, I think? At any rate, the first year I was on the board (during my current stint, I’d been on the board once before), our liaison on our property management company every once in a while would say to us “your CCRs are really out of date, state law has changed a bunch”, and I would nod and agree, but we had a decently large crisis around our fire alarm system, and of course COVID was happening, so I had other priorities that year.

And I also had other priorities the start of the following year, but one of the things that came up then was a lot more annoying than it should have been because the CCRs were unclear about who was responsible for what. So eventually, when things calmed down, I figured that, yeah, I had enough breathing room and this was important enough that I’d start looking into getting the CCRs changed. (There were two other people on the board, but neither of them was likely to take the lead in a big project, so if it was going to happen, I would have to spearhead it.)

We decided to start from scratch: in my opinion, the draft from the earlier attempt was unusable, and it had been long enough that my assumption was that, even if we’d wanted to edit it, probably the lawyer would have charged us more like we were starting from scratch. So I searched for lawyers; we ended up going with one that our property management liaison recommended, and I’ve very glad we did, he’s been very good to work with.


At this point, my questions were: Is updating our CCRs even possible? How much work was this going to take? What are my goals in this process? And what should I do to increase the chances of meeting my goals?

Taking those in order: for this to be possible, we need more than half the owners in the complex to vote yes on it. (Not just more than half of a quorum: more than half of the owners have to turn in a yes ballot, not turning in a ballot for this is the same as voting no.) Which is a pretty high barrier: it takes some amount of nagging to just get people to turn in the vote for board members every year, even though the HOA can’t function without a board.

But what I was more worried about was that the CCRs (or Bylaws, I can’t remember) have this clause that says that changes to the CCRs require approval from half the mortgage lenders, and the idea that half of them would provide approval for a CCR rule change felt very far-fetched to me.

Fortunately, our lawyer explained that this wasn’t nearly as bad as it seems: yes, mortgage lenders almost never respond, but there’s case law that says that we can treat their lack of response as a yes, as long as we wait 30 days. So mortgage lenders approval turns out to be the easy part, I just need to focus on finding 13 (out of 24) yes votes from the owners. And the lawyer’s process seemed pretty straightforward: he has a questionnaire that we’re supposed to fill out, he’ll plug that into his standard template (including specific rules that we ask for), there’s one round of reviews, and then he’ll prepare the materials for a vote, talk to mortgage lenders, and talk to the city.


I spent a while thinking about my goals: there’s a fair amount that I don’t like about the existing CCRs and would like to change, after all. But watching how the process had gone in the earlier attempt and seeing what the practical problems with the current CCRs had been, I decided that my first priority wasn’t actually to fix all of my pet peeves. What I really wanted was to have the maintenance responsibilities be clear (and I didn’t even care too much about the specifics of what owners were responsible for and what the HOA was responsible for: I mostly wanted clear rules), and the management company’s point that stuff should be up to date with current law made sense to me. And I cared about both of those more than I cared about fixing my pet peeves.

So, when I looked at those priorities, and I combined those with how the previous attempt fell apart because contentious changes were proposed and with the difficulty of getting votes at all, my main lesson was: I should try to avoid contentious topics, even if they’re about changes that I would like to see. There are 24 units in the HOA, and maybe I can convince 16 people to turn in a ballot if I work hard at it (but it will require work!); so I can only afford 3 no votes. And the more people argue, the greater the chance that we’ll have more than 3 no votes and/or that people will just feel uncertain about the process and will decide to not turn in a ballot at all.

Putting that all together, the story that I decided to tell folks was that our main goal here was to modernize the current CCRs. And we would explicitly try to avoid making changes to contentious areas of the CCRs: that meant that people with opinions on the CCRs (including me) would end up unhappy compared to their ideal result, but the new CCRs would hopefully still feel like an improvement over the old CCRs to almost everybody. And this also seemed like a goal that is compatible with our lawyer’s process (and in particular with the fact that we basically have one chance to ask for revisions on the draft): that goal should help limit the argument and gives a relatively clear criterion that we can use to make decisions about issues that do come up with the initial draft.

That seemed like a good approach pragmatically, but I also like it philosophically. If we want to, say, have an argument about changes to how people are allowed to rent out their units (which is one issue that came up in the last attempt), then that discussion will be a lot easier to have if we’re only having that discussion, instead of mixing it with a huge number of other changes. So what I would like us to happen is for us to modernize the CCRs (which, unfortunately, basically requires a complete rewrite), and then, in future years, we could have targeted votes on other more focused changes, changes that would only affect one or two paragraphs of the CCRs. That seems like a pretty healthy way to make changes.


So, with that in mind, the process was this:

1) Make sure that everybody knows that we’re talking about changing the CCRs, that our main goal is to modernize them while avoiding contentious changes, and that people will have two opportunities to provide feedback.

2) Fill out the questionnaire that our lawyer sent. (That was the first board meeting where people would have an opportunity to provide feedback.)

3) Once we got the draft, send it out to everybody, and schedule a board meeting to discuss changes to the first draft. (That’s the second opportunity for people to provide feedback.)

4) Get the second draft, schedule a vote, try to convince people to vote yes.

5) Get the mortage approval, and send it to the city.

Which was an amount and nature of work that I was willing to sign up for.


The questionnaire board meeting went pretty well. Two non-board-member owners attended; one quite reasonable person who didn’t have a strong opinion about the rewrite (but who supported it and our goal), and one person who was more opinionated, and who had been a major source of recent requests to the board. (And who was also the person who had been a driving force in the previous attempt to change the CCRs.) That person had reasonable enough stuff to say about questionnaire items, so the discussion was fine; and then she brought up something specific that she wanted in the new CCRs.

That specific proposed item sounded like a quite bad idea to me; so, after letting her talk for five minutes or so and not seeing the item get any particular traction from other participants, I checked with the other board members and made sure that they didn’t want to proceed with discussing the item, and then I said that she were moving on. She was annoyed (but not actively rude or anything) and left the meeting; it went smoothly after that, and we ended up with responses prepared for the questionnaire in a little less than two hours.


When we got to the draft, I read it a bunch and prepared a list of items that I wanted us to discuss and probably change, the other board members read it some, and one owner (not one mentioned above) prepared a pretty detailed list of changes. I thanked her and invited her to attend the board meeting about the changes, but she said that she wouldn’t do that, she didn’t do well in that kind of live discussion environment; so I said I’d bring her changes to the meeting.

And we went through all of the items that people had brought up. (I think the only non-board-member owner who attended was the aforementioned supportive person.) We came up with what seemed to me to be a reasonable set of requests to send back to the lawyer; again, it took just one board meeting and less than two hours, which was great.

I e-mailed the owner who had submited a list of changes after the meeting, basically saying “we talked about your changes, we agreed with you on these changes, we discussed the other ones but decided to not go along with your other proposed changes, and (for the ones that were larger) here’s our reasoning why we went a different way”. I was pretty happy with how that interaction had gone; I felt like we’d improved the CCRs based on her feedback, and she seemed to appreciate that.


So yay: we’d gone through the comment period without any big disagreements, it seemed like we were on a good track? Then two things happened. One is that one other owner emailed in comments on the draft; he did this maybe half a month after the board meeting where we were going to talk about that sort of thing, six weeks or so after we’d sent out that draft. I asked him if he really wanted us to schedule a board member for us to go over his comments; he said no, but he hoped we would make the changes he wanted anyways. Which is kind of a nonstarter!

Reading through his changes, I actually would have been happy to go along with several of them (though certainly not all of them) if they’d come up in the review period that we’d broadcasted; but they didn’t. The thing is, though, one of them did seem like it was pointing out something important that we missed (and, to his credit, he particularly emphasized that one); so I did talk that one over with the lawyer and the lawyer agreed that the clause in question wasn’t actually useful.

The other thing that came up was that our HOA liaison had one issue that he particularly wanted us to have addressed in the revised CCRs. This one at least did get brought up in a board meeting, just not the one that had been intended for that purpose; we went through a couple of rounds of email exchanges with the lawyer, but ended up not doing anything with that change.


So, after that, we were ready for the vote. It had gone pretty smoothly so far, I was optimistic that the vote would go well, but who knows. So we sent out the ballots, and I sent an email to everybody talking about our goals for this, the process so far, and the importance of voting.

I got some supportive emails; but also the same two people who had commented on the first draft sent out emails saying talking about what they were unhappy with about the proposed CCRs, and one of their spouses and one unrelated owner also sent a brief email supporting the concerns that those two raised. Both of them were taking the tack “we shouldn’t be voting on this now, we should do another round of changes”; I kind of rolled my eyes at that, we had a process for talking about changes, one of the two basically ignored the process and the other two just threw proposed changes over the fence while refusing to participate in the discussion? I’m not saying that the process was perfect, but if their goal had really been to get a better process leading to better CCRs, then maybe bring that up earlier instead of waiting until we’ve already sent out the vote?

Anyways, for both of them I took a pretty similar tack. Yes, the CCRs aren’t perfect, but I think they’re good enough; if we want to make it better, what I’ll propose is that we approve these broad changes and then have a subsequent vote on targeted changes that are important to people; and for the specific changes that you’ve called out as most important, here (in the least inflammatory language I could come up with) is why I either disagreed with your proposed change or why I didn’t think this topic is important enough to hold up the entire process for. (E.g. I’d do stuff like point out bits of state law that meant that a specific concern was already addressed by state law.)


I was kind of nervous after that. Clearly I had two, probably three no votes; and I could count on maybe 8 people to vote yes. But that leaves a whole bunch of people that I didn’t have evidence about; if almost all of them vote no or don’t vote at all, then it wouldn’t pass. (My earlier estimate was that I could get 16 out of 24 people to vote at all, so three no votes already uses up my entire buffer!)

At least there weren’t too many people who were openly complaining. So I figured that I wouldn’t worry about people being against it, but that I would worry some about people not voting at all. (Whether because they weren’t sure if it was a good idea or because they just didn’t get around to voting.)

And that seemed like something I could have an effect on. (My guess that 16 people would vote is just a guess, after all.) I obviously can’t learn how people vote before all the votes are opened, but our management organization was willing to tell me who had submitted votes. So I got the list of people who hadn’t yet submitted a vote, skipped the people who I either had reason to believe would vote no or whom I didn’t get along with on a personal level, and I emailed each the rest of the people encouraging them to vote. I didn’t actually encourage them to vote yes: I just encouraged them to turn in a ballot, and said I’d be happy to answer any questions they had.


And all of this seemed to work – 19 of the 24 households voted, and 16 of those households voted yes! Yay for that, always nice when things turn out well.

I did email people saying “if people were serious about wanting to make improvements to the draft CCRs, I’d be happy to make time in the next board meeting to discuss proposed further amendments”. And I got zero uptake on that offer; so yeah, I don’t think those two people really wanted to work to make the new CCRs the best they could be, probably what they really wanted was to stick with the old CCRs and were just trying to accomplish that while still trying to seem like they were participating in the process.


Anyways, I guess the lessons that I took out of this are:

  • Figure out what’s most important to you, and make sure to prioritize that.
  • Figure out what failure mode you’re most worried about, and make sure to prioritize that.

For the first of those, what I most wanted was to get modernized CCRs passed; I cared about that more than any particular change that I would have liked. And for the second, I was most worried about people just not voting at all: so I wanted to try to avoid having enough arguments that people weren’t sure which way to vote, and also I wanted to avoid people just not getting around to voting.

And that, in turn, meant that I tried to avoid controversy as much as possible, and to frame the new CCRs as sticking to the original CCRs as much as possible on controversial topics. That seemed like a message that I could defend while sounding as reasonable as possible, which would hopefully avoid the most argumentative negative scenarios? And also the second point meant that I should spend time pushing people actually send in their ballot; my personality is such that I normally don’t do that sort of thing, but this seemed like a situation where I should make an exception.


Glad my process worked; and glad that I won’t have to spend any more time thinking / worrying about this.

notes on three games

May 21st, 2023

Some notes on games I’ve played recently where I don’t have enough to say to fill up a full blog post:

Tokyo Mirage Sessions ♯FE

A few months back, I was in the mood to play something joyful. And I knew that I’d be going on a trip soon, which argued for that game being on the Switch. And it had been a few years since I’d played Tokyo Mirage Sessions; not all that many years, actually, especially given how rarely I replay games, but still, it felt my mood.

And I still love that game. The music is great, the style is great, the interactions are frequently adorable but also have their heart in the right place in ways that I don’t always see, the combat matches spectacle with a bit but not too much thinking in a way that works much better for me than most RPGs.

Having said that: there are aspects of the game I’m not thrilled with. Barry is kind of creepy; the end-of-battle camera is way too fond of Tsubasa’s breasts and Eleonora’s butt; it drags on in the last quarter or so; seeing Itsuki in his street clothes is making me think I should find something to wear instead of a hoodie when I want a light jacket. So I was happy to have replayed it, but also happy to have it end.

Still one of my favorite games.

Hi-Fi Rush

I was really excited when I saw Hi-Fi Rush. The graphics reminded me of Jet Set Radio, which is in own way one of my favorite games of all time; Hi-Fi Rush is a game that seems to take music seriously; and the initial buzz seemed good. So I was pretty sure that I’d like it, and quite possibly I’d like it a lot.

I did not, in fact, like it a lot, or very much at all. The music is nowhere near as good as that of Jet Set Radio; I could say that that’s maybe partly due to genre difference preferences, except that the music from Jet Set Radio isn’t from genres that I normally listen to? And Hi-Fi Rush is also way too earnest; probably that would be fine if I didn’t have Jet Set Radio in mind but, well, I did.

I spent a couple of hours today going through the start of Jet Set Radio just making sure that I wasn’t remembering it through rose-colored glasses. And it is definitely the case that there are aspects of the gameplay of Jet Set Radio that are not great, especially by current standards. But it’s also the case that that flaw is swamped by the game’s music and style, which remain excellent.

So I didn’t finish Hi-Fi Rush; quite rare for me, but there it was. What I really should be looking forward to is Bomb Rush Cyberfunk (and in fact I think I was probably conflating the two games); hopefully that one won’t be a similar disappointment, given that Bomb Rush really is trying to effectively be a new Jet Set Radio.

Wo Long

I actually think that I finish more games than I should. Not so much because I normally don’t enjoy the time I spend with games: Hi-Fi Rush was a pretty rare exception where the game was actively dragging on me, I’m usually pretty good at sensing out in advance whether or not I’ll like a game. But I suspect that also pushes me in a slightly risk-averse direction: I’d probably do better if I started twice as many games as I do and only finished a third of them?

I hadn’t subscribed to Game Pass: it wasn’t clear to me how much money it would actually save me, even if it costs more to buy games I’m happy to support developers, and I don’t want to have my game playing choices overly influenced by whether or not the game is in Game Pass. Having said that, if I’m going to experiment more, then having access to a pool of games that I can try out for free certainly seems like a good idea.

And I’d even been planning to subscribe to Game Pass for my next game after Hi-Fi Rush; in retrospect, I wish I’d subscribed one game earlier, but such is life. Because, for whatever reason, I was curious about Wo Long, so I wanted to give it a try, but it’s a soulslike, and my experience with Elden Ring meant that I would have been surprised if I enjoyed Wo Long enough to finish it or ever come particularly close to finishing it. But Wo Long was on Game Pass; and my experience with Elden Ring also made it quite plausible that I’d enjoy it enough to play for 10 hours or so. And if I bounced off even sooner than that, that’s fine too, if I’m not paying for it.

And it turned out basically as I expected. I think I actually kind of liked the fact that it wasn’t an open world game: that meant that I had structured situations to confront, and ones that I should plausibly be able to defeat. And that’s the way it worked: going through the body of each level was fine, and then I’d hit a boss, and that would take longer but not forever. (An hour plus or minus a factor of two, maybe?) And the combat was okay; I wasn’t awful at parrying in the game, having boss battles that were all about pattern learning and parrying wasn’t so bad.

But still, soulslikes just aren’t my thing. I can more or less deal with the difficulty (or at least I could for the first few levels of Wo Long), but it’s not a sort of challenge that I find rewarding. I don’t enjoy the leveling up system; this time I looked up a build to give me more guidance, but that didn’t help much. I still don’t think that corpse runs are all that great a mechanic.

And the bits that Wo Long added didn’t help my enjoyment. I played around with the magic system and got zero benefit from it in boss battles; though it was amusing to see the five element cycle that I’m used to from Nei Gong! And I think the game’s system of having a secondary leveling system within each level actually makes the game worse, because it holds out a benefit of an easier experience in the tougher parts of levels that you can only repeatedly reach by replaying decent-sized chunks of the level before whatever battle you would want to take advantage of that extra strength in. (Which would take enough time that I never seriously considered doing that.)

So, if I’d bought the game, I would have been annoyed! But I didn’t, so it was totally fine; I played through most of five missions, I had a decent time with those missions, but I realized that I wasn’t enjoying the boss of the fifth mission enough to spend another evening making it through that battle, and I stopped. We’ll see how much Game Pass affects my playing in the future, but I was happy with my choice of it in this instance.

vampire survivors

May 14th, 2023

(If you really want to go in blind, don’t read this post, just play the game; it’s quite good! But I want to talk in some detail about how the mechanics of Vampire Survivors unfold because I found that unfolding process to be surprisingly interesting.)


I’m quite impressed with the way Vampire Survivors is constructed. It starts out as a game where you’re attacking and avoiding enemies; the gimmick is that you only control your movement, you don’t control your attacks, your weapon just attacks on its own, at whatever speed and in whatever direction is characteristic to that weapon.

As you defeat enemies, they drop gems, and if you can pick up enough gems without getting killed, you’ll level up. That lets you either upgrade your weapon (changing its characteristics, maybe it fires two bullets at once or fires more frequently); get a new weapon (that fires in addition to your first weapon); or get / upgrade an accessory that improves your character somehow (e.g. one that recovers health periodically, or one that decreases the delay at which your weapon fires).

As time proceeds, the numbers of enemies increases, and at some point, you’re unable to dodge enough, and your health drops to zero. So you think “I should get better at dodging, while still placing myself in the right location to be able to attack enemies and to be able to pick up gems”, and play again. Which is a fun loop!


As you’re doing this, you also occasionally break open lamps on the level; sometimes the lamps drop an item that heals you, but most of the time they drop a gold piece. (And sometimes, if you’re lucky, the lamps drop bags with 10 gold pieces in them instead.) You can’t use the gold during the level, but at the end of the run, one of the options is to go into a shop where you can buy permanent power-ups.

So Vampire Survivors is in dialogue with roguelites: the money mechanism is like the mirror in Hades, for example. There are quite a bit more things to buy in Vampire Survivors compared to Hades, however, and some of them seem quite expensive; clearly there’s got to be a better way to get that gold?

As you play, you’ll occasionally run into tougher monsters, and when you defeat these minibosses, they drop a chest; that chest gives you an immediate weapon/accessory level increase, but it also gives you a hundred gold or so. (And, occasionally, it’ll level up three or even five items, and give you more than three or five times as much gold.) The chest gold drops turn out to make the money you make from light sources almost irrelevant; and, with that amount of money, you can see how you’ll be able to buy one or two of the permanent power-ups every run.


That turns the core gameplay loop into more of a spiral than a simple loop: as you buy the permanent power-ups, you’ll survive longer and longer. But that’s not the only way in which the core gameplay loop changes between runs: most of the time, as you finish a run, you’ll get one or more achievements. And these achievements aren’t just cosmetic: they give you effects in game.

For examples, the initial achievements reward you for getting your character to a specific level in a single run; by doing so, you unlock specific accessories. Also, you can use your gold to unlock new characters; each character has a different starting weapon, and if you survive long enough with a given character within a single run, you’ll unlock that character’s starting weapon permanently. Both of these have the effect of expanding the possibility space within a run, giving you more options as you level up. (Though you’re only presented with three, or occasionally four, choices each time you level up, so this can be a little frustrating if you’re looking for a specific upgrade and keep seeing other ones! But even that can be good, it gets you out of ruts.)

So that’s the way the loop unfolds: you play more and more, and you both increase the possibility space (by unlocking more options) and increase your ability to explore the possibility space (by buying permanent power-ups). And you don’t have to go too far until the game morphs in a way where it’s no longer about increasing your skill at dodging enemies, it’s about discovering what’s out there in the possibility space. The game helps you with this, too: the achievements menu lists locked achievements, including their unlocked criteria and their rewards, so I’d generally start each run with an idea for what achievement I was going to try to get on that run.


That possibiity space continues to expand. As you survive longer and longer, you’ll level up more and more; if you’re like me, you’ll probably go wide, mostly acquiring new weapons and new accessories, but the game only lets you get six of each, so then you’re forced to go deep. (With an extra nudge from achievements that encourage you to go deep on weapons.) Once you level up a weapon enough then, if you’re lucky, the next time you get a chest from a miniboss, that weapon will evolve into a different form. And that evolved form is quite powerful, usually shooting very frequently and with some sort of new power, and doing so in a particularly theatrical way (These aren’t permanent changes: like the standard in-run level ups, you have to earn them every run. But that gives you something to look forward to. And also a bit of a mystery: initially, it isn’t completely obvious what triggers the evolutions.)

These evolved weapons are quite good at cutting through enemies. The game throws periodic challenges at you (the aforementioned minibosses, some rings of flower enemies that constrict your movement, a huge wave of skeletons); once you evolve your first weapon, those challenges won’t seem so hard! Then they’ll get hard again, but you’ll evolve more weapons; and, at some point, the screen will be covered with enemies and bullets from your weapons, and you won’t really be able to tell what’s happening but you’ll be clearing out everything around you.

And then you’ll hit 30 minutes, and an indestructible enemy will appear and will kill you. But doing that (actually, you don’t even have to make it all the way to 30 minutes) will trigger an achievement that unlocks a new level. And that level has harder enemies (and an interestingly different physical layout that will cause you to rethink your approach), letting the difficulty curve grow to match your increased powers. (But the earlier level is still there if you want something that’s more chill; I’d generally try out new characters on the first level, for example.)

With this, you’ve got the basic ingredients for what a run looks like. You try to get a good mixture of weapons to keep you alive in various circumstances (some that clear out enemies near you, some that do more damage but in ways that are less controlled), you try to pair them with a range of accessories to keep you alive and increase your offense in different ways, and you structure your acquisition and leveling up of weapons and accessories so that you’ll be able to unlock evolved forms of weapons quickly enough to survive the increasingly aggressive waves of enemies. And all of this is mediated by random drops during your level up opportunities, so you can’t guarantee in advance what a given run will look like.


As you make your way through the achievements, you’ll unlock more maps, and that gives rise to more possibilities. Each map after the first comes with a couple of relics; they’re pretty far away from your initial position, so it will take a few runs until you’re strong enough to be able to reach them, but each relic opens up a whole new mechanism. Some of the mechanisms are cosmetic (e.g. one that lets you select the music), but some are more significant.

One relatively early relic shows you the weapon evolutions. It’ll show you the full recipe for evolutions for weapons that you’ve already evolved; for other weapons, it shows question marks in part of the recipe. That way you at least know that the weapon can be evolved (because not all of them can be), and how many items you need to evolve it. (Usually a weapon evolution requires one weapon and one accessory, but some are more complex.)

This gives you a nudge towards one way to expand your knowledge: to try to discover all of the weapon evolutions. So I’d have a list in my head of all of the accessories that I knew about that I hadn’t yet linked to any evolution, and every time I got a new weapon, I’d try it out will all of those accessories. And this turned out to be surprisingly satisfying: there was a period in the middle of my time with the game where this was on the edge of getting a bit much and I was wondering if everything really would match up; but as I got further down the checklist of unlocking all the weapons, I’d start putting more and more of the evolutions together, and it all tied up nicely in a bow at the end.

Another important relic unlocks the arcana mechanism. Arcana are cards that you draw, one at the start of the level, one at about 10 minutes in, and one at about 20 minutes in, affecting your gameplay in significant ways, of a quite different flavor than the accessories do. Often, they apply to a specific set of weapons, giving them extra powers (e.g. their bullets might bounce multiple times); sometimes they cause your attributes to change significantly on a timed basis; one of the arcana gives a whole new damage mechanism, keyed off of both specific weapons and off of one of your attributes. So these open up further options for build customization and create new sets of synergies.


I’ve been playing Kittens Game again recently, and actually it ends up having a fair amount in common with Vampire Survivors. The basic mechanics are completely different: one’s an action game, one’s a clicker. But in both cases, those mechanics are relatively superficial: they’re pleasant enough, they give you something for your fingers to do, but they become routine pretty quickly.

But, in both cases, those basic mechanics change in significant ways. And what I enjoy and find interesting about those games is how that possibility space of mechanical behavior plays out: the experience of exploring it and coming to sense with it.

And I think that both of those games do a particularly good job at progressively unfolding that possibility space. They don’t dump all of the possibilities on you at once, but at any given time they’re showing you enough to give you short term goals while also giving you an idea about possibilities that are unattainable in the short term but give you something to work towards in the medium term. And occasionally, as you make progress on those medium term goals, the game will expand the possibility space in surprising and significant ways: you didn’t know it, but you were only getting started, there’s more richness to explore.


April 22nd, 2023

(If you’re super sensitive to spoilers, there are some mechanical spoilers in this post. Nothing you won’t hear in many podcasts discussing the game, but I figured I should warn people just in case.)

Pentiment is an unusual game. Which is, I suppose, obvious: it’s a game about life and murder in a small medieval town and its attached monastery; this would be unusual enough even as an indie game, but the studio that has made it is one that normally makes significantly larger games, and the studio is now owned by Microsoft!

But Pentiment is unusual in a more fundamental way as well. It’s a mystery game; so you’d expect to be wandering around town, talking to people, and uncovering clues, with the goal of building an airtight case during the trial. And there will probably be surprises that will happen during all of these phases, so be prepared for that.

And you do indeed spend time wandering around town, talking to people, and uncovering clues during Pentiment. It’s focused a little more on the people as individuals and as members of a community than on the people as givers of clues, but still: the bones of a detective game seem like they’re there.


The first sign that there’s something unusual going on in this aspect of the game is that the game doesn’t give you time to investigate all of those leads. This is the opposite of games like Phoenix Wright, where the game won’t let you progress unless you’ve found every clue.

And, as you poke at those clues, the differences only increase. Maybe you think that one person probably actually did the stabbing, but they were goaded to it by another person. Maybe you learn about people who are suspicious and whom you potentially dislike quite a bit, who have definitely done bad things and who might have a motive for this killing, but you’re having a hard time linking them directly.

Then you have to make a decision as to whom to accuse of the murder. You probably won’t be ready for it; you probably won’t be comfortable with how you made your choice, even if you are ready for it. The case you present isn’t about solving a puzzle: it’s about constructing a story that you’re least unhappy about, given the options.

Now that I type that out, in many ways that’s not dissimilar to our current court system, at least some of the time? Detectives have too many cases to investigate and not enough time; prosecutors make decisions in part on what feels right to them narratively, whether or not that is the best fit to concrete facts on the ground; and they’re trying to construct a story that twelve jurors find believable. I’m sure that, much of the time, prosecutors’ cases are more solid than the cases you come up with in Pentiment; but I’m also sure that, much of the time, they’re quite a bit less solid.


So: an unusual detective game, to the extent that it’s not actually clear to me that it fits within the genre. Maybe Pentiment is better classified simply as a visual novel? You do spend a lot of time talking to people: learning about their lives, learning about the forces that are in play (between the town and the monastery, between different groups in the town, etc.), learning about medieval Europe. It turns out that people in medieval Europe are still people, towns are still towns; I appreciated how the game showed people as people, instead of as medieval caricatures.

And there’s the plot around the protagonist. Some aspects of which I rather liked, other aspects of which I was not so sold on. In Act 2, in particular, the protagonist’s feelings felt odd in a way that I didn’t understand; it got explained eventually, but it left a bad taste in my mouth for a while. But I did like the plot in general; quite a bit better than most video game plots, and the way the game displayed the protagonist’s conflicting desires was well done.

And the visual aesthetics were distinctive, generally in a pleasant way. Pentiment leans into the literary nature of the protagonist’s work with the different scripts that are used to show characters speaking; neat idea, though I’m not so sure why they added in constant typos and corrections.


Nice to see this kind of experiment, and it was an experiment that I quite enjoyed playing. An unusual topic paired with an unusual mechanical approach, both successful; I’d like to see more of this.

yakuza 4

March 19th, 2023

When playing Yakuza games, I’d started to wonder how they’d keep the series going both from a narrative point of view and a mechanical point of view. Kiryu was trying to stay out of the Tojo Clan, but something would come up that would threaten the entire clan that only Kiryu could deal with, so he’d get pulled back in, and that would be the hook for another game; was the series really going to keep up those crises for game after game?

With Yakuza 4, they’re giving one potential answer: you start off controlling a character who is new to the series, rather than Kiryu, and in fact spend a while with that character. You’re still in Kamurocho (which I fully approve of, to be clear), but the character you’re playing isn’t even a Yakuza member.

He does have interactions with Yakuza members, to be sure; and, soon enough, one thread of interactions with them gets more and more important, getting closer to Tojo clan business. (Current business, but also relating to an event from decades back.)

And then we change point of view characters, to somebody else with a different perspective on that same event and to the current repercussions. The game ends up having four point-of-view characters; you spend significant time with each of them, and then all four end up working together in the last part.


And yes, the last of those characters is Kiryu; and yes, what is going on does end up affecting the core of the Tojo Clan. So the game hasn’t given up on all of its narrative formula; but it is at least trying to avoid doing more of the same.

Which is, to some extent, refreshing? It’s ultimately, a problem that series have: when a series does something interesting that grabs you, then there’s pressure to do more of the same. But it’s hard to keep things fresh as the series progresses; and games can get mechanically stale and/or write themselves into narrative corners by doing that. (And this problem isn’t unique to games, books also have a habit of going stale as sales successes lead to series getting extended.)


So the upshot is: I enjoyed playing Yakuza 4, and I was glad that it was doing something different. But it also didn’t have the same spark earlier games in the series had; yay for not retreading the same narrative ground, doing that wouldn’t have been any better, but making a different choice doesn’t mean that the series will be able to recapture the magic.

Also, the game was really weirdly balanced; on normal difficulty, I found the normal enemy encounters even more boring than normal in this series, but I found the boss battles frustratingly difficult for the first half of the game; eventually I got enough better that the boss battles were just somewhat-more-than-normally annoying instead of excessively so, but still, it felt off. Which wouldn’t have been so bad, except for one decision the game made that I do not understand at all: for whatever reason, the game doesn’t let you change the difficulty level without starting your entire playthrough over. (If you lose in a battle enough times, the game will offer to lower the difficulty for you, but then the difficulty level will go right back up after a battle; I’m glad it at least does that, but that’s not nearly enough.)


Two games left for me to play in the main franchise; I’m curious how those games will handle their narrative.

choosing a mastodon server

March 12th, 2023

One more thing that I was thinking about when switching away from Twitter: what Mastodon server should I choose? And what are the criteria I should use to make that decision?


My first question: do I care about the local timeline of the server in question? Mastodon lets you watch a firehose of all the posts on a given server; if I pick a server that’s targeted enough to my interests, maybe I’d enjoy that.

My answer to whether or not I care is “no”. On Discord servers that I’m on, I generally don’t enjoy the random chatter; Mastodon posts are different from Discord chatter, but still, that kind of thing isn’t something that I’m particularly looking for? Also, if I ever change my mind about this, I can always look at local timelines for a given server through the web interface, or create an account there if I really want to look at it through a client.


A related question: do I want to pick a server because it feels like a cool place to have as my address? I do notice when I see gamedev.place or mathstodon.xyz addresses, after all.

The problem with that is that I have multiple fairly strong interests; and I get new interests not that infrequently. So would I want to be on a server associated with video games, or with programming (and, if so, one specifically with agile or with some other aspect of programming), or one reflecting my developing interest in Tai Chi and other internal arts, or one that reflects the fact that I used to be a mathematician, or that I currently live in the Bay Area?

So no: even though I do like those addresses, I don’t want to pick one.


What about moderation? Moderation is important, different servers have better or worse moderation policies, and different servers do a better or worse job of interpreting their policies.

Honestly, I don’t really know how to start analyzing this one. I don’t have a well-formed opinion about what’s important to look for, or what policies are subtly important in either good or bad ways. And I’ve heard a few stories about Mastodon moderation that make me nervous about site owners retaliating against people they don’t like, or removing posts that make them uncomfortable even though they’re saying important things.

All of this pushes me towards servers that are large and generic: that feels like a way to have a relatively professional moderation team with relatively standard practices? I’m not saying that there aren’t problems with standard moderation practices, but fortunately I have historically been out of the fire of problems in that area. And figuring out what site would have better policies and practices for enforcing those policies feels like a noticeable amount of work.


Finally: do I even want a shared server at all? Maybe I want to run my own server; or, if I’m not up for that, pay somebody else to run that for me.

For me personally, the answer is that a personal server would obviously be better in many ways. The way Mastodon address has a username and a domain is just like the way an email address has a username and a domain; I switched away from using somebody else’s domain for my email and web presence to using my own domain a couple of decades ago, and the reasons why that would be preferable apply just as well to Mastodon as they do to email.

The problem is that, for email, there are a bunch of providers who will run the server for me at a reasonable rate; for Mastodon, the ecosystem isn’t so well developed. I thought about running my own server, but I’m hesitant to do that for a couple of reasons: it’s not clear to me that it would fit within the memory/cpu of the server that’s running this blog and my other random projects, and also the more stuff that I run there, the more exposed I am to security vulnerabilities. (Not that I have any reason to believe Mastodon is particularly insecure, but still: it’s software, vulnerabilities will be discovered.) I could mitigate that by running it on a different server and restricting the access between that server and my main server, but that costs money, and takes time to administer.

ALternatively, I could pay somebody else to run a Mastodon instance for me. When I first heard about that, the numbers I heard made me think that those services cost about $20/month; that would would be fine if it were important to me but it seems like a bit much otherwise for now? Looking at masto.host pricing, though, I could probably do just fine on the $6/month or the $9/month plan, so actually this option is more viable than I thought. (Assuming that I trust masto.host to do a good job of running instances and to stay in business…)

So, honestly, maybe I will go that route. And it also wouldn’t shock me if, in two years or five years or whatever, Google ended up including something compatible with Mastodon within Google Workspace; it seems like something that would be noticeably more efficient to run if you could amortize the work across a ton of different users, after all.


At any rate, I decided to make the most boring choice and just sign up for a mastodon.social account. I was already leaning that way and then I discovered that I’d signed up for an account with them back in 2016; I’d completely forgotten about that, but my account was still there, just waiting for me to use it.

So I’ve been active as @davidcarlton@mastodon.social for the last four and a half months; and I’ve been very happy with that choice. Hopefully at some point over the next five years I’ll switch away and have an address that ends in bactrian.org, but this has been fine for now.

crank and the barnacle goose experiment

March 5th, 2023

I saw a bunch of people positively mentioning The Barnacle Goose Experiment on Twitter at the end of last year, so I gave it a try. I ran into a game breaking bug, so I stopped playing while waiting for that bug to be fixed; but playing it did remind me that I like clicker games. And somebody pointed me at Crank while I was waiting, so I gave that a try.


And it’s okay? Good enough that I was glad to have played it; there’s the loop that I like, of starting with one resource that requires clicking, then improving and automating the production of it, then being able to produce other resources, and looping through that repeatedly, all the while balancing different kinds of efficiency improvements.

And Crank also has its own bit of special sauce: you’re traveling through space, exploring solar systems and fighting enemies.

Having said that, it’s not great. There weren’t all that many different loops of stuff to do, and I ran out of interesting decisions while I still had a good amount of exploring to do in the star map. And the exploring in the star map isn’t all that interesting: it’s nice as an ingredient of the game, but if it’s the only thing you have to do, it gets boring.

I’m still happy to have played Crank: it was pleasant enough for most of my time with the game, and it didn’t take me all that long to make it through the whole game. And it is a genre that I enjoy, after all, so even a game that doesn’t show me anything unexpected in the genre is still fun.


The Barnacle Goose Experiment (which I did finish, once the aforementioned bug was fixed) is quite a bit more unusual. You start off with your base material that you can get via clicking (three of them instead of one of them, this time); and then you create more items by mixing your existing items. So it has a much, much wider range of resources than most clicker games, but also a much, much smaller set of production loops for the individual resources.

Each resource can be made from other resources via recipes (generally multiple recipes), and also many resources automatically produce other resources (I can’t remember if this is a real example or not, but stuff like cats automatically produce hair periodically). And also there are locations that speed up the production of some classes of resources, and there’s a mechanism that lets you speed up the different types of automatic production.

Typing that up, it sounds like a decent amount of loops? But, when I played it, honestly the location mechanism and the speed up mechanism just didn’t matter. I think what’s going on there is that it’s just not the sort of game where you need exponential growth of resources: it’s not like you start off using 10 of a resource to make an item, then 100 of that resource, then 1000 of that resource. Instead, the recipes all take (I think) at most four of any given resource, and by far the common case is that they take one or two of the resources that are part of the recipe, and a recipe typically requires two to four resources in total.


So Barnacle Goose is really about the loop of discovering a recipe that leads to a new resource, then trying to find as many recipes as you can that use that new resource, seeing what resources are produced by those recipes, and repeating. There’s other stuff in there (items to wear, music you can play, letters you can read), but that’s the core of it.

Which, unlike Crank, really is a new take on the genre. (Or at least new to me, I don’t claim to have an exhaustive knowledge of the genre!) But, it turns out, I didn’t find this amount of breadth to be as satisfying as having a smaller number of well-designed loops that get your hands dirty with exponential growth. I’m happy to have played it, though, it was pleasant enough and it’s always good to see something new.


Ultimately, I think the lesson here is that what I really want is more Kittens Game. So I’ve started it over again from scratch (and I’m trying out the app version instead of the in-browser version); hopefully I’ll manage to avoid having it be a constant tax on my attention for the next year…

(And maybe the other lesson here is that I should try experimenting with one of these games myself? If anybody has a good theme idea for a clicker game, let me know!)


February 20th, 2023

I wish I had more to say about NORCO. I could blame that on me being almost three months behind on my blogging but, honestly, it isn’t that: I just don’t usually have that much to say about games if I can’t find a mechanical hook as an entry point. And, mechanically, NORCO is a standard point-and-click adventure game; they do a solid job of that aspect of the game, but just in a table stakes way. (And, for what it’s worth, in a way that didn’t interfere with enjoying the story, at least for me: there are puzzle aspects here but they’re pretty light.)

So, really, it’s the aesthetics: the visuals, the story, the vibes. The visuals are lo-fi art that’s done quite well. I was going to say that it’s not in a nostalgic pixel art way, but, thinking about it more, I’m honestly not sure: I just didn’t play enough games from the heyday of point-and-click adventures to have a feel for the art style back then, so for all I know NORCO’s art style is actually pretty similar? I dunno; it works for me.

In terms of the story: it’s a story of people that are on the down-and-out side of an economy that’s producing a larger spread between winners and losers, set in a near-future SF context with a magical realism slant. The economic aspects don’t resonate as directly with me as they do with many people, but it’s clearly a story that fits in our times; and I do like SF that comes from an unusual angle.

And it feels like a game that’s unusually well grounded. I’ve never been to Louisiana, so I don’t actually know what areas near New Orleans feel like, how industrial decay plays out there. But the game felt true to me: not just that it’s telling a story of our times, but it’s telling a story of our times in that specific location, of how economic changes would manifest there.


So: I’m pretty confident in saying that NORCO is a good game, and I’ll recommend it to anybody who likes narrative games. I just wish I were better at writing about this sort of thing.

(If I really wanted to get better at that, I’d get into a routine of writing about every book I finish, not just every game I finish…)

what i got out of twitter

February 18th, 2023

One problem with being unusually behind on my list of blog posts to write is that, sometimes, events in the world overtake my posts before I actually write them. I normally solve this problem by not writing about events in the world in the first place; but, a few months back (when Elon Musk bought Twitter), I thought it would be useful to write a post saying what I was getting out of Twitter, to help organize my thoughts about whether to go somewhere else and, if so, where that would be. But then he started kicking journalists off the service, and that got me switching my posting to Mastodon; and then he stopped allowing third party clients, and that got me to stop reading Twitter entirely. So here I am, not having even looked at my Twitter timeline for I don’t know how many weeks, and I still haven’t written this post.

But Twitter was a weird / amorphous enough place that maybe that’s still interesting, or at least still useful to me somehow, to think about what I was getting out of that weirdness? I’m not sure, but at any rate, some thoughts on the matter.


Some of what I got out of Twitter was keeping track of what friends were up to. Some of those friends are relatively close friends; not many of them, both because I honestly just don’t have very many close friends at all, but also because a fair number of those close friends aren’t / weren’t on Twitter. A decent number of them are people that I met through games blogging a decade and a half ago; and a decent (but smaller) number of them are current or former coworkers. And there are probably a few that don’t fall into any of those categories.

And then there’s the converse of that: Twitter was a space for me to post things that friends of mine might be pleased to see, but that people who aren’t my friends wouldn’t particularly care about. Stuff like vacation pictures, or a mention of something that I liked in a book that I’m reading.


Then, moving out a circle: there are people who are involved with an area that I’m interested in but whom I’m not friends with in any sense. (Most of these people have no reason to know that I exist.) The boundaries between this and late 200x game blogger circle are somewhat blurry, some of the games people I follow fit better into this category; and I follow some amount of software developers that fit into this category, too. Typing this up, it’s actually weird that I didn’t end up following many (any?) Tai Chi / Internal Arts people on Twitter; if I were still on Twitter, I’d probably look for them, but Twitter is probably also a medium that just doesn’t fit well with that area of interest.

In a related vein there are the public intellectuals I follow: people who say things that are interesting to learn / think about, but who don’t write in an area that I’ve got a specific interest in. (Other than the area of “politics”, but that’s a pretty generic one: yes, I live in a society.) E.g. some Atlantic columnists fell into this category, or when the war on Ukraine started, I saw a couple of people get retweeted into my timeline who seemed pretty well-informed / informative, so I followed them.


The last broad group of people that I followed on Twitter are those who are more on the artistic side. It took me a while to start following visual artists on Twitter, but I finally did maybe four years ago, and doing so was a good choice: I was happy to be regularly seeing art that I liked. And, it turns out, that you don’t have to follow very many visual artists on Twitter to get a large effect in that regard, because they retweet each other All The Freaking Time: you can follow two people whose art you like and see stuff (a decent proportion of which will be to your taste) from like fifty different artists every week.

I also follow some number of podcasters and authors; they fit into this category, too. (They don’t retweet other folks nearly as often as the visual artists do; which is just as well because I don’t need a constant massive stream of podcast / book recommendations!)

And then there’s cute stuff: We Rate Dogs in particular, Buitengebieden is also pretty nice.


So that’s the taxonomy of whom I follow on Twitter. Which is also pretty closely related to the question of what I was getting out of Twitter: each of those categories can be thought of as one way to answer to that question.

And the answers were pretty good! People are sometimes cynical about Twitter and the internet in general, and I am in fact one of those people, but honestly: I’m pretty sure that Twitter, overall, was a strong positive for me. (Until it, at least from my point of view, basically fell apart.) But there were definitely ways in which my experience with Twitter wasn’t great.

Broadly speaking: I think Twitter overemphasizes negative feelings, it overemphasizes cultural divisions, and it especially overemphasizes the intersection between those two. (Look at this horrible thing that a member of an outgroup is doing!) It’s not that I want to completely live within a bubble or anything: bad things exist, and sometimes it’s useful for me to learn about bad things that I wasn’t previously aware of. But also: the internet is global, and part of that means that random bad stuff from anywhere in the world (and certainly anywhere in the US) can just show up in my feed. Having compassion for all beings is good, but I don’t actually think it’s healthy to have negative news from all over the country to be put in my face disproportionately?

And I also don’t think it’s healthy for me to see so many negative messages about culture war outgroups. It’s not that I disagree with the messages that are being signaled to me here: if you pick a random culture war flashpoint, you can probably imagine what side I’ll come down on that, and you’ll not only probably be right about what I think, it’ll also probably be the case that my opinion about that is pretty strong, and I’m not actually particularly open to changing it. But I also don’t know what’s being helped by having that feeling be constantly reinforced: I think it would be much healthier to have those feelings be relatively rarely actively reinforced, and for me to find common points of humanity / agreement with people on whom I have strong disagreements on specific issues.


It’s not like I seek out that sort of negative content, so how did it show up in my feed? A little bit of it is from the “public intellectual” class that I mentioned above: one danger of people embracing the public intellectual lifestyle is that they sometimes start to opine on all sorts of random stuff, and also that they sometimes start picking fights with other public intellectuals. And I really just do not care about that or like seeing that: if you’ve got something to say yourself, then say that, but the fact that somebody has interesting things to say on a fairly frequent basis does not give me any interest in their random beefs, or in their opinions about some topic of they day that’s outside their area of expertise.

But that’s only a small portion of the problem; by far the largest problem was retweets, especially quote tweets. It’s really easy to see something stupid or bad come across your Twitter timeline, usually with somebody else commenting negatively on it, and to then pass that on; a decent number of people that I follow (including people from most of the classes I mention above) like to pass things like that on. And it was bad, it did not help my experience on Twitter.


So that’s what I liked out of Twitter, and also a bit about what I disliked. And it also goes a decent ways towards explaining why I left Twitter when I did. I wasn’t one of the people who left as soon as Musk took over: for a while, I had a “wait and see” attitude, trying to figure out what he’d do and what effect that would have on my experience with the site. But when he banned a bunch of journalists, it started to be clear how the experience would be negative: I couldn’t count on a whole class of people that I was interesting in to actually still be present on Twitter, and also enough other people had had enough at that point that quite a few of my friends and members of subgroups that I was interested in jumped ship to Mastodon at the same time. So Mastodon got better while Twitter got worse, and it was pretty clear to me which side of that divide I would enjoy more; so I stopped posting on Twitter and started posting on Mastodon.

Even after that, though, I was still reading Twitter. But then Musk kicked third party clients off the service, which meant that it was impossible for me to see just the tweets from people that I was actively interested in: instead, if I wanted to keep on reading Twitter, I had to deal with an experience that was very strongly shaped by Twitter’s idea of what I should see. And, as I said above, Twitter promotes a bad and harmful idea of what to see; I have zero desire to see that. (And that’s setting aside the significant more basic usability deficiencies of Twitter’s app compared to apps like Tweetbot.) So I’ve completely stopped reading Twitter: I don’t pull up the app for nostalgia or anything to try to see what’s still there, the idea of doing that doesn’t even come to mind.


With Twitter no longer a serious option, though, the next question is where to get the benefits that I listed above? For friend stuff, I can actually imagine a different universe where I started using Facebook for that; but Facebook’s algorithm is as bad as Twitter’s (albeit in different ways), and in particular Facebook actively works against my goal of letting me reliably see what my friends are saying. So it’s a nonstarter.

I can also imagine a world where I spent more time interacting with friends through group text, or other chat-like spaces. And I do exchange text messages regularly with some of my family members, and there is one Discord and one Signal group that I’m part of that fit into that category as well. Maybe I should seek out this kind of thing more? Though one caution for me there is the volume of messages – I’m a member of about ten different Discords, and I have notifications disabled for almost all of them, because informal group spaces sometimes lead to a lot of chattiness, and I just don’t care about chattiness from people that I have no social ties with other than that we’re both a fan of some specific thing.

Fortunately, enough of my friends moved to Mastodon that it does a decent job of checking “ambient friend chatter” checkbox. (Both in terms of chatter I see and that I produce.)


Moving out a circle: the specific groups that I’m interested in (games stuff, programming stuff) have also largely decided that moving to Mastodon is a good thing. For more general public intellectual stuff, my experience is more mixed: some of them have moved, some of them haven’t, and some of them do automated cross posting, which isn’t a great reading experience. I can see why people who are explicitly looking for a broader audience would still have Twitter as their primary home; I wish they wouldn’t, but if they’re depending on a general audience for subscriber numbers, then they kind of have to be where that audience is, I guess. And if they like fighting with other people on Twitter, then, honestly, it’s probably healthy for me to not be following them any more! Though there is one specific public intellectual I can think of who did move to Mastodon, and who liked to make fun of random people saying stupid stuff on Twitter but who basically doesn’t do that at all on Mastodon; so the environment here does make a difference.

Really, though: my preferred way of reading what people in this category have to say isn’t through Twitter or Mastodon at all. Sometimes their short thoughts are interesting, but in a lot of cases the main effect of seeing their short stuff is feeling like I’ve got a parasocial relationship with them; that’s not healthy, I’d rather stay away from that. What I mostly want is their more thought-out stuff; and, for that, blogs are a much better format! (And hey, I never stopped writing on my blog, and it’s not like I’ve ever stopped using a feed reader, either. Blogs are good, y’all.) I’ve actually been really happy seeing Substack show up: it’s been nice how Substack has revitalized that kind of writing, and if it helps some people make a living, I’m all for that, too. (Incidentally, Substack blogs do come with RSS feeds, so if you want to read them but don’t want them to show up in your mailbox, you can (usually) do that.)

I do think that Mastodon is currently a little less good for me in terms of discovering new people to read. Mostly I prefer not having quote-retweets, but it can sometimes be useful to see somebody riffing in a positive way off of the posts of somebody else whom I don’t follow. Plain boosts/retweets give some of that, though; probably the real issue here is that just not enough people have moved to Mastodon yet.


The last category, of art stuff and cute stuff, is the category that I miss the most. Last time I checked, none of the visual artists I followed on Twitter have made it to Mastodon, which is unfortunate, and my feed is less cheerful as a result. And We Rate Dogs is one of the accounts that I miss the most here. (Buitengebieden made it over, at least.) I think probably the answer there is that I should get back into the habit of checking Instagram, because most of the artists I followed on Twitter also post there? Not my favorite site, though. And I should probably consider subscribing to more of their Patreons, too. Even if I do that, though, I’ll still miss the large volume of retweets that I’d see of other artists’ work; sigh.


Anyways: if you’re thinking of making the move to Mastodon, then please consider this a nudge to do so! I like it quite a lot here: there are more than enough people to make it a fairly lively place, and there’s a lot less gratuitous negativity that shows up in my feed. (And, once I moved over, I realized that a huge fraction of the boosts of culture war news articles that I was seeing came from exactly two people that I followed; I ended up unfollowing one of them and turning off boosts from the other one, and that solved that problem quite nicely.) There are definitely friends from Twitter whom I miss; I hope more of you will show up here.

marvel snap

January 29th, 2023

I don’t have a lot to say about Marvel Snap. It’s well done; it’s got an honest monetization strategy, where money gives you cosmetic stuff and unlocks the possibility to earn some cards in the current season. (And that earning is done in a deterministic way, it’s not a random draw.) Or at least that’s the way the monetization strategy worked when I was playing it; with games like that, you can never tell how it will change!

You build a deck to play with (like Magic or Netrunner or Hearthstone), but in Marvel Snap, the deck is only 12 cards, and a game (usually) only lasts 7 rounds and takes maybe five minutes; I appreciate how nice and tight that is. So you build your deck around one or two synergies; and then the randomness in the play comes from drawing, from your opponent, and from the environment.

And it’s fun? I played for a while, coming up with a couple of decks with synergies that I wanted to play with. And there were clearly more synergies available: I couldn’t build a deck that did anything great with destroying cards, but I’m pretty sure that, as I unlocked more cards, a deck built around that would be playable. (And I appreciated the game nudging me to try that out through its challenge system.)

I didn’t keep going, though it’s not hard to imagine an alternate world where I did. I don’t care about the theming (I didn’t mind it, it just didn’t do anything for me), and I didn’t dig deep enough to find combos that really surprised / pleased me, or to feel like I had a great sense of how to respond to randomness. And, if I wanted to go deeper, I’d probably want to spend money to get the paid cards for each season; the amount of money that a season past cost seemed fair (I’ve certainly spent enough money on Netrunner cards), but I wasn’t enjoying the game enough to want to go deeper. Still, the time I spent with it was pleasant enough.

pushing forward

January 22nd, 2023

Ever since I started doing Tai Chi and Nei Gong, I noticed ways in which parts of my body were farther forward than they probably should be; and this keeps on happening to me! So I figured I’d make a list of parts of my body where this has occurred; partly for my amusement, but maybe other people will find that some of these same things are happening to them.


My head

When teaching us Wu Ji, my Tai Chi teacher told us to raise the crown of our head; and, when doing that, my head would move back as well. So, at least from the point of view of that exercise, my head was normally too far forward. When thinking about that and watching other people, I noticed that, wow, a lot of people, myself included, really do have our heads hunched forward. (While staring at computer screens, while looking down at phones while walking, but also just in general.) And I also saw a few people who seemed to naturally not have their heads so far forward, and whose necks seemed like they were just going up on their own; those people certainly looked more graceful to me, and their head position felt healthier as well.

It took me a while to retrain my head and neck, though. But, once I started doing the Nei Gong version of Wu Ji more (which has a similar instruction around your head positioning), my head positioning did get better: I have a distinct memory of one time when I was working on relaxing my pelvis while sitting into my Kua, and that set up a stretch along my spine that was actually pretty strong in my neck, and all of a sudden my neck got yanked back a bunch. I won’t swear that my head was in an ideal position after that (in fact I’m pretty sure it wasn’t), but it did improve the situation.

(Since it will come up again, and it’s not a term that non-internal-arts folks are necessarily aware of: your Kua is the crease between your hips and your legs. And Tai Chi and Nei Gong both make a point of having you sink into your Kua when lowering your body, instead of directly using on your knees / thighs / buttocks.)

My shoulders

When I was having back issues, I learned about the Gokhale Method, and it helped a bunch. She talks about your head and neck positioning, but she also notes that the hunch of your head extends down into your shoulders as well, so for many of us, our shoulders and arms are too far forward.

She recommends a specific version of shoulder rolls to retrain your shoulders to hang in a better location; and, after trying that for maybe a couple of weeks, my shoulders really did get retrained to sit further back. Which was pretty neat, I’m not used to having such a simple exercise have such a clear effect so quickly. If you want to try this one out yourself, I gave more details in an earlier blog post.

My knees

Sometimes, when doing Tai Chi or Silk Reeling, my knees (especially my right knee) feels uncomfortable. Which is probably in part a sign that my knees aren’t 100% in great shape; they’re not doing horribly or anything, but they’re a little bit vulnerable to being overstressed.

My Tai Chi teacher talks a lot about knees, and how getting your positioning wrong can lead to knee problems. A big part of what he talks about is the direction in which your knees are pointing (they should generally be pointing in the same direction as your feet, even when you’re turning your torso away from your feet); that took me a bit of time to be aware of, but I thought I was getting reasonably good at it.

But, paying more attention to what was associated with my knee pain: when I was sinking down, I was sometimes sinking forward into my knees. For example, the Silk Reeling set we do has a “knee rotation” exercise, and in that one, I was often leaning into my knee when rotating it. And that was making my knee hurt.

So what I should actually do is sink into my Kua during that exercise and similar movements, keeping my weight squarely over my feet instead of sending it forward into my knees. When I started doing that, my knees felt a lot better.

In some ways, that actually made me feel glad that my knees were a little iffy: it’s not bad enough to be disabling in any way, and it helps me by giving me a warning sign for some kinds of posture problems.

My torso

When I saw myself in videos of my Tai Chi class last year, I noticed that I seemed to be standing kind of high. So I decided to work on going lower; it went fine for a while, but then my right knee started to feel pretty uncomfortable.

That might just be a sign that my body isn’t strong enough to go that low; but as noted above, knee pain can be a sign of posture problems. So I thought about my posture more.

And, when I thought about it, I realized that, when sinking down, I was also angling my torso forward. (In retrospect, my teacher had been warning me about this sometimes.) I think what was going on there was a bit of a subconscious interplay of fears and desires: on the one hand, I wasn’t sure that my legs and knees were up for sinking down low, so part of my brain resisted that idea. But also I wanted to go down low, and another part of my brain measured how low I was by how low my head was. So that meant that, when lowering myself, I’d subcounsciously tilt my torso forward: that would get my head low, so I’d feel like I was sinking, but my legs didn’t have to sink as much.

This was, of course, counterproductive: both because I was fooling myself and because, by tilting forward, it would put more pressure on the front of my body, which would in turn make my knees hurt! Once I realized I was doing that, I stopped leaning forward so much and experimented with lowering my legs more using my Kua; and, sure enough, I could go lower without making my knees hurt too much.

Though, even after realizing that, I had to keep on experiment with it. Partly I needed to train myself to be aware of when I was subconsiously leaning forward; but also I needed to be more aware of how the lines of force were transmitting gravity down my legs. It’s a little hard to describe, but it’s possible to move things so those lines of force mostly bypass your knees; when I did that, I could go lower while still feeling stable in my knees.

My eyes

At some point, when meditating, I realized that my eyes were pulled forward: when I relaxed them, they would move physically back in my eye sockets. Not clearly useful behavior even when my eyes are open, though I suspect it affects how my eyes focus. But at any rate it seems pretty pointless when my eyes are closed.

My shoulders, again

A few months back, I went to a Nei Gong workshop, and we spent a significant amount of time on stretching out our arms and shoulders, in a way that focused on the fascia in particular. At the end of that workshop, my shoulders felt more open; and I realized that the natural resting position of my shoulders (at least if I relaxed them) was a bit farther back then it had been! So, while the Gokhale shoulder rolls got my shoulders closer to the right position, there was clearly still room for improvement there.

My head, again

A month or two back, I realized that, if I relax my neck, my head will float up and back and my neck will expand upwards. I like the resulting head positioning, and certainly having an expanded neck is good, so I’m trying to do this whenever I think of it, to retrain my head and neck to the right position.

This raises two questions: how long has it been the case that this will happen if I relax my neck, and (assuming that it hasn’t always been the case), what have I done to cause my neck to react this way? I don’t know what the answer is to the first of those questions; but if it’s a relatively recent development, then maybe the answer to the second is the acupuncture treatments that I’ve been taking (my doctor mentioned my neck as being a problem area when I started acupuncture, and has more recently said that it has loosened up), maybe it’s some of the specific Nei Gong exercises I’ve done over the last few months, maybe it’s both.

Good outcome, at any rate, and one that encourages me to find more ways to relax and open up space in different parts of my body.

My torso, again

I was working recently on getting my liquid center of gravity at the right height while doing the Nei Gong version of Wu Ji. Sometimes it got stuck at around my diaphragm, but I could make it past there by relaxing my muscles. After doing that, it almost made it to the right level, but it usually ended up just a little bit high, more like navel hight rather than Dantian height.

After playing with that a bit, I realized that the very bottom of the front of my torso was tense in a way that seemed related, but it was harder to relax. And, experimenting more, that tenseness came from me leaning slightly too far forward; if I dialed my tilt back, the tenseness went away and the liquid center of gravity went to the right place.

Nice to have that dialed in; I already knew that I wanted to lean forward a little bit to remove tension from my lower back, but I hadn’t previously noticed that subtle tension from leaning forward. The window where I don’t get tension in either direction is actually pretty small, but it’s easy enough to find now that I’m aware of it.

That doesn’t mean that I’ve solved all of the problems I have around tilting in Wu Ji, though: I still have a habit of locking my torso and legs together more than I should, and it also can take me a while to get my weight descending to my Yongquan in a way that feels properly rooted. I can usually get it to feel good eventually, but it takes me a while; maybe I should come back to this post in a couple of months and add a section on my legs…

Final thoughts

Clearly, there’s something going on that makes me stretch my body parts too far forward; and, based on the number of entries here, I expect to continue finding new examples of this over the coming years! I wonder if almost everybody has this problem, or if some people get pulled back too much, or if lots of people are nicely centered.

If I wanted to do armchair psychologizing, I would say something about how this is a sign that I’m not properly rooted in the present, that I spend too much time trying to focus on the future. And maybe that’s even true? I do feel more stable and relaxed when I correct the issues mentioned here; most of that feeling is physical, of course, but I think it has a mental effect as well.

overton windows and scope

January 15th, 2023

Over the last half decade, there was a lot of argument about what sort of speech is acceptable on Twitter. And not just acceptable in terms of “a good idea” versus “a bad idea”, but in terms of whether or not a given type of speech should be banned from Twitter.

Some of the speech that Twitter doesn’t allow is pretty clearly beyond the pale, of course. But some of the speech that was being argued about was around topics that were areas of current mainstream political discourse. So, basically, people were trying to shift the Overton Window in realtime, to impose their view on what is desirable more broadly.

And there’s nothing wrong with that in general, of course! There are lots of situations where we want to to be around speech we like and not be around speech we don’t like. And Twitter is a private company; legally, they’re generally in the clear setting the ground rules for permitted speech on the site. (At least in the US, I think, for almost all areas of speech.) But it’s also a very large, relatively open space; given that it’s a place that hundreds of millions of people participated in, I don’t think free speech considerations are out of the question?


Ken White posted a recent article categorizing discussions like this. In his analysis, this isn’t a case of Free Speech Rights, but is a case of Free Space Culture, I think. And discussions about what sort of speech is good is a discussion about Speech Decency, but those aren’t the discussions I’m talking about here.

The thing is, though, I kind of feel like the fact that it’s even a discussion about Free Speech Culture is a bug? We’re talking about a large space where a few unlected people can make decisions that affect hundreds of millions; sometimes that’s necessary, but it’s not great that things have gotten that far?

So what I really want is for these discussions to mostly happen in smaller spaces. That way, the argument can be about Speech Decency instead, and a group of people can decide together about what kind of speech they want in a given public space.


There was a good Lawfare Podcast about decentralized social media a few months back; it got me optimistic that maybe Mastodon would be structurally better in this regard? At least it makes it possible for those smaller scale discussions to happen. I don’t really know how I expect it to work in practice, though: for one thing, I don’t really know how I expect federation to interplay with local moderation, and, for another thing, some Mastodon instances are pretty large. (I’m on mastodon.social not because their moderation policies spoke to me but because I didn’t want to think hard about which server to use.)

Interesting time, at any rate; I’m glad that we’re experimenting with something different.


December 18th, 2022

I more or less ignored Bayonetta when it first came out. It seemed like it was all about superfluous sexualization: lots of ogling of body parts, special moves that removes the protagonist’s clothes because apparenly her clothes are made out of her hair and of course how could a special move not involve spinning your hair all over the place? At any rate, that didn’t seem to add up to a game worth paying attention to.

Over the years, though, I’d periodically hear about Bayonetta in contexts that were rather more favorable than I expected, and actually I’d hear it brought up more frequently by women than by men. It is unquentionable sexual, but maybe a game that is written from a point of view of fantasizing about being dominated by a sexy librarian who doesn’t take any crap could actually be kind of good, if done right?

Chatter about Bayonetta (and its sequel) popped up again when the third game was getting closer to release. And I was looking for something lightweight to spend some time with; so, what the heck, let’s give the sexy dominatrix librarian game a try.


And it turns out that the sexy dominatrix librarian game is good! It’s stylish, and while the game does not shy on the tits and ass, it also puts Bayonetta fairly strongly in control of most interactions, in a way that meant that I didn’t have to feel dirty watching it. And some of the scenes where she isn’t as in control are ones where all of a sudden she’s having to deal with a small child; those are rather charming! So I liked watching the game, and I liked the cut scenes.

As to the action, from my point of view the action was fine, but also this kind of gameplay isn’t my thing, so I’m not a great judge of it? It was a bit much for me on Normal, so I dropped down to Easy; that was the right choice, but also it was a whole bunch easier, I wish there had been something in the middle. I can’t really tell if the gameplay is good or not; it was clear that, if I wanted to get better, I’d need to improve my skill at reading the opponents and dodging, so there was something that I could have worked on if I’d felt inclined to do so, so that’s something at least.

When reading descriptions of the game / series, I see them talk about the game’s combos; honestly, that felt odd to me as a selling point, because there are basically only two buttons to hit? So, yes, if you do mixes of those two buttons of different lengths and/or interleaved in different ways, then you’ll get different moves; but it wasn’t obvious to me that each of those different moves was strong in a different tactical context, or if the as game giving variety that didn’t matter, or if some of the combos were clearly broadly superior to other of them. So I enjoyed the combat fine, and it was visually stylish, but I just don’t know to what extent there’s actual depth there.


The upshot: I’m glad I gave Bayonetta a try, it was a pleasant change of pace, and now I’ve got a little more context when I hear people talk about it. And it was a good length; I enjoyed the time I spent with it, and it didn’t drag out that time. I’m not planning to play other games in the series, and that’s fine too, it was entirely satisfying as a self-contained unit.

switched from twitter to mastodon

December 16th, 2022

A heads up to folks that I’ve stopped using Twitter (or at least stopped posting on Twitter, for now I’m still reading it) and I’ve started using Mastodon. I’ll give more details in a later post, but I figured I should at least get an announcement out. I’m at @davidcarlton@mastodon.social if you want to follow me there.

For what it’s worth, I’m already finding more than enough people to follow on Mastodon to make my timeline feel like a live place. I wish more artists were there, I miss seeing pretty pictures in my timeline, but hopefully they’ll come over; and I’m glad not to see lots of quote tweets asking me to be offended by what some random person that I’ve never heard of has done. So it’s a good place to be now, and I expect it to get better.

return to monkey island

December 11th, 2022

I never played any of the original Monkey Island games. I played lots of text adventures growing up, but I wasn’t playing games much during the heyday of graphical adventures, and so I basically missed that entire side of the genre. Over the years since then, though, I’ve heard people I respect bring up the Monkey Island games periodically, enough that I vaguely felt that not having played those was a gap in my background; but they never actually made it to the top of my stack.

When Return to Monkey Island came out, I heard several people say quite positive things about in on podcasts. So I figured that it was time to fill in that gap; I’d try the newest game, and if I liked it enough, maybe I’d go back and play the earlier games?


I liked Return to Monkey Island. It was quite well done, it kept me entertained, I didn’t get stuck. But also, it didn’t grab me? I’m honestly not sure what was going on there: was it too targeted at fans of the series, is the genre just not for me (which, if so, makes me wonder if I would have liked the genre in the 90s), do I like the genre okay but mostly when it’s telling a different type of story, do I just have different gaming tastes from the Triple Click folks and I should stop paying attenion to their game recommendations?

If I had to guess, probably bits of each of those. And, don’t get me wrong, I don’t regret having played the game! I enjoyed my time with it, and I also appreciated that it didn’t overstay its welcome. But I also don’t have much to say about it…

finishing our netflix dvd queue

December 4th, 2022

We’ve finally finished our Netflix DVD queue. Which probably sounds strange to most of you reading this, because Netflix’s DVD service has felt like a historical artifact for years now; but we were actually subscribed to it until a month ago.

And, for most of that time, subscribing was the right thing, I think? When consuming media, I try to be intentional, not just watching / reading / playing / listening to something because it’s there; and most evenings our TV is occupied by one or the other of us playing video games, so we don’t watch movies or TV much. So that means that we’re not generally in the sort of browsing mindset that streaming (or flipping through cable channels) enables.

Also, to be honest, Liesl and I are good at getting a little bit paralyzed when deciding what to watch. So having a queue, and having a queue where only the top two items of that queue are accessible to us, is arguably an advantage, and at any rate works fine.


That means that, when Netflix streaming became a thing, their DVD service was still useful to us, so we kept on using it. Netflix was the only serious streaming service at that time, so their catalog was pretty good, but their DVD catalog was also quite good. And I didn’t have to look hard to find movies, especially older movies, that just weren’t available on streaming: from the point of view of watching what we wanted to watch instead of what was easy to get, the DVD service was better.

Since then, many aspects of the above have changed. Part of what changed was that everybody decided to have their own streaming service; so Netflix’s streaming catalog got a lot less comprehensive. Of course, Netflix started producing their own shows and movies, but we almost never felt like a Netflix show should be the next TV show that we should start watching, so that didn’t matter to us.

On the flip side, though, Netflix’s DVD service started to get worse. They still bought DVDs of new movies pretty reliably; but I started to notice that they didn’t get DVDs of new TV shows as they had in the past. I don’t know what changed there: whether it was the streaming side of the company influencing the DVD side, whether their previous purchasing had depended on agreements with publishers that those publishers were no longer willing to make, or whether the amount / composition of DVD customers had changed enough so it wasn’t profitable any more for them to buy DVDs of those shows? Annoying, whatever the reason was.


Things bumbled along like that for a while. I’d be a little annoyed that I couldn’t get some stuff (mostly TV shows but also some movies), but it wasn’t that big deal. I’d watch the number of streaming services multiply, and I’d continue to not want to deal with that.

But then, over the last couple of years, things changed. Our queue actually started to decrease; I’m not sure how much of that was a behavior change on our side and how much was more movies not being available through the service. Also, quality problems started appearing: more and more frequently, we’d get movies from Netflix and they’d stutter or skip over parts of scenes.

And then at some point (I have no idea what prompted me to do this) I happened to search iTunes for Fred Astaire movies, and realized that there were a bunch available for sale there that I hadn’t seen. So clearly my mental model of older movies not being as available in digital formats as they are in physical formats was out of date; if anything, the opposite was probably true now.


We kept on burning down the queue; and, when I ran across new movies that I was interested in, I’d save a note about them somewhere else. And, last month, we finally made it through the queue.

I’m still not convinced that I want to lean on streaming services for movies, though. It’s a pain to search through them to find whatever specific movie I want; and having a bunch of subscriptions is expensive. We rarely watch more than one movie a week, and sometimes we watch movies that we already have; given that, rental costs would be $20 a month, so just defaulting to renting from iTunes is plausibly the most cost-effective approach, and certainly the simplest. (The calculus changes for TV shows, though; so we’re ending up being subscribed to whatever streaming service has whatever TV show we’re currently watching, and unsubscribing once we’re done.)

So that’s where we are: still trying to be intentional about what we watch (and I’m maintaining a list in a task manager), mostly watching either movies through iTunes or movies we already own. I’m mostly getting ideas of movies to add to the list through mentions of them on Twitter, though that has obvious problems these days. And TV shows we’re generally watching through streaming, and that is more annoying than I would like.