Re: Why Save the Mac Mini

2007-07-16 Thread Stephen Barncard
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)

2007-07-16 Thread Jim Ault
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

2007-07-16 Thread David Glasgow
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

2007-07-16 Thread Phil Jimmieson


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

2007-07-16 Thread Scott Kane

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

2007-07-16 Thread Judy Perry
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?

2007-07-16 Thread Malte Brill

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?

2007-07-16 Thread Heather Nagey

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)

2007-07-16 Thread Mark Smith


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)

2007-07-16 Thread Jan Schenkel
--- 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

2007-07-16 Thread David Bovill

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

2007-07-16 Thread Andrew Meit

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

2007-07-16 Thread Gregory Lypny

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

2007-07-16 Thread Mark Schonewille

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

2007-07-16 Thread Chris Sheffield

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

2007-07-16 Thread Richard Gaskin

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

2007-07-16 Thread Josh Mellicker

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

2007-07-16 Thread Josh Mellicker

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

2007-07-16 Thread Jim Ault
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

2007-07-16 Thread Mark Schonewille

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

2007-07-16 Thread Mark Schonewille

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

2007-07-16 Thread Sivakatirswami

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

2007-07-16 Thread Mark Schonewille

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)

2007-07-16 Thread Jim Ault
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

2007-07-16 Thread Mark Schonewille

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?

2007-07-16 Thread Michael Binder

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

2007-07-16 Thread Jim Ault
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

2007-07-16 Thread Gregory Lypny

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?

2007-07-16 Thread J. Landman Gay

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

2007-07-16 Thread Gregory Lypny
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

2007-07-16 Thread Beynon, Rob
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?

2007-07-16 Thread Dave Cragg


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

2007-07-16 Thread Tereza Snyder


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

2007-07-16 Thread J. Landman Gay

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?

2007-07-16 Thread Tereza Snyder



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

2007-07-16 Thread Scott Rossi
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?

2007-07-16 Thread Michael Binder

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?

2007-07-16 Thread Michael Binder

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

2007-07-16 Thread Chipp Walters

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

2007-07-16 Thread Sarah Reichelt

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

2007-07-16 Thread Sarah Reichelt

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)

2007-07-16 Thread Mark Smith
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

2007-07-16 Thread Mark Smith
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?

2007-07-16 Thread Mark Smith
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

2007-07-16 Thread Josh Mellicker


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

2007-07-16 Thread Josh Mellicker
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

2007-07-16 Thread Josh Mellicker

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

2007-07-16 Thread Mark Wieder
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

2007-07-16 Thread Gregory Lypny

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

2007-07-16 Thread Kay C Lan

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)

2007-07-16 Thread Dick Kriesel
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

2007-07-16 Thread Timothy Miller
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

2007-07-16 Thread Jim Ault
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