World: r3wp
[Core] Discuss core issues
older newer | first last |
BrianH 27-Mar-2011 [1205] | 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? | |
GrahamC 1-Apr-2011 [1232] | if there is a binary switch ... it has to occurr after the port is opened. |
james_nak 2-Apr-2011 [1233] | Thanks. Graham. Good advice. So far I haven't been able to correct it but the tip was good. |
GrahamC 2-Apr-2011 [1234] | set-modes |
james_nak 2-Apr-2011 [1235x2] | Yes, I have it so I read the header info then do set-modes. The data still isn't right though. |
Got it Graham. I wasn't separating my variable types so there was some unwanted conversion going on. Thanks again for the help. | |
MikeL 4-Apr-2011 [1237] | I am making a simple (I hope) worfkflow prototype and want to use REBOL objects which I can SAVE and LOAD. A workflow object! to have a node-map collection in it of simple nodes of the workflow graph. Source ->A -> B -> SINK where the workflow knows about the next node and status. Externally there is UI to support the work part ... which is URL data on a given node. Looks like it fits into Cheyenne RSP well - maybe zmq when I get a bit further along. Save a flow in process as a .txt file using SAVE/ALL filename.txt work-flow-instance. But no success with work-flow-instance: LOAD filename.txt Do I have to BIND on LOAD to re-instantiate the object? |
GrahamC 4-Apr-2011 [1238] | What do you get when you do a load? |
MikeL 4-Apr-2011 [1239x2] | probe load %/c/cheyenne/www/makework/data/wf001.txt [make object! [ id: 'wf001 name: "Add Work" node-map: [make object! [ id: 'SOURCE Description: "Add new software for Site" status: 'Complete Next-Node: 'A sub-tasks: "1. Used RFA to enter." When-completed: [] Time: 60 Notify: none status-url: func [] [ join http://localhost/makework/status.rsp?id=ID ] action-url: none mark-complete: func [] [ Status: 'Complete ] ] make object! [ .... |
The SAVE is a workflow function persist: does [save/all to-file rejoin [%data/ id ".txt"] self] | |
GrahamC 4-Apr-2011 [1241x2] | so looks like you have a block containing an object? |
so what happens if you do this obj: do load wf001.txt ? | |
MikeL 4-Apr-2011 [1243x2] | They stay as object! definitions viz obj: do load %data/wf001.txt >> probe obj make object! [ id: 'wf001 name: "Add Software" node-map: [make object! [ id: 'SOURCE Description: "Add new software for Site" |
OK I am just doing something stupid and will clear that up soon. | |
Henrik 11-Apr-2011 [1245] | is there a good way to use mingw with CALL? I need to call git through msysgit, while using ssh keys. From what I can find, this looks almost impossible. |
Ashley 11-Apr-2011 [1246] | OK, this is freaky: >> system/version == 2.7.8.2.5 >> a: list-env == [ "TERM_PROGRAM" "Apple_Terminal" "TERM" "xterm-color" "SHELL" "/bin/bash" "TMPDIR" "/var/folders/6O/6OnXy9XG... >> help a A is a block of value: [ "TERM_PROGRAM" "Apple_Terminal" "TERM" "xterm-color" "SHELL" "/bin/bash" "TMPDIR" "/var/folders/6O/6OnXy9XGEjiDp3wDqfCJo++++TI/-Tmp-/" "Apple_PubSub_Socket_Render" "/tmp/launch-BrITkG/Render" "TERM_PROGRAM_VERSION" "273.1" "USER" "Ash" "COMMAND_MODE" "legacy" "SSH_AUTH_SOCK" "/tmp/launch-HlnoPI/Listeners" "__CF_USER_TEXT_ENCODING" "0x1F5:0:0" "PATH" {/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin} "PWD" "/Users/Ash" "LANG" "en_AU.UTF-8" "SHLVL" "1" "HOME" "/Users/Ash" "LOGNAME" "Ash" "DISPLAY" "/tmp/launch-U0Gaqw/org.x:0" "_" "/Users/Ash/REBOL/rebol" ] >> length? a == 18 >> select a "USER" == "Ash" >> select a "HOME" == none |
GrahamC 12-Apr-2011 [1247] | Have you lost your home? |
Sunanda 12-Apr-2011 [1248] | Length? a should be 36 given the above code.... Does this list you all the env variable names?: foreach [x y] a [print x] |
james_nak 12-Apr-2011 [1249x2] | Same weird behavior here. All the words that print out with Sundanda's loop return values all the other's don't. |
Actually with my list-env, everything up to PATHEXT works with select but apparently nothing after. | |
GrahamC 12-Apr-2011 [1251] | and what happens if you mold/all it? |
BrianH 12-Apr-2011 [1252x3] | Have you tried using SELECT/skip ... 2? |
I get the same results on Windows. When I assign a block with the same contents to a directly, it all works. It looks like LIST-ENV is building a bad block. | |
No such error in R3, but LIST-ENV returns a map! there, so it wouldn't have the same error. | |
older newer | first last |