• 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
r4wp4382
r3wp44224
total:48606

results window for this page: [start: 11001 end: 11100]

world-name: r3wp

Group: Core ... Discuss core issues [web-public]
Sunanda:
6-Jun-2005
And it works the same way as replace or uppercase -- directly on 
the data.
Graham:
6-Jun-2005
DideC has a script somewhere that allows you to examine your mail 
box and delete selected email.
I do too, but mine is part of a larger anti-spam package.
Guest:
7-Jun-2005
thanks Graham. this looks pretty neat . i may be able to use some 
of this code. i just need a simple script that connects to pop, loops 
through emails and checks each one for pattern in subject and deletes 
it if it matches. thanks again.
MichaelAppelmans:
11-Jun-2005
thanks Graham, I get " type has no value" does this mean that rebol 
is unable to open this pop account? I know my domain, user and pwd 
are correct
Graham:
11-Jun-2005
try setting 

trace/net on

before you open the port and see what happens
MichaelAppelmans:
11-Jun-2005
complication is i have a password with special chars % and $ so i 
have to use the block form of the url
MichaelAppelmans:
11-Jun-2005
i tried mailbox: read [scheme: 'pop and it's running but I expect 
to run out of heap space as I have 800 emails  ;)
MichaelAppelmans:
11-Jun-2005
any idea if there is a way to read emails and forward them to another 
inbox without altering the header? it would be nice if I could move 
them from one account to another without affecting the to/from.
Graham:
11-Jun-2005
I guess you could save them individually, and then send to the other 
mailbox as an attachment
Graham:
11-Jun-2005
I know your pain.  I was the victim of such an identity theft, and 
I was getting 10,000 bounces a day.
Graham:
13-Jun-2005
Just reading the rbbs.r script, and there are a number of comments 
about Rebol/View embedded in it .. which is a little odd as R/View 
is not recommended to be used to run cgi scripts.
Henrik:
13-Jun-2005
did the latest version of OSX Rebol/Core come with the new FTP stuff? 
I have lots of trouble with a flakey FTP server here both with old 
and new versions of Rebol/Core for OSX...
Graham:
13-Jun-2005
For those that have smtp problems, I have posted a way to the mailing 
list on how to make rebol smtp send directly to the recipient's mail 
server by passing those messages about no mail forwarding allowed. 
 I would be interested to hear if anyone tries it out, and how well 
it works.
Henrik:
16-Jun-2005
Working with INDEX? often, it annoys me that it can't handle none! 
values. If I for example want the index for a value and in some cases 
the value can't be found:

index? find [a b c] 'd


FIND returns none!, which INDEX? can't handle. I would have liked 
to see INDEX? also return none! or false! (like FOUND?) rather than 
an error. It gives a better flow and the same opportunity for checking 
on your FIND result, but you don't need to handle the error.


The reason I'm pointing this out is that some functions tend to go 
hand in hand, such as INDEX? FIND, and I think it would be nice that 
no errors ever occurred here in all naturally occuring states.


LENGTH? can sometimes be a bit of a pain with that too. What do you 
think?
Ashley:
16-Jun-2005
You're right. First is nonsensical and second could use 'select. 
I just checked my code and it is in fact 'index? not first I've had 
to code like this. ;)
Ladislav:
17-Jun-2005
Henrik: your wish looks unnatural, I prefer the following:

    default [index? find [a b c] 'd] [none]


the Default function is available and it has been in Rambo for quite 
some time
Gabriele:
17-Jun-2005
my suggestion: if the arg is a block, use 'error. if it's a function, 
assume it has one argument and pass it the error. so i can write 
default [trial code] func [myerr] [print disarm myerr] if i really 
need to.
Ammon:
17-Jun-2005
I vote to leave it like it is.  It makes the most sense to have Index? 
fail on a non-series value.  I've found ANY to be a very handy function 
for handling things like that.  I initially just used it with EITHER 
and IF but its starting to show up in a lot of places in my code 
because it is just nice and concise. ;-)
JaimeVargas:
17-Jun-2005
Not finding a value is not necesarily and error, that the reason 
find returns NONE. But it is an error to request the index of none.
Gabriele:
18-Jun-2005
Jaime: for INDEX? used alone, that may be true. But asking the position 
of a value in a series and asking the index of a value in a series 
are, IMHO, the same question.
Ammon:
18-Jun-2005
Yes, there are many ways to check for NONE and most of them are easy 
I'm just not sure how much value it would actually add to have Index? 
return NONE when passed a NONE value.
Volker:
18-Jun-2005
as gabriele says, we have the same problem with series. can be none 
too and fail then.
Volker:
18-Jun-2005
and Henrik likes better flow. i guess something like
 if index? find data value [ .. ]
or 
 any[ index? find data value  default ]
BrianH:
18-Jun-2005
Still, what is the difference really between any [index? find data 
value 1 + length? data]  and  index? any [find data value tail data] 
 ?
Volker:
18-Jun-2005
with none that does not happen. you can either keep is as none, or 
give it some value you really want. or you can use 'if and only act 
if found.
BrianH:
18-Jun-2005
You misunderstand my point. Since Henrik was suggesting that  index? 
none  be changed to a non-erroneous condition to handle certain coding 
patterns, I was showing an example of such a pattern that can be 
accomplished with the existing index? behavior. The advantage to 
the existing index? behavior is that it forces you to deal with exceptional 
(but not erroneous) conditions closer to where they occur, and thus 
make your code easier to debug. I would write the second version 
of your example as  if pos: find data value [print index? pos]  which 
flows just as well as the first.
Volker:
18-Jun-2005
thats one way to see it, which i partly share.

but with series its the same kind of exception, and Gabriele argues 
we could deal with it like we do with series: give none and trap 
on access.

and the "flow" in such cases is to use the patterns i showed, with 
'if or 'any. and not forcing an extra assignment.
Volker:
18-Jun-2005
(or putting the "index? pos" somewhere in an expresion where it bloats 
and confuses a bit)
BrianH:
18-Jun-2005
I like the current behavior, because in my experience with null and 
unknown in SQL, tracking the cause of the unknown to its source can 
be tricky. It is easier to find out where that none came from if 
it doesn't propagate very far unintentionally. A meaningless none 
should be converted to a meaningful default while you can still tell 
where it came from.
BrianH:
18-Jun-2005
Except in a more abstract sense that  remove tail x  and  remove 
none  both return what they were passed, unmodified :)
Graham:
19-Jun-2005
I would suggest that email/1 should be the part before the "@", and 
email/2 the bit after.
Then email/2/1 would access the first bit before the "." etc.
Allen:
19-Jun-2005
Graham: Are you asking for  email/1 & email/2 to map to the current 
email/user and email/host  refinements ?
Henrik:
23-Jun-2005
the block level and the string level
Henrik:
23-Jun-2005
a find/deep would be very useful... recursive searching of blocks 
and objects. it could allow you to find a value in large objects 
and blocks quickly
Pekr:
23-Jun-2005
and what is find/only about?
Anton:
23-Jun-2005
Doesn't appear to be there. I searched "binary!" and "binary"
Piotr:
23-Jun-2005
maybe rebol need something like to-local-word and to-global-word?
Volker:
23-Jun-2005
thats to-word and 'bind. your problem was that bind does not change 
its argument, but returns a new different bound word. which may confuse 
because with a block, it changes that block.
Piotr:
23-Jun-2005
i think that bind and varialbles "bounded to local or global context" 
are black magick for new rebolers; hard to understand and even harder 
to explain...
BrianH:
23-Jun-2005
Piotr, REBOL doesn't really have local contexts like a language with 
nested scopes does. REBOL fakes nested scopes with iterations of 
applied binding. The "local" context of a word is really just the 
context associated with that specific word object. The "global" context 
is nothing special in that respect, and "outer" contexts are just 
a side effect of the binding rather than a real physical structure 
like it is in Smalltalk. There is no lookup chain - it's just  [word 
thing]->[context (keyed value collection) thing]->[value thing].
BrianH:
23-Jun-2005
Binding is just associating a [word thing] with a [context (keyed 
value collection) thing], and that just fails if there is no existing 
key in the context of the symbol associated with the word. The only 
context that actually expands to include new words is system/words, 
the closest thing REBOL has to a "global" context, more of a default 
really, but not quite.
Pekr:
25-Jun-2005
and for gurus - what happens here? :-)

foreach :b a [print bind b first :b]
3 3
3 3
3 3
Volker:
25-Jun-2005
its ugly. problem is, the context exists only inside the foreach-body. 
here i put the same words (b) in the body and those they get rebound. 
but foreach copies the body before first run, so i have to assign 
b again.
Pekr:
25-Jun-2005
ha, that was easy ;-) ...we tried to struggle in context  level and 
forgot about ability of dynamically building code for interpreter 
itself :-)
Volker:
25-Jun-2005
foreach :b [1 2 3 4 5 6] compose/only [words: (b) print get words/1]
 and done ;)
Volker:
25-Jun-2005
if you really need words, these would be global and easier to reach:
Maarten:
2-Jul-2005
Henrik: yes. Command has grafx capabilities without VID and without 
requiring X. So you can typically save/png etc.
Volker:
2-Jul-2005
x ins necessary for fonts-handling. rest would work without it. except 
that /view does some initialisations at startup and fails without 
view.
Volker:
5-Jul-2005
we have that with set-operations. only it does not keep duplicates 
(i prefer it this way). And the duplicate-thing can be solved in 
a little loop, as gabriele showed.
Joe:
6-Jul-2005
Are any technical details on encloak and decloak functions ?
[unknown: 5]:
8-Jul-2005
Is there anyway to get the ip address of the local computer?  My 
problem is that I use a VPN for some functions and have other techs 
that do also and wanted to make a utility that could simply determine 
what subnet they are on.  Problem is that I get the local ip of the 
lan and not the other interface ip's.  Anyway to get those?
[unknown: 5]:
8-Jul-2005
They should add that and we should have a command like the one you 
gave as a mezz function
JaimeVargas:
8-Jul-2005
You could always use CALL to get this info and the parse it.
JaimeVargas:
8-Jul-2005
You could always use CALL to get the open ports on the host system 
and the parse it. What OS? Do you want support for?
[unknown: 5]:
8-Jul-2005
Yeah the DLL wont cut it as this would require the use of my /sdk 
license and the company wont go with that.
[unknown: 5]:
8-Jul-2005
Then we can use it for administrative purposes and role it out to 
40,000 plus desktops
[unknown: 5]:
8-Jul-2005
Its strange but they wont purchase things that are not accepted by 
the application development teams to support other clients.  The 
only way to really penetrate the big companies in this regard is 
to have one heck of a salesman that can talk about standards and 
support or bring it in free where there is no costs or penalties.
JaimeVargas:
8-Jul-2005
Really strange... What about "A build it and they will come strategy"?
JaimeVargas:
8-Jul-2005
Why?  If you create something you give it to users, and they start 
using it. They may push presure on the Echolons to favor your solution.
[unknown: 5]:
8-Jul-2005
For example, if we rolled out an encapped file to 40,000 desktops 
and someone walked up and said who did this and they said Paul did 
- then they would say what happens if Paul leaves us.
JaimeVargas:
8-Jul-2005
Well. You pointed them to network Rebol consultants that could support 
them. (Gabriele, Robert, Cyphre, Ladislav, Greg, DideC, Nenad and 
others...)
[unknown: 5]:
8-Jul-2005
One time I created a nice program that would go out and check backups 
on the servers.  Because it was an executable file they got rid of 
the system - even though it was better than anything else we had.
[unknown: 5]:
8-Jul-2005
They need to be able to pick up a phone and get results.  We deliver 
Service Level Agreements that costs a lot of money when they are 
not met.
JaimeVargas:
8-Jul-2005
Also if you write document your script really well and show the code 
is easy to follow (cookbook tutorial) you may gain your boss trust 
and their request for other agents inside your company to learn Rebol.
JaimeVargas:
8-Jul-2005
I think you need to keep trying on viral approach, sneak some code 
there, and convince others to acept it.
[unknown: 5]:
8-Jul-2005
I have made an application here and there that has been noticed but 
mine are all free - I don't charge and I'm bound that if I did make 
anything particularly useful they would own it anyway.
JaimeVargas:
8-Jul-2005
Why REBOL? (Thats a loaded question). Part of the answer is because 
it makes your life easier. So freeing your cycles and potentially 
the cycles of others, making the company more efficient.
Brett:
10-Jul-2005
For POP3 and email fans:


   http://www.rebol.org/cgi-bin/cgiwrap/rebol/documentation.r?script=do-pop-scheme.r


Gives you easy access to LIST, TOP, UIDL, etc. for your spam delete 
scripts or whatever.
Brett:
10-Jul-2005
My main purpose of making this script was investigate coding design 
choices. So I would appreciate comments on the design choice of the 
scheme and the helper function, and of course let me know if there 
are bugs!
Brett:
10-Jul-2005
If I was to add CAPA support, I would not do anything special with 
it, I'd just send it and get the response expecting the user script 
to know what to do with CAPA. But, I don't know if that is enough 
flexibility to be useful to a user script.  The other change that 
CAPA would bring is, that I should not issue a STAT automatically 
after authorisation.  Might need to look at this more. Have you used 
it and what for?
Graham:
11-Jul-2005
I only needed to know about it as some mail clients would query Cerebrus 
with the "CAPA" command and I had to know how to respond.
Gabriele:
13-Jul-2005
Rule #1: if you don't trust the source of the string, don't trust 
the results of LOAD. always check the type of the data you get. instead 
of args/1 use pick args 1, instead of var use :var and so on.
Izkata:
13-Jul-2005
hah.. nice.. I just logged on and was about to ask the same thing.. 
(since 'load is the only way I could figure out to make something 
work)


Quick Q:  "pick args 1" and "first args" would -both- be safe, right? 
 Or at least have the same amount of safety?
PeterWood:
14-Jul-2005
I looked up = in the Rebol Dictionary and, whilst it is not explicit, 
it implies different value types can be equal.
PeterWood:
14-Jul-2005
From the dictionary:


== - Returns TRUE if the values are equal and of the same datatype.
Volker:
14-Jul-2005
Rule #1 - is that true today? AFAIK the only thing which can be executed 
is functions, and one can't inject working functions? The old way 
one can only inject words. The new with mold/all, functions can be 
injected, but the words are not bound to global context, so they 
can not trigger usefull actions. only triggering an error in an unexpected 
place?
Rebolek:
15-Jul-2005
Why there's difference between f a/c and f get in a 'c
Carl:
19-Jul-2005
And, perhaps even REBOL View too eh?
Rebolek:
21-Jul-2005
Is this OK? And if yes, then why?
Rebolek:
21-Jul-2005
and why?
Ingo:
25-Jul-2005
Q2: I have to blocks containing strings, and want to find out which 
of these strings differ (I need all differing positions), what do 
you think is the fastest way to achieve this?
Ingo:
25-Jul-2005
Q2 again: Sorry, my axplanaition was a little unclear: 

I have a row from a database, and store away one block, and display 
the other for the user. The user may, or may not, change the data.
>> orig: ["Mr" "Petr" "Ustinov"]
>> data: ["Sir" "Peter" "Ustinov"]
>> magic-changed-func orig data
== [1 2]
Anton:
26-Jul-2005
I often wanted reduce and compose to not make a copy for you, but 
work directly on the block. (Perhaps new functions "induce" and "impose" 
?)
Sunanda:
26-Jul-2005
induce should be fairly easy -- walk the block with 'for and 'poke 
back the value
Ingo:
27-Jul-2005
Hi Brett, your first version looks pretty good ... now I'll have 
to dig out my little profiler, and see what's the fastest of all 
of these ;-)
Brett:
27-Jul-2005
Agreed Anton and perhaps that shows the obtuse method is not a great 
idea for this situation  - though perhaps an interesting one ;-)
Henrik:
30-Jul-2005
Are there any other instances where the a: copy [] vs. a: [] "problem" 
appears?

I'm have a bug where two arrays:

1. an array with data that can be manipulated

2. a similar one containing default data, which is used whenever 
I want to reset the first one


They apparently "stick" together with synchronized values. When I 
manipulate array 1, array 2 changes too. This would be the old COPY 
problem, but I use COPY everywhere, whenever I need to create array 
2.


However I do frequently PICK values from array 2 and POKE it in array 
1 at the same location to reset a specific location to a default 
value. Would that create a similar problem?
Gabriele:
30-Jul-2005
i guess you need copy/deep and poke ... copy pick ...
Henrik:
30-Jul-2005
I pick and poke arrays
Volker:
30-Jul-2005
if the arrays have multiple dimensions, you need copy/deep. And if 
there are objects inside, those objects are not copied, then you 
need explicit work (copying all objects in a loop using 'make)
Henrik:
30-Jul-2005
Volker, the arrays are indeed both 2 dimensional and contain objects. 
I'll try a different init method.
Gabriele:
30-Jul-2005
so, copy/deep, and, as volker suggests, you're likely to need to 
clone the objects too.
Henrik:
7-Aug-2005
I think there is one which splits a file up in an object with path, 
filename and extension. can't remember which though....
Volker:
8-Aug-2005
of course instead of third :f1 you can just copy the source for the 
argument-list, and maybe add locals.
Rebolek:
8-Aug-2005
I'll try it, when I get home and let you. Thanks
Volker:
8-Aug-2005
i thought so. you want to append something to the function body. 
and to make that use the functions variables, you have to re-func-ing.
Rebolek:
8-Aug-2005
I'm trying to append something to feel/over so I need to make new, 
expanded 'over and than replace old 'over with the new one, if I 
understand you correctly
Volker:
8-Aug-2005
yes, expand a copy of the body (thats second :over), then make a 
new func with the same argument list. and the old vars are now bound 
to new function.
Rebolek:
8-Aug-2005
Have to go now, I'll try it at home and let you know.
Rebolek:
8-Aug-2005
volker thanks, now it does exactly what I wanted and I can expand 
functions
11001 / 4860612345...109110[111] 112113...483484485486487