AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 55 |
r3wp | 797 |
total: | 852 |
results window for this page: [start: 601 end: 700]
world-name: r3wp
Group: Core ... Discuss core issues [web-public] | ||
BrianH: 7-Jun-2009 | ALTER is still in R3, though its usefulness is so limited it may be moved to R3/Plus. The enhanced logic flags that were supposed to replace it were removed in the latest release - they were never refined or documented to the point of being useful. | |
Ashley: 20-Jul-2009 | Anyone have a nifty func to "untrim" a string? Something that converts: "ArialBold" to: "Arial Bold" Best I can come up with is a horrible replace loop: foreach char "ABC ..." [ replace/all next string char join " " char ] replace/all string " " " " ; handle case where words were already space seperated | |
Ashley: 20-Jul-2009 | replace/all next -> replace/all/case next | |
Steeve: 8-Sep-2009 | sorry, replace TRY by ATTEMPT | |
Steeve: 8-Sep-2009 | and replace >> integer? attempt [first to block! trial/2] by >> attempt [to integer! trial/2] Optimizations are a never ending task with Rebol ;-) | |
ChristianE: 20-Jan-2010 | Yeah, it is a common idiom. But some symmetry to REMOVE FIND FLAGS FLAG would be nice, and I don't expect Carl or anyone to be willing to replace REMOVE FIND by another native or mezzanine. That wouldn't be worth it. For now, I've decided to go with >> union package/changes [weight] >> exclude package/changes [address] since speed is really nothing to worry about in my case now. | |
BrianH: 21-Jan-2010 | You would have to replace them with mezzanine code. | |
Pekr: 26-Jan-2010 | amacleod - the fix is easy - just replace "insert tail tmp rest" by "insert tail tmp join main rest" | |
Ashley: 3-Apr-2010 | Is there is better way to code the following idiom: foreach [from to] [ "&" "&" "<" "<" ">" ">" "^/" "<br>" ][ replace/all string from to ] I'm using this much too frequently for my own liking ;) | |
Maxim: 3-Apr-2010 | still, replace is pretty fast... I don't know if the parse approach will be faster with only 4 items to replace. | |
Gregg: 3-Apr-2010 | Ashley, I've done parse-based REPLACE funcs, and a simple TRANSLATE func, but I haven't generalized and dialected them the way I want to either. This week is busy for me, but if you want to collaborate on something, let me know. I think it would have a lot of value. | |
Ashley: 4-Apr-2010 | A non-parse solution (for the replace problem) based on the existing replace mezz: replace-each: make function! [ target [series!] "Series that is being modified" values [block!] "Block of search/replace strings" /local len pos ][ foreach [search replace] values [ len: length? search while [pos: find target search] [ target: change/part pos replace len ] ] ] | |
Maxim: 23-Apr-2010 | with R3 I want to replace every part of the kernel with commands, but for that, we need access to the object! datatype within extensions (or host-kit). | |
Maxim: 18-May-2010 | look in profiling, there is a full script with verbose printing and everything you need, just replace the loop in one of the funcs :-) | |
Maxim: 6-Jul-2010 | note, they are not evaluated, even if you replace them with functions which have the same word. | |
Graham: 3-Aug-2010 | This is the construct I saw which I don't like either true [ tail s ][s ] which I could then replace with if/only true [ tail ] s | |
Ladislav: 21-Aug-2010 | I would say, that your equivalent is fine. Since it is not that hard to use the "double bag", I doubt it justifies the refinement, since the refinement expression isn't shorter than the expression it is supposed to replace. | |
Anton: 25-Aug-2010 | Gabriele, it would certainly be good to have your nice MAKE-CONTEXT built in. I had a strong feeling you had something like that already done. I just wish for a shorter function name. You're probably right about the higher frequency usage of USE, but I was just trying to find a way to minimize the characters typed. In my proposed alternative reality, where USE and DO USE replace MAKE-CONTEXT and USE, there would be a saving in typing only if DO USE was used less than 3 times as often as USE (ie. < 75% of the time). If I could show that, then my alternative reality would at least have some typing advantage. I don't have much hope of that, so I withdraw. I'd be very happy with your MAKE-CONTEXT built in, anyway. | |
Maxim: 16-Sep-2010 | if your source data actually has CRLF in them, just do: replace/all datastr CRLF LF | |
BrianH: 1-Oct-2010 | Sounds interesting. I know that CHANGE/part is the real fundamental operation, but that needs an additional parameter and would require renaming the option - /into isn't an appropriate name for that operation. But I don't think it would have been implemented in that case, and having it be a direct CHANGE would definitely not have been accepted because /into is mostly used to replace chained INSERT and APPEND operations. | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Graham: 5-Nov-2007 | Ashley, we talked about this before. I am looking for a way to spell check in a popup or static window attached to the area that is being checked, and to double click on the choice, have it replace the highlighted text, and then move on to the next text which is then highlighted. I got it working except for the part of highlighting the next word that is suspect. It highlights and then immediately loses the highlight .. perhaps something to do with the double click and focus system? | |
btiffin: 5-Nov-2007 | I'd 'here here' on that one. I've been mucking with a RebGUI based editor and getting a Find/Replace dialog working has been an excercise in hackery that I'm not a huge fan of. (Much chasing of tail and subverting of code that I have too much respect for to allow the hackery.) | |
Ashley: 4-Dec-2007 | Replace: info-area: "To see error: Press test button, then Status once" area with: info-area: area "To see error: Press test button, then Status once" | |
Ashley: 5-Dec-2007 | Also, replace: info-area/text: rejoin make block! head info-area-list with: info-area/text: form rejoin make block! head info-area-list | |
Ashley: 26-Dec-2007 | Graham, new tab-panel accessor is used as follows: display "" [ t: tab-panel data [ "P1" [field] "P2" [field] ] button [ t/replace-tab 1 [field red] ] button [ t/replace-tab/title 1 [field blue] "Blue" ] ] | |
Graham: 21-Feb-2008 | do you have to be on the tab panel you are replacing to use tab-panel/replace-tab ? I see the new layout appear on the current tab. | |
Graham: 21-Feb-2008 | Ashley, I got an error on these lines in replace-tab pane/:num/color: colors/page pane/:num/edge: outline-edge I presume that there was a change to pane a while ago. Was this related to the new look? | |
Ashley: 21-Feb-2008 | do you have to be on the tab panel you are replacing to use tab-panel/replace-tab? ... No, see the following test case: t: tab-panel data [ "A" [field] "B" [field] ] button [t/replace-tab 2 [button]] Click the button then tab "B". ... Was this related to the new look? ... yes, the new look is an extensive WIP that "breaks" build 112. Are the function keys accessible under Linux? ... http://www.dobeash.com/RebGUI/user-guide.html#section-4.4 | |
Kai: 7-Mar-2008 | Ashley, I just tried the 'bistate option from 1.12 and am not sure that it works properly. I can toggle between green checkmark and blank box via left MB (and the red cross via the right MB has become unreachable). I would have now expected the blank state to replace the off state but apparently it still does stand for NONE and displaying a CB in False state still shows the red cross......? | |
btiffin: 17-Mar-2008 | I tried once. But it was more an exercise in linking RebGUI menu Find/Replace to area ... too many hacks to keep caret in synch, so instead of tarnish Dobeash with my lousy code ... I just didn't. But a quick RebGUI display of an area isn't too hard to pull off, but you need to rely on the built in key handlers. Sadly Find/Replace is not in the list, but you do get a spell checker 'for free'. ;) In Ashley's defence, it is not the design intent of RebGUI to be an editor. I've not tried, but Anton has been pumping out a new editor ... may conflict less than editor dunno, but I kinda doubt it will work without the same types of problems. Alternative is to use CALL and launch an external editor. | |
Graham: 25-May-2008 | I'm trying to create a widget that resembles the one from the MS demo http://screencast.com/t/unHPOZ0oP I've got a bunch of panels inside a scroll-panel. When I click on a panel, I recreate the whole layout using replace-tab which is okay if I haven't scrolled down the panel, and add the area below the panel I clicked on. If I have scrolled down, I capture the scroll-panel/panel/1/offset and then try and set it back again ... but when I show the scroll-panel even though the offset is eg. 0x-188, I stil need to scroll down to see it. Ideas on how to show the scroll panel at the current pane offset? | |
Graham: 7-Jul-2008 | and then I use tab-panel/replace-tab [ new layout ] | |
shadwolf: 28-Aug-2008 | ctx-rebgui/rebface replace this by : listview: make rebface [ | |
Claude: 7-Oct-2008 | i replace this func by a face/text: with show face | |
Graham: 22-Jan-2009 | I am trying to use the function keys to replace a mouse click on the "Save" button. But the function keys are global .... so if one defines it to have a specific action for one screen, there's bound to be a problem where the wrong definition arises. | |
Graham: 22-Jan-2009 | Pekr, you can create empty tabs, and then replace the tab contents dynamically. | |
Graham: 23-Apr-2009 | however, I can't reproduce it outside my app yet. Now if I replace the above with add2script: has [ tl ][ view/new layout [ t1: text-list 100x100 data [ "one" ] [ print t1/text ] ] ] then double click always produces two windows ... | |
marek: 24-Aug-2009 | Can I ask how to replace append-widget funcionality? Is there anything simpler that making custom distribution with %custom.r widget? | |
Ashley: 25-Aug-2009 | how to replace append-widget funcionality? ... make your own custom distribution in three easy steps: | |
Graham: 25-Aug-2009 | What I do at present is use a tab-panel and have the loading gif in one, and then replace that panel with the table once the data arrives | |
Ashley: 25-Aug-2009 | (replace loop 20 with loop n) | |
Ashley: 7-Sep-2009 | Build 214 - updated toggle (2x2 edge on select) - added missing btn widget - added missing chat widget - added flash requestor - added request-about - renamed request-password to request-pass Flash is used as follows: ... flash "message" ... hide-popup wait [] ... request-about is used as follows: request-about/url "MyProj" 0.0.1 "Copyright (c) MyCo" "www.site.com" ; or a url! Note the logo is located in ctx-rebgui/images/logo and defaults to the info icon ... replace with your own logo image as follows: ctx-rebgui/images/logo: load %my-logo.png | |
jack-ort: 25-Feb-2010 | Ashley - that got me started, but where I get stuck is on the syntax to refer to a widget *in another window*. In the sample below, I want my "Save" button to not only write a new record to my SQLite db, but also to refresh the query that loads the table in the parent window (OR, can I refresh the parent window table after the child window closes and the focus returns to the parent? I cannot seem to trigger any focus events.). I was trying to wrap my windows in objects, which are new to me also, so I'm sure that is part of my problem. Obviously my attempt to refer to my table by this path (adddelusers/gui/tbl/data) is incorrect, since I get this error: ** Script Error: Invalid path value: tbl ** Where: on-click ** Near: insert adddelusers/gui/tbl/data (sql/flat "select * from users order by userid") adddelusers/gui/tbl/redraw adddelusers: context [ title: {Add/Remove Users} tbldata: copy esql/rtn [sql/flat "select * from users order by userid"][] gui: [ tbl: table 125x50 options ["UserID" left 0.2 "Password" left 0.8] return button "Add User" 30 on [ click [display/parent adduser/title adduser/gui ] ] button "Remove User" 30 [alert "need to add code here..."] ] ] adduser: context [ title: {Add User} gui: [ user: field text "username" return pwd: field text "password" return button "Save" [sql compose ["insert or replace into users values (?,?)" (to-word user/text) (to-binary checksum/secure pwd/text)] insert adddelusers/gui/tbl/data (sql/flat "select * from users order by userid") adddelusers/gui/tbl/redraw unview adduser/gui ] button "Cancel" [unview adduser/gui] ] ] | |
jack-ort: 25-Feb-2010 | Ashley - that got me started, but where I get stuck is on the syntax to refer to a widget *in another window*. In the sample below, I want my "Save" button to not only write a new record to my SQLite db, but also to refresh the query that loads the table in the parent window (OR, can I refresh the parent window table after the child window closes and the focus returns to the parent? I cannot seem to trigger any focus events.). I was trying to wrap my windows in objects, which are new to me also, so I'm sure that is part of my problem. Obviously my attempt to refer to my table by this path (adddelusers/gui/tbl/data) is incorrect, since I get this error: ** Script Error: Invalid path value: tbl ** Where: on-click ** Near: insert adddelusers/gui/tbl/data (sql/flat "select * from users order by userid") adddelusers/gui/tbl/redraw adddelusers: context [ title: {Add/Remove Users} tbldata: copy esql/rtn [sql/flat "select * from users order by userid"][] gui: [ tbl: table 125x50 options ["UserID" left 0.2 "Password" left 0.8] return button "Add User" 30 on [ click [display/parent adduser/title adduser/gui ] ] button "Remove User" 30 [alert "need to add code here..."] ] ] adduser: context [ title: {Add User} gui: [ user: field text "username" return pwd: field text "password" return button "Save" [sql compose ["insert or replace into users values (?,?)" (to-word user/text) (to-binary checksum/secure pwd/text)] insert adddelusers/gui/tbl/data (sql/flat "select * from users order by userid") adddelusers/gui/tbl/redraw unview adduser/gui ] button "Cancel" [unview adduser/gui] ] ] | |
Ashley: 9-May-2010 | Replace 'load-image with 'load unless you want to cache the image. | |
Ashley: 14-Sep-2010 | re: button colors. A QAD fix for b117 follows: Edit rebgui.r and make the following changes to the button widget starting on line 1260: - Add a new attribute ... old-color: none - Add the following to the init function ... old-color: color - Change color references ... replace "colors/theme-dark" with "face/old-color" (leave the "color = colors/theme-dark" ref though) | |
Awi: 14-Jan-2011 | This don't happen in b117 (the same code, except I had to replace 'question' to 'confirm' and 'ctx-rebgui/layout/only' to 'layout/only') | |
GrahamC: 17-Jan-2011 | Yeah ... the docs are in this channel for the tricky stuff. But Ashley has assumed that R3 was going to quickly replace R2 hence the lack of movement here. | |
Gabriele: 24-Mar-2011 | Timers are not really related to multithreading. If you only need a timer, you can just use WAIT with a time! or integer! value. Also, one way to work around problems that may happen when using WAIT inside a face action is to disable the event port, then WAIT, then enable it again. Eg, in your above code, replace the WAIT 0 with: saved: system/ports/wait-list system/ports/wait-list: [] wait 0 system/ports/wait-list: saved It may be better though to add the serial port to the wait list and handle things differently - I can't say without knowing more about your program. | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Maxim: 29-Apr-2009 | you can't tell a company that invested several years to start over from scratch. it has to be able to migrate without changing the habits... rebol has to sink into the other model first, then slowly, if it worth it, people will start putting rebol in the center and eventually, something like rebrowse can replace the current framework or maybe even live besides it while the migration takes place. | |
Maxim: 14-May-2009 | money is usefull, just that it doesn't replace a real BCD type. | |
BrianH: 28-May-2009 | Yeah, REDUCE/into and COMPOSE/into were designed to replace chained inserts or appends. They're pretty common in optimal code. | |
BrianH: 28-May-2009 | We need utypes for host interoperability, to replace rebcode, and more. A utype will need to be able to react to the actions, just like a type | |
Pekr: 1-Jun-2009 | Posted by Doc - "Having the TCP/IP part open-sourced in R3 will be great. It will allow to use much faster OS hooks for file transfers, extend the port! API to bind only on selected interfaces, etc...I wonder if the main event loop will be there also, so we can replace the not-scalable Select( ) call by other faster ones or even integrate libevent. That would definitely make Cheyenne able to handle a much higher number of connections." | |
BrianH: 3-Jun-2009 | You wouldn't be able to make a unit a number!, or even a scalar!, but otherwise doable. As long as the unit is on the left side of a equation it would work. You wouldn't be able to replace money (prefix vs. postfix), but otherwise good. | |
BrianH: 3-Jun-2009 | It still wouldn't replace money!, because the international standard syntax for specifying money uses a prefix, not a suffix. | |
Steeve: 3-Jun-2009 | I was answering to Sunanda, a new name to replace money! | |
Ladislav: 13-Jun-2009 | hmm, since it is about the deep copy, you can always replace it by doing it on your own | |
Maxim: 14-Jun-2009 | what you are saying is that for modules, we need to start declaring words? not very rebolish. I have to do so in slim to keep words local to the calling context, but I would have tought that modules would do so automatically since they replace the global context. any new word in the root of the spec block of the module should be added to the module's context and set to unset! just like R2's global context does. | |
BrianH: 14-Jun-2009 | Modules have their own context, but they don';t replace the "global" context. | |
Steeve: 24-Jun-2009 | sunanda, in insert-compact, replace: >>prev: pick here -1 by >>prev: pick here 0 | |
BrianH: 9-Jul-2009 | I proposed an /ignore stuff option that would replace the old default behavior, and be more general. Then we could toss /all. | |
BrianH: 14-Jul-2009 | Patrick, you can replace APPEND2 with APPEND APPEND. | |
BrianH: 14-Jul-2009 | It's a global search-and-replace in the source rather than a simple assignment, but it works. | |
Pekr: 13-Aug-2009 | excuse me, but what is wrong by escaping by ^{ and ^} ? In R2, left curly brace escaping does not work in console only, but script being run from file (which is case on the server anyway) is OK. In R3, which soon will be ready to replace R2 for such scenarios, it works even in console. But probably I am too dumb to understand the issue involved :-) Could someone please give me a snipped of some quoted JS or other code, in order to get the issue? Would like to try the headache myself :-) | |
BrianH: 14-Aug-2009 | What, did you think Carl was going to be the one to replace rebcode? :) | |
BrianH: 20-Aug-2009 | The %rebol.r file is only meant to be used by the person who installs REBOL, for the purposes of adding custom stuff that is specific to a particular computer. Loading standard libraries will be handled by the module system instead. This is the same reason why we are planning to replace %user.r with a preferences file. | |
Henrik: 21-Aug-2009 | I'm not sure it is. :-) but many things don't seem very useful on the surface. I'm still thinking in terms of setting mulitple words with multiple values in one operation. I hate picking words out of a block, one at a time. It becomes more powerful when you replace the blocks with words. Then you can use the same program structure to set one-to-many, one-to-one, many-to-one and many-to-many words. | |
Maxim: 26-Aug-2009 | I don't see why you're having so much trouble... when I read the JSON reference docs a few months ago, I could almost do a replace/all of a JSON data set to REBOL's seems pretty obvious to write a lib for.f | |
BrianH: 4-Sep-2009 | Robert, you can do lazy evaluation using functions that replace themselves with their results. Anything more requires a full language semantics overhaul, and might not be possible in an interpreted language. What do you hope to accomplish? | |
Pekr: 9-Sep-2009 | the list is sometimes strange - why 'replace has high priority, but other imo more important stuff has medium or low? | |
BrianH: 9-Sep-2009 | I think you are underestimating how badly REPLACE sucks. I wrote it, so I know it is as good as you are going to get in mezzanine. And it's a widely used and reviled function. | |
Pekr: 9-Sep-2009 | I agree about the need for replace being a native. I would prefer emphasis on other areas though, e.g. on parse enhancements :-) | |
Steeve: 9-Sep-2009 | is there any new work version of REPLACE ? | |
BrianH: 9-Sep-2009 | The new REPLACE would be native, and noone has made any proposed source or even spec yet. Still under discussion. | |
Steeve: 9-Sep-2009 | probably, we should use APPLY :find in REPLACE to allow more options, no ? | |
BrianH: 9-Sep-2009 | REPLACE has as many options as it can handle. The overhead of managing all of the REPLACE refinements is reaching the point of diminishing returns. The main problem of REPLACE isn't flexibility, it's performance. | |
Pekr: 22-Sep-2009 | just don't replace STAY word with &, if you don't want to make situation even worse ... | |
Pekr: 22-Sep-2009 | what are you talking about? You want to change the meaning-of, or replace | symbol? :-) | |
Pekr: 22-Sep-2009 | Today I posted more philosophical topic, and Carl noticed it - we ares shooting ourselves in the foot. Here's what I posted: ------------------- There will always be problem with dialects, if they contain the same keyword names as REBOL functions. So we have to somehow live with that. So the question is, where to introduce new name and why, just to be different, and where to not. E.g. parse 'copy keyword has already different semantics to REBOL's one, or VID's 'at has different semantics to REBOL's one. Now can users be confused? It depends. I try to think about each dialect in the context of the dialect itself - so the only measure for me actually is, when reading the source code (or trying to understand one's), how quickly I am able to understand, what is going on? But then we could as well replace 'stay by 'save-position, 'of by 'any-of, 'if by 'only-if, etc., which would imediatelly map the meaning to what the keywords are really doing. But we are somehow mysteriosly looking for one-word-only-mantra naming convention, and I suppose it is already our style, and we will not change it :-) ... so, the topic is a little bit more abstract - it is about contexts, and user/programmer switching between contexts, and his/her ease of understanding of the code. In above case, all 'if, 'check, 'either are OK, even if their semantics is a bit different to their REBOL counterparts. | |
Pekr: 29-Sep-2009 | why to replace anything later??? | |
BrianH: 29-Sep-2009 | The simulation I've been running of Carl isn't good enough to replace him, so forking isn't that effective :) | |
Pekr: 6-Oct-2009 | how can I replace inbuilt fontize by my own? Will it be rewritten(redefined) by the demo call? | |
shadwolf: 2-Dec-2009 | in php they do it like that function getHTML($page=False) { if (!$page) $page = $this->path; $contents = ""; $domain = (substr($this->domain, 0, 7) == "http://") ? substr($this->domain, 7) : $this->domain; if (@$fp = fsockopen($domain, $this->port, $this->errno, $this->errstr, 2)) { fputs($fp, "GET ".$page." HTTP/1.1\r\n". "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\r\n". "Accept: */*\r\n". "Host: ".$domain."\r\n\r\n"); $c = 0; while (!feof($fp) && $c <= 20) { $contents .= fgets($fp, 4096); $c++; } fclose ($fp); $this->encodeContent($contents); preg_match("/(Content-Type:)(.*)/i", $contents, $matches); if (count($matches) > 0) { $contentType = trim($matches[2]); preg_match("/(meta http-equiv=\"Content-Type\" content=\"(.*); charset=(.*)\")/iU", $contents, $matches); if (isset($matches[3])) { $this->setStreamEncoding($matches[3]); } if ($contentType == "text/html") { $this->isShoutcast = True; return $contents; } else { $this->isShoutcast = False; $htmlContent = substr($contents, 0, strpos($contents, "\r\n\r\n")); $dataStr = str_replace("\r", "\n", str_replace("\r\n", "\n", $contents)); $lines = explode("\n", $dataStr); foreach ($lines AS $line) { if ($dp = strpos($line, ":")) { $key = substr($line, 0, $dp); $value = trim(substr($line, ($dp+1))); if (preg_match("/genre/i", $key)) $this->nonShoutcastData['Stream Genre'] = $value; if (preg_match("/name/i", $key)) $this->nonShoutcastData['Stream Title'] = $value; if (preg_match("/url/i", $key)) $this->nonShoutcastData['Stream URL'] = $value; if (preg_match("/content-type/i", $key)) $this->nonShoutcastData['Content Type'] = $value; if (preg_match("/icy-br/i", $key)) $this->nonShoutcastData['Stream Status'] = "Stream is up at ".$value."kbps"; if (preg_match("/icy-notice2/i", $key)) { $this->nonShoutcastData['Server Status'] = "This is <span style=\"color: red;\">not</span> a Shoutcast server!"; if (preg_match("/ultravox/i", $value)) $this->nonShoutcastData['Server Status'] .= " But an <a href=\"http://ultravox.aol.com/\" target=\"_blank\">Ultravox</a> Server"; $this->altServer = $value; } } } return nl2br($htmlContent); } } else return $contents; } else { return False; } } | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Will: 23-Aug-2009 | I use apache2-MPM as a reverse proxy in front of Cheyenne for the same reasons (static serving, ssl), works flawlessly, but now is time to move to nginx. Looking at MacPorts variants for nginx, there are many options that I see interestings: root/trunk/build alpha% port variants nginx nginx has the variants: dav: Add WebDAV support to server flv: Add FLV (Flash Video) streaming support to server mail: Add IMAP4/POP3 mail proxy support ssl: Add SSL (HTTPS) support to the server, and also to the mail proxy if that is enabled status: Add /nginx_status support to the server perl5: Add perl support to the server directly within nginx and call perl via SSI realip: Using nginx as a backend addition: Append text to pages substitution: Replace text in pages gzip_static: Avoids compressing the same file each time it is requested google_perftools: Enable Google Performance Tools profiling for workers upload: Enable Valery Kholodkov's upload module (http://grid.net.ru/nginx/upload.en.html) universal: Build for multiple architectures | |
Pekr: 22-Sep-2009 | OK, but it can't replace Linux MTA generally, can it? I mean - installing Cheyenne with MTA can I replace the need for Sendmail for e.g. entirely? | |
Pekr: 15-Oct-2009 | yes, it was supposed to replace Rugby and/or R/Services :-) | |
Dockimbel: 3-Jan-2010 | To pass the c10k wall, we would need to replace the select( ) call by one of the other polling methods. That means changing the C network layer. | |
Davide: 3-Jan-2010 | I would like to replace the tcp http server with cheyenne. Now I'm using a modified hipe server by Maarten Koopmans, but it's not async, so some things are currently not possible | |
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 .... | |
Terry: 13-Jan-2010 | This works in answer to my last questions.. on-message: func [client data][ ;-- escape all html tags for security concerns data: copy data replace/all data "<" "<" replace/all data ">" ">" params: load copy data do-task/on-done data func [client data][ n: do load %test2.r broadcast out ] ] | |
Terry: 13-Jan-2010 | Here's a better version.. with basic error notification; on-message: func [client data][ ;-- escape all html tags for security concerns data: copy data replace/all data "<" "<" replace/all data ">" ">" params: load copy data do-task/on-done data func [client data][ if error? try[do load %test2.r][out: "alert('error with test2.r');"] broadcast out ] ] | |
Will: 14-Jan-2010 | Carl, good to hear you trying out Cheyenne 8-) now you know why we need threading in R3 to replace the worker processes. BTW, I see you are running version 0.9.19 which is a bit old, I really suggest you dowload latest SVN from here: svn checkout http://cheyenne-server.googlecode.com/svn/trunk/ I personally run it from source. W la Rebolution! | |
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. | |
Dockimbel: 9-Jul-2010 | Terry: just replace ws:// by http:// and test the URL from rebol console with a READ (from your server box) | |
Dockimbel: 11-Jul-2010 | AJAX will remain in use I guess, having a permanent connection is not always required and makes servers less scalable. Websockets will mainly replace all COMET tricks for server-side events. | |
NickA: 27-Jul-2010 | Endo, for the moment, use 4 spaces for tabs, and you're formatting will stay intact. I'll change the script to replace tabs with spaces. | |
Graham: 3-Aug-2010 | Found this in misc/service.r ; TBD: replace alert function by a call to MessageBox win32 API (would work with both Core&View) alert: func [msg /local svs][ svs: system/view/screen-face svs/pane: reduce [ make face [ offset: (system/view/screen-face/size - 200x50) / 2 size: 400x100 pane: make face [ size: 380x80 offset: 0x24 text: msg ] ] ] show svs open-events wait [] clear svs/pane show svs ] | |
Davide: 3-Sep-2010 | I've made a func to calculate the challengin code given the header request. It was in the "I'm new" section, but it works nicely, I'm using it very often, so it's well tested. ws-chall: funct [header [string!]] [ cnt: funct [k] [ n: copy "" ns: 0 repeat x k [ if all [x >= #"0" x <= #"9"][ append n x ] if x = #" " [ ns: ns + 1 ] ] if ns = 0 [ return none ] (to decimal! n) / ns ] int-2-char: funct [n [integer! decimal!]] [ ;n: to decimal! n head insert insert insert insert make string! 4 to char! n / 16777216 to char! (n // 16777216) / 65536 to char! (n // 65536) / 256 to char! n // 256 ] attempt [ t: parse/all replace/all header crlf lf "^/" l: copy [] repeat x t [if n: find x ":" [insert tail l reduce [copy/part x (index? n) - 1 next n]]] l: head l k1: next select l "Sec-WebSocket-Key1" k2: next select l "Sec-WebSocket-Key2" k3: next next find header "^/^/" aux1: cnt k1 aux2: cnt k2 ] if any [none? aux1 none? aux2 none? k3] [return ""] to-string checksum/method rejoin [int-2-char aux1 int-2-char aux2 k3] 'md5 ] | |
amacleod: 7-Jan-2011 | That worked. I get the alert but there is an error that "data" (my variable) is undefined. Can I use use the application/json header and if so what is the syntax...do I just replace the the "text/html" string? |
601 / 852 | 1 | 2 | 3 | 4 | 5 | 6 | [7] | 8 | 9 |