• 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: 4701 end: 4800]

world-name: r3wp

Group: Core ... Discuss core issues [web-public]
BrianH:
22-Feb-2009
Yes you are, every time you run REBOL code.
Henrik:
23-Feb-2009
Paul, I have a hard time following the discussion. Can you show what 
you are right about?
Henrik:
23-Feb-2009
BrianH, perhaps it's time for a little cookbook recipe on MAKE. :-)
Henrik:
23-Feb-2009
I have some plans for such a kit, but it depends on if I will get 
time to do it and if it collides with R3 GUI development. It involves 
removing some parts of the current VID, like the WindowsXP style 
buttons and making SET-FACE and GET-FACE uniform for all styles. 
Also adding some new styles and the new resize scheme would go under 
that. It would make VID way less painful to use.
[unknown: 5]:
23-Feb-2009
Carl stated at one time that he preferred our works being BSD licensed.
Henrik:
9-Mar-2009
I've asked for this for R3 a long time ago, but I honestly forgot 
what came of it.
Henrik:
9-Mar-2009
I can also see a problem when you don't want to increment all blocks 
at the same time.
Graham:
12-Mar-2009
this is Ladislav's function to find out if your PC is out.

get-nist-correction: func [/local nist-time cpu-time mjd hms] [
 nist-time: read daytime://time.nist.gov
 cpu-time: now

 parse/all nist-time [skip copy mjd 5 skip 2 thru " " copy hms 8 skip]
 nist-time: 17/Nov/1858 + to integer! mjd
 nist-time/time: to time! hms
 nist-correction: difference nist-time cpu-time
]
Graham:
12-Mar-2009
it basically parses the text string returned by the daytime server, 
and works out what utc is ( nist-time )
Graham:
12-Mar-2009
it then displays the difference between utc and your pc time.
Graham:
12-Mar-2009
now, when I set my pc clock to canadian time, or EDT ( -0400 ), on 
vista, Rebol says timezone is -3 and not -4
Graham:
12-Mar-2009
what time zone?
Gregg:
12-Mar-2009
US Mountain time (-6:00 right now)
Graham:
12-Mar-2009
what happens if you change to EDT ?  Does Rebol report the time zone 
correctly?
Maxim:
12-Mar-2009
if you have updates, it should have been rolled in a long time ago.
Graham:
12-Mar-2009
Hmm..  so why when I change to canadian time in vista, does Rebol 
say I'm at -3 ?
Graham:
12-Mar-2009
Atlantic time
Maxim:
12-Mar-2009
-3 is the current atlantic time... eastern is at -4
Graham:
12-Mar-2009
Atlantic time is -3 ?
Graham:
12-Mar-2009
I'm getting reports that my app is complaining that the time is 1 
hour out :(
Anton:
12-Mar-2009
Could it be daylight saving time ?
Anton:
12-Mar-2009
http://en.wikipedia.org/wiki/Atlantic_Time
Graham:
12-Mar-2009
What's the time in Ontario now? 00:42 ?
Anton:
12-Mar-2009
WinXP has an option to automatically adjust time during daylight 
savings. I suspect Rebol gets confused by that.
Maxim:
12-Mar-2009
cause the check mark in the time settings, only switches the "automatic" 
aspect of it... you can't manually set the dst to on or off.... which 
is darn stupid.
BrianH:
13-Mar-2009
Factual fixes I can handle (with available time). Formatting fixes 
are much more difficult - don't know Wikimedia. Not the docs guy 
though.
BrianH:
15-Mar-2009
Chris, that sounds like a good job for DO/next. It also sounds like 
a function that would be replaced by CASE [NOT ... when the code 
is being optimized. REBOL programmers can be pretty ruthless when 
it comes to hand-optimization, so one of the goals of R3 is to make 
the mezzanine functions powerful and efficient enough that they will 
actually get used rather than optimized away, and to make native 
the functions that need to be. The hope is that the users of REBOL 
can just use functions and trust that they will be efficient, rather 
than having to manually inline code all of the time.
[unknown: 5]:
24-Mar-2009
Not negate it necessarily but make it less efficient asyou would 
have to allocate storage for the string each time on the new size.
Chris:
27-Mar-2009
Any time the string is displayed literally (such as at the console, 
or mold/save) will you see the double caret.  Internally it's a single 
caret.
Chris:
28-Mar-2009
Is there any string that  'to-time will return an error?
Dockimbel:
28-Mar-2009
But it should in this kind of input string : 
>> to-time "1:111:11"
== 2:51:11
Sunanda:
28-Mar-2009
R3 alphas will fail bad strings:
>> to-time ""
** Script error: content too short (or just whitespace)

>> to-time "x"
** Script error: cannot MAKE/TO time! from: "x"

>> to-time "12:12"
== 12:12
Sunanda:
28-Mar-2009
REBOL has always had a policy of "normalising" times with >59  minutes. 
Even without the to-time and string:
>> 1:111:11
== 2:51:11
Geomol:
30-Mar-2009
If I have a simple local in a language like C, I wouldn't allocate 
and free it every time, I call my function.
Geomol:
30-Mar-2009
If you free the local every time, REBOL have to allocate that memory 
every time.
[unknown: 5]:
30-Mar-2009
Hi John, I free locals all the time.
Geomol:
30-Mar-2009
As I see it, it's the garbage collectors job. When I use large series, 
I declare them like this in my functions:
some-series: clear []

Then I reuse the same memory, every time I call my function. I have 
never used ALSO.
Geomol:
31-Mar-2009
I learned a program structure more than 20 years ago called "program 
95%". It's a structure, you use 95% of the time when programming 
COBOL (and probably also in most other langauges). Maybe the need 
for ALSO is related to how we structure our programs?
Geomol:
31-Mar-2009
If you want to load more MP3s, it would be a good idea to reuse the 
same memory area. An example:

>> f: func [/local blk] [blk: []]   
>> a: f
== []
>> insert a 42
== []
>> a
== [42]
>> source f
f: func [/local blk][blk: [42]]
>> clear a
== []
>> source f
f: func [/local blk][blk: []]


You see, A and BLK inside F points to the same memory. Next time 
you call F, you can put some more stuff in BLK (read another MP3).

If you want to be able to completely remove BLK, I would do that 
using an object. Build the MP3 player as an object, instead of just 
a function. Makes sense?
Geomol:
31-Mar-2009
Using ALSO returns some data. If your code look like this:

mp3-data: load-mp3-function


and that load-mp3-function ends with an ALSO, setting the local var 
to none, you still have a full copy in mp3-data. Actually you end 
up having 2 copies for some time, until the garbage collector frees 
the local version. Later in your code, you need to set mp3-data to 
none to free to memory (which the garbage collector does). Now, is 
this how you use ALSO and why you need it?
[unknown: 5]:
31-Mar-2009
John, actually the piece I think I was showing you the first time 
is what I meant.  The series in the second one is actually desired 
behavior.
[unknown: 5]:
31-Mar-2009
Yeah I found out about REBOL through a listserv I was on at the time 
with a bunch of Cisco Engineers.
Gabriele:
1-Apr-2009
Geomol: I never said I do my-port: also... if you need to use a local 
word then you don't need also. I need also all the time.
Gabriele:
1-Apr-2009
time-it: func [label code /local s] [
        s: now/precise

        also do code debug/dprobe/label difference now/precise s label
]
Oldes:
1-Apr-2009
Sorry, but it's a known bug which is already fixed in R3:
>> 1:00:-10
** Syntax error: Invalid "time" -- "1:00:-10"
** Near: (line 1) 1:00:-10

** Note: use WHY? for more about this error
Geomol:
4-Apr-2009
I wrote: " --1:23 should be of type url!, shouldn't it?"

Actually, it's not a valid url according to the definition:
http://en.wikipedia.org/wiki/URI_scheme

The scheme name consists of a letter followed by any combination 
of letters, digits, and the plus (

+"), period ("."), or hyphen ("-") characters; and is terminated 
by a colon (":")."

So it should probably just be an invalid time.
Oldes:
10-Apr-2009
very long.. I think such a messages comes already very long time.
Geomol:
16-Apr-2009
Good if you got it figured out! Often it helps to talk to others. 
All the time, I see the problem myself, the second I start telling 
others about it. :-) And then I get the looks. :-D
Geomol:
27-Apr-2009
eFistAnt, Ladislav has some timing functions here: http://www.fm.tul.cz/~ladislav/rebol/timblk.r
I just use:

time: func [:f /local t][
    t: now/time/precise 
    do f 
    now/time/precise - t
]

And then time many loops of some code, like:

>> time [loop 10000 [buffer: copy {}]]
== 0:00:00.245122
Geomol:
1-May-2009
Continuing from Puzzle Answers. Isn't this a bit funny or strange?

First some failed attempts to make 2 a word of value 1:

>> 2: 1
** Syntax Error: Invalid time -- 2:
>> set '2 1
** Syntax Error: Invalid word-lit -- '2
>> set [2] 1 
** Script Error: Invalid argument: 2


So 2 shouldn't be a word. But then it's possible anyway with this 
trick:

>> set to-word "2" 1
== 1

2 is still a number:

>> 2
== 2

But 2 as a word exists:

>> get to-word "2"
== 1


I think, it's a bit strange. If it's intentional or not, I don't 
know.
Janko:
12-May-2009
do any of you rebol gurus see a way to do something like coroutines 
/ yield / generators with rebol - so far a lot was possible to be 
done in rebol on a library level because it can change it's own code 
and because primitives aren't really primitives, but I don't see 
how this could be done ( there is magical do/next but it would block 
until loop exits so for something like this example it won't work). 
I am not sure I know the exact definition of coroutines so I will 
give an simple fictional example.. 

...
retvieve-time: func [ node /local msg ] [ 
	send-message node "get-time"
	while [ not msg: get-waiting-message ] [ yield ]
	print [ "the time is" msg ]
]

append *processes* :retrieve-time
retrieve-time *timer-node*

forever [ foreach p *processes* [ continue p ] ]


Yield returns controll from function, and next time continue is function 
continues at that point. I know the example isn't technically correct 
(for example when function exits it should be flagged and cleared 
from *processes* etc) , but just for illustration what I am asking
Janko:
12-May-2009
I made progress with my simple actors library few weeks back  but 
I still ahvent found time to make a blogpost about it.. it works 
nicely without something like yield and probably even has few advantages, 
but I am interested if somehow this can be made on top of rebol too
Group: View ... discuss view related issues [web-public]
Anton:
13-Sep-2006
error-window: layout [
	h3 "Program Error!"
	area 300x200
	button "Close" [hide-popup]
]

inform-on-error: func [code [block!]][
	if error? set/any 'error try code [
    	error-obj: disarm error
    	?? error-obj
		error-window/pane/2/text: rejoin [
			mold disarm error 
			now/time/precise
		]
    	either viewed? error-window [
    		; subsequent errors
    		show error-window
		][
			; first error
			
			print "INFORM"		
			;inform error-window
			; Emulate INFORM but without WAIT
			error-window/text: "Dialog"
			error-window/feel: make system/view/window-feel []
			show-popup center-face error-window
		]
	]
]

system/view/wake-event: func [
	port 
	/local event no-btn error ; <-- added 'error
] bind [
    event: pick port 1
    if none? event [

        if debug [print "Event port awoke, but no event was present."]
        return false
    ]
    either pop-face [

        if in pop-face/feel 'pop-detect [event: pop-face/feel/pop-detect 
        pop-face event]
        inform-on-error [do event]
        found? all [
            pop-face <> pick pop-list length? pop-list
            (pop-face: pick pop-list length? pop-list true)
        ]
    ] [
    	inform-on-error [do event]
        empty? screen-face/pane
    ]
] system/view

view/title layout [
	h3 "Avoid the console from popping up"

 box 500x100 "Hold down left mouse button and drag to create errors" 
 feel [
		engage: func [face action event] [
			print ["ENGAGE:" event/time event/type mold event/face/text]
			if find [over away] action [
				2 / 0 ; error!
			]
		]
	]
] "Main Window"
Henrik:
13-Sep-2006
The goal of the error capture is to provide end users a means of 
reporting bugs to me over the internet in a uniform manner. Having 
them read me console output over the phone just doesn't work.

To reach that goal I defined some rules:


1. The user must know what is going on when that window is popping 
up. Therefore it has to be very simple and clear that the program 
they were working in, has failed.

2. When I use the program, the error window must be useful to me 
as well, so I output the error object in that window.

3. The error window must pop up in front of the other windows and 
be modal. I've had way too many user cases with hidden new windows 
to great confusion of users. That's why I use an INFORM.

4. The program must stop dead in its tracks, because of two things:

4.1. The program saves to disk very often. If the program continues 
operating despite this error, there could be a risk of data corruption, 
which could be saved to disk, overwriting good data.

4.2. If the program crashes during receiving events from a moving 
mouse, the error log would become very big in no time, if the logging 
functions are triggered because of this mouse movement. It's important 
to see the first point where it breaks.

I've got all bits working except the event blocking part.
Anton:
16-Sep-2006
Someone made a very nice colour-wheel requester (at least I think 
it was a requester) at one time. I've found Oldes' color-lab.r which 
is just awesome, but I'd like to also find any others.
Robert:
17-Sep-2006
This would be really a needed doc. I haven't done it myself yet, 
because the startup time to collect all information snippets is to 
high.
Anton:
20-Sep-2006
Actually, I think you understand ok. Yes, LAYOUT creates a *new* 
face every time.
Anton:
21-Sep-2006
The above uses AGG scaling via the DRAW dialect. If you are converting 
many images, it should be faster than using LAYOUT all the time (and 
the code is shorter).
Anton:
6-Oct-2006
You probably don't spend enough time playing with function creation 
:)
Anton:
6-Oct-2006
Why is that good ? Probably because that's what people expect most 
of the time.
Louis:
14-Oct-2006
I really have trouble debugging view scripts, especially long complicated 
ones.  Usually, I make only one of two changes, then run the script. 
That way I know what part of the code is actually causing the error. 
This time, however, after making some changes I had to take care 
of an unrelated problem before I had opportunity to test the script. 
Now several months later, I finally have time to test, but ... I 
can't remember what the last changes were.
Anton:
14-Oct-2006
You are making an object.

On line 1) you are replacing the value of the 'engage word with a 
new function value of your own.

On line 2) you are simply doing some code. So this code executes 
at the time of the object creation.
Anton:
14-Oct-2006
Looking at the code I assume what you want to do is initialise the 
text facet and make sure it's shown the first time the display is 
shown.
Anton:
14-Oct-2006
Well, you shouldn't have to SHOW the first time - that should be 
taken care of by VIEW or the SHOW that shows your whole layouted 
face in which you have your dater and trans-date field.
Anton:
14-Oct-2006
So that just leaves setting the text correctly the first time. And 
you are already doing that.
Robert:
15-Oct-2006
I have a question WRT changing the text of a shown label. I use a 
way where the layout of my GUI is done at startup-time once. Now 
I need to change the text of some labels at run-time and I don't 
want to do the following:
	- name each label that needs to be updated.

 - write a function that changes the TEXT word and shows the widget


I would like to use a word in the initial context that keeps a reference 
to the text (or function returning the text) which gets reevaluated 
if a SHOW is used.


Do I have to write an own style that supports this or is there a 
simpler way?
Anton:
18-Oct-2006
It should work first time. When all is downloaded and run, all the 
needed files should exist in your cache. If you are happy with the 
cached version, and want to run directly from the cache, replace 
the second line with this one:
	do do-thru/args site/do.r [cache-only "gui/style-gallery.r"]
Anton:
20-Oct-2006
Yes, you will need to check if parent-face is none. face/parent-face 
is only set the first time a face is shown.
Maxim:
23-Oct-2006
hum... seems the rate system is buggy? when opening window popups... 
sometimes the rate for all window go dead... re-opening the same 
window, in the exact way will randomly stop/enable 'time events? 
 

has anyone ever seen this?
Anton:
24-Oct-2006
I think I've seen weirdness with time events like that, but never 
got around to documenting the bug because it would have taken too 
long to describe it fully.
Maxim:
31-Oct-2006
why didn't I think of that... I used the 'WITH block all the time...
Brock:
2-Nov-2006
this is a stripped down version (this time one that works without 
error)
Maxim:
7-Nov-2006
I don' t have the time to take a week getting my hands in MS window's 
dev stuff just to implement icon support. (for one platform)  That's 
one feature out of SOOOOOOO many.  I am happy if you have the time 
to implement such tricks.  But then only some of the hard core will 
benefit.. since OS-lib interface is not free!


We need a second, (and compatible) lower-level API  (like amiga has 
vanilla and direct).  then its just up to RT to provide a switch 
case of all supported features it can take from a host OS.  and let 
us pick out of that.


I use REBOL cause its more productive.  I want to stay in REBOL. 
 and I just wish VIEW where less limiting.
Anton:
7-Nov-2006
Ah for heaven's sakes !  How can you see things that way ? You just 
want something badly and you can't get it easily. You are willing 
to erode the cross-platform nature of rebol, which would inevitably 
waste other people's time. Yes, it's a rant.
Anton:
12-Nov-2006
If anyone has any questions about how LAYOUT works, now is a good 
time to ask me, because my head is full of it right now.
Pekr:
15-Nov-2006
all it does on time is face/blinker: not face/blinker, - what is 
that anyway? :-)
Anton:
15-Nov-2006
blinker looks like just another on/off variable that tracks the blinking 
state.

Have a look at the button feel. Time events toggle the blinker between 
on and off.

Then redraw mashes BLINKER and STATE together to get the final visual 
STATE.

This is the "bug" that Henrik would rightfully be complaining about. 
It's just a very minimalist way to show the blinking state. (Henrik, 
feel free to stylize the button so it shows the blinking in a more 
expectable way.) I think it's good this way because it's very clear 
how this feature works, and it does not impact on any other feature 
of the button. For example, a better look might be to toggle LUMA 
in the effect dialect block, but then that would have to be taken 
into consideration every time by button restylists. Even if the blink 
feature wasn't used, just having code in there which affects the 
effect block would waste some of your time while you considered whether 
it had a negative impact on your custom style's effect block management.
Anton:
17-Nov-2006
They asked for our favourite bugs recently so now's a good time - 
hopefully they're still in bug-fixing mode.
Thorsten:
24-Nov-2006
Hi all,


what might be the best way to have a window with a process running

in the background, checking something and if a change occurs, the 
window ist
updated???


I made a GUI and function for the check. Checking and updating the

window via button is working fine. Now i thought about implementing 
a

process with a forever loop and wanted to start it, when the window
opens or at some time before.

First, i cannot find an 'open event. What can i use instead?
Second, is the forever loop the right way to make the process??

Third, is the event the right way to start the process automatically???

Fourth, how can the loop be stopped without closing the window (button???)

Can anybody help me out?
Anton:
24-Nov-2006
I'm just going with the ugly defaults most of the time. :)
Gregg:
4-Dec-2006
From MSDN: 


The GetKeyState function retrieves the status of the specified virtual 
key. The status specifies whether the key is up, down, or toggled 
(on, off—alternating each time the key is pressed). 


The key status returned from this function changes as a thread reads 
key messages from its message queue. The status does not reflect 
the interrupt-level state associated with the hardware. Use the GetAsyncKeyState 
function to retrieve that information. 


An application calls GetKeyState in response to a keyboard-input 
message. This function retrieves the state of the key when the input 
message was generated. 


To retrieve state information for all the virtual keys, use the GetKeyboardState 
function. 


An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, 
and VK_MENU as values for the nVirtKey parameter. This gives the 
status of the SHIFT, CTRL, or ALT keys without distinguishing between 
left and right. An application can also use the following virtual-key 
code constants as values for nVirtKey to distinguish between the 
left and right instances of those keys.
Jerry:
5-Dec-2006
I gotta tell you. Implementing an IME and showing Chinese characters 
on REBOL/View are perplexing and painful, especially I am doing this 
all by myself. Even worse, considering I have so many works to do 
in my office, I don't really have much time to do this for REBOL/View. 
But I want it so bad, what options do I have? Waiting for REBOL 3.0 
or 3.1? Well, I look forward to it, but I don't count on it. Only 
God knows when it's going to be released. 


As a "Messaging Language" for communication between people and people, 
computers and people, computers and computers, REBOL should have 
supported I18N many years ago.
Cyphre:
6-Dec-2006
R3 will have completely new and faster blitting. I don't think Carl 
would like to waste time with improving the R2 engine but I can ask 
him ;)
Maxim:
19-Dec-2006
if you'd put a little time you could very easily put your vid styles 
within GLayout and benefit from all of this done and debugged for 
the last 2 years... I am using it commercially.
Maxim:
19-Dec-2006
in normal view we don't notice as much because its static... but 
when you start adding dynamic resizing and real time scrollpane movement... 
its just sooo slow ... so much that I added a property in the field 
to remove all the prettyness!
Anton:
19-Dec-2006
Sorry, Maxim, now is not the time, I am afraid I must attend to other 
things.
Jerry:
20-Dec-2006
Anton, thank you. Maybe I should prevent this situation during the 
code-gen, that could save some time. BTW, according to my observation, 
the situation is not common though. Most Chinese character glyphs 
are extremely complex, it's not frequent to see one LINE command, 
not mention two LINE commands together.
Jerry:
21-Dec-2006
Scaling factor and direction? I am afraid I dont understand what 
you mean. Anyway, I don't really have time to do the font-compression, 
and it's not practical for me for now. I am trying to change my bitmap-based 
text-rendering REBOL/View component to a vector-based one. I hope 
the performance will not cause too much pain. Considering the complexity 
of Chinese font, the rendering performance is what I am worring about.
Cyphre:
22-Dec-2006
Guys, that's exactly the way I have done 'embedded font' in the quick-hack.r 
demo I reffered some time ago when talking about the fonts. Yes it 
is possible to make any kind of font that way. And yes, DRAW is really 
good as a 'optimal storage' of vectorial data ;)
Geomol:
22-Dec-2006
Jerry, what about splitting each chinese character up in strokes. 
Each stroke should just be a number of points giving the position 
of the middle of the stroke from one end to the other. Like when 
a person draw the character with a pen. You start each stroke at 
one point, then you move your hand, sometimes fast, sometimes slow, 
until that stroke is finished. Then the next stroke and so on. The 
rendering engine can then calculate the thickness of the stroke at 
any time from the distance from point to point.
Maxim:
22-Dec-2006
in a short amount of time you surely will have a sizeable amount 
of the glyphs reduced to a few recurring shapes!
Maxim:
4-Jan-2007
anyone know the algorythm by which I can convert raw event/time values 
(an integer which seems to be in milliseconds) into a time value?
Maxim:
4-Jan-2007
event/time is different when comming from the wake-event, it seems.
Maxim:
4-Jan-2007
I need to skip events which are too old... my current event mungings 
work, but are hard to adapt as refresh slows down... having this 
time accurately would allow me skip events
Geomol:
4-Jan-2007
If it's in milliseconds, try: to-time event/time / 1000
Volker:
16-Jan-2007
i likethe idea. Isnt it  time for anothercontest  anyway?
Janeks:
20-Jan-2007
It help for window face, but what if there is no windows(faces) open 
at closing time. F.ex. application at that moment is witout opened 
windows
and there is only taskbar icon.
Anton:
2-Feb-2007
Thanks for asking that question, Henrik !  I've been blithely using 
DETECT all this time and not noticing that it was doing a SHOW first. 
I'll try using REDRAW instead of DETECT from now on and see how it 
performs.
Maxim:
2-Feb-2007
I remember having a hell of time trying to resize the window properly 
without it causing a cascade of resize/show events...
Henrik:
3-Feb-2007
Anton, gabriele, thanks alot for those tips! Maxim also told me that 
the feel must be set every time you view the window.
4701 / 772112345...4647[48] 4950...7475767778