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
25-Apr-2010
[8097x6]
It's not my server .. .I just told them to install ubuntu server 
32 bit
I'll have a look .. but I'm having issues now starting cheyenne. 
 I'm using the latest binary from doc but it just stops
I have to run cheyenne.r to allow it to create a cache.efs file and 
then I can run the binary
ie. I use rebol core and use the source version
going to try the rc.local
Doesn't seem to be predictable ...
Graham
26-Apr-2010
[8103x10]
Is there a simple file upload script demo .... ?
Hmm.. Cheyenne is not handling HEAD correctly

>> read/custom  http://www.curecode.org/[ HEAD "" ]
URL Parse: none none www.curecode.org none none none
Net-log: ["Opening" "tcp" "for" "HTTP"]
connecting to: www.curecode.org
Net-log: {HEAD / HTTP/1.0
Accept: */*
Connection: close
User-Agent: REBOL View 2.7.6.3.1
Host: www.curecode.org
Referer: http://www.curecode.org/
}
Net-log: "HTTP/1.1 200 OK"
Net-log: ["low level read of " 2048 "bytes"]
my error .. I'm using an old version of Cheyenne
Mine is Server: "Cheyenne/0.9.18"
Guess the error is fixed now...
Upgraded to Server: "Cheyenne/0.9.19" but bug is still present.
this is with 9.19


>> read/custom  http://129.33.194.254:8080/tempsdfsfsadfasdfasf/hasfasdfsfpkkkk.pdf 
[ HEAD "" ]


URL Parse: none none 129.33.194.254 8080 tempsdfsfsadfasdfasf/ hasfasdfsfpkkkk.pdf
Net-log: ["Opening" "tcp" "for" "HTTP"]
connecting to: 129.33.194.254
Net-log: {HEAD /tempsdfsfsadfasdfasf/hasfasdfsfpkkkk.pdf HTTP/1.0
Accept: */*
Connection: close
User-Agent: REBOL View 2.7.6.3.1
Host: 129.33.194.254:8080

Referer: http://129.33.194.254:8080/tempsdfsfsadfasdfasf/hasfasdfsfpkkkk.pdf
}
Net-log: "HTTP/1.1 200 OK"
Net-log: ["low level read of " 2048 "bytes"]
this is for a non existent file
I wonder if the custom 404 handler is causing this.
Doc, any explanation as to why it can be so hard to start Cheyenne? 
 I think it is to do with the .cache.efs file
Oldes
26-Apr-2010
[8113x2]
There is upload demo... check upload.html and upload.rsp files
The problems with start: check log files. Run cheyenne in debug mode 
like:  ./cheyenne -vvvv
Graham
26-Apr-2010
[8115x3]
It never gets as far as creating the pid-log files
the process just terminates
as for upload ... I used something I found that I wrote a few years 
ago :)
Terry
30-Apr-2010
[8118]
doc, you should focus your development on nodejs, or look at event 
driven Cheyenne version
Graham
30-Apr-2010
[8119]
Anyone benchmarked Cheyenne vs nodejs ?  Both are event driven.
Kaj
1-May-2010
[8120x13]
Here's a small bug fix for Cheyenne
In HTTPd.r in make-tmp-filename:
not exists? incoming-dir/out
should be
not exists? incoming-dir/:out
This bug is unlikely to trigger, but when it does, it mixes up received 
data
I guess it's like the semicolon bug that made a space probe miss 
Jupiter by 100,000 km :-)
Cheyenne doesn't seem to load its MIME definitions from the standard 
location on Unix systems, %/etc/mime.types, loading an internal list 
%misc/mime.types instead
Is there a reason for this? The list on most Unix systems and Syllable 
Server is much more comprehensive
Could it look for the standard list first, and then fall back to 
the internal list when it doesn't find it?
From earlier messages here, it was my understanding that Cheyenne 
on Linux can run its UniServe taskmaster processes under a non-root 
user account by enabling 'userdir in the modules and 'user and 'group 
in the globals
However, when I do that, all of Cheyenne is still running as root
The designated user and group exist. What else do I need to do?
Terry
1-May-2010
[8133x3]
Here's a nice key-value store... Redis  http://code.google.com/p/redis/
http://simonwillison.net/static/2010/redis-tutorial/
(posting here.. wouldn't hurt to have a Cheyenne module for accessing 
this piece of art)
Terry
2-May-2010
[8136x3]
Spent the last couple of days grokking Redis.. you owe it to yourself 
to take a long look.
<rant>One thing Cheyenne (and Rebol) needs to do is grow up, and 
lose Altme as the primary source of communication</rant>
Redis protocol spec.. very simple  http://code.google.com/p/redis/wiki/ProtocolSpecification
Terry
3-May-2010
[8139x2]
Ported my atom functions to Redis.. this thing is BLAZING  100,000 
reads/ sec   100,000 writes/sec   95% of my functions work at O(1)
Now all we need is a Cheyenne protocol :)
Terry
7-May-2010
[8141]
I'm thinking about porting  Redis to Rebol as a datastore for Cheyenne, 
but I'm not sure of performance.. 

Redis is a key/value db like CouchDB, with a number of nice features 
(persistence etc.)


Now in Redis, I can create a db with 120,000 key / value pairs.. 
keys are integers from 1 - 120,000 (in this example) with a 10 byte 
string as the value

In redis, i can do 10,000 GETS (return the value of the key) in 1.39 
seconds or 7200 / second.


Now trying to model this in Rebol, i used R3 on a newer machine (i7 
/ 6gb ram) with a block of integers from 1 - 120,000

PICK is blazing:  10, 000 picks in .011 seconds
but with SELECT it's 10,000 GETS in 2.23 seconds


My question is..  is there a faster way in Rebol to select a value 
from a key?
Maxim
7-May-2010
[8142]
did you try using a map?
Terry
7-May-2010
[8143]
nope
Maxim
7-May-2010
[8144x2]
that uses a hash, and should be MUCH faster for selects.
but I'm not sure if you can use integers for the keys.  ':-/
Terry
7-May-2010
[8146]
any map example code kicking around?