[REBOL] Re: Commercial-quality REBOL programmers needed
On 17-Aug-02, [EMAIL PROTECTED] wrote: >> Dick wrote: >>> Does the evaluation of the expression: a + b >> Happen synchronously, or asynchronously >> Are the values of 'a' and 'b' currently exclusive to the process >> that can >> perform the '+' operation or are they in 'shared' mode ? >> Rebol is single threaded. Your question is pretty much meaningless. >> Andrew Martin > For a moment lets assume there are 4 Rebol processes running on > different machines. On my process/machine4 I want to add the value > of a/process/machine1 and b/process/machine2 , and I want the > operation to occur on process/machine3, with the result coming back > to me on process/machine4. > Can one refer to the value of a variable on a different machine ? Have a look at the docs for REBOL's TCP support. There's examples there for clients and servers, (all tiny scripts), which should allow you to do the above, if I've understood you right. See... http://www.rebol.com/docs/core23/rebolcore-13.html#sect14. -- Carl Read -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
Dick wrote: > Now, if we had a need for that on a continuous basis 24x7, would it be written differently? I suppose it could be a daemon running on some machine somewhere and would receive message requesting a number and periodically it would write the file, thus providing a high-speed lean-resource implementation ? You'll need to check out Rugby, which, IIRC, provides just such a service. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Dick wrote: > Can one refer to the value of a variable on a different machine ? Yes. Using the TCP protocol in Rebol. But it would probably be easier to use Rugby. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
> What is a Wiki ? Check out the original Wiki at: http://c2.com/cgi/wiki It's a far better explanation than my feeble attempts. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
On 17-Aug-02, [EMAIL PROTECTED] wrote: >> Dick wrote: >>> Does the evaluation of the expression: a + b >> Happen synchronously, or asynchronously >> Are the values of 'a' and 'b' currently exclusive to the process >> that can >> perform the '+' operation or are they in 'shared' mode ? >> Rebol is single threaded. Your question is pretty much meaningless. >> Andrew Martin > For a moment lets assume there are 4 Rebol processes running on > different machines. On my process/machine4 I want to add the value > of a/process/machine1 and b/process/machine2 , and I want the > operation to occur on process/machine3, with the result coming back > to me on process/machine4. > Can one refer to the value of a variable on a different machine ? Have a look at the docs for REBOL's TCP support. There's examples there for clients and servers, (all tiny scripts), which should allow you to do the above, if I've understood you right. See... http://www.rebol.com/docs/core23/rebolcore-13.html#sect14. -- Carl Read -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Windows registry keys
The number is Profile Guid, unique for each user in the world. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/sys info_1691.asp - Original Message - From: "Anton" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, August 15, 2002 10:37 AM Subject: [REBOL] Windows registry keys > I am looking into the windows registry > > I wonder if other people have exactly the same > long path element as in below: > > HKEY_USERS\S-1-5-21-1614895754-688789844-1060284298-1000\Software\Rebol > > Are the numbers exactly the same? > > I am interested in making a silent install for rebol. > > Anton. > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
> Dick wrote: > > Does the evaluation of the expression: a + b > > > > Happen synchronously, or asynchronously > > > > Are the values of 'a' and 'b' currently exclusive to the process that can > perform the '+' operation or are they in 'shared' mode ? > > Rebol is single threaded. Your question is pretty much meaningless. > > Andrew Martin For a moment lets assume there are 4 Rebol processes running on different machines. On my process/machine4 I want to add the value of a/process/machine1 and b/process/machine2 , and I want the operation to occur on process/machine3, with the result coming back to me on process/machine4. Can one refer to the value of a variable on a different machine ? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Oh, I can see I need to do a mind reset on some of my thinking. > Dick wrote: > > Could you expound on this idea? If I create functions/variables named in a > domain sort of way and use those to solve a problem, have I created a > dialect? > > In a way, you have created a dialect. It's just not a very good one. I've > made a similar mistake in my earlier dialects, using functions. You can see > these early versions on the Rebol archive, IIRC. (I no longer use it.) For > some interesting dialects, have a look at my site. Most of the HTML pages > are created from an eText dialect. Substitute .txt for the .html in the URL > in your browser to view the original eText dialect. > I hope that helps! > > Andrew Martin Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
Thanks Andrew, That is a cute solution! Now, if we had a need for that on a continuous basis 24x7, would it be written differently? I suppose it could be a daemon running on some machine somewhere and would receive message requesting a number and periodically it would write the file, thus providing a high-speed lean-resource implementation ? > Dick wrote: > > I want a unique number which is 1 greater than the last one obtained, > worldwide. > > > > How do I do this in Rebol? > > Rebol [ > Name: 'Number > Title: "Title" > File: %Number.r > Author: "Andrew Martin" > eMail: [EMAIL PROTECTED] > Date: 17/Aug/2002 > ] > > Number: has [File Number] [ > File: %Number.txt > if not exists? File [ > save File 0 > ] > Number: load File > Number: Number + 1 > save File Number > Number > ] > > probe Number > probe Number > probe Number > probe Number > probe Number > probe Number > > halt > > Which after some tests, produced: > 13 > 14 > 15 > 16 > 17 > 18 > > It's not the most optimal solution in the world (there's two 'save words for > instance)... > > You're welcome to use it as you wish. > > Andrew Martin > ICQ: 26227169 http://valley.150m.com/ > -><- > > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. >** - End Original Message --- ** > Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
What is a Wiki ? > Dick wrote: > > Has anyone constructed a multi-user spreadsheet with Rebol? > > I've got a multi-user Wiki written in Rebol being used by teachers and staff > at the local high school. Does that count? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Dick wrote: > Could you expound on this idea? If I create functions/variables named in a domain sort of way and use those to solve a problem, have I created a dialect? In a way, you have created a dialect. It's just not a very good one. I've made a similar mistake in my earlier dialects, using functions. You can see these early versions on the Rebol archive, IIRC. (I no longer use it.) For some interesting dialects, have a look at my site. Most of the HTML pages are created from an eText dialect. Substitute .txt for the .html in the URL in your browser to view the original eText dialect. The surrounding HTML is generated from another dialect, my ML dialect, which generates HTML, XHTML, WML, SVG and XML from Rebol words, paths, blocks, tags and other Rebol values. Here's an example of the ML dialect: Dialect: [ http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd";> html [ head [ title (Title) link/rel/type/href "stylesheet" "text/css" (Location %Stylesheet.css) ] (Body-Attributes) [ div/id "Left_Column" [" "] div/id "Center_Column" [ (eText-Dialect) hr a/href (Valley/Core/File) "To the Core." ] ] ] ] The above describes the common HTML structure of most of the pages on my site. My site is generated by another dialect, based on files and directories. It's a bit harder to understand as it's basically a directory structure, with some additions. It's available as %Site.r from the %Values/ directory in the Rebol section on my site. I've got more dialects for creating CSS stylesheets, working with databases and HTML form manipulation (like XForms but better); all of which are still in developement. I hope that helps! Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
Dick wrote: > I want a unique number which is 1 greater than the last one obtained, worldwide. > > How do I do this in Rebol? Rebol [ Name: 'Number Title: "Title" File: %Number.r Author: "Andrew Martin" eMail: [EMAIL PROTECTED] Date: 17/Aug/2002 ] Number: has [File Number] [ File: %Number.txt if not exists? File [ save File 0 ] Number: load File Number: Number + 1 save File Number Number ] probe Number probe Number probe Number probe Number probe Number probe Number halt Which after some tests, produced: 13 14 15 16 17 18 It's not the most optimal solution in the world (there's two 'save words for instance)... You're welcome to use it as you wish. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
Dick wrote: > Considering the expression: a + b > > Where is the code that actually performs the '+' operation located? > Is it in the client or on the server? Usually it's on the client. But that also depends on the code that's been executed before this. This could have reassigned the value of '+ to mean something else. > Where is the value of 'a' and 'b'? > Is it in the client or on the server, or mixed? The value of 'a or 'b could be a simple value or a series or a object, or a function. > How can we learn where the service called '+' is located? probe system/words Unless '+ is given a new value in an surrounding object/context. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
> So, to put things into a different context lets look at the need to print a file. > Does IOS or Rebol do this? According to your description, my Windows XP Home operating system fails to do so. Yet, I can still print lots of pages. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Dick wrote: > Does the evaluation of the expression: a + b > > Happen synchronously, or asynchronously > > Are the values of 'a' and 'b' currently exclusive to the process that can perform the '+' operation or are they in 'shared' mode ? Rebol is single threaded. Your question is pretty much meaningless. Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Killer Application
Dick wrote: > Has anyone constructed a multi-user spreadsheet with Rebol? I've got a multi-user Wiki written in Rebol being used by teachers and staff at the local high school. Does that count? Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Dick wrote: > What can Rebol do that is not just a scalar operation? Perhaps you could explain more about "scalar operation"? Andrew Martin ICQ: 26227169 http://valley.150m.com/ -><- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
> Using most languages, you build tools, libraries, and frameworks and then > you end up thinking in terms of two different models or "universes of > discourse". Using requirements, you build applications. In that process you determine the need for certain algorithms, tools, libraries, protocols, and possibility of a generalized framework. You then compare what is delivered to the original requirements and you decide if you hit the mark. Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Enhancing the REBOL langugage is different from most other languages, too, in that creating dialects allows you to enhance the language in an application/tool/domain-specific way. Dialect?? Could you expound on this idea? If I create functions/variables named in a domain sort of way and use those to solve a problem, have I created a dialect? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
REBOL is a great language for thinker-tinkerers (thinkerers) IMO. Sorry for rambling so much! --Gregg Hey Gregg, it is ok, ramble on ... that is a clever dialect (thinkerers) Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
REBOL is really great for building true applications with full GUIs, data persistence, etc. What is a 'true application'? What is a 'full GUI' ? What is 'data persistence' ? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Yes and no. :) If you look at how RT views "reblets" (little rebol apps running on the IOS desktop, but could be little rebol apps in any environment), you'll see that they say "think of them more like web pages, and less like applications", i.e. they are disposable. So, on that level, there is great value in things that aren't really "applications". Gregg, have you been eating too much buttered popcorn? Just a little humor Gregg, I know what you are saying here. Could be More like Less like Disposable Great Value Aren't really Now I sense we are getting to the meat of the matter. You know, sometimes, being able to do a + b is of great value. Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Frameworks and templates are definitely valuable. I have little template projects I tinker with for very simple database apps where you have, say, a list for selecting the item you want, the fields to fill, and commands to Add, Remove, and Update items. Has a dynamic generalized RDBMS table browser been written in Rebol? Something like Toad? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
I want to avoid reinventing the wheel but, at the same time, I don't want to burden simple projects with a complex framework that provides 10,000% more than I need. I like little pieces, tied together to make bigger pieces. Even when using VB, while others would write monolithic systems that compiled to 6 or 8 meg, I wrote lots of 100-200K apps that worked together to make a system. That makes it easier to build different systems from different parts. So, to put things into a different context lets look at the need to print a file. Imagine for a moment that the existing print capabilities didn't exist. How would you write something like this in Rebol. Especially if there are printers to which you direct certain print jobs because they can for example handle postscript and others can't. Other printer capabilities come into play depending on the requirements for printing this certain type of file. You want to be able to initiate the job, so a form will probably come up. The job ticket containing the information is put somewhere so we need a unique task number generated by the system itself. A message is sent to the appropriate event manager indicating a new job notice. The event manager schedules the task. The event manager processes the task and sends a message to a daemon/service on some remote machine behind the scenes. We can query the status of the task and find it is waiting on a certain resource for example. When the task is complete we are notified that the task is complete, successfully, in error, or someone cancelled the task. We might want to be able to resume the task for various reasons. If the system goes down, any jobs not yet entered into the system will be noticed upon event manager startup and are not lost. Does IOS or Rebol do this? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Hi List, I am bored ... Does the evaluation of the expression: a + b Happen synchronously, or asynchronously Are the values of 'a' and 'b' currently exclusive to the process that can perform the '+' operation or are they in 'shared' mode ? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Killer Application
Hi List, You can see I am still bored ... Has anyone constructed a multi-user spreadsheet with Rebol? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Enhancing the REBOL langugage is different from most other languages, too, in that creating dialects allows you to enhance the language in an application/tool/domain-specific way. It blurs the lines, which is great for me because I don't have to switch mental "modes" nearly as much as I would otherwise. What do you mean by "It blurs the lines"? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
> I don't have enough time under my belt to say that I know the best way to do > things. Heck, there isn't always a "best" way with REBOL because you can do > things so *many* ways. > > REBOL is a great language for thinker-tinkerers (thinkerers) IMO. > > Sorry for rambling so much! > > --Gregg What can Rebol do that is not just a scalar operation? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Killer Application
Hi List, I am bored ... Considering the expression: a + b Where is the code that actually performs the '+' operation located? Is it in the client or on the server? Where is the value of 'a' and 'b'? Is it in the client or on the server, or mixed? How can we learn where the service called '+' is located? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Killer Application
Hi List, Where is the formal documentation that describes IOS? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Killer Application
Hi List, I am bored ... so forgive me for I wish to babble ... I want a unique number which is 1 greater than the last one obtained, worldwide. How do I do this in Rebol? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
So, When someone on the list says we need protocol and framework, what do they mean? Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Hi Dick, << It is the application that corporate America needs. Do you agree? >> Yes and no. :) If you look at how RT views "reblets" (little rebol apps running on the IOS desktop, but could be little rebol apps in any environment), you'll see that they say "think of them more like web pages, and less like applications", i.e. they are disposable. So, on that level, there is great value in things that aren't really "applications". OTOH, REBOL is really great for building true applications with full GUIs, data persistence, etc. << And in defining a killer framework, Rebol wins big time, because the framework allows for many kinds of applications to be developed. >> Frameworks and templates are definitely valuable. I have little template projects I tinker with for very simple database apps where you have, say, a list for selecting the item you want, the fields to fill, and commands to Add, Remove, and Update items. I want to avoid reinventing the wheel but, at the same time, I don't want to burden simple projects with a complex framework that provides 10,000% more than I need. I like little pieces, tied together to make bigger pieces. Even when using VB, while others would write monolithic systems that compiled to 6 or 8 meg, I wrote lots of 100-200K apps that worked together to make a system. That makes it easier to build different systems from different parts. << So, I guess the question is are we trying to figure out a killer application which will propel Rebol into the forefront because of the application or just trying to enhance Rebol the language? >> I think the killer apps will find their way. IOS is a good example. Enhancing the REBOL langugage is different from most other languages, too, in that creating dialects allows you to enhance the language in an application/tool/domain-specific way. It blurs the lines, which is great for me because I don't have to switch mental "modes" nearly as much as I would otherwise. Most times I don't realize it until after the fact, when doing read-throughs, maintenance, etc. I'll read some code and think "Oh yeah! I'm generating that VID stuff dynamically." or "That's right, that's getting loaded from a file and parsed." I don't have enough time under my belt to say that I know the best way to do things. Heck, there isn't always a "best" way with REBOL because you can do things so *many* ways. REBOL is a great language for thinker-tinkerers (thinkerers) IMO. Sorry for rambling so much! --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Windows registry keys
On NT based platforms, I believe its part of user security and matches the number with information authenticated by the users to the correct registry key values. Paul Tretter - Original Message - From: "Brian Hawley" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, August 16, 2002 3:36 AM Subject: [REBOL] Re: Windows registry keys > At 03:37 AM 8/16/02 +1000, you wrote: > >I am looking into the windows registry > > > >I wonder if other people have exactly the same > >long path element as in below: > > > >HKEY_USERS\S-1-5-21-1614895754-688789844-1060284298-1000\Software\Rebol > > > >Are the numbers exactly the same? > > That key is a user-specific key on WinNT or above. On those > Windows you (when you have administrator access) can see the > registry settings of all of the users installed on the your > system. They are accessed through coded IDs under HKEY_USERS. > One of those branches is ".DEFAULT", a placeholder for the > settings that new users are created with. HKEY_CURRENT_USER > is a shortcut for the branch associated with the user that > is currently using the registry. > > >I am interested in making a silent install for rebol. > > Well, I for one would be very happy to see it. The current > installer for REBOL/View is quite unfriendly to multi-user > versions of Windows. That means every version in the NT > line, including 2000 and XP in particular. This becomes more > of a disadvantage with 2000 and XP. Fortunately the problem > is easy to fix. > > A REBOL/View installation on Windows is currently single- > user, since it stores all of its data files in the same > directory as its program file. Since REBOL is generally > installed in a central location, this means that security > settings get in the way of using it. To run REBOL on Win2k > you need to be a "Power User", on XP an Administrator. Any > other setup can be a major security issue. This is also a > factor in installing REBOL on Terminal Server or other true > multi-user versions of Windows, like any version of XP. I'm > afraid this is what they mean by "logo-compliance". > > REBOL doesn't need to be installed that way, though. The > program file is so small that you can give one to each user, > as long as you put it under the user's profile directory. > > Fortunately that isn't as difficult as it sounds. Once > REBOL thinks it is installed the program file you are > actually running doesn't have to be in the same directory > as the data. As long as the data directory listed in >HKEY_CURRENT_USER\Software\Rebol\View:HOME > actually exists, REBOL will pop up the user settings > dialog and download all of its data files there (yes, > including a copy of rebol.exe that can go unused). Watch > out though: If the data directory doesn't exist before > REBOL tries to save the user preferences, REBOL will crash. > I have notified Feedback of this. > > So a multi-user-clean install of REBOL would go like this: > > - Copy rebol.exe into a central location like > C:\Program Files\REBOL >You can get the actual Program Files directory from > HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion >in the "ProgramFilesDir" value. Create the REBOL dir if needed. > > - If you want file associations, you can create them like this: >- Create HKEY_CLASSES_ROOT\.r > - Under this set the default value to "REBOL.Script" (without >the quotes), and the "Content Type" (without the quotes) >value to "text/x-rebol" (without the quotes). >- Create HKEY_CLASSES_ROOT\.r\ShellNew > - Under this set the NullFile value to the empty string. >- Create HKEY_CLASSES_ROOT\REBOL.Script > - Under this set the default value to "REBOL Script" (without >the quotes), and the EditFlags value to a REG_BINARY of 0. >- Create HKEY_CLASSES_ROOT\REBOL.Script\DefaultIcon > - Under this set the default value to the full path of the >program file where you copied it earlier, with ",0" appended >like this: C:\Program Files\REBOL\rebol.exe,0 >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell > - Set its default value to View >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Edit > - Set its default value to &Edit >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Edit\command > - Set its default value to Notepad or some such, like this: > C:\WINNT\system32\NOTEPAD.EXE %1 >You should use the txtfile association if you can. >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Open > - Set its default value to &Open >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Open\command > - Set its default value to the same command as Edit. >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell\View > - Set its default value to &View >- Create HKEY_CLASSES_ROOT\REBOL.Script\shell\View\command > - Set its default value to the command to open a file, like: > "C:\Program Files\REBOL\rebol.exe" -q "%1" >with the quot
[REBOL] Re: Commercial-quality REBOL programmers needed
Yes, I think Rebol has a lot going for itself. I too have an interpretive language which is powerful. Define ouch obj ; elem evt { elemevt Is obj print 'Ouch you clicked on the thingie named: %{elem.name}' } v Is Ucase Join Reverse Split Date v:'title' Is 'Date string in reverse and upper cased' v:'name' 'font' 'w' 'hj' 'onclick' Is 'goober' 'bold' 35 'left' 'ouch' Viewv But, even though mine is a clever language, it is not a system, it is just a language. In fact, I would love to have some of Rebol's capabilities within my own language. In order for Rebol to take off, it seems to me that there should be an application capability which is developed in Rebol. It is the application that corporate America needs. Do you agree? And in defining a killer framework, Rebol wins big time, because the framework allows for many kinds of applications to be developed. So, I guess the question is are we trying to figure out a killer application which will propel Rebol into the forefront because of the application or just trying to enhance Rebol the language? > Hi Dick, > > << After all, Rebol is no different than Java, Tcl/Tk, Perl, and other well > known languages. It is simply a language with certain powerful constructs. > Without an overall application framework they are just languages. >> > > You may find, after spending more time with REBOL, that it is quite > different than most languages out there. You can see features inspired by > other languages (notably Forth, and the Lisp/Logo/Scheme family) but I think > it's fairly unique in many ways. > > Using most languages, you build tools, libraries, and frameworks and then > you end up thinking in terms of two different models or "universes of > discourse". I have found, in my one year with REBOL, that as I build things, > there seems to be much less of a distinction in how I think about using the > core language and using my tools. I'm able to think more about what I'm > trying to achieve and less about certain details. > > I hope you enjoy REBOL as much as I do! Have fun! > > --Gregg > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. >** - End Original Message --- ** > Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
Hi Dick, << After all, Rebol is no different than Java, Tcl/Tk, Perl, and other well known languages. It is simply a language with certain powerful constructs. Without an overall application framework they are just languages. >> You may find, after spending more time with REBOL, that it is quite different than most languages out there. You can see features inspired by other languages (notably Forth, and the Lisp/Logo/Scheme family) but I think it's fairly unique in many ways. Using most languages, you build tools, libraries, and frameworks and then you end up thinking in terms of two different models or "universes of discourse". I have found, in my one year with REBOL, that as I build things, there seems to be much less of a distinction in how I think about using the core language and using my tools. I'm able to think more about what I'm trying to achieve and less about certain details. I hope you enjoy REBOL as much as I do! Have fun! --Gregg -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Commercial-quality REBOL programmers needed
> >1. Standard protocol framework: > > > >What does this mean? > > > What is more though - you have tcp family protocols, but is that > sufficient? You want to communicate, right? You want two machines talk > one to each other? > >Great, so you have to build kind of a client, and > server. But then you want probably your server to understand some > commands? OK, so you build protocol, for your server communication. But > - that protocol will be probably useless for anyone else. So, I can > imagine tool, which will serve as communication matrix, dispatcher, call > it whatever. It should allow to: > - bind protocols on certain ports > - define callbacks for certain kind of events happening on port eg. > on-length, on-char-received, etc. > - define handlers > - define amount of child processes to be started (we have no threading yet) > - be dynamic. I don't accept anything not being able to dynamically > bind, unbind stuff at runtime, without the restart. > - watch the status - monitor > > So - if such framework would exist, if it would be good enough, most ppl > would concentrate upon it, and build stuff for it = central starting > base, unification, consistency. It should imo also become native part of > Rebol distribution. > Cheers, > -pekr- Sometimes, even I amaze myself at how slow I am when immersing into a new world so to speak. Let me say this: USER PROFILE: Information about users to provide capability to restrict. SYSTEM CONFIGURATION INFORMATION: An RDBMS centralized repository of information which results from the implementation of systems and their components. The information object types/nodes can consist of (but not limited to) these conceptual artefacts AP, JC, DT, EM, UI, JI, JN, RM, JE. Each named node of the preceding object types contains information as to its physical location, how to execute, and how to communicate with it in the case it is a service/process. JI - Job Initiator (usually a button on a GUI) submits tasks to be performed (JC). AP - APPLICATIONS - Arbitrary container of a large abstraction. JC - JOBCLASSES - Internalized services/processes for named tasks which might involve one or more steps to be performed and how to handle errors, etc. DT - DATATRANSFORMERS - Inputs/Outputs (grind the data) EM - EVENTMANAGER - Scheduler/dispatcher reacts to incoming message eventtype to execute a JC and its associated steps. UI - GUIS - A users view of the application world. JN: A flexible, configured methodology for notifying of success/failure/cancellation. JE: Control of network devices such as printers to prevent inadvertent mixing of outputs. RM: Someone has to guard the data and other resources to provide a shared/exclusive contract arrangement. CONFIGURATION LIBRARY: A software library which provides access to the centralized repository of information which describes the implementation of computer programs. MESSAGING LIBRARY: A software library which provides the capability for sending and receiving messages within the contrived application world. MESSAGE FORMAT (PROTOCOL): A simple format which includes a few fields of information to allow hi-level interpretation for purposes of routing through the application world. These could include sender, recipient, eventid, eventtype, and TEXT. The TEXT portion of the message may contain anything (even Rebol code) which is understandable to the target process/recipient. CENTRALIZATION OF CORPORATE POLICIES & PROCEDURES: The access of configuration information may result in the internalized automatic evaluation of embedded macros which may in turn refer to other portions of the information repository. This internal evaluation allows for centralization of policies and procedures within an organization. Think of a heirachical tree, where the leaves may refer to other (higherup) nodes for certain information, such as the shared directory location where executables are stored or which version to use of a CAD/CAM extraction tool, etc. QUESTION: When you say protocol, are you talking about a common messaging format or something else? QUESTION: When you are talking about framework, are you talking about an application architecture which provides persistent end-to-end task management? After all, Rebol is no different than Java, Tcl/Tk, Perl, and other well known languages. It is simply a language with certain powerful constructs. Without an overall application framework they are just languages. Dick Download NeoPlanet at http://www.neoplanet.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol/core likes to access/execute windows dll's
Hi Frank, Very good !!! (Now the only thing I need is a /pro version, lets talk to rebol team..;-) Thanks for your feedback and im looking forward to see your code! (R)egards, Norman Deppenbroek -> I already made an image-grabbing interface for VFW-devices like webcams -> for windows which works with /view/pro -> I will send it to the list. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: just "ping"
Hi Ken, On Friday, August 16, 2002, 9:10:47 AM, you wrote: KC> That's all I want, for now. It's not in the library, it's not built in, KC> and it's not in any examples in the docs, unless I'm missing something? The ICMP protocol is not a user protocol, so REBOL does not handle it; if you want more detailed reasons, or just want to complain about it, please contact RT. KC> want to be able to enter an ip address, and see if I can get an echo response KC> (or anything similar) from that machine. Both TCP and UDP provide standard echo ports. That service is usually disabled on most servers (for obvious reasons), but servers will have ICMP echo disabled too in most cases; so, you may want to try something like: >> port: open/no-wait tcp://target.machine:7 >> insert port "PING" >> copy port == "PING" >> close port KC> Is that too much to ask rebol to do? Well, you've got the ping command, what is reinventing the wheel useful for? ;-) Regards, Gabriele. -- Gabriele Santilli <[EMAIL PROTECTED]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: tired of broken downloads?
; replying myself with updated versions downloaded safely more than 100 MB today, correctly appends to interrupted downloads, etc. REBOL [ Title: "download-it!" Author: "Petr Krenzelok" Email: [EMAIL PROTECTED] File: %download-it!.r Version: 1.0 Comment: {Tries to download file, till complete. Still place for improvements: - GUI - not necessary imo - log events to file? - download list of files? - callbacks? E.g. notification by sending email, sms, etc. - whatever ... as for me though - it works, so - finished ... :-) } ] source-file: to-url ask "Paste URL: " target-file: first request-file/title "Save (append) to ..." "Select" source-size: size? source-file either exists? target-file [target-size: size? target-file][target-size: 0] if target-size == source-size [print "Nothing to download, file already complete ..." halt] if target-size > 0 [print ["Appending at " target-size "bytes"]] start: now/time forever [ while [error? try [source: open/binary/direct/no-wait/skip source-file target-size]][ print "Can't open source file waiting 10 min" wait 00:10 ] while [ wait source all [ not error? try [data: copy/part source 8192] data ] ][ write/binary/append target-file data target-size: target-size + length? data print ["Source-size: " source-size tab "Downloaded: " target-size tab "Time: " now/time - start] ] if target-size >= source-size [print "Download complete ..." break] print "Download interrupted ..." print ["Continuing at " target-size "bytes"] close source ] close source -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: tired of broken downloads?
Hi Pekr source read-net "open url" set-modes port/sub-port [lines: false binary: true no-wait: true] seems open http:// goes to wait-mode to get the header. after that is done one can set-mode[no-wait: true]. -Volker Am Freitag, 16. August 2002 07:57 schrieb Petr Krenzelok: > Hello, > > in the age of advanced Internet browsers, we still can meet with very > lame downloaders they provide. They offer no ability to start at the > place where download was broken. So I created following 1KB in size > small util. As you can see - no GUI. I tried, but I spent most of my > time playing with look, so I gave up. It is simple, small, does what it > is supposed to do, well, mostly. > > Every time I think I finally understand how something works, I stay > starving at console, getting unexpected results. So, the script as it is > seems to work. Just try to answer my following questions: > > 1) I tried to use simply "data: copy source" aproach. The strange thing > is, that while I use /no-wait, it should perform body block of 'while. > But I can see console hanging, and the body block is entered only once - > once file is completly downloaded. But - 'copy should not block here, no? > > 2) With larger file, I obtain network time-out. So I tried to use some > kind of "not error? try [data: copy source]", but well, once port is > closed by the other side, 'none is generated, but 'none itself doesn't > return false(error) state to 'try. So - how to adapt the script, so I > could safely go home, and let my script to > download-damned-thing-even-in-million-pieces, safely? :-) > > ... I turned it back to copy/part aproach, but - is open/no-wait on http > port broken? Why does 'copy block, or - what happens at all? Any > explanation appreciated. > > PS: used write/binary/append, untill open/skip works as expected > > -pekr- > > --- > REBOL [] > > source-url: http://www.rebol.cz/~cyphre/ > source-file: %styles2.jpg > > target-path: %./ > target-file: source-file > > source-size: size? join source-url source-file > > either exists? join target-path target-file [ > target-size: size? join target-path target-file > ][target-size: 0] > > if target-size == source-size [print "Nothing to download, file already > complete ..." halt] > if target-size > 0 [print ["Appending at " target-size "bytes"]] > > start: now/time > forever [ > >while [error? try [source: open/binary/direct/no-wait/skip join > source-url source-file target-size]][ > print "Can't open source file waiting 10 min" > wait 00:10 >] > >while [ > wait source > data: copy/part source 2048 >][ > write/binary/append join target-path target-file data > target-size: target-size + length? data > print ["Source-size: " source-size tab "Downloaded: " target-size > tab "Time: " now/time - start] >] > if target-size >= source-size [break] > ] > > close source -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol/core likes to access/execute windows dll's
I already made an image-grabbing interface for VFW-devices like webcams for windows which works with /view/pro I will send it to the list. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] system/console/keys
Hello All, For some time now im wondering about rebol/core internals. also the following -> What is the function/use of /keys within the system/console object? If you have a hint please let me know... make object! [ history: ["probe system/console" "n"] keys: none prompt: ">> " result: "== " escape: "(escape)" busy: "|/-\" tab-size: 4 break: true ] (R)egards, Norman Deppenbroek -- Conversation/lunch: "How do you Eat your Rebol in the Morning?" -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Windows registry keys
At 03:37 AM 8/16/02 +1000, you wrote: >I am looking into the windows registry > >I wonder if other people have exactly the same >long path element as in below: > >HKEY_USERS\S-1-5-21-1614895754-688789844-1060284298-1000\Software\Rebol > >Are the numbers exactly the same? That key is a user-specific key on WinNT or above. On those Windows you (when you have administrator access) can see the registry settings of all of the users installed on the your system. They are accessed through coded IDs under HKEY_USERS. One of those branches is ".DEFAULT", a placeholder for the settings that new users are created with. HKEY_CURRENT_USER is a shortcut for the branch associated with the user that is currently using the registry. >I am interested in making a silent install for rebol. Well, I for one would be very happy to see it. The current installer for REBOL/View is quite unfriendly to multi-user versions of Windows. That means every version in the NT line, including 2000 and XP in particular. This becomes more of a disadvantage with 2000 and XP. Fortunately the problem is easy to fix. A REBOL/View installation on Windows is currently single- user, since it stores all of its data files in the same directory as its program file. Since REBOL is generally installed in a central location, this means that security settings get in the way of using it. To run REBOL on Win2k you need to be a "Power User", on XP an Administrator. Any other setup can be a major security issue. This is also a factor in installing REBOL on Terminal Server or other true multi-user versions of Windows, like any version of XP. I'm afraid this is what they mean by "logo-compliance". REBOL doesn't need to be installed that way, though. The program file is so small that you can give one to each user, as long as you put it under the user's profile directory. Fortunately that isn't as difficult as it sounds. Once REBOL thinks it is installed the program file you are actually running doesn't have to be in the same directory as the data. As long as the data directory listed in HKEY_CURRENT_USER\Software\Rebol\View:HOME actually exists, REBOL will pop up the user settings dialog and download all of its data files there (yes, including a copy of rebol.exe that can go unused). Watch out though: If the data directory doesn't exist before REBOL tries to save the user preferences, REBOL will crash. I have notified Feedback of this. So a multi-user-clean install of REBOL would go like this: - Copy rebol.exe into a central location like C:\Program Files\REBOL You can get the actual Program Files directory from HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion in the "ProgramFilesDir" value. Create the REBOL dir if needed. - If you want file associations, you can create them like this: - Create HKEY_CLASSES_ROOT\.r - Under this set the default value to "REBOL.Script" (without the quotes), and the "Content Type" (without the quotes) value to "text/x-rebol" (without the quotes). - Create HKEY_CLASSES_ROOT\.r\ShellNew - Under this set the NullFile value to the empty string. - Create HKEY_CLASSES_ROOT\REBOL.Script - Under this set the default value to "REBOL Script" (without the quotes), and the EditFlags value to a REG_BINARY of 0. - Create HKEY_CLASSES_ROOT\REBOL.Script\DefaultIcon - Under this set the default value to the full path of the program file where you copied it earlier, with ",0" appended like this: C:\Program Files\REBOL\rebol.exe,0 - Create HKEY_CLASSES_ROOT\REBOL.Script\shell - Set its default value to View - Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Edit - Set its default value to &Edit - Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Edit\command - Set its default value to Notepad or some such, like this: C:\WINNT\system32\NOTEPAD.EXE %1 You should use the txtfile association if you can. - Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Open - Set its default value to &Open - Create HKEY_CLASSES_ROOT\REBOL.Script\shell\Open\command - Set its default value to the same command as Edit. - Create HKEY_CLASSES_ROOT\REBOL.Script\shell\View - Set its default value to &View - Create HKEY_CLASSES_ROOT\REBOL.Script\shell\View\command - Set its default value to the command to open a file, like: "C:\Program Files\REBOL\rebol.exe" -q "%1" with the quotes this time. - Now for the user-specific settings, for every user, including the default. First do HKEY_CURRENT_USER then each user under HKEY_USERS. Win9x doesn't keep the user settings in keys like the one you mentioned above, just ".DEFAULT", so you should remember to do HKEY_CURRENT_USER first. I'll use as a placeholder for HKEY_CURRENT_USER, HKEY_USERS\.DEFAULT, etc. For each user: - Create a "REBOL" directory under the AppData directory. You can get the AppData directory from \Software\Mi
[REBOL] Re: Rebol/core likes to access/execute windows dll's
On Thu, 15 Aug 2002 17:10:22 +0200 Norman <[EMAIL PROTECTED]> >Im trying to access my WEBCAM from rebol and disblay >direct IO trough rebol/core and finaly trough rebol/view. >Any change this might work? > I was just casually looking at this today, and found a few references that might help. A C++ example of grabbing a jpg from a webcam http://perso.wanadoo.fr/laurent.kempe/technical/soap/webcam.htm A Java example of the same http://www.google.co.nz/search?q=cache:Ea3qB9yzaUAC:www.sun.com/developers/evangcentral/totallytech/jmf.html+java+webcam+example&hl=en&ie=UTF-8 The latter requires the Java Media Framework ... and I guess we need a Rebol/View equivalent -- Graham Chiu -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Windows registry keys
Actually, I just looked at the size of my license key - 845 bytes, much larger than the size of the registry path element. It's probably not giving away much if it is at all, then. Anton. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: just "ping"
Ken: > and see if I can get an echo response (or anything similar) from that machine. I don't know how to get an echo. But here's a couple of approaches you might try to get *some* response: ;; See if domain is registered / IP address exists: >> read dns://www.rebol.com == 64.82.101.70 >> read dns://64.82.101.70 == "rebol.com" ;; See if a homepage exists (proving server is up, and is doing www work) >> read http://64.82.101.70 == { ;; Or just: >> exists? http://64.82.101.70 == true >> exists? http://64.82.254.254 == false ll If there's no www server, try FTP >> read ftp://64.82.101.70 == [%incoming/ %pub/ %test.txt] ;; Rebol's server exists and has a few public items >> read ftp://129.42.19.99 ** User Error: Failed login to 129.42.19.99 as anonymous. Check your login ** Near: read ftp://129.42.19.99 ;; either IBM.com exists but we can't get in ;; Or it's a bad IP address ;; Open a port and play around my-ftp-port: open ftp://64.82.101.70 my-http-port: open http://64.82.101.70 probe my-ftp-port/state etc hth Sunanda. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] just "ping"
That's all I want, for now. It's not in the library, it's not built in, and it's not in any examples in the docs, unless I'm missing something? I don't care about the discussion about which protocol is "correct" or whatever the technicality or explanation was before (I don't remember) about why it's not a standard tool in rebol. I just want to be able to enter an ip address, and see if I can get an echo response (or anything similar) from that machine. Is that too much to ask rebol to do? Sorry for sounding sarcastic. I suppose I am showing my own incompetence, after all. --Ken. Ah, you hate Microsoft too! So comrade, ven do vee plan to defect? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: just "ping"
Ken Cadby wrote: >That's all I want, for now. It's not in the library, it's not built in, and it's not >in any examples in the docs, unless I'm missing something? > >I don't care about the discussion about which protocol is "correct" or whatever the >technicality or explanation was before (I don't remember) about why it's not a >standard tool in rebol. I just want to be able to enter an ip address, and see if I >can get an echo response (or anything similar) from that machine. > >Is that too much to ask rebol to do? > >Sorry for sounding sarcastic. I suppose I am showing my own incompetence, after all. > you are and you are not. Forget ping - we were said it requires root access on Unix, so it is not in-there. Many ppl requested it. I thought that Rebol could check for rights somehow, but I can't know Rebol internals of course. Or just buy /Pro version and use shell access to call it. I just wonder, how does /call changes it. Because, RT refused to add ping because of above reasons and also because such scripts would not be probably as "cross-platform" as they could be, while paying for /Pro version seems to remove such POV. It is sad, that we are being driven by "if you want to break cross-platform usage, pay for it" attitude. I said it endless times, that /library and /shell components should be freed, or Rebol will stay in isolation and we will see sarcastic reactions as yours ... in the better case ... as in the worse case ... we loose other person interested in language ... and quite frankly, that's imo much higher price than those 100 USD we are supposed to pay for /Pro version. But then - I may be stupid and missing something obvious, what makes RT to stick with the situation as it is ... -pekr- > >--Ken. > > > >Ah, you hate Microsoft too! So comrade, ven do vee plan to defect? > > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.