r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

Geomol
8-Jan-2009
[12060]
where *the* right secure side is more random.
Maxim
8-Jan-2009
[12061]
to generate IDs, I do a nasty infalable trick on mysql.  i insert 
directly, in a uid table.
Henrik
8-Jan-2009
[12062]
wow, pretty cool
Maxim
8-Jan-2009
[12063x2]
if it doesn't fail, the id is new... if it failed, the id already 
existed.   (the id column is unique, obviously)
but there are no race-conditions, since insert is atomic in mysql.
Henrik
8-Jan-2009
[12065]
Damn, I wish I could blog that piece of code :-/
Steeve
8-Jan-2009
[12066]
not so obvious in that example:
img: make image! 512x512 
repeat i 512 [
	repeat j 512 [
		either i < 256 [
				img/(as-pair i - 1 j - 1): random 255.0.0
		][
				img/(as-pair i - 1 j - 1): random/secure 0.0.255
		]
	]
]


view layout [image img across text "RANDOM" tab tab tab text "RANDOM/SECURE"]
Rebolek
8-Jan-2009
[12067]
Hehe I almost forget about this piece of code :)
Geomol
8-Jan-2009
[12068]
It's a very cool piece of code, Rebolek! :-)
Rebolek
8-Jan-2009
[12069]
Thanks :) Well I think I might use it for enhancing my texture generator...
Pekr
8-Jan-2009
[12070]
hmm, 'detach can't work with forwarded messages ... So after all 
those years, we don't have simple method to extract attachements 
from emails? Interesting :-)
[unknown: 5]
8-Jan-2009
[12071x2]
I actually remember that from long ago.
Rebolek's random/secure sample that is.
Steeve
8-Jan-2009
[12073x2]
i noticed that op! functions can't be reduced, is it a bug ? (in 
R2 and even in the R3).
>> do reduce [:add 1 1]
==2
>> do reduce [1 :+ 1]
** Script error: cannot use add on none! value
** Where: applier do
** Near: op! 1
in fact it works, it's the infix behavior which doesn't work anymore 
on values
>> do reduce [:+ 1 1]
== 2
BenBran
16-Jan-2009
[12075]
The past few weeks I've had more time to devote to Rebol.  I'm working 
on some typical examples and routines to get aquainted with it.  
So I appreciate all the help I'm getting from this forum.  Currently 
just playing with the delete-dir function.

I'm not able to get this to work....is this even possible.....

in the environment: myPath = C:\myTemp

	myPath: probe get-env "myTemp"

 ....(tried several iterations of code here to fix the path perfectly)
	delete-dir myTemp

also tried reduce 

the path has been refomed to //%/myTemp/, %C/myTemp/,  and several 
others forms.

it says that it expects a dir argument of type: file url
Pekr
16-Jan-2009
[12076x6]
>> exists? %c/windows
== false
>> exists? %/c/windows
== true
note two slashes in second examples surrounding /C/
also, you can use handy functions as to-rebol-file, to-local-file, 
to convert to/from local/rebol file/path formats ...
also - if you want to use C:\myTemp, better use "C:\myTemp", rebol 
thinks it is an URL type ...
>> to-rebol-file "C:\mypath"
== %/C/mypath
>> to-rebol-file C:\mypath

** Script Error: to-rebol-file expected path argument of type: file 
string
** Near: to-rebol-file C:\mypath
HTH :-)
BenBran
16-Jan-2009
[12082x2]
Yes this helped thank you.
I'll look some more later, but what seemed to fix it was the built 
in function 'to-rebol file'  :-)
Janko
19-Jan-2009
[12084]
can I ask if you know any other options for rebol to talk to other 
independant processes on linux? For example could I use something 
like named pipes?
Chris
19-Jan-2009
[12085x2]
There was a script for Rebol->Arexx once called Pipebridge.  Wonder 
if it's applicable to Linux?
Rebol<->Arexx
btiffin
19-Jan-2009
[12087]
Janko; I'm pretty sure a mkfifo named pipe will work; BUT as usual, 
either end borks, the other end hangs.
Janko
19-Jan-2009
[12088x4]
Chris: I googled about what you said but didn't find any source, 
but interesting.. this stuff was running on amiga at the time :)
btiffin: I am newbie at linux... you mean I can make a named pipe 
in command line with mkfifo and then rebol uses that as a normal 
filename to write/read from it? Similarly the other language has 
Unix package and can make named pipes by it's own... can rebol create 
pipe too? (sorry if I got it all wrong)
about hanging, yes I read that write does not happen untill there 
is a read at the other side and vice versa so I was thinking if there 
is some king of timeout possible..
hm.. but why is it then called fifo if read needs to happen at the 
same time as write, I thought it's some sort of fifo (first in first 
out) stack/queue
btiffin
19-Jan-2009
[12092]
Well normally fifo files are created in blocking mode, so yeah a 
write won't complete until a read occurs and a read will wait for 
a writer (by default).  I'll be honest, I've not done this from REBOL, 
but with 2.7.6 and LOAD/LIBRARY freed, we can do any libc6 calls 
that we want, so you should be able to set a non blocking mode and 
get true multiple writes and reads that will return empty if no data 
is queued.


For OpenCOBOL I implemented POSIX Message Queues; as MQ_NOTIFY will 
make a callback when the queue goes from empty to non-empty and you 
don't have to worry about spinning on a read.


If you don't mind playing with  make routine!  take a look at mq_open 
and friends (man mq_overview) it might offer more control for IPC.
Janko
20-Jan-2009
[12093x2]
thanks btiffin for such great explanation, yes I was looking at message 
queues too at first but then someone proposed pipes and they do seem 
more accessible/simple to start in a way.
Is there any article or blog post about 2.7.6 being able to load 
native libraries? I searched and couldn't find any info on this.. 
I found docs for REBOL/Command/SDK version so this would be a place 
to start experimenting probably
btiffin
20-Jan-2009
[12095]
Janko; yep.  It's weird, docs wise, but  make routine!  is a new 
bonus layer that hasn't made it's way to the main documentation. 
 Our good Gregg is a goto guy when it comes to knowing some of the 
foibles invovled.  If you like learning by example http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=capture-screen.r
or http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=capture-screen.r
  There are other examples.
Janko
20-Jan-2009
[12096]
great, I love learning by example :) .. btw .. both of your links 
are the same I think
btiffin
20-Jan-2009
[12097]
Sorry Janko;  the second was supposed to be http://www.rebol.org/view-script.r?script=sqlite3-protocol.r
  that's what I get for not reading what I'm writing.
Janko
20-Jan-2009
[12098x2]
oh, great just what I need... I was fixing/modding a sqlite binding 
in factor already
so I can compare a little , and I will probably need it also
[unknown: 5]
21-Jan-2009
[12100x2]
>> a: copy []
== []
>> b: 'test
== test
>> append a :b
== [test]
>> type? first a
== word!
>> find a 'test
== [test]
>> c: ['test]
== ['test]
>> find a first c
== none
That just bothers me.
Pekr
21-Jan-2009
[12102]
type? first ['test]
== lit-word!
[unknown: 5]
21-Jan-2009
[12103x5]
Yes I know.
My point is that REBOL is not consistent.
Why can I do a find using a lit-word but not get results when using 
the lit word from a block?
find a 'test works but find a first c doesnt.
I would have to use find a to-word first c to get a match.
Pekr
21-Jan-2009
[12108x2]
I think it is a bug. But we will probably see gurus trying to find 
an excuse, why sometimes you can't code in REBOL different way than 
to simply try some stuff in console ...
And - imo if RT would post some formal specification to the language, 
we could fix some gotchas and surprises, not trying to find academic 
theories, why it work certain way ...