• 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
r4wp93
r3wp1079
total:1172

results window for this page: [start: 401 end: 500]

world-name: r3wp

Group: All ... except covered in other channels [web-public]
Gabriele:
7-Jan-2005
real P2P (i.e. fully distributed) has *NO* central site
Gabriele:
15-Jan-2005
i.e. ahttp://youripaddress:2222
Graham:
17-Jan-2005
anyone know of a command line unzip util that preserves case?  

I tried pkunzip -e -o and all the files were extracted in uppercase.
Group: Ann-Reply ... Reply to Announce group [web-public]
Ashley:
7-Apr-2008
I need some advice on what lotto numbers to purchase

 ... any and all above 31. You won't increase your odds of winning, 
 just the likely payout if you do win (i.e. many people pick numbers 
 based on birthdays) ;)
Gregg:
15-Jun-2009
Let me ask this. In a perfect world--forgetting any pre-existing 
designs--what kind of system would you want? Is a pre-processor model 
the best way to go? Should things like #INCLUDE be "commands" or 
just location markers (i.e. anchors)? And if they are the latter, 
what other uses would there be for such things?
Chris:
21-Sep-2009
i.e. submit to service from Ajax, use JSON ( http://bit.ly/altjson
), or build a web form with the 'name.first' style keys.
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
Gregg:
23-Feb-2007
Negative offsets can actually be very useful, when creating relative 
dates. The thing I don't like about the zero behavior is that it's 
non-intuitive. i.e. using zero produces a negative result, where 
you would think -1 would be what you want to use. Other than that, 
it's just something to be aware of, not a bug IMO.
btiffin:
29-Jun-2007
Can I get someone to try this before I report it.

foreach [e s] to block! {thing 'word} [compose [e (get s)]]

segfaults 1.3.2.4.2 and 2.7.5.4.2
Gregg:
1-Jul-2011
I'm not clear on the issue. 1.3.61 was just a test release, wasn't 
it? And is there a UPC lib they're using that requires rebcode or 
something? i.e. what pages are being printed?
Group: Core ... Discuss core issues [web-public]
Tomc:
6-Oct-2005
solaris stares with expontal notation at E-5
Pekr:
6-Oct-2005
I did not find an easier way, so I parse for E, then I distinguish 
the sign, the number -5 in above case, and then I compose the string 
:-)
Volker:
6-Oct-2005
what would you think about something like "###.##e##".
Volker:
6-Oct-2005
Pekr: "I did not find an easier way, so I parse for E, then I distinguish 
the sign, the number -5 in above case, and then I compose the string 
:-)"
!> a: 123.456 reduce[to integer! a remainder a 1]
== [123 0.456000000000003]

Maybe the base for something better (dont know how easy that parsing 
is?)
Pekr:
15-Oct-2005
form-decimal: function [num][tmp main rest sign base][

     either found? find tmp: to-string num "E" [

              parse tmp [
                 copy main to "."
                 skip
                 copy rest to "E"
                 skip
                 mark: (sign: copy/part mark 1)
                 skip
                 copy base to end
               ]


        either sign = "-" [

                tmp: "0."

                loop ((to-integer base) - 1) [insert tail tmp "0"]
                insert tail tmp rest
        ][
                tmp: copy ""

                insert tail tmp join main rest

                loop ((to-integer base) - (length? rest)) [insert tail tmp "0"]  
                    
                           
        ] 
     
      tmp                 

     ][num] 

]
Pekr:
15-Oct-2005
form-decimal: func [num /local tmp main rest sign base][

     either found? find tmp: to-string num "E" [

              parse tmp [
                 [copy main to "." 
                  skip
                  copy rest to "E"
                  |
                  copy rest to "E"
                  (main: copy "")  
                  ]
             
                 skip
                 mark: (sign: copy/part mark 1)
                 skip
                 copy base to end
               ]


        either sign = "-" [

                tmp: copy "0."

                loop ((to-integer base) - 1) [insert tail tmp "0"]
                insert tail tmp rest
        ][
                tmp: copy ""

                insert tail tmp join main rest

                loop ((to-integer base) - (length? rest)) [insert tail tmp "0"]  
                    
                           
        ] 
     
      tmp                 

     ][num] 

]
Pekr:
15-Oct-2005
On 6-October Volker posted this reply:


Pekr: "I did not find an easier way, so I parse for E, then I distinguish 
the sign, the number -5 in above case, and then I compose the string 
:-)"
!> a: 123.456 reduce[to integer! a remainder a 1]
== [123 0.456000000000003]

Maybe the base for something better (dont know how easy that parsing 
is?)
Geomol:
15-Oct-2005
I think, this version do the job:

form-decimal: func [n /local p d] [
	if p: find n #"E" [
		if d: remove find n #"." [d: index? d p: back p]
		if not d [if d: remove find n #"," [d: index? d p: back p]]
		if not d [d: 2]
		either p/2 = #"-" [
			insert/dup n #"0" (to-integer skip p 2) - 1
			insert n "0."
		][
			insert/dup p #"0" (to-integer next p) - (index? p) + d
		]
		clear find n #"E"
	]
	n
]
Geomol:
15-Oct-2005
form-decimal: func [n /local p d] [
	if p: find n #"E" [
		if d: remove find n #"." [d: index? d p: back p]
		if not d [if d: remove find n #"," [d: index? d p: back p]]
		if not d [d: index? p]
		either p/2 = #"-" [
			insert/dup n #"0" (to-integer skip p 2) - d + 1
			insert n "0."
		][
			insert/dup p #"0" (to-integer next p) - (index? p) + d
		]
		clear find n #"E"
	]
	n
]
Ladislav:
24-Oct-2005
this is not about computers, it is about the fact, that two-digit 
years can represent only 100 years, i.e. no "window trick" can give 
you more than 100 years
Gordon:
5-Nov-2005
Record: [a b c d e f g h i]
foreach mold Record SeriesBlock [
   print record
]

Can someone tell me how to define a block (as in Record) and then 
use that variable in the foreach loop?
Although the array has values, nothing is printed in the loop.

When I remove the 'mold' statement, 'Record' contains just one value 
('a') not 9 (a b c d e f g h i).
DideC:
5-Nov-2005
>> foreach letter record [print letter]
a
b
c
d
e
f
g
h
i
Gordon:
5-Nov-2005
foreach [a b c d e f g h i] Datablock [ print [a b c d e f g h i]]
Gordon:
5-Nov-2005
However, I want to be able to set a variable instead of hardcoding 
"[a b c d e f g h i]"
Group: View ... discuss view related issues [web-public]
Brock:
4-Mar-2005
rebol[]


last-sgrp: copy ""		;global used to keep track of last selected button 
in sgrp window

reset-toggles: does [

 t1/state: t2/state: t3/state: t4/state: t5/state: t6/state: t7/state: 
 t8/state: false
]

two-digits: func [num][
	either 10 > num [num: join "0" num][num]
]


get-report-date: function [/delim][report-day day rsd today s e day-diff][
	report-day: 6			; 6 = Saturday, start day of report
	today: now/weekday
	day-diff: report-day - now/weekday

 rsd: now + day-diff		;rsd = report start date		;'difference function 
 used to do date math
	either delim [

  s: join rsd/year ["/" two-digits rsd/month "/" two-digits rsd/day]
	][
		s: join rsd/year [two-digits rsd/month two-digits rsd/day]
	
	]
	e: rsd + 6
	either delim [
		e: join e/year ["/" two-digits e/month "/" two-digits e/day]
	][
		e: join e/year [two-digits e/month two-digits e/day]
	]
	report/text: join s [" - " e]
	show report
]

clear-entry: does [
	probe t1/text probe t2/text probe t3/text probe t4/text
	print "-------"

    clear-fields bx1			;;;;;;;;;;;; Error of disappearing toggle values 
    starts here
	probe t1/text probe t2/text probe t3/text probe t4/text
	print "======="
    ;clear-fields bx2			;;;;;;;;;;;;
    ;create-dt/text: form now
    ;update-dt/text: form now
    unfocus
    show dex
]

new-ticket: does [
    ;store-entry			;stores existing entry
    clear-entry			;clears fields for new entry
    if last-sgrp <> "" [application/text: last-sgrp]
    environment/text: copy "prod"
    show [application environment]
    focus application
]

dex-pane1: layout [
	across
	label "Support Group:"	application: field return
	label "Environment:" 	environment: field return
	label "Report Dates:"	report: field return
	btn "New Ticket" [new-ticket]
	pad 20 btn "Reset Toggles" [reset-toggles]
]

dex-pane2: layout [
	across
	label "Search Criteria:"

 t1: tog "o79" [write clipboard:// join "se sa**/" [last-sgrp: t1/text 
 "ca datp/" get-report-date/delim]]

 t2: tog "p23" [write clipboard:// join "se sa**/" [last-sgrp: t2/text 
 "ca datp/" get-report-date/delim]]

 t3: tog "o88" [write clipboard:// join "se sa**/" [last-sgrp: t3/text 
 "ca datp/" get-report-date/delim]]

 t4: tog "p11" [write clipboard:// join "se sa**/" [last-sgrp: t4/text 
 "ca datp/" get-report-date/delim]]
]

dex: layout[
	bx1: box dex-pane1/size
    bx2: box dex-pane2/size
]

bx1/pane: dex-pane1/pane
bx2/pane: dex-pane2/pane

view dex
[unknown: 10]:
22-Mar-2005
Does any one have a HINT on how i can make a dragg & drop Face to 
DROP within the bouderies of an underlaying face.. I.e. Im dragging 
a Face over a field of faces, when I drop it on the face below and 
then the dropped face should FIT itself inside the face below. Is 
there someting default for this in view/vid ? or do i need to calculate 
it myself? .. Its a kind of a Puzzle-piece drop...
[unknown: 10]:
22-Mar-2005
if you i.e. use a square face with 4 underlying squares then exactly 
in the middle it cant make out its drop point ;-)
Gabriele:
24-Mar-2005
older versions (i.e. 1.2.1) didn't need it
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
Gabriele:
13-Sep-2007
>> b1: [a b2 c b3]
== [a b2 c b3]
>> b2: [d b3]
== [d b3]
>> b3: [e 4]
== [e 4]
>> eval-path: func [path /local val] [
[    val: get first path
[    foreach elem next path [
[        val: select val elem
[        if word? val [val: get val]
[        ]
[    val
[    ]
>> eval-path 'b1/a/d/e
== 4
RobertS:
14-Sep-2007
I realized there was this traversal option using a lit-path! treated 
as a series! but it did not seem to if what I already had was a path! 
 held by a word and I wanted to 'extend' that value with a word.

This arises when the embedded word becomes bound to a different block. 
 In that case an OBJECT! looks to be the only option but then the 
WORDSs in the PATH come already bound to values and so are not 'functors' 
as are 'a 'd and 'e in your example.

I  want to construct a resultant valid path! from a valid path! + 
a lit-word where that word has no value but serves only as functor.

I had hoped that the func to-lit-path would be the answer, but I 
see now that the default Rebol DO path! evaluation precludes this 
kind of 'append'.

I should be able to use a modified version of your eval-path func 
to take as args a valid path! and a word!

My path idea is more like a 'tilde' than our '/' such that I can 
have
        ; blk/key~wrd1~wrd2~wrd3 ... ~wrd-n     ; e.g.,  
    path~wrd1~wrd-i~wrd-j ~wrd-k    ; becomes
; ...
    path2~wrd-m~wrd-n  ;  i.e.,
        ; blk/key/putative-confirmed-key~wrd-m~wrd-n   
PARSE is likely part of the answer if I go that TILDE route.
Once I have a lit-path! your eval-path is the traversal.
A blk of args to a func such as

  construct_dpath: func  [ dpath [lit-path!]  functor-words-blk  [block! 
  ]  /local v1 v2] [ 

should model my case OK and that dpath can be constructed by modified 
versions of your eval-path.  Thanks
Gabriele:
14-Sep-2007
>> p: 'b1/a/d
== b1/a/d
>> append p 'e
== b1/a/d/e
Gregg:
13-Jan-2008
GUIDE is also sensitive to the layout "direction", i.e., whether 
you're using ACROSS or BELOW. You can also manually remember locations.

	; some layout code
	here: at	; remember a postion
	; some layout code
	at here
	; some layout code
PeterWood:
22-Jan-2008
Henrik: I believe that Rebol does have real inheritance, it's just 
based on protoytpes not classes:

>> a: make object! [b: func[][print "I'm from object a"]]
>> c: make a []
>> c/b
I'm from object a
>> d: make a [e: func [][print "I'm an extension to a"]] 
>> d/e
I'm an extension to a
>> f: make d [b: func [][print "I'm not the one in a"]]
>> f/b
I'm not the one in a
RobertS:
29-Mar-2008
ODE
so I though mebbe
;{
 which would only end at a
;}
as }; will not do ...
To take a page from Snobol

  both would have to be unindented, i.e., occupy first and second char 
  of the line

I live in curly-brace land in CURL and a missing brace becomes a 
headache even in a editor with a scroll-u-there brace-matcher
Sunanda:
8-Jan-2009
That forces the string t.r.u.e. into being a logic value, not the 
word 'true
Maxim:
3-May-2009
generally, you should realise that when you build parse rules to 
need to have some sort of sence of  "context"   i.e. Where are you 
in your data. this will help you a lot.
Group: Make-doc ... moving forward [web-public]
MikeL:
31-May-2005
Paul, One thing to keep in mind is that you should want to leverage 
html stylesheets. 

In your make-doc version add the reference to the class then let 
a .css determine most of the presentation parameters.

For example, I wanted to be able to add a question and have it presented 
with a heading very similar to a note box

but to have a different label i.e. "Question" and a distinct look.
This change was required to parse it 

 ["=q" | "q:" | "question:"] text-line (emit-text 'question) |

from the input stream. This emitted the html 


 question [emit [{<p><div class="question"> Question: &nbsp;&nbsp; 
  } doc/2 {</div>}]]


Change the make-doc script you are using to emit a reference to your 
stylesheet instead of inlining it.

I put this in my css to present a question in box that stands out 
(for me)
  div.question {
     	padding: 10px;
        background-color: linen;
      	font-size: 14px;       
     	font-family: Helvetica;
        border: 6px groove gold;
		width: 90%;
  }  

The reason for .css is that now you can change the stylesheet and 
don't have to change the html or 

re-generate it. If you want your question box to tan instead of linen 
then you just change your .css

If you have something you feel strongly about you can create a soapbox 
style.
For more on this see http://www.csszengarden.com/

p.s. when you change make-doc, clearly identify the lines that you 
change with comments so that when 

you get a new version you can retrofit it and get the benefit of 
the upgrades.
[unknown: 5]:
1-Jun-2005
Mike, that Treemenu looks like the same one a site that I now frequent 
uses at http://www.peshitta.org/Which is good but I need something 
that might be a building block to a full blown viewer at some point 
in the future.  For example there are other bible viewers such as 
e-sword but I want something that can support additional book names 
and might make the makedoc extended to support a format as that and 
maybe make a conversion tool that will take some of the popular bible 
formats and output them to text and rthen back in through a tool 
and output the makedoc format so that the output is still compatible 
with makedoc.
Group: PDF-Maker ... discuss Gabriele's pdf-maker [web-public]
Janko:
12-May-2009
in the pdf file ... I discovered one good news now ... I need csz 
( like ch sh zh in eng) .. I saw  that zh that I thought before doesn't 
have a glyph in standard fonts didn't make it to the generated pdf 
and if I add it by hand and update length of stream Zh works ... 
so now only Ch is the problem .. (because it's not represented in 
win1252 , the character with same code 200 in 1252 is E (arrow) È
Group: Syllable ... The free desktop and server operating system family [web-public]
Kaj:
22-Aug-2007
http://syllable.org.s3.amazonaws.com/images/screenshots/0.6.4/DesertStrike-on-E-UAE.jpg
ddharing:
25-Aug-2010
When running the graphical version of Links (i.e. linksg), every 
keypress is printed twice to the screen. Has anyone had this issue 
before? The mouse works fine.
Pekr:
21-Sep-2010
ddharing - my friend works for Pickering. Not much of a know company 
here in CZ, but rather important development/production company for 
special hw (they now e.g. got some contract by Agilent). He built 
their production facility around really old terminals (300 MHz Genode 
based Compaq T2/ a 5USD) they bought on e-bay or so. Those terminals 
have something like 24MB of RAM, so no chance of browser running 
there. They use REBOL/View system there. As there is little of RAM/storage, 
he redirected swap file to the server :-)
Evgeniy Philippov:
13-Jan-2012
Though that message is probably reported by a file system driver, 
it could have a variant with more elavorated messages (i.e. more 
bloated driver).
Evgeniy Philippov:
13-Jan-2012
I.e. explaingin why it was denied.
Evgeniy Philippov:
13-Jan-2012
It may seem that I've found a sources glitch with my mouse. A kernel 
log reports "IMPS2 mouse found" which means that appserver/appserver/ps2mouse/ps2mouse.cpp 
detected an Intellimouse PS/2 mouse. Maybe developers had no Intellimouse 
to test stuff, therefore there's no code setting up the mouse for 
that clause. I.e. it gets detected, but there's no special init (which 
must be there), only the message is printed and the mouse protocol 
is not switched (it must be switched, I guess).
Evgeniy Philippov:
15-Jan-2012
Without this "plugin" line, pppd starts to send packets right into 
pty (i.e. to the screen).
Evgeniy Philippov:
22-Jan-2012
I don't have VMware, and I don't usually use pirated software (i.e. 
no way to run VMWare).
Evgeniy Philippov:
23-Jan-2012
Kaj: could you draw a total Syllable high-level architecture overview 
diagram (i.e. levels and subsystems)? Is such a diagram present at 
Syllable docs?
Evgeniy Philippov:
23-Jan-2012
newborn bugs --- i.e. those bugs caused by other developers.
Group: Linux ... [web-public] group for linux REBOL users
btiffin:
11-Dec-2008
I don't usually, as I like to remain gullible, but I'm calling bullpies 
on the original e-mail.
amacleod:
17-Dec-2008
btiffin, Are you saying you do not believe the e-mail? I find it 
hard believe the pro-microsoft stuff but the ignorance of Linux I 
do not doubt. I taught HS in NYC for 6 years and most teachers were 
clueless of computers in general.
Geomol:
7-Apr-2009
This window without title bar can be moved in R2:


main: layout [origin 0 box "Drag me!" feel [engage: func [f a e] 
[if a = 'down [pos: e/offset] if find [over away] a [main/offset: 
main/offset - pos + e/offset show main]]]]

view/options main [no-title]
Geomol:
9-Apr-2009
Maybe because event offsets are different? Try probe e/offset.
Anton:
9-Apr-2009
If you remove main/offset, then you get this:

	main/offset: - pos + e/offset show main

and this works properly in Linux.
Barik:
2-Feb-2010
Hello. How can I create a REBOL service in Linux (i.e, something 
that can be run as a background process much like httpd via init.d)?
Barik:
31-Mar-2010
Using REBOL 2 with vid on Linux (CentOS 5.4 / GNOME). Doesn't seem 
like the font-size does anything (i.e.): text font-size 30 "Hello". 
Any advice or tips?
Barik:
31-Mar-2010
Using REBOL 2 with vid on Linux (CentOS 5.4 / GNOME). Doesn't seem 
like the font-size does anything (i.e.): text font-size 30 "Hello". 
Any advice or tips?
Barik:
31-Mar-2010
Using REBOL 2 with vid on Linux (CentOS 5.4 / GNOME). Doesn't seem 
like the font-size does anything (i.e.): text font-size 30 "Hello". 
Any advice or tips?
Barik:
31-Mar-2010
Using REBOL 2 with vid on Linux (CentOS 5.4 / GNOME). Doesn't seem 
like the font-size does anything (i.e.): text font-size 30 "Hello". 
Any advice or tips?
NickA:
8-Sep-2010
1 difference:  using RT's download, the REBOL console only works 
when REBOL is started from the Ubuntu command line (i.e., not when 
it's started by clicking an icon in file manager).  New users may 
think that scripts are broken because GUIs w ork fine, no matter 
how REBOL is started.
Andreas:
10-Sep-2010
i.e. rename it to rebol_2.7.7.4.3-4_i386.deb
Andreas:
11-Nov-2011
I.e. EUR 100/USD 130 for a reasonable x86 router box is certainly 
doable.
Group: AGG ... to discus new Rebol/View with AGG [web-public]
Vincent:
23-Jun-2005
shadwolf: there's the 'matrix command for 2x3 matrix in draw/AGG 
: the syntax is
  matrix [a b c d e f]
where the equivalent 3x3 matrix is:
  | a c e |
  | b d f |
  | 0 0 1 |

if I'm correct , "matrix(2.082761,0.529757,-0.491943,1.944909,4.543758,-12.39301)" 
translates to
matrix [2.082761 0.529757 -0.491943 1.944909 4.543758 -12.39301]
shadwolf:
27-Jun-2005
matrix in SVG are in this format matrix [a b c d e f ] (decimal!) 
and this represent a transform  matrix of this from 
[ a c e]
[ b d f ] 

[ 0 0 1] so I really don't know if this is the same for a matrix 
in draw AGG.  As the gap is not very  hudge this means for me that 
the AGG matrix i close to be handled the same as the SVG ones ...
shadwolf:
27-Jun-2005
according to the SVG documentation a = scale X b =  skew X c = skew 
Y d = scale Y e = translate X f =  translate Y. For example in blender.svg 
file the group global matrix is  matrix [1.462522 0.0 0.0 1.462522 
-11.43136 -22.46338] (this is made with raw datas from the file no 
more compute than retrieving and converting the datas from dtring! 
to decimal!) So according to the informations I read in the SVG doc 
this matrix represent a scale X/Y of 1.46  and a translation X/Y 
of -11.43 and -22.46.  I'm working with a premaid scaling environnement 
applyed to the coord of the shapes maybe I need to apply this scale 
to the a b and e f value of the SVG matrix when I build the matrix 
 in AGG.
shadwolf:
14-Jul-2005
SVG matrix (a b c d e f) -> AGG scale [a d] rotate [b c] translate 
[e f] can I do this ???
shadwolf:
14-Jul-2005
like that :
[a c e]
[b d f]
[0 0 1]

where couple AD = scaling BC= rotating EF = translating
Rebolek:
1-Sep-2005
ft: make face/font [size: 60] 
view center-face layout [
	origin 0
	box 400x80 white effect [
		draw [

   fill-pen linear 0x0 0 100 30 1 1 black white black white black white
			font ft
			text 0x0 "Wavin' REBOL" vectorial
		]
		emboss
	] with [
		rate: 0
		n: 0
		feel: make feel [
			engage: func [f a e][
				f/effect/draw/3/x: n: n + 2
				show f
			]
		]
	]
]
shadwolf:
5-Dec-2005
stylize/master [
	rte: box with [
		color: gray 
	    tampon: ""
	    buffer: []
	    line-index: 0
	    char-sz: none
	  	current-text-offset: 0x0
	  	cursor-text-offset: 0x0
	  	max-text-offset: 0x0
	  	text-color: black
	  	pane: []
	  	
	  	set-font-style: func [ font-s [word!]] [
	  		switch font-s [

      bold [insert tail buffer compose/deep [[ [size: 11 style: [(font-s)]] 
      (either cursor-text-offset/x <> 0 [cursor-text-offset] [as-pair 0 
      (line-index * 20)]) "" ]]]

      normal [insert tail buffer compose/deep [[ [size: 11 style: []] ( 
      either cursor-text-offset/x <> 0 [cursor-text-offset][as-pair 0 (line-index 
      * 20)]) "" ]]]

      underline[insert tail buffer compose/deep [[ [size: 11 style: [(font-s)]] 
      (either cursor-text-offset/x <> 0 [cursor-text-offset][as-pair 0 
      (line-index * 20)]) "" ]]]

      italic [insert tail buffer compose/deep [[ [size: 11 style: [(font-s)]] 
      (either cursor-text-offset/x <> 0 [cursor-text-offset][as-pair 0 
      (line-index * 20)]) "" ]]]
	  		]
	  	]
	  	
		feel: make feel [
			engage: func [f a e] [
				switch a [
				   
					key [ probe e/key
						switch/default e/key [
							#"^M" [
							line-index: line-index + 1

       f/current-text-offset: as-pair 0 f/current-text-offset/y + 20]

       insert tail f/buffer compose/deep [[ [size: 11 style: [(font-s)]](as-pair 
       0 (line-index * 20)) "" ]]
							
						][
							f/tampon: rejoin [f/tampon to-string e/key]
							draw-text: []
							print "f/buffer:"
							probe f/buffer
							foreach line-to-draw f/buffer [
								print "line-to-draw"
							;line-to-draw: f/buffer/1
								;probe line-to-draw
							;set [font-style start-offset text-to-show ] line-to-draw
							
								font-style: line-to-draw/1
								start-offset: line-to-draw/2
								line-to-draw/3: rejoin [line-to-draw/3 to-string e/key]
							;probe font-style 
							;probe start-offset
							
								font-obj: make face/font font-style
							;probe font-obj 
								text-to-show: line-to-draw/3
								;probe text-to-show

         insert tail draw-text  compose [ font (font-obj) pen (f/text-color) 
         text (start-offset) (text-to-show)]
							] 
							;print "draw-text:"
							;probe draw-text
							

       ;draw-text: compose [ pen (f/text-color) text (f/current-text-offset) 
       (f/tampon)]
				    		f/effect: make effect reduce [ 'draw draw-text  ]
				    		draw-text: none 
				    		;probe f/current-text-offset

       f/cursor-text-offset: as-pair (f/cursor-text-offset/x + 9) f/current-text-offset/y 
				    		;show f
						]
						f/pane/1/offset: f/cursor-text-offset 
						show f
					]
					down [
						;insert f/buffer compose [(as-pair 0 (line-index * 20)) ""]
						focus f show f
					]
					
				]
			]
		]
		append init [

   insert buffer compose/deep [[[size: 11 style: []] (as-pair 0 (line-index 
   * 20)) ""]]
			probe buffer

   insert pane make face [ color: red size: 2x20 offset: cursor-text-offset 
    ]
			show self 
		]
	]
]


view layout [
  across
  	btn "bold" [test-rte/set-font-style 'bold]
  	btn "underline" [test-rte/set-font-style 'underline]
  	btn "italic" [test-rte/set-font-style 'italic]
  	btn "normal" [test-rte/set-font-style 'normal]
  return
  	test-rte: rte 300x300
]
Henrik:
9-Nov-2008
i.e. I don't have to specify the paths inside the DRAW block.
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
Maxim:
17-Nov-2006
GLayout v0.5.4 released (on rebol.org, as usual)
---------------------------------------

-SWITCH-PAD: tab-pane like style... supply all tabs directly within 
the main layout, if you want i.e. no need to separate  each tab's 
layout.

-field style: new visuals, faster, more obvious, supports rounded 
corners, fixed sizing.
-menu-bug vs popups bug fixed
-hshrink now fully implemented for text and buttons.
-buttons now supports mouse-relative popup menus

-center group style, allows to center static-sized objects or adds 
margins support for stretchy content
AdrianS:
24-Aug-2010
Max, maybe you can update the script so that it looks in the system 
directory for kernel32.dll - i.e. %systemroor%/system32
Group: SDK ... [web-public]
Gabriele:
31-Jan-2007
probably encmdface already has some stuff built in. (i.e. try without 
including protocols)
Henrik:
6-Feb-2009
then when you go to http://somewhere.com/index.r, it loads a "rebpage", 
i.e. VID layout right in the canvas.
Henrik:
15-Jun-2009
In the build system I use now for my projects, there are two separate 
files. The one I use for development is the 'do, and the one my customer 
gets is the #included version. Then I have a make-file, that builds 
the project and puts it where it needs to be (local webserver), counts 
up the build version. I can build it whenever I want and there are 
no hiccups.


My earlier attempts at a build system was by trying to be fancy, 
i.e. build with as few keypresses as possible. It never worked as 
well as this one.
Group: Rebol School ... Rebol School [web-public]
Gregg:
3-Jan-2009
fold: func [ ; i.e. Haskell foldl (fold left). Same as 'reduce in 
Python?
        series [series!]
        fn     [any-function!]
        /with  value "starting value; used as accumulator"
    ][
        if not with [value: pick series 1  series: next series]
        foreach item series [value: fn value item]
    ]
    sum: func [block [any-block!]] [fold block :add]

    product: func [block [any-block!]] [fold/with block :multiply 1]
    sum-of-squares: func [block [any-block!]] [
        fold block func [x y] [x * x + y] 0
    ]
kib2:
11-Feb-2009
I've somewhat modified the TextMate bundle for REBOL for e TextEditor, 
and made a new theme for it : http://tinyurl.com/dxt89p. I someone 
is interested, let me now.
Reichart:
15-Feb-2009
ie
 should be "i.e."
langage  should be language
Group: Rebol/Flash dialect ... content related to Rebol/Flash dialect [web-public]
Oldes:
8-Oct-2008
First demo with just 3 levels of game Machinarium, which I'm working 
on using my Rebol/Flash dialect, was presented on E for All festival.

Here is one recension: http://www.destructoid.com/machinarium-the-best-game-you-most-likely-have-never-heard-of-106669.phtml
Group: Tech News ... Interesting technology [web-public]
[unknown: 9]:
1-Feb-2007
Marketing Ideas to lawyers
AN ARTICLE FROM SUNDAY'S NEW YORK TIMES WE SHOULD READ CAREFULLY.


Awaiting the Day When Everyone Writes Software

By JASON PONTIN
Published: January 28, 2007

BJARNE STROUSTRUP, the designer of C++, the most influential programming 
language of the last 25 years, has said that “our technological civilization 
depends on software.” True, but most software isn’t much good. Too 
many programs are ugly: inelegant, unreliable and not very useful. 
Software that satisfies and delights is as rare as a phoenix.

Skip to next paragraph

Sergei Remezov/Reuters

Charles Simonyi, chief executive of Intentional Software, in training 
for his trip to the International Space Station, scheduled for April.

Multimedia
Podcast: Weekend Business

Reporters and editors from The Times's Sunday Business section offer 
perspective on the week in business and beyond.

How to Subscribe

All this does more than frustrate computer users. Bad software is 
terrible for business and the economy. Software failures cost $59.5 
billion a year, the National Institute of Standards and Technology 
concluded in a 2002 study, and fully 25 percent of commercial software 
projects are abandoned before completion. Of projects that are finished, 
75 percent ship late or over budget.


The reasons aren’t hard to divine. Programmers don’t know what a 
computer user wants because they spend their days interacting with 
machines. They hunch over keyboards, pecking out individual lines 
of code in esoteric programming languages, like medieval monks laboring 
over illustrated manuscripts.


Worse, programs today contain millions of lines of code, and programmers 
are fallible like all other humans: there are, on average, 100 to 
150 bugs per 1,000 lines of code, according to a 1994 study by the 
Software Engineering Institute at Carnegie Mellon University. No 
wonder so much software is so bad: programmers are drowning in ignorance, 
complexity and error.


Charles Simonyi, the chief executive of Intentional Software, a start-up 
in Bellevue, Wash., believes that there is another way. He wants 
to overthrow conventional coding for something he calls “intentional 
programming,” in which programmers would talk to machines as little 
as possible. Instead, they would concentrate on capturing the intentions 
of computer users.


Mr. Simonyi, the former chief architect of Microsoft, is arguably 
the most successful pure programmer in the world, with a personal 
fortune that Forbes magazine estimates at $1 billion. There may be 
richer programmer-billionaires — Bill Gates of Microsoft and Larry 
Page of Google come to mind — but they became rich by founding and 
managing technology ventures; Mr. Simonyi rose mainly by writing 
code.


He designed Microsoft’s most successful applications, Word and Excel, 
and he devised the programming method that the company’s software 
developers have used for the last quarter-century. Mr. Simonyi, 58, 
was important before he joined Microsoft in 1981, too. He belongs 
to the fabled generation of supergeeks who invented personal computing 
at Xerox PARC in the 1970s: there, he wrote the first modern application, 
a word processor called Bravo that displayed text on a computer screen 
as it would appear when printed on page.


Even at leisure, Mr. Simonyi, who was born in Hungary and taught 
himself programming by punching machine code on Russian mainframes, 
is a restless, expansive personality. In April, he will become the 
fifth space tourist, paying $20 million to board a Russian Soyuz 
rocket and visit the International Space Station.


Mr. Simonyi says he is not disgusted with big, bloated, buggy programs 
like Word and Excel. But he acknowledges that he is disappointed 
that we have been unable to use “our incredible computational ability” 
to address efficiently “our practical computational problems.”


“Software is truly the bottleneck in the high-tech horn of plenty,” 
he said.


Mr. Simonyi began thinking about a new method for creating software 
in the mid-1990s, while he was still at Microsoft. But his ideas 
were so at odds with .Net, the software environment that Microsoft 
was building then, that he left the company in 2002 to found Intentional 
Software.


“It was impractical, when Microsoft was making tremendous strides 
with .Net, to send somebody out from the same organization who says, 
‘What if you did things in this other, more disruptive way?’ ” he 
said in the January issue of Technology Review.


For once, that overfavored word — “disruptive” — is apt; intentional 
programming is disruptive. It would automate much of software development.


The method begins with the intentions of the people inside an organization 
who know what a program should do. Mr. Simonyi calls these people 
“domain experts,” and he expects them to work with programmers to 
list all the concepts the software must possess.


The concepts are then translated into a higher-level representation 
of the software’s functions called the domain code, using a tool 
called the domain workbench.


At two conferences last fall, Intentional Software amazed software 
developers by demonstrating how the workbench could project the intentions 
of domain experts into a wonderful variety of forms. Using the workbench, 
domain experts and programmers can imagine the program however they 
want: as something akin to a PowerPoint presentation, as a flow chart, 
as a sketch of what they want the actual user screen to look like, 
or in the formal logic that computer scientists love.


Thus, programmers and domain experts can fiddle with whatever projections 
they prefer, editing and re-editing until both parties are happy. 
Only then is the resulting domain code fed to another program called 
a generator that manufactures the actual target code that a computer 
can compile and run. If the software still doesn’t do what its users 
want, the programmers can blithely discard the target code and resume 
working on the domain workbench with the domain experts.


As an idea, intentional programming is similar to the word processor 
that Mr. Simonyi developed at PARC. In the jargon of programming, 
Bravo was Wysiwyg — an acronym, pronounced WIZ-e-wig, for “what you 
see is what you get.” Intentional programming also allows computer 
users to see and change what they are getting.


“Programming is very complicated,” Mr. Simonyi said. “Computer languages 
are really computer-oriented. But we can make it possible for domain 
experts to provide domain information in their own terms which then 
directly contributes to the production of the software.”


Intentional programming has three great advantages: The people who 
design a program are the ones who understand the task that needs 
to be automated; that design can be manipulated simply and directly, 
rather than by rewriting arcane computer code; and human programmers 
do not generate the final software code, thus reducing bugs and other 
errors.


NOT everyone believes in the promise of intentional programming. 
There are three common objections.


The first is theoretical: it is based on the belief that human intention 
cannot, in principle, be captured (or, less metaphysically, that 
computer users don’t know what people want).


The second is practical: to programmers, the intentional method constitutes 
an “abstraction” of the underlying target code. But most programmers 
believe that abstractions “leak” — that is, they fail to perfectly 
represent the thing they are meant to be abstracting, which means 
software developers must sink their hands into the code anyway.


The final objection is cynical: Mr. Simonyi has been working on intentional 
programming for many years; only two companies, bound to silence 
by nondisclosure agreements, acknowledge experimenting with the domain 
workbench and generator. Thus, no one knows if intentional programming 
works.


Sheltered by Mr. Simonyi’s wealth, Intentional Software seems in 
no hurry to release an imperfect product. But it is addressing real 
and pressing problems, and Mr. Simonyi’s approach is thrillingly 
innovative.


If intentional programming does what its inventor says, we may have 
something we have seldom enjoyed as computer users: software that 
makes us glad.


Jason Pontin is the editor in chief and publisher of Technology Review, 
a magazine and Web site owned by M.I.T. E-mail: [pontin-:-nytimes-:-com].
Pekr:
17-Apr-2007
Microsoft has given a go-to-market name for its cross-platform, cross-browser 
plug-in for delivering the next generation of user experiences and 
rich Internet applications for the Web. The technology formerly known 
as WPF/E is now known as Silverlight - http://www.eweek.com/article2/0,1895,2114418,00.asp
Gregg:
4-May-2007
 A service will give her a piece of paper as a view port.

 -- But what features does the service provide, and when does it become 
 an application? i.e. how do you save something, find something you 
 wrote before, add spell checking, print something, etc. These are 
 things that can be answered in different ways, and I think we'll 
 see a lot more big changes in software in the next 10 years.
Pekr:
17-Feb-2008
there is no IE .... there is just "that blue 'e' internet icon" :-)
Henrik:
25-Feb-2009
If all goes well, they'll fizzle out and the world quietly moves 
on, i.e. back on track.
Group: !REBOL3-OLD1 ... [web-public]
Gabriele:
4-Aug-2006
the latest sdk already has a rebol.dll (undocumented), and that's 
supposed to happen for 3.0 too (i.e. to allow the browser plugin). 
so no news actually. :)
Gabriele:
22-Aug-2006
i.e. insert series value is like  series.insert(value) in oop languages.
Ladislav:
18-Sep-2006
If I take BREAK/RETURN "dynamically" - i.e. when did it occur, it 
"belongs" to the loop 1 [f 2] and therefore the dynamic approach 
leads to 2 being returned as the result.
Geomol:
13-Feb-2007
There might be options to solve the path situation:
inc some/object/some/'value
inc some/object/some/('value)
or maybe
inc '(some/object/some/value)
Just suggestions.

If you think, "inc a" should change a, then think about these, that 
we have today:
negate a
- a ; unary minus
abs a

Also many math functions, like:
exp a
log-e a
etc.

Why don't all those change a?
Group: Postscript ... Emitting Postscript from REBOL [web-public]
Henrik:
4-Dec-2008
rich text has some bugs, which cyphre is able to fix once he gets 
time, so I hope this will be possible to hook into. i.e. it's not 
a closed part that we can't touch.
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
btiffin:
22-Oct-2007
Re acronyms.  Yep, must remember to mention the full text at least 
once per post cycle from now on.  


More on the namespace issue in user.r chat; but I'd like Cheyenne 
to be given a pride of place status for word usage, equivalent to 
what we'll be following with our rules for dealing with RT's word 
usage.  i.e they win, we deal with it.  Go Doc Go!


Re BBS for Cheyenne.  I'd almost like to extend RBBS out to something 
more grandious, and at the same time extend the tutorial Carl and 
Gregg and Volker and Tom built up, but along with the CGI (or instead 
of) document the RSP side of it.
Terry:
28-Oct-2007
One thing I was considering.. rather than paying for expensive servers, 
like amazon EC2,  to host low usage sites, you could run mulitple 
copies of Cheyenne that would sync up.. and maybe an S3 bucket for 
data.. one at home, one at work etc. .. couple these with dynamicDNS 
so in the event one went down, the other(s) could detect that, and 
update the DNS to take over.  Could do some DNS based load balancing 
if necessary.  If you want to get real crazy.. you could share backup 
servers amongst agreeable Cheyenne users...probably wouldn't host 
e-commerce that way, but wikis / publicly available data would be 
fine.
Henrik:
13-Apr-2008
i.e. when the user asks for .r files, not when another .rsp page 
wants to include them
Joe:
29-May-2008
doc, in erlang concurrency is supported in the programming language 
(i.e. does not use the os mechanisms). I am trying to track down 
a reference were it explained you could have 2 power 32 connections 
theoretically
Joe:
30-May-2008
Pat e wrote:
> Can anyone tell me how can Yaws have almost 80,000 concurrent

> connections, and some "home-made" erlang servers over 110K concurrent
> connections if there are only 64,000 tcp/ip ports?

A TCP/IP connection is identified on each host by a
(local port, local IP, remote port, remote IP) tuple.


Therefore, there can be more than 2^16 connections to a server (even 
if

the server is listening on a fixed port) provided that they are from 
more
than one client.


In theory it's also possible to have more than 2^16 connections between 
a

specific pair of hosts provided that they use all of the available 
port

combinations. However, TCP/IP stacks generally do not support reusing

local port numbers (when the port is not specified by the client 
software)

by default, so the practical restriction in this case may still be 
2^16.

-- 
David Hopwood
Maarten:
29-Aug-2008
One box, what's the CPU load, have you stress tested it (i.e. how 
far can you take it?)
Graham:
16-Oct-2008
<script type="text/javascript" >
function tab_to_tab(e,el) {

    //A function to capture a tab keypress in a textarea and insert 4 
    spaces and NOT change focus.

    //9 is the tab key, except maybe it's 25 in Safari? oh well for them 
    ...
    if(e.keyCode==9){

        var oldscroll = el.scrollTop; //So the scroll won't move after a 
        tabbing

        e.returnValue=false;  //This doesn't seem to help anything, maybe 
        it helps for IE
        //Check if we're in a firefox deal
      	if (el.setSelectionRange) {
      	    var pos_to_leave_caret=el.selectionStart+4;
      	    //Put in the tab

          el.value = el.value.substring(0,el.selectionStart) + '    ' + el.value.substring(el.selectionEnd,el.value.length);

            //There's no easy way to have the focus stay in the textarea, below 
            seems to work though

            setTimeout("var t=document.getElementById('code1'); t.focus(); t.setSelectionRange(" 
            + pos_to_leave_caret + ", " + pos_to_leave_caret + ");", 0);
      	}
      	//Handle IE
      	else {
      		// IE code, pretty simple really
      		document.selection.createRange().text='    ';
      	}
        el.scrollTop = oldscroll; //put back the scroll
    }
}
</script>
BrianH:
2-Apr-2009
2/4-22:54:04.266-## Error in [uniserve] : On-received call failed 
with error: make object! [
    code: 303
    type: 'script
    id: 'expect-arg
    arg1: 'insert
    arg2: 'series
    arg3: [series! port! bitset!]
    near: [insert/part tmp/port s skip e]
    where: 'process-bounded-content
] !
BrianH:
3-Apr-2009
Same error after upgrading Chromium, here's the verbose 5 log of 
the request:


3/4-01:38:00.891-[HTTPd] ================== NEW REQUEST ==================

3/4-01:38:01.531-[HTTPd] Request Line=>POST /ecg/blah.rsp HTTP/1.1

3/4-01:38:02.109-[HTTPd] Trying phase method-support ( mod-static 
)

3/4-01:38:02.828-[HTTPd] Trying phase url-translate ( mod-static 
)
3/4-01:38:03.062-[uniserve] Calling >on-received< with {^M
Host: localhost:8080^M
Connection: keep-alive^M
Us}
3/4-01:38:03.547-[HTTPd] Request Headers=>
Host: localhost:8080
Connection: keep-alive

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 
(KHTML, like Gecko) Chrome/2.0.173.0 Safari/530.5
Referer: http://localhost:8080/ecg/blah.html
Content-Length: 153149
Cache-Control: max-age=0
Origin: http://localhost:8080

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryEv3SZArZWdjyznJZ

Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,bzip2,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3



3/4-01:38:03.797-[HTTPd] Trying phase url-to-filename ( mod-alias 
)
3/4-01:38:04.031-[HTTPd] => request processed
3/4-01:38:04.766-[HTTPd] Trying phase url-to-filename ( mod-rsp )
3/4-01:38:05-[HTTPd] => request processed

3/4-01:38:05.469-[HTTPd] Trying phase url-to-filename ( mod-internal 
)

3/4-01:38:05.719-[HTTPd] Trying phase url-to-filename ( mod-static 
)
3/4-01:38:05.969-[HTTPd] => request processed

3/4-01:38:06.453-[uniserve] >> Port: 3789, low-level reading: 17520

3/4-01:38:06.703-[uniserve] >> Port: 3789, low-level reading: 17520

3/4-01:38:06.953-[uniserve] >> Port: 3789, low-level reading: 17520

3/4-01:38:07.437-[uniserve] >> Port: 3789, low-level reading: 17520

3/4-01:38:07.906-[uniserve] >> Port: 3789, low-level reading: 19980

3/4-01:38:08.391-[uniserve] Calling >on-received< with "------WebKitFormBoundaryEv3SZArZWdjyznJZ^M^/Content-"

3/4-01:38:08.875-[uniserve] >> Port: 3789, low-level reading: 16680

3/4-01:38:09.344-[uniserve] >> Port: 3789, low-level reading: 17520

3/4-01:38:09.844-[uniserve] >> Port: 3789, low-level reading: 17520

3/4-01:38:10.312-[uniserve] >> Port: 3789, low-level reading: 1149

3/4-01:38:10.797-[uniserve] Calling >on-received< with {037.17923" 
"4429 SUNNYSLOPE RD SW" "Port Orchard" }

3/4-01:38:11.266-## Error in [uniserve] : On-received call failed 
with error: make object! [
    code: 303
    type: 'script
    id: 'expect-arg
    arg1: 'insert
    arg2: 'series
    arg3: [series! port! bitset!]
    near: [insert/part tmp/port s skip e]
    where: 'process-bounded-content
] !
3/4-01:38:11.734-[uniserve] Port closed : 127.0.0.1
Robert:
16-May-2009
Here is a snippet of a test script:

new_company: [
	dt: "Eingabe/Firmeninformationen"

	with company [
		; reset data form
		press-right a

		check note = ""

		name: 		"Test Suite Company 1"
		address:	"Teststra§e. 10"

		; should bring up an ALERT
		check-window [press a][press ok]

		; country:	"Deutschland"
		; press a

		; select sector
		check-window [press req-sector][
			sector-table: ["27"]
		]
	]
]
Robert:
12-Jun-2009
I have a problem, that after some running time Cheyenne seems to 
get into an unstable state and my REST shopping-cart isn't working 
any longer. I got this error in the trace.log, which seems to be 
Cheyenne internal:


5/6-10:09:48.142823-## Error in [task-handler-40014] : Make object! 
[                                                                
                 
    code: 501                                  
                                                                 
                                      
    type: 'access         
                                                                 
                                                           
    id: 
'not-open                                                        
                                                                 
            
    arg1: "Port"                                    
                                                                 
                                 
    arg2: none                 
                                                                 
                                                      
    arg3: 
none                                                             
                                                                 
          
    near: [parse/all current: fourth entry [          
                                                                 
                               
            any [                
                                                                 
                                                    
            
    end break                                                    
                                                                 
        
                | "#[" copy value to #"]" skip (        
                                                                 
                             
                    append out reform 
[                                                                
                                               
                 
       " prin any [pick cat"                                     
                                                                 
   
                        locale/id? value                     
                                                                 
                        
                        mold value #"]" 
                                                                 
                                             
                   
 ]                                                               
                                                                 
 
                )                                              
                                                                 
                      
                | "<%" [#"=" (append out " 
prin ") | none]                                                  
                                          
                copy value 
[to "%>" | none] 2 skip (                                        
                                                          
      
              if value [repend out [value #" "]]                 
                                                                 
              
                )                                 
                                                                 
                                   
                | s: copy value 
[any [e: "<%" :e break | e: "#[" :e break | skip]] e: (          
                                                     
           
         append out reform [" txt" index? s offset? s e #" "]    
                                                                 
         
                )                                      
                                                                 
                              
            ]                     
                                                                 
                                                   
        ]]   
                                                                 
                                                                 
       
    where: 'confirm                                      
                                                                 
                            
] !                                 
                                                                 
                                                 
5/6-23:01:46.501455-## 
Error in [task-handler-40014] : Make object! [                   
                                                              
  
  code: 501                                                      
                                                                 
                  
    type: 'access                             
                                                                 
                                       
    id: 'not-open        
                                                                 
                                                            
    
arg1: "Port"                                                     
                                                                 
                
    arg2: none                                  
                                                                 
                                     
    arg3: none             
                                                                 
                                                          
    near: 
[unless no-lang [                                                
                                                                 
          
            id: locale/lang                           
                                                                 
                               
            locale/set-default-lang 
                                                                 
                                                 
        ]      
                                                                 
                                                                 
     
        out: make                                          
                                                                 
                          
    ]                                 
                                                                 
                                               
    where: 'confirm 
                                                                 
                                                                 

] !
ChristianE:
19-Jul-2009
#[object! [ code: 502 type: access id: cannot-open arg1: %/E/Cheyenne/ 
arg2: #[none] arg3: #[none] near: [change-dir save-path compress-output 
all [ not response/buffered? not empty? response/buffer response/flush 
response/flush/end ] ] where: #[none] ]]
401 / 11721234[5] 6789101112