Slashdot Mirror


Practical Rails Projects

Sean Cribbs writes "There are many beginning and advanced Ruby on Rails books available, from the authoritative Agile Web Development with Rails to the cookbook-style Rails Recipes. However, healthy guidance for intermediate-level developers is lacking at best. Ironically, this is the most crucial stage in the process of becoming proficient with Rails because one must begin to learn why, not just how. Eldon Alameda's Practical Rails Projects effectively fills that gap. I know Alameda from our local Ruby User Group and spoke with him frequently while he wrote this book. His expertise with Rails definitely shines through in the hefty 621-page volume." Keep reading for the rest of Sean's review. Practical Rails Projects author Eldon Alameda pages 621 publisher Apress rating 8/10 reviewer Sean Cribbs ISBN 978-1-59059-781-1 summary A strong book for the intermediate Rails developer Practical Rails Projects has a unique and effective approach. Instead of spoon-feeding contrived code snippets, Alameda teaches by example, leading the reader step-by-step through the design, creation, enhancement, and analysis of several full-fledged projects. Each project introduces new techniques to the intermediate Rails developer carefully and with plenty of explanation — from caching to generating graphs to RESTful application design and much more. Rather than regurgitating documentation that is occasionally unclear or misleading, each application begins with a clean Rails project and is built up step-by-step with detailed commentary on how and why each step is taken. Alameda's format reflects the reality that real-life projects never have a straight development path; at each step one must make tough decisions, watch for pitfalls and take risks. There are no leaps-of-faith or "just trust me" moments, everything is explained. In the final chapter of each project, Alameda also suggests ways that the project could be improved and how to apply the newly learned techniques to previous projects in the book.

The text is clear and uncomplicated with an approachable style. Projects even makes Rails' least fun framework, ActionWebService (which helps you create SOAP and XML-RPC services), easy to understand. While there are some glaring proofing mistakes, such as "Ruby" uncapitalized and some malformed URLs to external resources, the code snippets are practically error-free and all source and binary resources are available via the Apress website.

One controversial decision made by Alameda was to use the ExtJS Javascript library extensively in one project to build an administration interface for a legacy site. ExtJS is a powerful high-level library that simplifies the creation of desktop-like interfaces in the web browser. Instead of spending a lot of time hand-crafting HTML/ERb templates and CSS, Alameda quickly creates an interface in ExtJS and uses Rails to generate XML and JSON that drives the almost entirely client-side application. While some may find this outside the spectrum of what should be in a Rails book, many developers are now creating their interfaces in Flex, SilverLight, and other client-side technologies. With the recent official release of ActiveResource, I believe we will see more web-service-focused Rails applications as time goes on. Alameda's choice is also practical; with a small number of users having access to the interface, he can place greater requirements on them in order to deliver the application more quickly.

Overall, I believe Practical Rails Projects is a strong book for the intermediate Rails developer. It provides an introduction to more advanced concepts of the framework without being preachy or obtuse. It lacks any discussion of test- or behavior-driven development with Rails, but the breadth and depth of the topics it covers makes up for this weakness. Like any book that covers a rapidly-changing open-source project like Ruby on Rails, Projects will date quickly, but in the near-term it should be of great help to developers looking to gain constructive experience.

You can purchase Practical Rails Projects from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

65 comments

  1. Here it goes by Joseph1337 · · Score: 1, Redundant

    Bad scaling/'right for the right job' flames in: 3.. 2.. 1..

    1. Re:Here it goes by fishdan · · Score: 1

      Yep rails for any thing where you don't expect traffic, MackFramework if you want to run something that will handle the /. effect.

      --
      Nothing great was ever achieved without enthusiasm
    2. Re:Here it goes by Marc_Loriau · · Score: 1

      sure thing. - Marc Loriau

  2. 621 pages? by Anonymous Coward · · Score: 2, Funny

    Does it come with its own set of rails and a freight train to transport the book around?

  3. Practical Rails Projects by everphilski · · Score: 1, Funny

    - constructing railroad tracks
    - fencing material
    - structural support for a building

  4. I converted our corporate site from PHP to RoR by Anonymous Coward · · Score: 2, Funny

    and all I got was a pinkslip

    1. Re:I converted our corporate site from PHP to RoR by tcopeland · · Score: 2, Interesting

      > and all I got was a pinkslip

      You should have used modrails. Suddenly, Rails deployment is as easy as PHP deployment. I no longer hesitate to put up little toy apps since now I don't have to worry about mongrel clusters and init scripts and all that rot. Great stuff!

  5. Objective? by Harold+Halloway · · Score: 4, Insightful

    "I know Alameda from our local Ruby User Group and spoke with him frequently while he wrote this book."

    I would be a bit worried that this review might not totally objective or unbiased.

    1. Re:Objective? by maxume · · Score: 3, Funny

      Is there somewhere where it promises to be objective and unbiased, or is there some text disclosing the reviewer's connection to the author?

      Upon seeing the headline "Mother loves, praises Child", Harold interjected "How do we know we can trust her opinion?"

      --
      Nerd rage is the funniest rage.
    2. Re:Objective? by Microsift · · Score: 2, Informative

      Dude, he only gave him an 8/10!

      --
      My other sig is extremely clever...
    3. Re:Objective? by Sean+Cribbs · · Score: 5, Informative

      I did my best to review the book honestly. All I can give you is my word.

    4. Re:Objective? by Anonymous Coward · · Score: 0

      Oh come on. Please enable your brain! THERE IS NOT A SINGLE "OBJECTIVE" VIEW IN THE WORLD!
      It is physically impossible - by definition - for something to be objective. There are huge biases in every cell between a human's sensors and his muscles/outputs... And then there's not oly one human involved, mut a network of them, communicating trough non-lossles media (like this here for example).

      So you better get used to living with it and getting the best out of it. Or you can of course whine for the rest of your life. ;-P

      P.S.: I'm no native english speaker. Yet another bias. I hope you'll still understand me. :)

    5. Re:Objective? by Anonymous Coward · · Score: 0

      On the Slashdot scale that means fail. It's like getting a B in grad school.

    6. Re:Objective? by Anonymous Coward · · Score: 0
      There is not a single "objective" view in the world!

      Oh sure. That's what you think.

    7. Re:Objective? by Harold+Halloway · · Score: 1

      Yes and you were honest enough to disclose the relationship so in retrospect my original comment was a bit churlish.

  6. ExtJs.. on my.. by Anonymous Coward · · Score: 0

    I was browsing someone's blog today, he was a rails developer I belive. Anyway, I clicked on submit comment with the fields empty. An animated gif appeared for 2 or 3 seconds, and then, it vanished, and an error message appeared: email can't be left blank, body can't be left blank. I smelled ajax. This is all very nice and well, but hell, how about encouraging people to learn javascript, you know the basics? rather than using a complex javasript library for any trivial task? Rails websites do feel heavy, but sometimes scaling has nothing to do with it.

    1. Re:ExtJs.. on my.. by Jane+Q.+Public · · Score: 1

      No, what you saw was almost certainly model validation, which is pure Ruby and built into Rails. There is no ajax involved at all, even though it may look that way.

  7. Already out of date? by khendron · · Score: 5, Informative

    This book was published in October, 2007, and Rails 2.0 was released December, 2007. According to the description on Amazon, only the last example deals with 2.0 at all.

    Since there were some rather significant changes introduced in Rails 2.0, it is likely that many of the examples will no longer work as described. I know that is the case with current version Agile Web Development with Rails.

    --
    Life is like a web application. Sometime you need cookies just to get by.
    1. Re:Already out of date? by Sean+Cribbs · · Score: 3, Informative

      Such is the pace of a popular framework like Rails. I submitted this review to /. over 2 months ago, and yet another release of Rails is imminent. A paper-based publishing process just can't keep up.

    2. Re:Already out of date? by Sam+Ruby · · Score: 3, Insightful

      it is likely that many of the examples will no longer work as described. I know that is the case with current version Agile Web Development with Rails.
      I guess that would depend on your definition of current. There is a new version in beta that has already been largely updated, and continues to actively follow Rails development.

      Disclaimer: with this edition, I was recruited to be one of the authors of this book.
      --
      - Sam Ruby
    3. Re:Already out of date? by prog-guru · · Score: 1

      I was thinking the same thing, in particular ActionWebService has been replaced by ActiveResource, and much of the controller/routing code seems to cater to REST URLs.

      --

      chris@xanadu:~$ whatis /.
      /.: nothing appropriate.

    4. Re:Already out of date? by nem75 · · Score: 1

      A paper-based publishing process just can't keep up. In that case one might argue the sense in reading said publishings.
  8. Rails docs could use the help by ClientNine · · Score: 3, Interesting

    I've found that Rails documentation falls into two categorys: (1) The annoyingly pedantic tutorial which falls apart if anything whatsoever goes wrong on your system, since the tutorial lacks any depth; and (2) Advanced docs that are moderately impenetrable to people not already very familiar with the relevant technologies.

    I'm an experienced Perl and C guy who just wants to find a better way than CGI::Ajax to build slick web applications, but I found that I spent more time being annoyed with the documentation than actually learning. Intermediate indeed; Rails needs this.

    1. Re:Rails docs could use the help by mini+me · · Score: 3, Interesting

      The documentation is fine. There are just no good code examples out there for people to learn from. That is what Rails needs.

    2. Re:Rails docs could use the help by Anonymous Coward · · Score: 0

      I agree. There just arent many pages on web that you can simply google 'htf i can do x in rails' - I m not the kind of guy who would RTFB to learn something. To be fair, same holds for Django/python.. so I m back to good 'ol PHP.. where atleast i know how to get things done (yes yes I m getting old..)

    3. Re:Rails docs could use the help by CastrTroy · · Score: 0, Troll

      That's a flawed premise. You can't write good code in Ruby.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:Rails docs could use the help by Anonymous Coward · · Score: 0

      You shouldn't have given up so soon. There are several significant documentation categories you missed:
        (3) the lies: these classes/modules are beautifully documented, but the docs are dead wrong
        (4) the obsolete: these docs were great back in the Rails 1.2 days, but are useless today
        (5) the absent: docs show the name of the file, but nothing else

    5. Re:Rails docs could use the help by Anonymous Coward · · Score: 0

      I think you have a strange definition of "documentation", then.

      If the documentation has no examples, and can't be used to learn from, then what exactly is it good for?

      (Full disclosure: I've been a Rails programmer for the past year. Rails has the worst documentation of any programming system I've ever used. That's not to say it isn't a good framework, but they should really stop coding and go fill in some docs every year or two.)

    6. Re:Rails docs could use the help by mini+me · · Score: 1

      If I want to learn how to do something, I want to see code not read about it. I know one issue that stumps a lot of people is how to handle multiple models with one form. The best way to show how to properly handle that situation is to have a sample application in front of you that implements multiple models with one form.

      However, these code examples do not belong in the documentation. The documentation is where I go to figure out what I should expect when I pass a certain attribute to a method. Learning how to design an application does not belong here.

      I've been working with Rails pretty much from day one, so I've come to learn what works and what doesn't myself. But if I was starting today I'd want to see a full-fledged application that implements some of the less obvious problems so I could see how and why it was implemented that way. Even the best documentation in the world would not be able to explain it as clearly as just sticking the actual code in front of me.

  9. Rails Project by slashflood · · Score: 1, Informative

    Another practical Rails book that I can recommend is RailsSpace.
    Shameless plug: my latest Rails project. To give you an idea how powerful Rails is, HowFlow has been developed in exaclty five days from scratch. It is currently in private beta, but I'm handing out invitations for those who send an email to flow at howflow.com.

    1. Re:Rails Project by Anonymous Coward · · Score: 0

      To give you an idea how powerful Rails is, HowFlow has been developed in exaclty five days from scratch. not for nothing. but i think anyone using any language could have developed your howflow.com site in 5 days. there absolutely nothing "railsy" about it.
  10. Newer book for intermediate-advanced developers by Anonymous Coward · · Score: 1, Informative

    The Art of Rails covers intermediate Rails topics quite nicely, and just came out so it had the chance to cover some of the Rails 2.0 developments (particularly related to nested routes and REST services). I've been reading through a copy and have found it really helpful so far -- especially the three chapters on advanced Ruby development patterns.

  11. Wheres the projectile?? by Tmack · · Score: 1
    Anyone else read the title wondering why "gun" was left out?

    My second thought was, why is /. covering trains?

    THEN I remembered that Ruby decided to name their framework with that term...

    tm

    --
    Support TBI Research: http://www.raisinhope.org
  12. Just don't plan on writing a big website with it.. by Anonymous Coward · · Score: 0

    ..or else you'll end up like Twitter, and have a domain dedicated to telling you if the service is down or not.

  13. Ruby on Rails, is it a dying breed? by Anonymous Coward · · Score: 0

    I got out of Ruby on Rails shortly after using activescaffold's solutions. Their CMS was great, but trying to get help was a nightmare for any advanced functionality. Ruby on Rails needs an intermediate book, but it is too late for me, as my patience ran out.

    I am no longer a Ruby on Rails fan as I have found more and more people complain about scalability. There have been numerous companies that have abandoned ship.

    Ruby on Rails needs a corporation to take it and run with it. It needs an IBM, Microsoft, Oracle type of a company to give it the resources it needs.

    1. Re:Ruby on Rails, is it a dying breed? by prog-guru · · Score: 1

      I've heard the same (.NET has Microsoft, J2EE has Sun). I was hoping it would be Apple for rails, since they were shipping it with their new OS, but that didn't seem to happen.

      --

      chris@xanadu:~$ whatis /.
      /.: nothing appropriate.

    2. Re:Ruby on Rails, is it a dying breed? by mini+me · · Score: 1

      I am no longer a Ruby on Rails fan as I have found more and more people complain about scalability.

      Which is silly because Rails scales exactly the same way every shared nothing web architecture does. If you're application won't scale in Rails, it won't scale if you rewrote it in PHP, or even C for that matter.
    3. Re:Ruby on Rails, is it a dying breed? by tcopeland · · Score: 2, Interesting

      > I am no longer a Ruby on Rails fan as I have found
      > more and more people complain about scalability.

      Remember, languages (and frameworks) don't scale, architectures do.

      > There have been numerous companies that have abandoned ship.

      From where I stand there are lots of companies getting onboard, and modrails is a sea change (for the better!) in the Rails deployment story.

    4. Re:Ruby on Rails, is it a dying breed? by Jane+Q.+Public · · Score: 1

      Scalability is not so much an issue. Finding people who know how to scale properly is.

      Most of the people complaining about scalability are complaining because it does NOT (contrary to what the other poster wrote) scale the same way others do. It takes some learning to know how to scale Rails applications properly. If you try to do it the same way you scale applications running under Apache, for example, you probably won't get very far.

      In part that is because Rails is (still but maybe not for long) single-threaded. So rather than a monolithic server application like Apache, Rails works best with multiple small servers (Mongrel, for example) on the back, with a small fast proxy server (like nginx) in front doing the fan-out.

    5. Re:Ruby on Rails, is it a dying breed? by Jane+Q.+Public · · Score: 1

      I would want to see some solid numbers before I bought into the mod_rails thing. Sure, it might let Rails applications use less memory, but you have to be running Apache, which is relatively large in itself.

      Also, historically, Rails apps running under Apache have not been very fast or efficient.

      So this is one to which I say, "I'll believe it when I see it, not before."

    6. Re:Ruby on Rails, is it a dying breed? by mini+me · · Score: 1

      If you try to do it the same way you scale applications running under Apache, for example, you probably won't get very far.

      I disagree. Sure, the configuration may be different, but ultimately, in simplistic terms, no matter what your framework/language you just keep adding processes and servers until you've met your load requirements. There is nothing in Rails that forces you to keep your application on a single server, for example.
    7. Re:Ruby on Rails, is it a dying breed? by tcopeland · · Score: 1

      > So this is one to which I say, "I'll believe it when I see it, not before."

      Yup, that's fair enough. But I hope that I've opened port ranges and set up init scripts and monit.conf files and mongrel_cluster.yml and proxy_balancer settings for the last time. No more need to worry about a dozen people doing slow file uploads and locking all the Mongrel processes... all those pieces of the puzzle just go away. Good times.

  14. RailsSpace seconded by IdahoEv · · Score: 1

    I will second RailsSpace.

    I tried learning rails from Agile Web Development with Rails first, and I found that AWDwR has a huge deficiency: it frequently fails to explain the fundamental Ruby concepts and structures that it's using. (For example, I remember typing in the :symbol syntax for several chapters without having any idea what it actually was.).

    RailsSpace, OTOH, does a really good job of stopping to explain each new concept, tool, or syntax in a sidebar; as a coder who didn't already know Ruby I found I was able to learn Rails much faster after I switched to RS.

    I think RS suffers from a poorly-chosen name: because of the name, folks assume it is only about social networks. In fact it's a good basic tutorial to Rails that just happens to use a social networking site as the working example.

    (Full disclosure; I know one of the authors of RailsSpace personally and have done contract work for him in the past.)

    --
    I stole this sig from someone cleverer than me.
    1. Re:RailsSpace seconded by tcopeland · · Score: 1

      > it frequently fails to explain the fundamental
      > Ruby concepts and structures that it's using.

      David Black's Ruby For Rails is a great book for this; David explains the way Rails leverages all sorts of Ruby techniques to do what it does. Another good one is Advanced Rails, which has an excellent section on the changes that Rails makes to various Ruby core classes - e.g., Symbol.to_proc.

  15. Practical Rails Projects? by rk · · Score: 1

    You can buy this book for cheap in electronic format. Newegg has them, 100 copies on DVD for 24.99. and free three day shipping.

    I keed, I keed. Relax! Hey you, RoR fans with the mod points! Put those back down!

  16. Ruby rocks, rails, meh by lifebouy · · Score: 1

    After playing around with ruby on rails, I just didn't find that it was all that useful. Mostly I found it was just a painful exercise in learning exotic ways of doing things that I already knew how to do correctly. SQL, for example. Don't get me wrong, I see some merit in the rails way of doing things, but overall rails just seems like two steps back for anyone savvy enough to comprehend ruby in the first place.
    Ruby, on the other hand, rocks out loud.

    --
    Drop me a line at:
    Key ID: 0x54D1D809
    1. Re:Ruby rocks, rails, meh by pmee · · Score: 1

      Convention over configuration and ActiveRecord are hardly exotic. I must admit I loved it when I discovered the Dynamic finders.

    2. Re:Ruby rocks, rails, meh by Pengo · · Score: 1


      I bounced back and forth like this for a while. I'm a 10 year Java vet, it's served me well in that the Java+Linux server programing duopoly has allowed me to live in some cool place, and allowed my family a great lifestyle.

      I remember facing the same question back when, "should I keep forging ahead with PHP or give this Java thing a try". Looking back, thank god I gave Java a fair shake. Even though my first major project could of been done probably a lot easier in PHP, it was worth it's time in gold, big time.

      Now having Java behind my belt, it's not a tool that's going away, but something that will be used a little bit differently. I've spent a few months now working on a couple major projects with Rails and I am starting to feel the same gratification of leaving my comfort zone of PHP for Java.

      I can simply get things done faster, and less pain, than I ever could with Java. I'm not a raging Rails fanboy, it's still painful to do some things I know how to do easily in Java, but it's easy to forget how many times I spent looking for hours at a Null Point exception wondering how the hell I'm going to fix it, when in fact that was a small step in a large adventure of life's career learning.

      I watched for a few years, as the rails train was moving, and determined that it was likely not just a fad, and I either had to get on it or possibly get behind.

      When Java was starting to hit the servers, people called it a fad, too slow, a passing thing.. thank god I didn't listen.

    3. Re:Ruby rocks, rails, meh by mini+me · · Score: 1

      ActiveRecord doesn't do SQL "correctly" for very good reasons. If you have a reason why you need to use SQL like it was designed, you probably shouldn't be using ActiveRecord at all. However, that does not preclude you from using the rest of the Rails framework.

  17. Mack Framework by vp_development · · Score: 1

    Although I agree the MackFramework has the most potential of the 87 web frameworks that want to surplant Rails, it's not ready for Prime Time yet. In a couple of months, maybe, but for right now, I'd still use Rails for a professional project.

  18. [OT] Re:Objective? by slackergod · · Score: 1

    I'm sorry, what? Of course there's an objective view.

    I agree with you re: the biasing tendencies/constraints inherently present in human physiology, as well human (group) psychology.

    But of _course_ there's an objective viewpoint.
    It's the viewpoint which accurately reflects all things which can be accurately measured.
    Most things which seem to be subjectively reported are mainly so because no metric exists or is being used which can measure the objectivity.

    Math, most glaring of all, is objective. No one can have multiple correct opinions on what 2+2 equals... sure the symbols could be redefined, but semantically, there is but a single answer, unchanging.

    But it doesn't stop there. Look up probabalistic primality tests on wikipedia:
          http://en.wikipedia.org/wiki/Primality_test
    Primality is an objective truth, which these tests are able to arrive at despite their innate bias & inaccuracy.

    So what does that have to do with people? Most people's opinions and beliefs (and we've all got lots) deal with subjects which hard to measure, especially with regards to accuracy: Politics for one; but opinions on the worth of programming topics too, which is near and dear to everyone here.

    It's not our neurological fallibility that does us in: some "objective" truths are _defined_ by human concensus: did I win the lottery this month? I can believe "yes" all I want, but unless my state's gaming commission believes as I do, it just isn't true.

    But their belief defines the truth, and when looking for objective viewpoints, you have identify all the subjectively-defined truths.
    Driving on the left vs the right is another...
    there's no universal truth there, but certain groups of people have to agree, as a matter of protocol (Native language is yet another).

    The other statements of fact are just objective truths we aren't able or willing to measure. Programming is one such... but because it's such a young branch of human knowledge (100 years worth of work and counting), it's one of the "known unknowns": like other types of engineering, we know there _is_ a best way to do things, we just haven't developed very good guiding principles to measure it yet.

    But the only way to get there is to seek out objectivity, since it could be present anywhere.
    So read the book over, and maybe this guy's wrong on a number of accounts, and you'll notice them.
    So spread the word, blog/comment/whatever about _why_ he's wrong.

    If your metric is accurate, it will be born out as it is applied to other situations, and by other people. We'll build up better and better guiding principles out of these meta-measurements. Eventually, we'll see more and more programming topics which _can_ be accurately and objectively measured, and in much the same way probabalistic primality tests wade through their biases to arrive at the correct answer.

    Not believing in objective viewpoints is giving up the search for the truth, and that would be a shame, because that's one of the grandest of all of humanity's endeavours.

    Regarding programming, we do have one great truth already:

    Given the nature of the human mind, GOTO Considered Harmful. Great for processors to think in, but bad for us :)

    1. Re:[OT] Re:Objective? by maxume · · Score: 1

      2 + 2 = 4 is probably objective, but -2 * -2 = 4 probably isn't.

      --
      Nerd rage is the funniest rage.
  19. Then you probably do not "get" it. by Jane+Q.+Public · · Score: 1

    I did not "get" Rails at first either. But now that I am familiar with it, I can do things in moments that it used to take half a day programming to do.

    True, there is strong incentive to "go with the flow", and learn the "Rails Way" to do things... but most of the time that actually helps rather than hinders.

  20. Huh? by Jane+Q.+Public · · Score: 1

    Do you find configuring Mongrel Clusters (usually just a command-line switch or two) difficult? Strange, nobody else seems to. And I am also curious: why do your "little toy apps" need init scripts in the first place?

    1. Re:Huh? by tcopeland · · Score: 1

      > why do your "little toy apps" need init scripts in the first place?

      Because I want them to start if the machine gets restarted.

  21. So you worked yourself out of a job, eh? by Jane+Q.+Public · · Score: 1

    They probably just don't need you anymore, now that it's in Rails. :O)

  22. Please keep up. by Jane+Q.+Public · · Score: 1

    That was an old rumor, and Twitter is on record correcting these misapprehensions. Their problems were NOT due to Rails, and they have NO plans to switch away from Rails.

  23. Informative? by Microsift · · Score: 1

    I was shooting for funny...

    --
    My other sig is extremely clever...
  24. it's cute by Anonymous Coward · · Score: 0

    RoR is cute.

  25. Since when by Jane+Q.+Public · · Score: 1

    has "one size fits all" actually worked??

    Sure, okay, it fits you just fine. But I doubt it would fit me, or a lot of others I know.

  26. And? by Jane+Q.+Public · · Score: 1

    And you find this a difficult thing to do? Maybe you are in the wrong profession.

  27. NONSENSE by Jane+Q.+Public · · Score: 1

    You don't know what you are talking about. Rails is not thread-safe. If you want to run multiple instances of Rails, you had BETTER run them in different processes, or you are going to blow yourself up. Which means: EVERY instance of Rails must run under its own web (not physical) server. If you are doing it differently, you are fucking up.

    Now, allowing for the possibility that you meant something other than what I thought, I will state that Apache works best with multiple-threading applications. You can use it with Rails just fine... but on a host I was using recently, switching from an Apache front-end to a Mongrel-cluster with an nginx front-end, bypassing the Apache, the performance went up DRAMATICALLY. I am talking about a couple of orders of magnitude.

    If you want to trade performance for less hassle, so be it. But don't claim that it will perform the same, because it will not.