# Thousands of words on Ruby

**URL:** <https://www.ruby-forum.com/t/thousands-of-words-on-ruby/67811>\
**Category:** Ruby\
**Created:** [September 6, 2006, 11:41pm UTC](https://www.ruby-forum.com/t/thousands-of-words-on-ruby/67811 "2006-09-06T23:41:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tbobker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/73ab20/32.png) [@tbobker](https://www.ruby-forum.com/u/tbobker)\
**Post date:** [September 6, 2006, 11:41pm UTC](https://www.ruby-forum.com/t/thousands-of-words-on-ruby/67811/1 "2006-09-06T23:41:12Z")

</div>

I just finished a much-too-long series of essays on Ruby from a whole  
bunch of angles, some here might enjoy it: [http://www.tbray.org/](http://www.tbray.org/)  
ongoing/When/200x/2006/08/17/JRuby

-Tim

---

<div class="post-metadata">

**Author:** ![tbobker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/73ab20/32.png) [@tbobker](https://www.ruby-forum.com/u/tbobker)\
**Post date:** [September 7, 2006, 4:23pm UTC](https://www.ruby-forum.com/t/thousands-of-words-on-ruby/67811/2 "2006-09-07T16:23:13Z")

</div>

On Sep 6, 2006, at 4:40 PM, Tim B. wrote:

> I just finished a much-too-long series of essays on Ruby from a  
> whole bunch of angles, some here might enjoy it: http://  
> [ongoing by Tim Bray · The Ruby Ape Diaries](http://www.tbray.org/ongoing/When/200x/2006/08/17/JRuby)

I found it interesting reading. It really felt like early  
explorations of the language. Here are some random thoughts I had  
while reading:

- There are multiple places to get XML escaping from the standard  
library, but since you are familiar with REXML I’ll recommend:  
REXML::Text.normalize(“Some & text \< foo \> " bar”)

- I really like that Ruby leaves the power to decide where to store  
code in our hands. Just to give random example of how this is cool,  
I purposefully keep my FasterCSV library in one long source file.  
When I’m working on some project and need to work with CSV, I drop  
the file in vendor/ and I’m all set.

- [http://blog.grayproductions.net/articles/2006/06/13/do-i-need-these-](http://blog.grayproductions.net/articles/2006/06/13/do-i-need-these-)  
parenthese

- A DSL is slightly more than method calls without parentheses. The  
idea is to adapt your language to the problem domain, so the solution  
is very naturally expressed in the language of the problem.

- For markup generation: have you tried Builder?

- The “helper methods” referred to in the quoted Markaby  
documentation are a Railsism. I suspect that’s why you had trouble  
understanding the quote.

- I mean this in the nicest possible way, of course, but you’re dead  
wrong about that IDE thing. 😉 I have a solution for each point you  
listed in TextMate and I would be shocked if you can’t do similar  
things in emacs (the editor I believe you are using). I’m happy to  
post them, if there’s interest.

- I’m looking forward to your Unicode talk. Just remember to start  
it with, “Ruby supports Unicode today.” 😉 It really, really bugs  
me that everyone claims Ruby has no Unicode support. Don’t be like  
them. As long as you get off to a good start like that, I’ll be very  
interested in the rest of your talk and I won’t lead the lynch mod  
your essay hints at.

James Edward G. II

---

<div class="post-metadata">

**Author:** ![tbobker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/73ab20/32.png) [@tbobker](https://www.ruby-forum.com/u/tbobker)\
**Post date:** [September 8, 2006, 7:18pm UTC](https://www.ruby-forum.com/t/thousands-of-words-on-ruby/67811/3 "2006-09-08T19:18:42Z")

</div>

On 9/6/06, Tim B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I just finished a much-too-long series of essays on Ruby from a whole  
> bunch of angles, some here might enjoy it: [http://www.tbray.org/](http://www.tbray.org/)  
> ongoing/When/200x/2006/08/17/JRuby
> 
> -Tim

I would highly recommend autotest, which is part of ZenTest, to take  
tdd to the next level. Autotest has your desired “one keystroke”  
beat, as its zero keystrokes to run any test. It monitors your files  
and automatically runs tests when it sees the tests or related files  
changed.

I’m using it for rails work and its great. There are some minor  
annoyances, such as not picking up integration tests or tests in /lib  
correctly right now, but its not very hard to hack stuff into the  
source.

- rob

---

<div class="post-metadata">

**Author:** ![tbobker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/73ab20/32.png) [@tbobker](https://www.ruby-forum.com/u/tbobker)\
**Post date:** [September 7, 2006, 6:23pm UTC](https://www.ruby-forum.com/t/thousands-of-words-on-ruby/67811/4 "2006-09-07T18:23:30Z")

</div>

On Sep 7, 2006, at 9:22 AM, James Edward G. II wrote:

> Here are some random thoughts I had while reading:

One more that came to me later:

- I like XPath, but some libraries do a neat job of allowing you to  
tree walk with Ruby. See Rubyful Soup and Hpricot for a couple of  
great examples.

James Edward G. II
