AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 4382 |
r3wp | 44224 |
total: | 48606 |
results window for this page: [start: 2501 end: 2600]
world-name: r4wp
Group: Rebol School ... REBOL School [web-public] | ||
Endo: 25-Apr-2013 | By the way, here is my sandbox function which allows only print, * and + words safe-words: [print * +] sandbox: func [b [block!]] [use difference safe-words first system/words b] >> sandbox [print 3 * 4] 12 >> sandbox [print read %test.r] ** Script Error: read has no value | |
MikeL: 2-May-2013 | HELP ANY gives Evaluates and returns the first value that is not FALSE or NONE. | |
Gregg: 2-May-2013 | Patrick, just do this in the console and see what you get: any ["quit" "q"] | |
Gregg: 2-May-2013 | So it evaluates each value in the block you give it, and as soon as it hits a value that is not false or none, it returns that value. So, in your case, it will always return "quit". | |
PatrickP61: 2-May-2013 | My goal is to simply stay in a loop, accepting all valid rebol commands until I quit the loop For example, I've defined some variables to script names, and so when I enter the variable, it should DO those names, until quit | |
Gregg: 2-May-2013 | And for the case of q and quit, and maybe others, you want to see if they command is in a set of commands you want to process in a special way, correct? | |
Gregg: 2-May-2013 | That is, you want to see if you FIND the command in a set of known commands and act accordingly. | |
PatrickP61: 2-May-2013 | not really, it's just a quick shortcut to allow any REBOL command to be performed while it is in a script that is already executing. ...doing stuff... stopping here to accept various rebol commands and looping until finished ...doing the rest of the script | |
PatrickP61: 2-May-2013 | Its a way to "pause" a running script to enter rebol commands and then when I'm done, get out of the loop and continue with the rest of the script | |
Gregg: 2-May-2013 | Right, so you ask for the command, see if it's a command to exit your loop (q or quit) and DO it if not, correct? | |
Gregg: 2-May-2013 | And it will, which is not what you want. | |
Gregg: 2-May-2013 | So start with that, and then add the handling for your special commands. | |
Gregg: 2-May-2013 | And what about an empty command? | |
Gregg: 2-May-2013 | What version of REBOL, and what OS? It works as expected here on Win7. | |
Gregg: 2-May-2013 | So I would still hold the result of ASK in a temp var, rather than DOing it directly and relying on the bug's behavior. | |
Gregg: 2-May-2013 | i.e., get the command, check if it's special and, if not, DO it. | |
Endo: 4-May-2013 | May be we should create a "R3 School" and rename this group to "R2 School"? So we do not have to ask for version for every question asked in this group. What do you think? | |
PatrickP61: 7-May-2013 | In R3, I want to be able to request a specific directory quickly and easily. The easiest way I've found is to use REQUEST-FILE since it allows the user to quickly "navigate to" the desired directory. Thing is, it requires the user to pick an existing file , even though I don't care about the file itself. In most cases, this is fine since the user can pick any one of the files, but in cases where a directory is empty of a file, I have a problem. example code: request-file/file to-file join "/" second parse what-dir "/" <-- I use this to default the directory at the highest level is ie %/c Is there a better way to do this in R3? | |
PatrickP61: 7-May-2013 | I'm using 2.100.111 and no REQUEST-DIR, unless it was added in a later version | |
PatrickP61: 7-May-2013 | I am trying to troubleshoot a peculiarity in R3 2.101.0 from Saphirion >> print type? what-dir file! <-- Ok, it's a file, even if has an end slash instead of a specific file path >> print type? request-dir ; select any directory file! <-- Ok, Same thing So it stands to reason that passing the value returned by WHAT-DIR and by REQUEST-DIR will be FILE! | |
PatrickP61: 7-May-2013 | So here is my code that is giving me some trouble: file-list: [] read-dir: func [ dir [file! ] ] [ foreach file read dir [ file: either dir = %./ [file] [dir/:file] append file-list file if dir? file [ read-dir file ] ] ] inp-dir: request-dir/path what-dir unless inp-dir [ask ">>> No directory selected, cannot proceed (Enter)" quit ] cd :inp-dir read-dir inp-dir ; <-- does not work as expected, must use cd and what-dir instead ;read-dir what-dir new-line/all file-list on print mold file-list | |
PatrickP61: 7-May-2013 | If you comment out the READ-DIR INP-DIR and uncomment the next line, it works fine! What am I missing? Another bug? | |
Andreas: 8-May-2013 | The underlying problem indeed is related to a bug in R3. Both directories and files are represented by file! in R3. R3 uses a heuristic that a trailing slash discernes file file!s from directory file!s. Now when you pass a file! without a trailing slash but which actually refers to a directory to READ, READ crashes. (Bug#1675) | |
PatrickP61: 8-May-2013 | Back again. Thank you Andreas, I had realized that FILE! was used for both directory and files, but I didn't realize that REQUEST-DIR was NOT sending it back as a directory, but as a file (without trailing slash). I was able to confirm by adding a print of WHAT-DIR and INP-DIR and compare, as per your comments. I did not know about DIRIZE Using READ DIRIZE INP-DIR does fix the problem -- though I wonder if REQUEST-DIR should return it with a trailing slash? Thanks again to all! | |
PatrickP61: 8-May-2013 | Hey all, I'm having such a good time learning again! I've got some code to generate a print ruler, but I think it could be cleaned up a lot more. If some of you have a quick moment, could you take a quick look and advise me on how to shorten this code. ruler1: copy ruler2: "" idx: 0 loop 110 [ idx: idx + 1 append ruler1 "_" append ruler2 last-digit: last to-string idx if last-digit = #"5" [ clear back tail ruler1 append ruler1 "+" ] if last-digit = #"0" [ either idx < 99 [clear back back tail ruler1] [clear back back back tail ruler1] append ruler1 to-string idx ] ] replace/all ruler2 "0" "_" print ruler1 print ruler2 ____+___10____+___20____+___30____+___40____+___50____+___60____+___70____+___80____+___90____+__100____+__110 123456789_123456789_123456789_123456789_123456789_ 123456789_123456789_ 123456789_123456789_ 123456789_123456789_ | |
PatrickP61: 8-May-2013 | I don't like the BACK BACK ... etc, depening upon the length of IDX which is what I want to print out Can I do something like LENGTH? IDX and use that number to "back up the series"? | |
PatrickP61: 8-May-2013 | How can I use the LENGTH? of IDX as a way to CLEAR those last positions. ie IDX is 110, length is 3 then clear the last 3 characters from the ruler1 series and replace with to-string idx | |
Bo: 8-May-2013 | >> help copy USAGE: COPY value /part range /deep So, copy/part takes two parameters: (1) the start index, and (2) the range If you rewrite the copy/part like I did below, it is much easier to see how it is split up: copy/part tail form idx ;parameter 1 -1 ;parameter 2 | |
Bo: 8-May-2013 | I'm glad we don't have to use the Lisp method or the heirarchical method, but it is nice that we can, especially when we are starting out. I usually only use the heirarchical method when I am trying to understand and visualize someone else's really complex scripting. I'll use the Lisp method when I am getting an error that I have narrowed down to a small snippet of code, and I can't figure out why the error is occurring. I also throw in a lot of 'probe statements to see what's really going on. | |
PatrickP61: 9-May-2013 | Thank you Bo, Ladislav, and Gregg -- I'll use all your suggestions :-) | |
Ladislav: 10-May-2013 | ... and for the same reason I would do r1: skip ruler-1 9 ; HEAD unnecessary | |
Reichart: 12-May-2013 | LOL, I was just posting a rant on FB that can be summed up as "if you do it over and over again, make a BLOODY shortcut". | |
PatrickP61: 14-May-2013 | Ladislav, Excellent notes!!! For whatever reason, (old coding habits I guess) I started with defining the object RULER-1 and then manipulating it. I now see what you are saying about using the INSERT/DUP. As to notes about HEAD, I realize now that I confused INSERT and APPEND, (thinking it inserts at tail, when it doesn't. I welcome any and all comments to help me get out of my paradigm!! | |
Ladislav: 14-May-2013 | As to notes about HEAD, I realize now that I confused INSERT and APPEND - APPEND used in a similar way as above would not need HEAD either | |
Ladislav: 14-May-2013 | To illustrate this further, let's consider a trivial example: a: 1 b: 2 add a b ; == 2 You can examine A and B now and see that the ADD function did not change A or B, but it returned 2 (another value). Similarly, INSERT does modify the argument series, but not its index, however it returns a series with a different index. | |
DideC: 15-May-2013 | find/reverse and find/last are somewhat identical but not from the same point of start. So you have to use one XOR the other. | |
Ladislav: 15-May-2013 | Your example should be == 3" I guess?" - actually, I had a: 1 and b: 1 originally, and I somehow "managed" to change B to 2 :-( | |
Geomol: 23-May-2013 | If I remember correctly, you can't go 1 to 1 from xml to object. You can to block. I've only used my xml2rebxml.r, which produces a block. You could work from there, pull out the elements, you need, and produce an object. http://www.rebol.org/view-script.r?script=xml2rebxml.r | |
Maxim: 27-May-2013 | for sure, you want stuff to be tag pair aligned so you can easily loop through it... though I don't know why he uses the file type to mark tag content. probably just to differentiate it from attribute and tags | |
Gregg: 28-May-2013 | parse-int-values: func [ "Parses and returns integer values, each <n> chars long in a string." input [any-string!] spec [block!] "Dialected block of commands: <n>, skip <n>, done, char, or string" /local gen'd-rules ; generated rules result ; what we return to the caller emit emit-data-rule emit-skip-rule emit-literal-rule emit-data digit= n= literal= int-rule= skip-rule= literal-rule= done= build-rule= data-rule skip-rule ][ ; This is where we put the rules we build; our gernated parse rules. gen'd-rules: copy [] ; This is where we put the integer results result: copy [] ; helper functions emit: func [rule n] [append gen'd-rules replace copy rule 'n n] emit-data-rule: func [n] [emit data-rule n] emit-skip-rule: func [n] [emit skip-rule n] emit-literal-rule: func [value] [append gen'd-rules value] emit-data: does [append result to integer! =chars] ; Rule templates; used to generate rules ;data-rule: [copy =chars n digit= (append result to integer! =chars)] data-rule: [copy =chars n digit= (emit-data)] skip-rule: [n skip] ; helper parse rules digit=: charset [#"0" - #"9"] n=: [set n integer!] literal=: [set lit-val [char! | any-string!]] ; Rule generation helper parse rules int-rule=: [n= (emit-data-rule n)] skip-rule=: ['skip n= (emit-skip-rule n)] literal-rule=: [literal= (emit-literal-rule lit-val)] done=: ['done (append gen'd-rules [to end])] ; This generates the parse rules used against the input build-rule=: [some [skip-rule= | int-rule= | literal-rule=] opt done=] ; We parse the spec they give us, and use that to generate the ; parse rules used against the actual input. If the spec parse ; fails, we return none (maybe we should throw an error though); ; if the data parse fails, we return false; otherwise they get ; back a block of integers. Have to decide what to do if they ; give us negative numbers as well. either parse spec build-rule= [ either parse input gen'd-rules [result] [false] ] [none] ] | |
Sujoy: 7-Jun-2013 | this is on r3 am trying to do a simple read http://google.com and get Access error: protocol error: "Redirect to other host - requires custom handling." how do i custom handle? | |
GrahamC: 7-Jun-2013 | Basically the http protocol sees a redirect eg. from http:// google to https google and complains. | |
Sujoy: 7-Jun-2013 | and i can curl http://google.comfine | |
GrahamC: 7-Jun-2013 | Guess have to ask Kaj then ... I tried this before and worked fine for me | |
Kees: 17-Jul-2013 | Question about an example from the R3 docs: str: "abcdef" end: find str "d" for s str end 1 [print s] abcdef bcdef cdef def find finds the d at position 4, if I replace end with 4, I get the same result. However: type? end says string! and no pointer If I replace the text in str, end still equals to "def", so it does not point at str any more. Can someone explane this? | |
Pekr: 17-Jul-2013 | 'find returns the string at certain position, just print 'end, and you will obtain "def" | |
Pekr: 17-Jul-2013 | hmm, I just tried for i 1 str 1, and it screams ... but maybe if given the same type, a string for e.g., maybe it takes their index value? | |
DideC: 17-Jul-2013 | so 'str and 'end just hold different position in a unique string! | |
Pekr: 17-Jul-2013 | Kees - beware - rebol series concept needs really carefull aproach - it caused me a headache when working with series, till I became accustomed to it. And still, sometimes, I use trial and error aproach in console ... | |
DideC: 17-Jul-2013 | If I replace the text in str, end still equals to def", so it does not point at str any more." How do you replace the text in 'str ? If it's like this: str: "new text" then you have created a new string! in memory and point 'str to this new serie. 'str and 'end does not point anymore the same string! | |
Pekr: 17-Jul-2013 | Kees: there are 'replace and 'change functions .... | |
Janko: 18-Jul-2013 | I assume rebol doesn't have "Labeled Timezon => current offset" capability so I am wondering if anybody had to do this and what (s)he found the best solution was? I see two ways, using external service in a lang that has such database/library (like php's ) or using the OS below (from bash) "TZ=":Pacific/Auckland" ; date +%z" ... also is there anything still I can do inside rebol, like getting some prefilled sqlite db using some lib I don't know of.. | |
Gregg: 18-Jul-2013 | QTask may have solved this, and the source should be available somewhere. It might have been Bolek that worked on it, but I can't remember. | |
Janko: 20-Jul-2013 | Thanks Gabriele, I found by googling that mysql can have timezone database installed and has the functions to handle it then. http://stackoverflow.com/questions/805538/in-mysql-caculating-offset-for-a-time-zone (the second answer, with a link of how to install if anyone else will be looking) | |
Gerard: 27-Jul-2013 | I always found I was missing some foundation about this Rebol's behaviour. I have to note it elsewhere in my own documentation system as to be able to report it someday when I'll be publishing some formal learning material about Rebol, Red and other Rebol-inspired languages. Thanks. | |
Kaj: 28-Jul-2013 | It seems to depend on the R3 version and the Linux system | |
caelum: 2-Aug-2013 | When R3 was open sourced, I presume the SDK was not also open sourced? I am looking for the 'C' source code for the RSA, AES and Blowfish encryption functions. | |
Group: Databases ... group to discuss various database issues and drivers [web-public] | ||
Andreas: 16-Nov-2012 | i suggest to get the html+cgi echoing working first, then getting a minimal script that inserts a value into your database working, and then putting the two pieces together by extending your "echo" cgi to insert into the database | |
TomBon: 16-Nov-2012 | checking for proper values and a corerct sql syntax should be always done even when parameterized. | |
BrianH: 16-Nov-2012 | Nice to hear, TomBon. Nonetheless, such checking is exactly what parameterized queries do, and I often have to fix errors made by other developers who don't use them. Plus, parameterized queries are a lot quicker on most databases because the query plan gets cached. | |
afsanehsamim: 16-Nov-2012 | thank you TomBon and BrianH | |
BrianH: 16-Nov-2012 | With parameterized queries (even in REBOL) the SQL and the parameters are sent separately and combined in the server. The query plan is generated only once per query, with the parameter placeholders being in the plan. Then the actual parameters are plugged into the plan. The next time the parameterized query is called (maybe with differe3nt parameter values) the same plan is used and the new parameter values are plugged in. | |
BrianH: 16-Nov-2012 | If you build a query dynamically with rejoin or something, the query is put together client side and then the server has to generate a new query plan for each distinct set of parameter values. This takes time and blows the query plan cache, which slows down the whole query process. | |
BrianH: 16-Nov-2012 | For new developers ad-hoc parameter screening is even more likely to be bad (and most that don't use parameterized queries are still new, no matter how long they've been programming, because parameterized queries are almost always inherently better). Even if it wasn't a safety issue, they're a lot faster. | |
TomBon: 17-Nov-2012 | you have more than one solution, the first is a simple serial SELECT on each table -> compare the output for equal. of course this produce unnecessary DB overhead but I guess you won't feel any speed difference except you are serving a whole city concurrently. another, better one is a JOIN or UNION. SELECT table_name1.column_name(s), ... FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name the JOIN direction (LEFT,RIGHT,INNER) for your reference table is important here. the resultset is a table containing BOTH columns. if both having a value -> match, if one is empty then you don't. index both fields to accelerate the query and use something like the free SQLyog to test different queries to make debugging easier for you. while you situation reminds me to myself, sitting infront of a monochrom asthon tate dot some decades ago and asking what next?, you should 'bite' yourself now thru the rest. It won't help you on longterm if you don't. | |
afsanehsamim: 17-Nov-2012 | @TomBon: my query for joining two tables is :insert db["select * from data LEFT JOIN data1 ON data.oneone=data1.oneone"] and output is :[ ["c" "a" "t" "a" "e" "r" "o" "a" none none none none none none none none] ] plz tell me what should i write in query that i get values instead of none in output ? | |
afsanehsamim: 17-Nov-2012 | guys when i enter correct value in form the above join query works properly... i need help for writing queries which other condition,it means if user enter wrong value ,it joins with first table but dose comparing indicidually and shows error message. | |
afsanehsamim: 17-Nov-2012 | now how can i write query for everyvalues which are same and print correct message on web page? | |
TomBon: 11-Dec-2012 | a quick update on elasticsearch. Currently I have reached 2TB datasize (~85M documents) on a single node. Queries now starting to slow down but the system is very stable even under heavy load. While queries in average took between 50-250ms against a dataset around 1TB the same queries are now in a range between 900-1500 ms. The average allocated java heap is around 9GB which is nearly 100% of the max heap size by a 15 shards and 0 replicas setting. elasticsearch looks like a very good candidate for handling big data with a need for 'near realtime' analysis. Classical RDBMS like mysql and postgresql where grilled at around 150-500GB. Another tested candidate was MongoDB which was great too but since it stores all metadata and fields uncompressed the waste of diskspace was ridiculous high. Furthermore query execution times differs unexpectable without any known reason by factor 3. Tokyo Cabinet started fine but around 1TB I have noticed file integrity problems which leads into endless restoring/repairing procedures. Adding sharding logic by coding an additional layer wasn't very motivating but could solve this issue. Within the next six months the datasize should reached the 100TB mark. Would be interesting to see how elasticsearch will scale and how many nodes are nessesary to handle this efficiently. | |
TomBon: 12-Dec-2012 | crawled html/mime embedded documents/images etc. as plain compressed source (avg. 25kb) and 14 searchable metafields (ngram) to train different NN types for pattern recognition. | |
Scot: 15-Jan-2013 | I use the sql dialect like this: sql [select count [ID title post date] from archive group by [ID title post] where [find post "t"]] The trick with this particular query is the that the "count" selector must have exactly one more column than the "group by" selector. The first three elements [ID title post] are used to sort the output and the last element [date] is counted. output will be organized: ID title post count | |
Scot: 15-Jan-2013 | I would also like to query the results of a query, which I haven't figured out how to do so without creating and committing a new database. So I have used a parse grammar to merge two queries. | |
Endo: 26-Jun-2013 | I cannot see any announcement on the sqlite.org web site? SQLite 3.7.17 is the latest and recommended version? | |
Group: !R3 Building and Porting ... [web-public] | ||
BrianH: 18-Dec-2012 | For discussion and debugging of the process of building R3 (in the compiler sense, not the development sense). Also, the same for porting R3 to new platforms, since getting the core to build on the platform is the first step of that. | |
BrianH: 18-Dec-2012 | If you have a request that R3 be ported to another platform, here's the place for it. You might want to keep in mind that iOS and Android have their own groups, but if you just want to get it to compile on their respective SDKs then this is the place :) | |
NickA: 18-Dec-2012 | Android and iOS. How much of a bounty do I need to offer for R3 with GUI on Android? | |
NickA: 18-Dec-2012 | Yes it is. And worth it. | |
Pekr: 19-Dec-2012 | NickA: during my private talks to Cyphre, he told me that if he would aproach the View engine nowadays, he would abstract it a bit, so that it could use various rendering backends - AGG, Cairo, so that where platform permits, it could be HW accelerated. But - such project would take some time, and Cyphre would have to be sponsored, in order to be able to do the work. I think, that it could be even written in a way, so that both R3 and Red benefit. But who knows ... As for Red - no party is willing to port View engine, yet :-) Doc wants to aproach it other way - to use something like VID dialect, but final toolkit used would be the native platform one. Kaj did some example with Red/System + GTK, if I understand it correctly. I still think that even for Red, something like small View engine would be benefical, e.g. for embedded work, where non traditional graphics is not a problem. Dunno, how difficult would it be to get View sources adapted to Red/System. Red is missing on timers, events, etc., so maybe later, so that it can be naturally plugged in to its architecture ... | |
NickA: 19-Dec-2012 | Thanks Pekr. I spoke with Cyphre too - waiting to here if he's interested in being sponsored, and how much it would cost to make Android a priority. | |
BrianH: 19-Dec-2012 | Has anyone tried compiling R3 for ARM Linux? This affects RPi, Android, and misc. micro-servers. | |
BrianH: 19-Dec-2012 | I suppose that compiling for ARM depends on the particular ARM platform and instruction set. | |
Oldes: 19-Dec-2012 | With HRD comes higher performant GPUs but I'm not sure how CPU scales. Look at Adobe, they are almost dropping support for classic display list (rendered on CPU) and forcing everybody to use their Stage3D which uses GPU. It's not easy move as there is almost no tooling yet, but it's a must. CPU is not able to process so many pixels with the new screens (with high frame rate). I don't say we should drop AGG support, just that there must come GPU support using OpenGL/DirectX and let the AGG to do high quality rendering of assets. | |
Bo: 21-Dec-2012 | Actually, Oldes, that's a great idea! R3's new GUI could be built to utilize OpenGL by default. That way, the GPU would handle all the graphics calls, and R3 would have 3D capabilities built-in as a bonus! This would probably even make porting to Android and other platforms a lot easier. In fact, doesn't IOS (iPhone) use OpenGL? | |
Cyphre: 21-Dec-2012 | The problem of OpenGL is it is great for rendering bitmaps etc. that can be used in 'crossplatform' way and I'd like to make such frontend for R3.... But if you want to implement something like DRAW in OpenGLyou are getting into troubles. To do it properly you would need to use GL shader fragments. | |
Cyphre: 21-Dec-2012 | Ofcourse if you want to create classical 3d game from textured polygons, shaders etc. that's the area where OpenGL excells (and the developement was mainly focused) | |
Cyphre: 21-Dec-2012 | I believe the Android porting effort will show us what is the optimal solution. It is good to find a balance between highly optimized but not much compatible HW engine and smoething that is fast enough and can be ported without big pain. | |
Bo: 21-Dec-2012 | Just think, though, if OpenGL was the default renderer for graphics in R3, you could create a flat surface for a 2D screen, but during the same session, you could create another flat surface for another 2D screen at a 90% Z-axis orientation to the first, and then rotate from the first 2D screen to the next 2D screen in a fluid 3D way. | |
Oldes: 21-Dec-2012 | I don't say you should use OpenGL for DRAW. There is no drawing api in Stage3D as well. I was proposing to use AGG to draw to bitmap with the best possible quality and let the HW do what it's made for.. to move pixels around. Bo understands it. That's actually how are modern apps made to have 60fps. To make animations just in AGG will not work (and honestly never worked). But maybe I'm too involved in animations and for many people would be enough to have static content. But that is not for future. | |
Cyphre: 21-Dec-2012 | Oldes, I don't argue with you and Bo about that. I think we all know the state of this technology. I've already did several prototypes of such "engine" so I have some ideas how this could be done for R3 it's just matter of prioritizing&time&resources. I wrote about the drawing apis just so other people know OpenGL is not any Messiah if you want to do hi-quality 2d vector graphics in realtime. I'm not against HW acceleration at all. It's just not easy topic in this non-ideal programming world as you pointed out. I see the solution with good high quality rasterizer + HW accelerated compositing engine. That should be flexible setup at least IMHO. Plus this way also we got the classic 3d api for free. | |
Cyphre: 21-Dec-2012 | Bo, I even tried to HW accelerate the AGG renderer code so it is completely using OpenGL...works well and you can use draw directly inside the OpenGL context mixed with 2d surfaces or 3d objects...lot of fun. But still , lot of stuff is still computed on CPU that way. Nevertheless its still better that fully SW based renderer. | |
Bo: 21-Dec-2012 | What do you think is the best roadmap for the graphics engine in R3 right now? Simply port VID to R3 to start, and then in R3v2 change out the graphics engine with hardware-based code? | |
Arnold: 21-Dec-2012 | There are plenty of possibilities here. Either port VID and have to deal with it's flaws and the history with it or go the path of the RebGUI or redo VID I have read somewhere that Carl expected someone to come up with something better than VID. I like VID yet it has its oddities, like when positioning elements using 'at. It could be improved in some of its behaviours, if you import it you may be hindered by this aspect, and it may get harder than restarting with a restricted base set of widgets. | |
Bo: 21-Dec-2012 | I don't think we're really out of topic here as the graphics stuff pertains to porting to different platforms, but if you wish, we could move this to the View/VID group. When Carl was developing VID, he clearly expected that VID would not become the de-facto standard for Rebol graphics. The face engine was the de-facto standard, and VID was simply one of what he expected to be several dialects for the face engine. There were a few others, like GLASS, that came about. | |
Cyphre: 21-Dec-2012 | Bo, I think if we don't make drastic changes to the GOB mechanism we should be safe when building anything on top of the GOB datatype. The gob! is in fact abstraction layer between the "VIew engine" and any "GUI framework" written in REBOL. So as take this example: We have now R3GUI framework which runs quite well on the current View engine (although this engine was build in 2 weeks during the very early R3 alpha work so it's kind of Q&D prototype ;)) (BTW should I mention the R3GUI is much better than R2 VID?) Anyway, the R3GUI works on current View engine. When I tried to change the engine so it uses OpenGL accelerated AGG the R3GUI still worked without any problem (except visual bugs caused by incomplete OpenGL code implementation of the new prototype). SO from that example you can see the "View engine" and "GUI framework" are two independent things and can be developed or even exchanged separately. | |
Cyphre: 21-Dec-2012 | From the "design architecture" POV we should focus on stabilizing the GOB abstraction mechanism and DRAW/TEXT/EFFECT dialects syntaxes. If these layers are fine-tuned you have great base that allows us make experiments at the low-level graphics and also as well at the high-level GUI abstraction layer. | |
Cyphre: 21-Dec-2012 | So to sum up my thoughts: -anyone can even now start working on it's own great GUI dialect for R3, or contribute and enhance to already existing R3GUI (latest version will be published soon) -anyone can create own great low-level graphic engine for XY platform or just one native binding for specific os -work of these people won't be useless if they stuck to the current gob! datatype Ofcourse we can do slight changes to the gob!s or draw dialect as well but these should be always easy to incorporate in already existing code that relies on them | |
Andreas: 21-Dec-2012 | Bo: R3GUI depends on the R3 View engine, which is currently only publicly available for Win32 (and that only as part of the former host kit releases, not yet integrated with the open source R3). An Amiga port of R3/View reportedly also exists, but I don't know about its state. | |
Robert: 25-Dec-2012 | Has anyone tried to compile in 64bit mode and dived into the problematic areas already? | |
LiH: 5-Jan-2013 | Hi, I'm reading the REBOL3's source codes, and I don't know It's a typo or not: in this file https://github.com/rebol/r3/blob/master/src/include/reb-c.h at line 61, about defining the uint type, It seems #ifdef DEF_UINT was not correct. Maybe #ifndef DEF_UINT ? | |
VincentE: 13-Jan-2013 | As I'm updating my old scripts on rebol.org, I'm trying to understand the problems with compress/gzip & decompress/gzip , and found at least one issue in u-zlib.c . When compressing, as the checksum method is assumed to be adler32 for most of the code, stream->adler (the current checksum) is wrongly initialized to 1 in two places, giving an off-by-one checksum in the output and making it unusable for decompress/gzip. Still no clue for what yields the ** Script error: value out of range: none error and why calling compress "" seems to fix this problem sometimes.It seems that something isn't correctly resetted between calls. |
2501 / 48606 | 1 | 2 | 3 | 4 | 5 | ... | 24 | 25 | [26] | 27 | 28 | ... | 483 | 484 | 485 | 486 | 487 |