Setting up a new machine for Ruby development

Setting up a new machine for Ruby development:

It used to be a jarring experience to setup a new machine for development, but progress has paved the dirt road into a silky smooth autobahn. These are the tools we use today:

  1. Homebrew: Remember how painful it used to be to get imagemagick installed? Now it takes about a minute. “brew install imagemagick”. Same story for git and other Linux dependencies.
  2. rbenv/ruby-build: We have some apps running on Ruby 1.8.7, some on 1.9.2, and some on 1.9.3. ruby-build makes it easy to compile all three, rbenv makes it easy to switch between them on a per-project basis. We run rbenv in production as well, so all you need to do to change the Ruby version there is alter .rbenv-version—development and production is always on the same page.
  3. Bundler: Not everyone at 37signals loved Bundler at first, but now that it’s stable, they’ve been won over. I now curse whenever I have to use an old application that hasn’t been setup with Bundler. Manually tracing down dependencies?! How prehistoric!
  4. rake setup: All our apps has a rake setup task that’ll run bundler, create the databases, import seeds, and install any auxiliary software (little these days) or do any other setup. So when you git clone a new app, you know that “rake setup” will take care of you.
  5. Pow: No more messing with Apache or nginx for local development. All it takes for Pow to add another app is a symlink. All the apps are always configured and available at basecamp.dev, highrise.dev, etc without messing with the hosts file either.

Thanks to Max Howell for Homebrew, Sam Stephenson for rbenv/ruby-build and Pow, and Carl Lerche/Yehuda Katz for Bundler. Thanks to them, starting from scratch has never been easier.

[Some new stuff to try out. RVM hasn’t really lit me up…]
Source: SIGNAL VS. NOISE

The Acquisition: An Open Letter to our Customers – Competitive Cyclist

alloy/macvim: The Acquisition: An Open Letter to our Customers – Competitive Cyclist:

Unlike the current essential structure of the bike industry, where dealer interests take priority over consumer convenience, our focus at Competitive Cyclist has always been on you. For those who asked if we sold out of financial desperation, the answer is a definitive “no.” We sold out of a sense of aggression. If nothing else, 20 years of bike racing has honed my sense of timing for an all-in attack. The moment is perfect for us to fast-track our ultimate vision for Competitive Cyclist.

[My local guys need to embrace this more than they have…]

The screwdriver

The screwdriver: When we talk about ourselves, and our own experiences, there’s no amount of generosity that feels like too much.  When we talk about others, everything is supposed to be bounded and thought out and make sense.

Generosity is a way of walking through the world and spreading joy.  Nothing more, nothing less.

It’s up to you to decide how much you want of that in your life. [Righteo.]
Source: Sasha Dichter’s Blog

A Supercomputer in Every Backpack

A Supercomputer in Every Backpack: People visit my school all the time. They shake my hand as they leave and tell me how inspiring it all is and often they sign off with “truly, the iPad is the future of education”. I bite my tongue every time because unlike Richard Stallman I’m not an anti-social jackass, but I want to correct them.

I want to tell them that the iPad is not the future of education, it’s the present of education. If we consign the iPad to the realms of the future, then we are implicitly saying that it’s not for right here, right now, today. We’re saying that we can postpone the task of seriously engaging with the educational and social impact of ubiquity of Internet-connected computing.

I ask you to consider other industries that put off dealing with such challenges. How is that approach working out for record companies? For newspapers? For booksellers?

The hour is already late. We have allowed a 16-year gap to develop between society and schools in terms of our children’s access to computers. Can we properly prepare Beth and her cohort for the year 2029 with the same level of access to computers that I had 35 years before?

How long can we let this gap continue to grow? Another five years? Another ten? In another 14 years, if GSMA are right, society as a whole will have 7 connected devices each – will we be delivering relevant education in that world if each pupil only has a third of a computer to themselves?

Cedars is not a school of the future. I think we’re a decade late. [Everything that Fraser has been working cuts close to my heart as I concern myself Noah’s education. What parts are his school getting right? What parts are they getting wrong? Where is it so bad that I need to shore it up, where can ignore it as it as irrelevant? Clearly his school has the computer and technology stuff wrong. But I don’t think it matters because that is something that I can (fortunately) fix. Not everyone can, but I (we) can. The stuff I can’t fix? What they feed him. The crappy behaviors he learns from the kids on the bus. Yeah, I know all survivable stuff, but considering the importance of these years… anyway, consider how your child’s education doesn’t match the needs of the marketplace. What are you going to do about it? Where do you think it’s lacking?]
Source: Fraser Speirs

Automatic Spelling Corrections On Github

Automatic Spelling Corrections On Github: “Github projects may be seeing a different kind of contributor than normal: a small bot is now crawling through projects, contributing spelling corrections. It builds on top of the github API and existing documentation style-checking code. Future directions for the project look beyond spelling mistakes and at automated bug fixing on a large scale.” [Github has a number of features that make it interesting. It’s really a wonderful tool for collaboration that goes beyond code.]
Source: Slashdot