Archive for the 'Books' Category

On The Last Lecture

Antonio Cangiano April 8th, 2008

The Last LectureStarting today, Amazon will be shipping the hardcover version of “The Last Lecture”, by Prof. Randy Pausch and Jeffrey Zaslow. While I wait for my copy to arrive, I feel the need to express a few thoughts on the subject of this book. Over the past several months I’ve been following closely Randy’s story and was often tempted to write a few lines about his touching message and courageous attitude towards life and death. The release of this book is a good opportunity for me to do so, because I’d rather prefer my words to be a heartfelt thank you letter - while Randy is still alive - than a brief eulogy to be published when, sadly, he’s no longer physically with us anymore.

Randy Pausch is a popular Professor of Computer Science, HCI, and Design at Carnegie Mellon University, an ACM Fellow, and the founder of the Alice project (an educational software that’s designed to teach computer programming to young students. You can donate here.). He’s also a married man and the father of three small children. In August of 2007, Randy was diagnosed with terminal pancreatic cancer and was told that he would have very little time left to live. Grimly, he was given an estimated 3 to 6 months of remaining good health.

On September 18, 2007, Randy gave a lecture at CMU which made him famous worldwide. The talk was titled “Really Achieving Your Childhood Dreams”, and it was given as per tradition, as a hypothetical final lecture in which top academics are asked to summarize important lessons that mattered to them, as though it was their last chance to do so. For Professor Pausch however, this was actually the case.

His lecture is truly brilliant and provides important suggestions on how to achieve satisfaction in life, by living to the fullest. If you haven’t seen it before, please make sure you do, today. It’s not the usual self-help mumbo-jumbo, and it’s not a sad, depressing lecture either. It’s uplifting stuff that will motivate you and, to a certain extent, change your life if you’re listening carefully enough. I know it has had a deep impact on my own life, even if I’ve never had the chance to meet Randy and I’ve not (thankfully, so far) had any close relatives or friends die as a result of pancreatic cancer.

I love how, throughout his lecture, Randy manages to maintain an optimistic outlook on life, while at the same time not being in denial about his condition, or the future that his family is facing. His proactive, positive attitude, even when approaching death, is nothing short of inspirational. And I’m talking about the type of inspiration that you get after hearing a recording of Richard Feynman. Without even trying hard to inspire many, this man ended up doing just that for the millions of online viewers and TV spectators who watched the condensed version of Randy’s lecture on Oprah.

Here is a man who, with humility and dignity, decided to fight an aggressive disease for which there is no cure, by living his life to its fullest and having fun until his last day. Rather than screaming “why me?” or feeling depressed by how unfair his situation is, he’s opted to accept his condition no matter how unfortunate it is. While at the same time working diligently to make the best of the present, and to ensure a future for his wife and kids in which they are taken care of.

You can’t control the cards you’re dealt, just how you play the hand.
— Dr. Randy Pausch

It’s humbling, to say the least, when one start to think about the countless day-to-day opportunities that each of us has, just by the sheer fact that we don’t have an immediate “death sentence” over our heads. It makes you think about the value of time and the fact that most of us have no reason to feel sad or over-worried about the small problems that affect our daily routines. His lecture, and his ultimate lesson, are about embracing life and never giving up.

For those of you who have access to North American TV, tomorrow ABC will air an hour long Diane Sawyer feature entitled “The Last Lecture: A Love Story For Your Life”. Please, if you can, try not to miss it.

But it’s not just inspiration and the power of dreams that I want to talk to you about. We, as a society, have a very skewed perception of what constitutes a real threat. Terrorism is one of the most unlikely causes of death in America and yet it has received a huge deal of press coverage and public attention. Mad Cow Disease, Avian Flu, Africanized bees, just to name a few, are all very unlikely to affect you. Yet, in the collective mind they are perceived as huge risks, because they’ve been portrayed as such by the media. We have a huge elephant in the room though, and it’s being ignored. That elephant is cancer. Cancer is the second highest cause of death in the US, after Heart Disease, and in 2005 alone, it was responsible for taking the lives of 559,312 people. Or to look at it from another angle, 22.8% of all US deaths occurred as a result of cancer. 1 in 2 men, and 1 in 3 women, will statistically develop cancer in their lifetime. This means that if you’re married or have a life partner, there is a greater chance of one of you developing cancer, than of neither of you being affected. These numbers are astonishing, absolutely astonishing.

Society, as a whole, really needs to stop and reflect for a moment on the impact of cancer. Cancer is literally killing millions of people, and we are unnecessarily playing Russian roulette. The odds are against us. Any of us can get cancer, no matter how healthy we try to be. Cancer research has done a lot in terms of improving the survival rates of specific types of cancers. But others are, by and large, left in the dark, with very little funding and research going towards them. The five-year relative survival rate for melanoma went from 82% to 92% in the past 30 years, breast cancer went from 75% to 89%, and prostate cancer from 69% to 99%. Overall, considering all the types of cancer, in the past three decades, we’ve gone from a 50% chance of survival to a 66% chance. Those are all excellent results, and they essentially mean that if you get any of the cancers mentioned above, you have a fighting chance of surviving thanks to the research that’s been done and the funding that’s been put forth.

But not all cancers are created equal. Do you know what the survival rate for pancreatic cancer is? 4-5%. If you get pancreatic cancer, you may as well consider yourself dead - and usually within the span of a few short months. Over the last 30 years there have been extremely few advances in the field of pancreatic cancer research, and a truly severe lack of funding. I’m an atheist who doesn’t believe in prayer, but I do believe in science and that when you put money towards research, results usually follow in a fairly systematic manner.

Randy has been strongly advocating for the Pancreatic Cancer Action Network. I ask you to join me in donating to this very worthy cause, because donations can, and will, make a very real difference. I’m not good at telling other people what they should do with their hard earned money, but if you can, please contribute to this cause, as it will help to make Randy’s last few months worth of incredible effort all the more valuable. Many tech people donated to Ron Paul, Kucinich, Obama and other valuable political campaigns, now let’s make sure that the same happens for another type of very important cause - and let’s do it while Randy is still alive to witness our support.

The following is Randy Pausch’s public service announcement on behalf of the PANCAN:

This one is a public service announcement of The Lustgarten Foundation for Pancreatic Cancer Research:

And this is his testimony before Congress:

And finally, if you haven’t done so, I highly encourage you to watch his lecture:

With absolute sincerity, thank you Randy for showing us all how to live in the face of adversity.

This Week in Ruby (April 7, 2008)

Antonio Cangiano April 7th, 2008

The first edition of This Week in Ruby received a warm welcome from the community. A week later, here we are with a second installment of the series. I’ll attempt to repeat these posts approximately every week, so feel free to follow along by subscribing to my feed.

The Ruby community is a tremendously active one. In only seven days, there have been so many noteworthy items popping up, that it would take me hours just to mention them all. I’ll try to pretend that you, the reader, have been on a week-long vacation in a remote place without internet access, and on your return you asked me, “Hey, Antonio what happened in Ruby and Rails land while I was away?”

Some fun on April Fools’ Day

We kicked off the week on a lighthearted note, by fully embracing the endless opportunities offered by April Fools’ Day. Most of the spoofs and jokes were aimed at making fun of Ruby on Rails, one way or another. Testimony to the self-irony that we, as a community, certainly have. I personally announced the soon-to-arrive release of a fictitious (of course) framework called Ruby on Crack. Which was supposedly much faster and productive than Rails. At the heart of the joke were the fake endorsements, chocked full of double-meanings (with apologies to Matz, David Heinemeier Hansson, Dave Thomas, Ezra Zygmuntowicz, Obie Fernandez, Zed Shaw, Tim O’Reilly, Guido van Rossum and Paul Graham). I found the SQL on Rails April Fools’ gag very funny and extremely elaborate. Their screencast is comedic genius and their site a spoof in every minute detail. In my book, on that day, they took the cake. The joke itself was from two years ago (as pointed out by a commenter below) but it resurfaced again this year. The hilarious trend continued with Cobol on Cogs and for the ASP.NET and PHP nostalgic, with Acts as ASP.NET and RHAP (Ruby Ain’t Hypertext Preprocessor). Avdi Grimm even found the final solution to the whole Monkey-patching diatribe: Ninja-Patching, “When you really want to catch a coder by surprise, a monkey doesn’t cut it. What you need is a Ninja.”. :)

mod_rails

Last week I mentioned Passenger (aka mod_rails). This week Hongli Lai published some interesting benchmarks that compared it against Mongrel and Thin for three Rails applications (Typo, Petstore and El Dorado). While still synthetic benchmarks, the results where very encouraging and showed how Passenger was on average faster than Mongrel and roughly on par with Thin. Even just the perspective of having performances that are somewhat comparable with those of Mongrel, would be great news, given that it’d highly simplify the deployment process of Rails applications with Apache. Ninh Bui has announced that the official release date for the project is expected sometime this week and that meanwhile they are working with companies like Twitter and Dreamhost to ensure that the module is fully tested. Speed is only one of the project’s aims in fact, with a lot of focus put on stability and robustness, too. They also caught the attention of Engine Yard who is interested in discussing a possible partnership and contributions to the Rubinius project.

Git

By now you should be aware that the Rails community is fully embracing Git, and github.com is only part of the reason. Michael Bleigh has even created a small library called ruby-github to simplify access to the GitHub API. David has announced that Rails is moving to Git and the ticket tracking system is being switched over to Lighthouse. As David pointed out, this means that both the tracking system and version control are to be run by Rails applications, which is a good bonus if you subscribe to the philosophy of “eating your own dog food”. For those who are still git-challenged, Kurt Schrader has a collection of helpful links to get you started. And if you need a simple issue tracker for git, version 0.1.2 of Ditz has just been released, too.

Conferences

Confreaks has now published the remaining videos from MountainWest RubyConf 2008. They’re very interesting and highly recommended. All of them.

In case you missed the Ruby Fools conference, held on April 1st and 2nd in Copenhagen, you can read an interesting personal account by 41Concepts. The conference also took place on April 3rd and 4th in Oslo.

Speaking of conferences, Sam Ruby will be presenting on Ruby 1.9 at this year’s OSCON. In a recent short post, he mentioned his plans for his talk and really nailed one of the problems that will hinder Ruby 1.9’s adoption, in his own words:

My tentative conclusion at this point based on observations of efforts to get products like Rails working on Ruby 1.9: the biggest obstacle to Ruby 1.9’s adoption is the sheer number of mostly working but essentially unmaintained gems that virtually everybody in the Ruby community depends on. — Sam Ruby

Rails

Amazon has an article on Using SimpleDB and Rails in No Time with ActiveResource. Another interesting article which surfaced this week was a post called simple pages for easily creating “boiler-plate” pages in Rails.

Three interesting plugins where released. You can read about them in Introducing Action Messager: Dead simple IM notifications for your app!, Better Partials Plugin for Rails and A Rails 2.0 Message Forum Plugin.

The Rails Jedi posted about two Mac OS X applications for accessing Rails docs in the most efficient way possible. Nookkit.app and RailsBrain are real timesavers, and I highly recommend them to Mac users.

SapphireSteel has announced the Public Beta of their Visual Rails Workbench. With the release of Ruby in Steel 1.2 Beta 3, they have in fact included their drag-and-drop visual environment for Rails. I didn’t have a chance to try it out, but if you are on Windows you may want to give it a shot, starting with reading their online articles.

The ink for printing Ruby and Rails books never runs dry, as I pointed out in my post 7 soon to be released Ruby and Rails books. It turns out that in the months of April and May alone, there will be 8 new Ruby/Rails titles. Check them out, especially if you are looking for updated material relating to Rails 2 or, in the case of the pickaxe 3, to Ruby 1.9.

The guys from Rails Envy, published episode 25 of their Rails podcast. If you are not familiar with their fun podcast, I recommend that you listen to a few episodes by subscribing to it through iTunes.

Ruby

There were countless interesting Ruby articles in the last week, but I’d like to point out the following:

Ruby VMs

In Rubinius for the Layman, Part 1: Rubies All the Way Down, Mathieu Martin has a nice, gentle introduction to Rubinius with some reveling benchmarks too. For those interested in learning more about the current status of Rubinius, InfoQ has a short article with a few pointers.

More remarkably, in the land of alternative Ruby VMs, Jruby 1.1 has finally been released, after months of hard work. The authors are already thinking about what lies ahead for the project. If the subject interests you, feel free to grab a few slides from various presentations on the topic.

7 soon to be released Ruby and Rails books

Antonio Cangiano April 2nd, 2008

With the amount of good Ruby and Rails books already on the market, you’d think 2008 would be a shy year when it comes to publishing new titles, but nothing could be further from the truth. The following books are all to be released this month or in May, and there are many more coming out this summer.

Do we really need another 7 titles on the market within 2 months time? Interestingly, the answer is yes, for two main reasons. First, most of them serve a specific purpose, rather than being generic introductions. Second, we have a hole in the Ruby and Rails book market. Ruby 1.9, despite being a development release, has been out for a while. More importantly, Rails 2 differs enough from Rails 1.2 (covered by most books out there) to require new tutorials for those who approach Rails for the first time and perhaps even for those who wish to upgrade.

I think that the Pragmatic Programmers made a mistake in deciding not to upgrade their Agile Web Development with Rails, 2nd Edition because they left newcomers in a difficult spot. Developers who are experienced with Rails, will just get Obie’s The Rails Way and be fully covered, but those who are new and would like to get started with Rails don’t have many choices. They can get the Pragmatic Programmers’ Rails title mentioned above, but it’s a bit obsolete now and that means extra effort on their part to follow along, installing an old version of the framework, and then figuring out some way to move to the new features that were introduced by Rails 2.0 (soon to be Rails 2.1). As a matter of fact, when people ask me for a good Rails 2.0 introductory book for programmers, I can’t really name one. So far I’ve suggested getting Dave Thomas’ book or RailsSpace: Building a Social Networking Website with Ruby on Rails, and then moving to The Rails Way when they are ready to take it to the next level. But it’s not an ideal scenario at all.

Alright, to the titles then:

Title: Programming Ruby: The Pragmatic Programmers’ Guide (Third Edition)

Available: May 15, 2008

Notes: Currently in beta, it’s going to be the first book that fully covers Ruby 1.9 and its core and standard libraries.
Title: Simply Rails 2.0

Available: May 15, 2008

Notes: It’s the second edition of an already “gentle” introduction to Rails called Build Your Own Ruby on Rails Web Applications. It covers Rails 2, and if well written, it may be that missing guide for newcomers to Rails and beginner programmers, that I was talking about.
Title: Practical REST on Rails 2 Projects

Available: May 5, 2008

Notes: It’s marketed as a practical intermediate/advanced title for creating RESTful applications. The topic and target audience make it interesting for many web developers.
Title: Agile Testing with Ruby and Rails

Available: May 19, 2008

Notes: It’s supposed to extensively cover TDD and BDD with Ruby and with Rails 2.0.
Title: Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps

Available: May 15, 2008

Notes: Currently in beta, it’s a Rails 2.0 cookbook by one of the most prominent developers in the community (Mike Clark).
Title: Deploying Rails Applications: A Step-by-Step Guide

Available: May 15, 2008

Notes: Currently in beta, it’s the book that should alleviate the pain of Rails deployment for many. Ezra is one of the biggest experts in the field, so I have great expectations for this title.
Title: FXRuby: Create Lean and Mean GUIs with Ruby

Available: May April 15, 2008

Notes: Currently in beta, it covers cross-platform development with FXRuby, the Ruby wrapper for the FOX toolkit. The author, Lyle Johnson, is also the author of the gem.

I can’t speak firsthand for any of these books, having not had the opportunity to read them yet, but knowing some of the talent behind them I certainly have high hopes.

« Prev - Next »