[#118612] OS X Tiger still including ruby 1.6 — Carl Youngblood <carl.youngblood@...>

I'm not sure who to talk to about this, but in my correspondence with

17 messages 2004/11/01

[#118651] symbol solver.. early experiments — Simon Strandgaard <neoneye@...>

Hi,

11 messages 2004/11/01

[#118675] fastcgi performance problems and ruby — andrew.stuart@...

Hello

16 messages 2004/11/02

[#118679] US Presidential Election — "trans. (T. Onoma)" <transami@...>

Election Day is upon us!

135 messages 2004/11/02
[#118681] Re: [OT] US Presidential Election — James Britt <jamesUNDERBARb@...> 2004/11/02

trans. (T. Onoma) wrote:

[#118690] Re: [OT] US Presidential Election — Ara.T.Howard@... 2004/11/02

On Tue, 2 Nov 2004, trans. (T. Onoma) wrote:

[#118696] Re: [OT] US Presidential Election — Logan Capaldo <logancapaldo@...> 2004/11/02

I am neither a Kerry or Bush supporter. Idealy I would vote

[#118734] Re: [OT] US Presidential Election — Richard Kilmer <rich@...> 2004/11/02

Bush, with conviction ;-)

[#118744] Re: [OT] US Presidential Election — Thomas Kirchner <lists@...> 2004/11/02

On Tue, Nov 02, 2004 at 09:18:12PM +0900, Richard Kilmer wrote:

[#118836] From getoptlong to optparse — Massimiliano Mirra - bard <mmirra@...>

15 messages 2004/11/02

[#118863] Programmatically and dynamically catching exceptions — Logan Capaldo <logancapaldo@...>

Allright here was my idea which seems to have been shattered by the

13 messages 2004/11/03

[#118965] Ruby Package for MacOS X — Mark Hubbart <discordantus@...>

Hi all,

11 messages 2004/11/04

[#118970] Ruby and civil political discussion? (Re: [OT] US Presidential Election) — "Dave Burt" <burtdav@...>

"David Morton" <mortonda@gmail.com> wrote:

18 messages 2004/11/04

[#118988] rails: gem install rails is bombing — "J. D." <jd@...>

Hi,

11 messages 2004/11/04
[#118994] Re: rails: gem install rails is bombing — David Heinemeier Hansson <david@...> 2004/11/04

> I'm running into a problem installing rails using gem. How do I fix

[#118997] Ruby BitTorrent — (Curne) Simon Conrad-Armes <curne@...>

Has anybody started a Ruby BitTorrent transfer library? I wanted to

13 messages 2004/11/04

[#119059] Will ActiveRecord support Berkeley DB? — "J. D." <jd@...>

Hi,

13 messages 2004/11/04

[#119111] FastCGI parameters (get and post) — "J. D." <jd@...>

Hi,

21 messages 2004/11/04
[#119114] Re: FastCGI parameters (get and post) — Kent Sibilev <ksibilev@...> 2004/11/04

GET parameters you have to parse from ENV['QUERY_STRING'].

[#119117] Re: FastCGI parameters (get and post) — "J. D." <jd@...> 2004/11/04

Kent Sibilev wrote:

[#119176] Re: FastCGI parameters (get and post) — Patrick May <patrick@...> 2004/11/05

[#119208] Re: FastCGI parameters (get and post) — MoonWolf <moonwolf@...> 2004/11/05

Patrick May wrote:

[#119275] Re: FastCGI parameters (get and post) — Patrick May <patrick@...> 2004/11/05

Quoting MoonWolf <moonwolf@moonwolf.com>:

[#119289] Re: FastCGI parameters (get and post) — gabriele renzi <rff_rff@...> 2004/11/05

Patrick May ha scritto:

[#119357] Re: FastCGI parameters (get and post) — Patrick May <patrick@...> 2004/11/06

[#119358] Re: FastCGI parameters (get and post) — Ara.T.Howard@... 2004/11/06

On Sun, 7 Nov 2004, Patrick May wrote:

[#119132] recursive brace matching with Ruby regexp — Jason Sweat <jason.sweat@...>

I wanted to learn Ruby, so I picked a small task of trying to write a

19 messages 2004/11/05
[#119149] Re: recursive brace matching with Ruby regexp — Mark Hubbart <discordantus@...> 2004/11/05

Hi,

[#119161] Re: recursive brace matching with Ruby regexp — James Edward Gray II <james@...> 2004/11/05

On Nov 4, 2004, at 8:04 PM, Mark Hubbart wrote:

[#119148] Ruby 1.4.6 - trouble with require path — primehalo@... (Ken Innes)

I inherited a project that uses Ruby 1.4.6 on a RedHat Linux 6.1J. I

12 messages 2004/11/05

[#119168] value provided for argument with default value - how to check inside method? — "itsme213" <itsme213@...>

Is there an equivalent of block_given? to check if the caller provided a

16 messages 2004/11/05

[#119223] GEDCOM Parser (#6) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

40 messages 2004/11/05
[#119224] Re: [QUIZ] GEDCOM Parser (#6) — Jim Menard <jimm@...> 2004/11/05

> <gedcom>

[#119371] Documenting accessor methods as methods — James Britt <jamesUNDERBARb@...>

I sometimes use the method definition shorthand 'attr_reader',

29 messages 2004/11/06
[#119373] Re: [RDOC] Documenting accessor methods as methods — Gavin Kistner <gavin@...> 2004/11/07

On Nov 6, 2004, at 4:23 PM, James Britt wrote:

[#119386] Re: [RDOC] Documenting accessor methods as methods — Dave Thomas <dave@...> 2004/11/07

[#119406] Re: [RDOC] Documenting accessor methods as methods — James Britt <jamesUNDERBARb@...> 2004/11/07

Dave Thomas wrote:

[#119417] Re: [RDOC] Documenting accessor methods as methods — Dave Thomas <dave@...> 2004/11/07

[#119428] Re: [RDOC] Documenting accessor methods as methods — James Britt <jamesUNDERBARb@...> 2004/11/07

Dave Thomas wrote:

[#119432] Re: [RDOC] Documenting accessor methods as methods — Sam Roberts <sroberts@...> 2004/11/07

Quoteing jamesUNDERBARb@neurogami.com, on Mon, Nov 08, 2004 at 04:26:26AM +0900:

[#119439] Re: [RDOC] Documenting accessor methods as methods — James Britt <jamesUNDERBARb@...> 2004/11/07

Sam Roberts wrote:

[#119535] rdoc and vim folding — "Ara.T.Howard" <Ara.T.Howard@...>

24 messages 2004/11/08
[#119540] Re: rdoc and vim folding — Dave Thomas <dave@...> 2004/11/08

[#119543] Re: rdoc and vim folding — Hans Fugal <hans@...> 2004/11/09

Dave Thomas wrote:

[#119545] Re: rdoc and vim folding — "Ara.T.Howard" <Ara.T.Howard@...> 2004/11/09

On Mon, 8 Nov 2004, Hans Fugal wrote:

[#119597] One-Click Installer 1.8.2-14 RC9 with RubyGems built-in — "Curt Hibbs" <curt@...>

This release candidate of the One-Click Installer for

22 messages 2004/11/09

[#119598] RedCloth 3.0.0 -- Textile and Markdown Elope! — why the lucky stiff <ruby-talk@...>

RedCloth 3 is out. You know? RedCloth? Perhaps you've heard of it.

14 messages 2004/11/09

[#119607] Iterating trough hash — Kevin =?ISO-8859-15?Q?B=F6rgens?= <kevin@...>

Hi!

19 messages 2004/11/09

[#119685] new spam at the wiki — Edwin Eyan Moragas <haaktu@...>

been checking my pages and it looks like we've got a new spammer on board.

41 messages 2004/11/10
[#119708] Re: new spam at the wiki — Jim Weirich <jim@...> 2004/11/10

On Wednesday 10 November 2004 02:00 am, Edwin Eyan Moragas wrote:

[#119748] Re: new spam at the wiki — Asfand Yar Qazi <see@...> 2004/11/10

Jim Weirich wrote:

[#119754] Re: new spam at the wiki — Henrik Horneber <ryco@...> 2004/11/10

Asfand Yar Qazi wrote:

[#119756] Re: new spam at the wiki — Charles Comstock <cc1@...> 2004/11/10

[#119796] A Wiki/Spam Report — "Jim Weirich" <jim@...> 2004/11/10

Hello all.

[#119895] Re: A Wiki/Spam Report — Ben Giddings <bg-rubytalk@...> 2004/11/11

Jim Weirich wrote:

[#119911] Re: A Wiki/Spam Report — gabriele renzi <rff_rff@...> 2004/11/11

Ben Giddings ha scritto:

[#119935] Re: A Wiki/Spam Report — "Jim Weirich" <jim@...> 2004/11/11

[#119799] array.each restart when array is changed — Kevin =?ISO-8859-15?Q?B=F6rgens?= <kevin@...>

Hi!

18 messages 2004/11/10

[#119825] Arachno users? — "itsme213" <itsme213@...>

Any Arachno IDE users out there? Do you mind sharing your opinion of the

16 messages 2004/11/11
[#119908] Re: Arachno users? — Wayne Vucenic <nightphotos@...> 2004/11/11

I've been programming in Ruby for 3 years, and using ArachnoRuby for

[#119826] ruby idiom for attribute definition? — "Corey" <corey_s@...>

19 messages 2004/11/11

[#119878] Thinking About Java Interfaces In Ruby — James Edward Gray II <james@...>

I'm currently reading "Holub on Patterns", an excellent volume on

18 messages 2004/11/11

[#119974] warning: redefining Object#initialize may cause infinite loop — Stu <ceaser@...>

12 messages 2004/11/12

[#120037] Copland to Needle article on RubyGarden — Chad Fowler <chadfowler@...>

For those not subscribed to RubyGarden's rss feed[1], Jamis Buck has

35 messages 2004/11/12
[#120214] Re: [ANN] Copland to Needle article on RubyGarden (LONG) — Joel VanderWerf <vjoel@...> 2004/11/13

Chad Fowler wrote:

[#120431] Starter question on Test::Unit — Mohammad Khan <mkhan@...> 2004/11/15

Hello,

[#120056] Countdown (#7) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

26 messages 2004/11/12

[#120061] why does rss/maker not raise errors? — Sam Roberts <sroberts@...>

There are lots of mandatory attributes (yes, which are mandatory is

26 messages 2004/11/12
[#120133] bug: rss/maker is requiring <image> for rss/0.9 — Sam Roberts <sroberts@...> 2004/11/13

It says it is optional here:

[#120071] assert — "itsme213" <itsme213@...>

I could not find a standard "assert" in Ruby. Is there one?

29 messages 2004/11/12

[#120248] Dynamic define_method on class creation per module namespace — "trans. (T. Onoma)" <transami@...>

Here's a wee challenge for Rubyists at large. Consider:

12 messages 2004/11/14

[#120261] Countdown (#7) — Dennis Ranke <dennis.ranke@...>

Hi, here is my second solution for this very interesting quiz.

15 messages 2004/11/14

[#120271] Ruby in the enterprise... — "Wood, Jeff" <jeffwood@...>

Hello all,=20

14 messages 2004/11/14

[#120299] OpenStruct#update ? — "trans. (T. Onoma)" <transami@...>

How 'bout an OpenStruct#update for adding values after initialization. Or is

72 messages 2004/11/14
[#120306] Re: OpenStruct#update ? — "trans. (T. Onoma)" <transami@...> 2004/11/14

On Sunday 14 November 2004 03:42 pm, trans. (T. Onoma) wrote:

[#120337] Re: OpenStruct#update ? — Yukihiro Matsumoto <matz@...> 2004/11/14

Hi,

[#120355] Re: OpenStruct#update ? — "trans. (T. Onoma)" <transami@...> 2004/11/15

On Sunday 14 November 2004 06:16 pm, Yukihiro Matsumoto wrote:

[#120395] Re: OpenStruct#update ? — Florian Gross <flgr@...> 2004/11/15

trans. (T. Onoma) wrote:

[#120401] Kernel#singleton_class (was: Re: OpenStruct#update ?) — "David A. Black" <dblack@...> 2004/11/15

Hi --

[#120405] Re: Kernel#singleton_class — Florian Gross <flgr@...> 2004/11/15

David A. Black wrote:

[#120407] Re: Kernel#singleton_class — "David A. Black" <dblack@...> 2004/11/15

Hi --

[#120446] Re: Kernel#singleton_class — Yukihiro Matsumoto <matz@...> 2004/11/15

Hi,

[#120449] Re: Kernel#singleton_class — "trans. (T. Onoma)" <transami@...> 2004/11/15

On Monday 15 November 2004 12:28 pm, Yukihiro Matsumoto wrote:

[#120380] Arachno Ruby 0.3 (patch 2) — Lothar Scholz <mailinglists@...>

Hello,

16 messages 2004/11/15

[#120485] rpa-base 0.2.3 — Mauricio Fern疣dez <batsman.geo@...>

15 messages 2004/11/15
[#120516] Re: [ANN] rpa-base 0.2.3 — Matt Armstrong <matt@...> 2004/11/16

[#120626] Re: [ANN] rpa-base 0.2.3 — Mauricio Fern疣dez <batsman.geo@...> 2004/11/17

On Tue, Nov 16, 2004 at 02:08:23PM +0900, Matt Armstrong wrote:

[#120573] Can't Build Ruby 1.8.1 on HP-UX 11.00 — Kevin Hinners <kevin.hinners@...>

I've downloaded the stable 1.8.1 release of Ruby. When I attempt to run make

21 messages 2004/11/16
[#120574] Re: Can't Build Ruby 1.8.1 on HP-UX 11.00 — Yukihiro Matsumoto <matz@...> 2004/11/16

Hi,

[#120577] Re: Can't Build Ruby 1.8.1 on HP-UX 11.00 — Kevin Hinners <kevin.hinners@...> 2004/11/16

Top segment of mkmk.log:

[#120582] Re: Can't Build Ruby 1.8.1 on HP-UX 11.00 — Yukihiro Matsumoto <matz@...> 2004/11/16

Hi,

[#120609] Ruby to C to another language (perhaps Java (I Don't Need JRuby)) — Zach Dennis <zdennis@...>

This posting is more for a learning thing then anything else at this

10 messages 2004/11/17

[#120727] About Regular Expressions — Nikolai Weibull <mailing-lists.ruby-talk@...>

Lately there have been a bunch of posts on this list about regular

31 messages 2004/11/18
[#120739] Re: About Regular Expressions — "trans. (T. Onoma)" <transami@...> 2004/11/18

On Thursday 18 November 2004 05:34 am, Nikolai Weibull wrote:

[#120745] Re: About Regular Expressions — Nikolai Weibull <mailing-lists.ruby-talk@...> 2004/11/18

* trans. (T. Onoma) <transami@runbox.com> [Nov 18, 2004 14:10]:

[#120764] Re: About Regular Expressions — "trans. (T. Onoma)" <transami@...> 2004/11/18

On Thursday 18 November 2004 09:26 am, Nikolai Weibull wrote:

[#120754] postgres-pr (pure Ruby PostgreSQL) — Michael Neumann <mneumann@...>

Hi,

30 messages 2004/11/18
[#120772] Re: [ANN] postgres-pr (pure Ruby PostgreSQL) — David Ross <dross@...> 2004/11/18

Michael Neumann wrote:

[#120870] Re: [ANN] postgres-pr (pure Ruby PostgreSQL) — David Garamond <lists@...6.isreserved.com> 2004/11/19

David Ross wrote:

[#120877] Re: [ANN] postgres-pr (pure Ruby PostgreSQL) — Mauricio Fern疣dez <batsman.geo@...> 2004/11/19

On Fri, Nov 19, 2004 at 04:42:36PM +0900, David Garamond wrote:

[#120872] mission critical Ruby? — Mark VanOrman <mark@...>

Hi all,

14 messages 2004/11/19

[#120890] Object Browser (#8) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

65 messages 2004/11/19
[#121006] Re: [SOLUTION] Object Browser (#8) — "R. Mark Volkmann" <mark@...> 2004/11/22

I'm new to using gems. Can you tell me the command I need to run to get

[#121093] Object Browser (#8) — Brian =?ISO-8859-15?Q?Schr=F6der?= <ruby@...> 2004/11/23

Hello Group,

[#121357] Re: [Solution] Object Browser (#8) — Brian =?ISO-8859-15?Q?Schr=F6der?= <ruby@...> 2004/11/25

So I took some time and refactored my solution. It now has a modular and extendible structure (at least I hope so). It should be possible to easily write non-gtk ui's and extend the reporting capabilities.

[#120940] Inner Class Relationship — James Edward Gray II <james@...>

I have an inner class that needs to send it's parent object (outer

24 messages 2004/11/20
[#120946] Re: Inner Class Relationship — Francis Hwang <sera@...> 2004/11/20

Since you haven't said much about how you're using this, maybe my

[#120947] Re: Inner Class Relationship — James Edward Gray II <james@...> 2004/11/21

On Nov 20, 2004, at 5:55 PM, Francis Hwang wrote:

[#120952] Re: Inner Class Relationship — Francis Hwang <sera@...> 2004/11/21

[#120961] Windows - calling system with multiple parms — colotechpro@... (John Reed)

I'm having a problem getting a system call to Windows XP to work. I

13 messages 2004/11/21

[#121015] Some progress but have hit a new error working through the Todo tutorial... Anyone recognize it? — "Abraham Vionas" <abe_ml@...>

The error is below. Ugh. But at least it works up to this point. I don't

12 messages 2004/11/22
[#121016] Re: Some progress but have hit a new error working through the Todo tutorial... Anyone recognize it? — "Abraham Vionas" <abe_ml@...> 2004/11/22

Oh, whups. The state of the todo_controller.rb file that evokes this error

[#121026] Instiki problems — Ryco@...

Hi!

19 messages 2004/11/22
[#121031] Re: Instiki problems — Ryco@... 2004/11/22

Update:

[#121129] Re: Instiki problems — Ryco@... 2004/11/23

Hi!

[#121126] rails is awesome — Dick Davies <rasputnik@...>

46 messages 2004/11/23
[#121134] Re: rails is awesome — David Heinemeier Hansson <david@...> 2004/11/23

> Couldn't help sending a big 'thank you' to DHH for Rails.

[#121194] Re: rails is awesome — Austin Ziegler <halostatue@...> 2004/11/23

On Tue, 23 Nov 2004 20:11:24 +0900, David Heinemeier Hansson

[#121196] Re: rails is awesome — David Heinemeier Hansson <david@...> 2004/11/23

> I haven't seen this myself, but from something said by others, it

[#121217] Re: rails is awesome — Austin Ziegler <halostatue@...> 2004/11/24

On Wed, 24 Nov 2004 07:01:17 +0900, David Heinemeier Hansson

[#121243] Re: rails is awesome — David Heinemeier Hansson <david@...> 2004/11/24

> Essentially, David, this is a *problem* with ActiveRecord.

[#121247] Re: rails is awesome — Gavin Sinclair <gsinclair@...> 2004/11/24

On Wednesday, November 24, 2004, 9:23:09 PM, David wrote:

[#121260] Re: rails is awesome — Austin Ziegler <halostatue@...> 2004/11/24

On Wed, 24 Nov 2004 19:48:18 +0900, Gavin Sinclair

[#121267] Other ORMs [was: rails is awesome] — Francis Hwang <sera@...> 2004/11/24

[#121271] Re: Other ORMs [was: rails is awesome] — George Moschovitis <gm@...> 2004/11/24

> do, maybe it's worth considering that ActiveRecord is not not the only

[#121274] Re: Other ORMs [was: rails is awesome] — Austin Ziegler <halostatue@...> 2004/11/24

On Wed, 24 Nov 2004 22:58:09 +0900, George Moschovitis <gm@navel.gr> wrote:

[#121275] Re: Other ORMs [was: rails is awesome] — Francis Hwang <sera@...> 2004/11/24

Austin, what DB are you using anyway? Dunno if I caught that in this

[#121173] Most popular wiki in Ruby seeks kind maintainer — David Heinemeier Hansson <david@...>

Okay, okay, okay. Instiki does need a new maintainer. At least a

12 messages 2004/11/23
[#121195] Re: Most popular wiki in Ruby seeks kind maintainer — Austin Ziegler <halostatue@...> 2004/11/23

On Wed, 24 Nov 2004 02:35:21 +0900, David Heinemeier Hansson

[#121210] Marshal vs. YAML vs. something else (Re: Most popular wiki in Ruby seeks kind maintainer) — Francis Hwang <sera@...> 2004/11/24

More generally, let me ask: What formats are people using to persist

[#121205] How to avoid inheriting Object? — "itsme213" <itsme213@...>

How do I create a class that does not inherit from Object?

17 messages 2004/11/24
[#121218] Re: How to avoid inheriting Object? — Austin Ziegler <halostatue@...> 2004/11/24

On Wed, 24 Nov 2004 10:29:09 +0900, itsme213 <itsme213@hotmail.com> wrote:

[#121227] editors/IDEs — Jamie Orchard-Hays <jamie@...>

I'm curious what people are favoring for editors and IDEs for Ruby.

21 messages 2004/11/24

[#121318] Ruby/DL tutorial — bjsp123@... (Benjamin Peterson)

Hi,

15 messages 2004/11/24

[#121381] Re: Ruby GUIs and installation effort — "bin liu" <ruby@3cn.com.cn>

I think one GUI system dos not depends others except ruby will bee more flexible.

19 messages 2004/11/25

[#121455] Using unit-tests as examples for a documentation — benny <listen@...>

dear list,

13 messages 2004/11/25

[#121468] oneclick installer, freeride — tony summerfelt <snowzone5@...>

anybody NOT developing the oneclick installer or freeride can skip

12 messages 2004/11/25

[#121506] Multiplexer - linear non-blocking I/O — Mikael Brockman <mikael@...>

Blocking I/O is really easy to use. But when you use it to write

32 messages 2004/11/26

[#121517] Banned Words (#9) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

29 messages 2004/11/26

[#121611] initialize always — "trans. (T. Onoma)" <transami@...>

It is rather a common occurrence that I find myself creating a mixin module

16 messages 2004/11/27

[#121647] One-Click Installer 1.8.2-14 RC10 — "Curt Hibbs" <curt@...>

This release is mainly in upgrade the included FreeRIDE

13 messages 2004/11/28

[#121730] Seeking advice on some method names — Gavin Sinclair <gsinclair@...>

Hi all,

28 messages 2004/11/29

[#121847] to_s, inspect, etc. — "itsme213" <itsme213@...>

Where would I find a nice summary of to_s, inspect, p, etc. and the core

16 messages 2004/11/29

[#121903] PHP vs. Ruby vs. Python (vs. Rails) — "Abraham Vionas" <abe_ml@...>

As I was falling asleep last night I was wondering about the differences in

15 messages 2004/11/30

[#121916] Python 2.4 released — Zach Dennis <zdennis@...>

A coworker of mine came and hollarred at me because on /. it mentioned

21 messages 2004/11/30

[#121936] Optional static typing (or, What can Ruby 2.0 borrow from Boo?) — djberg96@... (Daniel Berger)

Hi all,

23 messages 2004/11/30

[#121943] profile — "Joe Van Dyk" <joe.vandyk@...>

Hi,

24 messages 2004/11/30

[#121949] singleton methods : when are they not permitted? — "itsme213" <itsme213@...>

irb(main):025:0> x = :any

20 messages 2004/11/30
[#121956] Re: singleton methods : when are they not permitted? — Florian Gross <flgr@...> 2004/11/30

itsme213 wrote:

[#121970] Re: singleton methods : when are they not permitted? — Francis Hwang <sera@...> 2004/12/01

[#121975] Re: singleton methods : when are they not permitted? — Christoph <chr_mail@...> 2004/12/01

Francis Hwang schrieb:

[ANN] dirwatch-0.0.6

From: "Ara.T.Howard" <Ara.T.Howard@...>
Date: 2004-11-04 18:13:47 UTC
List: ruby-talk #119088
URLS
   http://raa.ruby-lang.org/project/dirwatch/
   http://www.codeforpeople.com/lib/ruby/dirwatch/

NAME
   dirwatch v0.0.6

SYNOPSIS
   dirwatch [options]+ [directory = ./] [mode = watch] [dbdir = 0]

DESCRIPTTION
   dirwatch is a tool used to design file system based event driven systems.

   dirwatch manages an sqlite database that mirrors the state of a directory
   and then triggers user definable event handlers for certain filesystem
   activities such file creation, modification, deletion, etc.  dirwatch
   normally runs as a daemon process sychronizing the database inventory with
   that of the directory and then fires appropriate triggers.  dirwatch is
   designed such that more than one 'watch' may be placed on a given directory
   and it is nfs clean.


   -----------------------------------------------------------------------------
   the following actions may have triggers configured for them
   -----------------------------------------------------------------------------

   created  -> a file was detected that was not already in the database
   modified -> a file in the database was detected as being modified
   updated  -> a file was created or modified (union of these actions)
   deleted  -> a file in the database is no longer in the directory
   existing -> a file in the database still exists in the directory and has not
               been modified


   -----------------------------------------------------------------------------
   the command line 'mode' must be one of the following
   -----------------------------------------------------------------------------

   create   (c) -> initialize the database and supporting files
   watch    (w) -> maintain database inventory and trigger actions
   list     (l) -> dump database to stdout in silky smooth yaml format
   template (t) -> generate a template config file

   for all modes except 'template' the command line argument must be the name of
   the directory to apply the operation


   -----------------------------------------------------------------------------
   mode: create (c)
   -----------------------------------------------------------------------------

   initializes a storage directory, known from here on as 'dbdir', with all
   required database files, logs, command directories, sample configuration,
   sample programs, etc.

   by default the dbdir will be stored in a numbered subdirectory such as

     directory/.dirwatch/n

   where 'directory' is the directory named on the command line and 'n' is the
   watch number.

   multiple dirwatches may be placed upon a directory - these 'watches' will be
   automagically numbered starting from 0 as they are created.  for instance
   the command

     dirwatch ./ create

   followed by another

     dirwatch ./ create

   would initialize both the dbdirs './.dirwatch/0' AND '././dirwatch/1' to
   allow two 'watches' (0 and 1) to later be placed upon the directory.  see
   watch section below.

   dbdir may be specified at creation (or watch) time as either the last
   command line argument, or by using the '--dbdir' option, as the full path to
   the storage directory.  as a special case dbdir may be specified as a number
   only (matching /[0-9]+) in which case the dbdir is assumed to be a numbered
   subdirectory of directory/.dirwatch/.

   for example

     dirwatch ./ create 42

   or

     dirwatch --dbdir=42 ./ create

   would use the directory ./.dirwatch/42/ as dbdir, and

     dirwatch ./ create /full/path/to/dbdir

   would use /full/path/to/dbdir as a dbdir


   when a dirwatch directory is created a hierarchy is created for storing
   commands (programs) to be triggered for the various actions.  the hierachy
   is :

     dbdir/
           commands/
                    created/
                    updated/
                    modified/
                    deleted/
                    existing/

   the idea being that that actual trigger commands (programs) will be stored
   in either the commands/ subdirectory or in an action specific subdirectory
   (commands/created/, commands/deleted/, etc.).  it is not required to store
   programs here, but these locations are automatically checked based on
   trigger type.

   a default config file will be auto-generated and placed in the 'dbdir' with
   the name 'dirwatch.conf'.  this config will automatically be used, iff
   found, when watching.  use the '--config' option to override this.

   -----------------------------------------------------------------------------
   mode: watch (w)
   -----------------------------------------------------------------------------

   dirwatch is designed to run as a daemon, updating the database inventory
   at the interval specified by the '--interval' option (5 minutes by default)
   and firing appropriate trigger commands.  two watchers may not watch the
   same dbdir simoultaneously and attempting the start a second watcher will
   fail when the second watcher is unable to obtain the pid lockfile.  it is a
   non-fatal error to attempt to start another watcher when one is running and
   this failure can be made silent by using the '--quiet' option.  the reason
   for this is to allow a crontab entry to be used to make the daemon
   'immortal'.  for example, the following crontab entry

     */15 * * * * dirwatch directory --daemon --dbdir=0 \
                                     --files_only --flat \
                                     --interval=10minutes --quiet

   or (same but shorter)

     */15 * * * * dirwatch directory -D -d0 -f -F -i10m -q

   will __attempt__ to start a daemon watching 'directory' every fifteen
   minutes.  if the daemon is not already running one will started, otherwise
   dirwatch will simply fail silently (no cron email sent due to stderr).

   this feature allows a normal user to setup daemon processes that not only
   will run after machine reboot, but which will continue to run after other
   terminal program behaviour.

   the meaning of the options in the above crontab entry are as follows

     --daemon     -> become a child of init and run forever
     --dbdir      -> the storage directory, here the default is specified
     --files_only -> inventory files only (default is files and directories)
     --flat       -> do not recurse into subdirectories (default recurses)
     --interval   -> generate inventory, at mininum, every 10 minutes
     --quiet      -> be quiet when failing due to another daemon already watching

   as the watcher runs and maintains the inventory it is noted when
   files/directories (entries) have been created, modified, updated, deleted,
   or are existing.  these entries are then handled by user definable triggers
   as specified in the config file.  the config file is of the format

     ...
     actions :
       created :
         commands :
           ...
       updated :
         commands :
           ...
       ...
     ...

   where the commands to be run for each trigger type are enumerated.  each
   command entry is of the following format:
         ...
         -
           command : command to run
           type    : calling convention
           pattern : filter files further by this pattern
           timing  : synchronous or asynchronous execution
         ...

   the meaning of each field is as follows :

     command: this is the program to run.  the search path for the program is
              determined dynamically by the action run.  for instance, when a
              file is discovered to be 'modified' the search path for the
              command will be

                dbdir/commands/modified/ + dbdir/commands/ + $PATH

              this dynamic path setting simply allows for short pathnames if
              commands are stored in the dbdir/commands/* subdirectories.

     type:    there are four types of commands.  the type merely indicates the
              calling convention of the program.  when commands are run there
              are two peices of information which must be passed to the
              program, the file in question and the mtime of that file.  the
              mtime is less important but programs may use it to know if the file
              has been changed since they were spawned.  mtime will probably be
              ignored for most commands.  the four types of commands fall into
              two catagories: those commands called once for each file and those
              types of commands called once with __all__ files

              each file:

                simple:  the command will be called with three arguments: the file
                         in question, the mtime date, and the mtime time. eg:

                           command foobar.txt 2002-11-04 01:01:01.1234

                expaned: the command will be have the strings '@file' and
                         '@mtime' replaced with appropriate values. eg:

                           command '@file' '@mtime'

                         expands to (and is called as)

                           command 'foobar.txt' '2002-11-04 01:01:01.1234'

              all at once:

                filter:  the stdin of the program will be given a list where each
                         line contains three items, the file, the mtime data, and
                         the mtime time.

                yaml:    the stdin of the program will be given a list where each
                         entry contains two items, the file and the mtime.  the
                         format of the list is valid yaml and the schema is an
                         array of hashes with the keys 'path' and 'mtime'.

     pattern: all the files for a given action are filtered by this pattern,
              and only those files matching pattern will have triggers fired.


     timing:  if timing is asynchronous the command will be run and not waited
              for before starting the next command.  asynchronous commands may
              yield better performance but may also result in many commands
              being run at once.  asyncronous commands should not load the
              system heavily unless one is looking to freeze a machine.
              synchronous commands are spawned and waited for before the next
              command is started.  a side effect of synchronous commands is
              that the time spent waiting may sum to an ammount of time greater
              than the interval ('--interval' option) specified - if the amount
              of time running commands exceeds the interval the next inventory
              simply begins immeadiately with no pause.  because of this one
              should think of the interval used as a minimum bound only,
              especially when synchronous commands are used.


   note that sample commands of each type are auto-generated in the
   dbdir/commands directory.  reading these should answer any questions regarding
   the calling conventions of any of the four types.  for other questions regard
   the sample config, which is also auto-generated.


   -----------------------------------------------------------------------------
   mode: list (l)
   -----------------------------------------------------------------------------

   dump the contents of the database in yaml format for easy viewing/parsing


   -----------------------------------------------------------------------------
   mode: template (t)
   -----------------------------------------------------------------------------

   generate a template config.  the first directory argument is ignored so one
   may type

     dirwatch directory template [template file]

   or

     dirwatch template [template file]


ENVIRONMENT

   for dirwatch:

     export SQLDEBUG=1       -> cause sql debugging info to be logged
     export LOCKFILE_DEBUG=1 -> cause lockfile debugging info to be logged

   for triggers run under dirwatch:

     DIRWATCH_DIR      -> directory being watched
     DIRWATCH_ACTION   -> trigger type
     DIRWATCH_TYPE     -> command type
     DIRWATCH_N_PATHS  -> total number of paths for this trigger
     DIRWATCH_PATH_IDX -> for simple|expanded path number
                          for filter|yaml set to DIRWATCH_N_PATHS
     DIRWATCH_PATH     -> for simple|expanded path
                          for filter|yaml nil
     DIRWATCH_MTIME    -> for simple|expanded mtime of path
                          for filter|yaml nil
     DIRWATCH_PID      -> pid of dirwatch watcher
     DIRWATCH_ID       -> trigger unique identifier
     PATH              -> .dirwatch/(0...n)/commands/action + ENV['PATH']


FILES
   directory/.dirwatch/n/              -> dirwatch data files
   directory/.dirwatch/n/dirwatch.conf -> default configuration file
   directory/.dirwatch/n/commands/*    -> default location for triggers
   directory/.dirwatch/n/db            -> sqlite database file
   directory/.dirwatch/n/db.schema     -> sqlite database schema
   directory/.dirwatch/n/lock          -> sentinal lock file used for nfs safe access
   directory/.dirwatch/n/dirwatch.pid  -> default pidfile
   directory/.dirwatch/n/dirwatch.log  -> default log file
   directory/.dirwatch/n/*             -> misc files used by locking subsystem

DIAGNOSTICS
   success -> $? == 0
   failure -> $? != 0

AUTHOR
   ara.t.howard@noaa.gov

BUGS
   1 < bugno && bugno < 42

OPTIONS
   --lockfile=[lockfile], -L
         coordinate inventory on lockfile - (default directory/.lock)
   --dbdir=dbdir, -d
         specify dbdir used - (default directory/.dirwatch/0)
   --interval=interval, -i
         specify polling interval - (default 5 minutes)
   --nloops=nloops, -N
         specify the number of watch loops - (default infinite)
   --daemon, -D
         run as a daemon
   --quiet, -q
         fail quietly if pidfile cannot be generated
   --pattern=pattern, -p
         watch only files matching pattern (__not__ shell glob)
   --files_only, -f
         ignore everything but files - (default directories and files)
   --flat, -F
         do not recurse into subdirectories - (default recurse)
   --pidfile=pidfile, -P
         specifiy pidfile used - (default @dbdir/dirwatch.pid)
   --verbosity=verbostiy, -v
         0|fatal < 1|error < 2|warn < 3|info < 4|debug - (default info)
   --log=path, -l
         set log file - (default stderr or, iff existing, @dbdir/dirwatch.log)
   --log_age=log_age
         daily | weekly | monthly - what age will cause log rolling (default
         nil)
   --log_size=log_size
         size in bytes - what size will cause log rolling (default 1mb)
   --config=path, -c
         valid path - specify config file (default @dbdir/dirwatch.conf)
   --template=[path]
         valid path - generate a template config file in path (default stdout)
   --help, -h
         this message

EXAMPLES

   0) initialize a directory for watching (dbdir = directory/.dirwatch/0/)

     ~ > dirwatch dir create

   1) initialize another watch (the '1' is optional)

     ~ > dirwatch dir create 1

   2) create a config (to edit afterwards)

     ~ > dirwatch template config
     ~ > vi config

   3) watch a directory using all defaults, logging to stderr

     ~ > dirwatch dir watch

   4) start daemon to watch a directory using all defaults, daemons log to
      dbdir/dirwatch.log by default

     ~ > dirwatch dir watch -D

   5) same as above but use dbdir .dirwatch/2/

     ~ > dirwatch dir watch 2 -D

   6) dump contents of database (dbdir = .dirwatch/0/) in yaml format

     ~ > dirwatch dir list

   7) same as above but use dbdir .dirwatch/2/

     ~ > dirwatch dir list 2

   8) crontab entry to keep alive a watcher for a directory using default dbdir,
      watching files only and not recursing into subdirectories

      */15 * * * * /full/path/to/dirwatch /full/path/to/directory w -D -f -F -q

   9) another watch on that same directory using different dbdir (7).  this one
      watches all entries and recurses into subdirectories

      */15 * * * * /full/path/to/dirwatch /full/path/to/directory w 7 -D -q



enjoy.

-a
--
===============================================================================
| EMAIL   :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
| PHONE   :: 303.497.6469
| When you do something, you should burn yourself completely, like a good
| bonfire, leaving no trace of yourself.  --Shunryu Suzuki
===============================================================================

In This Thread

Prev Next