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

World: r3wp

[Core] Discuss core issues

Dockimbel
21-Mar-2011
[1182]
I concur, it's a CALL issue and not a --cgi one. I did more tests 
with my own CALL/OUTPUT implementation and it doesn't show any newline 
alteration in the binary CGI output.
Henrik
24-Mar-2011
[1183x2]
are there known bugs where DECOMPRESS works on certain data in one 
OS (OSX here), but not in another (Windows XP)?
hmm.. never mind. seems to be a memory problem.
Oldes
25-Mar-2011
[1185]
I guess this is a bug in R2's lexer:
>> 2#
== ##
>> 4#foo
== ##foo
>> 456457#foo
== #56457#foo
Maxim
25-Mar-2011
[1186]
IMHO it should return a syntax error
Geomol
25-Mar-2011
[1187]
That must have changed in later version. I tested such things deeply 
1-2 years ago and wrote a document, that I sent to Carl. Back then 
I noticed:

>> 2.2#
** Syntax error: Invalid "integer" -- "2.2#"


, and I suggested, it should be an invalid decimal, not invalid integer. 
Today I get:

>> 2.2#
== #.2#

There are many such situations.
amacleod
27-Mar-2011
[1188]
trying to get info on a file via ftp using to long version of teh 
port spec as my user name is an email address:

fport: [
    scheme: 'FTP
    host: "ftp.example.com"
    target: %/file.txt
    user: "bill@ example.com"
    pass: "vbs"
]

I can read it with "read fport"

but I can not get other info from it like:

print modified? fport

Whats the method here?
Gregg
27-Mar-2011
[1189]
Have you tried applying this patch?


net-utils/url-parser/user-char: union net-utils/url-parser/user-char 
make bitset! #"@"
GrahamC
27-Mar-2011
[1190]
many sites don't provide that information I've found
amacleod
27-Mar-2011
[1191]
Gregg,

Thanks! That works great....never saw this before!
GrahamC
27-Mar-2011
[1192x2]
Sometimes depending on a flag you might want to call a function with 
a refinement or not.

So:

either flag [ test/refinement ][ test ]


Is there a simpler way this could be done without passing a parameter?
test/(either flag [ refinement ][none] )
looks ugly
PeterWood
27-Mar-2011
[1194]
It doesn't work either.
GrahamC
27-Mar-2011
[1195x3]
no :)  I was just thinking of what syntax could be used !
how about making a refinement of none always legal??
I guess someone would say it adds unnecessary overhead
PeterWood
27-Mar-2011
[1198x2]
You could always add a refinement of /none in the function spec.
I'm not sure if it would affect anyother use of none inside the function 
though.
>> test: func [/refinement /none] [if none [print "yes"]] 
>> test/none
yes
>>
GrahamC
27-Mar-2011
[1200x3]
I guess so :)
Interestingly that turns none into true
>> test: func [/none ][ ?? none ]
>> test
none: none
== none
>> test/none
none: true
== true

so redefining none is not what I had in mind!
BrianH
27-Mar-2011
[1203x3]
APPLY. Try this: apply :test [flag]
R2 has a mezzanine APPLY, R3 has a native one.
We use it a lot in R3 for wrapper functions that forward refinements 
to the functions they call. The names can even be different because 
APPLY is positional. It is a little slow in R2 for small numbers 
of refinements when compared to the conditional code, but really 
easy to use, which makes the difference.
GrahamC
27-Mar-2011
[1206x2]
don't understand
how do you use 'apply for refinements?
Andreas
27-Mar-2011
[1208x4]
>> foo: func [a /b c] [reduce [a b c]]
>> apply :foo [1]
== [1 none none]
>> apply :foo [1 /b 3]
== [1 true 3]
You can use any true? value, you don't have to use the refinement 
name.
>> apply :foo [1 true 3] ;; useful for computed refinement usage
== [1 true 3]
>> apply :foo [1 42 3] ;; probably useless, but still possible :)
== [1 true 3]
And, of course:
>> apply :foo [1 false 3]
== [1 none none]
GrahamC
27-Mar-2011
[1212]
cute
GrahamC
31-Mar-2011
[1213]
Is Rebol's RSA encryption still standard ?  Can I use that for encrypting 
sensitive health data ?
PeterWood
1-Apr-2011
[1214]
RSA is not really designed to encrypt large chunks of data. You'd 
be better of using AES (or  Rijndael as it used to be known as is 
still called in REBOL).


RSA is better used for exchanging passwords and "signing" documents.
GrahamC
1-Apr-2011
[1215x4]
I need a public key encryption method though
RSA is significantly slower than symmetric key encryption algorithms, 
and a single encryption or decryption operation can only process 
an amount of data up to the size of the RSA key. For encrypting or 
decrypting large amounts of data RSA is usually used in combination 
with symmetric key algorithms or secure checksums as follows:
so I would use AES to encrypt the data,and then use RSA to encrypt 
the AES encryption key I guess
trouble is I've not had any luck with decrypting stuff encrypted 
by Rebol with AES by other AES decryption tools
PeterWood
1-Apr-2011
[1219x4]
Yes you would use AES to encrypt the data and then RSA to encrypt 
and send somebody the encryption key.
In my experience, the issues of encrypting in REBOL and decrypting 
in something else usually involve either the chaining method or the 
padding used.
Also, from Wikipedia - AES has a fixed block size of 128 bits whereaas 
Rjindael can have a blocksize in any multiple of 32 between 128 and 
256 bits.
It would seem from the docs at http://www.rebol.com/docs/encryption.html#section-3
that there is no way to specify the block size with Rebol.
GrahamC
1-Apr-2011
[1223]
encrypting something that only rebol can decrypt is not ideal for 
my purposes :(
PeterWood
1-Apr-2011
[1224]
It may well be that REBOL uses a 128-bit block size with Rijndael 
but it isn't clear from the documentation.
GrahamC
1-Apr-2011
[1225]
Has ne1 had any luck unencrypting rebol encrypted stuff?
PeterWood
1-Apr-2011
[1226x2]
If you only need to encrypt data at a single source, you could easily 
call a command line tool such as OpenSSL to perform the encryption 
for you. (It could well be quicker than REBOL too).
I have successfully decrypted something in REBOL that was encrypted 
in JavaScript using RSA.
GrahamC
1-Apr-2011
[1228]
Good to know!
PeterWood
1-Apr-2011
[1229]
If I remember correctly, I was also able to exchange test data that 
was Blowfish encrypted with REBOL but I handled the padding myself:

plain: to binary! text
  
len: remainder length? plain 8

  if 0 < len [

    padding: 8 - len

    insert/dup tail plain to char! padding padding
 
  ]
james_nak
1-Apr-2011
[1230x2]
Again, this might be a Graham question: I'm still working with that 
video encoder which uses http to communicate. They have a .cgi script 
which downloads the recorded video file from the internal SD card 
to the requester. My problem is the content I receive is somehow 
different than the files which I can download via a browser and of 
course will not play. I still using your http-tools to GET/POST. 
My initial thought was that  data returned is somehow being translated. 
Any thoughts?
Perhaps something to do with the http-port-private: open/lines  part. 
If I could open/binary that would be better, no?