• 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
r4wp51
r3wp454
total:505

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

world-name: r4wp

Group: #Red ... Red language group [web-public]
BrianH:
5-Jul-2012
Giuseppe, those are called properties. The getter/setter functions 
you often find in GUIs are basically the same thing, but properties 
hide that in regular assignment syntax. We don't need getter properties 
in REBOL-like languages because we don't use parentheses to call 
functions, but setter functions appearing to be assignment statements 
might appeal to some.


I've had a lot of experience with properties in languages like Delphi; 
most of the popular languages that currently have property support, 
either in syntax or as a convention, are derived from Delphi. It 
makes code a little easier to write, and a lot harder to debug. The 
main advantage to implementing them in Red or R3 would be to make 
it easier to interoperate with .NET or COM objects.


Automatic delegation is something else. With automatic delegation, 
you automatically forward a method call from one object to another, 
just by declaring it as such. That doesn't really work in REBOL-style 
direct-bound functions because we don't have an implicit self parameter 
(we have self, but it's not a parameter). Red would need to have 
a completely different function binding model for that kind of thing 
to work; which it would likely have anyways, due to it being compiled 
rather than interpreted.
DocKimbel:
22-Jul-2012
Thanks, I will debug that tonight.
DocKimbel:
5-Aug-2012
I could live without that feature for Red compiler, but it will help 
it be cleaner and easier to debug. Currently, I'm using prefixes 
to mark contexts for variables and function calls in Red compiler 
output code, I hope to be able to remove them and use contexts instead 
once I merge this new branch.
DocKimbel:
16-Aug-2012
Yes, that would require to add a lot of new code to existing features 
and would take probably several days to code and debug regressions. 
If we could avoid it, that would be nice.
Pekr:
26-Sep-2012
going to lunch, willing to debug, if I can get any instructions ....
Henrik:
4-Oct-2012
Doc, will it be necessary or possible to have a debug version of 
Red with deep level of integration with debugging tools as well as 
a non-debug version with higher performance, or is this something 
that can be turned on/off in the same runtime?
DocKimbel:
4-Oct-2012
Depend on what you mean by "debug version" and what debugging tools 
you're thinking about. My plan for Red is to deeply integrate it 
with the IDE, so that you'll be able to have advanced debugging capabilities, 
like step-by-step debugging. Such feature could maybe also be ported 
to the console version, so you'll be able to use it even without 
the IDE installed.


Also, I have thought the Red execution architecture to be as reflective 
as possible in order to try to support memory image loading/saving 
and stopping/resuming (think Smalltalk). It's very tricky (not sure 
we'll have it in the end), but if we can achieve it, you'll be able 
to get a snapshot of a running Red program on file, transfer it and 
resume it somewhere else....ideal for reproducing exact bugs occuring 
conditions. EDIT: the right expression for that is "Image-based persistence".


In the meantime, we already have some "debug mode": -d switch for 
Red and -g switch for Red/System (we'll probably adopt -d for both, 
-g will be reserved for gdb support). It's mainly intended for internal 
usage for now, the Red/System one can be useful to locate runtime 
errors in source code (usable, but still needs some fixes though).
DocKimbel:
1-Nov-2012
It's probably a CALL issue, we had similar issues a year ago, and 
it was CALL-related IIRC. I and Peter need to install a Win8 system 
to be able to debug that.
Andreas:
15-Nov-2012
Ladislav, I fully agree. I don't think that "0 points backwards" 
is particularly elegant either, but I'm willing to explain it ("0 
points to the element before 1") and find it much better than having 
to explain when and why you have to very careful with computing indices, 
or even debug (R2) code that was written unaware of this fact.
DocKimbel:
8-Dec-2012
In REBOL, 'a and 'A are aliases of the same symbol. Red/System converts 
them to their integer identifier, right?


Symbols have two representations in Red compiler, one is at runtime 
(like in REBOL), the other is a compile-time, in the form of Red/System 
variables. In a very early version of the compiler, I was using integers 
(indexes in symbol table) instead of variables, but quickly realizef 
that it was obfuscating the generated Red/System code a lot, making 
it difficult to debug. Also, the integer approach had an additional 
runtime cost at it required to make an array access in order to retrieve 
the symbol value.


Currently, the Red/System ~<name> variables directly point to a word! 
value version, instead of a symbol! for simplicity and efficiency.
Gerard:
26-Dec-2012
@ Doc : Will the interpreter have included (some time in the future) 
some of the debug features planned for R3 (Hooks, stack ops, etc...) 
? That would be nice but it's just my wish list ;-)
Gerard:
26-Dec-2012
Hi Doc: Here is about the above Debug Hook mention. It is drawn from 
http://www.rebol.net/r3blogs/0011.html.Don't miss some interesting 
comments from the 16 then  posted.
DocKimbel:
26-Dec-2012
Gerard: thanks for the links. It is too early for debug hooks, when 
Red IDE will be there, it will be completly integrated with Red, 
so those debug hooks as a public interface will probably be unnecessary.
DocKimbel:
7-Mar-2013
State of Red's PARSE: 


It's not on the roadmap because it's too low-level for the bird view 
(maybe I need to add it anyway?). Moreover, PARSE is not (for now) 
useful for the internal construction of Red/System and Red, so from 
that perspective, it's quite low-priority.


OTOH, it is quite simple to implement in Red/System, and users could 
see that as a sign of good progress, so I probably need to schedule 
it for a weekend to implement a R2-level PARSE (with a couple of 
features from R3's PARSE) and a few more days to test and debug it.


Also, Gabriele is interested in implementing a "compiled" PARSE version 
for Red, but unfortunately, Red has not yet all the features that 
Gab needs for it (mainly object! support). So, he's waiting on me 
to get Red ready first.


As currently, object! support is much more important to implement 
(for completing the context/binding model of Red and enabling ports) 
than PARSE, you might get Gab's version first. Also if it's fast 
enough, I wouldn't need to make a Red/System version then.


Last but not least, I don't agree with 100% of the changes/addition 
in PARSE for R3, so I would need to review R3 parse and make a "cleaned-up" 
version for Red. Also, Topaz has some interesting improvements on 
PARSE what I might want to include in Red's version too, so that 
needs a bit of preliminary review work.


So, as you can see, it's hard to give you a precise timeframe, I 
guess we would have a first version of it during Q2 2013.
Kaj:
8-Mar-2013
It's hard to debug in the interpreter because it doesn't warn for 
undefined values. Would that be much work to implement?
Pekr:
9-Mar-2013
Doc, will we have anything like R3 environment stuff - e.g. delayed 
loading/bootstraping, some debug stuff, being able to trace memory, 
time of running app, etc?
DocKimbel:
24-Mar-2013
Have you compiled the console in debug mode? (-d option)
DocKimbel:
9-May-2013
Java: "write once, debug everywhere" ;-)
DocKimbel:
8-Jun-2013
I use a Linux/ARM image running on QEMU to help me debug the low-level 
parts of Android port (which is a really hostile environment for 
low-level coding).
Gerard:
11-Jun-2013
@Arnold and Pekr : What is the current behaviour of the Hello.apk 
? I thought it was displaying some welcome msg and then askin for 
some input before disappearing gracefully. Now on my machine a while 
screen is displayed with a "Hello" as its window name and nothing 
else is going on.... For the previous Red/System Hello, something 
almost similar was going on too. So it's not for the Red part fault 
but it is due to the lower layer ... I knew this but I can't diagnose 
what ios coming myself as I'm missing some vital knowlwdge here to 
be really helpful to debug anything ... on my own - sorry for having 
acquired some product in the first pioneers just to test how this 
kind of product was running on Android. I required some Flash and 
my Apple products just could'nt do it - but my tablet Android tablet 
was much slower on display than my iDevices. Hope that under Red 
and Red/System there will be some products running at full speed 
- if not I plan to let it go at a real bargain price very soon ... 
to get some more powerful device ASAP.
Arnold:
15-Jun-2013
I can specify Release or Debug. I used the Debug up till now.
loop 1000 times Red/System script 
real	0m18.446s
user	0m18.385s
sys	0m0.023s
Then I have 
real	0m2.424s
user	0m2.405s
sys	0m0.006s

My C is not what is used to be. No doubechecked should do same loop. 
Well if this is the case there is some improvement ahead.
Arnold:
16-Jun-2013
Thanks for the compliment Doc, not really sure what you mean exactly 
by making it more like Red/System and less C: use more descriptive 
names? I will take a closer look at some ed/System examples out there.

Thanks Kaj for finding those and for the tips, the size of MM makes 
it the same in effect in this case, but it has to be <= then. Program 
not crashing, I was lucky then! off-by-one errors? My index goes 
from 1 up, where in C it is from 0 up, I had to debug this to make 
sure elements were swapped in the same way as in the original program. 
That is also why I declare KKP and LLP to as to save from adding 
1 to KK and LL over and over again. 


Knuth's algorythm was the first one I found, and I knew already of 
its existence, so it made sense to use what you have. Sure my Red/System 
code is not optimised.


Going to work on it now and tomorrow, and later I take on the Twister. 
It is a good exercise!
DocKimbel:
24-Jun-2013
The only reasons I can think of for that issue are:
1) Not enough internal memory available for new apps.
2) You have a debug version of the same app already installed.
DocKimbel:
24-Jun-2013
The difference is that the new one is supposed to work. :-) Have 
you uninstalled the previous one? (It was most probably a "debug" 
version you had while the new one is a "release" version, this is 
one of the cases where the installer would block the new app installation)
DocKimbel:
24-Jun-2013
Okay, AdrianS install problem is solved (debug vs release version 
signature conflict). So, so far, no reported issues with the new 
Red APK! :-)
Bo:
25-Jun-2013
I tried the until [no], but the console window just flashes up and 
disappears really quickly.  I'm assuming that's because it is erroring 
out.  Is there any document on how to debug this type of thing?
Bo:
26-Jun-2013
I have this bit of Red/System code that I wrote, but for some reason, 
it just closes the console window.  So I don't know if there is an 
error, and if there was, how would I debug it?

#include %../C-library/ANSI.reds

img1: as-binary 0
size1: 0
img2: as-binary 0
size2: 0

img1: read-file-binary "img1.bin" :size1

print-line img1
print-line size1

print-line as integer! img1/1

img2: read-file-binary "img2.bin" :size2

print-line img2
print-line size2

img3: as-binary size1

i: 0
until [
	i: i + 1
	img3/i: img2/i - img1/i
	i = size1
]

write-file-binary "img3.bin" img3 size1

until [no]
DocKimbel:
27-Jun-2013
Bo, it seems you're starting Red/System programs by clicking on them? 
If that's the case, it's not the best way to debug such programs. 
You need to open a DOS window and launch the programs from there. 
The window will never close, so you'll be able to see all the messages 
and avoid doing infinite loops at the end of your code.
Kaj:
7-Jul-2013
Red/System []

#import ["ntoskrnl.exe" stdcall [

 log-error: "DbgPrint" [				"Print formatted message to debug log."
		[variadic]
		; format		[c-string!]
		;	value		[variant!]
		;	...
	]
]]

on-load: function ["DriverEntry"
	DriverObject	[driver-object!]
	RegistryPath 	[byte-ptr!]
	return:			[integer!]
][
	log-error "Hello Red/System from Windows kernel driver!"
	0
]
Kaj:
9-Jul-2013
Early results were that PE format is less complex than ELF, but if 
you count in debug extensions, it's the other way around
Kaj:
9-Jul-2013
Well, MS not wanting people to debug their software explains a lot
Kaj:
9-Jul-2013
With Red, you'll be able to debug your programs on the other platforms, 
before running them on Windows
DocKimbel:
18-Jul-2013
Bo: The issue I had to fight with in my hotel room was just that 
my own prebol replacement lib was adding  an extra layer of MOLDing 
to the input source, because of the workarounds to avoid the #include 
(and others) directive collisions. This resulted in disabling some 
parts of the code leading to  odd runtime errors. I couldn't focus 
enough on it to see it that night because I was too exhausted and 
wanted to listen to the discussion at the same time. :-) (For others: 
my room was a kind of meeting point in the hotel ;-)).


To debug that, I reproduced the preprocessing changes step by step 
in a console until I located the "disabled" parts of the code, once 
I PROBEd those parts in the console, the cause was clear and the 
fix easy.
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
Kaj:
7-Jul-2013
To view the debug message generated by sc start, you need to install 
a (kernel) debug tool such as DebugView, and enable kernel debugging 
in the Windows boot options.


Other than that, you should see sc query showing the driver as running.
Group: Ann-Reply ... Reply to Announce group [web-public]
DocKimbel:
20-Sep-2012
Ah, found a verbose: 1 left in natives.reds thanks to your presentation...and 
the code is missing a macro....funny way to debug/improve my own 
code. ;-)
Maxim:
19-Oct-2012
MSVCRT.DLL errors are often related to compiling in Debug mode or 
version mismatch in installed redistributables with requried ones.
Andreas:
11-Jan-2013
debug builds: maybe. i'd like to get this added to the mainline sources 
first. once that's done, i'm still not so sure if they really are 
that useful at the moment, as I think they won't help much without 
a build environment set up.
Andreas:
11-Jan-2013
well, with the basic build farm in place and the website launched, 
i'll maybe get to some more build process revisions (including debug 
builds) soon.
Andreas:
19-Jul-2013
So to work on / debug R3-GUI (Cyphre please correct me, if I'm wrong):

;; Load INCLUDE (once)
>>  do https://raw.github.com/saphirion/include/master/include.r


;; (Re-)load R3-GUI (multiple times; assumes you are in the R3-GUI 
toplevel directory)
>> include %loader/loader.r3
Group: Rebol School ... REBOL School [web-public]
Arnold:
23-Jun-2012
I have a problem renaming files. rename does not change the filename 
on MacOSx. In the terminal it is no problem but in my script the 
filenames are not changed.

            fileo: to-file rejoin [what-dir add-suffix naam-oud-z-ext extensie]
            filen: to-file add-suffix naam-oud-z-ext extensie
            rename fileo filen

I have tested with probe that the types are ok and with the resulting 
values for fileo and filen the rename command worked like a charm. 
Any more ideas what is happening and how to debug this further? Thanks.
Arnold:
30-Jun-2012
If I could switch it from a text to a label it would be nice. As 
yet I have this puzzling experience:
REBOL []
high-on: high-on-odd: false
swap-even: func [/local n] [

    either high-on [for n 2 8 2 [ panel-rechts/pane/:n/font/color: 'white] 
    high-on: false

    ][              for n 1 7 2 [ panel-rechts/pane/:n/font/color: 'black] 
    high-on: true ]
    show panel-rechts]

swap-odd: func [/local n] [

    either high-on-odd [for n 1 7 2 [panel-rechts/pane/:n/font/color: 
    'white

                                     panel-rechts/pane/:n/style: 'lbl-h-la-white] high-on-odd: false
    ][for n 1 7 2 [panel-rechts/pane/:n/font/color: 'black

                   panel-rechts/pane/:n/style: 'lbl-h-la-normal] high-on-odd: true]
    show panel-rechts]

spiegel-styles: stylize [
    lbl-h-la-normal: text left middle 40x100
    lbl-h-la-white: label left middle 40x100]
    
view layout [styles spiegel-styles
	across
	panel-rechts: panel [below space 0x0

    lbl-h-la-white "_" lbl-h-la-white "_" lbl-h-la-normal "_" lbl-h-la-normal 
    "_"

    lbl-h-la-normal "_" lbl-h-la-normal "_" lbl-h-la-normal "_" lbl-h-la-normal 
    "_"]
    return
    button "Even" [swap-even] button "Odd" [swap-odd]
    button "Debug" [print dump-face panel-rechts
    print panel-rechts/pane/1/font/color
    print panel-rechts/pane/1/color
    print panel-rechts/pane/1/style]
]

Where the first two labels change when button Odd is clicked. and 
then stay unchanged and the debug button shows the changes as expected 
(by me)
Sunanda:
5-Sep-2012
Caelem, D'oh moments are possible in any language.
I once wrote
    return: true
rather than
    return true

The protracted debug session that followed taught me the value of 
protect-system.
Sujoy:
10-Oct-2012
:)
is this because pool-list is empty?

i put in a debug "print" cmd in the on-new-client function of task-master.r, 
which is the only place i could see pool-list being appended to...but 
it seems the function is not called
Bo:
8-May-2013
I sometimes do that when I am trying to debug a lot of nested statements, 
because if you use parens, Rebol will let you know that it didn't 
receive something it was expecting instead of just pulling the output 
from the next nested statement.
Group: !REBOL3 ... General discussion about REBOL 3 [web-public]
AdrianS:
16-Dec-2012
Andreas, thanks for the Windows build changes. Works fine here with 
VS2012 installed. Question re. size - the exe seems about twice as 
big as the r3.exe before open sourcing - is the debug version being 
built by default?
Robert:
16-Dec-2012
Beside fixing some anyoing bugs using debug builds, one of the first 
things I'm interested in is, taking a look to move to 64bit.
AdrianS:
22-Feb-2013
Actually, to keep things as simple as possible for people, all you 
need is Code::Blocks, the CB project file and a slightly modified 
make-make.r that is soon to be checked in by Andreas (or which I 
could provide). Then, you can build from CB (and debug), navigate 
your C source propertly, etc.
Geomol:
29-May-2013
The printf ... W->P != NULL is just some debug code, that should 
be removed.
Group: !R3 Building and Porting ... [web-public]
BrianH:
4-Feb-2013
Has anyone tried building R3 on Windows with CodeBlocks? I want to 
run R3 in debug mode, to track down native bugs.
AdrianS:
4-Feb-2013
btw, there's currently no difference between the release and debug 
targets - CB just builds the all target with whatever flags were 
there. We could change this to create distinct builds, obviously.
Group: Community ... discussion about Rebol/Rebol-related communities [web-public]
AdrianS:
11-Jan-2013
Would it be worth putting what compiler switches were used for the 
builds? Do you think you'll want to provide debug builds at any point?

world-name: r3wp

Group: !AltME ... Discussion about AltME [web-public]
Pekr:
6-Aug-2006
yes, still so ... now If we had kind of debug mode, to track it down 
....
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
eFishAnt:
1-Jan-2005
ah...wait...it does work..some other debug code in my script I was 
testing it in...I had isolated the same thing he did.
DideC:
20-May-2005
Carl, Gabriele : I have created group "Debug p1.3" to continue on 
my bug and for others too
BrianH:
29-Sep-2006
If you automatically repeat the apply when appropriate, that could 
lead to some really obscure, hard-to-debug code. An /all option?
Group: Core ... Discuss core issues [web-public]
Sunanda:
10-Jan-2005
Anton -- I had to debug the problems with Sort/all/skip/compare  
-- code that worked on one platform, but failed on another. It got 
burned into the brain.
Gregg:
27-May-2005
For Post 1.3 discussion (moved here from the Debug 1.3 group) ...


What would your "perfect" FOR interface look like (anyone and everyone)? 
For me, I want it to hide the mechanical details more than CFOR does, 
and is nicer to read than the current FOR (for i 1 9 1 [...]). It 
might look like this:

for [i: from 1 to 9]	[...]
for [i: 1 .. 9 step 2]	[...]
for [i from 1..9 step 3]	[...]
for [i: 1 — 9 step 4]	[...]
for [i 0 to 1 step .1]	[...]

or maybe move the word outside the block:

for i [1 to 9]		[...]
for i [1 to 9 step 2]	[...]


Python has an Else clause, though it works backwards from what I 
expect it to; the idea is to have a clause that executes if 'break 
is used. It also has a Continue op that jumps to the head of the 
body for the next iteration.
BrianH:
18-Jun-2005
You misunderstand my point. Since Henrik was suggesting that  index? 
none  be changed to a non-erroneous condition to handle certain coding 
patterns, I was showing an example of such a pattern that can be 
accomplished with the existing index? behavior. The advantage to 
the existing index? behavior is that it forces you to deal with exceptional 
(but not erroneous) conditions closer to where they occur, and thus 
make your code easier to debug. I would write the second version 
of your example as  if pos: find data value [print index? pos]  which 
flows just as well as the first.
JaimeVargas:
13-Sep-2005
I don't know how many of this type of examples are there, but is 
quite annoying to debug these side effects.
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public]
Anton:
10-Feb-2005
REBOL is an interpreted, internet messaging language. Highly flexible, 
REBOL 

saves time by reducing the amount of code you need to write. Code 
and data are 

the same. You can find and collapse repetitive patterns in data or 
code. Write 

your own dialects. Very easy to install, test and debug. Use the 
text editor you 
like.
Sunanda:
8-Nov-2006
Apologies -- REBOL.org was unavailable for just under a day, it's 
back now.

The problem originated with the ISP, and it took them a little while 
to work out what they'd done wrong.

Using a "non-standard" language seems to have added to their debug 
time:
Extracts from two emails from the ISP's technical support:

<<Hi, Sunanda.  Sorry this is taking a bit.  As I'm sure you know 
you have

a non-standard setup :-)  We aren't familiar with it and are puzzling 
it

out.  Am I right that you have your own scripting language?  And 
that
[snipped] is the [path to the] interpreter?>>

<<Aha!  Our web server rebooted yesterday.  It's a FreeBSD server, 
and for

a reason we haven't determined yet, the Linux compatability module

didn't load.  We loaded it and your site works again.  We'll figure 
out
why that module didn't load at boot.>>
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
BrianH:
10-Jun-2005
Please do, although perhaps the Debug p1.3 or View group might be 
better for that :)
Group: Make-doc ... moving forward [web-public]
shadwolf:
11-Jan-2005
with debug on do you  see it ?
Robert:
21-Jan-2005
update: I just extended make-doc-pro to support forms. Looks like 
this:

Test of Form Dialect in make-doc-pro

=toc

=options debug

===Introduction
This file test the form generation dialect.

\form test.cgi
	cgi-bin http://localhost/cgi-bin/

	; same-width with fields & buttons
	same-width left [
		field "Name1"
		field "Name12" 10
		field "Name123" 10 20
		field "Name"
		radio "R1" [Robby Linna Bunny Blacky]

		btn-enter "Abschicken"
		btn-cancel "Abbrechen"
	]

/form
Group: Dialects ... Questions about how to create dialects [web-public]
Fork:
9-Jan-2010
Obviously people who do code golf come to it from different perspectives, 
I think Rebol's key here is just to engage by giving lively and flexible 
solutions which pique interest.  I intentionally didn't clone the 
deranged "winner" of the roman numeral contest because he'd thrown 
out the program logic, it was no longer source code.  I can edit, 
debug, and insert probe messages into mine easily.
Fork:
22-Jun-2010
As I predicted, it's actually not so bad.  Especially when you can 
break into native Rebol at any point if you want to debug (so long 
as you use lowercase!)
Group: SDK ... [web-public]
Allen:
2-May-2005
Getting this error, not sure what source files I am missing. It Is 
a simple view script that reads from http. (I'm already including 
mezz.r, prot.r, view.r) 

** Script Error: user-prefs has no value
** Where: vbug
** Near: if not dbg: user-prefs/debug [exit]
Group: XML ... xml related conversations [web-public]
BrianH:
29-Apr-2006
You can do some structural pattern matching with parse rules, but 
with how parse is currently implemented it can be a little awkward. 
The lack of arguments to parse rules make recursion quite difficult, 
and the lack of local variables make the rules difficult to use concurrently. 
It is difficult to examine both the data type and the value of elements 
in block parsing, to switch to string parsing mode for string elements, 
to parse lists, hashes or parens, to direct the parse flow based 
on semantic criteria (which is needed to work around any of these 
other problems).


And don't even get me started on the difficulties of structure rebuilding. 
The thing that is the most difficult to do in parse is the easiest 
thing to do with regexes: Search and replace. Didn't we make a web 
site years ago collecting suggestions for improving parse? Wasn't 
a replace operation one of those suggestions? What happened with 
that?


Structural pattern matching and rebuilding currently has to be done 
with a mix of parse and REBOL code that is tricky to write and debug. 
If parse doesn't get improved, I'd rather use a nice declarative 
dialect, preferably with before and after structures, and have the 
dialect processor generate the parse and REBOL code for me. If that 
dialect is powerful enough to be written in itself then we'll really 
be cooking.
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???").
Group: Hardware ... Computer Hardware Issues [web-public]
Gabriele:
2-Aug-2007
also while working on qtask i used to have the debug console on one 
monitor and the editor / browser on the other. how much faster it 
was than when i was using one monitor only!
Group: PgSQL ... PostgreSQL and REBOL [web-public]
Dockimbel:
28-Mar-2011
Yes, there's a few  insertions to do on lower-level parts. I'll take 
a few minutes to do it after lunch. Btw, I don't have any pgsql server 
available, nor have time to setup one, so I'll let you test and eventually 
debug the new version. ;-)
Group: SVG Renderer ... SVG rendering in Draw AGG [web-public]
shadwolf:
23-Jun-2005
REBOL [
	Title:		"SVG Demo"
	Owner:		"Ashley G. Trüter"
	Version:	0.0.1
	Date:		21-Jun-2005
	Purpose:	"Loads and displays a resizeable SVG file."
	History: {
		0.0.1	Initial release
	}
	Notes: {
		Tested on very simple SVG icons
		Only a few basic styles / attributes / commands supported

  Does not handle sizes in units other than pixels (e.g. pt, in, cm, 
  mm, etc)

  SVG path has an optional close command, "z" ... AGG shape equivalent 
  auto-closes

  load-svg function needs to be totally refactored / optimized ... 
  *sample only*
	}
]

;	The following commands are available for path data:
;
;		M = moveto
;		L = lineto
;		H = horizontal lineto
;		V = vertical lineto
;		C = curveto
;		S = smooth curveto
;		Q = quadratic Belzier curve
;		T = smooth quadratic Belzier curveto
;		A = elliptical Arc
;		Z = closepath

;print: none	; comment out this line to enable debug messages

load-svg: function [svg-file [file! string!] size [pair!]] [

 id defs x y to-color to-byte draw-blk append-style svg-size scale-x 
 scale-y
][
	xml: either string? svg-file [parse-xml svg-file] [

  unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"]
		parse-xml read svg-file
	]

 unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"]

 ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find 
 ID header!"]

 ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"]

	id: xml/3/1/2
	defs: xml/3/1/3


	;
	;	--- Parse SVG id
	;

	svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [
		switch select id "width" [
			"72pt"	[120x120]
			"48pt"	[80x80]
			"32pt"	[60x60]
		]
	][

  as-pair to integer! any [select id "width" "100"] to integer! any 
  [select id "height" "100"]
	]

	x: to integer! any [select id "x" "0"]
	y: to integer! any [select id "y" "0"]

	scale-x: size/x / svg-size/x
	scale-y: size/y / svg-size/y

	;
	;	--- Helper functions
	;


 to-color: func [s [string!]] [	; converts a string in the form "#FFFFFF" 
 to a 4-byte tuple
		to tuple! load rejoin ["#{" next s "00}"]
	]


 to-byte: func [s [string!]] [	; converts a string with a value 0-1 
 to an inverted byte
		255 - to integer! 255 * to decimal! s
	]

	;
	;	--- Parse SVG defs
	;

	draw-blk: copy []

	append-style: function [
		command [string!] blk [block!]
	][
		x xy pen-color fill-color line-width mode size radius shape
		closed? matrix transf-command
	][
		xy: 0x0
		size: 0x0
		line-width: 1
		matrice: make block! []
		radius: none
		transf-command: none
		
		
		foreach [attr val] blk [
			switch attr [
				"transform" [print "tranform have been found" 
						;probe val halt 
						val: parse val "(),"
						transf-command: first val
						probe transf-command
						switch transf-command [
							"matrix" [ 
								foreach word val [
									if not find word "matrix"
									[ 
										insert tail matrice to-decimal word
									]
								]
							
							]
						]
				]
				"style" [
					foreach [attr val] parse val ":;" [
						switch/default attr [
						
							"font-size" [ ]
							"stroke" [
								switch/default first val [
									#"#" [pen-color: to-color val]
									#"n" [pen-color: none]
								][
									print ["Unknown stroke:" val]
								]
							]
							"stroke-width" [line-width: to decimal! val]
							"fill" [
								fill-color: switch/default first val [
									#"#" [to-color val]
									#"n" [none]
								][
									print ["Unknown fill value:" val]
									none
								]
							]
							"fill-rule" [
								mode: switch/default val [
									"evenodd"	['even-odd]
								][
									print ["Unknown fill-rule value:" val]
									none
								]
							]

       "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: 
       to-byte val]

       "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: 
       to-byte val]
							"stroke-linejoin" [
								insert tail draw-blk switch/default val [
									"miter"		[compose [line-join miter]]
									"round"		[compose [line-join round]]
									"bevel"		[compose [line-join bevel]]
								][
									print ["Unknown stroke-linejoin value:" val]
									none
								]
							]
							"stroke-linecap" [
								insert tail draw-blk 'line-cap
								insert tail draw-blk to word! val
							]
						][
							print ["Unknown style:" attr]
						]
					]
				]
				"x"			[xy/x: scale-x * val]
				"y"			[xy/y: scale-y * val]
				"width"		[size/x: scale-x * val]
				"height"	[size/y: scale-y * val]
				"rx"		[print "rx"]
				"ry"		[radius: to decimal! val]
				"d"	[
					shape: copy []
					x: none
					closed?: false
					foreach token load val [
						switch/default token [
							M	[insert tail shape 'move]
							C	[insert tail shape 'curve]
							L	[insert tail shape 'line]
							z	[closed?: true]
						][

       unless number? token [print ["Unknown path command:" token]]

       either x [insert tail shape as-pair x scale-y * token x: none] [x: 
       scale-x * token]
						]
					]
				]
			]
		]
		insert tail draw-blk compose [
			pen (pen-color)
			fill-pen (fill-color)
			fill-rule (mode)
			line-width (line-width * min scale-x scale-y)
		]
		switch command [
			"rect" [
				insert tail draw-blk compose [box (xy) (xy + size)]
				if radius [insert tail draw-blk radius]
			]
			"path" [
				unless closed? [print "Path closed"]
				either transf-command <> none  [
					switch transf-command [

      "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) 
      (matrice) shape (shape) reset-matrix]]
					]
				][
					insert tail draw-blk compose/only [shape (shape)]
			 	]
				]

   "g" [ print "Write here how to handle G insertion to Draw block" 

    insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) 
    (matrice)]
				
				]
			]
	]	
  
	probe defs
	foreach blk defs [
		switch first blk [
			"rect"	[append-style first blk second blk]
			"path"	[append-style first blk second blk]
			"g"		[
						print "key word" probe first blk  
						print "matrix and style in G" probe second blk  
						append-style first blk second blk 
						;print "what to draw in G" probe third blk
						foreach blk2 third blk [
							probe blk2
							switch first blk2[ 
								"path" [append-style first blk2 second blk2]
							]
						]
					]
		]
	]
	
	
probe draw-blk
	draw-blk
]

view make face [
	offset:	100x100
	size:	200x200
	action:	request-file/filter/only "*.svg"
	text:	rejoin ["SVG Demo [" last split-path action "]"]
	data:	read action
	color:	white
	effect:	compose/only [draw (load-svg data size)]
	edge: font: para: none
	feel: make feel [
		detect: func [face event] [
			if event/type = 'resize [
				insert clear face/effect/draw load-svg face/data face/size
				show face
			]
			if event/type = 'close [quit]
		]
	]
	options: [resize]
]
shadwolf:
23-Jun-2005
REBOL [
	Title:		"SVG Demo"
	Owner:		"Ashley G. Trüter"
	Version:	0.0.1
	Date:		21-Jun-2005
	Purpose:	"Loads and displays a resizeable SVG file."
	History: {
		0.0.1	Initial release
	}
	Notes: {
		Tested on very simple SVG icons
		Only a few basic styles / attributes / commands supported

  Does not handle sizes in units other than pixels (e.g. pt, in, cm, 
  mm, etc)

  SVG path has an optional close command, "z" ... AGG shape equivalent 
  auto-closes

  load-svg function needs to be totally refactored / optimized ... 
  *sample only*
	}
]

;	The following commands are available for path data:
;
;		M = moveto
;		L = lineto
;		H = horizontal lineto
;		V = vertical lineto
;		C = curveto
;		S = smooth curveto
;		Q = quadratic Belzier curve
;		T = smooth quadratic Belzier curveto
;		A = elliptical Arc
;		Z = closepath

;print: none	; comment out this line to enable debug messages

load-svg: function [svg-file [file! string!] size [pair!]] [

 id defs x y to-color to-byte draw-blk append-style svg-size scale-x 
 scale-y
][
	xml: either string? svg-file [parse-xml svg-file] [

  unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"]
		parse-xml read svg-file
	]

 unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"]

 ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find 
 ID header!"]

 ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"]

	id: xml/3/1/2
	defs: xml/3/1/3


	;
	;	--- Parse SVG id
	;

	svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [
		switch select id "width" [
			"72pt"	[120x120]
			"48pt"	[80x80]
			"32pt"	[60x60]
		]
	][

  as-pair to integer! any [select id "width" "100"] to integer! any 
  [select id "height" "100"]
	]

	x: to integer! any [select id "x" "0"]
	y: to integer! any [select id "y" "0"]

	scale-x: size/x / svg-size/x
	scale-y: size/y / svg-size/y

	;
	;	--- Helper functions
	;


 to-color: func [s [string!]] [	; converts a string in the form "#FFFFFF" 
 to a 4-byte tuple
		to tuple! load rejoin ["#{" next s "00}"]
	]


 to-byte: func [s [string!]] [	; converts a string with a value 0-1 
 to an inverted byte
		255 - to integer! 255 * to decimal! s
	]

	;
	;	--- Parse SVG defs
	;

	draw-blk: copy []

	append-style: function [
		command [string!] blk [block!]
	][
		x xy pen-color fill-color line-width mode size radius shape
		closed? matrix transf-command
	][
		xy: 0x0
		size: 0x0
		line-width: 1
		matrice: make block! []
		radius: none
		transf-command: none
		
		
		foreach [attr val] blk [
			switch attr [
				"transform" [print "tranform have been found" 
						;probe val halt 
						val: parse val "(),"
						transf-command: first val
						probe transf-command
						switch transf-command [
							"matrix" [ 
								foreach word val [
									if not find word "matrix"
									[ 
										insert tail matrice to-decimal word
									]
								]
							
							]
						]
				]
				"style" [
					foreach [attr val] parse val ":;" [
						switch/default attr [
						
							"font-size" [ ]
							"stroke" [
								switch/default first val [
									#"#" [pen-color: to-color val]
									#"n" [pen-color: none]
								][
									print ["Unknown stroke:" val]
								]
							]
							"stroke-width" [line-width: to decimal! val]
							"fill" [
								fill-color: switch/default first val [
									#"#" [to-color val]
									#"n" [none]
								][
									print ["Unknown fill value:" val]
									none
								]
							]
							"fill-rule" [
								mode: switch/default val [
									"evenodd"	['even-odd]
								][
									print ["Unknown fill-rule value:" val]
									none
								]
							]

       "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: 
       to-byte val]

       "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: 
       to-byte val]
							"stroke-linejoin" [
								insert tail draw-blk switch/default val [
									"miter"		[compose [line-join miter]]
									"round"		[compose [line-join round]]
									"bevel"		[compose [line-join bevel]]
								][
									print ["Unknown stroke-linejoin value:" val]
									none
								]
							]
							"stroke-linecap" [
								insert tail draw-blk 'line-cap
								insert tail draw-blk to word! val
							]
						][
							print ["Unknown style:" attr]
						]
					]
				]
				"x"			[xy/x: scale-x * val]
				"y"			[xy/y: scale-y * val]
				"width"		[size/x: scale-x * val]
				"height"	[size/y: scale-y * val]
				"rx"		[print "rx"]
				"ry"		[radius: to decimal! val]
				"d"	[
					shape: copy []
					x: none
					closed?: false
					foreach token load val [
						switch/default token [
							M	[insert tail shape 'move]
							C	[insert tail shape 'curve]
							S   [insert tail shape 'curv]
							L	[insert tail shape 'line]
							Q   [insert tail shape 'qcurve]
							T   [insert tail shape 'qcurv]
							z	[closed?: true]
							H   [insert tail shape 'hline]
							V   [insert tail shape 'vline]
							A   [insert tail shape 'arc]
						][

       unless number? token [print ["Unknown path command:" token]]

       either x [insert tail shape as-pair x scale-y * token x: none] [x: 
       scale-x * token]
						]
					]
				]
			]
		]
		insert tail draw-blk compose [
			pen (pen-color)
			fill-pen (fill-color)
			fill-rule (mode)
			line-width (line-width * min scale-x scale-y)
		]
		switch command [
			"rect" [
				insert tail draw-blk compose [box (xy) (xy + size)]
				if radius [insert tail draw-blk radius]
			]
			"path" [
				unless closed? [print "Path closed"]
				either transf-command <> none  [
					switch transf-command [

      "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) 
      (matrice) shape (shape) reset-matrix]]
					]
				][
					insert tail draw-blk compose/only [shape (shape)]
			 	]
				]

   "g" [ print "Write here how to handle G insertion to Draw block" 

    insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) 
    (matrice)]
				
				]
			]
	]	
  
	probe defs
	foreach blk defs [
		switch first blk [
			"rect"	[append-style first blk second blk]
			"path"	[append-style first blk second blk]
			"g"		[
						print "key word" probe first blk  
						print "matrix and style in G" probe second blk  
						append-style first blk second blk 
						;print "what to draw in G" probe third blk
						foreach blk2 third blk [
							probe blk2
							switch first blk2[ 
								"path" [append-style first blk2 second blk2]
							]
						]
					]
		]
	]
	
	
probe draw-blk
	draw-blk
]

view make face [
	offset:	100x100
	size:	200x200
	action:	request-file/filter/only "*.svg"
	text:	rejoin ["SVG Demo [" last split-path action "]"]
	data:	read action
	color:	white
	effect:	compose/only [draw (load-svg data size)]
	edge: font: para: none
	feel: make feel [
		detect: func [face event] [
			if event/type = 'resize [
				insert clear face/effect/draw load-svg face/data face/size
				show face
			]
			if event/type = 'close [quit]
		]
	]
	options: [resize]
]
shadwolf:
23-Jun-2005
REBOL [
	Title:		"SVG Demo"
	Owner:		"Ashley G. Trüter"
	Version:	0.0.1
	Date:		21-Jun-2005
	Purpose:	"Loads and displays a resizeable SVG file."
	History: {
		0.0.1	Initial release
	}
	Notes: {
		Tested on very simple SVG icons
		Only a few basic styles / attributes / commands supported

  Does not handle sizes in units other than pixels (e.g. pt, in, cm, 
  mm, etc)

  SVG path has an optional close command, "z" ... AGG shape equivalent 
  auto-closes

  load-svg function needs to be totally refactored / optimized ... 
  *sample only*
	}
]

;	The following commands are available for path data:
;
;		M = moveto
;		L = lineto
;		H = horizontal lineto
;		V = vertical lineto
;		C = curveto
;		S = smooth curveto
;		Q = quadratic Belzier curve
;		T = smooth quadratic Belzier curveto
;		A = elliptical Arc
;		Z = closepath

;print: none	; comment out this line to enable debug messages

load-svg: function [svg-file [file! string!] size [pair!]] [

 id defs x y to-color to-byte draw-blk append-style svg-size scale-x 
 scale-y
][
	xml: either string? svg-file [parse-xml svg-file] [

  unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"]
		parse-xml read svg-file
	]

 unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"]

 ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find 
 ID header!"]

 ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"]

	id: xml/3/1/2
	defs: xml/3/1/3


	;
	;	--- Parse SVG id
	;

	svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [
		switch select id "width" [
			"72pt"	[120x120]
			"48pt"	[80x80]
			"32pt"	[60x60]
		]
	][

  as-pair to integer! any [select id "width" "100"] to integer! any 
  [select id "height" "100"]
	]

	x: to integer! any [select id "x" "0"]
	y: to integer! any [select id "y" "0"]

	scale-x: size/x / svg-size/x
	scale-y: size/y / svg-size/y

	;
	;	--- Helper functions
	;


 to-color: func [s [string!]] [	; converts a string in the form "#FFFFFF" 
 to a 4-byte tuple
		to tuple! load rejoin ["#{" next s "00}"]
	]


 to-byte: func [s [string!]] [	; converts a string with a value 0-1 
 to an inverted byte
		255 - to integer! 255 * to decimal! s
	]

	;
	;	--- Parse SVG defs
	;

	draw-blk: copy []

	append-style: function [
		command [string!] blk [block!]
	][
		x xy pen-color fill-color line-width mode size radius shape
		closed? matrix transf-command
	][
		xy: 0x0
		size: 0x0
		line-width: 1
		matrice: make block! []
		radius: none
		transf-command: none
		
		
		foreach [attr val] blk [
			switch attr [
				"transform" [print "tranform have been found" 
						;probe val halt 
						val: parse val "(),"
						transf-command: first val
						probe transf-command
						switch transf-command [
							"matrix" [ 
								foreach word val [
									if not find word "matrix"
									[ 
										insert tail matrice to-decimal word
									]
								]
							
							]
						]
				]
				"style" [
					foreach [attr val] parse val ":;" [
						switch/default attr [
						
							"font-size" [ ]
							"stroke" [
								switch/default first val [
									#"#" [pen-color: to-color val]
									#"n" [pen-color: none]
								][
									print ["Unknown stroke:" val]
								]
							]
							"stroke-width" [line-width: to decimal! val]
							"fill" [
								fill-color: switch/default first val [
									#"#" [to-color val]
									#"n" [none]
								][
									print ["Unknown fill value:" val]
									none
								]
							]
							"fill-rule" [
								mode: switch/default val [
									"evenodd"	['even-odd]
								][
									print ["Unknown fill-rule value:" val]
									none
								]
							]

       "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: 
       to-byte val]

       "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: 
       to-byte val]
							"stroke-linejoin" [
								insert tail draw-blk switch/default val [
									"miter"		[compose [line-join miter]]
									"round"		[compose [line-join round]]
									"bevel"		[compose [line-join bevel]]
								][
									print ["Unknown stroke-linejoin value:" val]
									none
								]
							]
							"stroke-linecap" [
								insert tail draw-blk 'line-cap
								insert tail draw-blk to word! val
							]
						][
							print ["Unknown style:" attr]
						]
					]
				]
				"x"			[xy/x: scale-x * val]
				"y"			[xy/y: scale-y * val]
				"width"		[size/x: scale-x * val]
				"height"	[size/y: scale-y * val]
				"rx"		[print "rx"]
				"ry"		[radius: to decimal! val]
				"d"	[
					shape: copy []
					x: none
					closed?: false
					if all [x not number? token] [

          insert tail shape x * either token = 'V [scale-y][scale-x]
  						    x: none
					]
					foreach token load val [
						switch/default token [
							M	[insert tail shape 'move]
							C	[insert tail shape 'curve]
							S   [insert tail shape 'curv]
							L	[insert tail shape 'line]
							Q   [insert tail shape 'qcurve]
							T   [insert tail shape 'qcurv]
							z	[closed?: true]
							H   [insert tail shape 'hline]
							V   [insert tail shape 'vline]
							A   [insert tail shape 'arc]
						][

       unless number? token [print ["Unknown path command:" token]]

       either x [insert tail shape as-pair x scale-y * token x: none] [x: 
       scale-x * token]
						]
					]
				]
			]
		]
		insert tail draw-blk compose [
			pen (pen-color)
			fill-pen (fill-color)
			fill-rule (mode)
			line-width (line-width * min scale-x scale-y)
		]
		switch command [
			"rect" [
				insert tail draw-blk compose [box (xy) (xy + size)]
				if radius [insert tail draw-blk radius]
			]
			"path" [
				unless closed? [print "Path closed"]
				either transf-command <> none  [
					switch transf-command [

      "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) 
      (matrice) shape (shape) reset-matrix]]
					]
				][
					insert tail draw-blk compose/only [shape (shape)]
			 	]
				]

   "g" [ print "Write here how to handle G insertion to Draw block" 

    insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) 
    (matrice)]
				
				]
			]
	]	
  
	probe defs
	foreach blk defs [
		switch first blk [
			"rect"	[append-style first blk second blk]
			"path"	[append-style first blk second blk]
			"g"		[
						print "key word" probe first blk  
						print "matrix and style in G" probe second blk  
						append-style first blk second blk 
						;print "what to draw in G" probe third blk
						foreach blk2 third blk [
							probe blk2
							switch first blk2[ 
								"path" [append-style first blk2 second blk2]
							]
						]
					]
		]
	]
	
	
probe draw-blk
	draw-blk
]

view make face [
	offset:	100x100
	size:	200x200
	action:	request-file/filter/only "*.svg"
	text:	rejoin ["SVG Demo [" last split-path action "]"]
	data:	read action
	color:	white
	effect:	compose/only [draw (load-svg data size)]
	edge: font: para: none
	feel: make feel [
		detect: func [face event] [
			if event/type = 'resize [
				insert clear face/effect/draw load-svg face/data face/size
				show face
			]
			if event/type = 'close [quit]
		]
	]
	options: [resize]
]
Group: Sound ... discussion about sound and audio implementation in REBOL [web-public]
Rebolek:
27-Jun-2005
and look at debug output in console
Group: Rebol School ... Rebol School [web-public]
Graham:
22-Jun-2007
So, I can debug my programs in the bath :)
PatrickP61:
25-Jun-2007
As a newbie, what suggestions do you have for me to debug my rebol 
scripts.  For example, I have a script called "Convert_to_Table" 
that I am just starting to write.  I can execute it -stand alone- 
and see the results of the run, but what I would like to do is be 
able to see what the console has for any values.  In other words, 
when I double click the "Convert_to_Table" I can see the results 
but not ask the console questions like print Count or the like.  
How do you suggest a newbie debug a script?  Should I go into console 
first and then perform a "do Convert_to_Table" and then be able to 
ask questions of console, or is there another way?.
Group: rebcode ... Rebcode discussion [web-public]
Gabriele:
12-Oct-2005
(there's an infinite loop in my compiler using your example, i'll 
need to debug it later - too sleepy now ;)
BrianH:
15-Oct-2005
Heck, in debug mode I would like all of the opcodes to act as invalid-as-error.
Group: AJAX ... Web Development Using AJAX [web-public]
Robert:
23-Apr-2006
I really don't understand all the buzz about Ajax. About 1998/1999 
a friend of mine and I made a remote Javascript debugger that used 
IFrames to update the client page without reloading. And we were 
able to remote debug the client side. The problem was, that we really 
drove the Javascript and DOM engines to the limit...
Group: Tech News ... Interesting technology [web-public]
Volker:
14-May-2006
Options are debug-mode, or pointing out that other things are checked 
too.
Group: Postscript ... Emitting Postscript from REBOL [web-public]
Henrik:
23-Feb-2008
I think it's easier to debug it in ghostscript. The printers I've 
tried this on will not print stack information. Perhaps only if I 
dive really deep into the capabilities of the printer, which I have 
no time for.
Group: !Liquid ... any questions about liquid dataflow core. [web-public]
Maxim:
16-Feb-2007
by manual I mean, that you will decide what to debug BEFORE running 
code as opposed to after.
Volker:
19-May-2007
Just in Mozilla: Was reading rss in sage, opened bookmark-editor, 
moved bookmarks, sage was updated. i think liquid is for such things. 
also the wiring can be shown graphically. Have seen that with Visual 
Age did that long ago. If it is well done its not a bad idea. I still 
fear it will be hard to debug, since all this wiring is invisible. 
Or maybe: it was to easy to create for me. BAck in that days i found 
such connetion-stuff cool and created a lot spagethi. (was not using 
VA, that method worked with pure oops too^^)
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Terry:
29-May-2007
You can debug my code anytime Petr
Dockimbel:
1-Jun-2007
That's because the DEBUG mode is activated by default in these beta 
releases. To get ride of it, just edit the httpd.cfg file , find 
the webapp "/testapp" option block and remove the 'debug keyword 
 (then restart the server).
btiffin:
1-Jun-2007
With debug, Redirection Catched.
Without  loops to login screen over and tover
Graham:
2-Jun-2007
what does the debug say?
btiffin:
2-Jun-2007
If I turn on debug in webapp in httpd.cfg I get the  Redirection 
catched  everytime.


The contents are empty, before and after the "POST", but I'm not 
sure since the

redirect is plopping me back at login.rsp.   Even empty when I change 
the form
to method="GET" and hit return...
btiffin:
2-Jun-2007
Turn off debug in httpd.cfg
Graham:
2-Jun-2007
I'm getting a few crashes using rsp with debug turned off :(
Graham:
4-Jun-2007
when debug is true?
Graham:
9-Jun-2007
in the rsp debug
MikeL:
15-Jun-2007
webapp [
		virtual-root "/cgi-bin"
		root-dir %/c/xitami/cgi-bin/
		debug    
  ]
Pekr:
5-Jul-2007
modules [
;	userdir
	internal
	static
	action
	fastcgi
	rsp
	ssi
	alias
;	embed
]

globals [
	bind SSI to [.shtml .shtm]
	bind fastcgi to [.php .php3 .php4]
	
	bind-extern CGI to [.cgi .r]
	bind-extern RSP to [.j .rsp]
	
;	user  nobody
;	group nobody

]

default [
	root-dir  %/c/!Docs-private/Xidys/cheyenne-r0914/Cheyenne/www/
	
	default [%index.html %index.rsp %index.php]
	
	on-status-code [
		404	  "/custom404.html"
	]
	
	webapp [
		virtual-root "/testapp"
		root-dir %www/testapp/
		auth "/testapp/login.rsp"
		debug
	]
	
;	"/" [
;		redirect http://softinnov.org
;	]
	
;	extern fastcgi [
;		command	 "php -b $port"
;		pool 	 min 1 max 4
;		server	 127.0.0.1 ; port 1234
;		root-dir "/home/dk/fcgi/"
;	]
] 

;rebol.si.org [
;	root-dir %//dev/si-org/old/
;	default %main.html
;	
;	redirect 301 "/mysql*" "http://si.org/rebol/mysql.shtml"
;	redirect 301 "/rebox*" "http://si.org/rebol/rebox.shtml"
;	redirect 301 "/"	   "http://si.org"
;]

; ###
; To add a new virtual host just duplicate and fill the following
; example host :
;
; my.vhost.com [
;	root-dir %/www/			; documents root directory
;	default [...]			; default files
; ]	
; ###
Dockimbel:
12-Jul-2007
Cheyenne new version 0.9.16 is ready. The new FastCGI multiplexed 
support took me some time to debug, but the resulting PHP interfacing 
is now really stable. I just need to update the RSP API doc and run 
a few tests, so the download link will be published here in a couple 
of hours.
Pekr:
17-Jul-2007
I would like to help debug, what the trouble is, just don't know 
why. Maybe I will set-up WireShark (Ethereal) during my vacation 
next week ...
Group: Games ... talk about using REBOL for games [web-public]
ICarii:
29-Jun-2007
The green and red writing is debug messages showig cards - this will 
not be visible in final.  White text is currently played card(s) 
this is also replaced by actual cards in final
ICarii:
30-Jun-2007
RebTower 0.0.4 released.  This version is playable :)
Quick notes:

left click a card to select it (it will enlarge in size) then either 
left click it again to replace it or right (Alt) click it to play 
it.

only cards that are alpha/0 (ie solid)  can be played unless you 
are discarding.
if all your cards are transparent you will have to discard.

the object of the game is to destroy your oponnents tower while keeping 
yours alive.


Yes, I know the debug info is still displaying - the final image 
cards are not ready yet :)
ICarii:
30-Jun-2007
version 5 released: http://rebol.mustard.co.nz/rebtower-0.0.5.zip
notes:
0.0.5 	fixed card font display, rebalanced deck (somewhat)
- removed debug-info
- resources: right justified text
1 / 505[1] 23456