[#20675] RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...>

Hi,

49 messages 2001/09/01
[#20774] Re: RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...> 2001/09/03

I wrote:

[#20778] Re: RCR: non-bang equivalent to []= — Kevin Smith <kevinbsmith@...> 2001/09/03

--- Tobias Reif <tobiasreif@pinkjuice.com> wrote:

[#20715] oreilly buch von matz - website online — markus jais <info@...>

hi

43 messages 2001/09/02
[#20717] Re: OReilly Ruby book has snail on cover — ptkwt@...1.aracnet.com (Phil Tomson) 2001/09/02

Actually, thanks for posting it here. I was trying to search OReilly's

[#20922] Re: OReilly Ruby book has snail on cover — Paul Brannan <pbrannan@...> 2001/09/05

On Mon, 3 Sep 2001, Phil Tomson wrote:

[#20768] Minor cgi.rb question — "Hal E. Fulton" <hal9000@...>

I don't have much experience with

25 messages 2001/09/03

[#20770] Calling member methods from C++ — jglueck@... (Bernhard Glk)

Some quetsions have been solved for me, but my message system does not

12 messages 2001/09/03

[#20976] destructor — Frank Sonnemans <ruby@...>

Does Ruby have a destructor as in C++?

25 messages 2001/09/07

[#21218] Ruby objects <-> XML: anyone working on this? — senderista@... (Tobin Baker)

Are there any Ruby analogs of these two Python modules (xml_pickle,

13 messages 2001/09/15

[#21296] nested require files need path internally — Bob Gustafson <bobgus@...>

Version: 1.64

29 messages 2001/09/18
[#21298] Re: nested require files need path internally — David Alan Black <dblack@...> 2001/09/18

Hello --

[#21302] Re: nested require files need path internally — Bob Gustafson <bobgus@...> 2001/09/18

On Tue, 18 Sep 2001, David Alan Black wrote:

[#21303] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21306] Re: nested require files need path internally — Lars Christensen <larsch@...> 2001/09/18

On Tue, 18 Sep 2001, Yukihiro Matsumoto wrote:

[#21307] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21331] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

> The big difference is C++ search done in compile time, Ruby search

[#21340] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21353] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21366] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21368] Re: nested require files need path internally — "Julian Fitzell" <julian-ml@...4.com> 2001/09/19

On 19/09/2001 at 10:12 AM matz@ruby-lang.org wrote:

[#21376] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21406] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/19

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21315] Suggestions for new CGI lib — anders@... (Anders Johannsen)

From the comp.lang.ruby thread "Minor cgi.rb question" (2001-09-03), I

21 messages 2001/09/18

[#21413] Ruby/objects book in style of The Little Lisper — Brian Marick <marick@...>

I fell in love with Lisp in the early 80's. Back then, I read a book called

36 messages 2001/09/19
[#21420] Re: Ruby/objects book in style of The Little Lisper — Christopher Sawtell <csawtell@...> 2001/09/20

On 20 Sep 2001 06:19:44 +0900, Brian Marick wrote:

[#21479] Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Christopher Sawtell <csawtell@paradise.net.nz> wrote:

[#21491] SV: Re: Ruby/objects book in style of The Little Lisper — "Mikkel Damsgaard" <mikkel_damsgaard@...> 2001/09/21

[#21494] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Mikkel Damsgaard <mikkel_damsgaard@mailme.dk> wrote:

[#21510] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Todd Gillespie <toddg@...> 2001/09/22

On Sat, 22 Sep 2001, Kevin Smith wrote:

[#21514] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/22

--- Todd Gillespie <toddg@mail.ma.utexas.edu> wrote:

[#21535] irb — Fabio <fabio.spelta@...>

Hello. :) I'm new here, and I have not found an archive of the previous

15 messages 2001/09/22

[#21616] opening a named pipe? — "Avdi B. Grimm" <avdi@...>

I'm having trouble reading from a named pipe in linux. basicly, I'm

12 messages 2001/09/24

[#21685] manipulating "immutable" objects such as Fixnum from within callbacks & al... — Guillaume Cottenceau <gc@...>

Hello,

15 messages 2001/09/25

[#21798] Ruby internal (guide to the source) — "Benoit Cerrina" <benoit.cerrina@...>

Hi,

22 messages 2001/09/28

[ruby-talk:21500] Re: Speed

From: Jimmy Thrasher <jjthrash@...>
Date: 2001-09-21 20:10:13 UTC
List: ruby-talk #21500
If you're not totally adverse to writing in Java, take a look at the
WBI framework (http://www.almaden.ibm.com/cs/wbi), which is free.  It's
designed for that sort of thing.  In fact, if you're willing to spend
a lot of money, look at WebSphere Transcoding Publisher
(http://www.ibm.com/software/webservers/transcoding).  It is based on
WBI, and provides a lot of functionality for modifying the content of
pages (largely for HTML->WML changes and things like that).

You might even be able to write plugins for WBI in Ruby, using this
Java Ruby interpreter.  ;)

Jimmy

David Tillman wrote:
> 
>   Hello all,
> 
>     I would like to speed up the following bit of code if possible.
>     This is sort of a toy proxy server.
> 
>     I initially knocked it together earlier this week when the latest
>     MS IIS exploit was announced.  One thing the offending virus does
>     is attach a javascript command to fetch a "readme.eml" from the
>     infected server.
> 
>     We use squid as a caching proxy server.  This bit of code goes
>     between the client and the proxy server and rewrites pages on the
>     fly.
> 
>     One could have great fun with an unsuspecting victim as you
>     insert their name in place of George Bush, whatever.  My actual
>     intentions were to replace "readme.eml" with something benign.
>     It also works quite well as a banner-ad killer.
> 
>     With a little effort it could also be made to cache pages and
>     retrieve pages directly.  As I already have squid for that I
>     didn't want to reinvent the wheel.
> 
>     As it stands now the speed is acceptable, but a bit on the slow
>     side.  Is there anything I can do to optimize? (besides turning
>     off the debug info)
> 
>     -Dave
> 
> #!/usr/local/bin/ruby
> 
> require 'tempfile'
> require 'socket'
> 
> Rproxy_port = 3031
> Squid_port = 3128
> Host = '172.16.16.13'
> 
> server = TCPServer.new(Host, Rproxy_port)
> 
> while TRUE
> 
>   Thread.new(session = server.accept) { |my_session|
>     puts "***Thread count: #{Thread.list.length}"
>     puts "***#{Thread.current}: Accepted connection from client."
> 
>     squid = TCPSocket.new(Host, Squid_port)
>     puts "***#{Thread.current}: Opened socket to squid."
> 
>     request = my_session.recvfrom(2048)
>     print "***#{Thread.current}: Request: #{request[0]}\n"
> 
>     squid.print(request[0])
>     puts "***#{Thread.current}: Gave request to squid."
> 
> 
>     tf = Tempfile.new("rproxy")
> 
>     answer = squid.recvfrom(1024)
>     while (answer[0].length > 0)
>       tf.print(answer[0])
>       answer = squid.recvfrom(1024)
>     end
> 
>     squid.close
>     puts "***#{Thread.current}: Closed socket to squid."
> 
>     tf.pos = 0
> 
>     headers = {}
>     line = tf.gets("\r\n")
>     while (line != "\r\n")
>       line.chomp!("\r\n")
>       title, data = line.split(/: /)
>       headers[title] = data
>       line = tf.gets
>     end
> 
>     tf.pos = 0
> 
> 
>     if (headers["Content-Type"] == "text/html")
>       while (answer = tf.gets("\r\n"))
>         answer.gsub!(/readme\.eml/, "foo.html")
>         my_session.print answer
>       end
>     else
>       answer = tf.read(1024)
>       while (answer)
>         my_session.print answer
>         answer = tf.read(1024)
>       end
> 
>     end
> 
>     my_session.close
>     puts "***#{Thread.current}: Closed socket to client."
> 
> 
>     tf.close
> 
>     puts "***#{Thread.current}: Content-Type = #{headers['Content-Type']}"
>   }
> 
> 
> end

In This Thread