[#146971] Inference Engine (#37) — Ruby Quiz <james@...>
The three rules of Ruby Quiz:
[#146982] Fault Tolerant DRb? — Kirk Haines <khaines@...>
Just pondering different things this morning, and my mind came back to
[#146997] require problem with syntax errors — David Corbin <dcorbin@...>
I have written a little "test suite" for my use in developing a rails
[#147002] How to return entire row to compare against another row in ruby — bww00amdahl@...
New to Ruby and would like to the following in Ruby
On Jul 1, 2005, at 3:25 PM, bww00amdahl@yahoo.com wrote:
[#147004] How and where Fixnum are created — "Eustaquio Rangel de Oliveira Jr." <eustaquiorangel@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#147009] no clue — Joe Van Dyk <joevandyk@...>
I thought for all of five seconds for a good subject line for this
Joe Van Dyk <joevandyk@gmail.com> writes:
On 7/1/05, Daniel Brockman <daniel@brockman.se> wrote:
Hi Joe,
On 8/13/05, Simon Krer <SimonKroeger@gmx.de> wrote:
On 8/13/05, Simon Krer <SimonKroeger@gmx.de> wrote:
On Sun, 14 Aug 2005, Joe Van Dyk wrote:
On 8/13/05, Ara.T.Howard <Ara.T.Howard@noaa.gov> wrote:
On Sun, 14 Aug 2005, Joe Van Dyk wrote:
On 8/14/05, Ara.T.Howard <Ara.T.Howard@noaa.gov> wrote:
[#147010] How to use Test::Unit::Assertions from class methods? — Michael Schuerig <michael@...>
[#147022] dirwatch-0.9.0 — "Ara.T.Howard" <Ara.T.Howard@...>
[#147042] ruby-ldap: bind authentication problem — Boris Glawe <boris@...>
Hi,
[#147044] Loading a file without cluttering the global namespace — Benjamin Hepp <benjamin-hepp@...>
Hello,
[#147056] class variable leading a double life — "Amarison" <amarison@...>
Can someone please explain why the @var variable leads a double life? One
On Jul 2, 2005, at 9:55 AM, Amarison wrote:
James Edward Gray II <james@grayproductions.net> wrote:
[#147076] FlipFlop Voodoo — Daniel Nugent <nugend@...>
So I was reading through the retrospective on RedHanded today and saw
On Sun, Jul 03, 2005 at 01:44:32PM +0900, Daniel Nugent wrote:
[#147080] tkextlib and Unicode — "Axel" <anieden@...>
Hello!
[#147086] Ruby/Gosu — Kevin Pratt <netikular@...>
Hi there,
[#147106] warning: refine foo, what!? — "_ugly" <mgarriss@...>
I've been doing some unit tests with ruby -W. Wow did I have a lot to
[#147114] calling an arbitrary superclass method — Eric Mahurin <eric_mahurin@...>
Anybody know of a way to call an arbitrary method in the
[#147139] ruby-dev summary 26325-26385 — Masayoshi TAKAHASHI <maki@...>
Hi all,
[#147153] Ruby under Cygwin problems — JZ <usenet@...>
Whatever Ruby module I want to install under Cygwin I always get the same
> No this is not the problem, it's just one more of this quick and dirty hacks (that i don't like in ruby).
karlin.fox@gmail.com said:
Hello Ryan,
Lothar Scholz <mailinglists@scriptolutions.com> writes:
On Wed, 2005-07-06 at 23:18 +0900, Christian Neukirchen wrote:
[#147156] Add methods to a predefined class: on the class instance or metaclass? — "Eustaquio Rangel de Oliveira Jr." <eustaquiorangel@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#147157] Inference Engine (#37) — Paolo Capriotti <p.capriotti@...>
My solution can be found here:
Paolo Capriotti wrote:
On 7/4/05, Abu Abdullah <alawi2@eim.ae> wrote:
Paolo Capriotti wrote:
[#147160] ANN: ContextualService 0.1.0 — sera@...
Here's another library that comes from Lafcadio: ContextualService.
[#147171] REXML and namespace axis troubles — Daniel Nugent <nugend@...>
Hello,
[#147174] Exececuting another application from within ruby — Nigel Wilkinson <nigel@...>
Hi folks
Nigel Wilkinson wrote:
[#147180] Observer patch — nornagon <nornagon@...>
Hi all.
[#147182] TagTreeScanner 0.6 — "Gavin Kistner" <gavin@...>
From http://phrogz.net/RubyLibs/rdoc/OWLScribble/doc/tts.html:
[#147207] modifying pickaxe 2 pdf — "Pe, Botp" <botp@...>
Hi Dave and others,
[#147224] RubyConf 2005 Registration now open — Chad Fowler <chadfowler@...>
Hello everyone,
Chad Fowler wrote:
On 7/5/05, Hal Fulton <hal9000@hypermetrics.com> wrote:
[#147235] RoR: Tree and Grid Widgets — "Jenjhiz" <jenjhiz@...>
So far I'm impressed with what I see in RoR. I look at using RoR to
[#147242] What is wrong in this code ... ??? — "Faisal Raja" <Raja.Faisal@...>
Hello ,
On 7/5/05, Faisal Raja <Raja.Faisal@gmail.com> wrote:
[#147280] Extract/Parse String? — tuyet.ctn@...
How do I extract "treeframe1120266500902" from this String class
Assaph Mehr <assaph@gmail.com> wrote:
> Although that'll work for this particular string, I'd rather think this is a
[#147300] Inheriting Array and slice() behaviour — Sylvain Joyeux <sylvain.joyeux@...>
I have a class inheriting Array, and I expected slice() and []
Excerpts from Sylvain Joyeux's mail of 6 Jul 2005 (EDT):
Hi,
This is a lisp-like language, so expressions are basically array of atoms
William Morgan <wmorgan-ruby-talk@masanjin.net> wrote:
Excerpts from Robert Klemme's mail of 6 Jul 2005 (EDT):
On Fri, 8 Jul 2005, William Morgan wrote:
Excerpts from Ara.T.Howard's mail of 7 Jul 2005 (EDT):
William Morgan schrieb:
Are you suggesting that everywhere I write a subclass I should have the
Excerpts from Pit Capitain's mail of 7 Jul 2005 (EDT):
[#147335] UDPSocket question — Joe Van Dyk <joevandyk@...>
I'm having problems creating a UDP socket that listens for messages on
What would be great if someone could fill in the blanks for me, or
On Thu, 2005-07-07 at 05:21 +0900, Joe Van Dyk wrote:
Seems to work great, thanks!
Related question:
[#147336] Marketing a system that relies on a component that is alpha version 0.1 — "Jenjhiz" <jenjhiz@...>
No matter how good the programming language is, no matter how easy it
[#147345] Collecting garbage — "Eustaquio Rangel de Oliveira Jr." <eustaquiorangel@...>
Hi.
"Eustaquio Rangel de Oliveira Jr." <eustaquiorangel@yahoo.com> writes:
-----BEGIN PGP SIGNED MESSAGE-----
"Eustaquio Rangel de Oliveira Jr." <eustaquiorangel@yahoo.com> writes:
[#147355] Major web host supports Rails — bertrandmuscle@...
One of the biggest web hosts on the internet (Dreamhost) now supports
On 7/6/05, bertrandmuscle@yahoo.com <bertrandmuscle@yahoo.com> wrote:
On 7/6/05, Michael Campbell <michael.campbell@gmail.com> wrote:
Does anyone know if DreamHost "oversells" their space?
Want to support Ruby? Use Textdrive (http://www.textdrive.com/).
On Mon, 11 Jul 2005, Dennis Roberts wrote:
I agree. At one point I was considering TextDrive because of all the good=
On Tue, 12 Jul 2005, Carl Youngblood wrote:
[#147367] win32ole help — Ernest Ellingson <erne@...>
I'm trying to use winHTTPRequest (a com object) in Ruby. But I'm having
[#147406] Problem generaing RDoc documentation for gems — "almostobsolete@..." <almostobsolete@...>
Hi,
[#147418] Looking for AIX 5.2 binaries, IS anyone running Ruby on AIX 5.2 ?? — bww00amdahl@...
Looking for AIX 5.2 binaries, IS anyone running Ruby on AIX 5.2 ??
bww00amdahl@yahoo.com wrote:
[#147421] Ruby as mathematical language — "none" <webb.sprague@...>
Hi Ruby world.
In article <1120751187.861412.229850@g49g2000cwa.googlegroups.com>,
I have an email to Ara to add me as an editor. I think you are right
A majority of this does seem to exist. The only area I'm aware of that
Regarding Narray, it seems kind of cool, but lacking in real
[#147429] watir and iframes? — armin@...
Hi all,
[#147438] Socket Question - close — Zach Dennis <zdennis@...>
If you have two sockets connected to eachother. Let's say...
Zach Dennis <zdennis@mktec.com> writes:
[#147456] recursively descend and rename files. — Ezra Zygmuntowicz <ezra@...>
Hello list-
[#147479] Win32OLE and remote servers? — rubyhacker@...
I'm rying to figure out whether it's possible to
[#147493] Web services and larger files — Luke Kanies <luke@...>
Hi all,
[#147504] ruby-1.8.2: test.rb: Seg Fault in test_check "exception" — me2faster@...
I reduced the sample/test.rb to just the test_check "exception"
Here's my config.h:
Hi,
[#147506] Ruby in XML. — John Carter <john.carter@...>
I have just stuck this on..
How does this work for loops? For example this won't work:
On Fri, 8 Jul 2005, David Mitchell wrote:
Hey,
On Fri, 8 Jul 2005, David Mitchell wrote:
[#147507] Questions about GC, memory management and C extensions — "Zed A. Shaw" <zedshaw@...>
So I've been doing C extensions for a while now, and there's always been
[#147520] Need architecture help — "Amit Chitre" <amitchitre@...>
My problem:
On Fri, 8 Jul 2005, Amit Chitre wrote:
[#147537] Removing "warning: method redefined" — "Brian Takita" <brian.takita@...>
Hello,
[#147542] Re: accessing index inside map — "Pe, Botp" <botp@...>
nobuyoshi nakada [mailto:nobuyoshi.nakada@ge.com] wrote:
Pe, Botp wrote:
Hi --
On 7/8/05, David A. Black <dblack@wobblini.net> wrote:
[#147575] Possibility using win32ole? — "gregarican" <greg.kujawa@...>
I have an old DOS app used for retail polling that I have to babysit.
[#147588] Problems with RDT & Unit Testing — Brad Wilson <dotnetguy@...>
I'm having issues with RDT and unit testing (basically, it doesn't
I have it working in Eclipse 3.0 but not Eclipse 3.1. Could you be having=
Maybe. I could just try to back down to Eclipse 3.0.
Just fired up Eclipse 3.1 with RDT (on my laptop) getting this when I try=
Yep, that's what I've got, too. I'll back down to Eclipse 3.0 then. Thanks!
[#147611] HTTP.get problem — "Ken Kaplan" <kkaplan@...>
I'm new to ruby, and I've run into a problem while reading 'Programming
[#147613] class of function — Daniel Sche <uval@...>
Hello
[#147621] Re: [patch] for ri case sensitivity (was - RE: disable ri case se nsit ive) — "Pe, Botp" <botp@...>
Gavin Kistner [mailto:gavin@refinery.com] wrote:
[#147622] Enabling readline support in 1.9.0? — David Brady <ruby_talk@...>
Hello,
[#147630] truncate a string to first 200 characters — "luke" <lduncalfe@...>
[#147651] Strings vs arrays — Luke Worth <luke@...>
Hi.
Luke Worth <luke@worth.id.au> writes:
On Sun, 2005-07-10 at 00:06 +0900, Daniel Brockman wrote:
Luke Worth <luke@worth.id.au> writes:
--- Daniel Brockman <daniel@brockman.se> wrote:
[#147686] Reflection of an unloaded class/object — "Kyle Heon" <kheon@...>
Is it possible to look inside an object without it having already been
[#147700] Rant 0.4.0 — Stefan Lang <langstefan@...>
Rant is a flexible build tool written entirely in Ruby,
[#147703] SerializableProc (#38) — Robin Stocker <robin-lists-ruby-talk@...>
Hi,
[#147711] Programming the Lego robots using Ruby technology. — Victor Reyes <victor.reyes@...>
Do anyone knows if there is a Ruby API to program the Lego robots?
Thank you Daz, I needed That!
HI Victor,
I see.I thought that I could write a Ruby procedure with specific directivesto control the robot. Then the procedure would be downloaded "into"the robot for its execution.I watched a TV demo of the Lego Robot where directives whereprogrammed and loaded into the Robot. Things such as: "When hittingand object, go on reverse" and more were used.
[#147718] A good TK — Dibya Prakash <prakash.dibya@...>
Hi,
Dibya Prakash wrote:
[#147719] Log4r's Redefine Warnings — "Brian Takita" <brian.takita@...>
Hello,
[#147720] Re: accessing index inside map — "Pe, Botp" <botp@...>
Yukihiro Matsumoto [mailto:matz@ruby-lang.org] wrote:
Hi,
Hi --
On Mon, Jul 11, 2005 at 08:07:37PM +0900, David A. Black wrote:
On Tue, Jul 12, 2005 at 10:04:02AM +0100, Brian Candler wrote:
> IMHO the enumerator approach is slightly superior as your suggestion can
> Well, apparently we have differing opinions on this. Personally I find
Hi,
On Wed, Jul 13, 2005 at 01:46:17AM +0900, nobu.nokada@softhome.net wrote:
Hi,
nobuyoshi nakada wrote:
[#147747] Re: accessing index inside map — "Pe, Botp" <botp@...>
dblack@wobblini wrote:
[#147750] rdoc/attributes — Patrick Gundlach <clr6.10.randomuser@...>
Hello out there,
[#147770] Standard Library Warnings — James Edward Gray II <james@...>
I keep running into some warning message from standard libraries. I
[#147790] class_attr_accessor — "Jeffrey Moss" <jeff@...>
I was playing around with class variables and class instance variables
I think it only gets tricky like you've pointed out if you're trying to do
On Tue, 12 Jul 2005, Jeffrey Moss wrote:
On Tue, 12 Jul 2005, Ara.T.Howard wrote:
[#147811] installation of files — Michael Gebhart <mail@...>
Hi,
[#147829] Splitting source code — Luke Worth <luke@...>
Hi. Coming from a c++/java background, i'm having a bit of trouble in
[#147832] RSS/Atom parsing libraries for Ruby? — Jonas Galvez <jonasgalvez@...>
Anything close to the excellent http://feedparser.org?
[#147847] Removing Instance Methods — "Brian Takita" <brian.takita@...>
Hello,
I'm sorry about the nonexistant explanation.
Like this,
[#147865] adding attributes (attr_*-style) to single objects — "David A. Black" <dblack@...>
Hi --
[#147873] anyone using amrita? — Navindra Umanee <navindra@...>
Hi,
[#147895] Updating GUIs — Joe Van Dyk <joevandyk@...>
Hi,
Joe,
Hi,
From: Joe Van Dyk <joevandyk@gmail.com>
[#147902] Article: Ruby on Rails and J2EE: Is there room for both? — "Aaron Rustad" <arustad@...>
There is a new article on IBM developerWorks comparing J2EE and Rails
Aaron Rustad wrote:
On 7/12/05, James Britt <james_b@neurogami.com> wrote:
[#147904] Namespace conflict resolution — "Dema" <demetriusnunes@...>
Hi guys,
[#147929] NoMethodError in Range#include? — "Levin Alexander" <levin@...>
Hi,
[#147931] Re: Does Ruby/Tk have all features as perl/Tk or java swing? — Dido Sevilla <dido.sevilla@...>
On 7/13/05, ngoc <ngoc@yahoo.com> wrote:
[#147937] Another regular expression question — tuyet.ctn@...
I have a select box that contains two items that are similar:
tuyet.ctn@mscibarra.com wrote:
Thanks, Timothy, I did see this in the Ruby Regular Expression web
[#147952] Initialization via a Module — Gavin Kistner <gavin@...>
I have a module that needs to set a few instance variables on the
Call `super' from `initialize'.
[#147961] Gem hangs while updating source index (incompatible marshal file format) — Tim Shadel <timshadel@...>
Hi,
[#147964] Re: Does Ruby/Tk have all features as perl/Tk or java swing? — Hidetoshi NAGAI <nagai@...>
From: ngoc <ngoc@yahoo.com>
[#148002] correct use of join? — Joseph Paish <jepaish@...>
when i run a (large) script i am writing, this is the output i get on the
[#148046] Ruby has ruined my C++ — John Carter <john.carter@...>
These are exciting days in the world of C++. Every month the C/C++ User
John Carter wrote:
> Two!
Kero wrote:
> After 4 years, Ruby still hasn't ruined itself.
Hello tony,
tony summerfelt wrote:
Let's say that I have this...friend...um yea. And this 'friend' was
On 7/18/05, Daniel Amelang <daniel.amelang@gmail.com> wrote:
So, tell my why you prefer the on_event( :event_type ) syntax?
On Tue, Jul 19, 2005 at 06:55:23AM +0900, Jacob Fugal wrote:
On 2005-07-17, tony summerfelt <snowzone5@hotmail.com> wrote:
From: Kero <kero@chello.single-dot.nl>
> Ha! You've reproduced my code almost exactly :)
Kero wrote on 7/19/2005 12:45 PM:
I currently know of 3 ruby GUI toolkits that are cross platform ...
[#148067] Ruby momentum? — Preston Crawford <me@...>
I'm an outsider to the Ruby community. I've used it a time or two,
Preston Crawford wrote:
Hi --
Preston Crawford wrote:
Preston Crawford wrote:
Zach Dennis wrote:
Where I work (and I imagine most places), they don't bring developers on
> *Actually when I've mentioned Ruby at work it's inspired more often a
On Monday 18 July 2005 7:41 am, tsuraan wrote:
> This is something of a mixed bag. Rails has been marketed very heavily, true.
On Monday 18 July 2005 9:19 am, tsuraan wrote:
[#148078] ANN: ParseTree 1.3.7 Released — Ryan Davis <ryand-ruby@...>
ParseTree version 1.3.7 has been released!
[#148091] SerializableProc (#38) — Ruby Quiz <james@...>
The solutions this time show some interesting differences in approach, so I want
[#148094] Zlib::GzipWriter#close error — Gavin Kistner <gavin@...>
Why is Zlib::GzipWriter#close throwing an error here? The resulting
[#148104] difference? — G畸or SEBESTYノN <segabor@...>
Hi,
[#148107] Help: very simple script problem — Tristan Knowles <cydonia_1@...>
Hi,
Here's a working version that I've made some changes to (some of the
Ahhh. Thats better :). Much easier to understand
Tristan Knowles wrote:
[#148137] Re: Parsing DNS zonefiles — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#148145] Perl/Tk, CheckButtons, and modifying variables — "David Douthitt" <ssrat@...>
I'm trying to use a series of CheckButtons, and all is going pretty
I think I'm getting closer (at least) to understanding this. Instead
[#148164] Difference between Class.new and class — "Levin Alexander" <levin@...>
Hi,
[#148170] gen'l LIST protocol question — OpenMacNews <OpenMacNews@...>
hi all,
[#148173] Ruby can call external shell commands, right? — Preston Crawford <me@...>
I'm trying to use it to scrape the URL for one of my favorite radio
[#148208] rake question — Joe Van Dyk <joevandyk@...>
rule '.o' => ['.c'] do |t|
Joe Van Dyk <joevandyk@gmail.com> writes:
On 7/15/05, Olaf Klischat <klischat@cs.tu-berlin.de> wrote:
[#148221] to_i() bug? — JZ <usenet@...>
p '1201'.to_i(2)
[#148229] Sampling (#39) — Ruby Quiz <james@...>
The three rules of Ruby Quiz:
On Jul 15, 2005, at 8:00 AM, Ruby Quiz wrote:
On Fri, 15 Jul 2005, James Edward Gray II wrote:
On 7/15/05, Wybo Dekker <wybo@servalys.nl> wrote:
Belorion wrote:
On 7/15/05, James Edward Gray II <james@grayproductions.net> wrote:
* Cassio Pennachin <pennachin@gmail.com> [2005-07-16 03:04:12 +0900]:
> Shouldn't those number be more like
On 7/15/05, Cassio Pennachin <pennachin@gmail.com> wrote:
Belorion wrote:
David Brady wrote:
James,
Jacob Fugal <lukfugl@gmail.com> writes:
From: "Olaf Klischat" <klischat@cs.tu-berlin.de>
Here is my solution:
Dominik Bathon wrote:
Hi,
[#148260] net/http and begin/end block — Ezra Zygmuntowicz <ezra@...>
Hey list-
[#148271] TkVarible question — "eching" <bingopajama@...>
Hi,
[#148309] Customizable Mixin — "Phrogz" <gavin@...>
Summary:
[#148317] What does this construct mean? — "Casper" <caspertonka@...>
1. class MyController < ActionController::Base
Devin Mullins wrote:
On Tue, 19 Jul 2005, Casper wrote:
Hi --
[#148321] Cascading <=> comparisons — Garance A Drosehn <drosihn@...>
Let's say I have a hash with some values in it, and I want to
[#148338] delaying string evaluation — Navindra Umanee <navindra@...>
Hi,
On 16 Jul 2005, at 01:23, Navindra Umanee wrote:
Eric Hodel <drbrain@segment7.net> wrote:
On Jul 16, 2005, at 10:34 AM, Navindra Umanee wrote:
James Edward Gray II <james@grayproductions.net> wrote:
On Jul 16, 2005, at 3:23 PM, Navindra Umanee wrote:
Hi James,
Navindra Umanee wrote:
Devin Mullins <twifkak@comcast.net> wrote:
[#148341] Just seen on c.l.py — Stephen Kellett <snail@...>
Hi Folks,
In article <05th9VCgqN2CFwW4@objmedia.demon.co.uk>,
Phil Tomson wrote:
On 7/16/05, James Britt <james_b@neurogami.com> wrote:
Joe Van Dyk wrote:
Hello James,
Lothar Scholz wrote:
> Are you talking about what Rails does, or about how some framework in
[#148357] Ruby VS PHP — Tristan Knowles <cydonia_1@...>
I was chatting with a PHP dev friend tonight, he is a
Tristan Knowles ha scritto:
> I dropped the whole OO vs not true OO but he claimed
Hello Belorion,
-----BEGIN PGP SIGNED MESSAGE-----
Hi,
2005/7/16, Dominik Schlter <schlu-do@gmx.net>:
Hello Robert,
On Monday 18 July 2005 2:55 pm, Lothar Scholz wrote:
[#148369] Can Rails deal with related attributes in forms? — Robert Jones <jonesieboy@...>
Hi! I'm exploring whether or not to move to Rails, and the solution to the
[#148384] `not' in parameter lists — Daniel Brockman <daniel@...>
I just noticed that all of the following give syntax errors:
[#148402] Nonblocking Sockets — James Edward Gray II <james@...>
Is this the "standard" way to make a nonblocking Socket in Ruby?
From: "James Edward Gray II" <james@grayproductions.net>
Hi,
[#148439] Proposal for next week's ruby quiz — Daniel Amelang <daniel.amelang@...>
So, let's make next week's quiz an exploration of this whole 'what is
[#148456] Sampling (#39) — Graeme Defty <ruby_quizzer@...>
Sorry, all. New to the list. I accidentally posted my
[#148467] Cheapest ping possible — Matthew Margolis <mrmargolis@...>
I have a client/server application that I am currently developing that
[#148477] rdoc: no source code in doc? — Patrick Gundlach <clr6.10.randomuser@...>
Hello out there,
[#148490] Time.format — nornagon <nornagon@...>
Hi all.
[#148515] stopping a drb server — Mark Volkmann <r.mark.volkmann@...>
Should I be able to stop a drb server that ends with
On 7/17/05, Eric Hodel <drbrain@segment7.net> wrote:
On 17 Jul 2005, at 14:51, Mark Volkmann wrote:
[#148521] Rails vs. Catalyst — "Greg Brown" <greg7224@...>
I just picked up a job for a company that is working on survey
[#148523] alias of some methods does not work — "gga" <GGarramuno@...>
irb(main):006:0> module Kernel
[#148542] Refactoring Tycho API - Opinions wanted — Hal Fulton <hal9000@...>
I've been revisiting my favorite Ruby project in the past
James Britt wrote:
Hal Fulton wrote:
Clifford Heath wrote:
Hal Fulton wrote:
[#148563] Reading total lines of file then displaying in reverse? — Tristan Knowles <cydonia_1@...>
How would I use File or IO to read all the lines of a
Tristan Knowles wrote:
[#148588] ruby-dev summary 26385-26467 — SASADA Koichi <ko1@...>
Hi,
[#148617] windows - How to propagate environment variables to the system — armin@...
Hi windows-experts,
Armin wrote:
[#148650] Ruby Newbie looking for advice ... — "Meisenzahl, Christopher1" <christopher1.meisenzahl@...>
[#148652] Simple Graphs in Ruby? — Shalev NessAiver <shalev@...>
Is their any current libraries in ruby that will generate simple
[#148671] SciTE or FreeRIDE? ... — "Meisenzahl, Christopher1" <christopher1.meisenzahl@...>
[#148689] Re: `not' in parameter lists — twifkak@...
On Jul 17, 2005, at 2:34 PM, Daniel Brockman wrote:
Hi Devin,
[#148721] Ruby/Rails as a starter language? — "SomeDude" <somedude@...>
Hello,
If you don't need to get involved in web programming right away, gawk
vanek@acd.net wrote:
James Britt <james_b@neurogami.com> wrote:
On Tuesday 19 July 2005 09:41, Navindra Umanee wrote:
On 7/19/05, Stefan Lang <langstefan@gmx.at> wrote:
Mark Volkmann ha scritto:
Mark Volkmann wrote:
> In Java, classes aren't objects.
Daniel Amelang wrote:
Haha, I can't believe I'm actually standing up for Java. This is ridiculous.
Daniel Amelang wrote:
Kev Jackson wrote:
Kev Jackson wrote:
Devin Mullins wrote:
Adam P. Jenkins wrote:
Adam P. Jenkins wrote:
In article <Pine.LNX.4.62.0507192121430.10750@harp.ngdc.noaa.gov>,
On Thu, Jul 21, 2005 at 02:05:56AM +0900, Phil Tomson wrote:
* Rick Nooner <rick@nooner.net> [2005-07-21 02:59:56 +0900]:
On Thu, Jul 21, 2005 at 03:21:08AM +0900, Jim Freeze wrote:
* Rick Nooner <rick@nooner.net> [2005-07-21 03:57:35 +0900]:
On Thu, Jul 21, 2005 at 04:47:41AM +0900, Jim Freeze wrote:
> I was just at the OCaml site,
Oooh oooh, a frankenstien language!
On Thu, 21 Jul 2005, Lyndon Samson wrote:
* Ara.T.Howard <Ara.T.Howard@noaa.gov> [2005-07-21 09:18:16 +0900]:
Jim Freeze wrote:
On Thu, 21 Jul 2005, Rick Nooner wrote:
On Thu, Jul 21, 2005 at 03:57:35AM +0900, Rick Nooner wrote:
On 20 Jul 2005, at 11:21, Jim Freeze wrote:
Eric Hodel wrote:
On Thu, 21 Jul 2005, Daniel Berger wrote:
"Ara.T.Howard" <Ara.T.Howard@noaa.gov> writes:
[#148730] Memory profiling? — Scott Ellsworth <scott@...>
Hi, all.
[#148763] nil for unassigned keys — Simon Strandgaard <neoneye@...>
Sometimes I find myself writing :key=>true,
Hi,
On 7/19/05, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#148796] Instance Eval of a Proc — Gavin Kistner <gavin@...>
Why can I not use a Proc created from a method in #instance_eval? (Or
On Wed, 20 Jul 2005, Gavin Kistner wrote:
"Ara.T.Howard" <Ara.T.Howard@noaa.gov> writes:
On 7/19/05, Daniel Brockman <daniel@brockman.se> wrote:
[#148807] Help with SOAP — Ben Myles <ben.myles@...>
Hi,
[#148829] Parsing to DateTime — G畸or SEBESTYノN <segabor@...>
I have to parse input string to DateTime in format "%Y.%m.%d". How
[#148837] Re: Regarding rand — twifkak@...
I like it! Two notes:
[#148842] IRB reset? — "Chuck Brotman" <chuck.brotman@...>
I'm not sure if this is a Ruby or FreerRIDE question, so I'll ask it here
[#148859] ruby-gnome2 canvas pixbuf scaling — Joe Van Dyk <joevandyk@...>
Hi,
[#148891] RMagick Help — Michael Leonard <mikeleonard@...>
Hello,
[#148905] how to do charset conversion in ruby? — femtowin femtowin <femtowin@...>
hello all,
[#148928] Date.to_time error — Kev Jackson <kevin.jackson@...>
Hi,
[#148937] how to tell mozart from the meat puppets — "Ara.T.Howard" <Ara.T.Howard@...>
Ara.T.Howard ha scritto:
[#148941] Variable class (newb question) — Shaun Fanning <shaun.fanning@...>
I'm trying to figure out how to use Ruby to implement a strategy type
[#148995] Alternative to <%= — "Brian Takita" <brian.takita@...>
Hello,
[#149035] C extension makes things slower — ptkwt@... (Phil Tomson)
In general I've always seen things speed up when I've writtten C
In article <42DF4F1D.2060607@capitain.de>,
In article <20050721175902.GH2279@tux-chan>,
[#149049] Troubles, installing rake — "Christoph Neubauer" <christoph.neubauer@...>
Hi !
[#149059] Segmentation fault with a threads/forks script — Lucas Nussbaum <lucas@...>
Hi,
On Thu, 21 Jul 2005, Lucas Nussbaum wrote:
On Thu, Jul 21, 2005 at 10:50:00PM +0900, "Ara.T.Howard" <Ara.T.Howard@noaa.gov> wrote:
Hi,
On Thu, Jul 21, 2005 at 11:29:49PM +0900, nobu.nokada@softhome.net wrote:
Hi,
[#149092] Rubygems now integrated in the FreeBSD ports tree — Jonathan Weiss <jw@...>
Cheers,
[#149096] Rails Petstore v0.1 Released — "Aaron Rustad" <arustad@...>
I have released Rails Petstore, a rails implementation of JPetstore.
[#149109] Rubys Regular Expression Engine —
Some weeks ago I sent a message here, "Onigurama - Problem with Subexpression Call", sent on Montag, 27. Juni
[#149113] ruby gnome question — Joe Van Dyk <joevandyk@...>
I have something like this
[#149134] svn backup via rake.. easier way to obtain lastest rev? — Simon Strandgaard <neoneye@...>
I have made a small script that makes a backup of
[#149136] Connecting to a non-localhost Mysql with Ruby-DBI — "Francis Hwang" <sera@...>
I'm using DBI 0.0.23 on Slackware 10 and trying to connect to Mysql
[#149140] Odd Array#[x..y] return values — "Daniel Berger" <djberg96@...>
Hi all,
[#149153] FreeRIDE: Where does the output go? — "basi" <basi_lio@...>
I'm trying out FreeRIDE and I have a truly embarrassing question.
basi wrote:
[#149168] Are there packages? — EdUarDo <eduardo.yanezNOSPAM@...>
Hi, I'm new to Ruby. I'm going to start a new project and I'd like
[#149181] Re: Are there packages? — Brian Candler <B.Candler@...>
> Usually, Ruby projects use the following directory structure:
[#149184] Drawing Trees (#40) — Ruby Quiz <james@...>
The three rules of Ruby Quiz:
Hello Everybody,
On Fri, 22 Jul 2005 15:05:26 +0200, Ruby Quiz <james@grayproductions.net>
[#149192] where can I get old versions of testunit? — Paul Brannan <pbrannan@...>
I need to use testunit with ruby 1.6. It used to be possble to download
[#149198] Abstract class or interface? — EdUarDo <eduardo.yanezNOSPAM@...>
Hi all again :),
[#149211] newline and regular expressions — tsuraan <tsuraan@...>
I have a string "foo\nbar=blah", which I'd like to entirely replace
[#149213] ruby script hangs on regex match — Adrian Petru Dimulescu <adrian.dimulescu@...>
Hello,
[#149216] something similar to perl's XML::Simple — Cam <cameron.matheson@...>
Hi!
[#149254] Re: FAQ? Hash concatenation — "William James" <w_a_x_man@...>
[#149255] IDN Internation Domain Names? — Hadmut Danisch <x5@...>
Hi,
[#149286] Local Instance Methods — "Trans" <transfire@...>
Hi All--
Yukihiro Matsumoto wrote:
Hi --
[#149301] Build one-click-installer version prerequisites —
I am looking for all necessary things to build a tailored version (should use Onigurama) of the
[#149302] Any interest in writing gui library on top of qtruby? — meruby@...
wax is a gui written on top of wxPython. It allows seamless integration
meruby@gmail.com wrote:
Hello,
I'm using qt ruby myself.
[#149320] Strange SWIG behaviour — Esteban Manchado Vel痙quez <zoso@...>
Hi,
[#149321] Need help with a small Windows GUI app — Derek Gulbranson <derek@...>
I designed a small GUI application to enable my corporate clients to
[#149322] Lisp on Lines — "luke" <lduncalfe@...>
Read on the comp.lang.lisp group that someone is developing 'Lisp on Lines'
On Sun, 24 Jul 2005, luke wrote:
How much less powerful than Lisp is Ruby?
I've only had passing experience with Lisp but the macro facility seems
This looks like first class functions to me:
"luke" <lduncalfe@eml.nope> writes:
[#149354] Using a class namespace for subclasses — "Trans" <transfire@...>
Wondering the general feeling about using the class namespace for
Trans wrote:
[#149360] Rake or Rant — Alexandru Popescu <the_mindstorm@...>
Hi!
[#149370] Interest in a wrapper for the Dallas/Maxim OneWire Public Domain API? — Clifford Heath <no@...>
I'm writing some stuff to handle a couple of different IButtons
In article <42e42063$0$24974$afc38c87@news.optusnet.com.au>,
[#149379] IDE with incremental evaluation — zak.wilson@...
I've gotten a bit spoiled using Emacs with SLIME while learning Lisp.
[#149397] Nitro + Og 0.21.0 Compiler, Og custom joins, Og dynamic injection, new builder — "George Moschovitis" <george.moschovitis@...>
Hello everyone,
> new versions of Nitro and Og were just released.
George Moschovitis ha scritto:
gabriele renzi <surrender_it@remove-yahoo.it> writes:
> t= t | Elements | Localization | Markup
[#149405] self.x=(value) in private? — Patrick Gundlach <clr6.10.randomuser@...>
Hello Rubyists,
[#149406] Ruby and threads — "John Wells" <lists@...>
Guys,
"John Wells" <lists@sourceillustrated.com> writes:
Yohanes Santoso wrote:
[#149423] Newby question 'unless' — EdUarDo <eduardo.yanezNOSPAM@...>
Hi all, I'm overriding to_s method and I want to
[#149436] require fails the first time called and works the second time — "Brian Takita" <brian.takita@...>
Hello,
[#149445] www.ruby-lang.org down? — Alan Garrison <alang@...>
Just an FYI, the domain resolves but the site just hangs when trying to
[#149450] SOAP / WSDL — Joe Van Dyk <joevandyk@...>
Are there any examples of a Ruby program that publishes a WSDL and
[#149460] Re: Ruby extensions on 64 bit linux — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#149472] Ruby on the mobile — Marcelo Paniagua <paniagua@...>
Hi,
There were some questions on this a while ago that I forwarded to the
i've been watching this out of curiosity rather than professional
HI All,
[#149481] What's so special about operators, built-in classes and modules? — Jim Freeze <jim@...>
I just noticed this little quirk. Is there something
On 2005-07-26 07:43:29 +0900, Jim Freeze wrote:
* Florian Frank <flori@nixe.ping.de> [2005-07-26 08:26:21 +0900]:
Austin Ziegler <halostatue@gmail.com> writes:
Hmm, for some reason this part of your message was left out
"Ara.T.Howard" <Ara.T.Howard@noaa.gov> writes:
"Ara.T.Howard" <Ara.T.Howard@noaa.gov> writes:
[#149485] Script to walk a directory tree — "Kyle Heon" <kheon@...>
Can anyone point me in the direction of how to walk a directory tree
[#149490] Trying to understand symbols — "Sam Kong" <sam.s.kong@...>
Hello!
You are correct to think these two usages of 'symbol' are conflicting
[#149515] Factory Patterns in Ruby — Lyndon Samson <lyndon.samson@...>
Factory is a very common pattern in the java world, in some places
On Tue, 26 Jul 2005, Lyndon Samson wrote:
On 7/25/05, Ara.T.Howard <Ara.T.Howard@noaa.gov> wrote:
On Monday 25 July 2005 10:17 pm, Lyndon Samson wrote:
[#149524] Ruby on LLP64 — "aquammles22f" <aquammles22f@...>
Hi,
[#149542] Ruby/Event (Myriad and SCGI) — "Zed A. Shaw" <zedshaw@...>
Hello Ruby People,
[#149555] — "Adrian Petru Dimulescu" <adrian.dimulescu@...>
Hello,
On Tue, 26 Jul 2005, Adrian Petru Dimulescu wrote:
Thanks a lot, and sorry for the lack of subkect -- but I realize I still
[#149560] defining to_s works oddly? — "Martin Elzen" <martinelzen@...>
[#149591] Cross compiling for ARM processor — Shawn Church <shawn@...>
I am new to Ruby and I have an application which would be well-suited to
[#149616] Next Official Ruby Version —
Is it somehow planned to build a new official Ruby before Ruby 2, that means a version called 1.10 or so?
"Wolfgang N疆asi-Donner" <wonado@donnerweb.de> schrieb im Newsbeitrag news:3knjnkFvenq5U1@uni-berlin.de...
Hello Wolfgang,
Lothar,
Hello Jeff,
Lothar Scholz <mailinglists@scriptolutions.com> wrote:
[#149628] Dir.entries returns [] on the second call — Joel VanderWerf <vjoel@...>
Is this normal?
On Tuesday 26 July 2005 23:49, Joel VanderWerf wrote:
Stefan Lang wrote:
[#149636] redirecting stdout in an extension — Mark Probert <probertm@...>
Hi ..
[#149654] (X)Emacs users going to RubyCOnf — Forrest Chang <fkc_email-news@...>
Hi All:
On Tuesday 26 July 2005 11:06 pm, Forrest Chang wrote:
[#149663] ActiveRecord — dbarros@...
Hi all,
[#149673] Build one-click-installer version - Files allready downloaded —
Hi,
[#149678] ActionMailer NoMethodError 'deliver' — "enspired" <jasonecartwright@...>
I have created a mailer class ReservationMailer < ActionMailer and
[#149707] ctype / isprint ? — Hadmut Danisch <x5@...>
Hi,
[#149720] Re: What's so special about operators, built-in classes and modules? — twifkak@...
>Then you will have complex network of classes instead of simple tree
gabriele renzi <surrender_it@remove-yahoo.it> writes:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
gabriele renzi <surrender_it@remove-yahoo.it> writes:
On 7/27/05, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
Pit Capitain <pit@capitain.de> writes:
On Thu, 28 Jul 2005, Daniel Brockman wrote:
On Fri, 29 Jul 2005, Jim Weirich wrote:
Ara.T.Howard wrote:
[#149738] Fixnum::{MIN,MAX} — Nikolai Weibull <mailing-lists.ruby-talk@...>
This may be silly, considering that Fixnums are converted to Bignums if
On Thu, 28 Jul 2005, Nikolai Weibull wrote:
Ara.T.Howard wrote:
On Thu, 28 Jul 2005, Daniel Berger wrote:
[#149783] Ruby in embedded applications — "treefrog" <stephen.hill@...>
Hi folks,
[#149793] Idea for Ruby 2.0 — Nikolai Weibull <mailing-lists.ruby-talk@...>
Lately I've found myself using pseudo-anonymous variables a lot, e.g.,
On 28/07/05, Nikolai Weibull
Brian Schrer wrote:
On 28/07/05, Nikolai Weibull
Brian Schrer wrote:
--- Nikolai Weibull
Hi,
[#149801] Combination of two arrays — Claus Spitzer <docboobenstein@...>
Greetings!
* Claus Spitzer <docboobenstein@gmail.com> [2005-07-28 20:57:24 +0900]:
On Thu, 28 Jul 2005, Claus Spitzer wrote:
[#149802] method_missing crazyness — leon breedt <bitserf@...>
Hi,
[#149826] Method Scopes — "Trans" <transfire@...>
I would like to see Ruby gain a "scoping feature" (I usually refer to
Hi,
[#149852] Method Scope (again b/c google groups lost it) — "Trans" <transfire@...>
I would like to see Ruby gain a "scoping feature" (I usually refer to
[#149854] Sed -> Ruby : .. and ... — Keith Fahlgren <keith@...>
Hi all,
[#149871] Re: Hash and multiline items — "Charles Steinman" <acharlieblue@...>
[#149872] [ADV] Rails on RubyStuff — James Britt <james_b@...>
The first batch of Ruby Stuff left jaws dropping and had developers all
[#149876] Linux Journal article on Ruby — pat eyler <pat.eyler@...>
http://www.linuxjournal.com/article/8356 it's always nice to see another
>>http://www.linuxjournal.com/article/8356 it's always nice to see another=
[#149891] Ruby libraries — Andrew Falanga <not_real@...>
Hi,
[#149919] Allow retry to take arguments? — "Daniel Berger" <djberg96@...>
Hi all,
[#149926] libcurl and ruby-dl — "Brian Takita" <brian.takita@...>
Hello,
[#149968] Which Regex-Engine will be used in Ruby 1.8.3 Release? —
One short question.
Hi,
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
[#149969] Issues about Rubygems — "Itsnotvalid" <itsnotvalid@...>
Hello,
[#149982] Chopping the beginning of a string elegantly — "francisrammeloo@..." <francisrammeloo@...>
Hi all,
On Fri, July 29, 2005 8:41 am, francisrammeloo@hotmail.com said:
Thanks all,
[#149983] takes -1, not 0, arguments — Ramzi Ferchichi <raziir@...>
Hi,
[#149984] trying to make a soap request — Gregory Dyke <gregdyke@...>
Hi,
[#149998] Hooking Class Methods — "Trans" <transfire@...>
This works:
[#150005] The while loop for calculating a power of a number less than another number? — "Erik the Red" <the.g.man.x@...>
http://www.math.umd.edu/~dcarrera/ruby/0.3/chp_02/while.html
[#150022] Ruby on the Zaurus — "gregarican" <greg.kujawa@...>
A few years ago I toyed around some with the Sharp Zaurus SL-5500
[#150032] What does this assignment operator |= — Stefan Achatz <erazor@...>
Hello,
[#150066] confusion trying to get IMG tags from html page — "pkellner" <peter@...>
I'm trying to download images from a web page that has them listed with
[#150082] Re: [newbie] make local var visible — "Pe, Botp" <botp@...>
Yukihiro Matsumoto [mailto:matz@ruby-lang.org] wrote:
[#150085] zlib error while installing gems on Linux — "Joe Cheng" <code@...>
Pardon my ignorance, I'm not that great with Linux.
[#150087] Instiki file uploads — horndude77@...
I'm not sure where to ask this, but this looks like as good a place as
[#150092] Mechanize as a tar.gz? — Kirk Haines <khaines@...>
I realize the answer is probably "no", but might Mechanize be available as a
[#150108] Re: make local var visible — "Pe, Botp" <botp@...>
William James [mailto:w_a_x_man@yahoo.com] wrote:
[#150110] Re: make local var visible — "Pe, Botp" <botp@...>
Trans [mailto:transfire@gmail.com] wrote:
An interesting corllary is the what-if question of class and modules
[#150133] Ruby-Python; using python from within ruby — "Norjee" <Norjee@...>
At the moment I'm looking at rails, it seems like a great framework.
Hello Norjee,
I kind of got the ruby-python module to work! Sadly enough, I'm still
On Sun, Jul 31, 2005 at 03:41:03AM +0900, Norjee wrote:
I already send my changes to the original author. It weren't really big
This seems to work for me, Windows only though...
[#150140] Loading data (variables) — Chris Game <chrisgame@...>
Hi, I'm having some trouble loading dummy data into an irb session;
On 30/07/05, Chris Game <chrisgame@example.net> wrote:
[#150154] Ruby-Oniguruma interoperability on Named Groups —
Let me first explain the reason for and the kind of this message.
[#150173] code analysis request — Joe Van Dyk <joevandyk@...>
I wrote the below code in maybe 10 minutes. It seems to do the job,
[#150175] Higher Order Functions — Nickolay Kolev <nmkolev@...>
Hi guys,
[#150188] European Ruby Conference, Euruko 05, Munich, October 15 and 16 — armin@...
Dear all,
[#150200] QUESTION: Good data structure for list within list with duplicates? — "basi" <basi_lio@...>
Hello,
[#150205] Yet Another useless Ruby 2 Idea — gabriele renzi <surrender_it@...>
Hi gurus and nubys,
Hello gabriele,
Jeff Wood <jeff.darklight@gmail.com> writes:
On 8/3/05, Daniel Brockman <daniel@brockman.se> wrote:
I'm not saying there are NO features of python that are cool... I like
Hi --
Yeah, I figured that out right after I had posted my message...
Jeff Wood ha scritto:
On 8/5/05, gabriele renzi <surrender_it@remove-yahoo.it> wrote:
Jacob Fugal ha scritto:
gabriele renzi wrote:
mathew ha scritto:
gabriele renzi wrote:
mathew wrote:
From: "Xeno Campanoli" <xeno@eskimo.com>
On 17/08/05, Bill Kelly <billk@cts.com> wrote:
[#150224] ruby/swig/svn load error — Belorion <belorion@...>
I just finished installing the SVN binding for ruby using SWIG 1.3.24
[ANN] dirwatch-0.9.0
===============================================================================
URLS
===============================================================================
http://codeforpeople.com/lib/ruby/dirwatch/
http://raa.ruby-lang.org/project/dirwatch/
===============================================================================
README (also see TUTORIAL below)
===============================================================================
NAME
dirwatch v0.9.0
SYNOPSIS
dirwatch [ options ]+ [ directory = ./ ] [ mode = watch ]
DESCRIPTTION
dirwatch is a tool used to rapidly build event driven processing 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 can also implement
a tmpwatch like behaviour to ensure files of a certain age are removed from
the directory being watched. dirwatch normally runs as a daemon process by
first sychronizing the database inventory with that of the directory and then
firing appropriate triggers as they occur.
-----------------------------------------------------------------------------
the following actions may have triggers configured for them
-----------------------------------------------------------------------------
created -> a file was created
modified -> a file has had it's mtime updated
updated -> the union of created and modified
deleted -> a file was deleted
existing -> a file has not changed but is still exists
-----------------------------------------------------------------------------
the command line 'mode' must be one of the following
-----------------------------------------------------------------------------
create (c) -> initialize the database and supporting files
watch (w) -> monitor directory and trigger actions in the foreground
start (S) -> spawn a daemon watcher in the background
restart (R) -> (re)spawn a daemon watcher in the background
stop (H) -> stop/halt any currently running watcher
status (T) -> determine if any watcher is currently running
truncate (D) -> truncate/delete all entries from the database
archive (a) -> create a hot-backup of a watch's database contents
list (l) -> dump database to stdout in silky smooth yaml format
the default mode is to 'watch'.
for all modes the command line argument must be the name of the directory to
which to apply the operation - this defaults to the current directory.
-----------------------------------------------------------------------------
mode: create (c)
-----------------------------------------------------------------------------
initializes a storage directory with all required database files, logs,
command directories, sample configuration, sample programs, etc.
examples:
0) initialize the directory incoming_data/ to be dirwatched using all
defaults
~ > dirwatch create incoming_data/
-----------------------------------------------------------------------------
mode: start (S)
-----------------------------------------------------------------------------
dirwatch is normally run in daemon mode. the start mode is equivalent to
running in 'watch' mode with the '--daemon' and '--quiet' flags.
examples:
0) start a background daemon process watching incoming_data/
~ > dirwatch start incoming_data/
-----------------------------------------------------------------------------
mode: restart (R)
-----------------------------------------------------------------------------
'restart' mode checks a watcher's pidfile and either restarts the currently
running watcher or starts a new one as in 'start' mode. this is equivalent to
sending SIGHUP to the watcher daemon process.
examples:
0) re-start a background daemon process watching incoming_data/
~ > dirwatch restart incoming_data/
-----------------------------------------------------------------------------
mode: stop (H)
-----------------------------------------------------------------------------
'stop' mode checks for any process watching the specified directory and kills
this process if it exists. this is equivalent to sending TERM to the watcher
daemon process. the process will not exit immediately but will do at the
first possible safe opportunity. do __not__ kill -9 the daemon process.
examples:
0) stop the daemon process watching incoming_data/
~ > dirwatch stop incoming_data/
-----------------------------------------------------------------------------
mode: status (T)
-----------------------------------------------------------------------------
'status' mode reports whether or not a watcher is running for the given
directory.
examples:
0) report on the watcher, iff any, watching incoming_data/
~ > dirwatch status incoming_data/
-----------------------------------------------------------------------------
mode: truncate (D)
-----------------------------------------------------------------------------
'truncate' mode empties the database of all state in an atomic fashion.
examples:
0) empty the database in a safe way
~ > dirwatch truncate incoming_data/
-----------------------------------------------------------------------------
mode: archive (a)
-----------------------------------------------------------------------------
archive mode is used to atomically create a hot-backup tgz file of a the
storage directory for a given directory while respecting the locking
subsystem.
examples:
0) make a hot-backup of the database and all supporting files in
incoming_data/
~ > dirwatch archive incoming_data/
-----------------------------------------------------------------------------
mode: watch (w)
-----------------------------------------------------------------------------
this is the meat of dirwatch.
dirwatch is designed to run as a daemon, updating a 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 dir
simoultaneously and attempting the start a second watcher will fail when the
second watcher is unable to obtain a 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
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 will not only
run after machine reboot, but which will continue to run after other unforseen
terminal program behaviour. such a daemon is known as an 'immortal' daemon.
as the watcher runs and maintains the database 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 : the command to run
type : calling convention, how info is passed to the program
pattern : filter files by this regex
timing : synchronous or asynchronous execution
...
further explanation of each field:
command: this is the program to run. the search path for the program is
modified to first include the commands/ dir underneath the
.dirwatch/ dir in the directory being watched.
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 are 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 last spawned or other bookkeeping. 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
file at a time:
simple: the command will be called with two arguments: the file
in question and the mtime datetime, eg:
command foobar.txt '2002-11-04 01:01:01.1234'
expanded: 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 'somefile' '2002-11-04 01:01:01.1234'
files at once:
filter: the stdin of the program will be given a list where each
line contains two items, the file and the datetime.
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 where each hash has 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 be programs that 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 spent 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.
examples:
0) run a watch from this terminal (non daemon)
~ > dirwatch directory watch
-----------------------------------------------------------------------------
mode: list (l)
-----------------------------------------------------------------------------
dump the contents of the database in yaml format for easy viewing/parsing
examples:
0) dump database as yaml
~ > dirwatch directory list
ENVIRONMENT
for dirwatch itself:
export SLDB_DEBUG=1 -> cause sldb lib actions (sql) to be logged
export LOCKFILE_DEBUG=1 -> cause lockfile lib actions to be logged
for programs run by dirwatch the following environment variables will be set:
DIRWATCH_DIR -> the directory being watched
DIRWATCH_ACTION -> action type, one of 'instance', 'created', 'modified',
'updated', 'deleted', or 'existing'
DIRWATCH_TYPE -> command type, one of 'simple', 'expanded', 'filter', or
'yaml'
DIRWATCH_N_PATHS -> the total number of paths for this action. the paths
themselves will be passed to the program in a different
way depending on DIRWATCH_TYPE, for instance on the
command line or on stdin, but this number will always
be the total number of paths the program should expect.
DIRWATCH_PATH_IDX -> for some command types, like 'simple', the program will
be run more than once to handle all paths since calling
convention only allows the program to be called with
one path at a time. this number is the index of the
current path in such cases. for instance, a 'simple'
program may only be called with one path at a time so
if 10 files were created in the directory that would
result in the program being called 10 times. in each
case DIRWATCH_N_PATHS would be 10 and DIRWATCH_PATH_IDX
would range from 0 to 9 for each of the 10 calls to the
program. in the case of 'filter' and 'yaml' command
types, where every path is given at once on stdin this
value will be equal to DIRWATCH_N_PATHS
DIRWATCH_PATH -> for 'simple' and 'expanded' command types, which are
called once for each path, this will contain the path
the program is being called with. in the case of
'filter' or 'yaml' command types the varible contains
the string 'stdin' implying that all paths are
available on stdin.
DIRWATCH_MTIME -> for 'simple' and 'expanded' command types, which are
called once for each path, this will contain the mtime
the program is being called with. in the case of
'filter' or 'yaml' command types the varible contains
the string 'stdin' implying that all mtimes are
available on stdin.
DIRWATCH_PID -> the pid of dirwatch watcher process
DIRWATCH_ID -> an identifier for this action that will be unique for
any given run of a dirwatch watcher process.
restarting the watcher resets the generator. this
identifier is logged in the dirwatch watcher logs to is
useful to match program logs with dirwatch logs
PATH -> the normal shell path. for each program run the PATH
is modified to contain the commands dir of the dirwatch
watcher processs. normally this will be
$DIRWATCH_DIR/.dirwatch/commands/:$PATH
note that all the sample programs generated show how to access these
environment vars.
FILES
directory/.dirwatch/ -> dirwatch data files
directory/.dirwatch/dirwatch.conf -> default configuration file
directory/.dirwatch/commands/ -> default location for triggers
directory/.dirwatch/db -> sldb/sqlite database
directory/.dirwatch/dirwatch.pid -> default pidfile
directory/.dirwatch/logs/ -> automatically rolled log files
DIAGNOSTICS
success -> $? == 0
failure -> $? != 0
AUTHOR
ara.t.howard@noaa.gov
BUGS
1 < bugno && bugno < 42
OPTIONS
--help, -h
this message
--log=path, -l
set log file - (default stderr)
--verbosity=verbostiy, -v
0|fatal < 1|error < 2|warn < 3|info < 4|debug - (default info)
--config=path
valid path - specify config file (default nil)
--template=[path]
valid path - generate a template config file in path (default stdout)
--recursive, -r
recurse into subdirectories (default do not recurse)
--all, -a
consider all filesystem entries, includig directories (default files
only)
--follow, -f
follow links (default does not follow links)
--pattern=pattern, -p
consider only filesystem entries that match pattern (default all
entries)
--daemon, -D
specify daemon mode (default not daemon)
--quiet, -Q
be wery wery quiet (default not quiet)
--dirwatch_dir=dirwatch_dir, -S
specify dirwatch storage dir (default .dirwatch/ in dir being watched)
--n_loops=n_loops, -N
loop only this many times before exiting (default infinite)
--interval=seconds, -I
sleep at least this long between loops (default 300sec (5min))
--lockfile, -L
create a lockfile in dir while running (default no lockfile)
===============================================================================
TUTORIAL
===============================================================================
INTRODUCTION
the following shows how to setup a simple file processing system using
dirwatch. it assumes a successful install of dirwatch. eg. the command
~> dirwatch --help
should operate
STEP 0
make a temporaray directory, if using sh/bash do something like
~ > export tmp=./tmp
~ > mkdir $tmp
for here on we use the $tmp variable to refer to our directory
STEP 1
initialize the directory for dirwatch
~ > dirwatch $tmp create
---
./tmp:
dirwatch_dir : ./tmp/.dirwatch
db : ./tmp/.dirwatch/db
logs_dir : ./tmp/.dirwatch/logs
config : ./tmp/.dirwatch/dirwatch.conf
commands_dir : ./tmp/.dirwatch/commands
STEP 2
create three subdirectories in $tmp, a, b, and c
~ > for d in a b c;do mkdir $tmp/$d;done
STEP 3
edit the dirwatch.conf
~ > vi $tmp/.dirwatch/dirwatch.conf
change the section which reads
actions:
updated :
-
command: simple.sh
type: simple
pattern: ^.*$
timing: sync
to
actions:
updated :
-
command: yaml.rb
type: yaml
pattern: ^.*$
timing: sync
here we are telling dirwatch to run the command 'yaml.rb' (which will be
looked for in $tmp/.dirwatch/commands and then the normal $PATH) whenever a
file is 'updated.' updated means that a file has been created or modified.
run
~ > dirwatch --help
for more info
STEP 4
edit yaml.rb
~ > vi $tmp/.dirwatch/commands/yaml.rb
we want a program that looks very close to this, you may have to adjust your
shebang line:
#!/usr/bin/env ruby
require 'yaml'
#
# the dir being watched
#
dirwatch_dir = ENV['DIRWATCH_DIR']
#
# load entries from stdin. this is a yaml doccument.
#
entries = YAML::load STDIN
#
# process each entry
#
entries.each do |entry|
#
# get the path and mtime of the updated file
#
path, mtime = entry['path'], entry['mtime']
#
# split into directory and filename components
#
dirname, basename = File::split path
#
# get the last directory component
#
dir = File::basename dirname
#
# perform actions based on dir - files contain numbers:
#
# - new files in dir 'a' get doubled and the result written to dir 'b'
# - new files in dir 'b' get two added and the result written to dir 'c'
# - new files in in dir 'c' are displayed as the result
#
case dir
when 'a'
n = Integer(IO::read(path))
n *= 2
output = File::join dirwatch_dir, 'b', basename
open(output, 'w'){|f| f.write n}
when 'b'
n = Integer(IO::read(path))
n += 2
output = File::join dirwatch_dir, 'c', basename
open(output, 'w'){|f| f.write n}
when 'c'
n = Integer(IO::read(path))
puts "result <#{ basename }> => <#{ n }>"
end
the comments should make it obvious that this program, which dirwatch will
spawn as new files are created or modified loads the updated (because we
configured it that way) file and assumes a number in contained in it. when
the file was updated in directory $tmp/a we double the number and write the
output into a file of the same basename in $tmp/b. here the number in $tmp/b
has two added to it and this result in written to a file of the same basename
in $tmp/c.
be sure you've edited $tmp/.dirwatch/commands/yaml.rb and
$tmp/.dirwatch/dirwatch.conf before continuing.
STEP 5
start dirwatch. normally dirwatch runs as a daemon that checks the dir every
five minutes, but here we will run from the console so we can see it's logging
information. note the '--recursive' flag is given so that dirwatch will
descend into the subdirectories of $tmp. this is important!. also, we use
the '--interval' option to specify a polling interval of 5 seconds. we would
not use such a short period for a production system but this interval is
alright for illustration. we start a watch:
~ > dirwatch $tmp --interval=5 --recursive
I, [2005-07-01T16:33:37.821687 #9146] INFO -- : ** STARTED **
I, [2005-07-01T16:33:37.822853 #9146] INFO -- : config <./tmp/.dirwatch/dirwatch.conf>
I, [2005-07-01T16:33:37.823136 #9146] INFO -- : recursive <true>
I, [2005-07-01T16:33:37.823309 #9146] INFO -- : all <false>
I, [2005-07-01T16:33:37.823423 #9146] INFO -- : follow <false>
I, [2005-07-01T16:33:37.823549 #9146] INFO -- : pattern <>
I, [2005-07-01T16:33:37.823680 #9146] INFO -- : n_loops <>
I, [2005-07-01T16:33:37.823887 #9146] INFO -- : interval <00:00:05>
I, [2005-07-01T16:33:37.824170 #9146] INFO -- : lockfile <./tmp/.dirwatch.lock>
I, [2005-07-01T16:33:37.824335 #9146] INFO -- : tmpwatch[all] <false>
I, [2005-07-01T16:33:37.824432 #9146] INFO -- : tmpwatch[nodirs] <false>
I, [2005-07-01T16:33:37.824551 #9146] INFO -- : tmpwatch[force] <true>
I, [2005-07-01T16:33:37.824745 #9146] INFO -- : tmpwatch[age] <30 days> == <2592000.0s>
I, [2005-07-01T16:33:37.824859 #9146] INFO -- : tmpwatch[rm] <rm_rf>
...
...
...
STEP 6
now, from another terminal drop a file containing a number into $tmp/a.
something like
~ > echo 10 > $tmp/a/n
within a few seconds you'll see, in the dirwatch terminal something like
I, [2005-07-01T16:33:47.855151 #9146] INFO -- : ACTION.UPDATED.0.0 - cmd : yaml.rb
I, [2005-07-01T16:33:47.928216 #9146] INFO -- : ACTION.UPDATED.0.0 - exit_status : 0
I, [2005-07-01T16:33:52.880694 #9146] INFO -- : ACTION.UPDATED.1.1 - cmd : yaml.rb
I, [2005-07-01T16:33:52.948847 #9146] INFO -- : ACTION.UPDATED.1.1 - exit_status : 0
I, [2005-07-01T16:33:57.856376 #9146] INFO -- : ACTION.UPDATED.2.2 - cmd : yaml.rb
result <n> => <22>
I, [2005-07-01T16:33:57.928320 #9146] INFO -- : ACTION.UPDATED.2.2 - exit_status : 0
so we have produced a result of 22 by doubling 10 and adding two to it merely
by dropping a file in a directory!
notice that both the output and the logging are going to the terminal here.
actually the logging goes to stderr by default and any program output/errput
is mingled here. in actual use the logging goes into a log file in $tmp/logs/
that automatically rolls (you never need to truncate it) and any output/errput
from the programs run is simply discarded. note that you can certainly keep
output by using something like
command: myprogram >> myprogram.log 2>&1
in the dirwatch.conf file.
STEP 7
now, remember that we configured yaml.rb to fire for any file that was
updated where the meaning of updated is that a file was created or modified.
if we we're to open up $tmp/a/n in vi and change the 10 to a 20 we'd soon see
result <n> => <42>
appear in the console running the watch.
STEP 8
after getting a system configured and the triggers working properly you
defintely don't want to have to start dirwatch be hand each time. dirwatch
will refuse to start two watches on a given directory and can be enabled to
run as a daemon. because of this it's quite acceptable to cron a dirwatch to
start every so often. something like
*/15 * * * * dirwatch /full/path/to/directory --daemon
will maintain a dirwatch process at all times, even after machine reboot.
note that this does not start a new watch each time - if the watch fails to
start because another is already running dirwatch simply exits with 1 but
nothing is printed to stderr so cron won't mail you tons of stuff. using this
technique a normal user can configure a daemon process to run at all times.
of course a feature could be started at machine boot too using a simply
script.
STEP 9
we now have set up a simply processing system using dirwatch. it can be used
to configure quite complex processing flows via the configuration file and the
programs run - hopefully you'll find a useful way of using it yourself. if so
please contact me at ara.t.howard@noaa.gov and let me know the details.
enjoy.
-a
--
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| My religion is very simple. My religion is kindness.
| --Tenzin Gyatso
===============================================================================