• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp4382
r3wp44224
total:48606

results window for this page: [start: 37201 end: 37300]

world-name: r3wp

Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Janko:
1-Jan-2010
I don't have XP here , so I can't try chrome .. does anyone know 
when websockets are comming to other browsers? I heard some svn version 
of FF has it to and lately I heard of devel version of Webkit (I 
assume safari) also
Graham:
1-Jan-2010
What is supposed to happen is that when you drop the image, a message 
is sent to the socket and then some javascript executes to move the 
other image next to the one you drop .. something like that.
Will:
3-Jan-2010
here is a flash based websocket so you can support old browsers and 
use websockets now 8-)  http://github.com/gimite/web-socket-js
Will:
3-Jan-2010
here is jQuery websocket plugin and chat demo that I will try to 
make work with Cheyenne
Dockimbel:
3-Jan-2010
Don't know, that would require to create some new benchmark tools 
to test the limits. Probably 1000+ opened connections and processing 
100+ messages / sec on a 2Ghz dual core.
Will:
3-Jan-2010
R2 may be too slow, but what about R3 and the C extension Uniserve? 
 maybe you should add a paypal button for us to start supporting 
this future development..
Dockimbel:
3-Jan-2010
That would certainly boost pure static resource serving speed going 
close to Apache and in some cases, close to Lighttpd, but for the 
RSP scripts, that won't change anything. Only threading could bring 
a good speed boost there.
Dockimbel:
3-Jan-2010
For the chat demo, after upgrading to r52, run the new Cheyenne and 
point Chrome 4 to http://localhost/chat.html.You can try opening 
several windows with different user names to see how all parts react 
in realtime.
Dockimbel:
3-Jan-2010
No, the bindind between the URL (/chat.rsp) and the web socket app 
(chat) is done in the httpd.cfg file with the 'socket-app keyword.
Davide:
3-Jan-2010
this web chat is using websocket on chrome (and comet in other browser).
http://www.ddmind.com/modules.php?name=gdp_easy_chat

It's a Rebol server and It works pretty well...great uptime and low 
cpu use.
Davide:
3-Jan-2010
here is a quick overview of the rebcomet server:

http://www.screencast.com/users/Perekk/folders/Jing/media/6465c6f2-3c5c-4237-9ce4-0e6d61f74fb1
and 

http://www.screencast.com/users/Perekk/folders/Jing/media/d5c252ef-29dc-4c49-ac10-2ce98cd4518a
Davide:
3-Jan-2010
I will open source it (and documenting it), when it come out the 
alpha stage.

Currently the dialect is changing every day, so now would be too 
confusing
Dockimbel:
3-Jan-2010
Now that there's a framework inside the main Cheyenne process, I'm 
considering adding more UniServe based implemented protocols to Cheyenne, 
like HTTP, POP3, IMAP and MySQL. There are of course all async.
Will:
4-Jan-2010
anyone here had problem using mod-alias? I'm not using it but have 
an old patch and would appreciate some user cases where current version 
fail before subitting to Dock, thx
Dockimbel:
4-Jan-2010
You can also copy/paste the latest 'decode-multipart function in 
your 0.9.19 RSP.r file, modifications are minor and not dependent 
on other parts.
Janko:
5-Jan-2010
I am using 0.9.19, no problem just wanted to mention. 


@Graham: can I ask why are you doing this (checking for file OR data 
in request/content): 
either file? filedata/2 [ 

 write/binary join get-user-dir filename read/binary join incomingdir 
 filedata/2
] [ 
	if filedata/2 [
		write/binary join savedir filename filedata/2
	]
]


I imagine if file is bigger it get's saved and you copy it. But how 
can you then determine the incoming/pwd is this some cheyenne default?
Terry:
5-Jan-2010
Methinks the Cheyenne world would be much better serviced using Cheyenne 
chat rather than this archaic, uneditable, uncustomizable, proprietary 
and  difficult to enter thing called Altme
Terry:
5-Jan-2010
Yeah, web chats....  avatars, skins, website integration, API integration 
with gmail, animations, sound, video and other media integration... 
those things really suck
Terry:
5-Jan-2010
... CSS, database access, acting as a proxy to servers, JQuery, Google 
map integration, Amazon S3, OpenID, AtomAPI and other RSS integration, 
Delicious... man, i HATE that stuff.
Graham:
5-Jan-2010
And hacking of php ... yep
Terry:
5-Jan-2010
and some sound js lib as well
Terry:
6-Jan-2010
Updated version of Doc's chat example.. 
- Enter key support for login and posting chats
- Cookie mgmt for user name
- various "tweaks" to the JQuery 

chat2.html:  http://pastebin.com/m66a38d50
Terry:
6-Jan-2010
Need to fix the 'signout' updates to other ports.. it's not sending 
the "bob leaves" message, and it's not updating the user list <div>
Dockimbel:
7-Jan-2010
I've opened 2 Chrome windows logged in the online chat demo from 
both of them and I receive correctly in the first window the quit 
message from the second one. How can I reproduce your issue?
Dockimbel:
7-Jan-2010
Cookies: well, it would be a nice addition to a real chat app, but 
the point in this demo is to show web socket usage, not to build 
a full-featured chat app. If you want to build a full chat app, you're 
free to take my demo code and extend it as far as you wish.
Terry:
7-Jan-2010
Ahh.. shift-reload to clear cache, and nice debugging/developer tools.. 
Chrome is well thought out.
Dockimbel:
7-Jan-2010
Socket apps folder automatic loading : you still need to specify 
the mapping between URL and socket app, no ?
Terry:
7-Jan-2010
The desktop is dead, unless you're building a better browser, or 
games.. and even that distinction is blurring. I'll bet people play 
more online browser based games than desktop.. Folks have moved from 
desktop to console.
Terry:
7-Jan-2010
Or maybe GPL and commercial
Dockimbel:
7-Jan-2010
Btw, the target market that was at the origin of Cheyenne project 
was home web servers, both for local and external use (serving files 
and apps from your home connection). The main feature was supposed 
to be simplicity of use through a very simple, but powerful control 
panel, and on-demand app loading (something like App Store, but for 
web apps). Another market that we've thought about was portable embedded 
web apps (server + apps bundled in a single exe with 0 install, 0 
config).
Terry:
7-Jan-2010
Write some simple docs outlining websockets, and I'll get you to 
50K in a month.
Terry:
7-Jan-2010
BTW.. i use PHP as a language, not for it's "Hypertext preprocess" 
... 85% of my php has no html in it at all.   Mainly use PHP to receive 
and process AJAX form requests
Terry:
7-Jan-2010
I don't like page refreshing.. should trigger an event, and all the 
elments fade out, and new ones fade in. You can do this kind of stuff 
with AJAX, and even more so now with WS
Carl:
7-Jan-2010
As I wrap up WIP3 for the current website redo, it seems a bit odd 
that each time, the WIP system gets smaller and better.
Pekr:
7-Jan-2010
what Terry tries to say imo is, that nowadays the web proceeded, 
and it is much more dynamic, so that even RSP sounds old-school ...
Carl:
7-Jan-2010
Reason is, if you don't want to use Php, and you want economies of 
large hosting providers, that's your main choice. Else, Perl. <gag>
Graham:
7-Jan-2010
And he's come back to tell you this??  :)
Graham:
7-Jan-2010
Choose your own distro ... and install it.
Henrik:
7-Jan-2010
Slicehost and Linode run virtual servers. So you don't have to setup 
your own box. Very nice.
Carl:
7-Jan-2010
G, H: really.  So, are they fast and reliable?
Carl:
7-Jan-2010
If truly virtual, and good performance, that's a good place to checkout.
Graham:
7-Jan-2010
I use Amazon EC2 and it's reliable to a point .. if it goes down 
I just start another instance ... and in 6 months, I've only had 
to do that once.
Graham:
7-Jan-2010
You can save images of your entire site and just restart from that.
Graham:
7-Jan-2010
And yes, you can listen on what you like... you define the firewall 
settings
Henrik:
7-Jan-2010
The only gripe I have is not much RAM (384 MB), but still for 20 
bucks/month. As a side effect, I use it now for IRC and other minor 
services, like makedoc and some source hosting.
Henrik:
7-Jan-2010
and you can cancel at any time, if you don't like it.
Henrik:
7-Jan-2010
Carl, all I can say is that I've had much fewer connection dropouts 
with my Linode than what I observe through AltME. It may not reflect 
your situation, but it just looks far more stable to me. Also you 
can specify where you want your server placed, and so have multiple 
accounts in different physical locations.
Henrik:
7-Jan-2010
Dockimbel, yep, nice and stable. Love it.
Graham:
7-Jan-2010
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.
TomBon:
7-Jan-2010
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
Terry:
7-Jan-2010
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
Terry:
8-Jan-2010
Uses the HTML 5 <audio> tag.  Non-blocking. Open up 4 or 5 tabs and 
you get a flock :)
Janko:
8-Jan-2010
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
Dockimbel:
8-Jan-2010
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
I tried cheyenne -vv -w 0   ; and now cheyenne - w 0 .. with same 
result
Janko:
8-Jan-2010
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
Terry:
8-Jan-2010
Doc, Im going to develop some rebol and flash apps that connect to 
Cheyenne via the websocket. What is the procedure for the handshaking?
Terry:
8-Jan-2010
Will try some experiments using Canvas and websockets.. here's some 
great examples

http://www.chromeexperiments.com/
Terry:
9-Jan-2010
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!
Terry:
9-Jan-2010
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
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?
Dockimbel:
9-Jan-2010
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?
Janko:
9-Jan-2010
I think not, older brosers only have xmlhttp (ajax) option, iframes 
and other comet like tricks but they can't do a socket .. I haven't 
seen what js.io does.. if you wanted to make a "pure" html chat without 
comet or polling you made JS that talked to invisible 1px flash and 
flash has XMLSocket or something like that. But I heard recently 
that it can be used for other things than xml ..
Terry:
10-Jan-2010
I think it's official.. Flash is dead.


I was modifying some flash xmlsocket based apps to work with Cheyenne 
websockets,  and then realized, why bother? I can do it all with 
HTML 5

HTML 5 has.. 
 
CANVAS AND VIDEO

http://www.youtube.com/watch?v=Kdf0x8am1cg&feature=player_embedded#
chroma key effect. 

http://www.youtube.com/watch?v=ZN_r9jxL0-A&feature=player_embedded

LOCAL STORAGE
Chrome has SQLite built in, accessible via JS
Pekr:
10-Jan-2010
Flash might move to RIA (but who's interested to do real apps in 
Flash?) or - many mp3 etc vendors are doing their UI using flash. 
As for html 5, we are still talking vapor, unless it is supported 
by most browsers, which are used by most ppl IE still has 62% of 
share, and IIRC CSS3 and HTML5 are going to be supported in IE9. 
How long do you think will it take to replace those 60% of IEs out 
there by IE9? Well ... I know what you are trying to say ... it is 
inevitable ... but ... not yet, not yet :-) .... this probably belongs 
to advocacy though ....
Dockimbel:
10-Jan-2010
Maybe Flash usage for sockets, animations, games and videos might 
start dropping soon, but as an application framework engine, its 
usage keeps raising.
Terry:
10-Jan-2010
After updating the SVN, I get a 

 id: 'cannot-open
    arg1: "/c/websock2/Cheyenne/mods/mod-upload.r"

and the file is not there.
Terry:
11-Jan-2010
Working on some websocket experiments.. 
http://shinyrockets.com/exper.html


- simple canvas game... Losing the game publishes the fail , ip and 
port to everybody.
Dockimbel:
11-Jan-2010
take the reb-services dialecting approach and format it in JSON ;-)
Terry:
11-Jan-2010
There's a blur with websockets.. traditional usage takes a form, 
serialize and send to the server as a associative array in the url.. 
With sockets, that's not necessary. 

Forms are becoming less relevant.. As individual fields can do their 
own thing.. 

<input type="text" onblur="ws.send(this.val());">
Terry:
11-Jan-2010
So, jump on a plane, update your Cheyenne data, store local, and 
sync via ws when back online :)
Terry:
11-Jan-2010
How about this..  passing a block via websocket as a data method? 
(not even sure if it would work), and loading it?
ie: ws.send("[a 'one' b 'two]");
BrianH:
11-Jan-2010
Not is you screen the data after loading and throw away all functions.
BrianH:
11-Jan-2010
It requires more security screening than JSON on the server side, 
and more work on the client side.
BrianH:
11-Jan-2010
Not for web clients. You have to assume the client is hostile for 
web stuff, and screening REBOL data for malicious stuff is harder 
than parsing JSON data. The only way to be safe is to not transmit 
an executable dialect - full data dialect, reject anything bad.
BrianH:
11-Jan-2010
It's great if the client won't primarily be a browser, as long as 
you stick to full dialects and never DO the code.
Terry:
11-Jan-2010
Here's some JS that takes an array of elements, and builds a block 
for passing to Rebol via WS

<script>
function toblock(arr){
	var block = '[';

	jQuery.each(arr, function(){
		var val = $(this).val();
		var id = $(this).attr('id');
		block = block+id+" '"+val+"' ";
		
	});
	
	block = block+"]";
	
	//remove, 
	alert(block);
};
<script>

<input id="one" type="text" />
<input id="two" type="text" />

 <button onclick="toblock([one, two]);">TEST</button>
PeterWood:
11-Jan-2010
Terry, are you mixing 1 and one ?
Terry:
12-Jan-2010
Ok got it.. the problem was this..  I have two fields, and to test, 
i only filled out one... so the string looked like so.. "[one 'on' 
two '']"  (where the value following two is a pair of single quotes)
So when i converted to a block, I got an INVALID WORD --'' error.

But, using sockets, the error isn't reported... In other words, debugging 
is a pain.
BrianH:
12-Jan-2010
That is horrifically large by REBOL standards, but not bad by web 
standards. How much is images and other web stuff?
BrianH:
12-Jan-2010
As opposed to RSP and Cheyenne files, I mean.
Terry:
12-Jan-2010
That includes all the Atom db functions and data
Terry:
13-Jan-2010
Hey Doc, refreshing the page after every change to a ws-app is painful. 
 Can't we just DO a script using do-task/on-done, put some error 
checking on the front end? So that the ws-app is just a handler of 
sorts as well.

could then set up a timer/schduler.. and makes changes live.. that 
would  make script development 10x faster. 
Refreshing to reload ws app is like a compiler.
Graham:
13-Jan-2010
why have you got 

data: copy data
and then load copy data ?
Graham:
13-Jan-2010
and I didn't think the command license permitted me to run command 
on multiple servers
Graham:
13-Jan-2010
anyway, you could try listening on a higher port and see if it works 
..
Graham:
13-Jan-2010
I know Henrik is using Linode and Cheyenne
Terry:
14-Jan-2010
If i put a "wait random 10" line within the do-task/on-done function. 
that returns an alert back to the page, then open a couple of browsers.. 
and fire the function in both, I get a lot of strange behaviour.. 
and I'm not convinced they don't block each other?
Dockimbel:
14-Jan-2010
Carl, it's possible to SU to any user while started as root, but 
that will only work for the processes forked, not the first one (the 
Cheyenne/Uniserve main process). In config file, just uncomment those 
lines, choose the adequate user/group targets and restart the server 
:

	;	user  nobody
	;	group nobody


I need to investiguate more in Apache's sources to see how they achieve 
full SU on all processes.
Dockimbel:
14-Jan-2010
Terry: on-message function => yes, loading a script on each request 
is ok for debugging, but bad pratice for production. I'm not sure 
that WAIT is safe in Cheyenne callbacks, never tested that, this 
function is not supposed to be used in user code inside Cheyenne 
main process (it would work in a RSP script, but will block valuable 
resources and reduce scalability).
Dockimbel:
15-Jan-2010
Thanks Carl, I'll investiguate that and will send a report of requirements 
to BrianH if necessary.
Terry:
15-Jan-2010
I have Cheyenne and EventMachine arguing with each other via sockets 
:)
Dockimbel:
17-Jan-2010
SVN r62


FEAT: RSP scripts can now set response/buffer to a file! value allowing 
main process to transfer it optimally (see changelog.txt)

FEAT: worker tasks now have a more readable and cleaned-up command 
line.

FIX: fixed a bug with internal UniServe's DNS cache querying preventing 
'open-port from working in some cases.
Graham:
17-Jan-2010
Nick .. I'm using R3alpha ..and initial testing showed I can't get 
the command line in r3alpha
Dockimbel:
19-Jan-2010
Graham: thank you, I'll go buy the right one today and hope that 
nobody else buy the left one before I get new donations. :-)
Terry:
19-Jan-2010
Ok.. there's a pair of shoes.. that's 1.5 . Just need one more person 
and you'll have 2 pairs.
Dockimbel:
19-Jan-2010
Yep, got both at the same time too. Could the lag between the button 
click and the response be reduced? I guess that having all the voice 
processing done locally (using a REBOL app) could make it realtime?
Terry:
19-Jan-2010
I have a forever loop that checks the processing of the TTS.. once 
it's ready, it pushes it.. That's where the lag comes from. But then 
the .ogg file is cached, and much faster.
Terry:
19-Jan-2010
I think i need to move some stuff into a timer.. loops in ws-apps 
seem to block, and create all sorts of problems.
Terry:
19-Jan-2010
I can imagine things like log analysis, and having a "intruder alert" 
announcement.. stuff like that.
37201 / 4860612345...371372[373] 374375...483484485486487