*** Last Update On: Nov. 3, 1996 *** rev. 2




Yeah, you'd rather not read this, right? Well I didn't want to write it either but on the subject of legalities you may find this worth reading anyway. It does contain some insight into the functionality of the V.I.C. and the problems the V.I.C. addresses.

Copyrights and Patents

Legal Copyrights and Patents are a product of mans imagination and produce constraints often for the purpose of financial profit. However, such ownership constraints can become, or contribute to, such a legal mess that either nothing is gained financially or profit potential is greatly reduced. In addition, there is the man created concept of piracy where legal copyrights and patents are ignored. Relating this to the V.I.C. : The profit potential from V.I.C. use exceeds, beyond calculation, the profit potential from constraining the V.I.C. to only those whom have paid for it or practice piracy. The greatest potential to gain from the V.I.C., and use of, will only be achieved without constraints restricting use.

Free-ware vs. Commercial-ware

It has always been the intent to make the V.I.C. available as Free-ware. Specifically, the application tool set of the V.I.C.. The V.I.C. is based on concepts found in nature and applied within the inherent constraints of computers. The V.I.C. is built by using long known programming concepts integrated into a small (nine commands) and versatile tool set. If there is anything new here, it might only be the integration but even this could be debatable.

The V.I.C. makes use of data/knowledge/definition bases and processes defined in scripts, where the data/knowledge/definition bases will likely contain such scripts. The data/knowledge/definition bases and scripts are a product of those whom produce them. Of course, these producers are able to place whatever use constraints they wish upon the data/knowledge/definition bases and scripts they create. However, any data/knowledge/definition bases and scripts written with intent to inherently constrain the use of the V.I.C. (via copyrights and/or patents), will be viewed and treated as a contradiction of the efforts and intent of producing the V.I.C. (i.e. defining/creating the english language and its syntax to place constraints on its use, would leave only those whom pay for it, legally allowed to use it. And this would contradict the intent and purpose of creating the language to begin with. The V.I.C., with it's small set of commands, makes it much easier to produce a complete, or near complete, set of general or non-specific processes or cycles.) In any case of such intentional inherent constraint, the status of the V.I.C. automatically changes from free-ware to Commercial-ware. The royalty being nothing less than: twice the amount of Investment + Profit and/or Profit from preventing use of the V.I.C., and directed at such party(s) creating and/or profiting from such intentional constraint(s) to legally pay. The solution objective is intended to remove, and keep removed, fabricated illusion based legal constraints. In other words: Don't waist your time with intent to restrict use of the V.I.C., whether it be for direct profit from use or indirect profit from non-use. There is simply far to much benefit to gain from the unrestricted use of the V.I.C. to waist with efforts to restrict use.

To clarify: Data/Knowledge/definition bases and scripts that are specific to the integration of a specified and specific application program set and/or specified and specific objective(s) are fine and constrainable for whatever purpose, so long as they do not constrain the evolutional growth and use of the V.I.C. (i.e. in the field of non-linear video editing, the Newtek Video Toaster Flyer technology is constrainable by Newtek, but it does not restrict others from producing non-linear editors through other methods.)

The Importance of communicating and understanding the purpose of the Free-ware Vs. Commercial-ware condition, is in knowing: by the inherent nature and functionality of the V.I.C., it is possible to create such data/knowledge/definition bases and scripts, and apply the constraints of copyrights and/or patents on them, that would inherently restrict V.I.C. use and evolution. And in doing so, contradict the efforts and intent of producing the V.I.C. Also, Understand it is the intent, in developing and evolving the V.I.C. and its use, to develope such data/knowledge/definitions and script of the complete set of non-specific possible processes and cycles. And to make these data/knowledge/definitions and script available under the same conditions as the V.I.C. application, of being free-ware. Such work is considered part of the application tool set objective. Contributions to such an effort are welcomed and encouraged and credit shall be given where credit is due.

User Registration, Not Shareware

Although the concept of shareware is not allowable or intended, the concept of registered V.I.C. user is allowable under these conditions.

1) There is no such thing as a registered version of the software. Only users are registered.

2) There is no alteration done to the software in the process of becoming a registered user.

3) Only Non-Profit organizations supporting the evolution of the V.I.C. and its use may act as a registration point. And there is, or exist a real effort to establish, a central registered user database to be accessible by all qualified/registered registration points.

4) Any fees/dues/contributions received from registration will be in return for an equal and reasonable level of support. Of which a reasonable percentage may be used for support expenses (i.e. newsletters, postage, etc..)

5) The registered user database will not be used in anyway, shape or form to harm anyone or to harm the evolution of the V.I.C. and it's use. Also, the registered user database will not be shared (sold, rented, or given) to any individual, organization, or company outside the non-profit organizations registered as registration point, without the consent of the individual registered users. And of which only the consenting registered users name(s) and address(s) are given. Also the recipient of such a list must only use it to inform users of the recipients relative supporting products and/or services. The list is not to be used by the recipient in any other way. Also, any consideration for such a list can only be accepted in the form of a voluntary contribution. And such contributions are to be used in giving additional support to the registered users.

6) The distribution of funds received from user registration, need not go beyond the given registration/support point so long as those registering at a given support point receive a fair and reasonable share of support. To encourage world, group and individual support is the why behind establishing a central registered user database. It is through the collected registered user database that all registration points know how to contact all registered users for support exchange. And through the collected consenting user database that additional funds (other than registration) may be obtained. In consideration of funds generated by the consenting user database, there will evolve a mathematical calculation, relative to the consenting user database, to use in the reasonable distribution of such support funds among the world, group and individual support points.

Source Code and the Development of the V.I.C.

1) No source code that is copyrighted for restricted/constrained use shall be used in producing the V.I.C. There is plenty of non-restricted source code to use in producing the V.I.C. thanks to such organizations as the Free Software Foundation. Also, code use is not limited to using existing source code, but to produce the source code with the intent and effort to make it non-restricted in use.

2) Source code of the V.I.C. will be made available to and perhaps through such organizations supporting the free software concept. The source code will be made freely available but protected (via copyright(s) and if needed patent(s)) in order to protect it against constraints contradicting the intent and effort behind the V.I.C.

3) The intent and effort behind the creation of the source code and application is to establish consistent functionality and use. With this in mind, effort is to be applied in meeting this functionality consistency, in regards to producing variations of the V.I.C., in that such data/knowledge/definitions and scripts shall be included in any released version, to allow the given version to meet functionality consistency. Software does evolve but any alteration(s) to the V.I.C. functionality will only be such alteration(s) that addresses and corrects exception failures and does not constrain/break previous working data/knowledge/definitions and scripts. In other words: such alterations will only improve the integration of the programming concepts used within the V.I.C. and as such, improve the Virtual Interaction abilities of the V.I.C.. Such improvement will be shared with all A.S.A.P.

4) To satisfy the problems encountered in developing versions for the different platforms, let it be understood:

a) The primary concept of the V.I.C. is of Virtual Interaction and connection. With this in mind let it be understood the V.I.C. functionality is NOT to be limited to the lowest denominator. Each platform version should take advantage of the limitation ceiling of the given platform. (i.e. single-tasking and filename size ceiling of the old XT's may not be able to take advantage of multi-tasking within itself and files used by the V.I.C. may need to be converted to the 8.3. But given a better understanding of the V.I.C. functionality, it's clear all versions of the V.I.C. can translate, given the proper data/knowledge/definitions and scripts. And although an XT may not be able to have more than one active V.I.C. "cell" running at a time within itself, there will be nothing stopping it from creating a multi-cell structure or passing, via connection to other machines, instructions to help build and run a multi-cell structure.)

b) The functionality of a single V.I.C. "cell" is very much single-tasking or sequential in operation. Because the V.I.C. is built by integrating long known programming concept (concepts not platform specific) there is nothing platform specific about the general design of the V.I.C. (i.e. batch files are sequential regardless of the platform they run on. However, on a multi-tasking platform a batch file can spawn off many application to run simultaneous while the single-tasking platform is inherently sequential in what it can do. Either way the batch file is sequential.)

c) For input and output direction and redirection of platforms and platform specific software that does not include the ability to communicate and control applications through a "back-door", then either this limitation will be treated as a platform/software specific limitation or someone will need to create the utility/device/plug-in or whatever that will enable such "back-door" access. (i.e. on the Amiga, programmers have the option to include an AREXX port for their program. A port that enables the program to receive and send instructions and data to other applications [AREXX use is not required to make use of these ports but often is, due the added functionality of AREXX]. And before AREXX, programs were created enabling an application to be controlled in a manner consistent with a one-way back-door concept, though perhaps just controlling/automating the use of the user interface of the application. On other platforms the concept of plug-ins and the like can add functionality to an application. With this in mind, it should be possible to create such "plug-ins" to make available such "back-door" access to an application. But in any event, this back-door creating is not to be part of the functionality built into the V.I.C. but an external, to the V.I.C., program/device/plug-in or whatever.)

d) Let it be understood: the objective of the V.I.C. is to enable Virtual Interaction connection to happen using must-exist functionality. Any optional functionality is best left to what already exist or can be created external to the V.I.C. We are not inventing or re-inventing the wheel, but creating/producing the functionality to allow the wheels to be attached to and usable by many different things.


Some words and definitions to understand and consider relationships between.

Virtual - being such in effect, though not in fact, but equivalent, so far as effect is concerned.

Interaction - intermediate, reciprocal action.

Intermediate - between points, stages, things.

Reciprocal - alternating interchange, correspondence. going back and forth.

Configuration - relative disposition of the defined parts of something, as viewed from an external perspective of the parts as a whole or set.
Core - the essential or central innermost part(s) of anything.

Resolution - the process or result of breaking something up into its simpler but essential set parts, components, elements.

Place-Value - an individual elements value, from and in relationship to, the defined set of elements and values it is a part of.

Recursion - the repeating of a defined process.

Place-Value Resolution Recursion - the repeating process of breaking an elements value up into its simpler but essential elements, using the value of an element selected from the element set result of the previous and same process.

Imagination - the process of forming a mental image of something not present to the senses or never before wholly perceived in reality.

Construct - to make, form or set in logical order by combining parts, components, elements.

Integration - the process of incorporating parts, components, elements into a larger defined unit, set, whole.

Vocabulary - a set of words, terms, codes, used by a language, group, or work or in a field of knowledge.

Language - a systematic use of a vocabulary set, including the sets rules for the formation and transformation of admissible expression.

Translation - the process or result of change from one language, form, expression, set to another of equal value, meaning.

Evolution - a process of change in a certain direction.

Constraint - state of being restricted, or compelled to avoid or perform some action.

Constant - continually occurring or recurring and without change.


Conversion / Translation

E = MC ²   -   EINSTEIN

E = Energy, M = Matter, C ² = Speed of Light Squared.

T1 = T2 k   -   SPINOZA

T1 = non-mystical thought, T2 = things in physical reality, k = the active constant.

T1 ( I ° +   E ° ) = v T2 (k)   -   Di SILVESTRO

I ° = degree of Intent, E ° = degree of Effort, v = velocity of conversion.


Understanding these concepts is required, for one to remove false constraints in thought that prevent progress in properly developing, and properly using the V.I.C..

Concept #0:Consciousness

Einstein searched until the moment he died  for the equation of the "Unified Field Theory". He never realized the missing element was the same element that caused so much of his life to be what it was. From the cheers and recognition from supporters of his work to the threats on his life, exile out of his country and destruction of publications on his work. All this caused from the element Einstein was exercising, but not realizing, the element of consciousness. It was Einsteins' conscious efforts that lead him to produced his work. The consciousness of those who recognized his work and put forth the effort to honor him for it. The conscious efforts of some to create an illusion, leading many into action of threat, destruction and force to have a physical impact on Einstein and many others. And it was the conscious efforts to apply Einsteins' work that contributed to creating the physical power that removed the force which cause Einstein to leave his country. Perhaps Einstein did come to intimately know what the missing element was, in those last few moments of his life.

The Spinoza equation "T1 = T2 k" expresses two perspectives: All things in physical reality can be comprehended/translated into conscious thought and conscious thought can be converted/translated into physical reality. For those who have doubt about the validity of this equation: Look around and note all the physical things you perceive. Then determine, to the best of your ability, what exist as a result of conscious comprehension of physical reality and conscious directed action, effort and intent to apply physical movement to create? In other words: What do you see that originated in conscious imagination?

For those still in doubt: What don't you perceive, but know by what you do perceive, that there must exist both the conscious ability to comprehend physical reality and conscious imagination to cause intentional control of physical reality? (i.e. Computer usage and its internal operations. Software and it's existence on magnetic media. Disease identification and treatment or cure. Radio wave creation used in sending and receiving data, and its' translation to and from what we can perceive - music, pictures of stars we cannot see from earth but now know they exist. The life we create via genetic control and duplication, etc..)

Concept #1:Constraint Removal

With proper understanding of concept #0, we know it is consciousness which both creates and removes constraints. With this understanding, we will produce a simple tool or method to aid us in removing mental constraints or barriers we may encounter. We will use two simple terms "cannot" and "can" to label two columns on a piece of paper. "Cannot" labels the first column because the meaning of "cannot" is one of constraint, limiting available space of this column up to the "Can" label. "Can" labels the other column, but by the meaning of "can" you CAN continue this column to the other side and CAN continue it to another piece of paper, and so on.

Now, the inherent illusionary force of "cannot" caused Einstein and Fermi to not be able to stay in their home countries. But the inherent real power of "can" overcame the inherent illusionary force of "cannot". Inherently, "cannot" placed a limit on its' own possibilities, while "can" looked to increase its' possibilities.

So, the way this piece of paper works: in your efforts to do something, you list ALL the reasons why you cannot do, but not beyond using the available space for cannots. And you list all the reasons you can think of, as to why you can, in the limitless space of the "can" column. If at this time you have space left over in the "cannot" column or it is full and you have no more "cannot" reasons, then reduce the size of the column to half of the list you have made in this column. The rules: you CANNOT ever have enough room to list all the reasons why you cannot do something but you MUST list all the reasons why you cannot. However, you can make room in the "cannot" column by doing only one thing. By eliminating a cannot reason via reason(s) why you can that have the effect of nullifying or invalidating cannot reasons.

Concept #2:Creation Process

Whether you set out to produce something,a part of something,a tool to help you do something or a phase of doing something, these steps apply. Nothing created need be difficult to create if broken down into, simple to do, parts.

STEP 1) Imagination/conception of general picture, objective, goal. Use step 2 to fill in general details

STEP 2) Breakdown into individual parts. Use step 1 if needed to define the general picture, objective, goal of a part. Use step 3 to determine if any individual parts can be further broken down.

STEP 3) Fill in the details of parts. Keep the general picture, objective, goal in mind of step 1 and use step 2 if needed. Also, refer to step 4 to determine if you might change some detail(s) of any part to make step 4 easier to do.

STEP 4) Integrate parts to construct larger parts and eventually the whole to achieve the picture, objective, goal of step 1. Use step 3 and 2 to help in the integration or correction of parts.

STEP 5) Feedback. Test the product of your construction. Does it accomplish the picture, objective, goal of step 1? If not, determine which previous step to return to for corrections, by going to each previous step in turn. See if there is something you can change that will allow you to reach the target of step 1. If needed, return to step 1, using what you have learned and start over to redefine the general picture, objective, goal. If the test does accomplish the picture, objective, goal of step 1 then go to step 6.

STEP 6) Move the product of your efforts into application use. Use previous steps to correct/change and/or refine or fine-tune the product of your efforts for integration into the selected use environment, if needed.

Concept #3:Constraints as Creation Tools

a)There is the possible in physical reality, within and beyond our current knowledge.

b) We define our reality and create tools based on what we define. Then we use these tools to refine and/or redefine our understanding of reality, and then refine and/or redefine our reality. Knowing our definitions and tools are not perfect but serve us to control physical reality better and better, via creating new and better tools. This process or cycle is a constant. We discard or replace some tools for better tools. We can also go the other direction by replacing better tools with inferior tools.

c) To completely understand and control physical reality, something changes. The constant is understood and applied by choice. The question of how to do something, or anything, becomes a choice. The question of "what to do?" becomes the main question.

To Do Something:

c) What to do? Let's do this objective: create and use the V.I.C. One question will be "which direction?" Doing means movement and time.

b) We use the constant, set the motion in the direction we want, and apply constraints (tools) to reach the objective.

a) There is the possible in physical reality, within and beyond the current constraints (tools) of what we are doing.

Concept #4:Changing Constraints / Translation & Evolution

This concept could fall under the complexity of the whole field of language, translation and evolution or it can be simple. Since the intent is to communicate a simple concept, so shall it be simple. The concept title begins with changing constraints and therefore the concept is broader than language, translation and evolution.

Using "Place-Value Resolution Recursion" and starting with the resolution of language, selecting a place-value of english you have the syntax and vocabulary set (sequence-structure and item list * ) of english. Selecting vocabulary, the resolution is of words and alphabet (items and element list) of which you select a word. The resolution of the word is the meaning and sub-alphabet, you select sub-alphabet and get the resolution of the alphabet subset the word contains.

* (For a commonly used example of Place-Value Resolution Recursion, refer to the "Plan of Classification" and "Tabular Synopsis of Categories" in a Thesaurus).

What to recognize here is: at each cycle of recursion, you are presented with different set types the previous set makes use of and the next set(s) make up.

Another example is the physical existence of the very big resolution of the galaxy to the very small resolution of the physical existence of atoms and all the cycles or Place-Value Resolution Recursion between. We'll not go into all the possible cycles here, but you should get the concept of applied Place-Value Resolution Recursion and how each cycle presents you with a different set of constraints.

By selecting a different place-value at a given cycle, you access a different set of constraints to work with. However, if you do something to change the constraints directly, you can affect or change previous and other cycles. (i.e. The atom bomb in changing a constraint to cause atoms to break in a cascading manner. Or turning the insulator quality of ceramic into a super-conductor, by changing the constraint of temperature to very cold and slowing the atomic speed of ceramic to syncronize with electricity.)

Languages evolved over time, from what may have started out as grunts, screams, etc. to the complexity of languages today, with the most complex of all being chinese. But what is of note here is: within the time-line of this evolution there exist different cycle or resolution sets of Place-Value Resolution Recursion, different constraint sets used at different times. Constraint sets which are accessible through the place-value resolution of the time-line. From concept #3 we might equate knowledge as being equal to constraints. But on further inspection we find this is not quite honest. There is another, more fundamental, constraint set at work here. The constraint set of "evolving from conscious imagination", the constraint sets used in creating languages (see concept #2 for identification and concept #1 for removal).

An example of conscious imagination being more fundamental than the knowledge constraint set, is found in the roman numeral numbering system. This system of counting, among other constraining things about it, has no representation of zero "0", the value we use today to communicate an empty place-value or "nothing." The lack of "zero" in mathematics had such a constraining impact on knowledge and the evolution of knowledge that it would require a history lesson to communicate the impact it had, the constraints it had to remove and what changes its use caused. So we will just leave it to say: the knowledge and technology to create and use a computer, besides the fact computers use binary representation via "1" and "0", would not have evolved without the zero. Today, the only universal language we have is the Hindu-Arabic numeral system, of which binary is a sub-set and hexidecimal is an extension. So, before there can be knowledge, there must be conception, the conscious imagination formation of concepts to be used as tools for generating knowledge to know.

Language translation can be a difficult process, sometimes being impossible to express something in one language easily expressed in another. The reason is not only due to different "conscious imagination created constraints" being applied in the creation and evolution of different languages, but the changing of constraint sets used during its evolution. Programming languages are no different, perhaps even a bit more difficult. (i.e. what is expressible in fortran cannot be so easily expressed, if at all, in the icon programming language. And what is written in one language for one computer system type, may not work on another computer system type or "use environment"). Also, the evolutional time-line of programming languages is a great deal shorter. But on a positive note, programming language expressions can always be processed down to a common or constant fundamental alphabet, of 1's, 0's and "not accessed" (memory and other hardware that may be addressed, hold and/or process this alphabet but not used.)

Languages are sets of constraints and as we can see, from concept #3, languages are tool sets. In language creation the most fundamental concepts applied is "this means that" and "that is a unique set of constraints", or "word equals definition". And this is followed by the concept of "use action", "structure process" or better known as "syntax." However, in actual use, such definitions and syntax are not always followed (i.e. slang, dialect, poetry, jazz, humor, deception, etc..), but the fundamental concepts are still in use. Otherwise, the purpose of the tool set of language, mainly communication but also used in thought, is not achieved.

The absolute most important thing to understand about languages is: they are tool sets inherently having constraints, limitation to what can be expressed through their use. Following this, languages evolve in changes to syntax and additions to vocabulary, as well as new languages created. With this in mind, translation requires the use of place-value resolution recursion of the evolutional time-line and other place-value resolution recursions of given languages. And the understanding there are and will exist such expressions which may not or cannot be translated well, if at all. Fortunately, the future is ahead of us and as the creators of languages, we have the ability to improve this by Changing the Constraints used in language creation and use. To include a tool set that will allows us to clearly understand what is expressed, regardless of language or alteration of the language. The tool set of: 1) Understanding the tool set constraints of languages. 2) Using Place-Value Resolution Recursion to create and receive or process expressions, identifing the given language and vocabulary tool constraints. And 3) putting the expression to the feedback test before using or accepting it, or any part of it, as a valid expression.

Concept #5:Identifying Constants

This can be a difficult concept to communicate, due the various beliefs or philosophies of the population. The usefulness of the language tool only extends to the agreed upon definition and use of the tool. For communication to happen, at least two individuals, the minimum number, must have some agreement, stated or not, as to the applied language and use. Otherwise the communication is in fault, error, misleading, or simply just noise.

Getting a potential debate out of the way: Existence is a constant but everything in existence is not. In the absence of existence nothing would exist, not even the ability to conceive the concept of existence. Since we are dealing with what exist in existence and our understanding and control of such, existence is an agreed constant. If you do not agree with this then consider the validity and usefulness of the concept of "nothing" or zero "0" as mentioned above. Yes, even nothing CAN exist in existence and it is a good thing this is so, because it gives us a place, the only place according to the laws of physics and relativity, to put something.

Following right behind Existence, in regards to constants, is the constant of change. But for change to happen there must be movement and for movement there must be time and the space to change. The key words here are

Considering how all things in existence change, given enough time, and what exist on earth and relied upon as a constant could not exist on the surface of the sun, how do we identify other constants? By selecting an area of space and time we should be able to determine additional constants within the selected space and time. Using Place-Values Resolution Recursion and starting with existence, we have a resolution of space and time from which to select values. For space we set the boundaries, for time we select a starting and ending point. From here we have an area of space and time that should contain constants. However, we have a problem here. We picked a seaport on SW Honshu, in SW Japan on
August 6, 1945.

Seems we need to really consider the role of consciousness as it relates to what exist in existence. Through conscious direction of actions we can alter or cause the conversion of energy and matter. And since we are dealing with our understanding and control of energy and matter, it seems existence and consciousness have something in common. For our purposes, Existence and Consciousness are the ultimate constants. From Existence comes time and space and from consciousness we have control over matter and energy. So, like language, where we must have an agreement on it and its use, so must we have an agreement on the use of energy and matter.

Programming languages are intentionally designed to connect with physical reality. The purpose of any programming language is to communicate with, and control, the physical reality of computers and devices attached to them. This is unlike languages for human to human communication, which may or may not express a connection to physical reality. With this in mind, the intentional design of programming languages does not insure the human programmer has not made errors resulting in faulty communication or control of computers. Or that any number of other things might not be correct. The arms race is over and nuclear warheads are being dismantled but this is not where this threat originated from. It came from the intentionally created illusions of conscious imagination.And there are other tools we can use, through conscious imagination, in being destructive. (i.e. the car is one such vehicle or tool that can be intentionally or un-intentionally used destructively.)

So, how do we improve the level of certainty and safety of our evolution and individual lives, considering we now have in our hands a tool so versatile and powerful as the computer? By first recognizing computers are tools having inherent constraints. Tools created by us to serve us and not the other way around. Tools we must understand the constraints of and use within these constraints. But also not to constrain these tools, more than the constraints inherent to them, with illusional conscious created constraints. To increase our level of certainty and safety we must understand our conscious abilities to cause un-intentional and intentional error or illusion, which leads to wrongful constraints and destructive results. We, as the creators, the programmers and the users of computers, can input wrong or incomplete information and, in return, get output of faulty information resulting in error or illusion. And although we can test our communication expressions for validity, this does not mean this is all there is to know. New knowledge comes from conscious effort and intent to generate new and valid knowledge beyond the velocity constraints of what we calculate with, and through, current knowledge.

Of the Identified Constants,  for us, Consciousness is the Most Important. And as we must agree (as a team) on what is to remain or be constant, within a selection of time, space, matter and energy, so must we agree (as individuals) on our use of Consciousness. To be first in CANNOT or limitless with CAN.



Email: timrue@mindspring.com

Copyright © 1988, 1994, 1996 Timothy V. Rue