Hi, All, It's a Pickaxe Q&A
I haven't sent out a newsletter in 2022 -- about 10% of people subscribed to this newsletter have never seen an actual newsletter in their mailbox.
That seems like it should end, so... hi!
I'm Noel. I write books, mostly about Ruby. I write this newsletter, which is normally about Ruby, Rails, Agile, and other topics, and is occasionally (like today) self-promotional.
Under normal circumstances this comes out a few times a month. You can see archives at http://noelrappin.com/blog to get a sense of the range.
I've been quiet for the last several months because I've been working on the new version of Programming Ruby (the Pickaxe book) and literally every time I think about writing something for this newsletter, my brain stops me and tells me to get back to the book.
Here's a little FAQ about the book:
Q: Really? A new version of The Pickaxe Book? The Actual Pickaxe Book? Is on Sale?
Yes. For the first time since 2013, the Pickaxe book has a new edition.
Programming Ruby 3.2 is the official title, and it's available to purchase in it's prerelease ebook form right now at https://pragprog.com/titles/ruby5/programming-ruby-3-2-5th-edition/.
Q: What's new in this edition?
Lots. The book is at least 50% new and improved content. At a high level, that means:
- Full coverage of all Ruby language features up to and including Ruby 3.2.
- Coverage of a lot of third-party Ruby tools that were relatively new or didn't exist in 2013 (for example, Bundler).
- Changes based on nine more years of experience using Ruby. Things that were new or rare in 2013 (like
Symbol#to_proc
or stabby lambda) are highlighted. Some things that are more rare in current Ruby are de-emphasized. - Different expectations of what the audience might know, which in some sense is, "not Perl, but JavaScript". In some cases there's more explanation of concepts that the original book had.
Q: What's the current status of the book?
Right now it's something like 60% complete, if you are familiar with previous versions of the book, we're shipping almost the entirety of Parts I and II in this release.
Part III, which is a language reference and a discussion of more advanced OO and metaprogramming features is in progress and should be released by the end of 2022 or thereabouts.
The full API reference, we're not doing that, but we'll be doing something useful in its place.
Q: How's it going?
I'm quite happy with it. It's been as much fun as I've had working on a book in a long time. There's a great underlying structure and text and adapting it to the 2020s has been really satisfying.
Q: And I can buy this now? Do you have a coupon code?
Yes, you can buy the ebook now at https://pragprog.com/titles/ruby5/programming-ruby-3-2-5th-edition/. I've got a coupon code RubyConf_Mini, which will get you 35% off the ebook until Nov 30, 2022.
Q: Is it Pickaxe or is it PickAxe?
Dunno, actually. I've always written it Pickaxe, Dave Thomas has always written it PickAxe. He would probably be the authority.
Q: What about the print edition?
I expect that to happen in Spring 2023. Pragmatic Press no longer sells physical books from their own site, but I'll post links once I have them.
Q: Should I buy this book?
Yes!
- If you are new to Ruby, this book will give you a comprehensive overview of Ruby and how Ruby developers think about using Ruby.
- If you already know Ruby, this book will improve your Ruby knowledge, with in-depth coverage of how to use Ruby's most flexible and dynamic features.
- If you are a Ruby expert, you'll find something knew here, especially if you haven't been able to keep up with the latest Ruby features
We've worked really hard to make this book accessible at all levels of the Ruby community, please buy it.
Q: You? Are writing this? Really? How did this even happen?
Would you believe that I asked?
One of the things I've been doing as part of my job is onboarding new developers with a brief Ruby and Rails tutorial. As part of that, we give them a list of resources for more information. One of those resources, of course, is the Pickaxe Book: Programming Ruby by Dave Thomas, Andy Hunt, and Chad Fowler. Anyway, I realized that the fourth and most recent version of the book came out in 2013, and it hadn't been updated for several versions of Ruby.
This, I thought, was a real problem for the Ruby community that one of it's foundational books was no longer up-to-date (there are several great Ruby books from the early 2010s that could stand a refresh, honestly). After thinking about it for a bit, I emailed Pragmatic's CEO and asked if there were any plans to update the book and kind of quietly added that I'd be willing to help if there weren't plans. Pragmatic's CEO came back to me and after checking with Dave, Andy, and Chad, said that there were no plans that he knew of. He invited me to pitch an outline of what needed to be updated and give a rough estimate of how much of the book needed to be changed.
Well, that escalated quickly, I thought.
I went back through the fourth edition of the book chapter by chapter identifying where there seemed to have been changes or where new material needed to be added.
I don't know what went on between Pragmatic and the existing authors, and even if I did know it's not my story to tell, but the next thing that happened was that Pragmatic made me an offer to update the book. Everybody has been very supportive, and it's all been exciting and terrifying.
Q: Didn't you have other books this year?
Yes, thanks for asking.
Both of my 2021 book releases got second editions for 2022 based on substantial changes to their underlying libraries, both of which are available as ebooks and in print.
- Tailwind Book: Second Edition: The brief little Tailwind book was substantially made out of date very quickly by the JIT compiler in Tailwind 3.0, so we did a quick update. Which is now somewhat less out of date.
- Modern Front-End Development For Rails: Second Edition: Or, as I like to call it, Moderner Front-End Development For Rails. Rails 7 added a bunch of features that basically blew the book up, again, but for the better, because it enabled me to get rid of Webpack and Webpacker, and the book's code is more manageable because of it.
Q: Can I give feedback?
Yes! We are actively looking for people's feedback!
The official The official channel for feedback is https://devtalk.com/books/programming-ruby-3-2-5th-edition/. And there is a specific link for reporting errors at https://devtalk.com/books/programming-ruby-3-2-5th-edition/errata.
Also, you can contact me on Twitter (@noelrap, at least as long as that lasts), or on Mastodon (@noelra@ruby.social).
Thanks for reading, please buy the book, I hope to see some of you in Houston for RubyConf.
This post is also on the web at https://noelrappin.com/blog/2022/11/hi-all-it-s-a-pickaxe-q-a/ -- you can leave a comment there.
Dynamic Ruby is brought to you by Noel Rappin.
Comments and archive at noelrappin.com, or contact me at noelrap@ruby.social on Mastodon or @noelrappin.com on Bluesky.
To support this newsletter, subscribe by following one of these two links: