books

After three years away from all but the most trivial of noodling with the Ruby programming language, I have become a Ruby Foo (as in Mr. T’s catchphrase, “I pity the foo’!”). I am severely out of practice with Ruby, and with two versions having appeared since I last made a living with Rails, even the act of creating a new project is completely different. Since Ruby is the preferred back-end programming language at Shopify and I am the Platform Evangelist, it’s time for me to “sharpen the saw”.

“I’ve been away from Ruby long enough that I’m probably back at newbie level again,” I told Obie between sips of latte made with overcooked beans. “I did it for a bit at the beginning using IronRuby, but between doing all the C# and PHP and the open source ‘Iron’ languages dying of neglect at Microsoft, I’m severely out of practice. I thinking of joining Shopify, and let’s face it: I don’t want to look like an ignoramus in the presence of rock stars like Tobi, Cody and Edward.”

“Give me your email,” said Obie, “and I can do something to help.” Of course he could – he’s the series editor of Addison-Wesley’s Professional Ruby series of books.

Shortly after South by Southwest, a couple of links to PDF editions appeared in my inbox. Thanks, Obie!

The first link was to Eloquent Ruby, Russ Olsen’s guide to speaking idiomatic Ruby and getting the most out of the Ruby programming language. It’s a breezy read, written in the same conversational tone that Olsen used in Design Patterns in Ruby, and the book is broken down into 31 bite-size chapters about a dozen pages in length. Each chapter’s title is some principle for programming eloquent Ruby – the first few are “Write Code That Looks Like Ruby”, “Choose the Right Control Structure” and “Take Advantage of Ruby’s Smart Collections” – and each explains that principle, provides code, shows you where you can find the principles used in actual, working projects. The book straddles the line between tutorial and reference; it’s written in tutorial style, but it’s organized so well that it might as well be a reference for those parts of Ruby that you might not use often (but should) as well as for those parts you keep forgetting (in my case, I always end up having to look up metaprogramming). I’ve been going through it at about a chapter an evening, and I’ve been getting smarter each time. Whether you’re coming back to Ruby after a hiatus like I am or if you just simply want to get better at Ruby, you should have this book in your library.

I’ll be writing from time to time about my return to Ruby and Rails in this “Ruby Foo” series of posts, and I hope that whether you’re new to the language, returning after a break like me or aiming for “guru” status, that you’ll check out this blog regularly for notes on my explorations and what I’ve learned.

Windows Phone is a lot of ground to cover, so the book is sized to match. Petzold’s been working on it since at least the start of the year and it shows – it’s over 1,000 pages on our favourite mobile operating system! Luckily, this book is free-as-in-beer: that’s right, you can download it in ebook form, along with the sample code, for no money at all. If you’re looking to seriously get into Windows Phone 7 development, you should have this book.

Downloads for Programming Windows Phone 7

XNA 4.0 Game Development by Example

Survey after survey shows that games are the most popular mobile phone apps, and Windows Phone is really good at games, and not just from the user’s point of view. The XNA framework, available to Windows Phone developers, takes Windows Phone 7 beyond mere informational apps – it’s like having an Xbox in your pocket!

XNA is also more than just about Windows Phone – it’s also for developing games for Windows and the Xbox 360. Better still, it lets you target three platforms – desktop, console and phone – with a single codebase and tweaks specifically for each platform. If you want to write games and reach a wide audience, XNA is your ticket.

I just got the book, and have only done the most cursory of scans, but I’ve already picked up a few ideas for how to implement features in my games. If you’re looking to do game development for Windows Phone and beyond, this is a great starter book!

For today only (September 26, 2010): Manning is selling the ebook version of Azure in Action for a mere US$15, which converts to CAD$15.36 as of this writing. The ebook is a MEAP book – that’s Manning Early Access Program – which means that it’s an in-progress book. Purchasers of MEAP books get updates and the final version as part of the deal.

To get the deal on Azure in Action, use the discount code dotd0926 in the Promotional Code box when checking out.

Today only (Friday, September 10, 2010), you can get either a PDF or dead-tree edition of Silverlight 4 in Action for half price! Just enter the discount code dotd0910 in the promotional code box when you check out at Manning Publications’ online store.

Here’s the publisher’s description of the book:

Silverlight gives you entirely new ways to create rich internet applications, and now Silverlight 4 adds many powerful enhancements to the mix.

Silverlight 4 in Action is a comprehensive guide to application building using C#. It goes into action immediately in a thorough introduction. It then follows up with numerous nifty examples to explore flexible layout, control extensibility, the communication and binding models, rich media, animation, and much more.

This book explores practical questions in patterns, testing, and performance optimization throughout. No previous experience with Silverlight is required.

Remember, it’s half price just for today! With the discount, the ebook edition becomes USD$14.99 and the paper book version (which also gives you the ebook edition) drops to USD$24.99.