• 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
r4wp708
r3wp7013
total:7721

results window for this page: [start: 2301 end: 2400]

world-name: r3wp

Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
Henrik:
31-May-2007
I find myself changing the mindset with REBOL every few years, because 
for a long time I was afraid of for example, using PARSE. PARSE is 
so central and important that it can change the way you work with 
REBOL, if you have stayed away from it. I had the same experience 
when starting to use the SDK and when starting to do networking stuff 
in REBOL to let scripts communicate with eachother.


It's not just a new set of ideas that turn up that lets me add to 
existing scripts, but doing the same scripts in entirely different 
ways. I feel I know about 30-40% of REBOL. :-) It's so damn deep.
RayA:
31-May-2007
Thanks everyone for your prompt and honest comments.


Why did I join this community? The primary reason is to be part of 
a small, smart and passionate group who think differently, which 
when combined with REBOL is a very powerful combination. Therefore 
it would seem that focusing the resources of the community on a "killer" 
application leveraging REBOL3 would increase the chance of REBOL 
becoming main stream, and as a side effect possibly allow part time 
REBOL developers to become full time REBOL developers. As an example, 
think what Ruby on Rails did for Ruby. Wouldn't it be nice to get 
paid to do what you love!


IMO/E I believe it's very important for the application vendors to 
have very close and strong ties with the platform vendor so architectures 
and features can be designed and exist at the correct layer. Also, 
if something needs to be implemented in the application but really 
belongs in the platform, it can be done in a way that enables that 
feature to be migrated in the future with minimal impact and extra 
work. This seems to fit with REBOL's history of improving based on 
experience.


I'd like to think it's possible to build great applications in 3 
months, with new releases every three months as required based on 
requirements, so I don't have the time (and maybe not even the ability) 
to spend years learning REBOL. I'd also argue that for a company 
to be successful, it needs a small team to have a number of diverse 
skills which is focused on delivering the product. I mentioned when 
I first signed on that I would be interested to meet REBOL gurus 
who are in Northern California and see what happens when interesting 
(or not) people get together. Sorry for the length of this post and 
thanks for listening.
Geomol:
3-Jun-2007
I remember, I found it hard at first to read and understand REBOL, 
but after some time I got it. My example above is maybe a good example. 
It is evaluated like:

insert (back (tail serie)) (somefunc + 1)


So 'insert' take 2 arguments, 1. and 2. outermost parenthesis. 'back' 
take 1 argument, so does 'tail'. 'serie' is a variable. 'somefunc' 
is a function taking no arguments. '+' is an operator connecting 
'somefunc' and '1'. If a programmer can think this way easily, REBOL 
should be no problem.
Chris:
3-Jun-2007
Perhaps that should be concise -- the expressive I guess is the ability 
to set the condition after the action, in a way that is easier for 
our brains to parse.  Of course, the core of Rebol's expressiveness 
is that the language is built on top of a consistent, robust vocubulary 
(datatypes), though it can take time to learn how to construct the 
most expressive statements.  Ruby is not instinctively reflective 
(is this the right term)?  Now I'm rambling...
Gabriele:
4-Jun-2007
if it's just to be english-like, we can beat them any time with a 
simple dialect :)
Geomol:
4-Jun-2007
I think, performance should win over expressiveness. I'm think, we 
don't have
action unless condition

in REBOL, because it'll cost in performance to check, if there is 
an 'unless' after the action. As it is now, the REBOL intepreter 
knows what to do most of the time. Operators are the exception of 
the rule.
Geomol:
4-Jun-2007
This might give a hint:
>> rule: ['add set a number! set b number! (a + b)]
>> time [loop 1000000 [parse [add 4 5] rule]]
== 0:00:04.880101

>> rule: ['add set a number! set b number! opt ['+ set c number! 
(b: b + c)] (a + b)]
>> time [loop 1000000 [parse [add 4 5] rule]]
== 0:00:05.541085


The rule without infix + seems to be 10-20% faster than the one with 
infix +. This is only a hint! It might be different, if the language 
were changed.
Geomol:
4-Jun-2007
If I allow infix + after each number, the result of course get worse:

>> rule: ['add set a number! opt ['+ set c number! (a: a + c)] set 
b number! opt ['+ set c number! (b: b + c)] (a + b)]
>> time [loop 1000000 [parse [add 4 5] rule]]
== 0:00:06.360697
BrianH:
4-Jun-2007
Geomol, I wouldn't know about R3 but in R2 ops are a little faster 
than their prefix equivalents. The reason is that DO already knows 
which words are ops, while it has to look up other words to figure 
out what they are. This lookup takes more time than just grabbing 
the right action out of the op table. It does have to retrieve the 
index into the op table from the value assigned to the op, but it's 
still faster than general action lookup. Try assigning a non-op value 
to an op word - it will error on evaluation.
BrianH:
4-Jun-2007
Why did I join the community? Because when I joined, REBOL was still 
pretty new.


R2 wasn't there yet - the first alphas for it came a few months after 
I started playing with the language. Most of the low-level behavior 
of the language was completely undocumented outside of RT, and they 
were still trying to position the language as easy to use, easy to 
learn, high level. It still looked like R1 - Scheme with a different 
syntax - but it was different.


A challenge. So I dug in. I tested every function, everything I could 
find out. I asked a lot of questions on the mailing list. If they 
weren't answered, I dug in further and figured it out myself. And 
I got into a lot of really interesting arguments with the people 
on the list, testing and probing the language until all of the undocumented 
stuff became clear.


Those early arguments became the low-level documentation of REBOL. 
And then came the books, and the community got bigger. I started 
using REBOL at work, even when it wasn't the language I was supposed 
to be using - code is easier to generate with REBOL than it is to 
write directly in other languages. More fun too. That's the hook: 
REBOL is fun.


There is a principle I read in a Heinlein essay years ago: The principle 
of Creative Laziness. He wrote about the guy who invented the automatic 
pilot, back in World War 2, because piloting back then was a big 
hassle and he was too lazy to do it. Instead of doing the drudge 
work he did the more interesting task of figuring out how to automate 
it. If necessity is the mother of invention, then laziness is its 
father. Laziness is a virtue.


That's what dialecting is all about: Automating the drudge work and 
wrapping it in a nice little language because it's more fun than 
doing it manually. More efficient too, a lot of the time.


Do you know who REBOL appeals to the most? Engineers, scientists, 
hackers, analysts, problem solvers. People with opinions, people 
with enough of a twisted sense of humor, of the world, that they 
don't want to just sit still and accept the way that they are told 
the world is - they want to figure it out and remake it if necessary. 
Interesting people: REBOL's other hook.

Welcome to the cool kids' table!
Will:
14-Jun-2007
well, I've spent almost an hour trying to figure out.. next time 
I'll go stright to the dictionary!
PatrickP61:
17-Jul-2007
What is the best way to get an formatted timestamp that matches IBM 
DB2 in this form: ccyy-mm-dd-hh:mm:ss.nnnnnn

I tried this, but I'm stuck on how to extract out the nanoseconds 
from Now/precise:


Timestamp: rejoin [ now/year "-" now/month "-" now/day "-" now/time 
".000000" ]


Also, if the month or day is less than 2 digits, I need a leading 
zero -- how can I do this easily?
Sunanda:
17-Jul-2007
To get the seconds:
third now/time/precise
Use first, second, to get HH MM.
Not sure it is nano-second precise!
PatrickP61:
17-Jul-2007
I got the following when I did this:

rejoin [now/year "-" now/month "-" now/day "-" now/time "." third 
now/time/precise "000" ]

2007-7-17-13:40:36.36.748000 which is pretty close, except the seconds 
are repeated again.
Sunanda:
17-Jul-2007
Try this:

 rejoin [now/year "-" now/month "-" now/day "-" first now/time "." 
 second now/time "." thir
d now/time/precise "000" ]

But you may need to add some more trailing zeroes.... a time of 01:02:03.100 
would show in REBOL as 1:2:3.1
PatrickP61:
17-Jul-2007
Sure -- Why not  -- I'm learning more and more all the time
PatrickP61:
17-Jul-2007
OK -- I'm perplexed as to when does things get evaluated.

If I have a variable like Now-TS: to get the formatted time, it will 
be resolved immediately and return the time.

If later, after I wait 1 second, I want to print the new formatted 
timestamp, it returns the exact same value as before, when I know 
the time has acutally changed.  How do I get the time now to be resolved 
again?  Example code:

print now/precise		gives 17-Jul-2007/14:35:21.308-5:00 
 wait 1

 print now/precise		gives 17-Jul-2007/14:35:22.324-5:00	now/precise 
 is evaluated immediately

 Now-timestamp: 
	rejoin [
		Now/year "-" Now/month "-" Now/day "-" 
		first Now/time "." second Now/time "." third Now/time "000" ] 

 print Now-timestamp			gives	2007-7-17-14.35.22.0000	
 wait 1 

 print Now-timestamp			gives	2007-7-17-14.35.22.0000		the exact same 
 time -- not evaluated immediately


Is it this way because Now-timestamp has been assigned and already 
evaluated  -- if so, how do I have it reevaluate it again?
BrianH:
17-Jul-2007
You might consider that the time will march on during the course 
of your evaluation, so you might want to store it in a local variable, 
like this:


pad0: func [x n [integer!]] [head insert/dup (x: form :x) "0" (n 
- length? x)]
now-timestamp: func [/local n] [n: now/precise rejoin [

    pad0 n/1 4 "-" pad0 n/2 2 "-" pad0 n/3 2 "-" pad0 n/4 11 "000"
]]
PatrickP61:
17-Jul-2007
Thanks Brian.  I will play around with it a little more.  Just to 
re-iterate my understanding of rebol assignments


A variable is not evaluated when assigned - the value is, and then 
it is assigned to the variable. You don't really 
define" variables in REBOL"

So at the time of assignment, the text following the : is assigned 
to the variable but is not evaluated.  That is to say the variable 
is like a pointer to the text string that was typed in.

Does that mean that Rebol will not do evaluations until it needs 
to.  For example:
In-file:	%file_path_name.txt
In-text:	Read In-file

write %out-file-path-name.txt In-text		<-- this is where the evaluation 
occurs to resolve all the above?  Is that right?
BrianH:
17-Jul-2007
That's not what I meant. I meant that the expression to the right 
of the set-word (s:) is evaluated. The result of that evaluation 
is the value that will be assigned to the word. So, you were right 
the first time about the evaluation order.
PatrickP61:
18-Jul-2007
Thanks for your patience with me.  I'm wrong about the evaluation. 
 It is done at the time of the assignment returing whatever value 
to the variable.  The reason Now-timestamp had identical values, 
even after waiting 1 second was that it was evaluated once, with 
a value put into it, then the wait happened, then I simply re-printed 
the same value as before, because I did not re-do the variable.  
I think I was making it harder than it really is.

I don't understand this statment:

Later on you can either do a full evaluation of the word by stating 
it directly ( a ) or you can just retrieve its value by using a get-word 
( :a )


Are you saying that I can simply type Now-timestamp to have it re-evaluated 
at that time?
btiffin:
18-Jul-2007
Patrick; I just looked back a little bit, your question about formatted 
time-stamps...Chris has donated an awesome date time formatter to 
the rebol.org repository.  Very close to strftime in function.  Check 
out


http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=form-date.r
btiffin:
18-Jul-2007
form-date now/precise "%C%y-%m-%d-%H:%M:%S"  doh!  loses the precise, 
so...

dt: now/precise  t: dt/time  rejoin [form-date dt "%C%y-%m-%d-%H:%M:%S" 
find form t/second "."]


again, not quite right...the precision won't be right padded with 
zeros, one more step
btiffin:
18-Jul-2007
dt: now/precise   t: dt/time   t: find form t/second "." 

rejoin [form-date dt "%C%y-%m-%d-%H:%M:%S" head change/part ".000000" 
t length? t]

I think I'll bug Chris to add %P for precise padded seconds.  :)
PatrickP61:
18-Jul-2007
btiffin -- Thank you for taking the time to explain it.  I think 
I understand it now.  I was initially confused because I tried to 
print a timestamp knowing full well that time is changing and I didn't 
understand how to get it evaluated.  I confused the assignment of 
a value with that of a function..  Good info on the date timestamp 
above.

Thank you all!
btiffin:
19-Jul-2007
rebol.org %form-date.r updated...

Fix for time-stamps and a really nice short-cut that includes the 
zone.
%c
 outputs all the fields of now/precise  nicely formatted
%s
 outputs the seconds with nanosecond precision  nicely formatted

form-date now/precise "%C%y-%m-%d-%H:%M:%s" is now all you need for 
IBM DB2 time-stamps.
btiffin:
19-Jul-2007
We decided to use %s for REBOL precision...no epoch seconds in form-date. 
 And yeah, I was looking at the TIME and NTP protocols...it would 
not be fun in high level REBOL, I don't think even Rebcode could 
poke the right fields for time!
PatrickP61:
19-Jul-2007
Hi all -- I didn't mean to cause additional entries to other libraries 
-- just tried to format it in my own routine.  But since there is 
interest, I double checked the official IBM SQL reference manual 
for timestamps.

So for the record and for your information:


Although there are many many different forms (Japanese, Europe etc), 
I only focused on two elements, the ANSI  ISO timestamp, and IBM 
SQL timestamp standard.  So in the IBM book "DB2 UDB for iSeries 
SQL Reference V5R370" under "Data Types, Datetime values, table 10 
page 70":

_________________________________________________________________________________________________

Table 10. Formats for String Representations of Timestamps
Format Name			Time Format						Example

ANSI/ISO SQL standard	TIMESTAMP ’yyyy-mm-dd hh:mm:ss.nnnnnn’	TIMESTAMP 
’1990-03-02 08:30:00.010000’

IBM SQL			’yyyy-mm-dd-hh.mm.ss.nnnnnn’			’1990-03-02-08.30.00.010000’
14–character form		’yyyymmddhhmmss’					’19900302083000’

_________________________________________________________________________________________________


For the record, I think I confused the two types.  Notice the embedded 
space between the date and time as well as : separators for ANSI/ISO, 
while the IBM SQL standard contains it all (no embedded space) and 
uses periods to separate the time elements, which I will easily fix 
in my version. -- You may wish to do the same for any new form of 
date you have.
btiffin:
19-Jul-2007
Patrick;  No problem about library entries.  :)  When REBOL grows 
we all benefit.  Nothing in rebol.org is 'official'.  It's a user 
maintained repository of 'stuff'.  Chris' form-date just happens 
to be one of the beauties.  It is close to but not the same as the 
C strftime function.  With form-date you can make up pretty much 
any date time output you'd like.  No one has to use form-date, I 
was just cheerleading.  So I'll cheerlead a liitle bit.  I you haven't 
yet, check out http://www.rebol.org.Sunanda and team have created 
a a world class repository of information and functionality that 
is all REBOL user community generated.
btiffin:
1-Aug-2007
For instance.  a: now  gives you a date time field that won't change 
whenever you reference a or get a and it's type is date!   a: :now 
gives you an a that will be the current time whenever it is evaluated., 
but if you get-word a with :a or get 'a you get back the native, 
not the datetime, so a's type reports as native!  It's funky and 
fun.
btiffin:
1-Aug-2007
It's a weird time in Altme as well.  The gurus that are usually around 
to give very detailed and exact wording to these issues are all busy 
with R3, so show up here on a less regular basis.  You may have to 
filter through some tier B rebol explanations for the next few days. 
 :)
btiffin:
2-Aug-2007
Robert and all;  I just bumped into this one again...so I thought 
I'd mention it.


none is a weird value, in that it usually looks like none, but a 
lot of time is  'none  the word!, not the value none of type none!

My suggestion...when starting out, get used to typing  #[none]


a: [none none]   type? first a  is word!  and none? will test false.

a: [#[none] #[none]]  nice and safe...  type? first a  is none!  
and none? will test true.
RobertS:
5-Aug-2007
re: comments in 'core' on the plague of MI ...

multiple inheritance works rather nicely in Curl since you are required 
to provide 'secondary'  constructors - I prefer prototype-based with 
an option for class hierarchies, personally ( try experimenting with 
Logtalk if you can find time ).  I am watching Io, the language, 
evolve as Rebol3 emerges: what is interesting to me is that I ask 
'But is that Oz ?' in Oz. ( which is multi-paradigm )  I used to 
hear a lot of 'getting it' about Prolog and Smalltalk.  After almost 
2 decades in both, I think many of them "didn't get it" ( class hierarchy 
obsessed, as ST purists are/were ).  Ruby is so much like Smalltalk 
that I am quite enjoying watching Groovy play catch-up with Ruby 

Most issues in Rebol have a parallel in Javascript; where ( for the 
neophyte) experiments with 
	typeof

in a console is about the only way for the average developer  to 
'get  it' given
	d1 = Date  // now you use d1 as a function d1()
	d2 = Date()   // d2 is a string that looks like a number   

 d3 = new Date() // d3 is an object but it is UTC but it is presented 
 local time but it is compared UTC .... 
or
	s1 = "string"
	s2 = String("string")
	s3 = new String('string')

 s3[1] = 6   // s3 is an object, as typeof of reveals; String 'equality' 
 in JavaScript even with === is no end of grief  and  for what convenience 
 ?
	s3["size"] = 6
or
	a1 = Array(42)
	a2 = new Array(42)

I think the latter 2 show just how rushed LiveScript was pushed/forced 
out to market as "LavaScript" before the Sun "StrongTalk" folks had 
much influence on the Netscape folks ....  Rebol3 is in better hands 
than 'ActionScrtpt'  as it drifts into classes - because it is being 
kept 'in hand''

The changes in Groovy as it complied with the JSR for Java scripting 
are interesting ( Groovy is almost neat as Rebol would be if it were 
confined to, say, living on  top of VisualBasic ;-)  Now to avoid 
'Rebol on Rails' ...

I think some people who adopted Spring to cope with Java would appreciate 
Rebol ( there, too, you have to 'get it ' )

 MySubClassObject.prototype = new MyParentClassObject()   // now go 
 mess with THAT object before it is useful ...
	// ...

 MySubClassObject.prototype.superclass = MyParentClass  // to fake 
 having a superclass other than Object
cannot be much easier to "get" than anything about Rebol
	use    ; now mostly use /local
and

 bind   ; modifies the block it is passed; use COPY refinement to 
 preclude this side-effect

Smalltalk80 was like "Rebol4" as compared to the first passes at 
an O-O language ...  someone who actually understands Smalltalk contexts/blocks 
and JavaScript should 'get it' with Rebol ( some of those people 
are using Seaside with Squeak, Dolphin and/or VisualWorks ST )

  my 2 cents:  a1 should have been an array of fixed size and only 
  a2 should be a Vector object
RobertS:
5-Aug-2007
>>system/console/prompt: [ reform [ now/time ">> "]]  ;; good tutorial 
candidate from 'Rebol for Dummies' by Ralph Roberts
>>to-integer #2A  ;; Hex. But what was the question?

>>big-Q: does [ rejoin [ none ". But the answer is: " to integer! 
#2A]]
>>big-Q

>>little-Q: [ rejoin [ none ". But the answer is: " to integer! #2A]]
>> do little-Q

>> do big-Q ;; now you get an error because none is the has-no-value 
word
>> type? none 
>> path? 'none/first
RobertS:
27-Aug-2007
I have written an alternate form of the func WHAT  that dumps to 
a file ( I have only 481 global functions at startup )

I will try to find time to build a page that gives clicks for SOURCE 
and HELP for each func in a given file dump (and maybe group them)
I tried messing with PRINT but that broke HELP and SOURCE ;-)
Group: Web ... Everything web development related [web-public]
Graham:
8-Oct-2005
Yeah .. I worked for Star Fleet a long time ago.
Volker:
12-Oct-2005
Would you have enough time to answer a lot silly questions? I forgot 
the whole api and everything, but could do the coding.
Pekr:
2-Nov-2005
folks did very nice system called billingo - you could rent it for 
very few bucks even for cz folks to afford, you defined your price-list, 
data-limits etc. logic and then even your secretary could add new 
person to the network ;-) Such person had portal sub-page available 
to log into, to see its traffic, graphs etc. It did also invoices 
for you. Very nice. Today they announced they are closing, because 
of low demand for such service. But it was excellent service, which 
would save me plenty of time ....
Ammon:
2-Feb-2006
Crashing isn't the issue for me.  It just adds too much time to an 
already way to slow interface for me to be able to live with.
Pekr:
2-Feb-2006
SeaMonkey is Mozilla :-) They stopped Mozilla suite some time ago, 
but way too many ppl objected ...
Pekr:
2-Feb-2006
I  some two years back heard my friend telling me it is slow, for 
me, it was real time, for him, it was slow .... he was former amigan 
... I asked him what is fast, and he told me nothing under Windows, 
so :-)
Pekr:
2-Feb-2006
The only thing I find slow about Mozz products in general is its 
load time ... but then I run browser running all the day, so I start 
just once ...
PhilB:
3-Feb-2006
Go to agree with Petr .... Firefox works fine for me ... even my 
banking sites .... I cant remember tha last time I had to fire up 
IE.
Geomol:
4-Feb-2006
I mostly use Safari on Mac these days. It works with my bank too. 
:-) When I'm on Windows, I mostly use Opera. I used to use Mozilla, 
and I still use Firefox from time to time, both under Windows and 
Mac. I very very rarely use IE. Safari can be used for 99+% of the 
sites, I visit. Today I had a problem, because I wanted to watch 
the 2 danish Superbowl updates, our reportes sent from the US. And 
a danish tv channel TV2 Sputnik require IE6 under Windows to run, 
and only that. Argh!
Carl:
9-Feb-2006
Yes,  we took them out. REBOL ran a lot faster as a result.  I used 
to be a huge fan of continuations 20 years ago. But, continuations 
do not provide enough benefit for the performance hit on evaluation 
speed and memory usage.  (Stop and think about what is required internally 
to hold in an object for any period of time the entire state of evaluation.) 
 It's more of a programmer play toy than a useful extension.
Anton:
15-Feb-2006
read/custom - can it send more than one cookie at a time ?
MikeL:
19-Sep-2006
Sorry about the CRLF ..... you don't want to be checking the timestamps 
on the server with a slow connection. Just hold the last updated 
value locally and if it changes then transfer the file.  Same for 
deleting ... else you spend all of your time checking on the server 
over a slow connection.    You could check the timestamps or hash 
the local value ... then if  the hash value of the source changes, 
transfer the updated version.     There's some code to do some of 
this in build-sie.r  http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=build-site.r
 but it's a rebol-ish task.
Gabriele:
7-Nov-2006
no new version. i don't think i'll have time for it.
Chris:
16-Jan-2007
Etags should work like this: client requests a resource, server returns 
resource and etag header.  Client again requests resource, but this 
time sends if-none-match header with etag value and server can then 
decide whether to process the request or send 304 not changed.  I 
haven't explored this much so don't know how well it's supported 
-- I'm not sure how appropriate the solution is, but would involve 
the least server activity.
Joe:
24-Jan-2007
charles, welcome to reality !  In theory rebol supports many protocols 
but in practice the support is incomplete and it has been incomplete 
for a long time. check rebol.org, there are several patches for cookies 
support
Graham:
24-Jan-2007
you normally need to send the cookie each time ... that's what browsers 
do
CharlesS:
24-Jan-2007
yes, I am sending it each time, but for some reason it seems to only 
like the first request, after that it expires , or something else 
is going wrong ... Id really like to see a client with transparent 
support for cookies
Pekr:
18-Jun-2007
simply put, there is following workflow, similar to how Gabriele's 
Temple worked:

- browser requests page
- webservers takes .html
- then it sees, .html should go via some handler
- handler is called - so e.g. index.html is passed to pekr-rsp.r

- pekr-rsp.r, to save some processing time (prevent parsing), looks 
if .html page is registered as dynamic, non-dynamic .html is returned 
directly to browser - non-measurable slow-down

- if page is supposed to be dynamic, it is being parsed. It looks 
for marked sections and particular handlers are called, which know, 
how to treat that section
Pekr:
18-Oct-2007
I would like to resolve following situation:


- on our kiosk, we have following set-up - Apache running locally, 
and once Windows starts, it runs http://localhostin full screen.

- I wanted operator to have more easy life (not taking wireless keyboard 
each time), so I wrote View script, which sits in the memory, and 
waits for USB drive to appear. Then it copies new stuff from USB 
drive to C:\kiosk dir.


However - we found out, that the presentation still returns old pages. 
They seem to be cached somewhere. What should I do about it? Improve 
script to:

- restart presentation?
- restart Apache service?
- disable caching somehow?
- flush the IE cache somehow? (could take long)


And remember - the aim is for the operator to have seamless operation 
- plug-in USB disc, wait for update, unplug disk.
Dockimbel:
13-Apr-2008
View-like engine in JS : that looks very doable, but I'm afraid the 
result might be too slow. I've worked some time with a rendering 
engine built in JS, and it was just a little slower than native UI, 
but not very scalable (performances dropping rapidly with a growing 
number of "faces"). It was BackBase : http://www.backbase.com.
Gregg:
14-Apr-2008
Will, I'll updated my JSON copy script here with your changes, but 
Romano hasn't been around in a long time, AFAIK, so someone (I guess 
maybe you or me) should get joint ownership of the script on REBOL.org 
to update it.
Geomol:
29-Apr-2008
Info from danish news on tv:
Women use 29 hours on the internet per week.
Men use 27 hours on the internet per week.

People older than 61 years use more time on the internet than people 
between 20 and 60 years old.
Brock:
2-May-2008
I don't think the method Doc provided will work for dynamically generated 
pages.  For dynamic content  you will need to use something like
	checksum http://www.rebol.com

However, you will need to maintain a list of the last time a page 
was checked.
DideC:
14-Jan-2009
#!/usr/bin/rebol -cs
rebol []

print "Content-type: text/html^/"
print {
<<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><TITLE>Rebol CGI test page</TITLE></HEAD>
<BODY>}

print ["Server date time is:" now]

print {</BODY></HTML>}
Group: rebcode ... Rebcode discussion [web-public]
BrianH:
28-Oct-2005
Oh, you mean the word n in his example. If you know the value of 
n ahead of time there would be no point to using brab - you could 
use bra.
BrianH:
28-Oct-2005
If the table-base is a pointer to the table (as it is here) any rebasing 
would require math. The question is whether you want to do that math 
every time, or just when you need to.
Volker:
28-Oct-2005
You need to do it every time you switch. Its not 0-based, its always 
table-based.
BrianH:
28-Oct-2005
(Pardon the awkward phrasing - it's a complicated topic and I don't 
have time to rephrase. Be back later)
Rebolek:
28-Oct-2005
I was trying how fast is apply in new version but I'm not able to 
chceck it. I've got small test, I store precise time in a variable, 
run test, subtract precise time from stored time. But with new rebcode, 
second time is returned BEFORE rebocde is finished. Looks like if 
rebcode rust as independent task or thread (?).
Rebolek:
28-Oct-2005
>> probe xt: now/time/precise muls probe xt - probe now/time/precise
23:10:45.859
23:10:46.015
-0:00:00.156
Rebolek:
28-Oct-2005
Whe is the time printed before 'muls function is finished?
BrianH:
3-Nov-2005
Romano, not that I would normally be defending relative jump (look 
at the group history :) ), but when you have to specify the offsets 
as literal numbers, relative offsets are more useful. Most of the 
time branches are used for control flow on a local level - branches 
only work within the same code block and most code blocks aren't 
very large. If you have relative branches, you can add instructions 
before the affected area without having to recount all of your branch 
statements, and you can add code snippets into code without having 
to add labels. When you use absolute branches that doesn't work so 
well. Of course there is no difference when you are branching to 
labels because either way the assembler would be doing the counting.
BrianH:
5-Nov-2005
As for "and you can add code snippets into code without having to 
add labels", imagine that you are generating your rebcode, or copy-paste 
coding, rather than hand-writing every line every time. Now imagine 
that there are branches in the code snippet you are putting into 
your code unchanged. If you use labels as branch targets, you may 
end up accidently reusing some label name that already exists in 
the block and the assembler will complain. To avoid that you can 
branch to offsets specified as literal numbers. You get these numbers 
by counting the instructions between the branch and the target yourself. 
This may seem like a lot of work for code that you have to write 
every time, but it is not too much work to put into a tested snippet 
of code that will be reused as is, over and over again. And if you 
have relative branches, you only need to consider how far apart instructions 
are within the snippet, rather than recalculating those offsets depending 
on what position the entire snippet has in the block you are inserting 
it into.
Robert:
5-Nov-2005
graph-layout: I won't have the time to get deeper into rebcode in 
the moment. So, here is a request, for something that gives a nice 
demo: I have the old graph-layout code, which uses the TouchGraph 
idea. Anyone interested to port it to rebcode and see howmany nodes 
we can handle?
BrianH:
5-Nov-2005
Any time Gregg! In particular, every time changes are made to the 
engine or docs :)
Rebolek:
2-Dec-2005
that's because mouse events have higher priority than time events 
and the scene is refreshed only when time event occur. If you move 
your mouse, no time-events are generated.
Anton:
2-Dec-2005
Every event has a time (event/time), so this could be worked around.
Rebolek:
6-Dec-2005
As I work with sound synthesis and 3d graphics I use lot of maths 
so I need rebcode imost of the time :) I had data structures using 
objects, so I rearanged them for now. I wrote it as wish to RAMBO.
Anton:
5-Apr-2006
I think Gabriele might be remembering the number 20 milliseconds, 
which is close to the time interval given by 48Hz.
Gabriele:
6-Apr-2006
it will certainly be if the security issues are solved in time (i 
think we can do it for beta, but it might be delayed to final)
BrianH:
21-Apr-2006
You use the DO opcode to access objects using REBOL code. There are 
currently no opcodes for direct object access, though they have been 
requested. Time will tell whether such opcodes exist for rebcode 
in REBOL 3.
ICarii:
7-Jul-2006
the irritating thing is that the TestUniqueness function does work 
about 5% of the time..
Gregg:
11-Dec-2006
I think a big issue was security. Because of the same issues that 
let you crash the system, bad things could be done by talented people. 
I'd love to see it included though, even if they had to take out 
the buggy and unsafe bits for the time being.
Coccinelle:
20-Feb-2007
Thanks Rebolek, I reduce the time to produce 6 minutes 44 of music 
from 20 to 15 second.
Gregg:
20-Feb-2007
If I ever have free time again (not complaining, it's good to have 
work :-), I was thinking it would be fun to do a dialect for binaural 
beats, ala SBAGen.
Rebolek:
20-Feb-2007
Gregg that binaural beat thing looks very interesting. I was interested 
in in ELF (extreme low frequencies) some time ago, but I though you 
need some pretty expensive equipment for it (as normal speakers cannot 
play 7Hz wave very well, but after reading a book by V. Marek, I 
found, that 7Hz frequency can be easily simulated by using one wave 
of frequency X and second wave of frequency X+7Hz. The 7Hz freq. 
is then created thanks to modulation, regardless on equipment. It's 
very interesting, unfortunately I had no time to get deeper into 
this field.
Steeve:
20-Feb-2007
but i build many many rebcode functions in real time, i need speed
BrianH:
20-Feb-2007
It really doesn't gain you much speed. The label fixups are done 
once, at rebcode function creation time. After that it just calls 
the offsets - the label statement is a noop. I only do straight offsets 
when generating code (like you are). Be careful though, as the offsets 
are calculated from the end of the branch statement, not the beginning.
BrianH:
20-Feb-2007
Remember that the current assembler* doesn't do much, and even that 
is done at rebcode function creation time. It has no effect on execution 
time.
Steeve:
20-Feb-2007
first i parse Z80 opcodes and execute them step by step, then they 
are concatened to build sub-routines and cached, if sub-routines 
are mantory another time, then i call cached sub-routines instead 
of reparse the opcodes.
Steeve:
20-Feb-2007
but it's not a problem, the management of branches is done in real 
time, it's in a stack, so i can manage fixed as indirect branches.
BrianH:
20-Feb-2007
It occurs to me that you might be able to do the fixups using a compile-time 
lookup table, or perhaps translating addresses to label statements.
Steeve:
20-Feb-2007
but there's some difficulties toing that in real time
BrianH:
20-Feb-2007
If you keep the Z80 memory in a binary! and make changes to it, whenever 
code at an offset already covered by the BRAB block is modified you 
would change that offset in the BRAB block to the default and mark 
the associated section of the rebcode as free. That way the next 
time you branch to that offset it would retranslate the Z80 to rebcode 
and put that rebcode in the first free spot big enough. You could 
even break up your code into blocks of around the same size and branch 
between them, to reduce fragmentation.
BrianH:
20-Feb-2007
If you go with the fixed main code block prefilled with snippets, 
the unchanging length of that block would lend stability to the rebcode 
interpreter. REBOL tends to crash if modifications to code that it 
is running at the time increase the length of the code block enough 
to force a reallocation of that block.
BrianH:
20-Feb-2007
All of the infrastructure code would be at the top of the main code 
block, and the code that gets called every time before the BRAB would 
be after a LABEL top statement. Any calculations that affect the 
pc would go in the generated rebcode blocks.
BrianH:
20-Feb-2007
Well, that's all I have time for right now. I hope I helped!
Steeve:
23-Feb-2007
i said that the faster way is to write 2 times 8bit instead of writing 
16 bit in one time
Steeve:
23-Feb-2007
plus lost of time due to the syncronization between 16 and 8 bits 
registers
Steeve:
23-Feb-2007
but the instructions which operate directly in memory are rarely 
used, because they consume more time.
BrianH:
23-Feb-2007
More time than the combination of a load to a register and an add 
from that register?
Steeve:
23-Feb-2007
depending what operations follows , but right the most time
BrianH:
23-Feb-2007
Wow. It's the same amount of work, in fewer instructions, and it 
takes more time. How does that happen? Microcode?
Henrik:
27-Feb-2007
there are also some time wasting color conversion going on. if that 
could be done in 1-2 ops, it would be much faster.
Anton:
27-Feb-2007
warning: sound port is really buggy and destroys your samples over 
time.
2301 / 772112345...2223[24] 2526...7475767778