[ Content | Sidebar ]

this week in v.c. biases

January 25th, 2014

When I suggested three days ago that perhaps venture capitalists didn’t have superhuman powers to avoid bias by following the smell of money, I wasn’t expecting this gem from Tom Perkins:

Regarding your editorial “Censors on Campus” (Jan. 18): Writing from the epicenter of progressive thought, San Francisco, I would call attention to the parallels of fascist Nazi Germany to its war on its “one percent,” namely its Jews, to the progressive war on the American one percent, namely the “rich.”

From the Occupy movement to the demonization of the rich embedded in virtually every word of our local newspaper, the San Francisco Chronicle, I perceive a rising tide of hatred of the successful one percent. There is outraged public reaction to the Google buses carrying technology workers from the city to the peninsula high-tech companies which employ them. We have outrage over the rising real-estate prices which these “techno geeks” can pay. We have, for example, libelous and cruel attacks in the Chronicle on our number-one celebrity, the author Danielle Steel, alleging that she is a “snob” despite the millions she has spent on our city’s homeless and mentally ill over the past decades.

This is a very dangerous drift in our American thinking. Kristallnacht was unthinkable in 1930; is its descendent “progressive” radicalism unthinkable now?

Tom Perkins

San Francisco

Mr. Perkins is a founder of Kleiner Perkins Caufield & Byers.

Wow. I mean, I suppose it’s possible that VC’s only have blind spots about their wealth-based privilege, not their gender-based privilege, but that does not seem likely to me. (I assume that Perkins thought favorably of the editorial he cited, after all.) And this isn’t an off-the-cuff interview, this isn’t him quoted out of context: this is a letter he wrote to a national newspaper.

I’m not surprised that Kleiner Perkins immediately distanced themselves from the letter. And I assume that this kind of view is extreme within the VC community. But I don’t know; it’s a business that comes down to personal judgments expressed behind closed doors, so the rest of us don’t have a lot of direct insight into what the industry is like, what motivates its leaders.

that paul graham interview

January 22nd, 2014

So, there was this Paul Graham interview going around recently. Which was originally behind a paywall, so the link that got passed around was from Valleywag; I wondered how much they might be quoting out of context (which is what Graham claimed), but looking at the full text and The Information’s explanation, it seems not?

It was interesting to watch it go through my Twitter feed, though: I didn’t realize that my Twitter feed contained so many people who would take Graham’s side in response to the initial post. So I live in a little bit less of a bubble than I think, which is good? [1]

Anyways; it’s about a month later, and it’s still stuck with me: there are a lot of layers there, and it produced a fair amount of interesting commentary.

 

First, there’s a surface question: is Graham a sexist asshole? (Which is, after all, hardly unprecedented in the startup space.) I tend to think that he’s not, but it’s not like I know they guy; as Jay Smooth taught us, though, that’s the wrong question: don’t talk about what somebody is, talk about what they did. And yeah, the way he talks about women (or girls) in that interview is not great, and it’s not an isolated incident: Sam Biddle suggests that you search Paul Graham’s website for the word “women”, and the results, as Biddle chronicles, make it seem to me like he doesn’t think about women much in general and, when he does, he categorizes them as the other. (He certainly talks about them very differently from how he talks about Mark Zuckerberg!)

But really, Graham is just one person: in some sense an important person, sure, but, well, there are a lot of people in the world. So, for example, one question that is more important is: do VC firms as a whole reinforce or work against sexism in startups? (And, to tie it back to Graham, one might wonder how Y Combinator stacks up.) Graham wrote a second followup post that spent a lot of time on this; and, I will say, I came out of that post with the belief that Y Combinator was doing a decent job of being conscious of this issue and trying to push against it. So, in all sincerity: yay for them.

 

But I also think that last post has some issues. For one thing, it contains more of Graham’s othering of women: comparing women to aliens (or whatever that “you could have eyeballs on stalks” comment is supposed to mean) is entirely in line with the quotes that Sam Biddle pointed out. But there’s also this, uh, meritocratic? Social Darwinian? tone to it which ignores the issue of systemic bias in important ways.

I’m referring specifically to following:

A lot of people outside the startup world seem to assume that investors have the same sort of naive bias ordinary people do when deciding who to invite to join a club—that they simply fund the people most like them. That is not true. What drives most investors is money. As it should, because they have a fiduciary duty to their limited partners. So while they have biases, their biases are merely instances of stupidity, not principles they feel they have to uphold. When they realize they’ve been overlooking some type of startup or founder, they stop, because it means they’ve been losing money. All it takes is another investor who’s willing to fund the companies they’re overlooking.

This is, in large part, bullshit. Rich investors do not have some sort of magic power to avoid falling prey to societal bias by following the smell of money, and talking about whether following that bias is stupidity or principles is irrelevant. The world has contained rich investors for millennia; and those same millennia have been full of societies controlled by rich people minimizing the rights of those with different wealth levels, family heritage, and genders from themselves. Any claim that those in power will just stop when they realize that they’ve been overlooking a class of people and they could potentially make more money if they didn’t do that has to be tested against those millennia of context; to me, Graham’s claim doesn’t even hold up to minimal scrutiny. (Or when tested against other contexts: there’s an awful lot of fabulation around fund managers of all sorts, to pick another example.)

Compare this to the Graham’s claim in the original interview that

That’s a self selected group of people. Anybody who wants to apply can go to that thing. They’re not discriminating for or against anyone. If you want to see what a cross section of programmers looks like, just go look at that or any other conference, doesn’t have to be PyCon specifically.

Or you could look at commits in open source projects. Once again self selected, these people don’t even meet in person. It’s all by email, no one can be intimidated by or feel like an outcast for something like that.

This is a similar sort of faith that equality will just win out by letting people follow their instincts for success in a field; but I have no idea how he can claim with a straight face that nobody can be intimidated over e-mail, and women’s participation rates in open source communities are much, much lower than their participation rates in commercial software jobs.

Returning to investors, I of course understand why they are focused on profit, and I certainly want my own bank account to be healthy, but that doesn’t mean that it’s a yardstick that I want to be singlehandedly driven by: I also care about justice, fairness, simple human decency, real lives. So I don’t care whether VCs will make more or less money by excluding women: it’s the wrong thing to do either way. I’m not necessarily asking people to walk away from Omelas here; but that’s a question that’s much more worth asking, and one that matters a lot more than whether rich people will get richer by expanding the pool of whom they invest in.

 

Stepping briefly away from tech culture sexism: a part of the interview that hit me at a more directly personal level was its presentation of age. I’m specifically talking about these paragraphs:

The problem with that is I think, at least with technology companies, the people who are really good technology founders have a genuine deep interest in technology. In fact, I’ve heard startups say that they did not like to hire people who had only started programming when they became CS majors in college.

If someone was going to be really good at programming they would have found it own their own. Then if you go look at the bios of successful founders this is invariably the case, they were all hacking on computers at age 13. What that means is the problem is 10 years upstream of us. If we really wanted to fix this problem, what we would have to do is not encourage women to start startups now.

I liked DHH’s pushback on that one; but here’s how it felt to me. First, I’ll admit straight up: I’m not a founder type, I’m not going to be asking VCs for money and they wouldn’t be likely to give it to me if I did. But I don’t read those paragraphs as really being about what founder-specific profiling as opposed to programmer profiling: if that’s where he was coming from, he would have been talking about 13-year-old’s entrepreneurial drives instead of their hacking drives, and he wouldn’t have brought up startups not wanting to hire people.

(And, incidentally: wow, what a weasel phrase “I’ve heard startups say” is. If you think that’s a good approach, own up to it. If you don’t think that’s a good approach, then say so.)

But, with that aside, here is my personal take on the quote: when I was 13 years old, yes I was driven. And that made me different from a lot of people, and it made me different in ways that made me a stronger person, that gave me distinctive skills.

What I was driven to do, however, wasn’t programming: it was math. My family did actually have a computer (we got it when I was 11; and that very much was a sign of privilege, of resources and priorities that I’m very glad my parents had), and I did do some programming on it, but not a lot: I wrote one program that was probably somewhat impressive given the context, but my memory is that basically I didn’t program significant amounts for years during that period.

I did spend a lot of time on math, though: some when I was 13, and then more and more in high school and college. (For example, towards the end of high school, I was getting copies of graduate level abstract algebra text books, poring over them, trying to do all the exercises.) I had other interests, and yes, programming was one of them: when I turned 16 or 17, I started programming again and was good at it, but it clearly took a second seat to math.

And that continued in college, too: I took a grand total of two CS courses, but I also spent a lot of time in the computer center, and had a bunch of programming-related jobs, partly because of interest and partly because that was the skill I had that I could make money off of the most easily. But I spent more time on math than on programming, and as much time on other pursuits (e.g. learning dead languages) as programming. I never considered being a CS major or going to grad school in CS: I was clearly going to math grad school.

Which was great; but, as it turned out in my postdoc, being a research mathematician was not nearly as good a fit for me as I thought. So I needed to find another way to make money; and, as when I was an undergrad, programming was something that I was good at, that I enjoyed, and that companies paid good salaries for. So I changed careers; that was totally the right move, and over the last decade I really have been pretty obsessed with programming.

But, if we follow Mr. Graham’s advice, or the advice of those unnamed startups, then I never should have been hired: I wasn’t a 13-year-old hacker, I wasn’t focused on programming when I was in college, so I clearly can’t be worth spending time on.

 

Of course, I didn’t actually have trouble getting hired. Part of this is because companies didn’t always profile in the way that Graham suggests: they tried to get evidence as to whether or not I actually could program, not just evidence as to whether my profile suggested that I should be able to program. But that’s not all of it: being a math major will give you just as much of a leg up in interviews as being a CS major will, interviews around here are full of questions that are only tangentially relevant to programming wisdom but that are all about a certain sort of cleverness. And not only do society’s biases assume that mathematicians are clever in that way, it’s also the case that doing contest math for years is a great way to prep for that sort of interview question. So, really, I got a huge boost from profiling; it’s very similar to Philip Guo’s great post on Silent Technical Privilege, we both ended up in situations where people assumed that we could program well, and with the benefit of those assumptions, that proved to be the case. Great for us, even great for the people who gave us a chance, but not great for people who weren’t given that sort of chance.

Now, to be fair: there are multiple sides to this. For one thing, I certainly don’t want to discount the value of having been immersed on programming for a decade before a given job: it takes years to develop deep expertise. I’m just saying that you should focus on the resulting expertise, not on the timeline, and certainly not on the exact start date of the timeline. And, in his followup to the interview, Graham explicitly agrees with that latter statement, advocating late binding. Also, there are two sides to age issues: right now, I’m sensitive to valorizing youthful programming (being already noticeably on the wrong side of the age curve in Silicon Valley startups), and I’m certainly not the only one who feels that way (see this Kathy Sierra tweet), but Graham’s second response painted 2005-era young founders as a disadvantaged group, I assume he’s right in that, and that hasn’t gone away either. (I’ve personally seen startups shy away from hiring people because they’re too young, and I ran across this post on the issue today.)

 

Stepping back to the broader question, though: let’s return to the context of VC firms trying to figure out how to make money. Maybe it is the case that appealing to young men who have immersed themselves in programming during their adolescent years is a reasonable way for VCs to try to reach that goal: if so, it would be nice if they would still look for other paths to that goal, but I can imagine where they’re coming from.

But: VC firms’ goals aren’t my goals, and in fact our interests aren’t particularly well aligned. So the reason why I believe that that’s a plausible approach for VC firms to take isn’t because I believe in any young male hacker superpowers: it’s because my (admittedly naive / completely uninformed) beliefs about history are consistent with the idea that young men have a notable weakness for doing stupid stuff in the name of glory while the real profits accrue to those in power.

VCs are there to make money for themselves. Not only are they not there to make money for employees at companies they run, they don’t even care if individual companies succeed or fail. They are playing a statistical game; there is absolutely no reason to assume that there’s any link between what is good for them and what is good for somebody working for their firms. They want to squeeze employees in hopes that one out of ten companies will be a big enough success to compensate for the other nine companies that implode, and even the successful firm is likely to be littered with bodies.

So don’t spend time worrying about what’s good for VCs; figure out the kind of world that you want to live in, and make choices accordingly. This is a point that Cathy O’Neil’s mathbabe blog is good at, e.g. her recent asking in “Lean in to what?” about differential ethics of men versus women, or a post from 2012 asking “Why are smart men willing to spend their lives in the quest of leading these companies, considering how awful the conditions are?”; I also highly recommend her first bit of advice in her most recent Aunt Pythia’s advice column.

And that question of what sort of world I want to live in (and how to make my current world look more like that one) is one I ask myself all of the time. I don’t have any great answers; I will say, though, that, in any sort of world like that, there will be women and men in more or less balanced numbers, there will be people of all ages and from all sorts of backgrounds. It’s just the right thing to do, and it makes life so much richer and more interesting.

 

Footnote:

[1] The most entertaining link that I came across in that direction was this post on Medium: some of that post is reasonable, but it also says that “I’ve seen dozens of people mention when they started programming in an effort to refute a point that I don’t think Paul ever made, that you must begin programming before you’re 13 to be a successful startup founder.” (Emphasis in the original.) This is one of the rare instances where I recommend reading the comments to an article, because a commenter pointed at Graham’s statement that “Then if you go look at the bios of successful founders this is invariably the case, they were all hacking on computers at age 13.”, which is exactly what the article claimed didn’t exist. To which the author of the post replied: “Because the thing you quoted is obviously wrong if you choose to strictly interpret “invariably.” It’s clearly not literal.” Um.

jet set radio

January 15th, 2014

If you’d asked me not too many years ago what my prototypical idea of a video game was, I probably would have come up with some sort of RPG-ish thing. Single player, with the story standing out more than anything (and with that story being excessively grandiose); but also with a lot of time spent on combat, with that combat being fairly repetitive / mindless. And the whole thing would take maybe 40 hours to get through, and it would try to be a “AAA game”, whatever that means; at the very least, that generally meant that they tried to put in lots of polygons.

These days, I play a lot fewer games like that; part of that is that I’ll only play through so many 40-hour games in a year, a lot of that is how trends have shifted, but most of that is my personal choice. As production costs have increased, the duration of AAA games has decreased, but otherwise those elements are there: you’re still likely to find an excessively grandiose story, the mechanics are still generally combat-focused and repetitive (though, admittedly, if it’s a multiplayer game then there’s probably actually quite a lot of meat to those mechanics, they’re just not going to be to my taste), and the polygon count keeps on going up in service of a facile realism. None of which is to my taste.

So, these days, I tend to play shorter games that focus more on one of those aspects of game quality. (Though, actually, if they’re mechanics-focused, then may end up evergreen in practice rather than shorter, with me returning to them for months or even years.) Gone Home is a narrative-focused example; Android: Netrunner is a mechanics-focused example. (Or, if you insist on staying within video games, then Super Hexagon; but it’s not a coincidence that I play a lot of board games these days.)

But then there are games that don’t really shine in either of those aspects: instead, they shine in other forms of artistry, audio-visual in particular. Some recent examples are Proteus and Dominique Pamplemousse; the flourishing of the indie scene has allowed unique personal visions to come forth like that, for which I’m very glad. (And it’s also allowed polished stories and mechanics to come forth: what it doesn’t allow is the AAA morass of high production values combined with focus-group teenage-male-targeted mediocrity.)

 

There was a time a generation and a half ago, though, when it seemed that idiosyncratic artistic had a chance even among major publishers. Capcom gave us Okami and the incomparable Killer 7; Sony had Shadow of the Colossus; Namco had Katamari Damacy. But, even before those, there was an entire console that pointed at a different path forward, the Dreamcast. Space Channel 5 and Jet Set Radio, in particular, are two of the most stylish games I’ve ever played.

I’ve spent the last hour watching the above Space Channel 5 playthrough instead of writing this post; I am still completely captivated by that game. I don’t dance in real life (and yes, that is, I am convinced, a mistake), but dancing is incredibly effective here: the game combines musical and visual beauty, and uses the mechanics to embody them. (And to embody a spirit of cooperation and coordination. All with a healthy dose of horn playing, to boot.) Yes, it’s a product of a major corporation, a game intended to produce a system mascot; but, as she says, “you think a reporter without soul can out-dance Ulala?”, and perhaps that game had too much soul to let itself be captured that way.

 

I’m supposed to be talking about Jet Set Radio here, though; I played the original Dreamcast version (under the name Jet Grind Radio) when it first came out, and I just played the XBLA re-release. And, approximately two seconds after starting the game up, it was obvious that I’d made the right choice, it was obvious why the game had stuck in my head for the last thirteen years: amazing visual design, yes, and amazing music (this time featuring bass lines more than horn sections), but really it’s the overall style that shines out.

http://www.youtube.com/watch?v=twUmNN0eR1w

And it’s a style that, yes, comes forth in dance. My favorite character is Gum, and you’ll see in the video above the way she dances when you select her (or, if you watch it to the end, the way she dances when finishing a level): she is awesome, she knows she’s awesome, she is not taking any nonsense or subordinating herself to anybody. Of course, as we move out of the character selection and into the gameplay, the character movement turns into skating, but that skating is dance as well: sure, you’re trying to get from place to place or to escape people, but you’re encouraged to do that in the most spectacular fashion possible, never skating on the surface of a street if there’s an edge to grind.

The music and visuals are, if anything, even more central to the game’s distinctiveness, though. The frame story is narrated by a DJ at a pirate radio station, and the soundtrack is great; and in-game goals are (generally) more about painting graffiti than about skating well. This was the game that introduced the phrase “cel-shaded” to at least my game vocabulary; and it’s the earliest game on Wikipedia’s list, so while I have a hard time believing that there weren’t earlier games with a related visual style, it was clearly a pioneer.

Actually, let’s talk about cel shading for a bit. If you’d asked me at the time, I probably would have said: Jet Set Radio looks great, but I bet a lot of other people are going to copy it, we’ll have a cel shading fad boom, and then we’ll get sick of it and move on to something else. Instead, that didn’t happen: AAA games had a race for more polygons in service of pseudo-realism combined with hyper-sexualized character design / bizarre body proportions, indie games went for a low rez look, and there were never nearly enough cel-shaded games for me to start getting sick of them.

In fact, the opposite happened: it’s an art style that still makes me sit up and take notice, and two of the games I mentioned above in my list of idiosyncratic artistry were cel shaded. And yeah, that cel shading is part of that idiosyncracy: Okami in particular is flat out beautiful in a unique way. (Also, Okami also foregrounds drawing with its ink-painting-based mechanics in a similar way that Jet Grind Radio does with its graffiti.) But Okami has heart, has soul going for it in other ways, too; and when we move to Killer 7, the art style is only one of the artistic (in the broadest sense) design choices that made that game so unique.

My almost completely uninformed guess is: cel shading is hard to pull off from a technical point of view and it demands a sort of thoroughgoing artistic commitment/vision that high-polygon art doesn’t. So it’s never the easy path forward, and you aren’t going to do it unless it’s part of what you want to express; and that sort of artistic vision is more likely to fit into a broader picture?

 

At any rate: within seconds of launching the game, I knew that replaying it was the right choice. Of course, a few minutes later, I realized that the game wasn’t an unalloyed joy: the controls are oversensitive, and having cops constantly on your tail generally not only isn’t much fun but detracts from the art.

But another lesson of the game for me is: that doesn’t matter. Well, that’s a bit of an overstatement: I’m sure that there are changes that could have been made to the mechanics to improve them while harmonizing better with the overall artistic vision. (I haven’t played Jet Set Radio Future yet, but I’ve heard people say it does a better job in that regard.) So sure, there are probably better places in the local neighborhood of the design space.

What I’m even more sure of is, though: I’m a lot more worried about a different scenario, one where the gameplay gets smoothed out in a way that weakens the game. Because the last thing that I want is for the game’s exuberance and its brashness to be toned down in the name of improved gameplay. There are thousands of games out there that are striving for smooth gameplay; let them have their space, and embrace the fact that gameplay isn’t the only good in games. And neither is the other traditional focus of video games that I play, namely narrative: Jet Set Radio‘s narrative is mediocre and by the numbers, but I Do Not Care.

With those aspects of game design stepping to the background, what I was left with was a game that was a joy to watch, a joy to listen to, a joy to inhabit, a game where every level felt like coming home. And that is something special.

programming as meditative practice

January 10th, 2014

I’ve been thinking recently about what I want to get out of work; and it seems like, these days, I’ll get the most out of work if I focus on what I personally like about the process, the details of working with code. Which, for me, translates into: paying attention to the shape and feel of the code, trying to write clean code while paying attention to what the code is telling me about what it wants to look like. Not that I don’t enjoy other aspects of programming—for example, when I’m at work, I certainly want to write software that other people will find useful, and I want to produce code as quickly as I can while still feeling proud of it. But, really, it’s the artistry of producing software that makes me actively happy; to me, those other aspects are (productive!) constraints towards that end. And, fortunately, my current work is a good place for me to seek that happiness: we have a pretty good code base, but one with enough quirks that there’s always something to think about in terms of improving it; and we also constantly have new challenges that provide concrete suggestions for where to look next.

I think what I probably mean by “trying to write clean code while paying attention to what the code is telling me about what it wants to look like” is basically Kent Beck’s four rules. It had actually been a little while since I’d looked at them, but they do a good job of putting to words that I’ve been striving towards. The first rule is basic hygiene that I’ve had ingrained for over a decade, and the fourth rule simply isn’t something that I spend too much time worrying about, but the middle two are great: if there’s an idea that’s latent in your code, then make it explicit and put it in one place.

Which I’ve had several really enjoyable case studies on recently, that have actually all ended up feeding into each other. I spent a fair amount of the fall working with one of my colleagues on scaling out some of our map-reduce machinery; and, when I was looking at the computational guts of that, it never felt quite right. We had a dozen or so concrete pairs of map-reduce classes; the interface that those classes conformed to was designed to allow them to be serialized uniformly, which was important, but looking at everything through that lens obscured the underlying internal state that each pair was using.

And then there was the relationship between that internal state and the input: in the simplest case, the input could get transformed into something of the same type as the internal state and then combined with the internal state in a sort of monoidal operation. (E.g. if you’re counting, then the internal state is an integer, and you take the input, replace it by 1, and add it to the internal state; or if you’re summing, then it looks exactly the same except that you leave the input alone instead of replacing it by 1.) And on the reducing side of things, we wanted to think of reducing in terms of combining internal states (which was, again, that same monoid idea) plus some sort of transformation of the internal state to the output. (Where that transformation was usually simple and frequently an identity map.) In fact, that combining was actually why we were looking at the details of this: we knew we wanted to do that for performance reasons, so the question was really whether we could do that in a way that increased the clarity of the code.

 

What I ended up doing was replacing a map / reduce interface that was mediated via a serialization type with the following:

  • An explicit notion of the internal state.
  • Functions to transform the internal state to and from the serialize state.
  • A factoring of reduce into combine composed with an internal state to output type function.
  • The above three were the general interface that I ended up with, but I also provided traits to help in cases where further patterns / special cases revealed themselves: ones where the structure arose from a monoid, ones where reduce and combine were identical.

And, I will say: doing that felt great. Some of that great feeling is probably the builder’s high that Rands recently wrote about it. But I think that’s actually missing the mark about why this really mattered to me: I didn’t feel that I was building so much that I was uncovering structure that was latent in the code. So, for me, it’s not so much the builder’s high as the scientist’s high, or the explorer’s high, or the mystic’s high. Building is good, but, for me, getting closer to underlying structure in the universe is better.

 

Happily, I can combine those two: that transformation I did was useful for the purpose of the scalability feature we were working on at the time, and it’s been useful in each of the two projects that I’ve worked at after that, so I really did build something. In the next one, we were bringing that map-reduce functionality over to a chunk of functionality that hadn’t used it before; as part of that, I had to extend it to handle another use case, which led to teasing out superclasses in a few cases, which I wouldn’t have been able to do nearly as easily if I hadn’t teased out responsibilities in the prior project. And, happily, that project itself led to a similar (albeit smaller) improvement in understanding of the underlying structures: there was one assumption that the prior code had been able to make, and I got to understand where that assumption was important and where that assumption was coincidental.

In the next project I worked on, I wanted to understand the memory usage of the data structures in question. Which was made much easier by my understanding of the types in question; but also, the evolution of that code over two or three hours had this wonderful flow. At first, I took one example, and tried to figure out what memory it used; I plugged it into a test and wrote a ridiculous 15-line comment explaining that. Then I poked around a bit and, after going to the bathroom a couple of times (too much information? I should probably write a blog post at some point on the role that the consumption of water plays in my programming methodology…), I finally gave into my brain’s suggestion that I should probably extract a class for doing that top-level memory estimation instead of sticking it in a method that belonged to the class that used the memory estimates.

And, once I’d done that, everything just flowed out in the most natural way possible. (Just as the water I’d been drinking flowed when, uh, never mind.) I TDD’d my way out from my original example, and in doing that, each line in that 15-line comment moved to the right place in the code: before I knew it, I had my overall memory estimator, a trait with memory-related comments, methods in the classes I was using that talked about how much memory they were using, and all of the information was where it belonged. (Plus, I fixed a mistake in my original memory estimate that became clear once I could look at all of the components of that estimate in the right context.)

 

Good times; I really appreciate being able to get this sort of experience out of my work. Or, really more than that: rewarding times, nourishing times.

more netrunner

January 1st, 2014

I’ve been playing Android: Netrunner at work over lunch maybe a couple of times a week for over a year now; three of us have been fairly devoted to the game, there’s one other person who plays occasionally, and one person has recently joined the cult as well. I like the game a lot: there’s so much to think about, and, as Nels said on his podcast, the game is really interesting and fun even if you lose, which is always a good sign. (And lose I do fairly frequently!)

In fact, even though I’ve been playing the game for over a year, I’m more interested in it now than I’ve ever been; so not only have I been listening to Nels’s Terminal7 podcast, I’m also listening to the Agenda7 podcast, and I went through all of the articles in the Stimhack blog. (Most of which were fairly plain, but a couple were eye opening.) There’s so much to explore in the game, and every month brings a new set of cards that open up new possibilities.

Unfortunately, I don’t get to actually explore those possibilities: many months I don’t build a new deck, either because I don’t find the time to do that (my cards are at work, and I’d rather spend lunches playing than building!) or because I don’t feel I’ve explored the possibility of whatever deck I’ve been playing. So I barely get to try out new cards, and, even worse, I don’t get to go back and try new approaches to cards that have been around for a while.

 

I only have so much time, and I’m very deliberate of how I spend it, so for a while I was happy enough with the status quo. Especially give that, over the last year, I’ve felt like I don’t have enough time as-is to play games: looking back, I’ve actually played a decent number of games over the last year, but they lean heavily towards the short/quirky, and Rocksmith is going to take a sizeable chunk of my playing time for the indefinite future. Also, the only way to play Netrunner online is through Octgn; that requires Windows (though I should at least give it a try on Wine, I suppose), I hadn’t even had Windows installed anywhere for a while, and when I did have it installed, it was on the upstairs computer, which I find isolating.

Still: Netrunner. I cannot honestly say that I don’t think I should spend a fair amount of my game time playing it: it’s an amazing game, and a rewarding one. (And it’s wonderful watching it spread: Nels is probably the person whom I follow on Twitter who talks about it the most, but every month it seems like somebody else starts playing. I was super amused by the fact that Jorge not only couldn’t resist mentioning it on his Games of the Year podcast, he also mentioned it on his Not Quite Games of the Year podcast, even though both were ostensibly about video games that were released in 2013, not card games that were released in 2012!) So I should play it more; if that means that I have even less time to play “regular” video games, then so be it. And, honestly, I think I can play Netrunner online one evening a week and still have time for blogging, one TV show, and one other non-Rocksmith game.

So: I’ve reinstalled a Windows virtual machine on the upstairs computer; and while I was worried that the downstairs laptop might not be up for running a VM (it’s old, has a slow/dodgy hard drive, and literally held together by duct tape right now), I’m close enough to my 3-year anniversary at work that I can get a new laptop there and bring my previous work laptop home, which I can either run VirtualBox on or see if Octgn works on Wine.

 

Nels was kind enough to run me through the Octgn interface last week, so I’m all set on that front. (If anybody reading this wants me to do a teaching game on Octgn, I’d be happy to pay that learning forward.) And I built a couple of new decks, and twice over the last week I’ve spent a couple of hours playing against random people.

And I had a great time doing that: a very friendly community. But also, an experience that confirmed my decision in other ways. Because building those decks was like pulling teeth: I wanted to include everything! Which you can’t do, and the only reason why I felt tense about that was because I’m not used to constantly building decks; if I were building a new deck every two weeks, I’d be happy to experiment more.

Sure enough, my new decks sucked (especially the corp one, I still haven’t won with it); but getting a chance to play them made the tradeoffs so much more concrete. I don’t have quite enough economy in the deck, and I was wishy-washy over whether I wanted to explore bad publicity or whether I wanted to focus on tagging and meat damage. I’ve already tweaked it a bit to add more economy; I’ll probably tweak it further with an eye towards whether or not adding more tagging is possible, and then after another week or two, I’ll move on to build another one. And that sort of systems feel is exactly what I wanted to get out of this.

 

2014 is going to be a good year.

rocksmith 2014 second impressions

December 30th, 2013

It’s been a couple of months since my first impressions of Rocksmith 2014, so time for some second impressions.

First, my overall feeling about the game: my current feeling is that it’s a great game, and potentially an important one. Not necessarily important as a game so much: what I like about it so much is the ways in which it’s focused on helping you learn guitar, and its removal (or at least making optional) many of the game tropes its predecessor had that, in retrospect, hurt that. For the right person, I suspect it’s a rather interesting case study in gamification: both the game-related elements that remain and were removed could provide useful lessons.

But just as interesting from a learning point of view are the elements that it enables by being software that aren’t related to its game aspects. Just the fact that it gives you access to hundreds of songs each of which is divided up into (typically) dozens of segments with dozens of difficulty levels: that’s an interesting capability that wasn’t accessible to teaching in general until recently. I don’t want to go too much into that here—I’ll save that up for a later post when I feel like waxing more philosophical—but there’s something there.

Instead, for this post, I just want to talk a bit about details that I’d noticed since my earlier post. One of which ties directly into the aforementioned learning possibilities, and actually it’s not a detail at all, it’s a core capability that I simply hadn’t gotten around to exploring until a week and a half ago: Session Mode. This is a mode in which Rocksmith 2014 gives you a virtual jam band: I’ve never seen something like that before, and it’s really good. The other instruments do a surprisingly solid job of laying down a foundation for you to play on top of; I’m not sure how much they react to what you’re doing (though they do adjust to some extent to your changes in intensity and rhythm), but if you want structural underpinnings to noodle on top of (basic rhythm, basic bass, preplanned chord changes), it’s there.

And the game’s missions turn out to include a quite thorough Session Mode-specific set of recommendations. I’ve gone through a bunch of them, and I’ve appreciated its guidance in exploring those features. Also, I’ve appreciate the guidance that Session Mode gives you itself in terms of not only reminding you of what notes are in the selected scale but in terms of highlighting frets that are relevant for the specific chord that the other parts are playing; this makes it a lot easier to respond gracefully to chord changes, and I imagine that it will be a useful stepping stone to learning how improvise around chords on my own.

It is the case that my playing in Session Mode does get kind of repetitive: I stick a little too closely to the notes that are suggested. I’m trying to move away from that, though; and, actually, I would also like it if it would suggest chords to me instead of just notes. For all I know, it will do that if I play Session Mode as rhythm guitar instead of lead; I’ll give that a try this weekend. At any rate: super useful for people like myself who don’t find time to play with friends but who need a nudge to get out of our comfort zones and move off script.

 

That’s the biggest thing I hadn’t explored when I wrote my first impressions. I also hadn’t explored Riff Repeater mode very much then: now I have, and I really like it. I don’t actually drop into it all that often, but when I do, it’s great: it lets me focus on a section, it levels up in an intelligent way (increasing in either difficulty or speed as I get better at a section, depending on what I’ve chosen), it shows me what notes I’m missing, it gets out of the way when I’m playing well enough. And it gives me enough knobs to turn that I can tune it to behave how I want in a given situation, and I can drop into it at a moment’s notice. So helpful for learning sections, and its ease of entry / use is also helpful in reducing mental barriers to deciding to do that kind of focused work.

The extra techniques that the game presents / recognizes are also appreciated: in retrospect, the original Rocksmith was noticeably farther from the original songs than I realized. Some of the differences are subtle (accented notes, vibrato); some less so (fret hand muting in particular makes a big difference, but there are also a handful of techniques that were only present in the original game on single notes and are now present on chords). And, while I can’t say that I want to get great at tapping (and my guitar probably isn’t hot enough to make it easy to tap well), I’m glad that the game at least tells me when that’s what the song is doing, some songs make a lot more sense.

And that whole previous paragraph applies to songs from the original Rocksmith and to pre-Rocksmith 2014 DLC, since they retrofit the notation to the older songs. I really appreciate the company treating its fans / previous library that way: they could very easily have not spent the time to retrofit the old songs with the notation for new techniques, but it’s there and super helpful.

Tuning is still a bit weird for me. I’m getting more used to recognizing when my strings are going, so I’m finding switching tuning less frustrating; but what is frustrating is that the game seems to always want me to tune flat. (Flat as measure both by my ears when playing along to the music and as measured by an electronic tuner.) I have no idea what’s going on there, but it happens consistently: I’ll pause to tune, it will automatically show the game’s interpretation of whether I’m flat or sharp, and it won’t match up with what the electronic tuner shows. Which, in practice, isn’t a big deal if I’m playing a bunch of songs in the same tuning (I’ll play one song where I’m maybe a little off and then I’ll tune with my own tuner and be fine for a while), but it adds extra friction if I’m dipping into a single song in an alternate tuning.

I complained last time that the game was freezing; happily, it hasn’t done that in ages, so I’m not worried about that at all any more. There are some bugs about it occasionally not remembering progress for songs (or, for newly downloaded songs, setting the difficulty to zero on the first playthrough), but the former only happens to me rarely and isn’t bad when it does happen and the latter has an easy workaround. (Go into Riff Repeater, select the whole song, set the difficulty up to a reasonable level, exit.) Still annoying, but I can deal, and it seems like they have a patch almost ready to go for that?

I guess that’s mostly it in terms of my current notes; I have a few more (the game hasn’t quite come to terms with navigating a 200-song library; I think it goes a little too far in trying to distinguish the lead guitar / rhythm guitar tracks); but that’s about it. Time for me to spend another month or so playing it (and in particular diving into Session Mode more) and then I’ll see if I can put something a little more coherent together.

possessiveness and cliques

December 27th, 2013

There was a post called “On cliques” going around a month and a half that I meant to talk about at the time but never got around to; it’s about somebody feeling ostracized by “big names” at a party because they were talking to each other instead of talking to him, and about his subsequent re-evaluation of the situation as he later got to know some of the people involved. Interesting post, because it brings together a couple of disparate issues: cliquishness and insularity are a real problem, but sometimes you just want to catch up with friends, and after a certain point of renown it becomes impossible to meaningfully interact with everybody who would like to interact with you anyways. And if you throw all of this together with the layers of interpretation that come between what is said and what is taken in, you can sometimes get a real mess.

For me, the key quote was “I was angry at people for being friends”, because I totally can sympathize with that feeling: every so often, my brain will decide to do that sort of thing itself. I’ll see people enjoying talking to each other, enjoying spending time together, and feel hurt, even a little angry, that I’m not part of that interaction. And this is messed up: their interaction isn’t about me, it’s about them, and there is no way in which foregrounding myself into an evaluation of other people’s interaction makes sense or is useful at all.

Don’t get me wrong: I don’t do this a lot. (And I’m sure the author of that blog post doesn’t do it a lot, either!) In particular, if you are somebody who knows me in person: if you see me sitting off to the side, seeming distant, the significant majority of times this doesn’t mean that my brain is in a bad place. (And if I am in a bad place, it’s almost always for a different reason!) I am a strong introvert: most of the time that distance is a happy place for me to be. Not that there’s anything wrong with wandering over and saying hi, I’ll probably enjoy that too, it’s just that I’ll be fine either way.

But I suspect that this particular brain misfeature might be something that introverts are relatively prone to: my guess is that introverts’ desire for fewer connections can turn into wanting those connections to be deeper, sometimes at the expense of respecting the other connections that the other parties could be involved in. I don’t know, though; I don’t actually even spend that much time with strong extraverts, and when I do it’s rarely in situations where that extraversion manifests itself most fully (I try to duck out of those situations), so I don’t have a lot of experience to draw on. And, after all, this is just one form of jealously, which is a pretty widespread human emotion.

 

That’s one side of the blog post. But the flip side is: exclusionary social behavior is a real thing and frequently a bad thing. And so there’s a real tension here: it’s fine to acknowledge that friendships are a great thing, but it’s also important to acknowledge that those friendships are enmeshed within a broader social context, and we can’t completely separate individual choices in individual situations from that broader context.

Of course, that broader context can play either way even in group + outsider situations: maybe the friends talking are members of a dominant social group while the outsider isn’t, but maybe the outsider is a member of a dominant social group who feels entitled to butt in anywhere. Still, the former is a real issue.

 

I dunno. I guess I’ll say: if you’re feeling excluded by watching somebody else’s interaction, then start by saying to yourself “it’s great that they’re enjoying spending time together”. Maybe they’re old friends who haven’t seen each other in ages, maybe one of them had a little victory that the other person was just the right person to share it with, maybe one of them has had something go wrong and needed that ear to listen. It doesn’t matter, what matters is that the details of that interaction aren’t about you, and trying to make it about you is never going to be helpful.

Once you’re in that place, then sure: apply your critical skills however you want. But if you’re not in a situation where you can be happy that other people are enjoying their time together, then maybe it wouldn’t work out so well if they were spending time with you either.

social norms and market norms at work

December 22nd, 2013

Reading Predictably Irrational got me thinking again about workplace organization: in particular, the extent to which companies try to set up the employer/employee relationship as a primarily social relationship instead of as a primarily market-driven relationship.

And, of course, it’s both: work involves people interacting together over a long period of time, but work also involves a paycheck. That means that there’s not going to be a bright division between those two realms; and that blurring of lines makes me wonder: who benefits in what contexts from that blurring, especially in the context of Silicon valley startup / tech company culture. (And, of course, that brings me in the direction of the cynicism that I was talking about a few days ago.)

Take, for example, meals: ever since Google made a splash with them, it’s been common for tech companies to provide free meals, and pretty good ones at that. Which feeds into the social side in two separate ways: it feels like a gift instead of a transaction, and breaking bread together regularly has incredibly strong social resonance. But, from a market-based approach, there are two other benefits for the employer: people don’t have to take time off over lunch driving to and from lunch, and dinner no longer provides a natural stopping point for people to leave work.

Or work hours: people arrive at work at tech companies at irregular times (and generally starting later than at a lot of other workplaces), and in general if something comes up where you need to work from home for some reason or need to duck out in the middle of the day, nobody will think twice about it (as long as it doesn’t interfere with some specific meeting): this is similar to a social context where nobody will think twice if you’re not home at some specific time, as long as nothing is planned, sometimes something important comes up. But the flip side is that sometimes something important will come up at work, so it’s natural to stay there late, too. This blurring can also happen in terms of doing personal stuff while physically at work and work stuff while physically at home. If work pushes the boundaries more than home, then this starts to make a lot of sense from an employer’s market-based perspective; and work is very good at coming up with tasks that are important.

But then there’s the question of what happens when you want to pin down some of these time/space boundaries instead of leaving them loose. Maybe it’s a personal request to say that you want to work from home on a fixed schedule to deal with family responsibilities; maybe it’s a request from your employer that you be physically present at work for a certain number of hours a week. Both entirely reasonable requests in many contexts; but the concept of crunch has normalized excesses in the latter domain, while a lot of workplaces are terrified of making any sort of formal statement that, say, a parent of a small child might be allowed to reliably work from home during some portion of core work hours. And that latter attitude has real consequences: if you can’t depend on being available to provide child care yourself on a reliable schedule, then you have to set up your child care arrangements on a worst-case basis based on your work schedule, because child care providers are not going to say “oh, it’s okay if something comes up at work and you occasionally won’t be able to pick up your kid until 8:30pm”.

 

So, in all of these cases, it feels to me like the blurring of lines masks an underlying battle where your employer is trying win a market-based struggle against you: the presentation of social norms doesn’t reflect a real social context, it’s trying to get employees to let down their guards in hopes that they won’t realize that there’s a struggle going on.

Of course, that’s not the only thing that’s going on: the non-financial benefits that are being offered have real value. I’m glad that I don’t have to work on a fixed schedule, for example, and while I’ve been perfectly happy in the past to bring leftovers for lunches, it’s nice to have coworkers around over lunch instead of having us fragment. So there’s nothing wrong going on here; you just have to keep in mind that compensation of all forms is subject to bargaining and negotiation, and to be ready to push back if the result isn’t to your liking.

At least there’s mostly nothing wrong going on here: crunch is bad, and it’s bad to normalize expectations for family needs based on the model of men who are either single or not an equal partner in child-rearing. And then there’s the joke that I’ve run into in various contexts about being glad that there’s no H.R. department around: I like being informal, but I also like being professional, and these days I think that following certain behavioral norms at work is a good thing.

 

Returning to the whole social norms / market norms thing: the other main sticking point for me there is how it interacts with power. Because, when I’m in a social context, I generally don’t want to set up a situation where some people have power and some people follow orders; the one exception that comes to mind there is parenting, but then the flip side is that, when I’m at work, my boss is not my parent, and I am not a child.

I’d be perfectly happy to experiment with the idea of removing that sort of hierarchy from work. But I’m not strongly against hierarchy at work, either; it’s just an area where a mapping of social norms sets up a juxtaposition that I’m not comfortable with.

Though, having said that: I’ve had bosses whom I considered friends at the time and whom I still consider friends since. I dunno; I guess I’m having a hard time coming up with absolutes here. I like social norms, I just don’t want to be blinded by them.

netrunner, systems thinking, rule sets, cynicism

December 14th, 2013

I play a lot of Android: Netrunner at work; other board games, too, but Netrunner is the one that’s sunk its teeth into me most deeply. I mostly play over lunch, but sometimes I play at other times, and occasionally those lunches get pretty long; this makes me wonder: is there any way I can justify this in terms of improving my work? (At least directly: it increases my happiness and gives me time to chat with coworkers about whatever’s on top of our mind, both of which have indirect benefits.)

I can’t honestly answer “yes” to that question; but I also don’t think it’s a coincidence that I and several of my coworkers are addicted to the game. We work at a company that’s building a big piece of distributed software; doing a good job of that requires systems thinking, and Netrunner is, in its own way, does an excellent job of guiding you down a systems thinking path.

 

The game presents a rule set to you. Like all good games, that rule set’s parts interlock in ways that are both obvious and non-obvious. It presents you with some top-level goals, goal that are concrete enough that you can imagine a set of micro actions that will lead to those goals; but those goals are distant enough that you can’t predict the details of the route from the beginning, and you should be prepared for even the broad strokes of your prediction to be falsified by the cards you are dealt, by your opponent’s actions.

And, as you play the game more, you realize that there are many more interlocking possibilities than are apparent at first glance. Possibilities that are latent in the basic rules; possibilities that are in the cards that come in the core set; further possibilities that are either made possible or made more noticeable by the cards in the expansions; possibilities that unfold as you watch what your opponent does on the board.

The genius of Netrunner isn’t just in the possibilities in the game, however: it’s also in how the game actively helps nourish your development of understanding of what’s possible. Right from the beginning, Netrunner gives you two layers of archetypes: the Corporation / Runner distinction, and the multiple factions present on each side. So you get encouraged to look a bit harder at one subset of the possibility space, but of course this is in no sense a permanent choice, you’ll probably play the other side or a different faction in a different match. (And you’ll get to watch how your opponent plays their faction, too.) And this focusing continues with the expansions: aside from the general possibilities unlocked by new cards to play, each expansion gives you a couple of new identity cards to use with existing factions, giving you new ideas for an overall direction to explore in, and the expansions come in collections that are generally presenting a broad theme.

 

So: Netrunner is pretty awesome, both in the game itself and in its didactic nature. And there are a lot of analogies one can make between Netrunner and programming: a large possibility space, lots of good routes forward depending on your taste and your context, there’s always more exploration possible, there’s a source of randomness waiting to surprise you, the journey itself is its own reward. (I totally agree with Nels when he said on his podcast that Netrunner games are great even when you lose! Though, don’t get me wrong, I do prefer it when my software works.)

Being a game, though, Netrunner‘s rules are explicit: so you know the broad contours of the framework that you’re working within. This is fuzzier in programming: programming language semantics are generally basically well-defined (and, while compiler bugs exist, in practice they’re rare), but how your software will behave in the real world is not so clear. The details of how software will perform and how independent components will interact aren’t so clear (both of which are key aspects of dealing with distributed systems!), but more importantly: you’re writing software for a reason, and it’s hard to tell whether the software will satisfy your underlying goals until you’ve written it. And, for that matter, those underlying reasons themselves are fuzzy: one of the points of agile software development is that having working software is a huge help towards clarifying and making concrete the goals that you’re striving towards with that software.

Furthermore, software itself isn’t written in a vacuum: it’s written by people working together, with many different perspectives, strengths, desires. The ground rules there are vaguer still; one of the things I’ve learned about myself over the last few years (thanks in part to board games!) is that I do like to have explicit rules to work with in that sort of context as well. Not unchangeable rules, not rules covering everything, but some sort of acknowledgment of the ground rules we’re playing by and where the boundaries of those ground rules are. (C.f. my post a couple of months back on benefit zero of retrospectives.)

The existence of ground rules is important enough to me that, if rules aren’t explicit, my brain will go off and try to make sense of the patterns it sees around itself, coming up with implicit rules to explain those patterns. Not that there’s anything unique in me about that: humans are hard-wired to try to make sense of social contexts, I think. And that, in turn opens up a whole maze of problems: in particular, when different people are working under different notions of the ground rules, unhappiness can easily arise.

This also brings out behavior of my own that I’m not proud of. Because a lot of the rules that I come up put me in a pretty cynical place; honestly, I don’t need much help with that, I’m quite cynical (and snarky) enough as is! Not that that cynicism isn’t justified in a lot of contexts: for example, I’ve seen enough evidence that the tech startup world is hostile to women that I don’t want to be a Pollyanna about that one. But still: it’s important to realize that, when I’m doing or thinking something based on my mental model of a situation, there’s a pretty significant (and generally not explicit) chain of assumptions underlying that model, and I generally haven’t tested those assumptions nearly enough for me to be confident personally that they or the resulting model are valid, let alone done the work to check whether or not other people agree. And, given that, smug snarky cynicism is probably not the best approach.

 

Sigh. It’s not like we can talk everything out, though, and it gets harder as groups get larger. I guess I’ll end by quoting the end of that “benefit zero of retrospectives” post:

there’s another benefit lurking in the assumptions that are prerequisites for a retrospective: the fact that you have a team at all, and that the team members’ thoughts are all worth listening to.

at&t update

December 13th, 2013

Last month, I switched back to AT&T after a brief, bad experience with T-Mobile, but I didn’t feel great about it, among other things because AT&T was charging me phone subsidy rates for phones we’d long since paid off. But, as it turned out, a couple of weeks after that, they changed their data plans to lower the price for customers who aren’t on contract. (And they also juggled the numbers to make it a little cheaper for people/families with multiple devices.)

So yay for that. It’s still not quite as good as I’d like—the off-contract discount is only $15/month, while the on-contract subsidy is about $19/month—but it brings the plan squarely into a reasonable level.

The other surprisingly good thing about this switch was: when I went to the web site to select a new plan, I just clicked on the button for the amount of data that I wanted and it immediately showed me the price for two off-contract phones and one on-contract phone. (Miranda decided to get a new phone when we switched back to AT&T.) Which is unexpectedly nice: I was expecting to have to do some amount of fiddling to select what I want (with the easiest route being something that would charge me too much), but no, they made it easy to get the cheapest plan they offered given our current mix of phones, and they even let me backdate that to the start of the current billing period. Almost like they went out of their way to think about how to design their web site to be helpful; odd, but not unwelcome.

gone home

December 8th, 2013

From reading the initial responses to Gone Home, I was optimistic that I’d like the game, but I wasn’t optimistic that I would like it as much as many people did: many people’s favorable responses seemed to be about how well it resonated with their experiences, talking about the details of being a teenager in the 90’s. Which I wasn’t (I was in grad school in 1995); and I am also not a lesbian, another point of similarity for some critics.

As it turns out, though, I had no trouble on that score. Not the 90’s stuff, I didn’t care about that one way or another. But the loving detail with which the house was crafted meant that there were a lot of places to find purchase; for me, it was in having a really neat daughter around. So many times, I would see something Sam had done that her parents (presumably) saved, and I thought: I can totally imagine Miranda making something like that.

So: a game that moved me, in the world that it drew as well as the plot. The main plot, mostly, but also some of the stories drawn to the side about the parents’ worlds not turning out the way that they hoped: my life has turned out very well, but that doesn’t mean that I haven’t had significant turns along the way, and I see enough contingency around me that there’s always a fear lurking that my life could go wrong in ways I won’t be able to recover from so easily. (And who knows, maybe Sam and Katie’s parents will be able to recover.)

 

Playing Gone Home so soon after System Shock made me want to compare the two games’ world building. But here I stumble, because the truth is that I have a hard time getting a grasp on System Shock‘s world building at all. I played that game over the course of two months, with the audio logs separated by long stretches of fighting; I played Gone Home over the course of a single evening. And while the audio logs might not have been that much more frequent in Gone Home than in System Shock, the connecting exploration kept me in the world and enriched my understanding of the background behind those audio logs.

Not that System Shock didn’t do that as well, exactly: I was still in the world, after all, and I was constantly reminded of the context of being in a station run by an AI bent on destruction! Still, it’s not at all the same; and I never thought that Gone Home would have been better if only it had some shooting.

There is something lost in the absence of violence, though: a lot of my favorite games this year have involved coming to grips with systems, and conflict is a tried-and-proven way to bring that out. So Gone Home does a great job of bringing out the Looking Glass school of narrative development, but not so much that school’s focus on systems. Which is fine, one game doesn’t have to do everything; and, actually, one thing I got out of our VGHVI discussion of Gone Home was that there’s more in the way of potential systems to understand in the game than I gave it credit for.

 

Quite a game, I’ll be curious to see where it leads over the coming years.

my t-mobile experience

December 4th, 2013

I’m honestly not entirely sure why I’m writing this post: the fact that large corporations suck is not a surprise to anybody, and neither is the fact that large corporations try to coat themselves in a veneer of human interactions and come off looking even worse once you get beneath that veneer. Still, venting can sometimes be cathartic, and it was a little weird watching how my brain behaved during this process.

Anyways: I’d been an AT&T cell phone customer for several years now; they’d been okay, but a little more expensive than I liked, and I didn’t appreciate them providing bad coverage in my house and then charging me money to buy a device to fix that problem of theirs. Also, the idea of subsidized phones doesn’t sit right with me: there’s no way a company is going to structure that to be beneficial to us even if we did want to replace our phones every two years, which we don’t.

So I was ready to make a switch, and when I started to hear interesting things about T-Mobile, I looked into them. The main point on their side is that they’re actively distancing themselves from the subsidized model, but actually I think the trigger that got me actively considering them was the fact that they give you free 2G international data: international rates have always been something that frustrated me. Though that in itself is a sign that my brain is behaving oddly: we don’t go on international trips very often, we almost certainly won’t go on any in 2014, AT&T’s rates actually weren’t all that bad on the last trip that we went on, and I’d probably find 2G data frustrating in its own way. So I won’t exactly thank my brain for seizing on that as an interesting point: I can claim that it’s a sign that T-Mobile is trying to go out of their way to appeal to people by not jacking up prices on fringe stuff, but, well, they’re a big company, I shouldn’t treat it as anything other than an isolated financial calculation.

Still, it got me looking at their rates; and, indeed, their rates for us would be a lot cheaper than AT&T’s as long as we weren’t replacing all of our phones, which we didn’t have a plan to do this year, and that plan would include a data plan for Miranda. (She actually doesn’t seem to care too much about web browsing and what not on her phone, but she’d been grumbling about sending text messages with a number pad, so she liked the idea of being able to use her a hand-me-down iPhone as a phone instead of just as an iPod.) Our old phones should work okay (T-Mobile had added coverage in AT&T’s bands), their coverage map claimed that their service should work in our house, it seemed like a pretty clear win.

So we switched over. The woman who helped us in the store seemed quite helpful; the only worrying sign there was when I asked about signal boosting options in case coverage at home turned out to be worse than I expected. (After all, AT&T’s maps also claimed that our home got good coverage.) She said they didn’t have microcells; they did have something called “Wi-Fi calling”, but it only works with Android phones. Still, I was happy with the choice when I walked out of the store.

 

I was less happy when I got home, though: we got zero coverage inside the house outside of sporadic seconds of connection. (E.g. confirmation text messages about numbers being ported over took hours to arrive.) By the end of the day, it was clear that the situation was bad enough that it simply wouldn’t work for me: my work requires me to be on call every so often, and I need to have reliable cell phone reception during those rotations. I did some searching online, grumbled a bit on Twitter, and went to bed.

This was a second sign that my brain was behaving oddly: it took a surprisingly long time to go to sleep. Which is ridiculous: I needed to fix the issue eventually, but it wasn’t a problem at all in the short term, we just don’t use our cell phones as phones inside the house very often. (We still have a land line as well.) And while I wasn’t excited about going back to AT&T (e.g. I would lose my employee discount since I’d changed employers), that did at least provide a known workable fallback solution; and, in fact, I came up with a list of five or so options to explore. So, really, brain, this is not worth keeping me up for, it will be Just Fine if I think about it some more the next day.

The next day, I looked a bit more into options: e.g. T-Mobile doesn’t offer microcells that connect to the internet the way AT&T does, but in the past they’ve offered cell boosters from a company called Cel-Fi, and that company still sells them directly. (They’re quite expensive, though.) Also, the @TMobileHelp twitter account had responded with some advice. So I was still in the mind-set that T-Mobile was trying to provide good customer service; I clicked on the links they provided (yes, their coverage map claims that I should get “excellent” reception), and I went to chat with somebody online. That person set up a support case with me, saying that it should be resolved in three days.

Four days went by; still no coverage (not just inside my house, I didn’t get coverage outside my front door, either), and I hadn’t heard back from T-Mobile. So I went on-line and chatted again; I was told my case was still open, and it would be another three days.

I can’t remember the exact sequence of events after that, but it was the same basic pattern. I tried different methods of contacting them (online chat, e-mail, voice mail); everybody I talked to seemed friendly and wanting to help, but nobody ever followed up with me with a response, I always had to initiate contact. I was optimistic when I ran into somebody who said he’d be my “personal support person”; I never heard back from him, though, and the next person that I interacted with had no idea what this “personal support person” concept was supposed to mean. At any rate, this continued for a while; and this is where the whole “big companies trying to set up human interactions” thing falls flat. On an individual level, my interactions with T-Mobile employees were pleasant, and my instincts were telling me that the people I were talking to wanted to be helpful. But, on a systemic level, I got the exact opposite message: all of my requests were going into a black hole, no individual would ever follow through, and the system as a whole didn’t care about me at the slightest.

Eventually, I talked to somebody who said that their technical staff had looked into the issue, and that the fact that there are trees meant that I wouldn’t get good coverage. I’m not sure why trees are supposed to be such a big surprise, or why their coverage map claimed otherwise in my area; and this was actually the one interaction where the personal veneer of helpfulness actively frayed, because the person I was talking to didn’t have anything at all sympathetic to say about the incorrect coverage map or any suggestions at all for workarounds. (E.g. nobody brought up this Cel-Fi option.) Which is, of course, the flip side of the disconnect between human interactions and corporate interactions: my brain was getting annoyed at the person I was talking to, but there wasn’t a damn thing she could do about the situation, and it wasn’t her fault either that the coverage was nonexistent or that the map was lying. (I’m pretty sure at least that I wasn’t an asshole to her, though it was doubtless obvious that I was frustrated.)

 

I spent a week researching options with smaller providers; a couple looked promising but I couldn’t convince myself that they would get me acceptable coverage. And here the peculiar nature of US 3G technology fragmentation bit me, because a lot of the most plausible-looking companies were actually subsidiaries of Sprint, but our phones wouldn’t work there, and part of the point of this exercise was to save money by not replacing phones.

So: back to AT&T. Which has no option for a cheaper rate that doesn’t include subsidized phones, and which had changed their plan structure so I couldn’t get my previous plan back, even setting aside the corporate discount that I was missing. But actually their new family plan wasn’t too bad; and it looked like I should be able to get a good corporate discount through Trinet? So I felt pretty good about switching back to them, and that’s what we did.

Which was definitely the right move: even without the microcell, their coverage at my house is significantly better than T-Mobile’s (I’m probably imagining things, but it seems like it’s actually improved over the last couple of months), and I got the microcell turned back on in short order. Also, T-Mobile’s coverage was noticeably worse than AT&T’s when wandering around town; the difference in quality wasn’t necessarily enough to make me want to pay AT&T’s higher prices if I could have weighed both options, but I was at least getting something for the higher prices.

 

But it turns out that the story didn’t end there, for either company. On the AT&T side: Trinet’s web site claimed that I should get a 15% discount from AT&T, but when I got my first bill, it was more like a 3% discount. Basically, the discount says something about applying to “eligible voice and data plans”, and the way my bill is structured, three quarters of it is a per-phone charge that isn’t eligible under the specific terms of that discount. I’m not sure how much of this is AT&T’s fault and how much is the fault of whoever negotiated / phrased that discount, but either way, it’s left a bad taste in my mouth. (Hmm, I guess I’ll mostly blame AT&T for that: I see phrasing on their web site that says that “For Mobile Share plans, service discount applies only to the monthly service charge for the Mobile Share plan’s data allotment and not on the additional monthly device charge(s).”, so they’ve chosen to structure their plans and discounts in a way as to make the discounts apply to at most a third of the total cost of family plan bills.)

And on the T-Mobile side: I never actually got a bill from them in the mail. (Yes, I’m old-school, my workflow still involves writing checks.) I never intended to sign up for paperless billing; I’m not sure if they signed me up for that unilaterally or if I unintentionally signed up for that myself when I was trying to get them to STOP SENDING ME TEXT MESSAGES EVERY FUCKING MORNING.

At any rate, I never paid the bill online because I still wasn’t sure if a paper bill was going to arrive; but once I switched away, I went to their website so that I could pay off the balance online. But, it turned out, they’d disabled my online account access when I switched phones, even though I had a balance due. Which was annoying, but I called them up and was told I’d get a bill in the mail, so I didn’t worry about it too much.

I did indeed get a bill in the mail over the Thanksgiving weekend. Except that it wasn’t a bill, it was more of a demand letter: as they put it,

Realizing that most often a missed payment is an oversight, this notice is a reminder that your account is now past due. Please mail payment today for the amount due to prevent collection activity on your account.

No, you assholes, it’s not an oversight: you didn’t send me the bill in the first place, you wouldn’t let me pay the god-damn bill on your website, I called anyways to make sure that I’d get a bill, and now you’re blaming me for it being “past due” and threatening collection activity? Fuck you; and fuck you again for calling me up about the bill today even though I put a check in the mail as soon as I got your bill.

 

Sigh. Interactions with corporations are rarely good, but it will be a long time before I want to have anything to do with T-Mobile in particular. They have crap phone service, they lie about what they provide, they don’t care about the fact that they are lying, they don’t have a system set up to allow their (presumably well-meaning) employees to follow up on concerns, they spam you with text messages, and their billing setup is a mess that they’ll blame you for. A win all around; I only hope that increased LTE standardization sets up more possibilities for competition in the US, so I’ll eventually be able to find some company out there that is reasonable…

system shock

November 25th, 2013

I first played System Shock right when it was released: a friend of mine who worked at Looking Glass gave me a copy. And it’s apparently lodged itself in my brain—over the summer, I wandered across some footage of the game, and it all came back, almost two decades later. So I figured I should replay the game, with the tentative plan to move on to its sequel and then the BioShock games.

And I did indeed replay it; I’m glad, and I’m still planning to move on to its sequel once I’ve interposed a game or two. There’s lots to think about: about the game itself, about the game in its original context, about the game as compared to BioShock and modern first-person shooters. Sadly, I’m not really the right person to do any of that justice—its original context was almost two decades ago, I didn’t have an encyclopedic knowledge of comparisons even back then, and I’m even more out-of-touch with the first-person shooter tradition since then! But I haven’t let ignorance stop me in the past, so no point in being bothered by it now, I suppose.

 

Actually, the genre question is one that I’m particularly curious about. The primary genre label that I apply to System Shock is “first-person shooter”, and of course there’s good reason for that: you have a first person point of view, and you shoot things a lot. But it also feels to me completely unsurprising that this game was produced by a studio that had made two Ultima Underworld games before this one: I haven’t played those games, but I’ve played earlier Ultima games, and to me the lineage seems to come through.

Just the fact that you can click on everything in the environment (not just things that we conventionally think of as items, but even wall paneling and lighting) foregrounds the environment in a way that I think of as more part of the adventure / role-playing game tradition than as part of the first-person shooter tradition. And the maps themselves are unlike those in any other FPS that came to mind: I spent a lot of time in my early Apple 2 gaming days drawing maps on graph paper for adventure / role-playing games (the Ultima series, Wizardry; Etrian Odyssey is the recent series that best holds up that tradition), and System Shock‘s maps fit on graph paper as well as any of those games’ do. (Well, apart from the occasional corridors that pass over/under each other.)

This is very unusual in the corridor-based modern FPS (at least that’s how I think of modern FPSes, I don’t play them that much), but it was unusual back then, too: I thought that, perhaps, it was natural that a game set in a space station would have dense maps, but the same argument would hold for Marathon, and if you look at that game’s maps, you’ll see a decent amount of blank space. So I’ll stick by my claim that System Shock comes out of a tradition of designing levels on graph paper and populating rooms with objects in a way that’s foreign to not only the modern FPS but the FPS of the time. And there are other nods to an adventure game context: the amount of status / item information that surrounds your view in the default view, the mild leveling up and non-ammo item management that the game gives you.

 

Of course, “FPS of the time” is a strange phrase indeed: System Shock was released in 1994, while Doom had only come out a year earlier, in 1993. Pulling some other early FPSes out of my experience, Marathon also came out in 1994, and Dark Forces came out in 1995. So certainly the idea of the first-person shooter was in the air, and in the air well enough that excellent games were appearing, but the genre conventions were still being formed. (If I’m recalling correctly, I largely played through those games with keyboard controls; I used the mouse some on this playthrough of System Shock, but the keyboard side of the controls had not yet standardized to its default arrangement, as I was reminded every month during our VGHVI Minecraft sessions.)

And I suspect that System Shock mixed genres to an abnormal extent even given the context: there’s the whole cyberspace mode with its 3-D navigation, after all. Or, for that matter, the horror aspects of the game; admittedly, I’m a very risk-adverse game player in general, so whenever I play an FPS, I’m always scared of what’s going to be around the next corner. But, even recognizing that: I’m wandering around a space station where all other humans are getting killed off, never knowing if I’m going to run into a mutant (perhaps even an invisible one) or a robot controlled by a psychotic AI. So certainly there’s more than a tinge of horror there, it’s not purely my reaction.

Actually, this game dealt with my reaction to risk and scarcity in an interesting way. I’d completely forgotten one of the things that System Shock and BioShock had in common, namely their revival chambers. But the two games handle those chambers differently: in BioShock, they’re always active, whereas each level of System Shock has one that you have to flip a switch to activate. (Or, technically, flip a switch to turn its brainwashing function off: the minions are smart enough to bring you to the chamber whenever you die but too stupid to make sure that a switch on the wall is in the correct position after they do that, it seems.) So that meant that each level came in two halves for me: for the first part of the level, I was creeping around every corner, reloading whenever I’d gotten too hurt or used ammo too inefficiently, trying to preserve my resources. (Which weren’t actually particularly scarce, at least on the difficulty level that I was playing at: that’s just my brain behaving oddly. Or at least they weren’t particularly scare aside from the third level: if you’re thinking of playing the game yourself, on the third level go left and then take the first door on the left and go up the ladder to find the laser rapier, it’ll make you much happier if you’re anything like me.) But then, once I’d found the cyborg conversion chamber, I could relax a bit: there’s nothing particularly wrong with wandering into battles with a hand-to-hand weapon, maybe dying, and getting revived. So, while I won’t say I really enjoyed wondering what was around every corner before I flipped that switch, the difference in texture was interesting, and all things being equal it’s probably just as well that there were consequences for mistakes some of the time in each level?

 

I dunno; I’m kind of babbling, talking around this game because I’m having a hard time coming to grips with it. And I haven’t even talked about the story at all: either the plot itself or the way so much of it is conveyed through audio logs. (Which is old hat these days, of course, but the most prominent recent example of that technique, BioShock, can trace that use directly back to System Shock.) Or, for that matter, there’s probably something interesting to be said about the audio logs in System Shock versus the terminals in Marathon: I guess that’s the way you tell a story involving spaceships and crazy AI’s given the technology available in 1994?

Or rather, you apparently tell a story by combining that with a lot of shooting. Still, though, I do think way System Shock takes care to put together its environments and to tell a story through the audio logs is something special. (And I suppose I’ll insert an obligatory Shenmue reference here, given how wonderfully that game constructed its environments.) But this weekend I also played Gone Home, which has a direct lineage back to System Shock via BioShock: that game also constructs its environments with care, indeed with obvious love (but with less graph paper!), and it also moves along the story with audio logs.

And not once when playing Gone Home did I wish that I were shooting at somebody, or even beating up somebody with a lead pipe. I should probably save more of that discussion for a post on that game instead of this one, and I certainly should acknowledge that System Shock is telling a story in which violence does fit. (Though both games also have their horror nods.) Looking back to the mixture of genres that are present in System Shock, though: I’d like to see experiments with different weightings of those genres / themes / techniques.

A great game, at any rate, and one I’m glad to have replayed.

naya’s quest

November 17th, 2013

I don’t normally write about Flash games, but Naya’s Quest (here’s the direct link) seem substantial enough to qualify. Plus, it’s by Terry Cavanagh.

Not that I have much to say about it. It’s a puzzle game, with a pretty interesting idea: that if you do 3-D tiles with the right fixed perspective, then tiles at different heights / coordinates look identical. So the game confuses you with that, and gives you an alternate view with partial information to help you figure out what’s going on.

Pretty interesting; I enjoyed playing through a couple dozen or so levels? And then, just as the game was starting to feel routine, it switched to variants of the basic idea, one variant per level, all of which were also pleasant.

Glad I played it; I like puzzle games, this was a good and different one. It has the feel of a prototype, I’ll be happy to give it another spin if it gets fleshed out more.

love hurts

November 14th, 2013

Just to preempt confusion: this blog post is about the song Love Hurts (by Incubus), as experienced through Rocksmith, it is not about any non-musical personal experience! So, if you’re a friend of mine, no need to worry: I won’t take a stand on to what extent love can be a painful experience, but I assure you, Liesl and I are doing just grand.

With that clarification out of the way: Love Hurts has turned out to be the single most interesting song for me to learn via Rocksmith. This is partly because of characteristics of the song itself, but partly because of the way its complexity gradually unfolds as the game gives you more and more notes.

On first encounter, the game presented the song to me as relatively uncomplicated, albeit in a somewhat unusual way: much more melodic than what I’m used to, with very little differentiation in that regard between the solo and the rest of the song. And yes, there are chords, but they’re sprinkled in, rather than having blocks of repeated chords.

At least that was how Rocksmith initially presented the song to me; as it threw in more notes, the number of chords (unsurprisingly) increased. But they still weren’t blocks of chords: they gave the song somewhat of a feel of two-part harmony, in fact. Which I’m used to when finger-picking other styles of music, but not when playing rock music with a pick.

And, beyond that, the specific chords were not at all what I expected. They were two note chords; but what that means most of the time in rock music is open fifths, and occasionally you’ll skip a string (muting the string in the middle) to get an octave. Here, though, the song had me skipping and muting two strings (playing either the 5th/7th or 3rd/5th frets on the A/B strings), making a major tenth.

That was interesting enough: I’ve never had to do that before. But then the game started to throw in still more notes, and the textures increased. On some of the phrases, they’d fill in the intermediate notes, turning it into a barred A chord. And sometimes the G string was left unmuted and open. (With the D string still muted.) This only happened when combined with the 3rd/5th frets (it would sound bad with the 5th/7th frets), turning the chord into C + G + E. That is, of course, just a C major chord, but it’s airier than I’m used to on the guitar, the standard way you learn to play a C major chord has those same three notes but sticks in another E (between the C and the G) and another C (between the G and the E), a much more solid sound.

This showcases a way in which guitar is different from other instruments that I’ve played: the string arrangements means that you have opportunities to sporadically change up your chords by letting open strings ring out in certain contexts. And the details of the chords matters when you do that: move your hand up or down a fret and that open string suddenly becomes dissonant. (And of course the guitar also lets you go in a completely different direction: with barre chords, you can shift up and down frets all you want!) Love Hurts in particular seems to go out of its way to pair open strings with high frets on nearby strings, and also to leave more space in the chords: as Rocksmith filled in more notes in the song, I started running into minor tenths formed by an open A plus a tenth fret on the D string.

I still can’t play the song well enough that the game gives me all the notes; I’m working at it every week, though, so I’m sure that will come. So who knows, maybe the song has more surprises in store for me? I will also say: I wasn’t at all familiar with Incubus before playing Rocksmith, but I’m (obviously) really glad I downloaded this song, and I also thought Anna Molly was great, albeit in a fashion that I’m somewhat more used to. I should probably listen to more of their stuff, though honestly I’m not sure that they’re going to turn into one of my favorite bands to listen to from the point of view of enjoying their songs as a whole; but as guitar parts their songs are great to both listen to and play while being quite instructive. And it brings out the best in Rocksmith‘s approach of gradually feeding you more and more notes.

digital: a love story

November 5th, 2013

I wish I hadn’t waited a month after finishing Digital: A Love Story before writing about it: I don’t think I had a lot to say about it when I finished it, but I had something to say about it then, or at least I had something to say in/after the VGHVI Symposium on the game that Dan led?

I guess what I remember is my uncertainty of how to approach the game. I see a choice of people with whom to exchange messages, and one sequence of those message involves increasing emotional closeness. And I that (or that plus my past history) put me in a BioWare state of mind, expecting some sort of romantic choice to unfold?

Which isn’t entirely crazy: the game’s subtitle is “A Love Story”, after all. But it’s a different sort of love story than I’m used to in games; a quieter one, certainly.

And one that, refreshingly, isn’t about love as conquest. In a major sense, the game isn’t even about you at all. (It just ain’t your story?) On which note, the picture the game draws of the player character is quite unusual: you don’t see the messages you send, you just see how other people react to them. So it’s a sort of picture drawn in negative space, in a negative space formed by subjective and situated reactions. A game that, in its own idiosyncratic way, goes farther towards defining you in terms of your relations than any other art work I can think of?

puzzling interfaces

November 3rd, 2013

I was looking recently to see if Nikoli had put out any more iOS versions of their puzzles; they hadn’t, but I saw several apps from Conceptis, and I have a lot of respect for them as well. So I downloaded a bunch of those and started giving them a try. Which I’m very glad I did; if you’re a puzzle person, I highly recommend them! It was interesting seeing how they grappled with user interface issues, though.

I started with Slitherlink, because that’s my single favorite puzzle type. Good app, very good puzzles, the hard ones really aren’t joking around. Right from the start, though, the interface is slightly unexpected (I wasn’t the only person surprised by it, Miranda was as well): sometimes tapping on a line cycles between filled in / crossed out / blank, but sometimes it doesn’t. After a bit of experimentation: if the line is next to a vertex with either two lines into it already or with at least three blank spaces, then tapping on the line goes straight to crossed out. Which, on the one hand, makes sense—the line can’t ever be filled in in that situation. But, on the other hand, it both makes the reaction of the game to your taps a little unpredictable at the start; and why stop there with the filling in, why not take numbers into account as well?

And then I noticed a setting which goes even farther in that direction: if that setting is turned on, the game will proactively cross out lines where the normal mode would not allow you to draw a line. (And those crosses will cascade if appropriate, too.) Which makes me wonder: what’s the limit of tool assist modes in puzzles, given that the goal of the puzzle is for the player to feel like they’re figuring something out? Conceptis made an interesting choice here: my guess is that, if they took numbers into account as well, it would feel like the game was doing a bit too much work for you, at least on the easy and medium difficulty puzzles.

Having said that, I really like having the tool exist as implemented: it makes the medium puzzles pleasantly soothing, and the hard puzzles are still quite difficult (taking 25 minutes on a large one is pretty normal), with me feeling that I’m spending time thinking instead of doing grunt work. In fact, I’d like a little more tool assistance there—I still spend a fair amount of time filling in stuff that’s routine, I’d like to move beyond that.

I’ve wondered for a while what a version of Slitherlink would be like that let you prove theorems and then that let you apply them, or even applied them automatically for you. My guess is that it wouldn’t be super fun, but who knows; and maybe it would be fun if the puzzles got hard / large enough? Dunno, maybe I’ll give it a try the next time I feel like taking on a decent sized programming project.

 

Of course, Slitherlink isn’t the only Conceptis game I tried. Their implementations of Nurikabe and Hashi are quite solid as well, albeit without such interface subtleties. More interesting from an interface point of view are their “Pix” games: Pic-a-Pix, Link-a-Pix, and Fill-a-Pix. These all have you moving around a grid manipulating squares; and, in all three games, instead of just being able to tap on a square to do something to it (basically, mark it as filled in / known blank / unknown), you slide a cursor around and then tap anywhere on the screen to change the state of whatever square is under the cursor.

This was super annoying at first. (And again, not just me: Liesl felt the same way.) But I got a lot more sympathetic to it after a little while: at the same time, I was playing Paint it Back, which has the same rules as Pic-a-Pix or Picross. And it was a charming game, but the puzzles were all straightforward; maybe the game wasn’t trying very hard, but maybe that was because the game wasn’t willing to show me a puzzle larger than 20×20 on a single screen?

I haven’t gone through the larger Pic-a-Pix puzzles in game yet, but even the free pack goes up to 50×35; taking a look at that one, it definitely would not work with direct tapping. So if the tradeoff is between good puzzles and a direct manipulation interface, I’ll take the former all the time. Though, thinking back, Picross DS didn’t force that choice on me; I guess the D-pad really helped there? Looking at the puzzles, though, that game only went up to 25×20, which I think is probably manageable with direct manipulation on an iPad, I guess the Paint it Back folks just didn’t do a good job of puzzle design.

The other point of comparison here is Piczle Lines, which has the same rules as Link-a-Pix. That one managed fine with direct manipulation; yes, you had to shrink and enlarge the screen some of the time, but that was okay. So maybe the Conceptis folks should have given that as an option? That might not work for Pic-a-Pix/Picross, though, because that puzzle type requires more global information.

Anyways: if you don’t see me blogging much these days, you can blame it on the fact that these games are so good and so easy to pick up in random moments of my time. (Some interesting different modes, too—I think I might end up liking the color version of Pic-a-Pix more than the standard version.) I suspect I’m going to have spent quite a lot of money on puzzle packs by the time this is all said and done; and it will totally have been worth it.

rocksmith 2014 first impressions

October 29th, 2013

I’ve had a weekend with Rocksmith 2014 now; and my initial take is that it’s subtly better than its predecessor in a few interesting ways.

I spent most of my time in the original game going through the Events that it gives you: a collection of songs each of which has a target score, so you first have to reach the scores (or fail enough that the game takes pity on you) on the individual songs, and then play through them all at once. (And then be surprised with a song in Master mode, at which point I generally flailed.) It seemed from the previews that Events weren’t there in the sequel, which I was a little worried about; it turns out, though, that most of the components of that mode are there, they’re just rethought and recombined in ways that work better.

 

If you’re in the mood to have the game give you a song to work on, that’s there: you can sort the songs in ‘Recommended’ order and pick the one on the top of the list. This gives you the external recommendation benefits of the first games’ Events, without tying it to a score: that both removes the frustration of not succeeding at reaching that score on a song you don’t enjoy and the subtle nudge of saying you can move on once you’ve reached that score. The game still gives you quiet recommendations about goals to work on (in a range of areas: sometimes it’s a percent correct, sometimes it suggests that you try a section in Riff Repeater mode, etc.), but there are multiple recommendations involving distinct ways in which to work, and it’s much easier to take them or leave those goal recommendations.

What this means in practice is that, over the weekend, I often ended up spending more time on individual songs: I’ll play through it as long as I feel like I’m in the mood to learn from it. I’m still learning the basics of the new songs in the game, so I’m not focusing on individual sections much yet; I hope that I’ll spend more time on sections as I learn the songs better. Of course, the original game was also hampered in that regard by a bug that would cause the game to occasionally lock up when you repeat a song; that had me popping out to the main menu by default, at which point I’d lose easy access to that song once I met the score goal.

On that topic, one thing that it took me a little while to notice: the scores are actually completely absent in Rocksmith 2014. Or at least almost completely absent: there’s a percentage that I believe/hope is a straightforward reporting of what percentage of the notes in the full version of the song you hit. (The score that the original game gave you, while normalized to some extent, was a lot more variable.) And you only see that percentage at the end of your playthrough: there’s no non-musical goal distracting you during your play, and there certainly aren’t numerical bonuses printed out when you get a long sustain or something. Rocksmith already had a big advantage over Rock Band 3 in this regard; it’s nice to see the game go further away from the genre’s arcade button pressing extrinsic motivator history and deeper into a focus on learning. (Though, if you really like scores, there is a “Score Attack” mode, but it’s located where it belongs: in the arcade games, not in the main learning tool.)

The other nice thing about Events in the original game was just playing a bunch of songs. And Rocksmith 2014 has that, too: if you just want to play guitar for a while, there’s a “Nonstop Play” mode. You tell the game how long you want to play, and it will throw songs at you until you reach the time limit. (And it will let you continue past that, if you want!) Also, while the game will do the choosing, it’s easy enough to skip a given song if you’re not in the mood: I did that a few times over the weekend when I didn’t feel like changing the guitar’s tuning for a specific song. Great for just relaxing and enjoying music.

 

So those are the replacements for Events: more of a focus on learning and on music, less of a focus on scores. And this change in focus seems to be showing up in other places, too. I suspect that Riff Repeater mode is going to be noticeably (though probably not dramatically) more helpful, and the game has expanded the range of techniques that it teaches you. My favorite of those new techniques, actually, is one of the simpler ones, namely vibrato. I believe (I haven’t verified this) that the game doesn’t try to judge whether you’re actually doing vibrato (vibrating?) when it tells you, but that doesn’t matter: I really appreciate having both a nudge that it’s something that I should work on and suggestions for when to apply it. With that, my ears can do the rest; I’ll experiment with my technique, with using more or less vibrato, and I’ll see what I like listening to and what feels right with my hands. And quite possibly I’ll end up using vibrato in a different set of scenarios than the game suggests. But I probably wouldn’t be doing it at all without a nudge from the game; yay for the suggestion.

There’s also a Session Mode for when you just want to experiment musically: you can improvise, and it apparently gives you a virtual band to play with that react to what you’re doing. I haven’t tried it at all, so I have no idea how well that works, but if it works at all, it would be pretty cool; and it would be useful to me, given that my nature has me sticking too closely to music as written instead of just messing around. (And given that I’m unlikely to make time regularly to play with friends.)

The game also supports a wider range of tunings: the tuning screen probably has a dozen options to choose from. I don’t know which of those are yet represented by songs in the game, so that may just be there as option value for DLC (can we have The Only Exception, please?) or for support when playing on your own, but I have noticed one thing: there are multiple songs on the disc that are in “standard” tunings but with the E noticeably off. (E.g. You Really Got Me.) Which, on the one hand, is a little frustrating, since it means you have to retune the whole guitar; but, without that, that song wouldn’t be available at all! So yeah, certainly the capability to support more tunings, including more values of A is good; and, while I’m not excited about retuning my guitar a lot, I like You Really Got Me enough that, on the balance, I’m glad it’s there.

There’s apparently a new version of Master Mode; I haven’t run into that yet. I’m optimistic that it will be significantly better than the original Master Mode, and the simple fact of not having it as a gating factor for Event encores will certainly be an improvement, but we’ll see how it works in practice beyond that.

 

Not much to complain about so far, but there are a few things. The main one is that the game has hung on me twice so far; the original game did that way too much, I’m not at all thrilled to see that still present. (And these hangs are hanging the whole system, not just the game; which seems like an OS flaw to me, but still.) Navigating songs is much much easier but still not quite easy enough: e.g. there’s no way to jump to a specific letter, and with two discs of songs plus a lot of DLC, I have more than enough music that that would be welcome.

And then there’s tuning. It’s nice to only have to tune once, and it’s nice that the tuning is more precise. But there’s something weird going on where I’m either find it hard to get in tune according to the game or where my guitar sounds off after I’ve tuned it. Honestly, though, it seems unlikely that that’s the game’s fault, so I assume it’s something with my guitar; I never got it set up properly, the G string has always sounded off to me, and the current set of strings have been on there for a while. So I think it’s time to finally get the guitar set up; we’ll see if a professional set of ears notices anything, and I expect the guitar will be subtly better after that. This means that I’ll be guitarless for at least parts of one weekend, but we’ll be out of the house some on upcoming weekends, so now is as good a time as any.

the moirin trilogy

October 16th, 2013

The last time I read Kushiel’s Legacy, only the first two trilogies had been published. Since then, there’s been a third trilogy, and I wasn’t optimistic about it: I’ve read way too many fantasy or SF series that go off the rails as they get extended, so it’s time for that series to lose its spark, and the reviews on Amazon seemed to agree with that. Still, I thought the first trilogy was amazing, and the second trilogy can be powerful in its own way as well, so I figured I should continue on to the third trilogy this time through the series.

And I’m glad I did! There’s certainly some of the “playing out more of the same ideas” feeling (where haven’t we gone yet? Hmm, I guess we’ll do Asia and the Americas this time), but the trilogy is actually rather thoughtful about the question of how to avoid feeling numb about repeating the same old heroism over and over again. It puts that question front and center: Terre d’Ange is rather more settled a few generations later, and the country as a whole (or at least people close to the political center) are feeling like they want more opportunities for heroism. In a lot of series, this setting would turn into an external threat attacking a country that isn’t prepared for it, with unexpected heroism saving the day; instead, the people in this trilogy who want to do something more end up causing trouble, trouble for themselves and trouble for others. (But not really existential trouble for the nation; the threats are lower-key than that.) Moirin and those close to her certainly do more than their fair share of heroic deeds, but there’s not the same savior complex, and to the extent that they are saving countries they’re nudging the people living into those countries back onto how they would like to behave anyways. (Well, mostly; how they would like to behave combined with modern liberal sensibilities.)

 

Other than that, the part of the series that stuck out the most to me was the second book, specifically its portrait of Christianity. It’s a much more direct, pointed attack on an aspect of modern life than we normally see in the series. Which isn’t to say that the series as a whole is so dramatically anti-Christian: the middle book of the previous trilogy presents a duel between two views of what Christianity could mean, both of which are presented as significantly different from worship of Elua (let alone of Naamah) but one of which is very much crafted with love and as a vision of love. But, in the time and area where Naamah’s Curse is written, that vision of love is on the run, replaced by one that’s much more oppressive, with authoritarian misogyny cloaked in language of spiritual growth. (The Kushiel series as a whole makes an interesting counterpart to another book I’m reading now, From a Broken Web; Joan, the next time you’re looking for something to read, you could do a lot worse than giving this series a try.)

Authoritarian misogyny is, of course, awful; but beneath that, there’s a whole denying of physicality, denial of the body in Christianity, which that volume presents. I was probably relatively sympathetic to that when I was younger, but I’m a lot less sympathetic now: as focused as I am on matters of the mind, my body is a big part of who I am. And that includes my mind’s reactions to my body.

Of course, sex isn’t just about bodies: it’s about emotions, it’s about pleasure, it’s about connection. None of which Christianity is great with: it’ll accept all of those, but only on narrowly prescribed turns. Yes, sex can lead to places that are at tension with spiritual growth; the answer to that isn’t to deny it, the answer to that is to figure out how to get that tension going somewhere productive. (If it’s a source of tension that’s relevant to you; if you’re not into sex or spiritual growth, I certainly wouldn’t mark that against you in any way!)

It’s not like that distaste for sex, bodies, and pleasure is unique to Christianity, of course: I have shelf after shelf of Buddhist books upstairs, but the older I get the less patience I have with “all life is suffering” as well. Life isn’t something to be gotten beyond, life (even including suffering) is something to learn from and to embrace, and there’s an awful lot we can do to try to reduce suffering on earth.

 

Which reminds me of the vinegar tasters; returning to the Moirin trilogy, I guess Master Lo Feng is a sort of Taoist wise man? That’s a message I’m happy enough to accept; probably time for me to dive back into it.

benefit zero of retrospectives

October 12th, 2013

Over the last couple of years, I’ve started to appreciate retrospectives in a way that I hadn’t before: I’d felt for a while that they made sense intellectually, but I was never actually good at them. And, while that hasn’t particularly changed (fortunately, other people on teams I’ve been on are better at them!), I have now seen several instances where I’ve felt like they’ve had concrete benefits and where I could see the seeds of a rhythm developing.

So that’s great! And I’ve also learned something about retrospectives in the process. I’d always thought of the main benefit of retrospectives being that it helps you improve your process. But there’s another benefit beyond that: the fact that you’re doing retrospectives means that you have a process.

I mean, you can do retrospectives without writing down every aspect of your process. But the fact that you’re talking about some aspect of what your team is doing means that, in that area, you have a process. Which is good, irrespective of the benefits of tuning the process! Or at least it can be good: a bad process is probably worse than no process, but neither of those options is a place where I personally would want to be.

Thinking about it a bit more, there’s another benefit lurking in the assumptions that are prerequisites for a retrospective: the fact that you have a team at all, and that the team members’ thoughts are all worth listening to.