[EVALUATION] - E02 - Nitro, a Ruby Based WebFramework

I

Ilias Lazaridis

Christian said:
Yeah, I liked you better when you were in the other groups back then.

I liked myself better, too.

But I have to become more pragmatic, as i must start producing
something, due to financial limits.
Made me almost piss my pants.

Once more I had a good laugh.
This is so ridiculous, I don't even know what to say.

Please explain.

This here is still valid:

"
maybe a scheme lover can serve me with some *concrete* facts that can
change my mind!
"

..
 
B

Bill Guindon

I do not insult people.

[possibly you've just read some comments of some weak liars, which
you've not evaluated further.]

ahh, "weak liar" is a compliment. I'll make a note of that.
 
I

Ilias Lazaridis

Christian said:
If you dismiss a language due the lack of referencing an influent
person

John McCarthy: inventor/discoverer of LISP (and thus the "Grand Father"
of all LISP dialects).
in the standard, you'll never get anywere.

I understand your thought, which is false.

I sense that I'm close to my goal.

-

As for Scheme:

-

Respect to the Roots.

-

Neither the LISP-to-SCHEME-transformers (Guy Lewis Steele Jr. and Gerald
Jay Sussman) nor the SCHEME community have this.

http://groups-beta.google.com/group/comp.lang.scheme/msg/01aeb2489438816f

SCHEME [the language & the surrounding systems] cannot procude the next
generation software systems.

..
 
I

Ilias Lazaridis

Luke said:
Im investigating nitro myself now, so trolls can be a catalyst for
good as much as for evil. They just cause people to show their
true selves. Hes stimulated lots of useful conversation
here so far, which has got to be the ultimate proof that ruby
programmers have only good in their hearts. :D

Possibly it's the ultimate proof tha ruby programmers have to train
their ability to distiguish a "troll" from a "stimulator".

Possibly.

..
 
I

Ilias Lazaridis

Bill said:
I do not insult people.

[possibly you've just read some comments of some weak liars, which
you've not evaluated further.]

ahh, "weak liar" is a compliment. I'll make a note of that.

If someone lies, then he's a liar.

"Weak Liars" spread lies which can be uncovered by a simple research.

"Strong Liars" were a more seldom species. Uncovering their lies is very
difficult, due to their very precise ability to twist facts and to
create doubts..

-

In essence, both type of liars are weak [personalities].

..
 
C

craig duncan

Christian said:
If you have some free time to waste, I recommend everyone to read:

http://groups-beta.google.com/group/comp.lang.scheme/msg/e62bf980a87ffbe2

Total fun. :)

I've never (really) used Google Groups before. Does this provide some kind of
threaded access to the messages in the group? The above link brings up a page that
has no obvious navigational features on it. I was curious about the "rest" of the
thread (if there _is_ any more). Not so much about the thread itself but just how
Google groups works. Just by looking at that one page i couldn't really tell what
facilities Google Groups offers. I assume it's basically like a news group but from
that page... the total lack of navigational features really made me wonder...

Anyway, just curious. If i really wanted to know i'd go do some research on Google
Groups. But if anyone wishes to be so kind as just transmit the basic info that i'm
lacking... tx

craig
 
I

Ilias Lazaridis

craig said:
I've never (really) used Google Groups before. Does this provide some
kind of threaded access to the messages in the group? The above link
brings up a page that has no obvious navigational features on it.
[...]

[google is not very intuitive in this regard]

Simply click on the Subject of a thread, here:

"LISP - R5RS - John McCarthy".

This will open a thread view.

-

or use this link directly:

http://groups-beta.google.com/group/comp.lang.scheme/browse_frm/thread/865481b8c0561667

..
 
M

martinus

is graz a nice city?

Graz is a *really* nice city! I have been living there last summer. A
lot of nice old buildings, and lots of cultural stuff to see. If you
ever want to visit Austria, you should definitely stay in Graz for a
while.
http://www.graztourism.at/
I'm not the only "Ilias Lazaridis" on this planet.
Possibly simply on my website:
http://lazaridis.com/resumes/lazaridis.html

May I quote yourself:

"
we are in usenet.

many people follow discussions.

it is more friendly, if the information is provided directly.

have you the information?

why don't you share it with me?

why don't you share it with the other people which are reading?
"

Ah, this really is a nice flamewar ;-)

martinus
 
I

Ilias Lazaridis

Christian said:
I know that very well.

Also, without Adam and Eve, Lisp (and therefore Scheme) would not
have been possible... and they aren't mentioned either!

exaggeration.

[conversation abort condition]
AFAICS, you *are* not getting anywere. If you spend all the time
[...] - (irrelevant comments)

you don't know my goals.

thus you cannot judge.
Yeah, you already pissed off a lot of people on this list.

this is not my goal.

[don't ask for them, I'll not answer]
You must be joking.

no.

"
The report gives a de ning description of the program-
ming language Scheme. Scheme is a statically scoped and
properly tail-recursive dialect of the Lisp programming
language invented by Guy Lewis Steele Jr. and Gerald
Jay Sussman.
"
source:
http://groups-beta.google.com/group/comp.lang.scheme/msg/01aeb2489438816f
Did you ever read the Lambda papers?

no.

The shameless overstatement above (accepted by the 'inventors' and the
community was enouth.
SCHEME [the language & the surrounding systems] cannot procude the
next generation software systems.

Then come up with something better.

I've not the time.

First I try to build it using existing systems.

..
 
I

Ilias Lazaridis

Ilias Lazaridis wrote:
[...]

to boost the process, I'll fill the given answers:

http://rubyforge.org/pipermail/nitro-general/2005-February/000022.html

into the template.

The discussed technology is this one:

http://rubyforge.org/projects/nitro/

-
jamStack - Technology Collection

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).

Nitro/Og does not provide or require an IDE. You can use the IDE
that suits you.
Analysis&Design

* OOAD - Think, Analyze and Design in a straight Object [or
component] Oriented way
Supported

* Use of metadata within the design (on text level [code file])
Supported

* Fully synchronized Code level and/or Visual design.

Not available
Code Generators

* Use of predefined and user defined code generators

Supported at run time or development time, Nitro/Og generates most
of the code for you.
Deployment

* Initial design runs on local client.

Supported (Webrick, SQLite3)
* Ability to transform design to run on higher grade systems
o High Load Systems (load balancing, clustering )
o large scale OODBMS

Supported (FastCGI, Postgresql, Oracle)
* Ability to transform design to run on embedded devices.

Partially supported (Webrick, Ruby on WinCE)
Persistency

[An evaluation template for ObjectRelationalMapper (ORM) can be found
within jamORM.]

* Persitency layer results directly out of the Object Model

Supported (Og)
* No need to deal with persitency tools, xml-config-files etc.

No configuration at all, use standard Ruby objects.
* Provides persistence-design-metadata
o accessible by code-generators
o accessible by runtime

Supported (prop_accessor mechanism)
* Flexible Technology usage
o RDBMS or OODBMS
o Embedded within app
o or on seperate server

Supported, Og uses RDBMS backends to emulate an OODB environment.
* Easy migration mechanisms
o Technology A to B
o Vendor A to B

You can switch backends (for example go from Mysql to Postgres) by
changinf a single line.
Security

* Flexible security system
o Security inheritance
o Plugable security systems
* Supports several encryption strengths

GUI / Webinterface

* Exchangeable GUI System
* GUI is decoupled from Business Objects
* Automated creation of Objects [Components] webinterfaces
o display Objects
o create Objects
o edit Objects

Visual Modeling

* Use of UML to model the design
* Code level defined metadata is available/editable within UML tool
* Uses same code-generators that are used within IDE / Command-Line

Automation

* All production steps should be automated or semi-automated.
* Automation is based on user-defined rule-systems.
* Manual processing can always override automations.

Automation / Code generation is the main feature.
License and Standards Requirements

BSD licence
The combined technologies include one or more programming languages and
should fulfill whenever possible the following prioritized basic
requirements:

[For programming languages: at minimum the "execution environment" or
"runtime".]

* Based on Open Source (FSF freedom, OSI extensibility)
* Based on Open Standards
* Platform independent
* Language neutral

Examples

* ODMG - object persistence
* CORBA - distributed systems
* ...

..
 
I

Ilias Lazaridis

Ilias Lazaridis wrote [the answers given on nitro-devel]:
Ilias Lazaridis wrote: [...]
jamStack - Technology Collection

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).

Nitro/Og does not provide or require an IDE. You can use the IDE
that suits you.
ok
Analysis&Design

* OOAD - Think, Analyze and Design in a straight Object [or
component] Oriented way

Supported

ok.

I assume that designing is based on standard ruby objects.

Or did you use any form of an component-model?
* Use of metadata within the design (on text level [code file])

Supported

Which metadata mechanism do you use?

How is this metadata stored?
Not available

See further below.
Supported at run time or development time, Nitro/Og generates most
of the code for you.

What mechanism does nitro use for the codegeneration?

* a standard / third party one?
* an own implementation?
Deployment

* Initial design runs on local client.

Supported (Webrick, SQLite3)
http://www.webrick.org/
* Ability to transform design to run on higher grade systems
o High Load Systems (load balancing, clustering )
o large scale OODBMS [INSERTED]
o large scale RDBMS
[/INSERTED]

Supported (FastCGI, Postgresql, Oracle)

This answer referes to RDBMS.
I have corrected the document to contain both (RDBMS, OODBMS).

http://lazaridis.com/case/stack/index.html#deployment

I assume at this point that nitro does not support OODBMS bindings.
* Ability to transform design to run on embedded devices.

Partially supported (Webrick, Ruby on WinCE)
ok
Persistency

[An evaluation template for ObjectRelationalMapper (ORM) can be found
within jamORM.]

* Persitency layer results directly out of the Object Model

Supported (Og)

ok

a question:

Changes to the object-model are trasfered down to the relational
database schema in an automated way?
No configuration at all, use standard Ruby objects.

ok

[how is the metadata entered/encoded/stored, see further above]
Supported (prop_accessor mechanism)

I assume "prop_accessor" is a standard-ruby-mechanism.
Supported, Og uses RDBMS backends to emulate an OODB environment.
ok


You can switch backends (for example go from Mysql to Postgres) by
changinf a single line.

does this switch include:
* automated schema-migration
* automated data-migration

Does Nitro/Og provide any security mechanisms?

I assume that a local GUI (like GTK etc.) is not supported.

Can you estimate the effort to decouple the GUI subsystem?
* GUI is decoupled from Business Objects
* Automated creation of Objects [Components] webinterfaces
o display Objects
o create Objects
o edit Objects

Any automation provided to create standard CRUD (Create, Read, Update,
Delete) GUI's?

Nitro deals mostly with Ruby Objects.

Visual Design via any UML tool, which support user implementable
code-generators/parsers should be possible.

Please correct me, if I've overseen somethin.

A question:

can I call the Nitro/Og code-generation tools via the command-line?
Automation / Code generation is the main feature.
ok


BSD licence

What are the main characteristics of the BSD license?

e.g.: Does it allow close-source propietary extesions?
The combined technologies include one or more programming languages and
should fulfill whenever possible the following prioritized basic
requirements:

[For programming languages: at minimum the "execution environment" or
"runtime".]

* Based on Open Source (FSF freedom, OSI extensibility)
* Based on Open Standards
* Platform independent
* Language neutral

Examples

* ODMG - object persistence
* CORBA - distributed systems
* ...

..
 
M

Martin DeMello

Ilias Lazaridis said:
This answer referes to RDBMS.
I have corrected the document to contain both (RDBMS, OODBMS).

http://lazaridis.com/case/stack/index.html#deployment

I assume at this point that nitro does not support OODBMS bindings.

Quite apart from Austin's rant on the fundamental brokenness of the
OODBMS concept, might there not be an impedance mismatch between the
DBMS's notion of an object and the language's? Singleton methods are the
simplest example I can think of in the Ruby case, but I'm sure there
are others.

martin
 
A

Austin Ziegler

Quite apart from Austin's rant on the fundamental brokenness of
the OODBMS concept, might there not be an impedance mismatch
between the DBMS's notion of an object and the language's?
Singleton methods are the simplest example I can think of in the
Ruby case, but I'm sure there are others.

Generally speaking, yes. The only OODBMS systems that will work well
with a particular language and said language's object model are
those written in that language. Generally, one won't be able to
effectivly use a Java OODBMS from a C++ program -- you need to have
the C++ implementation of the OODBMS.

The Prevalence model (Madaleine, etc.) is an OODBMS for Ruby.
There's also a few others, e.g., GOOD.

-austin
 
I

Ilias Lazaridis

Austin said:
Generally speaking, yes. The only OODBMS systems that will work well
with a particular language and said language's object model are
those written in that language. Generally, one won't be able to
effectivly use a Java OODBMS from a C++ program -- you need to have
the C++ implementation of the OODBMS.

correction: "you need to hav the C++ binding to the OODBMS".
The Prevalence model (Madaleine, etc.) is an OODBMS for Ruby.
There's also a few others, e.g., GOOD.

Note that this is again off-topic.

The (sub-)topic here is: does Nitro (which is _not_ Ruby) support
large-scale OODBMS bindings?

The answer so far is: no.

-

example OODBMS for Large Scale Distributed Systems, which has bindings
for C++, Smalltalk, Java:

http://www.objectivity.com/Products/Products.shtml

..
 
M

Martin DeMello

Ilias Lazaridis said:
The (sub-)topic here is: does Nitro (which is _not_ Ruby) support
large-scale OODBMS bindings?

The answer so far is: no.

The missing question is "Are large scale OODBMS bindings fundamentally
useful to Nitro and its users?".

martin
 
I

Ilias Lazaridis

Martin said:
The missing question is "Are large scale OODBMS bindings fundamentally
useful to Nitro and its users?".

This question is not relevant in my evaluation context.

-

Please have some respect against my efforts and against the readers.

I will respect yours, too.

If you open a new thread to discuss this matter from your context, I'll
not intervene with off-context off-topic comments.

This thread is huge enouth.

..
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top