Re: Why Save the Mac Mini
Have you ever tried to use a 17 laptop in an airplane? (First Class is cheating). Practical means on how much you have put up with moving it around.. You can shy away from any claims you like. I just speak from my experience. I beg to differ. I use the (pre-Intel) 17 PowerBook (Apple) and because of what I use it for (math tutoring and educational development and demonstration) I could use a smaller laptop but that would not be practical for me for the tutoring aspect and no more practical for the development and demo. Personally, except for the likely price with current tech, I'd love to have a 23 laptop. Makes me shy away from your other claims because you apparently make some assumptions about other people's uses that don't really hold water. -- stephen barncard s a n f r a n c i s c o - - - - - - - - - - - - ___ 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: Need for Speed (postscript)
On 7/15/07 8:37 PM, Ludovic Thébault [EMAIL PROTECTED] wrote: On Sun, 15 Jul 2007 20:58:32 +0100, Beynon, Rob wrote: Hello, try to append the result to a file, it's a lot faster : Caution: My limited experience with appending to log files is that the larger the file size, the slower the append. Files over 4 Mb would show an observable effect, and over 10 Mb rendered my apps useless. Of course, I did not intend to write such large files, but after setting the wheels in motion, the log files kept growing. Ooops. This is especially true in a repeat loop. answer folder location of outputData file if it is empty then exit to top put it into pathh put (file: pathh the seconds outputData.txt) into outFileName --now each output data file will have a unique name repeat for each line LNN in textInput if LNN contains good data then write LNN cr after url outFileName --this will go slower-er and slower-er end repeat --- A database would not have this limitation, unless it could not handle the number of records that would be written. Caution on use of fields to display very large text blocks. Although it is possible, it may not be the best way to view and work with the results. Remember, if it is in a stack in memory, it is all loaded in RAM. Further, think about what you are going to try to do with the valuable result (stats, summary report, sort, extract, sets and subsets) and how many programs could handle this number of lines/records efficiently or at all. Jim Ault Las Vegas On 7/15/07 8:37 PM, Ludovic Thébault [EMAIL PROTECTED] wrote: On Sun, 15 Jul 2007 20:58:32 +0100, Beynon, Rob wrote: Hello, try to append the result to a file, it's a lot faster : global seqDB ON mouseUp put the number of lines in field massList into peptides put Processing peptides masses, please wait... into field Output put the long time into field Start -- put empty into outputData ask file Save as... put it into outputdata open file outputData for write close file outpudata -- it's to create an empty file if the fle already exists open file outputdata for append set the tabstops of field Output to 120, 390, 10,20 put field ppm into ppm REPEAT for each line pepMass in field massList put NEW SEARCH, MASS = pepMass at ppm ppm error return after outputData put pepMass * ppm/100 into massError REPEAT for each line peptide in seqDB put the third word of peptide into dbMass -- IF abs(pepMass-dbMass) = massError THEN put peptide K tab dbMass-pepMass return after outputData IF abs(pepMass-dbMass) = massError THEN write peptide K tab dbMass-pepMass return to file outputData END REPEAT put return after outputData END REPEAT read from file outputdata until eof close file Outputdata put it into fld outputt -- put outputData into field Output put the long time into field Stop END mouseUp Ludovic http://www.botanic06.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 ___ 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
QT on Windows
I was just putting the finishing touches to a product for a client when, on impulse, I 'sexed it up' with a little .mov in the standalone splashscreen. I use playstopped to trigger showing the splashscreen proper. This works fine on Mac, reliably running wherever I place the enclosing folder. The same can't be said for Windows. With QT installed, some boxes run it fine, and some don't. It sometimes behaves as if the filename of the movie isn't valid even though it is always contained within the same folder, and double clicking the movie launches QT as expected. I don't have time to work out why this is the case, so I decided to just skip the movie if it isn't going to run, and show the buttons and information fields which form the business end of the splashscreen. This has proved more difficult than I expected. I use Studio, so I can't debug in detail on Windows. I tried checking 'the movie', but was surprised to obtain 'done' way before the movie has stopped playing, and using the done message to move on in the splash screen causes the movie to appear and then quickly disappear on the Mac. I thought about 'try-catch' but I am not sure what conditions I would be testing for. I tried sidestepping the issue by importing a videoclip in AVI format, but the QT codecs for AVI are gruesome. Also, I couldn't make the videoclip play predictably at a specific location, however specified. It always appeared significantly offset. So this isn't about testing to see if QT is installed, it is (I think) about testing whether a player object is able to do its stuff, and if not, smoothly moving on with business. Any suggestions? (This all goes to confirm rule 437 of software development: Never sex up a splashscreen on impulse, especially if you have just promised to deliver the product within the week) Oh yes. Using 2.7.4 on Mac. Best Wishes, David Glasgow Carlton Glasgow Partnership http://www.i-psych.co.uk ___ 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: QT on Windows
On 16 Jul 2007, at 08:06, David Glasgow wrote: I was just putting the finishing touches to a product for a client when, on impulse, I 'sexed it up' with a little .mov in the standalone splashscreen. I use playstopped to trigger showing the splashscreen proper. This works fine on Mac, reliably running wherever I place the enclosing folder. The same can't be said for Windows. With QT installed, some boxes run it fine, and some don't. It sometimes behaves as if the filename of the movie isn't valid even though it is always contained within the same folder, and double clicking the movie launches QT as expected. I don't have time to work out why this is the case, so I decided to just skip the movie if it isn't going to run, and show the buttons and information fields which form the business end of the splashscreen. This has proved more difficult than I expected. I use Studio, so I can't debug in detail on Windows. Hi David, do you use a relative filename for the movie? If so, try getting the filename and turning it into an absolute one. I had a problem where quicktime movies with relative filenames would work on OSX and Mac OS9, but not on Windows - I managed to figure out the path was invalid (although it was the same relative path on both boxes). Check out bug 1161 in the quality control centre: http://quality.runrev.com/qacenter/show_bug.cgi?id=1161 (This all goes to confirm rule 437 of software development: Never sex up a splashscreen on impulse, especially if you have just promised to deliver the product within the week) Sometimes the simplest things require the most code! -- Phil Jimmieson [EMAIL PROTECTED] (UK) 0151 795 4236 (Mobile) 07976 983164 Computer Science Dept., Liverpool University, Ashton Building, Ashton Street Liverpool L69 3BX http://www.csc.liv.ac.uk/~phil/ I used to sit on a special medical board... ...but now I use this ointment. ___ 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: QT on Windows
From: David Glasgow [EMAIL PROTECTED] Hi David, The same can't be said for Windows. You might like to check for the quicktime version. Quicktime on Windows is prone to the vagaries of Windows updates. From Win 2K to XP these seem to alternately break QT. Make sure the Windows box is using the very latest QT version from Apple and if not get them to download it. Scott Kane ___ 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: OT: my friendly blue tooth hacker
Thanks for the heads-up. Clueless me just also turned off discoverable. Can't imagine why I ever had it turned on... Judy On Fri, 13 Jul 2007, David Bovill wrote: Thought - I'd share this :) I'm 8 floors up. And maybe, just maybe, I've found my hacker. Kids I guess - somewhere down on the street - but 8 floors below? And over blue tooth? Well - that will teach me to leave blue tooth on discoverable - here's just hoping that it's only mp3's they have been sending me! ___ ___ 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: Wireframe animation engine examples?
Hi David, Björnke already gave you the hint. In the stack animationEngineDocs.rev scroll to rotate3dPoint and look at the example. That stack is self contained and does not need AE to be in use, so you can see the examples without actually wasting one of the 15 free trial sessions. To answer your speed questions: Rev does a pretty good job in calculating the locations, when you translate from 3d to 2d space. That part is even a tad bit faster than in flash. However, it looses a bit of speed when actually setting the points of the graphic I use to display the wire. Not much, but a little. So in what I can see it is en par speed wise with the flash performance for wireframes. However, Flash has quite a few advantages over Rev when it comes to drawing graphic objects (more than one color in the same object, tad bit faster rendering) Hope that helps. If you think the custom interface is too confusing, then tell that malte, he didn't listen to me. ;-) I *do* listen B, just you were the only one complaining. g However, if it turns out not to work, I am all for changing the interface... And I am willing to provide the stack for alternate reader - stack approaches. You did a good job with BvG docu, if you want to give it a go, let me knoe. :-) All the best, Malte ___ 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: RevMedia - what cant it do?
In fact this is expressly prohibited in the EULA: d) If the version of Revolution you licensed did not include Standalone Builder: you may not distribute Created Software as any form of standalone executable application; nor may you distribute Created Software with any standalone application specifically designed to open any stack file (Player) other than the Player supplied by Runtime Revolution Limited (Revolution Player). Warm Regards, Heather On 16 Jul 2007, at 03:50, J. Landman Gay wrote: David Bovill wrote: StackRunner or the equivalent is all the user needs. From the StackRunner web page: NOTE: StackRunner is only to be used with Revolution Studio or Enterprise in order to simplify deployment of stacks. If you are using Revolution Media or Dreamcard, you need to use the Revolution Player (in fact, StackRunner cannot open stacks created in Revolution Media at all). On 16/07/07, Mark Smith [EMAIL PROTECTED] wrote: So how do you build a custom player with RevMedia? Best, Mark On 16 Jul 2007, at 01:26, David Bovill wrote: True but who needs a standalone - I never use them, rather bundle stacks with custom players. -- Jacqueline Landman Gay | [EMAIL PROTECTED] 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 Heather Nagey Customer Services Manager Runtime Revolution Ltd http://www.runrev.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: Need for Speed (postscript)
On 16 Jul 2007, at 07:26, Jim Ault wrote: On 7/15/07 8:37 PM, Ludovic Thébault [EMAIL PROTECTED] wrote: On Sun, 15 Jul 2007 20:58:32 +0100, Beynon, Rob wrote: Hello, try to append the result to a file, it's a lot faster : Caution: My limited experience with appending to log files is that the larger the file size, the slower the append. I guess this must have to do with how much RAM is available vs how much disc space is needed. I just did this benchmark (with some nonce data): on toFile put 1,10001,10002,10003,10004,10005,10006,10007,10008,10009,100010 into tStr put the tempName into tFile open file tFile for append set cursor to watch put the millisecs into tStart repeat 100 write tStr cr to file tFile end repeat close file tFile put URL (file: tFile) into tOutput delete file tFile put the millisecs - tStart end toFile on toVariable put 1,10001,10002,10003,10004,10005,10006,10007,10008,10009,100010 into tStr set cursor to watch put the millisecs into tStart repeat 100 put tStr cr after tOutput end repeat put the millisecs - tStart end toVariable tOutput ends up at 67MB in both cases, and 'toFile' took just over 5 seconds, whereas 'toVariable' took just over 40 seconds. This is on a Mac PBG4 with 768MB RAM. This could be useful to know when building up large lists. Best, Mark___ 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: Need for Speed (postscript)
--- Jim Ault [EMAIL PROTECTED] wrote: On 7/15/07 8:37 PM, Ludovic Thébault [EMAIL PROTECTED] wrote: try to append the result to a file, it's a lot faster : Caution: My limited experience with appending to log files is that the larger the file size, the slower the append. Files over 4 Mb would show an observable effect, and over 10 Mb rendered my apps useless. Of course, I did not intend to write such large files, but after setting the wheels in motion, the log files kept growing. Ooops. Hi Jim, The main reason why your method was slowing down considerably, is that you were appending to the file by using the 'put ... after URL ...' method - which indeed gets slower as the file grows: this method reads the entire file into memory, appends your data, and then writes the entire file back to disk. When you use the 'open file ... for append' and 'write ... to file...' method, you're not reading the file in anymore, and instead dumping new data at the end of the existing file. Hope this clarified things, Jan Schenkel. Quartam Reports PDF Library for Revolution http://www.quartam.com = As we grow older, we grow both wiser and more foolish at the same time. (La Rochefoucauld) Sucker-punch spam with award-winning protection. Try the free Yahoo! Mail Beta. http://advision.webevents.yahoo.com/mailbeta/features_spam.html ___ 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: OT: my friendly blue tooth hacker
2 years ago I bought a blue tooth headset to use with Skype - hard to get the things to pair up and discoverable must have been on since. Thanks for making me feel like I'm not the only person to be so stupid :) On 16/07/07, Judy Perry [EMAIL PROTECTED] wrote: Thanks for the heads-up. Clueless me just also turned off discoverable. Can't imagine why I ever had it turned on... Judy On Fri, 13 Jul 2007, David Bovill wrote: Thought - I'd share this :) I'm 8 floors up. And maybe, just maybe, I've found my hacker. Kids I guess - somewhere down on the street - but 8 floors below? And over blue tooth? Well - that will teach me to leave blue tooth on discoverable - here's just hoping that it's only mp3's they have been sending me! ___ ___ 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
[OT] Selling my Enterprise
Greetings Due to the cost of obtaining a Hearing-aid I have to sell my Enterprise Edition of version 2.7.1 Interested buyers please contact me off list. email: meitnik(at) bellsouth.com Thank you! Shalom, Andrew {Choose Life, Create Hope, Nurture Love, Wrestle Faith...} ___ 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
Filtering Columnar Data
Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh. I also tried the following, but I don't think I have the regular expression syntax right. filter it with [A-Z0-9] tab [0-9] tab [A-Z] tab myNumber tab * I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven-digit number. The third contains first and last names, which will contain at least two words. This turns up empty. Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item. Regards, Gregory ___ 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: Filtering Columnar Data
Hi Gregory, You need to include all trailing tabs to make 56 columns (that would be 55 tabs). That should work, but I experienced crashes when doing this. You need to stress-test this feature before distributing your software, if you plan to distribute it. In this case, a sqLite or mySql database might be more reliable and easier in the long term, depending on the size of your data. As you suggested yourself, an alternative might be to filter the data to include all lines containing the number you are searching for and do a repeat loop on the remaining data. Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http;//www.salery.com Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 16-jul-2007, om 17:58 heeft Gregory Lypny het volgende geschreven: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh. I also tried the following, but I don't think I have the regular expression syntax right. filter it with [A-Z0-9] tab [0-9] tab [A-Z] tab myNumber tab * I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven-digit number. The third contains first and last names, which will contain at least two words. This turns up empty. Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item. Regards, Gregory ___ 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: Filtering Columnar Data
Gregory, Try this and see if it works. filter tmpData with * tab myNumber tab * There shouldn't be any need to include the preceding or trailing tabs, except for the ones directly surrounding the number. Chris On Jul 16, 2007, at 9:58 AM, Gregory Lypny wrote: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh. I also tried the following, but I don't think I have the regular expression syntax right. filter it with [A-Z0-9] tab [0-9] tab [A-Z] tab myNumber tab * I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven-digit number. The third contains first and last names, which will contain at least two words. This turns up empty. Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item. Regards, Gregory ___ 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 -- Chris Sheffield Read Naturally The Fluency Company http://www.readnaturally.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: Filtering Columnar Data
Chris Sheffield wrote: Try this and see if it works. filter tmpData with * tab myNumber tab * There shouldn't be any need to include the preceding or trailing tabs, except for the ones directly surrounding the number. If he only wants hits in column 4, how will the above discern between that and a hit in any other numeric column? -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.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: Filtering Columnar Data
filter tmpData with * tab myNumber tab * will work, except it will return lines that have a 9 in ANY column... The best way I have found to do this is a generic handler that will retrieve lines from any 2-dimensional field of data based on the header value and search data. That is, if you want to know who likes pizza, ask put FindSomeLines(the long id of fld favorites, favFood, pizza) into tPizzaLovers here's the field: name favColor favFood Greg blue pizza Ken green burgers Rich chrome pizza and the handler: function FindSomeLines pFldName, pHeader, pSearchData put fld pFldName into tData put offset(pHeader, line 1 of tData) into tColNum set the itemdel to tab -- (if your field is tab-delimited) repeat for each line tLine in tData if item tColNum of tLine = pSearchData put tLine cr after tFoundLines end if end repeat delete the last char of tFoundLines return tFoundLines end FindSomeLines This is not tested, but should be close I hope! On Jul 16, 2007, at 9:18 AM, Chris Sheffield wrote: Gregory, Try this and see if it works. filter tmpData with * tab myNumber tab * There shouldn't be any need to include the preceding or trailing tabs, except for the ones directly surrounding the number. Chris On Jul 16, 2007, at 9:58 AM, Gregory Lypny wrote: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh. I also tried the following, but I don't think I have the regular expression syntax right. filter it with [A-Z0-9] tab [0-9] tab [A-Z] tab myNumber tab * I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven-digit number. The third contains first and last names, which will contain at least two words. This turns up empty. Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item. Regards, Gregory ___ 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 -- Chris Sheffield Read Naturally The Fluency Company http://www.readnaturally.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 ___ 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: Filtering Columnar Data
woops, already found an error, this line: put offset(pHeader, line 1 of tData) into tColNum should be put itemOffset(pHeader, line 1 of tData) into tColNum (and it doesn't really need the line 1 but I like it there just for clarity) On Jul 16, 2007, at 9:43 AM, Josh Mellicker wrote: filter tmpData with * tab myNumber tab * will work, except it will return lines that have a 9 in ANY column... The best way I have found to do this is a generic handler that will retrieve lines from any 2-dimensional field of data based on the header value and search data. That is, if you want to know who likes pizza, ask put FindSomeLines(the long id of fld favorites, favFood, pizza) into tPizzaLovers here's the field: name favColor favFood Greg blue pizza Ken green burgers Rich chrome pizza and the handler: function FindSomeLines pFldName, pHeader, pSearchData put fld pFldName into tData put offset(pHeader, line 1 of tData) into tColNum set the itemdel to tab -- (if your field is tab-delimited) repeat for each line tLine in tData if item tColNum of tLine = pSearchData put tLine cr after tFoundLines end if end repeat delete the last char of tFoundLines return tFoundLines end FindSomeLines This is not tested, but should be close I hope! On Jul 16, 2007, at 9:18 AM, Chris Sheffield wrote: Gregory, Try this and see if it works. filter tmpData with * tab myNumber tab * There shouldn't be any need to include the preceding or trailing tabs, except for the ones directly surrounding the number. Chris On Jul 16, 2007, at 9:58 AM, Gregory Lypny wrote: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh. I also tried the following, but I don't think I have the regular expression syntax right. filter it with [A-Z0-9] tab [0-9] tab [A-Z] tab myNumber tab * I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven- digit number. The third contains first and last names, which will contain at least two words. This turns up empty. Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item. Regards, Gregory ___ 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 -- Chris Sheffield Read Naturally The Fluency Company http://www.readnaturally.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 ___ 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: Filtering Columnar Data
This should work quickly enough for you: filter tmpData with *tabmyNumbertab* -- = good hits + false hits only set the itemdel to tab repeat for each line LNN in tmpData if item 4 of LNN is myNumber then put LNN cr after newTempData end repeat -- = newTempData should be the hit list another approach that might help you in some way sort lines of tmpData numeric by item 4 of each Jim Ault Las Vegas On 7/16/07 8:58 AM, Gregory Lypny [EMAIL PROTECTED] wrote: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh. I also tried the following, but I don't think I have the regular expression syntax right. filter it with [A-Z0-9] tab [0-9] tab [A-Z] tab myNumber tab * I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven-digit number. The third contains first and last names, which will contain at least two words. This turns up empty. Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item. Regards, Gregory ___ 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: Filtering Columnar Data
Here's another solution... function quickSortAndFilter theData,theItemNr,theFilter set the itemDel to tab sort theData by (item theItemNr of theData is not theFilter) repeat for each line myLine in theData if item theItemNr of myLine is theFilter then put myLine cr after myNewData end if end repeat return myNewData end quickSortAndFilter Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http;//www.salery.com Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 16-jul-2007, om 17:58 heeft Gregory Lypny het volgende geschreven: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. snip ___ 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: Filtering Columnar Data
Sorry, I forgot an essential line... function quickSortAndFilter theData,theItemNr,theFilter set the itemDel to tab sort theData by (item theItemNr of theData is not theFilter) repeat for each line myLine in theData if item theItemNr of myLine is theFilter then put myLine cr after myNewData else exit repeat end if end repeat return myNewData end quickSortAndFilter Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http;//www.salery.com Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 16-jul-2007, om 17:58 heeft Gregory Lypny het volgende geschreven: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. snip ___ 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: Why Save the Mac Mini
Mick Collins wrote: I beg to differ. I use the (pre-Intel) 17 PowerBook (Apple) and because of what I use it for (math tutoring and educational development and demonstration) I could use a smaller laptop but that would not be practical for me for the tutoring aspect and no more practical for the development and demo. Personally, except for the likely price with current tech, I'd love to have a 23 laptop. Makes me shy away from your other claims because you apparently make some assumptions about other people's uses that don't really hold water. ditto that: we all upgraded to MacBooks, most everyone went for 15 for the smaller foot print as we move around a lot. 2 of us stayed with 17 -- it really was a good decision. 1) speakers on the 15 MacBook Pro are horrible, you can't really use them for a presentation without speakers. But the ones on the 17 are great. 2) I use *all* the desktop space I can get... 17 plus 30 cinema display, consider these windows, which, gradually thru the day must be open simultaneously: My revolution PIM stack, Thunderbird, SKYPE, Firefox, (our wiki in one window and a another window for surfing) usually 1-3 BBEdit windows open, one or two windows from some other REv app that is running, InDesign CS3, Photoshop and interarchy and then Finder windows for our server on the LAN. Oh yes, and possibly we might need to open Portfolio or iView for a quick photo catalog check... Thank God for Drag Thing! has nothing to do with hi rez Efficiency studies have shown that for every square inch of desktop space you give your staff, you save that many hand-to-mouse window resizing and moving operations, with significant productivity gains: it's about window space. They have done video's over people's shoulders and on small screen the amt of time just spent playing with your windows sometimes approaches 20%+ of the total man hours over a month's time. Others here think I'm kidding, but I could-would actually use all the space on another 30 monitor if I had one. On Sunday, July 15, 2007, at 01:09PM, Stephen Barncard [EMAIL PROTECTED] wrote: I think it also supports the 23 Cinema display. Unless one is editing video or doing real high rez graphics, this is the biggest practical size. Just as 15 is the biggest practical laptop... OK, I signed too. I rarely use my mini, preferring the MacBook Pro, but I still like having it. I thought about adding support for 30 inch Apple cinema display to the wish list (the mini currently drives a 20 inch cinema display but having it run the 30 incher would be fantastic!). However, I'm sure that would add way too much to the cost. I'd be happy with a dedicated graphics processor. On Jul 15, 2007, at 11:42 AM, [EMAIL PROTECTED] wrote: -- stephen barncard s a n f r a n c i s c o - - - - - - - - - - - - ___ 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 -- Om shanti (In Peace) Sivakatirswami www.himalayanacademy.com Get Hinduism Today Digital Edition. It's Free! http://www.hinduismtoday.com/digital/ ___ 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: Filtering Columnar Data
cough/still doesn't work/cough sorry Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http;//www.salery.com Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 16-jul-2007, om 22:02 heeft Mark Schonewille het volgende geschreven: Sorry, I forgot an essential line... function quickSortAndFilter theData,theItemNr,theFilter set the itemDel to tab sort theData by (item theItemNr of theData is not theFilter) repeat for each line myLine in theData if item theItemNr of myLine is theFilter then put myLine cr after myNewData else exit repeat end if end repeat return myNewData end quickSortAndFilter Best regards, Mark Schonewille ___ 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: Need for Speed (postscript)
Thanks to both Mark and Jan. tOutput ends up at 67MB in both cases, and 'toFile' took just over 5 seconds, whereas 'toVariable' took just over 40 seconds. This is on a Mac PBG4 with 768MB RAM. (full quote below) This means appending the lines to the end of a file on disk, reading the file back into a variable, then deleting the file on disk... is faster than building the variable in RAM. File writing is an area of Rev I use often, but only for small files. I am glad to know the comparisons/techniques so that I can improve my code. For me, always using the put var after url filepathname meant I avoided learning some of the advantages of using open file, write, close file Since my large log file would be generated within the same app, the file reference could be stored as a custom property for use by all of my handlers and then doing a close file on quit could be executed at the end of the day. Looks like it would save RAM useage and boost speed. This means that my apps will soon be converted in case I forget to turn off my log files! Jim Ault Las Vegas On 7/16/07 2:50 AM, Mark Smith [EMAIL PROTECTED] wrote: On 16 Jul 2007, at 07:26, Jim Ault wrote: On 7/15/07 8:37 PM, Ludovic Thébault [EMAIL PROTECTED] wrote: On Sun, 15 Jul 2007 20:58:32 +0100, Beynon, Rob wrote: Hello, try to append the result to a file, it's a lot faster : Caution: My limited experience with appending to log files is that the larger the file size, the slower the append. I guess this must have to do with how much RAM is available vs how much disc space is needed. I just did this benchmark (with some nonce data): on toFile put 1,10001,10002,10003,10004,10005,10006,10007,10008,10009,100010 into tStr put the tempName into tFile open file tFile for append set cursor to watch put the millisecs into tStart repeat 100 write tStr cr to file tFile end repeat close file tFile put URL (file: tFile) into tOutput delete file tFile put the millisecs - tStart end toFile on toVariable put 1,10001,10002,10003,10004,10005,10006,10007,10008,10009,100010 into tStr set cursor to watch put the millisecs into tStart repeat 100 put tStr cr after tOutput end repeat put the millisecs - tStart end toVariable tOutput ends up at 67MB in both cases, and 'toFile' took just over 5 seconds, whereas 'toVariable' took just over 40 seconds. This is on a Mac PBG4 with 768MB RAM. This could be useful to know when building up large lists. Best, Mark___ 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: Filtering Columnar Data
Here's another solution. Really. function quickSortAndFilter theData,theItemNr,theFilter set the itemDel to tab sort lines of theData by (item theItemNr of each is not theFilter) repeat for each line myLine in theData if item theItemNr of myLine is theFilter then put myLine cr after myNewData else exit repeat end if end repeat return myNewData end quickSortAndFilter Let me add some explanation: - theData is tab-delimited data - theItemNr is the number of the column you want to search - theFilter is the string you want to search for Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http;//www.salery.com Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 16-jul-2007, om 17:58 heeft Gregory Lypny het volgende geschreven: Hello Everyone, I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. snip ___ 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
data loss in a standalone... a bug?
Hi everyone, I've spent most of the past three weeks in great distress as I try to isolate a bug that is causing my standalone to lose data. I think I have finally isolated the bug into a demonstration stack with the title: myBuggyApp and I have uploaded it to my user space (user name= 'michaelbinder') on rev online. The bug (or my programming error) only manifests itself in a standalone. I used the data saving method described by Sarah Reichelt in revJournal, in which substack dataTemplate is cloned to make a data file. In myBuggyApp demonstration, the user data is validated and placed into custom properties of a custompropertyset of the dataTemplate substack. When I save data to an existing data file, I use this code: -- the variable 'whichFile' contains the file path of the -- user's data file open invisible stack whichFile set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate save stack whichFile close stack whichFile --the destroystack of stack whichFile is true In the big complex app that I have been working on, I do have a workaround. I simply repeat this line twice: set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate I have no idea why the workaround works. One source of distress to me is that the workaround DOES NOT work in the demonstration stack. Before I report this bug I would like to know if it is indeed a bug, or have I made a programming error. If it is a bug do any of you understand its nature or how to make a reliable workaround? Thanks, in advance, for your comments... Michael Binder ___ 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: Filtering Columnar Data
Yet another solution using SORT and complex sort criteria ---intro 1) the sort command says sort using the result of the function 2) the function returns a true/false 3) the result of the sort is that the desired value in col 4 sorts to the top 4) the repeat loop scans each line to find when the desired value is no longer in item 4 5) thus complex/compound sort rules are possible by placing them in the sortKeyTF() function The magic is supplied by Rev since it will call the function for each line of the container. This function call provides the sort key to be used, which is, in this case, is true false. Any string or number can be returned as the sort key. --substantially based on Mark Schonewille's code on toVariable --we will build the lines of data to sort/filter put 100,101,102,99,104,105,106,107,108,109,110 into tStr set cursor to watch repeat with cnt = 1 to 1000 put cnt mod 10 into item 4 of tStr put tStr cr after tOutput end repeat replace comma with tab in tOutput --now tab delim -- THIS is where we do the sort and extract put 8 into myNumber put the millisecs into tStart put quickSortAndFilter(tOutput, myNumber) into onlyMyNumber put the millisecs - tStart into elapsed put elapsed millisecs into msg end toVariable function quickSortAndFilter theData,myNumber set the itemDel to tab sort theData descending by (sortKeyTF(myNumber, item 4 of each)) -- the sort is done, now keep only the myNumber lines repeat for each line myLine in theData if item 4 of myLine is myNumber then put myLine cr after myNewData else exit repeat end if end repeat return myNewData end quickSortAndFilter function sortKeyTF myNumber, thisItem4 return (1*myNumber) = (1*thisItem4) end sortKeyTF 41 millisecs to do 1000 lines, 171 msecs to do 10,000 lines -- Mac G5 dual 1.8 mHz Not the speediest way, but more powerful/flexible than just the filter command, and probably on par with a RegEx solution. Jim Ault Las Vegas On 7/16/07 1:14 PM, Mark Schonewille [EMAIL PROTECTED] wrote: Here's another solution. Really. function quickSortAndFilter theData,theItemNr,theFilter set the itemDel to tab sort lines of theData by (item theItemNr of each is not theFilter) repeat for each line myLine in theData if item theItemNr of myLine is theFilter then put myLine cr after myNewData else exit repeat end if end repeat return myNewData end quickSortAndFilter Let me add some explanation: - theData is tab-delimited data - theItemNr is the number of the column you want to search - theFilter is the string you want to search for ___ 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: Filtering Columnar Data
Thanks for your replies, Chris, Josh, Mark, and Richard, You've confirmed what I suspected: that it will be tricky to get the filter command to do this. This is especially true in my case because the data field has 56 columns by default but individual rows may have data appended later, and so may grow beyond 56. I think I'll do what I used to do before the filter command was around, and that is to repeat an itemOffset over the data. I tested the function below, which is much like Josh's, and it filters more than 300 lines in 1 tick; the same code as a message handler rather than a function takes 5 ticks; and the filter command on the same data takes 39 ticks. Thanks once again, Gregory function filterByColumn theData,columnNum, theSearchString -- This function filters tab-delimited data by column if columnNum is an integer then set the itemDelimiter to tab repeat for each line thisLine in theData if item columnNum of thisLine is theSearchString then put thisLine return after filteredData end if end repeat delete the last character of filteredData return filteredData else return The column number must be an integer. end if end filterByColumn ___ 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: data loss in a standalone... a bug?
Michael Binder wrote: When I save data to an existing data file, I use this code: -- the variable 'whichFile' contains the file path of the -- user's data file open invisible stack whichFile set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate save stack whichFile close stack whichFile --the destroystack of stack whichFile is true In the big complex app that I have been working on, I do have a workaround. I simply repeat this line twice: set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate I have no idea why the workaround works. One source of distress to me is that the workaround DOES NOT work in the demonstration stack. I haven't had any problems with custom properties, so it's hard to say. Is the short name of your template stack the same as the short name of the data stack that was cloned? If so, the engine may be confused about which stack it should be putting the data into. If you aren't already doing it, name your data stack something different from the template. -- Jacqueline Landman Gay | [EMAIL PROTECTED] 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
Section on Good Design Recommendations in the User Guide
The guide makes reference to a section called Good Design Recommendations but I can't find it. Is it in there? Gregory ___ 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
Need for Speed pps
Another round of interesting suggestions...thanks to all... Apart from the database solution, I tried some of the others which I had the skill to implement - 1. Write data to a file instead of a variable 2. Read search data into a variable from a field I set up a search of 10,000 queries against 16,000 targets - maybe 100million comparisons Using a file append rather than putting data after a variable: 4min 57sec using a variable (put) 4min 31sec using a file (write) Reading the input search list from a field into a variable 4min 57sec using a variable (put) with no pre-read of input field 4min 57sec using a variable (put) with pre-read of input field So, reading from a field makes no difference, and the gain in writing to a file rather than pitting to a variable is also modest (about 10% gain) Apart from the fact that I'm still processing about 20million comparisons a minute, which is impressive anyway, it seems as though there are no immediate ways of enhancing processing speed. Off now to read up on SQL databases... Rob ___ 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: data loss in a standalone... a bug?
On 16 Jul 2007, at 21:28, Michael Binder wrote: When I save data to an existing data file, I use this code: -- the variable 'whichFile' contains the file path of the -- user's data file open invisible stack whichFile set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate save stack whichFile close stack whichFile --the destroystack of stack whichFile is true I'm assuming the data isn't saved properly when you do the above. Is that right? One possible problem is the following two lines: set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile to .. I don't think you need the first line, and it could be the cause of the problem (just guessing). The syntax of the second line (set the customproperties[allDataProps]) is a way of addressing a custom property set without needing to specifically set it. The following are equivalnet: 1.set the customproperties[allDataProps] of stack whichFile to .. 2.set the custompropertyset of stack whichFile to allDataProps set the customproperties of stack whichFile to .. Cheers Dave ___ 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: Why Save the Mac Mini
On Jul 16, 2007, at 3:06 PM, Sivakatirswami wrote: Efficiency studies have shown that for every square inch of desktop space you give your staff, you save that many hand-to-mouse window resizing and moving operations, with significant productivity gains: it's about window space. They have done video's over people's shoulders and on small screen the amt of time just spent playing with your windows sometimes approaches 20%+ of the total man hours over a month's time. Others here think I'm kidding, but I could-would actually use all the space on another 30 monitor if I had one. I know what you mean! I have two 20 monitors and there's never enough room! I couldn't live without CodeTek Virtual Desktop Pro. It allows you to have up to 100 desktops, and provides a pager window that shows all your application windows on their desktops and lets you move the miniature windows around to make the actual windows fly across the monitors. MacOS 10.4.6 broke VDP and I wanted to give up coding because I so dislike delving through layers and layers of windows. VDP worked again with 10.4.7—so I sat back down at the computer again with all my applications in their proper places and my windows where they belong. Evidently, the next MacOS will have something similar built in. t -- Tereza Snyder Califex Software, Inc. ___ 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: Need for Speed pps
Beynon, Rob wrote: I set up a search of 10,000 queries against 16,000 targets - maybe 100million comparisons Using a file append rather than putting data after a variable: 4min 57sec using a variable (put) 4min 31sec using a file (write) Just curious, did you open the file for write or open it for append? I'd think it would make a difference. If it is opened for append, you don't need to specify that the write should be at the end, it will happen automatically. I'd think it would be faster, but I'm not sure. So, reading from a field makes no difference If you are reading from the field only once before the repeat loop, it wouldn't matter. But if the read is in the middle of the loop, it should be very much slower. I can't remember now which you are doing, but accessing fields is known to be one of the slowest things you can do inside a loop. (I vaguely recall you aren't doing that.) I'm curious about the file writing though, I'm always looking for ways to speed up scripts. -- Jacqueline Landman Gay | [EMAIL PROTECTED] 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: data loss in a standalone... a bug?
The line set the custompropertyset of stack whichFile to allDataProps in your script ought not to be necessary. The following statement set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate should get the job done. Try commenting that out to see if it affects the outcome (though I confess I'm not sure how it would). Have you checked whether the data is where it belongs before the save and close? You might write the contents of one of the allDataProps properties of the whichfile stack (along with a labeling string) to stdout just before you close it, then open the console application and watch what happens when you run the standalone. t -- Tereza Snyder Califex Software, Inc. ___ 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: Why Save the Mac Mini
OK, some folks like the Mini, some folks don't. I'd say we're ready to move on, yes? Best Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design ___ 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
data loss in a standalone... a bug?
Is the short name of your template stack the same as the short name of the data stack that was cloned? If so, the engine may be confused about which stack it should be putting the data into. Hi Jacqueline, No. I followed Sarah's advice. When the clone is created, rev names it 'copy of dataTemplate'. The script renames it whatever the user chooses. In my real app, there is a handler to warn the user if she has chosen a forbidden name, but I did not include that in my demonstration. One possible problem is the following two lines: set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile to .. I don't think you need the first line, and it could be the cause of the problem (just guessing). and The line set the custompropertyset of stack whichFile to allDataProps in your script ought not to be necessary. Hi Dave, Tereza, Originally I did not have that line in there. I added it sometime in the past three weeks that I have been working on this problem. I will do some more testing. Have you checked whether the data is where it belongs before the save and close? You might write the contents of one of the allDataProps properties of the whichfile stack (along with a labeling string) to stdout just before you close it, then open the console application and watch what happens when you run the standalone. Hi Tereza, yes, and good idea! Michael Binder ___ 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
data loss in a standalone... a bug?
The line set the custompropertyset of stack whichFile to allDataProps in your script ought not to be necessary. Originally I did not have that line in there. I added it sometime in the past three weeks that I have been working on this problem. I will do some more testing. OK, more testing done. You're correct. Its not needed. But it is not the cause of the problem. Michael Binder ___ 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: Why Save the Mac Mini
On 7/16/07, Scott Rossi [EMAIL PROTECTED] wrote: I'd say we're ready to move on, yes? OK, Mr. BuzzKill...I'll remember NOT to invite you to my next HoDown here in Austin ;-) (HoDown=place where we give away Mac Mini's to all ho attend) ___ 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: Filtering Columnar Data
I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth. put fld Data of this card into tmpData filter tmpData with * tab * tab * tab myNumber tab * I seem to remember an old thread where it was discovered that when you start looking at complex filters like this, a repeat for each loop ends up faster. Worth testing anyway. 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: Why Save the Mac Mini
I know what you mean! I have two 20 monitors and there's never enough room! I couldn't live without CodeTek Virtual Desktop Pro. Evidently, the next MacOS will have something similar built in. Yes, I've played with it on a beta of Leopard. It's called Spaces and it works really well. As happens so often, Apple has taken an old idea but made it easy to use and terrific looking. 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: Need for Speed (postscript)
I found it pretty surprising. So thanks to Ludovic Thébault for suggesting it. My guess is that if there was a way to allocate a large enough block of memory before building the variable then it would be faster to do that. But that's a bit low-level for a 4gl. Best, Mark On 16 Jul 2007, at 21:14, Jim Ault wrote: This means appending the lines to the end of a file on disk, reading the file back into a variable, then deleting the file on disk... is faster than building the variable in RAM. ___ 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: Need for Speed pps
I think that when you refer to each line in a field as part of the repeat command, like repeat for each line tLine in field someField you are effectively placing the field's text into some internal variable that is part of the engine's looping mechanism. I don't know this for sure, but it seems as if something like that is happening. What tends to really slow things down in a long loop is referring to a field (or a chunk of a field) inside a loop, like repeat 1 put field someField into someVar end repeat And in the light of what I just found with building big lists, how big is your final output file? I think the speed gain from 'append' only applies once the list gets really big. best, Mark On 16 Jul 2007, at 22:35, Beynon, Rob wrote: Another round of interesting suggestions...thanks to all... Apart from the database solution, I tried some of the others which I had the skill to implement - 1. Write data to a file instead of a variable 2. Read search data into a variable from a field I set up a search of 10,000 queries against 16,000 targets - maybe 100million comparisons Using a file append rather than putting data after a variable: 4min 57sec using a variable (put) 4min 31sec using a file (write) Reading the input search list from a field into a variable 4min 57sec using a variable (put) with no pre-read of input field 4min 57sec using a variable (put) with pre-read of input field So, reading from a field makes no difference, and the gain in writing to a file rather than pitting to a variable is also modest (about 10% gain) Apart from the fact that I'm still processing about 20million comparisons a minute, which is impressive anyway, it seems as though there are no immediate ways of enhancing processing speed. Off now to read up on SQL databases... Rob ___ 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: data loss in a standalone... a bug?
Also, (though I wouldn't think it's the cause of the problem), you don't need to open the stack, this should work: set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate save stack whichFile delete stack whichFile -- does not delete! simply removes from memory. Best, Mark On 16 Jul 2007, at 22:35, Dave Cragg wrote: On 16 Jul 2007, at 21:28, Michael Binder wrote: When I save data to an existing data file, I use this code: -- the variable 'whichFile' contains the file path of the -- user's data file open invisible stack whichFile set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile \ to the customproperties[allDataProps] of stack dataTemplate save stack whichFile close stack whichFile --the destroystack of stack whichFile is true I'm assuming the data isn't saved properly when you do the above. Is that right? One possible problem is the following two lines: set the custompropertyset of stack whichFile to allDataProps set the customproperties[allDataProps] of stack whichFile to .. I don't think you need the first line, and it could be the cause of the problem (just guessing). The syntax of the second line (set the customproperties[allDataProps]) is a way of addressing a custom property set without needing to specifically set it. The following are equivalnet: 1.set the customproperties[allDataProps] of stack whichFile to .. 2.set the custompropertyset of stack whichFile to allDataProps set the customproperties of stack whichFile to .. Cheers Dave ___ 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: Filtering Columnar Data
On Jul 16, 2007, at 2:04 PM, Gregory Lypny wrote: I tested the function below, which is much like Josh's, and it filters more than 300 lines in 1 tick; the same code as a message handler rather than a function takes 5 ticks; and the filter command on the same data takes 39 ticks. Wow, I thought that handler was fast, but never tested/compared it. I wonder if sorting the lines by columnNum, then exiting on the first non-matching line would be faster or slower? function filterByColumn theData,columnNum, theSearchString -- This function filters tab-delimited data by column if columnNum is an integer then set the itemDelimiter to tab repeat for each line thisLine in theData if item columnNum of thisLine is theSearchString then put thisLine return after filteredData end if end repeat delete the last character of filteredData return filteredData else return The column number must be an integer. end if end filterByColumn ___ 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: Filtering Columnar Data
Also, I would suggest finding the exact ColumnNum as part of the handler- either from the header row, or a separate header variable. If you don't, as the database evolves and columns are added (or deleted), then you'll have to go back and change all your hardwired column references... or change your data around to make the columns right, both big hassles... On Jul 16, 2007, at 2:04 PM, Gregory Lypny wrote: function filterByColumn theData,columnNum, theSearchString -- This function filters tab-delimited data by column if columnNum is an integer then set the itemDelimiter to tab repeat for each line thisLine in theData if item columnNum of thisLine is theSearchString then put thisLine return after filteredData end if end repeat delete the last character of filteredData return filteredData else return The column number must be an integer. end if end filterByColumn ___ 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: QT on Windows
I would say playstopped is unreliable, I would suggest: if duration of player Player - currentTime of player Player 30 then itsOver end if On Jul 16, 2007, at 12:06 AM, David Glasgow wrote: I was just putting the finishing touches to a product for a client when, on impulse, I 'sexed it up' with a little .mov in the standalone splashscreen. I use playstopped to trigger showing the splashscreen proper. This works fine on Mac, reliably running wherever I place the enclosing folder. The same can't be said for Windows. With QT installed, some boxes run it fine, and some don't. It sometimes behaves as if the filename of the movie isn't valid even though it is always contained within the same folder, and double clicking the movie launches QT as expected. I don't have time to work out why this is the case, so I decided to just skip the movie if it isn't going to run, and show the buttons and information fields which form the business end of the splashscreen. This has proved more difficult than I expected. I use Studio, so I can't debug in detail on Windows. I tried checking 'the movie', but was surprised to obtain 'done' way before the movie has stopped playing, and using the done message to move on in the splash screen causes the movie to appear and then quickly disappear on the Mac. I thought about 'try-catch' but I am not sure what conditions I would be testing for. I tried sidestepping the issue by importing a videoclip in AVI format, but the QT codecs for AVI are gruesome. Also, I couldn't make the videoclip play predictably at a specific location, however specified. It always appeared significantly offset. So this isn't about testing to see if QT is installed, it is (I think) about testing whether a player object is able to do its stuff, and if not, smoothly moving on with business. Any suggestions? (This all goes to confirm rule 437 of software development: Never sex up a splashscreen on impulse, especially if you have just promised to deliver the product within the week) Oh yes. Using 2.7.4 on Mac. Best Wishes, David Glasgow Carlton Glasgow Partnership http://www.i-psych.co.uk ___ 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: Need for Speed pps
Rob- Using a file append rather than putting data after a variable: 4min 57sec using a variable (put) 4min 31sec using a file (write) I find this surprising, since variables are entirely dealt with in memory. I would expect maybe an order of magnitude difference between that and writing to a file, although maybe file buffering is better in rev than I think. Apart from the fact that I'm still processing about 20million comparisons a minute, which is impressive anyway, it seems as though there are no immediate ways of enhancing processing speed. O... a challenge... ...move the put the third word of peptide into dbMass line into the if construct: IF abs(pepMass-dbMass) = massError THEN put the third word of peptide into dbMass put peptide K tab dbMass-pepMass return after outputDat END IF ...and you can maybe double your speed, depending on your data set. -- Mark Wieder [EMAIL PROTECTED] ___ 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: Filtering Columnar Data
Thanks Josh, Mark, Jim, and Sarah, Yep, I'll be going with a repeat loop. I posted my version just after some of yours, where I also report that a repeat loop is seven to eight times faster than the filter command. I'll try to incorporate some of the features of yours into mine. Regards, Gregory ___ 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
Custom Properties vs globals
This comes up every know and then and I'd like to thank all those on the list who opened my eyes to custom properties, I've been using them much much more of late but have come across situations where I need to convert the custom property to a global, to make life easy. I just wish to confirm that although you can: put line 3 of the cMyCustomProp of stack myStack into myVar you can't: set line 3 of the cMyCustomProp of stack myStack to myLine you must: put the cMyCustomProp of stack myStack into myVar put myLine into line 3 of myVar set the cMyCustomProp of stack myStack to myVar and so conclude, as the situation appears to be the same for other chunks (words,char items) in situations where you need to manipulate chunks*, a global is probably more efficient and custom properties should be confined to situations where you're only interested in the 'whole' data. *this is obviously only referring to situations where you need to access data from all over a stack and are therefore considering whether a global or a custom property is your best bet. I'm just trying to formulate some 'rules of thumb' of when to use custom props and when globals, so I can avoid the 'gos, now I need to change all those to .. because I need to.' moments ;-) Thanks for your insights. ___ 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: Need for Speed (postscript)
On 7/15/07 12:58 PM, Beynon, Rob [EMAIL PROTECTED] wrote: I ran a brutal test, of 45,000 lines in massList and 16,000 lines in seqDB My crude attempt seems to be capable, even running within the Rev IDE, of completing the 720million comparisons in about 30minutes (OK, admittedly CoreDuo 2.66GHz, 2GB RAM). That's 24million a minute! (I deliberately put some searches that would match at the end of seqDB, to be sure I searched through most of the file each time). I am pretty happy with this, and I'd be looking for at least a 10-fold gain in speed to code up a harder solution. Do you experts thing a 10-fold gain is feasible? 100-fold? I'd be surprised to get that big a gain. Nonetheless, here's a version that emphasizes arrays over lists. In the following code, the reasons why this version may run faster appear as comments. If you'll try it and report the results, we'll learn whether the extra programming is justified. on mouseUp put the milliseconds into tMilliseconds1 put gSeqDB into tPeptideArray split tPeptideArray using cr repeat for each key tPeptideKey in tPeptideArray put word 3 of tPeptideArray[tPeptideKey] \ into tPeptideMassArray[tPeptideKey] -- note: get word 3 once for each peptide -- rather than once for each combination of peptide and mass end repeat put field ppm into tPPM put tPPM / 100 into tFactor -- note: divide by a million once for each mouseUp -- rather than once for each mass put field massList into tMassArray split tMassArray using cr put the milliseconds into tMilliseconds2 put tMilliseconds2 - tMilliseconds1 milliseconds for setup cr repeat for each key tMassKey in tMassArray put tMassArray[tMassKey] into tMass put tMass * tFactor into tMassThreshold repeat for each key tPeptideKey in tPeptideMassArray if abs(tMass - tPeptideMassArray[tPeptideKey]) = tMassThreshold then put empty into tOutputArray[tMassKey,tPeptideKey] end if -- note: minimize the work of the innermost loop end repeat end repeat put the milliseconds into tMilliseconds3 put tMilliseconds3 - tMilliseconds2 milliseconds for filtering \ cr after msg put the keys of tOutputArray into tKeys sort tKeys numeric using item 2 of each sort tKeys numeric using item 1 of each repeat for each line tKey in tKeys -- note: ignore any mass for which every peptide failed the test put item 1 of tKey into tMassKey if tMassKey tMassKeyPrev then add 1 to i put NEW SEARCH, MASS = tMassArray[tMassKey] \ at tPPM ppm error into tOutputData[i] put tMassKey into tMassKeyPrev end if add 1 to i put item 2 of tKey into tPeptideKey put tPeptideArray[tPeptideKey] K tab \ tPeptideMassArray[tPeptideKey] - tMass into tOutputData[i] -- note: don't bother with the line of equal signs end repeat combine tOutputData using cr put tOutputData into field Output put the milliseconds into tMilliseconds4 put tMilliseconds4 - tMilliseconds3 milliseconds for output \ cr after msg put tMilliseconds4 - tMilliseconds1 milliseconds total \ cr after msg end mouseUp If I've introduced bugs you'd like me to squash, please let me know. The fact that you have a field ppm rather than a constant in the program causes me to wonder whether you change the value and run the program again. If so, you could use another nested repeat instead. -- Dick ___ 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
Paste into field issue
I copy a web page. A page out of Wikipedia, actually. Command-A, then Command-C. It's not a real big page. Maybe three screens. I move to my stack, already open, put the cursor in a field, and try to paste. The edit menu item blinks blue for a moment, but nothing happens. I move to Stickies, paste into a sticky note. No problem. The whole page is pasted instantly. I copy the contents of the sticky note, move back to my Rev stack, put the cursor into a field and paste. Now the paste happens immediately. I'm using Studio. I first noticed it on my G3 500 mhz Powerbook. I now see the same thing happens with my 466 mhz G4. The Activity Monitor indicates no page-outs, so it looks like memory is not an issue. Closing all other applications doesn't help. If I try to copy a smaller piece of a web page, then I can paste it into a field in Rev. Is this normal behavior? Is it well-known? I don't recall hearing about it before. Tim ___ 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: Paste into field issue
This is a well-known, well-documented bug, and it seems that it is from the Metacard days. The Rev clipboard is not a reliable way of moving data between programs, and the keyboard shortcut (on Mac OSX) will stop working occasionally, then perhaps start working again. These are two separate issues already in Fixzilla. Using the mouse to choose paste will work for me. (G5 OSX 10.4.9) My workaround for the command-V failure is to use a program I have called MenuMaster to set the control-V to be the copy menu choice. When the cmd-V stops working, I use cntr-V. Sometimes I go for weeks without incident, and some days it happens several times. Alas, no recipe that I can define. Jim Ault Las Vegas On 7/16/07 8:29 PM, Timothy Miller [EMAIL PROTECTED] wrote: I copy a web page. A page out of Wikipedia, actually. Command-A, then Command-C. It's not a real big page. Maybe three screens. I move to my stack, already open, put the cursor in a field, and try to paste. The edit menu item blinks blue for a moment, but nothing happens. I move to Stickies, paste into a sticky note. No problem. The whole page is pasted instantly. I copy the contents of the sticky note, move back to my Rev stack, put the cursor into a field and paste. Now the paste happens immediately. I'm using Studio. I first noticed it on my G3 500 mhz Powerbook. I now see the same thing happens with my 466 mhz G4. The Activity Monitor indicates no page-outs, so it looks like memory is not an issue. Closing all other applications doesn't help. If I try to copy a smaller piece of a web page, then I can paste it into a field in Rev. Is this normal behavior? Is it well-known? I don't recall hearing about it before. Tim ___ 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