Noel Rappin Writes Here

The Boring Software Manifesto

Noel Rappin2 Comments

I noticed that I didn't have a copy of the Boring Software Manifesto on my own site, so here's the original version from 2007 (yikes!) and a video version from 2013.

Several years ago, I coined the phrase The Boring Software Development Process, in response to a former employer where project management really didn't think anything was happening unless we were trying to solve seven crises simultaneously.

The manifesto goes like this:

Boring software projects favor tacking exciting problems, and focusing our energy on the most interesting and valuable parts by avoiding wasting time on avoidable problems.

Boring software projects favor automated test suites over the excitement doing all your testing at the last minute and finding bugs after the project is "done".

Boring software projects favor frequently integrating work from the whole team as opposed to the excitement of finding out whether you changes work well with the rest of the team after you have been working on them for six weeks.

Boring software projects favor always having a working, if incomplete, system over crossing our fingers and guessing whether the newest build would compile.

Boring software projects favor incremental design rather than spending six months crafting a UML document that is thrown out after one week of development. (I'm not exaggerating on this one, I reviewed a project that happened on)

Boring software projects favor understanding that requirements change over being "surprised" when late change requests come.

Boring software projects favor putting working, if incomplete, systems in customer hands early to get feedback as early in the cycle as possible rather than finding misunderstandings after the project is done.

I love my Mobile Writing Setup

Noel RappinComment

I haven't written about my writing setup, tools, things like that in a while, and I've got some show and tell.

Here's my current mobile writing setup -- really, my preferred writing setup if I'm not coding or otherwise doing something that requires a full operating system.

That's an iPad Air 2, the Logitech Keys-To-Go keyboard, and a Kanex plastic stand that you can only kind of see.

Why do I like this setup:

It's really small and light. The keyboard is six ounces, and is smaller than the iPad,and about the thickness of a binder cover. The stand folds flat. All told, including the iPad and its cover, the whole thing is well under two pounds, and easily fits in the pocket of my ScottEVest Nerd Jacket With Big Pockets.

Battery life of the iPad is about 4 times the battery life of my laptop (admittedly, the laptop is old). Nothing in this setup is hot to the touch, decidedly unlike the laptop. The keyboard's battery life is quite long.

These accessories are not super-expensive. The Logitech keyboard is about $45 on Amazon. The Kanex stand is $13 for a pack of two, and honestly, if you have an iPad, you should get one, it's a very well-spent $13.

I like the ergonomics. The Logitech keyboard has surprisingly good key feel for all that it looks like a chicklet keyboard. (I think it feels better than, say, the Mac Book 12" keyboard). Because the two pieces aren't connected, I can use the iPad in portrait or landscape, and I can put the screen farther away from the keyboard so I can hold my neck straighter. (The only downside to the Logitech is that it is slippery on some surfaces, but putting it on top of the iPad case solves the problem.

The apps have caught up. My preferred app for most things is Ulysses. Ulysses is a great writing tool that is less minimal than iaWriter, but still not quite MS Word or Scrivener. The iPad and iPhone versions are almost completely feature compatible with the Mac version. (And in a couple of places, better, for example, it's easier to see a word count as you type on iOS). It syncs nearly seamlessly across devices. Also, it's become a lot more common for apps to support keyboard shortcuts on external keyboard. (Tweetbot added arrow keys to navigate and it made me very happy.)

Ulysses is a little weird for text that has a lot of markup in it (it tries to be smart about escaping things that you don't want escaped). When I do write with a lot of markup (for example, writing for Pragmatic), I use Editorial or iaWriter. Editorial is a really fully-featured text editor that I wish would get ported to Mac, because in some ways I like it more than Sublime or Atom.

It's not perfect. I still can't really code on it. I tried to use a combination of a Digital Ocean droplet and Coda, but it wound up being a lot of work keeping the droplet functional. Multitasking on the iPad has gotten a lot better (split screen is very nice), but there are still a few tasks coordinating things that are a little awkward. For example, I need to bring in a bunch of product URL's as I finish this post, and that's still kind of a pain relative to how it would go in the Mac.

Editing existing writing has gotten a lot better, but the precision of a mouse is still missed when I'm moving text around. The fact that it's three pieces is occasionally awkward. It doesn't work on my lap, then I have to use the software keyboard, which is actually not that bad.

It can get even smaller and lighter. The whole thing would work just fine with my iPhone in the stand (all the apps I use work in both), which would bring the total weight to about a pound. Eventually, I'll (fingers crossed), be able to swap the keyboard out for a WayTools TextBlade, which means I'd be able to carry keyboard, phone, and stand in normal pants pockets.

That's kind of a big deal, it gives me the same kind of portability for writing that the iPod gave for music or the Kindle does for reading. I definitely noticed that I was reading more once I started using eBooks, clearly because the fact that the Kindle (or Kindle app) was basically always on me allowed me to read in times and places without the logistics of having to carry around the book I'm reading.

This Week In Stuff I Really Want You To Look At: May 16, 2016

Noel RappinComment

The Week of Me

A couple of quick things.

  • The Web Payment book is out for 50% review, which means that the draft is about half complete, and about a dozen or so people, including the publisher, will be the first readers (well, I guess it got an editorial review at the ⅓ mark). This is a little terrifying.
  • I did a quick breakfast talk this week on trust and projects. It wasn't recorded, but pretty much everything I said is in my Trust-Driven Development book, which you should read. Yes, you. It's good.
  • One medium post this week, public speaking tips for technical talks.

Onto Some Things

Thing One: Sports Stories

Two really good sports-related stories in non-sports podcasts. I'd say from this week, but I'm a little behind on my podcasts, so really from a couple of weeks ago.

Radio Lab did a story on Surya Bonaly, to this day, the only figure skater to land a backflip one-footed in competition. Which is way illegal, which should not take away from the fact that it's a flat-out crazy thing to do. You can see the flip itself at about 3:40 of the video, also notable for how quickly the commentator (who is, I think, Scott Hamilton), goes to a cynical place.

The Memory Palace did a story on Charles "Victory" Faust, one of the early baseball's more unique characters. The story takes a very empathic and sweet look at hard and unusual life.

Thing Two: Samantha Bee

I've become a big fan of Samantha Bee's late night show. Here's a transcript of an interview she did for Recode. I think it's particularly interesting and relevant for tech the kinds of things she's doing to hire more women writers, including improved sourcing and trying out kinds of mentorship. (Trevor Noah said similar things in this interview with Linda Holmes of NPR.

Thing Three: Reading and Spilers

Speaking of Linda Holmes, her Monkee See pop culture blog included this cute post about reading and sharing famous spoilers with young children from NPR’s Barrie Hardymon

Thing Four: Open Source

As I’ve said for years, I think there’s a great nonfiction book/political science thesis in the history of open source. Nadia Eghbal has been writing really interesting stuff about the current state of open source for the past few months. (Spoiler alert, she thinks it’s in some trouble…). This week, she explained why she hates the term “open source” (basically, because it’s lost all meaning). Also check out this response about how Open Source has become and identity rather than a technical definition.

Thing Five: Between Incompetence and Malice

You may have seen a WWII era OSS manual about how to sabotage industry though, basically, deliberate management incompetence. Charlie Stross, one of my favorite SF writers, has updated it to modern day organizations, with suggestions that are frighteningly close to practices that you all might be familiar with.

RailsConf 2016 and other things to look at this week

Noel RappinComment

This week's things are a little late because of thing one.

Quick me update: I did post one item to Medium this week, about how I learned to love Rubocop. Read it, won't you?

Thing One: RailsConf

RailsConf was this week, and despite what I might have said last week, it really does feel different in 2016 than 2008.

I'll post some specific talk recommendations when the videos are posted. Well, there's one talk up already Justin Searls posted his own recording, and what was ostensibly a talk about Rails 5 and RSpec becomes something more interesting about maturity in tools and where we go from there.

This was a common theme in 2016, and one way in which RailsConf felt different than 2008. Consider, for example the somewhat snarky write up of the TIOBE programming language popularity index, where Ruby has come back up for the first time in a few years.

Anyway, more in this over the next week or so, as I process.

Thing Two: Michael Feathers

On a related note, here's Michael Feathers on Agile, saying something that I think is true about Agile methods -- they don't really scale to large teams, and that's OK.

Thing Three: The Earth from the Air

On a totally different note, a cool piece from Vox from a pilot about what he's learned in the air. It's sort of what you think it's going to be, but not quite.

Thing Four: Ted Cruz (But Really Dahlia Lithwick)

I haven't written about politics here (though I do occasionally vent on an anonymous blog and Twitter account). I'm not sad to see that Ted Cruz isn't going to be president, but this account of Cruz as a debater and as a lawyer is probably the most interesting portrait of what he's like in person that you are likely to read. The author of the piece, Dahlia Lithwick) has been writing very entertainingly about the Supreme Court for a long time, and recently started a well-done podcast if the idea of a podcast about the Supreme Court interests you.

Thing Five: Martha Wells

You are all reading Martha Wells like I said to the other week, right? Here's
an interview with Wells specifically about her world-building. Worth checking out.

Thing Six: Books

I mentioned Gwenda Bond's Lois Lane series last year as one of my favorite books of the year. Double Down, the second book of the series, came out last week, and it's also really fun. Bond does a great job of writing something that works both as a YA story and as a Lois Lane story. (Lois is online friends with somebody who goes by the monicker "Smallville Guy", and if you don't think it's great when SG -- who is not public yet -- says he wants to be the kind of person Lois deserves, we'll you are wrong, it is objectively great)

Five Things: April 29, 2016

five thingsNoel RappinComment

Five For 4/29

Okay, I really am doing this for a second week in a row, even though it’s a bit late.

The week in me:

The web payments book is continuing slowly. Currently, I’m writing about how to set up administrative users, which I’m convinced that most people are penny-wise and pound-foolish about. (“It’s the admin users, we can train them”, yeah, I’ve said it too).

I also did a medium post about agile, communication, and the like, which doesn’t seem to have gotten out there much, but you should probably read it anyway.

I also somehow got people to say some nice things about Rails 4 Test Prescriptions on Twitter. You should read that too.

Thing One: A book!

Barsk: The Elephants’ Graveyard by Lawrence M. Schoen. Every year, it seems, there’s one book I read that stands out for the sheer audacity and weirdness of its premise. I usually call that my “if you only read one” book, as in “if you only read one book about anthropomorphic sentient elephants who can talk to the dead and are part of a space empire of other anthropomorphic species, make it Barsk.

You probably are either all-in or totally out based on that description. (We do eventually learn how all the talking animals came to be, if that helps. Or hurts). The elephants, who have been exiled to a single planet, are the sole creators of the drug that lets some people speak to the dead. The rest of the alliance has basically had enough and are willing to go to great lengths to recover the drug. In addition to being totally bonkers, the book is really clever, the characters are memorable, and the ending lands. So pretty much everything I look for in a book.

Thing Two: Hamilstuff

You are just going to have to deal with a lot of Hamilton and Lin-Manuel Miranda stuff, sorry. In addition to writing a song about Puerto Rico’s debt crisis for John Oliver’s show, he also performed what I guess you’d call a mash up of Hamilton and Sweeney Todd for a charity event this week. It’s the tune of the opening to Hamilton to the story of the opening to Sweeney Todd. If you are me, which none of you are, that’s just about the greatest thing ever.

Thing Three: Old Developers

A couple of interesting blog posts this week on different sides of the age spectrum. Adrian Kosmaczewski posted a transcript of a talk about being a developer after 40, a topic that has been of keen interest to me for about five years. Adrian and I started our professional careers about a year apart (I started later). Anyway, I agree with most of this (though I don’t hate open spaces as virulently…)

Thing Four: Young Developers

On the other side, Ryan Bigg on hiring juniors, a topic that’s also been of keen interest to me for some time. I agree with pretty much all of this, too.

Thing Five: SF Is For Everybody

The founding editor of one of my favorite sites, Charlie Jane Anders of io9 is stepping down to work on her fiction full time. (Consider this a recommendation of her last novel, All The Birds In The Sky). She ended her time by recounting the founding principles of io9, including science fiction belongs to everyone. Please read.

Five Things From: The Week of April 22, 2016

five thingsNoel RappinComment

Let's try something new this week. At least new for me. If, by new, you mean, "haven't done it in few years".

Five Things From, listened to, or encountered that I want to pass along. The "five" is more of a guideline than a rule.

We'll see how long this keeps up:

First, A Word From Our Sponsor

That's me, I'm the sponsor. This week's Medium post is a comparison between my first RailsConf in 2008 and this years' through the simple expedient of making you guess which talk titles come from which year. (Spoiler: I deliberately chose ambiguous ones).

As you probably don't know, I'm working on a new book for Pragmatic. Title's not set yet, but it's about handling payments on the web and all the variously logistics and aggravations that entails. The initial draft is 50% done, which means it goes for technical review. I'm hoping it will go into beta toward the end of the summer.

Onto the things:

Thing One: A Book!

Every Heart A Doorway, by Seanan McGuire. The setup for this book is, frankly, brilliant. It takes place at a boarding school populated by children who have had portal fantasy adventures (think Narnia) and have been rejected by the other world and are trying to cope. There are a lot of discussions of belonging and being an outsider. It's a heartbreakingly beautiful premise in a heartbreakingly beautiful book. There's a plot, yeah, but the characters and tone are everything here.

Thing Two: Another Book!

The Edge of Worlds, by Martha Wells, which is, I think the fourth novel in the Raksura/Three Worlds series. Wells is one of the best at describing a particular kind of weird world, with unusual species (the main characters are all shape-shifting lizard-people who live in a colony that is somewhat bee-like). She delights in creating bizarre and uncanny parts of the world for them to explore, and in creating interesting characters to stay with. You should read this. Well, you should probably start at the beginning, but eventually, you should read this.

Thing Three: Big Ben!

The NPR Podcast How To Do Everything had a brief chat with the person in charge of maintaining the clocks of the UK Parliament, including Big Ben, and now I know exactly how much you can adjust the speed of the clock by adding a single penny to the weight of the pendulum.

Thing Four: Hamilton!

If you are me, one of the interesting things about the musical Hamilton aside from how amazing the music and lyrics are (I’ve become a big fan, okay?) is that it presents Hamilton as kind of the progressive hero of the Revolution. If you are about my age, and took a Revolutionary War class in college from, say, Pulitzer Prize winner David Hackett Fischer, then that idea seems, weird? This article from Vox explains a bit about how interpretation of the Revolution, and especially Hamilton and Jefferson, has changed over time.

Thing Five: Tech Things!

If you liked my video about floating point numbers you might be amused by this quick bit about rounding and Apple’s environmental initiatives by John Graham-Cumming

This medium article by Tom Whitwell about media pricing was interesting. The big recent flap for me was TextExpander moving to a very expensive subscription model, though I think they are grandfathering in existing users with enough of a discount that I’ll be able to justify continuing use. Pricing is hard. Ask me about ebook pricing someday. Then run.

The End Result Is Not The Cost

txi-mediumNoel RappinComment

For a variety of reasons that are not actuallya all that interesting, I started blogging for Table XI on a more-or-less official, more-or-less weekly basis.

You can see all those posts at Table XI's Medium Page.

If any of you are still following this blog via an RSS reader, first off, thank you for your patience in the hope that I would put something here worth reading. Second off, I'll cross post the links here, starting wtih last week's The End Result Is Not The Cost, which, I suppose could be read as a full-throated defense of bloated consulting fees, but which I prefer to see as a comment on the hiidden work that goes into producing any kind of useful production software. Enjoy!

2015 Books That I Liked, Part 2

BooksNoel RappinComment

I really did want to get this done sooner, but I didn’t.

See part one for the other books I liked in 2015. Consider this the books I really liked. You could call it a top ten, but there’s more than 10. But still, my absolute favorite books of 2015, alphabetically by title.

Ancillary Mercy, by Ann Leckie

In trilogies, first books get to have all the fun. The first book is where you get the full thrill of discovery, of learning about a new thing. The third book has to actually finish a story, which sometimes, feels a lot more like work. I was happy that Ancillary Mercy, the third book of maybe the most decorated SF trilogy in the last five years, really does stick the landing.

But… it might not be the landing you expect. I think it’s fair to say in the end, a lot of the flash and bang was a misdirection from the idea that this was, from the very beginning, a small-scale story about an interesting person that eventually got caught up in a galactic civil war. And not, say, a galactic war story that sort of has a personal component. (If you see a review that calls the ending “muted”, this what they mean—it doesn’t end in fire, it ends in personal change). I thought it was really satisfying, (in addition to being technically impeccable) and it was one of my favorite books of the year.

Aurora, by Kim Stanley Robinson

I can’t decide whether this is the most pessimistic SF book ever written or if it winds up being weirdly optimistic despite everything. Aurora is the story of a generational ship. At the beginning of the book, the ship is near its destination after a couple of hundred years. Just in time, too, because the colonists are starting to run out of stuff, like oxygen. And then they get to the planet, and it’s not exactly the end of their problems.

Robinson winds up being deeply pessimistic about the practicality of generation ships and colonizing other planets in a way that is directly (almost gleefully) in conflict with decades of science fiction. And while that makes a great essay, Aurora is also a great story, with interesting characters making hard choices. The narrator for most of the book is the ship’s AI, which lets Robinson play with narrative structure a bit. I’ve run hot and cold on Robinson in the past, this is my favorite book of his in years, even if it does end with a very-Robinson sort of mini-essay on how great it is to be outside.

City of Stairs, by Robert Jackson Bennet

A few things I generally like, in fantasy novels:

  • Post-medieval or industrial technology.
  • Living gods, or some kind of really powerful supernatural being that shapes the way the world works.
  • A story that takes place in the aftermath of the cataclysmic struggle, rather than being the struggle itself.

And so, City of Stairs, which is all these things. It takes place a generation or so after a conquering empire was itself conquered, because the other side figured out how to kill its gods. It takes place in the former capital of that city, now home to a resentful conquered population. A place where the gods have supposedly been outlawed but where their magical artifacts still can cause havoc. It's a murder mystery against a fraught diplomatic backdrop, and with a couple of main characters that have a history together.

It’s weird, and the characters are interesting, and the magic is cool, and the mystery and politics all holds together. It’s really something. If you like Gladwell and Mièville, you will like this. (Late note, watch for the 2016 version of this list, because the sequel is, if anything, better.)

Fallout, by Gwenda Bond

One of the books that I most flat out enjoyed reading this year was a YA novel about Lois Lane. Not a sentence I expected to write, but here we are. I expected this book to be a decent novel in a media property that I like. It’s way better than that. It’s got a great take on teenage Lois, Girl Reporter, and her mysterious pen-pal SmallvilleGuy (who has not revealed his existence to the public). It’s got just the right amount of Superman and DC mythology, and it’s just really, really fun. Very happy that it sold well enough to justify a sequel in 2016.

The Fifth Season, by N. K. Jemisin

So, there are certain kinds of subtle things that you rarely see in a fantasy novel because it takes tremendous skill to make them apparent and its often not worth the effort. For example, your human characters will usually sleep about eight hours in a 24-hour day, have five senses, live on geology similar to Earth’s, be mostly right-handed. You get the idea. There are a lot of powerful defaults that we assume even in a world with magic, or elves.

I’m not giving much away to say that The Fifth Season takes place with characters who have a sixth sense, often have hair that is not quite like what you’d expect, and live in a world where civilization shattering earthquakes take place reasonably regularly.

So the technical bar is high. And I haven't even gotten to the fact that Jemisin uses multiple points of view that relate in an unusual way, and that the book is also very much about the consequences of systematically oppressing a certain group of people.

And she just nails it. It's just staggeringly good, the world-building is rich, unique, and interesting. The characters are complex, the story is deeply engrossing. The only thing keeping it from being a slam-dunk choice as my favorite book of the year, is that it's book one of a trilogy. But at that, it also has one of the best last lines ever. It's just an amazing accomplishment, and I can't wait for the next one. With any luck, it’s going to win a boatload of awards and you should read it.

Last First Snow, by Max Gladstone

This is the fourth annual Max Gladstone Craft Sequence visit to these lists. It might be clear that I kind of like these books. This one, which is a direct prequel to Two Serpents Rise and kind of a prequel to Three Parts Dead, has as its not-very-subtle subtext gentrification, as the rich business interests (who happen to be powerful magicians and animated skeletons) try to knock down the land belonging largely to the poor and marginalized (who happen to often be members of a discredited cult that gains power from human sacrifice). Also, there are dragons.

This book is great, but I rave about this series all the damn time, and it’s a prequel so you kind of know how it ends, which takes a little bit of the edge. This is a fantasy series that uses a lot of SF DNA in its world building — it seems that I see a lot more SF that uses its background to comment on the world than fantasy. Did I mention that I really love this series? I made a flip comment this year that I was looking forward to the next ten years of Max Gladstone books more than any other author. (Which I might now amend to be Gladstone and Jemisin…)

The Mechanical / The Rising, By Ian Tregillis

You know, just another alternate-history book where the Dutch develop “alchemical” mechanical robots in the 1600s and proceed to conquer the world. As the book starts, it's something like 1920, and Dutch control of the world is only moderately bothered by a French government-in-exile based in Quebec.

The Dutch control their “clakkers” through elaborate programming with alchemical symbols called “geasa” — think Asimov’s laws if Asimov had been even more into the metaphorical implications of mechanical creatures who are forced to do anything you ask. As you might imagine, the details are top secret, and even the merest hint that a clakker has broken their programming produces a harsh response.

So, pretty much in chapter 1 we get a clakker who goes rogue. Our other viewpoint characters are the leader of the French government’s spy network, and one of those spies who is, I think I can say, spectacularly compromised early on.

Tregillis does a great job of making the clakkers seem implacable and dangerous, not just to the French who are fighting for survival against them, but also to the Dutch, who owe their world domination to their fragile ability to keep them under control. The details of the world and where technology is different from our time are really nicely done (to give one example, the French fight the clakkers with, basically, weaponized glue that immobilizes them). This is a really well done and engaging series. Supposedly book 3, The Liberation, is coming in 2016.

Of Noble Family, Mary Robinette Kowal

This may be the only five-book series I’ve ever read that improved from book to book. (I think I said that last year). The series started as a kind of Jane Austin pastiche with glamour, which is magic that allows for the illusion of light and sound, and which fit very nicely with the Austin world. Over the course of the series, Kowal has investigated the implications of the glamour and also broadened the world, we’ve been to Napoleonic France, Venice, and now the West Indies. She’s also written one of the best married couples I’ve ever read in fantasy.

In this novel, Jane and Vincent are dispatched to oversee one of his father’s holdings in the West Indies, and they essentially find a total mess. As usual, Kowal does a great job showing the world, in this case, including the appalling conditions of a slave society, and the story is intense. Jane and Vincent remain a pleasure, and earn their — spoiler alert — happy ending.

Seveneves, Neal Stephenson

I think Neal Stephenson might be on to something. Rather than ship a book a year, he ships an entire trilogy all at once every three years. Seveneves is even more clearly a trilogy than most of Stevenson’s other huge-mungo works (and yes, this theory means the Baroque Cycle is a nine-logy). In book one, the moon breaks up and we quickly learn that this will doom the entire world. A plan is set up to get enough people and resources into space to survive. In book two, the survivors… survive. Well, (spoiler alert), many of them don’t. Book three takes place 5000 years later after Earth starts to become habitable again.

How much you like this is going to be somewhat dependent on how much pure Neal Stephensonness you like in your Neal Stephenson novels. The first two thirds contain a lot of orbital mechanics and the kind of science you’d need to quickly get a bunch of people into space. It’s exactly rocket science. And if your eyes are already glazing over, this may not be the book for you. I also found the political maneuvering in the middle third to be, well, depressing.

The final third is something we haven’t gotten a lot of from Stephenson, which is a genuinely far-future SF environment. It’s a little… weird from a story standpoint, though I actually kind of liked it.

This is starting to sound kind of ambivalent for a book on my “books I liked a whole bunch” list. I did like it, but I’m a super huge Stephenson fan.

The Traitor Beru Comorant, Seth Dickenson

I started hearing buzz about this book several months before its release from other authors who read advance copies. And it's another one that more than lived up to its advance reputation.

Beru Comorant is a small girl when her peaceful island nation is absorbed by a large empire. She's very smart, and is soon schooled by the empire with an eye toward becoming one of its leaders. But Beru has decided to try to bring the empire down from within. Her first major assignment is to suppress rebellion on a different island nation, which has ongoing strife from multiple noble houses with different agendas. Her methods for managing them, as you might imagine, put her various loyalties in question in complex ways.

One of the best things I can say about this book is this: I often feel that authors under-explain complex political motivations in books... This book has some of the most complicated cross-currents of goals and betrayal that you'll ever see, and yet there wasn't a moment where I wasn't pretty sure I understood who was doing what and why. It’s dark without feeling totally cynical, smart, features the dramatic use of monetary policy, and will probably break your heart.

Uprooted Naomi Novik

These things are both true: I liked this book a lot, and it is also not hard to find online reviews from people who liked it even more. Uprooted starts with a simple, very fairy tale, kind of setup. A village, Eastern European in affect, and The Dragon, an evil wizard in a castle who takes one girl from the village every ten years. Why, the villagers don't know, but they have some imagination.

To the surprise of basically nobody who has ever read books, our narrator, a girl named Agnieszka, is selected by the Dragon, somewhat to her shock, as she imagined a more popular friend of hers would be chosen. Once in the Dragon's company, she learns... well, I don't want to give too much away. She learns that he's not evil (though is is kind of a jerk, at least at first), and that there are much scarier things in the world than The Dragon).

I picked this book up after hearing a lot of great things about it -- I had kind of let Novik's more famous series (the one with the literal dragon) slide after a few books. I'm really glad I did, the book is really well structured, with a very creepy villain, and a plot that never quite goes where you expect it. I kind of wish one of the side plots didn't really get as much emphasis as it does (even hinting is probably a spoiler), and that kind of dulled my enthusiasm for it a bit when all was said and done. But that's more a minor quibble, overall, the book is really great and you should read it.

Welcome to Night Vale, Joseph Fink and Jeffery Cranor

Night Vale is a weird place where time doesn’t work and all the conspiracy theories are true. I’m a big fan of the Welcome To Night Vale podcast, so I was anticipating this book for some time, although my expectations were on the order of “nice book that’s basically a media tie-in”. Which was lowballing it — this book is really spectacular. You don’t need to be a fan of the podcast to read the book, though if you are, you’ll perhaps have a little more background on some of the Night Vale weirdness alluded to in the background.

Fink and Cranor have a unique command of language, results in some amazing, frankly kind of dazzling turns, of phrase in the book. (The podcast generally works best at the level of the individual joke, and at the level of multi-episode plots, individual episode plots are often relatively less interesting.) On top of which, the book hits themes of family with the same off-center but genuine tone as the podcast. It’s a lot of weird fun.

2015 Books That I Liked, Part 1

BooksNoel RappinComment

Thanks to the literally one person who encouraged this list last year, I’m presenting the 2015 list of books I liked. Last year, I split between Fantasy Books I Liked and SF Books I Liked. This year, the split didn’t work out evenly, so I have “Books I Liked”, and “Books I Liked Even More”. Here’s the first batch: “Books I Liked in 2015”.

First, the Books I Liked. Well, not all of them, but especially the ones I thought I could write an interesting paragraph about.

The books are alphabetical by title…

Bookburners, Season 1

I think there's a lot of potential in prose fiction that's structured like a television season, meaning a series of novella-length stories that build to tell a connected story, with a common set of characters, and anyway, you don't need me to tell you what a season of television is like.

Bookburners is the first offering from Serial Box, a publishing house that is going to be doing a lot of these kinds of stories. This one, conceived by Max Gladstone and featuring other authors I like, including Mur Lafferty, is the story of a group of investigators working for the Vatican to remove magic from the world.

If I have one quibble about this structure as it develops, is that it has a strong tendency to be about a ragtag group working in secret against some kind of supernatural force. (Including Shadow Unit, which is, I think the first that self-consciously modeled itself on a TV season, and also some single-author serials like Seanan McGuire's Indexing.)

Anyway, Bookburners does a lot of things well. Interesting main team characters, including some who are Not What They Seem. An overarching story that doesn't go quite where you think, and a solid season-ending moment. It's worth your time, and I'm looking forward to future Serial Box work.

Career of Evil, by Robert Galbreath

I’m not giving anything away by saying that Galbreath is a pseudonym for J. K. Rowling, right?

Anyway, I’ve always thought that all the things that have been written about Rowling have tended to overlook the fact that she’s really good at constructing a plot. It delights me that she’s turned out to write these nice, relatively low key private-investigator mysteries, of which Career of Evil is the 3rd.

This book is a serial killer mystery, which, granted, I do kind of feel I’m close to my lifetime allotment of. Rowing does a legitimately great job of splitting the plot among three suspects, all of which seem both plausible and impossible as the murderer. The final twist was, of course, there in plain sight, and the chapters from the killer’s point of view are genuinely creepy. If you like this kind of mystery, it’s a well-done example.

Cibola Burn / Nemesis Games, by James S. A. Corey

Book four and book five of the Expanse series, which has been rewarded with what I keep hearing is a quite good TV show on SyFy. Hoping to catch up on that sometime soon.

The two books are quite different. In Cibola Burn, James Holden and his intrepid crew are called upon to mediate a dispute on one of the thousands of planets opened up to colonization in the wake of the first three books. A group of squatters and a group of “legitimate” colonizers are both claiming the same platen, and Holden is asked to solve the problem in the full understanding, and maybe even the hope, that he’ll screw up. Making matters more complicated is that the planet itself appears to be fighting back.

In Nemesis Games, the action returns to the solar system as a group of outer-planet militants drop a large asteroid on the Earth, killing billions and basically upending the entire political status quo. My main problem with this book was a feeling that the series didn’t need to drop a big rock on the Earth to keep things interesting, and that the plot dynamics that would come out of the action seemed to lead to less interesting areas. I can’t say that the book completely mitigates my concern, but I’m still waiting for book six, coming out in June.

Fangirl / Carry On, by Rainbow Rowell

Deep breath: Fangirl is a YA novel about a pair of twins who are entering their first year in college, and share a love for the fictional story of Simon Snow, boy wizard, including writing a lot of fanfic. In college, one twin basically abandons the fan world, and the other finds refuge in it. After finishing Fangirl, Rowell decided she liked Simon Snow so much, she wanted to write an entire novel about him. To be clear, Carry On is not supposed to be the fictional novel in Fangirl or its fanfic, it’s Rowell’s separate take on the “Chosen boy wizard” story.

For all that metafictional baggage, and all that it obviously owes to Harry Potter, Carry On is actually kind of great. If it has a flaw, it that it’s sometimes unsubtle about the way it addresses common issues in Potter, such as minority representation, or the morality of placing children in harms way to defeat the evil thing. To be fair, those are issues worth addressing, and Rowell deals with the issues interestingly, and it’s a lot of fun. I particularly like the way magic spells work in the book — based on common phrases and idioms.

The Grace of Kings, Ken Liu

An ambitious book. It's an epic fantasy story using Chinese history and literary techniques as inspiration. More specifically, it's the story of a long revolt against a powerful empire, and the two heroes who lead the revolt, only to find themselves with vastly different views of what should replace it.

The world building is stunning here, the history of the empire, the magic systems, and especially the depth of plans and counter-plans through a plot that covers decades. My main quibble with the book is that the narrative voice is unusual, which I don't mind, but is sometime kind of distancing, which I kind of did mind. There's a lot of stuff that would feel like telling not showing in other books, it works better than you might expect here, because the whole structure of the story is built for it, but again, there's still some distance here. That said, this is apparently book one of a trilogy, and I'm looking forward to it.

I am Princess X, Cherie Priest

What seems like a straightforward younger YA story is elevated by some cool text and graphic novel interplay, and also just by being impeccably well done. Our teenage heroine, May, is mourning the death of her best friend in a car accident, when she happens to see signs and stickers about Princess X, a character the two of them had created together and kept secret. Turns out Princess X is a webcomic with a secret author, and May is convinced it is her friend, somehow alive.

You probably have a good idea where the story is going from here, so I'll just say it's a really satisfying adventure story about smart plucky kids defeating evil grown ups. I resisted reading this for a long time, despite many online recommendations. And then I initially resisted putting it in this list. But it kept creeping up the list, because I just feel so warmly toward it.

The Just City / The Philosopher Kings, by Jo Walton

The annual winner of my “if you only read one” award, as in “if you only read one book where Socrates is pulled out of time to have conversations with sentient worker robots before being turned into a literal gadfly by the Goddess Athena, make it this one". Walton is one of my favorite authors, and this book, where Athena and Apollo pull people out of time to create a literal Plato’s republic, is really, really loopy in the best way.

As you might have gathered by that synopsis this book is kind of bonkers. It’s also a book about big ideas of how to manage a society, when violence is appropriate, and the nature of intelligence. Walton has never written two series that are anything like each other, and yet this book is so clearly a result of her passion for the arguments of Greek philosophy that it’s hard not to get swept up.

Lost Stars, by Claudia Grey

This was the somewhat less-hyped Star Wars tie-in novel of the fall. (I didn’t read the other one, Aftermath, until 2016, so it doesn’t qualify for this list). This one is shelved as YA, and concerns two kids born on a small, insignificant planet in the same year that the Empire forms. He, born to wealth, she born to poverty. Both go to the Empire Academy, and become pilots and commanders. He washes out, joins the rebellion, she becomes the Empire’s up-and-coming star, while still doubting. Oh, they’re in love. Did I even need to mention that?

Together, they wind in and out of each other’s lives and around the events of the original three movies — they are both stationed on the Death Star when it blows up Alderaan, the both wind up on Hoth and at the battle of Endor, and then again at the battle of Jakku, which provides the debris in The Force Awakens. They briefly meet several characters we know, just enough to keep us in the world and not enough to feel crazy contrived. And somehow it works. It works because Grey makes the characters motivations over time work, converting the original trilogy to the character arc of her two characters (both characters are deeply affected by seeing Alderaan destroyed, for example). It’s particularly good at showing how the Empire works, and why one might support it anyway. It’s a good book, deeper and more fun than it needed to be. I read this in a rush right before I saw The Force Awakens, and it was a great table-setter.

Sorcerer to the Crown, Zen Cho

This book takes place in a fantasy version of what is invariably described as Regency England, and with it's emphasis on English magic, it's more than a little reminiscent of Jonathan Strange and Mr. Norrell. Zacharias is the new Sorcerer Royal, having come to the position suddenly on the death of his mentor, he's unprepared, and he's also an orphan from Africa, who most of the other sorcerers look down on because of his race and station.

English magic is disappearing, and nobody knows why. Zacharias is suspect because the decline effectively started on his watch, and because his race and station are, shall we say, not appreciated by English sorcery as a group. Eventually, he meets a woman named Prunella, who is being trained not to use magic, as is the local custom regarding women, and together they… save the day? Well, not quite, because there are more books in the series.

State Machine / Greek Key, by K. B. Spangler

I’ve recommended Spangler’s books here before. She’s the author of the webcomic A Girl And Her Fed, and these novels tie into the continuity of the comic. Among a few other things, the comic is about a group of people who have a brain implant that allows them to manipulate EMP signals along with other super-powers.

State Machine is an SF mystery, staring Rachel Peng, whose implant allows her to read people's emotional state and involving the theft of an artifact from the White House, It's very similar in tone to the previous two Rachel Peng books, maybe to a fault. That said, I like the tone of the other Peng books, and I liked this one, too.

Greek Key is kind of a spinoff novel, starring Hope Blackwell, who is actually the main character of the webcomic. Where State Machine is kind of a mainstream SF thriller, Greek Key brings in some more... esoteric aspects of the comic. By which I mean it has ghosts of famous figures in history, a super-intelligent sentient koala, and time-travel. I mention that because its useful to go into the book realizing that it's less Law and Order: 2025 and more Raiders of the Lost Ark with a hyper–intelligent koala.

And when I put it that way, who wouldn't want to read Raiders of the Lost Ark with a hyper–intelligent koala?

The Three-Body Problem, Cixin Liu Tr. by Ken Liu

This is the book that won the Hugo award for Best Novel, and while I'm pretty sure nobody wants me to chime in on that entire mess, I was basically okay with it. It wasn't my first choice, or my second choice, but I can see what people liked about it, and I even liked a great deal of it myself. (As was observed multiple times, even though it was translated from Chinese, the book has a lot more in common with golden age American SF than most of the other nominees...)

The book starts, more or less, with a number of inexplicable phenomena happening against the backdrop of recent Chinese history. The title refers to the physics problem of solving the chaotic attraction of three objects in mutual gravitational attraction, and also a mysterious computer game that simulates and alien civilization that is under the influence of three unpredictable suns and must continually rebuild.

Eventually, we find out the source of the game and the phenomena, along with a couple of different Earthly responses. The book has some really neat SF ideas, there's a simulated computer made up of people (well people inside the game) that's really neat, and the ultimate source of the game and related activities is neat. The translator helpfully footnotes cultural references that might slip by American readers.

An Annoyed Rant About Writing Tools

writingNoel Rappin2 Comments

I will grant that I am very much not the market here, but if I’m being super nitpicky, there are five things I want from a writing tool for my technical writing:

  1. It is okay with proportional fonts. I don’t like my prose to look like code, which I realize is irrational.
  2. It should syntax color Markdown, including the backtick for code literals.
  3. It doesn’t go berserk when HTML or other symbols are inserted into the Markdown. I often have to do this for code samples or layout instructions.
  4. It seamlessly syncs using Dropbox. For the build process, the files need to be in a specific location, and making iCloud work with it would be a pain.

It’s surprising to me how many of my favorite writing tools fail one of these requirements.

Sublime and Atom fail on the first point. I’ve used code editors for writing, but I don’t like it.

Most of the Markdown editors for Mac, your iA Writer, your Byword, fail on point 2 by not coloring the backtick. Which I can put up with, but is nice to have. iA Writer also fails the Dropbox sync, in that if a file is open, but Dropbox changes the file on disk, most editors update the file on screen, iA Writer does not, which has actually caused sync failures and loss of data in practice.

Ulysses — which I love, and which I’m typing this on right now — fails the third point. It tries to be smart about markup, and when I drop HTML in, it tries to escape it and adds stuff to the underlying text in unpredictable ways. Dropbox support is shaky too, Ulysses really wants to store all your text in its own file.

The only app that I know about that does all these things is Editorial. On the iPad. Which is actually a great writing tool with a Bluetooth keyboard, though I find editing a little tricky. And of course it’s hard to write on the iPad in conjunction with coding (though I’m experimenting with Nitrous IO a little).

MultiMarkdown Composer for Mac is close, but I’ve had stability problems with it in the past. It also has a 3.0 version that the website claims will be ready in April. 2015. (And the 3.0 beta doesn’t syntax color backtick).

End of rant. Am I missing something? Is there a Mac editor that manages all of these ridiculous requirements? Or am I doomed to be vaguely annoyed?

Back to Mastering Ember

Self PublishingNoel Rappin2 Comments

Welcome back

This week I sort of broke ground on the book that will probably be called Master Space and Time with Ember. Here are some things I know or am reasonably sure about.

  • It's going to be pretty much a complete rewrite. I mean, some of the cranky rants might still be there, but all the technical content will be new. A new example application, too, though I'm still trying to figure out what that might be. (I've been using the time travel agency for years, it might be time to branch out. Later update: yep, it's going to be a different example, but obliquely inspired by the time travel idea.)
  • By complete rewrite, I mean: Ember 2.0 (eventually), Ember data 1.0. Ember CLI, ES 6, pod app structure, Mocha as a test library (probably). We will talk about creating a back end server.
  • In case it's not clear, this is going to be somewhat ambitious. It's going to be longer than the current book.
  • I'm also hoping for some clever design, both layout and structurally.
  • Beyond the basic Ember-y things, I want to include some bigger topics, definitely authentication, maybe integrating with d3. I'm open to suggestions.
  • I definitely want to focus on thinking Ember style, beyond just the mechanics of the objects and such.

Which brings us to pricing. I haven't worked out all the details, so subject to change. But it'll be something like this.

  • If you own the current Ember book, either on its own or as part of the entire MSTWJS bundle, you will get the version 2 book free for nothing. Mostly because I feel like I promised the update to all of you.
  • This means that buying the current ember book at $10 is going to be a hell of a bargain, because the base price will definitely be higher.
  • given my traditional bent toward underpricing, I doubt it will be as high as some of the other self-published books in this space.
  • if DPD implements it in time, I'd seriously consider variable pricing. I'm also considering something like Avdi's thing of just offering the book at two prices.
  • I'm also considering extra content, probably screencasts, either as a separate add on or possibly via Patreon.

And, timing. I'm hoping to start distributing early versions of the book, at least to current owners by the announced Ember 2.0 date of June 12. But I have no idea what state it'll be on by then.

Any questions?

SF Books that Make Me Happy in 2014

BooksNoel RappinComment

After last week’s Fantasy novels that made me happy, here’s part two. These are the Science Fiction books that I read in 2014 that made me happy. Again, alphabetical order by title.

Also, I’m noticing that my writing-about-books skills are rusty, though I always found it hard to write anything decent about a novel without spoilers.

Ancillary Sword, Ann Leckie

This is the sequel to Ancillary Justice, which one all the awards last year. It’s also the middle book of a trilogy, and like many middle books, leaves some plot unsettled. While Ancillary Sword continues the somewhat ambiguous gender roles of the first book, the tone is much different. The first book was more of a quest, but in this book Breq now has command of a her own ship (it'd be spoilery to explain why), and a mission to protect a planet from the events triggered by the end of the first book (is that vague enough?).

So this book is more, well, anthropological, and more of a mystery (Breq uncovers some corruption). The descriptions of the Radch culture remind me of Jack Vance and a little bit of Urusla K. Le Guin. What's interesting about Breq's viewpoint here is not so much the gender thing (which fades into the background), but the way Breq is able to integrate information from all different inputs--Leckie does a great job of handling Breq's somewhat alien point of view.

While this book may not have the technical splash of the first, I think I enjoyed it more, and I'm looking forward to the third book this year.

Digtal Divide and Maker Space, K. B. Spangler

I think these are the the books on this list that you are least likely to have heard of. Technically these books are a spinoff from Spangler's webcomic: A Girl and Her Fed. Don't go away -- you don't need to have read the webcomic to enjoy these books. I can prove it, I've never read the webcomic, and I love these books.

In the very near future, a government program identifies elite young go-getters and implants them with a computer chip. After some various travails in the back story, the implanted go public. The chip has given them various special abilities, including brain-to-brain communication, and the ability to interact directly with machines. Our lead character, Rachel Peng, has been attached to the Washington DC police department to use her considerable special abilities. (She has a very neat ability to see people’s emotional state as a color overlay, but is still trying to figure out what the colors mean.)

The two books are mysteries, against the SF backdrop of the existence of the cyborgs and what their abilities suggest for, say, digital privacy. The mysteries are well done, the characters are unique and interesting, and I like the world.

Lock In, John Scalzi

A very classic SF kind of structure: create a radical change and use the story to explore the consequences from as many angles as possible. Lock In takes place about twenty years after a new epidemic leads to a significant number of people losing the ability to control their voluntary nervous system. They are alive but, shall we say, locked in to their bodies, unable to move. A whole industry has sprung up to manage these victims including neural implants that allow them to control artificial bodies, affectionately known as "threeps".

Our main character, Chris, is a disease victim, but has become an FBI agent via threep. (I need to be careful here, Scalzi deliberately never reveals Chris' gender, going so far as to have are two audio books, one voiced by Wil Wheaton and one by Amber Benson.) Is there a murder? Yep. Does it play out against the backdrop of political machinations over who pays for the treatment of disease victims? Yep. Does Scalzi pretty much run through every possible cool way of dealing with handling a threep or what it'd be like to be a victim or live among them. You bet. Good mystery, interesting characters, great world building.

The Martian, Andy Weir

Possibly the book on this list that I've recommended most often. The story is very simple: the first manned Mars mission leaves suddenly following an accident and inadvertently leaves behind a crew member, who must then try to stay alive until somebody can come and rescue him.

There's kind of an old-school SF tone here, with a lot of engineering -- it's been described as the most exciting novel ever written about potato farming. The voice of the main character is great (I'd imagine it makes a really good audiobook, though it's a prime candidate for having the upcoming movie adaptation totally miss what's great about the book). The pace is fast, it's almost impossible to stop reading in the middle.

My Real Children, Jo Walton

This book is a little hard to characterize. It's more alternate history than science fiction, at least right until the very end. Our main character is an elderly woman in the last phase of Alzheimer's, who seems to remember two completely different versions of her past.

The book than goes back and forth between the two versions, in one, she chooses to marry a suitor, and in the other she doesn't. Both worlds proceed down very different paths, which is probably not directly related to her choices. (Neither path is our time line, which I appreciated). To radically oversimplify, in one she is more personally happy and fulfilled and in the other the world as a whole proceeds down a more peaceful path.

Walton is a longtime favorite author, and both lives and both worlds are beautifully detailed. The ending is also really lovely.

We are All Completely Beside Ourselves, Karen Joy Fowler

Another book that's sort of lightly science fiction, in that it's literally fiction about science. The main character grew up as part of a psychological experiment administered by her parents, the exact details of which you are better off going into the book not knowing. Now, she's a grown-up and has to come to grips with what her parents did to her and what we will generously call her siblings.

It's hard to describe what happens here without spoiling things, if possible go into this book without reading reviews, most of which do give away the key detail. (I'm not normally a huge spoilerphobe, but in this case I think it will make a difference.) Even though this is perhaps not technically science fiction, it concerns itself with the kind of questions -- what makes somebody human, what connects people to each other -- that science fiction often asks.

What If? Randall Munroe

I can call a book of hypothetical science questions science fiction, right? (I'd bet a significant amount of money that Munroe is at least nominated for a Hugo Award for this one...) Odds are that if you are reading this you don't need me to tell you about XKCD or his What if site. This book collects a bunch of questions from What If?, plus some new ones, plus some disturbing unanswered questions. It's really fun, and a good companion to the Last Policeman books in that pretty much all of the questions wind up with the end of the world one way or another.

World of Trouble, Ben Winters

This is the third and final book in The Last Policeman trilogy. These would almost be straight-up detective novels if they didn't take place against the backdrop of this meteor, which is 100% going to hit the earth with extinction-level force. When the trilogy starts, the impact is about eight months away and society is starting to crumble. When this book starts, the impact is only days away and society is down to crumbs.

All of which makes for an odd kind of pre-apocalypse novel. Unlike, say, your typical zombie story, in this series it would have been completely possible for everything to have continued perfectly as normal right up until impact. Except of course there's no way that happens. It's impossible to read this series and not wonder what you would do under the circumstances--what's so important to you that you would continue to pursue it right to the literal end of the world.

In this book, mysteries are solved, loose ends are tied, and it closes on a scene that I swear I have thought about at least twice a week since I finished the book. It's stunning. Depressing, but stunning.

Things That Make Me Happy: Fantasy Novels, 2014

happy, BooksNoel Rappin2 Comments

Every year, I'm determined to write a post about my favorite books of the previous year. Every year, I fail at it, in part, because of my tendency to want to write a 2000 word essay on each one.

This year, I'm doing it as part of my new "things that make me happy" blog posts. And I'm splitting it into two parts: fantasy novels this week, and SF novels next week. This isn't every book I liked in 2014 (a great year for new books), but it's a list of the books I liked the most. This is also not a place for quibbles and complaints, this is about books I loved and what I loved about them.

Books are alphabetical by title.

Afterworlds, Scott Westerfeld

This is a split book, half the chapters are about Darcy, an 18-year-old who is skipping college and has moved to Manhattan to finish a novel for which she has already received a sizable advance. The other half is Darcy's novel, a YA paranormal romance.

Just on a technical or structural level, the book is impeccably put together. We see Darcy having experiences that bleed into the novel, we see her talking about old versions prior to the one we are reading, and we see her obsessing about getting the ending written even before we read it. The Darcy sections are really fun, there's a lot of great scenes about writing and the YA publishing scene, and the novel-within-the-novel is a perfectly publishable YA novel that doesn't feel like Westerfeld's normal style. That's all really hard to do.

If you have any interest in fiction writing or fiction writer's process, I really recommend this book.


Full Fathom Five, Max Gladstone

Full Fathom Five is basically distilled essence of almost everything I want in a fantasy novel. It's got a cool modern-feeling setting, the magic is unusual and resonates on kind of an emotional logic level, there's more than a hint of satire or social commentary. Plus the characters are interesting, the plot is intricate and well-structured.

In this world, magic is somewhat analogous to law and finance (Gladwell started the series in 2008 after deciding that the news items about bringing Lehman Bros. back to life sounded more than a little like necromancy...). Pieces of soulstuff are used as currency. This novel takes place on an island whose primary industry is the creation of idols where people store excess soulstuff so they don't need to spend it in tribute to various gods as they travel. Yes, it's anonymous offshore prayer. Anyway, the idols start to come to life, which is somewhat disruptive.

If I haven't hooked you by this point, I'm probably not going to. If I've even close to hooked you, you should read this.


The Goblin Emperor, Katherine Addison

If you want to talk about books I loved, possibly beyond reason, possibly in a "don't tell me if you didn't like it" kind of way, this is the book. I have a weak spot for books about characters who are basically decent, who are placed in tough situations, and who survive by being basically decent.

Maia is the unloved, exiled, half-goblin fourth son of, well, the Emperor. On about page 2, the Emperor and his three other sons are killed in a mysterious accident. Maia moves from his country, somewhat shabby life to becoming the Emperor overnight. He finds his new role bewildering, and the existing nobility indifferent or hostile.

You may think you already know how this story goes, and you are somewhat correct. But Maia is so well drawn, and his instincts are so different from what you might be imagining, that the book works spectacularly well. It's the kind of book where there's a brief, confusing flurry of violence, and then chapters of aftermath, including Maia's second guessing. It's a book where Maia receives a demand that he abdicate, and takes it much more seriously than you might think. And honestly, I'm doing a horrible job of expressing why I loved this book. Please try it, it's really something special.


The Golem and The Jinni, Helene Wecker

This book -- truth in advertising alert -- is about a Golem. And a Jinni. Both of whom find themselves separately among the immigrant communities in 1899 in New York City. They meet while each is trying to adjust to a life that is not what they originally intended. What happens next is -- well, it's a lot of stuff. Each of them has a villain of sorts to overcome, and the various people around their lives have their own stories. It's not quite a paranormal romance, not quite a mystery, not quite epic fantasy, and not quite historical fiction, but it draws on all of them.

I recommend this book a lot, in part because the historical fiction part of it is so strong that it's a good recommendation for people who don't read much fantasy. It's also really evocative of a historical time and place that I'm really interested in.


The Magician’s Land, Lev Grossman

This the third and final book in a series. I describe this series to people. I say "Harry Potter. But in America. With college-age students. And they go to Narnia." People usually make a face, because honestly, that sounds potentially ghastly. So, this is one of my two or three favorite fantasy series of the past few years, even though it sounds like a weird mashup.

First off, Grossman knows the Narnia stuff cold, and he's pretty great on the wizard stuff too. (For one thing, his books have an underground magic society, which is one thing Rowling generally avoided.)

It's hard to talk much about this book without spoiling the first two in the series. So, I'll just say, this is a really great fantasy series, and it's a worthy conclusion.


The Rhesus Chart, Charles Stross

This series, I describe as "Lovecraftian horror, where the evil creatures are summoned via computer programs." There's a good chance I've already hooked you. The main character, Bob Howard, starts the series as a low-level IT Tech at the Laundry, the super-secret British agency that handles supernatural horrors.

The first few books of the series parodied various spy book and movie tropes. Having run out of those, Stross is now going after urban fantasy, and in this book, as the title might imply, we get vampires. Except, as many people in the novel mention, everybody knows that vampires don't exist.

Stross is really good at imagining logically consistent versions of fantasy creatures (see his novella Equoid for a terrifying alien unicorn.) He also knows his programming stuff, and the series is littered with offhand jokes that developers will get (like the suppressed 4th volume of Knuth that contains all the demon summoning programs). This is maybe my favorite book in a series that I really like.


Something More Than Night, Ian Tregillis

How can I describe this? The main character is an angel. Who, for some reason, likes to talk in a 40s detective-noir style. He's investigating the death of the angel Gabriel. Oh, and the book takes place partly in a near-future sort-of-dystopia, and in the metaworld where the angels live. And there's more quantum physics than you'd typically expect in a fantasy novel. It's weird, and I liked it much more than I expected to.


Valour and Vanity, Mary Robinette Kowal

This is a rare multi-book series where the books keep getting better. The initial book was very much "Jane Austin, but with magic". Subsequent books (this is book 4) have taken the main characters around the world. In this book, they find themselves in Vienna, where they are promptly conned out of all their money and effectively forced to stay in the city.

What's next? Naturally, run their own con/heist to get their money back, expose the evildoers, and save the day. Kowal is fantastically good at having the magic (which the characters call "glamour") act as a seamless part of the world. The two main characters are one of the more interesting fictional couples going, and the whole thing is just really fun to read.

Hey, I have a blog

Rails Test Prescriptions, self promotionNoel RappinComment

Making me happy

One of the things I want to do in 2015 is write more. This, like all New Year's type resolutions, is invariably doomed, but we'll take it as it comes. I also want to write more about things that aren't programming, because, well, there are a lot of things that aren't programming but are still interesting to write about.

Combining these ideas, I'm going to try (and probably fail) to do a weeklyish "What's making me happy this week" blog post based loosely on the similar feature at the end of the NPR Pop Culture Happy Hour Podcast. That’s, of course, not this post. But the first one is coming.

But first, a word from our sponsor

It's been a while since I did a flat-out update post. So here is one.

The book, by which I mean Rails 4 Test Prescriptions is out. In print, in an actual physical object that has been read by stuffed monkeys across this great planet of ours. And also a few people.

Couple things:

The book is, of course, available from Pragmatic. You can also get it from Amazon. And, unlike the previous version, you can buy the Kindle edition directly from Amazon, if, for some reason that's the only ebook version you want.

As part of what might, if you squinted at it hard enough, be called a marketing push, I was a guest on both the Ruby Rogues and Code Newbie podcasts. Happily enough, I repeat myself almost zero times between the two of them because the discussions went off in completely different directions. Also, the Code Newbie podcast is worth listening to even if you aren't a Code Newbie, and Saron is amazingly organized and putting together something really neat.

I also was lucky enough to be a guest chef for two episodes of Ruby Tapas. This isn't really part of any marketing push except coincidentally. Avdi was looking for a number of guests to help with his schedule as his family was gaining a new baby. They were fun to do, and I'm thinking about ways to distribute other screencasts if I can find the time to do some.

Oh, and according to the PragPub magazine, Rails 4 Test Prescriptions was the top selling book at Pragmatic in December, which I am putting here because someday I'll read this and it will make me happy. I will say a) this is a little bit less impressive than you might think, since Pragmatic only put out a couple of new titles in December, b) it's probably less books than you think, and c) I'm still a little too happy about this -- the first version of the book never got higher than 4th, and I wasn't really expecting any better this time around.

The relative sales between the two versions are actually kind of interesting. The comparison dates aren't quite exact (version one went on sale as a beta in April, and I think they started taking orders at the end of the following February, version two hit beta this June and shipped in December).

So, we're talking about April-Dec 2009 for the first book and June-Dec 2014 for the second. Although this is an extra couple of months for the first book, some of the first book's biggest moths were Feb/Mar 2010 and aren't counted here. So it's not really an apples to apples comparison.

Ebook sales for the two versions are almost identical (the first book is a hair higher). The physical book sales are a lot less this time around -- even though all the physical book sales being counted for the first book would have been pre-orders. For the first version, Ebooks outsold physical books about 6 to 1, this time around it's more like 17 to 1. (Though I expect that ratio to drop back down once Amazon and other bookstore sales get counted). Overall, sales are about 90% ish of the first version through December.

Coming up

I have a few conference and meetup talks coming up.

I'll be doing a talk entitled "What we talk about when we talk about testing" at both a Chicago Ruby North Shore meetup on February 7, and then again at Groupon Geekfest March 3.

I'll be at Ancient City Ruby March 25-27, doing two things. On March 25, I'll be doing what is, I think, iteration 4 of the "How to do Fancy Object Things in Rails Without Losing Your Mind" full-day work shop (not it's actual title). And then sometime during the conference itself I'll be giving a talk on estimation, and Trust-Driven development. Really looking forward to this one.

Oh, and the books

There are two things that you might have given me money for and still be expecting some content. Let's take them one at a time.

Trust-Driven Development

Status: was about 30-40 percent done when I abandoned it to start Rails 4 Test Prescriptions.

I've picked this back up. I was really hoping this would be done by the time Ancient City Ruby comes around. I think it's got a fair shot of getting there.

In retrospect, I may have overestimated the audience for people reading my rants about projects. However, I really like writing it, and I think it's got good advice. So you should read it.

Ember

Status: First edition finished. I promised I'd take another swing once HTMLBars came in and Ember Data hit 1.0, which I was hoping would be roughly August 2014.

Well, HTMLBars will officially be in Ember as of a week or two from now, Ember Data may well actually hit 1.0 some day, plus we've got a whole new suite of tools in Ember CLI, which also now brings in EC6 language features.

My probably ambitious goal is a redo of the whole book, top to bottom, using Ember CLI, EC6, and other cool new stuff to build an application. So it'll be almost 100% new, and probably under the more direct title Master Space and Time With Ember.

Existing owners will get it for free. I'm not sure what will happen to the other MSTWJS books or how I might bundle them.

I'm also not sure when I will start, though it probably will wait until Trust-Driven Dev finishes.

Rails 4 Test Prescriptions Beta Day!

Rails Test PrescriptionsNoel RappinComment

It’s book day! Rails 4 Test Prescriptions is available for Beta purchase today. Tell your friends, tell your enemies, tell random strangers on the street.

I realize this is way more exiting for me than for you, but still… Here are some things that you might want to know:

How do I buy it?

Right now, the only place to buy the book is at the pragmatic website, http://pragprog.com/book/nrtest2/rails-4-test-prescriptions. You can buy it in electronic format, for $25 you get the current book and all future updates in ePub, Mobi (Kindle), and PDF formats. You can bundle the ebook with a pre-order of the physical book for $48, which is a $15 discount over buying them separately.

The print version will be available on Amazon and other outlets when it ships. There is a slight possibility that the Kindle version will also be available at Amazon. Other electronic formats will only be available via the Pragmatic website.

What happens next?

The initial beta of the book is about 2/3 of the final text. (If you look at the Table of Contents on the Pragmatic Site, it’s everything up to and including Integration Testing.

According to the current schedule, I’m due to submit the final draft of the book toward the end of July. I’d expect there to be probably three more betas during that time period. After that, the book goes to a final technical review, then copy edit and production. I think the normal practice, there’s a beta after the technical review, and another one after production.

Then it goes to an actual printer, with a current shipping date, according to the Pragmatic website, of October 10.

What’s in the book?

You can see the full table of contents and read a few excerpts at the web site. Almost all of the book has been rethought and re-written for the new edition. We’ve got Minitest 5, we’ve got up to the minute RSpec 3 changes. We’ve got Capybara, we’ve got Cucumber. We’ve got mocks, and models, and SWIFT tests, and all kinds of great stuff.

The next beta will add security testing, and either JavaScript or external service testing.

I really hope you like this. Tell everybody!

All Things Test Prescriptiony

Rails Test PrescriptionsNoel Rappin4 Comments

A lot of Test Prescription book news got finalized last week.

  • The title of the book is Rails 4 Test Prescriptions: Keeping Your Codebase Healthy. The publisher wanted the Rails version number in the name, and I want the publisher to be happy.
  • The tentative on-sale date for the beta is June 11. For those of you who were around last time, the beta period is expected to be much shorter. It will include 10 1/2 - 11 1/2 chapters out of 16 planned. My guess, backed up by nothing at all, is that we’ll be draft complete about 6 weeks after that and the print version will be another 6-8 weeks after. All that is subject to change.
  • There’s a cover. I think. I hope to be able to show it soon.
  • Meantime, I’m on a pretty strict 3-4 pages a day to get to the beta deadline.

Here are the changes, broadly speaking, between the first edition and the second. Very nearly all the book has been rewritten at least slightly, there’s almost no text that was copied over without any changes. But it goes a lot further than that. I’m quite confident that if you own the original version, you will find most of this new.

  • All tools upgraded to latest versions: Rails 4.1.x, Minitest 5.3.x, RSpec 3, and so on.
  • The opening tutorial was completely re-written. It’s an all new example to provide, I hope, a more gentle introduction to testing in Rails.
  • The code samples in general are better. In the first book, a lot of the samples after the tutorial were not part of distributed code. Most of the samples in this book will tie back to the tutorial, and are runnable.
  • The JavaScript chapter will be nearly completely new.
  • A new chapter on testing external services
  • A new chapter on testing for security (at least one of these three won’t be in the initial beta)
  • A new chapter on debugging and troubleshooting. (Not in the initial beta)
  • A new chapter on running tests more efficiently, looking at both the Spring/Zeus preloader option and the don’t load Rails, plain old Ruby object option. (These last two might get combined) (Not in the initial beta)
  • Somewhat more emphasis, I hope, on using testing in practice, somewhat less on duplicating reference information.
  • Some thing that were full chapters in the first book are de-emphasized, and covered sparingly if at all: Shoulda (since it’s not really used anymore), Rails core integration tests (in lieu of spending more time on Capybara), Rcov (may get mentioned, won’t get emphasis), Rails core performance testing (again, may get mentioned in one of the other chapters)

I’m really happy with how the book is coming along, and I hope you all like it in just one short month.

The Future, Soon

Noel RappinComment

It's been a while since I gave an update on the far-flung writing projects of Noel Rappin, inc. Here goes.

Rails Test Prescriptions 2: The Refill is heading out for roughly 50% draft complete technical review this week. I believe the reviewers have already been contacted, thanks to all of you who volunteered. There probably will be another round.

The review will probably take us through the end of March, at which time, I make any fixes suggested. My understanding is that the book has cleared the publisher review, which was, this time around, thankfully anticlimactic.

Being optimistic, I'll pick up the draft again in the beginning of April. There's something like three to four more months of draft writing to go, plus another round of reviews and edits, minus the fact that it will go on sale in beta before all that is complete. So, best case, it's on sale in August or September? That would be nice.

In the meantime, I'm making some forward progress on Trust-Driven Development, which I still am enjoying a lot, and which may eventually get a real promotional push and actually sell some copies. I expect that there will be at least one and hopefully two incremental releases of the book in the next month, and then moving toward a more complete draft later in the summer. The price will go up eventually, so now is a good time.

Once RTP: 2 and Trust-Driven Development get put to bed, next up is Master Space & Time With JavaScript version 2.

Here's what I know about it.

  • Updates to existing books will remain free to current customers.
  • It will move to current versions of jQuery, Backbone, Jasmine, and Ember, plus possibly start discussing ES6, depends on timing.
  • It will improve the setup of the sample code. It may break the Rails dependency, I'm not sure yet.

After that, who knows... Angular is not out of the question, but it is behind all these other things.

What I learned from reading 429 conference proposals

Noel RappinComment

I need to say this off the bat: this is my own experience, and does not necessarily speak for or reflect the opinions of Ruby Central, or any of the other conductors who chose individual tracks.

Also, I'm sure I'm leaving interesting things out, ask questions in the comments and I'll answer.

Are we good with that? Great.

Here are some things I learned from scoring and choosing my little corner of the RailsConf program. Which actually turned out to be a lot of fun.

The thing is: there is an essential arbitrariness to this process. I hope this isn't a surprise. But we've got fallible humans trying to guess how good a 40-minute talk will be from a 500 character abstract plus supporting material. Yeah, there were great abstracts. And there were awful ones. But there were an awful lot that were just really solid. Too many to fit the conference. So you have to pick. And inevitably that comes down to issues such as:

  • talks that might duplicate content
  • talks that don't seem to fit the conference or track
  • attempts to glean meaning from word chosen and words not chosen
  • an attempt to have a range of viewpoints, experience levels, and new and old speakers.

Ultimately, you have to pick what you think is best and hope you won't get too many people angry at you. I should mention here that I actually enjoyed the reading and rating all the proposals part, not so much the rejecting part.

Making the process blind does't keep it from being arbitrary, but it does change the flavor of arbitrary a bit.

What can I tell you that might help you in the future? A few things:

Things that get you in trouble

In no particular order, here are four things that got proposals in trouble:

Lack of detail or vague audience

The abstract basically boiled down to "I'm going to talk about X for a while", leaving out trivial details such as: "What is X?", "Why is it important?", "What will I learn about X?"

The slightly more advanced version of this is a talk that ends with something like "you will learn five techniques for solving your problem with X". That's better -- and if the proposer put some details in the extended field it worked out sometimes. (Disclosure -- I still end abstracts like this all the time. Which does not make it a good idea).

Better is "we'll learn to do Z, and other techniques that will allow you to do X". But granted there wasn't a lot of space in the abstract.

Pitchy

I was surprised at how many abstracts basically boiled down to "my company's product is awesome" or "my company's process is awesome".

Anything that felt like it was going to be a 45 minute commercial had an uphill battle from the reviewers.

If you are submitting a talk about something awesome your company does -- product or process -- try to make the proposal more generally about the problem. We want to hear about awesome things.

Aggressive

There weren't very many of these but they were maybe more memorable. Including language or terms in your abstract that seem unprofessional or aggressive was not looked on favorably by the reviewers. Often this was language, some times it was an aggressive or condescending tone towards other developers.

I solved the world

The last category is a little harder to describe... an abstract that basically went like this:

  • X is a hard problem
  • I solved a particular case of X
  • I will generalize my one solution to the entire universe of X

What's tricky about this kind of proposal is that it's only subtly different from a really good talk:

  • X is a hard problem
  • I have an approach that worked once
  • Let's talk about when that solution is appropriate and when it is not

The difference is one of self-awareness and a little bit of humility. The first style sounds arrogant, and not in a good "I'm gonna give a great talk" kind of way, but more in a "I have no idea how complicated this problem really is" kind of way.

Ways to help yourself

The advice from my last post holds, especially Rule One: "Don't give them a reason to reject you out of hand". That's basics of grammar, and the structure of the abstract. Beyond that:

Make Your Argument

RailsConf, like many conferences, allows submitters to submit an abstract, which is public, and a private pitch that only the organizers see.

It was not unusual for the pitch to be stronger than the abstract, I think because people internalize "abstract" to mean "list what my talk is about" and "pitch" to mean "convince people to pick my talk".

This isn't academic writing, though, and you want your abstract to convince people to come to the talk. Think about what you would tell somebody to convince them that they needed to see your talk. Include that.

Vote Early and Often

I think there's a slight benefit in submitting early. About 40% of RailsConf proposals came in the last 24 hours.

In the specific case of RailsConf, if you submitted early you had more of a chance to get feedback from the organizers, which helped a non-zero number of people get selected. The crunch at the end of the time period prevented that level of feedback on the final batch.

Also, a lot of the last-gasp proposals were a little slapdash, almost as if they had been put together at the last moment.

Blind Proposals

RailsConf had an initial round where the bio and name were not connected to the talk, and it was rated by multiple reviewers (at least 3), followed by a final creation of the list, at which time names were attached to proposals.

I'm was reasonably OK with this as a process. I think that the blind review does fulfill the function of forcing the review to focus on what's actually on the page, and not any knowledge of what the speaker brings to the table. I was unaware of the speaker for most of the talks I rated (in some cases the speaker inadvertently left in identifying information in the talk, which is a solvable problem, and in other cases, there is only one person who's talking about a given topic -- less solvable, but we do the best we can).

In general, the blind ratings were the basis of the final program, while granting that the difference between a talk rated 4, 4, 4, 3 and one rated 4, 4, 3, 3 is pretty minimal, and the conductors did do some curating where there were multiple closely rated talks. (Also there were a couple cases where one speaker had two highly rated talks, and so only one was considered... that kind of thing).

In conclusion

  • You absolutely can submit and be accepted to RailsConf even if you've never been a conference speaker before. We picked several first-timers.
  • The app that RailsConf used is going to be open sourced, so hopefully other conferences will pick up on the feedback structure that we used.
  • Sarah Mei is awesome. She rated all 429 proposals.
  • Your abstract and details are important. Make sure you are clear on who will get something from the talk, what they will get out of it, and why.
  • I'm reasonably happy about the "rate blind, then curate" process. It's not perfect, but I think it worked out okay.
  • I'm excited about the program we picked, and I'm really looking forward to seeing the talks. And hopefully seeing you there.