[REBOL] How to reset VID/guide?
Hi, I have the following layout: view layout [ across a: txt test1 guide b: txt test2 return c: txt test3 return d: txt test4 ] And I want to be 'd in line with 'a. How do I get rid of the 'guide once set? I just want to disable it until the next 'guide happens. Robert I never actually use guide, but this seems to give you what you want... view layout [ across a: txt test1 guide b: txt test2 return c: txt test3 return guide a/offset d: txt test4 return e: txt test5 ] Hope that helps. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [port/skip]
From Tracker#295 SNIP [skip does not work with open/binary/direct] file: open/binary/direct/skip does not work. at file n does not work skip file n causes REBOL to hang. These operations should either work or not be allowed on files opened with /direct. /SNIP Regards, Ashley Ah - good they know about it. In the meantime, this is my work-around: First, what happens if you use append... write %test.txt 12345 x: open/binary/direct %test.txt append x to-binary abc close x read %test.txt == abc45 And my solution using loop and copy... write %test.txt 12345 x: open/binary/direct %test.txt loop size? %test.txt [copy/part x 1] == #{35} append x to-binary abc close x read %test.txt == 12345abc And given this behaviour, you may as well use insert instead of append. Also, would copying larger blocks of bytes instead of just one at a time be faster or better? Thanks for all the responses, -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] [port/skip]
Are there any known problems with the use of skip with ports? As on files it doesn't seem to work for me... write %test.txt abcdefghijkl port: open/direct/binary %test.txt copy/part port 4 == #{61626364} close port port: open/direct/binary/skip %test.txt 4 copy/part port 4 == #{61626364} close port but does with URLs... port: open/direct/binary http://www.rebol.com/ connecting to: www.rebol.com copy/part port 4 == #{3C48544D} close port port: open/direct/binary/skip http://www.rebol.com/ 4 connecting to: www.rebol.com copy/part port 4 == #{4C3E0A3C} close port And if I use skip on an already opened port, ie... port: skip port 4 it'll work if it's a file, but if an URL it'll just hang with nothing returned. Easy enough to work around this behaviour with files, but does skip with URLs only work when opening the port? Or am I doing something wrong? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [port/skip]
Hmm - I was badly wrong about skipping files after an open working okay - REBOL totally locks up when I attempt this kind of thing... (Taken from the Users' Guide: http://www.rebol.com/docs/core23/rebolcore-14.html#section-8.4)... fp: open/direct/binary %file.dat fp: skip fp 10 My example... write %test.txt abcdefghijkl fp: open/direct/binary %test.txt fp: skip fp 4 At that point it totally locks up. Esc's no use - have to use Ctrl/Alt/Delete to shut REBOL down. Using Win98SE. Is it the same for other Windows users? -- Carl Read Are there any known problems with the use of skip with ports? As on files it doesn't seem to work for me... write %test.txt abcdefghijkl port: open/direct/binary %test.txt copy/part port 4 == #{61626364} close port port: open/direct/binary/skip %test.txt 4 copy/part port 4 == #{61626364} close port but does with URLs... port: open/direct/binary http://www.rebol.com/ connecting to: www.rebol.com copy/part port 4 == #{3C48544D} close port port: open/direct/binary/skip http://www.rebol.com/ 4 connecting to: www.rebol.com copy/part port 4 == #{4C3E0A3C} close port And if I use skip on an already opened port, ie... port: skip port 4 it'll work if it's a file, but if an URL it'll just hang with nothing returned. Easy enough to work around this behaviour with files, but does skip with URLs only work when opening the port? Or am I doing something wrong? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject. -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [VID] Strange problem
Hi Arie, Attachments are stripped with this list. If possible, just send the script in the body of the email, or if it's too large, place it on a website (if you have one) and just show us the URL. -- Carl Read. Hi all, currently I am developing a small application that displays flags from all over the world off a website. There is also a search option, in order to search for (a part of) a countryname. The REBOL/View version I use is 1.2.46.3.1. I have built in some print statements for debugging purposes and to show the problem exactly. Example session: 1. start the app 2. fill out the search field named country-find with the text ur 3. click the Find (next) button 4. change the contents of the search field named country-find to the text ne When you look at the displayed lines, you see (among others): Right after push Find (next) button: global/findstr=(ne) country-find/text=(ne) Apparently global/findstr has changed somewhere between the last hit and the press of the Find (next) button. However, there is only one place where global/findstr is being changed AFAIK! It was my intention that global/findstr would contain the PREVIOUS searchstring. Please see the attached app Any ideas? TIA With kind regards, Arie van Wingerden -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Latest View beta refuses to connect to the 'net...
That's not the latest beta. Get the latest beta 1.2.46.3.1 here: http://www.rebol.net/projects/view1.3/downloads/ http://www.rebol.net/projects/view1.3/downloads/rebview1246031.exe There's beta (bleeding edge) and then there's beta (one year stable). A number of folks have asked me about the /only refinement, to which my stock answer is: The /only refinement of 'compose was introduced in REBOL/Core 2.5, http://www.rebol.com/docs/changes.html#section-5.3, which ships with the SDK by default. For REBOL/View, you need to run the latest beta (1.2.10.3.1 released on 30-May-2003) and available from http://www.reboltech.com/downloads/.; While I can certainly see the benefit of getting as many folks as possible to use the latest VID 1.3 beta, it might not be such a good idea to present a moving target (and little current documentation) as someone's first exposure to REBOL. Just my quick thoughts on why I recommend 1.2.10 to new comers. ;) about REBOL/View 1.2.10.3.1 30-May-2003 Copyright 2000-2002 REBOL Technologies. All rights reserved. REBOL is a trademark of REBOL Technologies. WWW.REBOL.COM Type DESKTOP or SET-USER for settings. browse http://www.rebol.com/ ** Script Error: Feature not available in this REBOL ** Near: browse http://www.rebol.com/ (-: A case of swings and roundabouts, I think. Browse is working again in 1.2.46, though perhaps there's other problems with it. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [VID//menu]
Hi all, since I am creating a REBOL program with a GUI, I needed to implement a menu structure. I've read REBOL/View Developer's Guide and A Beginner's Guide to REBOL Visual Interfaces, but neither of them has the required info. Any hints where to look? You can use choice for simple menus... view layout [choice aa bb cc [probe face/text]] Something I noticed recently though was the choose function... ? choose USAGE: CHOOSE choices function /style styl /window winf /offset xy /across DESCRIPTION: Generates a choice selector menu, vertical or horizontal. CHOOSE is a function value. ARGUMENTS: choices -- Block of items to display (Type: block) function -- Function to call on selection (Type: function none) REFINEMENTS: /style styl -- The style choice button (Type: object) /window winf -- The parent window to appear in (Type: object) /offset xy -- Offset of choice box (Type: pair) /across -- Use horizontal layout This is the most simple use of it... choose [aa bb cc] func [face][probe face/text] How you'd make use of it for more complex menus within a window I've not looked into though. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [Truth test fails]
* Cyphre [EMAIL PROTECTED] [040519 02:18]: Hi Tim, just little notice...sometimes it is useful to know also this this kind of syntax(although in your case it is better to use get IMO) a: [false #[false]] == [false false] type? a/1 == word! type? a/2 == logic! I'll be darned. I didn't realize that one could do that. It's only in the beta versions, not in 1.2.1. What would be the use for that feature? Saves the need for a compose, I guess... a: compose [false (false)] -- Carl -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: View beta desktop startup
On 14-May-04, rebol wrote: How do you have View start in the desktop view with version REBOL/View 1.2.46.3.1? I tried to give it a user.r and a prefs.r to feed on but it always comes up with the command line first. Normally setting DESKTOP: TRUE in prefs.r would do the trick, but it doesn't seem to work in 1.2.46. Adding DESKTOP to the end of your user.r script should work though. (I've just tested it and it worked with my settup.) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [text-list] faces
What's the path to the faces of the text in a text-list? I assume they're a block of faces somewhere in the text-list object? No, sorry, there is no block of face in a text-list. The text-list is one type of face called iterated-face : there is only one subface. The pane is not a face or a block, but a function that is called to display each data with the subface. the secret of text-list is in its 'init block and its 'text-pane function. Ah - finally! Never noticed text-pane before. (Which is most strange...) What I was wanting to do was to have different colored lines of text. Can now... view layout [ t: text-list aaa bbb ccc button Change [ repeat line 3 [ face: t/text-pane t/iter line insert face/text join line face/font/color: pick reduce [red green blue] line show face ] ] ] Many thanks. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: [text-list] faces
Not a perfect solution, because as soon as you click a line, all lines are redisplayed with the last color. As I found out... It can be done by changing the text-pane func itself to let it change the font color or something else. Just take care of that : text-pane must return the iter face or none : view layout [ t: text-list aaa bbb ccc with [ text-pane: func [face id][ if pair? id [return 1 + second id / iter/size] iter/offset: iter/old-offset: id - 1 * iter/size * 0x1 if iter/offset/y + iter/size/y size/y [return none] cnt: id: id + sn ;* HERE IS THE ADDON : ALTERNATE COLOR EVEN/ODD iter/font/color: pick [255.0.0 0.0.255] odd? id ; END if iter/text: pick data id [ lines: at data id iter ] ] ] ] Yes - much better. Though if you're deciding on the color based on iter/text at that point, it gets it a line out. Moving it to the following if block gets it right though. ie... view layout [ t: text-list aaa bbb ccc with [ text-pane: func [face id][ if pair? id [return 1 + second id / iter/size] iter/offset: iter/old-offset: id - 1 * iter/size * 0x1 if iter/offset/y + iter/size/y size/y [return none] cnt: id: id + sn if iter/text: pick data id [ ; EXTRA CODE iter/font/color: either iter/text = bbb [255.0.0][0.0.255] ; lines: at data id iter ] ] ] ] Thanks once again, -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: REBOL newsfeed?
On 09-May-04, Carl Read wrote: Off topic: And speaking of Live Journal, if someone wants a REBOL programming challenge, they might like to create an LJ client. See... http://www.livejournal.com/download/ If aimed at View 1.2.1, it'd produce a major increase in the number of platforms LJ clients are available for and might help to get REBOL noticed a bit more. Well over a half a million active LJ users about. More on Live Journal: It's just won a peoples-choice Webby for most popular community... #http://www.webbyawards.com/main/webby_awards/nominees.html# -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] ANN: 3D game engine
=== Original Message === http://www.errru.net/rebol/fun/rdm.r Right now, this is just a nonviolent and incomplete demo, which needs the latest view beta. Some features: - everything 100% REBOL - no texturing (no OpenGL), but changing the wall drawing code is easy. - 3 DOF with fast hidden line removal (front to back occlusion test) - adaptive time step physics - can be rewritten for 4 DOF (no up/down or tilting rotations) - can be rewritten for rooms with arbitrary, but convex 2D outlines - can be rewritten for graph-like room topology (right now it's a grid) - can be rewritten for OpenGL rendering - no room-over-room capability It will still take a lot of time to make a fun game out of this :/ It would be interesting to see if REBOL can do real-time streaming of game state over networks. PS: REBOL/view rendering speed isn't so slow, is it? No - not too slow in this case! :-) I tried changing viewport-size to 800x400, but it only made the window bigger... All in all, it looks very promising. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] text-list faces
What's the path to the faces of the text in a text-list? I assume they're a block of faces somewhere in the text-list object? Thanks, -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: REBOL newsfeed?
On 09-May-04, Richard Gaskin wrote: Is there an RSS or JavaScript feed for news items from the REBOL community? Hmmm. Well I created a REBOL community on Live Journal and that produces an RSS feed... http://www.livejournal.com/users/rebol/rss I mention any major REBOL news there, though it's supposed to be a community as apposed to a news site. And I've been the only poster so far, (it having all of five members), so it's in no way the ideal place to get REBOL news. I suspect the other members are just general language junkies and not actually REBOL programmers. A dedicated REBOL news site RSS feed's a very good idea. The hard part would be getting people with REBOL news to support it, as apposed to just posting their news to this list. Off topic: And speaking of Live Journal, if someone wants a REBOL programming challenge, they might like to create an LJ client. See... http://www.livejournal.com/download/ If aimed at View 1.2.1, it'd produce a major increase in the number of platforms LJ clients are available for and might help to get REBOL noticed a bit more. Well over a half a million active LJ users about. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: cgi question
On 07-May-04, Kai Peters wrote: Carl - thanks - removing the 'From:' line seems to do the trick. Do you or anyone else have a clue as to why though? After all, I should be able to send mail from the same sender to multiple recipients... Well, a To: block for multiple recipients makes sense, but there's only one sender, so a block for From: doesn't make sense. (At least not to me, anyway. Can anyone think of a reason for multiple sender addresses?) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: frustrating pairs...
I think it's best to just treat them as you would a number. For instance, when wanting to convert a number to its square-root, this won't work... a: 9 == 9 square-root a == 3 a == 9 so we use this approach... a: 9 == 9 a: square-root a == 3 a == 3 So a zero-x function would be used like this... zero-x: func [arg][arg/x: 0 arg] xy: 1x2 == 1x2 xy: zero-x xy == 0x2 xy == 0x2 Not sure if that helps with your scroll function though. My head's a bit wolly at the moment... :-) On 08-May-04, Alain Goyé wrote: ; pairs are not numbers, not series, not objects... too bad ! ; If we set: toto: 5x5 ; all this (and more...) is wrong!: set toto/x 3; toto/x is not a word set 'toto/x 3 ; 'toto/x is not a word in toto 'x; toto is not an object change toto 3; toto is not a series... ; So what ? ; Well, I am frustrated while trying to touch only x or y of a pair in a function. This makes no problem: zero-pair: func ['arg] [set arg 0x0] zero-pair toto toto; OK ; But now if I want a function to set the pair's x value to 0, all this is wrong again: zero-x: func [arg] [arg/x: 0] ; argument goes by reference zero-x: func ['arg] [arg/x: 0] ; Cannot use path on word! value zero-x: func ['arg] [set arg/x 0] ; toto/x is not a word ; etc. ; Of course this for example works: zero-x: func ['arg] [ p: get arg set arg as-pair 0 p/y ] ; or in that special case: zero-x: func ['arg] [set arg 0x1 * get arg] ; Is there a simpler way ? ; And what if I would like to pass an argument to specify whether to affect x or y in the function ? ; this is short nice: test-print: func [p [pair!] 'd [word!]] [print p/:d] test-print toto x ; but this isn't that an ugly usine à gaz (gas factory in French) ? : test-change: func [ 'arg [word!]the pair to affect 'd [word!] the direction to change: x or y val [integer!] the value to set ] [ p: get arg either d = 'x [ set arg as-pair val p/y ] [ set arg as-pair p/x val ] ] test-change toto x 10 ; ...while one would like so much just to write something like : arg/:d: val; wrong of course... ; did I miss something please ? ; of course the above examples are useless, but here is the real one: ; a function to scroll a box's pane using a horizontal OR vertical slider: scroll: func [bx box sf slider 'd direction: x or y /local tmp][ if none? bx/pane [exit] if 0 tmp: bx/pane/size/:d - bx/size/:d [ either d = 'x [ bx/pane/offset/x: - tmp * sf/data ] [ ; how to improve that ? bx/pane/offset/y: - tmp * sf/data ] show bx ] ] ; Alain. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] help
How? :-) -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Creating thumbnails [view]
On 23-Apr-04, Steven White wrote: Good Day, Fountain of REBOL Knowledge, The following script reads a big jpeg file and displays it on the screen as a 96x96 thumbnail. When I hit the button, it saves that image to disk as a 96x96 png thumbnail. I mention this to show that the idea can be done (as of course you know). _*_*_* REBOL [ ] view layout [ thumbnail: image 96x96 %ships_1024.jpg button 300x25 save/png to-image thumbnail [save/png %shipspng.png to-image thumbnail alert done] ] _*__*_ Now, I want to do the same thing, but not in an interactive manner, not with a screen. I want a script that will automatically make a bunch of thumbnails for a bunch of pictures without any human intervention. Can I do that? It seems I can't use the image key word outside of a layout. If I use to-image, I don't see how I can specify the size. I know how to find all the files in a directory, and how to loop through them, etc, but I am missing that piece to read a jpeg file, turn it into a thumbnail, and write it, outside of a VIEW layout. I have looked at the cookbook example HTML Thumbnail Photo Directory Maker, but that also uses an image within a layout. Thank you. Hi Steve. You can turn a layout into an image just by a... to-image layout [box red] so if the layout has your picture in, then you've grabbed it without needing to view the layout. Add to that an origin of 0x0 to get rid of the border and your problem becomes quite simple... for n 1 3 1 [ file: %ships_ picture: load rejoin [file n %.jpg] thumbnail: to-image layout [ origin 0.0 image 96x96 picture ] save/png rejoin [file n %.png] thumbnail ] That's not tested though - but I think it'd work, assuming you've numbered your files without padding... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: web counter, next-page method?
On 07-Apr-04, Petr Krenzelok wrote: Hi, I will soon prepare some part of portal. Let's suppose I get data from db, I have template system, where I simply put data into table or whatever xhtml structure. Now what I am not sure about how to do is - e.g. my table will have 30 rows, db query returns 150 rows, so I need to introduce some next-page continuation mechanism. Any suggestions? That is not about search replace only. xtml template is designed by our gfx designer, cgi/data part is mine responsibility. We just set yesterday and our designer asked, what should he put into xhtml template? And now I am not sure how to do it. Maybe it could use similar aproach as when you construct gfx based counter? Dunno. Any suggestions, examples? Maarten and Hallvard have given good replies, to which I'd add that using the query-string to keep track of both the search-query and page-number is a good idea, as then people can bookmark their searches. ie, something like this... www.someplace.com/db ; search for da do returns... www.someplace.com/db?search=da+do ; next-page clicked returns... www.someplace.com/db?search=da+doskip=30 This also has the advantage of allowing people to edit the query by hand, thus jumping to near the end (say) of a large result by changing skip=30 to skip=300. Useful if the results have been sorted. There's a slight problem with that in that the database may change before the next-page button is clicked on, so you might be skipping over data you really should be displaying. You could get around that by keeping a tempory file of the full search results and have an id pointing to it, but then it might show items that are no longer in the database so it's really six of one and half a dozen of the other. The closest thing I've done to this is... http://cybercraft.nebularis.com/NZnews/NZnews-home.r but it doesn't use SQL and the search just stops at about 500 results - no paging ;-) But where you are is all tracked by the query string, so if you're looking at a weeks' results for a date and change the date, you still get a week's results. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Presentation software
On 08-Apr-04, rebol wrote: Does anyone know if there are any presentation reblets that will allow essentially a controlled slideshow remotely? In other words, clients would sit at their computers and watch a presentation controlled remotely. Thanks, Well, there's one that's a future reblet for IOS... http://www.rebol.com/reblets.html Don't know if there's any working presentation reblets available. With the REBOL plugin available now though, writing one that people would use is possibly a little bit easier. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: newbie q : value label in text-lists
On 01-Apr-04, [EMAIL PROTECTED] wrote: Thanks for answers! The next q. is about faces event handling: I would like to use a layout (form) without help of mouse. There was some points in couple of documentation files (view quide and handling events), but no so much. So I am interested to find some more detailed description or some examples about tabing (focusing) throught faces (not just text fields) and more info about detect event using. Could you please point me to a link that I missed. It sounds like you missed this one... http://www.rebol.com/how-to/feel.html which covers event handling quite well. I don't know of any docs where focusing is explained, but the current focus can be found in system/view/focal-face. Here's a little example of the focus rotating automatically through three fields... rebol [] view layout [ backdrop rate 1 feel [ engage: func [face action event][ either all [ action = 'time system/view/focal-face object? f: system/view/focal-face/user-data ][ focus f ][ unfocus ] ] ] f1: field f2: field f3: field do [ f1/user-data: f2 f2/user-data: f3 f3/user-data: f1 ] ] To start the cycling, click on any field. The feel (ie, event-handling) is added to the layout's backdrop. To do the cycling it could've been added to any face since the cycling is dependant on a timer, not a click on a specific face, but by using the backdrop we can make it so a click on it will do an unfocus and so end the cycling. Hope this gets you started. Oh yes, and welcome to the mailing-list and REBOL. Both are a lot of fun as well as being very useful. ;-) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: newbie q : value label in text-lists
On 31-Mar-04, [EMAIL PROTECTED] wrote: Hi, List! I would like to set up text-list in my layout, so it shows just labels, but when selected I could get value. Like in HTML forms: OPTION SELECTED VALUE=IDLabel 1/OPTION I tried some variants by using data blocks, but not yet success. face/lines provides an index to which line in the list has just been clicked on, so that can be used as a pointer to your data. There's also a face/user-data which could be used to store your values. Using this approach, you could have something like this... REBOL [] my-labels: [ ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen ] my-data: [10 11 12 13 14 15 [this is number 16] 17 18 19] view layout [ text-list 200x70 data my-labels user-data my-data [ probe pick face/user-data index? face/lines ] ] (The [this is number 16] is just to show you you could have any data you like in my-data.) HTHs. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: FTP server
On 30-Mar-04, Maxim Olivier-Adlhoch wrote: I remember Reichart saying that they had to do a lot of extra work in FTPGadget to make it robust--not due to REBOL's FTP implementation, just FTP in general. someone has reported that netscape's ftp handling has/had more than 60 different internal modes to be uniform accross all ftp servers. ftp seems to have a lot of variations, even in the W3c RFCs, due to the lenght of time it took to get ftp to maturity. just the listing of a directory's contents seems to be a major headache. searching this mailing list, will most propably reveal MANY such discussions (2 or 3 I can recall myself). Yes, there was a big one around Nevember last year. in any case, do get the latest ftp patch compiled by romano: http://www.rebol.net/cgi-bin/projects/track.r?id=149; I've been using the patch by Brett Handley linked to here... http://demo.rebol.net/list/list-msgs/32891.html which fixed the directory problems I was having, but that was just my problems. I originally started writing a simple FTP client because of a question asked on the REBOL Cookbook pages, but it got a little bit long and I hit the directory problem mentioned above, so I never uploaded the script. I did get to a working version though, and you can find it here... http://homepages.paradise.net.nz/left/rebol/scripts/ftp-client.r What it still needs (off the top of my head) is... . Storage of account information and a way to select different accounts. (You need to type the account info in each time you run it.) . Ability to add directories. . Ability to delete files and directories. . The displaying of file sizes, dates and permissions. . Ability to set file permissions. . Ability to download large files. (It grabs the whole file currently, so is restricted to ones that'll fit in available memory.) And probably a whole lot more. But you can up and download files (and multiple files - just Ctrl-click on them) and browse local and remote directories, so the beginnings of a possibly useful client are there. If that's of any use to anybody, feel free to use and modify it as you wish. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: HTML/Javascript vs REBOL plugin (was Re: CitrusWeb sample - so you want to edit?)
On 20-Mar-04, Luke Orlando Emmet wrote: How would a rebsite (or a flashsite etc) get searched by Google?? From a technical POV, a rebsite wouldn't be difficult for Google to search - it just needs to look at the script's header. I doubt they'll bother till there's millions of scripts about though. Out of curiousity, I've just been using Google to try and find REBOL scripts and a search for rebol .r (without the speechmarks) ranked my solar-sim reblet at 5. Like it's had about 50 hits and been online for all of two weeks and it's at number 5 in a search for rebol .r?!? It's also the first link shown with a .r extension. So, what's different about my reblet? Well, because of the way my host handles REBOL scripts, (they have to have a .r extension), I couldn't have the reblet's page point to a script with a .r extension as it'd generate an error. So I gave the script a .reblet extension and the reblet's page a .r instead of .html. (Yes, it's a REBOL script too, hence its counter.) Moral of the story? HTML with a .r extension can get listed high by Google, whereas scripts with a .r extension don't seem to. I'm now toying with the idea of changing the .reblet extension on the script to .html to see what happens. ;-) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: HTML/Javascript vs REBOL plugin (was Re: CitrusWeb sample - so you
On 21-Mar-04, [EMAIL PROTECTED] wrote: maybe you need to do this search: http://www.google.com/search?hl=enie=UTF- 8oe=UTF-8q=filetype%3Ar+rebol The idea is to find a way for scripts to show up with standard searches, as well as to have the text in them searchable by Google. So if you have comments in your REBOL header, searching for those comments will find the script. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Rebol web presence statistics
On 19-Mar-04, Hallvard Ystad wrote: Hi list A quick tour around the search engines reveals they find this many documents about rebol: Google: about 188,000 Altavista: 16,721 Alltheweb: 51,983 Hotbot: 14,131 Teoma: about 19,100 msn: about 13635 Yahoo: about 78,300 As I write, the RIXbot has 45621 documents in its index. These are documents that contain rebol in ANY way, so putting rebol (as an html tag) in a web page, or linking to rebol.com, will cause the page to be included in the index. It is intended to work this way. This means some pages will not have the word rebol on them (visibly), but still be indexed. The last time I spoke about the RIX on this list, someone suggested I make it possible to search through rebol headers. This is now done. The bot has several indexes, both in full text and in rebol headers. E.g., you can see some of Carl Sassenrath's and Carl Read's scripts here: http://www.oops-as.no/rix?q=carlst=sauthor Hey - someone did a search for me! ;-) Do we need this? I think maybe not. Well I think so, as the more ways to search for REBOL info the better. One suggestion for the results: I'd like to see the URL's shown too, as they provide extra info not given by the webpages' headers. Three or four links all just saying REBOL.org Script Library are not that helpful. Yes, we can put the mouse-pointer over them, but that's not too friendly. Then why make it? Because rebol is fun and a bit too addictive. I really hope I will reach some stage that I find satisfactory with this, so I can leave it behind and get some sleep... There are duplicates in the database: http://rebol.com/, http://www.rebol.com/, http://rebol.com/index.html and http://www.rebol.com/index.html are all registered. I'm working on a filter to get them out. Rebol scripts are detected with 'load. Web pages with more than one script are currently registered with the first script on the page only. This too will be changed if/when I find the time. If you're curious about whether or not some page is in the index, please use http://www.oops-as.no/rixaddurl to check. I hope this index can be more or less exhaustive, so I'm grateful to all who tell the bot where to go. I just did... RIX URL Submission OK, your URL wasn't found in the database, so it was added to the checklist. Thanks for submitting. RIX works at a pace of 5000 site updates per night. There are currently 233432 websites before you in the queue, so this URL should be indexed around 5-May-2004. But keep in mind that this is only an approximate suggestion. It's going to be quite a busy little bot for the forseeable future, isn't it? (-: So Google reports 188000 pages... But clicking next repeatedly never gets you to the end. I wonder if this figure is really real... Thanks for all the help I have gotten from this list, and thanks to Nenad for the mysql protocol in particular. And thanks for RIX Hallvard - it's a useful tool. HY Prætera censeo Carthaginem esse delendam -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: CitrusWeb sample - so you want to edit?
On 20-Mar-04, Graham Chiu wrote: Luke Orlando Emmet wrote.. apparently on 19-Mar-2004/16:30:17 On 19 Mar 2004, at 8:51, Graham Chiu wrote: Also, instead of Javascript navigation, what about the new plugin? Err - not sure what you mean here... http://www.rebol.net/plugin/tests/test.html To use the new Rebol browser plug in to replace the javascript navigation tool you have... I wouldn't use it as a replacement just yet. As an alternative for sure, but until it's available for all the major browsers on Windows, Linux and Mac, javascript shouldn't be dropped for editing. Other people's experiences will differ, but take a look at this litte thread... http://www.flyingmice.com/cgi-bin/squidcgi/mbthread.pl/space/expand/176 as an example of the hassles of believing that 90% of everyone uses Windows IE. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Rebol web presence statistics
On 20-Mar-04, Hallvard Ystad wrote: Dixit Carl Read (11.40 19.03.2004): One suggestion for the results: I'd like to see the URL's shown too, as they provide extra info not given by the webpages' headers. Three or four links all just saying REBOL.org Script Library are not that helpful. Yes, we can put the mouse-pointer over them, but that's not too friendly. You're right - so now the URLs are shown. That's better - and still nice and tidy too. I just did... RIX URL Submission OK, your URL wasn't found in the database, so it was added to the checklist. Thanks for submitting. RIX works at a pace of 5000 site updates per night. There are currently 233432 websites before you in the queue, so this URL should be indexed around 5-May-2004. But keep in mind that this is only an approximate suggestion. It's going to be quite a busy little bot for the forseeable future, isn't it? (-: Oh yes. And it all started with http://www.rebol.com/ in the beginning. The bot checks all links _from_ pages that contain the word rebol. Pages that do not contain the word does not get their links checked. It's amazing how many URLs have lined up on the checklist. 5000 records per day is my choice. If the bot ran all the time, it could reach about 15000-25000, I guess, so maybe that's worth a try for a period of time. But a bit rough on your bot! :-) Perhaps the submitted by hand URLs could be put to the top of the list? It's unlikely you'll get many a day and so it shouldn't make much of an impact on your searching, but it would be a bit of encouragement for the people who take the trouble to add an URL. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] REBOL on a cell-phone? Was: Re: CitrusWeb sample - so you want to edit?
On 20-Mar-04, Ashley Trüter wrote: Or that 90% of everyone uses an x86 device. Cell-phones and PDAs anyone? REBOL on a mobile? How far's that away? (A rhetorical question, as I'm sure no one knows.) It'd certainly influence my next purchase of one. Java's certainly got a head-start though. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] This has to be a known text-list bug...
layout [t: text-list abc abc] probe t/data [a b c abc] So how come the first string has had its extra spaces removed?!? (Same result on View 1.2.1, 1.2.5 and 1.2.10.) And is there any known fix for this? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: This has to be a known text-list bug...
On 17-Mar-04, Carl Read wrote: layout [t: text-list abc abc] probe t/data [a b c abc] So how come the first string has had its extra spaces removed?!? (Same result on View 1.2.1, 1.2.5 and 1.2.10.) And is there any known fix for this? Well, found a work-around for it... layout [ [t: text-list [do [append t/data [abc abc]] [] probe t/data [abc abc] Anyway, has this been fixed with the latest betas? It has to be a well-know bug, right? Oh yes, and this shows up the bug too... strings: [ abc def ghi ] view layout [text-list data strings] -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: crashing...
On 15-Mar-04, Maxim Olivier-Adlhoch wrote: Hi Ashley, I'm not using images, cause I want this to be as skinny as possible. I have not yet found the source of the leak... BUT!!! I did find the source of the crash... yipee! I do not know if this is solved (or even fixable) in version 1.2.41 (I have not yet have time to test it, but I will)... Simply put, I was not using the /new refinement of view when opening a new window from a button... Normally that just replaces the current window, which is rather obvious to see. Were you managing to open a new window without the current one disapearing? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Announcement: REBOL/Plugin Beta-1 Released!
On 13-Mar-04, Josh Mitts wrote: To experience the plugin for yourself, go to: http://www.rebol.net/plugin/tests/test.html Is the plugin meant to update automatically? As it didn't for me. Obviously uninstalling the alpha version and going to the above would do the job, but is there an easier way? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Announcement: REBOL/Plugin Beta-1 Released!
=== Original Message === Carl Read wrote: On 13-Mar-04, Josh Mitts wrote: To experience the plugin for yourself, go to: http://www.rebol.net/plugin/tests/test.html Is the plugin meant to update automatically? As it didn't for me. Obviously uninstalling the alpha version and going to the above would do the job, but is there an easier way? I was away for few days but was told by folks on AltME that Josh said something like that in future all versions will be able to coexist, so RT is looking into issue. Even docs state you should manually remove alpha plug-in first Yeah - I'd noticed that. Just wondered if there was a one-click way to do it. But, if all versions will be able to coexist, then I guess the web-page objects will say which version is needed and download it if it's not available. Which is good, as it'll provide backwards compatibility and we won't need to update all our reblets with every upgrade. So, when this feature is working, the rebol.net test page should always be set to the latest version, right, and so I wouldn't have had to ask my original question? -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: error? try load bad-path
On 12-Mar-04, [EMAIL PROTECTED] wrote: I have a situation where I'm converting a string to a path and loading it, in some situations this string can be a bad path, I want to catch that, so I put in this patherr: error? try[load pass] either patherr = true[ ] [ passlevel: load pass passlevel: to-integer passlevel ] unfortunately in the cases where I pass a bad path I get the following: ** Script Error: Invalid path value: skjjsjnf ** Where: do-boot ** Near: passlevel: to-integer passlevel The error is with the to-integer and not load, so load seems to be loading your bad path ok. What are the paths to? If to files and pass is a string, then load will quite happily load the string. Changing [load pass] to [load to-file pass] will generate an error if it's not a file. load, (roughly speaking), converts a file or string to REBOL format. Hence the following loads quite happily and generates a block... test: load aa %bb cc == [aa %bb cc ] type? test/1 == word! type? test/2 == file! Hope this helps, but if it's not a file you're trying to load then it probably won't... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Can browse be made to work with Linux?
On 10-Mar-04, Juan-carlos MIRANDA wrote: Two solutions : - if set-browser-path is available in your vm version, call it with your mozilla path - if not, try (as root) to make the following manipulation : ln -sf path-to-mozilla/mozilla /usr/bin/netscape this works as rebol is looking for netscape as default browser. Hope this helps. It did, the second method working just fine. Many thanks. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: ANN: Serve-It! (PRE-release)
On 10-Mar-04, Dirk Weyand wrote: The PRE-release of Serve-It!, a fast, reliable, multi-threading server-engine featuring several HTTP PROXY-sever in one smart progamm is available at: http://www.TGD-Consulting.de/index.r or visit http://www.TGD-Consulting.de/Download.html Serve-It! requires REBOL/View. Tested and developed with REBOL/View 1.2.1.1.1 for AmigaOS 68k. But it should work on any other platform. Feedback of any kind is desired. Looks very nice - though I can't test it. (As far as I know - you can't run a server from a typical ISP connection, can you?) But can it be used for testing CGI scripts locally? That I could use. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Can browse be made to work with Linux?
As the subject-line says. Using KDE and Mozilla - though called Web Browser in the menus... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: How to use ^ in string?
On 07-Mar-04, Raimund Dold wrote: Hi everybody, I need to have a ^ in a string. How do I get that done? print abc^^123 abc^123 print abc123 abc^^123 Thanx Raimund -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Wake up ;-)
On 03-Mar-04, Carl Read wrote: On 03-Mar-04, Bruno G. Albuquerque wrote: Well, I didn't. I still can't use it. Anyway, the plugins install itself in C:\WINNT\Downloaded Internet Files (at least on my configuration) but there is no config file for it or anything. C:\WINDOWS\Downloaded Program Files for me on Win98se. I had no problems getting the plugin installed and running using IE5. For those who may not have figured it out, files saved from a reblet go to C:\WINDOWS\TEMP\REBOL\Plugin (on my Win98 box, anyway.) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] readmail.r Re: FYI: Plug-in bug with Windows NT 95
On 04-Mar-04, Alan Crandall wrote: none none=== Original Message === none none noneHi all, none noneWe found out [snip] This was sent via readmail.r so may look strange! Go to Preferences in Mail Reader (readmail.r's proper name) and change Indent Text's none to some suitable text ie. . I'm trying our Mail Reader at the moment and it looks very good, but the default Prefs could do with a tweak I think. :) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] readmail.r [was Re: FYI: Plug-in bug with Windows NT 95]
On 04-Mar-04, Carl Read wrote: I'm trying our Mail Reader at the moment and it looks very good, Should've been trying *out* of course. Mail Reader's Phil Bevan's program - I've only just discovered it this week. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: YAPAQ
On 03-Mar-04, Volker Nitsch wrote: Am Dienstag, 2. März 2004 14:53 schrieben Sie: Hi, YAPAQ: Yet Another PArse Question .. I want to parse a string like this: {word1 word2 expression 1 expression 2 word3 expression 3} and I want the output to be: [word1 word2 expression 1 expression 2 word3 expression 3] .. Quotes are inbuild. so: ! parse {word1 word2 expression 1 expression 2 word3 expression 3} == [word1 word2 expression 1 expression 2 word3 expression 3] Out of interest, is there any difference in behaviour between using an empty string and none as the parse rule? ie... parse {word1 word2 str 1 str 2} none == [word1 word2 str 1 str 2] parse {word1 word2 str 1 str 2} == [word1 word2 str 1 str 2] -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Wake up ;-)
On 03-Mar-04, Bruno G. Albuquerque wrote: Well, I didn't. I still can't use it. Anyway, the plugins install itself in C:\WINNT\Downloaded Internet Files (at least on my configuration) but there is no config file for it or anything. C:\WINDOWS\Downloaded Program Files for me on Win98se. I had no problems getting the plugin installed and running using IE5. For those who may not have noticed, there's a plugin guide here... http://www.rebol.net/plugin/tests/plugin-guide.html And DO report your problems to feedback... http://www.rebol.com/feedback.html else RT mightn't notice them. And have you noticed this... http://www.rebol.net/plugin/tests/google.html ? (: And my first reblet's here... http://homepages.paradise.net.nz/left/rebol/reblets/rebol-anim-example.html -Bruno Vos, Doug disse: How did you manually change the proxy settings? What directory does rebol/plugin try to install in? It tried to install, but can find it anywhere... Running Windows/XP with IE-6 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bruno G. Albuquerque Sent: Tuesday, March 02, 2004 1:56 PM To: [EMAIL PROTECTED] Subject: [REBOL] Re: Wake up ;-) Well, the problem being reported by me, at least, is simple. The plugin is not using a proxy server and need it to do so. :) Anyway, this is my configuration (I am sure it won't help). Windows 2000 SP4 Internet Explorer 6 (latest fixes applied) PIII 800 with 512 Mb -Bruno Jason Cunliffe disse: Please, anyone having trouble with the plugin *specify* how your system is configured: Browser, OS version, cpu, ram etc fyi, the new plugin runs ok here on two machines: Win98se IE6.0.2 500mhz 256Mb ram WinXP IE6.0.2 3Ghz 512Mb ram It loads and installs so quickly [about 15secs on WinXP notebook over DSL]. Win98 I had to manually change my security settings to enable ActiveX. WinXP there was nothing to do. This is a happy day for Rebol :-) Does happy dance - hurts knee. Decides to wait till the Mozilla plugin appears before dancing again... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Another newbie stumper
On 25-Feb-04, Kai Peters wrote: Hi All ~ Below is a code snippet that has me stumped: When I click the toggle, everything works fine. However, pressing the hot key CTRL-s generates the error below - shouldn't the hot key do exactly what a left click does? No - all it does is evaluate the style's block. The toggling and other effects are handled by the face's feel functions. To see toggle's feel, enter this at the console... layout [t: toggle] probe t/feel One way to achieve what you want would be to add a feel block to your style and then place a copy of the engage function in it, but with the line that does the toggling moved to the evaluation block. ie, like this (watch for line-wrap)... view layout [ toggle_start: toggle 60 Start Stop mint #^s feel [ engage: func [face action event][ if find [down alt-down] action [ if face/related [ foreach item face/parent-face/pane [ if all [flag-face? item toggle item/related item/related = face/related item/data] [item/data: item/state: false show item] ] ] ; face/data: face/state: not face/state either action = 'down [do-face face none] [do-face-alt face none] ; show face ] ] ] [ face/data: face/state: not face/state show face ] ] There show face has also been moved, since it would be redundant if left in the function. You can now add your color-changing code to the block before the show face. HTH. Carl Read. Thansk for any help, Kai snip toggle_start: toggle 60 Start Stop mint #^s [ face/color:pick reduce [ sienna mint ] face/data show face scanning?: pick reduce [ yes no] face/data ] snip ** Script Error: pick expected index argument of type: number logic ** Where: func [face value][ face/color: pick reduce [sienna mint] face/data show face scanning?: pick reduce [yes no] face/data ] ** Near: face/color: pick reduce [sienna mint] face/data -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Time, seconds and scientific notation
On 24-Feb-04, Graham Chiu wrote: Hallvard Ystad wrote.. apparently on 23-Feb-2004/21:00:15+1:00 Hi list, This is from a console session: third 0:00:01.09 == 1.09 third 0:00:0.09 == 9E-2 How can I have the second example printed without scientific notation (as seconds)? Here's a function from Gabriele that does this in case someone else needs it. http://www.compkarori.com/vanilla/display/form-decimal.r This discussion has got me experimenting a bit. Look at this, for instance... dec: 0.1 == 1E-5 time: 1:01 == 1:01 time/second: dec == 1E-5 time == 1:01:00.1 So REBOL can output non-scientific notation of more than two decimal points, even on Windows. Which allows us to make quite a simple formating function... form-dec: func [num /local dec int][ either zero? dec: num - int: to-integer num [ form num ][ if all [negative? num zero? int][int: -0] join int find/last form to-time reduce [0 0 dec] #. ] ] form-dec 0.01 == 0.01 form-dec 0.1 == 0.1 form-dec 100.1 == 100.1 form-dec -0.01 == -0.01 form-dec -0.1 == -0.1 form-dec -100.1 == -100.1 It won't handle large numbers though, because to-integer can't... 1234567891234567 == 1.2345678912346E+15 form-dec 1234567891234567 ** Math Error: Math or number overflow ** Where: to-integer ** Near: to integer! :value -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Time, seconds and scientific notation
On 25-Feb-04, Tom Conlin wrote: the belated but unhelpful answer you have likley heard by now is: 'dont use windows' since this is strictly an artifact of MS Actually, I'd consider this a REBOL problem. It's supposed to be a cross-platform language afer all, and numbers should not come out different on different systems. Carl Read. On Mon, 23 Feb 2004, Hallvard Ystad wrote: Hi list, This is from a console session: third 0:00:01.09 == 1.09 third 0:00:0.09 == 9E-2 How can I have the second example printed without scientific notation (as seconds)? Thanks, HY Prætera censeo Carthaginem esse delendam -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Global Font settings
On 21-Feb-04, Paul Tretter wrote: I was looking thru anamonitor trying to find where to change the font globally. I would assume this is something trivial. I tried setting the font on vid-face but no luck. Any ideas? I know I can use 'with to set the font but want the same font by default on all rendered faces. I've only skimmed the thread on this so I'm not sure what your problem is, but there are some global font settings, plus a set-font function... ? font Found these words: font-fixed (string) font-sans-serif (string) font-serif (string) set-font (function) ? set-font USAGE: SET-FONT aface 'word val DESCRIPTION: (undocumented) ARGUMENTS: aface -- (Type: any) word -- (Type: any) val -- (Type: any) Maybe the source of set-font would give you some pointers... ?? set-font set-font: func [aface 'word val][ if none? aface/font [aface/font: vid-face/font] if not flag-face? aface font [aface/font: make aface/font [] flag-face aface font] either word = 'style [ if none? aface/font/style [aface/font/style: copy []] if word? aface/font/style [aface/font/style: reduce [aface/font/style]] aface/font/style: union aface/font/style reduce [val] ] [set in aface/font word val] ] -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: (No In-reply-to: 4034EDEA.3050708@webz.dk
On 20-Feb-04, Henrik Mikael Kristensen wrote: Maxim Olivier-Adlhoch wrote: is there anyone working on docs as the features are added/refined? There is a new document on the image! datatype, because it has changed completely in behavior. http://www.rebol.net/projects/view1.3/image.html Also a new View manual has been proposed in the same format as the current HTML based Core manual. TOC mockup can be seen here: http://www.rebol.net/projects/view1.3/rebolview.html Will HELP at the console be updated to cover VID? I couldn't find any mention of it here... http://www.rebol.net/cgi-bin/projects/track.r -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: (No In-reply-to: 4034EDEA.3050708@webz.dk
Odd - my mailer stripped the subject I was replying to, which was... Re: [Time frame for REBOL/VIEW 1.3] Carl Read. On 20-Feb-04, Carl Read wrote: On 20-Feb-04, Henrik Mikael Kristensen wrote: Maxim Olivier-Adlhoch wrote: is there anyone working on docs as the features are added/refined? There is a new document on the image! datatype, because it has changed completely in behavior. http://www.rebol.net/projects/view1.3/image.html Also a new View manual has been proposed in the same format as the current HTML based Core manual. TOC mockup can be seen here: http://www.rebol.net/projects/view1.3/rebolview.html Will HELP at the console be updated to cover VID? I couldn't find any mention of it here... http://www.rebol.net/cgi-bin/projects/track.r -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Always more and more show places for REBOL ... another opportunity!
On 11-Feb-04, Gerard Cote wrote: Hi List, here is another programming languages list produced a couple of years ago and as such it is not great news. What is interesting however is that it includes and describes well enough REBOL and second it lists - immediately after the lng listing of the different languages - many other software places on the WEB where the REBOL name/description could be sent too if not already done. I had no time recently to look further but may be we could split the list between many members and use some shared REBOL description to post to. This would save each one some time and we could individually reuse this shared view when presenting REBOL to new friends ;-) If nobody wants to be voluntary for this task, I'll take time to do it when I'll have som myself - later when my tutorial is finished or at least when more work is done related to it. If you do, try and define REBOL on a few sites. define is one of Google's key words. Try typing define perl into Google to see what I mean. Google doesn't have a definition for REBOL yet though, so we need to trick it into having a good one. Hmmm - just noticed such Google definitions seem to be mostly taken from glossary pages, (perl's a good example: http://www.google.co.nz/search?q=define:Perl ), so finding the right glossary to add REBOL to would be the way to achieve this. Regards, Gerard http://www.hypernews.org/HyperNews/get/computing/lang-list.html -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: oss revisited (briefly!)
On 11-Feb-04, Tim Johnson wrote: In fact, as a long-time C programmer, I'm afraid that if I saw any of Carl's code, it would just make me feel stoopid. :-) There was mention a while back by someone at RT of just how much source code there was to REBOL, and it was a /huge/ amount. So never mind stoopid - how about daunted? cheers tim -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Problem with CGI
On 25-Jan-04, ZikZak wrote: Hi, I'm a beginner and I don't understand why I can not obtain some informations. If I try to : mold system/options/cgi/query-string then the system doesn't give to me the informations. Why ? Because there's none to give. (When REBOL is first launched, as in your example below.) Query-strings are used on servers to catch the information added to the end of URLs, such as... http://www.google.com/search?q=rebol There, the q=rebol after the ? is the query-string. If the Google website was using REBOL, search would be the script-name and each time it was run when someone did a search system/options/cgi/query-string would be loaded with what follows the ?. So, as far as I know, (I could be wrong - I'm no CGI expert), query-strings are only useful when REBOL is running on a server. If however you knew all that, are running REBOL on a server and still are having problems, then a fuller explanation of your problem is probably needed. Carl Read. Regards -- ZikZak REBOL/Core 2.5.6.4.2 Copyright 1997-2003 REBOL Technologies REBOL is a Trademark of REBOL Technologies All rights reserved. Component: REBOL Mezzanine Extensions 1.1.2.1 (30-Nov-2002/13:47:03) Component: REBOL Internet Protocols 1.59.2.15 (15-Nov-2002/5:20:31) Finger protocol loaded Whois protocol loaded Daytime protocol loaded SMTP protocol loaded POP protocol loaded IMAP protocol loaded HTTP protocol loaded FTP protocol loaded NNTP protocol loaded Component: System Port 1.1.2.5 (2-Jan-2003/1:37:25) Script: User Preferences (8-Jan-2004/20:52:19+1:00) mold system/options/cgi/query-string == none -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Request File
On 21-Jan-04, Matt MacDonald wrote: I'm having a problem with the Request File Function. I have a timer as an event in the feel of a form. One of the buttons on the form launches the request file dialog box. The problem is that while that dialog box is up, my timer event is paused. I'm using the timer to check for inactive users, so the timer needs to be going at all times. Anybody have any suggestions? Here is the code for the timer: ; Probe time hold the timer interval, in my case it is usually 30 seconds main-form/rate: probe-int main-form/feel: make main-form/feel [ engage: func [face action event] [ if (event/type = 'time) [probe-messages probe-type] ] ] I'm not quite sure how your program works, but the timer in the following keeps going while the file-requester is open... view layout [ button Request [x: request-file] time: field to-string now/time rate 1 feel [ engage: func [face action event][ if event/type = 'time [ time/text: to-string now/time show time ] ] ] ] -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: A new interface paradigm without the usual windows ...
On 18-Jan-04, Gerard Cote wrote: Hi Robert, Just in case it interests you - and I know it will ;-) , I received this article from Inside PC MAgazine and I thought it could be interesting for a future app. written in REBOL - who knows ??? -- News: The Anti Interface Virtually everyone who computes is familiar with the image metaphors used by Windows and the Macintosh OS for interface manipulation and navigation. They are the standards most of us live by. But a new product on the block has an experimental interface that tosses out the conventions we know and don't always love. Is this new approach useful? Is it important? Read our news analysis to find out. http://eletters.pcmag.com/zd1/cts?d=81-455-1-1-56979-31564-1 If you prefer to go directly to the article by yourself follow this link: http://www.pcmag.com/article2/0,4149,1435152,00.asp or go directly to the software's homepage at http://www.nbor.com/ and download a demo - if you're a Win2000 or XP user. (Not too cross-platform at the moment...) It looks most interesting, (though I'm one of the ones who can't test it), as I'm throughly sick of windows, menus and icons, which I think have passed their use-by date. It'd be nice to see REBOL skins appear that don't try and ape current GUIs but instead try to be a new and better one. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: A new interface paradigm without the usual windows ...
On 18-Jan-04, Ed O'Connor wrote: I downloaded and played with it a bit on Friday. I was very underwhelmed. It's an interesting approach, but ultimately it felt like an experimental learning environment. FYI: There's an interesting review on OS News: http://www.osnews.com/story.php?news_id=5687 And going by this pic... http://img.osnews.com/img/5687/nbor1.png it certainly looks windowish - quite a bit of over-lapping rectangles there. Creating a genuinely better GUI is doable, but it requires a painstaking amount of user research, testing and refinement. Most small companies open source projects simply don't have the right mix of resources to do it right, and are much better off aping current GUIs. Now and then we see a small evolutionary improvement, and eventually it gets incorporated in GUI toolkits. Maybe something will shake out of NBOR. Yeah - but most everything else will be kept, so just added to the clutter. Long-shot bets are fun, but I wouldn't advise RT to go into more experimental areas until they have a standard widget set well implemented. I wasn't thinking RT should attempt it. We can make our own VIDs from View after all. The current minimum set is probably HTML (mixed with whatever can be done with DOM/Javascript)-- which is a respectably high standard. Does anyone know if the VID project has published list of VID improvements on the way? This what you want... http://www.rebol.net/cgi-bin/projects/track.r ? See the Completed Requests starting about halfway down. With regard to being sick of WIMP interfaces, amen. I'm hoping we'll see some creative interfaces that provide CLI/console productivity integrated in rich interfaces. Kinda hard to describe what that would look like, though! Yeah. Even if you have a good GUI idea, trying to explain it's near impossible. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Tuples versus Deciamls
On 13-Jan-04, Gerard Cote wrote: You were right Ashley, REBOL needs at least 3 components. I never tried before but it seemed to be so natural ... in fact REBOL fooled me this time but I will remember the lesson Next time I will try before submitting my answer! Regards, Gerard Actually, you were right to say you can force a 2 component tuple Gerard, as while this doesn't work... t: to-tuple 1.1 ** Script Error: Invalid argument: 1.1 ** Where: to-tuple ** Near: to tuple! :value this does... t: to-tuple 1.1 == 1.1.0 and despite the third number displayed there, it is a two component tuple... length? t == 2 t/1 == 1 t/2 == 1 t/3 == none As you say - test first - and keep testing till you get the answer you want. ;) - Original Message - From: Ashley Trüter [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 12, 2004 8:12 PM Subject: [REBOL] Re: Tuples versus Deciamls Is, for example, 1.1 a tuple or a decimal? Decimal, a tuple must have at least three components. Perhaps pair! is what you want? ;) Regards, Ashley -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: How to remove words from objects?
On 13-Jan-04, Luke wrote: Dear list I'm trying to dynamically add and remove words from an object. So far I can do the add words as follows: obj: make object! [a: 1 b: 2] probe obj make object! [ a: 1 b: 2 ] obj: make obj [c: 3] probe obj make object! [ a: 1 b: 2 c: 3 ] now I want to remove c from obj. How do I do that. I know I could dynamically reconstruct it from scratch, but that is not very elegant. There must be a better way to get back to obj being: make object! [a: 1 b: 2] Any ideas? The third value in an object is its block. ie... obj: make object! [a: 1 b: 2 c: 3] third obj == [a: 1 b: 2 c: 3] So, you could make an object from a copy of that block with the values you don't want removed. The following for instance creates a new object from the above one with the last two values removed... obj2: make object! head clear back back tail copy third obj probe obj make object! [ a: 1 b: 2 c: 3 ] probe obj2 make object! [ a: 1 b: 2 ] Not sure how it'd work for more complex objects though. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: What else don't I know
On 10-Jan-04, Steven White wrote: I was looking around various REBOL sites and came across a script that uses a function called emailer which seems to be a REBOL function that pops up a window for sending an email message. help emailer at the console confirms the function's existence. I looked at the function dictionary on the REBOL web site and did NOT see a reference to emailer. This makes me wonder what other functions there might be that are not documented. Does everyone else just stumble across these things or is there some documentation I am missing? One would think that the REBOL Function Dictionary would contain all the functions. I often stumble on words I don't know, usually at the REBOL Console. ie, a search for email in View turns up... ? email Found these words: ctx-emailer(object) email! (datatype) email? (action) emailer(function) import-email (function) parse-email-addrs (function) to-email (function) Of those, I only know what email!, email? and to-email do, but then I've not done much with email on REBOL. Since I can't remember the hundreds of default REBOL words available, my searching for ones that might do what I want usually starts at the Console, though you need to be a bit creative in trying to guess what the right word may be. Searching for email doesn't find SEND, for instance. I know I can list all the system words and just look them over one at a time to see what they do. Is that what it takes? Am I just getting too lazy? Is the missing emailer function just a single omission that slipped through the cracks? Nope - you're not getting lazy. There should be a tome you can buy that makes it easy for you to find all this info. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Language Comparison
A simple comparison of programming languages is described here... http://osnews.com/story.php?news_id=5602 Maybe someone with time on their hands would like to write a REBOL version of the tests and send it to the guy. Python didn't do well compared to the compiled and semi-compiled languages, so it'd be interesting to know if REBOL would perform any better. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Rebol, Lists, Forums, archives, AltME...
On 08-Jan-04, Ken Cadby wrote: Speaking of ways to combine multiple rebol support channels to avoid a 'fractured' user community, I wish I had an icon on my View Desktop that could take or point me to rebolish urls, including perhaps even blogs, or the ability to easily add my own urls. Other useful features would include 1) a way to track or sort which urls the user finds most useful, so that something like a 'Top 10' list of resources could be maintained on my desktop; 2) extend this ability to maintain my own urls and Top 10 list such that rebolforces.com (or where ever) always has the latest Top 10/100 list compiled from users who''ve submitted their own lists. Ie, just a simple use count (and/or user vote) for each url in the master list. Too complicated? If there's 'one place' a user should be able to browse rebol resources, shouldn't it be from a rebol desktop? Seems to me like an app perfectly suited for rebol. Here's more complicated: Add a search feature (at least for some sites), or bring up the site's search page if it has one, or bring up a site-specific google search page. --Ken (still just a rebol wannabe). The Desktop's designed for adding such features. If you look in View's Desktop directory you'll see a script called services.r You can add extra services to this which place menu items on the View Desktop which run a script of your choice. As an example I added an Open to the Desktop menu to allow me to use the View file-requester to select and run scripts. To do this I added this line to the services.r script... service Open %/path-to-REBOL-directory/local/requester.r (Can't remember if the full path to the script is needed and whether it also needs to be in a directory called local - but that's how I did it, anyway:) ...and this is the script it runs - requester.r ... REBOL [] quit?: false while [not quit?][ file: request-file/title/only/keep/filter Load and run a REBOL script: Launch .r either file [ error? try [do file] ][ quit?: true ] ] I don't know if that works on the latest beta Views, but it does on View 1.2.1 - for me, anyway. If you try it and it doesn't work, let me know what problems you have. (Written a while back, so probably not how I'd write it now.) So, you should be able to write an URL manager to run as a service on the Desktop. The problem with the Desktop is it /is/ a desktop and not a browser. It needs better navigation and good bookmark handling to move it more towards a browser. Still, the source has been released, so someone somewhere may be working on improving it. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: understanding rebol
On 05-Jan-04, Anthony Morford wrote: i am just beginning working with rebol. and i know very little of programming. im sure that taking a rebol workshop would make understanding it alot easier but i decide to go the cheaper, more personal, route - reading the manual. ive read it once through and still lack the understanding to make a successful program without reffering to the book every two minutes. is reading the manual the best way to acquire a deeper understand of rebol on one's own? or are there other ways to understand the fundimentals of rebol while learning all of its simple code variations? Out of interest, which REBOL book have you read? I find the REBOL/Core User's Guide is the one I turn to for help first. As others have said, get used to using the REBOL Console to test your ideas before adding them to your script. A simple example... foreach [a b c][1 2 3 4 5 6][print a] 1 4 foreach [a b c][1 2 3 4 5 6][print b] 2 5 foreach [a b c][1 2 3 4 5 6][print [a b]] 1 2 4 5 And use its search ability for when you think there should be a word that does what you want but you haven't memorized it yet. ie, while the following just gives you info on a word... ? clear placing the word in speachmarks gives you a list of words you might be after... ? clear In this case it found these words... clear (action) clear-fields (function) and perhaps clear-fields would be what you were after, but if not, try something else - remove perhaps, and so on. should i begin with a different programming language if im just beginning or should i do more research on the fundimentals of programming itself? I would think REBOL's a good language to begin programming with, but like most people on this list I came to it after using a variety of other languages. (Maybe someone for which REBOL was their first language would like to comment?) I'd say do your research into programming alongside actually trying to write programs. One will give insights into the other. And there's no better encouragement than to actually write a program that's of use to you or others. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Forum Name
On 05-Jan-04, Defiant Mail wrote: I have decided to set up a forum, if it takes off, great! if it does not Im only out $6.00 for the domain name. Now I would appreciate some feedback on a name for the forum... Here are a few ideas: rebolusers.com reboltalk.com rebolyell.com rebolchat.com rebolcomminity.com After the name is purchased It will take up to 72 hours for the domain to resolve to our servers. I will let everyone know when its live. I like rebolchat for the friendliness reason someone else gave. One thought though: REBOL's style-guide suggests joining words with a hyphen, so maybe rebol-whatever.com should be the format of the domain-name? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Center object screen res.
On 04-Jan-04, Defiant Mail wrote: Tried the below but the button shows up at default (25x25) Rebol[] view center-face layout [ size system/view/screen-face/size button OK [unview]] This I think does what you want... screen-size: 200x100 ;system/view/screen-face/size view center-face layout [ size screen-size b: button OK [unview] do [b/offset: screen-size / 2 - (b/size / 2)] ] Note you could also get the screen size by looking at b/parent-face/size, but not until after the layout had been VIEWed, so it can't be used in the DO block above. A feel function that's called when the layout's first VIEWed and when it's resized would be one way to put parent-face to work. HTHs. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Center object screen res.
On 05-Jan-04, Defiant Mail wrote: Carl Your the bomb! With the small adjustment of removing the 200x100 (to allow for full screenage) Ah - a bit of test code left in there. :) It is very, very hot in front of a computer in New Zealand at the moment... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Why no Forum?
On 04-Jan-04, Defiant Mail wrote: Here is an example: http://www.webhostingtalk.com There are over 53,000 members I have never seen less than 200 members on at one time and the most members online at the same time was 18,517 I have never noticed any lag time due to bandwidth and I have been a member since 2002. The great thing about forums is the ability to make advanced searches and section the sub forums into catogories. A rebol forum could have subs such as newbee section, liscensing and distribution, code help, view, core, etc... Another great thing about having a forum is that you can make common questions sticky so vets aren't answereing the same newb questions time and time again. But that'd take the fun out of answering the questions in a different way each time. ;) As for the ability to emulate a Ml. On forums such as the one above in your personal settings you can select any threads or forums you would like to subscribe to and you will recieve notice via e-mail whenever there are new posts. Anyhoot as I am new to Rebol I certainly find It difficult to find detailed information without spending lots of time looking through loads of archived mail, but then again you know what they say about opinions. We accept them by the dozen here. ;) For searching older emails there's Escribe... http://www.escribe.com/internet/rebol/index.html and Graham Chiu's... http://www.compkarori.co.nz/x.php?/rebolml for newer messages. I think the popularity of the mailing list is just how things panned out with REBOL. There have been REBOL forums such as the one at Rebol Forces (written in REBOL)... http://www.rebolforces.com/ but that's not publicly accessable now, it seems, so whether in use or not I don't know. But I don't think it ever had the kind of traffic this list has. Likewise there were (and still are) specific REBOL mailing lists on YahooGroups dealing with dialects, newbie questions, parsing and so on, but they have next to no posts. As someone said, AltMe Worlds seems the main alternative to this list. I also think there may not be enough REBOL users for too many alternative ways of getting info about it - it could lead to too much fragmentation and no quick responses to your questions. Still, nothing to stop you starting a REBOL forum somewhere of course. :) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: sort/scramble
On 04-Jan-04, Hallvard Ystad wrote: Hi I need a function that will make sure a block is _not_ sorted. ex: sort/scramble [ 1 2 7 7 7 4 9 f 3 h h h h 3e 54 5 4 k] [ 1 h 2 7 h 4 9 f 3 h 7 3e 54 7 h 5 4 k] Is that a real, in-use block? As I get an error with it... blk: [ 1 2 7 7 7 4 9 f 3 h h h h 3e 54 5 4 k] ** Syntax Error: Invalid decimal -- 3e ** Near: (line 1) [ 1 2 7 7 7 4 9 f 3 h h h h 3e 54 5 4 k] Is this feasible without a lot of work? Would anyone happen to have such a function in a drawer somewhere? RANDOM can be used directly on blocks (and series). ie... random [ 1 2 7 7 7 4 9 f 3 h h h h 3 e 54 5 4 k] == [3 1 4 7 7 h h 5 3 h 2 7 54 k e f 9 4 h] random [ 1 2 7 7 7 4 9 f 3 h h h h 3 e 54 5 4 k] == [3 h 7 4 h 54 4 5 1 2 e 7 k h h 7 9 3 f] random [ 1 2 7 7 7 4 9 f 3 h h h h 3 e 54 5 4 k] == [9 4 h 5 3 4 7 2 7 7 3 h f 1 54 h e h k] It just depends on how you define unsorted... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: This time of year...
On 23-Dec-03, Joel Neely wrote: ...gets quite busy in my world, And not just yours, and I can report that putting your cell-phone through the wash tends to compound things... :) so let me take this opportunity to wish all of you a joyous holiday season and a happy new year! And the same to you Joel, and all the regulars here. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: REBOL/View 1.3 - invalid word datatype
On 18-Dec-03, Gabriele Santilli wrote: Hi rebOldes, On Tuesday, December 16, 2003, 6:09:34 PM, you wrote: I can, but it's much more slower and it would mean to make it completely again. Maybe I could use load/next but how to convert invalid word to word? to word! whatever you wish == whatever you wish to word! 1,4 == 1,4 to word! fun(call, me, args) == fun(call, me, args) Hm... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: What does REBOL fix?
On 17-Dec-03, Ged Byrne wrote: Looking at it again, the challange was to describe [the language] in terms of the problem it fixes. [1] This is very different from a marketing slogan. For example, the one-liner for lisp is Lisp: Turing Machines are an awkward way to describe computation. This seems an awkward way to describe Lisp, but it probably does reflect the motivation of John McCarthy back in the 1960s. Rebol's creator has expressed the problem that Rebol is intended to fix quite clearly on the Rebol web site: REBOL is not a traditional computer language like C, BASIC, or Java. Instead, REBOL was designed to solve one of the fundamental problems in computing: the exchange and interpretation of information between distributed computer systems. I was trying to get at that with... REBOL: XML can't parse itself. using a similar style to what's on the site. ie... Pascal: Algol doesn't have enough data types. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: REBOL/View 1.3 - invalid word datatype
On 16-Dec-03, rebOldes wrote: Hello Carl, As you are preparing new build of Rebol, I would like to ask you, If it would be possible to change somehow handling of invalid datatypes As I'm working on a probably the largest known dialect using Rebol - the Rebol/Flash dialect ( http://oldes.multimedia.cz/swf/ ), I still feel very limited because of impossibility to use some words. For example I would like to have in my dialect code words like this one: objects/1._x ** Syntax Error: Invalid decimal -- 1._x ** Near: (line 1) objects/1._x As you can see, it's recognized as an invalid decimal. So here comes the question. Would it be possible to change this behavior to something which we could use? There were already some discussions on mailing list about this issue months ago, but I still don't know your opinion. I think the best way would be to handle these 'invalid' words as a special word which would not be able to hold some values but I would be able to parse this word as a normal string. If it will be a problem maybe it would help to use some refinement in the 'load function not to throw these invalid datatype errors and convert these invalid datatypes. If you would make this change, I would be able to make for example functions as are known in other languages for example: myFunc(a, 2, a + b) because loading such a dialect would not throw error like: load [myFunc(a, 2, a + b)] ** Syntax Error: Invalid word -- a, ** Near: (line 1) load [myFunc(a, 2, a + b)] The problem would be that real errors wouldn't be caught. Maybe we need a special type of block that would allow this? (Which would require a new datatype - well, two new datatypes - the special block and an unknown! datatype.) Which is non-trivial I suspect. For your Flash dialect Oldes, have you thought about a two-pass approach? The first pass would parse the file as a string, converting your myFunc(a, 2, a + b)s and so on to strings (or what datatypes or group of datatypes best suit them), with the second pass performing the main parse. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: What does REBOL fix?
On 14-Dec-03, [EMAIL PROTECTED] wrote: Can we find a snappy one-liner? http://www.paulgraham.com/fix.html REBOL: XML can't parse itself. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: A strange place to find Rebol
On 17-Dec-03, A J Martin wrote: From: http://www.stannsparish.org/news/bulletins/bulletin-June-23-2002.3.php Quote: Friday, June 28, 2002 7:00am Mass +Anne Kenney (Ch) by Pat and Jim Rebol ?! If you search Google News at the moment for REBOL you'll find three links (and only three links) to people whose surname is Rebol. They're all from the same family I expect, as the links are all from the same newspaper. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Rebol/Gotcha Handling previously defined words
On 11-Dec-03, Tim Johnson wrote: Well, I did it again, and punished myself severely for the transgression, but I can't bring back the time I lost I created a subroutine in a context and called it 'reduce. And I forgot to either redefine or provide an absolute path for system/words/reduce. Bad Tim, bad, bad Tim! This poses the need for a wonderful one-liner that would throw an error or warning in case a word is defined and used in a context that already exists in system/words. I'm just starting to dig into lisp as a part of learning emacs and I believe that language does have such safeguards, but I haven't been able to get to that understanding yet. Any ideas? comments? I probably don't know what you mean, but doesn't PROTECT-SYSTEM do this for you now? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Error trapping
To capture an error object you can use something like this... error? err: try [1 / 0] == true probe disarm err make object! [ code: 400 type: 'math id: 'zero-divide arg1: none arg2: none arg3: none near: [1 / 0] where: none ] but if the TRY block returns nothing it doesn't work... error? err: try [] ** Script Error: err needs a value ** Near: error? err: try [] To get around this you can ensure your TRY blocks always return NONE or FALSE when they otherwise wouldn't return a value, but is there a simplier way? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Text width in VID
On 06-Dec-03, Henrik Mikael Kristensen wrote: I'm also toying with size adaptable buttons, which size themselves to the text, so it doesn't wrap, and allow for resizing the main window with the buttons without screwing up the text and for resizing the column in a listview and make sure, text is never obscured. In later versions of View, but (instead of button) produces a rounded button sized to the text unless you over-ride it's size (I think). I can't use automatic calculations for the button size, because I need to be able to resize the button from the minimum size of the text width and up. I've come up with making an image of a layout with the text string and then determining its width from image/size/x and it works well. But it seems a little cumbersome, but is (not yet) performance critical for my application. Still, are there easier ways? Yes... ? size-text USAGE: SIZE-TEXT face DESCRIPTION: Returns the size of the text in a face. SIZE-TEXT is a native value. ARGUMENTS: face -- (Type: object) So... layout [t: text hello] size-text t == 25x12 And I've a vague feeling you can create faces directly without needing layout, which would simplify things further, but I can't remember how it was done - if it actually can be... :) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Compressing image data (bugs?)
On 05-Dec-03, Henrik Mikael Kristensen wrote: Gabriele Santilli wrote: Hi Henrik, On Thursday, December 4, 2003, 3:18:36 PM, you wrote: Still, I'd like to know if there's an easier way to contain size with the data. Just keep the image in the original format, i.e.: image-data: read/binary %img.gif Then later you can LOAD it: img: load image-data It works! Never thought of using LOAD that way. Thanks! :-) Also, if you're dealing with an image created by REBOL, you could use save/png to create a compressed binary of the image. ie... pic: to-image layout [backdrop black box A picture] == make image! [140x140 #{ 000... length? pic == 78400 save/png shrunk-pic: make binary! [] pic length? shrunk-pic == 301 view layout [image load shrunk-pic] -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Odd...
I just searched http://www.completeplanet.com/ for REBOL and second link on the list was rebol.com. Which, apparently, belongs in these categories... Government, Government Resources, Colonies Colonialization. Make of that what you will. :) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Seeding the web with Rebol
On 26-Nov-03, A J Martin wrote: I've been wandering 'round the web, and a little while ago came across a interesting (and practical-ish) task on a scripting forum, which I solved with Rebol. If people are interested, the thread is at: http://www.codeguru.com/forum/showthread.php?s=threadid=271930 The interesting part is that my script creates 'parse rules (and actions) automatically to do the job, and that it took me about an hour or so to create. Enjoy! Good work Andrew. I do wish you'd use standard REBOL indentation though - it makes your scripts hard to read for those of us used to it... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Some other questions
that to... start: 0x0 view layout [ b: box effect [draw[line start 199x199]] button + [start/x: start/x + 10 show b] button - [start/x: start/x - 10 show b] ] 10) Image processing Is it possible to create new images (in memory) by adding other images to the original image at certain coordinates ? Doing it in a layout and then using TO-IMAGE is the simpliest, though you can work directly on the image datatype... pic: make image! 2x2 == make image! [2x2 #{}] pic/1: 255.255.255.255 == make image! [2x2 #{FF00}] pic/3: 18.18.18.18 == make image! [2x2 #{FF0012121200}] Gets a lot trickier to put images into images of course, but is possible. Having tried to overlay transparent GIFs in a VIEW layout, I noticed the transparency attribute doesn't seem to be preserved ? At least transparent areas of my GIF didn't show the image below that one, but rather a WHITE area. IF transparent GIFs are supported: what do you need to do to really display them properly ? Pass... 11) VID controls If I need certain additional features for a basic control - like a progress bar or slider, how do I add these ? Do I need to edit the dialect ? For example, I want a progress bar with tic-marks as well as a non-continous filling of the bar. So, is there any way to sub-class controls easily to enhace their functionality/appearance without having to re-write everything from scratch? Pass... 12) Is there any really thorough information available on ACTIONS and EVENTS with REBOL/VIEW ? They documentation on the REBOL pages seems a bit 'poor' on that matter. I don't know yet, how these things are really done behind the scenes. Have you seen the HowTo on FEEL? (Link above.) 13) I didn't see any designated function to set pixels at certain coordinates in a layout- my workaround was using the line word - with 1 width/height. How is this really done ? That's one way, the other being to work directly on an image in a layout. ie... pic: make image! 100x100 view layout [ image pic rate 10 feel [ engage: func [face action event][ if action = 'time [ poke face/image random (length? face/image) / 4 random 255.255.255 show face ] ] ] ] 14) How do I catch mouse events - such as a mouseover event ? I read about 'over' - it seems to do exactly what I need - I want to display controls in a certain area only when the mouse cursor is in that said area. Also, that functionality could be used to add tooltip-like behaviour to buttons and menus. Once again, see the HowTo on FEEL mentioned above. Again: thanks for your help and patience folks - it's really appreciated !! Hope that helps! Hmm - the rugby's started... ;) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: what a subject ;-) Re: Re:[enum][constructor][memory][cloning][vid] Some other questions
On 23-Nov-03, Joel Neely wrote: Hi, Petr, Petr Krenzelok wrote: I am sorry, maybe I missed significant discussion to the topic, but don't you guys find subject key-words a bit contraproductive? I think the problem is not with key words, but with trying to cram too many topics into a single email/thread. Use decent mailers as Mozilla and you will not have trouble searching for certain topics ;-) True. However, there's more than searching involved here. Subject keywords (when properly used) allow you to scan the inbox to see which emails to read first, ignore, etc. I've never had trouble with that. Just read new posts to see what they're about and follow the thread or not based on whether you're interested in it or not. Of course, you may not notice the threads that morph into a subject that interests you, but those that do the morphing should just change the thread subject I feel, so it appears as a new mail. (And congrats to England;) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: ftp scheme (cont.)
On 17-Nov-03, Brett Handley wrote: Hi again, It would be great if Ashley and Carl could run this new test against their servers. This one is in source code form rather than a patch. Works fine with all my three servers Brett. Good work. So, should I make this my perminant ftp patch? I'm losing track of which is which. :) Carl. ---What I've done Romano wrote (some days back): If LIST is not implemented, the server should return an error, not an empty list of files. I think this is entirely reasonable, so in this latest FTP scheme I've changed the logic to use NLST only if parsing of LIST results fails. That is, if nothing is returned successfully I consider that an empty directory, if something is returned but our parse rules fail then I use NLST. Because it is simpler, NLST is unlikely to fail (if it is implemented on the server). If by chance both do actually fail, then I raise an error. I've also factored out the common logic as I see it into a separate function to see how LIST and NLST are so similiar. I've also merged the various patches added a little more network logging and changed [error? catch value ] sequences to [error? try [catch value]] pending Romano's comments on this error handling strategy. do http://www.codeconscious.com/ftp-testing/ftp-proposed.r trace/net true read ftp:// Regards, Brett. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: FTP scheme was Re: Reading empty directories via FTP error
On 15-Nov-03, Brett Handley wrote: Hi Carl, I tried them and ftp worked with no problems on the two sites I've talked about till now. But I have access to one other server, so yesterday I thought I'd try it with your parse-dir-list fix - but imediately noticed access via REBOL's FTP wasn't returning all the file-names in the first directory I looked at! This is nothing to do with your code, as it happens with REBOL's original code. There's 24 files and directories in the directory when I look at it with my FTP client, but REBOL only returns 10 of them. Anyone heard of this problem before? Eeek! As Romano pointed out - parse rules. But I'm not so happy that there is no error generated. Carl can you try this on the server with the above problem - all it does is poke in NET-LOG tracing statements to emit the results from LIST and NLST (file-list really). If the info returned by LIST or NLST is not sensitive it would good to see it (permissions/names changd for safety if necessary) and/or perhaps you could send it off-list. http://www.codeconscious.com/ftp-testing/patch-ftp-list-logging.r Okay - got it now. Running it output... Inserted NET-LOG for received NLST results. and reading the directory from that site returned... URL Parse: -user- -password- -url- none web/ none Net-log: [Opening tcp for FTP] Net-log: [ none [220 230]] Net-log: {220 ProFTPD 1.2.5 Server (ProFTPD) [217.206.220.106]} Net-log: [ [USER port/user] 331] Net-log: 331 Password required for -user-. Net-log: [ [PASS port/pass] 230] Net-log: {230-** Site Administrator FTP instructions **} Net-log: Net-log: { PLEASE ensure that you are in the /web directory before uploading files} Net-log: { to be viewable from the web server root directory.} Net-log: Net-log: { There is also a user area (which you may be in now) which will allow you} Net-log: { to test uploaded files at http://your.site.domain/~/-user- before} Net-log: uploading them to the /web directory. Net-log: Net-log: { If you are having problems viewing the /web area then try setting passive } Net-log: mode in your ftp client. Net-log: Net-log: { *} Net-log: Net-log: 230 User -user- logged in. Net-log: [ SYST *] Net-log: 215 UNIX Type: L8 Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Net-log: [ [CWD either empty? port/path [./] [join ./ port/path]] 250] Net-log: 250 CWD command successful. Net-log: [ [TYPE A] [200]] Net-log: 200 Type set to A. Net-log: [ [LIST] [150 125]] Net-log: {150 Opening ASCII mode data connection for file list.} Net-log: [ none 226] Net-log: 226 Transfer complete. == [-10 files instead of 24-] Turning on passive mode (ie... system/schemes/ftp/passive: true ) makes no difference - it still returning just the 10 files. This any help? ... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: FTP scheme was Re: Reading empty directories via FTP error
On 15-Nov-03, Brett Handley wrote: Hi Carl, Running it output... Inserted NET-LOG for received NLST results. Sorry, my little patches are getting too complex now, this output shows that there logging for LIST is missing - the patch must have decided that things were too different - so it did not insert the line. I know you've figured out how to do it manually in the protocol, so could you try inserting: net-utils/net-log [LIST results: file-list] directly before if empty? file-list [ within the parse-dir-list function. With this change in place, you should be able to see the re-assembled directory listing from the server that will be parsed. Okay - that gives... read -url- URL Parse: -user- -password- -url- none web/ none Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Net-log: [ [TYPE A] [200]] Net-log: 200 Type set to A. Net-log: [ [LIST] [150 125]] Net-log: {150 Opening ASCII mode data connection for file list.} Net-log: [ none 226] Net-log: 226 Transfer complete. Net-log: [LIST results: { drwxrwsr-x 2 212 217 1024 Jan 25 2002 -dir- drwxrwsr-x 4 212 217 1024 Jan 25 2002 -dir- drwxrwsr-x 2 212 217 1024 Jan 25 2002 -dir- drwxrwsr-x 2 212 217 1024 Jan 25 2002 -dir- drwxrwsr-x 2 212 217 1024 Jan 25 2002 -dir- -rw-rw-r-- 1 99 users2095 Jan 24 2002 -file- drwxrwsr-x 2 212 217 1024 May 17 2001 -dir- -rw-r--r-- 1 212 users 138 May 10 2001 -file- -rw-r--r-- 1 212 217 5528 May 10 2001 -file- drwxrwxr-x 2 99 99 7168 Nov 8 08:37 -dir- }] == [-10 files that should be 24-] If it amuses you, you could poke the net-utils/net-log line with custom output wherever else you think it would be useful in the protocol for sorting this out. :-) I played around with it a bit but didn't get any useful results. I wondered if re-writing the... while [line: system/words/pick port/sub-port 1] in parse-dir-list to grab every char that's sent would be useful to see if it's missing anything, but I've not looked into it yet. Would you know how to do that? Either REBOL's skipping stuff it shouldn't be - or not asking for stuff it should be asking for - I'm assuming... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: FTP scheme was Re: Reading empty directories via FTP error
Appologies to Brett, Gabriele and any others who've responded to my missing file-names problem. The cause was REBOL's FTP path and my FTP clients' paths don't match. The directory I was looking at with my clients was site/web/ but with REBOL this needed to be site/../../web/ (ie, back up two directories.) With REBOL, site/web/ is actually pointing to site/../../user/web/ where user is a directory set aside for testing and its web directory actually contains 10 files and directories that match site/../../web/ Blugh! From this I assume my FTP clients can detect they need to start up two directories from the host's URL, whereas REBOL can't. Would this be possible? Back to Brett's original ask - namely to test FTP after running these patches... ---8--- print do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=patch-ftp-226-handling.r print do http://www.codeconscious.com/ftp-testing/patch-ftp-nlst-handling.r print do http://www.codeconscious.com/ftp-testing/patch-ftp-error-handling.r ---8--- Happily, reading directories whether empty or otherwise works fine on all my sites after running those. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: FTP scheme was Re: Reading empty directories via FTP error
On 14-Nov-03, Brett Handley wrote: Here you go then (watch line wrap) - try these together Run each with a PRINT DO X in a new sessnon - before you try FTP. http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=p atch-ftp-226-handling.r http://www.codeconscious.com/ftp-testing/patch-ftp-nlst-handling.r http://www.codeconscious.com/ftp-testing/patch-ftp-error-handling.r I tried them and ftp worked with no problems on the two sites I've talked about till now. But I have access to one other server, so yesterday I thought I'd try it with your parse-dir-list fix - but imediately noticed access via REBOL's FTP wasn't returning all the file-names in the first directory I looked at! This is nothing to do with your code, as it happens with REBOL's original code. There's 24 files and directories in the directory when I look at it with my FTP client, but REBOL only returns 10 of them. Anyone heard of this problem before? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: FTP scheme was Re: Reading empty directories via FTP error
On 15-Nov-03, Brett Handley wrote: Hi Carl, I tried them and ftp worked with no problems on the two sites I've talked about till now. But I have access to one other server, so yesterday I thought I'd try it with your parse-dir-list fix - but imediately noticed access via REBOL's FTP wasn't returning all the file-names in the first directory I looked at! This is nothing to do with your code, as it happens with REBOL's original code. There's 24 files and directories in the directory when I look at it with my FTP client, but REBOL only returns 10 of them. Anyone heard of this problem before? Eeek! As Romano pointed out - parse rules. But I'm not so happy that there is no error generated. Carl can you try this on the server with the above problem - all it does is poke in NET-LOG tracing statements to emit the results from LIST and NLST (file-list really). If the info returned by LIST or NLST is not sensitive it would good to see it (permissions/names changd for safety if necessary) and/or perhaps you could send it off-list. http://www.codeconscious.com/ftp-testing/patch-ftp-list-logging.r I get a file-not-found with that I'm afraid. URL wrong or script not uploaded, perhaps? For what it's worth, this is what trace/net returns from my third server... read -url- URL Parse: -user- -password- -url- none web/ none Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Net-log: [ [TYPE A] [200]] Net-log: 200 Type set to A. Net-log: [ [LIST] [150 125]] Net-log: {150 Opening ASCII mode data connection for file list.} Net-log: [ none 226] Net-log: 226 Transfer complete. == [ -10 files, not 24 like it should be- ] -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 12-Nov-03, Brett Handley wrote: Having got success with Ashley's problem, I've had another stab at Carl's and I think I may have it - but I can't duplicate the original problem so I'm running blind here. First I think Scott was right about the port. Second I think Anton was right about data-connect. I think that data-connect creates a listen-port but the code to create the sub-port is missing for the case where NLST is issued. That's why the port none error will occur. If I'm right, then I don't see how the NLST code ever worked :-/ Carl and Ashley could you incorporate the code below and test it please: Well, it works okay with directories that are empty or contain files on the fixed Nebularis site, and is okay on the other site for directories that contain files, but I get nothing back if the directory is empty - have to press Escape to get the Console back. This is what trace outputs... Net-log: [ SYST *] Net-log: 215 UNIX Type: L8 Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Net-log: [ [CWD either empty? port/path [./] [join ./ port/path]] 250] Net-log: {250 /dir/test-dir is new cwd.} Net-log: [ [TYPE A] [200]] Net-log: 200 Type okay. Net-log: [ [LIST] [150 125]] Net-log: {150 Opening ASCII mode data connection for /bin/ls.} Net-log: [ none 226] Net-log: 226 Listing completed. Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Nothing more comes after that, but I'm not given the console back either - as I said, I need to press Escape. I've still not had time to play with parse-dir-list myself. Will get there though. Carl. Regards, Brett. decompress #{ 789CA5554D8FD330103D27BF62085A150E69BA455C0A62A5959040425CD85B14 24D79936A68E6DD9CE96FE7BC64E7749FA214AB787AAB667DECCBC793335CC3A CC6B6173299C5FC0AA531CCA0ACA344D9894502AEDC130E7C42342FC6DF5EF1D 046354B9D1966EE8AB70DD329E084158E78706559A88151C811D0185A049A2D0 E79D17D2158C73343EEFED4641D284303DB66601930090262B21715F41CB3608 CE5BA1D6AF603E9BCDD264DBD0339452285C80DB51C4B6D86A5BBBC208BE1963 C32DE5C18C4155C3332AFCD24241F087EC67915544CE08864BEDF030C7BF9570 AD8895B6683B49E780124DA5E62CBCB6751FD95BA6DC0A6DCE1BE49B34D24645 FA2093D098A4669EE584AA90FB70FE00F9159FE8788F6B2AEDFE0BDCCE73 A51F7362EC5D7C786830AAC10BAD6018101C7A3752C0B2F3411BD16D44C234A2 705D1394EE8851C93C5AA0809EEE3591FC1C223ABB4677B286250275C06A6305 D983D3F075428AA93B2305A79B1A8487062D4EAFAF9D3C47AA8C2A1BEAD3EF0C C2C74F3051B80D03D2CB33F997DA83CD096D1C580C8E0B8AAA902EAB414A17A7 73D9B89C0BF832E97CA6869E10CEB5ED18CE4458489CD11C1CCC2BD76647EB29 30A51C3E2D9FC341CABE7FFBF190F574BEE93B7466EA0F3D6FDF068E5F67EFB3 9EDEFFDB1CC1E392ED4166FBEDA5FAF5755232473D7CE94289120B4D3FC3B489 FF05216D37483E644A0B565B24AB7882F2665AC0CD745AF4222496092CCC0255 7D127BEF26B53630877254ACC55693BEC9A58AE9ED27CCD39C179E09B900896A ED9BBBD3D0695AA57F000CD92034C506 } -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 13-Nov-03, Brett Handley wrote: Does that work for you, Ashley? No, but see above. Hmm.. Thinking more on this, given the whole NLST handling (if empty? file-list []) is a second bite of the cherry at getting a directory list, and if you can assume that your FTP server will always respond to the LIST command in a way that REBOL can parse, you could probably cut the whole NLST handling from parse-dir-list and happily ignore most of this thread. :-) Quite possibly, since I've just tried it and it works for me. ;) Try that Ashley - cut the if empty? file-list [] code right out of the original parse-dir-list and see what happens... Has anyone sent RT feedback about this? As it does seem as though parse-dir-list could attempt to close the same port twice, right? Which at least shouldn't happen, never mind the rest of the code, right? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 11-Nov-03, Brett Handley wrote: Can you confirm it works for you Carl? I'm afraid it doesn't, but Scott's solution does (after I put the missing bracket in.) Except... Hmmm. though. So, could you provide a copy of parse-dir-list the way you think it should be modified and I'll try it to see how it behaves. No problem. I figure the inner If block is the last value in the outer If block - the missing bracket closes the outer If immediately after the inner If case. That appears to cause less logic change in my eyes - but I'm only guessing. Code included below in compressed form. No go I'm afraid. I get the same results as with Scott's code, in that it works on the one site but not on the fixed Nebularis site. Anyway, I'll examine both your versions and the original and see if I can come up with something that works. Will get back to you on this. Going by the other posts to this thread, it looks like the problem is too loose FTP specs, rather than REBOL. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 10-Nov-03, Brett Handley wrote: Hi Carl, Try one more quick test: apply http://www.codeconscious.com/rebsite/rebol-library/patches.r or just run the FTP part of it and see if that changes anything. Made no difference I'm afraid. ): BTW, what version of REBOL are you having the problem with? On Amiga: View 1.2.1 and Core 2.5.0. On Windows95se: View 1.2.1, View 1.25 and View 1.210. And I get the same results on two different FTP sites - paradise.net.nz and nebularis.com. Here's another console session where I make directories and examine them. ftp-site's the FTP server's URL... read join ftp-site %dir/ == [%file.txt] make-dir join ftp-site %dir/test-dir/ == ftp:// ... etc. ... /dir/test-dir/ read join ftp-site %dir/ == [%file.txt %test-dir/] probe info? join ftp-site %dir/ make object! [ size: 2 date: none type: 'directory ] probe info? join ftp-site %dir/test-dir/ ** Access Error: Port none not open ** Where: parse-dir-list ** Near: info? join ftp-site %dir/test-dir/ G! -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 09-Nov-03, Gabriele Santilli wrote: Hi Carl, On Sunday, November 9, 2003, 5:37:38 AM, you wrote: Anyway, I've found I get an empty block returned if I use a port instead of an URL, so that provides a way around it. Would've easier using an URL though... When using the URL, did you try both with and without the trailing slash? (My guess is that you get the error without the trailing slash.) Yep - tried both. And I was wrong about using a port... Grrr. Here's my current test script... rebol: [] x: err: try [read [ scheme: 'ftp host: ... user: ... pass: ... path: %/d/ ]] probe x and this is the error I get if there's nothing in the d directory... probe disarm err make object! [ code: 501 type: 'access id: 'not-open arg1: Port^@ arg2: none arg3: none near: [read [ scheme: 'ftp host: ... user: ... pass: ... path: %/d/ ]] where: 'parse-dir-list ] Put a file in the d directory and it works fine! I'm picking there's something wrong with parse-dir-list, which you can look at using source, but it's code is way beyond me. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 10-Nov-03, G. Scott Jones wrote: Carl Read wrote: Brett Handley wrote: That's odd. I get an empty block returned when I create an empty directory on my website and then read it. Maybe you should trace the connection and see what conversation the server is having with REBOL. Except I don't know how to do that. :) trace/net true Ah - thanks. Didn't expect it to be so simple. So, here's the end of the trace output when it reads a directory with some files in it... Net-log: [ SYST *] Net-log: 215 UNIX Type: L8 Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Net-log: [ [CWD either empty? port/path [./] [join ./ port/path]] 250] Net-log: {250 /test is new cwd.} Net-log: [ [TYPE A] [200]] Net-log: 200 Type okay. Net-log: [ [LIST] [150 125]] Net-log: {150 Opening ASCII mode data connection for /bin/ls.} Net-log: [ none 226] Net-log: 226 Listing completed. And here's the output when reading an empty directory... Net-log: [ SYST *] Net-log: 215 UNIX Type: L8 Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. Net-log: [ [CWD either empty? port/path [./] [join ./ port/path]] 250] Net-log: {250 /d is new cwd.} Net-log: [ [TYPE A] [200]] Net-log: 200 Type okay. Net-log: [ [LIST] [150 125]] Net-log: {150 Opening ASCII mode data connection for /bin/ls.} Net-log: [ none 226] Net-log: 226 Listing completed. Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. ** Access Error: Port none not open ** Where: parse-dir-list As far as I can tell, the extra... Net-log: [ [PORT port/locals/active-check] 200] Net-log: 200 PORT command successful. on the end there just before the error is the only difference the trace shows. And I'm still none the wiser... -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Reading empty directories via FTP error
On 09-Nov-03, Brett Handley wrote: That's odd. I get an empty block returned when I create an empty directory on my website and then read it. Maybe you should trace the connection and see what conversation the server is having with REBOL. Except I don't know how to do that. :) I get the error using different OSs, different versions of REBOL and from two different ftp servers. If it's a bug, I'm sure someone must have hit it before me. Anyway, I've found I get an empty block returned if I use a port instead of an URL, so that provides a way around it. Would've been easier using an URL though... Carl. When I attempt to get a directory listing via FTP and the directory is empty I get this error... read dir ** Access Error: Port none not open ** Where: parse-dir-list ** Near: read dir I would've expected it to return an empty block, or perhaps none. No problems when there's files in the directory. Any way round this, other than by examining the error returned? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: REBOL hosting
On 07-Nov-03, Paul Tretter wrote: Just wanted everyone to know we got a new hosting provider for REBOL cgi scripts. I must say I have been very pleased since I got with these guys. I didn't know these guys at all until I started with them and they have been great since. I really hope we show them our gratitude for their efforts. Here is an affiliate link I got for their services if your interested: http://www.aitsafe.com/go.htm?go=www.lowesthosting.comafid=33977tm=30im=1 I do get paid for that link for a finders fee so if you don't wish for me to get that then I still ask of you to check them out at www.lowesthosting.com. Paul Tretter --- Hello Paul, We have forwarded your request to our sys admin , and he was convinced that the REBOL would not cause any problem for the server. We went ahead and installed it for your domain ( FOR FREE :-) ) at /home/httpd/vhosts/tretsoft.com/cgi-bin/rebol/rebol and also installed a test script to check the working of REBOL . http://tretsoft.com/cgi-bin/rebol/now.cgi Check it .. and confirm the working . Go ahead and break the good news to your friends . :-) . That's good service. Maybe you could now get them to add REBOL to this list... http://www.lowesthosting.com/glossary/ssi.html -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: REBOL hosting
On 07-Nov-03, Jason Cunliffe wrote: Hi Paul I'm glad you've find an ISP you like. But I was not aware of any host problems installing REBOL and running cgi with it. No special permissions required nor builds to do. The only tricky stuff is if you need some fancy Apache httpd.config tweaking. Anyone else care to confirm or correct this point..? I'd say there's four types of hosting services with regards to REBOL... 1) Those that openly support REBOL. 2) Those that'll help you to get REBOL running, even though they don't really know it. 3) Those that'll let you run it - if you can work out how. 4) And those that'll say no if you ask them if you can install it. Then again, a host that offers Command would beat one that offers just Core. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Reading empty directories via FTP error
When I attempt to get a directory listing via FTP and the directory is empty I get this error... read dir ** Access Error: Port none not open ** Where: parse-dir-list ** Near: read dir I would've expected it to return an empty block, or perhaps none. No problems when there's files in the directory. Any way round this, other than by examining the error returned? -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Gregg's Article in OnLamp
On 01-Nov-03, A J Martin wrote: Sunanda wrote (in another thread): ...here's something else I spotted: an article on REBOL by Gregg who is described as considered somewhat eccentric... http://www.onlamp.com/pub/a/onlamp/2003/10/30/rebol.html Nice work, Gregg! Good work, Gregg! And I third that! A good example of why I like REBOL too. -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Basic Script Calling Commands
On 30-Oct-03, Ben Minton wrote: Hi List. Today, I bit the bullet, installed another hdd. Reinstalled RedHat with a GUI. Got Rebol/View. , what is the command to call any script? I tried Do %script.r and got an Access Error Message : cannot find Yes Do's right. Does this mean that I have placed Library.r into the wrong location? Yes, or that REBOL's startup directory isn't where you think it is. At the REBOL Console enter... what-dir to see what directory REBOL is currently pointing to, and... list-dir to get a directory listing. If REBOL's startup directory isn't the one you want it to be, then you've probably just not entered its path correctly when you installed View. I've had this problem, and found it easiest to just un-install View then re-install it again. To un-install, enter... set-user at the Console and click on un-install. This won't remove View or any important files. All it'll mean is that when you run View again you'll be put through its install process again, including where its home directory should be. This should be entered in REBOL file format. ie %/home/rebol/ or whatever. Hope that helps. (Mostly written from memory, but I think it's correct.) -- Carl Read -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.