Help requested: new book

I would appreciate some help defining the topics for a new free web
book(*) that I am planning on writing. The tentative table of contents
(which will change - especially if you make good suggestions :slight_smile: is:

Enterprise Ruby

Preface
Section I: Core Technologies
Chapter 1: Web Services
Chapter 2: Dynamic Content Using Servlets and WEBrick
Chapter 3: Ruby on Rails
Section II: Enterprise Recipes
Chapter 4: Adding Spell Checking and Correction
Chapter 5: Using AJAX
Chapter 6: Adding Search
Chapter 7: Handling Documents
Chapter 8: Report Generation
Section III: Unusual and Useful Ruby Hacks
Index

There are many great books on using Ruby in enterprise settings and
what I am trying to do here is filling in more information on topics
that are not covered elsewhere to any great extent. This is why I am
only planning one long chapter on using Ruby on Rails. A lot of Section
II will be implemented on the Rails platform, but I am assuming that
any reader has already worked through a few Ruby on Rails tutorials and
is likely to have already implemented a few web applications using RoR.

I wrote a free web book “Loving Lisp, or the Savvy Programmer’s Secret
Weapon” a few years ago and I received a lot of great ideas, feedback,
error corrections, etc. from the Common Lisp community. I am not known
in the Ruby programming community so I might not get the same level of
help, but I am hopeful :slight_smile:

(*) I am going to release this as a free PDF file under a Creative
Commons license, but I would also like to find a publisher who would
make hard copy versions available to readers who want a physical book.

Very nice initiative Mark, I’m also planning in writing a Ruby book in
Portuguese.
I’d suggest you to include how to integrate Ruby with “native OS
operations”, such as “using syslog for you web application”, “using
windows registry for …”, etc. Sure these topics would be in Section
III.

Mark W. wrote:

I would appreciate some help defining the topics for a new free web
book(*) that I am planning on writing. The tentative table of contents
(which will change - especially if you make good suggestions :slight_smile: is:

Enterprise Ruby

What, exactly, does “Enterprise” mean here?

There are many great books on using Ruby in enterprise settings and
what I am trying to do here is filling in more information on topics
that are not covered elsewhere to any great extent. This is why I am
only planning one long chapter on using Ruby on Rails. A lot of Section
II will be implemented on the Rails platform, but I am assuming that
any reader has already worked through a few Ruby on Rails tutorials and
is likely to have already implemented a few web applications using RoR.

You may be doing readers a disservice by presuming RoR is always the
proper choice for Web/database applications. My take from those who
discuss Rails and “enterprise” is that it is not always a good fit for
legacy databases, distributed data stores, message queues, and assorted
stuff that seems to get tagged “enterprise”. (Mind you, I find the term
“enterprise” to be context-dependent and hence largely content-free, and
opinions I’ve read regarding this may be based on assorted prejudices in
favor of Java and against anything not Java.)

So, an exploration of Ruby Web tools may be just the thing that is not
sufficiently covered elsewhere (though it may distract from the main
focus of your book).

I wrote a free web book “Loving Lisp, or the Savvy Programmer’s Secret
Weapon” a few years ago and I received a lot of great ideas, feedback,
error corrections, etc. from the Common Lisp community. I am not known
in the Ruby programming community so I might not get the same level of
help, but I am hopeful :slight_smile:

I believe that offering the book for free will go a long way in
encouraging support from the community, and I commend and appreciate
your time and effort.

Plus, you’re a fellow Zonie.

James B. (Scottsdale, AZ)

–

http://www.ruby-doc.org - Ruby Help & Documentation
Ruby Code & Style - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools

On Nov 20, 2005, at 10:57 AM, Mark W. wrote:

(*) I am going to release this as a free PDF file under a Creative
Commons license, but I would also like to find a publisher who would
make hard copy versions available to readers who want a physical book.

Take a look at http://www.lulu.com

Eric D.
[email protected] | www.theadmin.org
=-=-=
v2sw5Yhw5ln3pr6Ock4ma3u6MLw3m7l6DiJe6t3b8Oen5g5Ma21s5Mr2p6 hackerkey.com

Chapter 5: Using AJAX
Chapter 6: Adding Search
Chapter 7: Handling Documents
Chapter 8: Report Generation
Section III: Unusual and Useful Ruby Hacks
Index

You probably want a chapter for EAI ( Enterprise Application Integration
).
So whatever you can find on Data munging/DBMS ETL/XML
transforms+generation/Messaging Buses/Application adapters etc. would be
great.

Maybe some B2B ( How to generate RosettaNet compatible XML with Ruby etc
).

How about DMS ( Document Management Systems ),
storing/indexing/producing
corporate documentation. Maybe Ruby interfaces to ‘High End’ DMS’s like
Documentum. Someone wrote a nice Ruby OpenOffice search a while back if
your
DMS is a fileserver :slight_smile:

Also testing and release management are big in Enterprises, so address
Ruby’s applicabilty to those.

Good ideas - thanks!

Hello James,

Good ideas, thanks. Even for legacy databases not using the RoR
database naming conventions can be wrapped with ActiveRecord with a
littl extra work. The name ‘Enterprise Ruby’ was chosen because it did
not have ‘Ruby on Rails’ in it. For all but very high volume web
services, WEBrick is great. I am very much into REST so expect a lot of
material concerning light weight web services.

I am fairly much of a J2EE guru, but I find myself not using much of
J2EE for most Java server side software jobs. I think of RoR in the
same way: sometimes the whole stack is not required. Again, I really
like WEBrick, in the way I like CheryPy (except I have just about
stopped using Python).

One thing that I am still mulling over: personally I now only deploy to
Linux servers (although I was running KnowledgeBooks.com from an OS X
server for a few years) and I am considering only covering Linux for
any depoyment issues. Largely, except for some external tools,
developing on Windows or OS X makes no real difference, but I only want
to get into gritty deployment strategiesfor Linux.

Anyway, I love to write and I anticipate lots of fun writing this book.

re: Arizona: yes, after livng in California most of my life, livin in
the mountains of North/Central Arizona is a great change. I organize my
work schedule to have some time during the day for hiking and fishing
time :slight_smile:

-Mark

Thanks Leonardo. I will have Linux specific material, but not Windows
material.

I won’t be able to read your book: in spite of working with many
Brazilian programmers, I never learned Portuguese.

-Mark

I have been thinking more on “Enterprise” - yes this does have a “huge
system” connotation. I am still thinking, but perhaps “Ruby for the
Small Enterprise” would be a better working title. Most web
applications are small or medium scale, and always planning for
possible future huge scale deployments is not so optimal.

Mark W. wrote:

I have been thinking more on “Enterprise” - yes this does have a “huge
system” connotation. I am still thinking, but perhaps “Ruby for the
Small Enterprise” would be a better working title. Most web
applications are small or medium scale, and always planning for
possible future huge scale deployments is not so optimal.

Ruby for the Voyager? :wink:

Hal

A section on domain specific languages (DSLs) could be good. I’ve been
working on one for an internal project for the last several weeks and
have learned a lot about Ruby’s dynamic nature as a result. Creating
classes and methods at run time, plus method_missing really makes for
some cool and expressive code.

I’d definitely like to see a section on DSLs as well ! I read Fowler’s
article but I’d like to see a fully developed example with source
code/explanations demonstrating the techniques that enablex one to
write a DSL in Ruby. I’d also like to suggest you write this section
first : ) Like ASAP : )

Just in case, does any one know of an existing article or have any
references beyond Fowler’s article? I saw Glenn Vanderburg’s slide
presentation but I guess it’s a little sparse for me?

Thanks,

Gary

In message [email protected], Mark
Watson [email protected] writes

(*) I am going to release this as a free PDF file under a Creative
Commons license, but I would also like to find a publisher who would
make hard copy versions available to readers who want a physical book.

Checkout the following (I got all of these from the Lua mailing list…)

http://www.cafepress.com (yes they do print books, I checked)
http://www.ondemandmanuals.com

I haven’t used any of the above, but from first impressions I’d probably
go with ondemandmanuals.

Stephen

On 11/22/05, GJB [email protected] wrote:

Just in case, does any one know of an existing article or have any
references beyond Fowler’s article? I saw Glenn Vanderburg’s slide
presentation but I guess it’s a little sparse for me?

There is Jim W.'s talk from RubyConf 2005:

http://onestepback.org/articles/lingo/

The above is the slides, and here is the audio from odeo.com:

http://odeo.com/audio/306705/view

Ryan