Noel Rappin Writes Here

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.


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, 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.


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.


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.

Experts, Passion, and Pinpoint Control

developmentNoel RappinComment

Quick and random:

The book Ball Four had a big impact on me as a kid. I stumbled across a copy when I was about 12. If you don't know, Ball Four, written by Jim Bouton and published in 1970, was one of the first big athlete tell-alls (though it seems much tamer these days than it did when it came out...) Anyway, a lot of the book can be read as the story of an articulate outcast trying to understand and navigate the other teammates that he's basically stuck with.

One passage from the book that's always stuck with me, is this one, which is Bouton taking about his early career:

When I first came up I thought major-league pitchers had pinpoint control, and I was worried that the best I could do was hit an area about a foot square. Then I found out that’s what everybody meant by pinpoint control, and that I had it.

How great is that? That is a form of impostor syndrome from a major-league pitcher.

It's a strategy I use to this day -- when I'm upset because I'm not sure if I qualify for some vague category like expert, or passionate programmer, or author, or senior developer, I at least consider the possibility that I'm setting the bar for that term too high, and that I'm already that thing.

Because experts look things up.

And senior developers ask for help.

And passionate programmers do other things sometimes.

And pinpoint control is a foot square.

Conference Prompts: Or How to Submit Proposals and Influence People

RailsConf, Speaking and WritingNoel Rappin1 Comment

I'm going to be conducting a few of the tracks for this year's RailsConf, specifically the Novice, Testing, and Crafting Code tracks. I'm very excited, this isn't an opportunity I've had before.

What I want from all of you is awesome proposals. I want to have to make hard decisions. I want to be inundated with all your amazingness.

Because I want to hear from all of you, here are some opinions on how to best present yourself in a speaking proposal.

Yes, You Can. In Fact, Please Do

In response to my initial round of begging for proposals on Twitter, somebody commented that they didn't think they were the most qualified person to talk on a particular subject.

To which I have three cheesy but true responses:

  • A conference that was limited to only people that really though they were the most qualified person to talk would be depressing, if not completely horrific.
  • You are absolutely the most qualified person to tell me what you think on a particular topic.
  • This is how you become qualified. You study something, you teach it to other people.

In other words, please don't let that stop you. If you don't submit a proposal, you have zero chance of being accepted.

(In a similar vein, here's a talk I once gave about how everybody has technical writing in them. Video's poor, but audio is okay.)

I can't speak for any of the other conductors, but I'm also looking for people who want to give shorter talks (10-15 minutes) with the idea that we might have a session that is 2 or 3 awesome shorter talks. If that interests you, definitely mention it when you submit.

What Should I Talk About?

Let's say, for the sake of argument, that I've convinced you that you should submit a proposal to RailsConf or the conference of your choice.

But you don't know what to talk about.

Here are some ideas. This is the kind of process I go through when I try to get ideas for a talk, though by writing it down I'm making it more systematic.

Think of these as prompts and use them as starting points to find an idea for a talk that excites you.

These are far from the only seeds for good presentations, but it's a start.

  • What is the last thing you spent more than 15 minute trying to figure out?
  • What is the last tool, process, or code you wrote that made you excited enough to tell somebody else?
  • What was the last question you asked a more senior developer?
  • What was the last question a more junior developer asked you?
  • What do you wish somebody had told you a year ago?
  • What was the last blog post or presentation in the community that you disagreed with?
  • Do you have a hobby or interest that informs your work?
  • What is the best line of code you wrote this week? How could you tell?
  • What was something you did for the first time in your last project? How did it work out?
  • What was something you did for the last time in your last project (or something you stopped doing for your last project)? How did that work out?
  • What is a tool or process you would like to learn more about?

Once you have an idea, try to answer these questions about it.

  • Who is the audience for this? It often helps to think of one specific person that you'd like to talk to.
  • Is there a story here? What is the beginning, the middle, and the end?
  • If a person watches this talk, what will they be able to do after the talk that they would not have been able to do before?

UPDATE 1/19 It seems worth pointing out that I'll be speakng at MountainWest RubyConf this year. The talk is on Smalltalk, and it's a direct result of a presentation I saw and wanted to respond to (I didn't actually disagree with the presentation, but I had another take on the topic). Also, I know for a dead certain fact that one of the other speakers is a much bigger Smalltalk expert than I am. And I am going to take may own advice and not let that bother me.

What Makes A Great Submission

I have opinions on the actual submission -- watch for updates after I dive into the actual submissions.

I'm going to share with you the first rule of submitting anything. This rule is applicable to any situation where a person has to spend a lot of time evaluating submissions -- resumes, conference proposals, writing submissions all included.

Rule One: The person reading these submissions is always looking for a way to save time. Don't give them a reason to reject you out of hand.

That means: if they have a format, hit the format. If they have a word count, hit the word count. Spell words correctly. Write in grammatical English. Sure, the reader might take extra time to figure you out if you bend the submission rules. But why take the chance?

Have somebody else read and edit you if you can. Find a buddy and read over each others. (I'm willing to be your editing buddy -- contact me via this web site).

In most cases, the talk descriptions on conference web sites are taken directly from the submission -- look through some, and see what makes them compelling.

Specifically for conference proposals:

  • Make sure you specify: a) who the audience is, b) what they should expect, c) what they will learn.
  • For a long time I was afraid to give out details of my talk in the abstract for fear of "giving stuff away". That was a bad idea. You need to give people an idea of what to expect. (The RailsConf CFP has a details field that lets you put in details for the organizers and not the abstract -- use that)
  • You don't have to explain why you are an expert, but if you have a particular reason why you might have insight into the subject, mention it. This reason is not at all limited to you having vast experience on the topic.

Good luck, and I look forward to hearing from you.

Monday Morning Me: October 7

Rails Test Prescriptions, trddNoel Rappin1 Comment

Monday Morning Me

I’ve skipped a few Monday Morning Me’s due to Ruby DCamp and a couple of other things. DCamp was awesome, and maybe beyond my humble ability to do a trip report. In the meantime..

Rails Test Prescriptions

Ground has been broken and progress is being made. Not a lot of ground, and not a lot of progress, but ground and progress nevertheless. So, yay, that.

When last I wrote about this, I was debating whether to use MiniTest or RSpec as the main test framework for the book. After a couple of impassioned pro-MiniTest pleas at Ruby DCamp last week, I’ve come around to the idea that MiniTest’s availability and simplicity trump RSpec’s mindshare and ecosystem, at lest for teaching purposes.


The first real code section of Rails Test Prescriptions is a TDD walkthrough of adding a first feature to a new project.

One of the guiding principles of the book is that I want the advice and techniques to reflect effective practice, or at least effective practice as I understand it.

My normal practice for adding a new feature would be an outside-in approach: write an end-to-end test describing the new behavior, then fill in logic with focused unit tests. Normally, I would use Cucumber and RSpec for this. But, as mentioned, the book is using MiniTest instead of RSpec. And I don’t want to bring Cucumber in right at the beginning for similar reasons — too much to explain.

Which leaves me writing end-to-end tests using Rails integration tests (ugh) or Capybara, which, of course, also involves bringing in a new gem. Which I’m doing, but the Capybara MiniTest gem wants to use the MiniSpec syntax, which I don’t want to use because more explaining of details early on and all. (Update Mike Moore points out that I’m overstating the extent to which Capybara MiniTest wants to use MiniSpec as opposed to allows MiniSpec. I still am not sure that a lot of people are actually using MiniTest/no spec syntax/capybara.)

So it occurs to me that in the guise of coming up with a testing stack that will make sense to testing novices I have stumbled with the best of intentions into a set of libraries that as far as I can tell is in active use by effectively nobody in the entire world.

This is either insane, or so sane that it’s amazing. Statistically, the odds are on insane, but I’d love a second opinion.

It seems like my viable options are:

  • Do what I’m doing and assume that I can explain it well enough to make sense.
  • Back out and use Rails integration tests instead of Capybara
  • Back out and use RSpec instead of MiniTest
  • Back out and write the Angular book instead. (This is not really an option)

I’m open to comments if you have a suggestion.

Other than that, it’s just been a matter of getting used to changes in the build tools, and finding an editor setup that plays nicely with the formats that Prag uses. Nothing too bad, though I’m seriously considering that Editorial on the iPad has a real shot of becoming my primary editor for this book (writing it on the iPad next to coding on my laptop). Which is also clearly so insane that it may lap all the way around and become sane again.

Trust-Driven Development

Obviously, I’ve missed my plan to get something out in September. I have about 30 some odd pages of text, and I’d release it except that some of the sections kind of trail off in mid paragraph. I may just release it anyway, I have a beta reader or two looking at the manuscript to answer that very question.

If you want slightly earlier access, let me know via email (noel at noelrappin dot com). And, of course, you can by what exists of the book at /trdd.

Mastering Space and Time

So sales have started to pick up at the new price level. Not setting the world on fire or anything, but a more steady rate. Let me know if you are interested in writing about Master Space and time in JavaScript on your blog or something. And, the book is still available at /mstwjs.

Monday Morning Me: Sep 16, 2003

self promotionNoel RappinComment

Here’s what’s going on.


Had another great time at WindyCityRails. I enjoyed the talks, and it was great to meet new people/see people I don’t see enough in person. As usual, Ray and the WCR team had the logistics of the event down (even the WiFi was pretty fast for a conference.) The venue is really nice, if maybe not perfectly arranged for the kinds of talks being given.

I very much loved Aaron Kalin waling around in his stormtrooper suit on day two, in response to a bet from Table XI to donate $50 to Facing Disability for each hour that Aaron wore it. You can see some of the results: here, here, here, here, and here.

As for my own talk (slides, video coming eventually, I assume), I was happy with it, but hope I get to give it again, because I feel like I was still discovering some ideas about how I was approaching the topic. For example, the framing idea of how practices get to become your new normal practice really only fully formed the night before, but I’m really interested in exploring it.

Also, as much as I really wanted to tell the “little web engine” story, I don’t think it’s as funny to anybody else as it is to me. (Right now, I have a much better time getting jokes to land in workshops then in formal talks, which is frustrating.)

Master Space and Time

The update is that today is the last day of the current pricing scheme. Tomorrow, the prices go up to $10 per book, or $25 for the bundle. So, if you want to get the cheaper price in under the wire, go to /mstwjs.

Rails Test Prescriptions

I’m currently in the process of auditing the existing book to determine all the things I wrote that still make sense, and all the things I wrote that don’t.

I’d like the next version to hit the “good tests equal good design” button a lot harder, and I’m trying to see how to structure the book to get that to work.

I’m also trying to figure out the minitest/RSpec balance. I’ll describe the basics of both, but I think I need to pick one as the primary focus of the code samples.

In favor of minitest: it’s the Rails default, it’s arguably simpler (or at least, it’s simpler internally), and the existing RTP code examples are compatible.

In favor of RSpec: it probably still has a larger share of Rails developers, it’s more expressive, and it has a more interesting ecosystem.

Anybody with an argument for focusing on one or the other that goes beyond “I use that one” is welcome to chime in.

Trust-Driven Development

I’m Doing an edit/finish some half-finished sections. I’d like to get a 30-some-odd page initial release out sometime in the next 10 days. Again, if you want to get it before the price goes up, it’s available at /trdd.

Rails Test Prescriptions 2 Is Coming

Rails Test Prescriptions, mstjs, trddNoel Rappin2 Comments

I’m pleased and more than a little surprised to be announcing the existence of Rails Test Prescriptions 2, (which may not be the final title).

You have questions. Even if you don’t, I have answers.

Can you give the news in the style of a movie poster tag line?


Coming in 2014. It’s time to get your prescription… refilled.

Rails Test Prescriptions 2: The re-prescriptioning.

When did this happen?

Really, just last week. I got an email asking if I was interested (Spoiler Alert: I was.), and we went very quickly through to contract.

What will it cover?

It’s a little up in the air still, but broadly, we’ve got this:

  • Updates to the big tools. Rails 4, RSpec 3, minitest replacing TestUnit.
  • Changes to the ecosystem, so updates to a bunch of other tools, including FactoryGirl, Cucumber, Capybara
  • Some deprecations — there are some tools discussed that are basically not anymore.
  • New tools. I think the biggest class of tool not discussed in the original RTP is quick startup tools like Spork and Zeus. I’d like to cover continuous integration options, too, we’ll see if I can make that fit.

Over and above all of that, of course, is the fact that the discussion over good testing practice has changed. There’s a lot more talk about maintaining large test suites, writing faster tests, and using tests to drive better Rails application design. I’m planning to talk about that aspect of testing as well.

I am really open to feedback and ideas about what to include and what can be safely removed (any Rails performance testing fans in the audience?)


Good question. I’d bet at least spring for the first beta. Ask me again in a few weeks.

Are you insane?

I assume you are referring to the fact that I have other writing projects in process.

Yeah, that. Well?

I’ve got it under control.

Yeah, I’m gonna need more than that, writer guy

Okay, let’s take them one at a time.

Okay. Master Space and Time with JavaScript: Ember

Well, the nice folk at Ember central were nice enough to release Ember 1.0, making my plan considerably more concrete than it might otherwise be.

I’m currently working on the draft-complete release of the Ember book, which I expect to release this week. Code up to date with Ember 1.0 and Ember Data 1.0 beta. Info on the Ember inspector, and more stuff on components and promises in Ember routing. Maybe another goodie or two if I have time. That should take me roughly to 115 - 120 pages, a complete draft, and it will trigger a price increase. If I release the book this week, the price increase will come about 9/16. You can still buy Master Space and Time With JavaScript with the handy-dandy purchase link.

The Ember team has announced plans to do new point releases every six weeks. My expectation is that through the end of 2013, I’ll fix errors, and come back toward the end of the year to see if there is anything that needs updating or adding. Probably the same through at least the beginning of 2014.

Okay. What about Trust-Driven Development?

That’s obviously a little more problematic. But I’m really happy with the book, it’s fun to write, and I’m going to keep up with it.

The initial release will still come in September, hoping for this week, but that one looks optimistic. Next week is a better bet. That release also triggers a price increase. And of course, you can still buy Trust-Driven Development at the fabulous purchase link.

After that, I’m not sure. One thing about this book, though, is that it is kind of a nice palette cleaner to break up writing just about code all the time, so I’m actually looking forward to having that as a project during breaks in the Rails Test Prescription 2 process, such as technical reviews and so on.

So maybe I am insane after all.

Anyway, I’m very much looking forward to revisiting Rails Test Prescriptions, fixing all the things I got wrong last time, and making all new mistakes. Hope you like it.

All I Post These Days Is Status Updates

Self Publishing, mstjs, trddNoel RappinComment

Here’s where we are at the moment.

Master Space & Time With JavaScript: Ember

I think I may have finally gotten my head around the Ember release plans. My current understanding is that:

  • A 1.0 final release of core ember is imminent, possibly as soon as September 1.
  • There’s another major overhaul of Ember-data (the “jj-abrams” reboot branch), which will become the master branch sometime between now and the 35th of Octvember. In other words, who knows?

Which leaves me with the following plan:

  1. Once Ember 1.0 is released, I’ll start on a relatively minor revision of the book that will make sure it works with 1.0, allude to some new features, maybe talk about the Ember Inspector if I get ambitious.
  2. I actually don’t plan to add all that much new content, it’s already 108 pages, I doubt it will go above 130. (For reference, the Backbone book is 120, with longer code samples). I want to go through an authentication example. I may talk about components or more advanced view topics.
  3. Some of that is just going to wait until Ember-data gets sorted out, so I’m not rewriting the thing over and over.
  4. The 1.0-related release may be the one that triggers the price increase (based on length). We’ll see. But it’s coming.

You can buy Master Space and Time with JavaScript.

Trust-Driven Development

Work is proceeding on this a little faster. I think I have about 30 pages of text (it’s a little hard to tell because I have a lot of blank chapters adding pages).

I like what I have, but the organization is going to need work. Right now it’s really a set of interconnected essays about project topics (already written topics include points and velocity, user stories, iteration management, the introduction, and a couple of other topics.

The current plan is to start releasing actual text around WindyCityRails, September 12th. That triggers the price increase from $15 to $20, but I’ll probably soften the blow with a promotion over WindyCityRails.

If it’s not ready then, plan B is the same thing but over Ruby DCamp two weeks later.

You can buy Trust-Driven Development.

And another thing…

Weird as it may sound, this represents me trying to clear the decks because a new project has come up. It’s not official yet, and it’ll get its own blog post when it is.

More State of The Stuff, July 2013

mstjsNoel RappinComment

Ongoing update and stuff

I know, I haven’t been blogging much. I can always tell when I’m putting things off because the half-finished blog posts stack up.

First, Master Space and Time In JavaScript is still on sale, and for the moment it’s still $15. Somebody using the twitter handle @shakerdev just called it a “great fucking read for JS devs.” So, I’ve got that going for me.

The ongoing projects list looks like this:

Master Space and Time Book 4: Ember

Still caught in the tension between wanting — really wanting — to get this one done, and the fact that the Ember team keeps releasing cool new stuff and not going to a 1.0 final release.

I should mention, in the wake of some comments on line about Ember’s volatility and books, that no matter what else I wind up doing over the next few months, my plan is to continue to keep the Ember book current through at least Ember 1.0, and I hope somewhat beyond that.

My planned topic list hasn’t changed a ton:

  • More on views and handlebar helpers
  • Ember data details
  • Ember-testing details
  • The new async routing API — this will probably include a short section on promises, which may get promoted to book 1.
  • I’d like to deal with some real-world examples, at least briefly, of things like authentication
  • I also may switch from jasminerice to teaspoon as a test runner, which may also mean going back and retro-fitting earlier parts of the books.

Angular Update

Since I last blogged about this, I’ve taken one baby step towards an Angular book, namely getting a new branch up in the book’s code repo set with Angular. The goal is to create the basic admin console stuff similar to the Ember book example. If I feel like I can do that and explain it clearly, then I’ll start writing. I think the odds are at just over 50/50 that I’ll do it. If I do, it will probably go on sale as a beta in very early stages.

Project Book Update

I should probably put this higher, but it’ll get its own post in a week or two.

A while back, I casually mentioned on Twitter that I was thinking about writing about how to deal with projects. This met, I think it’s fair to say, with near-total indifference.

Nevertheless, I’m still doing it, because I want to write some of this stuff down. The book now has a title, a scratch cover, and about 15 pages written. Final length will probably be in the 120 page neighborhood, but who knows.

Full announcement, including the title, and cover and a way to be notified when it goes on sale, will come when I get to a) 25 pages and b) a coherent outline.

I’m very excited about this, I think it’s going to be good.

If you’ve ever worked on projects with people who are not you, this book will help you.


If you follow me on Twitter, you may have noticed that I was discussing book pricing with Jim Gay of Clean Ruby fame. This was in the context of a new Ember book from Giles Bokett, that is priced at $47.

It seems like Giles, at $47, and I, at $7, are both sub-optimal in terms of maximizing revenue from our Ember work. I generally err on the side of under-pricing my stuff though some combination of my own insecurity and also the idea that an inexpensive book is accessible to more people.

Still, there’s erring on the side of inexpensive, and then there’s not having confidence in the value of your work. The full set of Master Space and time With JavaScript is going to be about 125 - 150% the length of Rails Test Prescriptions for less than 2/3 of the price. (And yes, I know that page length isn’t really a marker for anything. Still…)

Which is a long winded way of saying that the price of MSTWJS will be going up, with the actual date being either a) the draft-complete version of the Ember book, b) the first beta release of the Ember book over 120 pages (currently at 94), or c) the on-sale date of a currently-mythical Angular book. Exact pricing still TBD, though I’m still open to argument. I’ll probably also add some kind of workaround for students and others for whom the price is a hardship — not sure what that will look like yet.


Buy the book, please: Master Space and Time In JavaScript.

State of The MSTWJS Union, June 2013

mstjsNoel RappinComment

Here is the state of the Master Space and Time With JavaScript Union as a I currently understand it.

First, you can, you know, buy the book. Please.

An update to the Ember book should be going out next Monday or so. It has about 10-15 page chapter walking through a routing example with outlets and nested routes and the like. That’s puts the Ember PDF at just over 90 pages (including the back matter and contents and stuff), which compares favorably with the lengths of the other three books (97, 97, and 120, I think).

I think there are still a few things missing from the Ember book.

  • More on views and handlebar helpers
  • Ember data details
  • Ember-testing details
  • Anything else the Ember team adds before 1.0 (async routing, for example)
  • I’d like to deal with some real-world examples, at least briefly, of things like authentication

This points to a final page count roughly in the range of the backbone book, about 120 pages or so. Actually, probably more. Sheesh.

What’s tricky about this is that ember-data and ember-testing are still not quite done enough to write about them without risking throwing everything out and starting over, so it’s hard to give a final schedule.

The other books are quiet at the moment, though the Backbone book could stand an edit.

Thinking Ahead

Meantime, there’s a slow but steady trickle of requests for a MSTWJS Book 5: Angular. (A five part trilogy would make me feel like Douglas Adams)…

I’m genuinely not sure if I’m going to do this. The considerations are:

Opportunity. There’s clearly some space here for a book that really explains Angular. According to a Twitter poll — which I’m sure is totally reliable — the overwhelming majority of existing MSTWJS customers would expect to pay for a Book 5. This actually goes a long way toward making me think this is worth my time. Writing tech books is kind of a hobby for me, but I’d still like to feel that I can make a little bit of money from them.

On the other hand, I’ve been working on this book for two years now. That’s a long time in Internet years, and doing an Angular version probably means another three to six months of work. There are other things I want to write, and it wouldn’t kill me to blog regularly again. (Actually, that implies that I once blogged regularly, which is not really true.) I really want to do this project book, and I’m starting to feel like I have new things to say about testing.

Anyway, right now I’m thinking that I’ll at least play with Angular a bit to see if I have any affinity for the tool at all. If I hate working with it, I’m not writing about it. If it passes that hurdle, then we’ll see.

If I do it, the likely scenario would be — don’t hold me to this, I’m just thinking out loud: * Priced at $7 or $9 based on length * Existing 4 book bundle owners would get a discount, possibly a limited time discount depending on what I can do via DPD. * At that point, new customers would get a five book bundle. I might raise all prices at that point — the hypothetical five book bundle would be nearly 600 pages. Not sure what that pricing looks like yet. $9 per book with a $25 bundle is one possibility.

Please let me know if you have thoughts about this — my perception of people’s willingness to buy an Angular book in this series is a major factor in whether I do it.

And, oh yeah, buy the book.


Status Update

Self Publishing, mstjs, self promotionNoel RappinComment

It’s been well over a month since the last official update to Master Space and Time with JavaScript, and since I was hoping to get updates out more-or-less weekly, it’s probably a good idea to check in and let you know what’s going on. (Could be worse, though, I’m still hoping to post my top 10 books I read list. From 2011.)

All of the MSTWJS customers out there have been either very patient in waiting for the next update, or you are completely disengaged. Personally, I’m choosing to assume patient.

I am continuing to work on the book, it’s just slowed down quite a bit. The next update will most likely be sometime after RailsConf — ideally sometime in the week or so following. So by, say, May 10th. I post this date publicly to increase the chance that I’ll actually hit it.

There are a few reasons why the book’s progress has slowed.

To some extent, it’s a deliberate slowdown so I don’t have to rewrite the thing a dozen times. Yes, Ember is in an API freeze, but they are still adding new things that preserve compatibility, and Ember-data is decidedly not in an API freeze. Just in the last week or so, integration testing tools are starting to emerge — see this discussion for details. Honestly, the fact that I had to throw my hands up over integration testing in the last update was very disappointing, and I’d very much like to get that working in the example.

There’s also been some fumbling about what I want to cover in the rest of the book and how I want to get there. This one, I think I’m getting a handle on.

I also got busy. For example, I’ve been starting this weekly sort-of-screecast series for Table XI called XI to eye. I’ve never done anything like it, but I’m pleased with how this is going. There are five so far, you can see them all at Please do check them out.

I’m also doing two sessions at RailsConf — a normal session comparing rich client MVC with the 37Signals Basecamp approach and an intro track session on testing complex systems. More on those next week, but I’m excited for both of them.

There’s also been some laziness, and some lack of momentum caused by the combination of the previous points.

Still, hoping that this will move a little more rapidly in May — we’re now coming on the two-year anniversary of me starting the project (though I suppose I’d be done if I hadn’t decided to pick up Ember as a topic), and I’m certainly ready to move on. (I have some idea what my upcoming writing projects will be, just not sure which one I want to tackle next.

Thanks for your patience, if you are enjoying the book more will be coming — there will also be another errata catch up on the first three books. Please do help spread the word, or maybe buy it yourself.