Re: rev-web, revbrowser, on-rev, Linux, help!
So basically it goes like this, doesn't it? We want to write on-rev material, we can, we use a text editor, then we load it onto the Rev run on-rev server, and it works fine in Linux or anything else, in any web browser. Presumably there's a handbook with a guide for how to do this someplace. We don't have the on-rev desktop client which might make life easer, but we can do it. Yes. What we need for this is a subscription to the on-Rev hosting service. I'm not thinking of doing this at the moment, so this not going to be available. If Rev eventually releases the server package, then it would be in principle possible to do this on any server where it was loaded, but we are not there yet. Correct - the revServer is supposed to be available for installation on other servers sometime this year, I believe. RevBrowser would, if we had it, display ordinary web pages hosted anyplace in a stack. We can't do this because it does not exist for Linux. Yes. The browser plugins, if we had them, but we don't, would basically let us run stacks compiled for this purpose in a browser window. They could be hosted anyplace, not just the Rev server. We don't have this plugin for Linux, so we can't do it. But we can compile such stacks, and people running Windows and OSX will be able to run them, as long as they install the browser plug in. It doesn't really appeal to me, to write apps that my own OS will not run, but I do understand that it is possible. Yes, although it is browser-specific. I can't get it to work in Chrome on my Mac, although it works fine in Safari. Then there is Rodeo. If we could get Rodeo, it would let us write pages in a special client, is that right? And then we could compile them to run in any Web browser and host them on any server? But right now we cannot get that either, because it is only for iPhone OS. The idea with Rodeo is to give people an easier way to create web apps, targeted at the iPad. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: rev-web, revbrowser, on-rev, Linux, help!
Peter, if you want to put up a web page on the on-rev server to give it a try I'd be happy to give you a folder to fool around with. I'm using about a millionth of my alotted space at the moment. Part of what Peter Alcibiades wrote: So basically it goes like this, doesn't it? We want to write on-rev material, we can, we use a text editor, then we load it onto the Rev run on-rev server, and it works fine in Linux or anything else, in any web browser. --- -- Make sure you save the file as text before uploading. -- I use Filezilla to upload my files. The built-in cPanel screwed up the line endings for me. --- Presumably there's a handbook with a guide for how to do this someplace. --- -- The handbook is named Sarah. --- We don't have the on-rev desktop client which might make life easer, but we can do it. --- -- Would probably make life more difficult. --- What we need for this is a subscription to the on-Rev hosting service. I'm not thinking of doing this at the moment, so this not going to be available. --- -- If you do want to get a subscription you might be able to get one at half price through Lynn Fredericks' company. I don't know if that offer is still in effect. You might have to buy something to get the discount. --- If Rev eventually releases the server package, then it would be in principle possible to do this on any server where it was loaded, but we are not there yet. --- ** MOST IMPORTANT ** By installing the RunRev 3.5 engine on any Apache server you can get just about the same functionality as you would get on the on-rev server. Using the engine instead of the irev files is a little less convenient, but the end result will be the same. One really handy aspect of the on-rev server is that you can use the shell commands combined with the irev files. For example, you can use imageMagick to dick around with your images before you send them out. So if you want to use RunRev in place of PHP you can do it on any Apache server that will let you install the engine. (Many people are doing that). --- Hope that helps a little, Mike ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: rev-web, revbrowser, on-rev, Linux, help!
By installing the RunRev 3.5 engine on any Apache server you can get just about the same functionality as you would get on the on-rev server Thanks, I had not appreciated that. Could certainly be significant. Peter -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/rev-web-revbrowser-on-rev-Linux-help-tp2164289p2164774.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: rev-web, revbrowser, on-rev, Linux, help!
Peter Alcibiades wrote: By installing the RunRev 3.5 engine on any Apache server you can get just about the same functionality as you would get on the on-rev server Thanks, I had not appreciated that. Could certainly be significant. Peter, you really should take up that offer for an iRev testing playground. You will be blown away by it. It's true that you can accomplish most of the same things using old-style CGIs, and I used to do that, but it's so much more difficult than the iRev way. And the iRev way has a cool factor you can't ignore. Just as an example, here's a chunk out of the middle of one of my web pages. It cycles through images every time the page refreshes: ?rev put any line of url (file:cgiphotos/cgiphotos.txt) into tFlower ? img src=cgiphotos/?rev put item 1 of tFlower ? width=320 height=240 border=1 / p [page content HTML text removed] /p p iThe flowers yoursquo;re seeing are all from my gardens over the years. This one is ?rev put item 2 of tFlower ./i ? The main thing to note here is how you can put Rev syntax right inside of the HTML content and it will be interpreted before the page is sent back to the browser. Glance through the above and find the ?rev ... ? instances and you'll see. I know you've been unhappy about the state of the Linux engine, but this is one thing you really can take advantage of. And it's very, very cool. BTW, Rev allows includes too, and my web site uses those on every page to show the header, footer, and sidebar. Some of those have iRev scripts in them too. To see the above in action: http://jacque.on-rev.com/codebits/flowerscgi.irev I hope you'll try it, and even better, let us know what you think. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
c) use HTTPS for all communication between client and server (so that Evil H4ck3r will not sniff you) How do I set this up? If I have my database file at: myname.on-rev.com/db.irev I would usually get it's data by asking for http://myname.on-rev.com/db.irev Can I just change this to https://myname.on-rev.com/db.irev ? Or do I need to change something on the server to make this work in a more secure manner? TIA, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Sarah, change to HTTPS and set liburl verification to false if you don´t have a real ssl certificate (if yours is self signed) cheers andre On Sun, Mar 28, 2010 at 8:12 PM, Sarah Reichelt sarah.reich...@gmail.comwrote: c) use HTTPS for all communication between client and server (so that Evil H4ck3r will not sniff you) How do I set this up? If I have my database file at: myname.on-rev.com/db.irev I would usually get it's data by asking for http://myname.on-rev.com/db.irev Can I just change this to https://myname.on-rev.com/db.irev ? Or do I need to change something on the server to make this work in a more secure manner? TIA, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- http://www.andregarzia.com All We Do Is Code. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
I don't have a real certificate. Do I need to create a self-signed one? If so how, and where do I store it? Setting liburl verification to false... I can't find a command for doing this. Do I use libURLSetCustomHTTPHeaders? And if so, what header exactly do I set. Sorry Andre, I'm a complete noob at all this stuff so you are going to have to spell it out for me Cheers, Sarah On Mon, Mar 29, 2010 at 9:40 AM, Andre Garzia an...@andregarzia.com wrote: Sarah, change to HTTPS and set liburl verification to false if you don´t have a real ssl certificate (if yours is self signed) cheers andre On Sun, Mar 28, 2010 at 8:12 PM, Sarah Reichelt sarah.reich...@gmail.comwrote: c) use HTTPS for all communication between client and server (so that Evil H4ck3r will not sniff you) How do I set this up? If I have my database file at: myname.on-rev.com/db.irev I would usually get it's data by asking for http://myname.on-rev.com/db.irev Can I just change this to https://myname.on-rev.com/db.irev ? Or do I need to change something on the server to make this work in a more secure manner? TIA, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Sarah Reichelt wrote: I don't have a real certificate. Do I need to create a self-signed one? If so how, and where do I store it? Setting liburl verification to false... I can't find a command for doing this. Do I use libURLSetCustomHTTPHeaders? And if so, what header exactly do I set. Funny, this just came up last week in the tech queue. The command was accidentally omitted from the docs. It's: libURLSetVerification boolean Not sure about how to make a certificate so someone else has to chime in. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
J. Landman Gay wrote: Sarah Reichelt wrote: I don't have a real certificate. Do I need to create a self-signed one? If so how, and where do I store it? Setting liburl verification to false... I can't find a command for doing this. Do I use libURLSetCustomHTTPHeaders? And if so, what header exactly do I set. Funny, this just came up last week in the tech queue. The command was accidentally omitted from the docs. It's: libURLSetVerification boolean Oops, that's wrong, I just found my notes. The real command is: libSSLSetVerification true/false -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
libSSLSetVerification true/false Is that the only SSL command? The Enterprise 3.5 dictionary has no entries for libSSL On Mar 28, 2010, at 6:11 PM, J. Landman Gay wrote: J. Landman Gay wrote: Sarah Reichelt wrote: I don't have a real certificate. Do I need to create a self-signed one? If so how, and where do I store it? Setting liburl verification to false... I can't find a command for doing this. Do I use libURLSetCustomHTTPHeaders? And if so, what header exactly do I set. Funny, this just came up last week in the tech queue. The command was accidentally omitted from the docs. It's: libURLSetVerification boolean Oops, that's wrong, I just found my notes. The real command is: libSSLSetVerification true/false -- Jacqueline Jim Ault Las Vegas ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Jim Ault wrote: libSSLSetVerification true/false Is that the only SSL command? The Enterprise 3.5 dictionary has no entries for libSSL I don't know. Someone was having trouble and RR told me to recommend that, and said it should have been documented but was accidentally omitted. I didn't ask about any other similar commands. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
I don't have a real certificate. Do I need to create a self-signed one? If so how, and where do I store it? Setting liburl verification to false... I can't find a command for doing this. Do I use libURLSetCustomHTTPHeaders? And if so, what header exactly do I set. Funny, this just came up last week in the tech queue. The command was accidentally omitted from the docs. It's: libURLSetVerification boolean Oops, that's wrong, I just found my notes. The real command is: libSSLSetVerification true/false Third time lucky: it's really a combination of the two: libUrlSetSSLVerification true/false However using https:// just gives me a 404 error, so there is something else I need to do, maybe at my cPanel? Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Hi Sarah, but what's stopping me on mouseUp put http://myusername.on-rev.com/readDB.irev; into tDBdata -- now display it end mouseUp to your account? Of course how would I know that you had an account, or that you had such a file? I liken this (and I might be wrong) to my wife who always ticks the box to 'remember password' and login at start-up, which is great if I need to get onto her computer and access something, but it also means that anyone who gets past the initial login (get to the computer before it goes to sleep is what my kids normally do) virtually everything else is free access. Lets see what Andre thinks. On Fri, Mar 26, 2010 at 1:25 PM, Sarah Reichelt sarah.reich...@gmail.comwrote: On Fri, Mar 26, 2010 at 3:03 PM, Kay C Lan lan.kc.macm...@gmail.com wrote: Andre, Sarah, of the options you each suggested, any thoughts on which is more secure or are they both on par? Andre probably knows more than me about such things, but I reckon my way is more secure. The password login details are stored on the server, not in your app, and are not transmitted outside the server, so cannot be sniffed. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
On Fri, Mar 26, 2010 at 5:21 PM, Kay C Lan lan.kc.macm...@gmail.com wrote: Hi Sarah, but what's stopping me on mouseUp put http://myusername.on-rev.com/readDB.irev; into tDBdata -- now display it end mouseUp to your account? Nothing :-) But you only get the results from my database, you don't get my password or user name. I am developing a couple of apps that use this technique. One is a web app, where web pages query the database and display the data directly, and another where a standalone app queries the database. In both cases, there are parameters that have to be sent to make the database script work correctly so I guess I am relying on the fact that nobody knows the web address of the irev files that query the server and after that, nobody knows exactly what parameters to send to this file to make it return any data. But this is an interesting discussion and I would love somebody more knowledgeable than me to weigh in with an expert opinion. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
There are several security systems out there, but if you are talking about sending variables to a program that interacts with a SQL database, then expert programmers can already know several things about how it operates. One attack is to send a variable (eg. homeAddress1) that actually contains an SQL command instead of a string (eg. 2347 Main Street), which can play havoc with a data table. The advantage to using a Rev cgi or and irev script is that the variables passed into that script can be handled in ways that most SQL programmers would not understand. Since you are building the SQL command using scripting language and not something like PHP or PERL, the odds are extremely low that -- someone would want to attack you -- someone would know how The safest way is to try to detect SQL commands in all of your variables and simply reject the query. Of course, if a robotic program finds your url and makes 100 queries per second, it will overload your server even though it will not damage your database. If you find such a case, you can block the IP address using .htaccess [ the cgi or irev script becomes invisible to that source IP ] or other technique at the server level. All of this can get quite esoteric if you are worried about attack from the unknown. However, in a classroom environment, the game is usually which student can figure out how to break something with a certain set of facts that give them a head start. You could always make one of the variables a version number that has to be correct in order to run the irev script. Change the script version number, stop the previous users. Jim Ault Las Vegas On Mar 26, 2010, at 12:44 AM, Sarah Reichelt wrote: On Fri, Mar 26, 2010 at 5:21 PM, Kay C Lan lan.kc.macm...@gmail.com wrote: Hi Sarah, but what's stopping me on mouseUp put http://myusername.on-rev.com/readDB.irev; into tDBdata -- now display it end mouseUp to your account? Nothing :-) But you only get the results from my database, you don't get my password or user name. I am developing a couple of apps that use this technique. One is a web app, where web pages query the database and display the data directly, and another where a standalone app queries the database. In both cases, there are parameters that have to be sent to make the database script work correctly so I guess I am relying on the fact that nobody knows the web address of the irev files that query the server and after that, nobody knows exactly what parameters to send to this file to make it return any data. But this is an interesting discussion and I would love somebody more knowledgeable than me to weigh in with an expert opinion. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
On Mar 25, 2010, at 2:56 PM, Andre Garzia wrote: John, check the allowed hosts on your control panel, add the % wildcard there. Cheers andre PS: Power grid failure over here, working on batts, sorry for the hushed reply This is in fact what I have done on my MySQL account to make db's accessible from outside my on-rev domain. Beyond that, the advice from Sarah, Andre, Kay, and Jim is valuable with regard to security issues. BTW, it's not obvious from the on-rev CPanel where to make the change to the allowed hosts. Under Databases click Remote MySQL. There you can add specific allowed IP addresses, DNS names, or the '%' wildcard. Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Kay, I think that the safest method is: a) Use a server side RevServer file to do all your database routines. Never talk directly to the database but instead, talk to your RevServer middleware. b) Make it so that your client application and your RevServer middleware do some kind of special handshake to recognize each other. c) use HTTPS for all communication between client and server (so that Evil H4ck3r will not sniff you) d) Make sure this handshake does not involve the same password as the db password (I am guilt of doing this once) To create the RevServer part, you might want to check out http://revIgniter.com or http://hg.andregarzia.com/revSparkle (soon to be renamed revSpark as per Kee suggestion) which are booth web frameworks that will make your life easier. Cheers andre On Fri, Mar 26, 2010 at 12:20 PM, Devin Asay devin_a...@byu.edu wrote: On Mar 25, 2010, at 2:56 PM, Andre Garzia wrote: John, check the allowed hosts on your control panel, add the % wildcard there. Cheers andre PS: Power grid failure over here, working on batts, sorry for the hushed reply This is in fact what I have done on my MySQL account to make db's accessible from outside my on-rev domain. Beyond that, the advice from Sarah, Andre, Kay, and Jim is valuable with regard to security issues. BTW, it's not obvious from the on-rev CPanel where to make the change to the allowed hosts. Under Databases click Remote MySQL. There you can add specific allowed IP addresses, DNS names, or the '%' wildcard. Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- http://www.andregarzia.com All We Do Is Code. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Thanks Sarah and Andre! I figured out the % wildcard for SQL but I like Sarah's irev strategy too. I'm attempting to modify what Sarah describes to include a search field on card and a WHERE in the SQL. Having a hard time getting my head around sending the POST to the irev script so that I can search by field in SQL and then returning the data to the stack. Here's where I'm at: --On the card- on mouseUp put cd fld SearchName into tTeacher libUrlFormData(name, tTeacher) post it to url http://jpatten.on-rev.com/readDB.irev; put http://jpatten.on-rev.com/readDB.irev; into tData put tData into fld tempdata ... --in the irev file put $_POST[name] into tTeacher ( and then everything that Sarah describes below) My confusion comes from trying to submit two actions to the irev file, a POST of the card field text and the OpenQuery of the database. What is the proper way to get the text (POST) included as a WHERE in the irev SQL action? Hope that made sense. Thank you! John Patten -snip- Message: 17 Date: Fri, 26 Mar 2010 09:56:57 +1000 From: Sarah Reichelt sarah.reich...@gmail.com Subject: Re: Connecting Rev stack to On-Rev mySQL DB? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: f99b52861003251656m7537ea7fvf9ffca2a35a2b...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 John, it looks like you are trying to access the database from outside the server. By default this is not permitted. There is a way to set up access from outside, but I don;t remember what it is. Search the list archives as I think it was discussed a few weeks ago. The more regular way of connecting is via an irev script file on your on-rev server. Here is how I do it: put this script into an irev file, replace all the ***'s with your own variables, and upload it to your on-rev site. ?rev put * into tDBname put * into tDBuser put * into tDBpass put revOpenDatabase(mysql, localhost, tDBname, tDBuser, tDBpass) into tDBconnection if tDBconnection is not a number then put Error: could not connect to database! if tDBconnection is a number then -- query the database, then close it put into tTableName put SELECT * FROM tTableName into tSQL put revDataFromQuery(tab, cr, tDBconnection, tSQL) into tData revCloseDatabase tDBconnection put tData end if ? In your Rev stack, use this script (assuming the irev script file is called readDB.irev): on mouseUp put http://myusername.on-rev.com/readDB.irev; into tDBdata -- now display it end mouseUp For further refinements, edit the irev script to take a GET or POST parameter and apply that in the SELECT statement. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
On Mar 26, 2010, at 11:58 AM, John Patten wrote: Thanks Sarah and Andre! I figured out the % wildcard for SQL but I like Sarah's irev strategy too. I'm attempting to modify what Sarah describes to include a search field on card and a WHERE in the SQL. Having a hard time getting my head around sending the POST to the irev script so that I can search by field in SQL and then returning the data to the stack. Here's where I'm at: --On the card- on mouseUp put cd fld SearchName into tTeacher libUrlFormData(name, tTeacher) post it to url http://jpatten.on-rev.com/readDB.irev; put http://jpatten.on-rev.com/readDB.irev; into tData put tData into fld tempdata ... --in the irev file put $_POST[name] into tTeacher ( and then everything that Sarah describes below) My confusion comes from trying to submit two actions to the irev file, a POST of the card field text and the OpenQuery of the database. What is the proper way to get the text (POST) included as a WHERE in the irev SQL action? John, A few weeks back I taught a block in my Rev class on creating irev scripts that respond to form requests in the context of creating custom database queries. I've just posted my class notes, which include an example of how this could be done. You may find them useful. (Or maybe you'll just find them way too basic. :) ) But it may give you some ideas. Go to http://revolution.byu.edu/indexgeneric.php. Scroll down to the section on Internet and Networking and see the links under Web Services and Server-side Scripting. Hope it is helpful. Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Connecting Rev stack to On-Rev mySQL DB?
Hi All... My Developer Conference 2009 DVDs arrived yesterday and I listened to Devin do his presentations on connecting rev to an on-rev mysql db. He made it look so easy, I thought I'd give it a try! My attempts are failing with the error: Access denied for user 'jpatten_elearn'@'216.64.xxx.xx' (using password: YES) I'm behind a firewall, however anything that we initiate from inside is allowed. I pretty much used Devin's example straight from the DVD, put mysql into tType put jpatten.on-rev.com into tHost put jpatten_theDB into tDB put jpatten_elearn into tUser put theDBuser_passwd into tPass put revOpenDatabase(tType,tHost,tDB,tUser,tPass) into tConnID put tConnID But instead of getting what I would think would be a connection ID, I get the access denied error. I will try from home tonight to see if it works from outside my school network, but was also curious if anybody had a suggestions? ...Have a stack you can share that connects to a mySQL db on the web I can test? Thank you! John Patten ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
John, check the allowed hosts on your control panel, add the % wildcard there. Cheers andre PS: Power grid failure over here, working on batts, sorry for the hushed reply On Thu, Mar 25, 2010 at 5:53 PM, John Patten johnpat...@mac.com wrote: Hi All... My Developer Conference 2009 DVDs arrived yesterday and I listened to Devin do his presentations on connecting rev to an on-rev mysql db. He made it look so easy, I thought I'd give it a try! My attempts are failing with the error: Access denied for user 'jpatten_elearn'@'216.64.xxx.xx' (using password: YES) I'm behind a firewall, however anything that we initiate from inside is allowed. I pretty much used Devin's example straight from the DVD, put mysql into tType put jpatten.on-rev.com into tHost put jpatten_theDB into tDB put jpatten_elearn into tUser put theDBuser_passwd into tPass put revOpenDatabase(tType,tHost,tDB,tUser,tPass) into tConnID put tConnID But instead of getting what I would think would be a connection ID, I get the access denied error. I will try from home tonight to see if it works from outside my school network, but was also curious if anybody had a suggestions? ...Have a stack you can share that connects to a mySQL db on the web I can test? Thank you! John Patten ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- http://www.andregarzia.com All We Do Is Code. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
My Developer Conference 2009 DVDs arrived yesterday and I listened to Devin do his presentations on connecting rev to an on-rev mysql db. He made it look so easy, I thought I'd give it a try! My attempts are failing with the error: Access denied for user 'jpatten_elearn'@'216.64.xxx.xx' (using password: YES) I'm behind a firewall, however anything that we initiate from inside is allowed. I pretty much used Devin's example straight from the DVD, put mysql into tType put jpatten.on-rev.com into tHost put jpatten_theDB into tDB put jpatten_elearn into tUser put theDBuser_passwd into tPass put revOpenDatabase(tType,tHost,tDB,tUser,tPass) into tConnID put tConnID John, it looks like you are trying to access the database from outside the server. By default this is not permitted. There is a way to set up access from outside, but I don;t remember what it is. Search the list archives as I think it was discussed a few weeks ago. The more regular way of connecting is via an irev script file on your on-rev server. Here is how I do it: put this script into an irev file, replace all the ***'s with your own variables, and upload it to your on-rev site. ?rev put * into tDBname put * into tDBuser put * into tDBpass put revOpenDatabase(mysql, localhost, tDBname, tDBuser, tDBpass) into tDBconnection if tDBconnection is not a number then put Error: could not connect to database! if tDBconnection is a number then -- query the database, then close it put into tTableName put SELECT * FROM tTableName into tSQL put revDataFromQuery(tab, cr, tDBconnection, tSQL) into tData revCloseDatabase tDBconnection put tData end if ? In your Rev stack, use this script (assuming the irev script file is called readDB.irev): on mouseUp put http://myusername.on-rev.com/readDB.irev; into tDBdata -- now display it end mouseUp For further refinements, edit the irev script to take a GET or POST parameter and apply that in the SELECT statement. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
Andre, Sarah, of the options you each suggested, any thoughts on which is more secure or are they both on par? Thanks ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Connecting Rev stack to On-Rev mySQL DB?
On Fri, Mar 26, 2010 at 3:03 PM, Kay C Lan lan.kc.macm...@gmail.com wrote: Andre, Sarah, of the options you each suggested, any thoughts on which is more secure or are they both on par? Andre probably knows more than me about such things, but I reckon my way is more secure. The password login details are stored on the server, not in your app, and are not transmitted outside the server, so cannot be sniffed. Cheers, Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Basic question: Rev CGI and executing Rev scripts from bash
Interesting - it is working so i will ignore for now :) Thanks. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Basic question: Rev CGI and executing Rev scripts from bash
The test.cgi works fine, but executing the cgi from the terminal also works but complains: Could not open libgdk-x11-2.0.so: libgobject-2.0.so: cannot open shared object file: No such file or directory From memory this is because of some missing libraries that the Linux engine needs for Rev - does this matter at all? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Basic question: Rev CGI and executing Rev scripts from bash
David, working as cgi will also yield this error but apache will treat it as a malformed http header and ignore it. This is due to missing/wrong link for the UI graphic libraries. Due to the nature of the linux dynamic loader and the way Rev was built, it will look for those libraries and bind itself to them if if you're not using any graphical interface. There are two work arounds. You can set the enviromental variables REV_GDK_PATH, REV_GOBJECT_PATH and REV_GTK_PATH (not sure about the last one), to empty. For doing that, your cgi will be called not by apache but by a loader bash script that sets this variables then call the CGI, this is cumbersome. Or if it's working for you, you can simply ignore it. Andre On Oct 19, 2006, at 12:54 AM, David Bovill wrote: The test.cgi works fine, but executing the cgi from the terminal also works but complains: Could not open libgdk-x11-2.0.so: libgobject-2.0.so: cannot open shared object file: No such file or directory From memory this is because of some missing libraries that the Linux engine needs for Rev - does this matter at all? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Hi Dennis, There is a trade-off, there. As a researcher, it matters more that something takes me 1 day rather 5 to progam. It does not matter that much that it takes 1 minute rather than 3 to run (I can always use it as an excuse for a coffee break). What I frequently need to do is create word frequency tables for a 20MB corpus by using frequency[tword] (with each word as a string). I have tried different programming and scripting language and the one I sticked with was gawk, a non GUI efficient text processor (like Perl, without the unlegible code syntax). Not to be able to use a string as array index did put me off of Visual Basic (I found solutions to bypass that but then the program needed 5 hours to do what gawk could do in less than 20 min.). To be forced to declare the dimension of the array beforehand put me off of C/C++/Java. One of the reason I adopted Revolution is that I can construct a GUI (which awk cannot) and still index my array with a string and don't have to know, in advance, the approximate number of index values I will need (I was turning to Python and wxPython just before I learned about Revolution). I had been poundering on that question before... why not merge Revolution with Awk? Awk/Gawk is very small (200KB) and is the best program I know to rapidly handle text (with rapid processing of string-indexed arrays of huge size and fully fledge regular expression syntax). Revolution is the best program I know to rapidly handle interface design and internet protocols. Marielle This BZ on arrays would be a welcome enhancement, but it would not improve the speed of processing arrays. I was thinking along the lines of a high speed array processing instruction subset. They would be less flexible than what we have now --the nice flexible data types, dynamic memory allocation, and flexible key names are what costs the operators so much time to execute. Just let me define the dimensions and data size for a fixed memory allocation and provide operators that work on fixed data types. It should fly through the array calculations at least ten times faster. I just entered a BZ request for it. If you agree, vote. BZ# 2813 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Marielle Lange wrote: I had been poundering on that question before... why not merge Revolution with Awk? Awk/Gawk is very small (200KB) and is the best program I know to rapidly handle text (with rapid processing of string-indexed arrays of huge size and fully fledge regular expression syntax). Revolution is the best program I know to rapidly handle interface design and internet protocols. I'll bet that would work quite well as an external -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: To Rev or not to Rev
Marielle, with the GNU tools bin programs and cigwin tools, you can already do so via shell or launch. There's a zillion text manipulation tools out there. But so far Rev is quite fast even for intricate parsing. Never fast enough tough ;) But a bridge would be welcome to avoid shell calls when they are really necessary. Over the years, i've added quite a few filter types into TAOO to do lots of cleanups, conversions, translations and it's definitely easier in xtalk than any other langage. As soon as i publish the text manager of TAOO, you'll understand. But there's plenty of other resources out there that have these text utilities... Which reminds me i need to rebuild the catalog of calls, handlers, defaults and functions available in TAOO - another nice parsing browser! ;) cheers Xavier -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Thursday, May 05, 2005 15:16 To: How to use Revolution Subject: Re: To Rev or not to Rev Marielle Lange wrote: I had been poundering on that question before... why not merge Revolution with Awk? Awk/Gawk is very small (200KB) and is the best program I know to rapidly handle text (with rapid processing of string-indexed arrays of huge size and fully fledge regular expression syntax). Revolution is the best program I know to rapidly handle interface design and internet protocols. I'll bet that would work quite well as an external -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Please stop sending me this junk email I do not know how or when I got hooked up to it, but please stop NOW!! - Original Message - From: Richard Gaskin [EMAIL PROTECTED] To: How to use Revolution use-revolution@lists.runrev.com Sent: Thursday, May 05, 2005 7:16 AM Subject: Re: To Rev or not to Rev Marielle Lange wrote: I had been poundering on that question before... why not merge Revolution with Awk? Awk/Gawk is very small (200KB) and is the best program I know to rapidly handle text (with rapid processing of string-indexed arrays of huge size and fully fledge regular expression syntax). Revolution is the best program I know to rapidly handle interface design and internet protocols. I'll bet that would work quite well as an external -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Hi Dave, Please follow the link to unsubscribe from this list. http://lists.runrev.com/mailman/listinfo/use-revolution Todd On May 5, 2005, at 8:53 PM, Dave Rousseau wrote: Please stop sending me this junk email I do not know how or when I got hooked up to it, but please stop NOW!! - Original Message - From: Richard Gaskin [EMAIL PROTECTED] To: How to use Revolution use-revolution@lists.runrev.com Sent: Thursday, May 05, 2005 7:16 AM Subject: Re: To Rev or not to Rev -- Todd Higgins email: [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On May 2, 2005, at 8:02 AM, Dennis Brown wrote: On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. I understand how Forth works. I'm just not sure how I would categorize it. On further reflection, I would say that Forth is functional in about the same way that Revolution is Object-Oriented. In other words, loosely. ;-) I disagree that Forth is no more high-level than assembler is. The built-in extensibility of Forth syntax makes it much more than just a convenient way of handling machine language. gc ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On May 4, 2005, at 10:43 AM, Geoff Canyon wrote: On May 2, 2005, at 8:02 AM, Dennis Brown wrote: On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. I understand how Forth works. I'm just not sure how I would categorize it. On further reflection, I would say that Forth is functional in about the same way that Revolution is Object- Oriented. In other words, loosely. ;-) I disagree that Forth is no more high-level than assembler is. The built-in extensibility of Forth syntax makes it much more than just a convenient way of handling machine language. I was referring to the native instruction words as being like assembler. In fact now days, microprocessors like the G5 etc. have much higher level functionality than Forth. Just as you can write macros in assembler that implement a pseudo higher level language of your design, Forth gives the same ability in a very convenient defined way. I liked Forth a lot twenty years ago when I was playing with it. If one were to redesign it again today, a much more robust set of native words could be created for modern microprocessors and methods. But I have found that the UI is really 90% of programming these days, and for that you can't beat Rev. I just want fast fixed type array processing for the other 10% of the program with a seamless interface between the two. Rev is plenty fast for most stuff, but an order of magnitude too slow for the array stuff. ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: To Rev or not to Rev
Im sick of this non-sense - no offense to you Mickey... Object oriented technology is just any way to refer semantically via a programming language to operate on generic objects or objects derived from those. RR doesn't have a memory model but it's possible to create it with easy commands. And I'll quote Grady Booch it is therefore the task of the developer to distribute such behaviors so that they may be combined in interesting ways, giving rise to the 'self-maintaining fire' that is the mark of a profound oo architecture. Pg 167 The Best of Booch (Sigs Reference Library - Cambridge Univ. Press) Patterns, templates, polymorph*, abstraction, classes and all the rest are just a matter of imagination or interpretation. If the engine doesn't support the abstraction, you write it. If they dont support polimorph*, you branch it. ez! In Forth, it's like in C, you add a layer ++. Java, and others have it... RunRev - doesn't have the abstraction? They do, but they is literally no array handling to speak of compared to other mainstream languages. It's nice to keep things easy but it makes the use and adaptability very weak IMOHO. Sorry, it's reality... In forth or c you could develop libraries to handle arrays with little performance hits. In RunRev, it's another story... With one exception... If a background behavior group is considered a class, and a card in this group is an object then you jump one step ahead of any other environment. So... That's the TAOO object model base for data storage. It also works in SQL or any other classic memory storage (arrays, folder/files, FMP layouts, etc...) My 2 TAOOcentric cents... Critiques are welcome naturally! Cheers Xav http://monsieurx.com/taoo -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Geoff Canyon Sent: Wednesday, May 04, 2005 16:44 To: How to use Revolution Subject: Re: To Rev or not to Rev On May 2, 2005, at 8:02 AM, Dennis Brown wrote: On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. I understand how Forth works. I'm just not sure how I would categorize it. On further reflection, I would say that Forth is functional in about the same way that Revolution is Object-Oriented. In other words, loosely. ;-) I disagree that Forth is no more high-level than assembler is. The built-in extensibility of Forth syntax makes it much more than just a convenient way of handling machine language. gc ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
I totally agree with Dennis. Efficient arrays are the missing link in rev. Gordon --- Dennis Brown [EMAIL PROTECTED] wrote: On May 4, 2005, at 10:43 AM, Geoff Canyon wrote: On May 2, 2005, at 8:02 AM, Dennis Brown wrote: On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. I understand how Forth works. I'm just not sure how I would categorize it. On further reflection, I would say that Forth is functional in about the same way that Revolution is Object- Oriented. In other words, loosely. ;-) I disagree that Forth is no more high-level than assembler is. The built-in extensibility of Forth syntax makes it much more than just a convenient way of handling machine language. I was referring to the native instruction words as being like assembler. In fact now days, microprocessors like the G5 etc. have much higher level functionality than Forth. Just as you can write macros in assembler that implement a pseudo higher level language of your design, Forth gives the same ability in a very convenient defined way. I liked Forth a lot twenty years ago when I was playing with it. If one were to redesign it again today, a much more robust set of native words could be created for modern microprocessors and methods. But I have found that the UI is really 90% of programming these days, and for that you can't beat Rev. I just want fast fixed type array processing for the other 10% of the program with a seamless interface between the two. Rev is plenty fast for most stuff, but an order of magnitude too slow for the array stuff. ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution :: Gordon Webster :: ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Gordon Webster wrote: I totally agree with Dennis. Efficient arrays are the missing link in rev. http://support.runrev.com/bugdatabase/show_bug.cgi?id=555? -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: To Rev or not to Rev
the question mark made it red!!! http://support.runrev.com/bugdatabase/show_bug.cgi?id=555 works better ;) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Wednesday, May 04, 2005 21:08 To: How to use Revolution Subject: Re: To Rev or not to Rev Gordon Webster wrote: I totally agree with Dennis. Efficient arrays are the missing link in rev. http://support.runrev.com/bugdatabase/show_bug.cgi?id=555? -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Xavier, It's true, you can implement object-oriented concepts in Transcript, but that doesn't make it an object-oriented language. You can write OO code in C - just implement C++ first and go from there, but that doesn't make C an OO environment. The argument that you can get many of the benefits (and take some of the same tactics) in Rev as with true OO environments has merit, IMO, but saying that Revolution is OO is just taking liberty with the definition of Object-Oriented. Sure if you reinterpret the term based on what you think it should mean, you end up in one place- but if you associate OO with it's strict definition you're up a creek. - Brian Im sick of this non-sense - no offense to you Mickey... Object oriented technology is just any way to refer semantically via a programming language to operate on generic objects or objects derived from those. RR doesn't have a memory model but it's possible to create it with easy commands. And I'll quote Grady Booch it is therefore the task of the developer to distribute such behaviors so that they may be combined in interesting ways, giving rise to the 'self-maintaining fire' that is the mark of a profound oo architecture. Pg 167 The Best of Booch (Sigs Reference Library - Cambridge Univ. Press) Patterns, templates, polymorph*, abstraction, classes and all the rest are just a matter of imagination or interpretation. If the engine doesn't support the abstraction, you write it. If they dont support polimorph*, you branch it. ez! In Forth, it's like in C, you add a layer ++. Java, and others have it... RunRev - doesn't have the abstraction? They do, but they is literally no array handling to speak of compared to other mainstream languages. It's nice to keep things easy but it makes the use and adaptability very weak IMOHO. Sorry, it's reality... In forth or c you could develop libraries to handle arrays with little performance hits. In RunRev, it's another story... With one exception... If a background behavior group is considered a class, and a card in this group is an object then you jump one step ahead of any other environment. So... That's the TAOO object model base for data storage. It also works in SQL or any other classic memory storage (arrays, folder/files, FMP layouts, etc...) My 2 TAOOcentric cents... Critiques are welcome naturally! Cheers Xav http://monsieurx.com/taoo -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Geoff Canyon Sent: Wednesday, May 04, 2005 16:44 To: How to use Revolution Subject: Re: To Rev or not to Rev On May 2, 2005, at 8:02 AM, Dennis Brown wrote: On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. I understand how Forth works. I'm just not sure how I would categorize it. On further reflection, I would say that Forth is functional in about the same way that Revolution is Object-Oriented. In other words, loosely. ;-) I disagree that Forth is no more high-level than assembler is. The built-in extensibility of Forth syntax makes it much more than just a convenient way of handling machine language. gc ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
This BZ on arrays would be a welcome enhancement, but it would not improve the speed of processing arrays. I was thinking along the lines of a high speed array processing instruction subset. They would be less flexible than what we have now --the nice flexible data types, dynamic memory allocation, and flexible key names are what costs the operators so much time to execute. Just let me define the dimensions and data size for a fixed memory allocation and provide operators that work on fixed data types. It should fly through the array calculations at least ten times faster. I just entered a BZ request for it. If you agree, vote. BZ# 2813 Dennis On May 4, 2005, at 3:13 PM, MisterX wrote: the question mark made it red!!! http://support.runrev.com/bugdatabase/show_bug.cgi?id=555 works better ;) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Wednesday, May 04, 2005 21:08 To: How to use Revolution Subject: Re: To Rev or not to Rev Gordon Webster wrote: I totally agree with Dennis. Efficient arrays are the missing link in rev. http://support.runrev.com/bugdatabase/show_bug.cgi?id=555? -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Be aware to see how combining the repeat for each statement (read-only) and the rev two-dimmensions arrays can be very usefull and fast running, lots faster than many well formated SQL queries, for an exemple... Hope this can help, This BZ on arrays would be a welcome enhancement, but it would not improve the speed of processing arrays. I was thinking along the lines of a high speed array processing instruction subset. They would be less flexible than what we have now --the nice flexible data types, dynamic memory allocation, and flexible key names are what costs the operators so much time to execute. Just let me define the dimensions and data size for a fixed memory allocation and provide operators that work on fixed data types. It should fly through the array calculations at least ten times faster. I just entered a BZ request for it. If you agree, vote. BZ# 2813 Dennis On May 4, 2005, at 3:13 PM, MisterX wrote: the question mark made it red!!! http://support.runrev.com/bugdatabase/show_bug.cgi?id=555 works better ;) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Wednesday, May 04, 2005 21:08 To: How to use Revolution Subject: Re: To Rev or not to Rev Gordon Webster wrote: I totally agree with Dennis. Efficient arrays are the missing link in rev. http://support.runrev.com/bugdatabase/show_bug.cgi?id=555? -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- Bien cordialement, Pierre Sahores 100, rue de Paris F - 77140 Nemours [EMAIL PROTECTED] [EMAIL PROTECTED] GSM: +33 6 03 95 77 70 Pro: +33 1 64 45 05 33 Fax: +33 1 64 45 05 33 http://www.sahores-conseil.com/ WEB/VoD/ACID-DB services over IP Mutualiser les deltas de productivité ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On 5/4/05 10:32 AM, MisterX [EMAIL PROTECTED] wrote: Im sick of this non-sense - no offense to you Mickey... Xavier... you *really* have to let up on the c key when responding... The gentleman's name is Mikey, not Mickey, and he has said that to you multiple times. My suggestion would be that when you respond to his posts, that you double-check your spelling before you submit it... otherwise you will continue to offend him. Ken Ray Sons of Thunder Software Web site: http://www.sonsothunder.com/ Email: [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Pierre, I am quite aware of these, and that is what I want to run 10 times faster than. However, a lot can be done with the repeat for each more quickly than other Rev methods, but it can only be used with a single named array at a time. I have entered a BZ request for an additional sequential array access method to give repeat for each speeds to any number of arrays at the same time. If you would like to see this, cast your vote for BZ# 2773 Dennis On May 4, 2005, at 7:42 PM, Pierre Sahores wrote: Be aware to see how combining the repeat for each statement (read- only) and the rev two-dimmensions arrays can be very usefull and fast running, lots faster than many well formated SQL queries, for an exemple... Hope this can help, This BZ on arrays would be a welcome enhancement, but it would not improve the speed of processing arrays. I was thinking along the lines of a high speed array processing instruction subset. They would be less flexible than what we have now --the nice flexible data types, dynamic memory allocation, and flexible key names are what costs the operators so much time to execute. Just let me define the dimensions and data size for a fixed memory allocation and provide operators that work on fixed data types. It should fly through the array calculations at least ten times faster. I just entered a BZ request for it. If you agree, vote. BZ# 2813 Dennis On May 4, 2005, at 3:13 PM, MisterX wrote: the question mark made it red!!! http://support.runrev.com/bugdatabase/show_bug.cgi?id=555 works better ;) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Gaskin Sent: Wednesday, May 04, 2005 21:08 To: How to use Revolution Subject: Re: To Rev or not to Rev Gordon Webster wrote: I totally agree with Dennis. Efficient arrays are the missing link in rev. http://support.runrev.com/bugdatabase/show_bug.cgi?id=555? -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- Bien cordialement, Pierre Sahores 100, rue de Paris F - 77140 Nemours [EMAIL PROTECTED] [EMAIL PROTECTED] GSM: +33 6 03 95 77 70 Pro: +33 1 64 45 05 33 Fax: +33 1 64 45 05 33 http://www.sahores-conseil.com/ WEB/VoD/ACID-DB services over IP Mutualiser les deltas de productivité ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
amen! I used to take Tom Pittman's advice for Compilit and use his notation for integers - % and they screamed with speed... and the old Hyperbasic XCMD generator had great array capabilities. I don't mind typing variables optionally if it speeds up things. sqb At 7:30 PM -0400 5/4/05, Dennis Brown wrote: This BZ on arrays would be a welcome enhancement, but it would not improve the speed of processing arrays. I was thinking along the lines of a high speed array processing instruction subset. They would be less flexible than what we have now --the nice flexible data types, dynamic memory allocation, and flexible key names are what costs the operators so much time to execute. Just let me define the dimensions and data size for a fixed memory allocation and provide operators that work on fixed data types. It should fly through the array calculations at least ten times faster. I just entered a BZ request for it. If you agree, vote. BZ# 2813 Dennis ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: To Rev or not to Rev
I swear I never meant any offense and as someone who gets his name mispelled all the time (even the Bury part to top it), i understand the problem. I'll be certain to watch this. But why share my stupidity with the list? That's not very nice either. But at least it got the point through ;) Honestly, I never saw the complains about it either... Mikey, a public apology for my deficiency of sight... It wont happen again. cheers Xavier Sorry, I just regained consciousness (seen on the back of an orange Pinto named Odie) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ken Ray Sent: Thursday, May 05, 2005 01:42 To: Use Revolution List Subject: Re: To Rev or not to Rev On 5/4/05 10:32 AM, MisterX [EMAIL PROTECTED] wrote: Im sick of this non-sense - no offense to you Mickey... Xavier... you *really* have to let up on the c key when responding... The gentleman's name is Mikey, not Mickey, and he has said that to you multiple times. My suggestion would be that when you respond to his posts, that you double-check your spelling before you submit it... otherwise you will continue to offend him. Ken Ray Sons of Thunder Software Web site: http://www.sonsothunder.com/ Email: [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Thank you all for a very interesting thread. It clarified a lot for me and many others I'm sure. Although I've been in the IT industry since 1967 (my first computer experience was on an IBM 3070), I took up programming again, after an 8 year hiatus, when I bought a Mac Plus with HC in 1985. Since then, I've used only HC and now Rev so my exposure to classical OOP was missing. Comments like the one my ISP gave indicated a structural as well as philosophical difference in thinking. Thanks, again... Jim on 4/30/05 7:36 PM, Derek Bump wrote: As someone already said, your ISP answer is a way to avoid any depth analysis of Rev capabilities... It's also the usual answer from ppl who usually struggle with complex programing environments and who are bitter to see other ppl developping sophisticated apps 2 to 5 times faster... I agree with this, as I at one time did it myself (I'm so ashamed). I'm a straight HTML coder, and nothing drove me more crazy than seeing someone use FrontPage or Dreamweaver to develop a web site. The scenario is just the same as someone writing a C++ app in 1 month and me writing the same app with Rev in just a few days. A little animosity. I now more or less don't care what one uses to develop a program, just as long as the final result is a decent program that is creative and solves a problem. And though I don't understand OOP, I do appreciate you fine folks trying to explain it to me. I guess I am forever convinced that xTalk is as object oriented as a language can get put key in ignition rotate key 120 degrees rotate key -120 degrees apply pressure to accelerator -- It all just looks like objects to me :) Derek Bump Dreamscape Software http://www.dreamscapesoftware.com/ ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Phone: 902-823-2339. Fax: 902-823-2139 What¹s New... * Have you ever hired an employee who didn¹t work out? * Did you do that on purpose? Probably not... If you want to greatly improve your hiring process, check out our new hiring process... www.HiringSmart.ca/ns http://www.hiringsmart.ca/ns and... www.KeepingTheBest.ca/ns http://www.keepingthebest.ca/ns ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
LISP is purely functional, not object-oriented. There are OO libraries for LISP, but many on the LISP side of things look down on them. I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. On Apr 30, 2005, at 11:48 AM, Dan Shafer wrote: Forth is one of two programming languages I have tried to learn with complete lack of success. The other is LISP. Both are object- oriented (at least Forth is in some implementations and LISP is purely). ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
I think by that classification Rev _is_ object-oriented: ObjectOrientedProgramming. A program execution is regarded as a physical model, simulating the behavior of either a real or imaginary part of the world. Sounds like Rev to me. Nevertheless, I always refer people to another quote on the same web site -- Ward Cunningham's regarding HyperCard and OO: Sure HyperCard is object oriented. You just don't get to pick the objects. Setting those aside, Rev lacks several characteristics most people consider inherent to OO. That doesn't make it bad or good, necessarily. On Apr 30, 2005, at 7:51 AM, Frank D. Engel, Jr. wrote: A quick Google search reveals this, which may be helpful as far as classification of languages: http://c2.com/cgi/wiki?NygaardClassification ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. Dennis ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Yeah, the *implementation* of Forth I tried to learn used frames as objects and approached OO in some key ways as I recall. OF course, I have blissfully forgotten all that in the dream of the Dreamcard Revolution. ;-) On May 2, 2005, at 8:02 AM, Dennis Brown wrote: On May 2, 2005, at 10:25 AM, Geoff Canyon wrote: I'm not sure how to catalog Forth, but it's not OO (inherently -- there are OO implementations). It's procedural, certainly, but the inherent stack gives it a definite functional feel. Forth is not really a high level language any more than assembler is. It is an alternative machine language based on a double stack architecture. There have been hardware implementations of Forth as the native machine instruction set. When emulated, the Code just consists of a list of addresses to the actual machine code for the native functions, or addresses of higher level defined function (uses a flag bit to tell which). This makes it execute much faster than byte code. You can implement a higher level language within the syntax of Forth because of its extensible nature. Words are defined from other words in an interpretive environment. Because of the double stack architecture, data arguments are passed and returned on one stack and return addresses are in the other stack. It makes a very efficient and powerful architecture for developing real time machine controllers with a tiny amount of memory. You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. Dennis ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ~~ Dan Shafer, Co-Chair RevConWest '05 June 17-18, 2005, Monterey, California http://www.altuit.com/webs/altuit/RevConWest ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Geoff and All, And in about polymorphism... : HC and REV are full able to let us design any complexes recursive procedures we can need inside our xtalk's apps, even in using polymorhism, hash-tables stuffs and so on... Best, Pierre Le 2 mai 05, à 16:28, Geoff Canyon a écrit : I think by that classification Rev _is_ object-oriented: ObjectOrientedProgramming. A program execution is regarded as a physical model, simulating the behavior of either a real or imaginary part of the world. Sounds like Rev to me. Nevertheless, I always refer people to another quote on the same web site -- Ward Cunningham's regarding HyperCard and OO: Sure HyperCard is object oriented. You just don't get to pick the objects. Setting those aside, Rev lacks several characteristics most people consider inherent to OO. That doesn't make it bad or good, necessarily. On Apr 30, 2005, at 7:51 AM, Frank D. Engel, Jr. wrote: A quick Google search reveals this, which may be helpful as far as classification of languages: http://c2.com/cgi/wiki?NygaardClassification ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
While xTalk does use objects, it doesn't support the full range of features formally associated with the term object-oriented programming - from wikipedia: In computer science, Object-oriented programming, OOP for short, is a computer programming style that emphasizes the following concepts: * Objects - Packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program. * Abstraction - The ability for a program to ignore some aspects of the information that it is manipulating, i.e. the ability to focus on the essential. * Encapsulation - Ensures that users of an object cannot change the internal state of the object in unexpected ways; only the object's own internal methods are allowed to access its state. Each object exposes an interface that specifies how other objects may interact with it. * Polymorphism via message sending. Instead of subroutine calls, object-oriented languages can make message sends; the specific method which responds to a message send depends on what specific object the message is sent to. This gains polymorphism, because a single variable in the program text can hold different kinds of objects as the program runs, and thus the same program text can invoke different methods at different times in the same execution. To contrast, functional languages gain polymorphism through the use of first-class functions. * Inheritance- Organizes and facilitates polymorphism and encapsulation by permitting objects to be defined and created that are specialized types of already-existing objects - these can share (and extend) their behavior without having to reimplement that behavior. http://en.wikipedia.org/wiki/Object_Oriented_Programming For this reason I've always preferred the term John Dowdell of Macromedia uses to distinguish xTalks from true OOPSes: object based. It still lets you swing the term object with a certain cache, while satisfying the formalists who require all of the above features to consider a language truly OOP. That said, I believe that well-written xTalk delivers most of the productivity benefits of OOP, sufficiently that there is a good argument for using xTalk regardless of which computer terms best describe its classification. -- Richard Gaskin Fourth World Media Corporation __ Rev tools and more: http://www.fourthworld.com/rev ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
RE: To Rev or not to Rev + OOP TAOO tech
[x'ed] You are free to define words that implement an OO environment if you choose. You could even create Rev using this as the lower level P code, or an operating system for that matter. Dennis I like your way of saying it... That's exactly what I've done with xtalk in TAOO, XOS, ObjX, the Referencer stacks,... all these years! As Richard said, Object based... Do i need polymorphism? Nope, i can handle it myself much better! Do i need inheritance? I can force it anytime, anyway i want. Do I need object structures? I got cards with the most complex and visual structures you could ever ask for from a textual IDE! If you really want to dwelve into OOPs, there's a huge field of CS advanced books on the matter from language design to process architecture to compiler stuff, etc... I tried it all and none, really, none was the bible except maybe all in part. You name the language, i checked it out. Even scriptX. Great stuff, but can it be faster for development? In the real world, you have to process objects for clients. FileMaker is the best for most business purposes - all in one. The hell, the finder/Explorer + any text editor will do too! It's a matter of seeing the objects... Filemaker will make the sums and reports while in the hell you do it yourself! Realistically, RunRev, can do it without any intervention in the best cases. Filemaker will cough, cough... OK, Applescripts can help. But it's not a totally Filemaker only thing then... Single points of failures are to be minimized! And RunRev can do it all... But does it scale up? Not unless you have a real strategy or optimum fixed object structure/code... That's always true and that's when objects are less important... If speed or graphics were not a problem sometimes, RunRev could do it all actually... But thanks to externals that's quickly bridged between any low-end or new-to-come APIs of the OS, anything is possible! And Chipp is one the best examples here I might add. Was it done it OPP? Does it matter? In the end, it's it does it business on it's objects the right way. Can I access it's objects? Can I modify them? :) Objects... 90% thinking, 10% scripting - that's how I see it! Remember that 90% thinking = 1/1000 the 10% scripting in time! So now im coming to the conclusion of the TAOO environment and got a really really sweet set of tools. The OOP in it is like you said: a question of wording... After you get the hang of the wording (nothing hard!), and your libraries work with it, you'll see that things start to work by themselves! Usually with just a one-liner ;) So if you are interested in an object called TAOO with a frame- work of objects in objects without any need of fancy object.obj notation... Let me know, i got it down to a science/slang now ;) We all know there's always a trade off ;) No joke. What can it do for you? Choose a [meaninful] verb... It will find the object and function for it. It's programming language/ide/file format independent too and anything you add to it becomes part of the whole! So you see, after 15 years (or more) it's been gathering quite a lot of skills... And any GUI is possible in terms of objects... More importantly, and in relation to a picture is worth a 1000 words, visual objects in TAOO have a wording to them that makes them aware (Jean-Claude Van Dam style ;)... That's the key to making the system work not just as a oop-library but also as a live visual oop environment. So the Visual Object language is another place where I've put in a lot of evolution - which someone mistook for bug-fixing. I did and got a lots more in return than expected and each version is less bugs all across the TAOO script-nation! The language works with the controls via all types of front/back or stackinuse scripts depending on the object layers. Now running on both Rev and MC too including all N2O tools ;) The event Hierarchy is managed both locally and globally. The hierarchical layers are like objects in objects. Or templates in objects, and vice versa. There's no limits that I know of others than IDE over-loading. It works for my new GM (called GIM - Graphical Interface Manager). There's always an easier solution when it comes down to that like object-layer masters (frontscript or backscript), managers(backscript or stackinuse), agents (palette or stackinuse), etc For example, take a TAOO object contact which is just a group with a bunch fields as Contact databases contain. It could be data from a file, db, sql, or in cards, it doesn't matter. This Contact object, can be copy-pasted into any other stack's object background and add contact features to the said application! That's the relativism and relationalism of objects in the Art of Objects - there isn't any - it's all there is! I've released a part of it in a secret place of MonsieurX Those interested... You know what to do. And it's proudly made in RunRev! ;) Cheers Xavier -- http://MonsieurX.com/TAOO
Re: To Rev or not to Rev
On May 2, 2005, at 9:28 AM, Geoff Canyon wrote: Setting those aside, Rev lacks several characteristics most people consider inherent to OO. That doesn't make it bad or good, necessarily. When this thread started, my reaction was because of these missing characteristics, I would have said that Rev is not OO except in a way that doesn't reflect the general benefits of OOP. But the more I think about it, with the benefit of the comments here, I've come to the conclusion that while it is missing some OO characteristics, it also possesses some very significant features that are missing from languages that are considered (at least by some) to be more traditionally OO. Specifically, the more I use Objective C with its dynamic messaging, which is very similar in many ways to Rev's messaging, the more I realize C++'s lacks in this regard. For another example, one cannot write handlers except in the context of an object: an instance of a button, a group, a card, a stack, or whatever; it simply doesn't permit non-OO programming. Having said all that, it really doesn't matter and as you say, none of this is, in itself, good or bad. Rev (and it's related environments such as HC, SC, etc.) can't even be analyzed using traditional computer science analysis. It's just different which is what makes it so damn great! Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
To Rev or not to Rev
I know there has been lots of discussion on this topic since I joined the list and I know many Rev'ers on this list have converted to Rev as their dev language of first choice. I'm having a continuing conversation with my provider about using his sever to serve my Rev app. First was he highly recommended MSSQL, which the list took exception to. Then I suggested he take a look at RunRev as a development tool himself (hoping to get some local expertise using Rev on a server) and here was his reply... it is more of scripting language that a real programming language which is awesome for the non-technical developers like me and you, but is not a true object oriented application language which is being taught in universities. I don't know what to say about that. Are there are x-talk/OOP languages that are compiled, or, a difference between an OOP and an x-talk language, or, maybe he just assumed that Rev is not a true OOP on first glance? ... Jim on 4/26/05 10:30 AM, Frank D. Engel, Jr. wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 It's one of the few databases I'd consider inferior to MySql, not because it lacks cross-platform compatibility, but because it is a Microsoft product ;-) Realistically, any of the major database servers will have advantages and disadvantages compared to the others. I personally like PostgreSQL: it is free for both noncommercial *and* commercial use (unlike MySql, which is only free for non-commercial use), it is reasonably fast and quite powerful, fully ACID-compliant, supports stored procedures, views, and so forth, has a sizable user community, etc. And it runs just fine on my OS X box, along with Windows, Linux, and a variety of other platforms. On Apr 26, 2005, at 8:49 AM, Jim Carwardine wrote: What about the differences between MySQL and MSSQL. The proponents of MSSQL are adamant that it is far better. Is it really? Of course, it's not x-platform, which is a mark against it in my books... Jim on 4/25/05 3:58 PM, Bill wrote: Yes I agree that SQL is the way to go. I can't wait until the MySQL to SQLite utility is released so that I can try SQLite. I think it will be faster at connecting. On 4/25/05 2:17 PM, Dan Shafer [EMAIL PROTECTED] wrote: Anyone else thinking along these lines? ||| )_) )_) )_) )___))___))___)\ )))_)\\ _|||\\\__ ---\ /- http://www.bluewatermaritime.com ^ ^ ^^^^^ ^^^ 24 hour cell: (787) 378-6190 fax: (787) 809-8426 Blue Water Maritime P.O. Box 91 Puerto Real, PR 00740 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Phone: 902-823-2339. Fax: 902-823-2139 What¹s New... * Have you ever hired an employee who didn¹t work out? * Did you do that on purpose? Probably not... If you want to greatly improve your hiring process, check out our new hiring process... www.HiringSmart.ca/ns http://www.hiringsmart.ca/ns and... www.KeepingTheBest.ca/ns http://www.keepingthebest.ca/ns ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution - --- Frank D. Engel, Jr. [EMAIL PROTECTED] $ ln -s /usr/share/kjvbible /usr/manual $ true | cat /usr/manual | grep John 3:16 John 3:16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life. $ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (Darwin) iD8DBQFCbkJa7aqtWrR9cZoRAsoQAJ0aMN6w4NN3gIgLL0JSNe6qY67FzACfab9U WgSg71YvUbOWBSxrn/KLB1k= =mwRm -END PGP SIGNATURE- ___ $0 Web Hosting with up to 200MB web space, 1000 MB Transfer 10 Personalized POP and Web E-mail Accounts, and much more. Signup at www.doteasy.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Phone: 902-823-2339. Fax: 902-823-2139 What¹s New... * Have you ever hired an employee who didn¹t work out? * Did you do that on purpose
Re: To Rev or not to Rev
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hmm... well, first of all, a scripting language *is* a real programming language. Just because a language isn't compiled doesn't mean it isn't real. In fact, every language is interpreted; even compiled languages are simply translated into machine language, which is interpreted by the computer's processor. It's just a matter of whether the language is interpreted by hardware, or by software. Second, I for one have a Masters degree in Computer Science, and would not have made a fraction of the progress I have on the project I am doing right now if I were using something other than Rev -- one of those so-called real programming languages. As for an object-oriented programming language, no Rev is *not* an object-oriented programming language, at least not in the traditional sense. For example, in Rev, let's say we want to change the label of the button; we do this with a command like: set the label of button My Button to Hello In other words, we are giving an instruction to Rev, such that our script code changes the button's label. In more traditional OOP, we instead send a message to the button, asking it to change its own label; something more like (pseudo-code, not necessarily in any real programming language): tell button My Button to set its label to Hello At first the distinction may seem quite subtle, and you may not recognize the benefits to this, but consider that I want to create a new type of button with certain characteristics, one of which is that the label of the button always begin with a digit. I can enforce this by having the button reject an attempt to set its label to anything other than a string starting with a digit (again with the pseudo-code): when asked to set my label to x if char 1 of x is a number then set the label of me to x else throw Invalid Label end if end when asked to set my label Note that the prior code would still work the same way, and would not need to know what kind of button it was dealing with (of course, it would have an exception raised with this kind of button, since Hello does not start with a digit...) We can't currently do this with Rev. On Apr 30, 2005, at 9:06 AM, Jim Carwardine wrote: I know there has been lots of discussion on this topic since I joined the list and I know many Rev'ers on this list have converted to Rev as their dev language of first choice. I'm having a continuing conversation with my provider about using his sever to serve my Rev app. First was he highly recommended MSSQL, which the list took exception to. Then I suggested he take a look at RunRev as a development tool himself (hoping to get some local expertise using Rev on a server) and here was his reply... it is more of scripting language that a real programming language which is awesome for the non-technical developers like me and you, but is not a true object oriented application language which is being taught in universities. I don't know what to say about that. Are there are x-talk/OOP languages that are compiled, or, a difference between an OOP and an x-talk language, or, maybe he just assumed that Rev is not a true OOP on first glance? ... Jim on 4/26/05 10:30 AM, Frank D. Engel, Jr. wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 It's one of the few databases I'd consider inferior to MySql, not because it lacks cross-platform compatibility, but because it is a Microsoft product ;-) Realistically, any of the major database servers will have advantages and disadvantages compared to the others. I personally like PostgreSQL: it is free for both noncommercial *and* commercial use (unlike MySql, which is only free for non-commercial use), it is reasonably fast and quite powerful, fully ACID-compliant, supports stored procedures, views, and so forth, has a sizable user community, etc. And it runs just fine on my OS X box, along with Windows, Linux, and a variety of other platforms. On Apr 26, 2005, at 8:49 AM, Jim Carwardine wrote: What about the differences between MySQL and MSSQL. The proponents of MSSQL are adamant that it is far better. Is it really? Of course, it's not x-platform, which is a mark against it in my books... Jim on 4/25/05 3:58 PM, Bill wrote: Yes I agree that SQL is the way to go. I can't wait until the MySQL to SQLite utility is released so that I can try SQLite. I think it will be faster at connecting. On 4/25/05 2:17 PM, Dan Shafer [EMAIL PROTECTED] wrote: Anyone else thinking along these lines? ||| )_) )_) )_) )___))___))___)\ )))_)\\ _|||\\\__ ---\ /- http://www.bluewatermaritime.com ^ ^ ^^^^^ ^^^ 24 hour cell: (787) 378-6190 fax: (787) 809-8426 Blue Water Maritime P.O. Box 91 Puerto Real, PR 00740 ___ use-revolution mailing
Re: To Rev or not to Rev
Jim, I know there has been lots of discussion on this topic since I joined the list and I know many Rev'ers on this list have converted to Rev as their dev language of first choice. I'm having a continuing conversation with my provider about using his sever to serve my Rev app. First was he highly recommended MSSQL, which the list took exception to. Then I suggested he take a look at RunRev as a development tool himself (hoping to get some local expertise using Rev on a server) and here was his reply... it is more of scripting language that a real programming language which is awesome for the non-technical developers like me and you, but is not a true object oriented application language which is being taught in universities. I don't know what to say about that. Are there are x-talk/OOP languages that are compiled, or, a difference between an OOP and an x-talk language, or, maybe he just assumed that Rev is not a true OOP on first glance? ... Jim In the real production-state world, Rev TCP/IP applications servers are just : - running 10 times faster than any Tomcat's or JBoss's hosted app ; - developped by the app's designers them self in less time it take to teams to just tune SAP-based prebuild solutions : - a mix between the best OOP programming langages guidlines issued from the smalltalk paradigm and the power of the best functional langages ; - running as bytecode on top of a virtual machine that compile the scripts once before running them, just like Java try to do lots slower ; - a framework able to let us design and build all the Model-View-Controler n-tier based solutions the Java guys are dreaming about when they try to develop in using dozens of differents framworks (Tiles, Struts, Hibernate, ..., JMeter,...) without finding their Graal. As a complement, you can translate what, Michel Lai (one of the bests french OOP expert and Java independant CTO, along universities and engeeniers schools Professor, the french Ecole Pratique des Hautes-Etudes institute where i got my distribued applications Master, included) wrote after first testing one of the apps i wrote recently : Salut Pierre, Ton appli est vaiment impressionnate. Jamais je n'aurais eu le courage d'utiliser Tiles Strust et Hibernate pour grer des formulaires aussi importants ! En tout cas cela donne envie de voir de plus prs ce que reprsente REVO. Dans ton cas d'appli trs oriente formulaires et SGBD (le fameux CRUD) c'est certainement trs performants et quasi imbattable avec mes bien trop complexes frameworks Java. Cependant quid des performances et de la scalabilit de la run time. Combien d'utilisateurs simultans pourraient tu traiter sur un serveur plus consquent que ton Mac Mini, Par exemple un G5 avec Biprocesseur. Utilise tu un gestionnaire de connexions la base de donnes (Pools de connexions). Peux tu faire du mapping objects /SGBDR ? Comment gres tu la rcupration de la connexion si un utilisateur quitte le site sans avoir cliqu sur quitter ? As tu des exemples de site en relle production supportant une disponibilit de 99,9 % ? A bientt. Michel Lai If that don't suffice, just let him ask me for a login/password on the app Professor Michel Lai is speaking about and i will be aware to let him test this web application online... Hope this can help, Best Regards, -- Bien cordialement, Pierre Sahores 100, rue de Paris F - 77140 Nemours [EMAIL PROTECTED] [EMAIL PROTECTED] GSM: +33 6 03 95 77 70 Pro: +33 1 64 45 05 33 Fax: +33 1 64 45 05 33 http://www.sahores-conseil.com/ WEB/VoD/ACID-DB services over IP Mutualiser les deltas de productivit ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
it is more of scripting language that a real programming language which is awesome for the non-technical developers like me and you, but is not a true object oriented application language which is being taught in universities. You know, this is exactly the kind of statement that I really don't enjoy hearing. Who is to say that a script is not a program. It does exactly the same thing. A computer follows code to determine what to do. Last time I checked, a computer does the same thing with a script. On top of that, so what if it's not taught in Universities! A statement like that is just like one from those people out there that say Oh, it's NOT from Microsoft...well then it MUST be bad! And one more thing. What programming language is not object oriented? Everything is an object. Pixels, fields, buttons, windows, cursors, icons, text, variables, arrays, and so on and so on. Revolution is object oriented, just like C++, Java, JavaScript, Basic and even HTML. But, if I'm wrong in any of these areas then maybe someone here can set me straight? Derek Bump Dreamscape Software http://www.dreamscapesoftware.com/ ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Frank, et al: As for an object-oriented programming language, no Rev is *not* an object-oriented programming language, at least not in the traditional sense. For example, in Rev, let's say we want to change the label of the button; we do this with a command like: set the label of button My Button to Hello In other words, we are giving an instruction to Rev, such that our script code changes the button's label. In more traditional OOP, we instead send a message to the button, asking it to change its own label; something more like (pseudo-code, not necessarily in any real programming language): tell button My Button to set its label to Hello At first the distinction may seem quite subtle, and you may not recognize the benefits to this, but consider that I want to create a new type of button with certain characteristics, one of which is that the label of the button always begin with a digit. I can enforce this by having the button reject an attempt to set its label to anything other than a string starting with a digit (again with the pseudo-code): when asked to set my label to x if char 1 of x is a number then set the label of me to x else throw Invalid Label end if end when asked to set my label Note that the prior code would still work the same way, and would not need to know what kind of button it was dealing with (of course, it would have an exception raised with this kind of button, since Hello does not start with a digit...) We can't currently do this with Rev. In button script: on setMyLabel labelName if char 1 of labelName is a number then set the label of me to labelName return empty end if return Invalid label name:labelName end setMyLabel elsewhere: send setMyLabel Hello to button id targetButtonId ?? Rob Cozens CCW Serendipity Software Company And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee. from The Triple Foole by John Donne (1572-1631) ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Jim, In the early days of HC (circa 1987/88) I was already facing this kind of objection from C or Pascal programers... Even in the early 80's when I was experimenting with Logo, I used to hear similar comments... Tell your ISP that (today more than ever) only 1 thing matters : how much time (and therefore $$$) does it take to produce reliable and fast code to the satisfaction of your clients... Show him a few apps made with Rev and ask him how much time (and $$$) it would take to do the same with Java, C, etc. Then ask him to compare the learning curve between Rev, Java, C... One anecdote : a few years ago a friend of mine asked me to teach him the basics of HC (he already had an experience of coding in Basic). In less than 1 hr I managed to teach him the basic concepts, and soon he was up and running... I'm sure the same story could apply to Rev, since the basic concepts of both tools are similar... As someone already said, your ISP answer is a way to avoid any depth analysis of Rev capabilities... It's also the usual answer from ppl who usually struggle with complex programing environments and who are bitter to see other ppl developping sophisticated apps 2 to 5 times faster... JB I know there has been lots of discussion on this topic since I joined the list and I know many Rev'ers on this list have converted to Rev as their dev language of first choice. I'm having a continuing conversation with my provider about using his sever to serve my Rev app. First was he highly recommended MSSQL, which the list took exception to. Then I suggested he take a look at RunRev as a development tool himself (hoping to get some local expertise using Rev on a server) and here was his reply... it is more of scripting language that a real programming language ? which is awesome for the non-technical developers like me and you, but is not a true object oriented application language which is being taught in universities. I don't know what to say about that. Are there are x-talk/OOP languages that are compiled, or, a difference between an OOP and an x-talk language, or, maybe he just assumed that Rev is not a true OOP on first glance? ... Jim on 4/26/05 10:30 AM, Frank D. Engel, Jr. wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 It's one of the few databases I'd consider inferior to MySql, not because it lacks cross-platform compatibility, but because it is a Microsoft product ;-) Realistically, any of the major database servers will have advantages and disadvantages compared to the others. I personally like PostgreSQL: it is free for both noncommercial *and* commercial use (unlike MySql, which is only free for non-commercial use), it is reasonably fast and quite powerful, fully ACID-compliant, supports stored procedures, views, and so forth, has a sizable user community, etc. And it runs just fine on my OS X box, along with Windows, Linux, and a variety of other platforms. On Apr 26, 2005, at 8:49 AM, Jim Carwardine wrote: What about the differences between MySQL and MSSQL. The proponents of MSSQL are adamant that it is far better. Is it really? Of course, it's not x-platform, which is a mark against it in my books... Jim on 4/25/05 3:58 PM, Bill wrote: Yes I agree that SQL is the way to go. I can't wait until the MySQL to SQLite utility is released so that I can try SQLite. I think it will be faster at connecting. On 4/25/05 2:17 PM, Dan Shafer [EMAIL PROTECTED] wrote: Anyone else thinking along these lines? ||| )_) )_) )_) )___))___))___)\ )))_)\\ _|||\\\__ ---\ /- http://www.bluewatermaritime.com ^ ^ ^^^^^ ^^^ 24 hour cell: (787) 378-6190 fax: (787) 809-8426 Blue Water Maritime P.O. Box 91 Puerto Real, PR 00740 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Phone: 902-823-2339. Fax: 902-823-2139 What1s New... * Have you ever hired an employee who didn1t work out? * Did you do that on purpose? Probably not... If you want to greatly improve your hiring process, check out our new hiring process... www.HiringSmart.ca/ns http://www.hiringsmart.ca/ns and... www.KeepingTheBest.ca/ns http://www.keepingthebest.ca/ns ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use
Re: To Rev or not to Rev
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Apr 30, 2005, at 10:31 AM, Derek Bump wrote: On top of that, so what if it's not taught in Universities! A statement like that is just like one from those people out there that say Oh, it's NOT from Microsoft...well then it MUST be bad! I do the opposite: Oh, it's a Microsoft product, so it MUST be bad! And one more thing. What programming language is not object oriented? Everything is an object. Pixels, fields, buttons, windows, cursors, icons, text, variables, arrays, and so on and so on. Revolution is object oriented, just like C++, Java, JavaScript, Basic and even HTML. No, OOP is a somewhat specific paradigm for computer programming, and includes certain characteristics which are *not* present in Rev. Yes, many things are viewed as objects, and Rev even refers to things as objects (well, they are, actually), but this does not make Rev an object-oriented programming language. We cannot define custom object classes, for example. Before someone goes and says, but we have inheritance -- the group intercepts messages not received by objects in the group, the card receives from the group, etc. -- there is a certain level of inheritance in place, and Rev does have many characteristics of an object-oriented language. But I for one would not pretend to call it an actual object-oriented language until we can define our own classes, subclass those classes *and* the built-in classes (such as button, field, group, card, stack...), and so on. There needs to be a degree of scripter-defined polymorphism present, as well. Note that others may disagree with me here, there are a number of conflicting opinions on what it takes to be an object-oriented language, but to my mind, you need unbounded subclassing capabilities and polymorphism in order to be object-oriented. Rev does not allow us to do these things right now. That doesn't mean that Transcript is a bad programming language; I think it is quite good for solving a large number of problems. It simply means that it is not an object-oriented programming language. Any more than it is a functional language, btw: Transcript is a procedural language with some object-oriented characteristics mixed in. A true functional language has no messages, procedure-equivalents, etc. LISP is an example of a functional language. In a functional language, the entire program is just one huge function call. A quick Google search reveals this, which may be helpful as far as classification of languages: http://c2.com/cgi/wiki?NygaardClassification But, if I'm wrong in any of these areas then maybe someone here can set me straight? I think I just did ;-) One more thing: HTML is *not* a programming language in any sense whatsoever. HTML has no constructs for repetition. HTML is a document markup language (which is what it stands for -- hyper-text MARKUP language) designed for embellishing statically-formatted documents. Things were added later which allow for some degree of interactivity (such as forms, etc.), but the actual processing is handled by another programming language (such as PHP, Perl, or Rev), *not* by HTML. OTOH, PostScript is a real programming language, a point which a lot of people seem to miss... - --- Frank D. Engel, Jr. [EMAIL PROTECTED] $ ln -s /usr/share/kjvbible /usr/manual $ true | cat /usr/manual | grep John 3:16 John 3:16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life. $ -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (Darwin) iD8DBQFCc5tb7aqtWrR9cZoRAhMuAJ995w0q4xHB7VQ83mmpLV/EOLME6gCeKmCn of9Tsm5e5caKi6gDoSWV0So= =Eq+/ -END PGP SIGNATURE- ___ $0 Web Hosting with up to 200MB web space, 1000 MB Transfer 10 Personalized POP and Web E-mail Accounts, and much more. Signup at www.doteasy.com ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On Apr 30, 2005, at 10:31 AM, Derek Bump wrote: What programming language is not object oriented? Everything is an object. Object-oriented refers to programmatic objects. Classes, inheritance, polymorphism. RR has very little of that. V. -- Victor Eijkhout Innovative Computing Lab, University of Tennessee, Knoxville 865 974 9308 ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Frank, et al: Before someone goes and says, but we have inheritance -- the group intercepts messages not received by objects in the group, the card receives from the group, etc. -- there is a certain level of inheritance in place, and Rev does have many characteristics of an object-oriented language. But I for one would not pretend to call it an actual object-oriented language until we can define our own classes, subclass those classes *and* the built-in classes (such as button, field, group, card, stack...), and so on. There needs to be a degree of scripter-defined polymorphism present, as well. I must admit that I fell prey to this line of thinking for the longest time, feeling Give me an OOP concept, and I can script that functionality. It took me some time to realize the difference is that the functionality is already built in to the OOP when you open the box. Still, one can script much of OOP functionality fairly easily, and one is not prevented from incorporating OOP concepts in one's design; so I'd label RunRev as quasi OOP. Example: if Frank's example involved changing a button's name instead of its label, on nameChanged oldName,newName if char 1 of newName is not a number then set the name of me to oldName end nameChanged Rob Cozens CCW Serendipity Software Company And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee. from The Triple Foole by John Donne (1572-1631) ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
Frank, et al: But I for one would not pretend to call it an actual object-oriented language until we can define our own classes, subclass those classes *and* the built-in classes (such as button, field, group, card, stack...), Again, groups and grouped groups can duplicate the functionality fairly easily. Rob Cozens CCW Serendipity Software Company And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee. from The Triple Foole by John Donne (1572-1631) ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
So, in summary, Rev can create an OOP, but an OOP can't create Rev... Jim on 4/30/05 12:57 PM, Dennis Brown wrote: On Apr 30, 2005, at 10:51 AM, Frank D. Engel, Jr. wrote: OTOH, PostScript is a real programming language, a point which a lot of people seem to miss... As a point of interest, the PostScript syntax is directly related to a general machine independent programming language called Forth. Forth was used to control telescopes in the days of the minicomputer. It migrated to various microprocessors and was used a lot in process control applications. Forth is still alive and well today. Dennis ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution -- OYF is... Highly resourceful people working together. http://www.OwnYourFuture-net.com Own Your Future Consulting Services Limited, 1959 Upper Water Street, Suite 407, Halifax, Nova Scotia. B3J 3N2 Phone: 902-823-2339. Fax: 902-823-2139 What¹s New... * Have you ever hired an employee who didn¹t work out? * Did you do that on purpose? Probably not... If you want to greatly improve your hiring process, check out our new hiring process... www.HiringSmart.ca/ns http://www.hiringsmart.ca/ns and... www.KeepingTheBest.ca/ns http://www.keepingthebest.ca/ns ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On Apr 30, 2005, at 7:31 AM, Derek Bump wrote: it is more of scripting language that a real programming language which is awesome for the non-technical developers like me and you, but is not a true object oriented application language which is being taught in universities. I've made a career study of scripting languages. Guys like Prof. John Ousterhout, who invented the scripting language Tcl and who can be presumed to know a good deal about the subject, have typically described the difference between a scripting language and a programming language as being one of intent. A scripting language, by their (and my) understanding is a language primarily intended to glue together processes and applications that would otherwise not be able to interact with one another. A programming language may be able to do some or all of that as well, but is more typically intended for the creation of independent programs. AppleScript is, IMNSHO, a classic example of that. You *can* write quasi-standalone applications in AppleScript but it's painful. But ask AppleScript to get data from file A, send it to Application B, lanch Application C and print something in a seamless process, and it fairly shines. People who say things like the above are typically only slightly informed (and you know what they say about a little knowledge and danger) and tend to confuse the issue of scripting vs. programming languages with that of interpreted vs. compiled languages. I used to get a real kick out of demonstrating Smalltalk apps and having people ask me, How does that thing run so fast? and then replying nonchalantly, Oh, that's because it's interpreted. Heads nodded sagely. ~~ Dan Shafer, Co-Chair RevConWest '05 June 17-18, 2005, Monterey, California http://www.altuit.com/webs/altuit/RevConWest ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
I couldn't resist jumping into this one just briefly. Forth is one of two programming languages I have tried to learn with complete lack of success. The other is LISP. Both are object-oriented (at least Forth is in some implementations and LISP is purely). I'm an object thinker but these two languages have syntaxes that get in my way. Others, I know, find them quite natural. That's why we have so many langauges! On Apr 30, 2005, at 8:57 AM, Dennis Brown wrote: Forth is still alive and well today. ~~ Dan Shafer, Co-Chair RevConWest '05 June 17-18, 2005, Monterey, California http://www.altuit.com/webs/altuit/RevConWest ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
I suggest it's the other way around. One could write a Transcript interpreter and IDE to duplicate that of Revolution in Java or Smalltalk, e.g., but it would be all but impossible to write a Java compiler or interpreter and IDE in Transcript. But that's moot. Nobody's going to do either. Java is good for some things for which Rev is not suited (mostly apps requiring lots of interaction with system-level resources and multi-programmer projects) and Rev is good for some things for which Java is either overkill or cumbersome (almost everything else...LOL). On Apr 30, 2005, at 9:12 AM, Jim Carwardine wrote: So, in summary, Rev can create an OOP, but an OOP can't create Rev... Jim ~~ Dan Shafer, Co-Chair RevConWest '05 June 17-18, 2005, Monterey, California http://www.altuit.com/webs/altuit/RevConWest ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On Apr 30, 2005, at 1:50 PM, Dan Shafer wrote: But that's moot. Nobody's going to do either. Java is good for some things for which Rev is not suited (mostly apps requiring lots of interaction with system-level resources and multi-programmer projects) and Rev is good for some things for which Java is either overkill or cumbersome (almost everything else...LOL). Amen. Everytime I see one of these language wars start up I'm always amazed that folks have forgotten that these are TOOLS and like hardware tools, each tool has certain jobs that it is best suited for. There are lots of different hammers out there but I would not use a tack hammer for the same job that I would use an 8 lb maul. That does not mean that a tack hammer is better or worse than a maul. (This is not to say there are personal preferences; IMHO, for things that Rev is not good for, I would use almost anything rather than Java which I don't much care for.) Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
I used to feel this way. And I don't code in Java myself, preferring Python when Rev won't do. But the latest changes to Java and the brilliant IDEs (e.g., Eclipse) and widget toolkits (e.g., Windowbuildedr Pro), have really streamlined the dev process. OTOH, it's still Java, which is syntactically far too much like C/C++ for my personal taste. But when a client needed an app that did stuff nobody I could find could figure out how to do in Rev without a LOT of coding while there were dozens of Java libraries available for each of those tasks, I realized why a lot of people choose Java, Python and other languages with great third-party (and mostly free) libraries. On Apr 30, 2005, at 12:55 PM, James Spencer wrote: IMHO, for things that Rev is not good for, I would use almost anything rather than Java which I don't much care for ~~ Dan Shafer, Co-Chair RevConWest '05 June 17-18, 2005, Monterey, California http://www.altuit.com/webs/altuit/RevConWest ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
As someone already said, your ISP answer is a way to avoid any depth analysis of Rev capabilities... It's also the usual answer from ppl who usually struggle with complex programing environments and who are bitter to see other ppl developping sophisticated apps 2 to 5 times faster... I agree with this, as I at one time did it myself (I'm so ashamed). I'm a straight HTML coder, and nothing drove me more crazy than seeing someone use FrontPage or Dreamweaver to develop a web site. The scenario is just the same as someone writing a C++ app in 1 month and me writing the same app with Rev in just a few days. A little animosity. I now more or less don't care what one uses to develop a program, just as long as the final result is a decent program that is creative and solves a problem. And though I don't understand OOP, I do appreciate you fine folks trying to explain it to me. I guess I am forever convinced that xTalk is as object oriented as a language can get put key in ignition rotate key 120 degrees rotate key -120 degrees apply pressure to accelerator -- It all just looks like objects to me :) Derek Bump Dreamscape Software http://www.dreamscapesoftware.com/ ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev 2.5 Beta [Performance/Rev-Online/Dreamcard/...]
On 22/7/04 1:31 pm, Malte Brill [EMAIL PROTECTED] wrote: 2.) Rev-online. I think this could become a cool place if it gets used. What I really would love to see is how big in KB/MB the stacks are (I just looked at it, so maybe this is somewhere I havent found yet) I created an account a few minutes ago. If you download the Stack from my users section mind it is 2.xx MB. I can see the point of that. Rev Online will be used for serving videos to people on broadband and stacks are likely to be smaller than that, but I'll make a note. I don't know if it will be in this release or the next one. 3.) Dreamcard. Will this have the same IDE or will it look differently? I don´t understand the term smoothed off interface Does this describe what the Interface is going to look in *all* versions? Essentially yes, though some options aren't available in Dreamcard, those being noted in the FAQ. I also would like to say that I am happy about the Player approach. I haven´t looked at it too much by now, so maybe the following is redundant, as it might be already implemented: I think it could be useful if the player would allow Autoplay for CD Roms. This could be implemented by looking for a simple text file e.g. toc.txt with only one line of text holding the relative path to the stack that should be played. This would be a big plus (if it isn´t already possible). I think this should work with the current implementation, let us know if you have any trouble getting it to. Also I haven´t found a way to browse the local directory (but I just looked at it for a few minutes). Also I would like to know which components is in the player: imagelibrary/externals/cursors/...? We'll be shipping the Player as a separate download to test by itself shortly. When we do that you can check what is included. The new toolbar: It looks more modern. I liked the old one better, but I think I will get used to it. Yeah, its always tricky when we make a change to the appearance of anything. Ultimately though the old toolbar was really dated and we had to update it. I don't think we're going to be able to get something that suits everyone, stability was a higher priority than providing extra icon sets, and the new one does looks clean, modern and functional. Thanks for the feedback. Kind regards, Kevin Kevin Miller ~ [EMAIL PROTECTED] ~ http://www.runrev.com/ Runtime Revolution - User-Centric Development Tools ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev 2.5 Beta [Performance/Rev-Online/Dreamcard/...]
on 7/22/04 5:31 AM, Malte Brill at [EMAIL PROTECTED] wrote: I think it could be useful if the player would allow Autoplay for CD Roms. This could be implemented by looking for a simple text file e.g. toc.txt with only one line of text holding the relative path to the stack that should be played. This would be a big plus (if it isn´t already possible). Also I haven´t found a way to browse the local directory (but I just looked at it for a few minutes). Also I would like to know which components is in the player: I solved this issue for myself a long time ago by creating an auto-play hyperlink that was empty in a page's MTML/HTML. Whenever my MTML browser encounters a page with an auto-play link it does what the link commands it to do. Example: autoLink type=video location=mtmlMedia/myCar.mov control=go/autoLink On the next page the control attribute for stop after play is control=stop Mark ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev 2.5 Beta [Performance/Rev-Online/Dreamcard/...]
Ummm, maybe it's because I'm a really crappy scripter, but my intro to Rev/mouse events project I think ended up being 6 MB.. I guess I would have to go back and check to see how much space is due to my assuming (probably correctly) that the low-end PCs wouldn't do TTS, so I recorded my Mac doing so with a mic on my iPod and used those sound files instead... Judy On Thu, 22 Jul 2004, Kevin Miller wrote: 2.) Rev-online. I think this could become a cool place if it gets used. What I really would love to see is how big in KB/MB the stacks are (I just looked at it, so maybe this is somewhere I havent found yet) I created an account a few minutes ago. If you download the Stack from my users section mind it is 2.xx MB. I can see the point of that. Rev Online will be used for serving videos to people on broadband and stacks are likely to be smaller than that, but I'll make a note. I don't know if it will be in this release or the next one. ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev 2.5 Beta [Performance/Rev-Online/Dreamcard/...]
I agree: I also had to pause my mouse over the new tools palette, but I think it was because I was doing the Rosetta Stone thing in my brain. The new GUI does look modern, which has to help it in the credibility market. Also, am I mistaken, or did the new tools palette do away with my observed modality problem? We seemingly no longer have a browse tool and an edit tool, merely an edit/browse tool and a resize tool? (Sorry, I was only able to look at the 2.5 for a few before something on my laptop's m/b overheated... haven't d/l it for the desktop yet). Judy On Thu, 22 Jul 2004, Kevin Miller wrote: On 22/7/04 1:31 pm, Malte Brill [EMAIL PROTECTED] wrote: The new toolbar: It looks more modern. I liked the old one better, but I think I will get used to it. Yeah, its always tricky when we make a change to the appearance of anything. Ultimately though the old toolbar was really dated and we had to update it. I don't think we're going to be able to get something that suits everyone, stability was a higher priority than providing extra icon sets, and the new one does looks clean, modern and functional. ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
RE: name of .exe Rev app that sublaunches .rev file
When your stub launcher has done its job, do you leave it in memory? If so, you could set a custom property in the main .exe and have your second stack get that once its downloaded. Just one idea off the top of my head. Its no different from accessing properties for objects in different stacks. Chris Sheffield Software Development Read Naturally [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rob Gould Sent: Monday, September 29, 2003 4:11 PM To: use-revolution use-revolution Subject: name of .exe Rev app that sublaunches .rev file I've got a Revolution app that is launched by an .exe file that I created in Revolution as a stub launcher. This stub launch has just 1 line of code in it that tell it to run another .rev file from a web-site. Is there a way, within that .rev file on the web-site to determine the name of the .exe file that launched it? ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: name of .exe Rev app that sublaunches .rev file
Rob Gould wrote: I've got a Revolution app that is launched by an .exe file that I created in Revolution as a stub launcher. This stub launch has just 1 line of code in it that tell it to run another .rev file from a web-site. Is there a way, within that .rev file on the web-site to determine the name of the .exe file that launched it? If you're writing the standalone, why not just include a function in the mainstack script to return any data you need? If that won't work, you could get the staacks and walk through the list getting the filename of each -- Richard Gaskin Fourth World Media Corporation Developer of WebMerge: Publish any database on any Web site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution