[#217504] is a timepoint DSL possible, like: 10:31 instead of "10:29"? — "Dirk Lüsebrink" <ruby-forum@...>

i could not think of any way to include the ':' character in a DSL, so

11 messages 2006/10/01

[#217603] Why can't I get on Top? — "Trans" <transfire@...>

More Toplevel blow:

17 messages 2006/10/02

[#217634] Creating modules — benjohn@...

21 messages 2006/10/02
[#217643] Re: Creating modules — David Vallner <david@...> 2006/10/02

benjohn@fysh.org wrote:

[#217651] Re: Creating modules — benjohn@... 2006/10/02

I wrote before about the modules I'm trying to build on the fly. I'm

[#217656] Creating dynamically named singleton methods. Syntax question. — "Luke Stark" <Luke.Stark@...> 2006/10/02

You may create singleton methods like so:

[#217700] Special variable within iterators to hold results? — Wes Gamble <weyus@...>

I have this:

11 messages 2006/10/02

[#217783] JRuby scripting for Mozilla? — Kenneth McDonald <kenneth.m.mcdonald@...>

Given that JRuby runs on Java, and Java can, I believe be used to script

12 messages 2006/10/03

[#217812] dynamically changing superclass/mixins — Michael Keller <ask@...>

I have strong interest in highly dynamic languages, particularly

16 messages 2006/10/03

[#217903] NET::HTTP behind a firewall? — Joe Regular <kristapestry@...>

I recently deployed an app to my production server that accesses other

27 messages 2006/10/03
[#217908] Re: NET::HTTP behind a firewall? — "Francis Cianfrocca" <garbagecat10@...> 2006/10/03

On 10/3/06, Joe Regular <kristapestry@yahoo.com> wrote:

[#217909] Re: NET::HTTP behind a firewall? — Jeremy Tregunna <jtregunna@...> 2006/10/03

[#217917] Re: NET::HTTP behind a firewall? — Joe Regular <kristapestry@...> 2006/10/03

Jeremy Tregunna wrote:

[#217919] Re: NET::HTTP behind a firewall? — Joe Regular <kristapestry@...> 2006/10/03

Joe Regular wrote:

[#217921] Re: NET::HTTP behind a firewall? — "Francis Cianfrocca" <garbagecat10@...> 2006/10/03

On 10/3/06, Joe Regular <kristapestry@yahoo.com> wrote:

[#217933] Re: NET::HTTP behind a firewall? — Joe Regular <kristapestry@...> 2006/10/04

Yes, eth1 is the public nic. I can not ping anything with the firewall

[#217945] rb_funcall() Ruby code callback invoked from within a native thread? — "Serge Kruppa" <serge.kruppa@...>

Dear All,

9 messages 2006/10/04
[#217950] Re: rb_funcall() Ruby code callback invoked from within a native thread? — "Francis Cianfrocca" <garbagecat10@...> 2006/10/04

On 10/4/06, Serge Kruppa <serge.kruppa@simitel.com> wrote:

[#217997] Enterprise-Ruby Wish List by Francis Cianfrocca — "zoat" <enogrob@...>

In all the recent talk (some would say hype) about the Ruby programming

32 messages 2006/10/04
[#218006] Re: Enterprise-Ruby Wish List by Francis Cianfrocca — Joel VanderWerf <vjoel@...> 2006/10/04

zoat wrote:

[#218007] Re: Enterprise-Ruby Wish List by Francis Cianfrocca — "Francis Cianfrocca" <garbagecat10@...> 2006/10/04

On 10/4/06, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:

[#218012] Re: Enterprise-Ruby Wish List by Francis Cianfrocca — Jeremy Tregunna <jtregunna@...> 2006/10/04

[#218019] Re: Enterprise-Ruby Wish List by Francis Cianfrocca — "Francis Cianfrocca" <garbagecat10@...> 2006/10/04

On 10/4/06, Jeremy Tregunna <jtregunna@blurgle.ca> wrote:

[#218208] Re: Enterprise-Ruby Wish List by Francis Cianfrocca — Brian McCallister <brianm@...> 2006/10/05

On Oct 4, 2006, at 10:59 AM, Francis Cianfrocca wrote:

[#218031] What is the reason for this syntax? — Kevin Olemoh <darkintent@...>

Hello I have been using ruby off and on for a few months and I have been

83 messages 2006/10/04
[#218059] Re: What is the reason for this syntax? — "Just Another Victim of the Ambient Morality" <ihatespam@...> 2006/10/04

Just to add to a very good response to the original post...

[#218256] Re: What is the reason for this syntax? — Kevin Olemoh <darkintent@...> 2006/10/05

Just Another Victim of the Ambient Morality wrote:

[#218284] Re: What is the reason for this syntax? — David Vallner <david@...> 2006/10/05

Kevin Olemoh wrote:

[#218295] Re: What is the reason for this syntax? — Charles Oliver Nutter <Charles.O.Nutter@...> 2006/10/05

David Vallner wrote:

[#218306] Re: What is the reason for this syntax? — "Louis J Scoras" <louis.j.scoras@...> 2006/10/06

On 10/5/06, Charles Oliver Nutter <Charles.O.Nutter@sun.com> wrote:

[#218339] Re: What is the reason for this syntax? — "Jean Helou" <jean.helou@...> 2006/10/06

On 10/6/06, Louis J Scoras <louis.j.scoras@gmail.com> wrote:

[#218397] Re: What is the reason for this syntax? — "Louis J Scoras" <louis.j.scoras@...> 2006/10/06

On 10/6/06, Jean Helou <jean.helou@gmail.com> wrote:

[#218430] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/06

People really should be able to write code in the way that they

[#218493] Re: What is the reason for this syntax? — David Vallner <david@...> 2006/10/06

Kevin Olemoh wrote:

[#218501] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/06

I don't think of the blocks in the same way the real problem is that

[#218510] Re: What is the reason for this syntax? — "Louis J Scoras" <louis.j.scoras@...> 2006/10/06

On 10/6/06, Kevin Olemoh <darkintent@gmail.com> wrote:

[#218513] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/07

Thats why I keep sayind defacto (by default) in other words this style

[#219041] Re: What is the reason for this syntax? — "Tom Armitage" <tom.armitage@...> 2006/10/11

On 07/10/06, Kevin Olemoh <darkintent@gmail.com> wrote:

[#219738] Re: What is the reason for this syntax? — "rpardee@..." <rpardee@...> 2006/10/14

But isn't almost everybody coming from *somewhere*? This seems to me a

[#219763] Re: What is the reason for this syntax? — dblack@... 2006/10/15

Hi --

[#219779] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/15

Personally I don't think else if needs to be an actual reserved word.

[#219780] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/15

I wanted to add that it may not be so advantageous to have so many

[#219886] Re: What is the reason for this syntax? — "Austin Ziegler" <halostatue@...> 2006/10/15

On 10/15/06, Kevin Olemoh <darkintent@gmail.com> wrote:

[#219897] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/15

All I said was that perhps there needs to be a movement to remove some

[#219916] Re: What is the reason for this syntax? — "Austin Ziegler" <halostatue@...> 2006/10/16

On 10/15/06, Kevin Olemoh <darkintent@gmail.com> wrote:

[#219919] Re: What is the reason for this syntax? — "Rick DeNatale" <rick.denatale@...> 2006/10/16

On 10/15/06, Austin Ziegler <halostatue@gmail.com> wrote:

[#219934] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/16

Having ten dialects of the same language does not nessecarily improve

[#219943] Re: What is the reason for this syntax? — "Austin Ziegler" <halostatue@...> 2006/10/16

Note: this has moved far beyond Ruby. This will, therefore, be my last

[#219947] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/16

Just because creating commonality almost always requires supression

[#220022] Re: What is the reason for this syntax? — "Tom Armitage" <tom.armitage@...> 2006/10/16

On 16/10/06, Kevin Olemoh <darkintent@gmail.com> wrote:

[#220023] Re: What is the reason for this syntax? — "Martin Coxall" <pseudo.meta@...> 2006/10/16

> My point is: diversity of language leads to diversity of culture and

[#220056] Re: What is the reason for this syntax? — "Kevin Olemoh" <darkintent@...> 2006/10/16

Who said you had to force anything? Why do you assume that in all

[#220070] Re: What is the reason for this syntax? — "Louis J Scoras" <louis.j.scoras@...> 2006/10/16

On 10/16/06, Kevin Olemoh <darkintent@gmail.com> wrote:

[#218056] Associating data with a function — "Gavin Kistner" <gavin.kistner@...>

Because I just had to solve this problem in both JavaScript and Lua, and

17 messages 2006/10/04

[#218159] Re: traits question — ara.t.howard@...

14 messages 2006/10/05

[#218209] nil being empty — Ohad Lutzky <lutzky@...>

Show of hands - who thinks this is bad form?

59 messages 2006/10/05
[#218400] Re: nil being empty — "Trans" <transfire@...> 2006/10/06

[#218602] Re: nil being empty — "Matthew Harris" <shugotenshi@...> 2006/10/08

I'd like to use the common Python term, "sequence", and ask if a nil

[#218604] Re: nil being empty — Hal Fulton <hal9000@...> 2006/10/08

Matthew Harris wrote:

[#218609] Re: nil being empty — "Robert Dober" <robert.dober@...> 2006/10/08

On 10/8/06, Hal Fulton <hal9000@hypermetrics.com> wrote:

[#218222] Ruby Cookbook review — "zoat" <enogrob@...>

Because of the recent and sudden interest in Ruby on Rails, there is

18 messages 2006/10/05
[#218226] Re: Ruby Cookbook review — "Justin Bailey" <jgbailey@...> 2006/10/05

On 10/5/06, zoat <enogrob@hotmail.com> wrote:

[#218267] Re: Ruby Cookbook review — darren kirby <bulliver@...> 2006/10/05

quoth the Justin Bailey:

[#218366] Re: Ruby Cookbook review — "zoat" <enogrob@...> 2006/10/06

...I think I can answer that myself. Why are you so concerned with

[#218230] question mark at end of method name — "py" <codecraig@...>

what does the question mark at the end of a method name represent?

12 messages 2006/10/05

[#218252] Compound Parallel Operators — "Gavin Kistner" <gavin.kistner@...>

(I didn't see an RCR for this, and my lazy 60s of searching didn't find

17 messages 2006/10/05
[#218336] Re: Compound Parallel Operators — "Martin Coxall" <pseudo.meta@...> 2006/10/06

> Wouldn't it be nice if all compound operators worked with parallel

[#218385] Posix Pangrams (#97) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

23 messages 2006/10/06

[#218404] tabs and parse errors with Ruby 1.8.4 and Windows — Will Rogers <wjrogers@...>

This is a cross-post from the Rails list in hopes of getting some

13 messages 2006/10/06

[#218522] In the year 2525 — "Jim v. Tess" <jimvtess@...>

Is there a reason why Time.local can't handle dates beyond 2038? I know

21 messages 2006/10/07

[#218577] Ruby vs. Rails — "Giles Bowkett" <gilesb@...>

OK, this question came up on a local list, and I don't have the answer.

48 messages 2006/10/07
[#218596] Re: Ruby vs. Rails — Devin Mullins <twifkak@...> 2006/10/08

Giles Bowkett wrote:

[#218607] Re: Ruby vs. Rails — "M. Edward (Ed) Borasky" <znmeb@...> 2006/10/08

Devin Mullins wrote:

[#218854] Re: Ruby vs. Rails — "Martin DeMello" <martindemello@...> 2006/10/10

On 10/8/06, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

[#218896] Re: Ruby vs. Rails — "M. Edward (Ed) Borasky" <znmeb@...> 2006/10/10

Martin DeMello wrote:

[#219018] Re: Ruby vs. Rails — "John W. Kennedy" <jwkenne@...> 2006/10/11

M. Edward (Ed) Borasky wrote:

[#218600] HTML reporter for Test::Unit — Benjamin Curtis <ruby@...>

Tesly Jr. (http://junior.tesly.com) is a hosted web app that provides

18 messages 2006/10/08

[#218663] || explanation in ruby... in pseudolanguage — Tuka Opaleye <tuka@...>

Hi,

20 messages 2006/10/08
[#218687] Re: || explanation in ruby... in pseudolanguage — Dave Burt <dave@...> 2006/10/09

Tuka Opaleye wrote:

[#218762] Re: || explanation in ruby... in pseudolanguage — Tuka Opaleye <tuka@...> 2006/10/09

Thanks for the input guys. This really helps.

[#218776] Re: || explanation in ruby... in pseudolanguage — Dave Burt <dave@...> 2006/10/09

Tuka Opaleye wrote:

[#218817] Re: || explanation in ruby... in pseudolanguage — "Max Muermann" <ruby@...> 2006/10/09

On 10/10/06, Dave Burt <dave@burt.id.au> wrote:

[#218861] Re: || explanation in ruby... in pseudolanguage — "Tom Armitage" <tom.armitage@...> 2006/10/10

> Anyway, if it helps, I tend to think of the |var| notation as "with", e.g.

[#218705] Removing Duplicate Objects from Object List — "Jeff Nyman" <jeffnyman_nospam@..._gmail.com>

Greetings all.

10 messages 2006/10/09

[#218733] Ruva: Pure-ruby toy (J)VM — Ross Bamford <rossrt@...>

Hi,

25 messages 2006/10/09
[#218792] Re: [ANN] Ruva: Pure-ruby toy (J)VM — Christian Neukirchen <chneukirchen@...> 2006/10/09

Ross Bamford <rossrt@roscopeco.co.uk> writes:

[#218944] rubyforge.org down — "Tom Copeland" <tom@...>

RubyForge is down... investigating now.

18 messages 2006/10/10
[#218958] Re: rubyforge.org down — Gaspard Gaspard <gaspard@...> 2006/10/10

Tom Copeland wrote:

[#218972] Re: rubyforge.org down — "Tom Copeland" <tom@...>

> RubyForge is down... investigating now.

29 messages 2006/10/10
[#218974] Re: rubyforge.org down — James Edward Gray II <james@...> 2006/10/10

On Oct 10, 2006, at 3:52 PM, Tom Copeland wrote:

[#218975] Re: rubyforge.org down — "Tom Copeland" <tom@...> 2006/10/10

> > It's back up now. We may be having hardware issues - the machine

[#218978] Re: rubyforge.org down — Tim Bray <tbray@...> 2006/10/10

On Oct 10, 2006, at 2:08 PM, Tom Copeland wrote:

[#219008] Re: rubyforge.org down — Tom Copeland <tom@...> 2006/10/11

On Wed, 2006-10-11 at 06:21 +0900, Tim Bray wrote:

[#219019] Re: rubyforge.org down — Charles Oliver Nutter <Charles.O.Nutter@...> 2006/10/11

Tom Copeland wrote:

[#219031] Re: rubyforge.org down — Tom Copeland <tom@...> 2006/10/11

On Wed, 2006-10-11 at 13:41 +0900, Charles Oliver Nutter wrote:

[#218977] Booksales @Rubyconf? — Tim Bray <tbray@...>

Will someone be setting up a bookstand at Rubyconf? I see this at

15 messages 2006/10/10

[#219033] Execution of rubyfile in remote machines — Sampurna Mishra <tanushree.bhoi@...>

Hi All,

13 messages 2006/10/11

[#219045] scanning strings, backward? — Bil Kleb <Bil.Kleb@...>

Hi,

17 messages 2006/10/11

[#219152] Re: rubyforge.org still down ? — "Tom Copeland" <tom@...>

> Cool, yup, right on. I'm going to take rubyforge down around

14 messages 2006/10/11
[#219153] Re: rubyforge.org still down ? — "Thiago Jackiw" <tjackiw@...> 2006/10/11

On 10/11/06, Tom Copeland <tom@infoether.com> wrote:

[#219177] case ... when and arrays (or what was why_ showing us at railsconf europe) — "J2M" <james2mccarthy@...>

Hi,

9 messages 2006/10/11

[#219218] Counting Frequency of Values in an Array (And Sorting by Frequency?) — x1 <caldridge@...>

Is there no method for an array that will tell me the # of occurrences

10 messages 2006/10/12

[#219276] Debugging in the large, modern practice? — Hugh Sasse <hgs@...>

I think the following may be a badly formed question, but if you'd

19 messages 2006/10/12

[#219285] My .irbrc for console/irb — Dr Nic <drnicwilliams@...>

I recently discovered that I can create a .irbrc file to run setup for

15 messages 2006/10/12

[#219325] Isolating non-unique items in an array — Jason Burgett <jasbur@...>

I'm basically trying to the opposite of .uniq Let's say I have an array:

16 messages 2006/10/12

[#219330] IO.readint ? — "Rolando Abarca" <funkaster@...>

Hi all,

16 messages 2006/10/12

[#219429] Any way to get lists to throw exceptions on incorrect accesses? — Kenneth McDonald <kenneth.m.mcdonald@...>

I'm slowly doing more in Ruby (in addition to what I do in Python), as I

10 messages 2006/10/13

[#219502] A* (#98) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

26 messages 2006/10/13

[#219512] YART - Yet Another Ruby Tutorial!!! — Paul Barry <paul.barry@...>

12 messages 2006/10/13

[#219522] Why does 'chroot' interfere with 'system'? — "Sy Ali" <sy1234@...>

This always fails.

13 messages 2006/10/13

[#219649] Ruby Tutorial for beginners — "Dibya Prakash" <prakash.dibya@...>

Hi All,

15 messages 2006/10/14
[#219652] Re: [Adv] Ruby Tutorial for beginners — "Kevin Olemoh" <darkintent@...> 2006/10/14

Neat thanks for the heads up.

[#219653] Re: [Adv] Ruby Tutorial for beginners — "Kevin Olemoh" <darkintent@...> 2006/10/14

One quick question in one of his examples he states that using single

[#219719] What books to buy? — Kyrre Nyg蚌d <kyrreny@...>

26 messages 2006/10/14
[#219726] Re: What books to buy? — James Britt <james.britt@...> 2006/10/14

Kyrre Nyg蚌d wrote:

[#219797] Re: What books to buy? — Kyrre Nyg蚌d <kyrreny@...> 2006/10/15

At 23:09 14.10.2006, James Britt wrote:

[#219817] Re: What books to buy? — Hal Fulton <hal9000@...> 2006/10/15

Kyrre Nyg蚌d wrote:

[#220076] Re: "Good Ideas, Through the Looking Glass" — "Rick DeNatale" <rick.denatale@...>

On 10/16/06, Rich Morin <rdm@cfcl.com> wrote:

13 messages 2006/10/16

[#220210] Ruby Quiz - Degree of Difficulty — Mark Woodward <markonlinux@...>

Hi all,

19 messages 2006/10/17

[#220304] ruby way to say this? — matt@... (matt neuburg)

In Ruby, zero isn't false and there is no equivalent of the ?: operator

13 messages 2006/10/17

[#220355] Newbie: Ruby and Writing Variables In Strings — Lovell Mcilwain <lovell.mcilwain@...>

Hello all,

11 messages 2006/10/18

[#220424] Another topic for RubyConf — "M. Edward (Ed) Borasky" <znmeb@...>

As if the folks at RubyConf don't have enough to talk about already,

22 messages 2006/10/18

[#220435] My first feeling of Ruby — Florent Guiliani <fguiliani@...>

Hi all,

15 messages 2006/10/18

[#220531] whats this lambda code doing? — hemant <gethemant@...>

I came across following code in typo's application.rb and I can't

17 messages 2006/10/19

[#220536] Is anyone using Ruby for 24/7 financial applications? — "John Baylor" <john.baylor@...>

I know a lot of people are using ruby on rails for web apps, usually with

21 messages 2006/10/19

[#220574] RejectConf — Ryan Davis <ryand-ruby@...>

Jacob Harris and I came up with the idea of doing RejectConf. If you

24 messages 2006/10/19

[#220754] filling an array excepted first and last position... — Josselin <josselin@...>

ldom = 30 # variable (last day of a month...)

11 messages 2006/10/20

[#220769] — "gaurav bagga" <gaurav.v.bagga@...>

Hi All,

19 messages 2006/10/20
[#221041] Re: [OT:usage of uml] — "Chris Carter" <cdcarter@...> 2006/10/22

Hi,

[#220787] break from block — "Farrel Lifson" <farrel.lifson@...>

I've just run into the following problem. Doing this:

15 messages 2006/10/20

[#220964] A Comparison Of Dynamic and Static Languiges — atbusbook@...

I'm doing a report on the speed of develipment and executionin varius

30 messages 2006/10/21

[#220999] DRY fanatics? — "Giles Bowkett" <gilesb@...>

Anybody know a way to make this DRYer?

15 messages 2006/10/22

[#221025] downcase part of a string — "ilhamik" <ilhami.kilic@...>

hi,

39 messages 2006/10/22
[#221405] Re: downcase part of a string — "F. Senault" <fred@...> 2006/10/24

Le 23 octobre 2006 03:16, Wilson Bilkovich a 馗rit :

[#221520] Re: downcase part of a string — Hal Fulton <hal9000@...> 2006/10/24

F. Senault wrote:

[#221036] Recommendations for a Ruby Wiki, preferably with bidi support? — "Alder Green" <alder.green@...>

We are going to deploy a Wiki system for a medium load website. Any

24 messages 2006/10/22
[#221040] Re: Recommendations for a Ruby Wiki, preferably with bidi support? — James Britt <james.britt@...> 2006/10/22

Alder Green wrote:

[#221043] Re: Recommendations for a Ruby Wiki, preferably with bidi support? — "Alder Green" <alder.green@...> 2006/10/22

On 10/22/06, James Britt

[#221058] Re: Recommendations for a Ruby Wiki, preferably with bidi support? — James Britt <james.britt@...> 2006/10/22

Alder Green wrote:

[#221071] Re: Recommendations for a Ruby Wiki, preferably with bidi support? — "Bret Pettichord" <bpettichord@...> 2006/10/22

> http://en.wikipedia.org/wiki/Instiki

[#221078] Re: Recommendations for a Ruby Wiki, preferably with bidi support? — Joel VanderWerf <vjoel@...> 2006/10/22

Bret Pettichord wrote:

[#221108] Fast portable storage for queues — snacktime <snacktime@...>

I've tested out a couple of ways of storing a queue structure and

18 messages 2006/10/22
[#221133] Re: Fast portable storage for queues — "Francis Cianfrocca" <garbagecat10@...> 2006/10/23

On 10/22/06, snacktime <snacktime@gmail.com> wrote:

[#221151] Re: Fast portable storage for queues — khaines@... 2006/10/23

On Mon, 23 Oct 2006, Francis Cianfrocca wrote:

[#221212] How to remove empty element in an array — Li Chen <chen_li3@...>

Hi all,

13 messages 2006/10/23

[#221213] How to remove empty element in an array — Li Chen <chen_li3@...>

Hi all,

12 messages 2006/10/23

[#221249] What's the difference between send and instance_eval? — "michele" <michelemendel@...>

What's the difference between send and instance_eval (except the

11 messages 2006/10/23

[#221287] '**' as hash splat? — "Trans" <transfire@...>

We can:

16 messages 2006/10/24

[#221293] Ruby's garbage collector... — "Just Another Victim of the Ambient Morality" <ihatespam@...>

Is there a name for Ruby's garbage collecting strategy?

12 messages 2006/10/24

[#221311] Chunky Bacon — Joe Ruby MUDCRAP-CE <joeat303@...>

WTF, I ask. I know it's in why's Poignant guide, but...WTF?

26 messages 2006/10/24
[#221394] Re: Chunky Bacon — David Roberts <smartgpx@...> 2006/10/24

Joe Ruby MUDCRAP-CE wrote:

[#221325] Ruby in a Nutshell .. worth it? — EB <ebonakDUH_@...>

Hi,

18 messages 2006/10/24

[#221381] How can my boss take rails seriously with bugs like this? — Chris Richards <evilgeenius@...>

15 messages 2006/10/24

[#221404] How do I tell when I'm on Cygwin? — James Edward Gray II <james@...>

HighLine has some code like this:

72 messages 2006/10/24
[#221415] Re: How do I tell when I'm on Cygwin? — "Nick Sieger" <nicksieger@...> 2006/10/24

On 10/24/06, James Edward Gray II <james@grayproductions.net> wrote:

[#221432] Re: How do I tell when I'm on Cygwin? — "Gregory Brown" <gregory.t.brown@...> 2006/10/24

On 10/24/06, Nick Sieger <nicksieger@gmail.com> wrote:

[#221532] Re: How do I tell when I'm on Cygwin? — James Edward Gray II <james@...> 2006/10/25

On Oct 24, 2006, at 1:40 PM, Gregory Brown wrote:

[#221538] Re: How do I tell when I'm on Cygwin? — "Gregory Brown" <gregory.t.brown@...> 2006/10/25

On 10/24/06, James Edward Gray II <james@grayproductions.net> wrote:

[#221544] Re: How do I tell when I'm on Cygwin? — "M. Edward (Ed) Borasky" <znmeb@...> 2006/10/25

Gregory Brown wrote:

[#221560] Re: How do I tell when I'm on Cygwin? — ara.t.howard@... 2006/10/25

On Wed, 25 Oct 2006, M. Edward (Ed) Borasky wrote:

[#221565] Re: [OT] Re: How do I tell when I'm on Cygwin? — "M. Edward (Ed) Borasky" <znmeb@...> 2006/10/25

ara.t.howard@noaa.gov wrote:

[#221573] Re: [OT] Re: How do I tell when I'm on Cygwin? — "Wilson Bilkovich" <wilsonb@...> 2006/10/25

On 10/24/06, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

[#221576] Re: [OT] Re: How do I tell when I'm on Cygwin? — "M. Edward (Ed) Borasky" <znmeb@...> 2006/10/25

Wilson Bilkovich wrote:

[#221578] Re: [OT] Re: How do I tell when I'm on Cygwin? — "Robert Oliver" <rob@...> 2006/10/25

On 10/24/06, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

[#221600] Re: [OT] Re: How do I tell when I'm on Cygwin? — "Austin Ziegler" <halostatue@...> 2006/10/25

On 10/24/06, Robert Oliver <rob@ocstech.com> wrote:

[#221941] Re: How do I tell when I'm on Cygwin? — Chris Lowis <chris.lowis@...> 2006/10/26

Austin Ziegler wrote:

[#222115] Re: How do I tell when I'm on Cygwin? — "Austin Ziegler" <halostatue@...> 2006/10/26

On 10/26/06, Chris Lowis <chris.lowis@gmail.com> wrote:

[#221474] RubyConf2006 Retrospective — Bil Kleb <Bil.Kleb@...>

Hi,

36 messages 2006/10/24
[#221518] Re: RubyConf2006 Retrospective — James Britt <james.britt@...> 2006/10/24

M. Edward (Ed) Borasky wrote:

[#221534] Re: RubyConf2006 Retrospective — "M. Edward (Ed) Borasky" <znmeb@...> 2006/10/25

James Britt wrote:

[#221622] Re: RubyConf2006 Retrospective — "Austin Ziegler" <halostatue@...> 2006/10/25

On 10/24/06, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

[#221483] Freeride, FXRuby, FXScintilla, etc. (Includes [Fwd: [fxscintilla-users] ANNOUNCE: FXScintilla 1.71 and stopping]) — "M. Edward (Ed) Borasky" <znmeb@...>

I just received this in my email. As most of you know by now, I run

8 messages 2006/10/24

[#221545] Best way to automate web browser tasks? — Hal Fulton <hal9000@...>

I know there's Watir or something... but I'm not using

14 messages 2006/10/25

[#221620] Is there really an impending Ruby fracture??? — "M. Edward (Ed) Borasky" <znmeb@...>

Well ... I've been home from RubyConf for a day now. I sort of expected

26 messages 2006/10/25

[#221635] Documentation formats (RDoc to PDF output?) — Alex Gutteridge <alexg@...>

Hi,

13 messages 2006/10/25

[#221651] Potential Brit ruby meeting formally Chunky Bacon — "Cameron, Gemma (UK)" <Gemma.Cameron@...>

11 messages 2006/10/25

[#221730] ruby mysql errors -where am I going wrong here? — Mer Gilmartin <merrua@...>

Here is my test code. I am wondering where I am going wrong.

13 messages 2006/10/25

[#221814] Re: Pass block instead of here document? — "Gavin Kistner" <gavin.kistner@...>

From: Morton Goldberg [mailto:m_goldberg@ameritech.net]

16 messages 2006/10/25

[#221866] simple math question — Brad Tilley <rtilley@...>

What's the quickest way to determine if an int is an even number

27 messages 2006/10/25

[#221938] Beginner would like help with oo-modelling — Pa Per <xxx@...>

I'm new to ruby and basically oop as well, but based on what I've seen

15 messages 2006/10/26

[#221985] Re: [ANN] Potential Brit ruby meeting formally Chunky Bacon — "Cameron, Gemma (UK)" <Gemma.Cameron@...>

18 messages 2006/10/26
[#222006] Re: [ANN] Potential Brit ruby meeting formally Chunky Bacon — "Tom Armitage" <tom.armitage@...> 2006/10/26

On 26/10/06, Cameron, Gemma (UK) <Gemma.Cameron@baesystems.com> wrote:

[#222029] Re: [ANN] Potential Brit ruby meeting formally Chunky Bacon — Paul Lynch <paul@...> 2006/10/26

On 26 Oct 2006, at 16:49, Tom Armitage wrote:

[#222030] Re: [ANN] Potential Brit ruby meeting formally Chunky Bacon — "Tom Armitage" <tom.armitage@...> 2006/10/26

On 26/10/06, Paul Lynch <paul@plsys.co.uk> wrote:

[#222186] why is my singleton method called before the class is initialize? — "bachase@..." <bachase@...>

Consider:

12 messages 2006/10/27

[#222253] Fuzzy Time (#99) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

27 messages 2006/10/27

[#222263] Ruby's book list is out of date... — "Jeremy McAnally" <jeremymcanally@...>

Hello all,

13 messages 2006/10/27

[#222270] a regex — "Alexandru Popescu" <the.mindstorm.mailinglist@...>

Hi!

18 messages 2006/10/27

[#222328] classless methods — Dave Rose <bitdoger2@...>

what class does a classless independent method belong too?

15 messages 2006/10/27

[#222362] can there be a "with" construction? — matt@... (matt neuburg)

Some languages have a "with" construction, where undefined methods are

17 messages 2006/10/27

[#222408] What are closures, continuations? — Joe Ruby MUDCRAP-CE <joeat303@...>

I've seen these mentioned in various places. From what I can tell:

18 messages 2006/10/27

[#222432] Another nail in CygWin's coffin (attached) — "M. Edward (Ed) Borasky" <znmeb@...>

Austin is basically right -- *nobody* should use CygWin as a Windows

14 messages 2006/10/27

[#222453] SouthWest RubyConf? — James Britt <james.britt@...>

Is anyone aware of, or interested in helping prepare, plans for a U.S.

16 messages 2006/10/28

[#222460] Efficient parsing of large Excel documents in Ruby — Wes Gamble <weyus@...>

All,

17 messages 2006/10/28

[#222535] symetrical encryption algo's ? — dc <lister@...>

Hi list.

18 messages 2006/10/28

[#222569] Define a hash using %q? — Joe Ruby MUDCRAP-CE <joeat303@...>

Is there a way for us lazy typists to define a hash using %q? I tried

16 messages 2006/10/29
[#222571] Re: Define a hash using %q? — Joel VanderWerf <vjoel@...> 2006/10/29

Joe Ruby MUDCRAP-CE wrote:

[#222580] Interesting trival example of why open classes are good? — "Peter Michaux" <petermichaux@...>

Hi,

15 messages 2006/10/29

[#222713] DNS library released — alexd@...

Hello -

17 messages 2006/10/30
[#222724] Re: [ANN] DNS library released — Daniel Berger <djberg96@...> 2006/10/30

alexd@nominet.org.uk wrote:

[#222744] Re: [ANN] DNS library released — James Edward Gray II <james@...> 2006/10/30

On Oct 30, 2006, at 6:44 AM, Daniel Berger wrote:

[#222765] Ruby performance on Windows XP — "Dark Ambient" <sambient@...>

While I am working in Rails, I'm noticing that Ruby many times completely

20 messages 2006/10/30

[#222804] QtRuby 1.4.7 — "richard.j.dale@..." <richard.j.dale@...>

URIS

15 messages 2006/10/30

[#222925] Ruby tools for managing static websites? — "Chris Pearl" <chrispearl@...>

Are there Ruby tools to help webmasters manage static websites?

22 messages 2006/10/31

[#222932] Re: [ANN] bfts 1.0.0 Released — "Jeff Dik" <s450r1@...>

This is excellent news!

15 messages 2006/10/31

[#223035] Nonblocking IO read — srobertjames@...

How can I perform a nonblocking IO read? That is, read whatever is

32 messages 2006/10/31
[#223038] Re: Nonblocking IO read — ara.t.howard@... 2006/10/31

On Wed, 1 Nov 2006 srobertjames@gmail.com wrote:

[#223039] still more relentless non-repetition — "Giles Bowkett" <gilesb@...>

ok, I have this Rails code which I want to make more Rubyish.

14 messages 2006/10/31

[ANN] traits-0.10.0

From: ara.t.howard@...
Date: 2006-10-05 19:23:08 UTC
List: ruby-talk #218237
URLS

   http://rubyforge.org/projects/codeforpeople/
   http://codeforpeople.com/lib/ruby/traits

INSTALL

   yes|sudo gem install traits

ABOUT

   traits.rb is set of attr_* like methods on steroids, caffeine, and botox.
   it encourages better living through meta-programming and uniform access
   priciples. traits.rb supports smart inheritence of class attributes and a
   fistful of hooks for veryifying and munging attr values.

VERSION

   0.10.0

HISTORY

   0.10.0
     - removed use of additional instance var to denote whether a value had
       been set.  now the test is only 'defined? @#{ name }'.

   0.9.2
     - fixed a bug where list traits, for example

         trait 'letters' => %w[ a b c ]

       were flattened in a way that exploded trait initialization

     - streamlined TraitInit module

     - added OpenTraits class and otraits method

         conf = otraits{
           port 42
           host 'forty-two'
         }
         p conf.port            #=> 42
         p conf.host            #=> 'forty-two'
         conf.username 'zaphod'
         p conf                 #=> {"username"=>"zaphod", "port"=>42, "host"=>"forty-two"}

   0.9.0
     - luke kaines made quite a few suggestions and bug reports that enabled this
       release including making a few methods indifferent about string/symbol
       args/keys and the introduction of a simple method 'trait_init' that can be
       used to create keyword based initializers, eg:

         require 'traits'

         class C
           include TraitInit

           trait :a, :type => Integer
           trait :b, :type => Integer

           def initialize opts = {}
             trait_init opts
           end
         end

         C::new :a => 4, :b => 2

   0.8.0
     - traits now supports a whole slew of hooks that can be registered to fire
       pre or post setting an attribute, to cast a value to another type, to
       munge a value destructively, to require only certain types, to require a
       certain ducktype signature, and to validate arguments passed.  check out
       sample/m.rb, sample/n.rb, or sample.o.rb to see it in action.  the
       mechanism is quite flexible allowing method names, lambdas of varying
       arity, and lists of either/or to be passed to any hook.

     - you can find a gem for trais on codeforpeople - but i've still not coded
       up automated updating from codeforpeople to rubyforge so it won't show up
       as a remote gem yet.

   0.7.0
    - patched in the support i had written eariler for 'hooks' to be called
      pre/post setting a trait. plus shortcut to 'validate' traits which simply
      sets up a 'pre' hook which is used as a predicate.  eg:

         class C; trait 'number', 'validate' => proc{|n| Numeric === n}

      pre and post hooks are used in the same way, eg:

         class C
           trait 'a',
             'pre' => proc{|val| p "#{ val } to set with"},
             'post' => proc{|val| p "#{ val } set"},
         end

      but the really cool thing is that all of these blocks are both passed the
      value in question but also evaluate with 'self' set appropriately.  eg

         class Car
           positive_int = lambda{|n| Fixnum === n and n > 0}
           legal = proc{|s| s < speed_limit}

           trait 'speed_limit', 'validate' => positive_int, 'default' => 42
           trait 'speed', 'validate' => legal
         end

         c = Car::new
         c.speed = 115

       works as you'd expect:

         (eval):14:in `speed=': validation of speed=(115) failed! (ArgumentError)
                 from a.rb:13

   0.6.0
     - fixed bug in where a default trait given as an empty array, eg:

         class C;  has 'a' => [];  end

       was exploded into the empty list when passed to the setter to initialize
       the default value.

   0.5.0
     - general code cleanup

   0.4.0
     - tweaked writer code so multiple values can be passed to setters
     - tweaked method of running blocks to use instance_eval so explicit 'this'
       arg is no longer needed (though it can still be used)

   0.3.0
     added ability of default values to be specified with block for deferred
     context sensitive initialization (see sample/c.rb)

   0.1.0

     completely reworked impl so NO parsing of inspect strings is required -
     it's all straight methods (albeit quite confusing ones) now.  the
     interface is unchanged.

   0.0.0

     initial version


AUTHOR

   ara [dot] t [dot] howard [at] noaa [dot] gov

SAMPLES

   <========< sample/a.rb >========>

   ~ > cat sample/a.rb

     require 'traits'
     #
     # defining a trait is like attr_accessor in the simple case
     #
     class C
       trait :t
     end

     o = C::new
     o.t = 42
     p o.t

     #
     # and can be made even shorter
     #

     class B; has :x; end

     o = B::new
     o.x = 42
     p o.x


   ~ > ruby sample/a.rb

     42
     42


   <========< sample/b.rb >========>

   ~ > cat sample/b.rb

     require 'traits'
     #
     # multiple traits can be defined at once using a list/array of string/sybmol
     # arguments
     #
     class C
       has :t0, :t1
       has %w( t2 t3 )
     end

     obj = C::new
     obj.t0 = 4
     obj.t3 = 2
     print obj.t0, obj.t3, "\n"

   ~ > ruby sample/b.rb

     42


   <========< sample/c.rb >========>

   ~ > cat sample/c.rb

     require 'traits'
     #
     # a hash argument can be used to specify default values
     #
     class C
       has 'a' => 4, :b => 2
     end

     o = C::new
     print o.a, o.b, "\n"

     #
     # and these traits are smartly inherited
     #
     class K < C; end

     o = K::new
     o.a = 40
     p( o.a + o.b ) # note that we pick up a default b from C class here since it
                    # has not been set

     o.a = 42
     o.b = nil
     p( o.b || o.a ) # but not here since we've explicitly set it to nil

     #
     # if a block is specifed as the default the initialization of the default value
     # is deferred until needed which makes for quite natural trait definitions.  the
     # block is passed 'self' so references to the current object can be made. (if
     # this were not done 'self' in the block would be bound to the class!)
     #

     class C
       class << self
         has('classname'){ name.upcase }
       end

       has('classname'){ self.class.classname.downcase }
     end

     class B < C; end

     o = C::new
     p C::classname
     p o.classname

     o = B::new
     p B::classname
     p o.classname

   ~ > ruby sample/c.rb

     42
     42
     42
     "C"
     "c"
     "B"
     "b"


   <========< sample/d.rb >========>

   ~ > cat sample/d.rb

     require 'traits'
     #
     # all behaviours work within class scope (metal/singleton-class) to define
     # class methods
     #
     class C
       class << self
         traits 'a' => 4, 'b' => 2
       end
     end

     print C::a, C::b, "\n"

     #
     # singleton methods can even be defined on objects
     #

     class << (a = %w[dog cat ostrich])
       has 'category' => 'pets'
     end
     p a.category

     #
     # and modules
     #
     module Mmmm
       class << self; trait 'good' => 'bacon'; end
     end

     p Mmmm.good

   ~ > ruby sample/d.rb

     42
     "pets"
     "bacon"


   <========< sample/e.rb >========>

   ~ > cat sample/e.rb

     require 'traits'
     #
     # shorhands exit to enter 'class << self' in order to define class traits
     #
     class C
       class_trait 'a' => 4
       c_has :b => 2
     end

     print C::a, C::b, "\n"

   ~ > ruby sample/e.rb

     42


   <========< sample/f.rb >========>

   ~ > cat sample/f.rb

     require 'traits'
     #
     # as traits are defined they are remembered and can be accessed
     #
     class C
       class_trait :first_class_method
       trait :first_instance_method
     end

     class C
       class_trait :second_class_method
       trait :second_instance_method
     end

     #
     # readers and writers are remembered separatedly
     #
     p C::class_reader_traits
     p C::instance_writer_traits

     #
     # and can be gotten together at class or instance level
     #
     p C::class_traits
     p C::traits

   ~ > ruby sample/f.rb

     ["first_class_method", "second_class_method"]
     ["first_instance_method=", "second_instance_method="]
     [["first_class_method", "first_class_method="], ["second_class_method", "second_class_method="]]
     [["first_instance_method", "first_instance_method="], ["second_instance_method", "second_instance_method="]]


   <========< sample/g.rb >========>

   ~ > cat sample/g.rb

     require 'traits'
     #
     # another neat feature is that they are remembered per hierarchy
     #
     class C
       class_traits :base_class_method
       trait :base_instance_method
     end

     class K < C
       class_traits :derived_class_method
       trait :derived_instance_method
     end

     p C::class_traits
     p K::class_traits

   ~ > ruby sample/g.rb

     [["base_class_method", "base_class_method="]]
     [["derived_class_method", "derived_class_method="], ["base_class_method", "base_class_method="]]


   <========< sample/h.rb >========>

   ~ > cat sample/h.rb

     require 'traits'
     #
     # a depth first search path is used to find defaults
     #
     class C
       has 'a' => 42
     end
     class K < C; end

     k = K::new
     p k.a

     #
     # once assigned this is short-circuited
     #
     k.a = 'forty-two'
     p k.a

   ~ > ruby sample/h.rb

     42
     "forty-two"


   <========< sample/i.rb >========>

   ~ > cat sample/i.rb

     require 'traits'
     #
     # getters and setters can be defined separately
     #
     class C
       has_r :r
     end
     class D
       has_w :w
     end

     #
     # defining a reader trait still defines __public__ query and __private__ writer
     # methods
     #
     class C
       def using_private_writer_and_query
         p r?
         self.r = 42
         p r
         p r?
       end
     end
     C::new.using_private_writer_and_query

     #
     # defining a writer trait still defines __private__ query and __private__ reader
     # methods
     #
     class D
       def using_private_reader
         p w?
         self.w = 'forty-two'
         p w
         p w?
       end
     end
     D::new.using_private_reader

   ~ > ruby sample/i.rb

     false
     42
     true
     false
     "forty-two"
     true


   <========< sample/j.rb >========>

   ~ > cat sample/j.rb

     require 'traits'
     #
     # getters delegate to setters iff called with arguments
     #
     class AbstractWidget
       class_trait 'color' => 'pinky-green'
       class_trait 'size' => 42
       class_trait 'shape' => 'square'

       # we define instance traits which get their default from the class
       %w( color size shape ).each{|t| trait(t){self.class.send t}}

       def inspect
         "color <#{ color }> size <#{ size }> shape <#{ shape }>"
       end
     end

     class BlueWidget < AbstractWidget
       color 'blue'
       size 420
     end

     p BlueWidget::new

   ~ > ruby sample/j.rb

     color <blue> size <420> shape <square>


   <========< sample/k.rb >========>

   ~ > cat sample/k.rb

     require 'traits'
     #
     # the rememberance of traits can make generic intializers pretty slick
     #
     class C
       #
       # define class traits with defaults
       #
       class_traits(
         'a' => 40,
         'b' => 1,
         'c' => 0
       )

       #
       # define instance traits whose defaults come from readable class ones
       #
       class_rtraits.each{|ct| instance_trait ct => send(ct)}

       #
       # any option we respond_to? clobbers defaults
       #
       def initialize opts = {}
         opts.each{|k,v| send(k,v) if respond_to? k}
       end

       #
       # show anything we can read
       #
       def inspect
         self.class.rtraits.inject(0){|n,t| n += send(t)}
       end
     end

     c = C::new 'c' => 1
     p c

   ~ > ruby sample/k.rb

     42


   <========< sample/l.rb >========>

   ~ > cat sample/l.rb

     require 'traits'
     #
     # even defining single methods on object behaves
     #
     a = []

     class << a
       trait 'singleton_class' => class << self;self;end

       class << self
         class_trait 'x' => 42
       end
     end

     p a.singleton_class.x

   ~ > ruby sample/l.rb

     42


   <========< sample/m.rb >========>

   ~ > cat sample/m.rb

     require 'traits'
     #
     # pre and post hooks can be passed a proc or the name of a method, the arity is
     # detected and the proc/method sent either the value, or the name/value pair
     #

     class C
       HOOK_A = lambda{|value| puts "HOOK_A : #{ value }"}
       HOOK_B = lambda{|name, value| puts "HOOK_B : #{ name } = #{ value }"}

       def hook_a value
         puts "hook_a : #{ value }"
       end
       def hook_b name, value
         puts "hook_b : #{ name } = #{ value }"
       end

       trait 'x', 'pre' => HOOK_A, 'post' => 'hook_b'
       trait 'y', 'pre' => HOOK_B, 'post' => 'hook_a'
     end

     c = C::new
     c.x = 42
     c.y = 'forty-two'

   ~ > ruby sample/m.rb

     HOOK_A : 42
     hook_b : x = 42
     HOOK_B : y = forty-two
     hook_a : forty-two


   <========< sample/n.rb >========>

   ~ > cat sample/n.rb

     require 'traits'
     #
     # two kinds of in-place modifications are supported : casting and munging.
     # casting is a hook that requires either a proc or the name of a method that
     # will be used to convert the objects type.  munging is similar execpt the
     # method is called on the object itself.  like all hooks, lists may be provided
     # instead of a single argument
     #
     # you'll notice that the hooks and methods defined here are not strictly needed,
     # but are for illustration purposes only.  note that all hooks operate in the
     # context of self - they have access to instance vars, etc., like instance_eval
     #

     class C
       INT = lambda{|i| int i}
       def int i
         Integer i
       end
       trait 'a', 'cast' => 'int'
       trait 'b', 'cast' => INT
       trait 'c', 'munge' => 'to_i'
       trait 'd', 'cast' => 'Integer'
       trait 'e', 'munge' => %w( to_i abs )
     end

     c = C::new

     c.a = '42'
     p c.a
     c.b = '42'
     p c.b
     c.c = '42'
     p c.c
     c.d = '42'
     p c.d
     c.e = '-42'
     p c.e

   ~ > ruby sample/n.rb

     42
     42
     42
     42
     42


   <========< sample/p.rb >========>

   ~ > cat sample/p.rb

     require 'traits'
     #
     # the TraitInit module provide a simple method for initializing an object's
     # traits from an options hash
     #

     class C
       include TraitInit

       LIST_OF_INTS = lambda{|a| Array === a and a.map{|i| Integer === i}.all?}
       LIST_OF_STRINGS = lambda{|a| Array === a and a.map{|s| String === s}.all?}

       trait :li, :validate => LIST_OF_INTS
       trait :ls, :validate => LIST_OF_STRINGS

       def initialize opts = {}
         trait_init opts
       end
     end

     c = C::new "li" => [4, 2], "ls" => %w[4 2]
     p c.li
     p c.ls

   ~ > ruby sample/p.rb

     [4, 2]
     ["4", "2"]


   <========< sample/q.rb >========>

   ~ > cat sample/q.rb

     require 'traits'
     #
     # the OpenTraits class is similar to an OpenStruct but, imho, easier to use.
     # the otraits shorthand can be used to contruct one
     #

     #
     # options passed as args dynamically create and init traits
     #
       config = otraits :port => 42
       p config.port

     #
     # any passed block does the same but, via a method missing hood and traits
     # getter/setters, the syntax is very clean
     #
       config = otraits{
         port 42
         host 'forty-two'
       }
       p config.port
       p config.host
       config.username 'zaphod'
       p config

   ~ > ruby sample/q.rb

     42
     42
     "forty-two"
     {"username"=>"zaphod", "port"=>42, "host"=>"forty-two"}


CAVEATS

   this library is experimental and subject to change - though it has not for
   several versions and much of my code hinges is on it now so you can expect the
   interface to be stable in the near future - the only changes planned are those
   that fix bugs or add features.

LICENSE

   same as ruby's


enjoy.

-a
-- 
in order to be effective truth must penetrate like an arrow - and that is
likely to hurt. -- wei wu wei

In This Thread

Prev Next