AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 27201 end: 27300]
world-name: r3wp
Group: Core ... Discuss core issues [web-public] | ||
Brock: 22-Oct-2005 | Many implementations use the Bcc:" (blind carbon copy) field described in section 3.6.3 to facilitate sending messages to recipients without revealing the addresses of one or more of the addressees to the other recipients. Mishandling this use of "Bcc:" has implications for confidential information that might be revealed, which could eventually lead to security problems through knowledge of even the existence of a particular mail address. For example, if using the first method described in section 3.6.3, where the "Bcc:" line is removed from the message, blind recipients have no explicit indication that they have been sent a blind copy, except insofar as their address does not appear in the message header. Because of this, one of the blind addressees could potentially send a reply to all of the shown recipients and accidentally reveal that the message went to the blind recipient. When the second method from section 3.6.3 is used, the blind recipient's address appears in the "Bcc:" field of a separate copy of the message. If the "Bcc:" field sent contains all of the blind addressees, all of the "Bcc:" recipients will be seen by each "Bcc:" recipient. Even if a separate message is sent to each "Bcc:" recipient with only the individual's address, implementations still need to be careful to process replies to the message as per section 3.6.3 so as not to accidentally reveal the blind recipient to other recipients." | |
Graham: 22-Oct-2005 | It is the responsibility of the mail client. You control the mail client. If you construct a BCC field in your header, Rebol will ignore that when using send. | |
Graham: 22-Oct-2005 | >> help send USAGE: SEND address message /only /header header-obj /attach files /subject subj /show DESCRIPTION: Send a message to an address (or block of addresses) SEND is a function value. | |
Graham: 22-Oct-2005 | It is up to you to determine what the 'address is .. whether it is a single email address, or a block of email addresses. | |
Tomc: 22-Oct-2005 | and when you do send to a bock of addresses they are send as individual messages (effecively a BCC) | |
Tomc: 22-Oct-2005 | (having this issue on a list of 2500) | |
Gabriele: 23-Oct-2005 | Let's make this clear: SEND is not an email client. SEND is a function to send email. If it was an email client, it owuld just show a window with the ability to send TO, CC, BCC and so on, with a send button in it... | |
Gabriele: 23-Oct-2005 | what send does is: taking a message, and sending it to the list of recipients you provide. That's what any MTA does too. | |
Graham: 23-Oct-2005 | This is how your email client would implement a CC or BCC. | |
Graham: 23-Oct-2005 | I don't know how 'send works ... but I assume it does only a single RCPT TO ? | |
Gabriele: 23-Oct-2005 | depends on refinements. i don't recall if it does one with a list of emails, or several with one email address each. | |
Gabriele: 23-Oct-2005 | SEND with multiple recipients sends a copy to each recipient; SEND/ONLY sends the same message to many recipients | |
Graham: 24-Oct-2005 | Many languages have a way to set the window in which dates work. | |
Graham: 24-Oct-2005 | I want to automatically set a window so I can deal with dates - for birthdates and appts. | |
Volker: 24-Oct-2005 | if you know its 2, you can then make a quick check. if date > 2035 [date: date - 100] | |
Volker: 24-Oct-2005 | so we need a to-date/window ? How to deal with different formats? | |
Volker: 24-Oct-2005 | thought to-date understands ultiple formats. if its always */year its a short check. | |
Graham: 24-Oct-2005 | well, I see ... he made a mistake. | |
Anton: 24-Oct-2005 | mmm.. so you have to guess. A bad situation. | |
Ladislav: 24-Oct-2005 | adjustable window - you may put it to RAMBO as a request, but I am not sure if you succeed | |
Volker: 24-Oct-2005 | would something in system/options be a big effort? | |
Graham: 24-Oct-2005 | Well, I think the vets can argue their own case, I can work with a 100 year window. | |
Graham: 24-Oct-2005 | If there is a 4 digit field, then birthdates pre last century would normally be added in 4 digits by most people. | |
BrianH: 24-Oct-2005 | Why don't you implement the window yourself with a parse rule? It wouldn't be difficult to parse the date yourself. | |
Ladislav: 24-Oct-2005 | but still, is a "24/Oct/05" a newly born or a 100 years old? | |
Ladislav: 24-Oct-2005 | Brian: did you notice my suggestion to write a RAMBO request for IF and USE in PARSE dialect? | |
Sunanda: 24-Oct-2005 | Dates have natural ranges depending on their domain. An expected due date of an unborn baby is (in theory) no more than 9 months away. The expected due date assigned to my mother before I was born is, now, a long time ago. I don't'see how you can get around applying all due diligence to *any* input field. That may include asking for 4-digit dates on some occassions or disambiguating 24/oct/05 to ensure you know which part is the year. Validation is one of the hardest parts of any real-world application, and one of the parts that most languages -- REBOL included -- offer only token support for. Ideally, we'd have a range of to-xxx? words, like: to-date? "29-feb-03" == [false "no such date"] to-date?/strict "29-feb-04" == [false "ambiguous year/day] to-date?/window "29-feb-04" [1975 2074] == [true 29-feb-2004] | |
Benjamin: 24-Oct-2005 | how can a call rebol from a PHP page ? | |
Graham: 24-Oct-2005 | there's a php implementation in rebol on the rebol france page | |
Benjamin: 24-Oct-2005 | thanks Sunanda, exec() is a bit slow | |
Benjamin: 24-Oct-2005 | im adding a module to phpAdsNew and i need to make it in rebol because my php skills are soooo bad | |
Pekr: 24-Oct-2005 | Ladislav - you mentioned IF in regards to parse. I thought it is a part of your REP you was supposed to post to RT? If not, and if it is not in Rambo yet, I may submit it then, cutting your request from here :-) | |
Graham: 24-Oct-2005 | what happens to the series if you insert elements into the list while you're in a forskip loop? what position are you at now? | |
Ladislav: 24-Oct-2005 | Graham: FORSKIP is a mezzanine, so it is easy to check | |
james_nak: 25-Oct-2005 | Is there a way to read the dates when a file was created? I'd like to add a "newest" file choice to one of my apps. Thanks. | |
Alek_K: 27-Oct-2005 | Style/functionality question: I'm writing a function to deal with adding to block a block with [Title Content [(Childs if exists)]]. Childs are not required - is it better to add [Title Content] (if no childs) or to provide empty block - [Title Content []]? | |
BrianH: 27-Oct-2005 | Support both by setting a default value of an empty block in your code, perhaps like this: childs: any [pick data 3 []] | |
BrianH: 27-Oct-2005 | From a philisophical standpoint, it is best to be somewhat forgiving in your evaluation of the syntax of data that is input to your function, but exact in the syntax of the data that is ouput from your function. That will make sure that the effect of errors or flexibility in the data is limited to the code that is doing the initial evaluation. This means that if you can figure out from context what a default value is, do so, and then your function will be more usable, particularly when the data may be written by hand. | |
OneTom: 30-Oct-2005 | btw, ive seen u invited to the french translation task. im heavily trying to learn rebgui, so u as well can use a nice editor for the qtask lang file ;) | |
Volker: 30-Oct-2005 | path seems to be a "clear find". Do not know about uses. | |
OneTom: 30-Oct-2005 | and fucks it up somehow, because if i change the unset! to something, the path still stays in a strange state | |
Volker: 30-Oct-2005 | I could repair it with a/4: 12 | |
BrianH: 30-Oct-2005 | OneTom, actions are how type-specific operations are implemented in REBOL. Every datatype has a table of function pointers, one pointer for every action. Every one of those tables are layed out the same, with the function corresponding to the same index being the version of the same function for that specific type. Each action! has an index associated with it - you can see the index like this: >> second :add == 1 When the action! is called, REBOL checks the datatype of the first argument to it and then calls the function at that index into the datatype's table. This is the way that REBOL implements polymorphic native functions, single dispatch on the datatype. But really, you don't need to know any of this. All you need to know is that an action! is like a native!, but with a differently named datatype. | |
Volker: 30-Oct-2005 | !> a: [b 1 c 2 d 3] == [b 1 c 2 d 3] !> path a 'c !> a == [b 1 c] !> length? a == 6 !> a/4: 12 == 12 !> a == [b 1 c 12 d 3] | |
OneTom: 30-Oct-2005 | :)) it still makes me feel a lot happier knowing all these background info, brianh! thank you for clarifying this | |
Volker: 30-Oct-2005 | Its a good idea to know about it. Seems its possible to path action! to protocol. at least i made a 'find in a protocol once and got all the refinements. | |
BrianH: 30-Oct-2005 | Volker, by protocol do you mean a port type? | |
Volker: 30-Oct-2005 | Cant have a use, else i had heard of it :) Practical use: it blocks mold. Recursive data, Code-obfuscation? !> a: context[b: 1 c: 2] path a 'b ?? a a: make object! [ b: end c: 2 ] | |
Volker: 30-Oct-2005 | Would be able to implement find on a port that way. | |
BrianH: 30-Oct-2005 | I'm going to copy my path question to RT Q&A. | |
BrianH: 31-Oct-2005 | I mean, it says "Path selection." right in the doc comment so that's a good guess :) But how does it help with path selection? How is it used? Just for implementing set-path assignment? | |
Geomol: 1-Nov-2005 | I had a problem with SWITCH, and it turned out to be a funny thing with SELECT (see source switch). If you've got a block like this: blk: [1 word "string" 1.2 01:00:00 1-11-2005 any-type! 4] you can do things like this: >> select blk 1 == word >> select blk 1.2 == 1:00 >> select blk 'word == "string" >> select blk 1:00 == 1-Nov-2005 >> select blk 1-11-2005 == any-type! And now the fun (or strange) part: >> select blk any-type! == word It's possible to select on a datatype. The first element in the block (1) is of type any-type!, so I get: word. It's possible to do things like: >> select blk date! == any-type! >> select blk time! == 1-Nov-2005 So how do I select a datatype in a block? I could do this: >> select blk to-word any-type! == 4 or something like this: >> select reduce [file! 1 url! 2] url! == 2 I can cope with this in my code, just found it peculiar. | |
Geomol: 1-Nov-2005 | In the last part, what I'm trying to do, is selecting a datatype word in a block. | |
Graham: 4-Nov-2005 | I wonder if it would be possible to implement a dialect to get at parts of a series as in python. With rebcode? instead of copy/part string 4 ... , string/[:4], or if I want the 5 and 6 elements, then string/[5,6] | |
Graham: 4-Nov-2005 | it's just a pain to write. | |
Graham: 4-Nov-2005 | the power of a language can be measured by how few symbols are required to perform a given task. | |
BrianH: 4-Nov-2005 | Graham, I don't think that's a very good measure. REBOL isn't Perl, you know, but that doesn't make it less powerful. | |
Graham: 4-Nov-2005 | But also it assists in debugging programs. It is well known that the number of errors per line is fairly constant. You reduce the number of words you use with a powerful language, and this leads automatically to reduced number of errors since you need fewer lines. | |
JaimeVargas: 4-Nov-2005 | [2 .. 3] hints that it is a range. | |
BrianH: 4-Nov-2005 | You don't need a dialect processor and its overhead for what is essentially a library function. | |
JaimeVargas: 4-Nov-2005 | BrianH agreed. I'm just saying that if you want to use other language syntax you can always create a dialect. | |
BrianH: 4-Nov-2005 | I prefer to create a translator for those purposes. Syntactic sugar is nice, but I like my runtime code to be on a diet. | |
BrianH: 4-Nov-2005 | No, REBOL is the runtime. A dialect processor only counts as a translator by my standards if the translation is only performed once rather than every time the operation is performed. Other languages can have tons of syntax because they are compiled. | |
JaimeVargas: 4-Nov-2005 | Graham you want an enhance notation. I think you will do well with just a func. | |
BrianH: 4-Nov-2005 | If your dialect processor is a compiler, then cool. If it is an interpreter then its overhead should be as low as possible, at least in proportion to the overhead of what it is accomplishing. No dialecting for dialecting's sake, at least for production code. | |
BrianH: 4-Nov-2005 | A lot of the time I do my dialect processing with functors, functions that create functions. Sometimes these functors run in pre-rebol, some at runtime function creation time. Then the actual work is done by the generated functions. This gives me the advantages of dialects without the drawbacks. On the other hand, dialects like draw are examples of my principle of low overhead in proportion to the that of the work performed - the dialect overhead isn't that much different to that of a series of function calls in the do dialect. | |
Gregg: 5-Nov-2005 | Adding things like this to path notation hides a lot of compuational complexity. Sometimes that's a very good thing, and sometimes it's not. And consider what should happen in the case that "my-block/[2 3]" refers to a two-dimensional array, or a block of name value pairs; what should the result be? Something like that fits very well in a dialect where the power is leveraged, and the domain is tightly constrained. That's where we get power and safety combined. | |
Graham: 5-Nov-2005 | I suggest we just adopt the Python syntax for slicing strings, and accept that this is a dialect for handling string slicing, and not 2 or more dimensional arrays. | |
Louis: 5-Nov-2005 | Is there any way to send email in such a manner as to cause a window to pop up on the recepient's email client requesting confimation that they received the email? | |
Louis: 5-Nov-2005 | Do you have a link to some how to info? | |
Graham: 5-Nov-2005 | nope .. do a google search. | |
JaimeVargas: 5-Nov-2005 | I think that slice is much more general than the single string domains. So if introuduce it needs to be with care. Beside Graham if you are using a lot of substrings just create your own func it will make your code more explicit to your problem domain. | |
Gordon: 5-Nov-2005 | Record: [a b c d e f g h i] foreach mold Record SeriesBlock [ print record ] Can someone tell me how to define a block (as in Record) and then use that variable in the foreach loop? Although the array has values, nothing is printed in the loop. When I remove the 'mold' statement, 'Record' contains just one value ('a') not 9 (a b c d e f g h i). | |
DideC: 5-Nov-2005 | >> foreach letter record [print letter] a b c d e f g h i | |
DideC: 5-Nov-2005 | >> help foreach USAGE: FOREACH 'word data body DESCRIPTION: Evaluates a block for each value(s) in a series. FOREACH is a native value. ARGUMENTS: word -- Word or block of words to set each time (will be local) (Type: get-word word block ) data -- The series to traverse (Type: series) body -- Block to evaluate each time (Type: block) | |
Gordon: 5-Nov-2005 | foreach [a b c d e f g h i] Datablock [ print [a b c d e f g h i]] | |
Gordon: 5-Nov-2005 | This traverses the datablock and sets each of the 9 values and prints them as a record. | |
Gordon: 5-Nov-2005 | However, I want to be able to set a variable instead of hardcoding "[a b c d e f g h i]" | |
Volker: 5-Nov-2005 | !> w: [a b] == [a b] !> foreach :w [1 2 3 4][? a ? b] A is an integer of value: 1 B is an integer of value: 2 A is an integer of value: 3 B is an integer of value: 4 | |
Gordon: 5-Nov-2005 | okay just a minute | |
Sunanda: 5-Nov-2005 | Yiu can't have one variable -- you need a set of them, eg: foreach [key data] ["a" 1232 "c" 7737 "z" 777] [print [key data]] But you can fake it something like this...... | |
Sunanda: 5-Nov-2005 | data: ["a" 1232 "c" 7737 "z" 777] for nn 1 length? data 2 [print [pick data nn pick data nn + 1]] | |
Gordon: 5-Nov-2005 | record-sort: func [record [block!] num [integer!]] [ tmp: copy [] new: copy [] foreach [a b c d] record [append/only tmp reduce [a b c d]] sort-method: func [a b] [(at a num) < (at b num)] foreach rec sort/compare tmp :sort-method [append new rec] return new ] Here is the record-sort example given in the docs. Problem is this only works for records that have four items. | |
Volker: 5-Nov-2005 | the easier way is forskip. 'foreach needs a binding-trick | |
Gordon: 5-Nov-2005 | Volker: Thanks. I'll take a look at using forskip | |
Gordon: 5-Nov-2005 | I want to be able to pass the function another value which equals the number of elements in a record and then do something like Record: array {Elements} | |
DideC: 5-Nov-2005 | >> print-n: func [record words] [do compose/deep [ foreach [(words)] record [print [(words)]]]] >> print-n [1 2 3 4 5 6 7 8 9] [a b c] 1 2 3 4 5 6 7 8 9 | |
BrianH: 5-Nov-2005 | (Back to slicing briefly) REBOL already has functionality equivalent to slicing as copy-of-subsection, so this would be better represented as a very simple mezzanine function that does the work. If you mean slicing as reference-to-subsection-in-place, that would be worth adding new support for. Something like: slice!: make object! [start: end: none] slice: func [[catch] s [series!] /from b [integer!] /to e [integer!] /len l [integer!]] [ b: either from [at :s b] [:s] e: case [ to at :s e len skip :b l true tail :s ] if greater? index? :b index? :e [to: :e e: :b b: :to] make slice! [start: b end: e] ] | |
Sunanda: 5-Nov-2005 | sort/skip --- I get you -- like it's not easy to sort on the 2-digit numbers here: sort/skip [99 10 2 98 11 5 97 12 4] 3 But it is possible with /all and a parameter into the function | |
Gordon: 5-Nov-2005 | Lots to think about and try. Thanks a bunch guys for your help. | |
BrianH: 5-Nov-2005 | Rather than a comparator function. | |
Sunanda: 5-Nov-2005 | I mean the middle of the three fields, sorting a 3-field record: sort-func: func [a b] [return a/2 < b/2] sort/skip/all/compare [99 10 2 98 11 5 97 12 4] 3 :sort-func == [99 10 2 98 11 5 97 12 4] | |
Graham: 5-Nov-2005 | It's a long time since I did any high school math :( | |
Izkata: 5-Nov-2005 | e is a constant - log is base 10 by default, ln (natural log) is base e | |
Graham: 6-Nov-2005 | Seems however, that sex is 1 for female, and 0 for male for this to work ( being male confers a higher risk ). | |
Geomol: 10-Nov-2005 | If I have an object with a function: o: make object! [f: func [] [print "Hello World!"]] Is there a shorter/faster way to get the function without evaluating it than: get in o 'f ? | |
Terry: 12-Nov-2005 | Is there some way to send the html of a web page to the Rebol 'browse' function without actually writing the html file? | |
Graham: 12-Nov-2005 | the browser has to read a file... | |
Terry: 12-Nov-2005 | here's a quick demo.. | |
DideC: 13-Nov-2005 | Yes, you can "browse http://127.0.0.1:123456" and have a small server to send the page to the browser. |
27201 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 271 | 272 | [273] | 274 | 275 | ... | 643 | 644 | 645 | 646 | 647 |