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

Terry
8-Jan-2010
[7337]
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
[7367x3]
Will try some experiments using Canvas and websockets.. here's some 
great examples

http://www.chromeexperiments.com/
Yeah, Doc.. was hoping for a condensed version seeing as you've done 
the whole learning curve.
This one is nice
http://www.chromeexperiments.com/detail/depth-of-field/
Gregg
8-Jan-2010
[7370]
Isn't that Doc's old v-balls demo? ;-)
Kaj
8-Jan-2010
[7371]
Thanks for the links, Terry. Busy bookmarking here
Terry
8-Jan-2010
[7372]
Another.. try shaking the browser

http://mrdoob.com/projects/chromeexperiments/ball_pool/
Gregg
8-Jan-2010
[7373]
Indeed. Thanks here too.
Terry
8-Jan-2010
[7374]
Now THIS is very cool use of CANVAS
http://www.universaloscillation.com/chrome/popups/
Kaj
8-Jan-2010
[7375]
Hm, those last two work fairly well on my ancient Firefox 1.5
Terry
8-Jan-2010
[7376]
Try it on Chrome.. much faster.
Terry
9-Jan-2010
[7377x5]
WS to AtomDB demo
http://shinyrockets.com/atom.html
Demo includes;
- websocket roundtrip timer
- ATOMDB query timer
- Example of changing a graphic when socket is closed.

- Font-face demo (another HTML 5 feature that allows ANY font in 
a webpage .. see the <style> on the page
Font used is DroidSans.. can download for free from -> http://www.fontsquirrel.com/fonts/Droid-Sans
Funny thing is, if your "ATOMDB Query time:" changes randomly? That 
means someone else is running the test, and their results are being 
broadcast to your browser.
HOW COOL IS THAT!
A couple lines of code and you could create a live chart displaying 
the various times folks are getting, including geo location etc
Janko
9-Jan-2010
[7382x2]
What woudl be the best way to do some casual source code protection 
of cheyenne webapp if you want to distributte it as a "download and 
install" option. I guess I could make some sort of code obfuscator 
that would change the names to something without meaning, is there 
anything better one could do?
I am usually for not complicating with this but this webapp is of 
classical competetive scene as will also still run as online service 
so I want to prevent that competitors could too easily study it , 
find any possible weaknessess etc...
Dockimbel
9-Jan-2010
[7384x2]
Janko: I have in my todo list a full virtual system to add to Cheyenne 
allowing embedding webapps in a encapped Cheyenne. It can be done 
by replacing every filesystem accessing functions (DO, LOAD, READ, 
WRITE,...) by custom ones getting files from memory. The hard part 
is to integrate such approach within Cheyenne preserving perfomances 
for normal filesystem accesses while avoiding redundant code, this 
needs time for designing and prototyping.


I can't see an easy way to protect you webapps right now, but maybe 
other might have found a way to do that?
Terry: interesting links, so we might get rid of flash soon, no?
Kaj
9-Jan-2010
[7386]
Unless we need Flash to get at web sockets from older browsers