[#390749] Why are there so many similar/identical methods in core classes — Kassym Dorsel <k.dorsel@...>

Let's look at the Array class and start with method aliases.

14 messages 2011/12/02

[#390755] Inverse Operation of Module#include — Su Zhang <su.comp.lang.ruby@...>

Hi list,

21 messages 2011/12/02
[#390759] Re: Inverse Operation of Module#include — Ryan Davis <ryand-ruby@...> 2011/12/02

[#390764] Re: Inverse Operation of Module#include — Isaac Sanders <isaacbfsanders@...> 2011/12/02

I would suggest an Adapter pattern use here. IF there is something that has

[#390876] black magical hash element vivification — Chad Perrin <code@...>

Ruby (1.9.3p0 to be precise, installed with RVM) is not behaving as I

12 messages 2011/12/05

[#390918] WEB SURVEY about Ruby Community — Intransition <transfire@...>

Did any one else get this survey request?

14 messages 2011/12/07

[#390976] Confusing results from string multiplication — Rob Marshall <robmarshall@...>

Hi,

19 messages 2011/12/08

[#391019] How can I do h["foo"] += "bar" if h["foo"] does not exist? — "Andrew S." <andrewinfosec@...>

Hi there,

13 messages 2011/12/09

[#391027] reading from file without end-of-lines — Janko Muzykant <umrzykus@...>

hi,

20 messages 2011/12/09
[#391028] Re: reading from file without end-of-lines — Gavin Sinclair <gsinclair@...> 2011/12/09

> i'm trying to read a few text values from single file:

[#391031] Re: reading from file without end-of-lines — Robert Klemme <shortcutter@...> 2011/12/09

On Fri, Dec 9, 2011 at 9:58 AM, Gavin Sinclair <gsinclair@gmail.com> wrote:

[#391042] Re: reading from file without end-of-lines — Gavin Sinclair <gsinclair@...> 2011/12/09

On Fri, Dec 9, 2011 at 8:18 PM, Robert Klemme

[#391135] I need advice on what to do next. — Nathan Kossaeth <system_freak_2004@...>

I am new to programming. I read the ebook "Learn to Program" by Chris

23 messages 2011/12/12

[#391216] perf optimization using profile results — Chuck Remes <cremes.devlist@...>

I need some help with optimizing a set of libraries that I use. They are ffi-rzmq, zmqmachine and rzmq_brokers (all up on github).

13 messages 2011/12/13
[#391218] Re: perf optimization using profile results — Chuck Remes <cremes.devlist@...> 2011/12/13

On Dec 13, 2011, at 9:57 AM, Chuck Remes wrote:

[#391234] Re: perf optimization using profile results — Charles Oliver Nutter <headius@...> 2011/12/14

A couple quick observations.

[#391238] Re: perf optimization using profile results — Chuck Remes <cremes.devlist@...> 2011/12/14

On Dec 13, 2011, at 7:03 PM, Charles Oliver Nutter wrote:

[#391324] ruby 1.9 threading performance goes non-linear — Joel VanderWerf <joelvanderwerf@...>

12 messages 2011/12/16
[#391325] Re: ruby 1.9 threading performance goes non-linear — Eric Wong <normalperson@...> 2011/12/16

Joel VanderWerf <joelvanderwerf@gmail.com> wrote:

[#391420] Accessing class instance variables from an instance? — "Shareef J." <shareef@...>

Hi there,

26 messages 2011/12/20
[#391454] Re: Accessing class instance variables from an instance? — Khat Harr <myphatproxy@...> 2011/12/21

Actually, now that I'm thinking about it the existing behavior sort of

[#391456] Re: Accessing class instance variables from an instance? — Josh Cheek <josh.cheek@...> 2011/12/21

On Tue, Dec 20, 2011 at 9:42 PM, Khat Harr <myphatproxy@hotmail.com> wrote:

[#391545] Kernel#exit raises an exception? — Khat Harr <myphatproxy@...>

While I was working on embedding an interpreter I wrote a function to

13 messages 2011/12/24

[#391618] rvmsh: An easy installer for RVM — Bryan Dunsmore <dunsmoreb@...>

I have recently begun work on a project called [rvmsh]

12 messages 2011/12/29

[#391783] Mailspam — Gunther Diemant <g.diemant@...>

Is there a way to stop this mailspam of Luca (Mail)?

12 messages 2011/12/29

[#391790] What’s the standard way of implementing #hash for value objects in Ruby? — Nikolai Weibull <now@...>

Hi!

23 messages 2011/12/29
[#391792] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Gunther Diemant <g.diemant@...> 2011/12/29

I think you can't access instance variables from a class method, so

[#391793] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Nikolai Weibull <now@...> 2011/12/29

On Thu, Dec 29, 2011 at 15:52, Gunther Diemant <g.diemant@gmx.net> wrote:

[#391811] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Robert Klemme <shortcutter@...> 2011/12/29

On Thu, Dec 29, 2011 at 4:06 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#391812] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Nikolai Weibull <now@...> 2011/12/29

On Fri, Dec 30, 2011 at 00:26, Robert Klemme <shortcutter@googlemail.com> w=

[#391816] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Josh Cheek <josh.cheek@...> 2011/12/30

On Thu, Dec 29, 2011 at 5:47 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#391833] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Robert Klemme <shortcutter@...> 2011/12/30

On Fri, Dec 30, 2011 at 12:47 AM, Nikolai Weibull <now@bitwi.se> wrote:

Re: Ruby, SAFE, method interception, and plugins

From: Garthy D <garthy_lmkltybr@...>
Date: 2011-12-18 08:37:49 UTC
List: ruby-talk #391360
A quick addendum: I forgot to mention that I'm quite comfortable using 
Ruby, embedded Ruby, and the like- I just haven't worked on anything 
resembling this problem with Ruby before.

On 18/12/11 18:46, Garthy D wrote:
>
> Hi all,
>
> I am working on an embedded Ruby application that may support
> user-written Ruby plugins in the future, and I am trying to get a rough
> idea as to what is and isn't possible, as it will affect the design I go
> with. Basically, if you've worked on such a thing before, please share
> your experiences. :)
>
> The ideal in my case is that the app will load in user-written Ruby code
> as a plugin, and the plugin author can interact with the rest of the
> code via a predefined and restricted set of objects and methods, but
> cannot mess with things outside of its environment, and especially not
> start exploring outside that environment in any way. I want to be able
> to completely lock the user out of using certain objects or classes.
>
> Having not done anything like this in Ruby before, I'm trying to get a
> feel as to what might be possible and practical.
>
> For example, many of the criteria in a $SAFE level of 4 seem appropriate
> to me- although what I'm really after is a way to lock things up, call
> some user code, and then revert back to a normal $SAFE level. It looks
> like the only way this could really be done though is to launch the
> plugin in its own (Ruby) thread and handle any synchronisation issues
> arising from it myself. Is this right?
>
> Being able to set up my own access control by intercepting every method
> call made by the plugin would also be useful. I could then, for example,
> have a set of testing criteria that I could use on each method call to
> determine if it should be allowed (for example, class whitelists). I
> wonder if I could set up a series of proxy objects for objects that I'd
> like to wrap, but I wouldn't want a plugin author to use those proxy
> classes to get at the original objects, and mess with them directly. The
> interface could be as thin as two objects- an application object that
> you send messages to, and a plugin base object that the plugin uses to
> receive messages from the application. In this case I'd like the user to
> be able to create their own classes, manipulate strings and arrays (for
> example), but not interact with any of the remaining Ruby code at all,
> and certainly not examine it in any way.
>
> As some app users might run plugins other app users have written, being
> able to limit the damage they can cause is also important. I'm not
> fussed if certain operations could cause a denial of service (eg. just
> run "while true; end"), as the environment would be such that the
> affected user could just kill the process and disable the plugin- it's
> not a web server. I *would* be fussed though if the plugin was able to
> read and write files to the system directly, or cause lasting damage
> outside of the application itself.
>
> As you can tell, my thoughts on the subject are still somewhat
> disorganised. I'm trying to determine roughly which parts of this
> infrastructure would be easy, difficult, or impossible to implement. I
> would greatly benefit from the thoughts and experiences of people who
> have been down this road before. If you can find the time, please share
> your experiences, and let me know what worked, and what did not.
>
> Thanks in advance, apologies for the long, rambling question. :)
>
> Garth
>


In This Thread