• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp58
r3wp358
total:416

results window for this page: [start: 1 end: 100]

world-name: r4wp

Group: #Red ... Red language group [web-public]
Andreas:
25-Feb-2012
in that doc, it's not describing the stack for main() but the stack 
layout as setup for the entry point ("_start")
DocKimbel:
12-Mar-2012
I will make a blog entry later today to give more details.
DocKimbel:
23-May-2012
Pekr: I will write a blog entry that will give more details once 
I publish the new commits.
DocKimbel:
14-Jun-2012
I remember that Andreas should have made an entry in the bugtracker 
to describe a semantic issue with callbacks that could lead to crashes 
if the programmer was not very careful, but I can't find it. I guess 
I should dig out my IRC logs.
Pekr:
23-Aug-2012
Entry Point RAW: 	Invalid or not in CODE section (possible Encrypted 
or Compress Executable)
Pekr:
23-Aug-2012
I checked four additional DLLs, and the tool reports for all of them:

Entry Point RVA: 	00001000h
Entry Point RAW: 	00000400h

temp.dll is however:

Entry Point RVA: 	00000000h

Entry Point RAW: 	Invalid or not in CODE section (possible Encrypted 
or Compress Executable)
DocKimbel:
23-Aug-2012
Entry point should be 0 (for now).
DocKimbel:
23-Aug-2012
Pekr: I wonder if there's not an issue with the lack of entry point 
in the DLL, I just don't get why REBOL would choke on it sometimes 
and never the C apps (except your testing tool).
DocKimbel:
23-Aug-2012
Can you check if your TotalCommander tool still spits out the error 
on Entry Point RAW?
Pekr:
23-Aug-2012
yes, still in there:

Entry Point RVA: 	00000000h

Entry Point RAW: 	Invalid or not in CODE section (possible Encrypted 
or Compress Executable)
DocKimbel:
23-Aug-2012
You can now provide an entry-point callback, see the commit log: 
https://github.com/dockimbel/Red/commit/8e7c1f84226b8a7ebfde0ec08136e88f566fb4bb
Pekr:
23-Aug-2012
Entry Point RVA: 	00001A8Bh
Entry Point RAW: 	00000E8Bh
DocKimbel:
23-Aug-2012
So, it's not an entry point issue...
Pekr:
25-Aug-2012
what is now latest temp.reds source? I got:

Compiling tests/temp.reds ...
Script: "Red/System IA-32 code emitter" (none)
*** Compilation Error: missing argument
*** in file: %runtime/win32.reds
*** in function: ***-dll-entry-point
*** at line: 204
*** near: [hinstDLL]
DocKimbel:
28-Aug-2012
The callback attribute is added automatically to a function when 
passed as get-word. But there are some cases where  it needs to be 
manually set, like for the ***-dll-entry-point function from the 
runtime.
DocKimbel:
6-Sep-2012
Thanks Gerard! 

Jerry: Cool! I'll make a blog entry too.
DocKimbel:
4-Oct-2012
Strange concept

 It looks pretty classic to me, but there are some specific reasons 
 behind such choice, that I will detail them in a future blog entry. 
 Basically, it simplifies the tracking of Red values on stack (making 
 the work of the GC easier) and stack serialization becomes almost 
 trivial (to memory, for continuation support, or to file, for image 
 support). I think that R3 doesn't do it that way, but probably uses 
 recursion, passing all R3 values on C stack instead. It's a faster 
 approach but less flexible.
DocKimbel:
15-Oct-2012
Wrinting a new blog entry is part of the todo-list. ;-)
DocKimbel:
20-Oct-2012
In a couple of days, I'll release the first Red alpha with a blog 
entry to describe it, you'll be able to get a better picture of what's 
in Red already and where it's heading.
DocKimbel:
25-Oct-2012
As I said before, I'll announce it officially. I still have a couple 
of things to do before: decide about one bugtracker ticket and write 
the blog entry to announce it. :-)
DocKimbel:
19-Nov-2012
There's an entry missing in the commit log:
- dynamic function creation is not yet supported.
Gregg:
19-Nov-2012
That design note would make a great doc entry somewhere. Is there 
a Red wiki where we can stash these things, or what would be the 
preferred method at this point?
DocKimbel:
8-Dec-2012
Aliases are already implemented in the symbol! type. Basically a 
word! relies on a symbol ID, which is an entry in the symbol table. 
Each entries in this table is a symbol! value that references the 
internal Red string! value and a possible alias ID (which is just 
another symbol ID).


Now, I just need to add alias handling in the equal? and strict-equal? 
natives when applied on words to make it work correctly.
DocKimbel:
22-Mar-2013
I plan to write an HOW-TO guide for that someday, but in the meantime 
and in a nutshell, this is what is required:

1) NAT_<name> enum entry in %macros.reds (order matters!)


2) pointer entry in REGISTER argument block (same order as in macros) 
in %natives.reds


3) an entry point implementation in %natives.reds (if the code is 
too big you can move it elsewhere as long as the entry point is in 
natives.
DocKimbel:
26-Mar-2013
7000 hits so far on red-lang.org since the new blog entry. The Reddit 
wave has been the biggest I've seen since the site is online. We'll 
need to particulary target Reddit for future Red communication (the 
current one happened by accident, but it's still instructive).
DocKimbel:
27-Mar-2013
We need a bugtracker entry for this one, if you're on it, please 
add it.
Bo:
29-Mar-2013
On Windows I get:


The procedure entry point isNaN could not be located in the dynamic 
link library MSVCRT.DLL.
DocKimbel:
28-Apr-2013
Wrt the Unicode plan (my blog entry link above), I would like to 
highlight only one sentence: "Conversion for input and output strings 
will be done on-the-fly between one of the internal representation 
and UTF-8/UTF-16." This is what have been implemented for Red input 
scripts (except from the console), and for outputting text on screen 
with the currently hardwired PRINT output support because the I/O 
sub-system has not been yet implemented in Red. The PRINT backend 
will be rewritten once we get ports/devices support. Also, the "on-the-fly" 
part (no intermediary buffer) should have hinted you that I could 
not implement encoders/decoders before I/O sub-system is done. This 
also means that the current encoding/decoding logic you've implemented 
these last days probably won't be useful for Red's I/O.
Oldes:
13-May-2013
For empty rsrc should be enough to provide: table/id-entries:    
 0 instead of 1 on line 377 of your commit and not adding the entry 
(at least that's what I see with exe containing empty rsrc). But 
line 369 of this commit is strange.
Oldes:
13-May-2013
So far adding the rswr section modifies these values:   [ entry-point-addr 
code-base data-base ] which should be same as without rsrc in my 
tests, and not increasing init-data-size.
Oldes:
13-May-2013
Ok.. moving [ build-rsrc job ] after [ build-import job ] leads to 
expected result with the  [entry-point-addr code-base data-base] 
values
DocKimbel:
17-Jun-2013
I might mention it briefly in the next blog entry. I would like to 
make merge the dyn-lib-emitter branch and make a new release. As 
the Java and Android bridges will be included, I will mention them.
DocKimbel:
22-Jun-2013
this will create an eternal pressure from technical people to make 
Red 0 based

 In fact, I've decided since a while to add PICKZ and POKEZ to Red 
 so 0-base algorithms would be more natural to implement. I need to 
 add an entry in Trello about that or I will keep forgetting about 
 it...
Andreas:
28-Jun-2013
(A correct entry for /etc/apt/sources.list, for reference.)
Kaj:
3-Jul-2013
However, the driver just has a skeleton success return entry point, 
it doesn't try to take any devices or anything yet
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
MaxV:
25-Oct-2012
You can use the following code to make word description entry in 
the wikibook:
MaxV:
25-Oct-2012
Rebol [Purpose: {make wikibook entry}
Author: "Max Vessi"
version: 1.0.0
]
my?: func [
    "Prints information about words and values."
    'word [any-type!]

    /local value args item type-name refmode types attrs rtype temp
][       
    temp:  copy ""
    if all [word? :word not value? :word] [word: mold :word]

    if any [string? :word all [word? :word datatype? get :word]] [
        types: dump-obj/match system/words :word
        sort types
        if not empty? types [
            print ["Found these words:" newline types]
            exit
        ]
        print ["No information on" word "(word has no value)"]
        exit
    ]
    type-name: func [value] [
        value: mold type? :value
        clear back tail value
        join either find "aeiou" first value ["an "] ["a "] value
    ]
    if not any [word? :word path? :word] [
        append temp reduce [mold :word "is" type-name :word]
        exit
    ]

    value: either path? :word [first reduce reduce [word]] [get :word]
    if not any-function? :value [

        append temp reduce [uppercase mold word "is" type-name :value "of 
        value: "]

        append temp either object? value [ reduce ["^/" dump-obj value] ] 
        [mold :value]
        exit
    ]
    args: third :value
    append temp  "= USAGE: = ^/ "

    if not op? :value [append temp reduce [ uppercase mold word " "] 
    ]
    while [not tail? args] [
        item: first args
        if :item = /local [break]

        if any [all [any-word? :item not set-word? :item] refinement? :item] 
        [
            append temp reduce [append mold :item " "]

            if op? :value [append temp reduce [append uppercase mold word " "]
	    value: none]
        ]
        args: next args
    ]
    append temp  "^/" 
    args: head args
    value: get word
    append temp "^/= DESCRIPTION: = ^/"
    either string? pick args 1 [
        append temp reduce [first args]
        args: next args
    ] [
        append temp "^/''(undocumented)''^/"
    ]

    append temp reduce [ "^/^/"uppercase mold word " is " type-name :value 
    " value."]
    if block? pick args 1 [
        attrs: first args
        args: next args
    ]
    if tail? args [exit]
    while [not tail? args] [
        item: first args
        args: next args
        if :item = /local [break]
        either not refinement? :item [

            all [set-word? :item :item = to-set-word 'return block? first args 
            rtype: first args]
            if none? refmode [
		append temp "^/= ARGUMENTS: =^/"
                refmode: 'args
            ]
        ] [
            if refmode <> 'refs [
                append temp "^/= REFINEMENTS: =^/"
                refmode: 'refs
            ]
        ]
        either refinement? :item [	   	  
            append temp reduce ["*'''" mold item "'''"]

            if string? pick args 1 [append temp reduce [" -- " first args] 
	    args: next args]
            append temp "^/"
        ] [
            if all [any-word? :item not set-word? :item] [
                if refmode = 'refs [append temp "*"]
                append temp reduce ["*'''" :item "''' -- "]

                types: if block? pick args 1 [args: next args first back args]

                if string? pick args 1 [append temp reduce [first args ""] 
		args: next args]
                if not types [types: 'any]
                append temp rejoin [" (Type: " types ")"]
                append temp "^/"
            ]
        ]
    ]
    if rtype [append temp reduce ["^/RETURNS:^/^-" rtype]]
    if attrs [
        append temp "^/= (SPECIAL ATTRIBUTES) =^/"
        while [not tail? attrs] [
            value: first attrs
            attrs: next attrs
            if any-word? value [
                append temp reduce  ["*'''" value "'''"]
                if string? pick attrs 1 [
                    append temp reduce [" -- " first attrs]
                    attrs: next attrs
                ]
                append temp "^/"
            ]
        ]
    ]
    editor temp
    exit
]
Kaj:
20-Jan-2013
#include %GTK-WebKit.reds

home: "http://www.red-lang.org/"

with gtk [
	address: function [
		[cdecl]
		field		[entry!]
		browser		[scrolled-window!]
	][
		web-browse  web-get-view browser  get-entry-text field
	]

	browser: browse home

	view [
		maximize
		"Lazy Sunday Afternoon Browser"
		vbox [0
			field [home  :address browser] 0
			browser full 0
		]
	]
]
Bo:
22-Jan-2013
Carl just posted a new blog entry at http://www.rebol.com/article/0527.html
Group: Ann-Reply ... Reply to Announce group [web-public]
Cyphre:
15-Mar-2012
James, you have to click on the "Test.mod" entry in the table to 
pick the demo model and then click "Open".
BrianH:
25-Sep-2012
OS libraries and R3 libraries are both libraries. However, with GPL2 
they make an exception for linking to OS libraries even if they're 
closed source. With GPL3 they extended that exception to libraries 
that come with a runtime or VM, like Java, .NET, or closed-source 
REBOL. The exception doesn't go the other way though: It's not allowed 
to link to GPL'd libraries with closed code.


Ladislav, the runtime library is used to implement the interpreters, 
and includes the interpreters for that matter, but it's still a library. 
The DO interpreter really doesn't do a lot; it resolves the op and 
path syntax and dereferences words, but everything else is done by 
the functions of the runtime library, which your code is bound to 
at runtime. But for the good news, it's at runtime, so afaict the 
GPL doesn't require you to release your source because of that binding, 
as long as you load the source at runtime, which you pretty much 
have to do at the moment for scripts.


Encapping is a trick, but you can handle that with some limitations. 
Extensions will need to be GPL 2, and that means that they can't 
be used to wrap closed-source libraries unless they were included 
with the operating system you're running on. Encapping regular scripts 
and modules is semantically iffy, but you could handle that with 
a FAQ entry that explicitly says that loading a R3 script doesn't 
count as linking, even if you bind the words to GPL'd values. The 
same FAQ entry would apply to scripts in files, databases, whatever.
BrianH:
26-Sep-2012
Here's the FSF FAQ entry that covers encapping: http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

The relevant part is this: "If the modules are included in the same 
executable file, they are definitely combined in one program. If 
modules are designed to run linked together in a shared address space, 
that almost surely means combining them into one program."
BrianH:
26-Sep-2012
Here is the FSF FAQ entry relating to interpreters and their libraries: 
http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL

Pretty much the whole entry is applicable. The first paragraph would 
apply to data passed to DO, PARSE, DELECT, DO-COMMANDS, or other 
dialect processors.


The second paragraph would definitely apply to extensions, and could 
apply to built-in functions unless we get an exception like GCC's; 
or we could get a FAQ entry declaring that the functions built into 
R3 are "part of the interpreter" rather than "library code", despite 
R3's actual system model. Note that PARSE's built-in operations are 
more unambiguously "part of the interpreter", and the same could 
be said for other similar dialects.


The last two paragraphs apply to mezzanine code and embedded modules. 
If they are GPL'd and your code uses them, it would be affected.
BrianH:
26-Sep-2012
It is common to use this FAQ entry as a way to make GPL extensions 
that wrap proprietary components: http://www.gnu.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL


Developers commonly put links on their web site to the vendor's web 
site to download the DLL. However, it's iffy with GPL2 because the 
actual exception is worded like this:

However, as a special exception, the source code distributed need 
not include anything that is normally distributed (in either source 
or binary form) with the major components (compiler, kernel, and 
so on) of the operating system on which the executable runs, unless 
that component itself accompanies the executable.


Read literally, it would exclude runtime libraries that aren't bundled 
with the OS. It's more unambiguously OK with GPL3.
BrianH:
27-Sep-2012
Ladislav, most of what Andreas and Maxim are saying here is true, 
but it doesn't matter. Reading comprehension requires reading the 
whole thing. The relevant part you missed is:

    or we could get a FAQ entry declaring that the functions built into 
    R3 are "part of the interpreter" rather than "library code", despite 
    R3's actual system model.


I am actually an expert on R3's system model as it relates to dynamic 
linking of code, and how code is bundled, since I wrote most of the 
code that does that. The mezzanine code is dynamically loaded and 
linked in the startup code, and is statically linked as data into 
r3.exe, so as far as copyright is concerned it is linked two ways. 
At least in the laws of the country of origin of REBOL, the code 
vs. data distinction is irrelevant to whether the code/data is covered 
by copyright, or the GPL, which only relaxes copyright. All that 
matters is that the mezzanine data is statically linked into the 
program. For that matter, it's not even bundled as a resource, so 
it's really hard to make the "mere aggregation" argument even if 
they weren't explicitly in the same program. Embedded extensions 
and embedded REBOL code are both statically linked into the program, 
and are both dynamically linked at runtime.


Nonetheless, that system model doesn't have to matter. A published, 
official FAQ entry (or even a blog post) can be used as evidence 
in a trial, so a FAQ entry that clearly states that all bundled native 
and mezzanine code is "part of the interpreter" would be sufficient 
to make it so our scripts whouldn't be affected by R3's GPL at runtime. 
Without such a FAQ entry it could be plausibly argued in court that 
your code is dynamically linked to GPL'd code, which would then extend 
GPL requirements to your code. With the FAQ entry, it's unambiguous.
Ladislav:
27-Sep-2012
'or we could get a FAQ entry declaring that the functions built into 
R3 are "part of the interpreter" rather than "library code"' - that 
is where I do agree with you, except for the fact that we do have 
such an indication:


1) the functions *are physically/* part of the interpreter, they 
are "linked into it" (I would say "statically", since the interpreter 
does not need to look for them "elsewhere in the system", they are 
"inside")

2) the functions are a part of the interpreter, the interpreter documentation 
specifically mentions the functionality of the interpreter (the documentation 
mentions that the "ordinary version" of the interpreter "understands" 
FUNC, DO, PARSE, whatnot...)
Andreas:
27-Sep-2012
Based on this same entry, I still don't think that how the library 
is linked makes any difference, as long as the library is itself 
interpreted.
Henrik:
19-Oct-2012
Kaj, I'm probably doing this wrong. All examples under MSDOS/Red 
fail with:

---------------------------
empty.exe - Entry Point Not Found
---------------------------

The procedure entry point wprintf_s could not be located in the dynamic 
link library MSVCRT.DLL. 
---------------------------
OK   
---------------------------
MaxV:
25-Oct-2012
Rebol [Purpose: {make wikibook entry}
Author: "Max Vessi"
version: 2.0.0
]
my?: func [
    "Prints information about words and values."
    'word [any-type!]

    /local value args item type-name refmode types attrs rtype temp
][       
    temp:  copy ""
    if all [word? :word not value? :word] [word: mold :word]

    if any [string? :word all [word? :word datatype? get :word]] [
        types: dump-obj/match system/words :word
        sort types
        if not empty? types [
            print ["Found these words:" newline types]
            exit
        ]
        print ["No information on" word "(word has no value)"]
        exit
    ]
    type-name: func [value] [
        value: mold type? :value
        clear back tail value
        join either find "aeiou" first value ["an "] ["a "] value
    ]
    if not any [word? :word path? :word] [
        append temp reduce [mold :word "is" type-name :word]
        exit
    ]

    value: either path? :word [first reduce reduce [word]] [get :word]
    if not any-function? :value [

        append temp reduce [uppercase mold word "is" type-name :value "of 
        value: "]

        append temp either object? value [ reduce ["^/" dump-obj value] ] 
        [mold :value]
        exit
    ]
    args: third :value
    append temp  "= USAGE: = ^/ "

    if not op? :value [append temp reduce [ uppercase mold word " "] 
    ]
    while [not tail? args] [
        item: first args
        if :item = /local [break]

        if any [all [any-word? :item not set-word? :item] refinement? :item] 
        [
            append temp reduce [append mold :item " "]

            if op? :value [append temp reduce [append uppercase mold word " "]
	    value: none]
        ]
        args: next args
    ]
    append temp  "^/" 
    args: head args
    value: get word
    append temp "^/= DESCRIPTION: = ^/"
    either string? pick args 1 [
        append temp reduce [first args]
        args: next args
    ] [
        append temp "^/''(undocumented)''^/"
    ]

    append temp reduce [ "^/^/"uppercase mold word " is " type-name :value 
    " value."]
    if block? pick args 1 [
        attrs: first args
        args: next args
    ]
    if tail? args [exit]
    while [not tail? args] [
        item: first args
        args: next args
        if :item = /local [break]
        either not refinement? :item [

            all [set-word? :item :item = to-set-word 'return block? first args 
            rtype: first args]
            if none? refmode [
		append temp "^/= ARGUMENTS: =^/"
                refmode: 'args
            ]
        ] [
            if refmode <> 'refs [
                append temp "^/= REFINEMENTS: =^/"
                refmode: 'refs
            ]
        ]
        either refinement? :item [	   	  
            append temp reduce ["*'''" mold item "'''"]

            if string? pick args 1 [append temp reduce [" -- " first args] 
	    args: next args]
            append temp "^/"
        ] [
            if all [any-word? :item not set-word? :item] [
                if refmode = 'refs [append temp "*"]
                append temp reduce ["*'''" :item "''' -- "]

                types: if block? pick args 1 [args: next args first back args]

                if string? pick args 1 [append temp reduce [first args ""] 
		args: next args]
                if not types [types: 'any]
                append temp rejoin [" (Type: " types ")"]
                append temp "^/"
            ]
        ]
    ]
    if rtype [append temp reduce ["^/RETURNS:^/^-" rtype]]
    if attrs [
        append temp "^/= (SPECIAL ATTRIBUTES) =^/"
        while [not tail? attrs] [
            value: first attrs
            attrs: next attrs
            if any-word? value [
                append temp reduce  ["*'''" value "'''"]
                if string? pick attrs 1 [
                    append temp reduce [" -- " first attrs]
                    attrs: next attrs
                ]
                append temp "^/"
            ]
        ]
    ]
    append temp "^/= Source code =^/"
    append temp  reduce ["<pre>" join word ": "]
    if not value? word [print "''undefined''" exit]
    either any [native? get word op? get word action? get word] [
        append temp reduce ["native" mold third get word]
    ] [append temp reduce  [ mold get word "</pre>"] ]
    editor temp
    ;write clipboard://  temp
    exit
]
Kaj:
12-Dec-2012
For some mags I had to write my own entry programs to assist in using 
the checksums
Gregg:
24-Mar-2013
This is fantastic Doc. I know it's still very early days, but you 
are making great progress and it's very exciting to see it come to 
life. When I copied the commands from the new blog entry, to build 
the console, and it worked the first time, perfectly, it made my 
day. Then, even doing just simple things in the console was fun.
Cyphre:
6-May-2013
Hello MaxV: Congrats to your first R3GUI app! ;-) I have some questions/notes 
though:

1. Why one needs to download the two DLL files to get R3B running?? 
(not much user friendly IMO)


2. On your Blog page you say: "First of all there are some bugs, 
most of them depends on R3GUI, for example this one: https://github.com/angerangel/r3bazaar/issues/8"

I bet this is not related to R3GUI at all but more to your R3B build. 
The REQUEST-FILE works without any problems in our Saphirion build 
(and I think also the "official" Carl's build works well but haven't 
tried it). I tried to download and run your R3B binary and I can 
confirm the bug is related only to this version so it would be fair 
enough if you remove your R3GUI blaming from the blog entry if possible. 
I know R3GUi is not perfect so maybe you can just change the blame 
for some other which is really related to the framework. Or better 
feel free to ask any questions in RgGUI group here!

3. I've looked into the EDITOR function code and comparing to the 
R3 editor code (which is still twice as big as the R3GUI version 
- but I don't know if they match the features though) the R3GUI code 
looks much cleaner and abstracted that the R2 style even if you are 
not expereienced writing R3GUI apps. Some notes:


3.1 I'm curious why are you accessing the internal AREA style value 
like face/names/tb or aa/names/tb/state/value? Is that for some reason? 
Why you don't use the AREA directly like:
do-actor/style face 'on-key arg 'area
instead of
do-actor/style face/names/tb 'on-key arg 'text-box

or

write (to-file AA-INFO/OPTIONS/text-edit) get-face aa


write (to-file AA-INFO/OPTIONS/text-edit) aa/names/tb/state/value 


3.2 There is "classic" but anoying bug. If you open file requester 
and close it without selecting a file the editor errors out. (but 
you probably already noticed)


3.3 Would be great if you add keyboard shortcuts. It's easy to add 
them. See the layouts-15.r3 file in R3GUI Saphirion package as an 
example.


3.4 Maybe you could try to write your first R3GUI style - MENU It 
would be handy in the editor(and also in other apps) instead of the 
buttons on top.


Anyway, thanks for promoting R3 and R3GUI. I appreciate all your 
efforts!
GrahamC:
6-Jun-2013
@Gregg, asciidoc uses a header *because* it's a document formatting 
tool.  There's a variety of styles supported .. and it's a pain to 
try and remember but I guess it gets easier with use.  The point 
for me is that it provides entry to docbook and then multiple other 
formats whereas makedoc/pro are stuck in a single page style html 
which is really past it for any serious documentation.
Gerard:
11-Jun-2013
Why not use separate channels for Red, Red/System and Rebol respectively 
or conversely using a family name like "Rebol-like languages" or 
"Rebolish" or something similar ? Personally I prefer using separate 
names, even splitting furthermore amongst Rebol2 and Rebol3 ... but 
this is a suggestion only. In the end I also see some specific place 
for Boron, World, and Topaz but then everyone should point to the 
others or to a single "entry point portail" which points and summarizes 
the évolution and differences while it could alos only point to each 
of the specific related websites, as they appear  !!!
Group: Rebol School ... REBOL School [web-public]
Maxim:
3-Jul-2012
you can simply say that when an entry doesn't have a year, it is 
always larger,  so you have them at the end of the list.  you could 
then sort those without a date according to their name.


if you want just the list for "1991-1992" yes, that is a good approach... 


however usually, the fastest way to filter-out lists, is to copy 
the block (not deep, so its quick) and then use remove-each on the 
new block... like-so:

filtered-data: copy data

remove-each [hash mcapz] filtered-data [ not select mcapz "1991-1992"]
Arnold:
11-Jul-2012
Today I experimented with calling a REBOL script from my php script. 
Thanks to previous contributions of a.o. Ralph Roberts of abooks.com 
from 1999(!) and an entry on the PHP site I found out how to do this 
on my apache driven site.

It was not quite as straightforward as Robert said like: include 
("rebolnow.r");
Nor was it as simple as: system("rebolnow.r 2>&1", $myout);
echo $myout;

But it worked when I called out for the REBOL program first. Both 
two of the next examples worked for me:
system("/path/to/cgi-bin/rebol -c %rebolnow.r 2>&1", $myout);
echo $myout;
AND secondly
echo system("/path/to/cgi-bin/rebol -c %rebolnow.r");
Work!

The REBOL script must be in the same dir as your PHP script (Not 
in your cgi-bin directory)(I didn't test sub dirs and other dirs 
but I suppose they work like usual)
The script does not need the #!/path/to/rebol line at the top.
The script should not print http-headers and

When printing stuff the last line should read print "" because the 
last printed line will be repeated.

Hope this helps more people to switch from php scripting to REBOL 
scripting for their websites.
Group: Databases ... group to discuss various database issues and drivers [web-public]
DocKimbel:
9-Sep-2012
Yes, the link from the blog entry is the right one too.
Group: !REBOL3 ... General discussion about REBOL 3 [web-public]
Pekr:
9-Apr-2013
About excuses - there are imo no excuses. As I said - we are just 
few, and ppl are busy with other things too. As for those really 
needing GUI right now (it's not me for e.g.), I think, that some 
ppl prefer what they know R2 VID, RebGUI, just because of typical 
entry barrier. There is nothing wrong with R3-GUI imo, and from what 
I studied in the past, it is much better system than R2. Sometimes, 
it is difficult to find out real reasons, why ppl react this way, 
or that way, I just dunno ...

world-name: r3wp

Group: !AltME ... Discussion about AltME [web-public]
Anton:
10-Mar-2005
prefs/prefs.txt, in the main altme dir, contains an entry "skin-dir: 
none"
james_nak:
29-Mar-2005
1. Better notification to user of a message. "Slide up window?" Reichart, 
you know this is my favorite.
2. Calendar - Ability to add more events. Alarms for events
3. File sharing
4. Programmable sounds for people/groups.
5. "Take back last entry"
BrianH:
15-Jul-2005
I'm sure this is a stupid question, but how do you enter a return 
(newline) into an AltMe entry directly, without precomposing your 
entry in a text editor or some such?
Henrik:
1-Sep-2005
Performance issue with copying links: Set number of messages per 
group to a big number, say 5-10000, go to the View group and copy 
a link. It reacts very slowly before the OK dialog comes up. Click 
OK and it takes a few seconds to disappear.


Now copy some ordinary text by rightclicking on a chat entry, no 
performance problems.
Edgar:
4-Apr-2006
Here is a trick in syncing. There is a chat folder that has all the 
chat messages for each group are kept. Inside that folder is a file 
called chat55. If you delete a line entry from that file, the group 
that corresponds with that line will be resycnc like it was never 
been there before.
Henrik:
15-Jul-2006
to me it doesn't sound like it would be particularly difficult to 
do, add an action to a timestamp and copy the first line of an entry 
and paste it in the textarea, but maybe I'm wrong. :-)
Anton:
15-Jul-2006
Henrik, as an intermediate solution (far from perfect), you *could* 
make a short rebol program which copies text from the clipboard, 
truncating it if too long, then writes the truncated text back to 
the clipboard.  You make this program easy to access from your start-menu 
or launcher. Then, in altme, you right-click the message you want 
to quote, run your truncator program, then right-click in the text 
entry area.
Robert:
21-Jul-2006
Reichart, why is scrolling in AltME so bumpy? I mostly get nuts if 
I want to go the first unread entry and than just scroll downward 
entry by entry. And if the entry is bigger then the currently shown 
part, it jumps to the end and I can't read the beginning... should 
be fixed IMO.
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
Volker:
8-Jan-2005
execve("../rebol2558042", ["../rebol2558042"], [/* 18 vars */]) = 
0
uname({sys="Linux", node="dino.local", ...}) = 0
brk(0)                                  = 0x809b000

old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0x40017000

access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file 
or directory)

open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file 
or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=51977, ...}) = 0
old_mmap(NULL, 51977, PROT_READ, MAP_PRIVATE, 7, 0) = 0x40018000
close(7)                                = 0

access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file 
or directory)
open("/lib/tls/libm.so.6", O_RDONLY)    = 7

read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2405\0"..., 
512) = 512
fstat64(7, {st_mode=S_IFREG|0644, st_size=141236, ...}) = 0

old_mmap(NULL, 139712, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 
0x40025000

old_mmap(0x40047000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
7, 0x22000) = 0x40047000
close(7)                                = 0

access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file 
or directory)
open("/lib/tls/libc.so.6", O_RDONLY)    = 7

read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200X\1"..., 
512) = 512
fstat64(7, {st_mode=S_IFREG|0644, st_size=1270908, ...}) = 0

old_mmap(NULL, 1281292, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 
0x40048000

old_mmap(0x40176000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
7, 0x12d000) = 0x40176000

old_mmap(0x4017f000, 7436, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 
-1, 0) = 0x4017f000
close(7)                                = 0

old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0x40181000

set_thread_area({entry_number:-1 -> 6, base_addr:0x401812a0, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, 
useable:1}) = 0
munmap(0x40018000, 51977)               = 0

rt_sigaction(SIGCONT, {0x804b6c4, [CONT], SA_RESTART}, {SIG_DFL}, 
8) = 0

rt_sigaction(SIGTSTP, {0x804b67c, [TSTP], SA_RESTART}, {SIG_DFL}, 
8) = 0

rt_sigaction(SIGINT, {0x804b700, [INT], SA_RESTART}, {SIG_DFL}, 8) 
= 0

rt_sigaction(SIGTERM, {0x804b700, [TERM], SA_RESTART}, {SIG_DFL}, 
8) = 0

rt_sigaction(SIGHUP, {0x804b700, [HUP], SA_RESTART}, {SIG_DFL}, 8) 
= 0

rt_sigaction(SIGCHLD, {0x804b718, [CHLD], SA_RESTART}, {SIG_DFL}, 
8) = 0
socketpair(PF_UNIX, SOCK_DGRAM, 0, [7, 8]) = 0

clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0x401812e8) = 21686
close(8)                                = 0
brk(0)                                  = 0x809b000
brk(0x80be000)                          = 0x80be000
brk(0)                                  = 0x80be000
brk(0)                                  = 0x80be000
brk(0x80eb000)                          = 0x80eb000
brk(0)                                  = 0x80eb000
brk(0x810c000)                          = 0x810c000
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0

open("/etc/termcap", O_RDONLY)          = -1 ENOENT (No such file 
or directory)
write(1, "R", 1)                        = 1
Pekr:
11-Feb-2005
I noticed one entry in RAMBO from Oldes or someone else, describing 
incorrect handling of timezones or something like that ...
Romano:
21-Mar-2005
I have submitted an issue entry in RAMBO about make integer!. I should 
like to know what people think about what must be the "RIGHT" conversion 
result.
BrianH:
9-Jun-2005
To whom it may concern, on ticket -304 (currently) I misunderstood 
the purpose of the Fix field and filled it with prose with no line 
breaks. Could somebody fix this, perhaps by moving the prose to the 
Description section? The Fix section doesn't wordwrap, my entry messes 
up the layout of the Rambo web site.
Anton:
30-Jun-2005
Izkata, right, submitted a rambo ticket with fixed code for that 
cookbook entry.
Group: Core ... Discuss core issues [web-public]
Robert:
27-Jan-2005
stack!: make object! [
		stack: make block! []

		push: func['value /flattend][
			either (type? value) == block!
				[
					either flattend
						[foreach entry value [insert head stack entry]]
						[insert/only head stack value]
				]
				[insert head stack value]
		]

		pop: does [
			either (length? stack) > 0
			[
				value: first stack
				remove stack
				return value
			]
			[return none]
		]

		top: does [
			if not empty? [return first stack]
		]

		empty?: does [
			either (length? stack) == 0 [return true][return false]
		]

		ontop?: func ['value][
			either value == top [return true][return false]
		]

		instack?: func ['value][

   either result: find stack value [return index? result][return none]
		]

		reset: does [
			clear stack
		]

		size: does [
			return length? stack
		]

		print: does [
			probe reduce ["stack:" stack]
		]
	] ; stack
Sunanda:
23-Feb-2005
Not really possible without an extra data structure.
Why not simply make the parent the 1st entry in the block?
>> blk: copy []
== []
>> append/only blk blk
== [[...]]
>> append blk "a"
== [[...] "a"]


(One drawback is that this sort of recursive structure cannoy easily 
be molded and later loaded_
>>
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public]
yeksoon:
19-Jan-2005
the links on the left are not categorize in a way that the mind can 
understand...


you have the 'sections' like Home, About, Contact Us etc... and later 
you have FAQ, New to Rebol etc 


my opinion is to get the high level categories defined first and 
that will be the main entry point a user will access various content
Sunanda:
13-Dec-2005
<< Is there a way to search the topic index other than by clicking 
on a letter>>
In theory:

http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-topic-index.r?i=probe

takes you straight to the entry (if any) for 'probe.  But that looks 
broken right now....I'll look into it.


Other than that, no.  Only about 80% of the threads are indexed in 
the topic index. When we get closer to 100%. we'll enhance the existing 
search to take account of the topic index.....so results will include 
and be prioritised by the topic index. 

Well, you could try, in Google:
probe site:www.rebol.org inurl:topic

But that (as with any search anywhere) is dependent on Google having 
the page indexed.
Geomol:
1-Feb-2008
Let's look at bit closer at the REBOL header block and licenses. 
In the library (http://www.rebol.org), REBOL scripts have a library 
entry in the header, and it contains a field named "license" with 
about 10 different possibilities. Is it enough to specify the license 
like that, or do we have to put a license text and/or warranty in 
the header of our scripts? Not just in the library but in general. 
Does anyone know, or should we ask an attorney?
Sunanda:
13-Dec-2009
Once we have a few with an R3 tag, it'll make sense to add R3 as 
a menu entry.
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
DideC:
9-Jun-2005
RAMBO masters: if one can add this correction to the Rambo entry.
Group: MySQL ... [web-public]
Tim:
18-Feb-2005
a long time..... oops sorry about the errant entry key. Ideas anybody? 
-- tim --
Group: Syllable ... The free desktop and server operating system family [web-public]
Graham:
7-Sep-2005
I think you guys are making the cost of entry too high.
Group: Linux ... [web-public] group for linux REBOL users
btiffin:
16-Feb-2008
Just read a couple; this is a good intro.  http://www.debian-administration.org/articles/212


and I was just about to his ^S on this entry and then noticed the 
 :-)   :)  Oh, well
Group: CGI ... web server issues [web-public]
btiffin:
26-Jul-2007
The last ML entry I mentioned has the reference to Olde's script. 
 rmlRDSC  If it does the job of tweaking the lines mode?  Haven't 
looked.
Group: !RebGUI ... A lightweight alternative to VID [web-public]
Robert:
1-May-2005
line-selection:

- If a line is selected and I sort by one column the selection isn't 
keept on the same entry. The selection is keept on the same entry 
number counted from the top. That's a strange behaviour. It should 
keep the selected line.
Group: Cookbook ... For http://www.rebol.net/cookbook/requests.html [web-public]
Brock:
27-Mar-2005
I think all of the cookbook entries should be fixed to indicate their 
limitation as stated above!!  OR,  another cookbook entry should 
be made to indicate how to variably use code from one version of 
Rebol over another.
Henrik:
28-Mar-2005
I like the idea of a cookbook entry to check on versions. It could 
be expanded to check on OS and other things (what system is this 
script running on?)
Group: XML ... xml related conversations [web-public]
Chris:
11-Nov-2005
But this is the issue here with Rebol and XML, there are solutions 
that suit one XML operation or another.  Aiming for loosely implementing 
DOM gives us loading, extraction, modification, and saving without 
affecting the integrity of the data structure.  Examples: changing 
the title of an HTML page, adding an entry to an RSS file, etc.
Ashley:
11-Nov-2008
All works, "read/custom url reduce ['POST query-string]" did the 
trick! Thanks guys.

My little 64 line script now does the following:


 1) Read Address Book vCard file and extract a list of number/name 
 pairs (I prefix the numbers with 'n to assist with lookups)

 2) Read each Linksys SPA942 IP Phone's call history and create a 
 sorted list of number/frequency pairs

 3) Join these 2 lists and create a query string for matches and an 
 exception report for numbers without an address book entry
	4) POST merged and updated name/number pairs back to each phone


Script took 2 hours to write and debug, runs in 2-3 seconds and gives 
us the features of an advanced call management facility for free. 
Once again, REBOL to the rescue (my business partner shook his head 
when he saw this and just said, "but HOW can REBOL do all this???").
Chris:
14-Aug-2009
>> google-xml: load-xml/dom clipboard:// ; copied from page
>> entries: google-xml/get-by-tag <entry>
== [make object! [
        name: <entry>
        space: none
        value: [
            #etag {"BxAUSh5RAyp7ImBq"} 
            <...
>> foreach entry entries [probe entry/get <resourceId>]
spreadsheet:key
== "spreadsheet:key"
Chris:
14-Aug-2009
>> entry: first entries                   
>> id: first entry/get-by-tag <resourceId>             
>> id/space                               
== <gd>
Group: Rebol/Flash dialect ... content related to Rebol/Flash dialect [web-public]
Terry:
16-Nov-2007
Adobe AIR beta provides additional features to enhance operating 
system integration:

    * Background applications

    * System tray icon (Windows) / Dock bar bounce (Mac OS X) notification
    * Default windows menus
    * Z-order control for native windows
    * Bitmap drag-and-drop support
    * Customization of program folder entry
    * New Mac and Windows install location
Group: Tech News ... Interesting technology [web-public]
[unknown: 10]:
24-Feb-2006
Earn your Sun Server -->> http://blogs.sun.com/roller/page/jonathan?entry=niagara_benchmarks
Group: !RebDB ... REBOL Pseudo-Relational Database [web-public]
Normand:
22-Jun-2006
I am trying to update my RebDB database with a level of indirection,
as I am using a block of 39 colunms names and 
the corresponding 39 entry-fields from ReBGui.

Shortening those blocks for the example's sake, I do try to update 
the DB with the following command:

Let's say that exColumns: [name surname dob phone] and exValues: 
["Doe" "Jane" "1990-01-01" "418-840-4040"].

Then >> db-update/where exDB (exColumns) (exValues) compose ['rowid 
= (to-id)] do not work, nor variants I know.
Proof:
>> db-create exDB exColumns == true

>> db-insert exDB ["Foe" "Joe" "1991-01-01" "514-480-8080"] == true
>> db-commit exDB == true

Then what is a working update, as those do not work with indirection 
in column & values spec and rowid?
to-id: 1

Variant1 >> db-update/where exDB exColumns exValues compose [rowid 
= to-id]
== ** User Error: Invalid or duplicate column

Variant2 >> db-update/where exDB (exColumns) (exValues) compose [rowid 
= to-id]

== ** Script Error: db-update expected columns argument of type: 
word block

Variant3 >> do [ db-update/where exDB exColumns exValues compose 
[rowid = to-id] ]
== ** User Error: Invalid or duplicate column

Variant4 >> reduce [ db-update/where exDB exColumns exValues compose 
[rowid = to-id] ]
== ** User Error: Invalid or duplicate column

Variant5 >> reduce [ db-update/where exDB (exColumns) (exValues) 
compose [rowid = to-id] ]

== ** Script Error: db-update expected columns argument of type: 
word block

The more I go, the more I am frustrated into the word/value distinction.
What is the resiliently simple answer to my show stopper?
Normand:
22-Jun-2006
Well.  Is there any way to obtain the rowid (physical row order number) 
of a selected entry, or deleted or updated entry?  I am trying to 
devise a way to navigate into the database, from the initial point 
of a query or of an update.  But with delete operations, the first 
column, id, is not allways in sequence.  >> db-select id bottinDB 
 == [1 2 3 4 7 8 9 10]  >> db-select rowid bottinDB == [1 2 3 4 5 
6 7 8].  And, as much as I can, I want to keep the historical order 
of entry, as it gives me information.  It may be usefull to know 
that I did read a book or meet a person before another. The rowid 
gives a hint to that.  All and all, parametrizing the update and 
obtaining the rowid are stoping me to complete my small everyday 
application.  By the way, I do not see any example of 'demo' applications 
with RebDB and RebGui.  A little help with mine could give birth 
to one.  I should say that, design wise, RebGui is a great decision, 
to favor simplicity.  You adress there some needs never covered by 
other systems: the myriads of simple applets everybody needs but 
were unable to ask.  After a couple of  weekends, I have got 400 
lines of codes and am almost done.  And I am not a programmer. So 
I figure out how efficient it is for you guys. Thanks.
Group: SQLite ... C library embeddable DB [web-public].
Ashley:
6-Nov-2006
Thanks Brock. Robert, looks like you've hit the same error I RAMBOed 
here: http://www.rebol.net/cgi-bin/rambo.r?id=4063&


A real pain as it can be consistently reproduced (and hence avoided), 
but with no pattern [that I can see]. If Carl implements SQLite-like 
support (see latest blog entry) then hopefully this will become a 
moot point as we won't require the library call anymore.
Group: Plugin-2 ... Browser Plugins [web-public]
BrianH:
4-May-2006
Sure, if you want. I'll edit the security entry I already put there.
Ingo:
8-May-2006
hmm, firefox extensions can get an entry in the options dialog, or 
they can be configured from the list of extensions ... haven't found 
anything like it for plugins, though.
Group: !GLayout ... ask questions and now get answers about GLayout. [web-public]
Maxim:
3-Jan-2007
if you allow field to stretch in Y , then, obviously it will look 
weird, since you'd end up with a multi-line text entry which actually 
only has one line entry...
Group: !Liquid ... any questions about liquid dataflow core. [web-public]
Maxim:
27-Feb-2009
basically, the gui will be plugged-in to the aspects directly, and 
the aspects data entry will also be plugged-in directly to the gui 
 :-)
Group: Games ... talk about using REBOL for games [web-public]
[unknown: 9]:
29-Jun-2007
James, do me a favour, click that little icon of the pen above the 
new messsage input window.  Then enter your list again in "one entry"

You will need to press control + S to send it, or press teh send 
button.

Then I can copy your list easily, and work on it.
Group: DevCon2008 (post-chatter) ... DevCon2008 [web-public]
BrianH:
17-Dec-2008
The presenter chat interface is too tall to fit on a 1024x768 screen, 
let alone the 1024x600 on my netbook. It would help if you got rid 
of
  <tr> 
    <td align="center">&nbsp;</td> 
  </tr> 

that is above the row where the flash is embedded, or better yet 
replace the whole table with a
  <div style="text-align: center">...</div>

However, even when you reference the the flash itself, it has some 
kind of title at the top that pushes the interface down so far that 
you can't see the text entry field on a 1024x768 screen. This is 
a bug in the flash.
1 / 416[1] 2345