[#91148] Constant visibility — Gavin Sinclair <gsinclair@...>
Folks,
[#91151] Python 25 times as popular as Ruby !? — llothar@... (Lothar Scholz)
Hey,
In article <401D4F5E.70704@po.cwru.edu>, Dan Doel <djd15@po.cwru.edu> wrote:
Lothar Scholz wrote:
On Sunday 01 of February 2004 08:53, Dan Doel wrote:
Emmanuel Touzery wrote:
Hello Dan,
[#91156] check whether a class is defined, listing all classes — David Garamond <lists@...6.isreserved.com>
Given a string of fully-qualified class name, how do I easily check
Robert Klemme wrote:
[#91164] exerb: packer? — David Garamond <lists@...6.isreserved.com>
Is it safe to use executable packer (like UPX) to the .exe generated by
[#91197] ruby way to enumerate users — "Robert K." <anon@...>
Hi,
>
On Sun, Feb 01, 2004 at 08:43:11PM +0100, Robert K. wrote:
On Monday, February 2, 2004, 8:14:50 AM, Mark wrote:
Me> What is needed is a Ruby interface to the getpwent() family of system calls.
[#91213] GUI toolkit — Robert <bobx@...>
Has the community decided on a "standard" Ruby GUI toolkit? I know the
[#91225] Rubyx (linux distro created using ruby) - Bootstrap volunteers required — Andrew Walrond <andrew@...>
Rubyx is almost ready to go public :)
I'm here to be used and abused, ever since the post on ./ I've put aside a
On Sunday 01 Feb 2004 10:25 pm, Zach Dennis wrote:
[#91265] HTML parsing — Gavin Sinclair <gsinclair@...>
Hi folks,
[#91269] test::unit caller stack feature request — Simon Strandgaard <neoneye@...>
A typical call stack of mine look like the following.
[#91274] Silly question — Brad <BCoish@...>
All:
[#91286] code that has been reached — Simon Strandgaard <neoneye@...>
Does there exists a tool for Ruby which records which parts
[#91307] Ruby Web Application Framework Roundup — Gavin Kistner <gavin@...>
I'm trying to decide which Ruby web application framework to use (if
il Mon, 02 Feb 2004 16:45:15 GMT, Gavin Kistner <gavin@refinery.com>
On Tue, 3 Feb 2004, Gavin Kistner wrote:
Kirk Haines wrote:
On Tue, 3 Feb 2004, Chris Morris wrote:
paul vudmaska <paul@vudmaska.com> wrote in message news:<401ECA9F.4070903@vudmaska.com>...
On Wed, 4 Feb 2004, paul vudmaska wrote:
On Wed, 4 Feb 2004, paul vudmaska wrote:
On Wed, 4 Feb 2004, paul vudmaska wrote:
----"paul vudmaska" wrote:----
On Tuesday, 3 February 2004 at 1:49:51 +0900, Gavin Kistner wrote:
[#91310] OpenGL — Martin larsson <morg@...>
Hello
[#91315] role pattern lib for ruby — shasckaw <shasckaw@...>
Hello there,
See Ruby Object Teams http://sourceforge.net/projects/robjectteam/
Thansk for the link, it looks interesting but it is perhaps too complex
shasckaw wrote:
Is there a description of it somewhere?
Sam Roberts wrote about Object Teams:
Pit Capitain wrote:
Well, that was some good links, but they're all pretty hand-wavy about
[#91323] Questions about stdout/stderr combining (for Windows & Linux) — Patrick Bennett <patrick.bennett@...>
I'm working on a build tool, and I need to execute various
[#91333] Destructive String Methods — google@... (John W. Long)
Is there a way to tell when a destructive method has been called? I've
[#91364] shell scripts in background (with &) - why would they stop? — Ruby Baby <ruby@...>
Shouldn't a Ruby script keep running if someone uses the "&" at the end of the command?
>nohup ./processFiles.rb&
On Mon, 2004-02-02 at 20:12, Zach Dennis wrote:
--- Ryan Dlugosz <ryan@dlugosz.net> wrote:
On Tue, 3 Feb 2004 10:02:09 +0900, Ruby Baby wrote:
[#91375] Modules defining class methods to include? — Tim Bates <tim@...>
irb(main):001:0> module Foo
[#91376] Windows Registry — Robert <bobx@...>
Does Ruby come out of the box with ways to handle the Windows registry?
[#91407] RCR draft for enhanced "case..when..else..end" syntax — Guoliang Cao <gcao@...>
Hi,
On Wed, 4 Feb 2004 00:45:07 +0900, Robert Klemme wrote:
Hi,
Guoliang Cao wrote:
On Wed, 4 Feb 2004 01:00:25 +0900, Gennady wrote:
Austin Ziegler wrote:
[#91412] Image conversion ... — "Useko Netsumi" <usenets_remote_this@...>
Hi, is there any Ruby code snippets I can use to transform my photo to lower
[#91428] nested list with rdoc — shasckaw <shasckaw@...>
Hello there!
[#91430] Arachno Ruby IDE — Yura Kloubakov <yura@...>
[#91435] ruby-serialport on Win32 — Stephan K舂per <Stephan.Kaemper@...>
Hi group,
On Wed, Feb 04, 2004 at 02:15:04AM +0900, Stephan K舂per wrote:
Hi all,
[#91436] ARGV problems — tony summerfelt <snowzone5@...>
i seem to be having a problem with ARGV.
[#91472] ruby and pointers — Elias Athanasopoulos <elathan@...>
Hello!
[#91476] String.hex and valid mac addresses : a cleaner way ? — Theodore Knab <tjk@...>
Is there a cleaner way to doing this ?
[#91483] Newbie question — "Stephen Taylor" <sjt@5jt.com>
We are two grey-haired programmers studying Ruby and have a question so
[#91488] eistein's riddle — "Ara.T.Howard" <Ara.T.Howard@...>
Hardly efficient (in fact I haven't yet run it through to completion),
[#91523] overriding setup in Test::Unit — Ian Macdonald <ian@...>
Hello,
[#91547] -0777 broken in 1.8.1? — Aron Griffis <ruby-talk@...1.net>
Version 1.8.0:
[#91565] New Computer, version, confusion — Ronald E Jeffries <ronjeffries@...>
I just got a new computer and need to get stuff moved over to it.
[#91579] two questions — caligari <il_piccione@...>
Hi all, i'm new to ruby and i find it very exciting, but i've two little
[#91583] case with multiple expressions — Hal Fulton <hal9000@...>
Is there anything wrong with this kind of solution?
[#91590] An assimilators guide to Python? — "Josef 'Jupp' SCHUGT" <jupp@...>
Hi!
il Thu, 5 Feb 2004 10:39:37 +0900, "Josef 'Jupp' SCHUGT" <jupp@gmx.de>
[#91613] Re: Irb Ri integration (Was: An assimilators guide to Python?) — "Gavri Savio Fernandez" <Gavri_F@...>
> From: Charles Comstock [mailto:cc1@cec.wustl.edu]
[#91626] HTML Parsing? — Martin Hart <martin@...>
On Friday, February 6, 2004, 5:39:15 AM, Dave wrote:
[#91633] YAPV (Yet Another Pickaxe Version) — Gavin Kistner <gavin@...>
As promised in another thread, I am working on a new web version of the
sooo slllooowwww.
[#91635] io/nonblock — "Ara.T.Howard" <Ara.T.Howard@...>
[#91641] Fw: [XP] A Job Posting : Extreme Programmer needed. — Pit Capitain <pit@...>
I found this today on the extreme programming mailing list:
[#91649] How do I bounce? — adavies@... (andrew davies)
I use pop.rb to download emails on a whitelist
[#91665] Is there any way to mark an object as "always in use" (specifically, in a C extension)? — Harry Ohlsen <harryo@...>
Some background ...
Hi,
nobu.nokada@softhome.net wrote:
At Sat, 07 Feb 2004 07:46:33 +0900 wrote Harry Ohlsen:
> >>It's quite fast. I use it for huge XML documents where
[#91678] pl-ruby detecting postgresql 7.4 under redhat — David Garamond <lists@...6.isreserved.com>
I hope discussion on pl-ruby is welcome in this list.
>>>>> "D" == David Garamond <lists@zara.6.isreserved.com> writes:
[#91680] mkfifo in Ruby 1.8? — "Basile Starynkevitch [news]" <basile-news@...>
Why is (the library call) mkfifo missing in Ruby 1.8? Is there a way
Hi,
I just installed ruby-1.8.1 and found this problem.
Hi,
Yukihiro Matsumoto wrote:
Hi,
nobu.nokada@softhome.net wrote:
As suggested in an earlier email, I blew away /usr/local/lib/ruby - which
>>>>> "B" == Bob Gustafson <bobgus@rcn.com> writes:
[#91682] Is 1.8.2 imminent? And detecting Rubyx version — Andrew Walrond <andrew@...>
I'm holding off an 'official' release of Rubyx (ruby based linux distro)
On Fri, Feb 06, 2004 at 04:58:03PM +0900, Andrew Walrond wrote:
[#91684] Removing methods from DRbObject — Tim Bates <tim@...>
My application is using DRb extensively in support of its client-server
[#91710] Email parsing — Rove Monteux <rove.monteux@...>
Hi there.
On Sat, 7 Feb 2004, Rove Monteux wrote:
Thanks again,
[#91728] Re: [ANN] RedCloth 2.0 -- A Textile Humane Web Text Generator — Yura Kloubakov <yura@...>
Yura Kloubakov wrote:
* why the lucky stiff <ruby-talk@whytheluckystiff.net> [Feb, 06 2004 23:40]:
[#91762] Problem with sending a mail — Dirk Einecke <dirk.einecke@...>
Hi.
[#91770] MS have right on the word "Windows" ? — "Park Heesob" <phasis68@...>
Hi,
[#91771] Multi-threading lesson wanted — Tim Bates <tim@...>
Hi all,
[#91777] I卒m too dumb to program — Lester_t_linpord@... (Lester T. Linpord)
Because I危 a moron.
[#91799] TkEntry with { (left brace) characters — Mac <webrg.ruby-talk.com@...>
I've tried to boil this down to be as meaningful as possible. I'm
Hi,
[#92456] Re: running a class from the base class — "Shashank Date" <sdate@...>
[#92458] (2004-02-09) Mailing list problems? — "Gavin Sinclair" <gsinclair@...>
I'm getting hundreds of old (but recent) ML/NG messages. I don't think
[#92475] Euruko 04? European Ruby conference? — Armin Roehrl <armin@...>
Hi all,
Armin Roehrl wrote:
Hello Stephan,
[#92492] evaluate and print an expression — Piergiuliano Bossi <p_bossi_AGAINST_SPAM@...>
I hope that what I'm asking doesn't sound too weird, but I'm trying to
[#92503] simple lexing/parsing task — Martin DeMello <martindemello@...>
Any nice way to parse a block of ruby code, and return a list of all the
[#92507] Opinion: Ruby + OpenOffice.org — Daniel Carrera <dcarrera@...>
Hi guys,
Check the latest issue of The Linux Journal. James Britt wrote an article
[#92586] YAPV done! — Gavin Kistner <gavin@...>
http://phrogz.net/ProgrammingRuby/
[#92597] Simple parsing of sloppy HTML - LittleLexer — John Carter <john.carter@...>
There have been a couple of threads on parsing HTML.
John Carter wrote:
On Thu, 12 Feb 2004, Clifford Heath wrote:
[#92600] expect.rb — Theodore Knab <tjk@...>
Does anybody know where I can get the expect.rb ?
[#92631] ruby-dev summary: 22688-22826 — Masayoshi Takahashi <maki@...>
Hello all,
On Thu, Feb 12, 2004 at 03:45:47AM +0900, Masayoshi Takahashi wrote:
Hi,
On Thu, 12 Feb 2004, Yukihiro Matsumoto wrote:
[#92641] XML/HTML display code for Ruby — Charles Comstock <cc1@...>
Alright so I know that RDoc does syntax highlighting on ruby code if you
[#92647] Emacs ruby-mode hanging — Guillaume Marcais <guslist@...>
There must be an endless loop in ruby mode on Emacs. I enter the
[#92649] (noob) cast string to array? — Koncept <user@...>
Packed with Avi's old Iowa release is a neat little extra that he called
[#92687] Stack overflow in regexp matcher — David Heinemeier Hansson <david@...>
I've been using the wonderful new RedCloth release from why the lucky
[#92692] ANN: Ruby Standard Library Documentation, v0.9.0 — Gavin Sinclair <gsinclair@...>
Hi folks,
Gavin Sinclair wrote:
> Gavin Sinclair wrote:
[#92699] Access blocked to RubyForge for 203.123.134.34 — Richard Kilmer <rich@...>
Hey folks,
[#92704] pp equiv of #inspect — "Ara.T.Howard" <Ara.T.Howard@...>
[#92739] Return value of foo= — Gavin Kistner <gavin@...>
The question is, is it possible to change the return value of a foo=
[#92743] (retry) [ANN] Kwartz -- a template system for Ruby, PHP and Java — kwa@...
I send the following message again:
[#92752] Swapping out an instance between blinks — Gavin Kistner <gavin@...>
I'm writing a class (which I'm calling MutableTime) that is like a Time
[#92771] return from yielded block — "Ara.T.Howard" <Ara.T.Howard@...>
Hi,
[#92785] Installing tk interface to ruby on RH9.0 GNU/LINUX — Himanshu Garg <himanshu@...>
Hello,
[#92796] OT: Traits — djberg96@... (Daniel Berger)
All,
[#92806] Re: slow IO — David King Landrith <dlandrith@...>
On Feb 13, 2004, at 1:04 PM, J.Herre wrote:
[#92812] Conversion between utf-8 and iso8859-1? — Hadmut Danisch <spamblock@...>
Hi,
[#92822] cgi params in ruby — Cere Davis <cere@...>
Hi Rubiers,
[#92833] inheritence of class vars — "Ara.T.Howard" <Ara.T.Howard@...>
Hi --
[#92838] accessing constants from class methods — "Ara.T.Howard" <Ara.T.Howard@...>
Hi --
On Sat, 14 Feb 2004, daz wrote:
Hi --
[#92843] ANN: webrick-fcgi 0.1.0 — Aredridel <aredridel@...>
I've been working this week on a webrick servlet compatible module using
[#92844] MutableTime class — Gavin Kistner <gavin@...>
I've just finished my first general-purpose Ruby class, MutableTime.
[#92854] ANN: REXML 2.7.4 — ser@... (Sean Russell)
Hi,
[#92863] buffering question: interleaved output from child processes — Joel VanderWerf <vjoel@...>
The following code, when connected to the terminal's stdio, interleaves
[#92875] Methods outside classes — "Imobach Gonz疝ez Sosa" <imodev@...>
Hi all,
[#92889] Closing FXDialogBox without user input? — "Steve Kozma" <bluesky@...>
Hi!
[#92897] Hash like JS Hash (code) — Gavin Kistner <gavin@...>
Although I may never use it, I thought I'd share the following
[#92936] problem with variables — Dirk Einecke <dirk.einecke@...>
Hi.
[#92961] sprintf bug in 1.9.0? — Mark Hubbart <discord@...>
I just compiled the latest release of Ruby 1.9.0, and I'm getting
[#92986] A good way to do a book? — bobx@... (Bob)
http://www.sourcebeat.com/index.jsp
Hi!
Hi!
[#93006] tar of Phrogz Pickaxe (aka YAPV) — Gavin Kistner <gavin@...>
I haven't gotten to clean up the Index like I had wanted to, but I
[#93012] Snapshot Graphics Rendering — Killian2422@... (Killian)
I would like to use Ruby to render a screenshot of a 3D environment.
[#93018] Blocking Calls on Win32 Ruby — Bret Pettichord <bret@...>
I am running into several problems with some Ruby code. It was written on a
[#93020] Frozen string problem, but I haven't frozen anything? — LC Geldenhuys <lcgeldenhuys@...>
Hi,
[#93027] How to suppress World Writable message — Jim Freeze <jim@...>
[#93039] Builtins RDoc tarball? — Gavin Kistner <gavin@...>
Is there a tar.gz that corresponds to
On Wednesday, February 18, 2004, 1:59:55 AM, Gavin wrote:
Gavin Kistner wrote:
James Britt wrote:
Gavin Kistner wrote:
James Britt wrote:
James Britt wrote:
On Feb 18, 2004, at 8:32 AM, Dave Thomas wrote:
Gavin Kistner wrote:
[#93055] Why's (Poignant) Guide to Ruby, Chapters 1 to 3 — why the lucky stiff <ruby-talk@...>
Greetings. Man, I'm giddy about this announcement. My blood is visibly
il Wed, 18 Feb 2004 04:58:00 +0900, why the lucky stiff
why the lucky stiff wrote:
why the lucky stiff <ruby-talk@whytheluckystiff.net> wrote in message news:<40327236.9000301@whytheluckystiff.net>...
On Feb 18, 2004, at 7:29 AM, Karl von Laudermann wrote:
[#93086] boolean to int conversion — Cere Davis <cere@...>
[#93104] how to raise warning? — Szymon Drejewicz <drejewic@...>
How to raise warning?
Hi,
[#93157] Ruby on Windows Apache Help — "Mark J. Reed" <mreed@...>
Okay, I know that mod_ruby doesn't exist for Windows, and won't even
[#93162] speed benchmarks comparing Ruby to Py/Perl/PHP/etc? — Ruby Baby <ruby@...>
I know Ruby wasn't created to make a fast-running language.
> I know Ruby wasn't created to make a fast-running language.
[#93180] Ruby to Parrot compiler — Mark <msparshatt@...>
Is there anyone working on a compiler for compiling Ruby code to work on
[#93184] Programs to Emulate — scooby doo <new2ruby@...>
I'm looking for some well written, small & simple
[#93189] Re: how to raise warning? — "Gavri Savio Fernandez" <Gavri_F@...>
> From: Hal Fulton [mailto:hal9000@hypermetrics.com]
[#93193] proposal: let kind_of take more arguments — Simon Strandgaard <neoneye@...>
It just hit me.. why not let kind_of? take more arguments?
[#93213] Can't case on class? — Gavin Kistner <gavin@...>
The code below produces the following output:
[#93229] A way to "require 'warnings'" — Jason Creighton <androflux@...>
It would be nice if there was a "warnings.rb" file in the standard
[#93243] Instance variable capitalization — Jim Freeze <jim@...>
I have a question about how ruby-like is it to capitalize
Hi --
On Friday, 20 February 2004 at 23:00:58 +0900, David A. Black wrote:
On Fri, 20 Feb 2004, Jim Freeze wrote:
[#93260] Introducing myself and my interest in ruby — Larry Felton Johnson <larryj@...>
This is just a note introducing myself to the list, and
On Sat, 21 Feb 2004, Larry Felton Johnson wrote:
Hi Larry! Thanks for the introduction and welcome!
il Sat, 28 Feb 2004 02:32:13 +0900, Mark Hubbart <discord@mac.com> ha
On Feb 27, 2004, at 11:19 AM, gabriele renzi wrote:
Mark Hubbart wrote:
Hal Fulton wrote:
Mark Hubbart wrote:
In article <40406832.1000009@ce.chalmers.se>,
In article <AE7D2272-69BE-11D8-8CCB-000502FDD5CC@mac.com>,
Until now, the FreeRIDE debugger did not work under windows. We now have a
Hello Curt,
Lothar Scholz wrote:
Hal Fulton wrote:
[#93265] tainted symbols? — google@... (John W. Long)
irb(main):001:0> t = "p 'hello world'".taint
[#93278] threads and blocking — "Ara.T.Howard" <Ara.T.Howard@...>
[#93296] TCPserver client disconnect — "Noah" <noahd@...>
ruby newbie question...
[#93298] Puzzling... — "Ruby Tuesday" <rubytuezdayz@...>
Hi, I have these 2 files, one work and the other does not.
I've tried both using \n\n and \r\n\r\n on Perl and Ruby as well. Both
[#93305] Ruby syntax highlighting for Ruby — "Josef 'Jupp' SCHUGT" <jupp@...>
Hi!
[#93310] When will ruby181-11.exe be fixed? — "John W. Kennedy" <jwkenne@...>
Are rdoc and ri going to be made usable anytime soon?
On Feb 20, 2004, at 4:54 PM, John W. Kennedy wrote:
[#93321] Calling JDBC from with Ruby — Michael Davis <mdavis@...>
I am building a web application for a client in Ruby. The application is working but now needs to access data using JDBC. My client is requiring both ODBC (for Windows) and JDBC (for Sun) access to data. I am looking for an example of how to use JDBC from within Ruby. I have looked at Jruby but would prefer to write my own code rather than rely on a third party add-on that is beta, especially one that has not been updated in a while. If I write the data access portion in Java that uses JDBC, can I then write a Java wrapper that would allow Ruby to call the Java methods? Are there any examples available showing how to call a Java method from within Ruby similar to the C interface to Ruby?
Michael Davis <mdavis@sevasoftware.com> wrote in message news:<AKo_b.4954$yZ1.1140@newsread2.news.pas.earthlink.net>...
[#93353] YAML Aborting with large data set? — Martin Hart <martin@...>
[#93374] Tycho - A PIM under development — Hal Fulton <hal9000@...>
Hello, all.
Hal Fulton wrote:
Hal Fulton wrote:
[#93386] Webrick slow when running on a stand-alone system — "Jim Weirich" <jim@...>
I've developed a small app for a laptop using Webrick. It serves pages to
[#93393] Rexml xpath question — han.holl@... (Han Holl)
Hi,
[#93394] Graphic file formats — Peefh <Peefh.AVIRER@...>
Hi.
[#93407] Graphical Ruby/Tk GUI designer? — Asfand Yar Qazi <im_not_giving_it_here@..._hate_spam.com>
Hi,
[#93425] ANN: PLD RPMs of rake and ruby-dbi and a plea to packagers — Aredridel <aredridel@...>
I've just created packages (including .spec files to be used as
Aredridel wrote:
On Mon, Feb 23, 2004 at 09:44:50AM +0900, Charles Comstock wrote:
On Mon, Feb 23, 2004 at 01:18:14PM +0900, Aredridel wrote:
Funny you should mention that. I've been looking over the
[#93438] File.fnmatch's behavior — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Hi, rubyists.
> Hi, rubyists.
[#93455] Rubyx OS website — Andrew Walrond <andrew@...>
I've been thteatening to launch Rubyx for a while, but the documentation is
[#93459] Appropriate use of camelCase — Gavin Kistner <gavin@...>
Following the 'instance variable capitalization' thread, I'm convinced
Hi --
Chunky bacon!
On Tue, 24 Feb 2004, NAKAMURA, Hiroshi wrote:
Kirk Haines wrote:
On Tuesday, 24 February 2004 at 12:32:46 +0900, Patrick Bennett wrote:
On Tue, 24 Feb 2004 11:11:37 +0900, Kirk Haines wrote:
> Changing tab<->spaces in a file can cause problems with your CVS environment.
[#93464] Need examples comparing Ruby to Python — David MacQuigg <dmq@...>
I'm putting together a web page comparing Ruby to Python, and I need
On Mon, 23 Feb 2004 15:57:39 GMT, gabriele renzi
David MacQuigg wrote:
On Tue, 24 Feb 2004 18:52:28 +0100, Florian Gross <flgr@ccan.de>
David MacQuigg wrote:
[#93485] Ruby-gtk ? — Martin Hart <martin@...>
On Monday 23 February 2004 01:26 pm, Martin Hart wrote:
Jason Voegele wrote:
Hey
[#93505] Can't use interpreter — David MacQuigg <dmq@...>
I would like to try the Ruby interpreter on either Windows XP or
[#93552] RE: Photo's of Matz? — "Gavri Savio Fernandez" <Gavri_F@...>
> From: Barry Carr [mailto:barrycarr@ixian-software.com]
[#93601] PGresult#type (and other postgres questions) — Gavin Kistner <gavin@...>
I'm putting RDoc documents into postgres.c, and I have a few questions
[#93610] Instiki: There's no step three — David Heinemeier Hansson <david@...>
What is Instiki?
David Heinemeier Hansson wrote:
[#93616] Failure building PL/Ruby on MacOS X 10.3 — Gavin Kistner <gavin@...>
I have Ruby 1.8.1, PostgreSQL 7.4.1, mod_ruby 1.1.2, eRuby 1.0.5,
Gavin Kistner wrote:
Gavin Kistner wrote:
[#93619] io/nonblock - blocks w/threads? — "Ara.T.Howard" <Ara.T.Howard@...>
[#93623] New paradigm of introspective OO development — jaredthirsk@... (Jared Thirsk)
== Introduction to DAF ==
[#93632] proposal: debug keyword — Simon Strandgaard <neoneye@...>
A debug keyword which enables debug-output for a specific method.
[#93635] Profile-independent directory specification for NT? — "Moran, Craig M (BAH)" <MoranCM@...>
Is there a way to specify a directory in Ruby that is profile-independent
[#93654] Operators +, += and = in Ruby 2 — "Robert Klemme" <bob.news@...>
[#93682] Slice or Value of Empty Array — Jim Freeze <jim@...>
Hi
[#93685] print with no arguments? — Oliver Cromm <c1205@...>
I feel that the Ruby interpreter is poking fun at me with this error:
[#93709] thread gurus please help... — "Ara.T.Howard" <Ara.T.Howard@...>
Hi,
[#93711] DRbFire 0.1.0 — Nathaniel Talbott <nathaniel@...>
It is with great pleasure that I introduce DRbFire 0.1.0 to the world.
[#93718] tutorial directory — Simon Strandgaard <neoneye@...>
I visited Lua's Tutorial Directory and got the feeling that Ruby should
[#93723] ruby2html -was RE: Congrats to Matz...working 11 years on Ruby an d counting! — "Pe, Botp" <botp@...>
Simon Strandgaard [mailto:neoneye@adslhome.dk] said:
[#93729] ruby-dev summary 22877-23014 — Minero Aoki <aamine@...>
Hi all,
[#93732] Why don't $global and @instance variables need declaration? — David Garamond <lists@...6.isreserved.com>
Sorry if the answer is obvious, but I can't find a satisfactory or more
Robert Klemme wrote:
>>>>> "D" == David Garamond <lists@zara.6.isreserved.com> writes:
ts wrote:
David Garamond wrote:
[#93734] language contest ==> unit test framework from lisp to ruby — Piergiuliano Bossi <p_bossi_AGAINST_SPAM@...>
A few days ago I made a post (rubytalk:92963 ==> [2]) about the
[#93779] Callback — han.holl@... (Han Holl)
Hi,
[#93787] TDD Roman Numeral tutorial in Ruby — "Phlip" <phlip_cpp@...>
Jim Rogers wrote:
[#93790] CGI and multipart data — Martin Hart <martin@...>
[#93798] Enumerable#zip(aRange) does not work ? — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com>
[#93832] RDoc, ri and code completion in jEdit — Robert McKinnon <rob_m_mckinnon@...>
I'm implementing na阮e Ruby code completion for the jEdit editor, using
[#93848] Calculate the md5 hash of a string — Dirk Einecke <dirk.einecke@...>
Hi.
[#93865] UnboundMethod#hash apparently broken in 1.8.1 — "Robert Klemme" <bob.news@...>
Hi --
In article <m3ad33mpjr.fsf@wobblini.net>, David Alan Black wrote:
[#93873] Learn to Program -- A Tutorial for the Future Programmer — "Chris Pine" <cpine@...>
I finally finished it! I received a great deal of encouragement this last
[#93875] (noob) need help parsing Apache log file — Koncept <user@...>
[#93888] help with ruby range used as condition — "cg" <chris_guenther@...>
Hi all,
[#93932] fcgi install problems — Jim Freeze <jim@...>
Hi
New paradigm of introspective OO development
== Introduction to DAF == I am interested in the next generation of approaches to software development. Over the last decades, there has been an obvious shift in how our most complex software is created. We started off with punch cards (or so I am told -- I was born in 1981 so apologies if my history is off or my ideas are naive), punching in a stream of ones and zeros. The code contained only 0 and 1 and everything else was abstracted in the mind of the programmer, even the machine-level instructions. Then we moved to assembly language, where code more or less explicitly contains the machine-level instructions, while the meaning of variables, and the control structures were still largely abstract. From there, with the advent of C, control structures and variable names are now in the code. With C++, objects are in the code, while system-level architecture, design patterns, and object interoperability are still mostly abstracted. The general trend is a move towards more intelligent code -- from 1's and 0's, to objects with explicit inheritance, interfaces, and data members. Each time more abstractions are made explicit in the code, the code becomes easier to implement, test, and reuse. I am interested in exploring the next step (perhaps even determining the nature of or actualizing the final step), of moving more abstractions to code, making the code more intelligent, and easier to develop, as the developer needs to carry less abstraction in his/her own head. What I am proposing is a strictly minimalistic paradigm that facilitates more intelligent code. More intelligent code facilitates better and easier-to-implement RAD design tools, as well as more intelligently adaptive and self-aware software components. The working name used here is DAF, which stands for Dynamic Application Framework. == Basic Concept == The idea I have is for a purer form of object-oriented development, or really, aiming for objectively pure objects that perfectly represent any conceptual abstraction a software programmer or architect could make, on the object / component level. (On a system level, abstraction arises from the interactions of the objects, and so is beyond the scope of object definition, or object oriented programming, but arises out of it anyway.) Conceptually speaking, what is an object? It is a concept, an idea. It only has meaning once things are attached to it. The decorator pattern (or at least my concept of it), in its general conceptual form, can be used to attach capability to objects. Objects have two primary capabilities: they can accept input from their environment, and they affect their environment. Automata such as computer code only meaningfully affects its external runtime environment in response to input. (Whether various "agents" such as humans or software agents act spontaneously is a philosophical matter requiring a theory of reality, like the CTMU, or a semantic issue, for people who like to think they are writing spontaneously intelligent agents.) Taking this into consideration, we get the general principles of interface (which is basically equivalent to environmental input or event handling) and implementation (internal aspect of doing something that affects the outer world) and their natural separation. Thus each object intrinsically has decorators that provide interfaces, along with implementation of those interfaces. I think that the progression towards easier programming will inevitably lead and is leading towards smarter programming tools, eventually towards the point where the programming objects themselves will support reflexive self-modification, which could potentially be dropped at either compilation time or runtime for the sake of proprietary opacity or memory/CPU efficiency, where desired, or left in for the sake of dynamically intelligent, self-aware and/or user runtime-extendable applications. (There is also a shift towards using scripting languages where certain application behavior is treated more as data than as statically hard-wired information. The divide between data vs code is shrinking and will continue to shrink as our software demands more cross-integration and adaptive capability such as self-repair, self-optimization, and transparency of object distribution.) Self-modifying objects therefore require two basic decorators: one for managing interfaces, and one for managing decorators (which encapsulate implementors). In DAF, there are three fundamental types of objects, data, executable, and generic. - Data primitives contain a data decorator, and provide get/set interfaces for compatible types in the host language (char*, long, etc.), with the implementation possibly converting numeric strings to binary integers, for example. - Executable primitives are guaranteed to implement an "execute" method, which executes code in a supported language (perhaps a call to shared library, or C code, or a lua script). - Generic objects are not primitives in that they contain no Data or Executable that interface with the host machine architecture. They are completely abstract objects, containing nothing and having no capability by default. == Extending Capability with Decorators == Generic, or non-primitive objects must be extended to be useful. The DAF development environment contains a executable primitive to create a Generic with self-modifying capabilities. Its inextricable interfaces provide access to both the interface manager, and the decorator manager. From here, all imaginable capability can be added. By adding a string decorator to an object, for example, the string decorator factory will invoke operations in the Interface Manager to add the supported Get/Set accessor interfaces to the object. The decorator factory will also use the object's Decorator Manager to add a string decorator, which is responsible for handling the implementation of the string accessor methods appropriately, and ensuring the value is stored in memory. (Prototypes for efficient creation of frequently used objects is mentioned later.) == Refining Capability via Chain of Command == Another decorator could be added, to handle thread synchronization for the object. A 'synchronization' decorator would be attached, containing some kind of mutex or semaphore as its private implementation data, and the existing interface methods for accessing the string would be replaced by a chain of command: when GetString, or whatever is invoked, the Interface Manager will pass execution to locking/waiting implementation in the sync decorator, followed by the string get implementation in the string decorator, followed by the unlocking implementation. Another decorator could be added to control permissions of the object, inserting a permission check at the beginning fo the chain of command. The implementation would verify a security token object's security domain (referenced inside the decorator, described in a central location) before the chain was allowed to continue, if at all. All sorts of kinds of decorators could be added to objects, such as ones that implement transparent access of objects over the net, time-variable caching from net or disk, database access, child containers, parent accessors, observer pattern, documentation info, etc. As such, this could be seen as a sort of middleware that could compete (once it evolves to this point, of course) with the likes of CORBA, DCOP, ZeroC ICE, etc. (ICE's feature list is probably the closest match I've seen to what I envision here.) The distinction between DAF and these being that all capability for distributed objects, as well as everything else, is optional, not constrained to or focused on any one application. == Typing == Objects are not described by a single type, but rather conform to one or more schemata which indicate their capabilities. A schema comprises a set of one or more interfaces (or interface groups, not described here), or one or more decorators, or both, with the openendedness of DAF allowing more complex schema systems to be implemented, such as the one used by XML (.xsd). For convenience of organization, a schema may include other sub-schemata. Schemata can be generated at runtime, against which introspective objects can be validated. Alternately, non-introspective objects or non-modifiable objects can be hardcoded to indicate they implement a certain schema. == Prototyping / Flyweighting == Factories may be fed a particular schema to use to create an object. Detailed schemata may effectively be prototypes, which factories could automatically generate for efficient creation, or which user could manually specify. I won't go through all the details, but with DAF there is opportunity to set up the creation flyweights as well as copy-on-write objects, transparently and conveniently for the developer. == Full Reflexivity and Self-Documentation == Documentation decorators could be added to every object prototype as desired, at runtime (in a RAD environment) with the documentation being physically stored in a separate location as the code. DAF allows for multiple group (and parent accessor) decorators, facilitating multi-dimensional heirarchies. For example, a schema object could simultaneously be all of: - the member of a multi-level index of all schemas currently available, - the member of a index of schemas provided by a certain pluggable library, - the dereference point of another object's reference (perhaps hardcoded, or cached from a schema check) indicating that object conforms to the schema, - the parent object of a documentation object describing that schema, the member of an index containing the set of objects authoritative by an object server, - a member of a revision control system tracking this version of the object - or any other number of examples. When subsystems are dropped or become irrelevant, such as a development subsystem, all related decorators are dropped (revision control, code documentation, etc.), and may be added again at runtime (depending on how much introspective capabilities the objects have). The intent is to establish one way (via group/reference decorators) and traceable one way (via group/parent decorators) connectivity between objects in a way that explicitly captures the abstract relationships between objects, moving the intelligence into the code. The resulting codebase becomes a self-documenting, self-accessible network with broad scope, allowing a developer to traverse it similar to how TheBrain traverses broad information rich networks. == Example Applications == Theoretically there should be no restriction on what couldn't be done, the idea being that at some point, runtime dynamicity and reflection can be traded in for runtime functionality and performance comparable to a C program. That said, here are a few random examples where the dynamic capabilities might be helpful: - A web based knowledge base that allows arbitrary relationships providing multilevel heirarchies. Nodes of information could have discussions linked to them, people's votes on appeal or validity, external links, etc. - A multi-server scale or peer-to-peer computer game requiring transparent relocation of objects, benefitting from adaptive load balancing and self-optimization. - Any application where introspection is needed, applications that learn, system doctor programs, better versions of clippy. - Any application benefitting from a minimal or maximal object-oriented approach, and design patterns. == Flexibility == The idea is that DAF is a simple abstraction layer, and does not prevent the developer from making use of existing libraries and their APIs, or from designing 80% of their application in Java or C++ or perl and abstracting the 20% of the high-level stuff and scripting abilities with DAF. In theory, DAF is just a way to abstract concepts, and should not impose any restrictions on design. Any run-time dynamic self-modification and introspective abilities should be optional similar to how C++ RTTI is optional. == Facilitation of Adaptivity == A quick example of how introspection could facilitate Adaptive Agent Intelligence: a group decorator (container of keyed child objects), could have an AI agent attach itself to the "find object" interface chain of command to profile a single or multiple algorithms for looking up children, and either a) switch to another algorithm / storage mechanism that is known or believed to be better, or b)record performance of algorithms to disk so that common executions of the application can reveal the best algorithm to use (hash table (of varying sizes and algorithms), b-tree, map, etc.). In general, this kind of introspection allows profiling that can be more automated and facilitate intelligent run-time adaptivity in code execution. == Implementation == DAF is a simple and obvious way of defining application in terms of objects, interfaces and decorators. The matter of actually executing code is arbitrary and could be handled by any compiled or interpreted language with sufficient bindings to the DAF specification. If DAF actually gets implemented, and it's up to me, I'm thinking that a BSD or GPL licensed DAF runtime environment would be implemented using C++, with support for executing shared libraries on Win32 / Linux / other OS's, and bindings to a scripting language like Lua. At some point, it may make sense to create a dedicated language for working with DAF for the sake of syntax convenience and aesthetics (so far I've been creatively overloading C++ operators.) == Summary == DAF is a proposal to facilitate and make explicit the implementation of several important design patterns, including decorators, facade, chain-of-command, command objects (instead of parameters to executable objects). Generic support for observers, marshals, factories and probably several other patterns will be provided as a part of DAF's core decorator libraries, as will commonly useful applications such as threading, network/database transparency, load balancing, etc. DAF aims to ease the development and debugging bottlenecks by leverage today's increased CPU and memory availability to make applications fully interactive, both to use and to develop introspectively without necessarily enforcing any of these features. Introspection facilitates adaptively intelligent program dynamicity to the point where applications can start to become intelligently self-analytical. == Conclusion == I am a recent SW engineering grad without several years of serious programming work experience, so I present this with humility and an open mind. I am hoping that people can direct me to a) why this is a bad idea, b) what is out there that already does this, or c) that this is an avenue worth exploring, or d) same as c and that they're interested in helping make it or e) something else. In addition to being someone who would like better RAD tools for software development, I am also an independent researcher in the realm of psychology and cognitive science, and would like to see intuitive methods of programming that more closely represents good theory of mind (requiring less overall time and effort from the software developer), as well as a theory of mind (AI) that is easier to implement in and interact with software. I will try to monitor the forums where I post this, but if you want to be sure to get through to me, email me at jaredthirsk123@yahoo.com (removing the 123 for my actual address). Regards, Jared Thirsk http://daf.melsib.net