REBOL3 - !Uniserve ([web-public])

Return to Index Page
Most recent messages (300 max) are listed first.

#UserMessageDate
566BrianHYou could take advantage of Uniserve's task dispatch and process management to do load balancing between LNS servers.2-Mar 16:30
565PaulWouldn't LNS currently have the same problem as Uniserve with respect to mono-processing?2-Mar 16:30
564BrianHI wonder if it would make sense to make some kind of a multi-LNS layer over Uniserve.2-Mar 16:29
563PaulI think that Doc has the most available and supported Async offering right now that can even quality for my needs.2-Mar 16:14
562BrianHOf course.2-Mar 16:12
561PaulI do see the problem Brian.2-Mar 16:11
560BrianHNot discouraging you, just warning you :)2-Mar 16:10
559BrianHPaul, you'd still need to think about all of those concurrent consistency problems if you went multi-threaded. Without serialization of some form, concurrent use will still be an issue, whether you are using processes or threads.2-Mar 16:09
558PaulThanks Doc.2-Mar 15:47
557KajI'm currently integrating the UniServe software stack into Syllable Server2-Mar 15:43
556DockimbelIn that case, you need to rely on slave processes, each one executing TRETBASE. This means that you have to set up a distributed architecture, think about disk-writing synchronization between slaves, caches consistency,... All these could be easier done if we had multi-threading support in REBOL. It can be done without, but it's more complex and much less efficient.2-Mar 10:07
555PaulI would most likely have a lot of that going on with TRETBASE since the searches could take some time to produce results.2-Mar 0:37
554DockimbelTo determine if you can leave the work inside the callback, just do some simple maths. E.g., if a request needs 50ms to be processed, that means that your server cannot do more than 20req/s. So it also depends on the load your server need to handle.1-Mar 23:59
553DockimbelSo, you should be concerned about not doing heavy computation inside network event callbacks (like in 'on-received). If longer processing is needed, you should use the task-master service in Uniserve to send the request to a slave process (this has also the advantage of fully using the power of modern multicores processors).1-Mar 23:56
552DockimbelThe main process (Uniserve process) should only do minimal work in processing port events so that other events can be processed in a short delay, giving the feeling of multitasking with several clients.1-Mar 23:51
551DockimbelCheyenne uses the latest Uniserve's version. There's no special version of Uniserve for Cheyenne, so it's mono-thread. Uniserve also brings IPC between several slave processes using the task-master protocol (part of Uniserve, used in Cheyenne to run CGI and RSP scripts).1-Mar 23:49
550PaulDoc, does the Cheyenne version of Uniserve also have the mono-thread execution. If so, what should I be concerned about with regard to blocking?1-Mar 18:46
549GrahamNot yet ..but wanting to make sure that forks are folded back in :)27-Feb-07 18:31
548Oldesgraham: what I know, my postgres driver changes are not in the original version. At this moment I'm not using it as I even don't have postgres installed. Do you need it?27-Feb-07 10:50
547Pekrhehe ... well, they are mostly MS based - tried their website and I got some aspx Microsoft db OLE provider error. Will have to talk to guys a bit :-)26-Feb-07 20:30
546GrahamIf you're going to head IT services at this new company .. perhaps you could get someone to write this :)26-Feb-07 20:15
545PekrWell, hmm, why not, right?26-Feb-07 20:04
544Pekr:-) How would it be usefull?26-Feb-07 20:04
543Grahamnot if someone uses uniserve to write a driver :)26-Feb-07 19:53
542Pekrhmm, wrong channel, sorry...26-Feb-07 19:50
541Pekreh? I thought that Firebird is being regarded being one of the best open-source offerings? No driver documented? Strange - each language except the Rebol has driver, so how they did it?26-Feb-07 19:50
540Grahamthere is a client java module in CVS26-Feb-07 19:32
539GrahamI asked a year ago on the developer list .. they said, don't even think about it!26-Feb-07 19:28
538Maximmaybe someone else did this and documented it? somewhere on the net... just thinking loud...26-Feb-07 19:28
537GrahamOr, to try and reverse engineer the protocol from another product26-Feb-07 19:27
536GrahamIt has an undocumented tcp protocol .. so for Linux, there is no option but to move to something else26-Feb-07 19:27
535PekrGraham, btw., what would be needed for Rebol FireBird support? Does it use typical tcp scheme as mySQL e.g.? This week I met with two ppl using FireBird, and there seem to be no answer from Rebol part. Well, maybe ODBC, but that is not free ...26-Feb-07 19:24
534Grahamoff topic oldes, but are your postgres driver fixes folded back into the offficial driver ?26-Feb-07 19:20
533OldesYes, but if you know how works server, you should know client as well:]26-Feb-07 19:11
532GrahamI'm looking more for client than server :)26-Feb-07 19:10
531Oldesbut at this moment have other things to do26-Feb-07 19:05
530Oldesmaybe I could try to rewrite it26-Feb-07 19:04
529OldesI have somewhere testing script (not for uniserver) working as simple ftp server.26-Feb-07 19:04
528DockimbelNever really investigated deeply such construction, but at first look, I don't see any issue doing that.26-Feb-07 19:03
527DockimbelIt would require to control a "data port service" from a "command port service".26-Feb-07 19:00
526DockimbelNot yet, but I would like to add one.26-Feb-07 18:58
525GrahamOr, at least an example of a uniserve client copes with using a command and a data port.26-Feb-07 18:56
524GrahamIs there a ftp client for uniserve?26-Feb-07 18:56
523GrahamHe wouldn't drink Jaime's free beer! ...14-Feb-07 2:41
522PekrRebolek - that is for sure!13-Feb-07 21:18
521Rebolekso if we bring some czech beers, we can probably get whole source code? ;)13-Feb-07 19:57
520Henrik"after several beers last year in Paris, Carl told me that..." oh, so that's how it works! pardon me, I couldn't help it. :-)13-Feb-07 18:40
519DockimbelAbout server-side SSL : after several beers last year in Paris, Carl told me that the ssl:// scheme could be turn to work as server-side with just the right flag set (IIRC, was about setting the right "direction" in encryption), then you "just" have to implement server-side HTTPS protocol to support it fully. I've since that, tryed several times to get the info about the "magic flag" from Carl, without success. So I've prepared several dozens bottles of beer to be sure to get the info from him at the next DevCon ;-).13-Feb-07 18:33
518Maximexactly the kind of snooping I'd add too :-)8-Feb-07 21:50
517OldesAt the beginning I modified it a little bit to better print out urls and to save favicon files if found while browsing:)8-Feb-07 21:50
516Maximhum... and I was just wishing a stable proxy was available in rebol last week for some testing... thanks! for the info.8-Feb-07 21:49
515OldesThe source is in %services/proxy-http.r8-Feb-07 21:47
514Oldesyes, and it's the best Rebol proxy I used. Just: uniserve/boot/with [services [proxy-http] protocols [http]]8-Feb-07 21:46
513Maximhum... uniserve can work as a proxy ?8-Feb-07 21:37
512OldesMust say, that I'm all day using the proxy service from the latest uniserve and have no problems with it. It's fast enough even when streaming videos:) It's quite fun to watch what files are transfered while surfing.8-Feb-07 21:22
511Maxim(and apache is good at handling thousands of requests without crashing)8-Feb-07 17:32
510Maximit also allows us to spread connections over many machines/threads virtualise the port and all that nice stuff without actually having to code it.8-Feb-07 17:31
509MaximIf I had time I would have done it much before, but we ended up using apache and a reverse proxy setup... and that works really well.8-Feb-07 17:30
508Mcheando i smell a competition?8-Feb-07 17:29
507Maximall the actual core needs are within... its just a question of reading the rfc (or implementation guides, or books) and using the encryptions funcs within REBOL... but I'll agree its not for the faint of heart... I've read a lot about server-side ssl implemtation a few months ago and its quite laborious. But still doable.8-Feb-07 15:43
506Ladislav(you can implement it in REBOL)8-Feb-07 14:52
505Ladislav:-)8-Feb-07 14:52
504Ladislavclose but no cigar again8-Feb-07 14:52
503Grahamlet me rephrase that .. no one outside of RT and their contractors know how to do this.8-Feb-07 8:33
502Ladislav"Rebol can't do server side SSL" - close but no cigar, actually, it is not that hard8-Feb-07 8:16
501GrahamSo, without server side SSL, Cheyenne can't do https .. unless it's thru stunnel.8-Feb-07 1:28
500GrahamRebol can't do server side SSL ... Carl thought it could by changing a flag, but it does not work when it was tested.8-Feb-07 1:28
499GrahamSessions are broken in cheyenne. Basically session data from one client ends up as session data in another :(8-Feb-07 1:27
498BrianHReading is client-side SSL.7-Feb-07 19:54
497Oldesok... doc' seems to be online now, as he emailed me almost immediately:

I'm aware of this problem (cgi and paths). It's because the encap-fs system is not correctly supported in this version of UniServe (it's ok in the Cheyenne package). I didn't fixed it because, with the release of Cheyenne, I'm not sure to keep the CGI support for the HTTPd service in the UniServe package. I may just provide a static HTTPd server with hooks to extend it or embed it in user applications. v1 of UniServe have to be very easy to embed in any app (that's one of main goals).

7-Feb-07 19:52
496Henrikwell, command can read https pages...?7-Feb-07 19:52
495BrianHI don't know how it would have HTTPS server support, even with /Command. I thought /Command only has SSL client support.7-Feb-07 19:51
494OldesI don't know how it's with https, I don't have /command7-Feb-07 19:49
493BrianHYou mean HTTPS?7-Feb-07 19:48
492Oldesthe chayenne is just encrypted uniserve7-Feb-07 19:47
491Oldesthere is file %libs/cookies.r so one can take a look at it, if needed7-Feb-07 19:46
490BrianHSurely you are not surprised that Doc would disappear abruptly? He seems to have even less time than I do.7-Feb-07 19:46
489PekrBrianH - of course if you don't need sessions, httpd is probably working well. I just did not understand the Cheyenne release. The simple demo did not work. There is a demo with screen divided into something like 4x4 subwindows (frames), and most of them times out. Doc told me session layer is about to be rewritten, then no word from him for another few months7-Feb-07 19:43
488OldesI don't know what is with sessions. The uniserve seems to pretty good to me. I'm using it. And I think that Doc is still Reboling, probably just don't have so much time.7-Feb-07 19:40
487BrianHDo you mean that sessions are non-working, or that there is something about non-working sessions that makes HTTP (a stateless protocol that wouldn't normally need sessions) not work?7-Feb-07 19:34
486Pekris Doc going to be back on Uniserve or Chayanne? Without fixed sessions it is mostly non working httpd server7-Feb-07 19:30
485OldesYes, we had a short electronic contact :-) In this archive are the proxy and httpd services working without need of changes, the cgi test seems to give me an error so probably this will need some fix.7-Feb-07 19:22
484Pekrbtw - what fixes it needs?7-Feb-07 19:03
483Pekrhe is in contact with you?7-Feb-07 19:03
482OldesI've got this newer Nenad's version of UniServe http://box.lebeda.ws/~hmm/rebol/UniServe-r0991.zip (but as he said - beware, it needs several fixes and updates to become a 1.0 candidate)7-Feb-07 17:29
481Oldesand I'm not using most of the files. (At least now)30-Jan-07 21:24
480Oldesas the one above30-Jan-07 21:22
479Oldesit works, but you have to do some small changes:-)30-Jan-07 21:22
478Pekrso new version, 0919 does not work s is?30-Jan-07 21:21
477OldesI'm slowly moving forward:) after a few hours I almost have what I already had but using new uniserve:)30-Jan-07 21:14
476OldesThis was quite important difference as my scripts were still using response (so I was getting result = none)30-Jan-07 21:11
475Mcheanso the project - moving forward - contains encapped modules?30-Jan-07 21:10
474Pekrbut 0.919 is provided with no documentation ... what is the difference then?30-Jan-07 21:08
473Oldeshmm.... maybe if someone was using uniserver 0.9.9 and want to upgrade, there was important change - instead of module/response there is now module/result30-Jan-07 21:07
472Oldesso what is here is Cheyenne in some unfinished state30-Jan-07 19:54
471Oldesand if you look into cgi code in the UniServe archive, you can see, it identifies itself like soc/server-software: "Cheyenne/1.0"30-Jan-07 19:53
470Oldesech.. no, the compression should be in version 1.030-Jan-07 19:49
469Oldes(not just httpd as it is able to do for example bzip2 compression so it probably needs some libs)30-Jan-07 19:48
468OldesYes, the encapped part is the httpd service. You can see, that in Cheynne archive there is a little bit newer uniserve engine - 0.9.2030-Jan-07 19:45
467Pekrand do we have access to that httpd source? Cheyenne is encapped, no?30-Jan-07 19:29
466OldesYes, the most recent version is newer httpd service which is called Cheynne :)30-Jan-07 19:27
465PekrI tried to contact him few days ago, and asked him for some more recent version. I somehow believe, that if he really uses it for his own stuff, he has to have some things fixed already :-)30-Jan-07 19:19
464Oldeshe just gave us some sources to play with30-Jan-07 19:17
463Oldesit's not realease30-Jan-07 19:17
462PekrLater on he told me session handling is going to be rewriten, but then he left scene for another few months probably :-)30-Jan-07 19:17
461OldesAt least I use it for such a scenario, which takes more than 10secs to process30-Jan-07 19:17
460Pekryes, but its session support sucks. I really don't understand, how Doc could release it, as it miserably fails. Have you tried multiple pane demo?30-Jan-07 19:16
459OldesPekr: and if you need to process something which will take 10secs, Uniserve should be good in that.30-Jan-07 19:16
458OldesAnd don't forget, that Chayenne is made on Uniserve, it will be probably some more uptodate version:-)30-Jan-07 19:14
457PekrUniserve is imo kind of engine we SHOULD adapt and include in the core. In the case of R3, using native R3 tasking ...30-Jan-07 19:14
456PekrMaarten later on introduced so called "green threading" (?), so you can divide your exposed function functionality in several or many parts, to get better granularity. Then he introduced chaining- so that e.g. main Rugby process could become kind of proxy, and forward (chain) request to other instance. But then there were some problems iirc and Maarten left its development.30-Jan-07 19:13
455OldesPekr: I'm using uniserve as well for some time, but version 0.9.9 I found some time to look at the version 0.9.19 now so I'm examining it, and must say, that's just a quick pack of some files.30-Jan-07 19:13
454PekrMchean - In the past I really loved Rugby - if you want to start with something, and learn something (RPC), it is really a good choice (Rugby). Very simple to use. What I did not liked was - its lack of asynchronicity. E.g. in Rugby you select your function of exported (so callable over the tcp/ip network). But if such function does something for 10secs, then all Rugby is blocked and it is not able to accept further requests.30-Jan-07 19:11
453PekrOldes - what does your task master fix fixes particularly?30-Jan-07 19:09
452PekrThat all sounds really strange, as Doc was claiming they use Uniserve in production for several customers or so, for quite some time ...30-Jan-07 19:09
451Oldesand still have some problems...30-Jan-07 18:37
450OldesI just started:)30-Jan-07 18:36
449GrahamOldes, why don't you release a fixed version ?30-Jan-07 18:33
448OldesAnd there is another bug in the UniServe0919 - there should be this in the file %services/task-master/task-handler.r (the [not value?] check is not enough): if any [not value? 'uniserve-path none? uniserve-path] [uniserve-path: what-dir] if any [not value? 'modules-path none? modules-path] [modules-path: dirize uniserve-path/modules] if any [not value? 'uniserve-port none? uniserve-port] [uniserve-port: 9799]30-Jan-07 18:20
447Mcheanthanks - i will look at that30-Jan-07 18:05
446Oldesfor example with this one http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=webserv.r30-Jan-07 18:04
445OldesI'm not sure if you should not start with some older server which are not async30-Jan-07 18:02
444Mcheanto learn about web servers, and rebol commands30-Jan-07 18:00
443OldesI started with uniserve 0.9.9 which is stable enough for me.30-Jan-07 18:00
442Oldeswhat kind of learning?30-Jan-07 17:58
441Mcheanjust a learning tool30-Jan-07 17:58
440OldesI don't know, I never used Rugby and don't know what you want to do:)30-Jan-07 17:57
439Mcheanok thanks - do you think Rugby might be a better choice?30-Jan-07 17:56
438Oldesthe file is probably not in the best shape as there are some probes which are probably because of debugging which was Doc making at the moment when he gave it here30-Jan-07 17:55
437Oldesyou can also change the port you are listening - for example to 808030-Jan-07 17:53
436Oldesjust go to services/HTTPd.r file and edit the prefs30-Jan-07 17:52
435Mcheanmy purpose is to educate myself about servers using Uniserve as a starting point30-Jan-07 17:51
434Mcheanhmm... maybe that's not a good expectation then30-Jan-07 17:51
433McheanNot really, just trying to get the out-of-box experience30-Jan-07 17:50
432OldesAnd if you are using the Uniserve from the link above, you should know, that it's just a shapshot from doc's folder so you have to for example edit some files - for example the default prefs of the HTTPd as they are leading into files which don't exists.30-Jan-07 17:50
431Oldesdo you really need all the protocols? If not, you can start uniserve using this way:

do %uni-engine.r uniserve/verbose: 5 uniserve/boot/no-loop/with [ protocols [irc] services [flashd task-master httpd] ] ;do whatever here do-events

30-Jan-07 17:43
430Mcheanyes, i think im making progress thanks for the help30-Jan-07 4:02
429Grahamdoes the binary work for you?30-Jan-07 1:41
428McheanI figured out how to stop the service tying up the 80 port , When i run this is what I get: >> do %/c/temp/rebol/uniserve/uni-engine.r == true >> uniserve/boot [uniserve] Async Protocol Admin loaded [uniserve] Async Protocol DNS loaded [uniserve] Async Protocol FastCGI loaded [uniserve] Async Protocol HTTP loaded ** Script Error: change expected series argument of type: series port ** Where: install-plugin ** Near: change pos/2 new30-Jan-07 1:31
427Mcheanscary how many open ports i have for processes i can't id29-Jan-07 23:07
426McheanIt turns out I have a inetinfo service running which locks that port. Its used in IIS but since I'm not running it I'm not sure what is using this process, and killing it doesn't work, as it keeps coming back. I will have to investigate using another port29-Jan-07 22:54
425Mcheani found this also on a suggestion from a friend: http://www.hijackfree.de/en/29-Jan-07 20:04
424Pekrnetstat -an29-Jan-07 19:39
423Grahamtry this http://www.microsoft.com/technet/sysinternals/utilities/TcpView.mspx29-Jan-07 19:26
422Grahamnetstat will tell you that 80 is open29-Jan-07 19:21
421Grahamthere are windows utilities to see what ports are opened and by what.29-Jan-07 19:16
420McheanGraham the command fails so i guess something has port 80 tied up though i don't know what this might be. I've tried this on 2 pc's on one the localhost fails with no page found, and on another im prompted for a user password. I'll talk to my tech.29-Jan-07 19:05
419GrahamXP will ask you if you start up a server process if it is to be allowed29-Jan-07 18:01
418McheanWould there be any issues with port blocking in Windows XP and their firewall?29-Jan-07 17:54
417Mcheanthank-you!29-Jan-07 17:27
416Pekr0.9.9 is latest official version. But scroll to some earlier messages here, and you will find link to beta 0.919 version ....29-Jan-07 8:16
415Grahamif that fails, then another process is serving on 80.29-Jan-07 7:42
414Grahamtry : server: open tcp://:8029-Jan-07 7:42
413Grahamopen Rebol29-Jan-07 7:35
412McheanI'm using Version : 0.9.9 Date : 11-Oct-2004 is there perhaps a later version.29-Jan-07 6:43
411McheanLocalhost doesn't respond in the browser, and there is no http2.r file andy other suggestions? I'm have very little experience with servers so don't know where to startt29-Jan-07 6:40
410Oldesunfortunately there are still some issues with this service:(27-Jan-07 17:39
409OldesI started to play with the proxy-http service a little bit and found that there is a bug: the on-error http-event has args: [reason port] not [port reason] !27-Jan-07 17:37
408MikeLEasy to check with http://localhost Sometimes that gives you the home page of the server that is colliding with the one you want.27-Jan-07 0:08
407McheanThanks Pekr, that would be a suprise if i was running a server somewhere26-Jan-07 17:27
406Pekrand if it does not help, you are aparently running some web server on port 80 already ...25-Jan-07 7:21
405PekrMchean - if you are using latest demo version, go to uniserve/protocols, and remove http2.r file - it was mistake of DocKimbel, who mistakenly left the testing file in the archive ...25-Jan-07 7:20
404McheanI've received an error in starter.r: ## Error in [uniserve] : Cannot open server HTTPd on port 80 !25-Jan-07 5:13
403MaartenThey are all 3 abstractions of a lower-level rebol async layer, performance is in the same range.14-Jan-07 18:14
402JoeHow does uniserver tcp async compare with a) async://, b) atcp:// and c) the new async core that may eventually be released (and was available two years ago !)14-Jan-07 17:45
401xaviervery interesting tool ... i go to do a site on it13-Jan-07 10:46
400xavieri just installed cheyenne and tried to explore it ... i found the examples13-Jan-07 10:45
399MaartenAh.... those were the days13-Jan-07 7:26
398PeterWoodDoes this help ? http://www.ross-gill.com/techniques/rsp/13-Jan-07 1:19
397xavierrebol server pages ? will we have samples of it ?12-Jan-07 18:08
396Joesee related post wrt async dns in the core group. Is the behavior mentioned in the core group possible with Uniserve async dns support ?12-Jan-07 11:29
395Willwops, devcon07 ;-)7-Jan-07 1:22
394WillPekr: have forwarded decon07 update request.7-Jan-07 1:22
393Willyou are right! Cheyenne is the http 1.1 webserver6-Jan-07 21:37
392BrianHI may be mistaken though...6-Jan-07 21:36
391BrianHUniserve doesn't do session handling, Petr. You are probably thinking of Cheyenne, which is built on Uniserve.6-Jan-07 21:35
390PekrWill, if you have contact to conference organisers, please urge them to do something with DevCon preparation. Som of us have to plan our plane or bus few months ahead. I would like to see site updated ...6-Jan-07 14:24
389WillI'd say the core is actually stable, have it running with quite some traffic and no problems, there are indeed problems with sessions. Had a sign very recently that let suppose Dock will soon be back, hopefully 8)6-Jan-07 14:04
388RobertOk, thanks for the info.6-Jan-07 9:03
387Pekrit states stable, but it really is not. Doc, before he left scene for another few months :-), stated something like that he has new reimplemented session handling, which is going to be "soon" released. But don't take it for granted, maybe I misunderstood something. But really - sessions do not work properly ... There is a demo with multiple frames, e.g. Mozilla (but even IE) did not open all boxes, there were some errors or timeouts, dunno ...6-Jan-07 8:52
386PekrSession is broken, lot's of usefull stuff not released (RPC, rebol-cgi, fast-cgi, PHP) ....6-Jan-07 8:50
385RobertDoc, do you continue to devleop Universe or is it that matured that it's just working?6-Jan-07 8:15
384ScotOk...thanks.4-Oct-06 22:20
383DockimbelThe MySQL async driver in this archive is an alpha version. It only works with v5+ servers and new passwords format (databases with old passwords for users won't work with this alpha driver).3-Oct-06 19:49
382DockimbelHi Scott, my fault, the release archive contains a duplicate HTTP protocol file, so they collide on loading. Just remove the following file : uniserve/protocols/HTTP2.r3-Oct-06 19:39
381ScotWorking on something else at the moment, but very interested in the Uniserv implementation of MySQL.2-Oct-06 23:17
380ScotI've tried all the versions with asych...but I haven't probed the pos value yet.2-Oct-06 23:16
379Oldeswhat version you are using? and what if you probe the pos value?2-Oct-06 12:25
378ScotNeed some help...Can't seem to get Uniserv working on my XP laptop. This is my first try...so I don't have enough experience to see what is happening. Do I have the wrong version of core?

>> uniserve/boot [uniserve] Async Protocol Admin loaded [uniserve] Async Protocol DNS loaded [uniserve] Async Protocol FastCGI loaded [uniserve] Async Protocol HTTP loaded ** Script Error: change expected series argument of type: series port ** Where: install-plugin ** Near: change pos/2 new >>

2-Oct-06 2:25
377TerryAny benchmarks would be helpful as well.25-Sep-06 23:31
376Terrysoon i hope too, Nenad25-Sep-06 23:30
375DockimbelSure23-Sep-06 9:51
374PekrCan I handle virtual domains with Cheyenne?23-Sep-06 9:50
373DockimbelUniServe is a network programming framework. Cheyenne is web server (with lot of features) using UniServe as low layer.23-Sep-06 9:31
372PekrCheyenne comes with sources? How is it different to Uniserve? Or is it just Uniserve based?23-Sep-06 9:29
371DockimbelTerry, with the release of Cheyenne (soon I hope), you'll get a complete working example of encap-fs library usage.23-Sep-06 9:15
370Oldesbut the modules are loaded when needed, so you should make some more improvements to make one-file build23-Sep-06 7:20
369OldesAnd what exactlu do you want to know, just use #include instead of 'do' and %prebol.r to build it.23-Sep-06 7:19
368TerryHey Nenad.. Any encapping docs would be great.23-Sep-06 1:42
367Will.17-Sep-06 19:25
366DockimbelPlease find here : http://softinnov.org/tmp/UniServe0919.zip a snapshot version of latest UniServe sources. It fixes some of the issues I've been asked about (UDP support for example). It's a beta version, no updated docs, no samples. ChangeLog in %uni-engine.r file. Any questions ? Ask them here, I'll answer as my available time permits.6-Sep-06 21:02
365DockimbelIt could be quite simple in fact (at least in theory) :

1) Send a first message telling the name and size of the file (unprocessed) to transmit 2) Send the file in parts (done automatically by Uniserve) 3) Catch the 'on-write-chunk event to process the chunk data (compress, encode...) then add a header containing : - size of the chunk - a sequence ID (an incremental counter starting with 1, 0 would mean last chunk)

4-Sep-06 20:24
364Grahamthat would be necessary :)4-Sep-06 20:15
363DockimbelBtw, this new event is untested yet. I should be able to provide you a small prototype service and client protocol to show you how to use it.4-Sep-06 20:14
362DockimbelAdding an appropriate header and decoding it on the other end is still up to the programmer. (Same for adding some flags to signal start / end of transmission).4-Sep-06 20:13
361GrahamGreat.4-Sep-06 20:12
360DockimbelI've added a new event : 'on-write-chunk to allow modification of the chunks of big files just before they are sent. This can be the hook to implement compression or encryption when sending big files.4-Sep-06 20:12
359Grahamnew flags on signalling end of file transmission?4-Sep-06 19:54
358GrahamDoc, any updates on sending encrypted files ?4-Sep-06 19:53
357OldesI want do do more with it - this is just a test4-Sep-06 19:50
356DockimbelOldes, cool design !4-Sep-06 19:49
355OldesAt this moment I'm able to connect it event with IRC servers, but I do it know just from home4-Sep-06 19:49
354OldesJust one - I'm sending it from my computer to the server4-Sep-06 19:47
353Grahambots4-Sep-06 19:47
352OldesAnd the people talking now are puppets - they are recitating Plato's Gorgias4-Sep-06 19:46
351Grahamyee gods .. .birds attacking me!4-Sep-06 19:46
350OldesYou can move the yellow boxes:-) and all you say is visible here as well - http://www.informacezbrna.cz/4-Sep-06 19:46
349Grahamwhat are the arrows for?4-Sep-06 19:45
348Grahamno one there though4-Sep-06 19:43
347DockimbelBusy, I am ;-). But there's a new version sitting on my hard drive which could be useful to some people here.4-Sep-06 19:43
346Grahamcool.4-Sep-06 19:43
345OldesI'm using UniServ as a core for my MicroChat - http://box.lebeda.ws/~hmm/chat.html :-)4-Sep-06 19:42
344GrahamNot so busy now?4-Sep-06 19:37
343DockimbelI have a much more recent version of UniServe almost ready to release, but docs are not updated and some of the protocols are still alpha. But with the current interest in UniServe, I'm thinking about releasing a beta version here this week.4-Sep-06 19:37
342OldesWhy, it's good as it is and who knows how will look ports in R31-Sep-06 15:10
341PekrI thought that concept like that could be built-into rebol by default ....1-Sep-06 14:53
340OldesYes, I like it. I already transfered my MicroChat server to Uniserve kernel and Irc bot as well:-)1-Sep-06 14:52
339Pekrhow do you feel about Uniserve so far - nice concept, isn't it?1-Sep-06 14:50
338OldesFound a way - to modify on-received function in the task-master to send the task port with data to the service using on-task-done and than closing the task if needed from the service:-) If there is some other way how it should be done, let me know.1-Sep-06 14:48
337OldesHm, it was the hard part of the learning uniserve, but now I know, how to do-task. But the question now is - what if I need to do task once a day, I don't want the launched helper process to be still running in the background. Is there someone who can help?1-Sep-06 14:31
336Willdid you try by email?1-Sep-06 11:18
335VolkerIs there a good way to contact Doc?1-Sep-06 11:13
334Willwell in the release you dl the rsp support is "basic", I used a customized one but now I'm using Dock latest rsp, sorry but you should definitely ask Dock for latest version or wait till he release.1-Sep-06 10:49
333MikeLThanks Will - I have uniserve running and can serve up static webpages and the sample cgi that Doc provided. How do I allow RSP or ML to be loaded so that a page that uses them does not have to run as CGI and flag .rsp or .rhtml files as handled by RSP.1-Sep-06 10:34
332Willand if you want to test for speed, you can ab (apache benchmark) http://wwd.francobianchi.ch/words.cgi ;-)1-Sep-06 10:14
331WillHello Name example: <% validate [name -]%> <html> <body> <% either request/var/name [ print [{Hello} request/var/name] ][ print {<form method="POST" action="test.rsp"> <input type="text" name="name"> </form>}] %> </body> </html>1-Sep-06 10:02
330WillMike, her you can find latest released uniserve and there is also the NTLM: http://softinnov.org/1-Sep-06 9:49
329MikeLI also want to run Carl's blog.r from Uniserve.1-Sep-06 8:56
328Grahamnope.1-Sep-06 8:56
327MikeLThanks I'll try that ... he hasn't been on AltMe since 05-Aug-2006. For Cheyenne, do you have NTLM (Integrated Windows Authentication)?1-Sep-06 8:56
326Grahambut I think it's still in beta test ( extended ! )1-Sep-06 8:50
325GrahamAsk Doc for a copy of Cheyenne ...1-Sep-06 8:50
324GrahamI'm using Cheyenne with RSP, and Firebird.1-Sep-06 8:49
323MikeLWhen I can get that simple part working then I want to add Make-Doc, my-sql-protocol and Andrew's ML dialect as services so I can get some leverage from these.1-Sep-06 8:49
322MikeLThanks Will. I would like to see how to put together a simple web form application that posts to a Uniserve script and provides an acceptance message. When I looked at Uniserve I couldn't see how this simple thing could be done and how / which services to use. Do you have a "Hello World" level example that follows that post/reply approach?1-Sep-06 1:08
321WillMike, I started using Apache and rebol as cgi, this is not suited for performances as on every call to the cgi, a new instance of rebol is initialized, run and closed. I thought about using fastcgi, but never came to a working solution. Now I use uniserve as main webserver, here some advantages: -it is fast! On my local machine I get +- 600 req/sec for static pages and a max of 160req/sec for dynamic rsp pages -it is written in rebol, I could easly(less than 10 lines code) add a rewrite engine -child process are persistent, this mean you can keep state of your web applications, implement caching, keep a pool of connection to databases open (in apache + rebol/cgi you'd have to open and close the connection for every request) -it is written by Dock whom I may be the biggest fan ;-) btw I'm running an unreleased version (have bought commercial support) that support http 1.1, stuff like If-Modified etc.. If you have more specific questions, I'll be glad to try and answer.31-Aug-06 22:22
320OldesI changed this line: if not find ti: third third :in port! [append ti port!] to: if not find ti: first find/tail third :in 'word port! [append ti port!] to be able run uniserv in Rebol/Base31-Aug-06 21:28
319TerryBe sure to add some encap notes too please.14-May-06 2:54
318DockimbelNot yet, I can only work on Cheyenne and other REBOL projects on my spare time, I'm currently almost full time on a big project for a customer (until end of july). I expect to make a first beta release of Cheyenne before that.13-May-06 23:04
317PhilippeHave you planned a target date for a beta of Cheyenne ?13-May-06 23:01
316PhilippeSalut Doc, I have sent some informations about Uniserve on http://www.rebolfrance.info/projets/uniserve?s=Uniserve. I.e. the ability for Uniserve to use the lib Magic (O. Auverlot), with a lot of shorcuts to quickly create forms, check boxs, etc.13-May-06 22:57
315LouisIf this list doesn't fulfill all your needs, here's the additionnal features planned for the 1.0 release :

* RSP: REBOL Server Pages support. * General CGI support (run any CGI script). * Chunk-encoding transferts support (streamed data transferts). * Standard compression methods support: gzip, deflate, bzip2. * Byte-ranges request support (ability to request files in parts and resume broken downloads). * mod-rewrite module for powerful request URL transformations (without the regexp complexity!). * mod-map-url module for direct URL to REBOL functions or objects mapping. * SSL support. * Advanced GUI client for local and remote administration.

13-May-06 19:04
314LouisRebol Server Pages13-May-06 19:03
313MichaelBI guess more like ASP or JSP.13-May-06 18:47
312PekrRSP? rebservices-like protocol?13-May-06 18:36
311DockimbelBasically yes, but with the RSP module, it becomes a fast and flexible web application framework !13-May-06 18:26
310Pekr:-) isn't it just a - webserver? :-)13-May-06 16:24
309DockimbelI expect that the community will be very enthusiastic about it, so I don't want to disappoint you all ;-).13-May-06 16:23
308DockimbelI want it to be as good as possible starting from the first release because, it may become a major tool for the REBOL community.13-May-06 16:22
307Dockimbel:-). I could release a new Uniserve version, but there's no much new protocols added yet. Uniserve also deserves some better docs. Cheyenne is still under development, my priority is to finish it asap. I'll release a beta as soon as I have a stable and almost feature-complete version. Cheyenne is meant to be a end-user product, so it needs some polishing and enhancement before giving it to users.13-May-06 16:21
306TerryI second that request11-May-06 18:15
305PhilippeDoc, when will you release a beta of Cheyenne and a new version of Uniserve ?10-May-06 22:34
304DockimbelThere's currently some issues on the domain name softinnov.org, please use http://softinnov.net for now to access our web site.8-May-06 15:11
303DockimbelThere were some OS upgrades on this server in mid-april that required to put down the web site.8-May-06 15:10
302Terry(or not)11-Apr-06 6:37
301TerryIt was offline.. it's back, and updated too.10-Apr-06 21:50
300DideCOffline or outdated? http://www.softinnov.org works fine here10-Apr-06 15:06
299TerryNenad, your softinnov.org site has been offline for awhile now. How's the progress on Cheyenne going?10-Apr-06 5:11
298Thørmanual resync...4-Apr-06 18:18
297TerryHere's an example.. prototype ( a javascript framework uses prototype.js and that file uses includes to add other JS files.. like this.. <%= include 'ajax.js', 'dom.js', 'form.js', 'event.js', 'position.js' %>

the problem seems to be here somewhere?

5-Feb-06 19:54
296TerryI did add a.. text/javascript js5-Feb-06 19:31
295Terrymime types seem ok5-Feb-06 19:30
294VolkerMime-tpyes? (just a thought)5-Feb-06 10:41
293TerryAlthogh.. it struggling with j<avascript src="" .. > files in the header? If I paste the code, it worsk, but if I SRC= .. it doesn't.. no matter what path I use.5-Feb-06 10:38
292TerryI found it, the paths aren't relative from the page, but from the wwwroot5-Feb-06 10:23
291Terry(hte httpd.r service, that is)5-Feb-06 10:20
290TerryWhere ... <link rel="stylesheet" href="the.css" type="text/css" /> works anywhere else, it's not with Uniserve??5-Feb-06 10:20
289TerryNenad.. for some reason, Uniserve seems to be struggling with inlcludes.. like CSS files have you noticed this?5-Feb-06 10:19
288Terrywith.. "Server error: tcp 553 sorry, that domain is not in my list of allowed rcpthosts"5-Feb-06 4:56
287Terryit then dies5-Feb-06 4:55
286Terrygraham, what do I need to do with your smtp service to allow a localhost domain.. getting this.. "waiting 20s as {MYLAPTOPNAME} fails domain rule"5-Feb-06 4:55
285Terryactually, working now.. Vanilla is sooo slow.5-Feb-06 4:29
284TerryGraham, your http://www.compkarori.com/vanilla/display/Smtpd.r doesn't appear to be working?5-Feb-06 4:26
283TerryAnother question.. where could I put a piece of code to handle unknown (aka unserviced) ports? Should be able to create a catch-all or a port-analyzer etc... check for scanning or other security issues.5-Feb-06 3:27
282TerryNenad, do you have an y Task-master examples?5-Feb-06 1:11
281TerryAlso, it seems that this stuff is handled by a seperate module (for background processing)?5-Feb-06 0:16
280TerryI see here a new law... the query is exponentially greater than the answer.5-Feb-06 0:03
279TerryHmm, that's it.5-Feb-06 0:01
278Volkeryou could try install-service [ set 'testFunk func [it][print it] if that is the problem. then testFunk should be globally.4-Feb-06 23:58
277VolkerNot used to uniserv much, but usually such things use contexts for services. so install-service [testFunk: func [it][print it] should be similar to make object![ testFunk: func [it][print it]4-Feb-06 23:58
276TerryFor example: If I place this function just after the "install-service [ "

testFunk: func [it][print it]

and if at anytime i DO an external script that uses that function, it doesn't work

4-Feb-06 23:53
275TerryOk.. so now I can run the external script by placing waiting till i finsh the external, and get back to the 'on-received' function... but I have a number of functions that I use to process my external script.. Do I need to load those functions with every on-received event???4-Feb-06 23:49
274TerryThat last bit works.. seems the global context functions, such as 'write-client' dont pass to the script that is being DOne4-Feb-06 23:42
273TerrySo simply put.. how can I process an incoming message using an external page of code, and be able to respond from that page? I may need to create an "OUTPUT" value (the response) and then use the 'write-client' function once Im back in the service ON-RECEIVED function?4-Feb-06 23:26
272TerryOk.. i can add external libraries.. just after the install-service [ .. BUT.. to write back to the client, you use "write-client" so if in my processing, but that function wont work.. it's a catch 22.4-Feb-06 23:24
271Graham#include external libraries of code if needed4-Feb-06 23:15
270TerrySeems it relates to this part (from the docs) "Put all the service related code in the service definition. You can include external libraries of code if needed. Everything that's not inside the service definition block will be globally BIND-ed."4-Feb-06 23:10
269Grahamif process.r doesn't change, you shouldn't do it anyway.4-Feb-06 23:09
268Grahamand change your process.r script to look at the arguments.4-Feb-06 23:08
267Grahamdo/args %./process.r raw-input4-Feb-06 23:07

Return to Index Page