[#3741] Re: Why it's quiet -- standard distribution issues — Aleksi Niemel<aleksi.niemela@...>
I think it's the feature of the mailing list archive to create a threads of
[#3756] RE: XMP on comments — Aleksi Niemel<aleksi.niemela@...>
> require "xmp"
[#3766] modulo and remainder — Dave Thomas <Dave@...>
[#3776] Kernel.rand — Aleksi Niemel<aleksi.niemela@...>
How about defining:
[#3781] Widening out discussions — Dave Thomas <Dave@...>
[#3795] Re: Array.uniq! returning nil — Aleksi Niemel<aleksi.niemela@...>
> As matz said in [ruby-talk:3785] and Dave said in [ruby-talk:1229],
Hi, Aleksi,
[#3823] Re: Array.pick — Aleksi Niemel<aleksi.niemela@...>
> > Just a general comment--a brief statement of purpose and using
[#3827] JRuby? — Aleksi Niemel<aleksi.niemela@...>
Is there or will there be Ruby equivalent of JPython?
[#3882] Re: Array.uniq! returning nil — Aleksi Niemel<aleksi.niemela@...>
> |look too strange, confusing, or cryptic. Maybe just @, $, %, &.
Hi,
[#3918] A question about variable names... — Dave Thomas <Dave@...>
[#3935] If your company uses Pallets, Skids, Boxes, Lumber, etc. — pallets2@...
[#3956] Tk PhotoImage options — andy@... (Andrew Hunt)
Hi all,
[#3971] Thread and File do not work together — "Michael Neumann" <neumann@...>
following example do not work correctly with my ruby
[#3986] Re: Principle of least effort -- another Ruby virtue. — Andrew Hunt <andy@...>
> Principle of Least Effort.
Hi,
[#4005] Re: Pluggable functions and blocks — Aleksi Niemel<aleksi.niemela@...>
Aleksi makes a question:
[#4008] Ruby installation instructions for Windows — Aleksi Niemel<aleksi.niemela@...>
I had to write these instructions for my friends. I thought it might be nice
[#4043] What are you using Ruby for? — Dave Thomas <Dave@...>
On 15 Jul 2000 22:08:50 -0500,
Hi,
[#4057] Re: What are you using Ruby for? — Aleksi Niemel<aleksi.niemela@...>
Johann:
[#4082] Re: What are you using Ruby for? — Aleksi Niemel<aleksi.niemela@...>
[#4091] 'each' and 'in' — hal9000@...
I just recently realized why the default
[#4107] Re: 'each' and 'in' -- special char problem? — schneik@...
[#4114] Method signature - a question for the group — Dave Thomas <Dave@...>
[#4139] Facilitating Ruby self-propagation with the rig-it autopolymorph application. — Conrad Schneiker <schneik@...>
Hi,
[#4158] Getting Tk to work on Windows — "Michael Neumann" <neumann@...>
Hi....
[#4178] Partly converted English Ruby/Tk widget demo working. — Conrad Schneiker <schneik@...>
Hi,
[#4234] @ variables not updated within method? — Hugh Sasse Staff Elec Eng <hgs@...>
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On 27 Jul 2000, Dave Thomas wrote:
[#4267] Ruby.next, Perl6, Python 3000, Tcl++, etc. -- Any opportunities for common implementation code? — "Conrad Schneiker" <schneiker@...>
Hi,
"Conrad Schneiker" wrote:
[ruby-talk:04086] Re: What are you using Ruby for?
Kind of longish post and probably off topic but if you read it and have any comments (especially on using Ruby as a glue or interface language) then please mail me. On Mon, 17 Jul 2000, Aleksi Niemel wrote: > I'm very interested to listen you when you've some insights to share about > using Ruby as a prototype language (to get a basic desing "right", as you > said, or maybe you didn't mean this). Especially the point when you convert > part of the Ruby code to C(++/# :). I'm eager to see if you (have to) use > your proto as a throw-away code or more as a hacked-together framework, > which is then speeded up part by part. > I'm not sure that we're talking about the same things here so let me try to clarify what I've been doing: 1. I have a large number of Machine Learning (ML) components (algorithms, combination schemes, dataset types etc.) written in various languages (mostly C/C++ but also some exe for which I have no source but only the docs for the CLI) that I want to work together. They have not been developed to work together but I need them to do so some sort of interface/glue code is needed. 2. I make a full OO design using Ruby's features (Mix-in etc.) for the main types of components and how they should work together. This is a language in which ML in general can be expressed. 3. Using Ruby's C/C++ interface I make Ruby wrapper classes for each ML component from 1. It "emulates" the interface required by the Ruby framework/design in 2 by converting Ruby calls to calls in the existing code. For the components for which I have no source code the wrapper class converts between the command-line interface of the exe and the interface required by the design. 4. When performance is crucial I try to use Ruby classes implemented in C/C++ extensions. This way I can extract the C/C++ structures and work with them drectly. For example I use NArray (Ruby extension for numerical arrays implemented as one chunk of mem in C) and align the data so that I can directly use it in the existing C/C++ code. The main benefits: b1. When using the system one can work with a full OO framework and do not need to remember all the specifics of each component. Principle of least surprise / effort and other OO/Ruby features applies when using the system. b2. Can put together combinations of the components quickly in interactive mode (very nice when doing research!) and later script them for over-the-night processing on large data sets. This would have been harder in C or C++. b3. Leverage the existing source code by only having to write each components interface to the framework. b4. The performance penalty (compared to C++ impl) is not very large since Ruby is mostly used to setup and control combinations of components and send data between them. b5. I can implement future ML components directly in Ruby using the "language" of the framework. (I guess this comes closest to your prototyping questions since, after testing, I could choose to implement some of the Ruby-implemented funcs in C/C++. However, as of now I haven't done this. Sorry if initial post was misleading) Any comments, tips on tools/extension that might be useful or links to related stuff in Ruby (Machine Learning/AI or other projects interfacing existing code) are appreciated. I guess most of the benefits are not Ruby-specific as opposed to Perl or Python and you could argue that for example Python would give me additional benefits (for example it can be compiled to native code). I guess the elegance of Ruby (b1 above. I've previously used some functional languages), the fact that I didn't know either of the languages very well and my belief that most of Python's advantages over Ruby will probably be overcome since Ruby is currently earlier in its development/evolution. The Ruby features I'd love to see / things I'd love to find out: * Being able to "freeze" an object and dump it to an exe that can be executed stand-alone (without interpreter or external libs/exts) on a non-Ruby aware machine. I distribute my jobs on a network of workstations and it's not very nice to have to install Ruby on all of them prior to execution. * Native compilation for Wintel machines. Could add some extra boost to performance-hungry applications?! * Profiling Ruby code. Someone doing this today? How? * I understand the basics of mix-in and single inheritance. But how should you choose between them? I tend to use mix-in as much as possible since it seems more flexible. Anyone got some rule-of-thumbs? * Anyone actually doing GUI stuff on Wintel machines? Didn't put much effort into it, but I couldn't get TK to work... Regards, Robert