Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Please help me to promote REBOL

 [1/26] from: apwing:zonnet:nl at: 8-Nov-2003 20:50


Hi guys, since some time I have got my REBOL promotion website http://home.zonnet.nl/rebolution running. In order to serve the REBOL community best, I ask you to check my site for correctness and completeness. If you think it's worthwile, please link to my site. Do not hesitate to comment, I am just a newbie :-) Met vriendelijke groet / with kind regards, Arie van Wingerden

 [2/26] from: greggirwin:mindspring at: 8-Nov-2003 16:14


Hi Arie, AvW> since some time I have got my REBOL promotion website AvW> http://home.zonnet.nl/rebolution running. AvW> In order to serve the REBOL community best, I ask you to AvW> check my site for correctness and completeness. If you think AvW> it's worthwile, please link to my site. Do not hesitate to AvW> comment, I am just a newbie :-) Looks good to me! You've got good coverage of lots of the resources out there. One thing I would like to have done more of myself when I started with REBOL, though I still can, is keep a journal as I learned more about it; what problems I had; the breakthroughs that came; how my thinking changed over time. Things like that. If you're still feeling like a newbie, I think that could be helpful to others. Met vriendelijke groet, :) -- Gregg

 [3/26] from: tim:johnsons-web at: 8-Nov-2003 15:05


That's a really pretty web site! ---------------------------------- (reb rings anyone?) ---------------------------------- For those new to rebol(and for you gurus to critique if you so wish), I'm including a subroutine that I use frequently. One of rebol's distinctive features is the variety of ways in which code can be evaluated. Coming from architectural languages like ASM and C, and using more conventional scripting languages like python, I had a hard time getting that under my belt. Still working at it actually. and the fact remains, rebol documentation doesn't really hammer down the distinctions in evaluation as much as should be done, IMHO. Following the control flow of 'fetch might be enlightening to someone new to rebol *and* it illustrates the usage of (what I call) an 'anonymous' function enjoy tim P.S. I hate pretty-print! ; ------------------------------------------------------------------------------- make object! [ default-value: none set 'fetch func[ {safe data retrieval. Handles any value} v /seed {set default value} /deep {If block, reduce} /local tmp][ either seed[default-value: v][ either value? v[ either word? v[ tmp: get v either all[deep block? tmp][reduce tmp][tmp] ][v]][default-value]]]] ; ------------------------------------------------------------------------------- * Gregg Irwin <[greggirwin--mindspring--com]> [031108 14:29]:
> Hi Arie, > AvW> since some time I have got my REBOL promotion website
<<quoted lines omitted: 14>>
> To unsubscribe from this list, just send an email to > [rebol-request--rebol--com] with unsubscribe as the subject.
-- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com

 [4/26] from: antonr:iinet:au at: 9-Nov-2003 15:25


Good site. Bad colours - that's ok! I set my browser to overide your colours with my preferred colours. >:D In the errors handling document, I think you should set people to use set/any 'error try rather than error: try because in some cases the second one leads to another error. For a beginner that would be frustrating. eg:
>> error: try [print ""]
** Script Error: error needs a value ** Near: error: try [print ""] print returns an unset!, so there is nothing to set error to, and a new error is generated. Anton.

 [5/26] from: philb::upnaway::com at: 9-Nov-2003 12:53


Hi Arie, Nice site .... keep it up. Just one point .... as much as I am a rebol supporter, I think claimimg that it has a very small footprint is an exageration .... Cheers Phil === Original Message === Hi guys, since some time I have got my REBOL promotion website http://home.zonnet.nl/rebolution running. In order to serve the REBOL community best, I ask you to check my site for correctness and completeness. If you think it's worthwile, please link to my site. Do not hesitate to comment, I am just a newbie :-) Met vriendelijke groet / with kind regards, Arie van Wingerden

 [6/26] from: philb:upnaway at: 9-Nov-2003 13:35


Hi Anton, Bit slow on the uptake here .... If you do a set/any 'error try [print ""] How do you test for an error? any time I try to do anything with error I get an error :-) .... for example
>> print error
** Script Error: error has no value ** Near: print error Cheers Phil === Original Message === Good site. Bad colours - that's ok! I set my browser to overide your colours with my preferred colours. >:D In the errors handling document, I think you should set people to use set/any 'error try rather than error: try because in some cases the second one leads to another error. For a beginner that would be frustrating. eg:
>> error: try [print ""]
** Script Error: error needs a value ** Near: error: try [print ""] print returns an unset!, so there is nothing to set error to, and a new error is generated. Anton.

 [7/26] from: AJMartin:orcon at: 24-Dec-2003 22:45


Phil wrote:
> How do you test for an error? > > any time I try to do anything with error I get an error :-) >> disarm error: try [1 / 0] >> probe error
** Math Error: Attempt to divide by zero ** Near: 1 / 0
>> probe disarm error
make object! [ code: 400 type: 'math id: 'zero-divide arg1: none arg2: none arg3: none near: [1 / 0] where: none ]
>>
Andrew J Martin Speaking in tongues and performing miracles. ICQ: 26227169 http://www.rebol.it/Valley/ http://valley.orcon.net.nz/ http://Valley.150m.com/

 [8/26] from: philb:upnaway at: 9-Nov-2003 14:43


Hi Andrew, Yes ... but that isnt using the suggested method of set/any 'error try [......] for eample
>> set/any 'error try [print " "] >> disarm error
** Script Error: error has no value ** Near: disarm error Cheers Phil === Original Message === Phil wrote:
> How do you test for an error? > > any time I try to do anything with error I get an error :-) >> disarm error: try [1 / 0] >> probe error
** Math Error: Attempt to divide by zero ** Near: 1 / 0
>> probe disarm error
make object! [ code: 400 type: 'math id: 'zero-divide arg1: none arg2: none arg3: none near: [1 / 0] where: none ]
>>
Andrew J Martin Speaking in tongues and performing miracles. ICQ: 26227169 http://www.rebol.it/Valley/ http://valley.orcon.net.nz/ http://Valley.150m.com/

 [9/26] from: tomc:darkwing:uoregon at: 8-Nov-2003 22:52


On Sat, 8 Nov 2003, Arie van Wingerden wrote:
> Hi guys, > since some time I have got my REBOL promotion website http://home.zonnet.nl/rebolution running.
<<quoted lines omitted: 4>>
> To unsubscribe from this list, just send an email to > [rebol-request--rebol--com] with unsubscribe as the subject.
one comment, under your "discussion fora" is to explain that on the altme rebol world after you have logged on as guest, you go to the accounts group, ask for an account, give your name and email, and after a while a new account will be created. and your password mailed to you.

 [10/26] from: g:santilli:tiscalinet:it at: 9-Nov-2003 9:46


Hi Phil, On Sunday, November 9, 2003, 7:43:31 AM, you wrote:
>>> set/any 'error try [print " "] >>> disarm error
puc> ** Script Error: error has no value puc> ** Near: disarm error if error? set/any 'error try [print ""] [ print mold disarm error ] Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/

 [11/26] from: AJMartin:orcon at: 24-Dec-2003 22:45


Phil pointed out:
> Yes ... but that isnt using the suggested method of set/any 'error try
[......] Curse that unset value! (What? It worked last time.) :) If I had my way, 'print would return what it printed. Andrew J Martin Speaking in tongues and performing miracles. ICQ: 26227169 http://www.rebol.it/Valley/ http://valley.orcon.net.nz/ http://Valley.150m.com/

 [12/26] from: antonr:iinet:au at: 9-Nov-2003 22:09


Same idea. If you have an error you must disarm it before looking at it. Let's go back to the tried and true method which I use all the time: either error? set/any 'err try [...][ ; An error happened err: disarm err probe err ][ ; No error ; err is set to the result of doing the ; code block, though, so ; err might have a value or unset! ] Anton.

 [13/26] from: apwing:zonnet:nl at: 9-Nov-2003 14:55


Hello all, thanks very much for the comments on the site. I'll think about setting up a kind of journal Gregg. Don't know yet whether it will be useful for a lot of people ... The colour scheme is a question of taste Anton. So, indeed use your own scheme :-) Phil, with the small footprint I meant the size of the executable being about 500KB. Tom, I will add the info you supplied on becoming a AltMe REBOL world member. Thanks to Anton, Andrew, Gabriele for the useful comments on error handling. I will incorporate your remarks. Met vriendelijke groet / with kind regards, Arie van Wingerden http://home.zonnet.nl/rebolution

 [14/26] from: SunandaDH:aol at: 10-Nov-2003 2:35


Hi Arie,
> In order to serve the REBOL community best, I ask you to check my site for > correctness and completeness. If you think it's worthwile, please link to
my
> site. Do not hesitate to comment, I am just a newbie :-)
I think it'll be a great resource. Thanks for taking the time to do it. I've got a few comments about the site itself rather than directly on its contents. These are triggered by looking at your site, but some of them apply to other REBOL sites too. 1. GET INTO DMOZ To be visible in search engines (so people can find you) it is important to have incoming links from other sites and directories. An important directory to get into is DMOZ. The correct category is probably: http://dmoz.org/Computers/Programming/Languages/REBOL/FAQs,_Help,_and_Tutorial s/ But I am not sure you have enough *unique* content yet to qualify for a DMOZ listing -- simply listing other links isn't enough. Add some content along the lines of other replies and you'll do fine. Incidentally, thanks to AllenK for starting the REBOL categories at DMOZ and Tgosbell for taking it over and expanding them. 2. BE SEARCH-ENGINE FRIENDLY If you want the site to rank well, you've got to do things that search-engines like. The site uses frames. They are a great idea for an internal company intranet. But they are a major impediment for search engines out in the wider world. Although SEs will these days index beyond the frameset, their heart really isn't into it, so you don't get good ranking without an enormous amount of other work. Frames also annoy us users out here -- it's impossible to bookmark an individual page, or to provide a deeplink. So think about replacing the frames with SSI or similar technology. 3. AIM FOR VALIDATED HTML REBOL is a cross-platform miracle, so the chances are that people will be using your site from all sorts of browsers you and I have never even heard of. Cross-browser support is tricky to get 100% right, but it helps a lot if the HTML validates to the !DOCTYPE standard it's aimed at. The site has some improperly nested and unclosed HTML tags. You can check the individual pages at: http://validator.w3.org/ (So far no one has complained that they couldn't see the site, so the mark-up issues may all be benign. But validation is still a useful discipline: you can't know with 100% certainty which mark-up errors will cause problems with search engines or new browsers, so it's best not to insert those errors). Sunanda

 [15/26] from: SunandaDH:aol at: 10-Nov-2003 3:27


Anton:
> In the errors handling document, I think you > should set people to use
<<quoted lines omitted: 9>>
> print returns an unset!, so there is nothing to > set error to, and a new error is generated.
For an error block that might not return a value, I simply put a 'true at the end to make sure it does: if error? error-code: try [do %config.r true] [probe disarm error-code] if error? error-code: try [print "" true] [probe disarm error-code] That assumes, of course, that not returning a value is a good thing, Sunanda.

 [16/26] from: antonr:iinet:au at: 10-Nov-2003 20:58


I might just add a couple of points:
> 2. BE SEARCH-ENGINE FRIENDLY
Meta tags help you get into google. Google does a scan for new pages about every month.
> 3. AIM FOR VALIDATED HTML
Keep it simple. I don't really care about all those pretty colours and borders, just give me the information. Most of the time plain text separated into paragraphs does the job. Anton.

 [17/26] from: antonr:iinet:au at: 10-Nov-2003 20:58


It could be that some code in %config.r, erroneously unsets 'true. Unlikely, but possible. :) Anton.

 [18/26] from: SunandaDH:aol at: 10-Nov-2003 6:10


Anton:
> It could be that some code in %config.r, > erroneously unsets 'true. Unlikely, but > possible. :)
It's never easy getting that last 1% of industrial-strength error recovery, is it? They could, instead, unset 'set -- and that crashes the version of REBOL I'm using, irrecoverably: set/any 'error try [unset 'set] REBOL caused an invalid page fault in module REBOL.EXE at 0167:0040ce17.

 [19/26] from: antonr:iinet:au at: 11-Nov-2003 1:55


Wow, that's a cool feedback waiting to happen. :) Anton.

 [20/26] from: SunandaDH:aol at: 10-Nov-2003 12:41


Anton:
> Wow, that's a cool feedback waiting to happen. > :)
I've tried it, and it seems to have been fixed in the more recent betas. But it still ends up with 'error being unset: set/any 'error try [unset 'set] if error? error [print "whoops!"] ** Script Error: error has no value Amending my original suggestion to take into account TRY'd code unsetting 'true or 'set, I'd suggest this for a simple, foolproof way to catch an error: don't use 'true, use 1: if error? error-code: try [do %config.r 1] [probe disarm error-code] if error? error-code: try [print "" 1] [probe disarm error-code] It's harder to unset 1. But the DO'd code could still have messed with 'if or 'error? or 'probe. That raises a wider question about DOing untrusted code. If you don't trust it at all, maybe it's better not to DO it in the first place. To seriously stop it messing things up while debugging: protect-system unset 'unprotect if error? error-code: try [do %config.r 1] [probe disarm error-code] Sunanda.

 [21/26] from: SunandaDH:aol at: 10-Nov-2003 13:54


Anton:
> Meta tags help you get into google.
Meta tags have some use, but getting into search engines isn't one of them these days. Some are useful in some ways: meta http-equiv="Content-Type" content="..." -- names the encoding meta name="Author" content="...." -- vaguely useful documentation Others, like keywords=, are pretty much universally ignored by search engines. Google *will* list your keywords="...." in a search results page, but only if your page contains no text - that's fairly unlikely unless the page is 100% graphics or Flash.
> Keep it simple. I don't really care about all those > pretty colours and borders, just give me the information. > Most of the time plain text separated into paragraphs > does the job.
Agreed. The more complicated it is, the more likely it is to go wrong. All the cleverness can be in the server, not on the webpage -- just look at Google for inspiration. Sunanda.

 [22/26] from: tomc:darkwing:uoregon at: 10-Nov-2003 12:04


On Tue, 11 Nov 2003, Anton Rolls wrote:
> Wow, that's a cool feedback waiting to happen. > :)
<<quoted lines omitted: 18>>
> To unsubscribe from this list, just send an email to > [rebol-request--rebol--com] with unsubscribe as the subject.
on Solaris /core 2.5.6.10.1 it is not a bug..
>> ? set
USAGE: SET word value /any DESCRIPTION: Sets a word or block of words to specified value(s). SET is a native value. ARGUMENTS: word -- Word or words to set (Type: any-word block) value -- Value or block of values (Type: any-type) REFINEMENTS: /any -- Allows setting words to any value.
>> set/any 'error try [unset 'set] >> set
** Script Error: set has no value ** Near: set

 [23/26] from: apwing:zonnet:nl at: 11-Nov-2003 18:37


Hi Sunanda, thanks for the very good remarks concerning my site. In the near future I am going to incorporate the advice into it! I hope that at some stage the site may help the "world" to know more about REBOL than today. Met vriendelijke groet / with kind regards, Arie van Wingerden http://home.zonnet.nl/rebolution ----- Original Message ----- From: [SunandaDH--aol--com] To: [rebol-list--rebol--com] Sent: Monday, November 10, 2003 8:35 AM Subject: [REBOL] Re: Please help me to promote REBOL Hi Arie,
> In order to serve the REBOL community best, I ask you to check my site for > correctness and completeness. If you think it's worthwile, please link to
my
> site. Do not hesitate to comment, I am just a newbie :-)
I think it'll be a great resource. Thanks for taking the time to do it. I've got a few comments about the site itself rather than directly on its contents. These are triggered by looking at your site, but some of them apply to other REBOL sites too. 1. GET INTO DMOZ To be visible in search engines (so people can find you) it is important to have incoming links from other sites and directories. An important directory to get into is DMOZ. The correct category is probably: http://dmoz.org/Computers/Programming/Languages/REBOL/FAQs,_Help,_and_Tutorial s/ But I am not sure you have enough *unique* content yet to qualify for a DMOZ listing -- simply listing other links isn't enough. Add some content along the lines of other replies and you'll do fine. Incidentally, thanks to AllenK for starting the REBOL categories at DMOZ and Tgosbell for taking it over and expanding them. 2. BE SEARCH-ENGINE FRIENDLY If you want the site to rank well, you've got to do things that search-engines like. The site uses frames. They are a great idea for an internal company intranet. But they are a major impediment for search engines out in the wider world. Although SEs will these days index beyond the frameset, their heart really isn't into it, so you don't get good ranking without an enormous amount of other work. Frames also annoy us users out here -- it's impossible to bookmark an individual page, or to provide a deeplink. So think about replacing the frames with SSI or similar technology. 3. AIM FOR VALIDATED HTML REBOL is a cross-platform miracle, so the chances are that people will be using your site from all sorts of browsers you and I have never even heard of. Cross-browser support is tricky to get 100% right, but it helps a lot if the HTML validates to the !DOCTYPE standard it's aimed at. The site has some improperly nested and unclosed HTML tags. You can check the individual pages at: http://validator.w3.org/ (So far no one has complained that they couldn't see the site, so the mark-up issues may all be benign. But validation is still a useful discipline: you can't know with 100% certainty which mark-up errors will cause problems with search engines or new browsers, so it's best not to insert those errors). Sunanda

 [24/26] from: apwing:zonnet:nl at: 11-Nov-2003 18:34


Hi Tim, thanks for the code sample! I will get into this soon. By the way: it looks a bit similar to a DEFINE in a LET fence in SCHEME with lexical scoping. Is that right? Did you mean btw that I may place it as an example on my site? Met vriendelijke groet / with kind regards, Arie van Wingerden http://home.zonnet.nl/rebolution ----- Original Message ----- From: Tim Johnson To: [rebol-list--rebol--com] Sent: Sunday, November 09, 2003 1:05 AM Subject: [REBOL] Re: Please help me to promote REBOL That's a really pretty web site! ---------------------------------- (reb rings anyone?) ---------------------------------- For those new to rebol(and for you gurus to critique if you so wish), I'm including a subroutine that I use frequently. One of rebol's distinctive features is the variety of ways in which code can be evaluated. Coming from architectural languages like ASM and C, and using more conventional scripting languages like python, I had a hard time getting that under my belt. Still working at it actually. and the fact remains, rebol documentation doesn't really hammer down the distinctions in evaluation as much as should be done, IMHO. Following the control flow of 'fetch might be enlightening to someone new to rebol *and* it illustrates the usage of (what I call) an 'anonymous' function enjoy tim P.S. I hate pretty-print! ; ------------------------------------------------------------------------------- make object! [ default-value: none set 'fetch func[ {safe data retrieval. Handles any value} v /seed {set default value} /deep {If block, reduce} /local tmp][ either seed[default-value: v][ either value? v[ either word? v[ tmp: get v either all[deep block? tmp][reduce tmp][tmp] ][v]][default-value]]]] ; ------------------------------------------------------------------------------- * Gregg Irwin <[greggirwin--mindspring--com]> [031108 14:29]:
> Hi Arie, > AvW> since some time I have got my REBOL promotion website
<<quoted lines omitted: 14>>
> To unsubscribe from this list, just send an email to > [rebol-request--rebol--com] with unsubscribe as the subject.
-- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com

 [25/26] from: tim:johnsons-web at: 11-Nov-2003 10:51


* Arie van Wingerden <[apwing--zonnet--nl]> [031111 09:03]:
> Hi Tim, > > thanks for the code sample! I will get into this soon. > By the way: it looks a bit similar to a DEFINE in a LET fence in SCHEME with lexical scoping. Is that right?
(Duh!-I-dunno (scheme-dummy-here)) ;; <sigh>
> Did you mean btw that I may place it as an example on my site?
Yes, you are welcome to! I plan on putting together a little tutorial for it, but if you were to do it youself as well, I believe that it would help 'imprint' evaluation concepts for you. (still working on evaluation myself) :-) And just for the record... I'm also in favor of a rebol-recommended pretty-print style when it comes to posting rebol code for public access tim
> Met vriendelijke groet / with kind regards, > Arie van Wingerden
<<quoted lines omitted: 71>>
> To unsubscribe from this list, just send an email to > [rebol-request--rebol--com] with unsubscribe as the subject.
-- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com

 [26/26] from: lmecir:mbox:vol:cz at: 11-Nov-2003 20:55


Hi, [SunandaDH--aol--com] napsal(a):
>Amending my original suggestion to take into account TRY'd code unsetting >'true or 'set, I'd suggest this for a simple, foolproof way to catch an error:
<<quoted lines omitted: 4>>
> [probe disarm error-code] >It's harder to unset 1.
This may be as safe as you want it to be, but it is not convenient (append something just to be sure it returns a value). I prefer my Default function for this purpose instead.
>But the DO'd code could still have messed with 'if or 'error? or 'probe. >That raises a wider question about DOing untrusted code.
<<quoted lines omitted: 5>>
>if error? error-code: try [do %config.r 1] > [probe disarm error-code]
This is not sufficient as I have proven long time ago. (Rebol functions are mutable, which means, that you can change the behaviour of any function - even a native without unprotecting the word referring to it. :-(

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted