AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 708 |
r3wp | 7013 |
total: | 7721 |
results window for this page: [start: 5901 end: 6000]
world-name: r3wp
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Dockimbel: 22-Oct-2009 | I don't have time now to investiguate much further this issue, I'll have a look tonight. | |
Dockimbel: 29-Oct-2009 | Because I didn't had time to add code to support that feature which is probably very low priority currently. I'll probably add a config option to better control log storage for the v1. | |
Dockimbel: 11-Nov-2009 | Comet requires a connection to stay open, so it looks like this will take a Uniserve process for each open connection. A Uniserve process (worker process) is not bound to a given client connection. Each worker accepts requests from ANY client connection, so it can handle hundreds of Comet-like connections with a few worker processes as long as each request doesn't take much time. For example, if each request takes 50ms, with 10 worker processes, you can handle 200 req/sec. | |
Terry: 12-Nov-2009 | Hmm, i think i did this some time ago.. pre Cheyenne days. | |
Terry: 12-Nov-2009 | I remember googling a coding problem one time, and found a solution.. thought to myself.. "this guy knows the situatioh".. only to realize i was my own code i had posted some years earlier. ;() | |
Terry: 12-Nov-2009 | This PHP code works fine.. <?php $password = "ClueCon"; $port = "8021"; $host = "127.0.0.1"; function event_socket_create($host, $port, $password) { $fp = fsockopen($host, $port, $errno, $errdesc) or die("Connection to $host failed"); socket_set_blocking($fp,false); if ($fp) { while (!feof($fp)) { $buffer = fgets($fp, 1024); usleep(100); //allow time for reponse if (trim($buffer) == "Content-Type: auth/request") { fputs($fp, "auth $password\n\n"); break; } } return $fp; } else { return false; } } function event_socket_request($fp, $cmd) { if ($fp) { fputs($fp, $cmd."\n\n"); usleep(100); //allow time for reponse $response = ""; $i = 0; $contentlength = 0; while (!feof($fp)) { $buffer = fgets($fp, 4096); if ($contentlength > 0) { $response .= $buffer."<br>"; } if ($contentlength == 0) { //if contentlenght is already don't process again if (strlen(trim($buffer)) > 0) { //run only if buffer has content $temparray = split(":", trim($buffer)); if ($temparray[0] == "Content-Length") { $contentlength = trim($temparray[1]); } } } usleep(100); //allow time for reponse //optional because of script timeout //don't let while loop become endless if ($i > 10000) { break; } if ($contentlength > 0) { //is contentlength set //stop reading if all content has been read. if (strlen($response) >= $contentlength) { break; } } $i++; } return $response; } else { echo "no handle"; } } $fp = event_socket_create($host, $port, $password); $cmd = "api show dialplan"; $response = event_socket_request($fp, $cmd); echo $response; fclose($fp); | |
Terry: 26-Nov-2009 | I'm coming to the conclusion that any communication other than via HTTP is a waste of time. Sockets suck. | |
Janko: 18-Dec-2009 | I want to run another webapp on vps where I have site-assistant on. but site assistant is written in older version of cheyenne and I don't have time to port it to latest right now. that's why I am doing this | |
Janko: 18-Dec-2009 | (and this new app is written in latest) .. maybe I should try to port it.. can't take taht much time | |
Graham: 18-Dec-2009 | I don't think I managed to get two Cheyennes working at the same time properly. | |
Dockimbel: 18-Dec-2009 | I used to run several Cheyenne instance on linux server but it was a long time ago (v0.9.15 or 16). I didn't do much testing on that use case since then. | |
Dockimbel: 18-Dec-2009 | I'll have a look this weekend on this issue to see if I can get a quick fix (it wasn't simple last time I've checked, but the cold freezing wind blowing out here these days might help my brain be better irrigated ;-)). | |
Dockimbel: 18-Dec-2009 | It needs to be fixed anyway. I, sometimes, also may have needs to run different Cheyenne versions on the same production server at the same time. Graham also has needs for this, so I think it's time to settle this issue once and for all. | |
Dockimbel: 18-Dec-2009 | I'll have some free time from now 'til the beggining of next year that I intend to devote mainly to Cheyenne and CureCode, and if time permits, on some new frameworks. | |
Dockimbel: 21-Dec-2009 | Kaj: the bug you're referring to has been fixed in v0.9.19 released on 1st march 2009. Time to upgrade. ;-) | |
Dockimbel: 21-Dec-2009 | About multiple Cheyenne instances running at the same time, I'm finishing a new version supporting that feature. It took me more time that I thought first due to additional OS specific code required (wasted a lot of time on OS X). Still a few minor things to fix, tweak and test. It should be available by tomorrow. | |
Janko: 21-Dec-2009 | @Doc: - I am not totally sure I correctly understand what you mean about webapp. I will need to process and try it some more. - About code loading on on-page-start : yes I know of that, I am using it as dev setup so I know latest code is reloaded each pageload. I intend to set it on on-application start when fully in production (But I have to admit the server is bgehaving really fast even with this setup all along) - good catch, I will remove one simpauth.r - I am aware of hosts file, but so far decided to edit the cfg file each time I switch ... which is in retrospect getting a little tiresome with more and more apps so I should think of some naming convention for getting to all domains local and do it that way yes - great for multi instance support . I also already ported site-assistant to 0919. it was much less work than I thought.. mostly just few things like do -> do/global and some 3 other tricks (no really aplication level changes were needed) | |
Will: 21-Dec-2009 | HAHA, looks like osx is a time waster, for Dock but for Carl as well 8-) | |
Terry: 22-Dec-2009 | Though Comet and Ajax can both deliver end-user experiences that provide desktop-like functionality and low user-perceived latency, only Web Sockets lives up to the promise of providing a native means to accurately and efficiently stream events to and from the browser with negligible latency. It is by far the most comprehensive solution for delivering real-time information over the Web. Not only does it provide full asynchronous duplex streaming communication with a single TCP/IP connection, but also benefits from few HTTP headers and more importantly allows the same message format to be used by both the browser and the origin service. | |
Kaj: 22-Dec-2009 | Still, I'm now considering the same as you. If I bundle Chrome with Syllable, by the time I am progressing with a few web apps, web sockets may have penetrated far enough to not bother with Comet | |
Dockimbel: 25-Dec-2009 | Terry: after taking the time to think about your comments regarding how web sockets should be integrated in UniServe & task-master, it starts to make sense and it inspires me on how it could be done and how the framework could look like. I'm writing a few specs on paper and will maybe implement a prototype tomorrow. This web sockets stuff is really going to be exiting after all. ;-) | |
Steeve: 28-Dec-2009 | well, is that not the time to carry on R3, Doc ? You can use tasks advantageously for such job. | |
Dockimbel: 28-Dec-2009 | Stability (still alpha), feature-completeness (at least R2 level, including /library) and last but not least, time and money. | |
Dockimbel: 28-Dec-2009 | AFAIU but I might not have the latest news, Carl postponed full tasking support to R3.1, so there's still time. | |
Carl: 28-Dec-2009 | So, if no devices have "work to do" then we sleep for a short period of time (as long as that period is greater than the minimum dispatch time for the host CPU.) | |
Pekr: 29-Dec-2009 | Henrik - yes, just read the discussion. Carl claimed, that RT has long time the code to IPC between processes. I objected, that no such code was standardised over-time, so that is maybe a reason, why ppl do wait for tasks. We await stuff like ipc:// scheme, etc. | |
Dockimbel: 29-Dec-2009 | Terry, wait to try the new web socket framework I'm working on. It should be ready tonight (if I find time to finish testing and debugging). | |
Gregg: 29-Dec-2009 | I have to make some time to play. Very cool Doc. Thanks for posting early and often. | |
Dockimbel: 31-Dec-2009 | Database accesses should be done in RSP scripts (because they are usually too time-consuming). | |
Terry: 31-Dec-2009 | I think I'm lost (happens all the time). Let's say I want to poll a remote web page for screen scraping (or remote php processing) every 2 seconds, and pass that to a specific port.. I would do this from the 'socket-app, no? | |
Dockimbel: 31-Dec-2009 | So, during the connection time, the target RSP script is not executed (unless you pass it a 'do-task in the 'on-connect handler). This target RSP gets associates with the opened socket until it's closed. | |
Dockimbel: 3-Jan-2010 | My demo is ready, but I found an issue to fix first with HTTP keepalive connections timeout colliding with web sockets timeout. The demo should be ready to try in a couple of hours (lunch time here). | |
Dockimbel: 3-Jan-2010 | When R3 features list will stabilize (beta stage), I'll make a more complete evaluation of the time required to port Cheyenne (lack of /Library can be workaround but will cost a significant amount of time). | |
Kaj: 3-Jan-2010 | I had hoped it would be in time for OSNews, but I thought I had better make use of the current slow news period. I'm not sure they would report on just some web server | |
Dockimbel: 7-Jan-2010 | That may be possible, but would be more complicated to support than web sockets as the server can't send data without getting a request. It will be hard to extend the web socket application framework without bloating it. Maybe a separated mod-comet would be a cleaner approach (but might duplicate a Iot of code in mod-socket). I will give it a look anyway, at least to estimate the time required to support it. | |
Terry: 7-Jan-2010 | Ruby on Rails looks interesting, but not interesting enough for me to spend more than an hour 'playing' with it. BUT.. if RoR built some killer app that let me config it, I would take the time. | |
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. | |
Henrik: 7-Jan-2010 | and you can cancel at any time, if you don't like it. | |
Janko: 8-Jan-2010 | 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? | |
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: 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! | |
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? | |
Dockimbel: 10-Jan-2010 | SVN r59 : experimental mod-upload released. This new mod adds server-side API for querying realtime progress info on uploaded files. See the demo : http://localhost/upload.html(not commented yet). Current restrictions: - works only when posting one file at a time in a given <form>. - can't make it work for IE (IE seems to have an issue with setTimeout( ) method). | |
Carl: 13-Jan-2010 | dinner time | |
Dockimbel: 18-Jan-2010 | Donation buttons added to Cheyenne web site at bottom if some of you feel inclined to help me spend more time on this project. ;-) | |
Terry: 19-Jan-2010 | hmm.. your chat an mine came through at the same time.. must be the queueing | |
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 | The first message takes some time.. every repeat is quicker. | |
AdrianS: 19-Jan-2010 | after quite a long time | |
AdrianS: 19-Jan-2010 | I tried to do the same text again, but no reponse this time | |
Terry: 21-Jan-2010 | I thought this scenario could be recreated using WAIT or a loop that takes some time. Here'a another scenario.. a very typical websocket use.. A request comes in from the client "IBM".. the ws-script then checks a remote server continuously pushing a new IBM stock quote update, second by second forever? | |
Dockimbel: 22-Jan-2010 | Max: " the values of those words would be substituted when they are encountered." I don't get where and how precisely this is supposed to happen (at Cheyenne boot time in %cheyenne.r like a preprocessor or at services install time in %misc/conf-parser.r as a dialect feature, and what could be substituted and what not, etc...). This does raise a lot of design questions and roughly looking, doesn't seem very different from what I was proposing. It seems that you'ld like the preprocessing occurs inside Cheyenne while I was more in favour of an external preprocessor script as I'm not sure how often users will need such feature. | |
Maxim: 22-Jan-2010 | I was thinking that it could be added within the dialect... I might look how to add it myself and I could give you an example... maybe not now cause I have a lot of things on my plate, but the next time I go deep into cheyenne's guts (next time I work on mod-remark). | |
Terry: 23-Jan-2010 | do any of the rebol loops have 30 second time-outs?? very strange | |
Terry: 24-Jan-2010 | yeah, I need an async https port.. still getting overlapping tts broadcasts when two or more people submit at thesame time. | |
Janko: 28-Jan-2010 | huh, I have to comment something.. I went looking what curecode looks like .. and founc this one http://curecode.org/rebol3/view-tickets.rsp .. when I am clicking links the page reloaded so quickly that I couldn't determine if you are doing an ayax call or the whole page is reloading and I can't see it.. I also noticed this on my cheyenne projects. I don't get how you managed to do this. There are numerous servers outthere and rebol is not the fastest language and I haven't seen something like that anywhere?!?!? I mean I think also the static pages that you load from some webserver take some more time.. ? | |
Dockimbel: 28-Jan-2010 | I would answer, that spending my time reimplementing things like /Library, CALL or hash! in R3 using host kit (and giving my rights on it away), while code for such features already exists in R2, would be extremely stupid from me. | |
Dockimbel: 28-Jan-2010 | Btw, to clarify also other things, "switching to R3" by porting Cheyenne (which by itself would took weeks), would put me in difficult position where I would have to maintain 2 versions of Cheyenne (R3 version and R2 for all my installed personal and business webapps). Making a full switch (porting all my web and native apps to R3), would require *months* of work. I currently have around 12h a week (7 days) of free time for non-business projects. So, "switching" to R3, would mean stopping all evolutions on all my products during months, maybe a year until I can port everything to R3. This is not an option for me. So, only a "R2 feature-complete" R3 version could make that doable in an acceptable time frame (and with much less risks of regressions). And all this huge work for what gain? Well, without threading, almost none (to be fair, maybe a little bit lighter source code base). | |
BrianH: 28-Jan-2010 | I've never need to wrap a C library, but I have to wrap libraries written in other languages all the time. Languages without C interfaces. | |
Terry: 28-Jan-2010 | I was looking at using some of the windows speech recognition stuff via /library earlier today. Accept voice prompts, and push to a web page via sockets. Playing with PowerShell for the first time as well. Has some promise. The speech recognition in Windows 7 is world class. | |
Graham: 29-Jan-2010 | time for some debugging | |
Dockimbel: 29-Jan-2010 | It seems to me that there's a bit of misunderstanding here on how OSS works. My understanding is that peoples are willing to contribute, because they *need* something and they *can* obtain it by modifying the source code. Expecting that your product development forces will magically increase because you're going open source is, in the general case, an illusion. People will contribute only if they're interested in your product, have a need to fullfill, and time/skills to make it. So, a critical mass of users is required to get enough contributions. If you don't get enough contributions, don't blame it on the open source approach, blame it on your product (or on your communication), because it doesn't attrack enough people to reach the required critical mass. | |
Graham: 29-Jan-2010 | Just an observation that the developer base shrinks as time progresses ...and I doubt anything apart from open sourcing r3 will help | |
Gregg: 7-Feb-2010 | And move-file won't be fast all the time. e.g. if you're moving the file to another drive. | |
Carl: 13-Feb-2010 | Ok, no problem... will add content-length field. Shouldn't take much time. | |
Janko: 22-Mar-2010 | Some texts (that are part of application) are a little longer. I was thinking of replacing all of them with "tags", like "add_now" instead of "Add now" and "warning_text" instead of "bla bla ........................" and having the default language as this tag language from which it is then translated to english, slovene, etc.. anyone has any thoughts about this? I could also make a tool that would statically replace all the values in say "..." and #[...] if I decide to do so at one time. That's why I would preferr the same system for most of things. I will probably have a separate files where the whole page is text , like the instructions. | |
Terry: 7-May-2010 | (back from core :) some nice results with map! >> length? n ; n is a map containing random keys, and a 25 byte string value == 2000000 loadit 1000000 ; loads in an additional 1m key value pairs (same as others, and returns execution time == 0:00:9.27 test3 1000000 ; test3 is a function that GETS the value of a particular key 1M times, returns the last iteration's value (!string), returns execution time this is a bit of a string 0:00:01.616 That is blazing, nearly 10 times faster than Redis | |
Dockimbel: 8-May-2010 | Kaj: "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?" It was working last time I've checked. What Cheyenne version are you using? Have you remove all the log files generated by Cheyenne that are own by root before testing? Did you tried with other combinations of user and group? | |
Kaj: 11-May-2010 | Yeah, it was worth spending some time on it | |
Kaj: 15-May-2010 | What do you mean by that? Cheyenne's UniServe task masters run in separate processes, so when one request takes time other task masters handle other requests, but within one request your code is executed serially, the way you program it. REBOL is single-tasking, after all | |
Graham: 8-Jun-2010 | I start it up with sudo under linux and the very first time it works. I reboot, and then try again, and it just quits ... everytime. I then use rebol/core and when I do %cheyenne.r it complains it can't write the cache efs file. I allow it, and then restart the cheyenne binary and then it runs okay. | |
Graham: 8-Jun-2010 | So my question is, does the cheyenne binary need to write the cache efs file each time? What do I need to do to allow Cheyenne to start reliably each time ...? | |
Graham: 8-Jun-2010 | going to copy the .cache.efs file to cache.efs and then copy it back each time with a shell script to see if that fixes it | |
Graham: 8-Jun-2010 | Well, I don't know what is going on but hopefully my saving a copy of the .cache.efs file and copying it anew each time the user restarts cheyenne will bypass this issue | |
Janko: 1-Jul-2010 | I use isolated approach too, but I use sqlite databases which are not that good for webapps but ok for isolated since 1 user wont make hundrets of connections to the same database at the same time | |
Graham: 9-Jul-2010 | the time gained is in writing .. not execution :) | |
Graham: 9-Jul-2010 | Sure .. I understand that for interpreted languages, there are also performance downsides .. but the gain is in the time to deliver product | |
Graham: 9-Jul-2010 | That's why people use interpreted languages/scripting languages .. to speed up the development cycle not for writing time critical apps | |
Dockimbel: 9-Jul-2010 | long time I haven't looked at Da Vinci... | |
Dockimbel: 11-Jul-2010 | Websocket server code can be run from two places: either in Cheyenne main process (allows accessing all clients ports and detecting ports open/close events) or in RSP scripts (using 'do-task function from a websocket app) when the job takes too much time (like accessing a database). | |
Terry: 14-Jul-2010 | scratch the word "using" in that last post. Post posting.. a great time to proofread ;) | |
florin: 24-Aug-2010 | exactly. I tried that tonight as I look at cheyenne for the first time. However, the on-page-start/end do not seem to work (in debug mode). The instructions are so simple I wonder why it would not work though. | |
florin: 25-Aug-2010 | I mean this example code in the app-init.r: on-page-start: does [ set 'start-time now/time/precise ] on-page-end: has [pos elapsed][ if pos: find response/buffer "</body>" [ elapsed: now/time/precise - start-time insert pos reform ["<br>Processed in :" elapsed] ] | |
florin: 25-Aug-2010 | 45 minutes? I outta go. I messed up your time. | |
florin: 25-Aug-2010 | :) We need to write some code then. See ya. And thanks for the time. | |
florin: 25-Aug-2010 | I don't find much use of rebol view. I'm interested in browser based stuff, and that's the only way I'd spend time with rebol. I'd love to take a look at Temple. | |
Henrik: 6-Sep-2010 | Dockimbel, will you provide an encapped version again? Last time I had quite a mess figuring out what Cheyenne version worked with what REBOL version, so I just avoid upgrades unless there is an encapped version. | |
Dockimbel: 6-Sep-2010 | damn...shouldn't chat on more than 3 windows at the same time...:-) | |
Henrik: 8-Sep-2010 | Anton, for me right-click copy only works the first time in AltME. Then it stops working. | |
Carl: 9-Sep-2010 | I'd like to make that side proc an option. Holger added it for async DNS lookup, but a great deal of the time no lookup is being done, or sync DNS lookup is just fine. | |
Kaj: 9-Sep-2010 | The 2.7.8 planning seems to include some goals in that direction, making View not bomb out when X11 is not running, but the time plan was abandoned | |
Ladislav: 27-Sep-2010 | I am not, but last time I "felt" an Include conflict, it was very easy to resolve, in fact | |
Gregg: 28-Sep-2010 | I'll have to do some more digging Doc, and maybe see what do* does since I haven't tried that. I'll actually read some source if need be. ;-) What I saw with your new change is something I also saw once with the previous approach. Plain CGI worked fine until an RSP was run, then the CGI failed, *then* both the test RSP and test RSP web app started returning with garbage at the top of the page. More garbage each time, like a buffer was being added to. Then the plain CGI worked again. Doing a reset on the workers solves the garbage problem. My Cheyenne EXE is from 2009 so I'll check for a new one before doing anything else. | |
Dockimbel: 28-Sep-2010 | From 2009 -> more than 90 revisions since then, these issues have been solved a long time ago :-) Are you using the official binary v0.9.19? | |
Carl: 8-Oct-2010 | So, finally... it's time that I learn how to use the RSP API. | |
Carl: 10-Oct-2010 | Long ago, there was a RESET function in REBOL. It would restore the runtime environment without reloading the exe. This allowed REBOL to run as an apache mod, because the process would persist and could start "clean" each time. Such a thing could be done in R3. | |
Oldes: 27-Oct-2010 | Hi Doc, nice list. But would like to ask you, what about a way how to terminate long time unused worker processes? They are started automaticaly when needed, but there is no way how to stop them when the server has no activity. | |
GrahamC: 27-Oct-2010 | I've been releasing cmd encapped binaries for cheyenne for a long time now | |
Dockimbel: 29-Oct-2010 | Peter: the error you get is caused by trying to run multiple sessions of Cheyenne at the same time, see my post at Thu 19:04 about that. | |
PeterWood: 9-Nov-2010 | This is a debug print of a correct response: req/result [ done [reply seq 1 service "Generic REBOL Service" commands 1 time 0:00] ok [date 9-Nov-2010/2:16:33-7:00] ] |
5901 / 7721 | 1 | 2 | 3 | 4 | 5 | ... | 58 | 59 | [60] | 61 | 62 | ... | 74 | 75 | 76 | 77 | 78 |