tag:blogger.com,1999:blog-6454006.post2974526476722282937..comments2024-01-16T14:32:49.175+00:00Comments on Arcane Sentiment: Why I haven't looked at Rebol muchArcane Sentimenthttp://www.blogger.com/profile/04144052171693893368noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-6454006.post-76184337970431966842008-08-12T15:27:00.000+00:002008-08-12T15:27:00.000+00:00Popper, is that you? :-) You seem to complain abou...Popper, is that you? :-) You seem to complain about the lack of VLC or other wrappers for quite some time already. You are not apparently able to code it yourself, but that is OK with me, because I am the same. But - if you can't code it, if you can't start and coordinate such project, or if you can't sponsor such development, then what is the point?<BR/><BR/>To give you some news, there is one guy under contract who writes ffmpeg wrapper right now. Dunno how complete we will make it. I also don't know, if we realease it for free - depends on my business partners - remember, we pay for the work.<BR/><BR/>But - why can't you see things in perspective? As for me, I am not much interested in R2 (although still using it), but many of us devote their free time to R3 for some 2 years or more already. And we are close to alpha, including GUI. There is so many improvements on so many levels, that it is simply being completly new REBOL.<BR/><BR/>btw - this new wrapper will not work with R3 probably, as it did not yet get its library wrapper implemented, but hopefully we will adapt it asap, once R3 allows library calls ...<BR/><BR/>cheers,<BR/>-pekr-Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-11050082960864510812008-08-12T03:01:00.000+00:002008-08-12T03:01:00.000+00:00It's no fault in a language that something hasn't ...It's no fault in a language that something hasn't been done in it yet - especially something remote from the language's goals, and especially something slightly exotic like video.<BR/><BR/>Thanks for the links and hints. Looks like I have some more reading to do.Arcane Sentimenthttps://www.blogger.com/profile/04144052171693893368noreply@blogger.comtag:blogger.com,1999:blog-6454006.post-54114551610901520412008-08-12T00:25:00.000+00:002008-08-12T00:25:00.000+00:00It's amazing to me that the site where you found t...It's amazing to me that the site where you found the REBOL-to-Scheme compiler still exists - that account has been inactive since the 90's (I switched ISPs). I believe that is the only site on the Internet where you can still find the Oberon Compiler for DOS as well.<BR/><BR/>REBOL scoping is not as bad as you think. The main difference between 1.0 and 2.0 is that the bindings of words are looked up at runtime in 1.0, like Scheme, but in 2.0 the words are bound to contexts directly. This makes value lookup much faster.<BR/><BR/>The context of a word is usually set during the creation of a function or object. Nested scopes are emulated by rebinding inner words that relate to nested functions or objects. This is called applicative binding order. There are also some functions that rebind words or code blocks passed to them as parameters - this allows you create functions that behave like the syntax of other languages.<BR/><BR/>REBOL 2's binding and execution model is well thought through, and is in some ways similar to Forth. There have been papers written about it (mostly by Ladislav) available online, and various essays and explanations on its behavior and implications (mostly by me) published to the user forums and mailing list archives.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-13954198278382600132008-08-11T22:59:00.000+00:002008-08-11T22:59:00.000+00:00I'll try again.Sherman.zip, the REBOL to Scheme co...I'll try again.<BR/><BR/><A HREF="http://members.core.com/~bhawley/rebol/Sherman.zip" REL="nofollow">Sherman.zip</A>, the REBOL to Scheme compiler.<BR/><BR/><A HREF="http://c2.com/cgi/wiki?RebolLanguage" REL="nofollow">The C2 RebolLanguage page</A>, which has links to other Joe Marshall writings.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-76870721617064762492008-08-11T22:56:00.000+00:002008-08-11T22:56:00.000+00:00There seems to be a copy of Sherman, Joe Marshall'...There seems to be a copy of Sherman, Joe Marshall's REBOL to Scheme compiler, at http://members.core.com/~bhawley/rebol/Sherman.zipAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-71095341488784097782008-08-11T22:17:00.000+00:002008-08-11T22:17:00.000+00:00OK, I glanced at the Ruby code, and here is what a...OK, I glanced at the Ruby code, and here is what a REBOL version might look like. Mind you, I just did this for the *flavor* of a REBOL solution. I'm not taking the time to install and actually test things here. i.e. this code wasn't meant to run. <BR/><BR/>#!/usr/bin/rebol<BR/><BR/>do %async-call ; Use DocKimbel and Gabriele's async-call module<BR/>do %telnet.r ; Frank Sievertsen's, from REBOL.org, assuming it works and gives us a telnet protocol<BR/>do %format.r ; I would use my own format func if you want the ISO formatted file name.<BR/><BR/>DESTINATION_DIR: %tmp/<BR/>MAXIMUM_DURATION: 0:5:0<BR/>UVC_STREAM_COMMAND: {uvc_stream -r 640x480 -f 30 -p 5555}<BR/>VLC_COMMAND: {vlc -IRC --rc-host localhost:4444 --sout '#transcode{vcodec=mp4v,vb=3072,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=display,dst=std{access=file,mux=mp4,dst="/tmp/test.mpg"}}'}<BR/><BR/>recorder: context [<BR/> recording?: off <BR/> vlc_started?: no<BR/> uvc_stream_started?: no<BR/> telnet-port: none<BR/> <BR/> main-layout: layout [<BR/> f-btn: btn "Start Recording" [start_stop]<BR/> f-status: text 300 "Stopped"<BR/> ]<BR/> <BR/> update_button: does [<BR/> either recording? [stop_recording] [start_recording]<BR/> ]<BR/> <BR/> start_recording: does [start-stop]<BR/><BR/> ; stubs <BR/> vlc-done-cbk: func [] [] <BR/> vlc-inp-cbk: func [] []<BR/> uvc-done-cbk: func [] [] <BR/> uvc-inp-cbk: func [] []<BR/> <BR/> start_vlc: does [<BR/> async-call/on-input VLC_COMMAND :vlc-done-cbk :vlc-inp-cbk<BR/> vlc_started?: yes<BR/> ]<BR/> <BR/> start_uvc_stream: does [<BR/> async-call/on-input UVC_STREAM_COMMAND :uvc-done-cbk :uvc-inp-cbk<BR/> uvc_stream_started?: yes<BR/> ]<BR/> <BR/> start_recording: does [<BR/> recording?: on<BR/> set-face f-btn "Stop Recording"<BR/> set-face f-status "Recording..."<BR/> insert telnet-port "add http://localhost:5555"<BR/> ]<BR/> <BR/> stop_recording: has [file] [<BR/> recording?: off<BR/> insert telnet-port "stop"<BR/> set-face f-btn "Start Recording"<BR/> file: join format now "YYMMDDTHH:MM:SS" %.mpg<BR/> ; move-file is not a built-in REBOL func, but there are versions out there.<BR/> move-file %/tmp/test.mpg DESTINATION_DIR/:file<BR/> set-face f-status "Stopped"<BR/> ]<BR/> <BR/> start_stop: does [update_button]<BR/> terminate: does [insert telnet-port "quit"]<BR/><BR/> <BR/> telnet-port: open telnet://localhost:4444<BR/> start_uvc_stream<BR/> start_vlc<BR/><BR/>]<BR/><BR/>view recorder/main-layout<BR/><BR/>;Hmmm, can't use a pre tag here it seems.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-38980853788667076852008-08-11T21:41:00.000+00:002008-08-11T21:41:00.000+00:00"i find that hard to beleave people dont want..."i find that hard to beleave people dont want these things given all the other already existing front ends in all the other laguages.<BR/><BR/>can you long time rebol experts explain this? "<BR/><BR/>If somebody wants something badly enough, they can probably build it in REBOL. That doesn't mean REBOL is the right choice for everything, as in this case. In order to keep the size down, and portability high, a lot of things are left out. You could build libraries or modules to do it, but REBOLers tend not to want to bind themselves to system specific things without good cause. IME, the REBOL mindset is not one of "just add a library", it's more "Do I really need to do this, and what's the simplest REBOL solution?" REBOL wasn't designed for PitL, and doesn't even have a true module system in v2 (v3 will), which contributes to the direction people lean in the things they build with it.<BR/><BR/>That said, I've built a system for commercial use that acquires images from cameras, displays MPJG streams, allows image capture, and editing of streamed MJPG, and uses ImageMagick and FFMPEG to process images and create timelapse movies, including titles and credits. It also has tools to take image archives and timelapses and burn them to disc, including labels. On the client side, there is a REBOL plugin client, a Flash front end, and a REBOL desktop app. The back end is all REBOL, currently managing >8M images and 700GB of data.<BR/><BR/>My point being that REBOL can be used for serious work. The fact that there aren't equivalent REBOL apps for all the Python/Ruby/PHP apps isn't news; the REBOL community is small, and it may stay that way. It has enormous strengths, and glaring weaknesses. Both depend on your expectations and needs.<BR/><BR/>REBOL is very high level, but it is not a "safe" language, WRT limitations and constraints the language imposes. It will let you do things any way you want, be they brilliant or insane.<BR/><BR/>Not everybody likes or "gets" REBOL, and that's perfectly OK.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-44533730475739636362008-08-11T14:58:00.000+00:002008-08-11T14:58:00.000+00:00I wouldn't put it down as a beginners' language ei...I wouldn't put it down as a beginners' language either. It is very capable in the domain it is primarily designed for: communication.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-30628263096140313672008-08-11T14:55:00.000+00:002008-08-11T14:55:00.000+00:00A limitation of the current View is it only render...A limitation of the current View is it only renders visual content according to its internal compositing engine and presently this does not include video: this makes it difficult to recreate VLC (and somewhat beside the point).<BR/><BR/>To understand the intent of View is to appreciate the goal of the language as a whole: Internet scripting. This explains high-level types such as URLs, Emails and point separated tuples: as well as being functional, they are designed for semantic exchange in a manner that is more efficient than XML and even JSON, yet more reliable and readable. Enter VID, a visual 'dialect' designed not just for creating an interface but exchanging a rich client that is still lighter than your average web page (especially one that has a JS library just to provide wrappers for XMLHTTPRequest) and arguably more capable.<BR/><BR/>Not only do you have a lightweight method of creating and exchanging GUIs, but is built from the same elements as every other part of the language.<BR/><BR/>There are flaws in this model (other than compositing limitations, which will be rectified at some point), and that imo is deployment.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-33810096766472283282008-08-11T13:19:00.000+00:002008-08-11T13:19:00.000+00:00hmmm, if this rebol view is so good and easy at cr...<I>hmmm, if this rebol view is so good and easy at creating GUI front ends then why hasnt the makers such as this "Carl Sassenrath himself and other expert developers" made the time to make them?</I><BR/><BR/>Because we're quite busy building REBOL 3. :-)<BR/><BR/>Seriously, REBOL is just not that well known and the number of developers is low, because a lot of people, like you, are just plain suspicious about its capabilities until they see it demoed. It's nothing new and we are used to that.<BR/><BR/>Some reasons:<BR/><BR/>Not that many people post scripts to rebol.org yet.<BR/><BR/>Almost every REBOL developer I know are very busy with their own REBOL projects meant for private customers and have no time to build frontends for this and that application. I'm actually one of the few who post publicly about REBOL software.<BR/><BR/>Perhaps also because VID is excellent at building very customized tools very quickly that only you need and see no need for spreading. We're talking minutes of work. In fact early on REBOL was dubbed the throw-away-script language, because it's easy to build GUI apps that you will only be needing a few times and then throw them away.<BR/><BR/>Some limitations of REBOL 2:<BR/><BR/>- DLL access was for a long time only available in the pay-only version of REBOL. It has only been made freely available in the latest version of REBOL 2.<BR/><BR/>- The graphics engine does not allow intergration with whatever your graphics card can offer, so no native hardware acceleration, for video or OpenGL directly in a REBOL/View window. Video player front ends or fast paced games are therefore not so interesting to do in REBOL 2, so you won't find any.<BR/><BR/>REBOL 3 will have no such limitations.Unknownhttps://www.blogger.com/profile/11657272516600553659noreply@blogger.comtag:blogger.com,1999:blog-6454006.post-69761418513085858712008-08-11T13:02:00.000+00:002008-08-11T13:02:00.000+00:00if rebol is so easy to make GUIs and web based con...if rebol is so easy to make GUIs and web based control for even non programers.<BR/><BR/> heres a real simple challenge for any rebol script writers reading.<BR/><BR/> replace all the Ion ruby etc from this VLC webcam recorder app URL below and fully recreate it in rebolview script, and even make it look and interact with an ordinary user better if you can, and post it whereever (that http://www.rebol.org script site perhaps?)for all to see and evaluate on both windows and linux.<BR/><BR/> http://blog.raphinou.com/2007/08/building-webcam-recorder-with-vlc-ion.html<BR/><BR/>this should be a simple ready made practical project for any longtime rebol coder should it not?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-77235920165643082682008-08-11T11:16:00.000+00:002008-08-11T11:16:00.000+00:00hmmm, if this rebol view is so good and easy at cr...hmmm, if this rebol view is so good and easy at creating GUI front ends then why hasnt the makers such as this "Carl Sassenrath himself and other expert developers" made the time to make them?<BR/><BR/>a simple <BR/>http://www.google.co.uk/search?q=gui+front+end+encode+rebol&btnG=Search&hl=en&sa=2<BR/><BR/>brings up lots of talk and why and whatfors, even requests that someone make them, but not one _single_ real working front end for any cli app.<BR/><BR/> no FFmpeg,Mplayer/mencoder,transcode, or even the most popular x264 encoding shell app.<BR/><BR/>no transcoding, or even again the most popular VLC streaming control from end,or aven a replacment VLC Html (rebols suposed to be good at this right?) remote controlling scripts and intigrated client/server, theres not even a simple LAME MP3 front end made and advertised anywere.<BR/><BR/> after all this time that rebol has existed is that really credable if its so easy for even non programmers to use and make these fancy cross platform GUI front ends?<BR/><BR/>however, take awy the rebol work in the above search <BR/>http://www.google.co.uk/search?hl=en&q=gui+front+end+encode+&meta=<BR/><BR/>and there counless from ends make for every app mentioned....<BR/><BR/>ohh ok noone seems to have bothered to make that replacement VLC http client/server as yet, but perhaps one of you rebol coders can make that happen and prove that it can be done as you say it can....<BR/><BR/> Nicks http://musiclessonz.com/rebol_tutorial.html shows promise, ill admit, especially the very limited entry he's done for interaction with external librays (that MS webcam working example), shows promise but not really what most people call a fully working app example, but that i assume wasnt his intent so that ok..<BR/><BR/> perhaps he can take the VLC core librays and the documented API for interacting with them http://www.google.co.uk/search?hl=en&q=VLC+API&meta= and make a working example and a good practical LAN based client server rebol GUI VLC control app in the process to show how he would do it being a rebol script expert that should eb able to pull something together in less than a day if its so simple and clever as we are being told!, or NOT ;)<BR/><BR/>if this "Carl Sassenrath" the creator of this GUI scripting language (didnt he make AmigOS or something?) finally wants people to know and use it after all this time in the market place, why hasnt he and his inhouse team already make these GUI scripts for the masses ?,a simple thing to do we are told, as are the people asking for these things iv read.<BR/><BR/><BR/> if its so quick and easy,make these GUI front end scripts and show the world, im yet to be convinced its so good, small,cross platform, and self contained as claimed.<BR/><BR/>not even what appears to be the largest rebol script collection around, has got one single script<BR/>on this search "gui front end encode", why is that, noone bothered to make these simple everyday things, i find that hard to beleave people dont want these things given all the other already existing front ends in all the other laguages.<BR/><BR/>can you long time rebol experts explain this? <BR/><BR/>http://www.rebol.org/cgi-bin/cgiwrap/rebol/search.r?find=gui+front+end+encode&form=yesAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6454006.post-84227969587864308532008-08-11T09:19:00.000+00:002008-08-11T09:19:00.000+00:00It's true (and unfortunate) that the original docu...It's true (and unfortunate) that the original documentation is weak, which is why I rarely use it, but fortunately the number of 3rd party tutorials is growing and there are a lot of helpful people on mailing lists and in the REBOL based AltME chat system.<BR/>REBOL 3 provides full documentation through a standard wiki, edited by Carl Sassenrath himself and other expert developers, but discussing REBOL 3 may be inappropriate here, as it can still be considered vaporware. You can get a quick count of the number of datatypes available, by typing:<BR/><BR/>? datatypes<BR/><BR/>in the console. It varies with the version and type, but mine has 54.<BR/><BR/><I>it looks like Rebol has some seriously convenient GUI and I/O libraries</I><BR/><BR/>The convenience factor is indeed very high and it's a real boon when you want to write a script literally in 5-10 minutes that your boss can use, because it has a GUI. The size of scripts help to visibly reduce development time, simply because you have to type less and scripts are simpler to look at and easier to debug.<BR/>It's part of why REBOL still has no IDE or advanced debugger, although it would be nice to have a real debugger for very large scripts above 100-200k.<BR/><BR/>Yes, a 100k REBOL script is considered large. :-)Unknownhttps://www.blogger.com/profile/11657272516600553659noreply@blogger.comtag:blogger.com,1999:blog-6454006.post-82119922764763948182008-08-11T05:39:00.000+00:002008-08-11T05:39:00.000+00:0054 types? Evidently the page I read was not as com...54 types? Evidently the page I read was not as complete as I thought.<BR/><BR/>Nick's tutorial shows Rebol's strengths much better than the ones I looked at. Based on its one-liners, it looks like Rebol has some seriously convenient GUI and I/O libraries. I suspect they can be adapted to other languages pretty easily. Maybe I should not have given up on Rebol so quickly; there are some useful ideas in it.Arcane Sentimenthttps://www.blogger.com/profile/04144052171693893368noreply@blogger.comtag:blogger.com,1999:blog-6454006.post-40258330269770630082008-08-10T22:11:00.000+00:002008-08-10T22:11:00.000+00:00I'm not sure why dates or email addresses need to ...<I>I'm not sure why dates or email addresses need to be handled by the parser rather than by the few operations that use them. The syntactic support is slightly convenient for some small programs, but I have a hard time believing it helps with larger ones.</I><BR/><BR/>I build many REBOL dialects and believe me, having all sorts of datatypes available like REBOL does is a great way to describe content without explicitly stating the type of the content. REBOL will parse emails, urls, words, strings, numbers and any other of its 54 datatypes directly (you've only listed a few of them).<BR/><BR/>So this "cute feature" is very important in the simplification of dialect expressions.Unknownhttps://www.blogger.com/profile/11657272516600553659noreply@blogger.comtag:blogger.com,1999:blog-6454006.post-26382120041579716262008-08-10T20:13:00.000+00:002008-08-10T20:13:00.000+00:00I'm a Rebol user, and I think its real usefulness ...I'm a Rebol user, and I think its real usefulness is for non-programmers. It's so easy to get started, and deep enough to be practically usable, right away, by people with absolutely no background writing code. I've written several hundred pages of tutorials, including the one at http://musiclessonz.com/rebol_tutorial.html , which sees quite a bit of traffic, and I've seen many times first hand how natural it is for people to pick up. I think that's Rebol's greatest strength - its super easy and intuitive initial learning curve, that extends all the way towards accomplishing practical computing work, for "normal" people. It's just so friendly and simple to learn, tiny to download, quick to get started with - reminds me a bit of old BASIC interpreters from the 80s. The difference is that you can use it to get all sorts of real work done. Creating small GUI's takes a few lines of code. It's useful for web site scripting. Everything's built in, some very useful things take only a few lines of code, and the language somehow makes a lot of sense to people without any previous experience. I don't see REBOL ever replacing typical professional development tools or other mainstream languages, but for average computer users for whom learning even a single, simple paradigm may be difficult, it covers a whole lot of ground. I've tried to communicate this to the Rebol community, as it's been my experience that beginners just "get" it naturally, and Rebol could potentially find a niche in the lives of "normal" people, there doesn't seem to be much interest. It's a shame because Rebol's really perfectly suited for that use.Anonymousnoreply@blogger.com