[#70464] ljust, rjust... — "Chris Pine" <nemo@...>

Just thought I would run these ideas by everyone:

11 messages 2003/05/01

[#70502] temporary redirection of stdout — Andrew Walrond <andrew@...>

I'm new to ruby, so forgive any obvious stupididity, but can anyone

20 messages 2003/05/02

[#70535] SWIG on Solaris problem — Jim Freeze <jim@...>

Hi folks.

14 messages 2003/05/02

[#70594] Why is PHP so popular? What can we learn from the PHP camp? — ptkwt@...1.aracnet.com (Phil Tomson)

....and what can we learn from PHP's rapid rise to success?

99 messages 2003/05/05
[#70641] Re: Why is PHP so popular? What can we learn from the PHP camp? — Andreas Schwarz <usenet@...> 2003/05/05

Aredridel wrote:

[#70652] A wishlist for a "Ruby Standard Library" — Aredridel <aredridel@...> 2003/05/05

A wishlsit for a "Ruby Standard Library":

[#70655] Re: A wishlist for a "Ruby Standard Library" — Brian Candler <B.Candler@...> 2003/05/05

On Tue, May 06, 2003 at 07:39:54AM +0900, Aredridel wrote:

[#70673] Re: A wishlist for a "Ruby Standard Library" — Mark Wilson <mwilson13@...> 2003/05/06

[snipped many wonderful things.]

[#70759] Testing for a class existence — "Gennady" <gfb@...>

Does anybody know an easy way to test for a class/module existence in =

15 messages 2003/05/06

[#70770] capture output — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

I have seen much talking about this topic, but no working code!

68 messages 2003/05/06
[#70929] Re: IO.pipe + thread = hangs (was: Re: capture output) — "Robert Klemme" <bob.news@...> 2003/05/08

[#71741] Named Pipes — Mark Firestone <nedry@...> 2003/05/19

What is the recommended procedure for using named pipes in Ruby. Does one

[#71745] Re: Named Pipes — Brian Candler <B.Candler@...> 2003/05/19

On Mon, May 19, 2003 at 06:33:17PM +0900, Mark Firestone wrote:

[#70842] Symbiosis offer: trade Ruby for German :-) — Mauricio Fern疣dez <batsman.geo@...>

17 messages 2003/05/07

[#70865] access a variables name? — "meinrad.recheis" <my.name.here@...>

is it possible to access the variable-name of an object?

14 messages 2003/05/07

[#70891] Syck 0.25 + YAML.rb -- Objects in plain-text — why the lucky stiff <ruby-talk@...>

..my faithful friends..

20 messages 2003/05/07

[#70919] petition for raa-install to be included in 1.8 — ptkwt@...1.aracnet.com (Phil Tomson)

Similar to the YamlInRuby petition which has now closed.

14 messages 2003/05/08
[#70920] Re: petition for raa-install to be included in 1.8 — Sam Roberts <sroberts@...> 2003/05/08

I just looked again, and remember why I don't know anything about

[#70921] Re: petition for raa-install to be included in 1.8 — why the lucky stiff <ruby-talk@...> 2003/05/08

You can find a tutorial on using raa-install (as well as its API) at:

[#70985] Can a global be a constant? — Jim Freeze <jim@...>

Hi

36 messages 2003/05/08
[#71001] Re: Can a global be a constant? — "Hal E. Fulton" <hal9000@...> 2003/05/08

----- Original Message -----

[#71003] Re: Can a global be a constant? — Jim Freeze <jim@...> 2003/05/08

On Friday, 9 May 2003 at 8:23:52 +0900, Hal E. Fulton wrote:

[#71007] Re: Can a global be a constant? — dblack@... 2003/05/08

Hi --

[#71036] Re: Regexp: why does (re)* return only last repetition? — "Robert Klemme" <bob.news@...>

21 messages 2003/05/09
[#71209] Re: Regexp: why does (re)* return only last repetition? — "Robert Klemme" <bob.news@...> 2003/05/12

[#71225] Re: Regexp: why does (re)* return only last repetition? — Austin Ziegler <austin@...> 2003/05/12

On Mon, 12 May 2003 17:39:19 +0900, Robert Klemme wrote:

[#71229] Re: Regexp: why does (re)* return only last repetition? — Brian Candler <B.Candler@...> 2003/05/12

On Mon, May 12, 2003 at 10:18:00PM +0900, Austin Ziegler wrote:

[#71266] Re: Regexp: why does (re)* return only last repetition? — Austin Ziegler <austin@...> 2003/05/12

On Mon, 12 May 2003 23:51:44 +0900, Brian Candler wrote:

[#71042] TCP Sockets — Dominik Werder <dwerder@...>

Hi there,

28 messages 2003/05/09
[#71089] Re: TCP Sockets — Tom Felker <tcfelker@...> 2003/05/09

On Fri, 2003-05-09 at 05:40, Dominik Werder wrote:

[#71543] Re: TCP Sockets — Dominik Werder <dwerder@...> 2003/05/16

>> How can I tell how many bytes can be read from an IO object without

[#71547] Re: TCP Sockets — Brian Candler <B.Candler@...> 2003/05/16

On Fri, May 16, 2003 at 05:14:17PM +0900, Dominik Werder wrote:

[#71550] Re: TCP Sockets — Dominik Werder <dwerder@...> 2003/05/16

my problem is not the http protocol itself (not at this time :) but the IO-

[#71551] Re: TCP Sockets — Brian Candler <B.Candler@...> 2003/05/16

On Fri, May 16, 2003 at 07:20:30PM +0900, Dominik Werder wrote:

[#71553] Re: TCP Sockets — Dominik Werder <dwerder@...> 2003/05/16

> Maybe, but threads are really the "ruby way" to solve this problem.

[#71557] Re: TCP Sockets — Brian Candler <B.Candler@...> 2003/05/16

On Fri, May 16, 2003 at 07:53:39PM +0900, Dominik Werder wrote:

[#71562] Re: TCP Sockets — Dominik Werder <dwerder@...> 2003/05/16

> That would mean mixing the binary streams in a non-deterministic way,

[#71107] RCR for child execution — Brian Candler <B.Candler@...>

Looking on RubyGarden it seems that the RCR process there is "resting", so

99 messages 2003/05/10
[#71122] Re: RCR for child execution — "Simon Strandgaard" <0bz63fz3m1qt3001@...> 2003/05/10

On Sun, 11 May 2003 01:50:49 +0900, Brian Candler wrote:

[#71126] Re: RCR for child execution — Brian Candler <B.Candler@...> 2003/05/10

On Sun, May 11, 2003 at 01:27:31AM +0900, Simon Strandgaard wrote:

[#71364] Re: RCR for child execution — "Simon Strandgaard" <0bz63fz3m1qt3001@...> 2003/05/13

On Tue, 13 May 2003 21:11:08 +0000, ahoward wrote:

[#71385] Re: RCR for child execution — matz@... (Yukihiro Matsumoto) 2003/05/14

Hi,

[#71152] Is Rubygarden's wiki restricted to English? — Mauricio Fern疣dez <batsman.geo@...>

20 messages 2003/05/11
[#71160] Re: Is Rubygarden's wiki restricted to English? — "Hal E. Fulton" <hal9000@...> 2003/05/11

----- Original Message -----

[#71165] Re: Is Rubygarden's wiki restricted to English? — Mauricio Fern疣dez <batsman.geo@...> 2003/05/11

On Mon, May 12, 2003 at 12:40:26AM +0900, Hal E. Fulton wrote:

[#71189] efficiency advice needed — "meinrad.recheis" <my.name.here@...>

hi,

12 messages 2003/05/11

[#71297] State Pattern Implementation — "Robert Klemme" <bob.news@...>

22 messages 2003/05/13

[#71361] Objects VS Datastructures — Simon Vandemoortele <deliriousREMOVEUPPERCASETEXTTOREPLY@...>

19 messages 2003/05/13

[#71447] Embedding/GC/heap corruption problem — "Jan Bernhardt" <j.bernhardt@...>

Hi,

22 messages 2003/05/14

[#71488] Test::Unit sequencing — Brian Candler <B.Candler@...>

A question for more experienced Test::Unit users.

23 messages 2003/05/15
[#71492] Re: Test::Unit sequencing — Anders Bengtsson <ndrsbngtssn@...> 2003/05/15

--- Brian Candler <B.Candler@pobox.com> wrote:

[#71508] Re: Test::Unit sequencing — ahoward <ahoward@...> 2003/05/15

On Thu, 15 May 2003, [iso-8859-1] Anders Bengtsson wrote:

[#71510] RCR: $INCLUDED global var — martindemello@... (Martin DeMello)

$INCLUDED = (__FILE__ != $0)

25 messages 2003/05/15
[#71515] Re: RCR: $INCLUDED global var — matz@... (Yukihiro Matsumoto) 2003/05/15

Hi,

[#71525] Re: RCR: $INCLUDED global var — ahoward <ahoward@...> 2003/05/15

On Fri, 16 May 2003, Yukihiro Matsumoto wrote:

[#71520] public/protected/private syntax — Guillaume Marcais <guslist@...>

I tend to find the public/protected/private keywords in Ruby a little odd.

27 messages 2003/05/15
[#71540] Re: public/protected/private syntax — "Robert Klemme" <bob.news@...> 2003/05/16

[#71573] Re: public/protected/private syntax — Guillaume Marcais <guillaume.marcais@...> 2003/05/16

On Friday 16 May 2003 03:38 am, you wrote:

[#71595] Re: public/protected/private syntax — Austin Ziegler <austin@...> 2003/05/16

On Fri, 16 May 2003 23:33:21 +0900, Guillaume Marcais wrote:

[#71560] gzip cgi compression — Dominik Werder <dwerder@...>

Is zlib compatible with HTTP-gzip-output-compression?

14 messages 2003/05/16

[#71636] select strange behavier — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

'select' is suppose to watch some file-descriptors and when an event

22 messages 2003/05/17

[#71673] An Object Going Out Of Scope — "vinita Papur" <gkapur@...>

A quick question. How can one discern when an object goes out of scope?

46 messages 2003/05/18
[#71678] Re: An Object Going Out Of Scope — "MikkelFJ" <mikkelfj-anti-spam@...> 2003/05/18

[#71680] Re: An Object Going Out Of Scope — Mauricio Fern疣dez <batsman.geo@...> 2003/05/18

On Sun, May 18, 2003 at 06:08:43PM +0900, MikkelFJ wrote:

[#71681] ruby garbage collection — "Gaffer" <gaffer@...> 2003/05/18

i need this for a realtime game application which has embedded ruby -- after

[#71683] Re: ruby garbage collection — Mauricio Fern疣dez <batsman.geo@...> 2003/05/18

On Sun, May 18, 2003 at 08:35:11PM +0900, Gaffer wrote:

[#71685] Re: ruby garbage collection — "Gaffer" <gaffer@...> 2003/05/18

strange, i found the rb_gc call on my own and called that to good effect

[#71688] Re: ruby garbage collection — "Simon Strandgaard" <0bz63fz3m1qt3001@...> 2003/05/18

On Sun, 18 May 2003 22:10:18 +0900, Gaffer wrote:

[#71689] Re: ruby garbage collection — "Gaffer" <gaffer@...> 2003/05/18

i think its actually the GC cleaning up matrix and vector classes (my own

[#71691] Re: ruby garbage collection — "Simon Strandgaard" <0bz63fz3m1qt3001@...> 2003/05/18

On Sun, 18 May 2003 22:39:17 +0900, Gaffer wrote:

[#71692] Re: ruby garbage collection — "Gaffer" <gaffer@...> 2003/05/18

i'm pretty sure i've tracked down the cause, this is my first time embedding

[#71695] Re: ruby garbage collection — "Simon Strandgaard" <0bz63fz3m1qt3001@...> 2003/05/18

On Sun, 18 May 2003 23:48:28 +0900, Gaffer wrote:

[#71948] How I'd like method-wrapping to work... — "Hal E. Fulton" <hal9000@...>

OK, I read Matz's blog entries as well as I could.

16 messages 2003/05/21

[#72030] why is "does" missing from this sub!-stitution? — Dave Oshel <dcoshel@...>

[~/Desktop] dave$ cat foobar.rb ; foobar.rb

19 messages 2003/05/22
[#72037] Re: why is "does" missing from this sub!-stitution? — Dave Oshel <dcoshel@...> 2003/05/22

In article <20030522202818.GA24497@student.ei.uni-stuttgart.de>,

[#72056] Naive CGI question — "Hal E. Fulton" <hal9000@...>

I'm betting this is either impossible

15 messages 2003/05/23

[#72134] Problem compiling extension on Solaris — "Tim Hunter" <cyclists@...>

I have an user who is trying to build RMagick on Solaris with Ruby 1.6.8.

22 messages 2003/05/25
[#72262] Re: Problem compiling extension on Solaris — Daniel Berger <djberge@...> 2003/05/27

[#72150] Binary Tree vs. Hash — Xiangrong Fang <xrfang@...>

Hi ruby fans,

47 messages 2003/05/26

[#72184] Project Directory Structure — Jim Freeze <jim@...>

Hi:

47 messages 2003/05/26
[#72218] Re: Project Directory Structure — "MikkelFJ" <mikkelfj-anti-spam@...> 2003/05/26

[#72222] Re: Project Directory Structure — Jim Freeze <jim@...> 2003/05/26

Thanks everyone for your input so far.

[#72244] Re: Project Directory Structure — Robert Feldt <feldt@...> 2003/05/27

On Tue, 27 May 2003, Jim Freeze wrote:

[#72260] Re: Project Directory Structure — Jim Freeze <jim@...> 2003/05/27

On Tuesday, 27 May 2003 at 18:26:53 +0900, Robert Feldt wrote:

[#72265] Re: Project Directory Structure — Jim Freeze <jim@...> 2003/05/27

Thanks for all the input. A description of the Project

[#72269] Re: Project Directory Structure — Robert Feldt <feldt@...> 2003/05/27

On Wed, 28 May 2003, Jim Freeze wrote:

[#72274] RCR: unpack/pack Bignum — Robert Feldt <feldt@...>

I'm sure this has been discussed before and maybe there are good reasons

27 messages 2003/05/27
[#72375] Re: RCR: unpack/pack Bignum — Robert Feldt <feldt@...> 2003/05/28

No one seems to be interested in this issue so I'll have to reply to

[#72381] Re: RCR: unpack/pack Bignum — nobu.nokada@... 2003/05/28

Hi,

[#72394] Re: RCR: unpack/pack Bignum — Robert Feldt <feldt@...> 2003/05/29

On Thu, 29 May 2003 nobu.nokada@softhome.net wrote:

[#72403] Re: RCR: unpack/pack Bignum — nobu.nokada@... 2003/05/29

Hi,

[#72600] What is BER compression? (was RCR: unpack/pack Bignum) — Sam Roberts <sroberts@...> 2003/05/31

Is it documented anywhere, what this 'w' template is useful for?

[#72371] Windows Installer for Ruby 1.8.0 (CVS) — Andrew Hunt <andy@...>

Hi all,

16 messages 2003/05/28

[#72388] Array.extend versus instance.extend — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

I want to install 'shift_until_kind_of' in the global Array class

18 messages 2003/05/29

[#72420] Metakit for Ruby - Would you want it? — bobx@... (Bob)

I have a gentleman in England who I have been talking with who is

23 messages 2003/05/29

[#72439] Iteration - last detection — "Orion Hunter" <orion2480@...>

Is there any built in functionality for iteration that will allow me to

41 messages 2003/05/29
[#72510] Re: Iteration - last detection — Carlos <angus@...> 2003/05/30

> Is there any built in functionality for iteration that will allow me to

[#72577] IF statement in ruby 1.8.0 (2003-05-26) [i386-mswin32] — "Shashank Date" <sdate@...>

Just when I thought that I had perfectly understood the IF statement in

14 messages 2003/05/31

Re: [Q]: CGI::Session

From: ahoward <ahoward@...>
Date: 2003-05-30 04:26:15 UTC
List: ruby-talk #72489
On Fri, 30 May 2003, Tom Danielsen wrote:

> I created a MarshaledFileStore class (slightly modified FileStore),
> but it won't work for some mysterious reason :

i did something similar a while back - i've used in many cgi programs and it
works great

  http://raa.ruby-lang.org/list.rhtml?name=cgi-sess-pstore

-a

>
> [Sat May 31 03:26:37 2003] [error] mod_ruby: error in ruby
> /usr/local/lib/ruby/1.8/cgi/session.rb:155:in `dump': singleton can't be dumped (TypeError)
>         from /usr/local/lib/ruby/1.8/cgi/session.rb:155:in `update'
>         from /usr/local/lib/ruby/1.8/cgi/session.rb:161:in `close'
>         from /usr/local/lib/ruby/1.8/cgi/session.rb:96:in `close'
>         from /www/htdocs/app1.rbx:45
>         from /usr/local/lib/ruby/1.8/apache/ruby-run.rb:70:in `load'
>         from /usr/local/lib/ruby/1.8/apache/ruby-run.rb:70:in `handler'
>
> This is what the hash looks like (output from my modified session.rb) :
>
> /www% more /tmp/h.h
> class of @hash is 'Hash'
> {"name"=>"test", "visited"=>8}
> 'name' (String) => 'test' (String)
> 'visited' (String) => '8' (Fixnum)
> /www%
>
> So......singleton ??
>
> And here is the modified session.rb :
>
> regards,
>     Tom
>
>
> ------------- cut -------------
> # Copyright (C) 2001  Yukihiro "Matz" Matsumoto
> # Copyright (C) 2000  Network Applied Communication Laboratory, Inc.
> # Copyright (C) 2000  Information-technology Promotion Agency, Japan
>
> require 'cgi'
>
> class CGI
>   class Session
>
>     attr_reader :session_id
>
>     def Session::callback(dbman)
>       lambda{
> 	dbman[0].close unless dbman.empty?
>       }
>     end
>
>     def Session::create_new_id
>       require 'digest/md5'
>       md5 = Digest::MD5::new
>       md5.update(String(Time::now))
>       md5.update(String(rand(0)))
>       md5.update(String($$))
>       md5.update('foobar')
>       ### TOM md5.hexdigest[0,16]
>       md5.hexdigest
>     end
>
>     def initialize(request, option={})
>       session_key = option['session_key'] || '_session_id'
>       id, = option['session_id']
>       unless id
> 	if option['new_session']
> 	  id = Session::create_new_id
> 	end
>       end
>       unless id
> 	id, = request[session_key]
>         id = id.read if id.respond_to?(:read)
> 	unless id
> 	  id, = request.cookies[session_key]
> 	end
> 	unless id
> 	  if option.key?('new_session') and not option['new_session']
> 	    raise ArgumentError, "session_key `%s' should be supplied"%session_key
> 	  end
> 	  id = Session::create_new_id
> 	end
>       end
>       @session_id = id
>       dbman = option['database_manager'] || FileStore
>       @dbman = dbman::new(self, option)
>       request.instance_eval do
> 	@output_hidden = {session_key => id}
> 	@output_cookies =  [
>           Cookie::new("name" => session_key,
> 		      "value" => id,
> 		      "expires" => option['session_expires'],
> 		      "domain" => option['session_domain'],
> 		      "secure" => option['session_secure'],
> 		      "path" => if option['session_path'] then
> 				  option['session_path']
> 		                elsif ENV["SCRIPT_NAME"] then
> 				  File::dirname(ENV["SCRIPT_NAME"])
> 				else
> 				  ""
> 				end)
>         ]
>       end
>       @dbprot = [@dbman]
>       ObjectSpace::define_finalizer(self, Session::callback(@dbprot))
>     end
>
>     def [](key)
>       unless @data
> 	@data = @dbman.restore
>       end
>       @data[key]
>     end
>
>     def []=(key, val)
>       unless @write_lock
> 	@write_lock = true
>       end
>       unless @data
> 	@data = @dbman.restore
>       end
>       @data[key] = val
>     end
>
>     def update
>       @dbman.update
>     end
>
>     def close
>       @dbman.close
>       @dbprot.clear
>     end
>
>     def delete
>       @dbman.delete
>       @dbprot.clear
>     end
>
>
>
>
>
>
>
>     class MarshaledFileStore
>       def check_id(id)
> 	/[^0-9a-zA-Z]/ =~ id.to_s ? false : true
>       end
>
>       def initialize(session, option={})
> 	dir = option['tmpdir'] || ENV['TMP'] || '/tmp'
> 	prefix = option['prefix'] || ''
> 	id = session.session_id
> 	unless check_id(id)
> 	  raise ArgumentError, "session_id `%s' is invalid" % id
> 	end
> 	path = dir+"/"+prefix+id
> 	path.untaint
> 	unless File::exist? path
> 	  @hash = {}
> 	end
> 	begin
> 	  @f = open(path, "r+")
> 	rescue Errno::ENOENT
> 	  @f = open(path, "w+")
> 	end
>       end
>
>       def restore
> 	unless @hash
> 	  @hash = {}
> 	  @f.flock File::LOCK_EX
> 	  @f.rewind
> 	  @hash = Marshal.load(@f)
> 	end
> 	@hash
>       end
>
>       def update
> 	return unless @hash
> 	@f.rewind
> 		File.open("/tmp/h.h","w+") { |f|
> 			f.print "class of @hash is '#{@hash.class.to_s}'\n"
> 			f.print @hash.inspect + "\n"
> 			@hash.each { |k,v|
> 				f.print "'#{k.to_s}' (#{k.class.to_s}) => '#{v.to_s}' (#{v.class.to_s})\n"
> 			}
> 		}
> 	Marshal.dump(@hash, @f)
> 	@f.truncate @f.tell
>       end
>
>       def close
> 	return if @f.closed?
> 	update
> 	@f.close
>       end
>
>       def delete
> 	path = @f.path
> 	@f.close
> 	File::unlink path
>       end
>     end
>
>
>
>
>
>
>
>
>
>
>
>     class FileStore
>       def check_id(id)
> 	/[^0-9a-zA-Z]/ =~ id.to_s ? false : true
>       end
>
>       def initialize(session, option={})
> 	dir = option['tmpdir'] || ENV['TMP'] || '/tmp'
> 	prefix = option['prefix'] || ''
> 	id = session.session_id
> 	unless check_id(id)
> 	  raise ArgumentError, "session_id `%s' is invalid" % id
> 	end
> 	path = dir+"/"+prefix+id
> 	path.untaint
> 	unless File::exist? path
> 	  @hash = {}
> 	end
> 	begin
> 	  @f = open(path, "r+")
> 	rescue Errno::ENOENT
> 	  @f = open(path, "w+")
> 	end
>       end
>
>       def restore
> 	unless @hash
> 	  @hash = {}
> 	  @f.flock File::LOCK_EX
> 	  @f.rewind
> 	  for line in @f
> 	    line.chomp!
> 	    k, v = line.split('=',2)
> 	    @hash[CGI::unescape(k)] = CGI::unescape(v)
> 	  end
> 	end
> 	@hash
>       end
>
>       def update
> 	return unless @hash
> 	@f.rewind
> 	for k,v in @hash
> 	  @f.printf "%s=%s\n", CGI::escape(k), CGI::escape(String(v))
> 	end
> 	@f.truncate @f.tell
>       end
>
>       def close
> 	return if @f.closed?
> 	update
> 	@f.close
>       end
>
>       def delete
> 	path = @f.path
> 	@f.close
> 	File::unlink path
>       end
>     end
>
>
>
>
>
>
>
>
>
>
>
>
>     class MemoryStore
>       GLOBAL_HASH_TABLE = {}
>
>       def initialize(session, option=nil)
> 	@session_id = session.session_id
> 	GLOBAL_HASH_TABLE[@session_id] ||= {}
>       end
>
>       def restore
> 	GLOBAL_HASH_TABLE[@session_id]
>       end
>
>       def update
> 	# don't need to update; hash is shared
>       end
>
>       def close
> 	# don't need to close
>       end
>
>       def delete
> 	GLOBAL_HASH_TABLE.delete(@session_id)
>       end
>     end
>   end
> end
>
>
>
>
>

-a
--
  ====================================
  | Ara Howard
  | NOAA Forecast Systems Laboratory
  | Information and Technology Services
  | Data Systems Group
  | R/FST 325 Broadway
  | Boulder, CO 80305-3328
  | Email: ara.t.howard@fsl.noaa.gov
  | Phone:  303-497-7238
  | Fax:    303-497-7259
  | ~ > ruby -e 'p % ^) .intern'
  ====================================

In This Thread