January 2008 Archives

Preview my Ruby book

I've just discovered that the O'Reilly website now displays a browsable table of contents that allows you to preview the start of each chapter and each section of my book.

In other book news, Amazon is still listing the book for pre-order, so I guess the January 24th date isn't quite right.

Update: I received my copy from O'Reilly today, so the book has been printed, and Amazon should be shipping orders soon.

Second Update, (February 1st): Amazon now shows the book available for order, but is saying "two to three weeks" for shipping. The folks in the know at O'Reilly say that books are on their way from the O'Reilly warehouse to the Amazon warehouse, and Amazon should start shipping them out by mid-week. In the meantime, it looks as if oreilly.com is the only place that is currently shipping copies of the book. I was under the mistaken impression that books went directly from the printer to major booksellers like Amazon. Given these normal and predictable shipping delays, I don't know why Amazon listed 1/24 as the availability date for so long.

They still seem to be offering the extra 5% discount. I've also discovered that you can get an even better price on it at buy.com (though they don't have it in stock yet, either).

Finally, the book is available now online (for preview or by subscription) at Safari.

Examples from my Ruby book now online

| 4 Comments

All the example code from my Ruby book is now available for download.

As I've mentioned before, you can also browse the book's table of contents.

Last day for Amazon's pre-order discount

Amazon continues to say that my Ruby book will be in stock tomorrow. So today is the last day that you can pre-order the book and save an additional 5% on it. As I type this, they're listing it at $26.39. After another 5%, you'd be paying just over $25, which is pretty good for a $40 book.

Off to the Printer

| 6 Comments

The Ruby Programming Language was sent to the printer on Friday the 11th, and should be printed and bound on Monday January 21st. This is on schedule. Amazon still says that they expect to start fulfilling orders on January 24th. I don't know the logistics of getting copies from the printer to Amazon, but it seems likely that they can meet (or come close) to that date.

I've uploaded a pdf of the final frontmatter in case you'd like to browse the table of contents to see what material I cover. (My older, homebrew TOC is a little out of date but includes 2nd-level section titles as well as the top-level sections, so it gives quite a bit more detail about the book's contents.)

I've seen the book get as high as #64 on Amazon's list of bestselling programming books even before it is released. It's fallen off the list today, but if you pre-order it now, maybe it will come back on! :-)

Update: In the comments, Adriano asks a good (and common) question about the stability of Ruby 1.9. I'm posting my response here:

Adriano,

Thanks for your comment. I hope my book can meet your expectations! I should make clear that this book is a language reference, but not an API reference. Unlike my JavaScript book, there is not a section that documents each class and method of the core library. (Though there is a long example-based chapter that demonstrates the most important classes of the core library.)

Matz has changed the release numbering scheme for this release of Ruby. 1.9.x will be a stable version of the language, not a development version, despite the fact that 9 is an odd number. The original intent, I believe, was to release 1.9.1 on Christmas. But the code was not stable enough. So Matz's Christmas release is still called 1.9.0, and is effectively a beta-release of 1.9. Matz does not yet recommend it for production use, but it is stable enough to begin porting applications to.

The Christmas release of 1.9.0 was nominally an API freeze as well. There have been, and will continue to be minor API changes between 1.9.0 and 1.9.1, but there shouldn't be many of them: the intent is to keep the API frozen.

My book went to the printer after the Christmas release, so it covers everything that was in the frozen 1.9.0 release, and even a couple of changes that happened after the release. I may have to release a few errata when 1.9.1 comes out, but overall, this book should have very complete coverage of 1.9.x

Giles Bowkett Replaced by Mindless Fanboy

| 2 Comments

This post, and its title, is a response to Giles Bowkett's clairvoyant review of my Ruby book. In that review, he says:

  • I am "soulless",
  • my publisher was "really cool once", and that
  • you "sure as hell don't want a copy of Flanagan's upcoming book".

The book is not out yet, and as far as I know no one has shown him one of the drafts circulated at ruby-conf. He bases his opinions on one comment I posted on Sam Ruby's blog.

The crux of Giles's argument is apparently that O'Reilly was disrespectful to the Ruby community because they're "publishing something by an author...who isn't even a significant part of the community".

Being called "soulless" (that's a fighting word, Giles) makes me angry, but this "in group" nonsense is what gets under my skin and is why I'm taking this fight to my blog. Had Giles been a participant in the ruby-core mailing list he would know that I've been an active member of that list for almost a year. He might also know that I have commit privileges and have made small but non-trivial contributions (such as implementing \u Unicode escapes in string literals) to the Ruby 1.9 codebase.

I've spent a year and a half learning and writing about Ruby. I've argued vocally for changes to the language and I've implemented changes to the language. Of course I'm part of the Ruby community. What Giles really means is that I'm not part of the Ruby club, of which Giles fancies himself a member. I have to say that this fanboy boosterism that pervades certain Ruby circles is a real turn off for newcomers to the language. The Ruby club has never managed to produce competent (English-language) documentation of the language, Giles. How can you blame O'Reilly for asking an experienced writer to do the job?

Giles writes:

Bear in mind this...comes from somebody who's programming and blogging at 11pm on a Friday

You need to learn, Giles, that insults posted on a blog at 11pm on a Friday can still be gracefully retracted...it would be soulful thing to do.

(I should make clear that I do not know Giles. The title of this post parallels the title of his post, but I do not really know if he is a mindless fanboy, or just acts like one sometimes.)

Books

Comprehensive coverage of Ruby 1.8 and 1.9

"The New Most Important Ruby Book"
Peter Cooper,
rubyinside.com

Completely updated for Ajax and Web 2.0

"A must-have reference"
Brendan Eich,
creator of JavaScript

The classic Java quick-reference