r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Graham
7-Jan-2010
[7318x2]
Amazon charge only for uptime .. at 8c an hour.
So, you can test for a couple of hours and then quit.  Want to run 
a windows 2003 or 2008 server to test?  Start them up and pay 12 
c an h our.
Terry
7-Jan-2010
[7320]
CGI proxy? They still make that stuff ;)
Graham
7-Jan-2010
[7321x2]
Much more flexible I suspect than Linode or Slicehost
but costs a little more.
Carl
7-Jan-2010
[7323]
T: yep. Blast from the past.
Terry
7-Jan-2010
[7324x2]
Hey, its 2010.. where's my flying car they promised back in the 60's?
Carl, you have any thoughts on websockets?
Maxim
7-Jan-2010
[7326]
With linode you can actually do fancy multi-host redundancy stuff 
or auto reboot on some conditions, etc.  their control panel is also 
extremely well made.  you can setup your server (out a good variety 
of POSIX OSes) in a matter of minutes.
TomBon
7-Jan-2010
[7327]
I am using both, slicehost and linode since a year now.
very good virtualisation with both of them. flash, mysql 
very stable, even a big mysql-server with only 384mb ram 
is running fine. linode has a better control panel, 
slicehost feels a little faster.

there is also another candidate for virt-hosting. 
gandi, located in france if somebody likes europe :-)
scalable via virt-shares.

https://www.gandi.net/hosting
Graham
7-Jan-2010
[7328]
Amazon allows you free db storage in multiple redundant locations
Terry
7-Jan-2010
[7329x2]
Speaking of threads.. Along with Websockets, HTML 5 comes with Webworkers 
(supported by Chrome as well)


Workers provide a simple means for web content to run scripts in 
background threads.  Once created, a worker can send messages to 
the spawning task by posting messages to an event handler specified 
by the creator.
The worker thread can perform tasks without interfering 
with the user interface.  In addition, they can perform I/O using 
XMLHttpRequest (although the responseXML and channel attributes are 
always null).
The Worker interface spawns real OS-level threads, 
and concurrency can cause interesting effects in your code if you 
aren't careful.

https://developer.mozilla.org/En/Using_web_workers
Here's a great webworker article / demo
http://blog.mozbox.org/post/2009/04/10/Web-Workers-in-action
Maxim
7-Jan-2010
[7331]
that is nice!
Terry
7-Jan-2010
[7332x3]
Need to try an experiment where a worker thread sends an AJAX request 
to an RSP page, which in turns pushes back via websocket :)
Hmm, maybe Chrome 4 isn't there yet after all?
Nope, wrong again.. workers are fine in Chrome.. that last demo only 
works with FF

Here's some other demos on Resig's page  
http://ejohn.org/blog/web-workers/
Terry
8-Jan-2010
[7335x3]
Here's some code that uses flash as a websocket proxy for browsers 
that don't support websockets
http://github.com/gimite/web-socket-js

Needs some tweaking, particularly with ports.
Demo.. pushing sound to all ports

http://shinyrockets.com/echo.html
Uses the HTML 5 <audio> tag.  Non-blocking. Open up 4 or 5 tabs and 
you get a flock :)
amacleod
8-Jan-2010
[7338]
Not getting any sound, Terry..

using chrome4
Terry
8-Jan-2010
[7339x3]
hmm
works fine here.
can you get this? 
http://upload.wikimedia.org/wikipedia/commons/3/39/Brummdose.ogg
amacleod
8-Jan-2010
[7342]
yes
Terry
8-Jan-2010
[7343]
Did you click the button?
amacleod
8-Jan-2010
[7344]
yes
Terry
8-Jan-2010
[7345x2]
there ya go
i can hear it :)
amacleod
8-Jan-2010
[7347]
Still no sound...even when clicking the button
Terry
8-Jan-2010
[7348x2]
it's playing here when you click it
volume up.. all that stuff?
amacleod
8-Jan-2010
[7350x2]
thats weird
yes
Terry
8-Jan-2010
[7352]
I guess you can check out the 'console' after hitting CTRL - SHIFT 
- i   .. check for errors
Janko
8-Jan-2010
[7353x2]
I just found out about a bug I was making and could only be discovered 
when cheyenne was first started, because some word was undefined 
then so it triggered an error, if I did some other things I couldn't 
see it but it would return wrong information in reality .. 


1. is there any way maybe that would make cheyenne "reset" each request 
(for debugging & testing purposes, not production) .. the -w option 
seems not to do this. 


this could probebly be solved by wrapping also those parts in functions 
... another question..


2. Is there any way I could see all globals I created so I could 
find wtich ones I "leaked" unintentionally .. 


it would be very helpfull if rebol could let you define functs that 
would warn you if you used or defined any global words
one solution is also that I define all words local to pageload in 
some object that is cleared on each pageload probably
Dockimbel
8-Jan-2010
[7355x2]
1) I use -w 0 daily, works ok here.
2) see the solution in Core group.
Btw, since 0.9.19, the RSP engine tries to catch all words defined 
in RSP scripts but outside of a local context in a hidden webapp 
context (one per worker process).
Janko
8-Jan-2010
[7357]
1) I tried -w before (I remembered you hinted me the last time to 
use it to always reload) but it didn't make the difference in this 
case (as far as I can tell).. does -w only work with source discributtions?
Dockimbel
8-Jan-2010
[7358]
It's : - w 0, -w only won't work, it expects the number of worker 
processes as argument.

It should work ok with both source and binary version. I'll make 
a test right know with 0.9.19 binary...
Janko
8-Jan-2010
[7359x2]
I tried cheyenne -vv -w 0   ; and now cheyenne - w 0 .. with same 
result
maybe I should better explain what I am doing so I won't steal your 
time here (and it's no problem basically as I will turn all global 
words that are only locally needed to something else) .. it's bad 
coding practica anyway
Dockimbel
8-Jan-2010
[7361x3]
0.9.19 binary works ok here in -w 0 debug mode.
Try testing with this script :

<%
either value? 'azerty [
	print "debug mode not working"
][
	print "debug mode is working ok"
	set 'azerty 1
]
%>
Hit F5 several times, it should always answer ok if Cheyenne is running 
with -w 0.
Terry
8-Jan-2010
[7364x2]
Doc, Im going to develop some rebol and flash apps that connect to 
Cheyenne via the websocket. What is the procedure for the handshaking?
I haven't heard a single sheep all day? 
No one is trying the demo :)
Dockimbel
8-Jan-2010
[7366]
Web socket protocol is fully described here : http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol


Quick protocol overview : http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-68#section-1.2
Terry
8-Jan-2010
[7367]
Will try some experiments using Canvas and websockets.. here's some 
great examples

http://www.chromeexperiments.com/