Michael S. Hart, Founder of Project Gutenberg, Dies at Age 64

Michael S. Hart, Founder of Project Gutenberg, Dies at Age 64:

From his obituary at Project Gutenberg:

Hart was best known for his 1971 invention of electronic books, or
eBooks. He founded Project Gutenberg, which is recognized as one
of the earliest and longest-lasting online literary projects. He
often told this story of how he had the idea for eBooks. He had
been granted access to significant computing power at the
University of Illinois at Urbana-Champaign. On July 4 1971, after
being inspired by a free printed copy of the U.S. Declaration of
Independence, he decided to type the text into a computer, and to
transmit it to other users on the computer network. From this
beginning, the digitization and distribution of literature was to
be Hart’s life’s work, spanning over 40 years.

A true pioneer, who made the world a better place.

[Considering where I work, this is especially notable.]
Source: Daring Fireball

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