[#93964] perl6 grammar rules in ruby — Charles Comstock <cc1@...>

Has anyone taken a look at the idea of having embedded grammars in ruby

21 messages 2004/03/01

[#94023] Why's (Poignant) Guide to Ruby, Chapter Four: Little Leaves of Code — why the lucky stiff <ruby-talk@...>

Just wanted everyone to know that Chapter Four of the (Poignant) Guide

15 messages 2004/03/01

[#94037] Rubyx OS (Ruby oriented linux distro) — Andrew Walrond <andrew@...>

I am pleased to announce the first public release of Rubyx, codename

39 messages 2004/03/02

[#94062] pickaxe with pics? — Dick Davies <rasputnik@...>

17 messages 2004/03/02

[#94068] dynamic assignment of instance variables — gv@... (Gerard A.W. Vreeswijk)

$ cat try.rb

19 messages 2004/03/02

[#94110] why are Hashes so unsorted? what's your solution? — Ruby Baby <ruby@...>

I try to avoid questions like "Why doesn't Ruby do what ___ does?"

14 messages 2004/03/03

[#94144] Mozilla gets support for other client-side languages in the future, how about Ruby? — Erik Terpstra <erik@...>

Interesting slides:

9 messages 2004/03/03

[#94190] rescue inside block -> syntax error — Simon Strandgaard <neoneye@...>

While reading this message:

15 messages 2004/03/04

[#94424] random range — Charles Comstock <cc1@...>

Why doesn't rand take an integer range and then generate a random number

23 messages 2004/03/06
[#94432] Re: random range — Hal Fulton <hal9000@...> 2004/03/06

Charles Comstock wrote:

[#94434] Re: random range — Joel VanderWerf <vjoel@...> 2004/03/06

Hal Fulton wrote:

[#94436] Re: random range — "David A. Black" <dblack@...> 2004/03/06

Hi --

[#94487] Looking for HTML templating system — Andreas Schwarz <usenet@...>

I am looking for a templating system for my forum

19 messages 2004/03/07

[#94517] proposal: class<<obj to invoke extend_object — Simon Strandgaard <neoneye@...>

'obj.extend' and 'class<<obj' are close cousins..

22 messages 2004/03/07

[#94612] RedCloth 2.0.2 -- A Textile Humane Web Text Generator — why the lucky stiff <ruby-talk@...>

For your immediate perusal and swift renouncement:

10 messages 2004/03/09

[#94672] saving array — mopthisandthat@... (Phidippus)

After I do bunch of computations and create a huge array with bunch of

18 messages 2004/03/10

[#94686] Possibility of 2nd edition of _The Ruby Way_ — Hal Fulton <hal9000@...>

Hello, all.

17 messages 2004/03/10

[#94760] convincing a webhost to support ruby — Mark Hubbart <discord@...>

Hi all,

15 messages 2004/03/11

[#94813] Jruby 0.7.0 — Thomas E Enebo <enebo@...>

20 messages 2004/03/12
[#94815] Re: [ANN] Jruby 0.7.0 — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com> 2004/03/12

il Sat, 13 Mar 2004 02:33:49 +0900, Thomas E Enebo <enebo@acm.org> ha

[#94817] Re: [ANN] Jruby 0.7.0 — Thomas E Enebo <enebo@...> 2004/03/12

On Sat, 13 Mar 2004, gabriele renzi defenestrated me:

[#94935] RubyGems 0.2.0 — Chad Fowler <chad@...>

The first public release of RubyGems (http://rubygems.rubyforge.org)

26 messages 2004/03/14

[#94985] GUI testing on unix — Simon Strandgaard <neoneye@...>

I am curious to if there exists any GUI testing packages for unix.

17 messages 2004/03/16

[#94998] RAA trouble and maintenance — "NAKAMURA, Hiroshi" <nahi@...>

Hi,

14 messages 2004/03/16

[#95014] RAA - So much is broken — Lothar Scholz <mailinglists@...>

Hello,

15 messages 2004/03/16

[#95060] YAML tutorial — Matt Lawrence <matt@...>

Ok, I am so not a Ruby wizard. In fact, I don't do much development at

15 messages 2004/03/17

[#95098] groovy — David Garamond <lists@...6.isreserved.com>

Groovy, a scripting language targeted for JVM, was mentioned in Slashdot

14 messages 2004/03/17

[#95155] Installer packages for MacOSX — Mark Hubbart <discord@...>

Hi, all

18 messages 2004/03/17

[#95190] Thinking about a date-matching algorithm... — Hal Fulton <hal9000@...>

I did a little swapping of ideas with dblack on this. Now I'm

22 messages 2004/03/18

[#95200] Log4r 1.0.5 now with RubyGems option — Leon Torres <leon@...>

Greetings, I'm pleased to announce the release of Log4r 1.0.5. The

11 messages 2004/03/18

[#95230] Ruby and Mozilla — paul vudmaska <paul@...>

--- Simon Strandgaard <neoneye@adslhome.dk <http://us.f104.mail.yahoo.com/ym/Compose?To=neoneye@adslhome.dk&YY=90525&order=down&sort=date&pos=0&view=a&head=b>> wrote:

12 messages 2004/03/18

[#95290] calling outer-scope method of same name — "Bill Kelly" <billk@...>

Hi all!

16 messages 2004/03/18
[#95292] Re: calling outer-scope method of same name — "David A. Black" <dblack@...> 2004/03/18

Hi --

[#95340] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...>

Hi folks,

31 messages 2004/03/19
[#95367] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/19

Hi,

[#95405] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/19

Makoto Kuwata wrote:

[#95412] Re: [ANN] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...> 2004/03/19

Andreas,

[#95453] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/20

Makoto Kuwata wrote:

[#95484] Re: [ANN] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...> 2004/03/21

[#95490] Re: [ANN] Kwartz (2004-03-19) released — Thomas Fini Hansen <beast@...> 2004/03/21

On Sun, Mar 21, 2004 at 11:39:26AM +0900, Makoto Kuwata wrote:

[#95518] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/21

Makoto Kuwata wrote:

[#95553] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/22

Makoto Kuwata wrote:

[#95386] Can $LOAD_PATH be relative? — ptkwt@... (Phil Tomson)

24 messages 2004/03/19
[#95389] Re: Can $LOAD_PATH be relative? — ptkwt@... (Phil Tomson) 2004/03/19

In article <wsqk71gd188.fsf@io.com>, Jim Menard <jimm@io.com> wrote:

[#95398] Re: Can $LOAD_PATH be relative? — Patrick Bennett <patrick.bennett@...> 2004/03/19

Phil Tomson wrote:

[#95400] Re: Can $LOAD_PATH be relative? — "David A. Black" <dblack@...> 2004/03/19

Hi --

[#95403] Re: Can $LOAD_PATH be relative? — Patrick Bennett <patrick.bennett@...> 2004/03/19

[#95434] converting javascript to ruby (nested methods) — yvon.thoravalNO-SPAM@... (Yvon Thoraval)

i have a script written in javascript and want to translate it into ruby

10 messages 2004/03/20

[#95517] What to gem? — Robert Feldt <feldt@...>

Hi,

14 messages 2004/03/21

[#95560] Need some advice on PickAxe II — Dave Thomas <dave@...>

Folks:

74 messages 2004/03/22

[#95636] Tempfile consuming a lot of memory — thomass@... (Thomas)

I'm using a lot of Tempfile's and I have been made aware that they

17 messages 2004/03/23

[#95693] proposal - enforce lower_case for variables and methods — Simon Strandgaard <neoneye@...>

Ruby does already enforce CamelCase for class/modules.

29 messages 2004/03/24

[#95769] File.stat.size errors with file sizes over 2Gigs. — walter@...

File.stat('file_name').size returns erroneous file sizes when the

16 messages 2004/03/24

[#95782] Quick Introduction to RubyGems — Gavin Sinclair <gsinclair@...>

Hi folks,

17 messages 2004/03/24

[#95875] Errors with "make" step, while compiling ruby under AIX 5.2 — Ruby Ruby <ruby4lover@...>

I am wanted to install ruby 1.8.1 under AIX 5.2. During the installation, while doing the "make" part of it, the process abruptily ended with the following errors:

15 messages 2004/03/25
[#95883] Re: Errors with "make" step, while compiling ruby under AIX 5.2 — nobu.nokada@... 2004/03/26

Hi,

[#95918] Re: Errors with "make" step, while compiling ruby under AIX 5.2 — Ruby Ruby <ruby4lover@...> 2004/03/26

I am sorry to insist but this is important to me.

[#95960] Status of AOP in Ruby — Markus Jais <markusjais@...>

Hello

22 messages 2004/03/27

[#95984] deciding between ruby and python — "Serve Lau" <ik@...>

I'm trying to decide to learn either python or ruby. Are there fundamental

119 messages 2004/03/28
[#96006] Re: deciding between ruby and python — klausm0762@... (Klaus Momberger) 2004/03/28

"Serve Lau" <ik@detongiser.com> wrote in message news:<106dlen5mr97q76@corp.supernews.com>...

[#96566] Re: deciding between ruby and python — Ville Vainio <ville@...> 2004/04/05

[#96503] Re: deciding between ruby and python — Ville Vainio <ville@...> 2004/04/04

>>>>> "James" == James Britt <jamesUNDERBARb@neurogami.com> writes:

[#96508] Re: deciding between ruby and python — Dan Doel <djd15@...> 2004/04/04

As you say, this whole thread has been done many times before.

[#96691] Re: deciding between ruby and python — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com> 2004/04/07

il Wed, 07 Apr 2004 05:35:39 GMT, dagbrown@LART.ca (Dave Brown) ha

[#95992] Madeleine 0.6 — Anders Bengtsson <ndrsbngtssn@...>

23 messages 2004/03/28

Re: has anyone made an all-Ruby website? how'd it go?

From: Kirk Haines <khaines@...>
Date: 2004-03-06 17:39:47 UTC
List: ruby-talk #94430
On Fri, 5 Mar 2004, Ruby Baby wrote:

> 
> I run a website that's all PHP now, but was due for 
> a total re-write anyway.  (The old code is a mess.)
> 
> It's more MVC style - where the code comes first and
> outputs HTML from templates - NOT embedded code inside HTML.
> 
> I love Ruby so much that it's very tempting to write
> my new version in Ruby (mod_ruby + Apache).
> 
> But I wonder if anyone who has already done a whole
> interactive website in Ruby/modruby could share their
> experience with it?

Yes.

One of my clients, a mutual fund, has their entire site powered by Ruby.  
The basic need there was that the way the site was designed, they have two 
different versions of content occupying the same URL space.  One version 
is public, and the other is private for brokers, distributors, and other 
financial professionals.  So, the Ruby underneath takes care of delivering 
the right content for a given request, depending on whether the requestor 
is logged in to the private version or not.  At the same time, the code 
also takes care of all of the various dynamic content pieces.  I can't 
give a URL to this site because of a confidentiality agreement.

I am redoing my company website, though, and it also has Ruby sitting
behind all of it.  In this case, the framework takes care of handling the
navigation menu, header and footer inclusions, a client login section
where customers can view and pay invoices online, some simple dynamic
content demos, a client facing system status display where customers can
see a live and current display of the operational status of their systems,
and delivery of a correct stylesheet based on the type of browser making a 
request.  I'd rather have two slightly different stylesheets than have one 
stylesheet with gross hacks in it to deal with differences in browser 
implementations of CSS (thought te CSS that I have now still has a slight 
issue with Opera).

Not all of these bits are online, yet, but feel free to take a look at 
what is done:

http://enigo.com

It's all done under Iowa.  The stuff that is just plain HTML is just plain 
HTML files, but where there is something dynamic going on, there is a code 
file associated with the HTML that contains the Ruby that handles the 
dynamic bits.

The site redesign for my Iowa tutorial and documentation(the new versions 
of which are not ready to be public yet), is done in much the same way.

The way that this all works is that there is a mod_ruby handler that is 
setup to take a first crack at requests:

  RubyRequire '/apache/mod_iowa'
  <Location />
    RubySetEnv IOWA_SOCKET "localhost:12345"
    RubySetEnv MAP_FILE "/usr/local/htdocs/enigo.com/mapfile.cnf"
    SetHandler ruby-object
    RubyHandler Apache::Iowa
    RubyTransHandler Apache::Iowa
  </Location>

High level nutshell -- when Apache geta a request that matched the 
location specified, it passes it to the handler.  If the request is for a 
URL specified in the mapfile.cnf file, then the handler issues a request 
to the socket specified in the IOWA_SOCKET variable.  This request is 
basically a Marshalled clone of Apache::Request, giving the Iowa app full 
access to the HTTP headers, query_string parameters, etc...  This 
Iowa::Request can be thought of as a Marshalable 80% close of 
Apache::Request.  It also works outside of mod_ruby, populating the 
Iowa::Request with data pulled from the standard CGI environment 
variables.  Anyway, the request is passed off to Iowa.  Iowa, running in 
this way, will lookup the URL requested in a mapfile on its end, so that 
it knows which class to use to handle the request.

Unless specifically specified in the associated code file, the class for a 
plain HTML file is derived from the filename.

So, for examples:

Index.html becomes Iowa::Application::ContentClasses::Index
Gerbils/FAQ.html becomes Iowa::Application::ContentClasses::Gerbils::FAQ

and so on.  This leads into one of the few current required naming 
conventions.  A filename has to follow Ruby rules for a valid class name 
(the part before the .html, that is).

It all works very well.  I can put a site with dynamic content together 
quickly because I can leverage Ruby, and I can still use plain old HTML 
for all of the areas where I want that.  I have zero problems with it.  
The Iowa process doesn't have a very large resident set size, even for 
sites that have a lot of content and require a larger session cache than 
the default 10.  It's relatively fast.  Speed is dependent on the size of 
the content being returned and on just how much processing is required to 
generate the dynamic stuff.  On Ruby 1.8.1, on an 800Mhz test box, I 
get around 35-40ish pages per second for relatively simple pages like the 
Enigo navigation & homepage.  On 1.6.8 it is somewhat slower, and seems to 
evoke a threading bug if hammered for lots of hits per second, causing a 
segfault.

So, I suppose my whole point here is that Ruby/mod_ruby can definitely be 
used to power an entire web site.  No problem.  The issues all really come 
up depending on whether you are using some framework like the recently 
posted about 0.2 release of SWS or Iowa or something else or whether you 
are using eruby or....  Each of these is going to have different strenghts 
and weaknesses.


Kirk Haines



In This Thread