AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 169 |
r3wp | 938 |
total: | 1107 |
results window for this page: [start: 801 end: 900]
world-name: r3wp
Group: Core ... Discuss core issues [web-public] | ||
amacleod: 11-May-2010 | BrainH asked: Didn't know you could put the /compare index in a block. Can you specify more than one index? Sunanda says: Yes you can: sort/skip/compare s 4 [1 2 4 3] == [1 2 8 a 1 2 6 b 1 2 7 c] That's great but can you do that with a block of blocks of data.... example: s: [ [1 2 8 a] [1 2 6 b] [1 2 7 c]] ] | |
Terry: 17-May-2010 | ok, one last one for my rusty rebol FINDing the index of all occurences of an integer in a series ie: blk: [ 239 4545 23 655 23 656[ search for 23 and return [3 5] (not using foreach) | |
Terry: 17-May-2010 | There must be a way. An index is a symbol that represents some value. What I need is to add some metadata to that index, and make that searchable. | |
Terry: 17-May-2010 | the goal is a blazing key/value store that's as fast as pulling by index :) | |
Maxim: 17-May-2010 | I'm comparing to his feach, which was faster... but if I just returned the index, it would be faster still (no copy/part). | |
BrianH: 2-Jul-2010 | Henrik, can you post some code that will make a series reference that is past the end of a series? I'm having trouble making one that works consistently, and neither your INDEX? method or EMPTY? will work. REBGL keeps adjusting the index returned by INDEX?. | |
BrianH: 2-Jul-2010 | In R3 they stay consistent, and there is an action PAST? to tell whether an index is past the end. >> b: next a: "a" == "" >> remove a == "" >> index? b == 2 ; not adjusted >> past? b == true In R2 I don't even see how to write this in mezzanine without temporarily appending something on the end of the series (a single element will do) and seeing if the index adjusts, then removing what you appended. Like this: >> b: next next next a: "abc" == "" >> clear a == "" >> also (index? b) < (append b "1" index? b) clear back tail b == true ; past end >> b: "" == "" >> also (index? b) < (append b "1" index? b) clear back tail b == false ; not past end, but Henrik's method, and EMPTY? will both return true. | |
BrianH: 2-Jul-2010 | Here's the source to the backport: past?: func [ "Returns TRUE if a series index is past its tail." series [series!] ; gob! port! ][ also (index? :series) < (insert tail :series "1" index? :series) clear back tail :series ; Undo the modification ] ; Note: Native in R3, and non-modifying. No ports because you can't undo the ; insert. INDEX? doesn't stay consistent with past-tail references in R2. | |
BrianH: 2-Jul-2010 | You are also removing an element before the index, but not from the beginning. Apparently clearing from somewhere other then the beginning of the series breaks the auto-adjusting (which shouldn't be happening anyways). PAST? works the same either way. | |
Ladislav: 3-Jul-2010 | past?: func [ "Returns TRUE if a series index is past its tail." series [series! gob! port!] ][ (index? :series) = (index? back :series) ] ; Note: INDEX? doesn't stay consistent with past-tail references in R2. | |
Ladislav: 3-Jul-2010 | correction: past?: func [ "Returns TRUE if a series index is past its tail." series [series! gob! port!] ][ and~ not same? head? :series :series (index? :series) = (index? back :series) ] ; Note: INDEX? doesn't stay consistent with past-tail references in R2. | |
Ladislav: 3-Jul-2010 | Yet another variant: past?: func [ "Returns TRUE if a series index is past its tail." series [series! gob! port!] ][ and~ (index? :series) = (length? head :series) not same? tail? :series :series ] ; Note: INDEX? doesn't stay consistent with past-tail references in R2. | |
Ladislav: 3-Jul-2010 | past?: func [ "Returns TRUE if a series index is past its tail." series [series! gob! port!] ][ and~ (index? :series) = (length? head :series) not same? tail :series :series ] ; Note: INDEX? doesn't stay consistent with past-tail references in R2. | |
Ladislav: 3-Jul-2010 | Simplification: past?: func [ "Returns TRUE if a series index is past its tail." series [series! gob! port!] ][ not same? :series skip :series 0 ] ; Note: INDEX? doesn't stay consistent with past-tail references in R2. | |
BrianH: 3-Jul-2010 | But because of that, the PAST? function for R2 needs to work whether the index auto-adjusts or not. So before you submit another version, test it against past-tail references with auto-adjusting indexes. If it works then, it works. | |
Ladislav: 3-Jul-2010 | BTW, "returns true if a series index is past its tail" mixes different datatypes - series index is integer, while tail is a series, so, my opinion is, that the shorter wording is less misleading | |
Ladislav: 3-Jul-2010 | (comparing series index - an integer, to series tail - a series) | |
BrianH: 3-Jul-2010 | It's not misleading without the auto--adjustment. With the auto-adjustment a past-tail index will auto-adjust, which should be mentioned somehow. | |
Ladislav: 3-Jul-2010 | OK, nevermind, I do not want the text to be longer, a "series is past its tail" looks better to me, than any reference to series index | |
Ladislav: 3-Jul-2010 | , and it relates to the problem better, since in the case below: >> b == ** Script Error: Out of range or past end what is past tail is just the series not any "series index", which should be an integer value, and as such it cannot be "past tail" | |
Graham: 6-Jul-2010 | Is this a bug? >> o: construct [ a: true b: yes c: yes ] >> probe o make object! [ a: true b: 'yes c: 'yes ] http://www.rebolforum.com/index.cgi?f=printtopic&topicnumber=47&archiveflag=new | |
Maxim: 14-Jul-2010 | as usually, all datatypes would need to support this extended format, but since it would be managed directly within the native datatype handling it would be MUCH faster than if we tried to build some dialect for it in REBOL. especially since the native has much more direct access to things like same?, and internal states like series index. | |
BrianH: 14-Jul-2010 | Maxim, we can't extend the existing serialized form to represent everything in memory, because binding, cycles and DAGs aren't representable without some kind of reference index. So even rebin wouldn't do, we'd need something like RIF. | |
Graham: 19-Aug-2010 | In effect you've created an index | |
Gregg: 19-Aug-2010 | Or you can say I created an index and the query system with two function calls. | |
BrianH: 26-Aug-2010 | Here's the R2 version: extract: func [ "Extracts a value from a series at regular intervals." [catch] series [series!] width [integer!] "Size of each entry (the skip)" /index "Extract from an offset position" pos "The position" [number! logic! block!] /default "Use a default value instead of none" value "The value to use (will be called each time if a function)" /into "Insert into a buffer instead (returns position after insert)" output [series!] "The buffer series (modified)" /local len val ][ if zero? width [return any [output make series 0]] ; To avoid an infinite loop len: either positive? width [ ; Length to preallocate divide length? series width ; Forward loop, use length ][ divide index? series negate width ; Backward loop, use position ] unless index [pos: 1] either block? pos [ if empty? pos [return any [output make series 0]] ; Shortcut return parse pos [some [number! | logic! | set pos skip ( throw-error 'script 'expect-set reduce [[number! logic!] type? get/any 'pos] )]] unless into [output: make series len * length? pos] if all [not default any-string? output] [value: copy ""] ; R2 PARSE doesn't work well for binary!, so spoof a string!. if binary? series [series: as-string series] forskip series width [forall pos [ if none? set/any 'val pick series pos/1 [set/any 'val value] output: insert/only output get/any 'val ]] ][ unless into [output: make series len] if all [not default any-string? output] [value: copy ""] ; R2 PARSE doesn't work well for binary!, so spoof a string!. if binary? series [series: as-string series] forskip series width [ if none? set/any 'val pick series pos [set/any 'val value] output: insert/only output get/any 'val ] ] either into [output] [head output] ] | |
BrianH: 26-Aug-2010 | Here's the R3 version: extract: func [ "Extracts a value from a series at regular intervals." series [series!] width [integer!] "Size of each entry (the skip)" /index "Extract from an offset position" pos "The position(s)" [number! logic! block!] /default "Use a default value instead of none" value "The value to use (will be called each time if a function)" /into "Insert into a buffer instead (returns position after insert)" output [series!] "The buffer series (modified)" /local len val ][ ; Default value is "" for any-string! output if zero? width [return any [output make series 0]] ; To avoid an infinite loop len: either positive? width [ ; Length to preallocate divide length? series width ; Forward loop, use length ][ divide index? series negate width ; Backward loop, use position ] unless index [pos: 1] either block? pos [ unless parse pos [some [number! | logic!]] [cause-error 'Script 'invalid-arg reduce [pos]] unless output [output: make series len * length? pos] if all [not default any-string? output] [value: copy ""] forskip series width [forall pos [ if none? set/any 'val pick series pos/1 [set/any 'val value] output: insert/only output :val ]] ][ unless output [output: make series len] if all [not default any-string? output] [value: copy ""] forskip series width [ if none? set/any 'val pick series pos [set/any 'val value] output: insert/only output :val ] ] either into [output] [head output] ] | |
Anton: 18-Sep-2010 | My first thought was to introduce a new datatype (like a "lit-integer!" (eg. '1) or an "index-integer!" (eg. @1), but it still means there will exist a datatype which, in a path, does not SELECT like other types, but is interpreted as a direct index PICKer. So now I think there could be some "escape" path notation which changes the PICK-type functionality of integer path members into the SELECT type (which all the other datatypes have by default). eg. values/^1/dos/new <-- The ^ causes the path to consider the following integer 1 as a series member to be SELECTed like other datatypes, instead of the PICK special treatment. | |
Maxim: 21-Sep-2010 | why do you say blk/'1/is confusing? it means use the integer litterally, not as an index. | |
Maxim: 21-Sep-2010 | or should I say, not as an ordinal index | |
Maxim: 21-Sep-2010 | you guys didn't solve the "how do we use an integer as a key instead of an index" this is a GAPING hole in path evaluation. using integers isn't some fancy side datatype. we are not adding a new datatype, its not a complex system like using parens (which is also very slow) and it doesn't require advanced binding tricks. | |
Ladislav: 21-Sep-2010 | you guys didn't solve the "how do we use an integer as a key instead of an index" - you *can* use integer as a key without using it as an index, if you like. Nevertheless, the path-access does not work like that. You should either get used to it, or use a different access method, that is all. Anyway, you have got no right to call it a "GAPING hole in the path evaluation", taking into account, that it is by design. The fact, that your design preferences differ is irrelevant. | |
Maxim: 21-Sep-2010 | the path evaluation is responsible for what it does with any type. just like a parser. for path notation is only serves the purpose of identifying a label vs an index (in the case of integer results specifically) | |
Group: !REBOL3-OLD1 ... [web-public] | ||
BrianH: 29-Apr-2009 | move: make function! [[ "Move a value or span of values in a series." source [series!] "Source series" offset [integer!] "Offset to move by, or index to move to" /part "Move part of a series" length [integer!] "The length of the part to move" /skip "Treat the series as records of fixed size" size [integer!] "Size of each record" /to {Move to an index relative to the head of the series} ][ unless length [length: 1] if skip [ offset: offset * size: max 1 size length: length * size ] part: take/part source length insert either to [at head source offset] [ system/words/skip source offset ] part ]] | |
BrianH: 29-Apr-2009 | By the way, when you have 1-based indexing, 0 is a negative index :) | |
Maxim: 29-Apr-2009 | yep... not the best for the math in index calculations.... hehehe but much more human readable for code and human interaction, so I still prefer one indexing after 9 years... even if the techy in me sometimes lets out a little <sigh> in trying to get to the proper start/end of complex series extractions hehehe | |
BrianH: 29-Apr-2009 | Maxim, once you have 1-based indexing (which we are stuck with for historical reasons), then having 0 be negative *is* the best for math calculations. That way you can count on offset = index - base. | |
Maxim: 29-Apr-2009 | but functions like insert are a bit simpler to use with 0 based, since a length is used as the value past an item in a series not the last character in it. they both have advantages. but trying to explain to someone that an index of 0 moves backwards isn't very obvious to promote as a feature ;-) I'd have trouble justifying this to my kid which is learning to do math :-D | |
BrianH: 29-Apr-2009 | /skip is a length, not a index or an offset. I'm not sure what effect /skip past start should have. | |
Steeve: 6-May-2009 | So actually, vectors are only for storing index purpose (to save memory). Because Carl has only that need. Hum... He could use binary series instead, if it's his only one need. Vectors without maths are only binary streams with less capabilties. | |
Steeve: 6-May-2009 | i use bniaries to store large index since several years with R2 | |
BrianH: 14-May-2009 | Here's the R2-Forward version: first+: funco [ {Return FIRST of series, and increment the series index.} [catch] 'word [word! paren!] "Word must be a series." ; paren! added for R2 ][ ; Workaround for R3 change in lit-word! parameters with paren! arguments if paren? :word [set/any 'word do :word] throw-on-error [also pick get word 1 set word next get word] ] | |
Henrik: 24-May-2009 | there is a better way to write that request: AT should support block directly as index. | |
Paul: 24-May-2009 | But those are supposing you know the index length. I was hoping to avoid that with my request. | |
Steeve: 24-May-2009 | i think he wants AT working like COPY/PART (the index could be an integer or a serie aswell) | |
BrianH: 24-May-2009 | Well, if the index is a series offset, even a calculated one, then you can already have a reference to that offset without the AT. | |
Steeve: 28-May-2009 | If we don't have the "chaining" behavior with reduce/into, then we will lost some speed in loops (because of the need to update the index of the serie separatly after each iteration). | |
BrianH: 29-May-2009 | Or in my case archived and taken out of the index, Maxim :( | |
Will: 15-Jun-2009 | Here is a great example code using GrandCentral: "DispatchWebServer" from the description: "A web server that uses one queue per HTTP connection. Supports HTTP pipelining and on-the-fly compression. Also shows use of dispatch-style signal and vnode event handling." https://developer.apple.com/snowleopard/library/samplecode/DispatchWebServer/index.html (ADC account needed) Whoever is doing R3 on OS X, should have a look 8-) | |
Maxim: 30-Jun-2009 | as long as the index can be used as such. using an object for the index should raise an error. | |
Ladislav: 30-Jun-2009 | using an object for the index should raise an error - you mean e.g. poke 4 index, when the index is "out"? | |
Ladislav: 30-Jun-2009 | sorry, I mean poke block 4 index | |
BrianH: 30-Jun-2009 | Ladislav, my point was that if bounds matter, INDEX? *not* generating an error (or changing its results) for an out-of-bounds index *is itself an error*. If bounds don't matter (except apparently for POKE), then INDEX? not changing its behavior is fine. | |
Ladislav: 30-Jun-2009 | my experience tells: it is better to be able to find out what the value of INDEX actually is (even for debugging), than to obtain an error, which does not tell me where I actually am | |
Ladislav: 4-Jul-2009 | that depends on the quantity of marking bits, if you have only one marking bit, you can just detect cycle, if you have 32 bits, you can detect the index | |
BrianH: 4-Jul-2009 | Ladislav, the cyclic structures above are not the same structure, but the results would need to be considered EQUAL?. Unless we declare that cyclic structures need to have the same structure to be declared equal - then we can use a stack of ref/index for the structure detection. | |
Ladislav: 4-Jul-2009 | these index issues - there are simply too many variants of equality - the Equal-state? comparison is certainly unrelated to any of the currently proposed hierarchy levels | |
BrianH: 14-Aug-2009 | As for the JIT, I could write the compiler in REBOL and generate the intermediate code of the JIT, then pass that intermediate code to the JIT with a command. The JIT would then generate a function, add it to its list, and return the list index as an integer. That integer can be used to create a new command!, which RX_Call can dispatch to the internal JITed function. | |
Pekr: 28-Sep-2009 | 3:1 for current index based method to 'remove ... | |
Steeve: 28-Sep-2009 | Only to say i don't see the interest to have 'remove based on an index method. Because doing that: parse "..." [ here: "b" remove here ] Is nothing less than doing like currently: parse "..." [here: "b" (remove here)] I don't see any gain. Oh sorry, we don't have the ( ) Victory !!!! | |
Pekr: 29-Sep-2009 | What is the outcome of Steeve's proposals? Carl said something about inlining of REMOVE. Will it change from the index based aproach, which is now implemented? | |
Pekr: 29-Sep-2009 | Then let's have REMOVE 1, to make Steeve happy :-) He is right that index aproach still can work in terms of storing a position into variable and doing REBOL level remove in parens ... | |
shadwolf: 29-Sep-2009 | i like tht way to resume parse action car "Match then Action" then the problem is when you match somthing then you when your action not to impact on the match thing but on the following or preciding thing. The index system is the main problem in my opinion: where i am ? what does i store and until what point ? i'm before or after my match ? and if my match is not given in the right way how can i be sure my match tags are not taken inverted and that my action system will not freak out ? Programming in parse gives you so many "asks" to care about that you are fast lost. But i'm agree the result of parse rules in general once understoud (if it's any time the case ) is easy and beauty full. | |
shadwolf: 30-Sep-2009 | what i have real difficulties to figure out in parse is the index system... I have a problem to see where i'm and what my actions is doing. do i "store index match then action" or do i "match store then action" ? And if you add to that the sub rules i'm like completly lost. Cause in some cases sub rules can trigger their own particular special only for them actions ... | |
Steeve: 18-Oct-2009 | A serialized serie keeps his index, not bad -) | |
Henrik: 20-Oct-2009 | That could perhaps be useful. Generally there has been some level of index concurrency control with multiple series missing in R2, like being able to do a FORALL on multiple series simultaneously. I can't remember if R3 solves any of that, because it's been discussed quite a long time ago. | |
Geomol: 28-Oct-2009 | Maybe Cygwin could be a use as a console for REBOL under Windows? Libraries like this could be used then: http://www.astro.caltech.edu/~mcs/tecla/index.html I can't imagine a serious developer would be ok with the default Win console and no history and such. | |
Pavel: 2-Nov-2009 | Have Bitset! some limit? May it be used as bitmap index for some larger set? | |
Pavel: 3-Nov-2009 | Thanks for analysis Kcollins! Maxim the question was if Bitmap may be used as searchable bitmap index into dataset (key-value, index-value in this case) all this in searching of holly grail what is named RIF in Rebol :). The answer is yes if you would use max 16 M of indexes. The merit is using somehow compressed format. Oher info in Wikipedia bitmap indexes, or Fastbit database (database for very large datasets from particle colliders). | |
Jerry: 18-Nov-2009 | how can I remove an entry from a map! in R3? BTW, I use string! (not word!) as index here, so I cannot just say: my-map/my-word: none | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Janko: 22-Aug-2009 | SSL server { listen 127.0.0.1:443; server_name secure; access_log /var/log/nginx/secure.access.log; error_log /var/log/nginx/secure.error.log; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; location / { root /var/www/secure; index index.html index.htm; } } LOAD BALACER upstream python_servers { server 127.0.0.1:8001; server 127.0.0.1:8002; } server { listen 127.0.0.1:8000; server_name proxy; access_log /var/log/nginx/proxy.access.log; error_log /var/log/nginx/proxy.error.log; location / { proxy_pass http://python_servers; } } -- Both seem logical and if combining ssl + proxy (server part) them would work I would get what I need | |
Maxim: 15-Oct-2009 | pekr, why not just specify the index to be an rsp script instead? since it seems to be dynamic in the first place? | |
Dockimbel: 15-Oct-2009 | Pekr: that's in my todo list, I just need to find some free time to think more deeply about how to support such feature efficiently. Btw, I have built a XMLC (XML Compiler) engine inspired by enhydra (http://www.enhydra.org/tech/xmlc/index.html) which should fit perfectly your needs. It's a working prototype but need some significant work to be integrated within Cheyenne, so it's low priority for now. | |
Pavel: 22-Dec-2009 | Maxim your associative datasets are in memory or in disk, are you using any index or simply search thru dataset? | |
Kaj: 3-Jan-2010 | http://web.syllable.org/pages/index.html#id-2010-01-02-22-16 | |
Dockimbel: 10-Jan-2010 | ActionScript, which is Flex's programming language is now in #19 in Tiobe's index. | |
Terry: 11-Jan-2010 | http://webkit.org/demos/sticky-notes/index.html | |
Dockimbel: 16-Mar-2010 | I agree that #[...] really makes things easier and cleaner. Performance impact is not significant, the overhead is just a string! PICK in a block with a static index as argument (that's one of the nice advantage of compiling RSP scripts). OTOH, the SAY function has to do a hash table lookup to get the right index (so a tiny little bit slower than the literal form). | |
Endo: 14-Apr-2010 | is there any other configuration or something to use databases with cheyenne? I configured as it shown in web site but I always get the error: ##RSP Script Error: URL = / File = www/index.rsp ** Access Error : Invalid port spec: odbc://test2 ** Where: do-sql ** Near: [do-sql 'test2 "select * from table" __txt 62 ] my rsp site is: <% print do-sql 'test1 "select top 10 * from sec_log1" %> and the httpd.conf file: databases [ test1 mysql://[root-:-localhost]/test test2 odbc://test ] | |
Kaj: 9-May-2010 | --- unix.r.original 2010-05-09 03:22:33.000000000 +0200 +++ unix.r 2010-05-10 00:36:14.000000000 +0200 @@ -5,6 +5,8 @@ exists? libc: %libc.so.6 exists? libc: %/lib32/libc.so.6 exists? libc: %/lib/libc.so.6 + exists? libc: %/System/Index/lib/libc.so.6 ; GoboLinux package + exists? libc: %/system/index/framework/libraries/libc.so.6 ; Syllable exists? libc: %/lib/libc.so.5 ] libc: load/library libc | |
Janko: 1-Jul-2010 | http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_1:_Prepared_Statements_.28Parameterized_Queries.29 | |
Terry: 13-Jul-2010 | http://www.googlefight.com/index.php?lang=en_GB&word1=rebol&word2=less.js | |
Endo: 23-Jul-2010 | good site to test web sockets http://jwebsocket.org/index.htm | |
Endo: 26-Jul-2010 | I wrote a very simple ws client protocol, http://rebolforum.com/index.cgi?f=printtopic&topicnumber=47 | |
Graham: 2-Aug-2010 | so if I setup the subdomain to point to www.rebol.com/abc/index.html .. then that's what shows. I want it to display abc.rebol.com/index.html | |
Dockimbel: 19-Apr-2011 | You can, except you, I think only Philippe Legoff got that far :-) BTW, he wrote a few nice articles (french only) on Cheyenne usage: http://pl.legoff.free.fr/dotclear/rebol-fondation/index.php/?q=cheyenne | |
onetom: 10-May-2011 | btw, http://equi4.com/starkit/index.htmlis an encapping solution for tcl. i just accidentally saw it mentioned in a rebol blog entry: http://www.rebol.com/cgi-bin/blog.r?view=0375#comments :) | |
GrahamC: 14-May-2011 | This is a small editor with ajax support .. but probably no autosave http://remiya.com/htmlbox/index.php/12/demo/ajax-demo.html | |
Endo: 25-Jan-2012 | I have a problem with cheyenne-r0920-cmd.exe on Windows, when I comment database section in my http.cfg it works, when I uncomment it gives the following error in chey-pid-9036.log file: 25/1-17:58:14.625-## Error in [uniserve] : On-received call failed with error: make object! [ code: 515 type: 'access id: 'invalid-path arg1: "/E/cheyenne/www/centrex//index.rsp" arg2: none arg3: none near: [info? new [ req/in/target: form file if ext: find/last req/in/target dot [ req/in/ext: to word! ext req/handler: select service/handlers req/in/ext ] if not req/in/file [req/in/file: new] if d?: declined? req [return false] ]] where: 'throw-on-error ] ! note that there is double slash before index.rsp I don't know why. Error happens before I use any do-sql or something. Web page doesn't work at all. | |
Endo: 26-Jan-2012 | Doc: Same error with latest r173 version. I just put the databases block into webap block, didn't change anything in the testapp, webapp [ databases [ cdr odbc://sa:[qwe123-:-cdr] ] virtual-root "/testapp" root-dir %www/testapp/ auth "/testapp/login.rsp" ;debug ] error is: code: 515 type: 'access id: 'invalid-path arg1: {/E/cheyenne-sources/Cheyenne/www/testapp//index.rsp} Note that the double slash in arg1. | |
Endo: 26-Jan-2012 | Doc: I found where the bug is: It is in mod-fastcgi.r file line 65: new: rejoin [cfg/root-dir req/in/path file] cfg/root-dir: %www/testapp/ req/in/path: "/" file: %index.rsp new: %www/testapp//index.rsp | |
Group: Bounties offered ... Bounties on offer [Announce only] [web-public] | ||
TomBon: 4-Jul-2010 | Offered by: TomBon Task: Bindings for OpenDBX. Old R2 style (External Library Interface) or R3 Extension. http://www.linuxnetworks.de/doc/index.php/OpenDBX Amount: $250 Valid until: 18.07.2010 Terms: PayPal -------------------------------------------------------------------------------- Task: R3 - simplified DLL interface http://rebol.wik.is/Bounties/R3_-_simplified_DLL_interface Amount: $350 Valid until: 18.07.2010 Terms: PayPal | |
TomBon: 18-Feb-2011 | offered by: TomBon Task: R3 - Bindings for a KNNL - SOM (Self-organizing map) /Kohonen Network http://knnl.sourceforge.net/ API - http://knnl.sourceforge.net/html/index.html Further Readings: http://en.wikipedia.org/wiki/Self-organizing_map http://www.ifs.tuwien.ac.at/dm/somtoolbox/ http://accu.org/index.php/journals/1378 http://www.codeproject.com/KB/graphics/som.aspx Alternativ: Quick Tutorial on how to construct a SOM. Perhaps to create a modul directly in R3? http://www.ai-junkie.com/ann/som/som1.html Amount: $350 Valid until: 01.04.2011 Terms: PayPal | |
Group: !REBOL3 Schemes ... Implementors guide [web-public] | ||
BrianH: 6-Jan-2010 | Documentation in the code itself using comments, and you structure the code for human reading. To any programmer of a language that is designed for readability - like REBOL - reading the flow of the code is like reading a story. You can understand it immediately. Reading a literate programming document is like reading a manual though, so unless it has story or essay structure it will be difficult to understand. Reading the code generated by literate programming is like reading a stack of 3.5 index cards that were going to be used as research for a story or essay, but were instead just taped together at random. The overall structure of the code and every hint of the author's intentions are lost. | |
Steeve: 10-Jan-2010 | packet are append to port/data but the index is not moved | |
Graham: 10-Jan-2010 | so the index is used by ?? | |
Graham: 10-Jan-2010 | The details of the port actor for WRITE are: 1. Set port/data to WRITE content (binary string) value. (Mainly to keep it GC safe.) 2. Obtain binary string as specified. The buffer is not copied. This is a low level mechanism. 3. Determine start position from index. 4. Determine length from tail-index or from /part if specified. 5. Set IO-request length and data. Zero the actual field (the length actually transferred). 6. Call the TCP device with the IO-request 7. Check for errors 8. Check for immediate completion. If done, set port/data to NONE. | |
Graham: 24-Jan-2010 | Alas my index is worse than that for the r3 docs | |
Andreas: 29-Jan-2010 | RDI_NET is the index for the tcp port device | |
Pavel: 13-Aug-2010 | Rebol [ file: %prot-rif.r title: "RIF protocol" author: "Pavel" rights: 'PD date: 13-Aug-2010 ] ;; Local functions Append-RIF: func [port [port!] record [binary!] ][ write/append port/locals/2 to-binary length? head port/locals/1 ;index port the end of data file will be beginning of new record write/append port/locals/1 record ;data port new record into data file return shift length? head port/locals/2 -3 ;number of records 8 bytes per record ] Get-RIF: func [ port [port!] i [integer!] /local numentry indexpos recpos recend value ][ numentry: shift length? head port/locals/2 -3 ;number of records 8 bytes per record if any [i = 0 i > numentry] [return none] ;numbering starts at 1 ends at file end indexpos: multiply subtract i 1 8 ;compute index offset recpos: to-integer read/seek/part port/locals/2 indexpos 8 either ( (8 * i) = length? head port/locals/2 ) [ ;last record special case recend: length? head port/locals/1 ][ recend: to-integer read/seek/part port/locals/2 add indexpos 8 8 ;internal record ] return read/seek/part port/locals/1 recpos subtract recend recpos ] ;; Scheme definition make-scheme [ name: 'rif title: "RIF Protocol" spec: make system/standard/port-spec-head [] awake: none actor: [ open: func [port [port!] /local path ] [ parse port/spec/ref [thru #":" 0 2 #"/" path:] append port/spec compose [path: (to-file path)] port/locals: copy [] either (0 = length? port/locals) [ append port/locals open/seek rejoin [port/spec/path ".dat"] append port/locals open/seek rejoin [port/spec/path ".idx"] ][ port/locals/1 open/seek rejoin [port/spec/path ".dat"] port/locals/2 open/seek rejoin [port/spec/path ".idx"] ] return port ] close: func [port [port!]] [ foreach port port/locals [close port] ] read: func [port [port!] /seek number [integer!] ] [ Get-RIF port number ] write: func [port [port!] record [binary!]] [ Append-RIF port record ] ] ] |
801 / 1107 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | [9] | 10 | 11 | 12 |