Books I Liked in 2017, All In One Part

2017 Books A Plenty

At long last, the 2017 books that made me happy/recommendations post. Did you miss me?

Past years:

This year, I’m doing it all in one post, because if you are going to write 4000 words it’s best to get it all in at once, that’s just science.

The rules are:

  • These are all books I read in 2017
  • That I liked
  • The books are organized into arbitrary groups, because there were weird coincidences, in that I read a number of say, unusual time-travel books this year.
  • Within each category, books are alphabetical by title.
  • The order of the categories is arbitrary
  • Links go to Amazon Kindle version.

For each book this year, I tried to add a Recommended If You Like.

Weird Portal Fantasies

For some reason, I read a lot of revisionist

Continue reading “Books I Liked in 2017, All In One Part”

Books I Liked In 2016 Part Two

Here’s part two of my 2016 “Books I Liked List”. This is the list of books I really, really liked, for the list of books I just liked one “really” worth, head here. All the book titles like to the Kindle edition of the book, so enjoy.

All The Birds in the Sky by Charlie Jane Anders

I really did like this book quite a bit, though not as much as other people: you’ll find several online lists that have it as the best or one of the two or three best books of the year. (It was also one of three books on both these lists to be nominated for a Nebula Award for best Novel.) (Though now that I think about it, we’ve also got a Novella nominee in here.)

The book features two characters, he’s basically a mad scientist, she’s basically a magician. They meet

Continue reading “Books I Liked In 2016 Part Two”

Books I Liked in 2016, Part 1.

Books 2016: Part One

This is part one of my “books that made me happy in 2016”. As usual, we’re doing this in two parts. This one is the books I liked, the next post is the books I really liked.

I had a hard time separating the list this year, there were a lot of likable books, so there are kind of a lot here. In alphabetical order by title.

Act Like It by Lucy Parker

I went back and forth about whether to include this in the list, it’s a little “one of these things is not like the others”, but ultimately I decided I did really like it and who cares. Anyway, this is a straight out romance novel, a romantic comedy basically, featuring a cranky London West End leading man and his much nicer co-star. They are asked to pretend to be dating to prevent tabloid

Continue reading “Books I Liked in 2016, Part 1.”

2015 Books That I Liked, Part 2

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

Continue reading “2015 Books That I Liked, Part 2”

2015 Books That I Liked, Part 1

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

Continue reading “2015 Books That I Liked, Part 1”

SF Books that Make Me Happy in 2014

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.

Continue reading “SF Books that Make Me Happy in 2014”

Things That Make Me Happy: Fantasy Novels, 2014

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.

Continue reading “Things That Make Me Happy: Fantasy Novels, 2014”

Coming Soon: Getting Things Done In JavaScript

Okay, the blog has been very quiet for the last month or so. Please be polite and pretend you noticed. I’ve alluded online to a new book one or two places and now I think it’s far enough along that I can mention it in public without being too scared.

Let’s do this Q&A style, call it an infrequently asked question list…

Q: What’s the new book?

A: Great question. The working title is Getting Things Done In JavaScript. That may not be the final title. My proposed titles, Enough JavaScript to Get By and JavaScript for People who Hate JavaScript were (rightly) deemed unsuitable.

Q: Okay. That’s the title. What’s the book?

A: Here are some excerpts from my proposal:

  • The intended audience are developers used to doing back-end development, probably but not necessarily in Rails, who are increasingly asked to move functionality to the client, and are not familiar with the best JavaScript tools available for the job.

  • This book is aimed at developers who are explicitly working on front ends for web applications and looking for guidance on how to approach the simple parts first and the complex parts as needed. In my head, this is triangulated with three non-JavaScript books that I think are around that level: Beck’s Smalltalk Best Practice Patterns, Olsen’s Eloquent Ruby, and Valim’s Crafting Rails Applications.

  • Everything is test-driven. This book will contain more Jasmine than a Disney princess convention.

Does that help? Put another way, it’s the JavaScript book I wanted to hand our last apprentice when he asked for a good guide to JavaScript. Another way I’ve described the audience is people who have poked at JavaScript a few years ago, just got back into it, and aren’t quite sure why everything is an anonymous function these days. I’ve also called it JavaScript: An Idiosyncratic Guide, as in the thing you use after you have the information in the definitive guide.

Q: Why a book on JavaScript?

A: Because I was a guy who poked at JavaScript a few years ago, just got back into it, and wasn’t quite sure why everything is an anonymous function these days…

Well, that’s part of it. I felt like it was an area where I had something to offer, and where I could leverage the time that I had spent getting back into the latest and greatest JavaScript tools and make it easier for others to do the same.

Q: When can I buy it?

A: The initial draft is maybe 1/3 done. Ish. The hope is to get it available in beta sometime in November, and given the schedule that Pragmatic likes for books these days, to have the final come out something like January. That’s still an aggressive schedule, and I’m probably just a smidge behind, but I have a decent idea where I want it to go, and I’m making steady progress.

Q: What’s actually in the book?

A: The outline is still a bit in flux, but the basic idea is to take a pure server-side application and bit-by-bit move features to the client-side in a slow and not-even-a-single-tiny-bit-contrived way. The JavaScript topics are largely focused on creating what passes for objects, so there’s discussion of the object model, functions and scope, and the like – it’s not (at least at the moment) a tutorial on the basics of JavaScript. There’s a lot of jQuery, and a lot of Jasmine, and there will also be jQuery UI, jQuery Mobile, and Backbone.

That’s the story. Coming soon to a theater near you. Hope you like it.

Filed under: Books, Jasmine, JavaScript, Me

Bill James, Sabermetrics, and You, or At Least Me

I was a nerdy kid.

I suppose that isn’t much of a surprise, given how I turned out. But in those pre-computer days, I was nerdy about math and baseball. I was the kind of kid that kept a daily log of my batting statistics in the recess kickball games.

So you can imagine my surprise and happiness when this image appeared in Sports Illustrated, in May 1981. I was ten:

Bill James in Sports Illustrated

The man in the foreground is Bill James, who would soon go on to be one of the most influential baseball writers of the last thirty years. At the time, though, he was self-publishing his baseball book to a small but fiercely loyal group of fans, one of whom actually wrote the SI article.

In the background, on the scoreboard, was one of James’ inventions – a formula called Runs Created that purported to be the most accurate way to measure a baseball player’s contributions.

Okay, I’m getting carried away. The relevant point is that I was dazzled enough by the original article to start looking for James’ annual book once he started getting published and distributed nationally. As I said, I was young, and the books cost like seven dollars of my own money, so this was kind of a big deal.

I got lucky in my choice of baseball writers. Not only was James iconoclastic and funny, but he was very good at explaining his methods. And I don’t mean that he was good at explaining the math – James is the first to admit that he is no mathematician (admittedly joking, he once described the “standard deviation” of batting average as “about what your standard deviant would hit”). James’ skill was in explaining why he did his experiments in a particular way. In a very real way, the most important things I learned about how science works were from reading Bill James.

In, I think, the first book of James’ that I read, he responds to criticism of earlier work:

“Journalists start with the answer… [Sabermetrics] starts with the question”

Sabermetrics, by the way, was the word that James coined for the search for objective knowledge about baseball – “saber” from SABR, the Society for American Baseball Research".

In other words, where a journalist would start with “Derek Jeter should be in the Hall of Fame”, James would start with “Should Derek Jeter be in the Hall of Fame?”, and not in the lazy-local-news-headline way where you know from the question where the answer is. More likely, James would start with “What kind of player is in the Hall of Fame? Does Derek Jeter meet that standard?”

I suspect that this distinction is obvious to most of you reading this (though it’s easy to find places in our public discourse where nobody seems to understand it.) But it was a big deal to 12-year-old me.

Later, I remember an epic dismantling of the phrase “Pitching is 75% of Baseball”, starting with wondering what that even meant, and then going one by one through the things that would be implied of that statement was true, determining that none of them actually were, and eventually concluding that even the baseball traditionalists who were fondest of the claim didn’t act in any way consistent with actually believing it. I can still quote large chunks of that one.

Some quotes didn’t really become meaningful to me until I started writing myself:

“One of the operating assumptions of this book is that you either own McMillan’s Baseball Encyclopedia or don’t care what it has to say. In either case, you don’t need me to tell you what an outfielder’s assist totals are”

I’ve used some variant of that comment for every book I’ve written (though it didn’t always make into the final version). I’ve also used in when reviewing books. It’s a really useful way to think about your audience, to realize that you can assume knowledge of or disinterest in certain information.

Another quote that was big with me when I used to read academic papers all the time, but that I also keep in mind when I write.

“This isn’t a bull session, this is science. I only write like it’s a bull session because I don’t like how scientists write”

James is always been a little cranky on the subjects of professionalism and expertise, which he sees as often being used as nothing barriers to keep out the riff-raff.

“When you write something it is either true or false and being an expert or not being an expert has nothing to do with it”

What’s really stuck with me, though is the way James went about seeking more objective knowledge. The process was simple.

  • Ask a question.
  • Determine something that is observable that would be true if the answer to the question is true.
  • Use small, empirical measurements. James is the king of quick-and-dirty measurements that favor ease of calculation and understanding over multi-digit precision.
  • Compare similar items that differ in one aspect. In the mid 80-s James was more excited about a method to measure how similar two players were than almost anything else, because it allowed him to create controlled studies.
  • Follow the data. You probably won’t learn what you expect. Respect the data and respect its limitations.

If you are interested in James’ baseball work, the best introduction right now is probably the Historical Baseball Abstract, which is an overview of both his statistical methods and his historical interests. A more biographical look at his effects can be found in Moneyball, by Michael Lewis, which is about how the Oakland A’s applied James-style methods to actually win games. It’s a great non-fiction narrative, and Lewis is, as far as I can tell, unusually factually accurate.

James’ most recent book is Popular Crime, which is not about baseball, but rather a historical overview of crime stories that become pop-culture touchstones, and also the books that have been written about them. It’s cranky, scattershot, obsessive, and hard to put down.

Filed under: Books, Me

June 21, 2011: In Brightest Day

I’d like to pretend there was some thread connecting these things, but you and I both know there just isn’t…

1. Actual News: Cucumber 1.0

Starting with something approaching a real news story, Cucumber 1.0 was released today. According to that post from Aslak Hellesøy, the project has had nearly 750,000 downloads. Oh, and there’s a native JavaScript port in progress. I didn’t know that.

Anyway, Cucumber 1.0 adds Rake 1.9.2 support. Recent changes you may not know about include a -l and --lines command line switch as in RSpec’s and a new transform syntax that allows you to factor out duplicated parts of step definitions. Haven’t seen official docs on this, but it looks like it allows you to capture bits of step definition and run a block against it. The code example within the Cucumber tests looks like this:

Transform(/a Person aged (\d+)/) do |age|
 Person.new(age.to_i)

end

Given /^(a Person aged \d+) with blonde hair$/ do |person|
puts “#{person} and I have blonde hair”
end

In other words, the snippet a Person aged \d+ is captured and transformed and the result of that transform block is what is passed to the step definition block.

Interesting. I wonder if people will use it?

2. The End of the World As We Know It

This post from the Armed and Dangerous blog tries to imagine a world without the web. The general idea is that if Congress had understood what DARPA was up to in the early 80′s, then funding would have been cut, and TCP/IP would not have been developed and popularized.

It’s an interesting argument, and as much as I’d like to believe it’s to dark, the examples of the cable and cell phone industries are eloquent. (I’ll grant that the author is probably trying to make a libertarian point I wouldn’t agree with in general…)

3. Books: Fuzzy Nation

Continuing playing catch-up with brief book reviews, Fuzzy Nation by John Scalzi. Fuzzy Nation is something odd — a genuine remake of a beloved SF classic (well, beloved by some, I’ve never read it), namely Little Fuzzy by H. Beam Piper. Scalzi has taken the basic elements — a guy who encounters small, sentient aliens who are, wait for it, Fuzzy — and wound his own story around them.

Fuzzy Nation is pretty much purely entertaining, fun, well structured, fast paced. It’s not as much interested in the existential questions around alien intelligence as the practical question of protecting them from a corporation that wants to strip-mine their planet. (Subtle, it’s not.) It’s one of those books that isn’t interested in re-defining the genre as much as telling a good story inside the existing boundaries.

4. Moving Beyond Thin Controllers To The Downright Emaciated

Gary Bernhardt over at the Destroy All Software blog posts some suggestions about using routing or routing-like structures to effectively remove controllers from the system. The theory is that if controllers just exist to dispatch to a specific method someplace else in the system, and Rails manages all the other connections, then why not route directly to that method with some declarative or rules-based logic to handle things like security logic, exceptional conditions, or other high-level logic.

It’s interesting, and probably could be built within Rails 3. I suspect most systems aren’t pure enough in the controllers to take advantage of it, which I guess is the point, and I wonder if the gain is worth breaking the default linkage between URL and controller/action pairs, but I’d be curious to try it.

5. In Brightest Day, In Blackest Night

Finally, I haven’t seen the Green Lantern movie yet, but I’ve been telling anybody who will listen that I’ve been waiting 30 years to be disappointed by it. Thanks to io9 for reminding me why be recapping an awesomely over-the-top Green Lantern comic from 1980 that I owned, loved, and could still quote alongside the recap. Watch GL stagger through the Arctic wilderness without his ring set upon by polar bears and wolves.

Filed under: Alternate History, Books, Comics, Cucumber, Rails 3

Building a prototype? Bring some rope.

While scanning through Allison’s copy of Designing for the Digital Age: How to Create Human-Centered Products and Services, I came across this nugget.

The problem with software prototypes

It seems to be widely understood that industrial design and mechanical engineering prototypes—from paperclips and tape to polished appearance models—are disposable learning tools. Prototyping is clearly distinct from manufacturing, so it would be ludicrous to think that even a late-stage prototype could be reused as part of the final product. In software, however, the tools used for anything other than paper prototyping are generally the same tools used for “manufacturing” (i.e., writing production code). For this reason, many stakeholders can’t see why a detailed prototype that appears functional is still many months away from completion.

It immediately reminded me of a few posts that I had written about three years ago on the topic of developing prototypes and NOT keeping them.

The author continues with…

It’s important to educate stakeholders that prototype code is kind of like the illusion of automatic doors on Star Trek—it looks like it’s working, but it’s really a guy standing behind the wall pulling a rope.

I completely agree that education is the most important aspect to managing client expectations. With regard to the amount of work that you put into a prototype, we need to be careful on how much time and energy is put into them. If we can get away with a guy (or some quick Javascript hacks) to demonstrate possible functionality, make sure we aren’t using much more than rope. Rope is cheap. Prototypes should be too.

Related Posts