Owl’s Portfoliohttps://www.owlfolio.org/2015-12-05T12:10:37-05:00Bootstrapping trust in compilers2015-12-05T12:10:37-05:00Zack Weinbergtag:www.owlfolio.org,2015-12-05:research/bootstrapping-trust-in-compilers/<p>The other week, an acquaintance of mine was kvetching on Twitter about how the <a href="https://www.rust-lang.org/">Rust</a> compiler is written in Rust, and so to get started with the language you have to download a binary, and there’s no way to validate it—you could use the binary plus the matching compiler source to recreate the binary, but <a href="https://www.recurse.com/blog/42-paper-of-the-week-reflections-on-trusting-trust">that doesn’t prove anything</a>, and also if the compiler were <em>really</em> out to get you, you would be screwed the moment you ran the binary.</p> <p>This is not a new problem, nor is it a Rust-specific problem. I recall having essentially the same issue back in 2000, give or take, with <a href="https://www.gnu.org/software/gnat/">GNAT</a>, the Ada front-end for GCC. It is written in Ada, and (at the time, anyway) not just any Ada compiler would do, you had to have a roughly contemporaneous version of … GNAT. It was especially infuriating compared to the rest of GCC, which (again, at the time) bent over backward to be buildable with <em>any</em> C compiler you could get your hands on, even a <q>traditional</q> one that didn’t support all of the 1989 language standard. But even that is problematic for someone who would rather not trust any machine code they didn’t verify themselves.</p> <p>One way around the headache is <q><a href="https://www.schneier.com/blog/archives/2006/01/countering_trus.html">diverse recompilation</a>,</q> in which you compile the same compiler with <em>two different</em> compilers, then recompile it with itself-as-produced-by-each, and compare the results. But this requires you to have two different compilers in the first place. As of this writing there <em>is</em> only one Rust compiler. There aren’t that many complete implementations of C++ out there, either, and you need one of those to build LLVM (which Rust depends on). I think you could devise a compiler virus that could propagate itself via <em>both</em> LLVM and GCC, for instance.</p> <p>What’s needed, I think, is an independent root of correctness. A software environment built from scratch to be verifiable, maybe even provably correct, and geared specifically to host independent implementations of compilers for popular languages. They need not be terribly good at optimizing, because the only thing you’d ever use them for is to be one side of a diversely-recompiled bootstrap sequence. It has to be a complete and isolated environment, though, because it wouldn’t be impossible to propagate a compiler virus <em>through the operating system kernel</em>, which can see every block of I/O, after all.</p> <p>And it seems to me that this environment naturally divides into four pieces. First, a tiny virtual machine. I’m thinking a <a href="https://en.wikipedia.org/wiki/Forth_%28programming_language%29">FORTH</a> interpreter, which is small enough that one programmer can code it by hand in assembly language, and having done that, another programmer can <em>audit</em> it by hand. You need multiple implementations of this, so you can check them against each other to guard against malicious lower layers—it could run on the bare metal, maybe, but the <q>bare metal</q> has an awful lot of clever embedded in it these days. But hopefully this is the only thing you need to implement more than once.</p> <p>Second, you use the FORTH interpreter as the substratum for a more powerful language. If there’s a language in which each program is its own proof of correctness, that would be the obvious choice, but my mental allergy to <a href="https://en.wikipedia.org/wiki/ISWIM#Implementations_and_derivatives">arrow languages</a> has put me off following that branch of PL research. <a href="https://en.wikipedia.org/wiki/Lisp_%28programming_language%29">Lisp</a> is generally a good language to write compilers in, so a small dialect of that would be another obvious choice. (Maybe leave out the <a href="https://en.wikipedia.org/wiki/Call-with-current-continuation">call/cc</a>.)</p> <p>Third, you write compilers in the more powerful language, with both the FORTH interpreter and more conventional execution environments as code-generation targets. These compilers can then be used to compile other stuff to run in the environment, and conversely, you can build arbitrary code within the environment and export it to your more conventional OS.</p> <p>The fourth and final piece is a way of getting data in and out of the environment. I imagine it as strictly batch-oriented, not interactive at all, simply because that cuts out a huge chunk of complexity from the FORTH interpreter; similarly it does not have any business talking to the network, nor having any notion of time, maybe not even concurrency—most compile jobs <em>are</em> <a href="https://en.wikipedia.org/wiki/Embarrassingly_parallel">embarrassingly parallel</a>, but again, huge chunk of complexity. What feels not-crazy to me is some sort of trivial file system: <a href="https://www.freebsd.org/cgi/man.cgi?query=ar&amp;sektion=5&amp;manpath=4.3BSD+NET%2F2"><code>ar</code> archive</a> level of trivial, all files write-once, imposed on a linear array of disk blocks.</p> <p>It is probably also necessary to reinvent <a href="https://www.gnu.org/software/make/manual/html_node/Overview.html#Overview">Make</a>, or at least some sort of batch <a href="https://en.wikipedia.org/wiki/Job_Control_Language">job control language</a>.</p>Operating system selection for $PROJECT, mid-20152015-07-07T18:08:00-04:00Zack Weinbergtag:www.owlfolio.org,2015-07-07:possibly-useful/os-for-project-x-2015/<p>Presented without context, for amusement purposes only, a page from my notes:</p> <table> <style scoped> th, td { font-size: 80%; } td { text-align: left; padding-left: 15px; } </style> <thead> <tr> <th> </th> <th> FreeBSD </th> <th> NetBSD </th> <th> Linux </th> </thead> <tbody> <tr> <th> Per-process default route </th> <td> Poorly documented,<br>possibly incomplete </td> <td> Probably not </td> <td> Poorly documented,<br><a href="https://bugzilla.kernel.org/show_bug.cgi?id=97811">buggy</a> </td> <tr> <th> Can compile <a href="http://phantomjs.org/">PhantomJS</a> </th> <td> Probably </td> <td> Probably </td> <td> Yes </td> </tr> <tr> <th> Jails </th> <td> Yes </td> <td> No </td> <td> Not really </td> </tr> <tr> <th> <a href="http://xenproject.org/">Xen</a> paravirtual guest </th> <td> <a href="https://wiki.freebsd.org/FreeBSD/Xen">Incomplete</a> </td> <td> Yes </td> <td> Yes </td> </tr> <tr> <th> System call tracing </th> <td> truss </td> <td> None? </td> <td> strace </td> </tr> <tr> <th> pipe2 </th> <td> Yes </td> <td> Yes </td> <td> Yes </td> </tr> <tr> <th> closefrom </th> <td> Yes </td> <td> Yes </td> <td> No </td> </tr> <tr> <th> sysctl </th> <td> Yes </td> <td> Yes </td> <td> No </td> </tr> <tr> <th> getauxval </th> <td> No </td> <td> No </td> <td> Yes </td> </tr> <tr> <th> signalfd </th> <td> No </td> <td> No </td> <td> Yes </td> </tr> <tr> <th> execvpe </th> <td> No </td> <td> Yes </td> <td> Yes </td> </tr> <tr> <th> Reference documentation </th> <td> Acceptable (<a href="https://en.wiktionary.org/wiki/your_mileage_may_vary">YMMV</a><sup>1</sup>) </td> <td> Acceptable (YMMV) </td> <td> Major gaps </td> </tr> <tr> <th> Tutorial documentation </th> <td> Terrible </td> <td> Terrible </td> <td> Terrible </td> </tr> <tr> <th> Package management </th> <td> Broken as designed </td> <td> Broken as designed </td> <td> Good </td> </tr> <tr> <th> System maintenance automation </th> <td> I can’t find any </td> <td> I can’t find any </td> <td> Acceptable </td> </tr> <tr> <th> QA reputation </th> <td> Excellent </td> <td> Good </td> <td> Good </td> </tr> <tr> <th> Security reputation </th> <td> Good </td> <td> Good </td> <td> Debatable </td> </tr> <tr> <th> Development community </th> <td> Unknown to me </td> <td> Unknown to me </td> <td> Full of assholes </td> </tr> </table> <p><sup>1</sup> It makes sense to me, but then, I taught myself Unix system programming and administration by reading the SunOS 4 manpages.</p>Google Voice Search and the Appearance of Trustworthiness2015-06-27T11:50:00-04:00Zack Weinbergtag:www.owlfolio.org,2015-06-27:htmletc/google-voice-search-appearance-trustworthiness/<p>Last week there were several bug reports <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786909">[1]</a> <a href="https://code.google.com/p/chromium/issues/detail?id=491435">[2]</a> <a href="https://code.google.com/p/chromium/issues/detail?id=500922">[3]</a> about how Chrome (the web browser), even in its fully-open-source <q><a href="https://www.chromium.org/">Chromium</a></q> incarnation, downloads a closed-source, binary extension from Google’s servers and installs it, without telling you it has done this, and moreover this extension appears to listen to your computer’s microphone <em>all the time,</em> again without telling you about it. This got picked up by the trade press <a href="https://news.ycombinator.com/item?id=9724409">[4]</a> <a href="https://www.privateinternetaccess.com/blog/2015/06/google-chrome-listening-in-to-your-room-shows-the-importance-of-privacy-defense-in-depth/">[5]</a> <a href="http://www.theguardian.com/technology/2015/jun/23/google-eavesdropping-tool-installed-computers-without-permission">[6]</a> and we rapidly had a full-on Internet panic going.</p> <p>If you dig into the bug reports and/or the open source part of the code involved, which I have done, it turns out that what Chrome is doing is not nearly as bad as it looks. It does download a closed-source binary extension from Google, install it, and hide it from you in the list of installed extensions (technically there are <em>two</em> hidden extensions involved, only one of which is closed-source, but that’s only a detail of how it’s all put together). However, it does not <em>activate</em> this extension unless you turn on the <q>voice search</q> checkbox in the settings panel, and this checkbox has always (as far as I can tell) been off by default. The extension is <em>labeled</em>, accurately, as having the ability to listen to your computer’s microphone all the time, but of course it does not get to do this until it is activated.</p> <p>As best anyone can tell without access to the source, what the closed-source extension actually <em>does</em> when it’s activated is monitor your microphone for the code phrase <q>OK Google.</q> When it detects this phrase it transmits the next few words spoken to Google’s servers, which convert it to text and conduct a search for the phrase. This is exactly how one would expect a <q>voice search</q> feature to behave. In particular, a voice-activated feature intrinsically has to listen to sound all the time, otherwise how could it know that you have spoken the magic words? And it makes sense to do the magic word detection with code running on the local computer, strictly as a matter of efficiency. There is even a non-bogus business reason why the detector is closed source; speech recognition is still in the land where tiny improvements lead to measurable competitive advantage.</p> <p>So: this feature is not actually a massive privacy violation. However, Google could and should have put more care into making this not <em>appear</em> to be a massive privacy violation. They wouldn’t have had mud thrown at them by the trade press about it, and the general public wouldn’t have had to worry about it. Everyone wins. I will now dissect exactly what was done wrong and how it could have been done better.</p> <p>It was a diagnostic report, intended for use by developers <em>of</em> the feature, that gave people the impression the extension was listening to the microphone all the time. Below is a screen shot of this diagnostic report (click for full width). You can see it on your own copy of Chrome by typing <code>chrome://voicesearch</code> into the URL bar; details will probably differ a little (especially if you’re not using a Mac).</p> <figure class="aligncenter"> <a href="/htmletc/google-voice-search-appearance-trustworthiness/chrome-voicesearch-screenshot.png" ><img class="aligncenter" src="/htmletc/google-voice-search-appearance-trustworthiness/chrome-voicesearch-screenshot-narrow.png" alt="Screen shot of Google Voice Search diagnostic report, taken on Chrome 43 running on MacOS X. The most important lines of text are 'Microphone: Yes', 'Audio Capture Allowed: Yes', 'Hotword Search Enabled: No', and 'Extension State: ENABLED."></a> <figcaption> Screen shot of Google Voice Search diagnostic report, taken on Chrome 43 running on MacOS X. </figcaption> </figure> <p>Google’s first mistake was not having anyone check this over for what it sounds like it means to someone who <em>isn’t</em> familiar with the code. It is very well known that when faced with a display like this, people who aren’t familiar with the code will pick out whatever bits they think they understand and ignore everything else, even if that means they completely misunderstand it. <a href="http://drum.lib.umd.edu/bitstream/1903/1204/1/CS-TR-4371.pdf">[7]</a> In this case, people see <q>Microphone: Yes</q> and <q>Audio Capture Allowed: Yes</q> and maybe also <q>Extension State: ENABLED</q> and assume that this means the extension is actively listening right now. (What the developers know it means is <q>this computer has a microphone, the extension <em>could</em> listen to it if it had been activated, and it’s connected itself to the checkbox in the preferences so it <em>can</em> be activated.</q> And it’s hard for them to realize that anyone could think it would mean something else.)</p> <p>They didn’t have anyone check it because they thought, well, who’s going to look at this who isn’t a developer? Thing is, it only takes one person to look at it, decide it looks hinky, mention it online, and now you have a media circus on your hands. Obscurity is no excuse for not doing a UX review.</p> <p>Now, mistake number two becomes evident when you consider what this screen ought to say in order not to scare people who haven’t turned the feature on (and maybe this is the first they’ve heard of it even): something like</p> <blockquote> <h3 id="voice-search-is-inactive.">Voice Search is inactive.</h3> <p>(A couple of sentences about what Voice Search is and why you might want it.) To activate Voice Search, go to the preferences screen and check the box.</p> </blockquote> <p>It would also be okay to have a duplicate checkbox right there on this screen, and to have all the same debugging information show up <em>after</em> you check the box. But wait—how do developers diagnose problems with downloading the extension, which happens before the box has been checked? And that’s mistake number two. <em>The extension should not be downloaded until the box is checked.</em> I am not aware of any technical reason why that couldn’t have been the way it worked in the first place, and it would go a long way to reassure people that this closed-source extension can’t listen to them unless they want it to. Note that even if the extension were open source it might still be a live question whether it does anything hinky. There’s an excellent chance that it’s a generic machine recognition algorithm that’s been trained to detect <q>OK Google</q>, which training appears in the code as a big lump of meaningless numbers—and there’s no way to know whether those numbers train it to detect anything <em>besides</em> <q>OK Google.</q> Maybe if you start talking about bombs the computer just quietly starts recording…</p> <p>Mistake number three, finally, is something they got half-right. This is not a core browser feature. Indeed, it’s hard for me to imagine any situation where I would want this feature on a desktop computer. Hands-free operation of a mobile device, sure, but if my hands are already on a keyboard, that’s faster and less bothersome for other people in the room. So, Google implemented this frill as a browser extension—but then they didn’t expose that in the user interface. It <em>should</em> be an extension, and it should be visible as such. Then it needn’t take up space in the core preferences screen, even. If people want it they can get it from the Chrome extension repository like any other extension. And that would give Google valuable data on how many people actually use this feature and whether it’s worth continuing to develop.</p>Announcing readings.owlfolio.org2015-03-30T12:32:00-04:00Zack Weinbergtag:www.owlfolio.org,2015-03-30:administrivia/announcing-readings/<p>I’d like to announce my new project, <a href="https://readings.owlfolio.org"><code>readings.owlfolio.org</code></a>, where I will be reading and reviewing papers from the academic literature mostly (but not exclusively) about information security. I made a false start at this near the end of 2013 (it is the same site that’s been linked under <q>readings</q> in the top bar since then) but now I have a posting queue and a rhythm going. Expect three to five reviews a week. It’s not going to be syndicated to Planet Mozilla, but I may mention it here when I post something I think is of particular interest to that audience.</p> <p>Longtime readers of <em>this</em> blog will notice that it has been redesigned and matches <code>readings</code>. That process is not 100% complete, but it’s close enough that I feel comfortable inviting people to kick the tires. Feedback is welcome, particularly regarding readability and organization; but unfortunately you’re going to have to email it to me, because the new CMS has no comment system. (The old comments have been preserved.) I’d also welcome recommendations of comment systems which are self-hosted, open-source, database-free, and don’t involve me manually copying comments out of my email. There will probably be a technical postmortem on the new CMS eventually.</p> <p>(I know about the pages that are still using the old style sheet.)</p>Programming languages and transportation2014-10-02T11:27:00-04:00Zack Weinbergtag:www.owlfolio.org,2014-10-02:possibly-useful/programming-languages-and-transportation/<p>Last week there was a gag listicle making the rounds entitled <q><a href="http://crashworks.org/if_programming_languages_were_vehicles/">If programming languages were vehicles</a></q> and I lol’d along with the rest of them, but then I kept thinking about it and a bunch of the entries just seemed to miss the mark. And I’m in a silly sort of mood, so here is MY version: slightly different language selection, just as opinionated, 100% more Truth™.</p> <p>All images from <a href="https://commons.wikimedia.org/wiki/Main_Page">Wikimedia Commons</a>.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Mercedes_V6_DTM_Rennmotor_1996.jpg"><img alt="Mercedes V6 automobile engine" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Mercedes_V6_DTM_Rennmotor_1996.jpg/305px-Mercedes_V6_DTM_Rennmotor_1996.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Mercedes_V6_DTM_Rennmotor_1996.jpg">Mercedes V6 DTM Rennmotor 1996</a> </figcaption> </figure> <p>C is an internal combustion engine: it’s changed only incrementally since it was first invented, and it’s still an essential component of nearly everything else on this list, but if you’re in need of a <em>vehicle</em> you’ve got a shit-ton of additional work ahead of you. And there are those who would say that essential aspects of its design are dangerous to the general public.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Resource_area_for_teaching_warehouse.jpg"><img alt="Warehouse aisle full of unidentifiable items" src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/65/Resource_area_for_teaching_warehouse.jpg/320px-Resource_area_for_teaching_warehouse.jpg" height="213" width="320"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Resource_area_for_teaching_warehouse.jpg">Warehouse aisle full of unidentifiable items</a> </figcaption> </figure> <p>C++ is an auto parts warehouse. Dig around in there long enough and you’ll find everything you need to construct whatever sort of vehicle you want, especially if you don’t mind a side trip to the even bigger <q>Boost</q> warehouse next door. You’ll still have to put it all together, though, and be careful which boxes you open: rumor has it this warehouse was once used to store … <a href="http://www.scp-wiki.net/"><i>other</i> things</a>.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:1971_Ranchero_Squire.jpg"><img alt="1971 Ford Ranchero Squire from front" src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/65/1971_Ranchero_Squire.jpg/320px-1971_Ranchero_Squire.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:1971_Ranchero_Squire.jpg">1971 Ranchero Squire</a> </figcaption> </figure> <p>Java is a fully operational vehicle! Unfortunately, it’s one of those big American clunkers from the 1970s; breaks down a lot, lousy gas mileage, and aggressively styled in a way that just looks tacky nowadays.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:1972_Cadillac_Sedan_de_Ville_rear.jpg"><img alt="1971 Cadillac de Ville from rear" src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/1972_Cadillac_Sedan_de_Ville_rear.jpg/320px-1972_Cadillac_Sedan_de_Ville_rear.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:1972_Cadillac_Sedan_de_Ville_rear.jpg">1972 Cadillac de Ville</a> </figcaption> </figure> <p>C<sup>♯</sup> is much the same as Java, but from a different manufacturer.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:HH-65C_Dolphin.jpg"><img alt="HH-65C Dolphin helicopter" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/HH-65C_Dolphin.jpg/320px-HH-65C_Dolphin.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:HH-65C_Dolphin.jpg">HH-65C Dolphin helicopter</a> </figcaption> </figure> <p>Python has <em>definite opinions</em> about the proper way to travel, but is still versatile enough to be found all over the world, doing all <em>sorts</em> of odd jobs.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Chitty_Chitty_Bang_Bang_car.jpg"><img alt="Chitty Chitty Bang Bang (the flying amphibious car)" src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Chitty_Chitty_Bang_Bang_car.jpg/320px-Chitty_Chitty_Bang_Bang_car.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Chitty_Chitty_Bang_Bang_car.jpg">Chitty Chitty Bang Bang (the flying amphibious car)</a> </figcaption> </figure> <p>Perl goes out of its way <em>not</em> to express an opinion about how you should travel. Despite this radically different philosophy (and surface styling), it gets used for almost exactly the same kinds of odd jobs as Python.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Fiat_Topolino_hotrod_front.jpg"><img alt="Fiat Topolino hotrod" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Fiat_Topolino_hotrod_front.jpg/320px-Fiat_Topolino_hotrod_front.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Fiat_Topolino_hotrod_front.jpg">Fiat Topolino hotrod</a> </figcaption> </figure> <p>PHP is even tackier than Java, and it seems to attract the sort of drivers who are a danger to themselves and everyone around them, but it gets you there fast and cheap, and isn’t that what really matters?</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:RustyLuck.jpg"><img alt="Rusty Luck — beat-up old car with fancy engine" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/RustyLuck.jpg/320px-RustyLuck.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:RustyLuck.jpg"><q>Rusty Luck</q> — beat-up old car with fancy engine</a> </figcaption> </figure> <p>JavaScript looks like something that someone built in a cave out of a random sample of boxes from the C++ warehouse, but it’s proven to be just as versatile as Python or Perl, and if it breaks down you can usually repair it with a screwdriver and a big rock.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Hy-wire2.JPG"><img alt="GM Hy-Wire concept car" src="https://upload.wikimedia.org/wikipedia/commons/d/d5/Hy-wire1.JPG"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Hy-wire2.JPG">GM Hy-Wire concept car</a> </figcaption> </figure> <p>Dart and Go and Rust and Swift embody lots of good ideas, but might not ever make it into production, and of those that do, it’s much too early to tell what they’ll wind up being used for.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:ATSF_Downhhill_Caliente_Aug_90xRP_-_Flickr_-_drewj1946.jpg"><img alt="Freight train outside Caliente, CA" src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/ATSF_Downhhill_Caliente_Aug_90xRP_-_Flickr_-_drewj1946.jpg/320px-ATSF_Downhhill_Caliente_Aug_90xRP_-_Flickr_-_drewj1946.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:ATSF_Downhhill_Caliente_Aug_90xRP_-_Flickr_-_drewj1946.jpg">Freight train outside Caliente, CA</a> </figcaption> </figure> <p>Lots of people think of them as forgotten relics of the past, but COBOL and FORTRAN and SQL and MUMPS and so on are still out there hauling freight.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Belgrade_Military_Museum_-_Renault_FT-17.JPG"><img alt="Renault FT-17 (World War I-era tank)" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Belgrade_Military_Museum_-_Renault_FT-17.JPG/320px-Belgrade_Military_Museum_-_Renault_FT-17.JPG"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Belgrade_Military_Museum_-_Renault_FT-17.JPG">Renault FT-17 (World War I-era tank)</a> </figcaption> </figure> <p>MATLAB is only good at one thing, but a lot of people seem willing to put up with its bulk, expense, awful gas mileage, and even worse ergonomics because of that one thing.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:Marder1A3.6.jpg"><img alt="Marder 1A3 infantry fighting vehicle" src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Marder1A3.6.jpg/320px-Marder1A3.6.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:Marder1A3.6.jpg">Marder 1A3 infantry fighting vehicle</a> </figcaption> </figure> <p>R is also only good at one thing (related to, but not the same as, MATLAB’s one thing), and shares many of MATLAB’s ergonomic problems, but it’s cheaper, handles better, and (despite the ergonomic problems) is more pleasant to work with.</p> <figure> <a href="https://commons.wikimedia.org/wiki/File:TARDIS1.jpg"><img alt="TARDIS" src="https://upload.wikimedia.org/wikipedia/commons/8/8f/TARDIS1.jpg"></a> <figcaption> <a href="https://commons.wikimedia.org/wiki/File:TARDIS1.jpg">TARDIS</a> </figcaption> </figure> <p>Lisp has been around forever, and for that whole time has been more advanced than most anything else you can find, but is difficult for the average driver to wrap their head around. It’s as if it were provided to us by aliens or something.</p>The literary merit of right-wing SF2014-08-24T23:44:00-04:00Zack Weinbergtag:www.owlfolio.org,2014-08-24:fiction/the-literary-merit-of-right-wing-sf/<p>The results are in for the <a href="http://www.thehugoawards.org/2014/08/2014-hugo-award-winners/">2014 Hugo Awards</a>. I’m pleased with the results in the fiction categories—a little sad that <q><a href="http://aliettedebodard.com/short-stories/the-waiting-stars/">The Waiting Stars</a></q> didn’t win its category, but it <em>is</em> the sort of thing that would not be to everyone’s taste.</p> <p>Now that it’s all over, people are <a href="http://whatever.scalzi.com/2014/08/17/thoughts-on-the-hugo-awards-2014/">chewing over the politics of this year’s shortlist, particularly the infamous <q>sad puppy</q> slate</a>, over on John Scalzi’s blog, and this was going to be a comment there, but I don’t seem to be able to post comments there, so y’all get the expanded version here instead. I’m responding particularly to this sentiment, which I believe accurately characterizes the motivation behind Larry Correia’s <a href="http://monsterhunternation.com/2014/03/25/my-hugo-slate/">original posting of his slate</a>, and the motivations of those who might have voted for it:</p> <blockquote> <p>I too am someone who likes, and dislikes, works from both groups of authors. However, only one group ever gets awards. The issue is not that you cannot like both groups, but that good works from the PC crowd get rewarded and while those from authors that have been labeled <q>unacceptable</q> are shunned, and that this happens so regularly, and with such predictability that it is obviously not just quality being rewarded.</p> <p>― <q><a href="http://whatever.scalzi.com/2014/08/17/thoughts-on-the-hugo-awards-2014/#comment-752764">BrowncoatJeff</a></q></p> </blockquote> <p>I cannot speak to the track record, not having followed genre awards closely in the past. But as to this year’s Hugo shortlist, it is my considered opinion that all the works I voted below No Award (except <em>The Wheel of Time</em>, whose position on my ballot expresses an objection to the eligibility rules) suffer from <em>concrete, objective flaws</em> on the level of basic storytelling craft, severe enough that they did not deserve a nomination. This happens to include Correia’s own novels, and all the other works of fiction from his slate that made the shortlist. Below the fold, I shall elaborate.</p> <p>(If you’re not on board with the premise that there is such a thing as objective (observer-independent) quality in a work of art, and that observers can evaluate that independently from whether a work suits their own taste <em>or</em> agrees with their own politics, you should probably stop reading now. Note that this is not the same as saying that I think all Hugo voters should <em>vote</em> according to a work’s objective quality. I am perfectly fine with, for instance, the people who voted <q>Opera Vita Aeterna</q> below No Award without even cracking it open—those people are saying <q>Vox Day is such a despicable person that no matter what his literary skills are, he should not receive an award for them</q> and <em>that is a legitimate critical stance.</em> It is simply not the critical stance I am taking right now.)</p> <p>Let me first show you the basic principles of storytelling craft that I found lacking. I did not invent them; similar sentiments can be found in, for instance, <q><a href="http://twain.lib.virginia.edu/projects/rissetto/offense.html">Fenimore Cooper’s Literary Offenses</a>,</q> the <a href="http://www.sfwa.org/2009/06/turkey-city-lexicon-a-primer-for-sf-workshops/">Turkey City Lexicon</a>, Ursula LeGuin’s <a href="https://www.powells.com/biblio/62-9780933377479-1"><em>Steering the Craft</em></a>, Robert Schroeck’s <a href="http://www.accessdenied-rms.net/guide/fwg.txt"><em>A Fanfic Writer’s Guide To Writing</em></a>, and Aristotle’s <a href="https://en.wikipedia.org/wiki/Poetics_%28Aristotle%29"><em>Poetics</em></a>. This formulation, however, is my own.</p> <blockquote> <ol type="1"> <li>Above all, a story must not be boring. The reader should <em>care</em>, both about <q><a href="https://allthetropes.orain.org/wiki/Eight_Deadly_Words">what happens to these people</a>,</q> and about the ultimate resolution to the plot.</li> <li>Stories should not confuse their readers, and should enable readers to anticipate—but not perfectly predict—the consequences of each event.</li> <li>The description, speech, and actions of each character in a story should draw a clear, consistent picture of that character’s personality and motivations, sufficient for the reader to anticipate their behavior in response to the plot.</li> <li><a href="https://en.wikipedia.org/wiki/Loudness_war">Much like music</a>, stories should exhibit dynamic range in their pacing, dramatic tension, emotional color, and so forth; not for nothing is <q>monotony</q> a synonym for <q>tedium.</q></li> <li>Style, language, and diction should be consistent with the tone and content of the story.</li> <li>Rules 2–5 can be broken in the name of Art, but doing so demands additional effort and trust from the reader, who should, by the end of the story, believe that it was worth it.</li> </ol> </blockquote> <p>With that in hand, I shall now re-review the works that didn’t deserve (IMNSHO) to make the shortlist, in order from most to least execrable.</p> <h3 id="opera-vita-aeterna"><em>Opera Vita Aeterna</em></h3> <p>This is textbook bad writing. The most obvious problem is the padded, purple, <em>monotonously</em> purple prose, which obviously fails point 4, and less obviously fails point 5 because the content isn’t sufficiently sophisticated to warrant the style. The superficial flaws of writing are so severe that it’s hard to see past them, but if you do, you discover that it fails all the other points as well, simply because there wasn’t enough <em>room</em>, underneath all of those purple words, for an actual plot. It’s as if you tried to build a building entirely out of elaborate surface decorations, without first putting up any sort of structural skeleton.</p> <h3 id="the-butcher-of-khardov-and-meathouse-man"><em>The Butcher of Khardov</em> and <em>Meathouse Man</em></h3> <p>These are both character studies, which is a difficult mode: if you’re going to spend all of your time exploring one character’s personality, you’d better make that one character <em>interesting</em>, and ideally also fun to be around. In these cases, the authors were trying for tragically flawed antiheroes and overdid the anti-, producing characters who are nothing <em>but</em> flaw. Their failures are predictable; their manpain, tedious; their ultimate fates, banal. It does not help that they are, in many ways, the same extruded antihero product that Hollywood and the comic books have been foisting on us for going on two decades now, just taken up to 11.</p> <p><em>Khardov</em> also fails on point 2, being told out of order for no apparent reason, causing the ending to make no sense. Specifically, I have no idea whether the wild-man-in-the-forest scenes are supposed to occur before or after the climactic confrontation with the queen, and the resolution is completely different depending on which way you read it.</p> <p><em>Meathouse Man</em> was not on Correia’s slate. It’s a graphic novel adaptation of <a href="https://grrm.livejournal.com/322366.html">a story written in the 1970s</a>, and it makes a nice example of point 6. <em>When it was originally written</em>, a story with a completely unlikable protagonist, who takes exactly the wrong lessons from the school of hard knocks and thus develops from a moderate loser into a complete asshole, would perhaps have been … not a breath of fresh air, but a cold glass of water in the face, perhaps. Now, however, it is nothing we haven’t seen done ten billion times, and we are no longer entertained.</p> <h3 id="the-chaplains-legacy-and-the-exchange-officers"><em>The Chaplain’s Legacy</em> and <em>The Exchange Officers</em></h3> <p>These are told competently, with appropriate use of language, credible series of events, and so on. The plots, however, are formula, the characters are flat, the ideas are not original, and two months after I read them, I’m hard pressed to remember enough about them to criticize!</p> <p>I may be being more harsh on Torgerson than the median voter, because I have read <a href="http://www.isfdb.org/cgi-bin/title.cgi?41444"><em>Enemy Mine</em></a> and so I recognize <em>The Chaplain’s Legacy</em> as a retread. (DOES NO ONE READ THE CLASSICS?!) Similarly, <em>The Exchange Officers</em> is prefigured by hundreds of works featuring the Space Marines. I don’t recall seeing remotely piloted mecha before, but mecha themselves are cliché, and the <q>remotely piloted</q> part sucks most of the suspense out of the battle scenes, which is probably why it hasn’t been done.</p> <h3 id="the-grimnoir-chronicles"><em>The Grimnoir Chronicles</em></h3> <p>Correia’s own work, this falls just short of good, but in a way that is <em>more</em> disappointing than if it had been dull and clichéd. Correia clearly <em>knows how</em> to write a story that satisfies all of the basic storytelling principles I listed. He is never dull. He comes up with interesting plots and gets the reader invested in their outcome. He’s good at set pieces; I can still clearly envision the giant monster terrorizing Washington DC. He manages dramatic tension effectively, and has an appropriate balance between gripping suspense and calm quiet moments. And he is <em>capable</em> of writing three-dimensional, nuanced, plausibly motivated, sympathetic characters.</p> <p>It’s just that the only such character in these novels is the principal villain.</p> <p>This is not to say that all of the other characters are flat or uninteresting; Sullivan, Faye, and Francis are all credible, and most of the other characters have their moments. Still, it’s the Chairman, and <em>only</em> the Chairman, who is developed to the point where the reader feels fully able to appreciate his motivations and choices. I do not say sympathize; the man <em>is</em> the leader of <a href="https://en.wikipedia.org/wiki/Second_Sino-Japanese_War">Imperial Japan circa 1937</a>, and Correia does not paper over the atrocities of that period—but he does provide more justification for them than anyone had in real life. There really is a cosmic horror incoming, and the Chairman really does think this is the only way to stop it. And that makes for the best sort of villain, <em>provided you give the heroes the same depth of characterization</em>. Instead, as I said last time, the other characters are all by habit unpleasant, petty, self-absorbed, and incapable of empathizing with people who don’t share their circumstances. One winds up hoping for enough reverses to take them down a peg. (Which does not happen.)</p> <h3 id="conclusion">Conclusion</h3> <p>Looking back, does any of that have anything to do with any of the authors’ political stances, either in the real world, or as expressed in their fiction? Not directly, but I do see a common thread which can be interpreted to shed some light on <em>why</em> <q>works from the PC crowd</q> may appear to be winning a disproportionate number of awards, if you are the sort of person who uses the term <q>PC</q> unironically. It’s most obvious in the Correia, being the <em>principal</em> flaw in that work, but it’s present in all the above.</p> <p>See, I don’t think Correia <em>realized</em> he’d written all of his Good Guys as unpleasant, petty, and self-absorbed. I think he unconsciously assumed they didn’t need the same depth of character as the villain did, because <em>of course</em> the audience is on the side of the Good Guys, and you can tell who the Good Guys are from their costumes (figuratively speaking). It didn’t register on him, for instance, that a captain of industry who’s personally unaffected by the Great Depression is maybe going to come off as greedy, not to mention oblivious, for disliking Franklin Delano Roosevelt and his policies, even if the specific policy FDR was espousing on stage was a genuinely bad idea because of its plot consequences. In fact, that particular subplot felt like the author had his thumb on the scale to make FDR look bad—but the exact same subplot could have been run without giving any such impression, if the characterization had been more thorough. So if you care about characterization, you’re not likely to care for Correia’s work or anything like it. Certainly not enough to shortlist it for an award honoring the very best the genre has to offer.</p> <p>Now, from out here on my perch safely beyond the Overton window, <q>politically correct,</q> to the extent it isn’t a vacuous pejorative, means <q>something which jars the speaker out of his daydream of the <a href="https://encrypted.google.com/books?id=yH1upjtj4OYC&amp;pg=PA69">lily-white suburban 1950s of America</a> <a href="https://en.wikipedia.org/wiki/Podkayne_of_Mars">(possibly translated to outer space)</a>, <a href="http://www.imdb.com/title/tt0120789/">where everything was pleasant</a>.</q> (And I do mean <em>his</em>.) Thing is, that suburban daydream is, still, 60 years later, in many ways the default setting for fiction written originally in English. Thanks to a <a href="http://shwetanarayan.tumblr.com/post/95298073266/lets-talk-about-category-structure-and">reasonably well-understood bug in human cognition</a>, it takes <em>more effort</em> to write fiction which avoids that default. It requires constant attention to ensure that presuppositions and details from that default are not slipping back in. And most of that extra effort goes into—characterization. It takes only a couple sentences to state that your story is set in the distant future Imperium of Man, in which women and men alike may serve in any position in the military and are considered completely equal; it takes constant vigilance over the course of the entire novel to make sure that you don’t have the men in the Imperial Marines taking extra risks to protect from enemy fire those of their fellow grunts who happen to be women. <a href="http://www.benjaminrosenbaum.com/blog/archives/000976.html">Here’s another, longer example illustrating how much work can be involved</a>.</p> <p>Therefore, it seems to me that the particular type of bad characterization I disliked in the above works—writing characters who, for concrete in-universe reasons, are unlikable people, and then expecting the audience to cheer them on anyway because they’ve been dressed up in These Are The Heroes costumes—is <em>less likely</em> to occur in writing that would get labeled <q>works from the PC crowd.</q> The authors of such works are already putting extra effort into the characterization, and are therefore less likely to neglect to write heroes who are, on the whole, likable people whom the reader wishes to see succeed.</p>I Will File Bugs For You2014-08-14T17:05:00-04:00Zack Weinbergtag:www.owlfolio.org,2014-08-14:htmletc/i-will-file-bugs-for-you/<blockquote> <p>This post prompted by Aaron Klotz’s <q><a href="http://dblohm7.ca/blog/2014/08/14/diffusion-of-responsibility/">Diffusion of Responsibility</a></q> and Sumana Harihareswara’s <q><a href="http://www.harihareswara.net/sumana/2014/08/10/1">Inessential Weirdnesses in Open Source</a>.</q></p> </blockquote> <p>One of the most common ways to start interacting with a free software <em>project</em>, as opposed to just using the <em>software</em> produced by that project, is when you trip over a bug or a missing feature and now you need to go tell the developers about it. Unfortunately, that process is often incredibly off-putting. If there’s a bug tracking system, it is probably optimized for people who spend all day every day working with it, and may appear to demand all kinds of information you have no idea how to supply. If there isn’t, you’re probably looking at signing up for some sort of mailing list (<em>mailing list!</em> how retro!) Either way, it may not be easy to find, and there’s a nonzero chance that some neckbeard with a bad attitude is going to yell at you. It shouldn’t be so, but it is.</p> <p>So, I make this offer to you, the general public, as I have been doing for close friends for many years: if you don’t want to deal with that shit, <strong>I will file bugs for you.</strong> I’ve been on the Internet since not <em>quite</em> the <a href="https://en.wikipedia.org/wiki/Eternal_September">elder days</a>, and I’ve been hacking free software almost as long; I know how to find these people and I know how to talk to them. We’ll have a conversation and we’ll figure out exactly what’s wrong and then I’ll take it from there. I’m best at compilers and Web browsers, but I’ll give anything a shot.</p> <p><small>THE FINE PRINT: If you want to take me up on this, please do so <em>only</em> via email; my address is on the <a href="/contact/">Contact page</a>. Please allow up to one week for an initial response, as this service is provided in my <a href="https://en.wiktionary.org/wiki/copious_free_time">copious free time</a>.</small></p> <p><small>Offer valid only for free software (also known as <q>open source</q>) (as opposed to software that you are not allowed to modify or redistribute, e.g. Microsoft Word). Offer also only valid for problems which I can personally reproduce; it’s not going to go well for anyone involved if I have to play telephone with you and the developers. Offer specifically <em>not</em> valid for operating system kernels or device drivers of any kind, both because those people are even less pleasant to work with than the usual run of neckbeards, and because that class of bugs tends to be hardware-dependent and therefore difficult for me to personally reproduce on account of I don’t have the exact same computer as you.</small></p> <p><small>The management cannot guarantee this service will cause bugs to actually get <em>fixed</em> in any kind of timely fashion, or, in fact, ever.</small></p>2014 Hugo Awards ballot2014-07-29T21:51:00-04:00Zack Weinbergtag:www.owlfolio.org,2014-07-29:fiction/2014-hugo-awards-ballot/<p>I’m not attending <a href="http://www.loncon3.org/">the Worldcon</a>, but I most certainly am voting the <a href="http://www.thehugoawards.org/">Hugos</a> this year, and moreover I am publishing my ballot with one-paragraph reviews of everything I voted on. If you care about this sort of thing you probably already know why. If you don’t, the short version is: Some of the works nominated this year allegedly only made the shortlist because of bloc voting by <a href="http://monsterhunternation.com/">Larry Correia</a>’s fans, he having published a <a href="http://monsterhunternation.com/2014/03/25/my-hugo-slate/">slate of recommendations</a>.</p> <p>There’s nothing intrinsically wrong with publishing a slate of recommendations—don’t we all tell our friends to read the stuff we love? In this case, though, the slate came with a bunch of political bloviation attached, and one of the recommended works was written by <q><abbr title="you do not want to visit his website">Vox Day</abbr>,</q> who is such a horrible person that even your common or garden variety Internet asshole backs slowly away from him, but nonetheless he has a posse of devoted fanboys and sock puppets. A <a href="http://www.salon.com/2004/06/25/frank_exchange/">frank exchange of views</a> ensued; be glad you missed it, and I hope the reviews are useful to you anyway. If you want more detail, <a href="http://farbeyondreality.com/2014/04/19/2014-hugo-nominations-the-reactions/">Far Beyond Reality has a link roundup</a>.</p> <p>I value characterization, sociological plausibility, and big ideas, in that order. I often appreciate ambitious and/or experimental stylistic choices. I don’t mind an absence of plot or conflict; if everyone involved is having a good time exploring the <a href="http://sf-encyclopedia.com/entry/macrostructures">vast enigmatic construction</a>, nothing bad happens, and it’s all about the mystery, that’s just fine by me. However, if I find that <a href="http://fanlore.org/wiki/Eight_Deadly_Words">I don’t care what happens to these people</a>, no amount of plot or concept will compensate. In the context of the Hugos, I am also giving a lot of weight to novelty. There is a lot of stuff in this year’s ballot that has been <em>done</em> already, and the prior art was much better. For similar reasons, volume N of a series has to be <em>really good</em> to make up for being volume N.</p> <p>With two exceptions (both movies I didn’t get around to) I at least <em>tried</em> to read/watch everything mentioned below, and where I didn’t finish something, that is clearly indicated. This is strictly my personal strategy for this sort of thing and I am not putting it forward as right or wrong for anyone else.</p> <p>Links go to the full text of the nominated work where possible, a Goodreads or IMDB page otherwise.</p> <p>Note to other Hugo voters: I’m making pretty heavy use of No Award. If you mean to do the same, make sure you understand <a href="https://theweaselking.livejournal.com/4574210.html">the <em>correct</em> way to use it</a>:</p> <blockquote> <p><strong>If you want to vote No Award over something, put No Award at the end of your ballot and DO NOT list the things you’re voting No Award over.</strong></p> </blockquote> <p>The ballot below (unlike the ballot I submitted) includes line items below No Award, so that I have a space to explain my reasons.</p> <h2 id="best-novel">Best Novel</h2> <ol type="1"> <li><p><strong><a href="https://www.goodreads.com/book/show/17333324-ancillary-justice">Ancillary Justice</a></strong>, Ann Leckie</p> <p>Let’s get one thing out of the way first: this book features the Roman Empire (with aspects of Persia and China and probably a couple others I missed), IN SPACE! That was out of fashion for quite some time, and rightly so, on account of having been done to death. However, it has been long enough that a genuinely fresh take is acceptable, if done well, and I happen to think this was done very well. It does not glorify conquest, but neither does it paint the conquerors a uniform shade of Evil; it depicts a multitude of cultures (more than one on the same planet, even!); it has realistic-given-the-setting stakes and conflicts of interest, and believable characters both human and otherwise. I might not have chosen to tell the story out of temporal sequence; one does spend an awfully long time wondering <em>why</em> the protagonist’s goals are as they are. But I see why Leckie did it the way she did it.</p> <p>Nearly every review of this novel talks about the thing where the protagonist’s native language doesn’t make gender distinctions and so <a href="https://en.wikipedia.org/wiki/Spivak_pronoun">e</a> is always picking the wrong casemarkers, pronouns, etc. when speaking languages that do. I kinda wish they wouldn’t focus so much on that, because it is just one aspect of a larger problem the protagonist has: e <em>didn’t used to be a human being</em> and is, over the course of the novel, having to learn how to be one. E doesn’t know how to handle eir <q>irrational</q> attachment to Lieutenant Seivarden either, and eir problem-solving strategies <em>start out</em> much more appropriate to the entity e used to be and progressively become suited to eir current state. It is also neither the most unusual nor the most interesting thing about Radchaai culture. I don’t believe I have <em>ever</em> before seen Space Romans with a state religion, a system of clientage, or a plot driven by a political quandary that the real Romans (as far as I understand) actually had.</p></li> <li><p><strong><a href="https://www.goodreads.com/book/show/15985402-neptune-s-brood">Neptune’s Brood</a></strong>, Charles Stross</p> <p>This reminds me of <em><a href="https://www.goodreads.com/book/show/317621.The_Witches_of_Karres">The Witches of Karres</a>,</em> in a good way. Distant-future setting, check. Packed to the gills with ideas, check. Self-contained storyline, check. Extraordinarily high stakes, check. Hardly anyone has any idea what’s going on, but they don’t let that stop them, check. It’s technically a sequel, but it might as well be a standalone novel, which is fortunate, because I bounced off <em><a href="https://www.goodreads.com/book/show/2278387.Saturn_s_Children">Saturn’s Children</a></em> really quite hard—the protagonist here is more congenial company, and the society depicted, more plausible. The plot is fundamentally a MacGuffin hunt, but played in a novel and entertaining manner.</p> <p>Strictly in terms of the story, this is neck and neck with <em>Ancillary Justice</em>, but it falls short on writing technique. There was a great deal of infodumpage, paired with excessive showing of work—at one point the first-person narrator actually says <q>I am now going to bore you to death with $TOPIC.</q> I <em>like</em> geeking out about political economy, but not at the expense of the narrative. (Continuing with the comparison to <em>The Witches of Karres</em>, Schmitz was much better at giving the reader just barely enough detail.) The ending is almost Stephensonian in its abruptness, and a little too pat—it sounded good at the time, but half an hour later I found myself unconvinced that the MacGuffin would have its stated consequences. Finally, there’s an irritating and frequent stylistic quirk, in which multi-clause sentences are, incorrectly, punctuated with colons instead of semicolons.</p></li> <li><p><strong><a href="https://www.goodreads.com/book/show/13641105-parasite">Parasite</a></strong>, Mira Grant</p> <p>You know how the movie studios sometimes do A/B testing to decide which of several different edits of a movie to release as the finished product? I want to do that with this book. Specifically, I want to find out whether or not it’d be a better book if there weren’t page-length quotations from in-universe documents at the beginning of each chapter. These documents make it much clearer what is actually going on, which is a good thing in that the reader might be completely lost without them, and a bad thing in that the reader can (as I did) figure out exactly where the plot is going by the end of chapter 2.</p> <p>It’s reasonably well written, modulo some clumsy infodumpage in the middle, and it is a credible attempt to write a stock type of thriller novel (exactly which type would be a spoiler) without making the science completely laughable. Bonus points for actually being familiar with the geography, traffic headaches, and cultural diversity of the San Francisco Bay Area. However, it is, in the end, a stock type of thriller novel, and may not appeal if you don’t already like that sort of thing. (If you get to the end of chapter 2 and find yourself thinking <q>ugh, this is clearly going to be about X</q> … yeah, you can go ahead and put the book down.)</p></li> <li><p><strong>No Award</strong></p></li> <li><p><strong><a href="https://www.goodreads.com/series/41526-the-wheel-of-time">The Wheel of Time</a></strong>, Robert Jordan and Brandon Sanderson</p> <p>The rules need to be changed so that completed gargantua-series are their own category, or perhaps some sort of special award, considering there might or might not <em>be</em> any completed gargantua-series in any given year. I’d be showing up at the business meeting with a revision proposal if I were attending the Worldcon.</p> <p>Perennial latecomer to cultural phenomena that I am, I didn’t even notice that these novels existed until there were about seven of them, at which point the consensus on USENET (yeah, it was that long ago) seemed to be that they were not terribly inventive and the plot had ceased to make forward progress. So I didn’t bother picking them up. The Hugo voters’ packet contains <em>the entire thing</em> in one giant e-book file. I am on the last leg of a long plane flight as I type this, and I have just finished the first 8% of that e-book, i.e. <em>The Eye of the World</em>. I enjoyed it well enough, as it happens, and will probably continue reading the series as further long plane flights, sick days, and similar present themselves. If I don’t get too fed up with the plot failing to make forward progress, I may even finish it someday.</p> <p>However, based on that volume plus the aforementioned USENET commentary and what I’ve heard from other people since, it is not Hugo quality, for three reasons. First and foremost, as I was told so long ago, it is not at all inventive. The setting is exactly what was being skewered by <a href="https://www.goodreads.com/book/show/47510.The_Tough_Guide_to_Fantasyland"><em>The Tough Guide to Fantasyland</em></a>. Worse, the plot of the first novel is <a href="https://en.wikipedia.org/wiki/Monomyth">Campbell’s monomyth</a>, <em>verbatim</em>. (Well, the first few stages of it.) It escapes <q>Extruded Fantasy Product</q> territory only by virtue of having a whole bunch of characters who, at this point anyway, are all three-dimensional people with plausible motivations and most of whom are entertaining to watch. Second, I don’t have a lot of patience for whiny teenagers who spend much of the book <a href="https://allthetropes.orain.org/wiki/Refusal_of_the_Call">refusing the call to adventure</a>, distrusting the adults who actually know what’s going on, or both simultaneously. Yes, they’ve spent all their lives hearing stories starring the Aes Sedai as villains, but c’mon, Moiraine repeatedly saves everyone’s life at great personal cost, it could maybe occur to you that there might’ve been a bit of a smear campaign going on? Third, Jordan’s tendency to pad the plot is already evident in this one volume. It did not need to be 950 pages long.</p></li> <li><p><strong><a href="https://www.goodreads.com/book/show/16130317-warbound">Warbound, Book III of the Grimnoir Chronicles</a></strong>, Larry Correia</p> <p>Noir-flavored urban fantasy, set in an alternate 1930s USA where people started developing superpowers (of the comic book variety) in roughly 1880. I would <em>love</em> to read a <em>good</em> detective noir with superheroes and/or fairy tale magic. This, however, is yet another jingoistic retread of the Pacific theater of the Second World War, shifted into the middle of the Great Depression, with The Good Guys (USA! USA! with superheroes) versus The Bad Guys (Imperial Japan circa 1934—an excellent choice if you like your Bad Guys utterly evil, I’ll admit—with supervillains) and a secret society trying to emulate <a href="https://en.wikipedia.org/wiki/Professor_X">Charles Xavier</a> and failing at it because they’re too busy arguing and scheming. I almost gave up fifty pages into volume I because no sympathetic protagonists had yet appeared. Fortunately, someone whose story I was interested in <em>did</em> appear shortly thereafter, but it was still pretty slim pickings all the way to the end. This is not a case of bad characterization; it’s that most of the characters are unpleasant, petty, self-absorbed, and incapable of empathizing with people who don’t share their circumstances. Additional demerits for setting the story in the Great Depression, and then making nearly everyone we’re <em>supposed</em> to like, wealthy.</p> <p>Ironically, one of the most sympathetic characters in the entire trilogy is the leader of Imperial Japan (known almost exclusively as The Chairman)—I think this was because Correia knew he needed a villain who <em>wasn’t</em> cut from purest cardboard, but it didn’t occur to him that he needed to put as much work into his heroes. And by the same token, it did not occur to him that he had failed to convincingly refute his villain’s philosophy: if your villain espouses the rule of the strongest, and is then defeated by superior technology, intellect, and strength of will, <em>that in itself only demonstrates that force of arms is weaker than those things.</em></p> <p>Regarding Larry Correia’s recommendation slate, all I care to say is that his taste in writing by others reflects the flaws in his own writing.</p></li> </ol> <h2 id="best-novella">Best Novella</h2> <ol type="1"> <li><p><strong><q><a href="http://www.tor.com/stories/2013/10/wakulla-springs">Wakulla Springs</a></q></strong>, Andy Duncan and Ellen Klages</p> <p>Apart from a few unexplained-and-might-not-even-have-happened phenomena near the very end, this could be historical fiction with no speculative elements. Wakulla Springs is a real place and they really did film <em>Tarzan</em> and <em>The Creature from the Black Lagoon</em> there, and they really did turn various animals loose in the Florida swamps when they were done. However, if you squint at it a different way, it’s a fairy tale moved to the twentieth century, not any <em>specific</em> fairy tale but the bones of them all, with movie stars standing in for kings and princes, and rubber-suit monsters standing in for, well, monsters. And the characters are all just fun to be around.</p></li> <li><p><strong><a href="http://www.goodreads.com/book/show/16104414-six-gun-snow-white">Six-Gun Snow White</a></strong>, Catherynne M. Valente</p> <p>This is overtly a fairy tale, specifically <em>Snow White</em>, moved to the nineteenth-century Wild West and shook up in a blender with the style and the form of the stories of Coyote. The first half of it is compelling, and the third quarter works okay, but the conclusion is disappointing. The problem is that if you’re going to retell <em>Snow White</em>, either you have to stick with love conquering all in the end (and you have to set that up proper), or you have to jump the tracks <em>before</em> Snow White eats the poison apple. And if you’re going to set Snow White up as a mythic hero after the fashion of Coyote, maybe you should give her at least some of Coyote’s miraculous ability to get back <em>out</em> of trouble? Valente deliberately avoided doing any of those things and so painted herself into a corner.</p> <p>Having said that, I’m still giving this the #2 slot because I really like the <em>concept</em>, and it only fails by not executing successfully on its grand ambitions, which is a thing I am prepared to cut an author some slack for.</p></li> <li><p><strong><q><a href="http://www.tor.com/stories/2013/09/equoid">Equoid</a></q></strong>, Charles Stross</p> <p>Marvelously creepy cryptozoological meditation on unicorns, their life cycle and role in the ecosystem, and why they must be exterminated. In the <a href="https://www.goodreads.com/series/50764-laundry-files"><em>Laundry Files</em></a> continuity, and does not stand alone terribly well. Also, stay away if you dislike body horror.</p></li> <li><p><strong>No Award</strong></p></li> <li><p><strong><q><a href="https://www.goodreads.com/book/show/22385887-the-chaplain-s-legacy">The Chaplain’s Legacy</a></q></strong>, Brad Torgersen</p> <p>Remember what I said above about things that have been done already? This is a retread of <a href="https://en.wikipedia.org/wiki/Enemy_Mine_%28novella%29"><em>Enemy Mine</em></a>, breaking no new ground itself. Characterization is flat and style pedestrian. Not so boring as to make me put it down in the middle, and thankfully didn’t go for the cheap moral that I thought it would, but on the whole, disappointing.</p></li> <li><p><strong><a href="https://www.goodreads.com/book/show/18106542-the-butcher-of-khardov">The Butcher of Khardov</a></strong>, Dan Wells</p> <p>An extended character study of an antihero of the most boring, clichéd, and overdone type: mistreated due to his size and strength, doubly mistreated due to his uncanny abilities, learns from betrayal to take everything personally, believes the only thing he’s good at is killing people, and in his secret heart, just wants to be loved. Overflowing with <a href="http://fanlore.org/wiki/Manpain">manpain</a>. Told out of chronological order for no apparent reason, causing the ending to make no sense. Vaguely folktale-Russia setting (with steampunk and magic) that a better writer could have done something interesting with; I am given to understand that this is in fact the <a href="http://privateerpress.com/WARMACHINE">WARMACHINE</a> tabletop wargaming setting. I do not object to tie-in fiction, but neither will I cut it any slack on that account. For instance, the Butcher himself is an official WARMACHINE character; I don’t know if Wells invented him or just got tapped to flesh out his backstory; regardless, I do not consider that a valid excuse for any of the above.</p></li> </ol> <h2 id="best-novelette">Best Novelette</h2> <ol type="1"> <li><p><strong><q><a href="http://aliettedebodard.com/short-stories/the-waiting-stars/">The Waiting Stars</a></q></strong>, Aliette de Bodard</p> <p>This one is difficult to describe without spoiling it, so I’ll just say that it’s a clash-of-cultures story, set in the extremely far future, and I liked how the two cultures are both somewhat sympathetic despite valuing very different things and being legitimately horrified by the other’s practices. The ending may be laying it on a little too thick, but I don’t know that it can be toned down without spoiling the effect.</p></li> <li><p><strong><q><a href="http://www.tor.com/stories/2013/09/the-lady-astronaut-of-mars">The Lady Astronaut of Mars</a></q></strong>, Mary Robinette Kowal</p> <p>Elma, the titular Lady Astronaut, was on the first manned expedition to Mars; that was thirty-odd years ago, and she is now semi-retired, living on Mars, and torn between getting back into space and taking care of her husband, who is dying. Apart from the setting, this could be mainstream literary fiction, and a type of mainstream literary fiction that, as a rule, rubs me <em>entirely</em> the wrong way. This one, however, I liked. The characters all seem genuine, and the setting throws the central question of the plot into sharp relief, forcing us to take it more seriously than we might otherwise have.</p></li> <li><p><strong><q><a href="http://subterraneanpress.com/magazine/fall_2013/the_truth_of_fact_the_truth_of_feeling_by_ted_chiang">The Truth of Fact, the Truth of Feeling</a></q></strong>, Ted Chiang</p> <p>Philosophical musing on the nature of memory and how technological aids change that. This used to be a professional interest of mine, but I didn’t think Chiang did all that much with it here. Told in two intertwined narratives, of which the story of the <a href="http://en.wikipedia.org/wiki/Tiv_people">Tiv</a> is more compelling, or perhaps it is just that the first-person narrator of the other half is kind of a blowhard.</p></li> <li><p><strong>No Award</strong></p></li> <li><p><strong><q><a href="https://www.goodreads.com/book/show/22399099-the-exchange-officers">The Exchange Officers</a></q></strong>, Brad Torgersen</p> <p>Near future plausible geopolitical conflict in low Earth orbit, POV first person smartass grunt-on-the-front-line. Entertaining, but neither memorable nor innovative.</p></li> <li><p><strong><q><abbr title="you do not want a link to this one">Opera Vita Aeterna</abbr></q></strong>, Vox Day</p> <p>This isn’t a story; it’s an object lesson in <a href="http://nielsenhayden.com/makinglight/archives/004641.html">why publishers reject 95–99% of the slush pile</a>. The prose is uniformly, tediously purple, and nearly all of it is spent on description of rooms, traditions, and illuminated manuscripts. The characters haven’t even got one dimension. Nothing happens for the first two-thirds of the text, and then everyone in the monastery (it takes place in a monastery) is, without any warning, murdered, cut to epilogue. To the extent I can tell what the author thought the plot was, it could be summarized in a paragraph without losing anything important, and it would then need a bunch of new material <em>added</em> to make it into a story.</p> <p>I’ve seen several other people say that this is bad but not terrible, comparing it positively to <a href="http://ansible.uk/misc/eyeargon.html"><em>The Eye of Argon</em></a>, and I want to explicitly disagree with that. <a href="http://www.blackgate.com/2011/08/03/teaching-fantasy-ii-in-which-i-knowingly-assign-the-worst-short-story-in-the-history-of-sword-and-sorcery/">If I may quote Sarah Avery</a>, <em>The Eye of Argon</em> has characters; in the course of the story, something happens; several somethings, even, with some detectable instances of cause and effect; and it has a beginning, a middle, and (in some versions of the text) an end. It’s clichéd, sure, and and crammed full of basic grammar and vocabulary errors, and that’s what makes it <a href="https://allthetropes.orain.org/wiki/So_Bad_It%27s_Good">bad in a hilarious and memorable way</a>. <em>Opera Vita Aeterna</em>, by contrast, is <a href="https://allthetropes.orain.org/wiki/Category:So_Bad_It%27s_Horrible">bad in a <em>boring</em> and <em>forgettable</em> way</a>, which is <em>worse</em>.</p> <p>There is no doubt in my mind that this is only on the ballot because it was included in Correia’s recommendations and then bloc-voted onto the shortlist by Day’s fanboys. To them I say: if you did not realize it was unworthy, you should be ashamed of yourself for being so undiscerning; if you knew it was unworthy and you nominated it anyway, you have committed a sin against Apollo, and may you live to regret it.</p></li> </ol> <h2 id="best-short-story">Best Short Story</h2> <p>These are all good enough that rank-ordering them is hard; I’d be happy to see any of them win. They are also all floating somewhere around the <a href="http://www.writing-world.com/sf/realism.shtml">magical realism</a> attractor, which is not what I would have expected.</p> <ol type="1"> <li><p><strong><q><a href="http://www.tor.com/stories/2013/02/the-water-that-falls-on-you-from-nowhere">The Water That Falls on You from Nowhere</a></q></strong>, John Chu</p> <p>Tell a lie, even a white lie, or even fail to admit the truth, and water falls on you from nowhere; this just started happening one day—otherwise this is a story of ordinary people and their troubles and their connections to each other, and the magic is used to explore those things. Very elegant in its use of language; bonus points for making use of the ways in which Chinese (Mandarin, specifically, I think) describes family relationships differently than English does. Emotionally fraught, but satisfying.</p></li> <li><p><strong><q><a href="http://www.strangehorizons.com/2013/20130107/selkie-f.shtml">Selkie Stories Are for Losers</a></q></strong>, Sofia Samatar</p> <p>I always did wonder what happened to the children after the selkie went back to the ocean. Not so much the husband. The husband got what was coming to him, which is the point of the selkie story itself; but the daughter, who usually is the one to find the skin that the husband’s kept locked in the attic or wherever; she didn’t have it coming, did she?</p> <p>A kind storyteller might have it be that the daughter goes down to the ocean every Thursday afternoon, while the husband is out fishing, and her mother comes up from the waves and they have tea. Sofia Samatar is not a kind storyteller.</p></li> <li><p><strong><q><a href="http://www.tor.com/stories/2013/04/the-ink-readers-of-doi-saket">The Ink Readers of Doi Saket</a></q></strong>, Thomas Olde Heuvel</p> <p>Based on a real Thai festival, <a href="https://en.wikipedia.org/wiki/Loi_Krathong">Loi Krathong</a>; in the story, the paper boats that are floated down the river contain wishes for the new year. The villagers of Doi Saket consider it their duty to collect the wishes and send them onward to Buddha in paper lanterns … and some of them, somehow, come true. Is it the intervention of the river goddess? Is it all just coincidence? Is it a scam to line the pockets of the village chief? It’s hard to tell. You will reach the end of this story not being sure what happened, and you will reread it and still not be completely sure. But it’s a fun read anyway.</p></li> <li><p><strong><q><a href="http://www.apex-magazine.com/if-you-were-a-dinosaur-my-love/">If You Were a Dinosaur, My Love</a></q></strong>, Rachel Swirsky</p> <p>A very, very old theme, here, but a take on it that would have been impossible not so long ago. I’m not sure it’s a <em>story</em>, though. More of a love poem. Or a curse poem. Bit of both, really. Still, it’s going to haunt me.</p></li> </ol> <h2 id="best-graphic-story">Best Graphic Story</h2> <ol type="1"> <li><p><strong><q><a href="http://geekwagon.net/projects/xkcd1190/">Time</a></q></strong>, Randall Munroe</p> <p>Back in 2005 I doubt anyone would have guessed that the new nerd-joke webcomic on the block, <a href="http://xkcd.com/">xkcd</a>, would still be around in 2013 (over a thousand strips later), let alone that it would run a 3101-panel epic starring two stick figure people who are building sandcastles on the beach … really elaborate sandcastles … meanwhile discussing why the ocean level seems to be rising up … and then setting off in search of the source of the river, since presumably that’s where the extra water is coming from … and it just keeps elaborating from there. It was presented in an inconvenient format (the link goes to a more accessible compilation), but it’s got everything one could want in an SFnal epic: engaging characters (it’s amazing how much characterization Munroe can pack into pithy dialogue among stick figures), a carefully thought-out setting, the joy of discovery, the thrill of the unknown, a suitably huge problem to be solved, and, of course, Science!</p></li> <li><p><strong><a href="https://www.goodreads.com/series/84668-saga">Saga</a>, Volume 2</strong>, written by Brian K. Vaughan, illustrated by Fiona Staples</p> <p>A love story against the backdrop of an endless galaxy-shattering war, sung in the key of <a href="https://en.wikipedia.org/wiki/Gonzo_journalism">gonzo</a>, and influenced by the best bits of everything from <a href="https://en.wikipedia.org/wiki/M%C3%A9tal_Hurlant"><em>Métal Hurlant</em></a> to <a href="https://en.wikipedia.org/wiki/Tank_Girl"><em>Tank Girl</em></a> to <a href="https://en.wikipedia.org/wiki/Tenchi_Muyo!"><em>Tenchi Muyo!</em></a> It’s hard to tell where it’s going; what we have so far could be summarized as <q>Romeo and Juliet IN SPACE! Neither of them is a teenage idiot, they’re determined to survive, and their respective sides are coming after them with as much <a href="http://1d4chan.org/wiki/Dakka">dakka</a> as they can scrape together on short notice.</q> The A-plot may not even have appeared onstage at this point. One thing’s for sure, though: Vaughan and Staples mean to put on one hell of a show. For a more in-depth description I refer you to <a href="http://io9.com/10-reasons-you-should-be-reading-brian-k-vaughan-s-sag-756300575">io9’s review</a>.</p> <p>Strictly in terms of the content, I could just as easily have placed this in the #1 slot. <q>Time</q> gets the nod because <em>Saga</em> is not quite as novel, because the subplot with The Will and The Stalk seemed icky and gratuitous, and because volume 1 <a href="http://www.thehugoawards.org/hugo-history/2013-hugo-awards/">won this category last year</a>.</p></li> <li><p><strong><a href="http://www.girlgeniusonline.com/comic.php?date=20121221">Girl Genius, Volume 13: Agatha Heterodyne &amp; The Sleeping City</a></strong>, written by Phil and Kaja Foglio; art by Phil Foglio; colors by Cheyenne Wright</p> <p>I love <em><a href="http://www.girlgeniusonline.com/">Girl Genius</a></em>, but it’s won this category three times already <a href="http://www.girlgeniusonline.com/comic.php?date=20110831">(in a row, yet!)</a> and this volume, while continuing to be quality material, is nonetheless more of the same.</p></li> <li><p><strong>No Award</strong></p></li> <li><p><strong><q><a href="https://www.goodreads.com/book/show/18686773-the-girl-who-loved-doctor-who">The Girl Who Loved Doctor Who</a></q></strong>, written by Paul Cornell, illustrated by Jimmy Broxton</p> <p>What if the Doctor fell through a crack in time and landed in <em>this</em> universe, where he is a fictional character? Not a new conceit, but one with legs, and I think you could build a fine <em>Doctor Who</em> episode around it; unfortunately, this is not that. It is too heavy on the self-referential and meta-referential, to the point where I think it only makes sense if you are familiar with the show <em>and</em> its fandom. The story is rushed so that they can pack in more in-jokes, and the coda takes a turn for the <a href="http://www.snopes.com/glurge/glurge.asp">glurge</a>.</p></li> <li><p><strong><a href="https://www.goodreads.com/book/show/17334949-meathouse-man">Meathouse Man</a></strong>, adapted from the story by George R.R. Martin and illustrated by Raya Golden</p> <p>I think this was <em>meant</em> to be a deconstruction of the notion that for everyone there is a perfect romantic partner out there somewhere, just one, and all you have to do is find them and your life will be perfect forever. Which is a notion that could use some deconstructing. Unfortunately, between the male gaze, the embrace of the equally-in-need-of-deconstruction notion that men cannot comprehend women, the relentlessly grim future backdrop, and the absence of plausible character motivations, what you <em>get</em> is not deconstruction but enforcement by inversion: The only thing that can fix a man’s shitty life is the perfect romantic partner, but he will never find her, so he should just give up and embrace the hollow inside. (Gendered words in previous sentence are intentional.) I regret having finished this.</p></li> </ol> <h2 id="best-dramatic-presentation-long-form">Best Dramatic Presentation, Long Form</h2> <ol type="1"> <li><p><strong><a href="http://www.imdb.com/title/tt1454468/">Gravity</a></strong>, written by Alfonso Cuarón &amp; Jonás Cuarón, directed by Alfonso Cuarón</p> <p>This is probably as close as you can get to the ideal golden age hard-SF Protagonist versus Pitilessly Inhospitable Environment story in movie format. (I have actually seen this abstract plot done with precise conformance to the laws of orbital mechanics: <a href="https://www.goodreads.com/book/show/2716526-lifeboat"><em>Lifeboat</em>, by James White</a>. But storytelling suffered for it.) There are places where they go for the cheap wrench at your heart, but then there are places where they <em>don’t</em> do the obvious and clichéd thing, and this movie isn’t really about the plot, anyway, it’s about the spectacle. Clearly groundbreaking in terms of cinematography, also; I look forward to future use of the technology they developed. For more, please go read <a href="http://www.crummy.com/2013/11/01/0">my friend Leonard’s review</a>, as he is better at critiquing movies than I am.</p></li> <li><p><strong><a href="http://www.imdb.com/title/tt1663662/">Pacific Rim</a></strong>, screenplay by Travis Beacham &amp; Guillermo del Toro, directed by Guillermo del Toro</p> <p>It’s a giant monster movie, but it’s a <em>really well thought through and executed</em> giant monster movie. (Except for the utterly nonsensical notion of building a wall around the entire Pacific Ocean, which let us pretend never happened.) And I like that the scientists save the day by doing actual experimental science. Bonus points for <em>not</em> going grimdark or ironic or anything like that. Yes, earnest movies in which there was never any real doubt that the good guys would win were worn out in the 80s and 90s. But bleak movies in which there aren’t any good guys to begin with, and nothing ever really changes, certainly not for the better, are worn out here in the 2010s. Further bonus points for a close personal relationship between a man and a woman which does not turn into a romance.</p></li> <li><p><strong><a href="http://www.imdb.com/title/tt1300854/">Iron Man 3</a></strong>, screenplay by Drew Pearce &amp; Shane Black, directed by Shane Black</p> <p>Marvel continues to crank out superhero movies which do interesting things with established characters. (I particularly liked, in this one, that Potts gets her own <em>independent</em> source of superpowers and does not require rescuing, and that Stark is forced to work out his overprotectiveness issues on his own time.) However, in the end, it is another superhero movie with established characters. I said to someone on a convention panel back in 2001 that I wished Marvel and DC would allow their superheroes to come to the end of their stories, and I still feel that way.</p></li> <li><p>(my official vote for this category ended at this point)</p></li> <li><p><strong><a href="http://www.imdb.com/title/tt2294629/">Frozen</a></strong>, screenplay by Jennifer Lee, directed by Chris Buck &amp; Jennifer Lee</p> <p>I didn’t get around to seeing this; I’m sure it’s another respectable installment in the field of Disneyified fairy tale, but I can’t really imagine its breaking new ground.</p></li> <li><p><strong><a href="http://www.imdb.com/title/tt1951264/">The Hunger Games: Catching Fire</a></strong>, screenplay by Simon Beaufoy &amp; Michael Arndt, directed by Francis Lawrence</p> <p>I didn’t get around to seeing this either, and I’m frankly more than a little burnt out on YA dystopia.</p></li> </ol> <h2 id="best-dramatic-presentation-short-form">Best Dramatic Presentation, Short Form</h2> <p>I have to abstain from this category, because I watch TV shows ages after everyone else does; I imagine I’ll get to current <em>Doctor Who</em> episodes (for instance) sometime in 2024.</p> <h2 id="best-related-work">Best Related Work</h2> <p>I <em>wanted</em> to vote this category, but I have run out of time to read things, so I have to skip it as well.</p> <h2 id="best-semiprozine-best-fanzine-best-fancast-best-editor-best-professional-artist-best-fan-artist-best-fan-writer">Best Semiprozine, Best Fanzine, Best Fancast, Best Editor, Best Professional Artist, Best Fan Artist, Best Fan Writer</h2> <p>And <em>these</em> categories, I have no idea how to evaluate.</p> <h2 id="the-john-w.-campbell-award-for-best-new-writer">The John W. Campbell Award for Best New Writer</h2> <p>Several of the qualifying works in this category are head and shoulders above everything that was nominated in the regular categories! I will definitely be looking out for more writing by Samatar and Gladstone, and maybe also Sriduangkaew.</p> <ol type="1"> <li><p><strong>Sofia Samatar</strong> (<em><a href="https://www.goodreads.com/book/show/12814333-a-stranger-in-olondria">A Stranger in Olondria</a></em>)</p> <p>A form I haven’t seen attempted in some time: the travelogue of a fantastic land. In this case, Olondria is a great city, perhaps the greatest in the world, filled with merchants, priests, and books, and the traveler/narrator is a humble farmer from the islands in the south, come to Olondria to sell his peppers, as his father did before him. Well, that’s what everyone back at home expects him to do, anyway. In truth he has fallen in love with the literature of Olondria and, through the books, the city itself, and never had all that much interest in the family business to begin with. And then the plot catches up with him: there are two sects of those priests, and both wish to use him to advance their own interests: for you see, he is haunted by the ghost of a woman of his own people, whom he barely knew, but whom he was kind to in her last illness…</p> <p>This has got everything one could possibly want in a work of SF <em>and</em> everything one could possibly want in a work of capital-L literature; the form is elegant and fitted precisely to the content; the characters are engaging, the narrative flows smoothly, one does not want to put it down. As I mentioned above, Sofia Samatar is not a kind storyteller; this book is painful to read in places. But, having completed it, you will not regret the journey.</p></li> <li><p><strong>Max Gladstone</strong> (<em><a href="https://www.goodreads.com/book/show/13539191-three-parts-dead">Three Parts Dead</a></em>, <em><a href="https://www.goodreads.com/book/show/16059411-two-serpents-rise">Two Serpents Rise</a></em>)</p> <p>Alternate-Earth (and you have to pay close attention to realize that it <em>is</em> Earth) fantasy. All gods are real, but many of them are dead; the wizards (excuse me, <q>Craftsmen</q>) made war on them and slew them, claiming their power in the name of humanity. That was some hundred years ago, and the world is still finding a new equilibrium. Each of these books shows a different piece of that, with very little overlap. Plotwise they are both mysteries, of the <q>investigation of a small incident leads to something bigger … <em>much</em> bigger …</q> type, which I liked; it allows the stakes to be appropriately high while avoiding all of the overused quest fantasy tropes. And it works well for showing the readers lots of little details that illustrate how this is not the world we know. Gladstone is also excellent at characterization; even the NPCs who are only onstage in a scene or two feel fully realized.</p> <p>The only complaints I have are that the way the magic works kinda squicks me out a little (this may have been intentional) and that the ending of <em>Two Serpents Rise</em> didn’t quite work for me (in a way which would be too spoilery to explain here).</p></li> <li><p><strong>Benjanun Sriduangkaew</strong> (<q><a href="https://www.goodreads.com/book/show/22465778-fade-to-gold">Fade to Gold</a></q>; <q><a href="http://clarkesworldmagazine.com/sriduangkaew_12_13/">Silent Bridge, Pale Cascade</a></q>; <q><a href="http://mythicdelirium.com/?page_id=1973">The Bees Her Heart, the Hive Her Belly</a></q>)</p> <p>These are short stories. <q>Fade to Gold</q> is a variation on a Southeast Asian folktale, starring two people trapped by their natures and the demands of society; creepy, sorrowful, tragic. The other two are far-future magical-realist meditations on the nature of family, loyalty, and history in a setting where everyone’s memory is remotely editable. All are good, but the far-future ones may not be to everyone’s taste: e.g. if you don’t care for magical realism, or for stories where it’s not clear exactly what happened even after you’ve read all of it.</p></li> <li><p><strong>Ramez Naam</strong> (<em><a href="https://www.goodreads.com/book/show/13642710-nexus">Nexus</a></em>)</p> <p>Near-future technothriller in which an elixir of brain-augmenting nanomachines, street name Nexus, offers people the chance to become <q>posthuman</q>…or could be abused to enslave humanity. Three different organizations are struggling to control it, and the protagonists, who just want to be left in peace to experiment on their own minds, are caught in the middle. Generally a fun read; occasionally clunky prose (particularly in fight scenes); overspecific about gadgets in use (lots of technothrillers do this and I don’t understand why). I am a little tired of cheap drama achieved by poor communication between people who are nominally on the same side.</p> <p>Brain-augmenting nanomachinery, and the United States of America sliding into police state-hood, seem to be in the zeitgeist right now. I’ve seen both done with a lot more nuance: this gets obnoxiously preachy in places. (Recommendations in this category with more nuance: <a href="https://www.goodreads.com/book/show/453651.Smoking_Mirror_Blues">Smoking Mirror Blues</a>, <a href="http://www.agirlandherfed.com/main?i=1&amp;p=about">A Girl and her Fed</a>.)</p></li> <li><p><strong>No Award</strong></p></li> <li><p><strong>Wesley Chu</strong> (<em><a href="http://www.goodreads.com/book/show/15981711-the-lives-of-tao">The Lives of Tao</a></em>)</p> <p>I gave up on this after three chapters. The story concept could have been interesting—two factions of immortal, nonphysical aliens, battling in the shadows of Earth’s history, possessing humans and using them to carry out their plans—but it’s got major problems on the level of basic storytelling craft. Those first three chapters are one page after another of unnecessary detail, repetition of information the audience already has, grating shifts in tone, boring conversations about trivia, and worst of all, self-spoilers. Maybe two pages’ worth of actual story happened, and a good chunk of that probably shouldn’t have happened on stage (because it was a self-spoiler). And I had been given no reason to care what happened to the characters.</p></li> </ol>PETS rump session talk2014-07-17T10:55:00-04:00Zack Weinbergtag:www.owlfolio.org,2014-07-17:research/pets-rump-session-talk/<p>I spoke briefly at <a href="https://www.petsymposium.org/2014/index.php">PETS 2014</a> about <a href="slides.pdf">which websites are censored in which countries, and what we can learn just from the lists</a>.</p>another small dispatch from the coalface2014-06-03T14:40:00-04:00Zack Weinbergtag:www.owlfolio.org,2014-06-03:research/another-small-dispatch-from-the-coalface/<p>For all countries for which <a href="https://www.herdict.org/">Herdict</a> contains enough reports to be credible (concretely, such that the error bars below cover less than 10% of the range), the estimated probability that a webpage will be inaccessible. Vertically sorted by the left edge of the error bar. Further right is worse. I suspect <em>major</em> systemic errors in this data set, but it’s the only data set in town.</p> <p><img class="aligncenter" src="/research/another-small-dispatch-from-the-coalface/p-inaccessible.png"></p>