World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
Graham 26-Apr-2010 [8109x4] | 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 [8146x2] | any map example code kicking around? |
don't need int | |
Maxim 7-May-2010 [8148] | don't know... haven't played with many new features of R3... |
Terry 7-May-2010 [8149x2] | me neither |
http://reboltutorial.com/blog/map-reduce-functions-in-rebol-towards-massive-parallel-functional-programming-part-i/ | |
Henrik 7-May-2010 [8151] | MAP is fairly easy. |
Terry 7-May-2010 [8152x2] | So is brain surgery if you've been studying it for 10 years |
Do you have an map-each example to try the problem above Henrik? | |
Henrik 7-May-2010 [8154] | oh, you want examples? |
Terry 7-May-2010 [8155x2] | Just one will do :) |
that shows key/values pairs using map-each | |
Henrik 7-May-2010 [8157x2] | >> a: make map! [] == make map! [ ] >> a/test: true == true >> a == make map! [ test true ] >> a/test == true >> a/test: none == none >> a == make map! [ ] |
that's basically it | |
older newer | first last |