I'm also not going to write more about that, because it is actually
complicated, in a way that takes skilled journalists and writers and
editors providing them with sufficient resources (& that last bit
is the missing part now) to sort out. I'm not that.
Instead I am going to write about the bullshit most men get away with
when things like this happen. That's something I am familiar with,
because it's how I spent much of my life.
Plenty of mainstream male press and developers publicly lament the
harassment and other toxicity associated with GamerGate. But their
lamentation is quiet, and out of the way (mostly on Twitter, not on
their sites or their games), and above all irrelevant to what they're
doing with the rest of their life.
You know, as awful all this harassment has been, it’s pretty cool to see basically 100% of devs standing up for feminism.
What exactly "standing up for feminism" is can be debated but it's
surely not accusing
a woman of lying about sexual assault because your friend is too
"nice" to have done it. Rather the opposite - a key idea in most
feminisms is that we currently live in a culture which lets misogyny
run rampant even among "nice" people. (And no, it's not even close to
100% - plenty of people posting earnestly in the hashtag, and even
more straddling the fence of false equivalency, are developers.)
If you are of the mind that any of this is in any way okay or permissable, please never come to Giant Bomb ever fucking again. EVER.
It's hard to take pushback like that seriously when he runs an
all-dude site. It's harder to take it seriously when
he passed over several excellent women
to hire a guy who doesn't know what Dungeons & Dragons is. The
vitriol of GamerGate's sexism is more visible, but overall less
damaging, than the structural sexism he's perpetuating.
"can't things just stay the same?" guess what? things are shitty for a lot of people and they are not going to sit for it. rightly so.
Their outrage may not be fake, but their commitment sure seems to be.
This change doesn't magically happen, it happens because people in
influential positions make material and structural changes to their
real life and environment. Fuck petitions. Put women and minorities in
your games. Don't buy, don't praise, don't talk uncritically about
games that can't even get basic humanity right. Don't make vague
statements like "everyone should be nice" when your buddy used a slur
and didn't like the tone of the person telling them to stop. Fire your
friends and hire some women. (I'd say "be friends with women" but I'm
not sure how many men are ready for that yet.)
Most men find it difficult to be patriarchs. Most men are disturbed
by hatred and fear of women, by male violence against women, even
the men who perpetuate this violence. But they fear letting go of
the benefits. They are not certain what will happen to the world
they know most intimately if patriarchy changes. So they find it
easier to passively support male domination even when they know in
their minds and hearts that it is wrong.
bell hooks, Feminism is for Everybody
In one way the misogynists behind GamerGate have a better grasp of
feminism than "most men" mounting a weak defense of it: They
understand that feminism does involve discomfort as men lose
something. That "something" is hard to see, and much of the
ground-work of feminism is trying to identify and describe it. It's
the combination of assumption and complacency and situatedness and
expectation usually wrapped up the terms "privilege" and "patriarchy."
It's something men should not have because it comes from the
exploitation of women. But we do have it, and it does no good to be
upset about misogyny without being willing to actively work against
it.
I try not to talk about how great a feminist I am, because I'm often
not. (Even this essay is too grounded in the one emotion made
comfortable to me by hegemonic masculinity, anger.) But I have walked
away from friendships and job opportunities and communities because I
refused to work with bigots and the people who defend them, explicitly
or tacitly. That doesn't make me great, because that 'sacrifice' is
the baseline, not the brass ring, for male feminism. And yes it hurts.
It's stressful. It sucks.
But it also sucks a lot less when other people, other cisgender white
men, make those same sacrifices. And as much as it sucks for us, it
sucks even more for all the people who can't walk away because they
were never invited inside to begin with.
Our medium and the culture surrounding it is still in its
adolescence and we’ve been experiencing a lot of growing pains
lately. Those of us in the games community who are a part of
marginalized groups have been going through hell lately. You can help
us. You can do more than just express sympathy.
"The arc of the moral universe is long, but it bends toward
justice." You have a chance, right now, to shorten that arc. You are
in positions of power and privilege. You have the luxury of being
able to effect change at a level that we can only dream about.
What men in those positions need to understand is that this doesn't
end when GamerGate is "over." It's not like Adam Baldwin or Milo
Yiannopoulos or even Davis Aurini are going to suffer from this
altercation at all. We don't "win" when this group of jackasses
inevitably gets bored and moves on. They have already caused emotional
distress; financial issues; driven some people out entirely; they have
already won this round. Our chance to win starts when things like
GamerGate stop happening because we refuse to countenance them in the
first place. We don't win until we see equitable treatment inside
games and outside in the communities that make and talk about them
— and even that is a state we'll need to work to maintain, not a
fixed point.
So I'm past the point I can tolerate those who aren't putting their
hand-wringing into daily practice. You are as harmful and reactionary,
in your own ways, as the loudest elements of GamerGate. And unlike
them — and me — some of you have enough power in the
community to speak loudly, clearly, and effect immediate and long-term
positive change. But you're not, and you haven't been, and yet you
still want to act like you're somehow separate from this.
Fuck you guys.
If you don't see the relation to the way "gamers" treat the women on the web and OUR content in games, you are engaging in willful delusion
The original RoboCop by Paul Verhoeven and Edward Neumeier is a
great film. It is about a robot police officer, but it's also about a
city ruined by privatization and corporate malfeasance. The police
officer - an object both human and a public resource - is literally
ripped apart and put back together as neither. His new form is
optimized for capital and private military-industrial ends. It
succeeds as action, body horror, dark comedy, and allegory.
The new version is awful. To begin, RoboCop somehow suffers
fourth-degree burns everywhere but his ruggedly handsome face. The
original RoboCop was disquieting even in full gear and hideous
without. This is RoboCop, Designed in Cupertino and Assembled in
China.1 Usually he just looks like a guy in a suit; even
disassembled his viscera remain safe (not from medical complications,
but from us having to confront them) behind spotless Gorilla
Glass. The closest it gets to frightening is a subplot about free will
and determinism which is completely ignored during the second half -
maybe for the better, because it's introduced in a way that could only
lead to pop cogsci retreads of "what is free will anyway?"
Beyond the visual design, though - the original was a story of
systems, specifically capital forcing its way into civic law
enforcement. RoboCop was the narrative focus, but he wasn't a
character so much as the battleground. In the new film, RoboCop is
brought back with his humanity fully intact, only to have it stripped,
then magically regained. The focus is on him as a (frankly boring)
person. It's framed like a story of a disabled person overcoming
adversity, except even his "disability" only lasts for a short time,
and he's still super-strong and super-fast. If you want a film where
a superhero grapples with mundane personal demons his superpowers
cannot solve, Iron Man 3 covers much more ground.
The personal focus loses the transhumanist aspect as well. At the end
of the original film it's difficult describing RoboCop as human, as it
is saying he's an unfeeling machine. That RoboCop recovers autonomy
and purpose, but never humanity. The new one is a human with
expensive prostheses.
And whatever this film is trying to say about militarism, colonialism,
or law enforcement, it says too little, or too late, or both.
America already uses drones to terrorize civilians - that they're
not human-shaped doesn't matter or is even an "advantage" - and
civilian law enforcement is already buying them for domestic use.
A speculative dystopian future could stand as its own commentary, but
a slightly-tweaked view of our current policy needs some push-back to
be considered critical rather than dangerously complacent.
The short version is, here's the smartest scene in it. It lasts a few
seconds and it's the only thing in a nearly two hour film that has the
zing of the original - "he said, she said" journalism; the subtle
complacency of popular science and scientism in supporting American
neo-conservatism; the fact our civic choices are often between an
ineffectual and ironic centralized populism versus a rich man who
might let us borrow his toys.
Literally, he wakes up in a Foxconn-esque factory. ↩
But let's say you are foolishly trying to write a cross-platform
application, yet intelligently want to automate creating most of these
from source data.
A reasonable "source data" for icons is a directory full of
PNGs.1 Apple uses a format called .iconset for this, with filenames
like example.iconset/icon_64x64.png. Since it's just a directory of
images, it'll serve for making Windows/website icons as well, and
GNU/Linux build scripts can copy files out of it directly.
To convert this to the desired formats, you'll need GraphicsMagick,
and either build on a Mac OS X system or install libicns.
First, the ICONUTIL assignment figures out whether you've got the
genuine iconutil from Mac OS X, or the compatible icnsutil from
libicns. If you don't have either, it picks iconutil so you get a
sensible error.
Second, it uses GNU Make's secondary expansion feature. This
specifies a wildcard dependent on the pattern and target name when
generating the list of source names.
Third, it depends on the source directory. This is uncommon in
Makefiles because directories update when contained files are added or
deleted, not when files are modified. The modification case is covered
with the .SECONDEXPANSION trick but we also need to handle the
case where an icon size was removed, because the target files need to
be rebuilt without the removed file.
Finally, please note the slightly different glob patterns. .icns
files support high-DPI ("Retina") icons using the format
icon_WxH@2.png - so icon_16x16@2.png is actually 32 pixels on each
side. .ico files, as far as I can determine, have no such feature;
they will use the 32x32 icon instead. So @2x files should not
be included when building the .ico.
Assigning a .ico to a .exe
I've not found a good cross-platform tool for doing this.
GitHub's Atom project has produced a Windows tool called rcedit
(compiled binary here) which does nothing but poke icons and
version numbers into Windows executables. Because it is so minimal it
runs perfectly in Wine, and it has an MIT-style license.
Mac OS X .app files are directories. The usual place to put an
icon would be Contents/Resources/Icon.icns, and you may simply need to
copy it over the file already there.
If you're building the package from scratch, you'll need to create the
Info.plist file referencing the icon in the first place. This can be
done on any platform with Python's plistlib.
Another reasonable source format is one or multiple
SVGs. Turning an SVG into a directory of PNGs is left as an exercise
for the reader. ↩
[Is Big Data] necessary? A member of the French Academy, writing in
Le Monde, said that it was inevitable, it had to appear. This
civilization of ours, he wrote, which measures everything, counts
everything, evaluates everything, weighs everything, which breaks
every commandment and prohibition, desires to know all. But the more
populous it becomes, the less intelligible it is to itself. It
throws itself with the most fury at whatever continues to resist
it. There was nothing strange, therefore, in its wanting to have its
own portrait, a faithful portrait, such as never existed, and an
objective one – objectivity being the order of the day. So in the
cause of modern technology it took a photograph like those done with
a reporter's flash camera: without touch-ups.
... I would substitute for it another, more modest question: Does
[data science] truly show all of humanity? The statistical tables are a
keyhole, and the reader, a Peeping Tom, spies on the huge naked body
of humanity busy about its everyday affairs. But through a keyhole
not everything can be seen at once. More important, perhaps, is the
fact that the observer stands eye to eye, as it were, not merely
with his own species but with its fate.
How fast is PDF.js? purports to tell you how fast Mozilla's PDF
renderer, PDF.js, is - and therefore presumably also why Opera will be
choosing it. What it actually tells me is that someone thinks it's
important to get an "Opera and Mozilla, open web together!" puff piece
on a Mozilla development blog.
Let's say you're a software engineer from San Francisco visiting
Berlin. You're hungry, and stop to grab lunch. Berlin's street
specialty is currywurst, which they're offering with fries and a
drink for €7. Is that a good deal? How can you tell?
Opera and Mozilla say, look at the other items on the menu. If you see
a €10 kebab - well, that's more expensive, so €7 must be a good
deal. Maybe do a quick conversion in your head - that's about $10,
which compares to ever-gentrifying SoMa prices, and you were told to
expect things being a bit more expensive in Europe anyway.
How cheap is this restaurant? Well, 80% of its menu items cost less
than what's in my wallet, which is cheaper than the other 20%.
Of course you don't do that. You check the prices at the place next
door, and see that things should cost at least 30% less. You'd be a
sucker to buy lunch at the first place!
You can't benchmark something against itself. The post describes
largely unspecified PDFs (guessing a target of "about 4x as bad as
this one PDF is OK" as if the measurement were linearizable to begin
with), on an unspecified machine, with no points of comparison with
the half dozen other PDF readers doing the same thing. Then shows
off a graph that doesn't tell me anything beyond the complexity of
PDFs approximate a Zipfian distribution, which, no shit.1
How fast is PDF.js? Well, 80% of the time, it's not terrible, which
is faster than PDF.js the other 20% of the time.
This answer is great if you're trying to befuddle Opera users into not
worrying about their new PDF reader, developers into not worrying
about platform consolidation and ever-taller stacks of leaky
abstractions, investors into remembering Opera exists at all.
But how much of my phone's battery (née milliliters of dead dinosaur
and cm³ of greenhouse gasses) does it take to render it? How many
weeks/months/years of median salary does it take to afford a computing
system that lets me read it "fast enough"? How far can we lower those
numbers? These are the kind of questions you need to answer if you
want to show you care about high-quality software for sustainable and
broadly-available computing.2 To answer them, you need to do actual
benchmarks. In the absolute, and relative to other software, but never
against yourself - after all, you're cheating.
I'm not saying PDF.js is too slow. It feels slower than
other readers to me, but all that means is that someone should run
a benchmark. A real benchmark. ↩
Or in the rhetoric of Mozilla, which obfuscates the actual
concerns so they feel good publishing worthless articles, "the open
web." ↩
I came out of the protein vats right before wave 8. Back then we were
still counting. We had just discovered the first monolith and needed
as many hands as possible: to run the generators, to decipher the
ancient messages, to guard the path to the slab itself... And to run
the kitchens. That was my job.
Up into the early 'teens it was a good deal. Central Planning had the
foresight to make it a short walk. I'd fill up a bag of vege-goo and
drag it across the hall to the kitchen. By the time I got there the
last bag I dropped off would be fully processed into a chem-cake.
Sometimes a construction worker would drop by and requisition it to
patch up the bio-interface somewhere else. If not, I took it to one of
the birthing quarters and watched the vats do their work. It was
always great to help someone new learn their way around the kapsel.
Everything changed mid-14 when the researchers came back from the
monolith crowing. During a routine scan the artifact had forced a
signal back along the EM freqs they were using to examine it. It fried
their scanners and shook the whole station, but within minutes they'd
re-jiggered our extractors to work twice as hard. They couldn't
explain how they did it - or they could, but no one else could
understand the explanation.
They also told us about the other three they'd found on the map.
Backed by our new processing facility we started expanding
outwards. We strip-mined the local system and when the well ran dry we
ripped apart the well itself. Everything, all the matter, fashioned
into ad-hoc corridors, weapons arrays, and more vats for more
workers. Endless workers. Anything to get the secrets of the ancients
before someone else did. My job? The same as always. Goo from the
garden to make cakes in the kitchen to fill vats in the quarters.
Hell, in the rush sometimes it didn't even make it to the vats - techs
would run by and snatch it from the hopper without even asking. Even
when they didn't, by the time the worker popped out I was off to the
next room. There was always more goo, more cakes, more vats.
With the remaining extractors spread out our defensive network was
weak in some areas of the kapsel. Old weapons were decommissioned, old
soldiers re-garrisoned closer to the most important research. We
started taking casualties. It didn't matter. Goo to cakes, cakes to
vats, just this time it was the second, third, fifth time we'd fill
them. More room for people; more weapons for people; more work for
people; more people.
The next monolith we reached gave us the schematics for a signal
jammer. The next, a new program for our laser targeting
systems. Finally the last one unlocked its secrets - a retrovirus,
giving us legs that keep running, arms that don't tire. Relentless
efficiency.
Those damned rocks. They weren't libraries. They weren't weapons
caches. They were waste disposal. The ancients fashioned them as locks
to keep us out, not puzzles to solve. Prisons to hold science no one
could use responsibly.
It's 27 now. Or maybe 28? They're coming too fast to keep track,
alarms never-ending. I'd thank the stars we don't need to sleep
anymore, but there aren't any stars left. We turned them all into
goo. Goo to cakes, cake to vats. Vats to people. No more weapons for
people - now it's people for weapons. Even I can't make them fast
enough. And now they're all gone. Now the alarm. It's finally my turn
in blue.
I've played rymdkapsel several times now, and no matter how I build
the station - sprawling with several production areas or
tightly-packed fortified center, a caution extension towards the
monoliths or a mad approach and retreat in the open - the game ends
the same way.
Two ╻s holding the line, and one running desperately from the garden
to the kitchen to an empty room, making more doomed soldiers as fast
as its experimentally-modified appendages can. And eventually, that
one must stop as well.
In most RTS/TD games, your loss is marked by the destruction of your
base or some critical buildings. But often the game continues on, and
you can use your hero avatar or your remaining units to make a futile
but narratively satisfying last stand. In rymdkapsel only you can
destroy your buildings. At the end of the game you will probably start
destroying the outer ones en masse. You will do it to make more
minions, with full knowledge they are soon doomed. So the game, for
me, becomes a story about growth and (un)sustainability and how we
handle its eventual collapse.
Yesterday I watched Pacific Rim1 and played
Attack of the Friday Monsters.2 It's not likely I'll write more
about either specifically but they're both fun and worth engaging if
you think you might like them. Pacific Rim is about if giant
monsters were real in today's world; Friday Monsters is about if
they were real in the 70s when the genre was new.
What I want to point out is how both do one important thing that's
also becoming rare in nerd culture - they're tightly-focused-genre
works that are actually new works! I've grown tired of most things of
this kind because they end up being mostly in-jokes, callbacks, or
worst, incompetent aping. This pushes me to more avant-garde things,
which I enjoy, but I also want to see more work in the areas I'm
comfortable with and know about.
Both of these works are about basically the same thing, and both are
not derivative. I mean, yeah, they're derivative in the sense they
are obviously in the same space as Godzilla, Ultraman, Gundam,
and so on. But they are not loaded down in a way that requires "nerd
literacy" to enjoy nor do they break your focus by making references
to things outside themselves. They stand as quality works in the genre
rather than the most recent/egregious self-back-patting. They remind
me of why I like those things instead of just reminding me that I like
them.
Quick review: Needs more women, and the women need to say more things. ↩
Kim's piece4 drew my interest because her tone and conclusion
match mine closely (or that's how I read it, at least). She has the
same inability to find words to describe the base elements. But her
interpretation of the "contents" of the game is the exact opposite. I
saw a world of complex "accreted details"; she saw "decay" and
"collapse".2
First, I think that particular symmetry is interesting - that the same
material reads as overbuilt and collapsed is itself worth some
reflection. But it also points to two fundamental ways to make sense
of the game. As it relates to Problem Attic specifically we might
also be focusing on the two halves of the game.
To make sense of an overly-complicated system, you need to strip it
down. As a programmer I know that the rules of any given level of
Problem Attic can be expressed as a dozen or so lines of code. I
played the game trying (mostly unconsciously) to see the rules at that
level.
The approach Kim suggests is an alternative I didn't see (likely
because I am a programmer). If the world is in a state of decay you
make sense of it by finding and mentally inserting the parts that are
missing. We understand the function of the the Roman Forum not
because we can strip it down to constituent marble and grass with
well-understood physical properties but because we can add imagined
orators and produce stalls.
And this isn't exclusive to Problem Attic. All game mechanisms are
in some way reducible to something formally "simpler" than they are
visible as in the game. A rule book is easier to understand than just
watching a game, or it's failed as a rule book. And all game
mechanisms are in some sense incomplete with regards to the richness
of objects and interactions in the real world.3
What might be special about Problem Attic is the way it resists
explanation from both sides. Nothing in our daily experience prepares
us for Tetris or Pac-Man but we grasp and can re-explain a
sufficient set of rules quickly. At the other end games like Animal
Crossing or The Last of Us have rule systems that contain so much
code they're beyond formal explanation by any one person but we can
understand them via their presentation, even when it bears only a
cursory resemblance to the real-world objects we are using to
understand them. Problem Attic admits neither straightforward
instruction manuals nor analogies - as I half-described before, it's
only "comfortable being a videogame".
For a game I struggle to find words for, I'm sure writing a
lot about it. ↩
This different frame extends even to Liz's music. I've
described the sound as "excessively layered" to a friend. ↩
Or even their virtual worlds. It makes perfect sense to ask
something like "what's Isabelle's favorite song?" but the formal
systems in New Leaf prohibit this even though Isabelle, songs, and
favorite songs are all things in the game. That doesn't stop us from
understanding the game through analogy with the real world though. ↩
I played Dungeon Heroes, by Gamelyn Games (which seems to be
mostly Michael Coe). It's a one- or two-player boardgame which takes
10-30 minutes per play; I've played it twice with my wife (who
Kickstarted it) and four times solo.
The back of the box promises a "roguelike strategy game" and I admit I
scoffed when I heard it. I have played many games - board and
video - that self-described as "roguelike" but didn't deliver anything
close to the tactical-puzzle feel associated with the genre.
This one, though, works. Nothing in the game feels over-designed, my
usual first objection to dungeon-crawl boardgames. Somewhat like FTL
the characters play out as resources to expend and extensions to the
space of possible actions. Unlike FTL but like other roguelikes
these actions are mostly non-fungible - only the rogue can disarm
traps; only the cleric can heal. Randomness plays a small but critical
role, as incomplete information demanding contingency planning rather
than variable small-scale outcomes. In the two-player version, there's
an added element of bluffing on the dungeon player's side.
There's some hints of zugzwang; rare in "classic" roguelikes but
common in some of the more recent minimalist ones (Ending,
Bump by Aaron Steed; Zaga-33 and 868-HACK by Michael
Brough); entirely unknown to me in other boardgame dungeon
crawls. Most of the time it's not relevant to the game - and the
cleric can burn two actions if necessary - but the dungeon player can
sometimes force very bad moves on the hero player near the end of the
game.
The material quality is great. We have several Kickstarted games in
our house and the quality varies a lot. This one has a high-quality
box reminiscent of Fantasy Flight's Silver Line and beautifully cut
wooden figures.
This acted as a flashpoint for my disappointment at the amount of
latent sexism in themed boardgame design. I don't want to take it to
task specifically right now because it's not uniquely or especially
gross in any way. But several parts are troubling.