Considering writing a book on Ruby/Rails?

On Sun, 07 Oct 2007 23:33:21 -0400, Eric H. wrote:

Sadly, I’d rather buy your book if I needed it than to pay for the info
to be included in the other books where I do not. :wink:

Sure. The problem is the use case of someone who’s been wanted to play
with Rails all week. Finally has a long weekend, stops by Barnes &
Noble
or CompUSA to find the appropriate books. They have a few, some are
even
the latest version. He grabs them, takes them home, and starts reading:

“First, enter the console app, where you’ll be able to execute ruby
statements with real-time feedabck. From console…”

and the reader goes “What? What conosle? What directory is it in?”

Than then parses out to one of two problems:

  • OSX user with a built-in Ruby 1.8.2 install and library, and
    potentially
    old versions of the gem updater that need manual intervention to start
    pulling down 0.i gem;

  • Ditto, but they’ve installed Locmotive at some point, which stores
    Ruby
    and libs in yet another directory hierachy;

  • Windows user now, using the OCI, puts his lib under his C:RUBY
    hierarchy

  • Another one tries to put it under My Documents

  • And the last one tries to get clever and start switching to cygwin so
    they can use bash.

Yeah, there’s a book in there.

Jay

On Oct 7, 2007, at 11:10 PM, Jay L. wrote:

or CompUSA to find the appropriate books. They have a few, some

hierarchy


Jay L. |
Boston, MA | My character doesn’t like it when they
Faster: jay at jay dot fm | cry or shout or hit.
http://www.jay.fm | - Kristoffer

This is EXACTLY the scenario that supports boosting page counts with
the continued detailed installation how-to’s !
Why?
Though it means a few cents go to a few pages of stuff you may not
think you need, it helps to ensure that we begin to develop some well
documented and easy to access standard installations. That can
definitely help reduce problems.
Besides, you may not think you need to install it again anytime soon,
but what if your hard disk bites the big one? Hmmm?
Lightning storm, flood, you name it. No more installed Ruby. (unless
you buy a new mac in a month)

Better scenario: imagine you are tasked with distribution/deployment
of a Ruby app… support… it can be handier than you think…

but I digress, we have a wealth of rich stuff in Ruby that needs
booking and Rubyists would definitely buy it.
Pdf is low cost. If a print publisher comes around and wants to make
something more of it, then you’re almost finished already!
So, rather than a Ruby codefest love in, lets get to writing about
the libs you know best.
The language with the most docs&books wins! You aren’t required to
give it away. Many publishers are all about supporting ebook
distribution on line, heck there’s paypal and ruby for that, you can
build it!

On Mon, Oct 08, 2007 at 12:04:34PM +0900, James B. wrote:

Publishers seem deeply interested in following proven paths. Most would
rather publish the 100th dreary Rails book than the first Nitro or Iowa
book.

It seems like an area ripe for self-publishing of brief, low-cost,
PDF-only works.

Agreed – and I’d like to see more of that sort of thing going on. In
addition, it seems the publishers are few and far between who understand
that free PDFs can serve as free advertising for paid hardcopy (though
more numerous in the Ruby world than elsewhere), so offering on-demand
hardcopies through “vanity press” services along with free PDFs would
likely be a great way to self-publish in many cases.

At least you’ll find out for sure whether people like your book.

Jay L. wrote:

"First, enter the console app, where you’ll be able to execute ruby

  • Ditto, but they’ve installed Locmotive at some point, which stores Ruby
    and libs in yet another directory hierachy;

  • Windows user now, using the OCI, puts his lib under his C:RUBY hierarchy

  • Another one tries to put it under My Documents

  • And the last one tries to get clever and start switching to cygwin so
    they can use bash.

cygwin … slowly I turned … step by step … inch by inch …

Yeah, there’s a book in there.

emerge -v rails

which installs all the dependencies including Ruby.

“Cerberus …”
One problem with these though is that they change pretty fast don’t
they?
So by the time you’d finish publishing it would it be out of date?

The only thing worse than a book on how to install Nitro/Og is a book on
how to do it that is out of date and no longer applies :slight_smile:

Some of those smaller PDF booklets (mongrel has one, ferret has one,
etc.)
might be more realistic though and are at a price point that is low
enough
that it’s not that big a deal if it’s not accurate in 4 months cause by
that point you’ll be “following along” some other way.

-philip

Brad E. wrote:

http://www.amazon.com/Advanced-Rails-Brad-Ediger/dp/0596510322

Assuming we don’t change the chapter order between now and then, the
first chapter will have you neck-deep in Ruby metaprogramming.

It really does hurt my page count not to include huge screenshots of
installing Ruby, Rubygems, and Rails on Linux, OS X, and Windows,
though. :wink:

Yeah, and I’ll likely buy the book just so I can support someone who
gets that if one is learning a programming language that they are
probably quite capable of compiling from source, not to mention capable
of simply installing from a gasp installer. I too put my money where
my mouth is.

Jay L. wrote:

“First, enter the console app, where you’ll be able to execute ruby
statements with real-time feedabck. From console…”

and the reader goes “What? What conosle? What directory is it in?”

My first question would be “why the hell can’t the idiot just look
online and figure this out in the first place like any of the rest of
us!!!” but since I know that’s too simple…

I understand and yet you also mention the problem with this: the number
of different platforms it is on and the vast differences that each
provide. The install for Fedora Core is different from OSX, or Windows,
and probably Debian and BSD, etc.

A list of links to pages that have up-to-date information on installing
for each platform and the idiosyncrasies for each is a better solution
than attempting to claim to be all-knowledgeable for all platforms when
in reality the author is really only experienced in a very few of the
platforms mentioned. Those pages could then deal with the console and
the directories that everything can be found in, etc. and could be
changed according to new releases. This would make Ruby/Rails books less
likely to become obsolete to those same readers you discussed if the
installation procedures were to change; it wouldn’t leave them high and
dry and with a $40 paperweight.

Think about it, we live in an age where the Internet rules, and we’re
learning about a programming language that is used mostly for web
development but we’re supposed to rely on a few pieces of paper to tell
us the most recent news about installer quirks, etc. Since those
installer quirks are more likely to change than the basic language(etc.)
is, I don’t see the point in including such a chapter.

John J. wrote:

buy a new mac in a month)
I’m not certain I follow your point here entirely(I can’t tell if you’re
for or against the installation chapter(s)) but in the case of a hard
drive crash, etc. I would do as I did in the beginning: JFGI.

AND I already did have a system crash less than 2 weeks ago and I had to
do a reinstall. Took me less than 2 minutes to handle the Ruby side of
it thanks to Google.

That’s the beauty of self publishing; for example, with the Humble
Little Ruby Book, I can update it, send it to Lulu, and have a fresh
paper copy next week (or PDF copy immeidately).

That sort of setup is far more agile than a “stock and ship” setup
like most traditional publishers.

–Jeremy

On 10/8/07, Philip H. [email protected] wrote:

“Cerberus …”
that point you’ll be “following along” some other way.

-philip


http://www.jeremymcanally.com/

My books:
Ruby in Practice

My free Ruby e-book

My blogs:

http://www.rubyinpractice.com/

On Mon, 08 Oct 2007 13:38:54 -0400, Eric H. wrote:

A list of links to pages that have up-to-date information on installing
for each platform and the idiosyncrasies for each is a better solution
than attempting to claim to be all-knowledgeable for all platforms when
in reality the author is really only experienced in a very few of the
platforms mentioned.

Excellent point. Books should consider “online appendices” more often
for
things like that.

I have to laugh when I thumb through a decades-old book and it tells me
to
find something on archie or in comp.sources.

“Please, please, please do not do us the disservice of putting a
chapter(or more) on how to install Ruby/Rails.”

I personally agree with that. Maybe the “installing something”
should instead be mentioned in a rather short Appendix
section at the end, if at all (i rarely have problems
installing something, and then usually only because the
author didnt provide install instructions, or the install
didnt work because its buggy ;> ).

It bores me to skip through 40 pages of that kind of stuff
when i open the book first :slight_smile:

I must say, Pickaxe2 was a very nice book in overall, the
other ruby books were not as good and thus I was a bit disappointed.

I think there would be only two cases where I would buy a new
ruby book:

~ something similar in spirit like Pickaxe2

  • something that highlights in DETAIL the Ruby+C (K&R book is
    sooooo boring …) world. In fact, personally I would like
    such a book that bridges the Ruby-C world :slight_smile:
    (I am collecting all information locally too, and
    expanding all the time, but I do lack a lot of C
    specific knowledge still… so making bindings to simple
    C code someone else wrote is still hard for me)

Ah… there may be one more example, which would be “advanced”
ruby that could include theoretical stuff as well. For example
sections about good solutions of something, even a little bit
math reasoning behind etc… etc… or efficient coding and
these kind of “hints” which are explained, and NON-TRIVIAL :wink:

PS: Thats just my 2 cc :slight_smile:

Ah… there may be one more example, which would be “advanced”
ruby that could include theoretical stuff as well.

Oh joy - all the stuff that’s most likely to change before the book
sees print!

(-;

Philip H. wrote:

One problem with these though is that they change pretty fast don’t
they? So by the time you’d finish publishing it would it be out of date?

The only thing worse than a book on how to install Nitro/Og is a book on
how to do it that is out of date and no longer applies :slight_smile:

Some of those smaller PDF booklets (mongrel has one, ferret has one,
etc.) might be more realistic though and are at a price point that is
low enough that it’s not that big a deal if it’s not accurate in 4
months cause by that point you’ll be “following along” some other way.

Excellent point. I think that would be the time to make something more
akin to a magazine(electronic or not) that one could subscribe to. We
have PHP, Linux, and a gazillion other magazines of the sort so one on
any of these would be just as easily welcomed.

Marc H. wrote:

  • something that highlights in DETAIL the Ruby+C (K&R book is
    sooooo boring …) world. In fact, personally I would like
    such a book that bridges the Ruby-C world :slight_smile:

Well … there’s always the SWIG documentation online specific to Ruby:

http://www.swig.org/Doc1.3/Ruby.html#Ruby

:slight_smile:

these kind of “hints” which are explained, and NON-TRIVIAL :wink:
The SWIG documentation is definitely non-trivial. :slight_smile:

I also would like to see more non-trivial books.

The only real irritation which I have run into is when I purchased the
new
jQuery book, the pdf version does not allow copying and pasting. What
they
did I consider a horrible thing which made me want to post my copy to as
many places on the internet I could with the password to read it (no, I
actually didn’t but I did consider it…).

I had purchased the PDF for the explicit purpose of copying and pasting
the
examples and playing around with jQuery during my 7 hour car trip to
Ruby
East. (Yes I realized afterwards that you can download sample code but
that
is beside my point, and it did not help me during the trip.)

Moral: If you are going to write a book and publish a PDF copy, follow
the
Pragmatic Programmers and Oreilly’s leads, they do a fine job.

~Wayne

On Oct 8, 2007, at 9:53 PM, M. Edward (Ed) Borasky wrote:

emerge rails

let’s see on the Mac alone, there is also a one-click installer,
there is MacPorts (formerly darwin ports) with opt get…

and it’s still best to do a manual install if you want to be sure
which version you’re getting.

the devil is in the details.
so that includes the (very commonly used for OS X 10.4) Hivelogic
installation tutorial.

Eric H. wrote:

I understand and yet you also mention the problem with this: the number
of different platforms it is on and the vast differences that each
provide. The install for Fedora Core is different from OSX, or Windows,
and probably Debian and BSD, etc.

Hmmm … Gentoo Linux:

emerge rails

Fedora/CentOS/RHEL:

yum install rails

Debian/Ubuntu:

apt-get install rails

In all cases, the command will install the dependencies, such as Ruby.

Oh, yeah, you’ll need a DBMS.

emerge mysql

yum install mysql

apt-get install mysql

On Windows, there’s Instant Rails, and on Macs there’s Locomotive. That
pretty much covers everything except Solaris and BSD. Does anyone want
to round out my list with those two?

M. Edward (Ed) Borasky wrote:

Fedora/CentOS/RHEL:

emerge mysql

yum install mysql

apt-get install mysql

On Windows, there’s Instant Rails, and on Macs there’s Locomotive. That
pretty much covers everything except Solaris and BSD. Does anyone want
to round out my list with those two?

It would be great if that’s all there was to it. According to someone
else, one has to worry about the paths quite a lot and each platform
would need their translations supposedly, each also set on a half page
picture in the book. Though it’s prudent to point out again that I
consider becoming familiar with the file and operating system a basic
skill of owning and using a computer in the first place, much less
actually programming on one.

On Tue, Oct 09, 2007 at 11:53:00AM +0900, M. Edward (Ed) Borasky wrote:

Fedora/CentOS/RHEL:

emerge mysql

yum install mysql

apt-get install mysql

On Windows, there’s Instant Rails, and on Macs there’s Locomotive. That
pretty much covers everything except Solaris and BSD. Does anyone want
to round out my list with those two?

Uhh . . . on FreeBSD, either of:

  1. cd /usr/ports/www/rubygem-rails; make install clean
  2. portinstall rubygem-rails

Just pick one, depending on whether you use portinstall, and go with it.
Should work just fine.

On Tue, 9 Oct 2007 11:53:00 +0900, M. Edward (Ed) Borasky wrote:

Debian/Ubuntu:

apt-get install rails

I recently tried to help a summer intern install (or rather update) his
Ruby installation which he’d initially got from apt-get by doing just
that.
Turned out to be a REALLY hairy mess; even rebuilding Ruby and rubygems
from source didn’t work. We finally had to go down into the build dirs
and
build zlib by hand (and yes, we’d tried installing 20 packages all named
libz or zlib or derivatives thereof).

I also seem to recall that apt-get rails installs it outside of the gems
world, or something funky like that.