[#6954] Why isn't Perl highly orthogonal? — Terrence Brannon <brannon@...>

27 messages 2000/12/09

[#7022] Re: Ruby in the US — Kevin Smith <kevinbsmith@...>

> Is it possible for the US to develop corporate

36 messages 2000/12/11
[#7633] Re: Ruby in the US — Dave Thomas <Dave@...> 2000/12/19

tonys@myspleenklug.on.ca (tony summerfelt) writes:

[#7636] Re: Ruby in the US — "Joseph McDonald" <joe@...> 2000/12/19

[#7704] Re: Ruby in the US — Jilani Khaldi <jilanik@...> 2000/12/19

> > first candidates would be mysql and postgressql because source is

[#7705] Code sample for improvement — Stephen White <steve@...> 2000/12/19

During an idle chat with someone on IRC, they presented some fairly

[#7750] Re: Code sample for improvement — "Guy N. Hurst" <gnhurst@...> 2000/12/20

Stephen White wrote:

[#7751] Re: Code sample for improvement — David Alan Black <dblack@...> 2000/12/20

Hello --

[#7755] Re: Code sample for improvement — "Guy N. Hurst" <gnhurst@...> 2000/12/20

David Alan Black wrote:

[#7758] Re: Code sample for improvement — Stephen White <steve@...> 2000/12/20

On Wed, 20 Dec 2000, Guy N. Hurst wrote:

[#7759] Next amusing problem: talking integers (was Re: Code sample for improvement) — David Alan Black <dblack@...> 2000/12/20

On Wed, 20 Dec 2000, Stephen White wrote:

[#7212] New User Survey: we need your opinions — Dave Thomas <Dave@...>

16 messages 2000/12/14

[#7330] A Java Developer's Wish List for Ruby — "Richard A.Schulman" <RichardASchulman@...>

I see Ruby as having a very bright future as a language to

22 messages 2000/12/15

[#7354] Ruby performance question — Eric Crampton <EricCrampton@...>

I'm parsing simple text lines which look like this:

21 messages 2000/12/15
[#7361] Re: Ruby performance question — Dave Thomas <Dave@...> 2000/12/15

Eric Crampton <EricCrampton@worldnet.att.net> writes:

[#7367] Re: Ruby performance question — David Alan Black <dblack@...> 2000/12/16

On Sat, 16 Dec 2000, Dave Thomas wrote:

[#7371] Re: Ruby performance question — "Joseph McDonald" <joe@...> 2000/12/16

[#7366] GUIs for Rubies — "Conrad Schneiker" <schneik@...>

Thought I'd switch the subject line to the subject at hand.

22 messages 2000/12/16

[#7416] Re: Ruby IDE (again) — Kevin Smith <kevins14@...>

>> >> I would contribute to this project, if it

17 messages 2000/12/16
[#7422] Re: Ruby IDE (again) — Holden Glova <dsafari@...> 2000/12/16

-----BEGIN PGP SIGNED MESSAGE-----

[#7582] New to Ruby — takaoueda@...

I have just started learning Ruby with the book of Thomas and Hunt. The

24 messages 2000/12/18

[#7604] Any corrections for Programming Ruby — Dave Thomas <Dave@...>

12 messages 2000/12/18

[#7737] strange border-case Numeric errors — "Brian F. Feldman" <green@...>

I haven't had a good enough chance to familiarize myself with the code in

19 messages 2000/12/20

[#7801] Is Ruby part of any standard GNU Linux distributions? — "Pete McBreen, McBreen.Consulting" <mcbreenp@...>

Anybody know what it would take to get Ruby into the standard GNU Linux

15 messages 2000/12/20

[#7938] Re: defined? problem? — Kevin Smith <sent@...>

matz@zetabits.com (Yukihiro Matsumoto) wrote:

26 messages 2000/12/22
[#7943] Re: defined? problem? — Dave Thomas <Dave@...> 2000/12/22

Kevin Smith <sent@qualitycode.com> writes:

[#7950] Re: defined? problem? — Stephen White <steve@...> 2000/12/22

On Fri, 22 Dec 2000, Dave Thomas wrote:

[#7951] Re: defined? problem? — David Alan Black <dblack@...> 2000/12/22

On Fri, 22 Dec 2000, Stephen White wrote:

[#7954] Re: defined? problem? — Dave Thomas <Dave@...> 2000/12/22

David Alan Black <dblack@candle.superlink.net> writes:

[#7975] Re: defined? problem? — David Alan Black <dblack@...> 2000/12/22

Hello --

[#7971] Hash access method — Ted Meng <ted_meng@...>

Hi,

20 messages 2000/12/22

[#8030] Re: Basic hash question — ts <decoux@...>

>>>>> "B" == Ben Tilly <ben_tilly@hotmail.com> writes:

15 messages 2000/12/24
[#8033] Re: Basic hash question — "David A. Black" <dblack@...> 2000/12/24

On Sun, 24 Dec 2000, ts wrote:

[#8178] Inexplicable core dump — "Nathaniel Talbott" <ntalbott@...>

I have some code that looks like this:

12 messages 2000/12/28

[#8196] My first impression of Ruby. Lack of overloading? (long) — jmichel@... (Jean Michel)

Hello,

23 messages 2000/12/28

[#8198] Re: Ruby cron scheduler for NT available — "Conrad Schneiker" <schneik@...>

John Small wrote:

14 messages 2000/12/28

[#8287] Re: speedup of anagram finder — "SHULTZ,BARRY (HP-Israel,ex1)" <barry_shultz@...>

> -----Original Message-----

12 messages 2000/12/29

[ruby-talk:8417] Re: RAA-ANN: rbwrap 0.1.0

From: Robert Feldt <feldt@...>
Date: 2000-12-31 14:32:32 UTC
List: ruby-talk #8417
On Sat, 30 Dec 2000, Kevin Smith wrote:

> Robert Feldt wrote:
> >rbwrap - Creating stand-alone executables from Ruby programs
> >
> >It's inspired by previous discussion on ruby-talk and by the
> >wrapping/freezing utilities of python and tcl.
> 
> Excellent. Having written a prototype to 
> accomplish a similar goal, I'm quite interested 
> in your approach.
> 
Would be great if we can combine our efforts to make a good and genereal
Ruby wrapper.

> >2. copy rbwrap.rb and memunwrapper.c to were you want to wrap exe's
> (snip)
> >Requirements?
> >-------------
> >Windows NT or 2000, Cygwin 1.1.x with gcc compiler, and Ruby 1.6.x.
> 
> Ok. I gather you pack everything into a 
> proprietary format, and unpack it at run-time. I 
> had considered this approach, but had security 
> concerns. It means that the app is writing out 
> files that will then be executed (exe's and/or 
> dll's in Win-speak). I wasn't sure if *nix folks 
> would be offended by that, or if it's perfectly 
> acceptable. (I'd appreciate *nix folks speaking 
> up--I'm a long-time Windows guy who just recently 
> switched).
> 
Yes, I had to do it this way since I:
1, Couldn't find a way to statically link to the dll's
2, Couldn't load the dll's from memory.

We could probably work around 1 by tweaking with mkmf that people use to
compile their extensions. Ideas anyone?

There might be a way to fix 2. There is a program called PEbundle from
Collake Software doing it so it should be possible... Anyone knows how?

> It seems like you could pre-compile your 
> unpacker. The packer could then append all the 
> other pieces to the end of a copy of the unpacker 
> (that's what I had done). It would avoid the 
> requirement that the person doing the packaging 
> has access to a C compiler. Thoughts?
> 
I did this in my first version (not released though). However when you
append to exe files they are not in Win32 PE format so they cannot be
compressed with UPX. In the file DESIGN in the rbwrap package I
discuss some different approaches:

---------EXTRACT FROM FILE DESIGN----------------------------
There are many different ways to create the executable. They can be
classified according to:

* Unwrapper (uw) or embedded interpreter (er) used
* Compile needed (compile) or files appended (append) to unwrapper,
* Which files unwrapped to disc during execution.
	wtdall = All files Written-To-Disc
	wtdext = Extensions Written-To-Disc

rbwrap currently supports:
* uw-append-wtdall - All files are appended to an unwrapping exe. During
  execution they are all written to disc.
    Pros: + No need for compiler => non-power users can wrap
          + Simple
    Cons: - UPX does not work since final exe does not conform to win32
	    PE format
	  - Scripts and extensions written to disc
          - files unwrapped from disc => slower

* uw-compile-wtdall - Wrapped files are inserted into unwrapper source
  code and compiled.
    Pros: + UPX works since output from compiler conforms to win32 PE
            format
          + Faster since files are unwrapped from mem
          + Simple
    Cons: - Compiler needed
          - Scripts and extensions written to disc

but it would be nice in the future to also support:

* er-compile-wtdext - Compiled exe with embedded interpreter. Script
  files need not be wtd and then loaded if require calls are
  intercepted and the corresponding scripts loaded directly from mem.
    Pros: + No need to WTD and then load script files => Faster??
          + No need to find and wrap ruby exe (or dll)
    Cons: - Extensions written to disc

* er-compile-wtdnone - Compiled exe with embedded interpreter and
  in-memory dll redirection. I'm not sure how this is done but
  PEBundle by Collake Software claims to do it so it should be
  possible.
    Pros: + No files written to disc => faster and simpler
    Cons: - Not known how this is implemented

Other ideas are to statically link to the extensions but I'm unsure if
this is supported on any/all platforms?
---------------END OF EXTRACT-------------------------

The "problems" with uw-append-wtdall can be partially overcomed by
upx-compressing prior to appending.

> >rbwrap will likely fail to find dependencies if you dynamically decide
> >what
> >modules to require/load into your program. However, you can explicitly 
> >specify files that rbwrap didn't find. Just list them after your program
> >on the command line.
> 
> My prototype had the same problem. You have a 
> nice solution.
> 
> I'll take a look, but that particular project has 
> fallen a few notches on my to-do list. I would 
> apreciate if you could confirm my beliefs about 
> your approach.
> 
Hope this mail helps.

Happy new year!

Regards,

Robert

In This Thread

Prev Next