Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

REBOL IOS, many Q's. :)

 [1/18] from: edanaii:cox at: 28-Apr-2002 22:10


Greetings all, I just signed up for this list on Saturday, curious about the latest developments regarding REBOL IOS. I've known about REBOL for sometime, practically since the beginning and have always been curious about it, but my curiosity exploded when I heard about REBOL IOS. For some time, I've felt that the current generation of DOSes were not complete, that the needed to be expanded somehow. Naturally, I was excited when I read the article about "The Language that became an OS", I've always felt that DOS (any flavor) should be more robust and usable. So, now, I am intensely curious about this new development. What can anyone tell me about REBOL IOS. I know it integrates network computers together, but I'd like to know much more about this technology. Is it event driven, for example, can it detect events that occur on the host machine? Can communication pipe lines be set up between hosts, so the event occuring locally is communicated to a watching machine? And that's just for starters... :) What can anyone tell me? Inquiring minds, wanna know. -- Sincerely, | Ed Dana | Faith is believing what you know ain't so. Software Developer | -- Mark Twain 1Ghz Athlon Amiga |

 [2/18] from: g:santilli:tiscalinet:it at: 29-Apr-2002 13:03


Hi Ed, On Monday, April 29, 2002, 7:10:58 AM, you wrote: ED> What can anyone tell me? Inquiring minds, wanna know. What can I tell? Try it out. Ask RT for evaluation; it is a great communication system. And, it's REBOL, so you can actually implement whatever you want on top of it. Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r

 [3/18] from: greggirwin:mindspring at: 29-Apr-2002 9:09


Hi Ed, << Is it event driven, for example, can it detect events that occur on the host machine? Can communication pipe lines be set up between hosts, so the event occuring locally is communicated to a watching machine? >> I believe it uses polling to keep machines in sync, and the "desktop" functionality is currently centered around file sync'ing and client-side function calls to the server that post data (post-funcs). As Gabriele said, you can build anything you want on top of it, or alongside it. We have a server proces that uses Rugby to perform certain remote procedure calls which runs along with the IOS server. You really have to experience it. --Gregg

 [4/18] from: edanaii::cox::net at: 30-Apr-2002 18:28


Gregg Irwin wrote:
>Hi Ed, ><< Is it event driven, for example, can it detect events that occur on the
<<quoted lines omitted: 8>>
>procedure calls which runs along with the IOS server. >You really have to experience it.
I intend to. I've already signed up and got my evaluation User ID. I'll probably get everything set up this Saturday. The problem for me is that I'm still not sure as to exactly what REBOL IOS is. Is it an OS? Is it a suite of applications? Or is it both? I assume the answer is both. Also, since I'm responsible for the movement of data to and from our ODS (Operation Data Store), I'm curious about REBEL IOS's strengths in this department. Which is why I asked the question that I did. I've been asked by our "Technology Architect" to investigate REBOL's CGI capabilities, as well. So I'm hoping a few members on this list can clue me in on them. For starters: 1) How well does REBOL manage libraries across disparate systems, keeping them synchronous. I assume "very well". :) 2) How does it manage script complexity, where info/data is dependent on code (I.e. Perl, C, etc...)? 3) Can it move data without XML, or is it dependent on it? I know REBOL does much more than this, but I am interested in it from a data perspective. Thanks for any and all answers, in advance. :) -- Sincerely, | Life is pain, Highness. Anyone who says Ed Dana | differently is selling something. Software Developer | -- The Princess Bride. 1Ghz Athlon Amiga |

 [5/18] from: greggirwin:mindspring at: 30-Apr-2002 22:52


Hi Ed, Since your signature contained a quote from The Princess Bride, I feel compelled to reply. :) << I've already signed up and got my evaluation User ID. I'll probably get everything set up this Saturday. >> Should take you about 5 minutes. << The problem for me is that I'm still not sure as to exactly what REBOL IOS is. Is it an OS? Is it a suite of applications? Or is it both? I assume the answer is both. >> It is both; it is neither; and it is much much more. Cryptic enough for you? ;) Simply put, it is a client side piece, called Link, that connects to the server piece (called Serve, just as you would expect). Link appears as a window, called the Desktop, that is your main point of navigation. It's very much like the View desktop if you've played with that. On the desktop are a number of little applications (reblets) along with folders that contain files, other reblets, etc. None of this is terribly exciting from its description, I know. What's exciting is the first time you fire up Link and it synchronizes you with everything that's published on the server quickly and reliably. Now you can publicly Conference, privately Message, submit feedback, browse the Expert FAQ list, see Who is on line, see what News has been posted, see if anything interesting is happening on the shared Calendar, check out what others have published, etc. Hmmm, still not very exciting. So, not being excited by this so far, you decide to get a second opinion. You fly to Paris and unpack your Link client from the single floppy you brought with you. You connect and, BOOM, everything is there, just as if you were at home. I wrote a little utility and published it on IOS. One day, Messenger popped up and someone said "Can I add a couple features to it?" I said that was no problem, made sure I had published the latest version I had, and a short time later, a new version appeared with their changes. Messenger came up again and they said "Hmmm, I'm seeing a bug that causes..." I opened the code they had published, fixed the bug, and republished it (after testing it of course :). If I didn't like the end result, I'd just pull up History for the script and republish an eariler version. << Also, since I'm responsible for the movement of data to and from our ODS (Operation Data Store), I'm curious about REBEL IOS's strengths in this department. Which is why I asked the question that I did. >> IOS is built on REBOL, the language, and REBOL is a "messaging language". Eventually, as the clouds are lifted from our eyes, we'll begin to understand what that really means to us as developers. In the meantime, it's a very net-aware language with ties to a few interop mechanisms and the ability to create new ones without much difficulty. << I've been asked by our "Technology Architect" to investigate REBOL's CGI capabilities, as well. So I'm hoping a few members on this list can clue me in on them. >> Others will have to speak to that, as it's not my area, but I've see lots of great things done with it. Sometimes there's an initial setup hurdle or two it seems, just because it's not mainstream, but I haven't seen any horror stories posted. << 1) How well does REBOL manage libraries across disparate systems, keeping them synchronous. I assume "very well". :) >> If you mean managing REBOL scripts, general purpose or otherwise, that's very general and could be done a number of ways. If you're using IOS, it's seamless. You publish. It syncs. << 2) How does it manage script complexity, where info/data is dependent on code (I.e. Perl, C, etc...)? >> I'm not sure exactly what you mean, but REBOL is very different in how the code/data line is not just blurred, but can disappear entirely. You could write a lot of solutions in REBOL very much like you would in other languages and, while a little different syntactically, there wouldn't be much overall difference. When you stop thinking in terms of how you would do it in other languages, and just think of how you *want* to do it, volumes of code can disappear and the remaining pieces communicate more clearly. The REBOL code I write is totally different from what I would write in other languages, and I still haven't let go of "the old ways" as much as I want to. :) << 3) Can it move data without XML, or is it dependent on it? >> There are some XML libs, and some built in support for XML, but REBOL's native format is all it needs. I hope I don't sound too evangelistic. I just love working with this language. HTH! --Gregg

 [6/18] from: atruter:hih:au at: 1-May-2002 16:00


Thanks Gregg, Even though I didn't post the original questions, your "chatty" style of explanation has actually given me an understanding of what IOS can do for us. I am especially interested in the concurrent remote development possibilities, does IOS facilitate / enable source versioning and control? ie. can I check-out / lock scripts that are being worked on? How is divergence handled (version A is modified by me to become B, while someone else modifies A to become C, now B and C need to be merged to become B proper)? Regards, Ashley

 [7/18] from: greggirwin:mindspring at: 1-May-2002 0:46


Hi Ashley, << does IOS facilitate / enable source versioning and control? ie. can I check-out / lock scripts that are being worked on? How is divergence handled (version A is modified by me to become B, while someone else modifies A to become C, now B and C need to be merged to become B proper)? >> IOS itself doesn't do version control beyond storing compressed versions of published files. As long as your local version is newer than the latest published version, it warns you by turning the icon red, to let you know you're out of sync (unpublished). Now, if someone else should publish a later version, your local work may get clobbered when it syncs up and sees a newer version on the server. I don't know if it looks "back" to see if your local version matches *any* of the published version's timestamps, but I don't think it does. I know of at least one person working on some REBOL based diff/merge technology, but I don't know how it might integrate with IOS. --Gregg

 [8/18] from: jason:cunliffe:verizon at: 1-May-2002 9:20


Gregg Irwin <[greggirwin--mindspring--com]>
> Simply put, it is a client side piece, called Link, that connects to the
...snip... Gregg Thank you. That is the best simple description I've read yet on REBOL/IOS :-) Some version of your description is needed for press release, on RT site, and for potential client arguments. Perhaps an illustrated one would be even better. Perhaps an IOS comic ala Scott McCloud's Reinventign Comics / I can't stop thinking http://scottmccloud.com/ ./Jason

 [9/18] from: carl:cybercraft at: 2-May-2002 8:50


On 02-May-02, Jason Cunliffe wrote:
> "Gregg Irwin" <[greggirwin--mindspring--com]> >> Simply put, it is a client side piece, called Link, that connects
<<quoted lines omitted: 3>>
> Thank you. That is the best simple description I've read yet on > REBOL/IOS :-)
I agree, and I've already forwarded it to a few people too.
> Some version of your description is needed for press release, on RT > site, and for potential client arguments. Perhaps an illustrated one > would be even better. Perhaps an IOS comic ala Scott McCloud's > Reinventign Comics / I can't stop thinking > http://scottmccloud.com/
Not a bad idea, actually. -- Carl Read

 [10/18] from: edanaii:cox at: 1-May-2002 18:27


Gregg Irwin wrote:
>Hi Ed, > ><< The problem for me is that I'm still not sure as to exactly what REBOL >IOS is. Is it an OS? Is it a suite of applications? Or is it both? I >assume the answer is both. >> > >It is both; it is neither; and it is much much more. Cryptic enough for you? >;) >
Ah yes, I begin to understand now. ;)
>Simply put, it is a client side piece, called Link, that connects to the >server piece (called Serve, just as you would expect). Link appears as a
<<quoted lines omitted: 13>>
>brought with you. You connect and, BOOM, everything is there, just as if you >were at home.
Very nice, and very much what I understand about it. As a tool, it certainly has potential for our Sales Force, over here.
>I wrote a little utility and published it on IOS. One day, Messenger popped >up and someone said "Can I add a couple features to it?" I said that was no
<<quoted lines omitted: 4>>
>of course :). If I didn't like the end result, I'd just pull up History for >the script and republish an eariler version.
But this synchronization, I presume applies to more than just REBOL scripts, as you've pointed out above, it applies to just about any kind of documents.
><< Also, since I'm responsible for the movement of data to and from our ODS >(Operation Data Store), I'm curious about REBEL IOS's strengths in this
<<quoted lines omitted: 4>>
>a very net-aware language with ties to a few interop mechanisms and the >ability to create new ones without much difficulty.
But can it, for example, perform actions that occur to a file, either remotely, or on the local machine? Let's say, for example, that I have a process that needs to be aware of the arrival of a file. Rather than creating a daemon that constantly runs and watches for it, can IOS fire off a process the moment the file arrives? In other words, is it aware of the activities that it performs and can that awareness be passed on to scripts?
>I hope I don't sound too evangelistic. I just love working with this >language. >
Nah... You clearly like the product, that's not a bad thing. :) A few more questions, for anyone that can answer them. You mention that IOS has two components, a client (called LINK) and a server (called SERVE). What can you tell me about Serve? Is it a binary that sits on a host OS? Is it be the sole OS on the box? Or both? Scripts, I've noticed, are extremely small and efficient. How is it CPU-wise? Since it handles encription and compression on the fly, how CPU intensive is it? Since it is distributed, can it share the load with other CPU's? -- Sincerely, | Ed Dana | This is the worst kind of discrimination! The Software Developer | kind against me! 1Ghz Athlon Amiga | -- Bender, Futurama.

 [11/18] from: carl:cybercraft at: 2-May-2002 15:18


On 01-May-02, Gregg Irwin wrote:
> So, not being excited by this so far, you decide to get a second > opinion. You fly to Paris and unpack your Link client from the > single floppy you brought with you. You connect and, BOOM, > everything is there, just as if you were at home.
By "there", I assume you don't mean everything's updated onto the floppy from server-side, do you? ie, to be practical, wouldn't you have to move Link to the computer you're using? Or is it possible with IOS to have it so what you publish is only stored server-side? -- Carl Read

 [12/18] from: greggirwin:mindspring at: 1-May-2002 22:28


Hi Carl, <<
> So, not being excited by this so far, you decide to get a second > opinion. You fly to Paris and unpack your Link client from the > single floppy you brought with you. You connect and, BOOM, > everything is there, just as if you were at home.
By "there", I assume you don't mean everything's updated onto the floppy from server-side, do you? ie, to be practical, wouldn't you have to move Link to the computer you're using? Or is it possible with IOS to have it so what you publish is only stored server-side?
>>
Sorry for the confusion. When you unpack your Link client, you would presumably unpack it onto the hard drive of a machine. When you sync up, you'll have a local copy of everything. While you can fit many reblets on the head of a pin, you may not be able to make them dance. :) --Gregg

 [13/18] from: al:bri:xtra at: 2-May-2002 16:51


Installed from floppy onto the hard disk. Unless it's one of the things which fit onto a USB port and pretend to be a hard disk drive. They're about 128MB in size. Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [14/18] from: greggirwin:mindspring at: 1-May-2002 23:07


<< Installed from floppy onto the hard disk. Unless it's one of the things which fit onto a USB port and pretend to be a hard disk drive. They're about 128MB in size. >> Oooohhhhh. I hadn't thought about *thaa-aat*. :) --Gregg

 [15/18] from: greggirwin:mindspring at: 1-May-2002 23:05


Hi Ed, << But this synchronization, I presume applies to more than just REBOL scripts, as you've pointed out above, it applies to just about any kind of documents. >> Yes. When you get your eval running, you'll see some Word and Excel docs that launch directly from the desktop. I think it doesn't like AVI files, and maybe some other media files, but most associations on Windows should work. << Let's say, for example, that I have a process that needs to be aware of the arrival of a file. Rather than creating a daemon that constantly runs and watches for it, can IOS fire off a process the moment the file arrives? In other words, is it aware of the activities that it performs and can that awareness be passed on to scripts? >> IOS/Serve, as I understand it, isn't watching for files. It's waiting for you to call it and say you have some new data to publish. Each reblet has its own "post-func" function (someone please correct me if I err in my description here) that tells the server what to do when it publishes data. Reblets also generally insert some callback functions (insert-notify) so they can be notified when certain events happen. If you're doing everything in IOS then the answer is probably yes. If the file just shows up in a directory, then you need a process running to watch for it. << You mention that IOS has two components, a client (called LINK) and a server (called SERVE). What can you tell me about Serve? Is it a binary that sits on a host OS? Is it be the sole OS on the box? Or both? >> It's a binary that sits on the host OS. There's a CGI proxy that sits on the server and talks to Serve. The Link clients make their requests through a standard web server so you don't have to do any fancy firewall stuff. << Scripts, I've noticed, are extremely small and efficient. How is it CPU-wise? Since it handles encription and compression on the fly, how CPU intensive is it? Since it is distributed, can it share the load with other CPU's? >> Our server doesn't get nearly enough traffic to register the impact. RT would have to speak to that but their core stuff tends to be very fast. The place you can cause an impact is with GUIs on the client side. Sometimes I forget there's a 24 bit compositing system working full time in there, and how hard it has to work, because it's so easy for me to create some large faces and apply a few effects to them. In most cases you can pre-render an effected image and use that...but I digress. REBOL is single threaded. It's almost too easy to create other processes (someone just posted an example here recently) and have them talk via ports, but a single copy of Serve, unless I'm mistaken, won't take advantage of an SMP machine. Now, if you want to run more than one Serve server... You should also look into Rugby if you haven't already. HTH! --Gregg

 [16/18] from: carl:cybercraft at: 2-May-2002 19:12


On 02-May-02, Gregg Irwin wrote:
> Hi Carl, > <<
<<quoted lines omitted: 12>>
> reblets on the head of a pin, you may not be able to make them > dance. :)
That's what I expected, but it got me thinking about whether it'd be possible to not have stuff stored locally. Of course you'd always have to be online for it to work, but for cases where you need to use others' computers but don't want to install Link on them, let alone have all your data placed on their drives, it could be useful. But as Andrew pointed out, there's plenty of better alternatives to floppy disks these days for carting your data around. It'd be a neat trick from just a floppy though. (: -- Carl Read

 [17/18] from: rebol:optushome:au at: 2-May-2002 19:04


> Let's say, for example, that I have a process that needs to be aware of > the arrival of a file. Rather than creating a daemon that constantly > runs and watches for it, can IOS fire off a process the moment the file > arrives? In other words, is it aware of the activities that it performs > and can that awareness be passed on to scripts?
In this case you can have a reblet that you click on and make it sleep in the background (doesn't even show on the taskbar if you don't want it too), the script would ask link to notify of particular events (a call back) like so e.g insert-notify 'fileset-downloaded 'file-set-name :on-file ("on-file" being the function you've written to be called when a file arrives.) Also when you first run your app, it can check to see if files have been syncronised to its file-set while it wasn't on-line or running. If you need your app to run from the moment Link is connected (without user intervention) then that would require a customised desktop (also easy). Cheers, Allen K

 [18/18] from: edanaii:cox at: 4-May-2002 11:18


Gregg Irwin wrote:
>Hi Ed, ><< Let's say, for example, that I have a process that needs to be aware of
<<quoted lines omitted: 10>>
>in IOS then the answer is probably yes. If the file just shows up in a >directory, then you need a process running to watch for it.
OK, now I begin to understand. It is not an OS in the traditional sense, perhaps not an OS at all. I think it is better characterized as a server. Not that I am saying this is bad, not at all. It still has a lot of potential. Just not the potential I was hoping for. That aside, it still definitely has uses, possibly for my development team, and definitely for my companies sales force.
>HTH! >
It did. :) -- Sincerely, | When we remember we are all mad, the mysteries of Ed Dana | life disappear and life stands explained. Software Developer | -- Mark Twain 1Ghz Athlon Amiga |

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted