From gcanyon at gmail.com Sun Feb 1 00:51:29 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Sat, 31 Jan 2015 23:51:29 -0600 Subject: Overlap detection? In-Reply-To: <54CD3BD6.5080406@gmail.com> References: <54CD39E4.7080905@gmail.com> <54CD3BD6.5080406@gmail.com> Message-ID: Not sure what's up with the rotation issues, but potentially you could use a square .png with transparency? The alternative, which would also solve your intersect question, would be to use a group of five square graphics. That way your intersect could either use the built-in function on each of the squares, or just do the math based on the rects of the squares. On Sat, Jan 31, 2015 at 2:32 PM, Richmond wrote: > On 31/01/15 22:24, Richmond wrote: > >> http://forums.livecode.com/viewtopic.php?f=22&t=22974 >> >> Richmond. >> > > intersect? > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From revdev at pdslabs.net Sun Feb 1 01:17:12 2015 From: revdev at pdslabs.net (Phil Davis) Date: Sat, 31 Jan 2015 22:17:12 -0800 Subject: 6.7 vs 7.0 performance [was: Re: Tio does not work ] In-Reply-To: <54CD4373.6060709@pdslabs.net> References: <5heevrroelnagayihw9gc92u.1422669761991@email.android.com> <706BCB1B4E1DCFFD.90B1D6A7-7C1E-4923-A138-95A9241F6584@mail.outlook.com> <54CD4373.6060709@pdslabs.net> Message-ID: <54CDC4E8.7050706@pdslabs.net> GatorHost, HostGator, ... I bet someone out there knew what I meant. Phil On 1/31/15 1:04 PM, Phil Davis wrote: > Thanks Ethan. Actually I just opened a GatorHost shared hosting account -- Phil Davis From peter.brett at livecode.com Sun Feb 1 02:38:34 2015 From: peter.brett at livecode.com (Peter TB Brett) Date: Sun, 01 Feb 2015 08:38:34 +0100 Subject: 6.7 vs 7.0 performance In-Reply-To: References: <54C69379.3000606@pdslabs.net> <54CC0B30.9040906@pdslabs.net> Message-ID: On 2015-01-31 23:52, Dr. Hawkins wrote: > "Livecode 7" and "Performance" should not be used in the same sentence > . . . I'm sorry to hear that you've been experiencing performance issues with LiveCode 7. As you may be aware, I have been looking into this recently. I have asked the user community for examples of real-world application stacks (as opposed to synthetic benchmarks) that have experienced significant performance regression on LiveCode 7.0.x when compared to LiveCode 6.7.x. I'm glad to hear that you have one available. If possible, please create a bug report and attach your stack, with a description of how best to observe the slow-down. Otherwise, please e-mail me directly (); I'm happy to discuss your issues under an NDA if required. Peter -- Dr Peter Brett References: <54CD39E4.7080905@gmail.com> <54CD3BD6.5080406@gmail.com> Message-ID: <54CDF0B3.2010008@gmail.com> On 01/02/15 07:51, Geoff Canyon wrote: > Not sure what's up with the rotation issues, but potentially you could use > a square .png with transparency? > > The alternative, which would also solve your intersect question, would be > to use a group of five square graphics. That way your intersect could > either use the built-in function on each of the squares, or just do the > math based on the rects of the squares. > > As I am trying to make a pentominoes game which involves images with transparent parts I'm going, to start with, to fool around with INTERSECT. I hope (???) that INTERSECT only refers to opaque parts of images. Richmond. From alanstenhouse at hotmail.com Sun Feb 1 06:58:45 2015 From: alanstenhouse at hotmail.com (Alan Stenhouse) Date: Sun, 1 Feb 2015 12:58:45 +0100 Subject: Overlap detection? Message-ID: Hi Richmond You?ll want to use the optional threshold parameter for the intersect function. intersect(object,object [,threshold] ) Probably in your case either ?pixels? or ?opaque pixels?! From the Dictionary: Use the intersect function to determine whether one object obscures part of another object, or whether one object is over another object. Parameters: object - an object reference. threshold - The amount of transparency that pixels in the objects must have in order to be counted during the intersect calculation. ? alpha value - An integer between 0 and 255 which specifies a threshold that the alpha value of each pixel must be greater than or equal to in order to be counted during calculation of the intersect. Alternative (readable) theshold options ? "bounds" - (Equivalent to using an alpha value of 0) Specifies that the intersect is calculated using the rect of the two objects. ? "pixels" - (Equivalent to using an alpha value of 1) Specifies that the intersect is calculated using pixels of the objects that have are not completely transparent, ignoring completely transparent areas. ? "opaque pixels" - (Equivalent to using an alpha value of 255) Specifies that the intersect is calculated using only pixels that are completely opaque. HTH! cheers Alan -- Alan Stenhouse alanstenhouse at hotmail.com Check out our apps on the App Store: BeatSpeak - the multilingual talking metronome EV-Point - Find your nearest Electric Vehicle Recharge Station. Re-Collections - Make your family history come to life. Every picture tells your story. From prothero at earthednet.org Sun Feb 1 11:50:29 2015 From: prothero at earthednet.org (Earthednet-wp) Date: Sun, 1 Feb 2015 08:50:29 -0800 Subject: Set Script Limits in Standalones In-Reply-To: References: <6688A027-9C3E-4E55-A481-EFE5869456D4@iotecdigital.com> <54C7C47D.3080801@fourthworld.com> <54C7CD36.5040405@LinkIt.Com> Message-ID: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> Interesting discussion for a livecode list, but it can't resist jumping in. I think the issue of titles is very cultural. In the US, titles are much less important than they are in English society, for example (at least from my extensive knowledge gained by watching "Downton Abbey"). After I got my PhD in physics, occasionally a friend would jokingly tell me she had a pain in her back, or wherever. I'd immediately suggest that she remove her blouse so I could take a look. Ok, I was young. But it got a laugh. I must admit that, as an American where titles are not as important, I wouldn't call myself "Dr" on this list. Personally, I'd rather be judged on my comments and contributions, and I make stupid mistakes just as often as anyone else, and I consider myself a student of livecode anyway. How we use language is cultural and the Oxford dictionary does add slang whose use becomes so common that is part of the language. In the US when we (or I) hear someone called Dr (outside of a college/academic context), I think first of an MD. If I were an MD and was told I wasn't a "real" doctor, I'd be insulted. It's cultural. Personally I'd feel like I was being pompous if I insisted that the title of Dr was used to address me outside of academia. Again, no criticism of Dr Hawkins. I am guessing that, in his world, it's customary. One of the things I love about this list is its diversity and folks are not judged by titles, but by their contributions. We can respect others, even in the face of their mistakes or questions that sometimes seem uninteresting. Ok, back to coffee. Bill William Prothero http://es.earthednet.org > On Jan 31, 2015, at 3:03 PM, "Dr. Hawkins" wrote: > >> On Sat, Jan 31, 2015 at 2:52 PM, Peter M. Brigham wrote: >> >> Sorry, but as an MD I have to protest this. I may not have contributed to >> knowledge in the sense of having published original research, but i'm >> confident that I have contributed to the well-being of thousands of >> patients. That said, I don't take offense at being called "Mr." outside of >> the office. > > I'm not disputing the value of MDs, but the meaning of "doctor" for a > couple of thousand of years before the creation of the modern MD. > > The modern MD was designed (or named) specifically to "borrow" the > prestige/reputation/non-killing-patients of the doctors of the university, > at a time when general medicine was more likely to hurt than help (I think > crossover to net good was 1920, give or take, in the western world). > > It was a wonderful change, and a major factor in modern prosperity. But an > MD isn't what the word doctor (latin for "teach") has meant and been used > as--one who has both acquired significant knowledge in a field, and > contributed to that knowledge (and neither does a J.D., which I also have). > > I just get a kick out of it every time I hear the pompous "I'm a real > doctor" from an MD dismissing, well, real doctors :) > > I don't mind the title around, but the chutzpah in dismissing the real > thing is amusing. > > (I understand, however, that there was an older MD that was comparable to > the PhD and DD, but that's not who most folks were treated by . . .) > > > -- > Dr. Richard E. Hawkins, Esq. > (702) 508-8462 > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dochawk at gmail.com Sun Feb 1 12:07:58 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Sun, 1 Feb 2015 09:07:58 -0800 Subject: Set Script Limits in Standalones In-Reply-To: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> References: <6688A027-9C3E-4E55-A481-EFE5869456D4@iotecdigital.com> <54C7C47D.3080801@fourthworld.com> <54C7CD36.5040405@LinkIt.Com> <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> Message-ID: On Sun, Feb 1, 2015 at 8:50 AM, Earthednet-wp wrote: > Personally I'd feel like I was being pompous if I insisted that the title > of Dr was used to address me outside of academia. Again, no criticism of Dr > Hawkins. I am guessing that, in his world, it's customary. Actually, this account was set up many years ago, while I was a professor--it's a very early gmail accoun, from when the invitations were hard to get. It's "dochawk" instead of "hawk" for no other reason than the minimum name length was six characters (almost none of the namespace was occupied). Since I needed something longer, i used dochawk, which was also my Penn State email (and that because the computer wouldn't issue hawk, as it was a substring of two other email addresses). I've never introduced myself as Dr. outside of a classroom, although in various organizations others have used it. And a few yers ago, a couple of pople started calling me "Doc", which not only stuck but spread. Out of control. For crying out loud, even my priest has dropped my name in favor of "Doc" :) I do tend to fill out forms and credit cards with "Dr." or "Dr. R E" as I do get annoyed by salesmen calling with my first name, trying to sound like someone I know. Listening to them stumble as they get "Dr. R. E." on their screen instead of a first name is one of life's little pleasures :) And my attorney trust account reads "Dr. Richard E. Hawkins IOLTA account"--but not by my choice (actually, over my objection). My wife has always like the checks to read "Professor & Mrs. Richard E. Hawkins" or "Dr. & Mrs. . . ." We already had a checking account at the bank, and when I opened the trust account, an examiner happened to be at the branch--and she insisted that it had to match. Apparently, at some point, the "Dr." had drifted off the checks and onto the account itself . . . -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From ambassador at fourthworld.com Sun Feb 1 12:38:57 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 01 Feb 2015 09:38:57 -0800 Subject: Set Script Limits in Standalones In-Reply-To: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> References: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> Message-ID: <54CE64B1.3000605@fourthworld.com> FWIW, I've never heard Dr. Raney refer to himself as such. Given his personality, I doubt he's at all invested in the title. I use it when referring to him only to annoy him as payback for the many arguments we've had about engine syntax. He's almost always been right in the end, which has made those arguments all the more annoying. :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From mikedoub at gmail.com Sun Feb 1 13:02:12 2015 From: mikedoub at gmail.com (Michael Doub) Date: Sun, 01 Feb 2015 13:02:12 -0500 Subject: [ANN] New version of the MasterLibrary is available Message-ID: <54CE6A24.6030104@gmail.com> Release 24 * added: __Zap - a function that returns only POSIX printable characters, space, tab and return from a string __GetRegexMatches - Finds all the matches of pregex in ptext and returns a list of the start,end char positions __deleteExtraTokens - This fuction witll remove sequences of the specified token that are greater than one. __combinatorial - returns all possible subsets of a set, where n = # of objects in the set __nComb - Returns the # of combinations of n objects taken r at a time __factorial - Returns x! __latLongDist - Finds distances between two points based on Latitude and Longitude __dd2dms - Converts a digital longitude or Latitude into degrees, minutes, seconds, direction format. __dms2dd - Converts a degrees, minutes, seconds, direction longitude or latitude to digital format https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 Enjoy... From jacque at hyperactivesw.com Sun Feb 1 13:18:29 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 01 Feb 2015 12:18:29 -0600 Subject: Set Script Limits in Standalones In-Reply-To: <54CE64B1.3000605@fourthworld.com> References: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> <54CE64B1.3000605@fourthworld.com> Message-ID: I started calling him Dr Raney after you did, which was right after he deleted his email address due to excessive spam and started a new one that used his first name. I thought that was why you never put his name in print and I wanted to be equally considerate. His public statement about the change just referred to "my first name" so I figured we shouldn't publicize it. If I've been teasing him all these years I hope he's taken it in stride. On February 1, 2015 11:38:57 AM CST, Richard Gaskin wrote: >FWIW, I've never heard Dr. Raney refer to himself as such. Given his >personality, I doubt he's at all invested in the title. I use it when >referring to him only to annoy him as payback for the many arguments >we've had about engine syntax. He's almost always been right in the >end, which has made those arguments all the more annoying. :) -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From pete at lcsql.com Sun Feb 1 13:20:22 2015 From: pete at lcsql.com (Peter Haworth) Date: Sun, 1 Feb 2015 10:20:22 -0800 Subject: [ANN] New version of the MasterLibrary is available In-Reply-To: <54CE6A24.6030104@gmail.com> References: <54CE6A24.6030104@gmail.com> Message-ID: Hi Michael, Thanks for keeping this up to date. One tiny cosmetic thing. When you check for a new version, the heading in the file dialog refers to "newver" instead of the actual new version number. A suggestion for you (unless I missed it). As the library gets bigger, it might be useful to have a handler name search function. It's not always obvious which category a handler is in :-) Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Sun, Feb 1, 2015 at 10:02 AM, Michael Doub wrote: > Release 24 > * added: > __Zap - a function that returns only POSIX printable characters, > space, tab and return from a > string > __GetRegexMatches - Finds all the matches of pregex in ptext and > returns a list of the > start,end char positions > __deleteExtraTokens - This fuction witll remove sequences of the > specified token that are greater than > one. > __combinatorial - returns all possible subsets of a set, where n = # > of objects in the set > __nComb - Returns the # of combinations of n objects taken r at a time > __factorial - Returns x! > __latLongDist - Finds distances between two points based on Latitude > and Longitude > __dd2dms - Converts a digital longitude or Latitude into degrees, > minutes, seconds, direction format. > __dms2dd - Converts a degrees, minutes, seconds, direction longitude or > latitude to digital format > > https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 > > Enjoy... > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From mikedoub at gmail.com Sun Feb 1 14:12:05 2015 From: mikedoub at gmail.com (Michael Doub) Date: Sun, 01 Feb 2015 14:12:05 -0500 Subject: [ANN] New version of the MasterLibrary is available In-Reply-To: References: <54CE6A24.6030104@gmail.com> Message-ID: <54CE7A85.2060202@gmail.com> Thanks for catching that bug. It is now fixed in 25. As far as the search, have you tried the filter option? It may not be as obvious as it should be. When you check the filter button, the selection tree turns into a filterable list of handler name and topics. You then have a character by character filtering of the list, rather than a search function. if you check "only selected" it will only display items that have been selected by double clicking. This is helpful if you are adding something to an existing library stack. If this does not meet your needs let me know off list and we can discuss a better way. Regards, Mike On 2/1/15 1:20 PM, Peter Haworth wrote: > Hi Michael, > Thanks for keeping this up to date. > > One tiny cosmetic thing. When you check for a new version, the heading in > the file dialog refers to "newver" instead of the actual new version number. > > A suggestion for you (unless I missed it). As the library gets bigger, it > might be useful to have a handler name search function. It's not always > obvious which category a handler is in :-) > > Pete > lcSQL Software > Home of lcStackBrowser and > SQLiteAdmin > > On Sun, Feb 1, 2015 at 10:02 AM, Michael Doub wrote: > >> Release 24 >> * added: >> __Zap - a function that returns only POSIX printable characters, >> space, tab and return from a >> string >> __GetRegexMatches - Finds all the matches of pregex in ptext and >> returns a list of the >> start,end char positions >> __deleteExtraTokens - This fuction witll remove sequences of the >> specified token that are greater than >> one. >> __combinatorial - returns all possible subsets of a set, where n = # >> of objects in the set >> __nComb - Returns the # of combinations of n objects taken r at a time >> __factorial - Returns x! >> __latLongDist - Finds distances between two points based on Latitude >> and Longitude >> __dd2dms - Converts a digital longitude or Latitude into degrees, >> minutes, seconds, direction format. >> __dms2dd - Converts a degrees, minutes, seconds, direction longitude or >> latitude to digital format >> >> https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 >> >> Enjoy... >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From pete at lcsql.com Sun Feb 1 14:34:43 2015 From: pete at lcsql.com (Peter Haworth) Date: Sun, 1 Feb 2015 11:34:43 -0800 Subject: [ANN] New version of the MasterLibrary is available In-Reply-To: <54CE7A85.2060202@gmail.com> References: <54CE6A24.6030104@gmail.com> <54CE7A85.2060202@gmail.com> Message-ID: Thanks Michael, missed the filter option. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Sun, Feb 1, 2015 at 11:12 AM, Michael Doub wrote: > Thanks for catching that bug. It is now fixed in 25. > > As far as the search, have you tried the filter option? It may not be as > obvious as it should be. When you check the filter button, the selection > tree turns into a filterable list of handler name and topics. You then > have a character by character filtering of the list, rather than a search > function. if you check "only selected" it will only display items that > have been selected by double clicking. This is helpful if you are adding > something to an existing library stack. > > If this does not meet your needs let me know off list and we can discuss a > better way. > > Regards, > Mike > > > > On 2/1/15 1:20 PM, Peter Haworth wrote: > >> Hi Michael, >> Thanks for keeping this up to date. >> >> One tiny cosmetic thing. When you check for a new version, the heading in >> the file dialog refers to "newver" instead of the actual new version >> number. >> >> A suggestion for you (unless I missed it). As the library gets bigger, it >> might be useful to have a handler name search function. It's not always >> obvious which category a handler is in :-) >> >> Pete >> lcSQL Software >> Home of lcStackBrowser and >> SQLiteAdmin >> >> >> On Sun, Feb 1, 2015 at 10:02 AM, Michael Doub wrote: >> >> Release 24 >>> * added: >>> __Zap - a function that returns only POSIX printable characters, >>> space, tab and return from a >>> string >>> __GetRegexMatches - Finds all the matches of pregex in ptext and >>> returns a list of the >>> start,end char positions >>> __deleteExtraTokens - This fuction witll remove sequences of the >>> specified token that are greater than >>> one. >>> __combinatorial - returns all possible subsets of a set, where n = # >>> of objects in the set >>> __nComb - Returns the # of combinations of n objects taken r at a >>> time >>> __factorial - Returns x! >>> __latLongDist - Finds distances between two points based on Latitude >>> and Longitude >>> __dd2dms - Converts a digital longitude or Latitude into degrees, >>> minutes, seconds, direction format. >>> __dms2dd - Converts a degrees, minutes, seconds, direction longitude >>> or >>> latitude to digital format >>> >>> https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 >>> >>> Enjoy... >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dave at applicationinsight.com Sun Feb 1 14:43:02 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Sun, 1 Feb 2015 11:43:02 -0800 (PST) Subject: Set Script Limits in Standalones In-Reply-To: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> References: <6432465A-97D6-47F8-B65E-65E683B69975@byu.edu> <54C7B51D.5090607@LinkIt.Com> <6688A027-9C3E-4E55-A481-EFE5869456D4@iotecdigital.com> <54C7C47D.3080801@fourthworld.com> <54C7CD36.5040405@LinkIt.Com> <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> Message-ID: <1422819782075-4688362.post@n4.nabble.com> A lovely reply Bill I now hope both Peter and Richard are feeling equally valued and respected :) Kind regards Dave Wprothero wrote > Interesting discussion for a livecode list, but it can't resist jumping > in. I think the issue of titles is very cultural. In the US, titles are > much less important than they are in English society, for example (at > least from my extensive knowledge gained by watching "Downton Abbey"). > After I got my PhD in physics, occasionally a friend would jokingly tell > me she had a pain in her back, or wherever. I'd immediately suggest that > she remove her blouse so I could take a look. Ok, I was young. But it got > a laugh. > > I must admit that, as an American where titles are not as important, I > wouldn't call myself "Dr" on this list. Personally, I'd rather be judged > on my comments and contributions, and I make stupid mistakes just as often > as anyone else, and I consider myself a student of livecode anyway. > > How we use language is cultural and the Oxford dictionary does add slang > whose use becomes so common that is part of the language. In the US when > we (or I) hear someone called Dr (outside of a college/academic context), > I think first of an MD. If I were an MD and was told I wasn't a "real" > doctor, I'd be insulted. It's cultural. Personally I'd feel like I was > being pompous if I insisted that the title of Dr was used to address me > outside of academia. Again, no criticism of Dr Hawkins. I am guessing > that, in his world, it's customary. > > One of the things I love about this list is its diversity and folks are > not judged by titles, but by their contributions. We can respect others, > even in the face of their mistakes or questions that sometimes seem > uninteresting. > > Ok, back to coffee. > Bill > > William Prothero > http://es.earthednet.org > >> On Jan 31, 2015, at 3:03 PM, "Dr. Hawkins" < > dochawk@ > > wrote: >> >>> On Sat, Jan 31, 2015 at 2:52 PM, Peter M. Brigham < > pmbrig@ > > wrote: >>> >>> Sorry, but as an MD I have to protest this. I may not have contributed >>> to >>> knowledge in the sense of having published original research, but i'm >>> confident that I have contributed to the well-being of thousands of >>> patients. That said, I don't take offense at being called "Mr." outside >>> of >>> the office. >> >> I'm not disputing the value of MDs, but the meaning of "doctor" for a >> couple of thousand of years before the creation of the modern MD. >> >> The modern MD was designed (or named) specifically to "borrow" the >> prestige/reputation/non-killing-patients of the doctors of the >> university, >> at a time when general medicine was more likely to hurt than help (I >> think >> crossover to net good was 1920, give or take, in the western world). >> >> It was a wonderful change, and a major factor in modern prosperity. But >> an >> MD isn't what the word doctor (latin for "teach") has meant and been used >> as--one who has both acquired significant knowledge in a field, and >> contributed to that knowledge (and neither does a J.D., which I also >> have). >> >> I just get a kick out of it every time I hear the pompous "I'm a real >> doctor" from an MD dismissing, well, real doctors :) >> >> I don't mind the title around, but the chutzpah in dismissing the real >> thing is amusing. >> >> (I understand, however, that there was an older MD that was comparable to >> the PhD and DD, but that's not who most folks were treated by . . .) >> >> >> -- >> Dr. Richard E. Hawkins, Esq. >> (702) 508-8462 >> _______________________________________________ >> use-livecode mailing list >> > use-livecode at .runrev >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at .runrev > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Unicode-tp4688182p4688362.html Sent from the Revolution - User mailing list archive at Nabble.com. From gcanyon at gmail.com Sun Feb 1 15:08:16 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Sun, 1 Feb 2015 14:08:16 -0600 Subject: [ANN] New version of the MasterLibrary is available In-Reply-To: <54CE6A24.6030104@gmail.com> References: <54CE6A24.6030104@gmail.com> Message-ID: You could handle (some) larger combinatorials (and speed up the code) by modifying like so: function __factorialFloor x,f if x <= f then return 1 return x * __factorialFloor(x-1,f) end __factorialFloor function __nCombFloor n, r if (r > 0) or (r <= n) then \ return __factorialFloor(n,max(r,n-r))/__factorial(min(r,n-r)) Answer "nComb error:" && r && "is not between 0 and" && n exit to top end __nCombFloor Of course, to handle even more/larger possible values you could decompose the arguments to their prime factors and eliminate dupes rather than divide, but this was a fairly easy optimization. On Sun, Feb 1, 2015 at 12:02 PM, Michael Doub wrote: > Release 24 > * added: > __Zap - a function that returns only POSIX printable characters, > space, tab and return from a > string > __GetRegexMatches - Finds all the matches of pregex in ptext and > returns a list of the > start,end char positions > __deleteExtraTokens - This fuction witll remove sequences of the > specified token that are greater than > one. > __combinatorial - returns all possible subsets of a set, where n = # > of objects in the set > __nComb - Returns the # of combinations of n objects taken r at a time > __factorial - Returns x! > __latLongDist - Finds distances between two points based on Latitude > and Longitude > __dd2dms - Converts a digital longitude or Latitude into degrees, > minutes, seconds, direction format. > __dms2dd - Converts a degrees, minutes, seconds, direction longitude or > latitude to digital format > > https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 > > Enjoy... > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Sun Feb 1 15:48:51 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Sun, 1 Feb 2015 14:48:51 -0600 Subject: [ANN] New version of the MasterLibrary is available In-Reply-To: References: <54CE6A24.6030104@gmail.com> Message-ID: I couldn't resist. __nCombFactors is slower than __nCombFloor, although faster than the original function (slightly, in my testing), but it offers the advantage that any result that is within the number limits of LC will be returned correctly, regardless of how large the intermediate values would be if they were calculated. For example, __nCombFactors is the only one that (I think) returns the correct value for 80 c 40 The next step (obviously) would be to add a bignum * function, so that nearly any combination could be calculated. function __factorialFloor x,f if x <= f then return 1 return x * __factorialFloor(x-1,f) end __factorialFloor function __nCombFloor n, r if (r > 0) or (r <= n) then \ return __factorialFloor(n,max(r,n-r))/__factorial(min(r,n-r)) Answer "nComb error:" && r && "is not between 0 and" && n exit to top end __nCombFloor function __nCombFactors n, r if (r <= 0) or (r > n) then Answer "nComb error:" && r && "is not between 0 and" && n exit to top end if put __factorialFactors(n,max(r,n-r)+1) into tNum put __factorialFactors(min(r,n-r)) into tDen put __removeItems(tNum,tDen) into c replace comma with "*" in c if c is empty then return 1 else return value(c) end __nCombFactors function __removeItems N,D repeat until D is empty if item 1 of D > item 1 of N then put item 1 of N & comma after R delete item 1 of N else delete item 1 of N delete item 1 of D end if end repeat if N is empty then return char 1 to -2 of R else return R & N end __removeItems function __factorialFactors x,f if f is empty then put 2 into f repeat with i = f to x put __primeFactors(i),"" after R end repeat sort items of R numeric return char 2 to -1 of R end __factorialFactors function __primeFactors x repeat with i = 2 to x div 2 repeat until x mod i <> 0 put i,"" after R put x div i into x if x = 1 then return char 1 to -2 of R end repeat end repeat return x end __primeFactors On Sun, Feb 1, 2015 at 2:08 PM, Geoff Canyon wrote: > You could handle (some) larger combinatorials (and speed up the code) by > modifying like so: > > function __factorialFloor x,f > if x <= f then return 1 > return x * __factorialFloor(x-1,f) > end __factorialFloor > > function __nCombFloor n, r > if (r > 0) or (r <= n) then \ > return __factorialFloor(n,max(r,n-r))/__factorial(min(r,n-r)) > Answer "nComb error:" && r && "is not between 0 and" && n > exit to top > end __nCombFloor > > Of course, to handle even more/larger possible values you could decompose > the arguments to their prime factors and eliminate dupes rather than > divide, but this was a fairly easy optimization. > > On Sun, Feb 1, 2015 at 12:02 PM, Michael Doub wrote: > >> Release 24 >> * added: >> __Zap - a function that returns only POSIX printable characters, >> space, tab and return from a >> string >> __GetRegexMatches - Finds all the matches of pregex in ptext and >> returns a list of the >> start,end char positions >> __deleteExtraTokens - This fuction witll remove sequences of the >> specified token that are greater than >> one. >> __combinatorial - returns all possible subsets of a set, where n = # >> of objects in the set >> __nComb - Returns the # of combinations of n objects taken r at a time >> __factorial - Returns x! >> __latLongDist - Finds distances between two points based on Latitude >> and Longitude >> __dd2dms - Converts a digital longitude or Latitude into degrees, >> minutes, seconds, direction format. >> __dms2dd - Converts a degrees, minutes, seconds, direction longitude >> or latitude to digital format >> >> https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 >> >> Enjoy... >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From pmbrig at gmail.com Sun Feb 1 16:33:42 2015 From: pmbrig at gmail.com (Peter M. Brigham) Date: Sun, 1 Feb 2015 16:33:42 -0500 Subject: Set Script Limits in Standalones In-Reply-To: <1422819782075-4688362.post@n4.nabble.com> References: <6432465A-97D6-47F8-B65E-65E683B69975@byu.edu> <54C7B51D.5090607@LinkIt.Com> <6688A027-9C3E-4E55-A481-EFE5869456D4@iotecdigital.com> <54C7C47D.3080801@fourthworld.com> <54C7CD36.5040405@LinkIt.Com> <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> <1422819782075-4688362.post@n4.nabble.com> Message-ID: I didn't actually take any of this personally to begin with, so it's all good. -- Peter Peter M. Brigham pmbrig at gmail.com http://home.comcast.net/~pmbrig On Feb 1, 2015, at 2:43 PM, Dave Kilroy wrote: > A lovely reply Bill > > I now hope both Peter and Richard are feeling equally valued and respected > :) > > Kind regards > > Dave > > > Wprothero wrote >> Interesting discussion for a livecode list, but it can't resist jumping >> in. I think the issue of titles is very cultural. In the US, titles are >> much less important than they are in English society, for example (at >> least from my extensive knowledge gained by watching "Downton Abbey"). >> After I got my PhD in physics, occasionally a friend would jokingly tell >> me she had a pain in her back, or wherever. I'd immediately suggest that >> she remove her blouse so I could take a look. Ok, I was young. But it got >> a laugh. >> >> I must admit that, as an American where titles are not as important, I >> wouldn't call myself "Dr" on this list. Personally, I'd rather be judged >> on my comments and contributions, and I make stupid mistakes just as often >> as anyone else, and I consider myself a student of livecode anyway. >> >> How we use language is cultural and the Oxford dictionary does add slang >> whose use becomes so common that is part of the language. In the US when >> we (or I) hear someone called Dr (outside of a college/academic context), >> I think first of an MD. If I were an MD and was told I wasn't a "real" >> doctor, I'd be insulted. It's cultural. Personally I'd feel like I was >> being pompous if I insisted that the title of Dr was used to address me >> outside of academia. Again, no criticism of Dr Hawkins. I am guessing >> that, in his world, it's customary. >> >> One of the things I love about this list is its diversity and folks are >> not judged by titles, but by their contributions. We can respect others, >> even in the face of their mistakes or questions that sometimes seem >> uninteresting. >> >> Ok, back to coffee. >> Bill >> >> William Prothero >> http://es.earthednet.org >> >>> On Jan 31, 2015, at 3:03 PM, "Dr. Hawkins" < > >> dochawk@ > >> > wrote: >>> >>>> On Sat, Jan 31, 2015 at 2:52 PM, Peter M. Brigham < > >> pmbrig@ > >> > wrote: >>>> >>>> Sorry, but as an MD I have to protest this. I may not have contributed >>>> to >>>> knowledge in the sense of having published original research, but i'm >>>> confident that I have contributed to the well-being of thousands of >>>> patients. That said, I don't take offense at being called "Mr." outside >>>> of >>>> the office. >>> >>> I'm not disputing the value of MDs, but the meaning of "doctor" for a >>> couple of thousand of years before the creation of the modern MD. >>> >>> The modern MD was designed (or named) specifically to "borrow" the >>> prestige/reputation/non-killing-patients of the doctors of the >>> university, >>> at a time when general medicine was more likely to hurt than help (I >>> think >>> crossover to net good was 1920, give or take, in the western world). >>> >>> It was a wonderful change, and a major factor in modern prosperity. But >>> an >>> MD isn't what the word doctor (latin for "teach") has meant and been used >>> as--one who has both acquired significant knowledge in a field, and >>> contributed to that knowledge (and neither does a J.D., which I also >>> have). >>> >>> I just get a kick out of it every time I hear the pompous "I'm a real >>> doctor" from an MD dismissing, well, real doctors :) >>> >>> I don't mind the title around, but the chutzpah in dismissing the real >>> thing is amusing. >>> >>> (I understand, however, that there was an older MD that was comparable to >>> the PhD and DD, but that's not who most folks were treated by . . .) >>> >>> >>> -- >>> Dr. Richard E. Hawkins, Esq. >>> (702) 508-8462 >>> _______________________________________________ >>> use-livecode mailing list >>> > >> use-livecode at .runrev > >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> _______________________________________________ >> use-livecode mailing list > >> use-livecode at .runrev > >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > ----- > "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior > > -- > View this message in context: http://runtime-revolution.278305.n4.nabble.com/Unicode-tp4688182p4688362.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bdrunrev at gmail.com Sun Feb 1 16:36:44 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Sun, 1 Feb 2015 21:36:44 +0000 Subject: firing mouseEnter msg of an Image control which was painted Message-ID: Hi all, If I drag an image object to a card, mouseEnter is triggered when the mouse enters that image control's border (no actual image filename has been specified, so the image is "blank" - although strangely the imageData of such a "blank" image is not itself empty). If I then use the paint tools palette to paint a thick line in the middle of that image, no mouseEnter is triggered on entering the control's border; that message is not fired until the mouse enters the painted area of the image control. How can I get the mouseEnter to fire when the mouse enters the image control's border, once the image control has been altered with the paint tools? Regards, Bernard From dunbarx at aol.com Sun Feb 1 19:07:21 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Sun, 1 Feb 2015 19:07:21 -0500 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: Message-ID: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> Bernard. To hell with the Superbowl. This is important. Confirmed. The paint inside an image is the only "object" that triggers messages. The enclosing image becomes "invisible". Worse, if you erase all the paint, the image remains recalcitrant. It has been spoiled. One might say it stinks. Craig Newman -----Original Message----- From: Bernard Devlin To: How to use LiveCode Sent: Sun, Feb 1, 2015 4:37 pm Subject: firing mouseEnter msg of an Image control which was painted Hi all, If I drag an image object to a card, mouseEnter is triggered when the mouse enters that image control's border (no actual image filename has been specified, so the image is "blank" - although strangely the imageData of such a "blank" image is not itself empty). If I then use the paint tools palette to paint a thick line in the middle of that image, no mouseEnter is triggered on entering the control's border; that message is not fired until the mouse enters the painted area of the image control. How can I get the mouseEnter to fire when the mouse enters the image control's border, once the image control has been altered with the paint tools? Regards, Bernard _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From terry.judd at unimelb.edu.au Sun Feb 1 19:59:29 2015 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Mon, 2 Feb 2015 00:59:29 +0000 Subject: Building apps for iOS 7? Message-ID: Xcode went and did that automatic update thing on me again and while I managed to download and install past versions and have LiveCode recognise them I don?t seem to be able to build for anything before iOS 8.1. I?m using LC 6.6.5 but I?m getting the same response for all previous 6.6 versions as well. I can still select 7.1 as the target in the simulator and test against that but when I go to build the app it will only let me create an 8.1 compatible app. If I remove Xcode 6.1 from the list of iOS SDKs then it won?t let me build at all. Any clues on how to be able to build against an earlier version of the iOS SDK again? Terry? From scott at tactilemedia.com Sun Feb 1 23:52:54 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Sun, 1 Feb 2015 20:52:54 -0800 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> Message-ID: A few ideas, none of which may work for your situation: - Fill the image with the same background color as your card, so the image only *appears* to be transparent when not ?painted". - Place an opaque graphic (could have its blendLevel set to 100) directly behind the image and do your mouseEnter detection there. You may need to disable the image so the mouseEnter message in only triggered once while within the image?s rect. - Use the within operator in a mouseMove card script or frontScript: on mouseMove X,Y if mouseLoc() is within rect of image ?myImage? then do stuff end mouseMove Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On Feb 1, 2015, Bernard Devlin wrote: > How can I get the mouseEnter to fire when the mouse enters the image > control's border, once the image control has been altered with the paint > tools? From gerry.orkin at gmail.com Mon Feb 2 04:51:05 2015 From: gerry.orkin at gmail.com (Gerry) Date: Mon, 02 Feb 2015 09:51:05 +0000 Subject: Building apps for iOS 7? References: Message-ID: I can build for iOS 7.1 using LC 6.7.1 and xCode 6.1.1. g On Mon Feb 02 2015 at 12:02:20 PM Terry Judd wrote: > Xcode went and did that automatic update thing on me again and while I > managed to download and install past versions and have LiveCode recognise > them I don't seem to be able to build for anything before iOS 8.1. I'm > using LC 6.6.5 but I'm getting the same response for all previous 6.6 > versions as well. I can still select 7.1 as the target in the simulator and > test against that but when I go to build the app it will only let me create > an 8.1 compatible app. If I remove Xcode 6.1 from the list of iOS SDKs then > it won't let me build at all. > > Any clues on how to be able to build against an earlier version of the iOS > SDK again? > > Terry... > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dave at applicationinsight.com Mon Feb 2 09:21:04 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Mon, 2 Feb 2015 06:21:04 -0800 (PST) Subject: Building apps for iOS 7? In-Reply-To: References: Message-ID: <1422886864889-4688371.post@n4.nabble.com> Hi Terry - I also can build for iOS7 using LC 6.6.5 and Xcode 6.1.1. I believe LC 6.6.5 is the oldest version you can use with Xcode 6.1.1 so you will get errors if you try to use earlier versions. Could it be that you recently created new provisioning profiles (or updated existing ones)? If so I would check on the development portal to make sure that nothing has been added to them that means they won't work in iOS7 (their payment thingie for example...) Dave ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Building-apps-for-iOS-7-tp4688368p4688371.html Sent from the Revolution - User mailing list archive at Nabble.com. From dave at applicationinsight.com Mon Feb 2 09:25:41 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Mon, 2 Feb 2015 06:25:41 -0800 (PST) Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> Message-ID: <1422887141806-4688372.post@n4.nabble.com> Looks like you could also use the intersect() function along with the "bounds" option - or am I misunderstanding pixels and alpha values Scott? ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/firing-mouseEnter-msg-of-an-Image-control-which-was-painted-tp4688366p4688372.html Sent from the Revolution - User mailing list archive at Nabble.com. From bdrunrev at gmail.com Mon Feb 2 10:08:10 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Mon, 2 Feb 2015 15:08:10 +0000 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: <1422887141806-4688372.post@n4.nabble.com> References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> Message-ID: Thanks for the suggestions. I'm guessing I'll need to use some kind of proxy control (as Scott suggested) to tell me when the mouse has entered an image control which has been painted. I need to be able to distinguish when the mouse enters this type of image control rather than other types of image, and I was doing that by having a custom property set on such image controls. The painted area may only be 5% of the image, and I need to know when the control itself is under the mouse. Here's another oddity: mouseMove is not fired until the mouse enters the painted area of such an image control. Odder still, mouseLeave is fired even when the painted area is far from the rect of the image control. So, the firing of mouseEnter and mouseLeave are very different when an image control is in this state. Should this (unexpected?) behaviour of painted images be classed as a bug or a feature? Regards Bernard From bdrunrev at gmail.com Mon Feb 2 10:10:09 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Mon, 2 Feb 2015 15:10:09 +0000 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> Message-ID: And another oddity: once a painted image control is selected, then mouseEnter is fired upon entering the rect of the control. Bernard On Mon, Feb 2, 2015 at 3:08 PM, Bernard Devlin wrote: > Thanks for the suggestions. I'm guessing I'll need to use some kind of > proxy control (as Scott suggested) to tell me when the mouse has entered an > image control which has been painted. > > I need to be able to distinguish when the mouse enters this type of image > control rather than other types of image, and I was doing that by having a > custom property set on such image controls. The painted area may only be 5% > of the image, and I need to know when the control itself is under the mouse. > > Here's another oddity: mouseMove is not fired until the mouse enters the > painted area of such an image control. Odder still, mouseLeave is fired > even when the painted area is far from the rect of the image control. So, > the firing of mouseEnter and mouseLeave are very different when an image > control is in this state. > > Should this (unexpected?) behaviour of painted images be classed as a bug > or a feature? > > Regards > Bernard > From mark at sorcery-ltd.co.uk Mon Feb 2 10:20:48 2015 From: mark at sorcery-ltd.co.uk (Mark Wilcox) Date: Mon, 02 Feb 2015 15:20:48 +0000 Subject: Building apps for iOS 7? In-Reply-To: <1422886864889-4688371.post@n4.nabble.com> References: <1422886864889-4688371.post@n4.nabble.com> Message-ID: <1422890448.3274183.221997489.2BC2F5D3@webmail.messagingengine.com> Just as a general FYI - you can create a minimal app skeleton with the wizard in Xcode and check how far back through versions it'll let you build. You can almost always go a couple of major versions back. So, although the latest Xcode comes with the 8.1 SDK you can set the deployment target as far back as 6.0. If it won't work there's some other reason, not the Xcode update. Provisioning profiles is a common cause. It might be nice if the LiveCode standalone builder had a little more intelligence built-in there, rather than allowing me to select anything back to 4.3. Unless you're not building for the App Store it's a bit of lost cause trying to support older versions than the latest official SDK allows - Apple always come up with some new submission requirement that means you need to use the new SDK sooner or later. -- Mark Wilcox mark at sorcery-ltd.co.uk On Mon, Feb 2, 2015, at 02:21 PM, Dave Kilroy wrote: > Hi Terry - I also can build for iOS7 using LC 6.6.5 and Xcode 6.1.1. I > believe LC 6.6.5 is the oldest version you can use with Xcode 6.1.1 so > you > will get errors if you try to use earlier versions. > > Could it be that you recently created new provisioning profiles (or > updated > existing ones)? If so I would check on the development portal to make > sure > that nothing has been added to them that means they won't work in iOS7 > (their payment thingie for example...) > > Dave > > > > ----- > "Some are born coders, some achieve coding, and some have coding thrust > upon them." - William Shakespeare & Hugh Senior > > -- > View this message in context: > http://runtime-revolution.278305.n4.nabble.com/Building-apps-for-iOS-7-tp4688368p4688371.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bdrunrev at gmail.com Mon Feb 2 10:53:38 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Mon, 2 Feb 2015 15:53:38 +0000 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> Message-ID: Putting a mouseWithin handler within the image shows that this message too is not fired, unless the mouse pointer is over a painted area. Again, once the image is selected, then mouseWithin is sent even when the pointer is over a non-painted area. Bernard On Mon, Feb 2, 2015 at 3:10 PM, Bernard Devlin wrote: > And another oddity: > > once a painted image control is selected, then mouseEnter is fired upon > entering the rect of the control. > > Bernard > > > From dunbarx at aol.com Mon Feb 2 12:11:24 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 2 Feb 2015 12:11:24 -0500 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> Message-ID: <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> This is too much. It is a bug. Though an interesting feature might be the addition of new messages, something like "paintEnter" or "paintWithin". But these should always be either nonexistent, or separate from the enclosing image. Anyway, I posted earlier that even if you erase all the paint that you once placed inside, the message lockout persists in the image. This to me is a source of wonder and irritation. It should not be permitted that an "overlay" of paint changes the properties of the object over which it lies. No other object sandwich works that way, or ought to. Craig -----Original Message----- From: Bernard Devlin To: How to use LiveCode Sent: Mon, Feb 2, 2015 10:55 am Subject: Re: firing mouseEnter msg of an Image control which was painted Putting a mouseWithin handler within the image shows that this message too is not fired, unless the mouse pointer is over a painted area. Again, once the image is selected, then mouseWithin is sent even when the pointer is over a non-painted area. Bernard On Mon, Feb 2, 2015 at 3:10 PM, Bernard Devlin wrote: > And another oddity: > > once a painted image control is selected, then mouseEnter is fired upon > entering the rect of the control. > > Bernard > > > _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bdrunrev at gmail.com Mon Feb 2 12:41:51 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Mon, 2 Feb 2015 17:41:51 +0000 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> Message-ID: Craig, it is even stranger than that :) If you use the eraser to remove all paint, then as you say, such messages (e.g. mouseWithin) are not fired. If you set the imageData to empty, such messages (e.g. mouseWithin) are not fired. If you set the text of the image control to empty, such messages (e.g. mouseWithin) do fire. On Mon, Feb 2, 2015 at 5:11 PM, wrote: > This is too much. It is a bug. Though an interesting feature might be the > addition of new messages, something like "paintEnter" or "paintWithin". But > these should always be either nonexistent, or separate from the enclosing > image. > > > Anyway, I posted earlier that even if you erase all the paint that you > once placed inside, the message lockout persists in the image. This to me > is a source of wonder and irritation. It should not be permitted that an > "overlay" of paint changes the properties of the object over which it lies. > No other object sandwich works that way, or ought to. > > > Craig > > From dunbarx at aol.com Mon Feb 2 13:01:24 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 2 Feb 2015 13:01:24 -0500 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> Message-ID: <8D20D29649010C8-C20-DACB@webmail-vm089.sysops.aol.com> Hi. Well, at least we know that an image can be either empty or merely erased. In other words, if the image data is simply a bitmap, (is it?) there is a difference between no pixels and pixels that have been erased. I can see that there might be a distinction, and that is fine as long as we know about it. The text of an erased image is not empty. I contains a couple of lines of encoded data. The text of even a simple image is a lot of stuff. But that does not excuse the message behavior. Will you file a bug report, or wait until others chime in? Craig -----Original Message----- From: Bernard Devlin To: How to use LiveCode Sent: Mon, Feb 2, 2015 12:43 pm Subject: Re: firing mouseEnter msg of an Image control which was painted Craig, it is even stranger than that :) If you use the eraser to remove all paint, then as you say, such messages (e.g. mouseWithin) are not fired. If you set the imageData to empty, such messages (e.g. mouseWithin) are not fired. If you set the text of the image control to empty, such messages (e.g. mouseWithin) do fire. On Mon, Feb 2, 2015 at 5:11 PM, wrote: > This is too much. It is a bug. Though an interesting feature might be the > addition of new messages, something like "paintEnter" or "paintWithin". But > these should always be either nonexistent, or separate from the enclosing > image. > > > Anyway, I posted earlier that even if you erase all the paint that you > once placed inside, the message lockout persists in the image. This to me > is a source of wonder and irritation. It should not be permitted that an > "overlay" of paint changes the properties of the object over which it lies. > No other object sandwich works that way, or ought to. > > > Craig > > _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From iowahengst at mac.com Mon Feb 2 13:11:56 2015 From: iowahengst at mac.com (Randy Hengst) Date: Mon, 02 Feb 2015 12:11:56 -0600 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> Message-ID: <41F9A08B-0433-4CBE-AF55-D035033AFC13@mac.com> How about something like this in the card script? on mouseMove if the mouseLoc is within the rect of image "imageDemo" then put "mouseLoc entered" else put "mouseLoc not in image" end if end mouseMove be well, randy ----- > On Feb 2, 2015, at 11:41 AM, Bernard Devlin > wrote: > > Craig, it is even stranger than that :) > > If you use the eraser to remove all paint, then as you say, such messages > (e.g. mouseWithin) are not fired. > If you set the imageData to empty, such messages (e.g. mouseWithin) are not > fired. > > If you set the text of the image control to empty, such messages (e.g. > mouseWithin) do fire. > > On Mon, Feb 2, 2015 at 5:11 PM, > wrote: > >> This is too much. It is a bug. Though an interesting feature might be the >> addition of new messages, something like "paintEnter" or "paintWithin". But >> these should always be either nonexistent, or separate from the enclosing >> image. >> >> >> Anyway, I posted earlier that even if you erase all the paint that you >> once placed inside, the message lockout persists in the image. This to me >> is a source of wonder and irritation. It should not be permitted that an >> "overlay" of paint changes the properties of the object over which it lies. >> No other object sandwich works that way, or ought to. >> >> >> Craig >> >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From martyknappster at gmail.com Mon Feb 2 13:27:57 2015 From: martyknappster at gmail.com (Marty Knapp) Date: Mon, 02 Feb 2015 10:27:57 -0800 Subject: Convert transparent PNG on import? Message-ID: <54CFC1AD.6070206@gmail.com> Is there a way to convert a transparent PNG graphic to non-transparent when importing? There are 2 bugs on Windows (Mac is OK) when printing transparent images (any image with transparency or any image given transparency via blendLevel or inks. They are bugs 14089 and 14256 - both confirmed. They happen when printing and when using the LC print to PDF feature. At this point I'm limiting my users to importing only Jpegs or BMPs but that is pretty lame. I've also disabled the image fading control I have on my Windows version. Certainly I can tell users to not use transparent PNGs but you know someone will and if they do it may cause them a lot of grief. Alternately, is there a way to detect if an imported PNG has transparency? If so, then I could disallow just those. Thanks, Marty K From jacque at hyperactivesw.com Mon Feb 2 13:29:25 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 02 Feb 2015 12:29:25 -0600 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> Message-ID: <54F453D6-C757-4B1B-A08A-6C9A1F448DB0@hyperactivesw.com> It is intentional, and I believe the behavior was changed to allow this some time ago after many requests. In almost all cases, you only want messages sent over the "active" part of the image. The exceptions are rare. On February 2, 2015 11:11:24 AM CST, dunbarx at aol.com wrote: >This is too much. It is a bug. Though an interesting feature might be >the addition of new messages, something like "paintEnter" or >"paintWithin". But these should always be either nonexistent, or >separate from the enclosing image. > > >Anyway, I posted earlier that even if you erase all the paint that you >once placed inside, the message lockout persists in the image. This to >me is a source of wonder and irritation. It should not be permitted >that an "overlay" of paint changes the properties of the object over >which it lies. No other object sandwich works that way, or ought to. > > >Craig > > > >-----Original Message----- >From: Bernard Devlin >To: How to use LiveCode >Sent: Mon, Feb 2, 2015 10:55 am >Subject: Re: firing mouseEnter msg of an Image control which was >painted > > >Putting a mouseWithin handler within the image shows that this message >too >is not fired, unless the mouse pointer is over a painted area. Again, >once >the image is selected, then mouseWithin is sent even when the pointer >is >over a non-painted area. > >Bernard > >On Mon, Feb 2, 2015 at 3:10 PM, Bernard Devlin >wrote: > >> And another oddity: >> >> once a painted image control is selected, then mouseEnter is fired >upon >> entering the rect of the control. >> >> Bernard >> >> >> >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription >preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode > > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From scott at tactilemedia.com Mon Feb 2 13:34:58 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Mon, 2 Feb 2015 10:34:58 -0800 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: <54F453D6-C757-4B1B-A08A-6C9A1F448DB0@hyperactivesw.com> References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> <54F453D6-C757-4B1B-A08A-6C9A1F448DB0@hyperactivesw.com> Message-ID: <80CCA62A-28BD-469D-870C-7EE34966D794@tactilemedia.com> Right. The unfilled region of a partially painted image should be nonresponsive to mouse messages. This is how one can can create irregular/organic hit regions for the image or another control. But in terms of a completely erased image versus its text set to empty, there may be something there. Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On Feb 2, 2015, at 10:29 AM, J. Landman Gay wrote: > It is intentional, and I believe the behavior was changed to allow this some time ago after many requests. In almost all cases, you only want messages sent over the "active" part of the image. The exceptions are rare. > > On February 2, 2015 11:11:24 AM CST, dunbarx at aol.com wrote: >> This is too much. It is a bug. Though an interesting feature might be >> the addition of new messages, something like "paintEnter" or >> "paintWithin". But these should always be either nonexistent, or >> separate from the enclosing image. >> >> >> Anyway, I posted earlier that even if you erase all the paint that you >> once placed inside, the message lockout persists in the image. This to >> me is a source of wonder and irritation. It should not be permitted >> that an "overlay" of paint changes the properties of the object over >> which it lies. No other object sandwich works that way, or ought to. >> >> >> Craig >> >> >> >> -----Original Message----- >> From: Bernard Devlin >> To: How to use LiveCode >> Sent: Mon, Feb 2, 2015 10:55 am >> Subject: Re: firing mouseEnter msg of an Image control which was >> painted >> >> >> Putting a mouseWithin handler within the image shows that this message >> too >> is not fired, unless the mouse pointer is over a painted area. Again, >> once >> the image is selected, then mouseWithin is sent even when the pointer >> is >> over a non-painted area. >> >> Bernard >> >> On Mon, Feb 2, 2015 at 3:10 PM, Bernard Devlin >> wrote: >> >>> And another oddity: >>> >>> once a painted image control is selected, then mouseEnter is fired >> upon >>> entering the rect of the control. >>> >>> Bernard >>> >>> >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From richmondmathewson at gmail.com Mon Feb 2 13:48:22 2015 From: richmondmathewson at gmail.com (Richmond) Date: Mon, 02 Feb 2015 20:48:22 +0200 Subject: Convert transparent PNG on import? In-Reply-To: <54CFC1AD.6070206@gmail.com> References: <54CFC1AD.6070206@gmail.com> Message-ID: <54CFC676.6060101@gmail.com> On 02/02/15 20:27, Marty Knapp wrote: > Is there a way to convert a transparent PNG graphic to non-transparent > when importing? There are 2 bugs on Windows (Mac is OK) when printing > transparent images (any image with transparency or any image given > transparency via blendLevel or inks. They are bugs 14089 and 14256 - > both confirmed. They happen when printing and when using the LC print > to PDF feature. > > At this point I'm limiting my users to importing only Jpegs or BMPs > but that is pretty lame. I've also disabled the image fading control I > have on my Windows version. Certainly I can tell users to not use > transparent PNGs but you know someone will and if they do it may cause > them a lot of grief. > > Alternately, is there a way to detect if an imported PNG has > transparency? If so, then I could disallow just those. > > Thanks, > Marty K > How about this: when you import an image you then layer it on top of an opaque graphic of the same size, group the image and the graphic, do an: import snapshot from group "My Grouped IMG and GRAPHIC", delete the imported image and the white graphic, and you will have any images that contain transparent areas converted to images with white areas instead. You will not have to fuss about working out whether your imported images contain transparent areas or not as you will perform this process for ALL imported images. Richmond. From scott at tactilemedia.com Mon Feb 2 13:56:16 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Mon, 2 Feb 2015 10:56:16 -0800 Subject: Convert transparent PNG on import? In-Reply-To: <54CFC1AD.6070206@gmail.com> References: <54CFC1AD.6070206@gmail.com> Message-ID: Do your users go through an import process? If yes, and you can determine which images are PNGs (by file suffix for example), then you might be able to replace the contents of the imported PNG with a snapshot of its position on the card. Export a snapshot of the card using the PNGs rect to a variable, and then set the text of the imported image to the variable. If you don?t want to mess with the original PNG, you could import a snapshot on top of the original image before printing, and delete any generated snapshots after printing. Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On Feb 2, 2015, at 10:27 AM, Marty Knapp wrote: > Is there a way to convert a transparent PNG graphic to non-transparent when importing? There are 2 bugs on Windows (Mac is OK) when printing transparent images (any image with transparency or any image given transparency via blendLevel or inks. They are bugs 14089 and 14256 - both confirmed. They happen when printing and when using the LC print to PDF feature. > > At this point I'm limiting my users to importing only Jpegs or BMPs but that is pretty lame. I've also disabled the image fading control I have on my Windows version. Certainly I can tell users to not use transparent PNGs but you know someone will and if they do it may cause them a lot of grief. > > Alternately, is there a way to detect if an imported PNG has transparency? If so, then I could disallow just those. > > Thanks, > Marty K > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dunbarx at aol.com Mon Feb 2 13:59:25 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 2 Feb 2015 13:59:25 -0500 Subject: firing mouseEnter msg of an Image control which was painted In-Reply-To: <80CCA62A-28BD-469D-870C-7EE34966D794@tactilemedia.com> References: <8D20C9359624517-834-A0E9@webmail-vm166.sysops.aol.com> <1422887141806-4688372.post@n4.nabble.com> <8D20D22683DB565-C20-D418@webmail-vm089.sysops.aol.com> <54F453D6-C757-4B1B-A08A-6C9A1F448DB0@hyperactivesw.com> <80CCA62A-28BD-469D-870C-7EE34966D794@tactilemedia.com> Message-ID: <8D20D317F237814-C20-E040@webmail-vm089.sysops.aol.com> Jacque wrote: "In almost all cases, you only want messages sent over the "active" part of the image.." Well, I get that, I suppose. And we do have the ability to distinguish between erased, as opposed to emptied text, and getting or setting that "property" is at least consistent. But the "right" solution is a handful of new messages, like "paintEnter", or a new property, like "paintMessages", which could be set to "true" or "false", and would either keep the current method, or disable it. There is danger that the complete loss of any message action at all in the enclosing image rect once even a single pixel is painted inside seems like a danger. It is at a minimum counterintuitive; after all, one of those rare cases formed the basis of this thread. Craig -----Original Message----- From: Scott Rossi To: How to use LiveCode Sent: Mon, Feb 2, 2015 1:36 pm Subject: Re: firing mouseEnter msg of an Image control which was painted Right. The unfilled region of a partially painted image should be nonresponsive to mouse messages. This is how one can can create irregular/organic hit regions for the image or another control. But in terms of a completely erased image versus its text set to empty, there may be something there. Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On Feb 2, 2015, at 10:29 AM, J. Landman Gay wrote: > It is intentional, and I believe the behavior was changed to allow this some time ago after many requests. In almost all cases, you only want messages sent over the "active" part of the image. The exceptions are rare. > > On February 2, 2015 11:11:24 AM CST, dunbarx at aol.com wrote: >> This is too much. It is a bug. Though an interesting feature might be >> the addition of new messages, something like "paintEnter" or >> "paintWithin". But these should always be either nonexistent, or >> separate from the enclosing image. >> >> >> Anyway, I posted earlier that even if you erase all the paint that you >> once placed inside, the message lockout persists in the image. This to >> me is a source of wonder and irritation. It should not be permitted >> that an "overlay" of paint changes the properties of the object over >> which it lies. No other object sandwich works that way, or ought to. >> >> >> Craig >> >> >> >> -----Original Message----- >> From: Bernard Devlin >> To: How to use LiveCode >> Sent: Mon, Feb 2, 2015 10:55 am >> Subject: Re: firing mouseEnter msg of an Image control which was >> painted >> >> >> Putting a mouseWithin handler within the image shows that this message >> too >> is not fired, unless the mouse pointer is over a painted area. Again, >> once >> the image is selected, then mouseWithin is sent even when the pointer >> is >> over a non-painted area. >> >> Bernard >> >> On Mon, Feb 2, 2015 at 3:10 PM, Bernard Devlin >> wrote: >> >>> And another oddity: >>> >>> once a painted image control is selected, then mouseEnter is fired >> upon >>> entering the rect of the control. >>> >>> Bernard >>> >>> >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Mon Feb 2 14:39:28 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 02 Feb 2015 13:39:28 -0600 Subject: Convert transparent PNG on import? In-Reply-To: References: <54CFC1AD.6070206@gmail.com> Message-ID: <54CFD270.8020505@hyperactivesw.com> On 2/2/2015 12:56 PM, Scott Rossi wrote: > Do your users go through an import process? If yes, and you can > determine which images are PNGs (by file suffix for example), then > you might be able to replace the contents of the imported PNG with a > snapshot of its position on the card. Export a snapshot of the card > using the PNGs rect to a variable, and then set the text of the > imported image to the variable. Could you do something with the alpha channel instead? Like, set it to empty? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From scott at tactilemedia.com Mon Feb 2 15:15:03 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Mon, 2 Feb 2015 12:15:03 -0800 Subject: Convert transparent PNG on import? In-Reply-To: <54CFD270.8020505@hyperactivesw.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> Message-ID: <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> That?s an interesting idea, but I don?t think it will work in many cases because the translucent portions of an image still need to be blended against something. Just removing the alphaData gets rid of the blending, and for example, will make the soft edge of a an antialiased curve jagged. Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On Feb 2, 2015, at 11:39 AM, J. Landman Gay wrote: > On 2/2/2015 12:56 PM, Scott Rossi wrote: >> Do your users go through an import process? If yes, and you can >> determine which images are PNGs (by file suffix for example), then >> you might be able to replace the contents of the imported PNG with a >> snapshot of its position on the card. Export a snapshot of the card >> using the PNGs rect to a variable, and then set the text of the >> imported image to the variable. > > Could you do something with the alpha channel instead? Like, set it to empty? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Mon Feb 2 15:23:24 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 02 Feb 2015 14:23:24 -0600 Subject: Convert transparent PNG on import? In-Reply-To: <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> Message-ID: <54CFDCBC.1000008@hyperactivesw.com> After I posted, it also occured to me that not all transparent images use white as the alphadata color. So without transparency, you might end up with a purple or orange image you didn't expect. Hadn't thought of that. So yeah, probably wouldn't work on a couple of levels. On 2/2/2015 2:15 PM, Scott Rossi wrote: > That?s an interesting idea, but I don?t think it will work in many cases because the translucent portions of an image still need to be blended against something. Just removing the alphaData gets rid of the blending, and for example, will make the soft edge of a an antialiased curve jagged. > > Regards, > > Scott Rossi > Creative Director > Tactile Media, UX/UI Design > > On Feb 2, 2015, at 11:39 AM, J. Landman Gay wrote: > >> On 2/2/2015 12:56 PM, Scott Rossi wrote: >>> Do your users go through an import process? If yes, and you can >>> determine which images are PNGs (by file suffix for example), then >>> you might be able to replace the contents of the imported PNG with a >>> snapshot of its position on the card. Export a snapshot of the card >>> using the PNGs rect to a variable, and then set the text of the >>> imported image to the variable. >> >> Could you do something with the alpha channel instead? Like, set it to empty? >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From martyknappster at gmail.com Mon Feb 2 16:43:33 2015 From: martyknappster at gmail.com (Marty Knapp) Date: Mon, 02 Feb 2015 13:43:33 -0800 Subject: Convert transparent PNG on import? In-Reply-To: <54CFDCBC.1000008@hyperactivesw.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> Message-ID: <54CFEF85.4050808@gmail.com> I had hoped for an on-the-fly remedy to this like Jacque suggested, but it sounds like I'll have to go with something along the lines of what Richmond and Scott have suggested. Thanks everyone. Better yet would be the bug getting fixed! It would be nice if there was a way to know if the bugs you've reported were going to be addressed or not . . . Marty K > After I posted, it also occured to me that not all transparent images > use white as the alphadata color. So without transparency, you might > end up with a purple or orange image you didn't expect. Hadn't thought > of that. So yeah, probably wouldn't work on a couple of levels. > > > On 2/2/2015 2:15 PM, Scott Rossi wrote: >> That?s an interesting idea, but I don?t think it will work in many >> cases because the translucent portions of an image still need to be >> blended against something. Just removing the alphaData gets rid of >> the blending, and for example, will make the soft edge of a an >> antialiased curve jagged. >> >> Regards, >> >> Scott Rossi >> Creative Director >> Tactile Media, UX/UI Design >> >> On Feb 2, 2015, at 11:39 AM, J. Landman Gay >> wrote: >> >>> On 2/2/2015 12:56 PM, Scott Rossi wrote: >>>> Do your users go through an import process? If yes, and you can >>>> determine which images are PNGs (by file suffix for example), then >>>> you might be able to replace the contents of the imported PNG with a >>>> snapshot of its position on the card. Export a snapshot of the card >>>> using the PNGs rect to a variable, and then set the text of the >>>> imported image to the variable. >>> >>> Could you do something with the alpha channel instead? Like, set it >>> to empty? >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> From terry.judd at unimelb.edu.au Mon Feb 2 17:56:55 2015 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Mon, 2 Feb 2015 22:56:55 +0000 Subject: Building apps for iOS 7? In-Reply-To: <1422890448.3274183.221997489.2BC2F5D3@webmail.messagingengine.com> References: <1422886864889-4688371.post@n4.nabble.com> <1422890448.3274183.221997489.2BC2F5D3@webmail.messagingengine.com> Message-ID: Thanks Mark (and Dave and Gerry) - I probably didn?t explain my ?problem? well enough. I?m using an enterprise license so I?m not going through the app store and what I really want to do is to roll back to an earlier version of Xcode so that I can build my app using some pre iOS 8 compatible externals. The problem is that LC will only allow me to build if I include Xcode 6.1 as one of the listed iOS SDKs, and as soon as I do that my build fails because of the incompatible externals. I guess I should just get the updated externals. Terry... On 3/02/2015 2:20 am, "Mark Wilcox" wrote: >Just as a general FYI - you can create a minimal app skeleton with the >wizard in Xcode and check how far back through versions it'll let you >build. You can almost always go a couple of major versions back. So, >although the latest Xcode comes with the 8.1 SDK you can set the >deployment target as far back as 6.0. If it won't work there's some >other reason, not the Xcode update. Provisioning profiles is a common >cause. It might be nice if the LiveCode standalone builder had a little >more intelligence built-in there, rather than allowing me to select >anything back to 4.3. > >Unless you're not building for the App Store it's a bit of lost cause >trying to support older versions than the latest official SDK allows - >Apple always come up with some new submission requirement that means you >need to use the new SDK sooner or later. > >-- > Mark Wilcox > mark at sorcery-ltd.co.uk > >On Mon, Feb 2, 2015, at 02:21 PM, Dave Kilroy wrote: >> Hi Terry - I also can build for iOS7 using LC 6.6.5 and Xcode 6.1.1. I >> believe LC 6.6.5 is the oldest version you can use with Xcode 6.1.1 so >> you >> will get errors if you try to use earlier versions. >> >> Could it be that you recently created new provisioning profiles (or >> updated >> existing ones)? If so I would check on the development portal to make >> sure >> that nothing has been added to them that means they won't work in iOS7 >> (their payment thingie for example...) >> >> Dave >> >> >> >> ----- >> "Some are born coders, some achieve coding, and some have coding thrust >> upon them." - William Shakespeare & Hugh Senior >> >> -- >> View this message in context: >> >>http://runtime-revolution.278305.n4.nabble.com/Building-apps-for-iOS-7-tp >>4688368p4688371.html >> Sent from the Revolution - User mailing list archive at Nabble.com. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From jgbrindle at me.com Mon Feb 2 20:03:27 2015 From: jgbrindle at me.com (Jeff Brindle) Date: Tue, 03 Feb 2015 12:03:27 +1100 Subject: Confusion about making 64 bit binaries for submission Message-ID: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> OK so I am trying to submit a new iOS app and of course it needs to be 64 bit now. So I prepared the standalone with 7.0.2 RC 1 but ran into all sorts of minimum OS compatibility issues with the app loader in Xcode. Waited and then tried again with 7.0.2 RC 2 but it now doesn't seem to generate a 64 bit binary - at least that is what app loader says. Any ideas? Is it me? Cheers, Jeff From david at rotundasoftware.com Mon Feb 2 22:56:03 2015 From: david at rotundasoftware.com (David Beck) Date: Mon, 2 Feb 2015 19:56:03 -0800 Subject: Fwd: Livecode unable to work with proxy servers? In-Reply-To: References: Message-ID: Hello, We have a government client that has Websense Content Gateway, a linux based web proxy, setup for their network. When they try to use our livecode stand alone behind that proxy, our stand alone is unable to communicate with our web servers. The standalone is built with LiveCode 6.7.1rc1. Are there known problems with LiveCode 6.7.1 and proxy servers? Does 7.x play any better with proxies? Is there something we need to do in order to get this working right? Do we need to set the HTTPProxy property? Does anybody have any ideas on how we can help the client track down this issue? The support team at Websense declared the livecode standalone "unable" to work with proxy servers, due to the issues outlined below. However I can't believe this is right. Thank you in advance for any help! David Beck > Hi Tim, > I did lots of test on Volunteer Scheduler pro with proxy. This issue is caused by this application doesn't send standard SSL traffic to WCG, following is the data that this application has send to WCG: > ------------------------------------------------------------------ > CONNECT v5.mspnetservices.com ::443 HTTP/1.1 > Host: v5.mspnetservices.com ::443 > Content-type: multipart/form-data; boundary="_Part_5e8pxn7dpocjxwfhs7twqn2xl" > --_Part_5e8pxn7dpocjxwfhs7twqn2xl > Content-Disposition: form-data; name="request" > Content-Type: application/octet-stream > Content-transfer-encoding: binary > R$.50.....sO-..LN.+N..K./.M,...ce```370024.......u....t...,."....&.&......^.Q.....F > --_Part_5e8pxn7dpocjxwfhs7twqn2xl > Content-Disposition: form-data; name="dontEncryptResponse" > Content-Type: application/octet-stream > Content-transfer-encoding: binary > 1 > --_Part_5e8pxn7dpocjxwfhs7twqn2xl > Content-Disposition: form-data; name="dontDecryptRequest" > Content-Type: application/octet-stream > Content-transfer-encoding: binary > 1 > -_Part_5e8pxn7dpocjxwfhs7twqn2xl- > ------------------------------------------------------------------------- > Above data has three problems: > 1.CONNECT header has two colons before port 443. > 2.CONNECT request has private data without Content-Length header. > 3.Even after WCG tunnelled above data to remote server( v5.mspnetservices.com ), remote server didn't send back any response. > From test, I think this application can't work with any proxy(like Websense, Bluecoat or other vendors), Customer should check above problems with this application's vendor. > Thanks > Ze From bernd.niggemann at uni-wh.de Tue Feb 3 03:37:21 2015 From: bernd.niggemann at uni-wh.de (BNig) Date: Tue, 3 Feb 2015 00:37:21 -0800 (PST) Subject: Convert transparent PNG on import? In-Reply-To: <54CFEF85.4050808@gmail.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> Message-ID: <1422952641352-4688394.post@n4.nabble.com> Hi Marty, would it help if the transparent parts where just a little non-transparent? hardly noticeble You would set all 0 to 1 in alphaData, the rest is unchanged. ------------------------------------------- on mouseUp put the alphaData of image 1 into tAlpha put numToByte(0) into tNull put numToByte(1) into tOne repeat for each byte anAlpha in tAlpha if anAlpha = tNull then put tOne after tCollect else put anAlpha after tCollect end if end repeat set the alphaData of image 1 to tCollect end mouseUp --------------------------------------------- this is fairly fast, works also in 7.x.x Once you change 0 to 1 in alphaData the translucent parts of the png receive mouseClicks etc. You must be aware of that. Kind regards Bernd -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Convert-transparent-PNG-on-import-tp4688381p4688394.html Sent from the Revolution - User mailing list archive at Nabble.com. From peter.brett at livecode.com Tue Feb 3 04:09:21 2015 From: peter.brett at livecode.com (Peter TB Brett) Date: Tue, 03 Feb 2015 10:09:21 +0100 Subject: Fwd: Livecode unable to work with proxy =?UTF-8?Q?servers=3F?= In-Reply-To: References: Message-ID: <617ef84a069105405847ba0a1a98646e@livecode.com> On 2015-02-03 04:56, David Beck wrote: > Hello, > > We have a government client that has Websense Content Gateway, a linux > based web proxy, setup for their network. When they try to use our > livecode > stand alone behind that proxy, our stand alone is unable to communicate > with our web servers. The standalone is built with LiveCode 6.7.1rc1. > > Are there known problems with LiveCode 6.7.1 and proxy servers? Does > 7.x > play any better with proxies? > Is there something we need to do in order to get this working right? Do > we > need to set the HTTPProxy property? > Does anybody have any ideas on how we can help the client track down > this > issue? > > The support team at Websense declared the livecode standalone "unable" > to > work with proxy servers, due to the issues outlined below. However I > can't > believe this is right. > > Thank you in advance for any help! This sounds like something we may be able to help with. Could you please open a ticket on our bug reporting system with the details of this issue? Peter -- Dr Peter Brett LiveCode Engine Development Team From mark at sorcery-ltd.co.uk Tue Feb 3 04:44:40 2015 From: mark at sorcery-ltd.co.uk (Mark Wilcox) Date: Tue, 03 Feb 2015 09:44:40 +0000 Subject: Confusion about making 64 bit binaries for submission In-Reply-To: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> References: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> Message-ID: <1422956680.3632410.222392657.197EA18C@webmail.messagingengine.com> > OK so I am trying to submit a new iOS app and of course it needs to be 64 > bit now. So I prepared the standalone with 7.0.2 RC 1 but ran into all > sorts of minimum OS compatibility issues with the app loader in Xcode. > Waited and then tried again with 7.0.2 RC 2 but it now doesn't seem to > generate a 64 bit binary - at least that is what app loader says. > > Any ideas? Is it me? Which version of Xcode are you using? As far as I know, if you're using LiveCode 7.0.2 and Xcode 6.1 upwards then you can't not try to build for the 64-bit architecture as part of your binary. There's a neat little command line tool called lipo which lets you see which architectures are included in your binary if you want to double check. -- Mark Wilcox mark at sorcery-ltd.co.uk From mark at sorcery-ltd.co.uk Tue Feb 3 04:40:14 2015 From: mark at sorcery-ltd.co.uk (Mark Wilcox) Date: Tue, 03 Feb 2015 09:40:14 +0000 Subject: Building apps for iOS 7? In-Reply-To: References: <1422886864889-4688371.post@n4.nabble.com> <1422890448.3274183.221997489.2BC2F5D3@webmail.messagingengine.com> Message-ID: <1422956414.3629972.222390505.080900EB@webmail.messagingengine.com> > I?m using an enterprise license so I?m not going through the > app store and what I really want to do is to roll back to an earlier > version of Xcode so that I can build my app using some pre iOS 8 > compatible externals. What problem are you running into with the build using incompatible externals? Is it a missing 64-bit architecture? A suitable combination of old LiveCode and old Xcode should work. From richmondmathewson at gmail.com Tue Feb 3 05:33:48 2015 From: richmondmathewson at gmail.com (Richmond) Date: Tue, 03 Feb 2015 12:33:48 +0200 Subject: Convert transparent PNG on import? In-Reply-To: <1422952641352-4688394.post@n4.nabble.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> <1422952641352-4688394.post@n4.nabble.com> Message-ID: <54D0A40C.8010405@gmail.com> On 03/02/15 10:37, BNig wrote: > Hi Marty, > > would it help if the transparent parts where just a little non-transparent? > hardly noticeble > > You would set all 0 to 1 in alphaData, the rest is unchanged. > > ------------------------------------------- > on mouseUp > put the alphaData of image 1 into tAlpha > put numToByte(0) into tNull > put numToByte(1) into tOne > repeat for each byte anAlpha in tAlpha > if anAlpha = tNull then > put tOne after tCollect > else > put anAlpha after tCollect > end if > end repeat > set the alphaData of image 1 to tCollect > end mouseUp > --------------------------------------------- > > this is fairly fast, works also in 7.x.x > > Once you change 0 to 1 in alphaData the translucent parts of the png receive > mouseClicks etc. You must be aware of that. > > Kind regards > Bernd > > This idea seems very good indeed: the fact that the areas set at 1 in alphaData will recieve mouseClicks is no worse than my suggestion about layering with an opaque graphic, but those transparent areas will still appear transparent to the end-user, while with my suggestion they would have ended up as white. Richmond. From sebastien.nouat at livecode.com Tue Feb 3 05:49:55 2015 From: sebastien.nouat at livecode.com (sebastien) Date: Tue, 03 Feb 2015 10:49:55 +0000 Subject: Confusion about making 64 bit binaries for submission In-Reply-To: <1422956680.3632410.222392657.197EA18C@webmail.messagingengine.com> References: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> <1422956680.3632410.222392657.197EA18C@webmail.messagingengine.com> Message-ID: <54D0A7D3.1020104@livecode.com> On 03/02/2015 09:44, Mark Wilcox wrote: >> OK so I am trying to submit a new iOS app and of course it needs to be 64 >> bit now. So I prepared the standalone with 7.0.2 RC 1 but ran into all >> sorts of minimum OS compatibility issues with the app loader in Xcode. >> Waited and then tried again with 7.0.2 RC 2 but it now doesn't seem to >> generate a 64 bit binary - at least that is what app loader says. >> >> Any ideas? Is it me? > Which version of Xcode are you using? As far as I know, if you're using > LiveCode 7.0.2 and Xcode 6.1 upwards then you can't not try to build for > the 64-bit architecture as part of your binary. > > There's a neat little command line tool called lipo which lets you see > which architectures are included in your binary if you want to double > check. > The change made to the building script to include 64-bit compilation of the iOS engines in LC 7.0.2-rc-1 had not not been committed, and we built LC 7.0.2-rc-2 from another machine. Hence the iOS engines in LC 7.0.2-rc-2 do not have the 64-bit architecture (which we realised too late). Also, we are aware of the minimal system version issue, and are currently in the process of fixing it. -- S?bastien Nouat LiveCode Development Team From terry.judd at unimelb.edu.au Tue Feb 3 06:47:00 2015 From: terry.judd at unimelb.edu.au (Terry Judd) Date: Tue, 3 Feb 2015 11:47:00 +0000 Subject: Building apps for iOS 7? In-Reply-To: <1422956414.3629972.222390505.080900EB@webmail.messagingengine.com> References: <1422886864889-4688371.post@n4.nabble.com> <1422890448.3274183.221997489.2BC2F5D3@webmail.messagingengine.com> , <1422956414.3629972.222390505.080900EB@webmail.messagingengine.com> Message-ID: <99281C89-19B7-4628-9148-F0EB6942CF2B@unimelb.edu.au> On 3 Feb 2015, at 9:34 pm, Mark Wilcox wrote: >> I?m using an enterprise license so I?m not going through the >> app store and what I really want to do is to roll back to an earlier >> version of Xcode so that I can build my app using some pre iOS 8 >> compatible externals. > > What problem are you running into with the build using incompatible > externals? Is it a missing 64-bit architecture? > A suitable combination of old LiveCode and old Xcode should work. My last successful build was about 6 months ago and like you say I should just be able to go back to LC 6.6.5 or a bit earlier and a previous version of Xcode, but whatever combo I go with I get a 'red light' in LC's mobile settings pane. Perhaps it's a prefs file issue. Terry... > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bonnmike at gmail.com Tue Feb 3 11:26:44 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Tue, 3 Feb 2015 09:26:44 -0700 Subject: Convert transparent PNG on import? In-Reply-To: <54D0A40C.8010405@gmail.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> <1422952641352-4688394.post@n4.nabble.com> <54D0A40C.8010405@gmail.com> Message-ID: Using an opaque graphic, with the blendlevel set to 100 works fine, or so it seems. On Tue, Feb 3, 2015 at 3:33 AM, Richmond wrote: > On 03/02/15 10:37, BNig wrote: > >> Hi Marty, >> >> would it help if the transparent parts where just a little >> non-transparent? >> hardly noticeble >> >> You would set all 0 to 1 in alphaData, the rest is unchanged. >> >> ------------------------------------------- >> on mouseUp >> put the alphaData of image 1 into tAlpha >> put numToByte(0) into tNull >> put numToByte(1) into tOne >> repeat for each byte anAlpha in tAlpha >> if anAlpha = tNull then >> put tOne after tCollect >> else >> put anAlpha after tCollect >> end if >> end repeat >> set the alphaData of image 1 to tCollect >> end mouseUp >> --------------------------------------------- >> >> this is fairly fast, works also in 7.x.x >> >> Once you change 0 to 1 in alphaData the translucent parts of the png >> receive >> mouseClicks etc. You must be aware of that. >> >> Kind regards >> Bernd >> >> >> > This idea seems very good indeed: the fact that the areas set at 1 in > alphaData will recieve > mouseClicks is no worse than my suggestion about layering with an opaque > graphic, but those > transparent areas will still appear transparent to the end-user, while > with my suggestion > they would have ended up as white. > > Richmond. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From livfoss at mac.com Tue Feb 3 12:04:33 2015 From: livfoss at mac.com (Graham Samuel) Date: Tue, 03 Feb 2015 18:04:33 +0100 Subject: Confusion about making 64 bit binaries for submission In-Reply-To: <54D0A7D3.1020104@livecode.com> References: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> <1422956680.3632410.222392657.197EA18C@webmail.messagingengine.com> <54D0A7D3.1020104@livecode.com> Message-ID: <4F53F76C-59BE-4589-AD04-8A1AAACD00FA@mac.com> I have not seen the announcement for LC 7.0.2-rc-2 at all - keenly awaited, but how did I miss it? Puzzled Graham > On 3 Feb 2015, at 11:49, sebastien wrote: > > The change made to the building script to include 64-bit compilation of the iOS engines in LC 7.0.2-rc-1 had not not been committed, and we built LC 7.0.2-rc-2 from another machine. Hence the iOS engines in LC 7.0.2-rc-2 do not have the 64-bit architecture (which we realised too late). From klaus at major-k.de Tue Feb 3 12:07:30 2015 From: klaus at major-k.de (Klaus major-k) Date: Tue, 3 Feb 2015 18:07:30 +0100 Subject: Confusion about making 64 bit binaries for submission In-Reply-To: <4F53F76C-59BE-4589-AD04-8A1AAACD00FA@mac.com> References: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> <1422956680.3632410.222392657.197EA18C@webmail.messagingengine.com> <54D0A7D3.1020104@livecode.com> <4F53F76C-59BE-4589-AD04-8A1AAACD00FA@mac.com> Message-ID: Hi Graham, > Am 03.02.2015 um 18:04 schrieb Graham Samuel : > > I have not seen the announcement for LC 7.0.2-rc-2 at all - keenly awaited, but how did I miss it? no idea, but it was announced about a week ago. :-) Anyway, bookmark this page for future use: > Puzzled > > Graham Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From livfoss at mac.com Tue Feb 3 12:11:36 2015 From: livfoss at mac.com (Graham Samuel) Date: Tue, 03 Feb 2015 18:11:36 +0100 Subject: Confusion about making 64 bit binaries for submission In-Reply-To: References: <37F3DBF1-D8B5-4EEC-99ED-C1E5855B92B9@me.com> <1422956680.3632410.222392657.197EA18C@webmail.messagingengine.com> <54D0A7D3.1020104@livecode.com> <4F53F76C-59BE-4589-AD04-8A1AAACD00FA@mac.com> Message-ID: <176C0ACE-7F12-458D-A1F4-9284DB390F9C@mac.com> Thanks Klaus - too much travelling I suppose. Thought I?d been following my emails across countries, but apparently not. Ah well. Graham > On 3 Feb 2015, at 18:07, Klaus major-k wrote: > > Hi Graham, > >> Am 03.02.2015 um 18:04 schrieb Graham Samuel : >> >> I have not seen the announcement for LC 7.0.2-rc-2 at all - keenly awaited, but how did I miss it? > > no idea, but it was announced about a week ago. :-) > > Anyway, bookmark this page for future use: > > >> Puzzled >> >> Graham > > Best > > Klaus > > -- > Klaus Major > http://www.major-k.de > klaus at major-k.de > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From martyknappster at gmail.com Tue Feb 3 12:28:05 2015 From: martyknappster at gmail.com (Marty Knapp) Date: Tue, 03 Feb 2015 09:28:05 -0800 Subject: Convert transparent PNG on import? In-Reply-To: <1422952641352-4688394.post@n4.nabble.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> <1422952641352-4688394.post@n4.nabble.com> Message-ID: <54D10525.5090705@gmail.com> Thank Bernd, I'll give that a try. Detecting mouseClicks or other mouse related functions aren't an issue for me in this case - it's that printing images with transparency on Windows can really come out strange and in some cases cause printing to fail. Marty K > Hi Marty, > > would it help if the transparent parts where just a little non-transparent? > hardly noticeble > > You would set all 0 to 1 in alphaData, the rest is unchanged. > > ------------------------------------------- > on mouseUp > put the alphaData of image 1 into tAlpha > put numToByte(0) into tNull > put numToByte(1) into tOne > repeat for each byte anAlpha in tAlpha > if anAlpha = tNull then > put tOne after tCollect > else > put anAlpha after tCollect > end if > end repeat > set the alphaData of image 1 to tCollect > end mouseUp > --------------------------------------------- > > this is fairly fast, works also in 7.x.x > > Once you change 0 to 1 in alphaData the translucent parts of the png receive > mouseClicks etc. You must be aware of that. > > Kind regards > Bernd > > > > -- > View this message in context: http://runtime-revolution.278305.n4.nabble.com/Convert-transparent-PNG-on-import-tp4688381p4688394.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From pmbrig at gmail.com Tue Feb 3 13:59:25 2015 From: pmbrig at gmail.com (Peter M. Brigham) Date: Tue, 3 Feb 2015 13:59:25 -0500 Subject: Convert transparent PNG on import? In-Reply-To: <54D10525.5090705@gmail.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> <1422952641352-4688394.post@n4.nabble.com> <54D10525.5090705@gmail.com> Message-ID: <488F1CB7-6368-481F-A20B-F9C60949446F@gmail.com> On Feb 3, 2015, at 12:28 PM, Marty Knapp wrote: > Thank Bernd, I'll give that a try. Detecting mouseClicks or other mouse related functions aren't an issue for me in this case - it's that printing images with transparency on Windows can really come out strange and in some cases cause printing to fail. if the platform = "Win32" then hide grc "transparentMask" end if -- print routines here show grc "transparentMask" This would take care of it, no? -- Peter Peter M. Brigham pmbrig at gmail.com http://home.comcast.net/~pmbrig From martyknappster at gmail.com Tue Feb 3 14:39:36 2015 From: martyknappster at gmail.com (Marty Knapp) Date: Tue, 03 Feb 2015 11:39:36 -0800 Subject: Convert transparent PNG on import? In-Reply-To: <488F1CB7-6368-481F-A20B-F9C60949446F@gmail.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> <1422952641352-4688394.post@n4.nabble.com> <54D10525.5090705@gmail.com> <488F1CB7-6368-481F-A20B-F9C60949446F@gmail.com> Message-ID: <54D123F8.2080802@gmail.com> Thanks Peter. It may be that we're mixing up two different threads here - there's another about detecting mouse events inside images. In my app, users create documents and are able to import images as part of their design. These documents are then printed and a print job could include hundred of pages. So I don't want to hide anything that the user would expect to have printed. On Mac I'm not having any trouble. On Windows, if the image has transparency either by virtue of its format (ie. a transparent PNG) or transparency has been applied by changing its blendLevel (to fade the image), then very weird things happen. The image gets cut off, "borders" or lines that aren't there get printed and on a long print run the app will become unresponsive for some time and it may just stop printing. I've filed 2 bug reports on this: 14089 and 14256 and they have both been confirmed. If anyone is so inclined and are working on a Windows machine, they could download the sample stacks and see what's happening. My app is built with LC 6.6.5 but the issue seems to span the entire 6.X series. On LC 6.7 the bug manifests itself a little differently but it's still not working correctly. As I didn't want to delay the release of my program, not knowing if/when this would get fixed, I crippled the Windows version by disallowing the import of PNG images as they might have transparency. I also disabled the "fade" control. Not a very satisfactory solution. My thought here was that if I could allow a non-transparent PNG to import but disallow or convert a transparent PNG to non-transparent. That would be a little better. Instructing the user to not use a transparent PNG is not an answer. I know someone will do it and then they'll be very unhappy with the results. Marty K > On Feb 3, 2015, at 12:28 PM, Marty Knapp wrote: > >> Thank Bernd, I'll give that a try. Detecting mouseClicks or other mouse related functions aren't an issue for me in this case - it's that printing images with transparency on Windows can really come out strange and in some cases cause printing to fail. > if the platform = "Win32" then > hide grc "transparentMask" > end if > -- print routines here > show grc "transparentMask" > > This would take care of it, no? > > -- Peter > > Peter M. Brigham > pmbrig at gmail.com > http://home.comcast.net/~pmbrig > > From pmbrig at gmail.com Tue Feb 3 14:51:47 2015 From: pmbrig at gmail.com (Peter M. Brigham) Date: Tue, 3 Feb 2015 14:51:47 -0500 Subject: Convert transparent PNG on import? In-Reply-To: <54D123F8.2080802@gmail.com> References: <54CFC1AD.6070206@gmail.com> <54CFD270.8020505@hyperactivesw.com> <2BC60404-874F-4CBB-AE2B-3E94347819EB@tactilemedia.com> <54CFDCBC.1000008@hyperactivesw.com> <54CFEF85.4050808@gmail.com> <1422952641352-4688394.post@n4.nabble.com> <54D10525.5090705@gmail.com> <488F1CB7-6368-481F-A20B-F9C60949446F@gmail.com> <54D123F8.2080802@gmail.com> Message-ID: <7ACCB8B6-AF7B-4D5C-81AB-84CE24F9CFBA@gmail.com> My misunderstanding? -- Peter Peter M. Brigham pmbrig at gmail.com http://home.comcast.net/~pmbrig On Feb 3, 2015, at 2:39 PM, Marty Knapp wrote: > Thanks Peter. It may be that we're mixing up two different threads here - there's another about detecting mouse events inside images. In my app, users create documents and are able to import images as part of their design. These documents are then printed and a print job could include hundred of pages. So I don't want to hide anything that the user would expect to have printed. From Info at dicod.com Tue Feb 3 15:35:52 2015 From: Info at dicod.com (Jean-Jacques Wagner) Date: Tue, 3 Feb 2015 21:35:52 +0100 Subject: explicitvariables Message-ID: Hi, What to do when the compiler does not accept new variable (explicitvariables?, so it is well set to false). Your done, your script is not working anymore. it disappear and come again. sincerely, Jean-Jacques Wagner From revdev at pdslabs.net Tue Feb 3 15:38:49 2015 From: revdev at pdslabs.net (Phil Davis) Date: Tue, 03 Feb 2015 12:38:49 -0800 Subject: [gig] need help with web video Message-ID: <54D131D9.90803@pdslabs.net> Hi folks, Please contact me off-list if you'd like to know more or be considered for this: I maintain a multi-platform (Mac, Win, web) training system created with LC, whose web implementation needs some changes that are beyond my capability. We need to change our web video player from the current statically loaded MediaElementsJS player, to a dynamically loaded Vimeo player. Playback currently works fine in the right browsers, but the ongoing responsibility for keeping it working in the ever-changing world of browsers is on our shoulders. We want to shift that responsibility to Vimeo's much broader shoulders. This makes sense because the training videos are hosted there. Like I said, please contact me off-list if this is something you might be interested in doing. Thanks - -- Phil Davis From richmondmathewson at gmail.com Tue Feb 3 15:41:25 2015 From: richmondmathewson at gmail.com (Richmond) Date: Tue, 03 Feb 2015 22:41:25 +0200 Subject: [gig] need help with web video In-Reply-To: <54D131D9.90803@pdslabs.net> References: <54D131D9.90803@pdslabs.net> Message-ID: <54D13275.4000002@gmail.com> On 03/02/15 22:38, Phil Davis wrote: > Hi folks, > > Please contact me off-list if you'd like to know more or be considered > for this: > > I maintain a multi-platform (Mac, Win, web) training system created > with LC, whose web implementation needs some changes that are beyond > my capability. We need to change our web video player from the current > statically loaded MediaElementsJS player, to a dynamically loaded > Vimeo player. Playback currently works fine in the right browsers, but > the ongoing responsibility for keeping it working in the ever-changing > world of browsers is on our shoulders. We want to shift that > responsibility to Vimeo's much broader shoulders. This makes sense > because the training videos are hosted there. > > Like I said, please contact me off-list if this is something you might > be interested in doing. > > Thanks - > Why, if it is to be multi-platform are you going to rely on a web-based service (Vimeo)? Surely it would make more sense to use Livecode's own video-delivery capabilities. Richmond. From bdrunrev at gmail.com Tue Feb 3 15:51:33 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Tue, 3 Feb 2015 20:51:33 +0000 Subject: what messages are fired when paint tools are used? Message-ID: Hi all, Am I right in thinking that many messages are not triggered when the tool being used is one of the paint tools? For instance, mouseEnter, mouseLeave, and even mouseMove do not appear to work when LC is in this state. I've never really worked with the paint tools before, but they seem core to the LC system (since they were there since v1 of the language). I would be surprised to discover that messages are not sent when the paint tools are used. For example, I don't see anywhere in the dictionary entry on mouseMove where it says that this (most basic) message only fires when browse and pointer tools are used. Regards Bernard From coiin at verizon.net Tue Feb 3 15:53:45 2015 From: coiin at verizon.net (Colin Holgate) Date: Tue, 03 Feb 2015 15:53:45 -0500 Subject: [gig] need help with web video In-Reply-To: <54D13275.4000002@gmail.com> References: <54D131D9.90803@pdslabs.net> <54D13275.4000002@gmail.com> Message-ID: I believe it?s the browser based version that needs the work. And the videos are already on Vimeo. As an aside (and not worrying about derailing the thread, because anyone interested will be contacting Phil off-list), can LiveCode present a Vimeo stream, using the built in video player? > On Feb 3, 2015, at 3:41 PM, Richmond wrote: > > Why, if it is to be multi-platform are you going to rely on a web-based service (Vimeo)? > > Surely it would make more sense to use Livecode's own video-delivery capabilities. From revdev at pdslabs.net Tue Feb 3 15:54:10 2015 From: revdev at pdslabs.net (Phil Davis) Date: Tue, 03 Feb 2015 12:54:10 -0800 Subject: [gig] need help with web video In-Reply-To: <54D13275.4000002@gmail.com> References: <54D131D9.90803@pdslabs.net> <54D13275.4000002@gmail.com> Message-ID: <54D13572.8020107@pdslabs.net> Hi Richmond, I'm not sure I understand. Do you mean we should use on-rev servers to serve the web video? (The Win & Mac desktop training apps use local desktop video files, distributed as part of the desktop trainings.) Phil On 2/3/15 12:41 PM, Richmond wrote: > On 03/02/15 22:38, Phil Davis wrote: >> Hi folks, >> >> Please contact me off-list if you'd like to know more or be >> considered for this: >> >> I maintain a multi-platform (Mac, Win, web) training system created >> with LC, whose web implementation needs some changes that are beyond >> my capability. We need to change our web video player from the >> current statically loaded MediaElementsJS player, to a dynamically >> loaded Vimeo player. Playback currently works fine in the right >> browsers, but the ongoing responsibility for keeping it working in >> the ever-changing world of browsers is on our shoulders. We want to >> shift that responsibility to Vimeo's much broader shoulders. This >> makes sense because the training videos are hosted there. >> >> Like I said, please contact me off-list if this is something you >> might be interested in doing. >> >> Thanks - >> > > Why, if it is to be multi-platform are you going to rely on a > web-based service (Vimeo)? > > Surely it would make more sense to use Livecode's own video-delivery > capabilities. > > Richmond. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Phil Davis From bdrunrev at gmail.com Tue Feb 3 15:56:11 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Tue, 3 Feb 2015 20:56:11 +0000 Subject: Long IDE pauses? In-Reply-To: References: Message-ID: I am currently working with 6.7, and I'm seeing the IDE freeze for maybe 30 seconds at a time. I've got the message watcher open, and it's not like there's lots going on. Sometimes I see a small LC window pop up for a second then disappear. Finally, I was looking at the message watcher when that happened, and saw the IDE was firing some error message, which then seemed to be immediately cancelled (possibly one of the mouseclicks I did during the time the IDE was frozen ended up getting to the errorDialog and dismissing it - but I doubt it). Is this the kind of thing you have seen? Bernard On Tue, Jan 13, 2015 at 5:36 AM, Bernard Devlin wrote: > I believe I encountered this (slow-stepping through debugger). > > As one of the things I am working on requires something which is 10x to > 20x slower in 7.0.1, I've gone back to using an earlier version. > > Bernard > > On Mon, Jan 12, 2015 at 1:29 AM, Dr. Hawkins wrote: > >> Are other people seeing *really* long pauses in the IDE of 7.0.1 while >> single stepping and editing? >> >> 10-30 seconds seems to happen at least once or twice an hour, and a couple >> of seconds to switch IDE tabs is the norm. >> >> -- >> Dr. Richard E. Hawkins, Esq. >> (702) 508-8462 >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From ambassador at fourthworld.com Tue Feb 3 16:03:01 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 03 Feb 2015 13:03:01 -0800 Subject: explicitvariables In-Reply-To: References: Message-ID: <54D13785.70801@fourthworld.com> Jean-Jacques Wagner wrote: > What to do when the compiler does not accept new variable > (explicitvariables?, so it is well set to false). Your done, > your script is not working anymore. it disappear and come again. Short answer: Don't use the explicitVariables global property; use the "Strict Compilation Mode" option in Preferences instead. TL/DR answer: The explicitVariables global property was originally added to MetaCard for SuperCard compatibility, but neither community used it universally which gave rise to a problem: If any code in the message path doesn't conform to the requirements of explicitVars, that script won't load and an error will be thrown. After looking at this problem in depth, the folks at RunRev came up with a very clever solution that provides the strictness some prefer with explicitVars but also lets them use any other code that doesn't conform: When you set the "Strict Compilation Mode" option to true in Preferences, explicitVariables is set to true, but only momentarily during compilation. This allows the engine to detect any issues with non-conformance to explicitVars, but also allows any other script to be non-conformant without error. So now you can write as you like to write, the authors of any libraries you use can write as they like to write, and all the code will play nicely together. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From dochawk at gmail.com Tue Feb 3 16:04:22 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Tue, 3 Feb 2015 13:04:22 -0800 Subject: explicitvariables In-Reply-To: References: Message-ID: On Tue, Feb 3, 2015 at 12:35 PM, Jean-Jacques Wagner wrote: > What to do when the compiler does not accept new variable > (explicitvariables?, so it is well set to false). Your done, your script is > not working anymore. > it disappear and come again. > There is a very long standing bug in which the compiler claims "The error was: local: name *shadows* another *variable* or constant" A couple of us have thought at times that we had an angle on reproducing it, but nothing to date. The only solution is to quit livecode and restart. It got much, much worse in earlier versions of 6, for which restarting wasn't always enough, and I had to load in 5, save, and reload. I don't know about newer versions of 6. It's about as common in 7 as 5. Oh, and sometimes changing the name of your variable gets around this. If you have in fact declared a global in some portion of the stack, using the same name for a local will usually trigger this. (I say usually, because I've had it come up after months. Perhaps those had compiled with the local name prior to the introduction of the global) -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From jacque at hyperactivesw.com Tue Feb 3 17:10:30 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 03 Feb 2015 16:10:30 -0600 Subject: what messages are fired when paint tools are used? In-Reply-To: References: Message-ID: <54D14756.7080007@hyperactivesw.com> On 2/3/2015 2:51 PM, Bernard Devlin wrote: > Hi all, > > Am I right in thinking that many messages are not triggered when the tool > being used is one of the paint tools? For instance, mouseEnter, > mouseLeave, and even mouseMove do not appear to work when LC is in this > state. > > I've never really worked with the paint tools before, but they seem core to > the LC system (since they were there since v1 of the language). I would be > surprised to discover that messages are not sent when the paint tools are > used. For example, I don't see anywhere in the dictionary entry on > mouseMove where it says that this (most basic) message only fires when > browse and pointer tools are used. I believe the IDE traps and uses the messages. The last time I checked, which was a long time ago, messages fired normally without interference in a standalone. That may have changed now, but way back in MC I remember discovering that. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From dunbarx at aol.com Tue Feb 3 17:29:03 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Tue, 3 Feb 2015 17:29:03 -0500 Subject: what messages are fired when paint tools are used? In-Reply-To: References: Message-ID: <8D20E17F265A08E-1058-172AF@webmail-va039.sysops.aol.com> "mouseMove is sent with any tool. With paint, some messages are sent to the card, such as "moveStack". Both "mouseEnter" and "mouseLeave"is sent when coming from, say, the titleBar, or from outside the card window. . But within a card or its controls, not much... Craig -----Original Message----- From: Bernard Devlin To: How to use LiveCode Sent: Tue, Feb 3, 2015 3:52 pm Subject: what messages are fired when paint tools are used? Hi all, Am I right in thinking that many messages are not triggered when the tool being used is one of the paint tools? For instance, mouseEnter, mouseLeave, and even mouseMove do not appear to work when LC is in this state. I've never really worked with the paint tools before, but they seem core to the LC system (since they were there since v1 of the language). I would be surprised to discover that messages are not sent when the paint tools are used. For example, I don't see anywhere in the dictionary entry on mouseMove where it says that this (most basic) message only fires when browse and pointer tools are used. Regards Bernard _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Tue Feb 3 18:03:46 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 03 Feb 2015 15:03:46 -0800 Subject: Mobile cloud storage Message-ID: <54D153D2.9000102@fourthworld.com> So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, and using those sure beats building a complex storage backend for simple apps. Does our community have yet a library for allowing the user to pick which common storage system they have and an API for reading/writing to it? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From prothero at earthednet.org Tue Feb 3 18:23:24 2015 From: prothero at earthednet.org (William Prothero) Date: Tue, 3 Feb 2015 15:23:24 -0800 Subject: Mobile cloud storage In-Reply-To: <54D153D2.9000102@fourthworld.com> References: <54D153D2.9000102@fourthworld.com> Message-ID: I?d love to hear about this too. Bill > On Feb 3, 2015, at 3:03 PM, Richard Gaskin wrote: > > So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, and using those sure beats building a complex storage backend for simple apps. > > Does our community have yet a library for allowing the user to pick which common storage system they have and an API for reading/writing to it? > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bdrunrev at gmail.com Tue Feb 3 19:16:10 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Wed, 4 Feb 2015 00:16:10 +0000 Subject: what messages are fired when paint tools are used? In-Reply-To: <54D14756.7080007@hyperactivesw.com> References: <54D14756.7080007@hyperactivesw.com> Message-ID: Thanks! That's interesting. And strange. I will create a standalone and test it out. Bernard On Tue, Feb 3, 2015 at 10:10 PM, J. Landman Gay wrote: > I believe the IDE traps and uses the messages. The last time I checked, > which was a long time ago, messages fired normally without interference in > a standalone. That may have changed now, but way back in MC I remember > discovering that. > From bdrunrev at gmail.com Tue Feb 3 19:29:26 2015 From: bdrunrev at gmail.com (Bernard Devlin) Date: Wed, 4 Feb 2015 00:29:26 +0000 Subject: what messages are fired when paint tools are used? In-Reply-To: References: <54D14756.7080007@hyperactivesw.com> Message-ID: In creating a simple test stack, I found in the IDE that mouseMove is at least sent to image controls and to the card. I suppose there is a logic to only those objects receiving messages when the tool is set e.g. to "brush". Others such as mouseEnter are not sent at all when the tool is "brush". I might be able to work with mouseMove alone. On Wed, Feb 4, 2015 at 12:16 AM, Bernard Devlin wrote: > Thanks! That's interesting. And strange. I will create a standalone and > test it out. > > Bernard > > On Tue, Feb 3, 2015 at 10:10 PM, J. Landman Gay > wrote: > >> I believe the IDE traps and uses the messages. The last time I checked, >> which was a long time ago, messages fired normally without interference in >> a standalone. That may have changed now, but way back in MC I remember >> discovering that. >> > From dochawk at gmail.com Tue Feb 3 21:04:34 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Tue, 3 Feb 2015 18:04:34 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 Message-ID: I just saw livecode take 15 minutes building a standalone (quadcore i5,16gb) before finally putting up a message (which I didn't save correctly) that it couldn't find the oracle database driver (which I don't need,anyway). Aside from the fact that that should be findable, should this take this long? -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From dochawk at gmail.com Tue Feb 3 22:25:56 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Tue, 3 Feb 2015 19:25:56 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: Message-ID: On Tue, Feb 3, 2015 at 6:04 PM, Dr. Hawkins wrote: > Aside from the fact that that should be findable, should this take this > long? OK, 15 minutes seems to be how long it takes *without* errors, too. I feel like I fell into the 1980s . . . -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From jgbrindle at me.com Tue Feb 3 22:33:29 2015 From: jgbrindle at me.com (Jeff Brindle) Date: Wed, 04 Feb 2015 14:33:29 +1100 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: Message-ID: <7C8379B9-FAF0-4684-BB6E-C54DDF818B76@me.com> I have created a distribution standalone under 7.0.2 RC 2 and besides it not creating a 64 bit binary experienced no other issues. Seemed just as fast as normal. Cheers, Jeff > On 4 Feb 2015, at 2:25 pm, Dr. Hawkins wrote: > >> On Tue, Feb 3, 2015 at 6:04 PM, Dr. Hawkins wrote: >> >> Aside from the fact that that should be findable, should this take this >> long? > > > OK, 15 minutes seems to be how long it takes *without* errors, too. > > I feel like I fell into the 1980s . . . > > > -- > Dr. Richard E. Hawkins, Esq. > (702) 508-8462 > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Tue Feb 3 23:22:45 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 03 Feb 2015 22:22:45 -0600 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: Message-ID: <402F13CC-1D99-479A-8ECC-B0F4D5D9C543@hyperactivesw.com> Do you have "search for inclusions" in standalone settings set? If so, it has to read every script and look at every object. It's the default. Choose the option to specify inclusions manually. On February 3, 2015 9:25:56 PM CST, "Dr. Hawkins" wrote: >On Tue, Feb 3, 2015 at 6:04 PM, Dr. Hawkins wrote: > >> Aside from the fact that that should be findable, should this take >this >> long? > > >OK, 15 minutes seems to be how long it takes *without* errors, too. > >I feel like I fell into the 1980s . . . -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From livfoss at mac.com Wed Feb 4 06:19:05 2015 From: livfoss at mac.com (Graham Samuel) Date: Wed, 04 Feb 2015 12:19:05 +0100 Subject: Precision and 'abs' Message-ID: I?m having some trouble comparing numbers with lots of decimal places - numbers that ought to be equal are slightly unequal. In the LC Dictionary entry for ?numberFormat? there?s a warning about this, and a suggested solution: > > Note: Since LiveCode does not use decimal numbers for its internal calculations (for reasons of speed), the decimal representation of a number is sometimes slightly off the correct number. For example, 10^-1 is equal to 0.1, but is calculated (to eighteen decimal places) as 0.100000000000000006. Because of this, setting the numberFormat to specify many decimal places after the decimal point may produce unexpected results in a statement that tests for an exact number. To prevent this, either avoid setting the numberFormat to a value more precise than you need, or use the abs function instead of the = operator to test equality: > > set the numberformat to ".##################" > put 10^-1 = 0.1 -- reports false because of the decimal error > put abs((10^-1) - 0.1) = zero -- reports true Well, this sounds good, but looking up the definition of 'abs', there is no suggestion that taking the abs of a number will in any way alter its precision, so what does this advice mean? I have done a test where two numbers differ only after the tenth decimal place, but the test set the numberformat to "0.##########" put abs(aa-bb) = 0 returns false, so it didn't help. Is this just a documentation bug, or is there something funny going on in the LC7.0.2-rc-2? Graham From peterwawood at gmail.com Wed Feb 4 07:17:28 2015 From: peterwawood at gmail.com (Peter W A Wood) Date: Wed, 4 Feb 2015 20:17:28 +0800 Subject: Precision and 'abs' In-Reply-To: References: Message-ID: <979AB060-1ED2-447F-B483-064AB960DDA9@gmail.com> Graham I think that it is a documentation error. As far as I know, LiveCode uses binary floating point numbers when performing arithmetic. Not all non-whole decimal numbers cannot be accurate represented in binary floating point numbers. I cannot see how just comparing the absolute value of the difference between two numbers will be any more accurate than comparing the numbers. This problem isn?t by any means unique to LiveCode. Here is a Windows JavaScript example that shows the same behaviour: var a = 1.0 + 2.0; var b = 3.0; if (a === b) { res = 'correct'; }{ res = 'incorrect'; } WScript.Echo('a === b ' + res); if (Math.abs(a - b) === 0) { res = 'correct'; }{ res = 'incorrect'; } WScript.Echo('abs (a - b) === 0 ' + res); It displays incorrect for both comparisons. (To run the script save it in a file with the extension .js and double-click on it - for Windows only) The normal workaround in JavaScript is to perform all calculations using integers and then scaling the numbers down when you want to display them. Regards Peter This is an enhancement request (Bug 9349) for LiveCode to use decimal floating point numbers in place of binary floating point numbers. > On 4 Feb 2015, at 19:19, Graham Samuel wrote: > > I?m having some trouble comparing numbers with lots of decimal places - numbers that ought to be equal are slightly unequal. In the LC Dictionary entry for ?numberFormat? there?s a warning about this, and a suggested solution: > >> >> Note: Since LiveCode does not use decimal numbers for its internal calculations (for reasons of speed), the decimal representation of a number is sometimes slightly off the correct number. For example, 10^-1 is equal to 0.1, but is calculated (to eighteen decimal places) as 0.100000000000000006. Because of this, setting the numberFormat to specify many decimal places after the decimal point may produce unexpected results in a statement that tests for an exact number. To prevent this, either avoid setting the numberFormat to a value more precise than you need, or use the abs function instead of the = operator to test equality: >> >> set the numberformat to ".##################" >> put 10^-1 = 0.1 -- reports false because of the decimal error >> put abs((10^-1) - 0.1) = zero -- reports true > > Well, this sounds good, but looking up the definition of 'abs', there is no suggestion that taking the abs of a number will in any way alter its precision, so what does this advice mean? I have done a test where two numbers differ only after the tenth decimal place, but the test > > set the numberformat to "0.##########" > put abs(aa-bb) = 0 > > returns false, so it didn't help. > > Is this just a documentation bug, or is there something funny going on in the LC7.0.2-rc-2? > > Graham > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From Info at dicod.com Wed Feb 4 07:17:45 2015 From: Info at dicod.com (Jean-Jacques Wagner) Date: Wed, 4 Feb 2015 13:17:45 +0100 Subject: explicitvariables In-Reply-To: References: Message-ID: <152A6EA5-16D8-4C1B-8606-2F90652D367F@dicod.com> Hi, Many thanks for your reply, I got it, but what for a nightmare. The "Strict Compilation Mode" option in Preferences was set (for some reason) 1) Then I got to the point, that I could not compile anymore my stacks, my libraries run corrupt. on Handlerx .... put 2 into ?h -- thru at that line an error ..... end Handlerx the error says: stack "Prozess": compilation error at line 73 (Chunk: can't create a variable with that name (explicitVariables?)) near "?h", char 15 2) Workaround This was a work around, but when you have to change 3000 lines of script..:-)))( on Handlerx ,,,,,,,,?h,?1,?2 -- (so much momma, so that the variable are not preset) .... put 2 into ?h put 2 into ?1 put 2 into ?2 ..... end Handlerx So I hope that nobody (who else ?) will set me this preferences on again. I will watch. May it be a virus? Hope I have now no problems anymore. Best regards, Jean-Jacques Wagner > Am 04.02.2015 um 12:00 schrieb use-livecode-request at lists.runrev.com: > > Message: 17 > Date: Tue, 03 Feb 2015 13:03:01 -0800 > From: Richard Gaskin > > To: use-livecode at lists.runrev.com > Subject: Re: explicitvariables > Message-ID: <54D13785.70801 at fourthworld.com > > Content-Type: text/plain; charset=utf-8; format=flowed > > Jean-Jacques Wagner wrote: > >> What to do when the compiler does not accept new variable >> (explicitvariables?, so it is well set to false). Your done, >> your script is not working anymore. it disappear and come again. > > Short answer: > > Don't use the explicitVariables global property; use the "Strict > Compilation Mode" option in Preferences instead. > ......... > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com From wow at together.net Wed Feb 4 07:49:03 2015 From: wow at together.net (Richard Miller) Date: Wed, 04 Feb 2015 07:49:03 -0500 Subject: Testing iOS app on non-local devices Message-ID: <54D2153F.10401@together.net> I know Apple makes TestFlight available for testing a pre-release app on non-local devices. What options are available for testing at much earlier stages of development? In other words, If I have an app running on my local iPhone, how can I test this on iPhones and iPads of friends? I know I did this a few years ago, but it was necessary then to have the UDID of each device. Is this still the case? Thanks, Richard Miller From dixonja at hotmail.co.uk Wed Feb 4 09:05:31 2015 From: dixonja at hotmail.co.uk (John Dixon) Date: Wed, 4 Feb 2015 14:05:31 +0000 Subject: Clear out Message-ID: How do I go about removing entries from the propdown profile menu in standalone settings ? From matthias_livecode_150811 at m-r-d.de Wed Feb 4 09:46:51 2015 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe | M-R-D) Date: Wed, 4 Feb 2015 15:46:51 +0100 Subject: Testing iOS app on non-local devices In-Reply-To: <54D2153F.10401@together.net> References: <54D2153F.10401@together.net> Message-ID: Hi Richard, yes, it is still mandatory to have the UDIDs. You have add those to your dev account. Btw.: A nice tool for submitting iOS Apps to the test devices is Airlaunch from Jacqueline Landman Gay. A nice review of that tool can be found here http://newsletters.livecode.com/february/issue128/newsletter3.php I am using it with dropbox to publish the files to the test devices. Regards, Matthias > Am 04.02.2015 um 13:49 schrieb Richard Miller : > > I know Apple makes TestFlight available for testing a pre-release app on non-local devices. What options are available for testing at much earlier stages of development? In other words, If I have an app running on my local iPhone, how can I test this on iPhones and iPads of friends? I know I did this a few years ago, but it was necessary then to have the UDID of each device. Is this still the case? > > Thanks, > Richard Miller > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From livfoss at mac.com Wed Feb 4 10:02:42 2015 From: livfoss at mac.com (Graham Samuel) Date: Wed, 04 Feb 2015 16:02:42 +0100 Subject: Troubles with inequality Message-ID: Using LC 7.0.2-rc-2, I have two numbers, each in its own variable ('temp' and 'aa' below) that may differ at say the eleventh decimal place but are otherwise identical. This bit of code: set the numberformat to "0.######" -- to get 6 dec place precision just for the comparison put temp*1 into temp -- force a calculation to make a character string of the correct length put aa*1 into aa -- force a calculation to make a character string of the correct length if temp <> aa then answer error "No! aa must be" && aa && "length=" & (number of chars of aa) & ", but it is actually" && temp && "length=" & (number of chars of temp) [...] always results in an error even though their length as strings is the same and the actual strings are by inspection identical, i.e. the numbers are being seen as unequal even though their representation as strings is undoubtedly equal. If I code if length (aa) <> length (temp) or (char 1 to length(aa) of temp) <> (char 1 to length(aa) of aa) Then I get the expected result and the error message is not shown. So it looks as if either I have made a massive mistake (always possible, to put it mildly) or the comparison is for the numeric values of the original quantities and not the string representations which I have tried to achieve. This goes against common sense - where are these more precise numbers being stored? Sadly I can't (yet) reduce this to a simple demonstration to report it as a bug, but I shall continue to try. Just wondered if anyone else had seen anything at all like this. Still trying, but puzzled. Graham From mikedoub at gmail.com Wed Feb 4 10:01:43 2015 From: mikedoub at gmail.com (Michael Doub) Date: Wed, 04 Feb 2015 10:01:43 -0500 Subject: Mobile cloud storage In-Reply-To: <54D153D2.9000102@fourthworld.com> References: <54D153D2.9000102@fourthworld.com> Message-ID: <54D23457.3070901@gmail.com> Richard, The only one that I am aware of is phxDropboxLib for Dropbox. I would not mind taking on this project if I could team up with someone for help understanding the authorization parts of each. I still have not gotten my head wrapped around how this is supposed to work and all of the API docs that I have read seem assume you understand it...and I don't! Upfront design collaboration would be helpful as well if the goal is to have a common interface. Regards, Mike On 2/3/15 6:03 PM, Richard Gaskin wrote: > So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, > and using those sure beats building a complex storage backend for > simple apps. > > Does our community have yet a library for allowing the user to pick > which common storage system they have and an API for reading/writing > to it? > From matthias_livecode_150811 at m-r-d.de Wed Feb 4 10:12:34 2015 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe | M-R-D) Date: Wed, 4 Feb 2015 16:12:34 +0100 Subject: Mobile cloud storage In-Reply-To: <54D23457.3070901@gmail.com> References: <54D153D2.9000102@fourthworld.com> <54D23457.3070901@gmail.com> Message-ID: <9B09917D-07FE-411F-8538-A8613C1682C8@m-r-d.de> And some time agao Maarten Koopmans created an iCloud external called miCloud. Regards, Matthias > Am 04.02.2015 um 16:01 schrieb Michael Doub : > > Richard, > > The only one that I am aware of is phxDropboxLib for Dropbox. > > I would not mind taking on this project if I could team up with someone for help understanding the authorization parts of each. I still have not gotten my head wrapped around how this is supposed to work and all of the API docs that I have read seem assume you understand it...and I don't! Upfront design collaboration would be helpful as well if the goal is to have a common interface. > > Regards, > Mike > > > On 2/3/15 6:03 PM, Richard Gaskin wrote: >> So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, and using those sure beats building a complex storage backend for simple apps. >> >> Does our community have yet a library for allowing the user to pick which common storage system they have and an API for reading/writing to it? >> > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From coiin at verizon.net Wed Feb 4 10:14:50 2015 From: coiin at verizon.net (Colin Holgate) Date: Wed, 04 Feb 2015 10:14:50 -0500 Subject: Troubles with inequality In-Reply-To: References: Message-ID: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> The numberformat only affect the appearance of the number, not its value. If you want to compare them based on the appearance characters, you can compare them as strings instead of numbers. Try this: on mouseUp put 1.234567 into temp put 1.2345678 into aa set the numberFormat to "0.###" put temp * 1 into temp put aa * 1 into aa answer aa = temp answer word 1 of aa = word 1 of temp answer word 1 of aa end mouseUp From bonnmike at gmail.com Wed Feb 4 11:02:27 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Wed, 4 Feb 2015 09:02:27 -0700 Subject: Mobile cloud storage In-Reply-To: <54D23457.3070901@gmail.com> References: <54D153D2.9000102@fourthworld.com> <54D23457.3070901@gmail.com> Message-ID: Michael D., IF you DO get to where you understand the authentication stuff, could you share your understanding? I struggle with the same area of knowledge, and you're right. Everything is written as if its already understood, and you just need a few specifics for the service rather than an actual explanation and tutorial. On Wed, Feb 4, 2015 at 8:01 AM, Michael Doub wrote: > Richard, > > The only one that I am aware of is phxDropboxLib for Dropbox. > > I would not mind taking on this project if I could team up with someone > for help understanding the authorization parts of each. I still have not > gotten my head wrapped around how this is supposed to work and all of the > API docs that I have read seem assume you understand it...and I don't! > Upfront design collaboration would be helpful as well if the goal is to > have a common interface. > > Regards, > Mike > > > On 2/3/15 6:03 PM, Richard Gaskin wrote: > >> So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, and >> using those sure beats building a complex storage backend for simple apps. >> >> Does our community have yet a library for allowing the user to pick which >> common storage system they have and an API for reading/writing to it? >> >> > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From mikedoub at gmail.com Wed Feb 4 11:06:10 2015 From: mikedoub at gmail.com (mikedoub at gmail.com) Date: Wed, 04 Feb 2015 11:06:10 -0500 Subject: Mobile cloud storage In-Reply-To: References: <54D153D2.9000102@fourthworld.com> <54D23457.3070901@gmail.com> Message-ID: <20150204160610.6107287.56626.9389@gmail.com> Sure, I would be happy to share when the fog lifts. :-) ? Original Message ? From: Mike Bonner Sent: Wednesday, February 4, 2015 11:03 AM To: How to use LiveCode Reply To: How to use LiveCode Subject: Re: Mobile cloud storage Michael D., IF you DO get to where you understand the authentication stuff, could you share your understanding? I struggle with the same area of knowledge, and you're right. Everything is written as if its already understood, and you just need a few specifics for the service rather than an actual explanation and tutorial. On Wed, Feb 4, 2015 at 8:01 AM, Michael Doub wrote: > Richard, > > The only one that I am aware of is phxDropboxLib for Dropbox. > > I would not mind taking on this project if I could team up with someone > for help understanding the authorization parts of each. I still have not > gotten my head wrapped around how this is supposed to work and all of the > API docs that I have read seem assume you understand it...and I don't! > Upfront design collaboration would be helpful as well if the goal is to > have a common interface. > > Regards, > Mike > > > On 2/3/15 6:03 PM, Richard Gaskin wrote: > >> So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, and >> using those sure beats building a complex storage backend for simple apps. >> >> Does our community have yet a library for allowing the user to pick which >> common storage system they have and an API for reading/writing to it? >> >> > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From prothero at earthednet.org Wed Feb 4 11:13:39 2015 From: prothero at earthednet.org (Earthednet-wp) Date: Wed, 4 Feb 2015 08:13:39 -0800 Subject: Precision and 'abs' In-Reply-To: <979AB060-1ED2-447F-B483-064AB960DDA9@gmail.com> References: <979AB060-1ED2-447F-B483-064AB960DDA9@gmail.com> Message-ID: Why not try the round function to limit the number of digits being compared? Put round(myNum,nDigits) - round(num2,nDigits)=theDiff Bill William Prothero http://es.earthednet.org > On Feb 4, 2015, at 4:17 AM, Peter W A Wood wrote: > > Graham > > I think that it is a documentation error. As far as I know, LiveCode uses binary floating point numbers when performing arithmetic. Not all non-whole decimal numbers cannot be accurate represented in binary floating point numbers. I cannot see how just comparing the absolute value of the difference between two numbers will be any more accurate than comparing the numbers. > > This problem isn?t by any means unique to LiveCode. Here is a Windows JavaScript example that shows the same behaviour: > > var a = 1.0 + 2.0; > var b = 3.0; > if (a === b) { > res = 'correct'; > }{ > res = 'incorrect'; > } > WScript.Echo('a === b ' + res); > if (Math.abs(a - b) === 0) { > res = 'correct'; > }{ > res = 'incorrect'; > } > WScript.Echo('abs (a - b) === 0 ' + res); > > It displays incorrect for both comparisons. (To run the script save it in a file with the extension .js and double-click on it - for Windows only) > > The normal workaround in JavaScript is to perform all calculations using integers and then scaling the numbers down when you want to display them. > > Regards > > Peter > > This is an enhancement request (Bug 9349) for LiveCode to use decimal floating point numbers in place of binary floating point numbers. > > >> On 4 Feb 2015, at 19:19, Graham Samuel wrote: >> >> I?m having some trouble comparing numbers with lots of decimal places - numbers that ought to be equal are slightly unequal. In the LC Dictionary entry for ?numberFormat? there?s a warning about this, and a suggested solution: >> >>> >>> Note: Since LiveCode does not use decimal numbers for its internal calculations (for reasons of speed), the decimal representation of a number is sometimes slightly off the correct number. For example, 10^-1 is equal to 0.1, but is calculated (to eighteen decimal places) as 0.100000000000000006. Because of this, setting the numberFormat to specify many decimal places after the decimal point may produce unexpected results in a statement that tests for an exact number. To prevent this, either avoid setting the numberFormat to a value more precise than you need, or use the abs function instead of the = operator to test equality: >>> >>> set the numberformat to ".##################" >>> put 10^-1 = 0.1 -- reports false because of the decimal error >>> put abs((10^-1) - 0.1) = zero -- reports true >> >> Well, this sounds good, but looking up the definition of 'abs', there is no suggestion that taking the abs of a number will in any way alter its precision, so what does this advice mean? I have done a test where two numbers differ only after the tenth decimal place, but the test >> >> set the numberformat to "0.##########" >> put abs(aa-bb) = 0 >> >> returns false, so it didn't help. >> >> Is this just a documentation bug, or is there something funny going on in the LC7.0.2-rc-2? >> >> Graham >> >> >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dunbarx at aol.com Wed Feb 4 11:36:31 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Wed, 4 Feb 2015 11:36:31 -0500 Subject: Troubles with inequality In-Reply-To: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> Message-ID: <8D20EAFDD8A42B9-1CF4-19F5A@webmail-va077.sysops.aol.com> Graham. You might consider using the "round" function, with its precision set to whatever decimal value you wish, likely that value that you used to consider setting the numberformat. This will do almost the same thing, and trunc at that level, which is what I believe you thought the numberformat did. "Almost", because note that the rounding at that level may introduce a complication for you. Craig Newman on mouseUp put 1.234567 into temp put 1.2345678 into aa set the numberFormat to "0.###" put temp * 1 into temp put aa * 1 into aa answer aa = temp answer word 1 of aa = word 1 of temp answer word 1 of aa end mouseUp -----Original Message----- From: Colin Holgate To: How to use LiveCode Sent: Wed, Feb 4, 2015 10:16 am Subject: Re: Troubles with inequality The numberformat only affect the appearance of the number, not its value. If you want to compare them based on the appearance characters, you can compare them as strings instead of numbers. Try this: on mouseUp put 1.234567 into temp put 1.2345678 into aa set the numberFormat to "0.###" put temp * 1 into temp put aa * 1 into aa answer aa = temp answer word 1 of aa = word 1 of temp answer word 1 of aa end mouseUp _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From coiin at verizon.net Wed Feb 4 11:55:37 2015 From: coiin at verizon.net (Colin Holgate) Date: Wed, 04 Feb 2015 11:55:37 -0500 Subject: Troubles with inequality In-Reply-To: <8D20EAFDD8A42B9-1CF4-19F5A@webmail-va077.sysops.aol.com> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <8D20EAFDD8A42B9-1CF4-19F5A@webmail-va077.sysops.aol.com> Message-ID: <9A6DAB55-4A8A-427C-916B-9AA1E62B323F@verizon.net> Round has a problem in that rounding could change the nature of something. For example, you want to see if 1.9995 is similar to 1.9994, but you end up checking 1.9 against 2.0. One nice addition would be to give Trunk the same second parameter that Round has. Then you would keep the nature of the string. From dunbarx at aol.com Wed Feb 4 12:12:00 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Wed, 4 Feb 2015 12:12:00 -0500 Subject: Troubles with inequality In-Reply-To: <9A6DAB55-4A8A-427C-916B-9AA1E62B323F@verizon.net> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <8D20EAFDD8A42B9-1CF4-19F5A@webmail-va077.sysops.aol.com> <9A6DAB55-4A8A-427C-916B-9AA1E62B323F@verizon.net> Message-ID: <8D20EB4D21E5EE7-1CF4-1A23F@webmail-va077.sysops.aol.com> Colin. That would be a great feature. But trunc() takes no second param. I will ask for one, though. Craig -----Original Message----- From: Colin Holgate To: How to use LiveCode Sent: Wed, Feb 4, 2015 11:56 am Subject: Re: Troubles with inequality Round has a problem in that rounding could change the nature of something. For example, you want to see if 1.9995 is similar to 1.9994, but you end up checking 1.9 against 2.0. One nice addition would be to give Trunk the same second parameter that Round has. Then you would keep the nature of the string. _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Wed Feb 4 12:31:48 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 4 Feb 2015 12:31:48 -0500 Subject: Mobile cloud storage In-Reply-To: <20150204160610.6107287.56626.9389@gmail.com> References: <54D153D2.9000102@fourthworld.com> <54D23457.3070901@gmail.com> <20150204160610.6107287.56626.9389@gmail.com> Message-ID: FYI, I uncovered another issue with phxDropboxLib, but it doesn't affect mobile, and I haven't had time to competely chase it down and patch it, either. On Wed, Feb 4, 2015 at 11:06 AM, wrote: > Sure, I would be happy to share when the fog lifts. :-) > > Original Message > From: Mike Bonner > Sent: Wednesday, February 4, 2015 11:03 AM > To: How to use LiveCode > Reply To: How to use LiveCode > Subject: Re: Mobile cloud storage > > Michael D., IF you DO get to where you understand the authentication stuff, > could you share your understanding? I struggle with the same area of > knowledge, and you're right. Everything is written as if its already > understood, and you just need a few specifics for the service rather than > an actual explanation and tutorial. > > On Wed, Feb 4, 2015 at 8:01 AM, Michael Doub wrote: > > > Richard, > > > > The only one that I am aware of is phxDropboxLib for Dropbox. > > > > I would not mind taking on this project if I could team up with someone > > for help understanding the authorization parts of each. I still have not > > gotten my head wrapped around how this is supposed to work and all of the > > API docs that I have read seem assume you understand it...and I don't! > > Upfront design collaboration would be helpful as well if the goal is to > > have a common interface. > > > > Regards, > > Mike > > > > > > On 2/3/15 6:03 PM, Richard Gaskin wrote: > > > >> So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, > and > >> using those sure beats building a complex storage backend for simple > apps. > >> > >> Does our community have yet a library for allowing the user to pick > which > >> common storage system they have and an API for reading/writing to it? > >> > >> > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From wow at together.net Wed Feb 4 12:34:09 2015 From: wow at together.net (Richard Miller) Date: Wed, 04 Feb 2015 12:34:09 -0500 Subject: Testing iOS app on non-local devices In-Reply-To: References: <54D2153F.10401@together.net> Message-ID: <54D25811.5040300@together.net> Thanks, Matthias. On 2/4/15 9:46 AM, Matthias Rebbe | M-R-D wrote: > Hi Richard, > > yes, it is still mandatory to have the UDIDs. You have add those to your dev account. > > Btw.: A nice tool for submitting iOS Apps to the test devices is Airlaunch from Jacqueline Landman Gay. > A nice review of that tool can be found here > > http://newsletters.livecode.com/february/issue128/newsletter3.php > > I am using it with dropbox to publish the files to the test devices. > > > Regards, > > Matthias > > >> Am 04.02.2015 um 13:49 schrieb Richard Miller : >> >> I know Apple makes TestFlight available for testing a pre-release app on non-local devices. What options are available for testing at much earlier stages of development? In other words, If I have an app running on my local iPhone, how can I test this on iPhones and iPads of friends? I know I did this a few years ago, but it was necessary then to have the UDID of each device. Is this still the case? >> >> Thanks, >> Richard Miller >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mark.rauterkus at gmail.com Wed Feb 4 13:21:06 2015 From: mark.rauterkus at gmail.com (Mark Rauterkus) Date: Wed, 4 Feb 2015 13:21:06 -0500 Subject: Pointer: Nice article. Not too techie. Message-ID: Hi, https://medium.com/@karan/the-7-rules-for-writing-software-that-wont-die-when-you-do-38ef0a925650 Article above seems like a nice read. Perhaps a good launch pad for a tutorial or three. -- Ta. Mark Rauterkus Mark.Rauterkus at gmail.com PPS Summer Dreamers' Swim and Water Polo Camp Head Coach Varsity Boys Swim Coach, Pittsburgh Obama Academy Head Water Polo Coach, Carnegie Mellon University Women's Club Team Pittsburgh Combined Water Polo Team http://Rauterkus.blogspot.com http://FixPA.wikia.com http://CLOH.wikia.com 412 298 3432 = cell From ambassador at fourthworld.com Wed Feb 4 14:20:41 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 04 Feb 2015 11:20:41 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: Message-ID: <54D27109.3080301@fourthworld.com> Dr. Hawkins wrote: > I just saw livecode take 15 minutes building a standalone (quadcore > i5,16gb)... That's a very long time. Can you give us some estimates (or actual numbers) for: - Number of objects - Number of lines of code - Total stack file size -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From prothero at earthednet.org Wed Feb 4 15:28:18 2015 From: prothero at earthednet.org (William Prothero) Date: Wed, 4 Feb 2015 12:28:18 -0800 Subject: Troubles with inequality In-Reply-To: <9A6DAB55-4A8A-427C-916B-9AA1E62B323F@verizon.net> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <8D20EAFDD8A42B9-1CF4-19F5A@webmail-va077.sysops.aol.com> <9A6DAB55-4A8A-427C-916B-9AA1E62B323F@verizon.net> Message-ID: <21984697-54B3-463B-930D-8244C732A70F@earthednet.org> Colin: But: I don?t see this. Say your target accuracy is six figures. You would us: put round(myNum1,6) into num1 put round(myNum2,6) into num2 So, for example, 3.1234569 would round to 3.123457 3.1234563 would round to 3.123456, which would be unequal, but 3.1234567 would round up to 3.123457 and show as equal. If you use too many digits, you will run into the limits of the binary number accuracy. If you do round(1.9,1) and round(2.0), you should be comparing 1.9 to 2.0. which would show as unequal. Bill > On Feb 4, 2015, at 8:55 AM, Colin Holgate wrote: > > Round has a problem in that rounding could change the nature of something. For example, you want to see if 1.9995 is similar to 1.9994, but you end up checking 1.9 against 2.0. One nice addition would be to give Trunk the same second parameter that Round has. Then you would keep the nature of the string. > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From prothero at earthednet.org Wed Feb 4 15:32:58 2015 From: prothero at earthednet.org (William Prothero) Date: Wed, 4 Feb 2015 12:32:58 -0800 Subject: [gig] need help with web video Message-ID: Paolo: It works on Windows. Haven?t tested in on Mac, again, because I just used the older implementation on Mac. I?ll test. An existing problem, tho is the fact that Apple won?t accept it in the store because the bundle is broken, according the App Wrapper 3. Bill William A. Prothero http://es.earthednet.org/ From coiin at verizon.net Wed Feb 4 16:00:53 2015 From: coiin at verizon.net (Colin Holgate) Date: Wed, 04 Feb 2015 16:00:53 -0500 Subject: Troubles with inequality In-Reply-To: <21984697-54B3-463B-930D-8244C732A70F@earthednet.org> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <8D20EAFDD8A42B9-1CF4-19F5A@webmail-va077.sysops.aol.com> <9A6DAB55-4A8A-427C-916B-9AA1E62B323F@verizon.net> <21984697-54B3-463B-930D-8244C732A70F@earthednet.org> Message-ID: <65667848-22E1-4D02-9987-CA3CB9AB9765@verizon.net> Yes, my example wasn?t good. Interestingly, round(1.49999999999999) returns 1 and round (1.49999999999999) returns 2. From livfoss at mac.com Wed Feb 4 16:01:18 2015 From: livfoss at mac.com (Graham Samuel) Date: Wed, 04 Feb 2015 22:01:18 +0100 Subject: Troubles with inequality In-Reply-To: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> Message-ID: <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> Fascinating! Up to this moment, it seemed to me that the **appearance** of a number in a variable or more particularly in a field, **is** the number - where is the space where the engine can put an extended value? Is there something hidden in the object, perhaps in word 2? I mean, I have always thought that setting the numberFormat ensured that the result of a subsequent calculation was in effect a character string whose length was determined by the numberFormat setting. From your code, it seems this is not the case. I don?t think this issue is tackled at all in the LC Dictionary, tho I may be wrong, as I have been about everything else on this topic. So really, if I want an uncomplicated string of characters derived from a number via setting the numberFormat and then doing a calculation, how do I get it? Do I have to copy out the characters of Word 1 one by one? Graham > On 4 Feb 2015, at 16:14, Colin Holgate wrote: > > The numberformat only affect the appearance of the number, not its value. If you want to compare them based on the appearance characters, you can compare them as strings instead of numbers. Try this: > > on mouseUp > put 1.234567 into temp > put 1.2345678 into aa > set the numberFormat to "0.###" > put temp * 1 into temp > put aa * 1 into aa > answer aa = temp > answer word 1 of aa = word 1 of temp > answer word 1 of aa > end mouseUp > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Wed Feb 4 16:40:15 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 4 Feb 2015 21:40:15 +0000 Subject: encrypt storage Message-ID: <67F79B28-6364-40CA-8E24-693BA499AE53@iotecdigital.com> Hi all. I?m using encrypt/decrypt with aes128 cipher. Am I going to need to encode the hash before storing it on an SQL server that I will access through the Internet? Bob S From bobsneidar at iotecdigital.com Wed Feb 4 17:22:42 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 4 Feb 2015 22:22:42 +0000 Subject: How to detect that user closed window Message-ID: <45E1D2D3-E69A-4573-84CD-0035A5DB070C@iotecdigital.com> Hi all. Did anyone ever find a workaround for detecting that the user clicked the Close Window control, so I can intercept it and save the stack so Livecode does not ask? I suppose I could save the damn stack overtime I do anything in any handler, but GEEZE. Bob S From jacque at hyperactivesw.com Wed Feb 4 17:32:54 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 04 Feb 2015 16:32:54 -0600 Subject: How to detect that user closed window In-Reply-To: <45E1D2D3-E69A-4573-84CD-0035A5DB070C@iotecdigital.com> References: <45E1D2D3-E69A-4573-84CD-0035A5DB070C@iotecdigital.com> Message-ID: <54D29E16.10106@hyperactivesw.com> On 2/4/2015 4:22 PM, Bob Sneidar wrote: > > Did anyone ever find a workaround for detecting that the user clicked > the Close Window control, so I can intercept it and save the stack so > Livecode does not ask? I suppose I could save the damn stack overtime > I do anything in any handler, but GEEZE. Doesn't closeStackRequest work? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Wed Feb 4 17:42:27 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 04 Feb 2015 16:42:27 -0600 Subject: Troubles with inequality In-Reply-To: <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> Message-ID: <54D2A053.1040902@hyperactivesw.com> On 2/4/2015 3:01 PM, Graham Samuel wrote: > Fascinating! Up to this moment, it seemed to me that the > **appearance** of a number in a variable or more particularly in a > field, **is** the number - where is the space where the engine can > put an extended value? The number retains its full value as long as it remains in RAM. The numberformat only works when an operation is performed on it that converts it to a string. So, placing it into a field will cause it to become the visible representation of the number if you pull it back out of the field again later. Putting the number into a variable frequently turns it into a string unless the engine determines the variable is actually a number and retains it as such. put "12.5" into tVar -- still a number add 2 to tVar -- still a number put tVar into fld 1 -- tVar remains a number, field contains a string put "x" after tVar -- now it's a string Numberformat does only change the representation of the number, but is only applied when something turns that number into a string. put 1.55555 into tVar -- number set the numberformat to "0.00" add 1 to tVar -- still a number put tVar into fld 1 -- numberformat applied here, field contains a string "2.56" add 1 to tVar -- still a number, contains 3.55555 -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Wed Feb 4 17:44:55 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 04 Feb 2015 16:44:55 -0600 Subject: Troubles with inequality In-Reply-To: <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> Message-ID: <54D2A0E7.5040003@hyperactivesw.com> On 2/4/2015 3:01 PM, Graham Samuel wrote: > So really, if I want an uncomplicated string of characters derived > from a number via setting the numberFormat and then doing a > calculation, how do I get it? You can turn it into a string by putting empty after it: put 1.55555 into tVar -- number set the numberformat to "0.00" add 1 to tVar -- still a number put tVar into fld 1 -- numberformat applied now, field contains a string "2.55" add 1 to tVar -- still a number, contains 3.55555 put empty after tVar -- numberformat applies, tVar is a string -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bonnmike at gmail.com Wed Feb 4 18:00:30 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Wed, 4 Feb 2015 16:00:30 -0700 Subject: Which version Message-ID: Hey, i'm sending a laptop to a friend in another state, and am going to be installing a version of LC community for them to play with. The laptop is a mac core 2 duo (white.) I'm trying to decide WHICH version to send. For reliability and speed, i'm leaning towards a NON 7+ version. For features, i'm leaning the other way. However, since unicode stuff probably won't be a big issue for them at first.. Is there any big glaring reason other than unicode, to set it up with 7? Recommendations for the most stable version? Thanks in advance. From livfoss at mac.com Wed Feb 4 18:02:13 2015 From: livfoss at mac.com (Graham Samuel) Date: Thu, 05 Feb 2015 00:02:13 +0100 Subject: Troubles with inequality In-Reply-To: <54D2A0E7.5040003@hyperactivesw.com> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> <54D2A0E7.5040003@hyperactivesw.com> Message-ID: Thanks Jacque, a gold mine of information as usual. But it?s pretty obscure, isn?t it? All this started for me because I wanted to test if two numbers were equal, knowing that they probably weren?t exactly equal to the last decimal place but nevertheless were ?engineering equal? as it were - say to six places of decimals. So I tried to truncate them to that length and then compare them. More fool me. But now I think I know what should be done, thanks to you - and to everyone else who replied. Graham > On 4 Feb 2015, at 23:44, J. Landman Gay wrote: > > On 2/4/2015 3:01 PM, Graham Samuel wrote: >> So really, if I want an uncomplicated string of characters derived >> from a number via setting the numberFormat and then doing a >> calculation, how do I get it? > > You can turn it into a string by putting empty after it: > > put 1.55555 into tVar -- number > set the numberformat to "0.00" > add 1 to tVar -- still a number > put tVar into fld 1 -- numberformat applied now, field contains a string "2.55" > add 1 to tVar -- still a number, contains 3.55555 > put empty after tVar -- numberformat applies, tVar is a string > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dochawk at gmail.com Wed Feb 4 18:07:55 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 4 Feb 2015 15:07:55 -0800 Subject: explicitvariables In-Reply-To: <152A6EA5-16D8-4C1B-8606-2F90652D367F@dicod.com> References: <152A6EA5-16D8-4C1B-8606-2F90652D367F@dicod.com> Message-ID: On Wed, Feb 4, 2015 at 4:17 AM, Jean-Jacques Wagner wrote: > The "Strict Compilation Mode" option in Preferences was set (for some > reason( > That's a good thing. I don't even like variable names not being case-sensitive . . . Also, you will find that you get good and bad days with this bug; this morning was brutal for me (single changes to code were triggering it) I suspect that attempting to save as script while the program is running makes the bug more likely to bite. And when it does, you can usually get through the moment by turning off strict compilation in preferences, then turning on again. Finally, saves are successful even when the compiler is failing. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From dochawk at gmail.com Wed Feb 4 18:09:30 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 4 Feb 2015 15:09:30 -0800 Subject: removing accumulated garbage fro stacks? Message-ID: There was a recent discussion about accumulated unplaced images and groups. But how are these found? How does one go hunting for these? -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From jacque at hyperactivesw.com Wed Feb 4 18:20:31 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 04 Feb 2015 17:20:31 -0600 Subject: Troubles with inequality In-Reply-To: References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> <54D2A0E7.5040003@hyperactivesw.com> Message-ID: <54D2A93F.8020100@hyperactivesw.com> It's obscure, yes, though the dictionary has this: "Important! Changing the numberFormat does not automatically change the format of a number that's already in a container. It affects numbers only when they are calculated and then displayed or used as strings. Otherwise, the number retains its full numeric precision." The "already in a container" should be more precise though and specify "in a variable". Fields are containers, but they only hold strings. On 2/4/2015 5:02 PM, Graham Samuel wrote: > Thanks Jacque, a gold mine of information as usual. But it?s pretty obscure, isn?t it? All this started for me because I wanted to test if two numbers were equal, knowing that they probably weren?t exactly equal to the last decimal place but nevertheless were ?engineering equal? as it were - say to six places of decimals. So I tried to truncate them to that length and then compare them. More fool me. But now I think I know what should be done, thanks to you - and to everyone else who replied. > > Graham > > >> On 4 Feb 2015, at 23:44, J. Landman Gay wrote: >> >> On 2/4/2015 3:01 PM, Graham Samuel wrote: >>> So really, if I want an uncomplicated string of characters derived >>> from a number via setting the numberFormat and then doing a >>> calculation, how do I get it? >> >> You can turn it into a string by putting empty after it: >> >> put 1.55555 into tVar -- number >> set the numberformat to "0.00" >> add 1 to tVar -- still a number >> put tVar into fld 1 -- numberformat applied now, field contains a string "2.55" >> add 1 to tVar -- still a number, contains 3.55555 >> put empty after tVar -- numberformat applies, tVar is a string >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From prothero at earthednet.org Wed Feb 4 18:39:21 2015 From: prothero at earthednet.org (William Prothero) Date: Wed, 4 Feb 2015 15:39:21 -0800 Subject: Question re project organization In-Reply-To: References: Message-ID: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> Folks: I?d like some advice on project organization as I take my app to the next step. I am creating a standalone that will work on Mac and Windows, possibly future modification to mobile, but not for now. I have a basic app where the use can access information about the Earth, and want to the user be able to add downloadable code modules. The basic app has resources that will be used by additions that will provide challenges and information and will use the basic app for data. So, it?s kind of like a splash app. Specifications and descriptions of downloadable additions will be stored on a database and the use can choose which ones are wanted. So, given Apple?s sandboxing requirements, where should the downloaded parts be put? Is the MacOS folder the correct place? In Windows, would it be the same folder as the exe? Tnx for any wisdom. Regards, Bill William A. Prothero http://es.earthednet.org/ From dochawk at gmail.com Wed Feb 4 18:48:30 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 4 Feb 2015 15:48:30 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D27109.3080301@fourthworld.com> References: <54D27109.3080301@fourthworld.com> Message-ID: On Wed, Feb 4, 2015 at 11:20 AM, Richard Gaskin wrote: > > I just saw livecode take 15 minutes building a standalone (quadcore > > i5,16gb)... > > That's a very long time. > > indeed :) I think it was something like 3-5 min with 5.5, but it probably wasn't even that long Can you give us some estimates (or actual numbers) for: > - Number of objects > Lots. Lots and lots and lots. :) I don't even know how to guess. Looks like generally 60-200 per page on the main entry stack of 12 cards, with about 1200 lines of code between the stack and cards. Hmm, only 600 objects on the Chapter 13 plan; I"m surprised. Who knows how many orphaned bits. Ony a couple of simple images, and a couple of pdfs of court forms turned into jpg images. - Number of lines of code > 12,000 lines of code (including older commneted out) in the main control stack . Another couple of sacks with 7000 and 3000 lines in the stack files. 30 cards in the stack of forms for general output, with six more in a nevada forms stack, generally with little or no code -- but many hving hundres of objects (theone I just opened has 450 to generatethree pages) Probably 8-9k lines in the buttons for behaviors that reside one the first page of the main sack. A few more small stacks. And some older parts of the program have more objects with scripts. I'd sure love to have livecode distribute over a directory rather than be monolithic . . . - Total stack file size -- 14.5mb--but versions from earlier today are 11.8mb. Nothing of consequence was added. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From pete at lcsql.com Wed Feb 4 19:01:58 2015 From: pete at lcsql.com (Peter Haworth) Date: Wed, 4 Feb 2015 16:01:58 -0800 Subject: removing accumulated garbage fro stacks? In-Reply-To: References: Message-ID: As mentioned in that thread, there's an undocumented stack property revUnplacedGroupIDs. You'll need a simple script to go through your stack/substacks and check that property. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Wed, Feb 4, 2015 at 3:09 PM, Dr. Hawkins wrote: > There was a recent discussion about accumulated unplaced images and groups. > > But how are these found? How does one go hunting for these? > > -- > Dr. Richard E. Hawkins, Esq. > (702) 508-8462 > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Wed Feb 4 19:12:41 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 04 Feb 2015 16:12:41 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: Message-ID: <54D2B579.3050901@fourthworld.com> That doesn't seem big enough to need 15 minutes to scan the objects. Anyone else seen anything like this? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com Dr. Hawkins wrote: > On Wed, Feb 4, 2015 at 11:20 AM, Richard Gaskin wrote: > >> > I just saw livecode take 15 minutes building a standalone (quadcore >> > i5,16gb)... >> >> That's a very long time. >> >> indeed :) > > I think it was something like 3-5 min with 5.5, but it probably wasn't even > that long > > Can you give us some estimates (or actual numbers) for: >> - Number of objects >> > > Lots. > > Lots and lots and lots. > > :) > > I don't even know how to guess. > > Looks like generally 60-200 per page on the main entry stack of 12 cards, > with about 1200 lines of code between the stack and cards. > > Hmm, only 600 objects on the Chapter 13 plan; I"m surprised. > > Who knows how many orphaned bits. > > Ony a couple of simple images, and a couple of pdfs of court forms turned > into jpg images. > > - Number of lines of code >> > > > 12,000 lines of code (including older commneted out) in the main control > stack . > > Another couple of sacks with 7000 and 3000 lines in the stack files. > > > 30 cards in the stack of forms for general output, with six more in a > nevada forms stack, generally with little or no code -- but many hving > hundres of objects (theone I just opened has 450 to generatethree pages) > > Probably 8-9k lines in the buttons for behaviors that reside one the first > page of the main sack. > > A few more small stacks. > > And some older parts of the program have more objects with scripts. > > I'd sure love to have livecode distribute over a directory rather than be > monolithic . . . > > > > - Total stack file size -- > > > 14.5mb--but versions from earlier today are 11.8mb. Nothing of consequence > was added. > From dochawk at gmail.com Wed Feb 4 19:48:17 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 4 Feb 2015 16:48:17 -0800 Subject: removing accumulated garbage fro stacks? In-Reply-To: References: Message-ID: On Wed, Feb 4, 2015 at 4:01 PM, Peter Haworth wrote: > As mentioned in that thread, there's an undocumented stack property > revUnplacedGroupIDs. You'll need a simple script to go through your > stack/substacks and check that property. > I managed to miss that splinter of the thread :( Tried it. Lots of them. 212 in the first stack I checked. I tried a button with the script, on mouseUp repeat with i = 1 to 21 put the the name of stack i & cr & the number of lines in (the revUnplacedGroupIDs of stack i) repeat for each line theLin in the revUnplacedGroupIDs of stack i put the long name of group id theLin of stack i & cr & the locked of of group id theLin of stack i end repeat end repeat end mouseUp but I get button "Button": execution error at line n/a (Object: stack locked, or object's script is executing) But the object is in stack dna, while the button is on stack mcp, and the check shows that the group is unlocked -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From bogdanoff at me.com Wed Feb 4 19:51:16 2015 From: bogdanoff at me.com (Peter Bogdanoff) Date: Wed, 04 Feb 2015 16:51:16 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D2B579.3050901@fourthworld.com> References: <54D2B579.3050901@fourthworld.com> Message-ID: I have a project where there was a main stack with some subs stacks, and the whole size was 100 MB. Probably 4000 cards + 200 images. It was taken maybe 15+ minutes to build. I took out the large sub stacks and keep them separate in a data folder. Now it takes seconds to build a launcher stack that opens all the other stacks. This makes updating files easier as well. Peter UCLA > On Feb 4, 2015, at 4:12 PM, Richard Gaskin wrote: > > That doesn't seem big enough to need 15 minutes to scan the objects. > > Anyone else seen anything like this? > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > > Dr. Hawkins wrote: > > > On Wed, Feb 4, 2015 at 11:20 AM, Richard Gaskin wrote: > > > >> > I just saw livecode take 15 minutes building a standalone (quadcore > >> > i5,16gb)... > >> > >> That's a very long time. > >> > >> indeed :) > > > > I think it was something like 3-5 min with 5.5, but it probably wasn't even > > that long > > > > Can you give us some estimates (or actual numbers) for: > >> - Number of objects > >> > > > > Lots. > > > > Lots and lots and lots. > > > > :) > > > > I don't even know how to guess. > > > > Looks like generally 60-200 per page on the main entry stack of 12 cards, > > with about 1200 lines of code between the stack and cards. > > > > Hmm, only 600 objects on the Chapter 13 plan; I"m surprised. > > > > Who knows how many orphaned bits. > > > > Ony a couple of simple images, and a couple of pdfs of court forms turned > > into jpg images. > > > > - Number of lines of code > >> > > > > > > 12,000 lines of code (including older commneted out) in the main control > > stack . > > > > Another couple of sacks with 7000 and 3000 lines in the stack files. > > > > > > 30 cards in the stack of forms for general output, with six more in a > > nevada forms stack, generally with little or no code -- but many hving > > hundres of objects (theone I just opened has 450 to generatethree pages) > > > > Probably 8-9k lines in the buttons for behaviors that reside one the first > > page of the main sack. > > > > A few more small stacks. > > > > And some older parts of the program have more objects with scripts. > > > > I'd sure love to have livecode distribute over a directory rather than be > > monolithic . . . > > > > > > > > - Total stack file size -- > > > > > > 14.5mb--but versions from earlier today are 11.8mb. Nothing of consequence > > was added. > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Wed Feb 4 20:00:20 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 04 Feb 2015 19:00:20 -0600 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D2B579.3050901@fourthworld.com> References: <54D2B579.3050901@fourthworld.com> Message-ID: <54D2C0A4.8010407@hyperactivesw.com> On 2/4/2015 6:12 PM, Richard Gaskin wrote: > That doesn't seem big enough to need 15 minutes to scan the objects. > > Anyone else seen anything like this? > I've never built an app that large, for something like that I usually use the splash method so that I can have modules. I'm still thinking the slowdown is due to having "search for required inclusions" selected in the standalone settings. The search would have to scan and parse at least 30,000+ lines just given the specs that were listed. Richard (the Hawkins one,) did you try turning that off? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From pete at lcsql.com Wed Feb 4 20:40:06 2015 From: pete at lcsql.com (Peter Haworth) Date: Wed, 4 Feb 2015 17:40:06 -0800 Subject: removing accumulated garbage fro stacks? In-Reply-To: References: Message-ID: Not sure what might cause that. I would create a brand new stack and put the script in it, using the name of your mainstack and its substacks property to get the stack names for the check. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Wed, Feb 4, 2015 at 4:48 PM, Dr. Hawkins wrote: > On Wed, Feb 4, 2015 at 4:01 PM, Peter Haworth wrote: > > > As mentioned in that thread, there's an undocumented stack property > > revUnplacedGroupIDs. You'll need a simple script to go through your > > stack/substacks and check that property. > > > > > I managed to miss that splinter of the thread :( > > Tried it. > > Lots of them. > > 212 in the first stack I checked. > > I tried a button with the script, > > > on mouseUp > repeat with i = 1 to 21 > put the the name of stack i & cr & the number of lines in (the > revUnplacedGroupIDs of stack i) > repeat for each line theLin in the revUnplacedGroupIDs of stack i > put the long name of group id theLin of stack i & cr & the locked > of of group id theLin of stack i > > end repeat > end repeat > end mouseUp > > but I get button "Button": execution error at line n/a (Object: stack > locked, or object's script is executing) > > But the object is in stack dna, while the button is on stack mcp, and the > check shows that the group is unlocked > > -- > Dr. Richard E. Hawkins, Esq. > (702) 508-8462 > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Wed Feb 4 20:49:04 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 04 Feb 2015 17:49:04 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D2C0A4.8010407@hyperactivesw.com> References: <54D2C0A4.8010407@hyperactivesw.com> Message-ID: <54D2CC10.1010203@fourthworld.com> J. Landman Gay wrote: > On 2/4/2015 6:12 PM, Richard Gaskin wrote: >> That doesn't seem big enough to need 15 minutes to scan the objects. >> >> Anyone else seen anything like this? > > I've never built an app that large, for something like that I usually > use the splash method so that I can have modules. > > I'm still thinking the slowdown is due to having "search for required > inclusions" selected in the standalone settings. The search would > have to scan and parse at least 30,000+ lines just given the specs > that were listed. Is it reading the code, or trying to write it? :) I'd flag it as a bug. Any option that requires that much time is a candidate for reconsidering. But given how fast LC is at slicing and dicing objects and scripts, I'll be there's just something in there doing a redundant check. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From kee at kagi.com Wed Feb 4 21:29:31 2015 From: kee at kagi.com (kee nethery) Date: Wed, 4 Feb 2015 18:29:31 -0800 Subject: encrypt storage In-Reply-To: <67F79B28-6364-40CA-8E24-693BA499AE53@iotecdigital.com> References: <67F79B28-6364-40CA-8E24-693BA499AE53@iotecdigital.com> Message-ID: <6A97A869-E7B0-4537-96F6-F55897BD99E8@kagi.com> Need more details. What are you encrypting? What is the hash of? Need some idea of what you are attempting to do to answer your question. Kee Nethery > On Feb 4, 2015, at 1:40 PM, Bob Sneidar wrote: > > Hi all. > > I?m using encrypt/decrypt with aes128 cipher. Am I going to need to encode the hash before storing it on an SQL server that I will access through the Internet? > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mwieder at ahsoftware.net Wed Feb 4 22:08:11 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Wed, 4 Feb 2015 19:08:11 -0800 Subject: encrypt storage In-Reply-To: <67F79B28-6364-40CA-8E24-693BA499AE53@iotecdigital.com> References: <67F79B28-6364-40CA-8E24-693BA499AE53@iotecdigital.com> Message-ID: <178370149076.20150204190811@ahsoftware.net> Bob- Wednesday, February 4, 2015, 1:40:15 PM, you wrote: > ...an SQL server that I will access through the Internet? Hint... don't do that. -- -Mark Wieder ahsoftware at gmail.com This communication may be unlawfully collected and stored by the National Security Agency (NSA) in secret. The parties to this email do not consent to the retrieving or storing of this communication and any related metadata, as well as printing, copying, re-transmitting, disseminating, or otherwise using it. If you believe you have received this communication in error, please delete it immediately. From dochawk at gmail.com Thu Feb 5 00:49:43 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 4 Feb 2015 21:49:43 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D2C0A4.8010407@hyperactivesw.com> References: <54D2B579.3050901@fourthworld.com> <54D2C0A4.8010407@hyperactivesw.com> Message-ID: On Wed, Feb 4, 2015 at 5:00 PM, J. Landman Gay wrote: > I'm still thinking the slowdown is due to having "search for required > inclusions" selected in the standalone settings. The search would have to > scan and parse at least 30,000+ lines just given the specs that were > listed. Richard (the Hawkins one,) did you try turning that off? > Yes. Certainly faster, but still a few minutes to compile (but it was minutes in 5.5, too)> I'll try to time the next one--but the real issue is that it's long enough that I hesitate o compile. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From dochawk at gmail.com Thu Feb 5 00:54:24 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 4 Feb 2015 21:54:24 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D2C0A4.8010407@hyperactivesw.com> References: <54D2B579.3050901@fourthworld.com> <54D2C0A4.8010407@hyperactivesw.com> Message-ID: On Wed, Feb 4, 2015 at 5:00 PM, J. Landman Gay wrote: > I've never built an app that large, for something like that I usually use > the splash method so that I can have modules. > Oh, and you're not selling to lawyers :) Once the program is established, changes will actually happen more in the codeless substacks that have the output forms. (designed with an eye on iOS) -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From jacque at hyperactivesw.com Thu Feb 5 01:25:34 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 05 Feb 2015 00:25:34 -0600 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: <54D2B579.3050901@fourthworld.com> <54D2C0A4.8010407@hyperactivesw.com> Message-ID: <54D30CDE.4020908@hyperactivesw.com> On 2/4/2015 11:54 PM, Dr. Hawkins wrote: > On Wed, Feb 4, 2015 at 5:00 PM, J. Landman Gay > wrote: > >> I've never built an app that large, for something like that I usually use >> the splash method so that I can have modules. >> > > Oh, and you're not selling to lawyers :) True, but I'm not sure that affects compile times... I didn't actully mean I never had a project that large, only that I never had an app that large (and I wouldn't build one.) The project I've been on lately has hundreds of stacks and thousands of support files with gigabytes of data, they're just not all in the main app. It's easier that way. The app itself takes under 15 seconds to compile. The heavy-duty working part has maybe 3500 lines of backscript, four behavior scripts, three substacks, and maybe 100 small images. Everything else -- the actual content -- is distributed among separate module stacks that each contain the images, media, text, etc. that are relevant to that stack. But I don't have to compile those. Using a single main app to run the whole shebang makes revisions very easy, we just upload new content stacks to the server and the main app pulls them down as needed. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From alanstenhouse at hotmail.com Thu Feb 5 05:11:48 2015 From: alanstenhouse at hotmail.com (Alan Stenhouse) Date: Thu, 5 Feb 2015 11:11:48 +0100 Subject: Mobile cloud storage In-Reply-To: References: Message-ID: Has anyone used this external miCloud? Would like to have a look but Maarten?s website seems to no longer exist? http://maartenkoopmans.com/micloud Anyone heard from him lately or used the external? Is it available somewhere else? cheers Alan On 4 Feb 2015, at 11:42 pm, use-livecode-request at lists.runrev.com wrote: > And some time agao Maarten Koopmans created an iCloud external called miCloud. > > Regards, > Matthias From matthias_livecode_150811 at m-r-d.de Thu Feb 5 07:36:03 2015 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe | M-R-D) Date: Thu, 5 Feb 2015 13:36:03 +0100 Subject: Mobile cloud storage In-Reply-To: References: Message-ID: <8FBF7FC9-E436-4805-B56B-20AAA2802817@m-r-d.de> Hi Alan, i assume it is not on sale anymore. I purchased that external in 2012 and it worked as supposed. But with newer LC and iOS SDK it did not work anymore. I contacted Maarten and he send me the source code, so i could compile it with newer xCode version. I was able to, but was not successful in using it afterwards. But this might be a problem on my side. ;) Maybe you try to contact him off-list. Regards, Matthias > Am 05.02.2015 um 11:11 schrieb Alan Stenhouse : > > Has anyone used this external miCloud? Would like to have a look but Maarten?s website seems to no longer exist? > > http://maartenkoopmans.com/micloud > > Anyone heard from him lately or used the external? Is it available somewhere else? > > cheers > > Alan > > On 4 Feb 2015, at 11:42 pm, use-livecode-request at lists.runrev.com wrote: > >> And some time agao Maarten Koopmans created an iCloud external called miCloud. >> >> Regards, >> Matthias > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dave at applicationinsight.com Thu Feb 5 08:54:28 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Thu, 5 Feb 2015 05:54:28 -0800 (PST) Subject: Mobile cloud storage In-Reply-To: References: <54D153D2.9000102@fourthworld.com> <54D23457.3070901@gmail.com> <20150204160610.6107287.56626.9389@gmail.com> Message-ID: <1423144468244-4688478.post@n4.nabble.com> Concerning authentication and fog - is it just Dropbox authentication that is 'foggy'? If so then I may be able to help I'm using phxDropboxLib together with a dropbox app (created on dropbox's website, it's very easy to do) and a new dropbox account to allow apps to connect to the same dropbox account and sync assets - this doesn't use up a users's Dropbox storage allowance or have any connection to his/her Dropbox account. I haven't yet but could easily have the app connect to the user's own dropbox account (and thus saving preferences and other data for them) I created my own little substack to deal with the Dropbox authentication stuff and when everything is connected the app saves the login credentials locally so that on each relaunch it just connects each time it launches (I have to put in a 'permission to connect to the internet' dialog box and save the response locally). I did think about putting up my approach onto rev online but decided I shouldn't because it was so tightly bound-in to phxDropboxLib which is not Guglielmo's baby and not mine Setting it up was a bit of a mind-bender - I did actually record a very bad video about it giving a 'general overview' to the process rather than being a tutorial. If there was interest I could record it again (too many 'ums' and 'ems'). Alternatively/and/or can you explain where the 'foggy bits' are? Kind regards Dave Guglielmo Braguglia's Dropbox library is at: http://www.phoenixsea.ch/downloads/Livecode/phxDropboxLib.zip ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Mobile-cloud-storage-tp4688420p4688478.html Sent from the Revolution - User mailing list archive at Nabble.com. From dave at applicationinsight.com Thu Feb 5 08:57:36 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Thu, 5 Feb 2015 05:57:36 -0800 (PST) Subject: Mobile cloud storage In-Reply-To: <1423144468244-4688478.post@n4.nabble.com> References: <54D153D2.9000102@fourthworld.com> <54D23457.3070901@gmail.com> <20150204160610.6107287.56626.9389@gmail.com> <1423144468244-4688478.post@n4.nabble.com> Message-ID: <1423144656077-4688479.post@n4.nabble.com> Oops This is wrong: Dave Kilroy wrote > so tightly bound-in to phxDropboxLib which is not Guglielmo's baby and not > mine This is what I should have written: "so tightly bound-in to phxDropboxLib which is Guglielmo's baby and not mine" Dave ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Mobile-cloud-storage-tp4688420p4688479.html Sent from the Revolution - User mailing list archive at Nabble.com. From mark at sorcery-ltd.co.uk Thu Feb 5 09:22:43 2015 From: mark at sorcery-ltd.co.uk (Mark Wilcox) Date: Thu, 05 Feb 2015 14:22:43 +0000 Subject: Mobile cloud storage In-Reply-To: <54D153D2.9000102@fourthworld.com> References: <54D153D2.9000102@fourthworld.com> Message-ID: <1423146163.535371.223499057.3933CB94@webmail.messagingengine.com> > So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, > and using those sure beats building a complex storage backend for > simple apps. > > Does our community have yet a library for allowing the user to pick > which common storage system they have and an API for > reading/writing to it? Apple made a generic solution for this on iOS and OS X. Document Provider Extensions (OK, new OS versions only). https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/FileProvider.html#//apple_ref/doc/uid/TP40014214-CH18-SW1 If you want to read and write files from/to cloud storage then there's single interface and the device only shows providers that the user has installed/configured. The latter part you obviously can't get without being the OS provider and having providers write Extensions to tell the system they offer file storage. For Apple platforms at least it would make sense to mimic the interface as far as possible though, assuming you don't just want to wrap what they've already done. -- Mark Wilcox mark at sorcery-ltd.co.uk From ambassador at fourthworld.com Thu Feb 5 09:51:06 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 05 Feb 2015 06:51:06 -0800 Subject: Livecode Server on Dreamhost fails in Ubuntu upgrade In-Reply-To: <54611271.7050408@pdslabs.net> References: <54611271.7050408@pdslabs.net> Message-ID: <54D3835A.2010909@fourthworld.com> Phil Davis wrote: > I upgraded my DH/LC server to 7.0 and am finding I can't use "do" in my > scripts. Is that your experience? For me it causes a SIGIOT error in the > HTTP error log and no further output to the browser (or your client of > choice). > > Maybe this is noted in the release docs - dunno. It appears to be a bug. Ralf Bitter and I have confirmed this, but I'm lucky in most of CGI work uses standalones rather than LC Server, and "do" works fine in standalones. Sadly, not having "do" makes it very difficult to create extensible frameworks, as Ralf and I were discussing in the forums: Feel free to add a comment to this (mistitled) bug report: -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Thu Feb 5 10:27:37 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 05 Feb 2015 07:27:37 -0800 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D30CDE.4020908@hyperactivesw.com> References: <54D30CDE.4020908@hyperactivesw.com> Message-ID: <54D38BE9.5050706@fourthworld.com> J. Landman Gay wrote: > The project I've been on lately has hundreds of stacks and thousands > of support files with gigabytes of data, they're just not all in > the main app. It's easier that way. The app itself takes under 15 > seconds to compile. That's a good strategy for many reasons, but I still believe compiling any standalone, even a complex one, should never take more than a minute. At the heart of the build process for the desktop all that's happening is the mainstack file is bound to a copy of the runtime engine, which by itself takes about a quarter-second. Depending on your settings there may be other steps, like moving stacks in or out of the standalone file, clearing a few custom props, etc., but 15 minutes is a looooooooooong time for a tool famous for offering zero-compile-time. I've run code base analytics on fairly complex stacks, and the worst of them took less than a minute. Perhaps what LC is doing is even more complex, but given the speed with which LC can traverse objects and parse text I'm fairly confident what we're seeing here is a bug, likely from some redundant script analysis. Let's look at the worst cases first: If any of you have stacks that take longer than 5 minutes to build a desktop standalone, and you're in a position to share the stack with RunRev's support team so they can figure out why it takes so long, please open a bug report against this so we can find out what's going on. Even better: if anyone here has some time on their hands and is up for a challenge, it may be worthwhile poking around in the Standalone Builder scripts to see if you can find where the bottleneck lies. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bobsneidar at iotecdigital.com Thu Feb 5 11:00:48 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:00:48 +0000 Subject: stackfileversion and locking 6.5.2 In-Reply-To: References: <1422635802768-4688300.post@n4.nabble.com> Message-ID: <82D833B5-3871-4ABE-BF59-453958A09CB4@iotecdigital.com> Probably unrelated, but I have noticed that text that has been produced in a PDF via their OCR tool will have hidden characters in it that will prevent me from inserting or updating records in my SQL database with that data. The SQL generates an error as though there were nothing beyond the first hidden character in the SQL statement. I just run my text through a cleaner function now to get around it, but if you are in the habit of drag/dropping text in your LC apps, it isn?t a bad idea to run all that through your own text cleaning function beforehand. I do this in the closeField handler, and have my dragDrop handler call closeField when done. That way, whether or not you copy/pasted, or dragDropped, the text will be cleaned. Bob S On Jan 30, 2015, at 14:05 , Geoff Canyon > wrote: well that didn't take long :-P It turns out that there is one field in the stack -- delete the contents of that field, and the stack opens fine in 6.5.2. I copied the contents of the field and pasted into Pages, then deleted the contents of the field, and the file opened fine in 6.5.2. I then pasted the contents back in, and the stack survived. Bug 14476 From bobsneidar at iotecdigital.com Thu Feb 5 11:02:22 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:02:22 +0000 Subject: Livecode Precision or me? In-Reply-To: <54CD3E3C.2040904@gmail.com> References: <54CD3C1E.9050009@gmail.com> <54CD3E3C.2040904@gmail.com> Message-ID: <6FB95748-3A6D-48B9-9C9C-B263C3CE5282@iotecdigital.com> I was just about to tell you what the problem was! ;-) Bob S > On Jan 31, 2015, at 12:42 , Michael Doub wrote: > > Of coarse it was me. And as you would expect, I found it right after sending the mail to the list. > > put lon2 - lon2 into dlon should be put lon2 - lon1 into dlon > > Sorry for the junk mail. > > -= Mike > > > > On 1/31/15 3:33 PM, Michael Doub wrote: >> I am trying to covert the javascript that computes distance based on longitude and latitude from this page: http://andrew.hedges.name/experiments/haversine/. >> >> The sites javascript is returning 0.341 miles and 0.549 km >> Livecode is returning 0.097 miles and 0.157 >> >> I have been staring at this for a while. Does anyone see my mistake or is there a precision issue tripping me up? >> >> Thanks >> Mike >> >> >> >> on doit >> answer __latLongDist (38.898556, -77.037852, 38.897147, -77.043934) >> end doit >> >> >> function __latLongDist t1, n1, t2, n2 , mk >> put 3961 into Rm -- mean radius of the earth (miles) at 39 degrees from the equator >> put 6373 into Rk -- mean radius of the earth (km) at 39 degrees from the equator >> put t1 * pi/180 into lat1 -- convert degrees to radians >> put n1 * pi/180 into lon1 >> put t2 * pi/180 into lat2 >> put n2 * pi/180 into lon2 >> put lat2 - lat1 into dlat >> put lon2 - lon2 into dlon >> put (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2 into aa >> put 2 * atan2( sqrt(aa), sqrt(1-aa) ) into cc >> put cc * Rm into Dm >> put cc * Rk into Dk >> return round (Dm,3), round(Dk,3) >> end __latLongDist >> >> >> >> /* main function */ >> function findDistance(frm) { >> var t1, n1, t2, n2, lat1, lon1, lat2, lon2, dlat, dlon, a, c, dm, dk, mi, km; >> >> // get values for lat1, lon1, lat2, and lon2 >> t1 = frm.lat1.value; >> n1 = frm.lon1.value; >> t2 = frm.lat2.value; >> n2 = frm.lon2.value; >> >> // convert coordinates to radians >> lat1 = deg2rad(t1); >> lon1 = deg2rad(n1); >> lat2 = deg2rad(t2); >> lon2 = deg2rad(n2); >> >> // find the differences between the coordinates >> dlat = lat2 - lat1; >> dlon = lon2 - lon1; >> >> // here's the heavy lifting >> a = Math.pow(Math.sin(dlat/2),2) + Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(dlon/2),2); >> c = 2 * Math.atan2(Math.sqrt(a),Math.sqrt(1-a)); // great circle distance in radians >> dm = c * Rm; // great circle distance in miles >> dk = c * Rk; // great circle distance in km >> >> // round the results down to the nearest 1/1000 >> mi = round(dm); >> km = round(dk); >> >> // display the result >> frm.mi.value = mi; >> frm.km.value = km; >> } > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 11:04:12 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:04:12 +0000 Subject: ISO 8601 date to seconds In-Reply-To: References: <54C99705.4030308@hindu.org> <8AD1544E-460E-463D-B024-3079A0321F3D@iotecdigital.com> <3284E3D8-686E-4CC2-AFCE-DB0578781C67@iotecdigital.com> <54CD2FEF.3070207@hindu.org> Message-ID: It?s my understanding that sqLite accepts any value in any field type, whereas mySQL will toss an error and reject the SQL statement. Correct me if I am wrong, it?s happened before. Bob S > On Jan 31, 2015, at 12:44 , Peter Haworth wrote: > > On Sat, Jan 31, 2015 at 11:41 AM, Brahmanathaswami wrote: > >> FYI: those interested in this date/time enhancement can add their thoughts >> here: >> >> http://quality.runrev.com/show_bug.cgi?id=4636 >> > > Just added one minor note. The separator between date and time can be the > letter "T" as well as a space. SQLIte allows this, not sure about other > implementations. > > Pete > lcSQL Software > Home of lcStackBrowser and > SQLiteAdmin > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 11:05:45 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:05:45 +0000 Subject: Where did the handlers for my menukeys go??? In-Reply-To: References: Message-ID: <30F7EE63-A220-4F91-A262-BF98D1856E48@iotecdigital.com> My mind powers only work if my subjects actually can remember what I am trying to read their mind for. ;-) But seriously, try the find function. Bob S On Jan 31, 2015, at 13:00 , Dr. Hawkins > wrote: Sometime, over two years ago, I set up some key accelerators for a card (or maybe the substack). They still work--and I can't find them. I assume that I used the menubuilder. These drivers send a mouseup to an associated button Can anyone tell me where to hunt for them? -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From bobsneidar at iotecdigital.com Thu Feb 5 11:17:10 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:17:10 +0000 Subject: Rotating non-square images In-Reply-To: <54CD4309.6080305@gmail.com> References: <54CD4309.6080305@gmail.com> Message-ID: Do you have locLoc set to false? Bob S On Jan 31, 2015, at 13:03 , Richmond > wrote: I must say I wonder why Livecode still mucks up non-square images: http://forums.livecode.com/viewtopic.php?f=22&t=22974&p=118632#p118632 Richmond. From bobsneidar at iotecdigital.com Thu Feb 5 11:21:54 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:21:54 +0000 Subject: Rotating non-square images In-Reply-To: References: <54CD4309.6080305@gmail.com> Message-ID: I took a screen shot of the image, pasted it in a new LC stack, it rotates fine. Then I set the locLoc to true and? well? it didn?t. Bob S > On Feb 5, 2015, at 08:17 , Bob Sneidar wrote: > > Do you have locLoc set to false? > > Bob S > > > On Jan 31, 2015, at 13:03 , Richmond > wrote: > > I must say I wonder why Livecode still mucks up non-square images: > > http://forums.livecode.com/viewtopic.php?f=22&t=22974&p=118632#p118632 > > Richmond. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 11:22:38 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:22:38 +0000 Subject: Invisible character treated as word? In-Reply-To: References: <5BCD9B0A-B38E-4AD7-83EB-2282FF3BC061@comcast.net> Message-ID: he means non-printing character. Bob S On Jan 30, 2015, at 21:01 , Thierry Douez > wrote: Umm, as invisible char has no-standard meaning, From bobsneidar at iotecdigital.com Thu Feb 5 11:25:14 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:25:14 +0000 Subject: Invisible character treated as word? In-Reply-To: <54CD433A.9070609@hyperactivesw.com> References: <5BCD9B0A-B38E-4AD7-83EB-2282FF3BC061@comcast.net> <54CD433A.9070609@hyperactivesw.com> Message-ID: <43AAC414-7912-4977-9C09-03CE5127DD51@iotecdigital.com> [ -~] http://www.catonmat.net/blog/my-favorite-regex/ bob s > On Jan 31, 2015, at 13:03 , J. Landman Gay wrote: > > On 1/30/2015 11:01 PM, Thierry Douez wrote: >> if looking at regular expressions it's like a goat staring at a new fence, > > Wonderful imagery. :) > > I knew you'd show up to solve the regex problem, I didn't even have to say your name. I suppose when your wife wants you to come to dinner, she only has to say "regex!" and you arrive at the table. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 11:30:46 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:30:46 +0000 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: <54D30CDE.4020908@hyperactivesw.com> References: <54D2B579.3050901@fourthworld.com> <54D2C0A4.8010407@hyperactivesw.com> <54D30CDE.4020908@hyperactivesw.com> Message-ID: <09279187-1295-476D-8BF9-6554ABA1BE04@iotecdigital.com> Ya once I heard about the splashStack method and all the problems it solves, it?s the only way I will build an app now. Bob S On Feb 4, 2015, at 22:25 , J. Landman Gay > wrote: On 2/4/2015 11:54 PM, Dr. Hawkins wrote: On Wed, Feb 4, 2015 at 5:00 PM, J. Landman Gay > wrote: I've never built an app that large, for something like that I usually use the splash method so that I can have modules. Oh, and you're not selling to lawyers :) True, but I'm not sure that affects compile times... I didn't actully mean I never had a project that large, only that I never had an app that large (and I wouldn't build one.) The project I've been on lately has hundreds of stacks and thousands of support files with gigabytes of data, they're just not all in the main app. It's easier that way. The app itself takes under 15 seconds to compile. The heavy-duty working part has maybe 3500 lines of backscript, four behavior scripts, three substacks, and maybe 100 small images. Everything else -- the actual content -- is distributed among separate module stacks that each contain the images, media, text, etc. that are relevant to that stack. But I don't have to compile those. Using a single main app to run the whole shebang makes revisions very easy, we just upload new content stacks to the server and the main app pulls them down as needed. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Thu Feb 5 11:32:51 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:32:51 +0000 Subject: encrypt storage In-Reply-To: <6A97A869-E7B0-4537-96F6-F55897BD99E8@kagi.com> References: <67F79B28-6364-40CA-8E24-693BA499AE53@iotecdigital.com> <6A97A869-E7B0-4537-96F6-F55897BD99E8@kagi.com> Message-ID: <68483AD3-5FC3-48C3-A3C0-3AD1C3A71C23@iotecdigital.com> It?s a simple password entered in the ask password dialog. The issue is whether or not the aes128 hash can pass unmolested over the internet. I suppose I could just binary encode/decode it for good measure. Bob S > On Feb 4, 2015, at 18:29 , kee nethery wrote: > > Need more details. > > What are you encrypting? What is the hash of? Need some idea of what you are attempting to do to answer your question. > > Kee Nethery > >> On Feb 4, 2015, at 1:40 PM, Bob Sneidar wrote: >> >> Hi all. >> >> I?m using encrypt/decrypt with aes128 cipher. Am I going to need to encode the hash before storing it on an SQL server that I will access through the Internet? >> >> Bob S >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 11:54:15 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:54:15 +0000 Subject: Troubles with inequality In-Reply-To: <54D2A93F.8020100@hyperactivesw.com> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> <54D2A0E7.5040003@hyperactivesw.com> <54D2A93F.8020100@hyperactivesw.com> Message-ID: So here?s what I came up with. Pretty simple. on mouseUp put 5.226 into myVar set the numberFormat to "0.00" add .001 to myVar put myvar & cr into myString set the numberFormat to "0.000" put myvar after myString put myString end mouseUp I get 5.23 5.227 Clearly the value in the variable is not being affected at all. This makes me feel a lot better. The moral of this is, always set the numberFormat appropriately prior to calculations of any kind, and don?t use the contents of fields in calculations. Bob S > On Feb 4, 2015, at 15:20 , J. Landman Gay wrote: > > It's obscure, yes, though the dictionary has this: > > "Important! Changing the numberFormat does not automatically change the format of a number that's already in a container. It affects numbers only when they are calculated and then displayed or used as strings. Otherwise, the number retains its full numeric precision." > > The "already in a container" should be more precise though and specify "in a variable". Fields are containers, but they only hold strings. > > > On 2/4/2015 5:02 PM, Graham Samuel wrote: >> Thanks Jacque, a gold mine of information as usual. But it?s pretty obscure, isn?t it? All this started for me because I wanted to test if two numbers were equal, knowing that they probably weren?t exactly equal to the last decimal place but nevertheless were ?engineering equal? as it were - say to six places of decimals. So I tried to truncate them to that length and then compare them. More fool me. But now I think I know what should be done, thanks to you - and to everyone else who replied. >> >> Graham >> >> >>> On 4 Feb 2015, at 23:44, J. Landman Gay wrote: >>> >>> On 2/4/2015 3:01 PM, Graham Samuel wrote: >>>> So really, if I want an uncomplicated string of characters derived >>>> from a number via setting the numberFormat and then doing a >>>> calculation, how do I get it? >>> >>> You can turn it into a string by putting empty after it: >>> >>> put 1.55555 into tVar -- number >>> set the numberformat to "0.00" >>> add 1 to tVar -- still a number >>> put tVar into fld 1 -- numberformat applied now, field contains a string "2.55" >>> add 1 to tVar -- still a number, contains 3.55555 >>> put empty after tVar -- numberformat applies, tVar is a string >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Thu Feb 5 11:57:39 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 16:57:39 +0000 Subject: How to detect that user closed window In-Reply-To: <54D29E16.10106@hyperactivesw.com> References: <45E1D2D3-E69A-4573-84CD-0035A5DB070C@iotecdigital.com> <54D29E16.10106@hyperactivesw.com> Message-ID: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> Nope. You would think it does, but I have this in the stack script: on closeStackRequest save this stack pass closeStackRequest end closeStackRequest I still get the save dialog when I close it. Bob S > On Feb 4, 2015, at 14:32 , J. Landman Gay wrote: > > On 2/4/2015 4:22 PM, Bob Sneidar wrote: >> >> Did anyone ever find a workaround for detecting that the user clicked >> the Close Window control, so I can intercept it and save the stack so >> Livecode does not ask? I suppose I could save the damn stack overtime >> I do anything in any handler, but GEEZE. > > Doesn't closeStackRequest work? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com From ambassador at fourthworld.com Thu Feb 5 12:00:44 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 05 Feb 2015 09:00:44 -0800 Subject: encrypt storage In-Reply-To: <68483AD3-5FC3-48C3-A3C0-3AD1C3A71C23@iotecdigital.com> References: <68483AD3-5FC3-48C3-A3C0-3AD1C3A71C23@iotecdigital.com> Message-ID: <54D3A1BC.7010502@fourthworld.com> Bob Sneidar wrote: > The issue is whether or not the aes128 hash can pass unmolested > over the internet. I suppose I could just binary encode/decode > it for good measure. Most hashes return binary values directly, but it's common to convert them to hex for general storage and transport, e.g.: get binaryDecode("h*", sha1digest(tSomeString), tHex) put tHex Do you have a LiveCode script that does aes128, or are you calling shell? PS: Annoyance report: If I run that script above as a single line in the Message Box, a la: get binaryDecode("h*", sha1digest(tSomeString), tHex); put tHex ...the Message Box shows "true", but when I run it in a button it shows the expected hex string. Have any of you seen things like that? Got a bug report number I can tickle? Looks like I'll get back to work on my Message Box replacement plugin.... -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Thu Feb 5 12:10:21 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 05 Feb 2015 09:10:21 -0800 Subject: How to detect that user closed window In-Reply-To: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> Message-ID: <54D3A3FD.8020106@fourthworld.com> Bob Sneidar wrote: > Nope. You would think it does, but I have this in the stack script: > > on closeStackRequest > save this stack > pass closeStackRequest > end closeStackRequest > > I still get the save dialog when I close it. The script above will work well in a standalone, but won't account for the IDE's needs. The IDE monitors stacks for actions which would flag it as "dirty" (needing saving), but there is no general stack property for that. Given this, saving will indeed save the stack but won't inform the IDE that the stack is now "clean". Instead, you can let the IDE handle both with this, which I use in my Devo plugin: dispatch "menuPick" to btn "File" of grp "revMenuBar" \ of stack "revMenuBar" with "Save" -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bobsneidar at iotecdigital.com Thu Feb 5 12:09:03 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 17:09:03 +0000 Subject: encrypt storage In-Reply-To: <54D3A1BC.7010502@fourthworld.com> References: <68483AD3-5FC3-48C3-A3C0-3AD1C3A71C23@iotecdigital.com> <54D3A1BC.7010502@fourthworld.com> Message-ID: No I am encrypting the password using the encrypt command before storing it in mySQL. encrypt thePassword using aes128 with thePassKey put it into thePassword get empty Works fine on a LAN, but not sure what would happen if I passed this through a 20 year old router. Bob S > On Feb 5, 2015, at 09:00 , Richard Gaskin wrote: > > Bob Sneidar wrote: > > > The issue is whether or not the aes128 hash can pass unmolested > > over the internet. I suppose I could just binary encode/decode > > it for good measure. > > Most hashes return binary values directly, but it's common to convert them to hex for general storage and transport, e.g.: > > get binaryDecode("h*", sha1digest(tSomeString), tHex) > put tHex > > > Do you have a LiveCode script that does aes128, or are you calling shell? From bobsneidar at iotecdigital.com Thu Feb 5 12:12:44 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 17:12:44 +0000 Subject: Set Script Limits in Standalones In-Reply-To: <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> References: <6688A027-9C3E-4E55-A481-EFE5869456D4@iotecdigital.com> <54C7C47D.3080801@fourthworld.com> <54C7CD36.5040405@LinkIt.Com> <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> Message-ID: <2D1AF6BE-5A62-4A56-A496-CAE0705B952A@iotecdigital.com> So, wait a minute. If an MD makes a mistake, people can die. So if a PhD in Physics makes a mistake, does it alter the fabric of space/time? Bob S On Feb 1, 2015, at 08:50 , Earthednet-wp > wrote: Personally, I'd rather be judged on my comments and contributions, and I make stupid mistakes just as often as anyone else, and I consider myself a student of livecode anyway. From bobsneidar at iotecdigital.com Thu Feb 5 12:17:01 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 17:17:01 +0000 Subject: How to detect that user closed window In-Reply-To: <54D3A3FD.8020106@fourthworld.com> References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> <54D3A3FD.8020106@fourthworld.com> Message-ID: Didn?t work. Bob S on closeStackRequest dispatch "menuPick" to btn "File" of grp "revMenuBar" \ of stack "revMenuBar" with "Save" end closeStackRequest On Feb 5, 2015, at 09:10 , Richard Gaskin > wrote: dispatch "menuPick" to btn "File" of grp "revMenuBar" \ of stack "revMenuBar" with "Save" From revdev at pdslabs.net Thu Feb 5 12:35:07 2015 From: revdev at pdslabs.net (Phil Davis) Date: Thu, 05 Feb 2015 09:35:07 -0800 Subject: Livecode Server on Dreamhost fails in Ubuntu upgrade In-Reply-To: <54D3835A.2010909@fourthworld.com> References: <54611271.7050408@pdslabs.net> <54D3835A.2010909@fourthworld.com> Message-ID: <54D3A9CB.4000600@pdslabs.net> On 2/5/15 6:51 AM, Richard Gaskin wrote: > Phil Davis wrote: >> I upgraded my DH/LC server to 7.0 and am finding I can't use "do" in my >> scripts. Is that your experience? For me it causes a SIGIOT error in the >> HTTP error log and no further output to the browser (or your client of >> choice). >> >> Maybe this is noted in the release docs - dunno. > > It appears to be a bug. Ralf Bitter and I have confirmed this, but > I'm lucky in most of CGI work uses standalones rather than LC Server, > and "do" works fine in standalones. Thankfully (as Ralf noted) "do" still works when located inside a handler. Phil > > Sadly, not having "do" makes it very difficult to create extensible > frameworks, as Ralf and I were discussing in the forums: > > > Feel free to add a comment to this (mistitled) bug report: > > -- Phil Davis From bobsneidar at iotecdigital.com Thu Feb 5 12:35:19 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 17:35:19 +0000 Subject: How to detect that user closed window In-Reply-To: References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> <54D3A3FD.8020106@fourthworld.com> Message-ID: <1FCD9991-5013-461E-9EE6-3FE9D552BE53@iotecdigital.com> Had to pass closeStackRequest, but I still get the menu. I am not sure there is a way in LC to do this, and there ought to be. Perhaps I?ll include a feature request for this, something like a property called suppressSavePrompt. It can be set to values ?save? or ?close?. Bob S On Feb 5, 2015, at 09:17 , Bob Sneidar > wrote: Didn?t work. Bob S on closeStackRequest dispatch "menuPick" to btn "File" of grp "revMenuBar" \ of stack "revMenuBar" with "Save" end closeStackRequest From jiml at netrin.com Thu Feb 5 12:35:42 2015 From: jiml at netrin.com (Jim Lambert) Date: Thu, 5 Feb 2015 09:35:42 -0800 Subject: Troubles with inequality In-Reply-To: References: Message-ID: <365304B0-EC01-4F3A-A1F2-3788AFEF8BF0@netrin.com> > Graham wrote: > > I wanted to test if two numbers were equal, knowing that they probably weren?t exactly equal to the last decimal place but nevertheless were 'engineering equal' as it were - say to six places of decimals. Perhaps performing a statround() on the numbers prior to checking equality might help. Jim Lambert From ambassador at fourthworld.com Thu Feb 5 12:38:56 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 05 Feb 2015 09:38:56 -0800 Subject: encrypt storage In-Reply-To: References: Message-ID: <54D3AAB0.7040508@fourthworld.com> Bob Sneidar wrote: > No I am encrypting the password using the encrypt command before > storing it in mySQL. Does the system handle authentication, or is it just storing the password for some other system? If the password will be decrypted on the server (as Mark Wieder is probably typing a reply to this as I'm writing ) if the server is compromised then all of the passwords become compromised along with it. It seems more common to never store any passwords on a server system, instead storing only a (preferably salted) hash of the password (hopefully something stronger than LC's built-in sha1; Mark Smith's lib contains a function for sha256). Incoming passwords are then hashed with the same salt to determine a match to the server store, and discarded from memory once authenticated. This way if the server is compromised it'll take serious effort to reproduce the passwords. With sha1 it can take a little as 49 minutes (see first link below), and with sha256 it may take years. The downside to this approach is that passwords can only be reset, but never recovered. The upside to this approach is that passwords can never be recovered. :) Whenever I come across a system that lets me recover a password instead requiring me to reset it, I stop using it immediately. Scary background on encryption, hashing, and crack times: PS: There's a request for sha256digest in the RQCC: -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From jiml at netrin.com Thu Feb 5 12:41:32 2015 From: jiml at netrin.com (Jim Lambert) Date: Thu, 5 Feb 2015 09:41:32 -0800 Subject: removing accumulated garbage fro stacks? In-Reply-To: References: Message-ID: <0FF5A746-8DC4-46E9-96A7-4D6EED432EB7@netrin.com> If I removed all the accumulated garbage in my stacks none of my code would be left! Jim Lambert From pete at lcsql.com Thu Feb 5 12:56:14 2015 From: pete at lcsql.com (Peter Haworth) Date: Thu, 5 Feb 2015 09:56:14 -0800 Subject: How to detect that user closed window In-Reply-To: <1FCD9991-5013-461E-9EE6-3FE9D552BE53@iotecdigital.com> References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> <54D3A3FD.8020106@fourthworld.com> <1FCD9991-5013-461E-9EE6-3FE9D552BE53@iotecdigital.com> Message-ID: I think there's a global array in the IDE keyed by stack name with a value of true/false that indicates whether the stack is "dirty". You could probably set that appropriately but unfortunately, I can't remember its name, except that it begins with "g"!!! Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Thu, Feb 5, 2015 at 9:35 AM, Bob Sneidar wrote: > Had to pass closeStackRequest, but I still get the menu. I am not sure > there is a way in LC to do this, and there ought to be. Perhaps I?ll > include a feature request for this, something like a property called > suppressSavePrompt. It can be set to values ?save? or ?close?. > > Bob S > > > On Feb 5, 2015, at 09:17 , Bob Sneidar > wrote: > > Didn?t work. > > Bob S > > on closeStackRequest > dispatch "menuPick" to btn "File" of grp "revMenuBar" \ > of stack "revMenuBar" with "Save" > end closeStackRequest > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From pete at lcsql.com Thu Feb 5 13:01:11 2015 From: pete at lcsql.com (Peter Haworth) Date: Thu, 5 Feb 2015 10:01:11 -0800 Subject: Troubles with inequality In-Reply-To: <54D2A93F.8020100@hyperactivesw.com> References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> <54D2A0E7.5040003@hyperactivesw.com> <54D2A93F.8020100@hyperactivesw.com> Message-ID: It's almost like there should be a cast() function to change the type of a variable, although that would be most unLivecodeLike. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Wed, Feb 4, 2015 at 3:20 PM, J. Landman Gay wrote: > It's obscure, yes, though the dictionary has this: > > "Important! Changing the numberFormat does not automatically change the > format of a number that's already in a container. It affects numbers only > when they are calculated and then displayed or used as strings. Otherwise, > the number retains its full numeric precision." > > The "already in a container" should be more precise though and specify "in > a variable". Fields are containers, but they only hold strings. > > > On 2/4/2015 5:02 PM, Graham Samuel wrote: > >> Thanks Jacque, a gold mine of information as usual. But it?s pretty >> obscure, isn?t it? All this started for me because I wanted to test if two >> numbers were equal, knowing that they probably weren?t exactly equal to the >> last decimal place but nevertheless were ?engineering equal? as it were - >> say to six places of decimals. So I tried to truncate them to that length >> and then compare them. More fool me. But now I think I know what should be >> done, thanks to you - and to everyone else who replied. >> >> Graham >> >> >> On 4 Feb 2015, at 23:44, J. Landman Gay >>> wrote: >>> >>> On 2/4/2015 3:01 PM, Graham Samuel wrote: >>> >>>> So really, if I want an uncomplicated string of characters derived >>>> from a number via setting the numberFormat and then doing a >>>> calculation, how do I get it? >>>> >>> >>> You can turn it into a string by putting empty after it: >>> >>> put 1.55555 into tVar -- number >>> set the numberformat to "0.00" >>> add 1 to tVar -- still a number >>> put tVar into fld 1 -- numberformat applied now, field contains a >>> string "2.55" >>> add 1 to tVar -- still a number, contains 3.55555 >>> put empty after tVar -- numberformat applies, tVar is a string >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 13:01:59 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 18:01:59 +0000 Subject: encrypt storage In-Reply-To: <54D3AAB0.7040508@fourthworld.com> References: <54D3AAB0.7040508@fourthworld.com> Message-ID: I am not using a web server for this, I am communicating directly with the SQL server. I understand that most people regard this as a major no-no, but the information being stored is not confidential, just names and addresses along with copier and network information. At some point I intend to set up a Livecode Web server and use post URL?s to communicate with the SQL server, but I?ve never done it before, and frankly I am focused right now on getting the app to the point of real usability. Bob S On Feb 5, 2015, at 09:38 , Richard Gaskin > wrote: > No I am encrypting the password using the encrypt command before > storing it in mySQL. Does the system handle authentication, or is it just storing the password for some other system? From jiml at netrin.com Thu Feb 5 13:05:16 2015 From: jiml at netrin.com (Jim Lambert) Date: Thu, 5 Feb 2015 10:05:16 -0800 Subject: encrypt storage In-Reply-To: References: Message-ID: <8D445E6F-E0F9-4A49-8B8D-20F969B12903@netrin.com> > Richard wrote: > > PS: Annoyance report: If I run that script above as a single line in > the Message Box, a la: > > get binaryDecode("h*", sha1digest(tSomeString), tHex); put tHex > > ...the Message Box shows "true", but when I run it in a button it shows > the expected hex string. > > Have any of you seen things like that? Something similar when user-created functions are in the message. put time() into theTime; put theTime ?WORKS time() is a built-in function. Now put this in the stack script: function richard return time() end richard In the message box: put richard() ? WORKS put richard() into theTime; put theTime ? DOES NOT WORK richard() is not a built-in function. This may be somewhat related to your example in that getting binaryDecode() also populates the variable tHex. JIm Lambert From richmondmathewson at gmail.com Thu Feb 5 13:07:06 2015 From: richmondmathewson at gmail.com (Richmond) Date: Thu, 05 Feb 2015 20:07:06 +0200 Subject: Rotating non-square images In-Reply-To: References: <54CD4309.6080305@gmail.com> Message-ID: <54D3B14A.7080603@gmail.com> On 05/02/15 18:21, Bob Sneidar wrote: > I took a screen shot of the image, pasted it in a new LC stack, it rotates fine. Then I set the locLoc to true and? well? it didn?t. > > Bob S > > Thanks for that, will have a go. Richmond. From richmondmathewson at gmail.com Thu Feb 5 13:08:34 2015 From: richmondmathewson at gmail.com (Richmond) Date: Thu, 05 Feb 2015 20:08:34 +0200 Subject: removing accumulated garbage fro stacks? In-Reply-To: <0FF5A746-8DC4-46E9-96A7-4D6EED432EB7@netrin.com> References: <0FF5A746-8DC4-46E9-96A7-4D6EED432EB7@netrin.com> Message-ID: <54D3B1A2.20307@gmail.com> On 05/02/15 19:41, Jim Lambert wrote: > If I removed all the accumulated garbage in my stacks none of my code would be left! > > Jim Lambert > _______________________________________________ > Likewise :) Lovely comment: right on target! Richmond. From bobsneidar at iotecdigital.com Thu Feb 5 13:18:26 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 18:18:26 +0000 Subject: How to detect that user closed window In-Reply-To: References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> <54D3A3FD.8020106@fourthworld.com> <1FCD9991-5013-461E-9EE6-3FE9D552BE53@iotecdigital.com> Message-ID: It?s called gREVStackStatus. Given: on closeStackRequest save this stack put gREVStackStatus into aStackStatus put empty into aStackStatus ["Customer Search"] put aStackStatus into gREVStackStatus pass closeStackRequest end closeStackRequest Still no workie. I still get the save dialog. The dialog is firing before the saveStackRequest message. That is the problem. I will look for another message that may be getting sent. Bob S > On Feb 5, 2015, at 09:56 , Peter Haworth wrote: > > I think there's a global array in the IDE keyed by stack name with a value > of true/false that indicates whether the stack is "dirty". You could > probably set that appropriately but unfortunately, I can't remember its > name, except that it begins with "g"!!! > > Pete > lcSQL Software From pete at lcsql.com Thu Feb 5 13:22:07 2015 From: pete at lcsql.com (Peter Haworth) Date: Thu, 5 Feb 2015 10:22:07 -0800 Subject: How to detect that user closed window In-Reply-To: References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> <54D3A3FD.8020106@fourthworld.com> <1FCD9991-5013-461E-9EE6-3FE9D552BE53@iotecdigital.com> Message-ID: Is empty the right value? I thought it had true/false in the values. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Thu, Feb 5, 2015 at 10:18 AM, Bob Sneidar wrote: > It?s called gREVStackStatus. Given: > > on closeStackRequest > save this stack > put gREVStackStatus into aStackStatus > put empty into aStackStatus ["Customer Search"] > put aStackStatus into gREVStackStatus > pass closeStackRequest > end closeStackRequest > > Still no workie. I still get the save dialog. The dialog is firing before > the saveStackRequest message. That is the problem. I will look for another > message that may be getting sent. > > Bob S > > > > On Feb 5, 2015, at 09:56 , Peter Haworth wrote: > > > > I think there's a global array in the IDE keyed by stack name with a > value > > of true/false that indicates whether the stack is "dirty". You could > > probably set that appropriately but unfortunately, I can't remember its > > name, except that it begins with "g"!!! > > > > Pete > > lcSQL Software > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Thu Feb 5 13:33:45 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 18:33:45 +0000 Subject: How to detect that user closed window In-Reply-To: References: <82BA99EC-DC67-4EC6-B8A7-47B0FDEBBA91@iotecdigital.com> <54D3A3FD.8020106@fourthworld.com> <1FCD9991-5013-461E-9EE6-3FE9D552BE53@iotecdigital.com> Message-ID: Hi all. Simple workaround. Aren?t most workarounds simple in the end? Include this in a frontScript: on closeStackRequest save stack the currentWindow pass closeStackRequest end closeStackRequest Bob S From ambassador at fourthworld.com Thu Feb 5 13:52:40 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 05 Feb 2015 10:52:40 -0800 Subject: encrypt storage In-Reply-To: References: Message-ID: <54D3BBF8.8060100@fourthworld.com> Bob Sneidar wrote: > I am not using a web server for this, I am communicating directly > with the SQL server. I understand that most people regard this as > a major no-no, but the information being stored is not confidential, > just names and addresses along with copier and network information. If it's on an intranet not connected to the wild west of the Internet it's probably fine. But if it is exposed to the Internet (read "networks of international crime rings who've hired hundreds of engineers with 160+ IQs and have vast botnets at their disposal), reads are the least of your concerns. More chilling is the prospect of writes. MySQL is very powerful. Pwnership of the machine - and possibly anything that connects to it - is a risk. In most cases no one wants our data. What they're often after is more nodes for their botnets that they can rent to their underworld clients. I'm no security expert, which is why I tend to be cautious. But the security consultants in my local Linux user group are downright paranoid, so maybe caution's not a bad thing. :) LC Server does take a bit of learning, but the convenience it provides for not just this project but many others can make it well worth taking one step back for the three steps forward it'll help deliver. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From prothero at earthednet.org Thu Feb 5 14:40:37 2015 From: prothero at earthednet.org (William Prothero) Date: Thu, 5 Feb 2015 11:40:37 -0800 Subject: Question re project organization In-Reply-To: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> Message-ID: <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> Never mind! There?s lots happening on the list re this. I expect the splash app model is the way to go. I?ll have to do some testing and re-organizing to develop more specific questions. Regards, Bill > On Feb 4, 2015, at 3:39 PM, William Prothero wrote: > > Folks: > I?d like some advice on project organization as I take my app to the next step. I am creating a standalone that will work on Mac and Windows, possibly future modification to mobile, but not for now. > > I have a basic app where the use can access information about the Earth, and want to the user be able to add downloadable code modules. The basic app has resources that will be used by additions that will provide challenges and information and will use the basic app for data. So, it?s kind of like a splash app. Specifications and descriptions of downloadable additions will be stored on a database and the use can choose which ones are wanted. > > So, given Apple?s sandboxing requirements, where should the downloaded parts be put? Is the MacOS folder the correct place? In Windows, would it be the same folder as the exe? > > Tnx for any wisdom. > Regards, > Bill > > William A. Prothero > http://es.earthednet.org/ > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From admin at FlexibleLearning.com Thu Feb 5 14:45:11 2015 From: admin at FlexibleLearning.com (FlexibleLearning.com) Date: Thu, 5 Feb 2015 19:45:11 -0000 Subject: How to detect that user closed window Message-ID: <001c01d0417c$424654c0$c6d2fe40$@FlexibleLearning.com> The IDE can be easily suppressed with... on closeStackRequest lock messages save this stack pass closeStackRequest end closeStackRequest Hugh Senior FLCo > Bob Sneidar wrote: > > > Nope. You would think it does, but I have this in the stack script: > > > > on closeStackRequest > > save this stack > > pass closeStackRequest > > end closeStackRequest > > > > I still get the save dialog when I close it. From bobsneidar at iotecdigital.com Thu Feb 5 15:44:50 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 5 Feb 2015 20:44:50 +0000 Subject: How to detect that user closed window In-Reply-To: <001c01d0417c$424654c0$c6d2fe40$@FlexibleLearning.com> References: <001c01d0417c$424654c0$c6d2fe40$@FlexibleLearning.com> Message-ID: <7AC2710E-7414-4BA6-8CB0-02EF28FF8B72@iotecdigital.com> It doesn?t work in the IDE. I tried it. I set a checkpoint on the first line of that very handler, and I got the save dialog before the handler was triggered, which is why I put it in the frontScript. Besides, in the frontScript, it works no matter which stack or substack I close. This is important to me not just because I want to suppress the save dialog, but I actively set properties as a poor man?s stack global variables, so making sure the stack is saved when I close it is a necessary part of my applications, and giving the user the change to discard changes can adversely affect the operation of my applications. Bob S On Feb 5, 2015, at 11:45 , FlexibleLearning.com > wrote: The IDE can be easily suppressed with... on closeStackRequest lock messages save this stack pass closeStackRequest end closeStackRequest Hugh Senior FLCo From bonnmike at gmail.com Thu Feb 5 20:00:41 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Thu, 5 Feb 2015 18:00:41 -0700 Subject: How to detect that user closed window In-Reply-To: <7AC2710E-7414-4BA6-8CB0-02EF28FF8B72@iotecdigital.com> References: <001c01d0417c$424654c0$c6d2fe40$@FlexibleLearning.com> <7AC2710E-7414-4BA6-8CB0-02EF28FF8B72@iotecdigital.com> Message-ID: Silly question, but.. the filename of the stack is set, right? If its empty, when you try to save, the save as dialog will pop. On Thu, Feb 5, 2015 at 1:44 PM, Bob Sneidar wrote: > It doesn?t work in the IDE. I tried it. I set a checkpoint on the first > line of that very handler, and I got the save dialog before the handler was > triggered, which is why I put it in the frontScript. Besides, in the > frontScript, it works no matter which stack or substack I close. This is > important to me not just because I want to suppress the save dialog, but I > actively set properties as a poor man?s stack global variables, so making > sure the stack is saved when I close it is a necessary part of my > applications, and giving the user the change to discard changes can > adversely affect the operation of my applications. > > Bob S > > > On Feb 5, 2015, at 11:45 , FlexibleLearning.com< > http://FlexibleLearning.com> admin at FlexibleLearning.com>> wrote: > > The IDE can be easily suppressed with... > > on closeStackRequest > lock messages > save this stack > pass closeStackRequest > end closeStackRequest > > Hugh Senior > FLCo > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From mwieder at ahsoftware.net Thu Feb 5 21:17:13 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Thu, 5 Feb 2015 18:17:13 -0800 Subject: encrypt storage In-Reply-To: <54D3AAB0.7040508@fourthworld.com> References: <54D3AAB0.7040508@fourthworld.com> Message-ID: <194453490060.20150205181713@ahsoftware.net> Richard- Thursday, February 5, 2015, 9:38:56 AM, you wrote: > (as Mark Wieder is probably typing a reply to this as I'm writing > ) -- -Mark Wieder ahsoftware at gmail.com This communication may be unlawfully collected and stored by the National Security Agency (NSA) in secret. The parties to this email do not consent to the retrieving or storing of this communication and any related metadata, as well as printing, copying, re-transmitting, disseminating, or otherwise using it. If you believe you have received this communication in error, please delete it immediately. From gerry.orkin at gmail.com Thu Feb 5 21:52:19 2015 From: gerry.orkin at gmail.com (Gerry) Date: Fri, 6 Feb 2015 13:52:19 +1100 Subject: iOS app rejection issue Message-ID: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> Hi all I?ve just submitted an app to Apple using LC 6.7.2 (rc 2) and the latest version of xCode (6.1.1). That xCode version is the only one set in the mobile prefs for LiveCode. The app build requirement is set to iOS 8 or later. I?m getting the following error messages back from Apple with the requirement that I fix the problem before submitting again. I have no idea what the problem is - can anyone help?: Minimum OS Version Mismatch - The minimum OS version (LC_VERSION_MIN_IPHONEOS) in the binary ('4.3') for architecture ('armv7') differs from the MinimumOSVersion ('8.0') in the Info.plist. Minimum OS Version Mismatch - The minimum OS version (LC_VERSION_MIN_IPHONEOS) in the binary ('7.0') for architecture ('arm64') differs from the MinimumOSVersion ('8.0') in the Info.plist. Cheers Gerry From gerry.orkin at gmail.com Thu Feb 5 22:08:04 2015 From: gerry.orkin at gmail.com (Gerry) Date: Fri, 06 Feb 2015 03:08:04 +0000 Subject: iOS app rejection issue References: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> Message-ID: Update: Submitting with the minimum supported OS set to 7.0 I just get the first error back. Gerry On Fri Feb 06 2015 at 1:52:25 PM Gerry wrote: > Hi all > > I've just submitted an app to Apple using LC 6.7.2 (rc 2) and the latest > version of xCode (6.1.1). That xCode version is the only one set in the > mobile prefs for LiveCode. The app build requirement is set to iOS 8 or > later. > > I'm getting the following error messages back from Apple with the > requirement that I fix the problem before submitting again. I have no idea > what the problem is - can anyone help?: > > Minimum OS Version Mismatch - The minimum OS version > (LC_VERSION_MIN_IPHONEOS) in the binary ('4.3') for architecture ('armv7') > differs from the MinimumOSVersion ('8.0') in the Info.plist. > > Minimum OS Version Mismatch - The minimum OS version > (LC_VERSION_MIN_IPHONEOS) in the binary ('7.0') for architecture ('arm64') > differs from the MinimumOSVersion ('8.0') in the Info.plist. > > Cheers > > Gerry From jgbrindle at me.com Thu Feb 5 22:08:00 2015 From: jgbrindle at me.com (Jeff Brindle) Date: Fri, 06 Feb 2015 14:08:00 +1100 Subject: iOS app rejection issue In-Reply-To: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> References: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> Message-ID: <4E73F4AE-06FB-40AF-A7FB-C381FEC11D5F@me.com> Gerry, Apparently that is an error in the current RCs (7.0.2 and 6.7). I ran into the same thing and the devs have confirmed that they are fixing it. I asked Heather by support email and apparently there is a new version coming in a day or so. Frustrating I know. Cheers Cheers, Jeff Brindle 0428 523 590 > On 6 Feb 2015, at 1:52 pm, Gerry wrote: > > Hi all > > I?ve just submitted an app to Apple using LC 6.7.2 (rc 2) and the latest version of xCode (6.1.1). That xCode version is the only one set in the mobile prefs for LiveCode. The app build requirement is set to iOS 8 or later. > > I?m getting the following error messages back from Apple with the requirement that I fix the problem before submitting again. I have no idea what the problem is - can anyone help?: > > Minimum OS Version Mismatch - The minimum OS version (LC_VERSION_MIN_IPHONEOS) in the binary ('4.3') for architecture ('armv7') differs from the MinimumOSVersion ('8.0') in the Info.plist. > > Minimum OS Version Mismatch - The minimum OS version (LC_VERSION_MIN_IPHONEOS) in the binary ('7.0') for architecture ('arm64') differs from the MinimumOSVersion ('8.0') in the Info.plist. > > Cheers > > Gerry > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Fri Feb 6 01:49:12 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Thu, 05 Feb 2015 20:49:12 -1000 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts Message-ID: <54D463E8.80605@hindu.org> If you put any preopenstack, resizestack, close stack etc. script in the mainstack script.. these will be triggered by the same action in a substack. What is the best way to avoid this? I just moved all those to the main background group of the main stack, but I'm not happy with that architecture. I'm so use to running most script in the main stack script for simplicity sake and ease of finding things. I suppose one can install "dummy" handlers in the substacks to match. e.g on preopenstack end preopenstack and since you are not passing anything, I suspect it will prevent triggering that handler in the main stack.. But, what are you veterans doing to handle this? Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com From scott at tactilemedia.com Fri Feb 6 02:44:26 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Thu, 5 Feb 2015 23:44:26 -0800 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D463E8.80605@hindu.org> References: <54D463E8.80605@hindu.org> Message-ID: <5C599EC9-7B98-4B63-A653-6DAFB686D2DF@tactilemedia.com> If you can do it, the easiest way is to place all your handlers in the card script of the first card of your main stack. All the handlers will be triggered by the main stack, but not the substacks. If you must place your handlers in the stack script, you can compare the name of the owner of the target at the beginning of each handler, something like: "if the short name of the owner of the target <> the short name of me then exit resizeStack" Otherwise, your method of placing blocking scripts in the substacks will work too, but the card script of card 1 of the main stack is really the easiest method. Regards, Scott Rossi Creative Director Tactile Media, UX Design > On Feb 5, 2015, at 10:49 PM, Brahmanathaswami wrote: > > If you put any preopenstack, resizestack, close stack etc. script in the mainstack script.. these will be triggered by the same action in a substack. > > What is the best way to avoid this? > > I just moved all those to the main background group of the main stack, but I'm not happy with that architecture. I'm so > use to running most script in the main stack script for simplicity sake and ease of finding things. > > I suppose one can install "dummy" handlers in the substacks to match. > > e.g > on preopenstack > end preopenstack > > and since you are not passing anything, I suspect it will prevent triggering that handler in the main stack.. > > But, what are you veterans doing to handle this? > > Swasti Astu, Be Well! > Brahmanathaswami > > Kauai's Hindu Monastery > www.HimalayanAcademy.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From m.schonewille at economy-x-talk.com Fri Feb 6 04:12:39 2015 From: m.schonewille at economy-x-talk.com (Mark Schonewille) Date: Fri, 06 Feb 2015 10:12:39 +0100 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D463E8.80605@hindu.org> References: <54D463E8.80605@hindu.org> Message-ID: <54D48587.50700@economy-x-talk.com> Hi Brahmanathaswami, It isn't obligatory to use substacks. You could use two mainstacks simultaneously. Just make sure to include the additional mainstacks as files when you build a standalone. With two mainstacks, the scripts in one stack won't be triggered by messages from the other. If you have handlers that you want to use in both stacks, you can put those handlers into another separate stack and use that as a library with the start using command or by defining front and back scripts. -- Best regards, Mark Schonewille Economy-x-Talk Consulting and Software Engineering Homepage: http://economy-x-talk.com Twitter: http://twitter.com/xtalkprogrammer KvK: 50277553 Installer Maker for LiveCode: http://qery.us/468 Buy my new book "Programming LiveCode for the Real Beginner" http://qery.us/3fi LiveCode on Facebook: https://www.facebook.com/groups/runrev/ On 2/6/2015 07:49, Brahmanathaswami wrote: > If you put any preopenstack, resizestack, close stack etc. script in the > mainstack script.. these will be triggered by the same action in a > substack. > > What is the best way to avoid this? > > I just moved all those to the main background group of the main stack, > but I'm not happy with that architecture. I'm so > use to running most script in the main stack script for simplicity sake > and ease of finding things. > > I suppose one can install "dummy" handlers in the substacks to match. > > e.g > on preopenstack > end preopenstack > > and since you are not passing anything, I suspect it will prevent > triggering that handler in the main stack.. > > But, what are you veterans doing to handle this? > > Swasti Astu, Be Well! > Brahmanathaswami > > Kauai's Hindu Monastery > www.HimalayanAcademy.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From rdimola at evergreeninfo.net Fri Feb 6 09:46:38 2015 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 6 Feb 2015 09:46:38 -0500 Subject: [OT)ish iOS app rejection issue In-Reply-To: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> References: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> Message-ID: <001c01d0421b$b6d8dc00$248a9400$@net> I submitted 2 apps on the same day last week. Both apps are identical in every way except for the data set. One was approved, one was rejected??? Just an FYI on the inconsistency of the review process. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From pmbrig at gmail.com Fri Feb 6 10:11:28 2015 From: pmbrig at gmail.com (Peter M. Brigham) Date: Fri, 6 Feb 2015 10:11:28 -0500 Subject: gratuitous inclusion of oracle in 7.0.2-RC2 In-Reply-To: References: <54D27109.3080301@fourthworld.com> Message-ID: <30D8E351-41BA-487B-A4B4-7DDD07B09BE4@gmail.com> On Feb 4, 2015, at 6:48 PM, Dr. Hawkins wrote: > Can you give us some estimates (or actual numbers) for: >> - Number of objects >> > > Lots. > > Lots and lots and lots. > > :) > > I don't even know how to guess. > > Looks like generally 60-200 per page on the main entry stack of 12 cards, > with about 1200 lines of code between the stack and cards. > > Hmm, only 600 objects on the Chapter 13 plan; I"m surprised. > Here's a script I use to get the number of lines of code in my stack system. Adapt it as needed. In some of my stacks I have many cards but they all have the same backgrounds. I have only a few stacks where multiple cards have their own controls (as opposed to those belonging to a place background), so you'll have to adjust accordingly. (See the line starting "if the short name of stack s is among the items of...") -- Peter Peter M. Brigham pmbrig at gmail.com http://home.comcast.net/~pmbrig ------------- function countScriptLines put the mainstack of stack "PDdata" into ms put the long id of stack ms into mainID put the number of lines of the script of mainID into totScrLines put the number of lines of the script of card 1 of mainID into scrLines add scrLines to totScrLines put the substacks of mainID into ssList repeat for each line s in ssList put the number of lines of the script of stack s into scrLines add scrLines to totScrLines if the short name of stack s is among the items of "PCAreferral,PCPletter," \ & "termination" then -- two cards, with different layouts put the number of cards of stack s into nbrCards else put 1 into nbrCards end if repeat with c = 1 to nbrCards put the number of lines of the script of card c of stack s into scrLines add scrLines to totScrLines put the number of controls of card c of stack s into nbrControls repeat with o = 1 to nbrControls put the short id of control o of card c of stack s into thisCtrlID if c > 1 then -- second card -- don't duplicate shared controls if there is a control id thisCtrlID of card 1 of stack s then next repeat end if end if put the long id of control o of card c of stack s into ctrID put the number of lines of the script of ctrID into scrLines add scrLines to totScrLines end repeat end repeat end repeat return totScrLines end countScriptLines From pete at lcsql.com Fri Feb 6 12:05:20 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 6 Feb 2015 09:05:20 -0800 Subject: SQLite BLOB Data Message-ID: When inserting and selecting BLOB data in an SQLite database, Livecode applies some sort of encoding/decoding thus ensuring that only Livecode applications can access it. In LC 6.6, a new revOpenDatabase option, binary, was provided for SQLite databases which eliminates the encoding. Personally, I think the binary option should have been the default for new SQLite databases created with Livecode but that's another story. Does anyone happen to know the encoding method used for this? Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin From bobsneidar at iotecdigital.com Fri Feb 6 14:29:46 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 19:29:46 +0000 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D463E8.80605@hindu.org> References: <54D463E8.80605@hindu.org> Message-ID: Put the handlers in the card script of the main stack. When opening the mainStack the card will receive the messages, but not when the substacks are opened. The card of the mainStack is not in the message path of the substacks. Alternately, you can put the same handlers in the substacks stack script and not pass them. Bob S > On Feb 5, 2015, at 22:49 , Brahmanathaswami wrote: > > If you put any preopenstack, resizestack, close stack etc. script in the mainstack script.. these will be triggered by the same action in a substack. > > What is the best way to avoid this? > > I just moved all those to the main background group of the main stack, but I'm not happy with that architecture. I'm so > use to running most script in the main stack script for simplicity sake and ease of finding things. > > I suppose one can install "dummy" handlers in the substacks to match. > > e.g > on preopenstack > end preopenstack > > and since you are not passing anything, I suspect it will prevent triggering that handler in the main stack.. > > But, what are you veterans doing to handle this? > > Swasti Astu, Be Well! > Brahmanathaswami > > Kauai's Hindu Monastery > www.HimalayanAcademy.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Feb 6 14:38:14 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 19:38:14 +0000 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D48587.50700@economy-x-talk.com> References: <54D463E8.80605@hindu.org> <54D48587.50700@economy-x-talk.com> Message-ID: <4E561310-E81B-4084-B1B0-C48B04159830@iotecdigital.com> There are some advantages to using substacks methinks. The monistic automatically ?knows? about the substacks without any extra coding or adding the stacks to the main stack files property. Also, I am not sure that graphics loaded in the main stack will be accessible to any stacks that are not substacks of the same. Thirdly, if you don?t want anyone to open the substack without first opening the main stack, a simple ?if the mainStack of me is me then get the hell out? sort of command in the openStack script is all you need. There are probably some others. Not sure but if you password protect the main stack, aren?t the substacks inaccessible as well? Finally, I think it looks good organizationally. Just my humble opinion tho?. Bob S On Feb 6, 2015, at 01:12 , Mark Schonewille > wrote: Hi Brahmanathaswami, It isn't obligatory to use substacks. You could use two mainstacks simultaneously. Just make sure to include the additional mainstacks as files when you build a standalone. With two mainstacks, the scripts in one stack won't be triggered by messages from the other. If you have handlers that you want to use in both stacks, you can put those handlers into another separate stack and use that as a library with the start using command or by defining front and back scripts. -- Best regards, Mark Schonewille From jacque at hyperactivesw.com Fri Feb 6 15:29:02 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 06 Feb 2015 14:29:02 -0600 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <4E561310-E81B-4084-B1B0-C48B04159830@iotecdigital.com> References: <54D463E8.80605@hindu.org> <54D48587.50700@economy-x-talk.com> <4E561310-E81B-4084-B1B0-C48B04159830@iotecdigital.com> Message-ID: <54D5240E.7020806@hyperactivesw.com> On 2/6/2015 1:38 PM, Bob Sneidar wrote: > Not sure but if you password protect the main stack, aren?t the > substacks inaccessible as well? Nope. You have to protect each one separately. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Fri Feb 6 15:33:40 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 06 Feb 2015 14:33:40 -0600 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D463E8.80605@hindu.org> References: <54D463E8.80605@hindu.org> Message-ID: <54D52524.9020300@hyperactivesw.com> On 2/6/2015 12:49 AM, Brahmanathaswami wrote: > If you put any preopenstack, resizestack, close stack etc. script in the > mainstack script.. these will be triggered by the same action in a > substack. > > What is the best way to avoid this? I usually do the thing where you put the open* handlers into the first card of the mainstack. It's easiest. If there are handlers that should be shared, but only with a few stacks, I put those handlers into the mainstack and check in the first line of the handler to see if the target is one of the stacks it needs to work with, and if not it exits. If almost everything needs to use the open* handlers except one or two stacks, then I put the handlers into the mainstack stack script and put blocking handlers into the stacks that are an exception. So I guess the answer is...it depends. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From richmondmathewson at gmail.com Fri Feb 6 15:36:20 2015 From: richmondmathewson at gmail.com (Richmond) Date: Fri, 06 Feb 2015 22:36:20 +0200 Subject: HTML5 will it or won't it? Message-ID: <54D525C4.7070501@gmail.com> I think RunRev are being a bit naughty again and not keeping their user-base informed . . . whither the HTML5 project? As Canonical release their Ubuntu phone which uses apps written in HTML5 this becomes even more pressing. http://www.bbc.com/news/technology-31148661 Richmond. From andrew at ctech.me Fri Feb 6 15:37:19 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 14:37:19 -0600 Subject: No subject Message-ID: Hello Ya'll, I'm trying to run some cleanup handlers to delete temporary files when my standalone exits. I was wanting to now if there was a way to trap when an application is quit via ending the process abruptly in the task manager on Windows (in my case 7). I was hoping the shutdownRequest message would get hit when this is done, but testing it on windows 7 and LC 6.5.5 it exits without sending shutdownRequest I can already handle when the my application is quit through more conventional means, but I want these temp files cleaned up regardless of how it exits (unless its a crash of course, etc). Any tips on what to try next? -- Regards, Andrew Kluthe andrew at ctech.me From andrew at ctech.me Fri Feb 6 15:38:06 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 14:38:06 -0600 Subject: No subject In-Reply-To: References: Message-ID: Yep, totally forgot a subject here after reading over my content. Jeez... On Fri, Feb 6, 2015 at 2:37 PM, Andrew Kluthe wrote: > Hello Ya'll, > > I'm trying to run some cleanup handlers to delete temporary files when my > standalone exits. I was wanting to now if there was a way to trap when an > application is quit via ending the process abruptly in the task manager on > Windows (in my case 7). > > I was hoping the shutdownRequest message would get hit when this is done, > but testing it on windows 7 and LC 6.5.5 it exits without sending > shutdownRequest > > I can already handle when the my application is quit through more > conventional means, but I want these temp files cleaned up regardless of > how it exits (unless its a crash of course, etc). > > Any tips on what to try next? > > -- > Regards, > > Andrew Kluthe > andrew at ctech.me > -- Regards, Andrew Kluthe andrew at ctech.me From ambassador at fourthworld.com Fri Feb 6 15:43:34 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 06 Feb 2015 12:43:34 -0800 Subject: encrypt storage In-Reply-To: <194453490060.20150205181713@ahsoftware.net> References: <194453490060.20150205181713@ahsoftware.net> Message-ID: <54D52776.5020207@fourthworld.com> Mark Wieder wrote: > Richard- > > Thursday, February 5, 2015, 9:38:56 AM, you wrote: > >> (as Mark Wieder is probably typing a reply to this as I'm writing >> ) > > Was I wrong? :) Even just in principle? After all, both you and Kyle are partially to blame for my paranoia: with all that I've learned from both of you I've upped my game on security a lot over the last few years, but I still feel it's never enough; there's always a part of me that thinks about my servers with a nagging "What if....", wondering when the hack will happen. Was my post over-reactive, or under? Security is one of those funny areas in life where the more I learn the more I feel I don't really know much at all, or at least not as much as the 160+ IQ hacker whose botnet is trying to break into my systems. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From pete at lcsql.com Fri Feb 6 15:42:20 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 6 Feb 2015 12:42:20 -0800 Subject: No subject In-Reply-To: References: Message-ID: Not sure if there is aa appropriate message but maybe you could check for these files on startup and delete them then? Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Fri, Feb 6, 2015 at 12:37 PM, Andrew Kluthe wrote: > Hello Ya'll, > > I'm trying to run some cleanup handlers to delete temporary files when my > standalone exits. I was wanting to now if there was a way to trap when an > application is quit via ending the process abruptly in the task manager on > Windows (in my case 7). > > I was hoping the shutdownRequest message would get hit when this is done, > but testing it on windows 7 and LC 6.5.5 it exits without sending > shutdownRequest > > I can already handle when the my application is quit through more > conventional means, but I want these temp files cleaned up regardless of > how it exits (unless its a crash of course, etc). > > Any tips on what to try next? > > -- > Regards, > > Andrew Kluthe > andrew at ctech.me > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From pete at lcsql.com Fri Feb 6 15:44:18 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 6 Feb 2015 12:44:18 -0800 Subject: encrypt storage In-Reply-To: <54D52776.5020207@fourthworld.com> References: <194453490060.20150205181713@ahsoftware.net> <54D52776.5020207@fourthworld.com> Message-ID: On Fri, Feb 6, 2015 at 12:43 PM, Richard Gaskin wrote: > Security is one of those funny areas in life where the more I learn the > more I feel I don't really know much at all, or at least not as much as the > 160+ IQ hacker whose botnet is trying to break into my systems. The Anthem IT folks probably feel the same way right now! Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin From ambassador at fourthworld.com Fri Feb 6 15:49:14 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 06 Feb 2015 12:49:14 -0800 Subject: No subject In-Reply-To: References: Message-ID: <54D528CA.8040505@fourthworld.com> Andrew Kluthe wrote: > I'm trying to run some cleanup handlers to delete temporary files > when my standalone exits. I was wanting to now if there was a way > to trap when an application is quit via ending the process abruptly > in the task manager on Windows (in my case 7). > > I was hoping the shutdownRequest message would get hit when this > is done, but testing it on windows 7 and LC 6.5.5 it exits without > sending shutdownRequest > > I can already handle when the my application is quit through more > conventional means, but I want these temp files cleaned up regardless > of how it exits (unless its a crash of course, etc). > > Any tips on what to try next? Kill is kill - there's nothing an app can to when the rug is pulled out from under it. You could instead handle cleanup in your app's initialization. While it can't guarantee it can close every session cleanly, it can guarantee starting cleanly. Also, if any temp files are written to the OS temp folder (specialFolderPath("temporary")) the OS will take care of those itself sooner or later, often on the next reboot. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From tore.nilsen at me.com Fri Feb 6 15:47:19 2015 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 06 Feb 2015 21:47:19 +0100 Subject: Data Grid objects in standalones Message-ID: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> I am using several Data Grid objects, as tables, in a standalone. When I try to manually enter data into fields in the data grid object it works alright as long as the main stack and the substacks are built as a single file, but not when I try to build the standalone with the substacks as separate files. I guess the reason is that the main stack loses connection with the Data Grid Template stack once this is moved into a separate file. I would however prefer to have the substacks as individual files in order to be able to upgrade them easily, without the need for an upgrade of the application as such. Are there any solutions to this problem that does not require a total rebuild of the application structure. Tore N From bobsneidar at iotecdigital.com Fri Feb 6 16:04:28 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 21:04:28 +0000 Subject: No subject In-Reply-To: References: Message-ID: Force quit is force quit. No way around that. If the OS allowed the app to do some cleanup, it wouldn?t be forcing anything. Bob S > On Feb 6, 2015, at 12:37 , Andrew Kluthe wrote: > > Hello Ya'll, > > I'm trying to run some cleanup handlers to delete temporary files when my > standalone exits. I was wanting to now if there was a way to trap when an > application is quit via ending the process abruptly in the task manager on > Windows (in my case 7). > > I was hoping the shutdownRequest message would get hit when this is done, > but testing it on windows 7 and LC 6.5.5 it exits without sending > shutdownRequest > > I can already handle when the my application is quit through more > conventional means, but I want these temp files cleaned up regardless of > how it exits (unless its a crash of course, etc). > > Any tips on what to try next? > > -- > Regards, > > Andrew Kluthe > andrew at ctech.me > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Feb 6 16:14:07 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 21:14:07 +0000 Subject: encrypt storage In-Reply-To: <54D52776.5020207@fourthworld.com> References: <194453490060.20150205181713@ahsoftware.net> <54D52776.5020207@fourthworld.com> Message-ID: I didn?t take it as overreactive. But I have always felt that security measures should be tempered with the value (or if you like vulnerability) of what is being secured. You wouldn?t want to institute Fort Knox for example to protect your piggy bank. Neither would you necessarily need bit level encryption to protect the web sites you visit (unless you are Richmond and then you probably would). I think that mySQL, if properly configured, is just as secure as any other modern server technology. If you encrypt data in transit, and as an added measure encrypt data in storage, it?s not a big deal. If I ever store data that is in any way confidential, I will employ these measures. I imagine a very resourceful person could decompile my app and somehow discern the seed value for a particular record, but I am not sure that would automatically give him access to the database, it also being password protected, and the code is password protected so it would be difficult to say the least. Also the seed is variable. Have fun with the one record. Right now the payoff would be that the hacker gains access to some names and addresses, and the copiers they have onsite. Hell, email me and I will zip up a copy of it and send it to them to save them some trouble. Bob S On Feb 6, 2015, at 12:43 , Richard Gaskin > wrote: Was my post over-reactive, or under? From bobsneidar at iotecdigital.com Fri Feb 6 16:17:08 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 21:17:08 +0000 Subject: Data Grid objects in standalones In-Reply-To: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> Message-ID: <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> As mentioned in the past, the easiest way around this is to have a mainstack that calls your actual application stacks. Password protect the app stacks if you like to protect the code. That way the app stacks are not actually a part of the read-only application, they are like support files that can be modified if put in the right place, which the compiler does for you. Bob S On Feb 6, 2015, at 12:47 , Tore Nilsen > wrote: I am using several Data Grid objects, as tables, in a standalone. When I try to manually enter data into fields in the data grid object it works alright as long as the main stack and the substacks are built as a single file, but not when I try to build the standalone with the substacks as separate files. I guess the reason is that the main stack loses connection with the Data Grid Template stack once this is moved into a separate file. I would however prefer to have the substacks as individual files in order to be able to upgrade them easily, without the need for an upgrade of the application as such. Are there any solutions to this problem that does not require a total rebuild of the application structure. Tore N ____________ From andrew at ctech.me Fri Feb 6 16:18:21 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 15:18:21 -0600 Subject: No subject In-Reply-To: References: Message-ID: Yep, and that's no problem either, but I really want to minimize the length of time these could sit around on a machine between uses. I am decrypting a sqlite db to an obscure temp folder on launch. I am doing this in lieu of being able to use something like sqlcipher with livecode and my sqlite DB being too large to store in memory. The DB is only about 250 mb, but still too much to do anything comfortably in memory or stored in a custom property on the machines this is intended to run on (Older machines sitting in dealership maintenance departments). Just trying to get the best of everything shutdown wise. shutdownRequest responds to SIGTERM's I was hoping there was something equivalent for SIGKILL or whatever windows is sending the process when exited from the task manager. Thanks, Andrew On Fri, Feb 6, 2015 at 2:42 PM, Peter Haworth wrote: > Not sure if there is aa appropriate message but maybe you could check for > these files on startup and delete them then? > > Pete > lcSQL Software > Home of lcStackBrowser and > SQLiteAdmin > > On Fri, Feb 6, 2015 at 12:37 PM, Andrew Kluthe wrote: > > > Hello Ya'll, > > > > I'm trying to run some cleanup handlers to delete temporary files when my > > standalone exits. I was wanting to now if there was a way to trap when an > > application is quit via ending the process abruptly in the task manager > on > > Windows (in my case 7). > > > > I was hoping the shutdownRequest message would get hit when this is done, > > but testing it on windows 7 and LC 6.5.5 it exits without sending > > shutdownRequest > > > > I can already handle when the my application is quit through more > > conventional means, but I want these temp files cleaned up regardless of > > how it exits (unless its a crash of course, etc). > > > > Any tips on what to try next? > > > > -- > > Regards, > > > > Andrew Kluthe > > andrew at ctech.me > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From bobsneidar at iotecdigital.com Fri Feb 6 16:24:02 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 21:24:02 +0000 Subject: No subject In-Reply-To: References: Message-ID: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Unfortunately the singlethreadedness of the engine prohibits any kind of cron process, which is what you need. You may be able to shell it out though. Not sure of the syntax, and I would look it up for you, but I wouldn?t want to rob you of the joys of paging through lots of nonsense to get the the real gem of information you need. Bob S > On Feb 6, 2015, at 13:18 , Andrew Kluthe wrote: > > Yep, and that's no problem either, but I really want to minimize the length > of time these could sit around on a machine between uses. > > I am decrypting a sqlite db to an obscure temp folder on launch. I am doing > this in lieu of being able to use something like sqlcipher with livecode > and my sqlite DB being too large to store in memory. > > The DB is only about 250 mb, but still too much to do anything comfortably > in memory or stored in a custom property on the machines this is intended > to run on (Older machines sitting in dealership maintenance departments). > > Just trying to get the best of everything shutdown wise. shutdownRequest > responds to SIGTERM's I was hoping there was something equivalent for > SIGKILL or whatever windows is sending the process when exited from the > task manager. > > Thanks, > > Andrew > > On Fri, Feb 6, 2015 at 2:42 PM, Peter Haworth wrote: > >> Not sure if there is aa appropriate message but maybe you could check for >> these files on startup and delete them then? >> >> Pete >> lcSQL Software >> Home of lcStackBrowser and >> SQLiteAdmin >> >> On Fri, Feb 6, 2015 at 12:37 PM, Andrew Kluthe wrote: >> >>> Hello Ya'll, >>> >>> I'm trying to run some cleanup handlers to delete temporary files when my >>> standalone exits. I was wanting to now if there was a way to trap when an >>> application is quit via ending the process abruptly in the task manager >> on >>> Windows (in my case 7). >>> >>> I was hoping the shutdownRequest message would get hit when this is done, >>> but testing it on windows 7 and LC 6.5.5 it exits without sending >>> shutdownRequest >>> >>> I can already handle when the my application is quit through more >>> conventional means, but I want these temp files cleaned up regardless of >>> how it exits (unless its a crash of course, etc). >>> >>> Any tips on what to try next? >>> >>> -- >>> Regards, >>> >>> Andrew Kluthe >>> andrew at ctech.me >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > > -- > Regards, > > Andrew Kluthe > andrew at ctech.me > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Feb 6 16:27:36 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 6 Feb 2015 21:27:36 +0000 Subject: No subject In-Reply-To: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: Ah what the hell. http://www.maclife.com/article/columns/terminal_101_creating_cron_jobs Bob S On Feb 6, 2015, at 13:24 , Bob Sneidar > wrote: Unfortunately the singlethreadedness of the engine prohibits any kind of cron process, which is what you need. You may be able to shell it out though. Not sure of the syntax, and I would look it up for you, but I wouldn?t want to rob you of the joys of paging through lots of nonsense to get the the real gem of information you need. Bob S From tore.nilsen at me.com Fri Feb 6 16:27:49 2015 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 06 Feb 2015 22:27:49 +0100 Subject: Data Grid objects in standalones In-Reply-To: <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> Message-ID: <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> The problem with letting the compiler handle this is that I cannot access the Data Grid Template stack from the main stack if it is not a part of the engine file. The standalone setup dialog is somewhat confusing in the sense that it seems as if it is possible to choose which substack files to include with the engine file and which substack files to branch out in a folder of its own. As far as I have discovered it is all or nothing. I guess I will have to dive into the code of the main stack again and write relative paths to all the stacks I don?t want to be a part of the engine. Luckily there are not very many of them, and they are not called from more than a couple of handlers. Tore N > 6. feb. 2015 kl. 22.17 skrev Bob Sneidar : > As mentioned in the past, the easiest way around this is to have a mainstack that calls your actual application stacks. Password protect the app stacks if you like to protect the code. That way the app stacks are not actually a part of the read-only application, they are like support files that can be modified if put in the right place, which the compiler does for you. > > Bob S > > > On Feb 6, 2015, at 12:47 , Tore Nilsen > wrote: > > I am using several Data Grid objects, as tables, in a standalone. When I try to manually enter data into fields in the data grid object it works alright as long as the main stack and the substacks are built as a single file, but not when I try to build the standalone with the substacks as separate files. I guess the reason is that the main stack loses connection with the Data Grid Template stack once this is moved into a separate file. I would however prefer to have the substacks as individual files in order to be able to upgrade them easily, without the need for an upgrade of the application as such. Are there any solutions to this problem that does not require a total rebuild of the application structure. > > Tore N > ____________ > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From andrew at ctech.me Fri Feb 6 16:28:36 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 15:28:36 -0600 Subject: No subject In-Reply-To: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: Yeah, adding another running process seems like the only option I have for this (if its important enough case to warrant it). My livecode standalone is actually a launcher and updater for a node-webkit (http://nwjs.io/) application, so I am already adding extra running processes to the three nw.exe that get put into use by node-webkit via the livecode standalone. (Totaling 4 processes right now.) You could see why I might be hesitant to go down the rabbit hole to a process to manage my manager process. ;) It was just wishful thinking on my part, wasn't sure if there was a message I wasn't privy to that could work like I described. Thanks again, Andrew On Fri, Feb 6, 2015 at 3:24 PM, Bob Sneidar wrote: > Unfortunately the singlethreadedness of the engine prohibits any kind of > cron process, which is what you need. You may be able to shell it out > though. Not sure of the syntax, and I would look it up for you, but I > wouldn?t want to rob you of the joys of paging through lots of nonsense to > get the the real gem of information you need. > > Bob S > > > > On Feb 6, 2015, at 13:18 , Andrew Kluthe wrote: > > > > Yep, and that's no problem either, but I really want to minimize the > length > > of time these could sit around on a machine between uses. > > > > I am decrypting a sqlite db to an obscure temp folder on launch. I am > doing > > this in lieu of being able to use something like sqlcipher with livecode > > and my sqlite DB being too large to store in memory. > > > > The DB is only about 250 mb, but still too much to do anything > comfortably > > in memory or stored in a custom property on the machines this is intended > > to run on (Older machines sitting in dealership maintenance departments). > > > > Just trying to get the best of everything shutdown wise. shutdownRequest > > responds to SIGTERM's I was hoping there was something equivalent for > > SIGKILL or whatever windows is sending the process when exited from the > > task manager. > > > > Thanks, > > > > Andrew > > > > On Fri, Feb 6, 2015 at 2:42 PM, Peter Haworth wrote: > > > >> Not sure if there is aa appropriate message but maybe you could check > for > >> these files on startup and delete them then? > >> > >> Pete > >> lcSQL Software > >> Home of lcStackBrowser and > >> SQLiteAdmin > >> > >> On Fri, Feb 6, 2015 at 12:37 PM, Andrew Kluthe wrote: > >> > >>> Hello Ya'll, > >>> > >>> I'm trying to run some cleanup handlers to delete temporary files when > my > >>> standalone exits. I was wanting to now if there was a way to trap when > an > >>> application is quit via ending the process abruptly in the task manager > >> on > >>> Windows (in my case 7). > >>> > >>> I was hoping the shutdownRequest message would get hit when this is > done, > >>> but testing it on windows 7 and LC 6.5.5 it exits without sending > >>> shutdownRequest > >>> > >>> I can already handle when the my application is quit through more > >>> conventional means, but I want these temp files cleaned up regardless > of > >>> how it exits (unless its a crash of course, etc). > >>> > >>> Any tips on what to try next? > >>> > >>> -- > >>> Regards, > >>> > >>> Andrew Kluthe > >>> andrew at ctech.me > >>> _______________________________________________ > >>> use-livecode mailing list > >>> use-livecode at lists.runrev.com > >>> Please visit this url to subscribe, unsubscribe and manage your > >>> subscription preferences: > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > >>> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > >> > > > > > > > > -- > > Regards, > > > > Andrew Kluthe > > andrew at ctech.me > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From andrew at ctech.me Fri Feb 6 16:29:41 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 15:29:41 -0600 Subject: No subject In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: As my stacks are targeting windows only for the moment, cron isnt really an option here either. I do appreciate the follow up though. On Fri, Feb 6, 2015 at 3:27 PM, Bob Sneidar wrote: > Ah what the hell. > > http://www.maclife.com/article/columns/terminal_101_creating_cron_jobs > > Bob S > > > On Feb 6, 2015, at 13:24 , Bob Sneidar > wrote: > > Unfortunately the singlethreadedness of the engine prohibits any kind of > cron process, which is what you need. You may be able to shell it out > though. Not sure of the syntax, and I would look it up for you, but I > wouldn?t want to rob you of the joys of paging through lots of nonsense to > get the the real gem of information you need. > > Bob S > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From andrew at ctech.me Fri Feb 6 16:32:11 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 15:32:11 -0600 Subject: No subject In-Reply-To: <54D528CA.8040505@fourthworld.com> References: <54D528CA.8040505@fourthworld.com> Message-ID: Right, already doing some of these goodies. Was just looking to round out my current method by covering all the bases possible. It's not a must have, just a "would-be-nice" kinda thing. On Fri, Feb 6, 2015 at 2:49 PM, Richard Gaskin wrote: > Andrew Kluthe wrote: > > I'm trying to run some cleanup handlers to delete temporary files > > when my standalone exits. I was wanting to now if there was a way > > to trap when an application is quit via ending the process abruptly > > in the task manager on Windows (in my case 7). > > > > I was hoping the shutdownRequest message would get hit when this > > is done, but testing it on windows 7 and LC 6.5.5 it exits without > > sending shutdownRequest > > > > I can already handle when the my application is quit through more > > conventional means, but I want these temp files cleaned up regardless > > of how it exits (unless its a crash of course, etc). > > > > Any tips on what to try next? > > Kill is kill - there's nothing an app can to when the rug is pulled out > from under it. > > You could instead handle cleanup in your app's initialization. While it > can't guarantee it can close every session cleanly, it can guarantee > starting cleanly. > > Also, if any temp files are written to the OS temp folder > (specialFolderPath("temporary")) the OS will take care of those itself > sooner or later, often on the next reboot. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From bonnmike at gmail.com Fri Feb 6 16:32:36 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 6 Feb 2015 14:32:36 -0700 Subject: Data Grid objects in standalones In-Reply-To: <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> Message-ID: Tore, read this. http://lessons.runrev.com/m/datagrid/l/7339-what-do-i-need-to-do-to-deploy-a-standalone-with-a-data-grid Specifically the part of bulding with a datagrid using a splashstack. The easiest way to get functional datagrids that are parts of seperate stack files is to incuded a single substack in your main that is named "datagrid templates dud" so that the builder will decide to include all the datagrid support libraries. More detail available in the link from above. On Fri, Feb 6, 2015 at 2:27 PM, Tore Nilsen wrote: > The problem with letting the compiler handle this is that I cannot access > the Data Grid Template stack from the main stack if it is not a part of the > engine file. The standalone setup dialog is somewhat confusing in the sense > that it seems as if it is possible to choose which substack files to > include with the engine file and which substack files to branch out in a > folder of its own. As far as I have discovered it is all or nothing. I > guess I will have to dive into the code of the main stack again and write > relative paths to all the stacks I don?t want to be a part of the engine. > Luckily there are not very many of them, and they are not called from more > than a couple of handlers. > > Tore N > > > > 6. feb. 2015 kl. 22.17 skrev Bob Sneidar : > > As mentioned in the past, the easiest way around this is to have a > mainstack that calls your actual application stacks. Password protect the > app stacks if you like to protect the code. That way the app stacks are not > actually a part of the read-only application, they are like support files > that can be modified if put in the right place, which the compiler does for > you. > > > > Bob S > > > > > > On Feb 6, 2015, at 12:47 , Tore Nilsen tore.nilsen at me.com>> wrote: > > > > I am using several Data Grid objects, as tables, in a standalone. When I > try to manually enter data into fields in the data grid object it works > alright as long as the main stack and the substacks are built as a single > file, but not when I try to build the standalone with the substacks as > separate files. I guess the reason is that the main stack loses connection > with the Data Grid Template stack once this is moved into a separate file. > I would however prefer to have the substacks as individual files in order > to be able to upgrade them easily, without the need for an upgrade of the > application as such. Are there any solutions to this problem that does not > require a total rebuild of the application structure. > > > > Tore N > > ____________ > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tore.nilsen at me.com Fri Feb 6 16:41:39 2015 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 06 Feb 2015 22:41:39 +0100 Subject: Data Grid objects in standalones In-Reply-To: References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> Message-ID: <24D89384-8DD6-4161-A4FF-1B2AC5D68804@me.com> Thanks for pointing me in this direction. I have read this lesson, and I have also made the data grid templates dud, although there should be no need for it, as the compiler does include the correct data grid template as a substack. The problem arises when I choose to move substacks into individual files during compiling. Then the application seems to lose contact with the data grid template stack. This happens whether or not I include a substack called data grid templates dud or not. As I need to get my application ready for my students for Monday, I think I will do as Bob S suggests and just ?rewire? the structure in code. Tore N > 6. feb. 2015 kl. 22.32 skrev Mike Bonner : > > Tore, read this. > http://lessons.runrev.com/m/datagrid/l/7339-what-do-i-need-to-do-to-deploy-a-standalone-with-a-data-grid > > Specifically the part of bulding with a datagrid using a splashstack. The > easiest way to get functional datagrids that are parts of seperate stack > files is to incuded a single substack in your main that is named "datagrid > templates dud" so that the builder will decide to include all the datagrid > support libraries. More detail available in the link from above. > > On Fri, Feb 6, 2015 at 2:27 PM, Tore Nilsen wrote: > >> The problem with letting the compiler handle this is that I cannot access >> the Data Grid Template stack from the main stack if it is not a part of the >> engine file. The standalone setup dialog is somewhat confusing in the sense >> that it seems as if it is possible to choose which substack files to >> include with the engine file and which substack files to branch out in a >> folder of its own. As far as I have discovered it is all or nothing. I >> guess I will have to dive into the code of the main stack again and write >> relative paths to all the stacks I don?t want to be a part of the engine. >> Luckily there are not very many of them, and they are not called from more >> than a couple of handlers. >> >> Tore N >> >> >>> 6. feb. 2015 kl. 22.17 skrev Bob Sneidar : >>> As mentioned in the past, the easiest way around this is to have a >> mainstack that calls your actual application stacks. Password protect the >> app stacks if you like to protect the code. That way the app stacks are not >> actually a part of the read-only application, they are like support files >> that can be modified if put in the right place, which the compiler does for >> you. >>> >>> Bob S >>> >>> >>> On Feb 6, 2015, at 12:47 , Tore Nilsen > tore.nilsen at me.com>> wrote: >>> >>> I am using several Data Grid objects, as tables, in a standalone. When I >> try to manually enter data into fields in the data grid object it works >> alright as long as the main stack and the substacks are built as a single >> file, but not when I try to build the standalone with the substacks as >> separate files. I guess the reason is that the main stack loses connection >> with the Data Grid Template stack once this is moved into a separate file. >> I would however prefer to have the substacks as individual files in order >> to be able to upgrade them easily, without the need for an upgrade of the >> application as such. Are there any solutions to this problem that does not >> require a total rebuild of the application structure. >>> >>> Tore N >>> ____________ >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From andrew at ctech.me Fri Feb 6 16:44:53 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 15:44:53 -0600 Subject: Mobile cloud storage In-Reply-To: <1423146163.535371.223499057.3933CB94@webmail.messagingengine.com> References: <54D153D2.9000102@fourthworld.com> <1423146163.535371.223499057.3933CB94@webmail.messagingengine.com> Message-ID: For simple, small files this could probably be done with livecode alone as it exists today. For large file uploads where it would block the entire process while it uploads, maybe not so much. I've got high hopes for being able to wrap all kinds of dll's and sdks in livecode in the future when the replacement for externals hits the street. How much of this ends up being do-able with what they are building along those lines is still to be seen. I believe it was the intention to replace externals for non-gui related things with "widgets" as well, yeah? MongoDB Drivers, sqlcipher, curl, etc? On Thu, Feb 5, 2015 at 8:22 AM, Mark Wilcox wrote: > > > So most folks have either iCloud, Goggle Drive, Dropbox, or OwnCloud, > > and using those sure beats building a complex storage backend for > > simple apps. > > > > Does our community have yet a library for allowing the user to pick > > which common storage system they have and an API for > > reading/writing to it? > > Apple made a generic solution for this on iOS and OS X. Document > Provider Extensions (OK, new OS versions only). > > https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/FileProvider.html#//apple_ref/doc/uid/TP40014214-CH18-SW1 > > If you want to read and write files from/to cloud storage then there's > single interface and the device only shows providers that the user has > installed/configured. > > The latter part you obviously can't get without being the OS provider > and having providers write Extensions to tell the system they offer file > storage. For Apple platforms at least it would make sense to mimic the > interface as far as possible though, assuming you don't just want to > wrap what they've already done. > > -- > Mark Wilcox mark at sorcery-ltd.co.uk > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From bonnmike at gmail.com Fri Feb 6 17:04:04 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 6 Feb 2015 15:04:04 -0700 Subject: Data Grid objects in standalones In-Reply-To: <24D89384-8DD6-4161-A4FF-1B2AC5D68804@me.com> References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> <24D89384-8DD6-4161-A4FF-1B2AC5D68804@me.com> Message-ID: Ah k. Yep. There is a behavior script that the datagrid is linked to, i bet it goes wonky when things are separated. If you "put the behavior of group.." whatever the group is that is your datagrid, and its in the toplevel of the main stack it says button id 1005 of stack "revDataGridLibrary" Ah k. So you're having it move substacks to separate stackfiles from the standalone settings? I think you can get around the problem by a) just having all your secondary stacks be mainstacks in their own rights (and you can include them in the files to copy pane) Don't have the compiler change substacks to stackfiles (because my guess is that it does this BEFORE looking for inclusions) and then leave the datagrid templates stack as a substack of the main, and don't choose to move substacks to stackfiles. Otherwise, I doubt the stack "revdatagridlibrary" is getting included, so the last option would be to manually clone that stack, save it tooand include it in the stackfiles, then change the behaviors of all your datagrids to point to button id 1005 of stack "path/to/the/revdatagridlibrafyfile.." I also don't know for sure if you would have to "start using.." the revdatagridlibrary stackfile or not. On Fri, Feb 6, 2015 at 2:41 PM, Tore Nilsen wrote: > Thanks for pointing me in this direction. I have read this lesson, and I > have also made the data grid templates dud, although there should be no > need for it, as the compiler does include the correct data grid template as > a substack. The problem arises when I choose to move substacks into > individual files during compiling. Then the application seems to lose > contact with the data grid template stack. This happens whether or not I > include a substack called data grid templates dud or not. As I need to get > my application ready for my students for Monday, I think I will do as Bob S > suggests and just ?rewire? the structure in code. > > > Tore N > > > > 6. feb. 2015 kl. 22.32 skrev Mike Bonner : > > > > Tore, read this. > > > http://lessons.runrev.com/m/datagrid/l/7339-what-do-i-need-to-do-to-deploy-a-standalone-with-a-data-grid > > > > Specifically the part of bulding with a datagrid using a splashstack. > The > > easiest way to get functional datagrids that are parts of seperate stack > > files is to incuded a single substack in your main that is named > "datagrid > > templates dud" so that the builder will decide to include all the > datagrid > > support libraries. More detail available in the link from above. > > > > On Fri, Feb 6, 2015 at 2:27 PM, Tore Nilsen wrote: > > > >> The problem with letting the compiler handle this is that I cannot > access > >> the Data Grid Template stack from the main stack if it is not a part of > the > >> engine file. The standalone setup dialog is somewhat confusing in the > sense > >> that it seems as if it is possible to choose which substack files to > >> include with the engine file and which substack files to branch out in a > >> folder of its own. As far as I have discovered it is all or nothing. I > >> guess I will have to dive into the code of the main stack again and > write > >> relative paths to all the stacks I don?t want to be a part of the > engine. > >> Luckily there are not very many of them, and they are not called from > more > >> than a couple of handlers. > >> > >> Tore N > >> > >> > >>> 6. feb. 2015 kl. 22.17 skrev Bob Sneidar >: > >>> As mentioned in the past, the easiest way around this is to have a > >> mainstack that calls your actual application stacks. Password protect > the > >> app stacks if you like to protect the code. That way the app stacks are > not > >> actually a part of the read-only application, they are like support > files > >> that can be modified if put in the right place, which the compiler does > for > >> you. > >>> > >>> Bob S > >>> > >>> > >>> On Feb 6, 2015, at 12:47 , Tore Nilsen >> tore.nilsen at me.com>> wrote: > >>> > >>> I am using several Data Grid objects, as tables, in a standalone. When > I > >> try to manually enter data into fields in the data grid object it works > >> alright as long as the main stack and the substacks are built as a > single > >> file, but not when I try to build the standalone with the substacks as > >> separate files. I guess the reason is that the main stack loses > connection > >> with the Data Grid Template stack once this is moved into a separate > file. > >> I would however prefer to have the substacks as individual files in > order > >> to be able to upgrade them easily, without the need for an upgrade of > the > >> application as such. Are there any solutions to this problem that does > not > >> require a total rebuild of the application structure. > >>> > >>> Tore N > >>> ____________ > >>> > >>> _______________________________________________ > >>> use-livecode mailing list > >>> use-livecode at lists.runrev.com > >>> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > >> > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bonnmike at gmail.com Fri Feb 6 17:11:04 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 6 Feb 2015 15:11:04 -0700 Subject: Data Grid objects in standalones In-Reply-To: References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> Message-ID: DOH, thats what you said above, though this might be a good time for a feature request. It would be nice if inclusions were searched for BEFORE the option to disconnect substacks into seperate stack files, it would make building splashstack. On Fri, Feb 6, 2015 at 2:32 PM, Mike Bonner wrote: > Tore, read this. > http://lessons.runrev.com/m/datagrid/l/7339-what-do-i-need-to-do-to-deploy-a-standalone-with-a-data-grid > > Specifically the part of bulding with a datagrid using a splashstack. The > easiest way to get functional datagrids that are parts of seperate stack > files is to incuded a single substack in your main that is named "datagrid > templates dud" so that the builder will decide to include all the datagrid > support libraries. More detail available in the link from above. > > On Fri, Feb 6, 2015 at 2:27 PM, Tore Nilsen wrote: > >> The problem with letting the compiler handle this is that I cannot access >> the Data Grid Template stack from the main stack if it is not a part of the >> engine file. The standalone setup dialog is somewhat confusing in the sense >> that it seems as if it is possible to choose which substack files to >> include with the engine file and which substack files to branch out in a >> folder of its own. As far as I have discovered it is all or nothing. I >> guess I will have to dive into the code of the main stack again and write >> relative paths to all the stacks I don?t want to be a part of the engine. >> Luckily there are not very many of them, and they are not called from more >> than a couple of handlers. >> >> Tore N >> >> >> > 6. feb. 2015 kl. 22.17 skrev Bob Sneidar : >> > As mentioned in the past, the easiest way around this is to have a >> mainstack that calls your actual application stacks. Password protect the >> app stacks if you like to protect the code. That way the app stacks are not >> actually a part of the read-only application, they are like support files >> that can be modified if put in the right place, which the compiler does for >> you. >> > >> > Bob S >> > >> > >> > On Feb 6, 2015, at 12:47 , Tore Nilsen > tore.nilsen at me.com>> wrote: >> > >> > I am using several Data Grid objects, as tables, in a standalone. When >> I try to manually enter data into fields in the data grid object it works >> alright as long as the main stack and the substacks are built as a single >> file, but not when I try to build the standalone with the substacks as >> separate files. I guess the reason is that the main stack loses connection >> with the Data Grid Template stack once this is moved into a separate file. >> I would however prefer to have the substacks as individual files in order >> to be able to upgrade them easily, without the need for an upgrade of the >> application as such. Are there any solutions to this problem that does not >> require a total rebuild of the application structure. >> > >> > Tore N >> > ____________ >> > >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode at lists.runrev.com >> > Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> > http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From tore.nilsen at me.com Fri Feb 6 17:15:19 2015 From: tore.nilsen at me.com (Tore Nilsen) Date: Fri, 06 Feb 2015 23:15:19 +0100 Subject: Data Grid objects in standalones In-Reply-To: References: <281CAE34-19DC-4904-A393-8CEDEDF5FC26@me.com> <00EF550A-9139-40A0-BDA9-017CEC7B41B0@iotecdigital.com> <12E71E46-A6D0-421D-BD6D-CA8CD1B0B11D@me.com> Message-ID: <82B78880-4802-4DC8-9CEC-E7DAF41498B5@me.com> Either that or having the possibility to choose which substacks to include in the application and which substacks to save as individual stacks would help. Tore > 6. feb. 2015 kl. 23.11 skrev Mike Bonner : > > DOH, thats what you said above, though this might be a good time for a > feature request. It would be nice if inclusions were searched for BEFORE > the option to disconnect substacks into seperate stack files, it would make > building splashstack. > > On Fri, Feb 6, 2015 at 2:32 PM, Mike Bonner wrote: > >> Tore, read this. >> http://lessons.runrev.com/m/datagrid/l/7339-what-do-i-need-to-do-to-deploy-a-standalone-with-a-data-grid >> >> Specifically the part of bulding with a datagrid using a splashstack. The >> easiest way to get functional datagrids that are parts of seperate stack >> files is to incuded a single substack in your main that is named "datagrid >> templates dud" so that the builder will decide to include all the datagrid >> support libraries. More detail available in the link from above. >> >> On Fri, Feb 6, 2015 at 2:27 PM, Tore Nilsen wrote: >> >>> The problem with letting the compiler handle this is that I cannot access >>> the Data Grid Template stack from the main stack if it is not a part of the >>> engine file. The standalone setup dialog is somewhat confusing in the sense >>> that it seems as if it is possible to choose which substack files to >>> include with the engine file and which substack files to branch out in a >>> folder of its own. As far as I have discovered it is all or nothing. I >>> guess I will have to dive into the code of the main stack again and write >>> relative paths to all the stacks I don?t want to be a part of the engine. >>> Luckily there are not very many of them, and they are not called from more >>> than a couple of handlers. >>> >>> Tore N >>> >>> >>>> 6. feb. 2015 kl. 22.17 skrev Bob Sneidar : >>>> As mentioned in the past, the easiest way around this is to have a >>> mainstack that calls your actual application stacks. Password protect the >>> app stacks if you like to protect the code. That way the app stacks are not >>> actually a part of the read-only application, they are like support files >>> that can be modified if put in the right place, which the compiler does for >>> you. >>>> >>>> Bob S >>>> >>>> >>>> On Feb 6, 2015, at 12:47 , Tore Nilsen >> tore.nilsen at me.com>> wrote: >>>> >>>> I am using several Data Grid objects, as tables, in a standalone. When >>> I try to manually enter data into fields in the data grid object it works >>> alright as long as the main stack and the substacks are built as a single >>> file, but not when I try to build the standalone with the substacks as >>> separate files. I guess the reason is that the main stack loses connection >>> with the Data Grid Template stack once this is moved into a separate file. >>> I would however prefer to have the substacks as individual files in order >>> to be able to upgrade them easily, without the need for an upgrade of the >>> application as such. Are there any solutions to this problem that does not >>> require a total rebuild of the application structure. >>>> >>>> Tore N >>>> ____________ >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at lists.runrev.com >>>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Fri Feb 6 18:03:53 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Fri, 06 Feb 2015 13:03:53 -1000 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D52524.9020300@hyperactivesw.com> References: <54D463E8.80605@hindu.org> <54D52524.9020300@hyperactivesw.com> Message-ID: <54D54859.50400@hindu.org> "it depends" got it... for me it's not about protecting anything.. it's about..eg. on resizestack x,y set the rect of some grc to the rect of this card # and other tricks here relating to dynamic geometry changes... end resize stack This gets triggered by a substack that does not have those controlled. How do you do this in real code on resizestack x,y if this stack is not the stack that this handler resides in then do nothing else set the rect of some grc to the rect of this card # and other tricks here relating to dynamic geometry changes... end if end resizestack Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com J. Landman Gay wrote: > > I usually do the thing where you put the open* handlers into the first > card of the mainstack. It's easiest. > > If there are handlers that should be shared, but only with a few > stacks, I put those handlers into the mainstack and check in the first > line of the handler to see if the target is one of the stacks it needs > to work with, and if not it exits. > > If almost everything needs to use the open* handlers except one or two > stacks, then I put the handlers into the mainstack stack script and > put blocking handlers into the stacks that are an exception. > > So I guess the answer is...it depends. From ambassador at fourthworld.com Fri Feb 6 18:17:28 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 06 Feb 2015 15:17:28 -0800 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D54859.50400@hindu.org> References: <54D54859.50400@hindu.org> Message-ID: <54D54B88.8090106@fourthworld.com> Brahmanathaswami wrote: > "it depends" > > got it... for me it's not about protecting anything.. > > it's about..eg. > > on resizestack x,y > set the rect of some grc to the rect of this card > # and other tricks here relating to dynamic geometry changes... > end resize stack > > This gets triggered by a substack that does not have those controlled. > > How do you do this in real code > > on resizestack x,y > if this stack is not the stack that this handler resides in then > do nothing > else > set the rect of some grc to the rect of this card > # and other tricks here relating to dynamic geometry changes... > end if > end resizestack If the mainstack is a single card, just put the handler in the card script. If the mainstack has multiple cards, put the handler in a common group script. If neither of those are viable in your setup, you could add a check to make sure the long name of "me" is in the long ID of the target. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From lan.kc.macmail at gmail.com Fri Feb 6 18:57:59 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 07:57:59 +0800 Subject: Question re project organization In-Reply-To: <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> Message-ID: On Fri, Feb 6, 2015 at 3:40 AM, William Prothero wrote: > I expect the splash app model is the way to go. > Only if you never ever plan on deploying to iOS or you don't believe that OS X's iOSification will get to the point that the same restrictions that prevent splash stacks from being approved by Apple for iOS will be applied to desktop. The latter obviously assuming that you are working within the Mac App Store not an unknown developer. If on the other hand an iOS version is a possibility then you may as well cross the bridge now and find a non-splash stack solution - as you already seem to be working with a server side db a local sqlite db might be a possibility; stored in specialFolderPath("documents") for iOS and specialFolderPath("support") for OS X and Win (not sure for Linux). From revdev at pdslabs.net Fri Feb 6 18:58:49 2015 From: revdev at pdslabs.net (Phil Davis) Date: Fri, 06 Feb 2015 15:58:49 -0800 Subject: No subject In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: <54D55539.8090805@pdslabs.net> If your concern is that someone might poke around, find, examine the old data, you could encrypt it before writing it to the temp folder. Just a thought - Phil On 2/6/15 1:29 PM, Andrew Kluthe wrote: > As my stacks are targeting windows only for the moment, cron isnt really an > option here either. I do appreciate the follow up though. > > On Fri, Feb 6, 2015 at 3:27 PM, Bob Sneidar > wrote: > >> Ah what the hell. >> >> http://www.maclife.com/article/columns/terminal_101_creating_cron_jobs >> >> Bob S >> >> >> On Feb 6, 2015, at 13:24 , Bob Sneidar > > wrote: >> >> Unfortunately the singlethreadedness of the engine prohibits any kind of >> cron process, which is what you need. You may be able to shell it out >> though. Not sure of the syntax, and I would look it up for you, but I >> wouldn?t want to rob you of the joys of paging through lots of nonsense to >> get the the real gem of information you need. >> >> Bob S >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > -- Phil Davis From lan.kc.macmail at gmail.com Fri Feb 6 19:24:17 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 08:24:17 +0800 Subject: No subject In-Reply-To: References: Message-ID: On Sat, Feb 7, 2015 at 5:18 AM, Andrew Kluthe wrote: > The DB is only about 250 mb, but still too much to do anything comfortably > in memory or stored in a custom property on the machines this is intended > to run on (Older machines sitting in dealership maintenance departments). > Maybe I have it completely wrong but why aren't you using specialFolderPath("temporary") - works on every platform and it's my understanding that if you don't clean up the file the next time the machine is shutdown it'll be automatically removed anyway. HTH From andrew at ctech.me Fri Feb 6 19:24:31 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 18:24:31 -0600 Subject: No subject In-Reply-To: <54D55539.8090805@pdslabs.net> References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> <54D55539.8090805@pdslabs.net> Message-ID: It stays encrypted on disk, but the file is being obscured away in a random temp folder *during runtime only* in a decrypted state. ;) I was just trying to make cleanup on exiting a little more foolproof than I have it already. I can't even use lc's built in encryption without hitting out of memory errors. Hence the reason I cant just hide it in a custom prop or run it in memory. thanks though. On Fri, Feb 6, 2015 at 5:58 PM, Phil Davis wrote: > If your concern is that someone might poke around, find, examine the old > data, you could encrypt it before writing it to the temp folder. > > Just a thought - > Phil > > > > On 2/6/15 1:29 PM, Andrew Kluthe wrote: > >> As my stacks are targeting windows only for the moment, cron isnt really >> an >> option here either. I do appreciate the follow up though. >> >> On Fri, Feb 6, 2015 at 3:27 PM, Bob Sneidar >> wrote: >> >> Ah what the hell. >>> >>> http://www.maclife.com/article/columns/terminal_101_creating_cron_jobs >>> >>> Bob S >>> >>> >>> On Feb 6, 2015, at 13:24 , Bob Sneidar >> > wrote: >>> >>> Unfortunately the singlethreadedness of the engine prohibits any kind of >>> cron process, which is what you need. You may be able to shell it out >>> though. Not sure of the syntax, and I would look it up for you, but I >>> wouldn?t want to rob you of the joys of paging through lots of nonsense >>> to >>> get the the real gem of information you need. >>> >>> Bob S >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> >> >> > -- > Phil Davis > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From andrew at ctech.me Fri Feb 6 19:25:54 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 18:25:54 -0600 Subject: No subject In-Reply-To: References: Message-ID: I am. ;) It works pretty good, I was just trying to button up this one specific pitfall. On Fri, Feb 6, 2015 at 6:24 PM, Kay C Lan wrote: > On Sat, Feb 7, 2015 at 5:18 AM, Andrew Kluthe wrote: > > > The DB is only about 250 mb, but still too much to do anything > comfortably > > in memory or stored in a custom property on the machines this is intended > > to run on (Older machines sitting in dealership maintenance departments). > > > > Maybe I have it completely wrong but why aren't you using > specialFolderPath("temporary") > - works on every platform and it's my understanding that if you don't clean > up the file the next time the machine is shutdown it'll be automatically > removed anyway. > > HTH > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From lan.kc.macmail at gmail.com Fri Feb 6 19:33:36 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 08:33:36 +0800 Subject: No subject In-Reply-To: References: Message-ID: Yeah, sorry for the wasted bandwidth, because there was no subject all the replies weren't threaded properly so I didn't see a couple of the other responses - now I see you've basically got it covered. On Sat, Feb 7, 2015 at 8:25 AM, Andrew Kluthe wrote: > I am. ;) It works pretty good, I was just trying to button up this one > specific pitfall. > > On Fri, Feb 6, 2015 at 6:24 PM, Kay C Lan > wrote: > > > On Sat, Feb 7, 2015 at 5:18 AM, Andrew Kluthe wrote: > > > > > The DB is only about 250 mb, but still too much to do anything > > comfortably > > > in memory or stored in a custom property on the machines this is > intended > > > to run on (Older machines sitting in dealership maintenance > departments). > > > > > > > Maybe I have it completely wrong but why aren't you using > > specialFolderPath("temporary") > > - works on every platform and it's my understanding that if you don't > clean > > up the file the next time the machine is shutdown it'll be automatically > > removed anyway. > > > > HTH > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > Regards, > > Andrew Kluthe > andrew at ctech.me > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Fri Feb 6 19:40:56 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 7 Feb 2015 00:40:56 +0000 Subject: No subject In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: There are cron methods in Windows too. Use the AT command in a shell script. Bob S On Feb 6, 2015, at 13:29 , Andrew Kluthe > wrote: As my stacks are targeting windows only for the moment, cron isnt really an option here either. I do appreciate the follow up though. From andrew at ctech.me Fri Feb 6 19:45:36 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 18:45:36 -0600 Subject: No subject In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: Yeah, the no subject thing was very regrettable. Totally meant to fill it in, just got a but button happy after I finished my email text. For some reason, I write my message and then give it a subject to frame it best. Kind of backwards. On Fri, Feb 6, 2015 at 6:40 PM, Bob Sneidar wrote: > There are cron methods in Windows too. Use the AT command in a shell > script. > > Bob S > > > On Feb 6, 2015, at 13:29 , Andrew Kluthe andrew at ctech.me>> wrote: > > As my stacks are targeting windows only for the moment, cron isnt really an > option here either. I do appreciate the follow up though. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From bobsneidar at iotecdigital.com Fri Feb 6 19:56:49 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 7 Feb 2015 00:56:49 +0000 Subject: Hide Stack Message Message-ID: Is there a message that gets sent when a stack is hidden? I have a stack that is getting hidden every time I go to one of it?s substacks. I?ve used the find command on my scripts to search for ?hide stack? or ?hide this? but there is no place this command exists that ought to trigger it. The one place it DOES exist I put a checkpoint on and it didn?t trigger. I need to find where this is happening so I can nuke it. Bob S From andrew at ctech.me Fri Feb 6 20:00:25 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 19:00:25 -0600 Subject: No subject In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: Yeah, it's pretty similar. I still kind of run the risk of not being able to tell it when to delete the file as this is going to be a long running application (one that stays open most of the day, or days? it's a parts lookup and interchange program) on the users system and I wouldn't be able to set the AT command at end process the same as me being unable to call any kind of lc script when it does. It's in an obscure but vulnerable state when its open anyway so this one little thing isn't a huge issue. I was just looking to see if there was any kind of message at all that was sent to a stack on ending a process like that on windows. On Fri, Feb 6, 2015 at 6:40 PM, Bob Sneidar wrote: > There are cron methods in Windows too. Use the AT command in a shell > script. > > Bob S > > > On Feb 6, 2015, at 13:29 , Andrew Kluthe andrew at ctech.me>> wrote: > > As my stacks are targeting windows only for the moment, cron isnt really an > option here either. I do appreciate the follow up though. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From revdev at pdslabs.net Fri Feb 6 20:01:09 2015 From: revdev at pdslabs.net (Phil Davis) Date: Fri, 06 Feb 2015 17:01:09 -0800 Subject: Hide Stack Message In-Reply-To: References: Message-ID: <54D563D5.4000903@pdslabs.net> set the vis[ible] of stack "x" to false ?? On 2/6/15 4:56 PM, Bob Sneidar wrote: > Is there a message that gets sent when a stack is hidden? I have a stack that is getting hidden every time I go to one of it?s substacks. I?ve used the find command on my scripts to search for ?hide stack? or ?hide this? but there is no place this command exists that ought to trigger it. The one place it DOES exist I put a checkpoint on and it didn?t trigger. > > I need to find where this is happening so I can nuke it. > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- Phil Davis From bobsneidar at iotecdigital.com Fri Feb 6 20:02:47 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 7 Feb 2015 01:02:47 +0000 Subject: Hide Stack Message In-Reply-To: References: Message-ID: <6BF42200-8F3B-40D5-AB0D-0263DD481F5C@iotecdigital.com> NVM found it. We were just talking about putting preopenstack handlers in the card script of the main stack so it doesn?t get triggered inadvertently. DOH! Bob S > On Feb 6, 2015, at 16:56 , Bob Sneidar wrote: > > Is there a message that gets sent when a stack is hidden? I have a stack that is getting hidden every time I go to one of it?s substacks. I?ve used the find command on my scripts to search for ?hide stack? or ?hide this? but there is no place this command exists that ought to trigger it. The one place it DOES exist I put a checkpoint on and it didn?t trigger. > > I need to find where this is happening so I can nuke it. > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Feb 6 20:07:17 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 7 Feb 2015 01:07:17 +0000 Subject: No subject In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> Message-ID: <6554983C-3406-436D-97A2-66864405FE9B@iotecdigital.com> IC so then the suggestion of encrypting the data before writing it to the HD is probably a good idea. It?s a simple thing to do: encrypt theData using aes128 with theSeedValue put it into theEncData get empty -- for safe measure and the seed can be anything you want it to be. Bob S On Feb 6, 2015, at 17:00 , Andrew Kluthe > wrote: Yeah, it's pretty similar. I still kind of run the risk of not being able to tell it when to delete the file as this is going to be a long running application (one that stays open most of the day, or days? it's a parts lookup and interchange program) on the users system and I wouldn't be able to set the AT command at end process the same as me being unable to call any kind of lc script when it does. It's in an obscure but vulnerable state when its open anyway so this one little thing isn't a huge issue. I was just looking to see if there was any kind of message at all that was sent to a stack on ending a process like that on windows. From bobsneidar at iotecdigital.com Fri Feb 6 20:28:42 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 7 Feb 2015 01:28:42 +0000 Subject: How to detect that user closed window In-Reply-To: References: <001c01d0417c$424654c0$c6d2fe40$@FlexibleLearning.com> <7AC2710E-7414-4BA6-8CB0-02EF28FF8B72@iotecdigital.com> Message-ID: filename does not seem to be a property of a stack. If you mean the first two fields in the Stack Properties palette, then yes it is named. Bob S On Feb 5, 2015, at 17:00 , Mike Bonner > wrote: Silly question, but.. the filename of the stack is set, right? If its empty, when you try to save, the save as dialog will pop. From ambassador at fourthworld.com Fri Feb 6 20:40:33 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 06 Feb 2015 17:40:33 -0800 Subject: How to detect that user closed window In-Reply-To: References: Message-ID: <54D56D11.4070506@fourthworld.com> Bob Sneidar wrote: > filename does not seem to be a property of a stack. The filename is a property of mainstacks. For substacks use "the effective filename". For stacks that have been newly created, or downloaded over the Web, the filename will be empty. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From lan.kc.macmail at gmail.com Fri Feb 6 20:38:07 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 09:38:07 +0800 Subject: Troubles with inequality In-Reply-To: References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> <54D2A0E7.5040003@hyperactivesw.com> Message-ID: On Thu, Feb 5, 2015 at 7:02 AM, Graham Samuel wrote: > Thanks Jacque, a gold mine of information as usual. But it?s pretty > obscure, isn?t it? All this started for me because I wanted to test if two > numbers were equal, knowing that they probably weren?t exactly equal to the > last decimal place but nevertheless were ?engineering equal? as it were - > say to six places of decimals. So I tried to truncate them to that length > and then compare them. More fool me. But now I think I know what should be > done, thanks to you - and to everyone else who replied. > > Graham > Why not a simple: (in the multline msg box) put "1.99999999901" into a put "1.99999999902" into b put a = b into msg put cr & (char 1 to 8 of a = char 1 to 8 of b) after msg put "1.0" into a put "1.0000000001" into b put cr & (a = b) after msg put cr & (char 1 to 8 of a = char 1 to 8 of b) after msg 8 characters is to 6 decimal places and the fact that LC automatically casts to numbers where it can nicely solves the problem that although string 1.0 <> 1.000000 in your case you are interested in the numeric value so you get the correct answer. LCs chunking capabilities are brilliant, we sometimes just need to remember that a number is a word in LC, and words have characters, and characters can be compared. The nice thing about LC is when presented with a number Cat you don't have to skin it with only number solutions; you can engineer any result you want ;-) From brahma at hindu.org Fri Feb 6 20:47:31 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Fri, 06 Feb 2015 15:47:31 -1000 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D54B88.8090106@fourthworld.com> References: <54D54859.50400@hindu.org> <54D54B88.8090106@fourthworld.com> Message-ID: <54D56EB3.8010608@hindu.org> Richard Gaskin wrote: 1) If the mainstack is a single card, just put the handler in the card script. 2) If the mainstack has multiple cards, put the handler in a common group script. 3) If neither of those are viable in your setup, you could add a check to make sure the long name of "me" is in the long ID of the target. BR: Understood. I doing # 2 now... so I guess that will do for now. >> How do you do this in real code >> >> on resizestack x,y >> if this stack is not the stack that this handler resides in then >> do nothing >> else >> set the rect of some grc to the rect of this card >> # and other tricks here relating to dynamic geometry changes... >> end if >> end resizestack > > From andrew at ctech.me Fri Feb 6 21:18:54 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Fri, 6 Feb 2015 20:18:54 -0600 Subject: No subject In-Reply-To: <6554983C-3406-436D-97A2-66864405FE9B@iotecdigital.com> References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> <6554983C-3406-436D-97A2-66864405FE9B@iotecdigital.com> Message-ID: I'm already doing this, I've already explained why LC's built in encryption wont work for me. Nor do I need it to work. Nor do I need further advice on the rest of my implementation that I didn't come seeking advice on. I've said several times that I came looking for information on a specific message for a specific. I got my answer, I've tried to be polite and sate your curiosity in what I am trying to accomplish. I made a grave mistake. I get that there might be threading issues with the messages in this series, but lawdy lawdy the signal to noise ratio is insane around here these days. On Fri, Feb 6, 2015 at 7:07 PM, Bob Sneidar wrote: > IC so then the suggestion of encrypting the data before writing it to the > HD is probably a good idea. It?s a simple thing to do: > > encrypt theData using aes128 with theSeedValue > put it into theEncData > get empty -- for safe measure > > and the seed can be anything you want it to be. > > Bob S > > > On Feb 6, 2015, at 17:00 , Andrew Kluthe andrew at ctech.me>> wrote: > > Yeah, it's pretty similar. I still kind of run the risk of not being able > to tell it when to delete the file as this is going to be a long running > application (one that stays open most of the day, or days? it's a parts > lookup and interchange program) on the users system and I wouldn't be able > to set the AT command at end process the same as me being unable to call > any kind of lc script when it does. > > It's in an obscure but vulnerable state when its open anyway so this one > little thing isn't a huge issue. I was just looking to see if there was any > kind of message at all that was sent to a stack on ending a process like > that on windows. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From ambassador at fourthworld.com Fri Feb 6 22:10:48 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 06 Feb 2015 19:10:48 -0800 Subject: Untitled messages... In-Reply-To: <54D56EB3.8010608@hindu.org> References: <54D56EB3.8010608@hindu.org> Message-ID: <54D58238.7030109@fourthworld.com> ...break the utility of the archives (see the bottom here): Could you please consider adding a title to the next message in an untitled thread? Thanks - -- Richard Gaskin Fourth World Systems Software Design and Development for Desktop, Mobile, and Web ____________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bonnmike at gmail.com Fri Feb 6 23:10:20 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 6 Feb 2015 21:10:20 -0700 Subject: How to detect that user closed window In-Reply-To: <54D56D11.4070506@fourthworld.com> References: <54D56D11.4070506@fourthworld.com> Message-ID: Ah, thx richard, but didn't know it was only the main, but it makes sense. So, if you want to save a substack as a separate stack file, you'd have to a) set its mainstack property to itself, and b) set the path and filename you wish to save it to before you save it, otherwise the "save as" dialog will always pop up. If you just want to save the mainstack (which wouldn't work in a standalone anyway unless using the splashstack method) You'd want to make sure you were actually saving the mainstack, which would of course save its substacks. And as richard said, any newly created or downloaded mainstacks won't have the filename set, so you'd have to do that in code before calling save if you don't want it to pop up the dialog. On Fri, Feb 6, 2015 at 6:40 PM, Richard Gaskin wrote: > Bob Sneidar wrote: > > > filename does not seem to be a property of a stack. > > The filename is a property of mainstacks. For substacks use "the > effective filename". > > For stacks that have been newly created, or downloaded over the Web, the > filename will be empty. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From lan.kc.macmail at gmail.com Fri Feb 6 23:22:52 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 12:22:52 +0800 Subject: LC, SQLite and REGEXP Message-ID: OK, SQLite DB in Valentina Studio I test the following: SELECT something FROM aTable WHERE anotherThing REGEX '[acdehkiouBW]{4,6} Test' works fine, I get the data I'm looking for. Same SQLite DB accessed via LC, selecting and updating all sorts of tables and columns, no problem until I run the above statement. The result is: revdberr,Database Error: no such function: REGEXP Any clues? From bonnmike at gmail.com Fri Feb 6 23:38:04 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 6 Feb 2015 21:38:04 -0700 Subject: LC, SQLite and REGEXP In-Reply-To: References: Message-ID: You have to create a user function for it to work. REGEXP is there in sqlite, but all it does is refer to a function you create. >From this page: http://stackoverflow.com/questions/5071601/how-do-i-use-regex-in-a-sqlite-query is this. If you can figure out how to execute this with revexecutesql after opening the db, you can then most likely use REGEXP. The error pretty much confirms this is the case. $pdo->sqliteCreateFunction('regexp', function ($pattern, $data, $delimiter = '~', $modifiers = 'isuS') { if (isset($pattern, $data) === true) { return (preg_match(sprintf('%1$s%2$s%1$s%3$s', $delimiter, $pattern, $modifiers), $data) > 0); } return null; }); On Fri, Feb 6, 2015 at 9:22 PM, Kay C Lan wrote: > OK, SQLite DB in Valentina Studio I test the following: > > SELECT something FROM aTable WHERE anotherThing REGEX '[acdehkiouBW]{4,6} > Test' > > works fine, I get the data I'm looking for. Same SQLite DB accessed via LC, > selecting and updating all sorts of tables and columns, no problem until I > run the above statement. The result is: > > revdberr,Database Error: no such function: REGEXP > > Any clues? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From prothero at earthednet.org Sat Feb 7 00:46:05 2015 From: prothero at earthednet.org (William Prothero) Date: Fri, 6 Feb 2015 21:46:05 -0800 Subject: Question re project organization In-Reply-To: References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> Message-ID: <419F6FB1-6194-4B54-8562-B6403E812C1C@earthednet.org> Kay: Thanks for offering your expertise. What I?m thinking is to have a main application stack. then the user will be able to add stacks to enhance the software. I?m thinking of a mySQL database that is queried, that lists available enhancements and their location. The user would get a menu of enhancements and choosing one or more would download and connect them into the main application. I?m thinking the main app will be the ?engine? that supports peripheral activities. It?s an educational app, so various activities, writing exercises, challenges, explanations and videos, etc would be added. The way the program develops will depend on feedback from teachers and what they will actually use. Is this practical in the iOS style of app? I?m really tired of rewriting my software for new authoring systems and would like to get this right. From what I understand, Apple will not let you write apps that download code that they haven?t approved of. Is there a way I could accomplish what I want, within the current iOS rules, which will probably eventually be applied to the desktop too? In fact, will Apple allow the app to connect to my mySQL database for configurations and content downloads? I guess I should spend some time going over Apple?s documentation on this. Best, Bill > On Feb 6, 2015, at 3:57 PM, Kay C Lan wrote: > > On Fri, Feb 6, 2015 at 3:40 AM, William Prothero > wrote: > >> I expect the splash app model is the way to go. >> > > Only if you never ever plan on deploying to iOS or you don't believe that > OS X's iOSification will get to the point that the same restrictions that > prevent splash stacks from being approved by Apple for iOS will be applied > to desktop. The latter obviously assuming that you are working within the > Mac App Store not an unknown developer. > > If on the other hand an iOS version is a possibility then you may as well > cross the bridge now and find a non-splash stack solution - as you already > seem to be working with a server side db a local sqlite db might be a > possibility; stored in specialFolderPath("documents") for iOS and > specialFolderPath("support") for OS X and Win (not sure for Linux). > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From curry at pair.com Sat Feb 7 00:53:13 2015 From: curry at pair.com (Curry Kenworthy) Date: Fri, 06 Feb 2015 23:53:13 -0600 Subject: Untitled messages... In-Reply-To: <54D58238.7030109@fourthworld.com> References: <54D58238.7030109@fourthworld.com> Message-ID: <54D5A849.7010401@pair.com> Richard Gaskin: > ...break the utility of the archives True! I was just trying to view those. Succeeded by selecting the previous message's link and then using Tab and Enter. (Win 7 Firefox.) Best wishes, Curry K. From lan.kc.macmail at gmail.com Sat Feb 7 01:44:13 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 14:44:13 +0800 Subject: LC, SQLite and REGEXP In-Reply-To: References: Message-ID: Thanks Mike, I guess Valentina Studio must include that function automatically because I certainly didn't add it. Thankfully I've been able to implement a work around, not as powerful as regex, but it works. On Sat, Feb 7, 2015 at 12:38 PM, Mike Bonner wrote: > You have to create a user function for it to work. REGEXP is there in > sqlite, but all it does is refer to a function you create. > From this page: > > http://stackoverflow.com/questions/5071601/how-do-i-use-regex-in-a-sqlite-query > > is this. If you can figure out how to execute this with revexecutesql > after opening the db, you can then most likely use REGEXP. The error > pretty much confirms this is the case. > > $pdo->sqliteCreateFunction('regexp', > function ($pattern, $data, $delimiter = '~', $modifiers = 'isuS') > { > if (isset($pattern, $data) === true) > { > return (preg_match(sprintf('%1$s%2$s%1$s%3$s', $delimiter, > $pattern, $modifiers), $data) > 0); > } > > return null; > }); > > > On Fri, Feb 6, 2015 at 9:22 PM, Kay C Lan > wrote: > > > OK, SQLite DB in Valentina Studio I test the following: > > > > SELECT something FROM aTable WHERE anotherThing REGEX '[acdehkiouBW]{4,6} > > Test' > > > > works fine, I get the data I'm looking for. Same SQLite DB accessed via > LC, > > selecting and updating all sorts of tables and columns, no problem until > I > > run the above statement. The result is: > > > > revdberr,Database Error: no such function: REGEXP > > > > Any clues? > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From livfoss at mac.com Sat Feb 7 04:47:25 2015 From: livfoss at mac.com (Graham Samuel) Date: Sat, 07 Feb 2015 10:47:25 +0100 Subject: Troubles with inequality In-Reply-To: References: <79770368-4E33-45DF-AE39-63404AE26DF2@verizon.net> <57B02339-F12D-43DB-9977-3AB4B8F9B385@mac.com> <54D2A0E7.5040003@hyperactivesw.com> Message-ID: <934619AA-BADD-4696-AFC0-19D3B454D8C4@mac.com> Thanks - I don?t completely understand this as an economical solution, but I think what you?re saying is that any number, even stored in a variable, can be treated as a string - then things can be compared character by character. This is almost the solution I adopted, but I used fields since they stay as strings from the off. Graham > On 7 Feb 2015, at 02:38, Kay C Lan wrote: > > On Thu, Feb 5, 2015 at 7:02 AM, Graham Samuel wrote: > >> Thanks Jacque, a gold mine of information as usual. But it?s pretty >> obscure, isn?t it? All this started for me because I wanted to test if two >> numbers were equal, knowing that they probably weren?t exactly equal to the >> last decimal place but nevertheless were ?engineering equal? as it were - >> say to six places of decimals. So I tried to truncate them to that length >> and then compare them. More fool me. But now I think I know what should be >> done, thanks to you - and to everyone else who replied. >> >> Graham >> > > Why not a simple: (in the multline msg box) > > put "1.99999999901" into a > put "1.99999999902" into b > put a = b into msg > put cr & (char 1 to 8 of a = char 1 to 8 of b) after msg > put "1.0" into a > put "1.0000000001" into b > put cr & (a = b) after msg > put cr & (char 1 to 8 of a = char 1 to 8 of b) after msg > > 8 characters is to 6 decimal places and the fact that LC automatically > casts to numbers where it can nicely solves the problem that although > string 1.0 <> 1.000000 in your case you are interested in the numeric value > so you get the correct answer. > > LCs chunking capabilities are brilliant, we sometimes just need to remember > that a number is a word in LC, and words have characters, and characters > can be compared. The nice thing about LC is when presented with a number > Cat you don't have to skin it with only number solutions; you can engineer > any result you want ;-) > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ebeugelaar at gmail.com Sat Feb 7 04:57:59 2015 From: ebeugelaar at gmail.com (Erik Beugelaar) Date: Sat, 07 Feb 2015 10:57:59 +0100 Subject: HTML5 will it or won't it? In-Reply-To: <54D525C4.7070501@gmail.com> References: <54D525C4.7070501@gmail.com> Message-ID: The new Ubuntu smartphone supports HTML5 web so that will not be the problem for the HTML5 projects of RunRev. More interesting is the choice of Ubuntu to write native apps in QML code. Considering these so called cards (!) or scopes of the Ubuntu apps need server/cloud support, the combination of Go for server side development with QML binding support for the client side would be a valid chooice for non-LiveCode pprogrammers but it can also be an opportunity for RunRev so step in with Open Language support for this ?new' platform. Just my 2 cents? (not for a new Kickstarter project btw?) Erik On 06/02/15 21:36, "Richmond" wrote: >I think RunRev are being a bit naughty again and not keeping their >user-base informed > > . . . whither the HTML5 project? > >As Canonical release their Ubuntu phone which uses apps written in HTML5 >this becomes even more pressing. > >http://www.bbc.com/news/technology-31148661 > >Richmond. > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From lan.kc.macmail at gmail.com Sat Feb 7 05:22:55 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Sat, 7 Feb 2015 18:22:55 +0800 Subject: Question re project organization In-Reply-To: <419F6FB1-6194-4B54-8562-B6403E812C1C@earthednet.org> References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> <419F6FB1-6194-4B54-8562-B6403E812C1C@earthednet.org> Message-ID: Bill, I'm no expert, and certainly less so with regard to what is OK by Apple for iOS, all I know is the Splash Stack solution is not viable if you plan to go down the iOS route. Someone who's had experience with 'In App' purchases might be able to answer if that might be an avenue to look into. I can understand why you're tired of rewrites. I'm not saying you can do what you want to in iOS, but if you figure it out, whatever the approach is, it should work for desktop as well. There is no problem with iOS connecting to remote DBs, as long as the data is downloaded into the appropriate sandbox and it's static data, not code to be run. Your challenge would be to accurately separate what is really code from what is just a resource. >From my perspective I wonder really how much difference there is between the code for your basic app compared to the fully enhanced version? Videos, images, explanations, these are not code, just resources so there is no restriction on downloading them and adding/removing them to the users Documents folder. They can be changed and updated frequently, no problem. Lets say your Enhanced Stack can play Videos but the Basic Stack can not. In this case the user hasn't downloaded videos, your code would check that there are no videos and so there would be no button or option to play videos via your substack video player. When a User eventually downloads videos, then the Play Video option would be available or become visible and so your substack video player is now accessible. i.e you create a fully enhanced stack + substacks with all the code in them (which Apple gives the OK to) but the code has the ability to ignore bits and pieces based on the resources downloaded. If you create a new podcast every week that you want your stack to play, or an instructional video on youTube which you want the link added to a links page in your app; these are just resources and would be easy to access via your original code that would need no modification. Of course if you are talking about enhancements that you haven't thought of yet, and adding these as they present themselves; unfortunately iOS will require new code, a new submission, and the opportunity to advertise you have a new bigger and better version ;-) On Sat, Feb 7, 2015 at 1:46 PM, William Prothero wrote: > Kay: > Thanks for offering your expertise. What I?m thinking is to have a main > application stack. then the user will be able to add stacks to enhance the > software. I?m thinking of a mySQL database that is queried, that lists > available enhancements and their location. The user would get a menu of > enhancements and choosing one or more would download and connect them into > the main application. I?m thinking the main app will be the ?engine? that > supports peripheral activities. It?s an educational app, so various > activities, writing exercises, challenges, explanations and videos, etc > would be added. The way the program develops will depend on feedback from > teachers and what they will actually use. > > Is this practical in the iOS style of app? I?m really tired of rewriting > my software for new authoring systems and would like to get this right. > From what I understand, Apple will not let you write apps that download > code that they haven?t approved of. Is there a way I could accomplish what > I want, within the current iOS rules, which will probably eventually be > applied to the desktop too? In fact, will Apple allow the app to connect to > my mySQL database for configurations and content downloads? I guess I > should spend some time going over Apple?s documentation on this. > > Best, > Bill > > > > On Feb 6, 2015, at 3:57 PM, Kay C Lan wrote: > > > > On Fri, Feb 6, 2015 at 3:40 AM, William Prothero < > prothero at earthednet.org> > > wrote: > > > >> I expect the splash app model is the way to go. > >> > > > > Only if you never ever plan on deploying to iOS or you don't believe that > > OS X's iOSification will get to the point that the same restrictions that > > prevent splash stacks from being approved by Apple for iOS will be > applied > > to desktop. The latter obviously assuming that you are working within the > > Mac App Store not an unknown developer. > > > > If on the other hand an iOS version is a possibility then you may as well > > cross the bridge now and find a non-splash stack solution - as you > already > > seem to be working with a server side db a local sqlite db might be a > > possibility; stored in specialFolderPath("documents") for iOS and > > specialFolderPath("support") for OS X and Win (not sure for Linux). > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From richmondmathewson at gmail.com Sat Feb 7 08:05:52 2015 From: richmondmathewson at gmail.com (Richmond) Date: Sat, 07 Feb 2015 15:05:52 +0200 Subject: Rotating a stack Message-ID: <54D60DB0.60308@gmail.com> http://forums.livecode.com/viewtopic.php?f=7&t=23074&p=119283#p119283 Richmond. From prothero at earthednet.org Sat Feb 7 10:16:34 2015 From: prothero at earthednet.org (Earthednet-wp) Date: Sat, 7 Feb 2015 07:16:34 -0800 Subject: Question re project organization In-Reply-To: References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> <419F6FB1-6194-4B54-8562-B6403E812C1C@earthednet.org> Message-ID: <4713D0F8-F046-4195-A2BF-1C13209618A5@earthednet.org> Kay, I think you're right about just putting out an update if I need to enhance the app by writing new code. Certainly, a lot of content can be added or modified without new code. Videos are important and I'm thinking more of streaming them, probably from YouTube, rather than downloading them. Of course, there's the Flash problem on iOS. Best, Bill William Prothero http://es.earthednet.org > On Feb 7, 2015, at 2:22 AM, Kay C Lan wrote: > > > Of course if you are talking about enhancements that you haven't thought of > yet, and adding these as they present themselves; unfortunately iOS will > require new code, a new submission, and the opportunity to advertise you > have a new bigger and better version ;-) > From tate83 at gmail.com Sat Feb 7 10:18:22 2015 From: tate83 at gmail.com (Pascal Lehner) Date: Sat, 7 Feb 2015 16:18:22 +0100 Subject: Use MenuPick properly Message-ID: Hi all, I use menuPick to have a button with a drop down menu. The menu items are loaded from a database and the users selection needs to be stored back there too. the dropdown list looks as following (id, name) 1, full 2, half full 3, empty I save the users selection in two fields on the card item 1 in a hidden field ( to be stored in the database record) item 2 is displayed in another field obviously, the dropdown list does not look very nice like this. Even more so when I look at a real-world example with several words for "name" Can you think of a way to display only the "name" in the dropdown list, but still save the id in the hidden field? Thanks, Pascal From klaus at major-k.de Sat Feb 7 10:42:22 2015 From: klaus at major-k.de (Klaus major-k) Date: Sat, 7 Feb 2015 16:42:22 +0100 Subject: Use MenuPick properly In-Reply-To: References: Message-ID: Hi Pascal, > Am 07.02.2015 um 16:18 schrieb Pascal Lehner : > > Hi all, > > I use menuPick to have a button with a drop down menu. The menu items are > loaded from a database and the users selection needs to be stored back > there too. > > the dropdown list looks as following (id, name) > 1, full > 2, half full > 3, empty > > I save the users selection in two fields on the card > item 1 in a hidden field ( to be stored in the database record) > item 2 is displayed in another field > > obviously, the dropdown list does not look very nice like this. Even more > so when I look at a real-world example with several words for "name" > > Can you think of a way to display only the "name" in the dropdown list, but > still save the id in the hidden field? 1. fill your menu with only the names. 2. later only save -> the menuhistory and not the "menupicked" item :-) Know what I mean? The menuhistory will give you the LINE NUMBER of the selected menu item. Will of course only work with sequetially numberd items. 8-) > Thanks, > Pascal Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From pete at lcsql.com Sat Feb 7 10:47:34 2015 From: pete at lcsql.com (Peter Haworth) Date: Sat, 7 Feb 2015 07:47:34 -0800 Subject: Use MenuPick properly In-Reply-To: References: Message-ID: Hi Pascal, After selecting the data from your db, do this command createKeys pdata,pid --pdata is tab delimited data from revdatafromquery -- item 1 is the key, item 2 is the display data --pid is the long id of the menu button local tKeys,tText set the itemdelimiter to tab repeat for each line rLine in pdata put item 1 of rLine &return after tKeys put item 2 of rLine & return after tText end repeat set the text of pid to tText set the cKeys of pid to tKeys end createKeys on menuPick pitemname --use the menuHistory to access the cKeys cprop put pitemname into field xyx put line the menuHistory of me of the cKeys of me into field abc end menuPick Pete lcSQL Software On Feb 7, 2015 7:18 AM, "Pascal Lehner" wrote: > Hi all, > > I use menuPick to have a button with a drop down menu. The menu items are > loaded from a database and the users selection needs to be stored back > there too. > > the dropdown list looks as following (id, name) > 1, full > 2, half full > 3, empty > > I save the users selection in two fields on the card > item 1 in a hidden field ( to be stored in the database record) > item 2 is displayed in another field > > obviously, the dropdown list does not look very nice like this. Even more > so when I look at a real-world example with several words for "name" > > Can you think of a way to display only the "name" in the dropdown list, but > still save the id in the hidden field? > > Thanks, > Pascal > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From tate83 at gmail.com Sat Feb 7 11:21:18 2015 From: tate83 at gmail.com (Pascal Lehner) Date: Sat, 7 Feb 2015 17:21:18 +0100 Subject: Use MenuPick properly In-Reply-To: References: Message-ID: Hi Pete and Klaus, thanks for your quick answer! Since my items are not in a sequential number I will adapt my code to Pete's example. Have a great weekend! Pascal 2015-02-07 16:47 GMT+01:00 Peter Haworth : > Hi Pascal, > After selecting the data from your db, do this > > command createKeys pdata,pid > --pdata is tab delimited data from revdatafromquery > -- item 1 is the key, item 2 is the display data > --pid is the long id of the menu button > > local tKeys,tText > > set the itemdelimiter to tab > repeat for each line rLine in pdata > put item 1 of rLine &return after tKeys > put item 2 of rLine & return after tText > end repeat > set the text of pid to tText > set the cKeys of pid to tKeys > > end createKeys > > on menuPick pitemname > --use the menuHistory to access the cKeys cprop > > put pitemname into field xyx > put line the menuHistory of me of the cKeys of me into field abc > > end menuPick > > Pete > lcSQL Software > On Feb 7, 2015 7:18 AM, "Pascal Lehner" wrote: > > > Hi all, > > > > I use menuPick to have a button with a drop down menu. The menu items are > > loaded from a database and the users selection needs to be stored back > > there too. > > > > the dropdown list looks as following (id, name) > > 1, full > > 2, half full > > 3, empty > > > > I save the users selection in two fields on the card > > item 1 in a hidden field ( to be stored in the database record) > > item 2 is displayed in another field > > > > obviously, the dropdown list does not look very nice like this. Even more > > so when I look at a real-world example with several words for "name" > > > > Can you think of a way to display only the "name" in the dropdown list, > but > > still save the id in the hidden field? > > > > Thanks, > > Pascal > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From pete at lcsql.com Sat Feb 7 12:19:01 2015 From: pete at lcsql.com (Peter Haworth) Date: Sat, 7 Feb 2015 09:19:01 -0800 Subject: Use MenuPick properly In-Reply-To: References: Message-ID: Another way to do it that involves more SQL but less Livecode is set the text of button xyz to revDataFromQuery(,,gDBID,"SELECT FROM ORDER BY ") set the cKeys of button xyz to revDataFromQuery(,,gDBID,"SELECT FROM ORDER BY ") I think I like that better, simpler and not likely to be be noticeably slower. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Sat, Feb 7, 2015 at 8:21 AM, Pascal Lehner wrote: > Hi Pete and Klaus, > > thanks for your quick answer! > Since my items are not in a sequential number I will adapt my code to > Pete's example. > > Have a great weekend! > > Pascal > > > > 2015-02-07 16:47 GMT+01:00 Peter Haworth : > > > Hi Pascal, > > After selecting the data from your db, do this > > > > command createKeys pdata,pid > > --pdata is tab delimited data from revdatafromquery > > -- item 1 is the key, item 2 is the display data > > --pid is the long id of the menu button > > > > local tKeys,tText > > > > set the itemdelimiter to tab > > repeat for each line rLine in pdata > > put item 1 of rLine &return after tKeys > > put item 2 of rLine & return after tText > > end repeat > > set the text of pid to tText > > set the cKeys of pid to tKeys > > > > end createKeys > > > > on menuPick pitemname > > --use the menuHistory to access the cKeys cprop > > > > put pitemname into field xyx > > put line the menuHistory of me of the cKeys of me into field abc > > > > end menuPick > > > > Pete > > lcSQL Software > > On Feb 7, 2015 7:18 AM, "Pascal Lehner" wrote: > > > > > Hi all, > > > > > > I use menuPick to have a button with a drop down menu. The menu items > are > > > loaded from a database and the users selection needs to be stored back > > > there too. > > > > > > the dropdown list looks as following (id, name) > > > 1, full > > > 2, half full > > > 3, empty > > > > > > I save the users selection in two fields on the card > > > item 1 in a hidden field ( to be stored in the database record) > > > item 2 is displayed in another field > > > > > > obviously, the dropdown list does not look very nice like this. Even > more > > > so when I look at a real-world example with several words for "name" > > > > > > Can you think of a way to display only the "name" in the dropdown list, > > but > > > still save the id in the hidden field? > > > > > > Thanks, > > > Pascal > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dunbarx at aol.com Sat Feb 7 12:57:47 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Sat, 7 Feb 2015 12:57:47 -0500 Subject: Use MenuPick properly In-Reply-To: References: Message-ID: <8D21116B7112E74-DAC-2F013@webmail-va002.sysops.aol.com> Yet another way, just because I like custom properties, is to set a property of the pulldown to your SQL data, and load only the second item of each line on mouseEnter (or some other time). If you want to try a test, make a normal button and a pulldown. In the button script: on mouseUp put "1," & random(999) & return & "2,b" & return & "3,c" into temp --you would load your SQL data here set the tempContents of btn "pullDown" to temp end mouseUp In the pullDown: on mouseEnter put the tempContents of me into me end mouseEnter Now your menuPick handler can deal with the updated list, and as has been mentioned, the menuhistory can access the proper line from the property. Craig Newman -----Original Message----- From: Peter Haworth To: How to use LiveCode Sent: Sat, Feb 7, 2015 12:19 pm Subject: Re: Use MenuPick properly Another way to do it that involves more SQL but less Livecode is set the text of button xyz to revDataFromQuery(,,gDBID,"SELECT FROM ORDER BY ") set the cKeys of button xyz to revDataFromQuery(,,gDBID,"SELECT FROM ORDER BY ") I think I like that better, simpler and not likely to be be noticeably slower. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Sat, Feb 7, 2015 at 8:21 AM, Pascal Lehner wrote: > Hi Pete and Klaus, > > thanks for your quick answer! > Since my items are not in a sequential number I will adapt my code to > Pete's example. > > Have a great weekend! > > Pascal > > > > 2015-02-07 16:47 GMT+01:00 Peter Haworth : > > > Hi Pascal, > > After selecting the data from your db, do this > > > > command createKeys pdata,pid > > --pdata is tab delimited data from revdatafromquery > > -- item 1 is the key, item 2 is the display data > > --pid is the long id of the menu button > > > > local tKeys,tText > > > > set the itemdelimiter to tab > > repeat for each line rLine in pdata > > put item 1 of rLine &return after tKeys > > put item 2 of rLine & return after tText > > end repeat > > set the text of pid to tText > > set the cKeys of pid to tKeys > > > > end createKeys > > > > on menuPick pitemname > > --use the menuHistory to access the cKeys cprop > > > > put pitemname into field xyx > > put line the menuHistory of me of the cKeys of me into field abc > > > > end menuPick > > > > Pete > > lcSQL Software > > On Feb 7, 2015 7:18 AM, "Pascal Lehner" wrote: > > > > > Hi all, > > > > > > I use menuPick to have a button with a drop down menu. The menu items > are > > > loaded from a database and the users selection needs to be stored back > > > there too. > > > > > > the dropdown list looks as following (id, name) > > > 1, full > > > 2, half full > > > 3, empty > > > > > > I save the users selection in two fields on the card > > > item 1 in a hidden field ( to be stored in the database record) > > > item 2 is displayed in another field > > > > > > obviously, the dropdown list does not look very nice like this. Even > more > > > so when I look at a real-world example with several words for "name" > > > > > > Can you think of a way to display only the "name" in the dropdown list, > > but > > > still save the id in the hidden field? > > > > > > Thanks, > > > Pascal > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bodine at bodinetraininggames.com Sat Feb 7 17:08:23 2015 From: bodine at bodinetraininggames.com (tbodine) Date: Sat, 7 Feb 2015 14:08:23 -0800 (PST) Subject: Detecting key and mouse actions in the background Message-ID: <1423346903207-4688595.post@n4.nabble.com> Hi All. I'm working on a "get up and move" reminder app that needs to be aware when the user is working at the machine. Can a LC standalone (on Mac) detect key and mouse actions while LC is in the background? In my tests so far, it doesn't. Suggestions welcome! Thanks, Tom Bodine -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Detecting-key-and-mouse-actions-in-the-background-tp4688595.html Sent from the Revolution - User mailing list archive at Nabble.com. From sritcp at gmail.com Sat Feb 7 17:43:04 2015 From: sritcp at gmail.com (Sri) Date: Sat, 7 Feb 2015 14:43:04 -0800 (PST) Subject: Use MenuPick properly In-Reply-To: References: Message-ID: <1423348984368-4688596.post@n4.nabble.com> -- Here's using an array put revDataFromQuery(tDataBaseID, "SELECT , FROM ") into tArray -- Note that displayItem is what you want to display in the menu, storeItem is the corresponding value you want to store; the data is not an array yet. split tArray by return and tab -- now, tArray has displayItem as the array key and storeItem as the array element -- Now you can display the keys of tArray in the menu in the order you like -- and save tArray[chosenMenuItem] in the database. Regards, Sri. -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Use-MenuPick-properly-tp4688589p4688596.html Sent from the Revolution - User mailing list archive at Nabble.com. From bonnmike at gmail.com Sat Feb 7 17:52:02 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sat, 7 Feb 2015 15:52:02 -0700 Subject: Detecting key and mouse actions in the background In-Reply-To: <1423346903207-4688595.post@n4.nabble.com> References: <1423346903207-4688595.post@n4.nabble.com> Message-ID: Just tried it using a send loop. local sRunning, sMouseLoc on mouseUp if sRunning is empty then put false into sRunning put not sRunning into sRunning set the label of me to "Running: " & sRunning startloop end mouseUp command startLoop if sRunning then put the keysdown & cr put the mouseloc after msg send "startloop" to me in 50 millisec end if end startLoop I set the msg box where I can see it, clicked my button to toggle the loop on, and as i'm typing this, if I move the mouse, the mouseloc is updating, and every key I press pops up. Will this do what you want? Should be a simple thing to track the mouseloc and compare it to the previous hit, 50 millisec is probably more often than you need the check too. And you can check to see if the keysdown is empty. If its empty enough times in a row, and the mouseloc doesn't change in the same period, you can guess the person is afk. (though, if they go face down on the keyboard all bets are off) On Sat, Feb 7, 2015 at 3:08 PM, tbodine wrote: > Hi All. > > I'm working on a "get up and move" reminder app that needs to be aware when > the user is working at the machine. Can a LC standalone (on Mac) detect key > and mouse actions while LC is in the background? > > In my tests so far, it doesn't. Suggestions welcome! > > Thanks, > Tom Bodine > > > > -- > View this message in context: > http://runtime-revolution.278305.n4.nabble.com/Detecting-key-and-mouse-actions-in-the-background-tp4688595.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From peter.brett at livecode.com Sat Feb 7 19:20:36 2015 From: peter.brett at livecode.com (Peter TB Brett) Date: Sun, 08 Feb 2015 01:20:36 +0100 Subject: Cleanup of sensitive filesystem data In-Reply-To: References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> <6554983C-3406-436D-97A2-66864405FE9B@iotecdigital.com> Message-ID: <2d5b362051fd20d0c362c6f7c659b8ce@livecode.com> On 2015-02-07 03:18, Andrew Kluthe wrote: > I get that there might be threading issues with the messages in this > series, but lawdy lawdy the signal to noise ratio is insane around here > these days. Hi Andrew, In general, there's no way to have your cake (store unencrypted data in the filesystem) and eat it (prevent people from looking at it). Unfortunately this restriction applies no matter which programming language or environment you are developing in. Please don't be upset with the other list members who have been explaining this. Security is a priority for me, and thus I feel that I should contribute to this discussion. The only way to be *sure* of the cleanup that you are requesting -- and of the simultaneous security of your unencrypted data -- is to store it *only* in memory and never allow it to be written to disk. Another (inferior) option would be to use a wrapper process, where: * The application the user launches is a very small shim that decrypts the data and launches your "real" application in a subprocess * When the "real" application quits (for whatever reason) the shim deletes the data file. Note that this can still be trivially circumvented by forcing the shim to quit, but at least by keeping the amount of code in the shim as small as possible you'll be able to minimize the risk of the shim itself crashing and leaving your data lying around. You also mentioned cleaning up left-over files from previous instantiations of your program the next time it runs. This is problematic. Performing this operation requires a predictable naming scheme for your temporary files, but if you use a predictable naming scheme then there are a number of trivial attacks that can be made on your program to intercept its temporary files. In summary, I recommend that you rethink your approach; avoid storing unencrypted, sensitive data in the filesystem. Peter -- Dr Peter Brett LiveCode Engine Development Team From mwieder at ahsoftware.net Sat Feb 7 20:56:20 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Sat, 7 Feb 2015 17:56:20 -0800 Subject: Cleanup of sensitive filesystem data In-Reply-To: <2d5b362051fd20d0c362c6f7c659b8ce@livecode.com> References: <1AA64D6D-E0F3-4559-B269-8E7BF0638114@iotecdigital.com> <6554983C-3406-436D-97A2-66864405FE9B@iotecdigital.com> <2d5b362051fd20d0c362c6f7c659b8ce@livecode.com> Message-ID: <98625033643.20150207175620@ahsoftware.net> Andrew- ok - this is the first time I've poked my head into this thread... I just deleted the whole thing without reading since it didn't have a title. Now it looks like I missed an interesting discussion. > The only way to be *sure* of the cleanup that you are requesting -- and > of the simultaneous security of your unencrypted data -- is to store it > *only* in memory and never allow it to be written to disk. Yes, barring something like a heartbleed-style attack. > You also mentioned cleaning up left-over files from previous > instantiations of your program the next time it runs. This is > problematic. Performing this operation requires a predictable naming > scheme for your temporary files, but if you use a predictable naming > scheme then there are a number of trivial attacks that can be made on > your program to intercept its temporary files. > In summary, I recommend that you rethink your approach; avoid storing > unencrypted, sensitive data in the filesystem. Agreed. If you need to store the data in files, I'd store it encrypted, then decrypt it on the fly as needed. There's really no completely safe way to do what you want otherwise. -- -Mark Wieder ahsoftware at gmail.com This communication may be unlawfully collected and stored by the National Security Agency (NSA) in secret. The parties to this email do not consent to the retrieving or storing of this communication and any related metadata, as well as printing, copying, re-transmitting, disseminating, or otherwise using it. If you believe you have received this communication in error, please delete it immediately. From gerry.orkin at gmail.com Sun Feb 8 02:59:38 2015 From: gerry.orkin at gmail.com (Gerry) Date: Sun, 08 Feb 2015 07:59:38 +0000 Subject: [OT)ish iOS app rejection issue References: <2E5EAEF1-12FB-4BBA-9BE8-6802B21E19E9@gmail.com> <001c01d0421b$b6d8dc00$248a9400$@net> Message-ID: What was the reason given for the rejection? g On Sat Feb 07 2015 at 1:45:41 AM Ralph DiMola wrote: > I submitted 2 apps on the same day last week. Both apps are identical in > every way except for the data set. One was approved, one was rejected??? > > Just an FYI on the inconsistency of the review process. > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > > _______________________________________________ > livecode-dev mailing list > livecode-dev at lists.runrev.com > http://lists.runrev.com/mailman/listinfo/livecode-dev > From livfoss at mac.com Sun Feb 8 08:52:49 2015 From: livfoss at mac.com (Graham Samuel) Date: Sun, 08 Feb 2015 14:52:49 +0100 Subject: [not quite OT] Serving a standalone Message-ID: As with so much in this world, technical and otherwise, I am profoundly ignorant of the following, and I?d be grateful for any explanations, best practice etc. The idea is as follows: 1. I write a desktop program (OK, an app) that runs, say, on PC and Mac. Good LC territory. This program is capable of saving some parameters, files etc on behalf of the user. Some of these files will be anonymous, in that the user won?t see them or be able to change their names or file paths - they are just there to maintain the state of the program between activations - this is a very widespread notion throughout modern computing. 2. Now, some institution - like an enterprise, school etc - buys a ?site license? for the app, which means they?ve paid to have (say) up to 20 simultaneous users. 3. When the purchase is made, someone (probably a technical support person) loads up the app onto a server belonging to the institution and registers it: some kind of registration file is kept on the server, controlled by the initial instance of the app (I?m sure Jacque?s Zygodact would be an excellent component of this). 4. When a user wants to run the app, they sit at their personal computer, contact the server, and download the app. This is where the fun starts. 6. What happens now when that downloaded instance of the app is called upon to save a file? Is it just saved on the local computer? If so, what if Jack and Jill both use the program on the same machine at different times? Will Jill?s files overwrite Jack?s, and if we don?t want this, how can we prevent it? How much work will the app itself have to do? I think I understand this one: the app will have to associate each file with a directory created especially for an individual. This is not hard, especially if Jack and Jill have separate user spaces - we can insist on this. But maybe these files end up on the server - does this ever happen? 7. While Jill is working, many others start work. Anselma downloads another instance of the app to her own computer. How does the original copy on the server know whether this is legit (not greater than the twentieth user in my example) or not (the 21st user), and indeed how do any of the users know the app is already registered? More particularly, how much work does the app have to do to manage this? This is really the key question - what do servers generally do to support multiple instances as described above? Maybe it?s nothing, in which case the ?server? version of the app will need a lot more development work than the version intended for a single individual; or maybe it?s so much that the app doesn?t need to know anything about the server once the user has done the download. For me this is a real case, and I just don?t know how to learn more and thus get started. TIA for any discussion and help. Graham From paul at researchware.com Sun Feb 8 10:01:42 2015 From: paul at researchware.com (Paul Dupuis) Date: Sun, 08 Feb 2015 10:01:42 -0500 Subject: [not quite OT] Serving a standalone In-Reply-To: References: Message-ID: <54D77A56.8070605@researchware.com> On 2/8/2015 8:52 AM, Graham Samuel wrote: > 6. What happens now when that downloaded instance of the app is called upon to save a file? Is it just saved on the local computer? If so, what if Jack and Jill both use the program on the same machine at different times? Will Jill?s files overwrite Jack?s, and if we don?t want this, how can we prevent it? How much work will the app itself have to do? I think I understand this one: the app will have to associate each file with a directory created especially for an individual. This is not hard, especially if Jack and Jill have separate user spaces - we can insist on this. But maybe these files end up on the server - does this ever happen? > > 7. While Jill is working, many others start work. Anselma downloads another instance of the app to her own computer. How does the original copy on the server know whether this is legit (not greater than the twentieth user in my example) or not (the 21st user), and indeed how do any of the users know the app is already registered? More particularly, how much work does the app have to do to manage this? > > This is really the key question - what do servers generally do to support multiple instances as described above? Maybe it?s nothing, in which case the ?server? version of the app will need a lot more development work than the version intended for a single individual; or maybe it?s so much that the app doesn?t need to know anything about the server once the user has done the download. > There is a lot of variation used in serving applications. Let em run through some of them: 1) The application is downloaded to the user's computer (i.e the application's file/folder/whatever is actually copied to local disk space on the user's computer like downloading LiveCode from the RunRev store). In this case the application is now on the local computer and only has access to local diskspace. Unless the "license file" was part of the download, the app may need to be re-licensed and any file written will be unique to that specific computer. 2) The server's volume (disk) containing the application is mounted (accessed) from a local computer. Here the app remain on the server's disk, but runs on the local computer. Files that are accessed via the specialFolderPath function (see Livecode dictionary) in places like the temp directory or desktop, etc. will be on the local folder, but file accessed from the folder the app is in are on the server and shared across users. 3) The application is served via an application server. A lot of colleges and universities now use application servers such as Citrix or Microsoft's application server software. In these instances the application is actually run on the server and all it's files are stored on the server, but each user gets their own "virtual" instance of the application to their files don't conflict. Is system administrators allow, application servers can also provide or force access to local disk space for user files. 4) Also, many places may use desktop management software (such as LanDesk or Microsoft's tools) to remotely deploy the application to individual users computers through remote control of those computer (or a remote "push" of software to those computers. In this case each user ends up with their own instance of the software running on their own computer. There are other ways, but most others are some variants on the approaches above. From richmondmathewson at gmail.com Sun Feb 8 11:14:17 2015 From: richmondmathewson at gmail.com (Richmond) Date: Sun, 08 Feb 2015 18:14:17 +0200 Subject: [not quite OT] Serving a standalone In-Reply-To: References: Message-ID: <54D78B59.4020702@gmail.com> On 08/02/15 15:52, Graham Samuel wrote: Right . . . > As with so much in this world, technical and otherwise, I am profoundly ignorant of the following, and I?d be grateful for any explanations, best practice etc. > > The idea is as follows: > > 1. I write a desktop program (OK, an app) that runs, say, on PC and Mac. Good LC territory. This program is capable of saving some parameters, files etc on behalf of the user. Some of these files will be anonymous, in that the user won?t see them or be able to change their names or file paths - they are just there to maintain the state of the program between activations - this is a very widespread notion throughout modern computing. > > 2. Now, some institution - like an enterprise, school etc - buys a ?site license? for the app, which means they?ve paid to have (say) up to 20 simultaneous users. Messy model. > > 3. When the purchase is made, someone (probably a technical support person) loads up the app onto a server belonging to the institution and registers it: some kind of registration file is kept on the server, controlled by the initial instance of the app (I?m sure Jacque?s Zygodact would be an excellent component of this). > > 4. When a user wants to run the app, they sit at their personal computer, contact the server, and download the app. That seems wide open to abuse. Have a computer lab in the college with 20 dedicated machines running your program; and that's all! OR: sing some "dirty" agreement with the institution where every time a student downloads a copy of your program you get paid, but the institution gets a cut of the fee. > This is where the fun starts. First question: Does the system administrator scrub the individual computers at the end of every day and do a clone of the system from the disk image the next day? If so, Jack, Jill and the so-far-unnamed transgendered individual will all lose their data. > > 6. What happens now when that downloaded instance of the app is called upon to save a file? Is it just saved on the local computer? If so, what if Jack and Jill both use the program on the same machine at different times? Will Jill?s files overwrite Jack?s, and if we don?t want this, how can we prevent it? How much work will the app itself have to do? I think I understand this one: the app will have to associate each file with a directory created especially for an individual. This is not hard, especially if Jack and Jill have separate user spaces - we can insist on this. But maybe these files end up on the server - does this ever happen? Second question: My wife uses Rosetta Stone to improve her German, and my kids also have used it in the past. When the program is started there is a list of users + the chance for a new user to set up an account. Presumably each person's data is saved into a separate file. Why can't you do that? > > 7. While Jill is working, many others start work. > Anselma Wow! "Anselma" . . . now we are labouring to show off our tertiary education :) Or is this the transgendered individual? > downloads another instance of the app to her own computer. How does the original copy on the server know whether this is legit (not greater than the twentieth user in my example) or not (the 21st user), Well, you will have to have something set up on the source machine to count copies . . . If they are doing a system clone each day that is going to get problematic. > and indeed how do any of the users know the app is already registered? More particularly, how much work does the app have to do to manage this? > > This is really the key question - what do servers generally do to support multiple instances as described above? Maybe it?s nothing, in which case the ?server? version of the app will need a lot more development work than the version intended for a single individual; or maybe it?s so much that the app doesn?t need to know anything about the server once the user has done the download. If the sys. admin. is doing a clone each day then the server has to "reach out" and save students' data from those computers before they are wiped, and restore them after a system clone. Of course . . . individual students might be afforded a way to save their personal data from your program on a usb flash-drive so they, rather than the program and/or the sys. admin. takes responsibility for backing up their data. > > For me this is a real case, and I just don?t know how to learn more and thus get started. > > TIA for any discussion and help. > > Graham > > Just my 50p :) Richmond. From livfoss at mac.com Sun Feb 8 11:37:45 2015 From: livfoss at mac.com (Graham Samuel) Date: Sun, 08 Feb 2015 17:37:45 +0100 Subject: [not quite OT] Serving a standalone In-Reply-To: <54D78B59.4020702@gmail.com> References: <54D78B59.4020702@gmail.com> Message-ID: OK, you live in Bulgaria. If you lived in the UK, it is highly probable that you would have read, seen on TV (still some episodes to go!) or possibly in the theatre, a version of ?Wolf Hall? by Hilary Mantel (both volumes produced so far won the prestigious Booker Prize). Then you?d know who ?Anselma? was (a fictitious female citizen of Antwerp, actually, immortalised in a tapestry - but read the book, it?s terrific). I will respond to the serious stuff later. Cheers Graham > On 8 Feb 2015, at 17:14, Richmond wrote: > > Wow! "Anselma" . . . now we are labouring to show off our tertiary education :) Or is this the transgendered individual? From livfoss at mac.com Sun Feb 8 11:38:27 2015 From: livfoss at mac.com (Graham Samuel) Date: Sun, 08 Feb 2015 17:38:27 +0100 Subject: [not quite OT] Serving a standalone In-Reply-To: <54D77A56.8070605@researchware.com> References: <54D77A56.8070605@researchware.com> Message-ID: <1B83FCD0-3A80-4EA2-BF1B-8A94F473FE2F@mac.com> Paul, that?s a great summary. I shall be studying it carefully. Thanks so much Graham > On 8 Feb 2015, at 16:01, Paul Dupuis wrote: > > On 2/8/2015 8:52 AM, Graham Samuel wrote: >> 6. What happens now when that downloaded instance of the app is called upon to save a file? Is it just saved on the local computer? If so, what if Jack and Jill both use the program on the same machine at different times? Will Jill?s files overwrite Jack?s, and if we don?t want this, how can we prevent it? How much work will the app itself have to do? I think I understand this one: the app will have to associate each file with a directory created especially for an individual. This is not hard, especially if Jack and Jill have separate user spaces - we can insist on this. But maybe these files end up on the server - does this ever happen? >> >> 7. While Jill is working, many others start work. Anselma downloads another instance of the app to her own computer. How does the original copy on the server know whether this is legit (not greater than the twentieth user in my example) or not (the 21st user), and indeed how do any of the users know the app is already registered? More particularly, how much work does the app have to do to manage this? >> >> This is really the key question - what do servers generally do to support multiple instances as described above? Maybe it?s nothing, in which case the ?server? version of the app will need a lot more development work than the version intended for a single individual; or maybe it?s so much that the app doesn?t need to know anything about the server once the user has done the download. >> > > There is a lot of variation used in serving applications. Let em run > through some of them: > > 1) The application is downloaded to the user's computer (i.e the > application's file/folder/whatever is actually copied to local disk > space on the user's computer like downloading LiveCode from the RunRev > store). In this case the application is now on the local computer and > only has access to local diskspace. Unless the "license file" was part > of the download, the app may need to be re-licensed and any file written > will be unique to that specific computer. > > 2) The server's volume (disk) containing the application is mounted > (accessed) from a local computer. Here the app remain on the server's > disk, but runs on the local computer. Files that are accessed via the > specialFolderPath function (see Livecode dictionary) in places like the > temp directory or desktop, etc. will be on the local folder, but file > accessed from the folder the app is in are on the server and shared > across users. > > 3) The application is served via an application server. A lot of > colleges and universities now use application servers such as Citrix or > Microsoft's application server software. In these instances the > application is actually run on the server and all it's files are stored > on the server, but each user gets their own "virtual" instance of the > application to their files don't conflict. Is system administrators > allow, application servers can also provide or force access to local > disk space for user files. > > 4) Also, many places may use desktop management software (such as > LanDesk or Microsoft's tools) to remotely deploy the application to > individual users computers through remote control of those computer (or > a remote "push" of software to those computers. In this case each user > ends up with their own instance of the software running on their own > computer. > > There are other ways, but most others are some variants on the > approaches above. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From prothero at earthednet.org Sun Feb 8 11:39:09 2015 From: prothero at earthednet.org (Earthednet-wp) Date: Sun, 8 Feb 2015 08:39:09 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: References: Message-ID: Graham, I've had a lot of experience doing this for a 300seat oceanography class. I used my own server to store student work. Students downloaded the software in this instance. They were identified by a 7 digit number. I used a combination of files uploaded and downloaded to a local temp folder, and a MySQL database on my server. Students used my app to gather Earth data, edit and annotate images, and write papers, and review each other's papers, etc. it was pretty complex and modern learning management system do much of this now. There was no licensing because I never did develop that work into a commercial product. Bugs were a major issue until I developed an update system that let me post updates that got downloaded to students' computers. But the main point is that all student work was stored on a server so they could access their work from a computer lab or on their personal computer. Another project, now limping along was a simulation game built in Director and served as a Flash movie in a browser. I set up a licensing system. Users were identified by their email. I give 30 free licenses to any teacher. They can easily get more by changing their email address. Login management is done thru my drupal website and I wrote a php script to let folks login to my app using their drupal password and username. This effort to manage users, licenses, free licenses, purchases on PayPal, became more complicated and took much more of my time than the game it managed. Thank heavens I don't need the income because I'm pretty sure I'm in negative cash flow with it. Now, of course, Director as a development app has become so creaky that I am loath to invest any more time with it. Currently, my first livecode app is being beta tested in several UCSB Earth science courses. I store student work in a folder, named with their username, on the desktop. I warn them that their files are temporary so they can copy them to a thumb drive or upload to whatever server might be provided. When a new student logs in, the folders of other students are deleted, to discourage cheating. The actual lesson docs are provided separately. I'm planning on adding content, lessons, quizzes, etc, so this is just a test of the most complex part of the app and the "engine" that delivers Earth data in a form that students can easily view and interpret. I am planning on distributing this app for free, at least at first. If I wanted to monetize it, I will put it into the Apple store and charge for it, or give away the basic app and have enhanced versions of the same series. That's it, but please feel free to contact me if you would like to discuss strategies. Integration with modern LMS's is also an issue and I'm not an expert on that, but it's probably important. Best, Bill William Prothero http://es.earthednet.org > On Feb 8, 2015, at 5:52 AM, Graham Samuel wrote: > > As with so much in this world, technical and otherwise, I am profoundly ignorant of the following, and I?d be grateful for any explanations, best practice etc. > > The idea is as follows: > > 1. I write a desktop program (OK, an app) that runs, say, on PC and Mac. Good LC territory. This program is capable of saving some parameters, files etc on behalf of the user. Some of these files will be anonymous, in that the user won?t see them or be able to change their names or file paths - they are just there to maintain the state of the program between activations - this is a very widespread notion throughout modern computing. > > 2. Now, some institution - like an enterprise, school etc - buys a ?site license? for the app, which means they?ve paid to have (say) up to 20 simultaneous users. > > 3. When the purchase is made, someone (probably a technical support person) loads up the app onto a server belonging to the institution and registers it: some kind of registration file is kept on the server, controlled by the initial instance of the app (I?m sure Jacque?s Zygodact would be an excellent component of this). > > 4. When a user wants to run the app, they sit at their personal computer, contact the server, and download the app. This is where the fun starts. > > 6. What happens now when that downloaded instance of the app is called upon to save a file? Is it just saved on the local computer? If so, what if Jack and Jill both use the program on the same machine at different times? Will Jill?s files overwrite Jack?s, and if we don?t want this, how can we prevent it? How much work will the app itself have to do? I think I understand this one: the app will have to associate each file with a directory created especially for an individual. This is not hard, especially if Jack and Jill have separate user spaces - we can insist on this. But maybe these files end up on the server - does this ever happen? > > 7. While Jill is working, many others start work. Anselma downloads another instance of the app to her own computer. How does the original copy on the server know whether this is legit (not greater than the twentieth user in my example) or not (the 21st user), and indeed how do any of the users know the app is already registered? More particularly, how much work does the app have to do to manage this? > > This is really the key question - what do servers generally do to support multiple instances as described above? Maybe it?s nothing, in which case the ?server? version of the app will need a lot more development work than the version intended for a single individual; or maybe it?s so much that the app doesn?t need to know anything about the server once the user has done the download. > > For me this is a real case, and I just don?t know how to learn more and thus get started. > > TIA for any discussion and help. > > Graham > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dochawk at gmail.com Sun Feb 8 12:04:16 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Sun, 8 Feb 2015 09:04:16 -0800 Subject: Best Practice: Prevent Substacks from Triggering Main Stack Scripts In-Reply-To: <54D52524.9020300@hyperactivesw.com> References: <54D463E8.80605@hindu.org> <54D52524.9020300@hyperactivesw.com> Message-ID: On Fri, Feb 6, 2015 at 12:33 PM, J. Landman Gay wrote: > If almost everything needs to use the open* handlers except one or two > stacks, then I put the handlers into the mainstack stack script and put > blocking handlers into the stacks that are an exception. This. I quickly figured out that it as easier to trap in my mainstack handler than to worry about putting it in every new substack . . -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From prothero at earthednet.org Sun Feb 8 13:05:54 2015 From: prothero at earthednet.org (William Prothero) Date: Sun, 8 Feb 2015 10:05:54 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: References: Message-ID: Graham, I think that you should think in terms of ?licenses? rather than apps downloaded when trying to enforce limits. Education, nowadays is less centralized and students want to be able to access resources from multiple places. School, home, mobile phones, tablets. Then, if there is too much setup for the teacher, it will not get used at all. In an elementary classroom setting, having the app exclusively installed on classroom computers might be an option, but there will be teachers who want different configurations too. I?ve seen sites where elementary students get math practice and their scores are stored at the vendor?s web site. There are a lot of variations. Hopefully the coming HTML5 export will make it easier to integrate Livecode apps into a web delivery. The main advantage of this is the ease of updating the software. There will be bugs in your code. No avoiding it unless you have some kind of divine intervention. Some kind of automatic or simple updating is really helpful. Another possibility that comes to mind is a multi-station license for schools, and then distribute the app on the App Store for low cost if students want to access the materials from other computers. I think it would be helpful, in this discussion, to develop a ?use case? or two. That would help focus the discussion on the appropriate strategy. Best, Bill William A. Prothero http://es.earthednet.org/ > On Feb 8, 2015, at 8:39 AM, Earthednet-wp wrote: > > Graham, > I've had a lot of experience doing this for a 300seat oceanography class. I used my own server to store student work. Students downloaded the software in this instance. They were identified by a 7 digit number. I used a combination of files uploaded and downloaded to a local temp folder, and a MySQL database on my server. Students used my app to gather Earth data, edit and annotate images, and write papers, and review each other's papers, etc. it was pretty complex and modern learning management system do much of this now. There was no licensing because I never did develop that work into a commercial product. Bugs were a major issue until I developed an update system that let me post From bodine at bodinetraininggames.com Sun Feb 8 15:25:11 2015 From: bodine at bodinetraininggames.com (tbodine) Date: Sun, 8 Feb 2015 12:25:11 -0800 (PST) Subject: Detecting key and mouse actions in the background In-Reply-To: <1423346903207-4688595.post@n4.nabble.com> References: <1423346903207-4688595.post@n4.nabble.com> Message-ID: <1423427111907-4688609.post@n4.nabble.com> Thanks, Mike. It helped to see your approach. I was using keydown and mousedown handlers and that was not detecting events outside of the LC app itself. So I adapted your method using the keys down and mouseloc, and it works nicely. Thanks! Tom -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Detecting-key-and-mouse-actions-in-the-background-tp4688595p4688609.html Sent from the Revolution - User mailing list archive at Nabble.com. From bonnmike at gmail.com Sun Feb 8 16:07:59 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 14:07:59 -0700 Subject: Detecting key and mouse actions in the background In-Reply-To: <1423427111907-4688609.post@n4.nabble.com> References: <1423346903207-4688595.post@n4.nabble.com> <1423427111907-4688609.post@n4.nabble.com> Message-ID: Glad it helped, have a good one! On Sun, Feb 8, 2015 at 1:25 PM, tbodine wrote: > Thanks, Mike. It helped to see your approach. I was using keydown and > mousedown handlers and that was not detecting events outside of the LC app > itself. So I adapted your method using the keys down and mouseloc, and it > works nicely. Thanks! > Tom > > > > -- > View this message in context: > http://runtime-revolution.278305.n4.nabble.com/Detecting-key-and-mouse-actions-in-the-background-tp4688595p4688609.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Sun Feb 8 16:52:26 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 08 Feb 2015 15:52:26 -0600 Subject: Reverse a list Message-ID: <54D7DA9A.6010801@hyperactivesw.com> Just tinkering around on a lazy Sunday, and I thought I'd come up with a neat way to reverse a list without using the traditional clunky method: function reverseSort pList repeat for each line l in pList put l & cr before tList end repeat return tList end reverseSort One of the best things I learned from a past LC converence came from Jerry Daniels who said "let the engine do it." It's almost always faster and more efficient. With that in mind I wrote this: local sNum function reverseText pList put the number of lines in pList into sNum sort lines of pList numeric by reverseSort(each) return pList end reverseText function reverseSort pTxt subtract 1 from sNum return sNum && pTxt end reverseSort Works great and I was proud. Then I did some timing tests and found out the two methods are very close to equivalent in timing, and on long lists, the first way is actually faster. So much for improving on LC's text chunking speed. Pah. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From ambassador at fourthworld.com Sun Feb 8 16:59:54 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 08 Feb 2015 13:59:54 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: References: Message-ID: <54D7DC5A.8090406@fourthworld.com> William Prothero wrote: > Hopefully the coming HTML5 export will make it easier to integrate > Livecode apps into a web delivery. The main advantage of this is > the ease of updating the software. The HTML output option will be a great thing for many projects, but I think it's safe to say it's many months away. In the meantime, that main benefit of instant updates is easily achievable with LiveCode right now. With HTML all code, UI, and data is downloaded over the wire. With LiveCode we can do the same by merely extending the "anchor window" (or "splash stack") setup to open stacks from URLs rather than local files: go url "http://yourdomain/stacks/stackfile.livecode" You can even cut the transfer time by more than half using LC's built-in gzip compression: go decompress(url "http://yourdomain/stacks/stackfile.livecode.gz) A majority of the projects I'm working on currently use this setup. They're workgroup collaboration tools where an Internet connection is needed for the data anyway, so we just extended that to download all the stacks as well. The standalone has only enough code to find the server and download the first stack. Everything from that point on is handled in stacks that are always up to date, downloaded from the server at the start of each session just like HTML is. But since we're using LiveCode, we're able to deliver all of the benefits of a UI designed specifically for the task at hand, never having to ponder the sorts of questions we do when we're making web apps, like "How do we handle the Back button?" And we never have to sweat browser compatibility issues. The UIs we deliver are fully dedicated for the workflows they support. I often go a year or more without having to update the client standalone, far less frequent than most browser updates. On one project we have a client app that's been in use by more than 100 team members for more than two years, and all the new features they're enjoying come over the wire as quickly as I can upload them to the server. And if you haven't played with the fairly recent securityPermissions global property, you're in for a treat: lock down everything except network access and your client app is far more secure than most browsers. So admins are as happy with your security as the project owner is with your rapid deployment and your end-users are with your app's performance and usability. Net-savvy apps aren't the answer for every need, and there will be a place for Web apps for years to come. But if there's anything we've learned from the mobile world that we can use in our desktop work, it's that OS-native apps often outperform and provide better usability than cramming a UI inside of a browser window. And with LiveCode, this is super easy to do right now. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bonnmike at gmail.com Sun Feb 8 17:09:14 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 15:09:14 -0700 Subject: Reverse a list In-Reply-To: <54D7DA9A.6010801@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: Just curious.. How does this compare? local scount on mouseUp put the number of lines in field 1 + 1 into scount sort lines of field 1 by getCount() end mouseUp function getCount subtract 1 from sCount return sCount end getCount On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay wrote: > Just tinkering around on a lazy Sunday, and I thought I'd come up with a > neat way to reverse a list without using the traditional clunky method: > > function reverseSort pList > repeat for each line l in pList > put l & cr before tList > end repeat > return tList > end reverseSort > > One of the best things I learned from a past LC converence came from Jerry > Daniels who said "let the engine do it." It's almost always faster and more > efficient. With that in mind I wrote this: > > local sNum > > function reverseText pList > put the number of lines in pList into sNum > sort lines of pList numeric by reverseSort(each) > return pList > end reverseText > > function reverseSort pTxt > subtract 1 from sNum > return sNum && pTxt > end reverseSort > > Works great and I was proud. Then I did some timing tests and found out > the two methods are very close to equivalent in timing, and on long lists, > the first way is actually faster. > > So much for improving on LC's text chunking speed. Pah. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bonnmike at gmail.com Sun Feb 8 17:13:24 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 15:13:24 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: Oops, make sure the sort is numeric, which I forgot. On Sun, Feb 8, 2015 at 3:09 PM, Mike Bonner wrote: > Just curious.. How does this compare? > > local scount > on mouseUp > put the number of lines in field 1 + 1 into scount > sort lines of field 1 by getCount() > end mouseUp > > function getCount > subtract 1 from sCount > return sCount > end getCount > > On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay > wrote: > >> Just tinkering around on a lazy Sunday, and I thought I'd come up with a >> neat way to reverse a list without using the traditional clunky method: >> >> function reverseSort pList >> repeat for each line l in pList >> put l & cr before tList >> end repeat >> return tList >> end reverseSort >> >> One of the best things I learned from a past LC converence came from >> Jerry Daniels who said "let the engine do it." It's almost always faster >> and more efficient. With that in mind I wrote this: >> >> local sNum >> >> function reverseText pList >> put the number of lines in pList into sNum >> sort lines of pList numeric by reverseSort(each) >> return pList >> end reverseText >> >> function reverseSort pTxt >> subtract 1 from sNum >> return sNum && pTxt >> end reverseSort >> >> Works great and I was proud. Then I did some timing tests and found out >> the two methods are very close to equivalent in timing, and on long lists, >> the first way is actually faster. >> >> So much for improving on LC's text chunking speed. Pah. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From bonnmike at gmail.com Sun Feb 8 17:15:46 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 15:15:46 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: Using numeric sort, 100k lines being reversed takes 126 millisec on my system. On Sun, Feb 8, 2015 at 3:13 PM, Mike Bonner wrote: > Oops, make sure the sort is numeric, which I forgot. > > On Sun, Feb 8, 2015 at 3:09 PM, Mike Bonner wrote: > >> Just curious.. How does this compare? >> >> local scount >> on mouseUp >> put the number of lines in field 1 + 1 into scount >> sort lines of field 1 by getCount() >> end mouseUp >> >> function getCount >> subtract 1 from sCount >> return sCount >> end getCount >> >> On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay >> wrote: >> >>> Just tinkering around on a lazy Sunday, and I thought I'd come up with a >>> neat way to reverse a list without using the traditional clunky method: >>> >>> function reverseSort pList >>> repeat for each line l in pList >>> put l & cr before tList >>> end repeat >>> return tList >>> end reverseSort >>> >>> One of the best things I learned from a past LC converence came from >>> Jerry Daniels who said "let the engine do it." It's almost always faster >>> and more efficient. With that in mind I wrote this: >>> >>> local sNum >>> >>> function reverseText pList >>> put the number of lines in pList into sNum >>> sort lines of pList numeric by reverseSort(each) >>> return pList >>> end reverseText >>> >>> function reverseSort pTxt >>> subtract 1 from sNum >>> return sNum && pTxt >>> end reverseSort >>> >>> Works great and I was proud. Then I did some timing tests and found out >>> the two methods are very close to equivalent in timing, and on long lists, >>> the first way is actually faster. >>> >>> So much for improving on LC's text chunking speed. Pah. >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> > From bonnmike at gmail.com Sun Feb 8 17:22:28 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 15:22:28 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: doh. Same thing you did. *sigh* Except i'm not passing the actual text back and forth since theres no point. Ignore me. :) On Sun, Feb 8, 2015 at 3:15 PM, Mike Bonner wrote: > Using numeric sort, 100k lines being reversed takes 126 millisec on my > system. > > On Sun, Feb 8, 2015 at 3:13 PM, Mike Bonner wrote: > >> Oops, make sure the sort is numeric, which I forgot. >> >> On Sun, Feb 8, 2015 at 3:09 PM, Mike Bonner wrote: >> >>> Just curious.. How does this compare? >>> >>> local scount >>> on mouseUp >>> put the number of lines in field 1 + 1 into scount >>> sort lines of field 1 by getCount() >>> end mouseUp >>> >>> function getCount >>> subtract 1 from sCount >>> return sCount >>> end getCount >>> >>> On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay >> > wrote: >>> >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up with >>>> a neat way to reverse a list without using the traditional clunky method: >>>> >>>> function reverseSort pList >>>> repeat for each line l in pList >>>> put l & cr before tList >>>> end repeat >>>> return tList >>>> end reverseSort >>>> >>>> One of the best things I learned from a past LC converence came from >>>> Jerry Daniels who said "let the engine do it." It's almost always faster >>>> and more efficient. With that in mind I wrote this: >>>> >>>> local sNum >>>> >>>> function reverseText pList >>>> put the number of lines in pList into sNum >>>> sort lines of pList numeric by reverseSort(each) >>>> return pList >>>> end reverseText >>>> >>>> function reverseSort pTxt >>>> subtract 1 from sNum >>>> return sNum && pTxt >>>> end reverseSort >>>> >>>> Works great and I was proud. Then I did some timing tests and found out >>>> the two methods are very close to equivalent in timing, and on long lists, >>>> the first way is actually faster. >>>> >>>> So much for improving on LC's text chunking speed. Pah. >>>> >>>> -- >>>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>>> HyperActive Software | http://www.hyperactivesw.com >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at lists.runrev.com >>>> Please visit this url to subscribe, unsubscribe and manage your >>>> subscription preferences: >>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>>> >>> >>> >> > From bonnmike at gmail.com Sun Feb 8 17:26:32 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 15:26:32 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: Ok, last part and I'll shut up. On 100k lines, not passing the text itself back and forth to the reverse sort saves about 50 millisec on my system. On Sun, Feb 8, 2015 at 3:22 PM, Mike Bonner wrote: > doh. Same thing you did. *sigh* Except i'm not passing the actual text > back and forth since theres no point. Ignore me. :) > > On Sun, Feb 8, 2015 at 3:15 PM, Mike Bonner wrote: > >> Using numeric sort, 100k lines being reversed takes 126 millisec on my >> system. >> >> On Sun, Feb 8, 2015 at 3:13 PM, Mike Bonner wrote: >> >>> Oops, make sure the sort is numeric, which I forgot. >>> >>> On Sun, Feb 8, 2015 at 3:09 PM, Mike Bonner wrote: >>> >>>> Just curious.. How does this compare? >>>> >>>> local scount >>>> on mouseUp >>>> put the number of lines in field 1 + 1 into scount >>>> sort lines of field 1 by getCount() >>>> end mouseUp >>>> >>>> function getCount >>>> subtract 1 from sCount >>>> return sCount >>>> end getCount >>>> >>>> On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay < >>>> jacque at hyperactivesw.com> wrote: >>>> >>>>> Just tinkering around on a lazy Sunday, and I thought I'd come up with >>>>> a neat way to reverse a list without using the traditional clunky method: >>>>> >>>>> function reverseSort pList >>>>> repeat for each line l in pList >>>>> put l & cr before tList >>>>> end repeat >>>>> return tList >>>>> end reverseSort >>>>> >>>>> One of the best things I learned from a past LC converence came from >>>>> Jerry Daniels who said "let the engine do it." It's almost always faster >>>>> and more efficient. With that in mind I wrote this: >>>>> >>>>> local sNum >>>>> >>>>> function reverseText pList >>>>> put the number of lines in pList into sNum >>>>> sort lines of pList numeric by reverseSort(each) >>>>> return pList >>>>> end reverseText >>>>> >>>>> function reverseSort pTxt >>>>> subtract 1 from sNum >>>>> return sNum && pTxt >>>>> end reverseSort >>>>> >>>>> Works great and I was proud. Then I did some timing tests and found >>>>> out the two methods are very close to equivalent in timing, and on long >>>>> lists, the first way is actually faster. >>>>> >>>>> So much for improving on LC's text chunking speed. Pah. >>>>> >>>>> -- >>>>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>>>> HyperActive Software | http://www.hyperactivesw.com >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode at lists.runrev.com >>>>> Please visit this url to subscribe, unsubscribe and manage your >>>>> subscription preferences: >>>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>>>> >>>> >>>> >>> >> > From prothero at earthednet.org Sun Feb 8 17:28:16 2015 From: prothero at earthednet.org (William Prothero) Date: Sun, 8 Feb 2015 14:28:16 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <54D7DC5A.8090406@fourthworld.com> References: <54D7DC5A.8090406@fourthworld.com> Message-ID: <156CD665-6EB0-4473-90B6-F61FA401363B@earthednet.org> Richard: This sounds like a great way to go! I think I?m getting that the ?Splash? app downloads the executables and whatever media is needed, and then these are erased at the end of the session, so that new ones are downloaded each session? Or is it done more like the browser cache, where it can be emptied manually, or regularly, and then new stuff is downloaded if updates are available. I?m wondering, though, if the future that Apple has in mind is the iOS-ification of the Mac OS so that sandboxing and downloading of added executables is not allowed. Kay made this comment previously. Just wondering. Best, Bill > On Feb 8, 2015, at 1:59 PM, Richard Gaskin wrote: > > William Prothero wrote: > > > Hopefully the coming HTML5 export will make it easier to integrate > > Livecode apps into a web delivery. The main advantage of this is > > the ease of updating the software. > > The HTML output option will be a great thing for many projects, but I think it's safe to say it's many months away. > > In the meantime, that main benefit of instant updates is easily achievable with LiveCode right now. > > With HTML all code, UI, and data is downloaded over the wire. With LiveCode we can do the same by merely extending the "anchor window" (or "splash stack") setup to open stacks from URLs rather than local files: > > go url "http://yourdomain/stacks/stackfile.livecode" > > You can even cut the transfer time by more than half using LC's built-in gzip compression: > > go decompress(url "http://yourdomain/stacks/stackfile.livecode.gz) > > A majority of the projects I'm working on currently use this setup. They're workgroup collaboration tools where an Internet connection is needed for the data anyway, so we just extended that to download all the stacks as well. > > The standalone has only enough code to find the server and download the first stack. Everything from that point on is handled in stacks that are always up to date, downloaded from the server at the start of each session just like HTML is. > > But since we're using LiveCode, we're able to deliver all of the benefits of a UI designed specifically for the task at hand, never having to ponder the sorts of questions we do when we're making web apps, like "How do we handle the Back button?" And we never have to sweat browser compatibility issues. The UIs we deliver are fully dedicated for the workflows they support. > > I often go a year or more without having to update the client standalone, far less frequent than most browser updates. On one project we have a client app that's been in use by more than 100 team members for more than two years, and all the new features they're enjoying come over the wire as quickly as I can upload them to the server. > > And if you haven't played with the fairly recent securityPermissions global property, you're in for a treat: lock down everything except network access and your client app is far more secure than most browsers. So admins are as happy with your security as the project owner is with your rapid deployment and your end-users are with your app's performance and usability. > > Net-savvy apps aren't the answer for every need, and there will be a place for Web apps for years to come. > > But if there's anything we've learned from the mobile world that we can use in our desktop work, it's that OS-native apps often outperform and provide better usability than cramming a UI inside of a browser window. > > And with LiveCode, this is super easy to do right now. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From prothero at earthednet.org Sun Feb 8 17:33:19 2015 From: prothero at earthednet.org (William Prothero) Date: Sun, 8 Feb 2015 14:33:19 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <156CD665-6EB0-4473-90B6-F61FA401363B@earthednet.org> References: <54D7DC5A.8090406@fourthworld.com> <156CD665-6EB0-4473-90B6-F61FA401363B@earthednet.org> Message-ID: Richard: Whoops, I see you said the downloads were erased at the end of each session. Where do you put the executables? On the Mac, in the Applications folder there would have to be the admin permissions given. The Documents folder? The Application Support folder inside the user?s Library folder? Or?. Bill > On Feb 8, 2015, at 2:28 PM, William Prothero wrote: > > Richard: > This sounds like a great way to go! > > I think I?m getting that the ?Splash? app downloads the executables and whatever media is needed, and then these are erased at the end of the session, so that new ones are downloaded each session? Or is it done more like the browser cache, where it can be emptied manually, or regularly, and then new stuff is downloaded if updates are available. > > I?m wondering, though, if the future that Apple has in mind is the iOS-ification of the Mac OS so that sandboxing and downloading of added executables is not allowed. Kay made this comment previously. Just wondering. > > Best, > Bill > >> On Feb 8, 2015, at 1:59 PM, Richard Gaskin wrote: >> >> William Prothero wrote: >> >>> Hopefully the coming HTML5 export will make it easier to integrate >>> Livecode apps into a web delivery. The main advantage of this is >>> the ease of updating the software. >> >> The HTML output option will be a great thing for many projects, but I think it's safe to say it's many months away. >> >> In the meantime, that main benefit of instant updates is easily achievable with LiveCode right now. >> >> With HTML all code, UI, and data is downloaded over the wire. With LiveCode we can do the same by merely extending the "anchor window" (or "splash stack") setup to open stacks from URLs rather than local files: >> >> go url "http://yourdomain/stacks/stackfile.livecode" >> >> You can even cut the transfer time by more than half using LC's built-in gzip compression: >> >> go decompress(url "http://yourdomain/stacks/stackfile.livecode.gz) >> >> A majority of the projects I'm working on currently use this setup. They're workgroup collaboration tools where an Internet connection is needed for the data anyway, so we just extended that to download all the stacks as well. >> >> The standalone has only enough code to find the server and download the first stack. Everything from that point on is handled in stacks that are always up to date, downloaded from the server at the start of each session just like HTML is. >> >> But since we're using LiveCode, we're able to deliver all of the benefits of a UI designed specifically for the task at hand, never having to ponder the sorts of questions we do when we're making web apps, like "How do we handle the Back button?" And we never have to sweat browser compatibility issues. The UIs we deliver are fully dedicated for the workflows they support. >> >> I often go a year or more without having to update the client standalone, far less frequent than most browser updates. On one project we have a client app that's been in use by more than 100 team members for more than two years, and all the new features they're enjoying come over the wire as quickly as I can upload them to the server. >> >> And if you haven't played with the fairly recent securityPermissions global property, you're in for a treat: lock down everything except network access and your client app is far more secure than most browsers. So admins are as happy with your security as the project owner is with your rapid deployment and your end-users are with your app's performance and usability. >> >> Net-savvy apps aren't the answer for every need, and there will be a place for Web apps for years to come. >> >> But if there's anything we've learned from the mobile world that we can use in our desktop work, it's that OS-native apps often outperform and provide better usability than cramming a UI inside of a browser window. >> >> And with LiveCode, this is super easy to do right now. >> >> -- >> Richard Gaskin >> Fourth World Systems >> Software Design and Development for the Desktop, Mobile, and the Web >> ____________________________________________________________________ >> Ambassador at FourthWorld.com http://www.FourthWorld.com >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From alex at tweedly.net Sun Feb 8 17:37:19 2015 From: alex at tweedly.net (Alex Tweedly) Date: Sun, 08 Feb 2015 22:37:19 +0000 Subject: Reverse a list In-Reply-To: <54D7DA9A.6010801@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: <54D7E51F.9010408@tweedly.net> Indeed. Jerry was (as usual) correct - if the engine can do it, then the engine will normally be faster. BUT sorting a list requires moving the data around quite a lot, AND sorting something that actually reverses it can be a pathologically bad case (e.g. if the engine uses any variant of quicksort()).. SO - take the original idea, and examine how it *might* be improved ..... The problem here is that "put ... before ..." requires all existing data in the destination container to be moved (i.e. copied) to make space. SO, instead, we can use "put ... into char x to y of ..." - since it uses char indexing, it takes constant time (i.e. no scan, just directly replace the chars. I've attached my complete code so anyone can try it easily - for my test data of approx 8000 lines, this takes 8 msecs, versus 588 for the original version. -- Alex. on mouseup put fld "fldout" into tstart put tstart into ta repeat 200 times put tstart after ta end repeat put ta into tstart put the millisecs into t1 put revers(ta) into tb put the millisecs - t1 & CR after msg put tstart into ta put the millisecs into t1 put qrevers(ta) into tc put the millisecs - t1 & CR after msg if tb = tc then put "OK" after msg end mouseup function revers p repeat for each line l in p put L &CR before t end repeat return t end revers function qrevers p put p into t put the number of chars in t into tlen repeat for each line l in p put the number of chars in l into tl put l & cr into char (tLen-tl) to tLen of t subtract (tl+1) from tLen end repeat return t end qrevers On 08/02/2015 21:52, J. Landman Gay wrote: > Just tinkering around on a lazy Sunday, and I thought I'd come up with > a neat way to reverse a list without using the traditional clunky method: > > function reverseSort pList > repeat for each line l in pList > put l & cr before tList > end repeat > return tList > end reverseSort > > One of the best things I learned from a past LC converence came from > Jerry Daniels who said "let the engine do it." It's almost always > faster and more efficient. With that in mind I wrote this: > > local sNum > > function reverseText pList > put the number of lines in pList into sNum > sort lines of pList numeric by reverseSort(each) > return pList > end reverseText > > function reverseSort pTxt > subtract 1 from sNum > return sNum && pTxt > end reverseSort > > Works great and I was proud. Then I did some timing tests and found > out the two methods are very close to equivalent in timing, and on > long lists, the first way is actually faster. > > So much for improving on LC's text chunking speed. Pah. > From ambassador at fourthworld.com Sun Feb 8 18:15:19 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 08 Feb 2015 15:15:19 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <156CD665-6EB0-4473-90B6-F61FA401363B@earthednet.org> References: <156CD665-6EB0-4473-90B6-F61FA401363B@earthednet.org> Message-ID: <54D7EE07.6020906@fourthworld.com> William Prothero wrote: > Richard: > This sounds like a great way to go! And it has the best feature of all: it's fun to make. :) > I think I?m getting that the ?Splash? app downloads the executables > and whatever media is needed, and then these are erased at the end > of the session, so that new ones are downloaded each session? Or is > it done more like the browser cache, where it can be emptied > manually, or regularly, and then new stuff is downloaded if updates > are available. It's up to you. By default standalones can read/write locally, so you could maintain a cache in App Support. Or if you need the additional security and are willing to require more download time, you could have things come over fresh each time. The nice thing about doing this in LiveCode is that you control the cache, not the browser, so you can make whatever choices work for your needs. > I?m wondering, though, if the future that Apple has in mind is the > iOS-ification of the Mac OS so that sandboxing and downloading of > added executables is not allowed. Kay made this comment previously. > Just wondering. After the unpredictable and unprecedented iOS SDK v4 Section 3.3.1 fiasco many years ago, there's no telling what Apple might do at any time. With Windows still holding more than 85% of the market, and being just a checkbox away for us LiveCode developers, it's not hard to hedge our bets with multi-platform coverage. Heck, not doing so is just walking away from a majority of potential revenue. Even in this era of consumer and investor frenzy for all things Apple, their current global desktop market share is about 8%, below the 11% peak they enjoyed in the mid-90s. Apps make the OS world go 'round; I'd like to believe they understand they're in no position be as strident with desktop policies as they've been in mobile, where their market share is also declining for all form factors. So for now consumers and the loyal developers who serve them still have the freedom to choose the Mac app store, or not. And if you choose to be among those who sell outside the Mac app store, you're in pretty good company - apparently Bare Bones Software has joined other devs in leaving the Mac app store, citing numerous reasons: In one of the very few cases where Gruber has written anything that doesn't read like Apple PR, he takes exception with Apple's app store cut on in-app purchasing, calling it "Dirty Percent": The Benefits of Selling Software outside the Mac App Store -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bonnmike at gmail.com Sun Feb 8 18:18:34 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 16:18:34 -0700 Subject: Reverse a list In-Reply-To: <54D7E51F.9010408@tweedly.net> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> Message-ID: Version 6.6.2, your "by position" method is by FAR the fastest 26 millisec for 80k lines. repeat takes almost 9 seconds. The sort function method not passing text back and forth, takes 102 millisec which isn't slouchy by any means. Jump to version 7.0.1 and the by position method needs some major love. The repeat method is almost twice as fast in 7, the sort without passing the text method is within a few millisec of 6.6.2, and the by position method is unusable at 21 seconds. REALLY hope they get some optimization going soon. On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly wrote: > > Indeed. Jerry was (as usual) correct - if the engine can do it, then the > engine will normally be faster. > > BUT sorting a list requires moving the data around quite a lot, AND > sorting something that actually reverses it can be a pathologically bad > case (e.g. if the engine uses any variant of quicksort()).. > > SO - take the original idea, and examine how it *might* be improved ..... > > The problem here is that "put ... before ..." requires all existing data > in the destination container to be moved (i.e. copied) to make space. > > SO, instead, we can use "put ... into char x to y of ..." - since it uses > char indexing, it takes constant time (i.e. no scan, just directly replace > the chars. I've attached my complete code so anyone can try it easily - > for my test data of approx 8000 lines, this takes 8 msecs, versus 588 for > the original version. > > -- Alex. > > on mouseup > put fld "fldout" into tstart > > put tstart into ta > repeat 200 times > put tstart after ta > end repeat > put ta into tstart > > put the millisecs into t1 > put revers(ta) into tb > put the millisecs - t1 & CR after msg > > put tstart into ta > put the millisecs into t1 > put qrevers(ta) into tc > put the millisecs - t1 & CR after msg > > if tb = tc then put "OK" after msg > end mouseup > > function revers p > repeat for each line l in p > put L &CR before t > end repeat > return t > end revers > > function qrevers p > put p into t > put the number of chars in t into tlen > repeat for each line l in p > put the number of chars in l into tl > put l & cr into char (tLen-tl) to tLen of t > subtract (tl+1) from tLen > end repeat > return t > end qrevers > > > On 08/02/2015 21:52, J. Landman Gay wrote: > >> Just tinkering around on a lazy Sunday, and I thought I'd come up with a >> neat way to reverse a list without using the traditional clunky method: >> >> function reverseSort pList >> repeat for each line l in pList >> put l & cr before tList >> end repeat >> return tList >> end reverseSort >> >> One of the best things I learned from a past LC converence came from >> Jerry Daniels who said "let the engine do it." It's almost always faster >> and more efficient. With that in mind I wrote this: >> >> local sNum >> >> function reverseText pList >> put the number of lines in pList into sNum >> sort lines of pList numeric by reverseSort(each) >> return pList >> end reverseText >> >> function reverseSort pTxt >> subtract 1 from sNum >> return sNum && pTxt >> end reverseSort >> >> Works great and I was proud. Then I did some timing tests and found out >> the two methods are very close to equivalent in timing, and on long lists, >> the first way is actually faster. >> >> So much for improving on LC's text chunking speed. Pah. >> >> > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Sun Feb 8 18:21:57 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sun, 08 Feb 2015 15:21:57 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: References: Message-ID: <54D7EF95.90509@fourthworld.com> William Prothero wrote: > Richard: > Whoops, I see you said the downloads were erased at the end of each > session. > Where do you put the executables? On the Mac, in the Applications > folder there would have to be the admin permissions given. > The Documents folder? The Application Support folder inside the > user?s Library folder? Or?. Just as a browser is needed to download HTML, there needs to be some app on the client machine to download the stacks. It can be in the Applications folder, or wherever else the user wants. This app can be very slender script-wise, needing only enough code to download the first stack from the server. In most cases it's very rare that it needs to be updated. Just pick a recent LiveCode version that does what you need, and you may go years without having to update that client app. So for the stacks that get downloaded, you may never need to save them locally at all. That's up to you. If they're particularly large you might set their filename to a path in App Support and issue a save command, but if they're small enough to transfer quickly you can just use them in memory during the session and let them go away when the app quits, knowing you'll get fresh copies from the server next time you launch. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From alex at tweedly.net Sun Feb 8 18:37:26 2015 From: alex at tweedly.net (Alex Tweedly) Date: Sun, 08 Feb 2015 23:37:26 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> Message-ID: <54D7F336.60905@tweedly.net> Wow. I can see why LC7 would be expected to be slower for this case - in the multi-byte Unicode world, char indexing isn't as simple as it used to be. BUT in this specific case, you can actually replace all use of "char" by "byte" and still be sure it works (ummm - except if the CR equivalent can be multi-byte - but I'll choose to ignore that :-) However, using position by byte is just as slow !! I'll have to play around a bit more to see if I can fathom out why that should be. - -Alex. On 08/02/2015 23:18, Mike Bonner wrote: > Version 6.6.2, your "by position" method is by FAR the fastest 26 millisec > for 80k lines. repeat takes almost 9 seconds. The sort function method > not passing text back and forth, takes 102 millisec which isn't slouchy by > any means. > > Jump to version 7.0.1 and the by position method needs some major love. > The repeat method is almost twice as fast in 7, the sort without passing > the text method is within a few millisec of 6.6.2, and the by position > method is unusable at 21 seconds. REALLY hope they get some optimization > going soon. > > On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly wrote: > >> Indeed. Jerry was (as usual) correct - if the engine can do it, then the >> engine will normally be faster. >> >> BUT sorting a list requires moving the data around quite a lot, AND >> sorting something that actually reverses it can be a pathologically bad >> case (e.g. if the engine uses any variant of quicksort()).. >> >> SO - take the original idea, and examine how it *might* be improved ..... >> >> The problem here is that "put ... before ..." requires all existing data >> in the destination container to be moved (i.e. copied) to make space. >> >> SO, instead, we can use "put ... into char x to y of ..." - since it uses >> char indexing, it takes constant time (i.e. no scan, just directly replace >> the chars. I've attached my complete code so anyone can try it easily - >> for my test data of approx 8000 lines, this takes 8 msecs, versus 588 for >> the original version. >> >> -- Alex. >> >> on mouseup >> put fld "fldout" into tstart >> >> put tstart into ta >> repeat 200 times >> put tstart after ta >> end repeat >> put ta into tstart >> >> put the millisecs into t1 >> put revers(ta) into tb >> put the millisecs - t1 & CR after msg >> >> put tstart into ta >> put the millisecs into t1 >> put qrevers(ta) into tc >> put the millisecs - t1 & CR after msg >> >> if tb = tc then put "OK" after msg >> end mouseup >> >> function revers p >> repeat for each line l in p >> put L &CR before t >> end repeat >> return t >> end revers >> >> function qrevers p >> put p into t >> put the number of chars in t into tlen >> repeat for each line l in p >> put the number of chars in l into tl >> put l & cr into char (tLen-tl) to tLen of t >> subtract (tl+1) from tLen >> end repeat >> return t >> end qrevers >> >> >> On 08/02/2015 21:52, J. Landman Gay wrote: >> >>> Just tinkering around on a lazy Sunday, and I thought I'd come up with a >>> neat way to reverse a list without using the traditional clunky method: >>> >>> function reverseSort pList >>> repeat for each line l in pList >>> put l & cr before tList >>> end repeat >>> return tList >>> end reverseSort >>> >>> One of the best things I learned from a past LC converence came from >>> Jerry Daniels who said "let the engine do it." It's almost always faster >>> and more efficient. With that in mind I wrote this: >>> >>> local sNum >>> >>> function reverseText pList >>> put the number of lines in pList into sNum >>> sort lines of pList numeric by reverseSort(each) >>> return pList >>> end reverseText >>> >>> function reverseSort pTxt >>> subtract 1 from sNum >>> return sNum && pTxt >>> end reverseSort >>> >>> Works great and I was proud. Then I did some timing tests and found out >>> the two methods are very close to equivalent in timing, and on long lists, >>> the first way is actually faster. >>> >>> So much for improving on LC's text chunking speed. Pah. >>> >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bonnmike at gmail.com Sun Feb 8 18:58:44 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 8 Feb 2015 16:58:44 -0700 Subject: Reverse a list In-Reply-To: <54D7F336.60905@tweedly.net> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: Yeah, the difference is rather shocking. Really hoping for a major tuneup. On Sun, Feb 8, 2015 at 4:37 PM, Alex Tweedly wrote: > Wow. I can see why LC7 would be expected to be slower for this case - in > the multi-byte Unicode world, char indexing isn't as simple as it used to > be. BUT in this specific case, you can actually replace all use of "char" > by "byte" and still be sure it works (ummm - except if the CR equivalent > can be multi-byte - but I'll choose to ignore that :-) However, using > position by byte is just as slow !! > > I'll have to play around a bit more to see if I can fathom out why that > should be. > > - -Alex. > > > On 08/02/2015 23:18, Mike Bonner wrote: > >> Version 6.6.2, your "by position" method is by FAR the fastest 26 millisec >> for 80k lines. repeat takes almost 9 seconds. The sort function method >> not passing text back and forth, takes 102 millisec which isn't slouchy >> by >> any means. >> >> Jump to version 7.0.1 and the by position method needs some major love. >> The repeat method is almost twice as fast in 7, the sort without passing >> the text method is within a few millisec of 6.6.2, and the by position >> method is unusable at 21 seconds. REALLY hope they get some optimization >> going soon. >> >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly wrote: >> >> Indeed. Jerry was (as usual) correct - if the engine can do it, then the >>> engine will normally be faster. >>> >>> BUT sorting a list requires moving the data around quite a lot, AND >>> sorting something that actually reverses it can be a pathologically bad >>> case (e.g. if the engine uses any variant of quicksort()).. >>> >>> SO - take the original idea, and examine how it *might* be improved ..... >>> >>> The problem here is that "put ... before ..." requires all existing data >>> in the destination container to be moved (i.e. copied) to make space. >>> >>> SO, instead, we can use "put ... into char x to y of ..." - since it uses >>> char indexing, it takes constant time (i.e. no scan, just directly >>> replace >>> the chars. I've attached my complete code so anyone can try it easily - >>> for my test data of approx 8000 lines, this takes 8 msecs, versus 588 for >>> the original version. >>> >>> -- Alex. >>> >>> on mouseup >>> put fld "fldout" into tstart >>> >>> put tstart into ta >>> repeat 200 times >>> put tstart after ta >>> end repeat >>> put ta into tstart >>> >>> put the millisecs into t1 >>> put revers(ta) into tb >>> put the millisecs - t1 & CR after msg >>> >>> put tstart into ta >>> put the millisecs into t1 >>> put qrevers(ta) into tc >>> put the millisecs - t1 & CR after msg >>> >>> if tb = tc then put "OK" after msg >>> end mouseup >>> >>> function revers p >>> repeat for each line l in p >>> put L &CR before t >>> end repeat >>> return t >>> end revers >>> >>> function qrevers p >>> put p into t >>> put the number of chars in t into tlen >>> repeat for each line l in p >>> put the number of chars in l into tl >>> put l & cr into char (tLen-tl) to tLen of t >>> subtract (tl+1) from tLen >>> end repeat >>> return t >>> end qrevers >>> >>> >>> On 08/02/2015 21:52, J. Landman Gay wrote: >>> >>> Just tinkering around on a lazy Sunday, and I thought I'd come up with a >>>> neat way to reverse a list without using the traditional clunky method: >>>> >>>> function reverseSort pList >>>> repeat for each line l in pList >>>> put l & cr before tList >>>> end repeat >>>> return tList >>>> end reverseSort >>>> >>>> One of the best things I learned from a past LC converence came from >>>> Jerry Daniels who said "let the engine do it." It's almost always faster >>>> and more efficient. With that in mind I wrote this: >>>> >>>> local sNum >>>> >>>> function reverseText pList >>>> put the number of lines in pList into sNum >>>> sort lines of pList numeric by reverseSort(each) >>>> return pList >>>> end reverseText >>>> >>>> function reverseSort pTxt >>>> subtract 1 from sNum >>>> return sNum && pTxt >>>> end reverseSort >>>> >>>> Works great and I was proud. Then I did some timing tests and found out >>>> the two methods are very close to equivalent in timing, and on long >>>> lists, >>>> the first way is actually faster. >>>> >>>> So much for improving on LC's text chunking speed. Pah. >>>> >>>> >>>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From prothero at earthednet.org Sun Feb 8 19:13:08 2015 From: prothero at earthednet.org (William Prothero) Date: Sun, 8 Feb 2015 16:13:08 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <54D7EF95.90509@fourthworld.com> References: <54D7EF95.90509@fourthworld.com> Message-ID: <4B1AEA33-D521-4E40-804E-71E44C9F45BF@earthednet.org> Richard: This sounds very attractive. I hadn?t thought of just opening the app directly from the server and running it in memory. Thanks for the encouragement. I think it?s a good idea. Best, Bill > On Feb 8, 2015, at 3:21 PM, Richard Gaskin wrote: > > William Prothero wrote: > > > Richard: > > Whoops, I see you said the downloads were erased at the end of each > > session. > > Where do you put the executables? On the Mac, in the Applications > > folder there would have to be the admin permissions given. > > The Documents folder? The Application Support folder inside the > > user?s Library folder? Or?. > > Just as a browser is needed to download HTML, there needs to be some app on the client machine to download the stacks. It can be in the Applications folder, or wherever else the user wants. > > This app can be very slender script-wise, needing only enough code to download the first stack from the server. In most cases it's very rare that it needs to be updated. Just pick a recent LiveCode version that does what you need, and you may go years without having to update that client app. > > So for the stacks that get downloaded, you may never need to save them locally at all. That's up to you. If they're particularly large you might set their filename to a path in App Support and issue a save command, but if they're small enough to transfer quickly you can just use them in memory during the session and let them go away when the app quits, knowing you'll get fresh copies from the server next time you launch. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From lan.kc.macmail at gmail.com Sun Feb 8 19:23:20 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Mon, 9 Feb 2015 08:23:20 +0800 Subject: Question re project organization In-Reply-To: <4713D0F8-F046-4195-A2BF-1C13209618A5@earthednet.org> References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> <419F6FB1-6194-4B54-8562-B6403E812C1C@earthednet.org> <4713D0F8-F046-4195-A2BF-1C13209618A5@earthednet.org> Message-ID: On Sat, Feb 7, 2015 at 11:16 PM, Earthednet-wp wrote: > Videos are important and I'm thinking more of streaming them, probably > from YouTube, rather than downloading them. Of course, there's the Flash > problem on iOS. > > youTube has announced that it's default will no longer be Flash but HTML5: http://news.slashdot.org/story/15/01/27/2217258/youtube -ditches-flash-for-html5-video-by-default They're your videos so if you plan for HTML5 then you'll have 3 bases covered; desktop, mobile and browser when LC HTML5 comes to town. From cszasz at me.com Sun Feb 8 20:14:45 2015 From: cszasz at me.com (Charles Szasz) Date: Sun, 08 Feb 2015 18:14:45 -0700 Subject: Rev 5.5.5 question Message-ID: Are Apps created for Windows using Rev 5.5.5 32 bit or 64 bit? If apps are 32 bit, what does the user do if he is running a 64 bit Windows operating system? And, what stable version of LiveCode do I need to use to create a 64 bit app? Charles Szasz cszasz at mac.com From lan.kc.macmail at gmail.com Sun Feb 8 20:17:27 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Mon, 9 Feb 2015 09:17:27 +0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <54D7DC5A.8090406@fourthworld.com> References: <54D7DC5A.8090406@fourthworld.com> Message-ID: On Mon, Feb 9, 2015 at 5:59 AM, Richard Gaskin wrote: > With LiveCode we can do the same by merely extending the "anchor window" > (or "splash stack") setup to open stacks from URLs rather than local files: > > go url "http://yourdomain/stacks/stackfile.livecode" > > And if you MUST cater for a school full of iPads (the school my wife works at is ALL Apple) how does that work? If you wanted to live the LC dream of code once and deploy Linux, Win, OS X and iOS what approach would you take? Now it's naive to think that you can really code once, there will always be some platform dependant code, but if you wanted to keep this at a minimum, so that your MVC for each platform was as close to identical as possible, how would you go about that? The statisticians may say 8%, or what about the 85%, but all those figures are irrelevant if the first question you are asked walking through the door is 'can you write an iOS app' and the first requirement you are given is 'it MUST work on iPad'. What would your approach be if your primary goal was to build an iOS app and as an after thought you decide it would be sensible to make it cross platform but with as little additional code as possible? From prothero at earthednet.org Sun Feb 8 22:21:57 2015 From: prothero at earthednet.org (William Prothero) Date: Sun, 8 Feb 2015 19:21:57 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: References: <54D7DC5A.8090406@fourthworld.com> Message-ID: <7DBA4BA3-F77F-4C30-8803-CA5691862E4E@earthednet.org> Richard and Kay: Thanks for the stimulating thoughts. Each of your arguments are very persuasive. And it seems that the most important thing is where you decide to start. If you focus is on mobile, Kay?s approach is the most sensible. I like Richard?s for desktop, but would expect to have to modify it to get it on iOS. Re-iterating the two approaches: 1. Make iOs apps and create enhancements, like say ?myApp basic?, ?myApp Plus?, ?myApp Pro?, etc. This means you would probably have a bunch of apps in the store with a common code part and a specialized part. 2. Make desktop app with Splash system, like Richard uses. Later, going to iOS would mean combining bits of the various pieces that get downloaded by the Splash app into a single app for iOS, and eliminating features unacceptable to Apple. One factor is that going the iOS/App store route, you don?t know anything about your customers. I?m interested in educational apps that might be used in colleges, high schools, maybe even middle schools. I would really like to know my users. Of course, I could have a Facebook page where folks might log in and express their ideas, but? hmmm?.. But, it sounds to me like taking a bunch of pieces from a system like Richard describes and combining them into an iOS app might be a reasonable way to start. I would have to carefully structure it so features that wouldn?t be acceptable to Apple could be broken out easily. Just thinking. One of the pieces I plan on involves online writing and peer review. This part might not be so attractive on an iPad and certainly not on an iPhone. Bill > On Feb 8, 2015, at 5:17 PM, Kay C Lan wrote: > > On Mon, Feb 9, 2015 at 5:59 AM, Richard Gaskin > wrote: > >> With LiveCode we can do the same by merely extending the "anchor window" >> (or "splash stack") setup to open stacks from URLs rather than local files: >> >> go url "http://yourdomain/stacks/stackfile.livecode" >> >> And if you MUST cater for a school full of iPads (the school my wife > works at is ALL Apple) how does that work? If you wanted to live the LC > dream of code once and deploy Linux, Win, OS X and iOS what approach would > you take? Now it's naive to think that you can really code once, there will > always be some platform dependant code, but if you wanted to keep this at a > minimum, so that your MVC for each platform was as close to identical as > possible, how would you go about that? > > The statisticians may say 8%, or what about the 85%, but all those figures > are irrelevant if the first question you are asked walking through the door > is 'can you write an iOS app' and the first requirement you are given is > 'it MUST work on iPad'. What would your approach be if your primary goal > was to build an iOS app and as an after thought you decide it would be > sensible to make it cross platform but with as little additional code as > possible? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Sun Feb 8 22:24:31 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 08 Feb 2015 21:24:31 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> Message-ID: <54D8286F.10409@hyperactivesw.com> On 2/8/2015 5:18 PM, Mike Bonner wrote: > The sort function method > not passing text back and forth Odd. I started out that way, returning only the numerical reference. The sort wasn't stable and the list got jumbled. When I added the text parameter in, it worked. I've just reverted my function to omit the text again, and now it does work. Either I did something I don't remember, or there's gremlins. Anyway, having the two of you go at it has been interesting, I was hoping this would spark a coding challenge. The business with byte counting was unexpected. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From prothero at earthednet.org Mon Feb 9 01:29:41 2015 From: prothero at earthednet.org (William Prothero) Date: Sun, 8 Feb 2015 22:29:41 -0800 Subject: Question re project organization In-Reply-To: References: <2AE188E9-E08B-41B9-8649-F4F2B3E89775@earthednet.org> <1043A979-8F57-48C6-B75A-61020DFCBC5E@earthednet.org> <419F6FB1-6194-4B54-8562-B6403E812C1C@earthednet.org> <4713D0F8-F046-4195-A2BF-1C13209618A5@earthednet.org> Message-ID: <1CC11B45-92CF-487A-A349-94DFBEED6F3B@earthednet.org> Great news! Thanks for the heads up, Kay. Bill > On Feb 8, 2015, at 4:23 PM, Kay C Lan wrote: > > On Sat, Feb 7, 2015 at 11:16 PM, Earthednet-wp > wrote: > >> Videos are important and I'm thinking more of streaming them, probably >> from YouTube, rather than downloading them. Of course, there's the Flash >> problem on iOS. >> >> youTube has announced that it's default will no longer be Flash but HTML5: > > http://news.slashdot.org/story/15/01/27/2217258/youtube > -ditches-flash-for-html5-video-by-default > > They're your videos so if you plan for HTML5 then you'll have 3 bases > covered; desktop, mobile and browser when LC HTML5 comes to town. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From lan.kc.macmail at gmail.com Mon Feb 9 04:46:49 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Mon, 9 Feb 2015 17:46:49 +0800 Subject: Reverse a list In-Reply-To: <54D7F336.60905@tweedly.net> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: On Mon, Feb 9, 2015 at 7:37 AM, Alex Tweedly wrote: > Wow. I can see why LC7 would be expected to be slower for this case - in > the multi-byte Unicode world, > It just doesn't appear to be characters and bytes. I tried a slightly different approach to Jacques, using brute force and lines, and get a slightly faster response in 6.6.5 than Jacque, but considerably slower in 7.0.2 rc2. - see krevers(ta) It should also be pointed out that all the results are WRONG! They all leave a trailing CR which is easy enough to handle, BUT, if your field had the last line "This is the last line" and the insertion point was at the end of the line, then I would expect the first line of the reverse sort to be "This is the last line" and that's what all the functions produce. But if your last line was "This is the last line" and there was a CR and the insertion point was sitting on the line below I would expect a reverse sort to produce a blank line and the 2nd line would read "this is the last line". I know this is an in built feature of LC and what it defines as a line, and in most circumstances this is very convenient, but depending on what you're trying to achieve the current solutions may not give the exact output you require. 6.6.5 There are 1880 lines in tstart There are now 9400 lines in tstart revers(ta) took 350 ms qrevers(ta) took 5 ms Output OK krevers(ta) took 328 ms Output OK 7.0.2 rc2 There are 1880 lines in tstart There are now 9396 lines in tstart revers(ta) took 354 ms qrevers(ta) took 542845 ms Output OK krevers(ta) took 2051 ms Output OK I only had a 1880 line piece of text at hand so I used a repeat loop to get above 8000 lines which seemed the bar people were using to measure. The reason there is 9400 <> 9396 is because the last test I did with 6.6.5 had a cr at the end of the line so the insertion point was on the line below, with 7.0.2 the insertion point was at the end of the line. I've left a hard breakpoint at the end of the code so you can compare the tops and bottoms of ta, tb, tc and tk. Note the extra test to see of the first char of the original matches the last char of the result and the last char of the original matches the first char of the result. In my tests none were correct. (watch for line wraps) on mouseup put fld "fldout" into tstart put "There are " & the number of lines of tStart & " lines in tstart" & cr into msg put tstart into ta repeat 4 times put tstart after ta end repeat put ta into tstart put "There are now " & the number of lines of tStart & " lines in tstart" & cr after msg put the millisecs into t1 put revers(ta) into tb put "revers(ta) took " & the millisecs - t1 & " ms" & CR after msg put tstart into ta put the millisecs into t1 put qrevers(ta) into tc put "qrevers(ta) took " & the millisecs - t1 & " ms " & CR after msg if tb = tc then put "Output OK" & cr after msg if ((char 1 of ta = char -1 of tb) AND (char -1 of ta = char 1 of tb)) then put "revers(ta) is correct" & cr after msg if ((char 1 of ta = char -1 of tc) AND (char -1 of ta = char 1 of tc)) then put "krevers(ta) is correct" & cr after msg put the millisec into t1 put krevers(ta) into tk put "krevers(ta) took " & the millisec - t1 & " ms" & cr after msg --breakpoint if tb = tk then put "Output OK" & cr after msg else put "Fail!" & cr after msg end if if ((char 1 of ta = char -1 of tb) AND (char -1 of ta = char 1 of tb)) then put "revers(ta) is correct" & cr after msg if ((char 1 of ta = char -1 of tk) AND (char -1 of ta = char 1 of tk)) then put "krevers(ta) is correct" & cr after msg breakpoint end mouseup function revers p repeat for each line l in p put L & CR before t end repeat return t end revers function qrevers p put p into t put the number of chars in t into tlen repeat for each line l in p put the number of chars in l into tl put l & cr into char (tLen-tl) to tLen of t subtract (tl+1) from tLen end repeat return t end qrevers function krevers p put "" into t repeat for each line l in p put l & cr & t into t end repeat return t end krevers From dave.cragg at lacscentre.co.uk Mon Feb 9 07:03:16 2015 From: dave.cragg at lacscentre.co.uk (Dave Cragg) Date: Mon, 9 Feb 2015 12:03:16 +0000 Subject: Reverse a list In-Reply-To: <54D7F336.60905@tweedly.net> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: I tried an array method: function arevers p split p by cr put empty into t put the number of lines in the keys of p into tNumElems repeat with i = tNumElems down to 1 put p[i] & cr after t end repeat return t end arevers This is slower than Alex's method in 6.0.2 (21 ms vs 9ms). And while slower in 7.0.1, now much faster that Alex's method. (74 ms vs 446ms) The increase in speed of the "put before" method was interesting (from 242ms to 92ms) Cheers Dave Cragg > On 8 Feb 2015, at 23:37, Alex Tweedly wrote: > > Wow. I can see why LC7 would be expected to be slower for this case - in the multi-byte Unicode world, char indexing isn't as simple as it used to be. BUT in this specific case, you can actually replace all use of "char" by "byte" and still be sure it works (ummm - except if the CR equivalent can be multi-byte - but I'll choose to ignore that :-) However, using position by byte is just as slow !! > > I'll have to play around a bit more to see if I can fathom out why that should be. > > - -Alex. > > On 08/02/2015 23:18, Mike Bonner wrote: >> Version 6.6.2, your "by position" method is by FAR the fastest 26 millisec >> for 80k lines. repeat takes almost 9 seconds. The sort function method >> not passing text back and forth, takes 102 millisec which isn't slouchy by >> any means. >> >> Jump to version 7.0.1 and the by position method needs some major love. >> The repeat method is almost twice as fast in 7, the sort without passing >> the text method is within a few millisec of 6.6.2, and the by position >> method is unusable at 21 seconds. REALLY hope they get some optimization >> going soon. >> >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly wrote: >> >>> Indeed. Jerry was (as usual) correct - if the engine can do it, then the >>> engine will normally be faster. >>> >>> BUT sorting a list requires moving the data around quite a lot, AND >>> sorting something that actually reverses it can be a pathologically bad >>> case (e.g. if the engine uses any variant of quicksort()).. >>> >>> SO - take the original idea, and examine how it *might* be improved ..... >>> >>> The problem here is that "put ... before ..." requires all existing data >>> in the destination container to be moved (i.e. copied) to make space. >>> >>> SO, instead, we can use "put ... into char x to y of ..." - since it uses >>> char indexing, it takes constant time (i.e. no scan, just directly replace >>> the chars. I've attached my complete code so anyone can try it easily - >>> for my test data of approx 8000 lines, this takes 8 msecs, versus 588 for >>> the original version. >>> >>> -- Alex. >>> >>> on mouseup >>> put fld "fldout" into tstart >>> >>> put tstart into ta >>> repeat 200 times >>> put tstart after ta >>> end repeat >>> put ta into tstart >>> >>> put the millisecs into t1 >>> put revers(ta) into tb >>> put the millisecs - t1 & CR after msg >>> >>> put tstart into ta >>> put the millisecs into t1 >>> put qrevers(ta) into tc >>> put the millisecs - t1 & CR after msg >>> >>> if tb = tc then put "OK" after msg >>> end mouseup >>> >>> function revers p >>> repeat for each line l in p >>> put L &CR before t >>> end repeat >>> return t >>> end revers >>> >>> function qrevers p >>> put p into t >>> put the number of chars in t into tlen >>> repeat for each line l in p >>> put the number of chars in l into tl >>> put l & cr into char (tLen-tl) to tLen of t >>> subtract (tl+1) from tLen >>> end repeat >>> return t >>> end qrevers >>> >>> >>> On 08/02/2015 21:52, J. Landman Gay wrote: >>> >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up with a >>>> neat way to reverse a list without using the traditional clunky method: >>>> >>>> function reverseSort pList >>>> repeat for each line l in pList >>>> put l & cr before tList >>>> end repeat >>>> return tList >>>> end reverseSort >>>> >>>> One of the best things I learned from a past LC converence came from >>>> Jerry Daniels who said "let the engine do it." It's almost always faster >>>> and more efficient. With that in mind I wrote this: >>>> >>>> local sNum >>>> >>>> function reverseText pList >>>> put the number of lines in pList into sNum >>>> sort lines of pList numeric by reverseSort(each) >>>> return pList >>>> end reverseText >>>> >>>> function reverseSort pTxt >>>> subtract 1 from sNum >>>> return sNum && pTxt >>>> end reverseSort >>>> >>>> Works great and I was proud. Then I did some timing tests and found out >>>> the two methods are very close to equivalent in timing, and on long lists, >>>> the first way is actually faster. >>>> >>>> So much for improving on LC's text chunking speed. Pah. >>>> >>>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Mon Feb 9 09:12:09 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 9 Feb 2015 09:12:09 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: What about using an index, instead of the actual data? With the times quoted in 7, I wonder if using an SQLite or mySQL db would be faster. On Mon, Feb 9, 2015 at 7:03 AM, Dave Cragg wrote: > I tried an array method: > > > function arevers p > split p by cr > put empty into t > put the number of lines in the keys of p into tNumElems > repeat with i = tNumElems down to 1 > put p[i] & cr after t > end repeat > return t > end arevers > > This is slower than Alex's method in 6.0.2 (21 ms vs 9ms). And while > slower in 7.0.1, now much faster that Alex's method. (74 ms vs 446ms) > > The increase in speed of the "put before" method was interesting (from > 242ms to 92ms) > > > Cheers > Dave Cragg > > > > On 8 Feb 2015, at 23:37, Alex Tweedly wrote: > > > > Wow. I can see why LC7 would be expected to be slower for this case - in > the multi-byte Unicode world, char indexing isn't as simple as it used to > be. BUT in this specific case, you can actually replace all use of "char" > by "byte" and still be sure it works (ummm - except if the CR equivalent > can be multi-byte - but I'll choose to ignore that :-) However, using > position by byte is just as slow !! > > > > I'll have to play around a bit more to see if I can fathom out why that > should be. > > > > - -Alex. > > > > On 08/02/2015 23:18, Mike Bonner wrote: > >> Version 6.6.2, your "by position" method is by FAR the fastest 26 > millisec > >> for 80k lines. repeat takes almost 9 seconds. The sort function method > >> not passing text back and forth, takes 102 millisec which isn't > slouchy by > >> any means. > >> > >> Jump to version 7.0.1 and the by position method needs some major love. > >> The repeat method is almost twice as fast in 7, the sort without passing > >> the text method is within a few millisec of 6.6.2, and the by position > >> method is unusable at 21 seconds. REALLY hope they get some > optimization > >> going soon. > >> > >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly wrote: > >> > >>> Indeed. Jerry was (as usual) correct - if the engine can do it, then > the > >>> engine will normally be faster. > >>> > >>> BUT sorting a list requires moving the data around quite a lot, AND > >>> sorting something that actually reverses it can be a pathologically bad > >>> case (e.g. if the engine uses any variant of quicksort()).. > >>> > >>> SO - take the original idea, and examine how it *might* be improved > ..... > >>> > >>> The problem here is that "put ... before ..." requires all existing > data > >>> in the destination container to be moved (i.e. copied) to make space. > >>> > >>> SO, instead, we can use "put ... into char x to y of ..." - since it > uses > >>> char indexing, it takes constant time (i.e. no scan, just directly > replace > >>> the chars. I've attached my complete code so anyone can try it easily > - > >>> for my test data of approx 8000 lines, this takes 8 msecs, versus 588 > for > >>> the original version. > >>> > >>> -- Alex. > >>> > >>> on mouseup > >>> put fld "fldout" into tstart > >>> > >>> put tstart into ta > >>> repeat 200 times > >>> put tstart after ta > >>> end repeat > >>> put ta into tstart > >>> > >>> put the millisecs into t1 > >>> put revers(ta) into tb > >>> put the millisecs - t1 & CR after msg > >>> > >>> put tstart into ta > >>> put the millisecs into t1 > >>> put qrevers(ta) into tc > >>> put the millisecs - t1 & CR after msg > >>> > >>> if tb = tc then put "OK" after msg > >>> end mouseup > >>> > >>> function revers p > >>> repeat for each line l in p > >>> put L &CR before t > >>> end repeat > >>> return t > >>> end revers > >>> > >>> function qrevers p > >>> put p into t > >>> put the number of chars in t into tlen > >>> repeat for each line l in p > >>> put the number of chars in l into tl > >>> put l & cr into char (tLen-tl) to tLen of t > >>> subtract (tl+1) from tLen > >>> end repeat > >>> return t > >>> end qrevers > >>> > >>> > >>> On 08/02/2015 21:52, J. Landman Gay wrote: > >>> > >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up > with a > >>>> neat way to reverse a list without using the traditional clunky > method: > >>>> > >>>> function reverseSort pList > >>>> repeat for each line l in pList > >>>> put l & cr before tList > >>>> end repeat > >>>> return tList > >>>> end reverseSort > >>>> > >>>> One of the best things I learned from a past LC converence came from > >>>> Jerry Daniels who said "let the engine do it." It's almost always > faster > >>>> and more efficient. With that in mind I wrote this: > >>>> > >>>> local sNum > >>>> > >>>> function reverseText pList > >>>> put the number of lines in pList into sNum > >>>> sort lines of pList numeric by reverseSort(each) > >>>> return pList > >>>> end reverseText > >>>> > >>>> function reverseSort pTxt > >>>> subtract 1 from sNum > >>>> return sNum && pTxt > >>>> end reverseSort > >>>> > >>>> Works great and I was proud. Then I did some timing tests and found > out > >>>> the two methods are very close to equivalent in timing, and on long > lists, > >>>> the first way is actually faster. > >>>> > >>>> So much for improving on LC's text chunking speed. Pah. > >>>> > >>>> > >>> _______________________________________________ > >>> use-livecode mailing list > >>> use-livecode at lists.runrev.com > >>> Please visit this url to subscribe, unsubscribe and manage your > >>> subscription preferences: > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > >>> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bonnmike at gmail.com Mon Feb 9 10:08:49 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Mon, 9 Feb 2015 08:08:49 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: I like the idea Mike K. The slow part with the array method is rebuilding the list. Why not just build the array, grab and reverse numeric sort the keys and use the data directly from the array? For 80k lines, the split takes 24 ms. Putting the keys into a variable, and reverse sorting them takes 2 ms (6.6.2) On 7.0.1 the split takes 56ms, placing the keys and sorting them takes 11ms total 67ms fastest, the nearest being sort with function at 125ms. After that is repeat at over 2 sec and the broken by position at 22+ seconds. Unless the whole list will be spit back out for display purposes, how its stored shouldn't matter right? Anyone up to test sqlite? In memory db should be pretty zippy I'd guess. On Mon, Feb 9, 2015 at 7:12 AM, Mike Kerner wrote: > What about using an index, instead of the actual data? With the times > quoted in 7, I wonder if using an SQLite or mySQL db would be faster. > > On Mon, Feb 9, 2015 at 7:03 AM, Dave Cragg > wrote: > > > I tried an array method: > > > > > > function arevers p > > split p by cr > > put empty into t > > put the number of lines in the keys of p into tNumElems > > repeat with i = tNumElems down to 1 > > put p[i] & cr after t > > end repeat > > return t > > end arevers > > > > This is slower than Alex's method in 6.0.2 (21 ms vs 9ms). And while > > slower in 7.0.1, now much faster that Alex's method. (74 ms vs 446ms) > > > > The increase in speed of the "put before" method was interesting (from > > 242ms to 92ms) > > > > > > Cheers > > Dave Cragg > > > > > > > On 8 Feb 2015, at 23:37, Alex Tweedly wrote: > > > > > > Wow. I can see why LC7 would be expected to be slower for this case - > in > > the multi-byte Unicode world, char indexing isn't as simple as it used to > > be. BUT in this specific case, you can actually replace all use of "char" > > by "byte" and still be sure it works (ummm - except if the CR equivalent > > can be multi-byte - but I'll choose to ignore that :-) However, using > > position by byte is just as slow !! > > > > > > I'll have to play around a bit more to see if I can fathom out why that > > should be. > > > > > > - -Alex. > > > > > > On 08/02/2015 23:18, Mike Bonner wrote: > > >> Version 6.6.2, your "by position" method is by FAR the fastest 26 > > millisec > > >> for 80k lines. repeat takes almost 9 seconds. The sort function > method > > >> not passing text back and forth, takes 102 millisec which isn't > > slouchy by > > >> any means. > > >> > > >> Jump to version 7.0.1 and the by position method needs some major > love. > > >> The repeat method is almost twice as fast in 7, the sort without > passing > > >> the text method is within a few millisec of 6.6.2, and the by position > > >> method is unusable at 21 seconds. REALLY hope they get some > > optimization > > >> going soon. > > >> > > >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly > wrote: > > >> > > >>> Indeed. Jerry was (as usual) correct - if the engine can do it, then > > the > > >>> engine will normally be faster. > > >>> > > >>> BUT sorting a list requires moving the data around quite a lot, AND > > >>> sorting something that actually reverses it can be a pathologically > bad > > >>> case (e.g. if the engine uses any variant of quicksort()).. > > >>> > > >>> SO - take the original idea, and examine how it *might* be improved > > ..... > > >>> > > >>> The problem here is that "put ... before ..." requires all existing > > data > > >>> in the destination container to be moved (i.e. copied) to make space. > > >>> > > >>> SO, instead, we can use "put ... into char x to y of ..." - since it > > uses > > >>> char indexing, it takes constant time (i.e. no scan, just directly > > replace > > >>> the chars. I've attached my complete code so anyone can try it > easily > > - > > >>> for my test data of approx 8000 lines, this takes 8 msecs, versus 588 > > for > > >>> the original version. > > >>> > > >>> -- Alex. > > >>> > > >>> on mouseup > > >>> put fld "fldout" into tstart > > >>> > > >>> put tstart into ta > > >>> repeat 200 times > > >>> put tstart after ta > > >>> end repeat > > >>> put ta into tstart > > >>> > > >>> put the millisecs into t1 > > >>> put revers(ta) into tb > > >>> put the millisecs - t1 & CR after msg > > >>> > > >>> put tstart into ta > > >>> put the millisecs into t1 > > >>> put qrevers(ta) into tc > > >>> put the millisecs - t1 & CR after msg > > >>> > > >>> if tb = tc then put "OK" after msg > > >>> end mouseup > > >>> > > >>> function revers p > > >>> repeat for each line l in p > > >>> put L &CR before t > > >>> end repeat > > >>> return t > > >>> end revers > > >>> > > >>> function qrevers p > > >>> put p into t > > >>> put the number of chars in t into tlen > > >>> repeat for each line l in p > > >>> put the number of chars in l into tl > > >>> put l & cr into char (tLen-tl) to tLen of t > > >>> subtract (tl+1) from tLen > > >>> end repeat > > >>> return t > > >>> end qrevers > > >>> > > >>> > > >>> On 08/02/2015 21:52, J. Landman Gay wrote: > > >>> > > >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up > > with a > > >>>> neat way to reverse a list without using the traditional clunky > > method: > > >>>> > > >>>> function reverseSort pList > > >>>> repeat for each line l in pList > > >>>> put l & cr before tList > > >>>> end repeat > > >>>> return tList > > >>>> end reverseSort > > >>>> > > >>>> One of the best things I learned from a past LC converence came from > > >>>> Jerry Daniels who said "let the engine do it." It's almost always > > faster > > >>>> and more efficient. With that in mind I wrote this: > > >>>> > > >>>> local sNum > > >>>> > > >>>> function reverseText pList > > >>>> put the number of lines in pList into sNum > > >>>> sort lines of pList numeric by reverseSort(each) > > >>>> return pList > > >>>> end reverseText > > >>>> > > >>>> function reverseSort pTxt > > >>>> subtract 1 from sNum > > >>>> return sNum && pTxt > > >>>> end reverseSort > > >>>> > > >>>> Works great and I was proud. Then I did some timing tests and found > > out > > >>>> the two methods are very close to equivalent in timing, and on long > > lists, > > >>>> the first way is actually faster. > > >>>> > > >>>> So much for improving on LC's text chunking speed. Pah. > > >>>> > > >>>> > > >>> _______________________________________________ > > >>> use-livecode mailing list > > >>> use-livecode at lists.runrev.com > > >>> Please visit this url to subscribe, unsubscribe and manage your > > >>> subscription preferences: > > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > > >>> > > >> _______________________________________________ > > >> use-livecode mailing list > > >> use-livecode at lists.runrev.com > > >> Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From MikeKerner at roadrunner.com Mon Feb 9 10:40:41 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 9 Feb 2015 10:40:41 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: If you use SQLite or mySQL, you'd have to do the same thing with the index, so unless you already have the data structure in place, you'ld have to create the table, populate the table with the values and the indexes, and then order by the index and read the data back, but all of that is done with the db commands in the language. On Mon, Feb 9, 2015 at 10:08 AM, Mike Bonner wrote: > I like the idea Mike K. > The slow part with the array method is rebuilding the list. Why not just > build the array, grab and reverse numeric sort the keys and use the data > directly from the array? For 80k lines, the split takes 24 ms. Putting the > keys into a variable, and reverse sorting them takes 2 ms (6.6.2) On > 7.0.1 the split takes 56ms, placing the keys and sorting them takes 11ms > total 67ms fastest, the nearest being sort with function at 125ms. After > that is repeat at over 2 sec and the broken by position at 22+ seconds. > > Unless the whole list will be spit back out for display purposes, how its > stored shouldn't matter right? > > Anyone up to test sqlite? In memory db should be pretty zippy I'd guess. > > > > On Mon, Feb 9, 2015 at 7:12 AM, Mike Kerner > wrote: > > > What about using an index, instead of the actual data? With the times > > quoted in 7, I wonder if using an SQLite or mySQL db would be faster. > > > > On Mon, Feb 9, 2015 at 7:03 AM, Dave Cragg > > wrote: > > > > > I tried an array method: > > > > > > > > > function arevers p > > > split p by cr > > > put empty into t > > > put the number of lines in the keys of p into tNumElems > > > repeat with i = tNumElems down to 1 > > > put p[i] & cr after t > > > end repeat > > > return t > > > end arevers > > > > > > This is slower than Alex's method in 6.0.2 (21 ms vs 9ms). And while > > > slower in 7.0.1, now much faster that Alex's method. (74 ms vs 446ms) > > > > > > The increase in speed of the "put before" method was interesting (from > > > 242ms to 92ms) > > > > > > > > > Cheers > > > Dave Cragg > > > > > > > > > > On 8 Feb 2015, at 23:37, Alex Tweedly wrote: > > > > > > > > Wow. I can see why LC7 would be expected to be slower for this case - > > in > > > the multi-byte Unicode world, char indexing isn't as simple as it used > to > > > be. BUT in this specific case, you can actually replace all use of > "char" > > > by "byte" and still be sure it works (ummm - except if the CR > equivalent > > > can be multi-byte - but I'll choose to ignore that :-) However, using > > > position by byte is just as slow !! > > > > > > > > I'll have to play around a bit more to see if I can fathom out why > that > > > should be. > > > > > > > > - -Alex. > > > > > > > > On 08/02/2015 23:18, Mike Bonner wrote: > > > >> Version 6.6.2, your "by position" method is by FAR the fastest 26 > > > millisec > > > >> for 80k lines. repeat takes almost 9 seconds. The sort function > > method > > > >> not passing text back and forth, takes 102 millisec which isn't > > > slouchy by > > > >> any means. > > > >> > > > >> Jump to version 7.0.1 and the by position method needs some major > > love. > > > >> The repeat method is almost twice as fast in 7, the sort without > > passing > > > >> the text method is within a few millisec of 6.6.2, and the by > position > > > >> method is unusable at 21 seconds. REALLY hope they get some > > > optimization > > > >> going soon. > > > >> > > > >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly > > wrote: > > > >> > > > >>> Indeed. Jerry was (as usual) correct - if the engine can do it, > then > > > the > > > >>> engine will normally be faster. > > > >>> > > > >>> BUT sorting a list requires moving the data around quite a lot, AND > > > >>> sorting something that actually reverses it can be a pathologically > > bad > > > >>> case (e.g. if the engine uses any variant of quicksort()).. > > > >>> > > > >>> SO - take the original idea, and examine how it *might* be improved > > > ..... > > > >>> > > > >>> The problem here is that "put ... before ..." requires all existing > > > data > > > >>> in the destination container to be moved (i.e. copied) to make > space. > > > >>> > > > >>> SO, instead, we can use "put ... into char x to y of ..." - since > it > > > uses > > > >>> char indexing, it takes constant time (i.e. no scan, just directly > > > replace > > > >>> the chars. I've attached my complete code so anyone can try it > > easily > > > - > > > >>> for my test data of approx 8000 lines, this takes 8 msecs, versus > 588 > > > for > > > >>> the original version. > > > >>> > > > >>> -- Alex. > > > >>> > > > >>> on mouseup > > > >>> put fld "fldout" into tstart > > > >>> > > > >>> put tstart into ta > > > >>> repeat 200 times > > > >>> put tstart after ta > > > >>> end repeat > > > >>> put ta into tstart > > > >>> > > > >>> put the millisecs into t1 > > > >>> put revers(ta) into tb > > > >>> put the millisecs - t1 & CR after msg > > > >>> > > > >>> put tstart into ta > > > >>> put the millisecs into t1 > > > >>> put qrevers(ta) into tc > > > >>> put the millisecs - t1 & CR after msg > > > >>> > > > >>> if tb = tc then put "OK" after msg > > > >>> end mouseup > > > >>> > > > >>> function revers p > > > >>> repeat for each line l in p > > > >>> put L &CR before t > > > >>> end repeat > > > >>> return t > > > >>> end revers > > > >>> > > > >>> function qrevers p > > > >>> put p into t > > > >>> put the number of chars in t into tlen > > > >>> repeat for each line l in p > > > >>> put the number of chars in l into tl > > > >>> put l & cr into char (tLen-tl) to tLen of t > > > >>> subtract (tl+1) from tLen > > > >>> end repeat > > > >>> return t > > > >>> end qrevers > > > >>> > > > >>> > > > >>> On 08/02/2015 21:52, J. Landman Gay wrote: > > > >>> > > > >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up > > > with a > > > >>>> neat way to reverse a list without using the traditional clunky > > > method: > > > >>>> > > > >>>> function reverseSort pList > > > >>>> repeat for each line l in pList > > > >>>> put l & cr before tList > > > >>>> end repeat > > > >>>> return tList > > > >>>> end reverseSort > > > >>>> > > > >>>> One of the best things I learned from a past LC converence came > from > > > >>>> Jerry Daniels who said "let the engine do it." It's almost always > > > faster > > > >>>> and more efficient. With that in mind I wrote this: > > > >>>> > > > >>>> local sNum > > > >>>> > > > >>>> function reverseText pList > > > >>>> put the number of lines in pList into sNum > > > >>>> sort lines of pList numeric by reverseSort(each) > > > >>>> return pList > > > >>>> end reverseText > > > >>>> > > > >>>> function reverseSort pTxt > > > >>>> subtract 1 from sNum > > > >>>> return sNum && pTxt > > > >>>> end reverseSort > > > >>>> > > > >>>> Works great and I was proud. Then I did some timing tests and > found > > > out > > > >>>> the two methods are very close to equivalent in timing, and on > long > > > lists, > > > >>>> the first way is actually faster. > > > >>>> > > > >>>> So much for improving on LC's text chunking speed. Pah. > > > >>>> > > > >>>> > > > >>> _______________________________________________ > > > >>> use-livecode mailing list > > > >>> use-livecode at lists.runrev.com > > > >>> Please visit this url to subscribe, unsubscribe and manage your > > > >>> subscription preferences: > > > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > > > >>> > > > >> _______________________________________________ > > > >> use-livecode mailing list > > > >> use-livecode at lists.runrev.com > > > >> Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at lists.runrev.com > > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Mon Feb 9 10:46:22 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 9 Feb 2015 10:46:22 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: and don't get me wrong, it's not ideal to have to kluge this way, just like it's not ideal to have to kluge around the last item in a container being empty. I'm not a fan of either behavior. Both should be dealt with, and this is just another reason why I will be avoiding 7.0 as long as possible. I'm just curious for the sake of asking the question, whether having the db do the sort is faster. I guess that makes me ask another question: I wonder if somehow making unicode optional for those of us who don't deal with two-byte languages would be possible, so we're not stuck with the extra...stuff...that comes with it. On Mon, Feb 9, 2015 at 10:40 AM, Mike Kerner wrote: > If you use SQLite or mySQL, you'd have to do the same thing with the > index, so unless you already have the data structure in place, you'ld have > to create the table, populate the table with the values and the indexes, > and then order by the index and read the data back, but all of that is done > with the db commands in the language. > > On Mon, Feb 9, 2015 at 10:08 AM, Mike Bonner wrote: > >> I like the idea Mike K. >> The slow part with the array method is rebuilding the list. Why not just >> build the array, grab and reverse numeric sort the keys and use the data >> directly from the array? For 80k lines, the split takes 24 ms. Putting >> the >> keys into a variable, and reverse sorting them takes 2 ms (6.6.2) On >> 7.0.1 the split takes 56ms, placing the keys and sorting them takes 11ms >> total 67ms fastest, the nearest being sort with function at 125ms. After >> that is repeat at over 2 sec and the broken by position at 22+ seconds. >> >> Unless the whole list will be spit back out for display purposes, how its >> stored shouldn't matter right? >> >> Anyone up to test sqlite? In memory db should be pretty zippy I'd guess. >> >> >> >> On Mon, Feb 9, 2015 at 7:12 AM, Mike Kerner >> wrote: >> >> > What about using an index, instead of the actual data? With the times >> > quoted in 7, I wonder if using an SQLite or mySQL db would be faster. >> > >> > On Mon, Feb 9, 2015 at 7:03 AM, Dave Cragg > > >> > wrote: >> > >> > > I tried an array method: >> > > >> > > >> > > function arevers p >> > > split p by cr >> > > put empty into t >> > > put the number of lines in the keys of p into tNumElems >> > > repeat with i = tNumElems down to 1 >> > > put p[i] & cr after t >> > > end repeat >> > > return t >> > > end arevers >> > > >> > > This is slower than Alex's method in 6.0.2 (21 ms vs 9ms). And while >> > > slower in 7.0.1, now much faster that Alex's method. (74 ms vs 446ms) >> > > >> > > The increase in speed of the "put before" method was interesting (from >> > > 242ms to 92ms) >> > > >> > > >> > > Cheers >> > > Dave Cragg >> > > >> > > >> > > > On 8 Feb 2015, at 23:37, Alex Tweedly wrote: >> > > > >> > > > Wow. I can see why LC7 would be expected to be slower for this case >> - >> > in >> > > the multi-byte Unicode world, char indexing isn't as simple as it >> used to >> > > be. BUT in this specific case, you can actually replace all use of >> "char" >> > > by "byte" and still be sure it works (ummm - except if the CR >> equivalent >> > > can be multi-byte - but I'll choose to ignore that :-) However, >> using >> > > position by byte is just as slow !! >> > > > >> > > > I'll have to play around a bit more to see if I can fathom out why >> that >> > > should be. >> > > > >> > > > - -Alex. >> > > > >> > > > On 08/02/2015 23:18, Mike Bonner wrote: >> > > >> Version 6.6.2, your "by position" method is by FAR the fastest 26 >> > > millisec >> > > >> for 80k lines. repeat takes almost 9 seconds. The sort function >> > method >> > > >> not passing text back and forth, takes 102 millisec which isn't >> > > slouchy by >> > > >> any means. >> > > >> >> > > >> Jump to version 7.0.1 and the by position method needs some major >> > love. >> > > >> The repeat method is almost twice as fast in 7, the sort without >> > passing >> > > >> the text method is within a few millisec of 6.6.2, and the by >> position >> > > >> method is unusable at 21 seconds. REALLY hope they get some >> > > optimization >> > > >> going soon. >> > > >> >> > > >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly >> > wrote: >> > > >> >> > > >>> Indeed. Jerry was (as usual) correct - if the engine can do it, >> then >> > > the >> > > >>> engine will normally be faster. >> > > >>> >> > > >>> BUT sorting a list requires moving the data around quite a lot, >> AND >> > > >>> sorting something that actually reverses it can be a >> pathologically >> > bad >> > > >>> case (e.g. if the engine uses any variant of quicksort()).. >> > > >>> >> > > >>> SO - take the original idea, and examine how it *might* be >> improved >> > > ..... >> > > >>> >> > > >>> The problem here is that "put ... before ..." requires all >> existing >> > > data >> > > >>> in the destination container to be moved (i.e. copied) to make >> space. >> > > >>> >> > > >>> SO, instead, we can use "put ... into char x to y of ..." - since >> it >> > > uses >> > > >>> char indexing, it takes constant time (i.e. no scan, just directly >> > > replace >> > > >>> the chars. I've attached my complete code so anyone can try it >> > easily >> > > - >> > > >>> for my test data of approx 8000 lines, this takes 8 msecs, versus >> 588 >> > > for >> > > >>> the original version. >> > > >>> >> > > >>> -- Alex. >> > > >>> >> > > >>> on mouseup >> > > >>> put fld "fldout" into tstart >> > > >>> >> > > >>> put tstart into ta >> > > >>> repeat 200 times >> > > >>> put tstart after ta >> > > >>> end repeat >> > > >>> put ta into tstart >> > > >>> >> > > >>> put the millisecs into t1 >> > > >>> put revers(ta) into tb >> > > >>> put the millisecs - t1 & CR after msg >> > > >>> >> > > >>> put tstart into ta >> > > >>> put the millisecs into t1 >> > > >>> put qrevers(ta) into tc >> > > >>> put the millisecs - t1 & CR after msg >> > > >>> >> > > >>> if tb = tc then put "OK" after msg >> > > >>> end mouseup >> > > >>> >> > > >>> function revers p >> > > >>> repeat for each line l in p >> > > >>> put L &CR before t >> > > >>> end repeat >> > > >>> return t >> > > >>> end revers >> > > >>> >> > > >>> function qrevers p >> > > >>> put p into t >> > > >>> put the number of chars in t into tlen >> > > >>> repeat for each line l in p >> > > >>> put the number of chars in l into tl >> > > >>> put l & cr into char (tLen-tl) to tLen of t >> > > >>> subtract (tl+1) from tLen >> > > >>> end repeat >> > > >>> return t >> > > >>> end qrevers >> > > >>> >> > > >>> >> > > >>> On 08/02/2015 21:52, J. Landman Gay wrote: >> > > >>> >> > > >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up >> > > with a >> > > >>>> neat way to reverse a list without using the traditional clunky >> > > method: >> > > >>>> >> > > >>>> function reverseSort pList >> > > >>>> repeat for each line l in pList >> > > >>>> put l & cr before tList >> > > >>>> end repeat >> > > >>>> return tList >> > > >>>> end reverseSort >> > > >>>> >> > > >>>> One of the best things I learned from a past LC converence came >> from >> > > >>>> Jerry Daniels who said "let the engine do it." It's almost always >> > > faster >> > > >>>> and more efficient. With that in mind I wrote this: >> > > >>>> >> > > >>>> local sNum >> > > >>>> >> > > >>>> function reverseText pList >> > > >>>> put the number of lines in pList into sNum >> > > >>>> sort lines of pList numeric by reverseSort(each) >> > > >>>> return pList >> > > >>>> end reverseText >> > > >>>> >> > > >>>> function reverseSort pTxt >> > > >>>> subtract 1 from sNum >> > > >>>> return sNum && pTxt >> > > >>>> end reverseSort >> > > >>>> >> > > >>>> Works great and I was proud. Then I did some timing tests and >> found >> > > out >> > > >>>> the two methods are very close to equivalent in timing, and on >> long >> > > lists, >> > > >>>> the first way is actually faster. >> > > >>>> >> > > >>>> So much for improving on LC's text chunking speed. Pah. >> > > >>>> >> > > >>>> >> > > >>> _______________________________________________ >> > > >>> use-livecode mailing list >> > > >>> use-livecode at lists.runrev.com >> > > >>> Please visit this url to subscribe, unsubscribe and manage your >> > > >>> subscription preferences: >> > > >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > >>> >> > > >> _______________________________________________ >> > > >> use-livecode mailing list >> > > >> use-livecode at lists.runrev.com >> > > >> Please visit this url to subscribe, unsubscribe and manage your >> > > subscription preferences: >> > > >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > >> > > > >> > > > _______________________________________________ >> > > > use-livecode mailing list >> > > > use-livecode at lists.runrev.com >> > > > Please visit this url to subscribe, unsubscribe and manage your >> > > subscription preferences: >> > > > http://lists.runrev.com/mailman/listinfo/use-livecode >> > > >> > > >> > > _______________________________________________ >> > > use-livecode mailing list >> > > use-livecode at lists.runrev.com >> > > Please visit this url to subscribe, unsubscribe and manage your >> > > subscription preferences: >> > > http://lists.runrev.com/mailman/listinfo/use-livecode >> > > >> > >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode at lists.runrev.com >> > Please visit this url to subscribe, unsubscribe and manage your >> > subscription preferences: >> > http://lists.runrev.com/mailman/listinfo/use-livecode >> > >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From bobsneidar at iotecdigital.com Mon Feb 9 10:47:41 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 9 Feb 2015 15:47:41 +0000 Subject: How to detect that user closed window In-Reply-To: <54D56D11.4070506@fourthworld.com> References: <54D56D11.4070506@fourthworld.com> Message-ID: Okay that clears it up. I will need that info in a bit. I will need to use the filename of the mainStack in substack scripts. Bob S On Feb 6, 2015, at 17:40 , Richard Gaskin > wrote: Bob Sneidar wrote: > filename does not seem to be a property of a stack. The filename is a property of mainstacks. For substacks use "the effective filename". For stacks that have been newly created, or downloaded over the Web, the filename will be empty. -- Richard Gaskin From bobsneidar at iotecdigital.com Mon Feb 9 11:01:44 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 9 Feb 2015 16:01:44 +0000 Subject: Reverse a list In-Reply-To: <54D7DA9A.6010801@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: <8AD562B1-E317-4903-A07F-E74F3BC4C872@iotecdigital.com> Yes, but the second way is so much more sophisticated. Bob S On Feb 8, 2015, at 13:52 , J. Landman Gay > wrote: Just tinkering around on a lazy Sunday, and I thought I'd come up with a neat way to reverse a list without using the traditional clunky method: function reverseSort pList repeat for each line l in pList put l & cr before tList end repeat return tList end reverseSort One of the best things I learned from a past LC converence came from Jerry Daniels who said "let the engine do it." It's almost always faster and more efficient. With that in mind I wrote this: local sNum function reverseText pList put the number of lines in pList into sNum sort lines of pList numeric by reverseSort(each) return pList end reverseText function reverseSort pTxt subtract 1 from sNum return sNum && pTxt end reverseSort Works great and I was proud. Then I did some timing tests and found out the two methods are very close to equivalent in timing, and on long lists, the first way is actually faster. So much for improving on LC's text chunking speed. Pah. -- Jacqueline Landman Gay | jacque at hyperactivesw.com From bobsneidar at iotecdigital.com Mon Feb 9 11:06:30 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 9 Feb 2015 16:06:30 +0000 Subject: Reverse a list In-Reply-To: <54D7E51F.9010408@tweedly.net> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> Message-ID: <9628B722-3BA4-4F7D-A20C-2AF02A284359@iotecdigital.com> Then there is the method of storing the data in a memory based sqLite instance and using SELECT with the ORDER BY DESC ordering term. Might not be faster, but it should be a lot more flexible. Bob S On Feb 8, 2015, at 14:37 , Alex Tweedly > wrote: Indeed. Jerry was (as usual) correct - if the engine can do it, then the engine will normally be faster. BUT sorting a list requires moving the data around quite a lot, AND sorting something that actually reverses it can be a pathologically bad case (e.g. if the engine uses any variant of quicksort()).. From ali at runrev.com Mon Feb 9 12:16:25 2015 From: ali at runrev.com (Ali Lloyd) Date: Mon, 9 Feb 2015 17:16:25 +0000 Subject: Reverse a list In-Reply-To: <9628B722-3BA4-4F7D-A20C-2AF02A284359@iotecdigital.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <9628B722-3BA4-4F7D-A20C-2AF02A284359@iotecdigital.com> Message-ID: Hi all. Thanks very much for this thread, it has uncovered a quite inefficient code path in chunk resolution that we will be able to sort out. Indeed, I believe that http://quality.runrev.com/show_bug.cgi?id=14504 was already potentially causing a problem for the 'char' chunk. In theory the engine should detect the use of a native string and process it as such, thereby circumventing any of the the unicode specific code paths. In 7.0 it is worth testing with the codeunit chunk instead if you know you have a native string - if the codeunit version is faster then something related to bug 14504 is probably causing the problem. Ali On 9 February 2015 at 16:06, Bob Sneidar wrote: > Then there is the method of storing the data in a memory based sqLite > instance and using SELECT with the ORDER BY DESC ordering term. Might not > be faster, but it should be a lot more flexible. > > Bob S > > > On Feb 8, 2015, at 14:37 , Alex Tweedly alex at tweedly.net>> wrote: > > Indeed. Jerry was (as usual) correct - if the engine can do it, then the > engine will normally be faster. > > BUT sorting a list requires moving the data around quite a lot, AND > sorting something that actually reverses it can be a pathologically bad > case (e.g. if the engine uses any variant of quicksort()).. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Mon Feb 9 13:30:33 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 09 Feb 2015 12:30:33 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: <54D8FCC9.8020200@hyperactivesw.com> On 2/9/2015 3:46 AM, Kay C Lan wrote: > But > if your last line was "This is the last line" and there was a CR and the > insertion point was sitting on the line below I would expect a reverse sort > to produce a blank line and the 2nd line would read "this is the last line". No. Delimiters are terminators, not dividers. They belong to the text that precedes them. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From dave at applicationinsight.com Mon Feb 9 13:26:08 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Mon, 9 Feb 2015 10:26:08 -0800 (PST) Subject: Rev 5.5.5 question In-Reply-To: References: Message-ID: <1423506368933-4688644.post@n4.nabble.com> Hi Charles, Rev 5.5.5 will build 32 bit software (indeed Rev is itself 32 bit) which should work fine on 64 bit systems - have a look in the "Program Files (x86)" folder in your Windows 64 bit PC where you will find all the 32 bit software running on your system. When I say "work fine", 32 bit apps are second-class citizens (as you've seen they get their own 'ghetto' version of 'Program Files' and their ability to access memory - and there might be some issues if you try to open the 64 bit version of Internet Explorer or an MS Access database (jet engine compatability if you're not careful) - but in general things should be fine... Dave ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Rev-5-5-5-question-tp4688628p4688644.html Sent from the Revolution - User mailing list archive at Nabble.com. From bonnmike at gmail.com Mon Feb 9 13:58:47 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Mon, 9 Feb 2015 11:58:47 -0700 Subject: Reverse a list In-Reply-To: <54D8FCC9.8020200@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54D8FCC9.8020200@hyperactivesw.com> Message-ID: No. Delimiters are terminators, not dividers. They belong to the text that precedes them. Ah k, so there is an implied terminator on the last item? "1,2,3,4," is 4 items (comma terminator as you said, acts as a terminator to the preceeding) "1,2,3,4,5" is 5, so the trailing coma is implied. At least thinking of it this way helps me get past mental issuse caused by a line that isn't a line. (I guess ending with a cr doesn't make the next (empty) line exist, it just creates the potential for a new line) On Mon, Feb 9, 2015 at 11:30 AM, J. Landman Gay wrote: > On 2/9/2015 3:46 AM, Kay C Lan wrote: > >> But >> if your last line was "This is the last line" and there was a CR and the >> insertion point was sitting on the line below I would expect a reverse >> sort >> to produce a blank line and the 2nd line would read "this is the last >> line". >> > > > No. Delimiters are terminators, not dividers. They belong to the text that > precedes them. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Mon Feb 9 14:10:56 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 9 Feb 2015 13:10:56 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: A quick check and this works: local sCount function getCount subtract 1 from sCount return sCount end getCount on mouseUp sort lines of fld 1 numeric by getCount() end mouseUp You don't need to have sCount start at the number of lines of the text to be sorted. It can start at 0 and go down from there, so you save the time of parsing the list to get the number of lines. Further, you don't need to initialize sCount ever, unless you plan to sort many billions of lines. On Sun, Feb 8, 2015 at 4:09 PM, Mike Bonner wrote: > Just curious.. How does this compare? > > local scount > on mouseUp > put the number of lines in field 1 + 1 into scount > sort lines of field 1 by getCount() > end mouseUp > > function getCount > subtract 1 from sCount > return sCount > end getCount > > On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay > wrote: > > > Just tinkering around on a lazy Sunday, and I thought I'd come up with a > > neat way to reverse a list without using the traditional clunky method: > > > > function reverseSort pList > > repeat for each line l in pList > > put l & cr before tList > > end repeat > > return tList > > end reverseSort > > > > One of the best things I learned from a past LC converence came from > Jerry > > Daniels who said "let the engine do it." It's almost always faster and > more > > efficient. With that in mind I wrote this: > > > > local sNum > > > > function reverseText pList > > put the number of lines in pList into sNum > > sort lines of pList numeric by reverseSort(each) > > return pList > > end reverseText > > > > function reverseSort pTxt > > subtract 1 from sNum > > return sNum && pTxt > > end reverseSort > > > > Works great and I was proud. Then I did some timing tests and found out > > the two methods are very close to equivalent in timing, and on long > lists, > > the first way is actually faster. > > > > So much for improving on LC's text chunking speed. Pah. > > > > -- > > Jacqueline Landman Gay | jacque at hyperactivesw.com > > HyperActive Software | http://www.hyperactivesw.com > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From dunbarx at aol.com Mon Feb 9 14:14:34 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 9 Feb 2015 14:14:34 -0500 Subject: Reverse a list In-Reply-To: <54D8FCC9.8020200@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54D8FCC9.8020200@hyperactivesw.com> Message-ID: <8D212B3C60C897C-1FF8-3A871@webmail-va001.sysops.aol.com> Jacque. "No. Delimiters are terminators, not dividers. They belong to the text that precedes them." Hmmm, what an interesting comment. Maybe we should discuss this... Craig -----Original Message----- From: J. Landman Gay To: How to use LiveCode Sent: Mon, Feb 9, 2015 1:31 pm Subject: Re: Reverse a list On 2/9/2015 3:46 AM, Kay C Lan wrote: > But > if your last line was "This is the last line" and there was a CR and the > insertion point was sitting on the line below I would expect a reverse sort > to produce a blank line and the 2nd line would read "this is the last line". No. Delimiters are terminators, not dividers. They belong to the text that precedes them. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bonnmike at gmail.com Mon Feb 9 14:16:24 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Mon, 9 Feb 2015 12:16:24 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> Message-ID: Thanks! Yep, had figured out that I didn't need to worry about what sCount was as long as it was lower each time. Not sure why my noggin was so insistent on doing it the other way, but.. /shrug On Mon, Feb 9, 2015 at 12:10 PM, Geoff Canyon wrote: > A quick check and this works: > > local sCount > > function getCount > subtract 1 from sCount > return sCount > end getCount > > on mouseUp > sort lines of fld 1 numeric by getCount() > end mouseUp > > You don't need to have sCount start at the number of lines of the text to > be sorted. It can start at 0 and go down from there, so you save the time > of parsing the list to get the number of lines. > > Further, you don't need to initialize sCount ever, unless you plan to sort > many billions of lines. > > > On Sun, Feb 8, 2015 at 4:09 PM, Mike Bonner wrote: > > > Just curious.. How does this compare? > > > > local scount > > on mouseUp > > put the number of lines in field 1 + 1 into scount > > sort lines of field 1 by getCount() > > end mouseUp > > > > function getCount > > subtract 1 from sCount > > return sCount > > end getCount > > > > On Sun, Feb 8, 2015 at 2:52 PM, J. Landman Gay > > > wrote: > > > > > Just tinkering around on a lazy Sunday, and I thought I'd come up with > a > > > neat way to reverse a list without using the traditional clunky method: > > > > > > function reverseSort pList > > > repeat for each line l in pList > > > put l & cr before tList > > > end repeat > > > return tList > > > end reverseSort > > > > > > One of the best things I learned from a past LC converence came from > > Jerry > > > Daniels who said "let the engine do it." It's almost always faster and > > more > > > efficient. With that in mind I wrote this: > > > > > > local sNum > > > > > > function reverseText pList > > > put the number of lines in pList into sNum > > > sort lines of pList numeric by reverseSort(each) > > > return pList > > > end reverseText > > > > > > function reverseSort pTxt > > > subtract 1 from sNum > > > return sNum && pTxt > > > end reverseSort > > > > > > Works great and I was proud. Then I did some timing tests and found out > > > the two methods are very close to equivalent in timing, and on long > > lists, > > > the first way is actually faster. > > > > > > So much for improving on LC's text chunking speed. Pah. > > > > > > -- > > > Jacqueline Landman Gay | jacque at hyperactivesw.com > > > HyperActive Software | http://www.hyperactivesw.com > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From jacque at hyperactivesw.com Mon Feb 9 14:29:03 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 09 Feb 2015 13:29:03 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54D8FCC9.8020200@hyperactivesw.com> Message-ID: <54D90A7F.7020908@hyperactivesw.com> On 2/9/2015 12:58 PM, Mike Bonner wrote: > "1,2,3,4," is 4 items (comma terminator as you said, acts as a terminator > to the preceeding) "1,2,3,4,5" is 5, so the trailing coma is implied. Yup, that's it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Mon Feb 9 14:38:02 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 9 Feb 2015 19:38:02 +0000 Subject: Reverse a list In-Reply-To: <54D90A7F.7020908@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54D8FCC9.8020200@hyperactivesw.com> <54D90A7F.7020908@hyperactivesw.com> Message-ID: <2B579CCF-92DB-4DBB-A765-5DE8D03A2E06@iotecdigital.com> As discussed in the past, there was probably a good reason to do it this way when HyperTalk was created, and since then it?s been maintained because of backward compatibility reasons. Changing this would likely break a lot of code. However other applications and dev systems would treat the last item or line as an empty one. SQL does (or will break the SQL for certain things). dBase does. Excel does. I am fairly certain that C++ and Java do. It?s one of the fairly numerous quirks of LC coding you get used to after stumbling on them from time to time. Bob S > On Feb 9, 2015, at 11:29 , J. Landman Gay wrote: > > On 2/9/2015 12:58 PM, Mike Bonner wrote: >> "1,2,3,4," is 4 items (comma terminator as you said, acts as a terminator >> to the preceeding) "1,2,3,4,5" is 5, so the trailing coma is implied. > > Yup, that's it. From ambassador at fourthworld.com Mon Feb 9 14:59:05 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 09 Feb 2015 11:59:05 -0800 Subject: Thread #47 on delimiters (was Re: Reverse a list) In-Reply-To: <8D212B3C60C897C-1FF8-3A871@webmail-va001.sysops.aol.com> References: <8D212B3C60C897C-1FF8-3A871@webmail-va001.sysops.aol.com> Message-ID: <54D91189.70503@fourthworld.com> dunbarx wrote: > Jacque. > > "No. Delimiters are terminators, not dividers. They belong to the text > that precedes them." > > Hmmm, what an interesting comment. Maybe we should discuss this... It does seem a frequent enjoyment in our community, but I suspect the outcome of yet another discussion on this will be the same as the many times it's been explored in great and sometimes contentious detail in the past: no change. I have no opinion on this myself other than the selfish desire to not have to rewrite decades of code, so I'm out of this loop and my opinion doesn't really matter all that much anyway. A far more relevant opinion of that of Mr. Waddingham, which he expressed very thoroughly in the forums: If we were to repeat once again all the arguments, counter-arguments, and counter-counter-arguments about how the delimiter behavior should or shouldn't work, I certainly don't mind the popcorn. But if the interest is in any actionable outcome, please keep in mind that we needn't convince anyone here on this list as much as we would need to provide a sufficiently compelling case to Mr. Waddingham. It's possible that he may change his mind, but to make a truly compelling case it may help to read his comments there first. I have my Orville Redenbacher's at the ready just in case.... :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From mwieder at ahsoftware.net Mon Feb 9 15:13:46 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Mon, 9 Feb 2015 20:13:46 +0000 (UTC) Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: Dave- Using 'repeat for each' for the loop makes this faster yet. function arevers p local t local tNumElems split p by cr put empty into t put the number of lines in p into tNumElems repeat for each line l in p put p[tNumElems] & cr after t subtract 1 from tNumElems end repeat return t end arevers -- Mark Wieder ahsoftware at gmail.com From ambassador at fourthworld.com Mon Feb 9 15:28:05 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 09 Feb 2015 12:28:05 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <7DBA4BA3-F77F-4C30-8803-CA5691862E4E@earthednet.org> References: <7DBA4BA3-F77F-4C30-8803-CA5691862E4E@earthednet.org> Message-ID: <54D91855.8040602@fourthworld.com> William Prothero wrote: > Richard and Kay: > Thanks for the stimulating thoughts. > > Each of your arguments are very persuasive. And it seems that the > most important thing is where you decide to start. If you focus is > on mobile, Kay?s approach is the most sensible. I like Richard?s > for desktop, but would expect to have to modify it to get it on iOS. > > Re-iterating the two approaches: > 1. Make iOs apps and create enhancements, like say ?myApp basic?, > ?myApp Plus?, ?myApp Pro?, etc. This means you would probably have > a bunch of apps in the store with a common code part and a > specialized part. > 2. Make desktop app with Splash system, like Richard uses. Later, > going to iOS would mean combining bits of the various pieces that > get downloaded by the Splash app into a single app for iOS, and > eliminating features unacceptable to Apple. Kay's point is an important one, but the two approaches aren't mutually exclusive. It's very true that many school districts today are embarking on the same sort of OS vendor lock-in that used to drive Apple fans crazy just a few years ago when districts purchased Windows exclusively. LAUSD's district-wide iPad rollout may be a good example, though after a $1.5-billion-dollar "unexpected" cost overrun the contract has since fallen under federal investigation, and the superintendent has resigned. Maybe it's not a bad example at all: the current LAUSD plan is to diversify not only vendors, but also OSes and even form factors. Right now their purchasing plans include a great many Chromebooks, which not only provide arguable benefit for more intensive workloads by having a built-in keyboard that doesn't diminish available screen size by nearly half, but are also significantly less expensive. These are among the many reasons that while tablet sales have leveled off in the US an EU over the last year, Chromebooks have emerged as the highest-growth segment two years running. In a world increasingly enjoying the interoperability of modern OSes, LiveCode can help by covering more platforms than most development alternatives. But when exploring desktop vs mobile, you'll need to make different layouts for each anyway, so why not do both? I've not seen your app but have been familiar with your work for several years, and it seems you have a solidly viable desktop product. Any new product for iOS will take considerable effort to complete, because even though you can share a lot of the core business logic between your desktop and mobile versions you'll need an entirely new UI for mobile. So you could start with what you have, refining the desktop product as practical to take advantage of things like downloaded stacks, and that revenue could fund the UI rewrite needed for iOS, which would also likely require using only local on-device stacks, and Apple's slower update system. How you coordinate differences between a desktop version that downloads stacks and a mobile version that accesses them locally involves specifics I couldn't advise on without knowing more about the app itself. But in general, given the amount of work needed for a mobile version, if you factor stack access through a library that determines whether it gets it from a server or a local file, either way the stack itself it still a stack, and once loaded from that point on it doesn't matter all that much how it got there. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From brahma at hindu.org Mon Feb 9 15:40:38 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Mon, 09 Feb 2015 10:40:38 -1000 Subject: Photo Zoomer Message-ID: <54D91B46.8090401@hindu.org> Does anyone have scripts for zooming in and out on a photo? I got animationEngine, but I don't see anything there that will help me. I'm hoping it can be fairly smooth. Use case: high quality "political world map" (includes states/cities) zoom in on specific countries, even states. the "Functional Spec" would go something like this: a) preset percentage to scale up with a nice smooth magnification action over time (that's why I was hoping to use animation engine as Malte has the "easing" thing wired", then click to shrink down to the original. b) the "magnification" UX would shift the center of the view to the center of the card for the scaled up part. And "back down" moves the image to it's original location. c) once the above is working then we can also pass a percentage from a pull down (depends on context whether we want a fixed amt or offer a menu of enlargement choices first. Now... I could build this myself, but I thought why reinvent the wheel... has anyone else done anything along these lines? If not all the above requirements, at least the zoom in and out part? Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com From ambassador at fourthworld.com Mon Feb 9 15:53:27 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 09 Feb 2015 12:53:27 -0800 Subject: rect w/ scaleFactor? Message-ID: <54D91E47.9000104@fourthworld.com> When the scaleFactor is set to any value other than 1, there appears to be no relationship between the stack's rect property and its apparent rect on screen. "the effective rect..." doesn't help. How can I obtain the actual on-screen rect of a stack whose scaleFactor is set to any value other than 1? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From dunbarx at aol.com Mon Feb 9 16:05:05 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 9 Feb 2015 16:05:05 -0500 Subject: Thread #47 on delimiters (was Re: Reverse a list) In-Reply-To: <54D91189.70503@fourthworld.com> References: <8D212B3C60C897C-1FF8-3A871@webmail-va001.sysops.aol.com> <54D91189.70503@fourthworld.com> Message-ID: <8D212C3366E987C-1FF8-3B2B0@webmail-va001.sysops.aol.com> Richard. What I meant was this: - I have too much time on my hands - DO NOT talk about it anymore I bet Jacque got it. Craig -----Original Message----- From: Richard Gaskin To: use-livecode Sent: Mon, Feb 9, 2015 2:57 pm Subject: Thread #47 on delimiters (was Re: Reverse a list) dunbarx wrote: > Jacque. > > "No. Delimiters are terminators, not dividers. They belong to the text > that precedes them." > > Hmmm, what an interesting comment. Maybe we should discuss this... It does seem a frequent enjoyment in our community, but I suspect the outcome of yet another discussion on this will be the same as the many times it's been explored in great and sometimes contentious detail in the past: no change. I have no opinion on this myself other than the selfish desire to not have to rewrite decades of code, so I'm out of this loop and my opinion doesn't really matter all that much anyway. A far more relevant opinion of that of Mr. Waddingham, which he expressed very thoroughly in the forums: If we were to repeat once again all the arguments, counter-arguments, and counter-counter-arguments about how the delimiter behavior should or shouldn't work, I certainly don't mind the popcorn. But if the interest is in any actionable outcome, please keep in mind that we needn't convince anyone here on this list as much as we would need to provide a sufficiently compelling case to Mr. Waddingham. It's possible that he may change his mind, but to make a truly compelling case it may help to read his comments there first. I have my Orville Redenbacher's at the ready just in case.... :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From gcanyon at gmail.com Mon Feb 9 16:08:07 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 9 Feb 2015 15:08:07 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: On Mon, Feb 9, 2015 at 3:46 AM, Kay C Lan wrote: > 6.6.5 > > There are 1880 lines in tstart > There are now 9400 lines in tstart > revers(ta) took 350 ms > qrevers(ta) took 5 ms > Output OK > krevers(ta) took 328 ms > Output OK > > 7.0.2 rc2 > > There are 1880 lines in tstart > There are now 9396 lines in tstart > revers(ta) took 354 ms > qrevers(ta) took 542845 ms > Output OK > krevers(ta) took 2051 ms > Output OK > > You're seeing a 100,000x slowdown in qrevers from 6.6.5 to 7? I generated a 10K line sample to reverse, and saw only(!) a 70x slowdown going from 6.7 to 7.0.2 I changed everything from char to byte, but I just checked with the original version using char and saw no difference. gc From dave at applicationinsight.com Mon Feb 9 16:03:20 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Mon, 9 Feb 2015 13:03:20 -0800 (PST) Subject: rect w/ scaleFactor? In-Reply-To: <54D91E47.9000104@fourthworld.com> References: <54D91E47.9000104@fourthworld.com> Message-ID: <1423515800558-4688657.post@n4.nabble.com> Hi Richard - I had an issue about setting the loc of a stack with a scaleFactor that would be calculated as the app opened (to make it close to fullscreen). What I had to do was to apply the scaleFactor to the loc and then set the loc of the stack to that - I should think the same would apply to the stack's rect - apply the scaleFactor it it. Here is my code from that app: --finding out about the screen put the screenRect into tScreenRectRaw put the working screenRect into tScreenRect put item 3 of tScreenRect into tScreenW put item 2 of tScreenRect - item 2 of tScreenRectRaw into tMenuBarHeight put item 4 of tScreenRectRaw - item 4 of tScreenRect into tTaskBarHeight put item 4 of tScreenRect - tMenuBarHeight into tScreenH --elsewhere I calculate what scaleFactor I need for the app, then I set the stack to it set the scaleFactor of stack "Rewind" to tScaleFactor --loc for positioning the stack (before scaleFactor) put round(tScreenW/2,0) into tAppLocH put 13 into tTitleBarHeight put tMenuBarHeight + tTitleBarHeight + round(tScreenH/2,0) into tAppLocV --loc for positioning the stack (including scaleFactor) put round(tAppLocH / tScaleFactor) into tAppLocH put round(tAppLocV / tScaleFactor) into tAppLocV set the loc of stack "Rewind" to tAppLocH & comma & tAppLocV ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/rect-w-scaleFactor-tp4688655p4688657.html Sent from the Revolution - User mailing list archive at Nabble.com. From dunbarx at aol.com Mon Feb 9 16:13:57 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 9 Feb 2015 16:13:57 -0500 Subject: rect w/ scaleFactor? In-Reply-To: <54D91E47.9000104@fourthworld.com> References: <54D91E47.9000104@fourthworld.com> Message-ID: <8D212C473B0DB7C-1FF8-3B34D@webmail-va001.sysops.aol.com> Richard. Uh, oh. Make a stack with one button and one decent sized field. In the button script: on mouseUp put "" into fld 1 put the rect of this stack into line 1 of fld 1 set the scalefactor of this stack to ".5" put "0.5=" && the rect of this stack into line 2 of fld 1 set the scalefactor of this stack to ".75" put "0.75=" && the rect of this stack into line 3 of fld 1 set the scalefactor of this stack to "1.5" put "1.5=" && the rect of this stack into line 4 of fld 1 set the scalefactor of this stack to "1" end mouseUp BUT, if you set the scale factor to something other than "1" in the inspector, and then: answer the scaleFactor of this stack, you do get the correct, scaled rects. Uh, oh Craig -----Original Message----- From: Richard Gaskin To: How to use LiveCode Sent: Mon, Feb 9, 2015 3:51 pm Subject: rect w/ scaleFactor? When the scaleFactor is set to any value other than 1, there appears to be no relationship between the stack's rect property and its apparent rect on screen. "the effective rect..." doesn't help. How can I obtain the actual on-screen rect of a stack whose scaleFactor is set to any value other than 1? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Mon Feb 9 16:17:18 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 09 Feb 2015 15:17:18 -0600 Subject: rect w/ scaleFactor? In-Reply-To: <54D91E47.9000104@fourthworld.com> References: <54D91E47.9000104@fourthworld.com> Message-ID: <54D923DE.6040001@hyperactivesw.com> On 2/9/2015 2:53 PM, Richard Gaskin wrote: > When the scaleFactor is set to any value other than 1, there appears to > be no relationship between the stack's rect property and its apparent > rect on screen. > > "the effective rect..." doesn't help. > > How can I obtain the actual on-screen rect of a stack whose scaleFactor > is set to any value other than 1? > I don't know if it only applies to card coords or to stacks as well, but setting the pixelscale might help. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Mon Feb 9 16:17:55 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 09 Feb 2015 15:17:55 -0600 Subject: Thread #47 on delimiters (was Re: Reverse a list) In-Reply-To: <8D212C3366E987C-1FF8-3B2B0@webmail-va001.sysops.aol.com> References: <8D212B3C60C897C-1FF8-3A871@webmail-va001.sysops.aol.com> <54D91189.70503@fourthworld.com> <8D212C3366E987C-1FF8-3B2B0@webmail-va001.sysops.aol.com> Message-ID: <54D92403.3020003@hyperactivesw.com> On 2/9/2015 3:05 PM, dunbarx at aol.com wrote: > I bet Jacque got it. And I laughed, too. :) But I didn't want to talk about it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From rdimola at evergreeninfo.net Mon Feb 9 16:22:56 2015 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Mon, 9 Feb 2015 16:22:56 -0500 Subject: rect w/ scaleFactor? In-Reply-To: <54D91E47.9000104@fourthworld.com> References: <54D91E47.9000104@fourthworld.com> Message-ID: <00cc01d044ae$92a7c090$b7f741b0$@net> This is what I do.... There is a lot going on here. This function will allow for the keyboard area. I set the pixelscale to 1 for all devices at startup. I don't know if other scale factors will affect this function but all one would need is some constructive multiplies. function getCardRect --If ignorekeyboard is true then the rect is the entire card is returned --If ignorekeyboard is false then.... -- If ShrinkKeyboard is true then the rect of the available real-estate is returned -- If ShrinkKeyboard is false then the top of the rect is off screen but the canvas size is the same if the keyboard was not there. -- also in this mode the canvas can be shifted by KeyboardOffet pixels. local r1 , r2 , r3 , r4 , tR2 , tR4 , tRectTemp --return the rect of this card if the environment is not "mobile" then put item 1 of the rect of this card into R1 put item 2 of the rect of this card into R2 put item 3 of the rect of this card into R3 put item 4 of the rect of this card into R4 else -- Mobile put the screenrect into tRectTemp if the ignorekeyboard of this stack then put item 1 of the rect of this stack into R1 put item 2 of the rect of this stack into R2 put item 3 of the rect of this stack into R3 put item 4 of the rect of this stack into R4 else -- Don't Ignore Keyboard put 0 into R1 put item 3 of the effective working screenrect - item 1 of the effective working screenrect into R3 if the ShrinkKeyboard of this stack then put 0 into R2 put item 4 of the effective working screenrect - item 2 of the effective working screenrect into R4 else -- Shrink Keyboard put (item 4 of the effective working screenrect - item 2 of the effective working screenrect) - item 4 of the rect of this stack into R2 put item 4 of the effective working screenrect - item 2 of the effective working screenrect into R4 if the KeyboardOffet of this stack is not empty and the KeyboardOffet of this stack is a number then put (item 2 of the rect of this stack - the KeyboardOffet of this stack) into tR2 put (item 4 of the rect of this stack - the KeyboardOffet of this stack) into tR4 if tR2 >= R2 then put tR2 into R2 put tR4 into R4 end if -- Offset out of range end if -- Keyboard Offset end if -- Shrink Keyboard end if --Ignore Keyboard end if -- Mobile return (R1,R2,R3,R4) end getCardRect Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Gaskin Sent: Monday, February 09, 2015 3:53 PM To: How to use LiveCode Subject: rect w/ scaleFactor? When the scaleFactor is set to any value other than 1, there appears to be no relationship between the stack's rect property and its apparent rect on screen. "the effective rect..." doesn't help. How can I obtain the actual on-screen rect of a stack whose scaleFactor is set to any value other than 1? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From scott at tactilemedia.com Mon Feb 9 16:32:21 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Mon, 09 Feb 2015 13:32:21 -0800 Subject: Photo Zoomer In-Reply-To: <54D91B46.8090401@hindu.org> References: <54D91B46.8090401@hindu.org> Message-ID: This was a fun little challenge. Try this stack via your message box (3.8MB download): go url "http://www.tactilemedia.com/download/map_zoom.livecode" Click the map to zoom, click again to zoom out. Until we get built-in easing effects in the engine (needed desperately), I?m a big proponent of Malte?s Animation Engine. The command I used is aeChangeRect, and depending on how large your map is, you may need to toggle the resizeQuality of the image to get best performance, which is done here. It?s unlikely you?ll get as smooth performance as you can within a browser, as is done with Google Maps, so you might investigate using a ?real? map if you can, via the browser object, or use something like jQuery to manipulate the map image within the browser. Hope this helps. Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On 2/9/15, 12:40 PM, "Brahmanathaswami" wrote: >Does anyone have scripts for zooming in and out on a photo? I got >animationEngine, but I don't see anything there that will help me. I'm >hoping it can be fairly smooth. > >Use case: high quality "political world map" (includes states/cities) >zoom in on specific countries, even states. > >the "Functional Spec" would go something like this: > >a) preset percentage to scale up with a nice smooth magnification >action over time (that's why I was hoping to use animation engine as >Malte has the "easing" thing wired", then click to shrink down to the >original. > >b) the "magnification" UX would shift the center of the view to the >center of the card for the scaled up part. And "back down" moves the >image to it's original location. > >c) once the above is working then we can also pass a percentage from a >pull down (depends on context whether we want a fixed amt or offer a >menu of enlargement choices first. > >Now... I could build this myself, but I thought why reinvent the >wheel... has anyone else done anything along these lines? If not all the >above requirements, at least the zoom in and out part? > >Swasti Astu, Be Well! >Brahmanathaswami > >Kauai's Hindu Monastery >www.HimalayanAcademy.com > > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From dave.cragg at lacscentre.co.uk Mon Feb 9 16:53:48 2015 From: dave.cragg at lacscentre.co.uk (Dave Cragg) Date: Mon, 9 Feb 2015 21:53:48 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Mark, It makes it faster, but it doesn?t return any data. :-) The number of lines in p = 0 Cheers Dave > On 9 Feb 2015, at 20:13, Mark Wieder wrote: > > Dave- > > Using 'repeat for each' for the loop makes this faster yet. > > function arevers p > local t > local tNumElems > > split p by cr > put empty into t > put the number of lines in p into tNumElems > repeat for each line l in p > put p[tNumElems] & cr after t > subtract 1 from tNumElems > end repeat > return t > end arevers > > -- > Mark Wieder > ahsoftware at gmail.com > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Mon Feb 9 17:03:30 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 9 Feb 2015 22:03:30 +0000 Subject: Reverse a list In-Reply-To: <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: Stands to reason. ;-) Bob S On Feb 9, 2015, at 13:53 , Dave Cragg > wrote: Mark, It makes it faster, but it doesn?t return any data. :-) From dunbarx at aol.com Mon Feb 9 17:04:14 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Mon, 9 Feb 2015 17:04:14 -0500 Subject: Reverse a list In-Reply-To: <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: <8D212CB798F86A5-1FF8-3B618@webmail-va001.sysops.aol.com> When you split data into an array, you cannot use any "clear" techniques to process that data, like a repeat loop. You can work with the keys of the array, but not the enclosing named array itself. The number of lines of the named array will always be 0, because the data lies at least one "layer" down. When you drill into its elements, things start to come back to life. -----Original Message----- From: Dave Cragg To: How to use LiveCode Sent: Mon, Feb 9, 2015 4:54 pm Subject: Re: Reverse a list Mark, It makes it faster, but it doesn?t return any data. :-) The number of lines in p = 0 Cheers Dave > On 9 Feb 2015, at 20:13, Mark Wieder wrote: > > Dave- > > Using 'repeat for each' for the loop makes this faster yet. > > function arevers p > local t > local tNumElems > > split p by cr > put empty into t > put the number of lines in p into tNumElems > repeat for each line l in p > put p[tNumElems] & cr after t > subtract 1 from tNumElems > end repeat > return t > end arevers > > -- > Mark Wieder > ahsoftware at gmail.com > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From mwieder at ahsoftware.net Mon Feb 9 17:04:22 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Mon, 9 Feb 2015 22:04:22 +0000 (UTC) Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: Sorry - got one line out of place. Here ya go. Still the fastest yet. function arevers p local t local tNumElems put the number of lines in p into tNumElems split p by cr put empty into t repeat for each line l in p put p[tNumElems] & cr after t subtract 1 from tNumElems end repeat return t end arevers -- Mark Wieder ahsoftware at gmail.com From bogdanoff at me.com Mon Feb 9 17:10:11 2015 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 09 Feb 2015 14:10:11 -0800 Subject: Photo Zoomer In-Reply-To: References: <54D91B46.8090401@hindu.org> Message-ID: <4248EFFA-7BC3-45CB-B130-AF262B4AF257@me.com> In the past I?ve used QuickTime VR for projects such as this. You can zoom in and out, fly around a very large map or image, click on nodes to go to other maps. All very, very nice. Except, now QT is now being put out to pasture, and the tools to create the VRs are hard to come by. Peter Bogdanoff UCLA On Feb 9, 2015, at 1:32 PM, Scott Rossi wrote: > This was a fun little challenge. Try this stack via your message box > (3.8MB download): > go url "http://www.tactilemedia.com/download/map_zoom.livecode" > > > Click the map to zoom, click again to zoom out. > > Until we get built-in easing effects in the engine (needed desperately), > I?m a big proponent of Malte?s Animation Engine. The command I used is > aeChangeRect, and depending on how large your map is, you may need to > toggle the resizeQuality of the image to get best performance, which is > done here. > > It?s unlikely you?ll get as smooth performance as you can within a > browser, as is done with Google Maps, so you might investigate using a > ?real? map if you can, via the browser object, or use something like > jQuery to manipulate the map image within the browser. > > > Hope this helps. > > Regards, > > Scott Rossi > Creative Director > Tactile Media, UX/UI Design > > > > > On 2/9/15, 12:40 PM, "Brahmanathaswami" wrote: > >> Does anyone have scripts for zooming in and out on a photo? I got >> animationEngine, but I don't see anything there that will help me. I'm >> hoping it can be fairly smooth. >> >> Use case: high quality "political world map" (includes states/cities) >> zoom in on specific countries, even states. >> >> the "Functional Spec" would go something like this: >> >> a) preset percentage to scale up with a nice smooth magnification >> action over time (that's why I was hoping to use animation engine as >> Malte has the "easing" thing wired", then click to shrink down to the >> original. >> >> b) the "magnification" UX would shift the center of the view to the >> center of the card for the scaled up part. And "back down" moves the >> image to it's original location. >> >> c) once the above is working then we can also pass a percentage from a >> pull down (depends on context whether we want a fixed amt or offer a >> menu of enlargement choices first. >> >> Now... I could build this myself, but I thought why reinvent the >> wheel... has anyone else done anything along these lines? If not all the >> above requirements, at least the zoom in and out part? >> >> Swasti Astu, Be Well! >> Brahmanathaswami >> >> Kauai's Hindu Monastery >> www.HimalayanAcademy.com >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jhj at jhj.com Mon Feb 9 17:23:42 2015 From: jhj at jhj.com (Jerry Jensen) Date: Mon, 9 Feb 2015 14:23:42 -0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: Just a thought, untested. Change the first two executable lines to: split p by cr put the number of lines of the keys of p into tNumElems That way instead of having to spin through the entire data twice counting lines, once for the number of lines and again for split, it would only spin all the way through once (during split) and then a much faster run counting keys. This probably won't make a measurable difference if its only executed once, unless the data is really large. .Jerry On Feb 9, 2015, at 2:04 PM, Mark Wieder wrote: > Sorry - got one line out of place. Here ya go. > Still the fastest yet. > > function arevers p > local t > local tNumElems > > put the number of lines in p into tNumElems > split p by cr > put empty into t > repeat for each line l in p > put p[tNumElems] & cr after t > subtract 1 from tNumElems > end repeat > return t > end arevers > > -- > Mark Wieder > ahsoftware at gmail.com > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mwieder at ahsoftware.net Mon Feb 9 17:25:08 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Mon, 9 Feb 2015 22:25:08 +0000 (UTC) Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: Note to self - paste the actual code... function arevers p local t local tNumElems put the number of lines in p into tNumElems split p by cr put empty into t repeat for each line l in the keys of p put p[tNumElems] & cr after t subtract 1 from tNumElems end repeat return t end arevers -- Mark Wieder ahsoftware at gmail.com From dave.cragg at lacscentre.co.uk Mon Feb 9 17:26:26 2015 From: dave.cragg at lacscentre.co.uk (Dave Cragg) Date: Mon, 9 Feb 2015 22:26:26 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Mark Still no data. The problem is here: > repeat for each line l in p I would have been surprised if that had worked. I also tried the following, but it give the same speed as my original (not surprising as it?s doing much the same thing) function arevers p put the number of lines in p into tNumElems split p by cr put empty into t put tNumElems into tCount repeat tNumElems put p[tCount] & cr after t subtract 1 from tCount end repeat return t end arevers > On 9 Feb 2015, at 22:04, Mark Wieder wrote: > > Sorry - got one line out of place. Here ya go. > Still the fastest yet. > > function arevers p > local t > local tNumElems > > put the number of lines in p into tNumElems > split p by cr > put empty into t > repeat for each line l in p > put p[tNumElems] & cr after t > subtract 1 from tNumElems > end repeat > return t > end arevers > > -- > Mark Wieder > ahsoftware at gmail.com > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dave.cragg at lacscentre.co.uk Mon Feb 9 17:36:19 2015 From: dave.cragg at lacscentre.co.uk (Dave Cragg) Date: Mon, 9 Feb 2015 22:36:19 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> Message-ID: <8BB52D46-0D5B-43A8-AE8B-F65DB5616B9A@lacscentre.co.uk> Yay. But the speed is the same as my original. (On both 6.0.2 and 7.0.1) > On 9 Feb 2015, at 22:25, Mark Wieder wrote: > > Note to self - paste the actual code... > > function arevers p > local t > local tNumElems > > put the number of lines in p into tNumElems > split p by cr > put empty into t > repeat for each line l in the keys of p > put p[tNumElems] & cr after t > subtract 1 from tNumElems > end repeat > return t > end arevers > > -- > Mark Wieder > ahsoftware at gmail.com > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mwieder at ahsoftware.net Mon Feb 9 17:36:37 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Mon, 9 Feb 2015 22:36:37 +0000 (UTC) Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Message-ID: Dave Cragg writes: > Still no data. The problem is here: Yeah... see my re-corrected version. Comes out faster due to the "repeat for each" construct. Even in LC 7.x. -- Mark Wieder ahsoftware at gmail.com From prothero at earthednet.org Mon Feb 9 17:45:01 2015 From: prothero at earthednet.org (William Prothero) Date: Mon, 9 Feb 2015 14:45:01 -0800 Subject: Rev 5.5.5 question In-Reply-To: <1423506368933-4688644.post@n4.nabble.com> References: <1423506368933-4688644.post@n4.nabble.com> Message-ID: <72168CDC-C34C-4E0D-A5CA-70F88DDC381B@earthednet.org> FYI: One problem I had running a 32 bit LC project on 64 bit windows happened when I tried to open a Flash movie in the rev browser window. But the CEF browser did it fine. Bill > On Feb 9, 2015, at 10:26 AM, Dave Kilroy wrote: > > Hi Charles, Rev 5.5.5 will build 32 bit software (indeed Rev is itself 32 > bit) which should work fine on 64 bit systems - have a look in the "Program > Files (x86)" folder in your Windows 64 bit PC where you will find all the 32 > bit software running on your system. > > When I say "work fine", 32 bit apps are second-class citizens (as you've > seen they get their own 'ghetto' version of 'Program Files' and their > ability to access memory - and there might be some issues if you try to open > the 64 bit version of Internet Explorer or an MS Access database (jet engine > compatability if you're not careful) - but in general things should be > fine... > > Dave > > > > ----- > "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior > > -- > View this message in context: http://runtime-revolution.278305.n4.nabble.com/Rev-5-5-5-question-tp4688628p4688644.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dave.cragg at lacscentre.co.uk Mon Feb 9 17:47:12 2015 From: dave.cragg at lacscentre.co.uk (Dave Cragg) Date: Mon, 9 Feb 2015 22:47:12 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Message-ID: In this case, I don?t think there?s an advantage in "repeat for each" as we?re iterating through array elements and not chunks. Are you really seeing it work faster? I was using a 24519-line list of 555Kb. Dave > On 9 Feb 2015, at 22:36, Mark Wieder wrote: > > Dave Cragg writes: > >> Still no data. The problem is here: > > Yeah... see my re-corrected version. > Comes out faster due to the "repeat for each" construct. > Even in LC 7.x. > > -- > Mark Wieder > ahsoftware at gmail.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Mon Feb 9 19:53:59 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Mon, 9 Feb 2015 19:53:59 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Message-ID: can we come up with a dataset for this test? I was about to go write the database code to share, but I realized I don't have anything (real) to test against. On Mon, Feb 9, 2015 at 5:47 PM, Dave Cragg wrote: > In this case, I don?t think there?s an advantage in "repeat for each" as > we?re iterating through array elements and not chunks. > > Are you really seeing it work faster? > > I was using a 24519-line list of 555Kb. > > Dave > > > > On 9 Feb 2015, at 22:36, Mark Wieder wrote: > > > > Dave Cragg writes: > > > >> Still no data. The problem is here: > > > > Yeah... see my re-corrected version. > > Comes out faster due to the "repeat for each" construct. > > Even in LC 7.x. > > > > -- > > Mark Wieder > > ahsoftware at gmail.com > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jiml at netrin.com Mon Feb 9 20:49:04 2015 From: jiml at netrin.com (Jim Lambert) Date: Mon, 9 Feb 2015 17:49:04 -0800 Subject: Configure.it In-Reply-To: References: Message-ID: Has anyone used this mobile app dev platform? http://www.configure.it If so, how is it? Thanks, Jim Lambert From mwieder at ahsoftware.net Mon Feb 9 21:04:47 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Mon, 9 Feb 2015 18:04:47 -0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Message-ID: <98798337083.20150209180447@ahsoftware.net> Dave- Monday, February 9, 2015, 2:47:12 PM, you wrote: > In this case, I don?t think there?s an advantage in "repeat for > each" as we?re iterating through array elements and not chunks. > Are you really seeing it work faster? > I was using a 24519-line list of 555Kb. (tried to reply earlier but gmane had other ideas) I'm using a 20000-line test. I was originally seeing my adaptation run slightly faster, but on retesting I see it's slightly slower (but still seems running neck and neck). At any rate, never mind - there doesn't seem to be a speed advantage to the "repeat for each" construct here, as you mentioned. -- -Mark Wieder ahsoftware at gmail.com This communication may be unlawfully collected and stored by the National Security Agency (NSA) in secret. The parties to this email do not consent to the retrieving or storing of this communication and any related metadata, as well as printing, copying, re-transmitting, disseminating, or otherwise using it. If you believe you have received this communication in error, please delete it immediately. From lan.kc.macmail at gmail.com Mon Feb 9 21:10:34 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Tue, 10 Feb 2015 10:10:34 +0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Message-ID: On Tue, Feb 10, 2015 at 8:53 AM, Mike Kerner wrote: > can we come up with a dataset for this test? > I personally find scripting a standard dataset the easiest. Here's a script that will create identical lines, each with 18 x 5 char words. I've just added 3 lines at the beginning: aa bb cc and three lines at the end: xx yy zz otherwise it's impossible to test if the output has actually been sorted correctly. The output looks like this for non unicode - muliplied however many time - 10,000 by default: aa bb cc !"#$% &'()* +,-./ 01234 56789 :;<=> ?@ABC DEFGH IJKLM NOPQR STUVW XYZ[\ ]^_`a bcdef ghijk lmnop qrstu vwxyz !"#$% &'()* +,-./ 01234 56789 :;<=> ?@ABC DEFGH IJKLM NOPQR STUVW XYZ[\ ]^_`a bcdef ghijk lmnop qrstu vwxyz xx yy zz on mouseUp ask "How many lines do you want?" with "10000" titled "Number of Lines?" put it into tNumLines answer "Do you wish to use Unicode?" with "Yes" or "No" titled "Unicode?" if (it = "Yes") then set the useUnicode to true put 5000 into tStart put 5089 into tEnd else put 33 into tStart put 122 into tEnd end if put "aa" & cr & "bb" & cr & "cc" & cr into tDataSet put 1 into y repeat tNumLines times repeat with x = tStart to tEnd put numToChar(x) after tDataSet if (y = 5) then put space after tDataSet put 1 into y else add 1 to y end if end repeat put cr after tDataSet end repeat put "xx" & cr & "yy" & cr & "zz" after tDataSet end mouseUp From jacque at hyperactivesw.com Mon Feb 9 21:27:45 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 09 Feb 2015 20:27:45 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> Message-ID: <54D96CA1.6090706@hyperactivesw.com> On 2/9/2015 8:10 PM, Kay C Lan wrote: > On Tue, Feb 10, 2015 at 8:53 AM, Mike Kerner > wrote: > >> >can we come up with a dataset for this test? >> > > I personally find scripting a standard dataset the easiest. I just used the colorNames repeated a number of times, since they start out alphabetized and you can see what you're doing. But I didn't come anywhere near thousands of lines, just a few repeats so I could eyeball it. Since I was only looking at relative speeds, the actual timing wasn't too important to me. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brahma at hindu.org Mon Feb 9 21:46:25 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Mon, 09 Feb 2015 16:46:25 -1000 Subject: Photo Zoomer In-Reply-To: References: <54D91B46.8090401@hindu.org> Message-ID: <54D97101.6020306@hindu.org> Awesome! Scott..thanks "Until we get built-in easing effects in the engine (needed desperately)...." I tend to set the bar a bit low on the eye candy (to the consternation of some) since I convinced that the message is more important, Assuming the production values are not "rancid" then if it works, it's OK with me. And this works really well. Again... Mahalo! @ peter bogdanoff, yes I was into QT before... More to say in another post on animation. Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com Scott Rossi wrote: > This was a fun little challenge. Try this stack via your message box > (3.8MB download): > go url"http://www.tactilemedia.com/download/map_zoom.livecode" From brahma at hindu.org Mon Feb 9 21:49:29 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Mon, 09 Feb 2015 16:49:29 -1000 Subject: The Future of Animation in LiveCode Message-ID: <54D971B9.8000709@hindu.org> I'm curious what insights there are into the future of animation in LiveCode. The adage that children are exposed to super high production values (Think Disney, Entertainment Arts) is true, but at the same time I've seen kids/adults super fascinated with some pretty basic old style side scroller things. *if* the a) the plot line is good and b) the graphics are high quality (gorgeous art/stills) c) add a little sound... But now we have Maya, Blender, Unity, etc... Scary learning curves! So I'm looking to stay inside LC for simple presentation animation. But Livecode is such a great platform for delivery of anything. Like the Unity adventure games that one of our young monks is building... new to our media team: he played lots of video games as a kid and has convinced us that he can do it.. and he is! terrain, characters and all... but time lines he's giving for getting something done are also scary "1 year.+" Yikes! Now if only we could only load and drive FBX assets inside LC that would be interesting. and a separate but related subject... what are the tools people use to do that thing of writing on a black/white board and having this appear in a view as if it were being written up as the speaker talks... I guess this is all about the player object in in LC which is still lagging... Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com From gcanyon at gmail.com Mon Feb 9 22:58:10 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 9 Feb 2015 21:58:10 -0600 Subject: Reverse a list In-Reply-To: <54D96CA1.6090706@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: It seems that what we've lost with unicode/7 is the speed of character references. In other words, this: On Sun, Feb 8, 2015 at 4:37 PM, Alex Tweedly wrote: > SO, instead, we can use "put ... into char x to y of ..." - since it uses > char indexing, it takes constant time (i.e. no scan, just directly replace > the chars. ... no longer applies. I ran a simple test to completely reverse a string, not line by line, but character by character, something like: repeat with i = length(string) down to 1; put char i of string after result; end repeat and it was orders of magnitude slower even than Alex's line-by-line solution. I subbed byte for char, and it doesn't seem to matter or change anything. Until that issue is addressed, it seems any solution that depends on repeated character or byte indexes into a string is going to suffer from the highway line painter's problem: he paints fewer lines each day as he gets farther and farther away from the paint bucket. On Mon, Feb 9, 2015 at 8:27 PM, J. Landman Gay wrote: > On 2/9/2015 8:10 PM, Kay C Lan wrote: > >> On Tue, Feb 10, 2015 at 8:53 AM, Mike Kerner >> wrote: >> >> >can we come up with a dataset for this test? >>> > >>> >> I personally find scripting a standard dataset the easiest. >> > > I just used the colorNames repeated a number of times, since they start > out alphabetized and you can see what you're doing. But I didn't come > anywhere near thousands of lines, just a few repeats so I could eyeball it. > Since I was only looking at relative speeds, the actual timing wasn't too > important to me. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From lan.kc.macmail at gmail.com Mon Feb 9 23:01:24 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Tue, 10 Feb 2015 12:01:24 +0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <54D91855.8040602@fourthworld.com> References: <7DBA4BA3-F77F-4C30-8803-CA5691862E4E@earthednet.org> <54D91855.8040602@fourthworld.com> Message-ID: On Tue, Feb 10, 2015 at 4:28 AM, Richard Gaskin wrote: > But when exploring desktop vs mobile, you'll need to make different > layouts for each anyway, so why not do both? > I think this is the most important point of all. In all the 'one code for all platforms' hype of LC there is the reality that there must be platform dependant code and you must be aware of the idiosyncrasies of each platform. In Bill's original post he mentioned the desire not to have to rewrite code for each platform, so my emphasis on realising what approach will not work for iOS. With that in mind, the suggestion to have a desktop Splash Stack that can easily access AppBasic, AppPlus and AppPro stacks, but to submit these as separate apps to the Apple seems to be an economical way to code. I assume in reality there would a Library stack involved as well, with most of the core code in Library so the desktop would be Splash + Library + AppBasic + AppPlus + AppPro whilst the submissions for iOS would be Library + AppBasic, and Library + AppPlus, and Library + AppPro. Just when you thought you had it figured out I'll throw a curve ball - referring to Bill here. How well do you know your customers? Do any of the schools or institutions you are targeting own an iOS Enterprise License. These allow for in house development of apps, therefore no Apple approval process so you can Splash Stack in iOS to your hearts content. It can be financially sensible for a school to have an Enterprise License. If you have 10 kids in a Coding Club who want to develop iOS apps then that's $990 for individual licenses but if the School purchases an Enterprise License it's only $299 shared between all members. Your hurdle is to be approved as a Developer on their license but if you can, you can offer faster updates and customise their Splash stack to be an image of their school emblem or whatever to show that it's their App for their School/University/College. This would also involve a different pricing strategy as you'd no longer be selling to individuals and donating 30% to Apple's Old Age Retirement Fund, but selling direct site licenses and possibly even site licenses that for an extra $350 you'll set them up with an Apple Enterprise License so the CS Students can have a go at developing iOS apps for a lot less cash. You'd have to weigh that against advertisement potential of being in the Apple Store. As I said, a curve ball. From lan.kc.macmail at gmail.com Mon Feb 9 23:10:05 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Tue, 10 Feb 2015 12:10:05 +0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon wrote: > It seems that what we've lost with unicode/7 is the speed of character > references. > See Ali Lloyd's earlier response that the LC team have been watching this tread and it's clear that 'inefficient code' has been revealed. The LC team are working on it and believe that for none Unicode chunking LC 7 should be as fast as LC 6. There will be some slow down when Unicode is involved. From prothero at earthednet.org Tue Feb 10 01:30:36 2015 From: prothero at earthednet.org (William Prothero) Date: Mon, 9 Feb 2015 22:30:36 -0800 Subject: [not quite OT] Serving a standalone In-Reply-To: References: <7DBA4BA3-F77F-4C30-8803-CA5691862E4E@earthednet.org> <54D91855.8040602@fourthworld.com> Message-ID: <2BB281D9-3EAB-45E1-8BA7-6CC11F509081@earthednet.org> Kay: Thanks for the ideas! The plan you suggest sounds quite good and it looks like I can probably accommodate both desktop and iOS. I?m a retired prof who did a LOT of coding for my classes, and now I have no ambition to develop a real business, not that I would turn down income that wouldn?t require me to actually go back to work. My plan is to re-do (in livecode) a lot of my apps that I wrote in Director, and are now un-supportable because of the death of that platform. So this is a project that I will give away for free, mostly because I hate marketing and the business aspect. I?m planning on building on the starting app, a video of which you can see at: http://earthednet.org/ptExplorer/Cover.html This is an intro screen that I access in a rev browser window, and it?s just for the basic beta version of my app that?s being tested at UCSB. So in between playing and practicing jazz keyboard, riding my bike, and enjoying my wife?s company, I work on these coding projects, which give me great satisfaction. Thanks again for the ideas, Bill William A. Prothero http://es.earthednet.org/ > > On Feb 9, 2015, at 8:01 PM, Kay C Lan wrote: > > On Tue, Feb 10, 2015 at 4:28 AM, Richard Gaskin > wrote: > >> But when exploring desktop vs mobile, you'll need to make different >> layouts for each anyway, so why not do both? >> > > > Just when you thought you had it figured out I'll throw a curve ball - > referring to Bill here. How well do you know your customers? Do any of the > schools or institutions you are targeting own an iOS Enterprise License. > These allow for in house development of apps, therefore no Apple approval > process so you can Splash Stack in iOS to your hearts content. It can be > financially sensible for a school to have an Enterprise License. If you > have 10 kids in a Coding Club who want to develop iOS apps then that's $990 > for individual licenses but if the School purchases an Enterprise License > it's only $299 shared between all members. Your hurdle is to be approved as > a Developer on their license but if you can, you can offer faster updates > and customise their Splash stack to be an image of their school emblem or > whatever to show that it's their App for their School/University/College. > This would also involve a different pricing strategy as you'd no longer be > selling to individuals and donating 30% to Apple's Old Age Retirement Fund, > but selling direct site licenses and possibly even site licenses that for > an extra $350 you'll set them up with an Apple Enterprise License so the CS > Students can have a go at developing iOS apps for a lot less cash. You'd > have to weigh that against advertisement potential of being in the Apple > Store. As I said, a curve ball. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From prothero at earthednet.org Tue Feb 10 01:36:38 2015 From: prothero at earthednet.org (William Prothero) Date: Mon, 9 Feb 2015 22:36:38 -0800 Subject: The Future of Animation in LiveCode In-Reply-To: <54D971B9.8000709@hindu.org> References: <54D971B9.8000709@hindu.org> Message-ID: <8EAC7B61-E840-40EF-8EB2-E254E227DA6F@earthednet.org> A physics engine would help a lot, in this regard. Many of the ?angry bird? type 2D games are made in Corona, which has physics from the get-go. I think that may be in the far future for LC. The whiteboard animations are interesting. Look at: http://www.videoscribe.co This seems the most reasonable system. If SVG files could be imported into LC, I don?t think it would be too hard to write an app in LC to do this. Combined with a screen capture program, it would do the job. The graphics would have to be vector graphics and a pen image could be programmed to follow the vector lines. Best, Bill > On Feb 9, 2015, at 6:49 PM, Brahmanathaswami wrote: > > I'm curious what insights there are into the future of animation in LiveCode. > > The adage that children are exposed to super high production values > (Think Disney, Entertainment Arts) is true, but at the same time I've seen kids/adults super fascinated with some pretty basic old style side scroller things. > > *if* the > > a) the plot line is good and > b) the graphics are high quality (gorgeous art/stills) > c) add a little sound... > > > But now we have Maya, Blender, Unity, etc... Scary learning curves! So I'm looking to stay inside LC for simple presentation animation. > > But Livecode is such a great platform for delivery of anything. > > Like the Unity adventure games that one of our young monks is building... new to our media team: he played lots of video games as a kid and has convinced us that he can do it.. and he is! terrain, characters and all... but time lines he's giving for getting something done are also scary "1 year.+" Yikes! > > Now if only we could only load and drive FBX assets inside LC that would be interesting. and a separate but related subject... what are the tools people use to do that thing of writing on a black/white board and having this appear in a view as if it were being written up as the speaker talks... > > I guess this is all about the player object in in LC which is still lagging... > > Swasti Astu, Be Well! > Brahmanathaswami > > Kauai's Hindu Monastery > www.HimalayanAcademy.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From mwieder at ahsoftware.net Tue Feb 10 02:05:54 2015 From: mwieder at ahsoftware.net (Mark Wieder) Date: Mon, 9 Feb 2015 23:05:54 -0800 Subject: [TIC: Tongue in Cheek] Re: IDE oddities (was Re: Error Messages Are Evil) In-Reply-To: <537540FE.5010004@fourthworld.com> References: <53753E53.4070900@tweedly.net> <537540FE.5010004@fourthworld.com> Message-ID: <28816403807.20150209230554@ahsoftware.net> Richard- Thursday, May 15, 2014, 2:34:38 PM, you wrote: > On another note, as I promised you last week I did ask Ben if RunRev > planned on open-sourcing the On-Rev real-time debugger. He's not sure > and will check with Kevin, but he did confirm my hunch that it requires > specific sockets open on the server so it won't be useful for anyone on > a shared host, only a dedicated server where they can run custom > daemons. I'll let you know when I hear back from him on that. > Also, he let me know that the developer working on it reports that he's > about a week or two away from completion. Nothing set in stone, of > course, because it's a busy place there with team members wearing > multiple hats, but at the moment things look promising for a rollout of > the new On-Rev debugger reasonably soon. (9 months later...) sadly, that seems to have died out. -- -Mark Wieder ahsoftware at gmail.com This communication may be unlawfully collected and stored by the National Security Agency (NSA) in secret. The parties to this email do not consent to the retrieving or storing of this communication and any related metadata, as well as printing, copying, re-transmitting, disseminating, or otherwise using it. If you believe you have received this communication in error, please delete it immediately. From dave at applicationinsight.com Tue Feb 10 04:32:49 2015 From: dave at applicationinsight.com (Dave Kilroy) Date: Tue, 10 Feb 2015 01:32:49 -0800 (PST) Subject: Photo Zoomer In-Reply-To: References: <54D91B46.8090401@hindu.org> Message-ID: <1423560769498-4688689.post@n4.nabble.com> Very nicely done Scott - I particularly liked the inspired 'jiggling' to preserve image quality :) ----- "Some are born coders, some achieve coding, and some have coding thrust upon them." - William Shakespeare & Hugh Senior -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/Photo-Zoomer-tp4688654p4688689.html Sent from the Revolution - User mailing list archive at Nabble.com. From mazzapaoloitaly at gmail.com Tue Feb 10 05:25:43 2015 From: mazzapaoloitaly at gmail.com (paolo mazza) Date: Tue, 10 Feb 2015 11:25:43 +0100 Subject: Record video with a webcam in Windows Message-ID: Hi all, is it possible to record video with a webcam through LC under Windows 8.1? According LC documentation VideoGrabber should work in Platforms: Desktop and Web and Supported Operating Systems are MAc and Windows . This question was asked some months ago but nobody answered. Any idea? All the best, Paolo Mazza From ali at runrev.com Tue Feb 10 05:49:00 2015 From: ali at runrev.com (Ali Lloyd) Date: Tue, 10 Feb 2015 10:49:00 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: It's not quite as fast as LC6, but I'm seeing a vast improvement here: On 10 February 2015 at 04:10, Kay C Lan wrote: > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon wrote: > > > It seems that what we've lost with unicode/7 is the speed of character > > references. > > > > See Ali Lloyd's earlier response that the LC team have been watching this > tread and it's clear that 'inefficient code' has been revealed. The LC team > are working on it and believe that for none Unicode chunking LC 7 should be > as fast as LC 6. There will be some slow down when Unicode is involved. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ali at runrev.com Tue Feb 10 05:50:11 2015 From: ali at runrev.com (Ali Lloyd) Date: Tue, 10 Feb 2015 10:50:11 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Apologies - hit send too early. 6.7.1 There are 2931 lines in tstart There are now 14655 lines in tstart revers(ta) took 427 ms qrevers(ta) took 6 ms Output OK krevers(ta) took 412 ms Output OK 7.0.2 + bugfix There are 2931 lines in tstart There are now 14655 lines in tstart revers(ta) took 142 ms qrevers(ta) took 32 ms Output OK krevers(ta) took 258 ms Output OK On 10 February 2015 at 04:10, Kay C Lan wrote: > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon wrote: > > > It seems that what we've lost with unicode/7 is the speed of character > > references. > > > > See Ali Lloyd's earlier response that the LC team have been watching this > tread and it's clear that 'inefficient code' has been revealed. The LC team > are working on it and believe that for none Unicode chunking LC 7 should be > as fast as LC 6. There will be some slow down when Unicode is involved. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From lan.kc.macmail at gmail.com Tue Feb 10 07:57:05 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Tue, 10 Feb 2015 20:57:05 +0800 Subject: [not quite OT] Serving a standalone In-Reply-To: <2BB281D9-3EAB-45E1-8BA7-6CC11F509081@earthednet.org> References: <7DBA4BA3-F77F-4C30-8803-CA5691862E4E@earthednet.org> <54D91855.8040602@fourthworld.com> <2BB281D9-3EAB-45E1-8BA7-6CC11F509081@earthednet.org> Message-ID: On Tue, Feb 10, 2015 at 2:30 PM, William Prothero wrote: > > So in between playing and practicing jazz keyboard, riding my bike, and > enjoying my wife?s company, I work on these coding projects, which give me > great satisfaction. > Well you know what they say about 'idle hands...' Looks like you have nothing to worry about:-) From MikeKerner at roadrunner.com Tue Feb 10 07:58:50 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 10 Feb 2015 07:58:50 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Well, that answers that question: Just trying to insert the data into the database takes 64 seconds for 10,000 lines. On Tue, Feb 10, 2015 at 5:50 AM, Ali Lloyd wrote: > Apologies - hit send too early. > > > 6.7.1 > > There are 2931 lines in tstart > > There are now 14655 lines in tstart > > revers(ta) took 427 ms > > qrevers(ta) took 6 ms > > Output OK > > krevers(ta) took 412 ms > > Output OK > > > 7.0.2 + bugfix > > There are 2931 lines in tstart > > There are now 14655 lines in tstart > > revers(ta) took 142 ms > > qrevers(ta) took 32 ms > > Output OK > > krevers(ta) took 258 ms > > Output OK > > On 10 February 2015 at 04:10, Kay C Lan wrote: > > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon > wrote: > > > > > It seems that what we've lost with unicode/7 is the speed of character > > > references. > > > > > > > See Ali Lloyd's earlier response that the LC team have been watching this > > tread and it's clear that 'inefficient code' has been revealed. The LC > team > > are working on it and believe that for none Unicode chunking LC 7 should > be > > as fast as LC 6. There will be some slow down when Unicode is involved. > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From ambassador at fourthworld.com Tue Feb 10 09:26:01 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 10 Feb 2015 06:26:01 -0800 Subject: Reverse a list In-Reply-To: References: Message-ID: <54DA14F9.807@fourthworld.com> Ali Lloyd wrote: > 6.7.1 > revers(ta) took 427 ms > qrevers(ta) took 6 ms > krevers(ta) took 412 ms > > 7.0.2 + bugfix > revers(ta) took 142 ms > qrevers(ta) took 32 ms > krevers(ta) took 258 ms Very exciting progress, Ali. Which v7 build is that? Is it one we have or one coming up? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From gcanyon at gmail.com Tue Feb 10 09:36:25 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Tue, 10 Feb 2015 08:36:25 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Yay, that's great news. Does LC 7 now do character references in constant (albeit a bit slower) time? Or linear? Or... On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd wrote: > Apologies - hit send too early. > > > 6.7.1 > > There are 2931 lines in tstart > > There are now 14655 lines in tstart > > revers(ta) took 427 ms > > qrevers(ta) took 6 ms > > Output OK > > krevers(ta) took 412 ms > > Output OK > > > 7.0.2 + bugfix > > There are 2931 lines in tstart > > There are now 14655 lines in tstart > > revers(ta) took 142 ms > > qrevers(ta) took 32 ms > > Output OK > > krevers(ta) took 258 ms > > Output OK > > On 10 February 2015 at 04:10, Kay C Lan wrote: > > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon > wrote: > > > > > It seems that what we've lost with unicode/7 is the speed of character > > > references. > > > > > > > See Ali Lloyd's earlier response that the LC team have been watching this > > tread and it's clear that 'inefficient code' has been revealed. The LC > team > > are working on it and believe that for none Unicode chunking LC 7 should > be > > as fast as LC 6. There will be some slow down when Unicode is involved. > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bonnmike at gmail.com Tue Feb 10 10:10:16 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Tue, 10 Feb 2015 08:10:16 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Mike K, are you wrapping the inserts in a begin/commit block? It makes a HUGE difference in speed. (otherwise, each is a separate transaction with all the overhead. If wrapped, its a single transaction, and so much faster. On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon wrote: > Yay, that's great news. Does LC 7 now do character references in constant > (albeit a bit slower) time? Or linear? Or... > > On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd wrote: > > > Apologies - hit send too early. > > > > > > 6.7.1 > > > > There are 2931 lines in tstart > > > > There are now 14655 lines in tstart > > > > revers(ta) took 427 ms > > > > qrevers(ta) took 6 ms > > > > Output OK > > > > krevers(ta) took 412 ms > > > > Output OK > > > > > > 7.0.2 + bugfix > > > > There are 2931 lines in tstart > > > > There are now 14655 lines in tstart > > > > revers(ta) took 142 ms > > > > qrevers(ta) took 32 ms > > > > Output OK > > > > krevers(ta) took 258 ms > > > > Output OK > > > > On 10 February 2015 at 04:10, Kay C Lan > wrote: > > > > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon > > wrote: > > > > > > > It seems that what we've lost with unicode/7 is the speed of > character > > > > references. > > > > > > > > > > See Ali Lloyd's earlier response that the LC team have been watching > this > > > tread and it's clear that 'inefficient code' has been revealed. The LC > > team > > > are working on it and believe that for none Unicode chunking LC 7 > should > > be > > > as fast as LC 6. There will be some slow down when Unicode is involved. > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bonnmike at gmail.com Tue Feb 10 10:11:26 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Tue, 10 Feb 2015 08:11:26 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Thanks Ali! On Tue, Feb 10, 2015 at 8:10 AM, Mike Bonner wrote: > Mike K, are you wrapping the inserts in a begin/commit block? It makes a > HUGE difference in speed. (otherwise, each is a separate transaction with > all the overhead. If wrapped, its a single transaction, and so much > faster. > > On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon wrote: > >> Yay, that's great news. Does LC 7 now do character references in constant >> (albeit a bit slower) time? Or linear? Or... >> >> On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd wrote: >> >> > Apologies - hit send too early. >> > >> > >> > 6.7.1 >> > >> > There are 2931 lines in tstart >> > >> > There are now 14655 lines in tstart >> > >> > revers(ta) took 427 ms >> > >> > qrevers(ta) took 6 ms >> > >> > Output OK >> > >> > krevers(ta) took 412 ms >> > >> > Output OK >> > >> > >> > 7.0.2 + bugfix >> > >> > There are 2931 lines in tstart >> > >> > There are now 14655 lines in tstart >> > >> > revers(ta) took 142 ms >> > >> > qrevers(ta) took 32 ms >> > >> > Output OK >> > >> > krevers(ta) took 258 ms >> > >> > Output OK >> > >> > On 10 February 2015 at 04:10, Kay C Lan >> wrote: >> > >> > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon >> > wrote: >> > > >> > > > It seems that what we've lost with unicode/7 is the speed of >> character >> > > > references. >> > > > >> > > >> > > See Ali Lloyd's earlier response that the LC team have been watching >> this >> > > tread and it's clear that 'inefficient code' has been revealed. The LC >> > team >> > > are working on it and believe that for none Unicode chunking LC 7 >> should >> > be >> > > as fast as LC 6. There will be some slow down when Unicode is >> involved. >> > > _______________________________________________ >> > > use-livecode mailing list >> > > use-livecode at lists.runrev.com >> > > Please visit this url to subscribe, unsubscribe and manage your >> > > subscription preferences: >> > > http://lists.runrev.com/mailman/listinfo/use-livecode >> > > >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode at lists.runrev.com >> > Please visit this url to subscribe, unsubscribe and manage your >> > subscription preferences: >> > http://lists.runrev.com/mailman/listinfo/use-livecode >> > >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From ali at runrev.com Tue Feb 10 10:28:39 2015 From: ali at runrev.com (Ali Lloyd) Date: Tue, 10 Feb 2015 15:28:39 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: > Which v7 build is that? Is it one we have or one coming up? I've just submitted the pull request so once it's reviewed it will be merged and appear in the next build, so hopefully 7.0.2 RC 3. > Does LC 7 now do character references in constant (albeit a bit slower) time? Or linear? Or... In theory it should, yes. When you get char x of a native string, as long as the engine remembers that it is native, (which was fixed for a few missing cases in bug 14504), it will act as if you used the codeunit chunk instead, with the corresponding benefit of constant-time access. Indeed this should also work for strings that the engine is storing as utf-16 which contain no combining characters or surrogate pairs. On 10 February 2015 at 15:11, Mike Bonner wrote: > Thanks Ali! > > On Tue, Feb 10, 2015 at 8:10 AM, Mike Bonner wrote: > > > Mike K, are you wrapping the inserts in a begin/commit block? It makes a > > HUGE difference in speed. (otherwise, each is a separate transaction with > > all the overhead. If wrapped, its a single transaction, and so much > > faster. > > > > On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon wrote: > > > >> Yay, that's great news. Does LC 7 now do character references in > constant > >> (albeit a bit slower) time? Or linear? Or... > >> > >> On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd wrote: > >> > >> > Apologies - hit send too early. > >> > > >> > > >> > 6.7.1 > >> > > >> > There are 2931 lines in tstart > >> > > >> > There are now 14655 lines in tstart > >> > > >> > revers(ta) took 427 ms > >> > > >> > qrevers(ta) took 6 ms > >> > > >> > Output OK > >> > > >> > krevers(ta) took 412 ms > >> > > >> > Output OK > >> > > >> > > >> > 7.0.2 + bugfix > >> > > >> > There are 2931 lines in tstart > >> > > >> > There are now 14655 lines in tstart > >> > > >> > revers(ta) took 142 ms > >> > > >> > qrevers(ta) took 32 ms > >> > > >> > Output OK > >> > > >> > krevers(ta) took 258 ms > >> > > >> > Output OK > >> > > >> > On 10 February 2015 at 04:10, Kay C Lan > >> wrote: > >> > > >> > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon > >> > wrote: > >> > > > >> > > > It seems that what we've lost with unicode/7 is the speed of > >> character > >> > > > references. > >> > > > > >> > > > >> > > See Ali Lloyd's earlier response that the LC team have been watching > >> this > >> > > tread and it's clear that 'inefficient code' has been revealed. The > LC > >> > team > >> > > are working on it and believe that for none Unicode chunking LC 7 > >> should > >> > be > >> > > as fast as LC 6. There will be some slow down when Unicode is > >> involved. > >> > > _______________________________________________ > >> > > use-livecode mailing list > >> > > use-livecode at lists.runrev.com > >> > > Please visit this url to subscribe, unsubscribe and manage your > >> > > subscription preferences: > >> > > http://lists.runrev.com/mailman/listinfo/use-livecode > >> > > > >> > _______________________________________________ > >> > use-livecode mailing list > >> > use-livecode at lists.runrev.com > >> > Please visit this url to subscribe, unsubscribe and manage your > >> > subscription preferences: > >> > http://lists.runrev.com/mailman/listinfo/use-livecode > >> > > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode at lists.runrev.com > >> Please visit this url to subscribe, unsubscribe and manage your > >> subscription preferences: > >> http://lists.runrev.com/mailman/listinfo/use-livecode > >> > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From MikeKerner at roadrunner.com Tue Feb 10 11:20:41 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 10 Feb 2015 11:20:41 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Mike B, no, I wasn't, proving once again that I don't know everything. Could you come over here, I need to do a mind meld. I'll mess with that in a minute. I was also going to see if mySQL was any different, but I haven't done it, yet. On Tue, Feb 10, 2015 at 10:28 AM, Ali Lloyd wrote: > > Which v7 build is that? Is it one we have or one coming up? > > I've just submitted the pull request so once it's reviewed it will be > merged and appear in the next build, so hopefully 7.0.2 RC 3. > > > Does LC 7 now do character references in constant (albeit a bit slower) > time? Or linear? Or... > > In theory it should, yes. When you get char x of a native string, as long > as the engine remembers that it is native, (which was fixed for a few > missing cases in bug 14504), it will act as if you used the codeunit chunk > instead, with the corresponding benefit of constant-time access. Indeed > this should also work for strings that the engine is storing as utf-16 > which contain no combining characters or surrogate pairs. > > On 10 February 2015 at 15:11, Mike Bonner wrote: > > > Thanks Ali! > > > > On Tue, Feb 10, 2015 at 8:10 AM, Mike Bonner wrote: > > > > > Mike K, are you wrapping the inserts in a begin/commit block? It > makes a > > > HUGE difference in speed. (otherwise, each is a separate transaction > with > > > all the overhead. If wrapped, its a single transaction, and so much > > > faster. > > > > > > On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon > wrote: > > > > > >> Yay, that's great news. Does LC 7 now do character references in > > constant > > >> (albeit a bit slower) time? Or linear? Or... > > >> > > >> On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd wrote: > > >> > > >> > Apologies - hit send too early. > > >> > > > >> > > > >> > 6.7.1 > > >> > > > >> > There are 2931 lines in tstart > > >> > > > >> > There are now 14655 lines in tstart > > >> > > > >> > revers(ta) took 427 ms > > >> > > > >> > qrevers(ta) took 6 ms > > >> > > > >> > Output OK > > >> > > > >> > krevers(ta) took 412 ms > > >> > > > >> > Output OK > > >> > > > >> > > > >> > 7.0.2 + bugfix > > >> > > > >> > There are 2931 lines in tstart > > >> > > > >> > There are now 14655 lines in tstart > > >> > > > >> > revers(ta) took 142 ms > > >> > > > >> > qrevers(ta) took 32 ms > > >> > > > >> > Output OK > > >> > > > >> > krevers(ta) took 258 ms > > >> > > > >> > Output OK > > >> > > > >> > On 10 February 2015 at 04:10, Kay C Lan > > >> wrote: > > >> > > > >> > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon > > > >> > wrote: > > >> > > > > >> > > > It seems that what we've lost with unicode/7 is the speed of > > >> character > > >> > > > references. > > >> > > > > > >> > > > > >> > > See Ali Lloyd's earlier response that the LC team have been > watching > > >> this > > >> > > tread and it's clear that 'inefficient code' has been revealed. > The > > LC > > >> > team > > >> > > are working on it and believe that for none Unicode chunking LC 7 > > >> should > > >> > be > > >> > > as fast as LC 6. There will be some slow down when Unicode is > > >> involved. > > >> > > _______________________________________________ > > >> > > use-livecode mailing list > > >> > > use-livecode at lists.runrev.com > > >> > > Please visit this url to subscribe, unsubscribe and manage your > > >> > > subscription preferences: > > >> > > http://lists.runrev.com/mailman/listinfo/use-livecode > > >> > > > > >> > _______________________________________________ > > >> > use-livecode mailing list > > >> > use-livecode at lists.runrev.com > > >> > Please visit this url to subscribe, unsubscribe and manage your > > >> > subscription preferences: > > >> > http://lists.runrev.com/mailman/listinfo/use-livecode > > >> > > > >> _______________________________________________ > > >> use-livecode mailing list > > >> use-livecode at lists.runrev.com > > >> Please visit this url to subscribe, unsubscribe and manage your > > >> subscription preferences: > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > >> > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From dochawk at gmail.com Tue Feb 10 11:35:32 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Tue, 10 Feb 2015 08:35:32 -0800 Subject: Postgres SSL connection? Message-ID: It appears that, for reasons I cannot begin to imagine, SSL is only supported for mySQL database connections, and not postgres. Is this correct? Does anyone know if there are plans to implement SSL for postgres? At the moment, it seems that my only options are to either accept the limitations of mySQL or to run a server on the postgres server that will keep a socket open an dlisten to it. The "usual" solution that I find of server-side scripts that open a database, run the query, and close it appear to be hard-core nonstarters--it seems to take a significant fraction of a second to open a database, even locally, and the queries every couple/few seconds need to remain transparent to the user. Writing to the socket with a return message has strong appeal, and is likely my best bet in any event, as it will allow the program to function on a laggy connection. Nonetheless, ssl for postgres seems not to be a feature request, but dealing with a massive security bug. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From bonnmike at gmail.com Tue Feb 10 11:58:21 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Tue, 10 Feb 2015 09:58:21 -0700 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: You can find an example that uses begin transaction, and commit with a repeat loop here: http://forums.livecode.com/viewtopic.php?f=7&t=14145&hilit=+transaction On Tue, Feb 10, 2015 at 9:20 AM, Mike Kerner wrote: > Mike B, no, I wasn't, proving once again that I don't know everything. > Could you come over here, I need to do a mind meld. I'll mess with that in > a minute. I was also going to see if mySQL was any different, but I > haven't done it, yet. > > > On Tue, Feb 10, 2015 at 10:28 AM, Ali Lloyd wrote: > > > > Which v7 build is that? Is it one we have or one coming up? > > > > I've just submitted the pull request so once it's reviewed it will be > > merged and appear in the next build, so hopefully 7.0.2 RC 3. > > > > > Does LC 7 now do character references in constant (albeit a bit slower) > > time? Or linear? Or... > > > > In theory it should, yes. When you get char x of a native string, as long > > as the engine remembers that it is native, (which was fixed for a few > > missing cases in bug 14504), it will act as if you used the codeunit > chunk > > instead, with the corresponding benefit of constant-time access. Indeed > > this should also work for strings that the engine is storing as utf-16 > > which contain no combining characters or surrogate pairs. > > > > On 10 February 2015 at 15:11, Mike Bonner wrote: > > > > > Thanks Ali! > > > > > > On Tue, Feb 10, 2015 at 8:10 AM, Mike Bonner > wrote: > > > > > > > Mike K, are you wrapping the inserts in a begin/commit block? It > > makes a > > > > HUGE difference in speed. (otherwise, each is a separate transaction > > with > > > > all the overhead. If wrapped, its a single transaction, and so much > > > > faster. > > > > > > > > On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon > > wrote: > > > > > > > >> Yay, that's great news. Does LC 7 now do character references in > > > constant > > > >> (albeit a bit slower) time? Or linear? Or... > > > >> > > > >> On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd wrote: > > > >> > > > >> > Apologies - hit send too early. > > > >> > > > > >> > > > > >> > 6.7.1 > > > >> > > > > >> > There are 2931 lines in tstart > > > >> > > > > >> > There are now 14655 lines in tstart > > > >> > > > > >> > revers(ta) took 427 ms > > > >> > > > > >> > qrevers(ta) took 6 ms > > > >> > > > > >> > Output OK > > > >> > > > > >> > krevers(ta) took 412 ms > > > >> > > > > >> > Output OK > > > >> > > > > >> > > > > >> > 7.0.2 + bugfix > > > >> > > > > >> > There are 2931 lines in tstart > > > >> > > > > >> > There are now 14655 lines in tstart > > > >> > > > > >> > revers(ta) took 142 ms > > > >> > > > > >> > qrevers(ta) took 32 ms > > > >> > > > > >> > Output OK > > > >> > > > > >> > krevers(ta) took 258 ms > > > >> > > > > >> > Output OK > > > >> > > > > >> > On 10 February 2015 at 04:10, Kay C Lan > > > > >> wrote: > > > >> > > > > >> > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon < > gcanyon at gmail.com > > > > > > >> > wrote: > > > >> > > > > > >> > > > It seems that what we've lost with unicode/7 is the speed of > > > >> character > > > >> > > > references. > > > >> > > > > > > >> > > > > > >> > > See Ali Lloyd's earlier response that the LC team have been > > watching > > > >> this > > > >> > > tread and it's clear that 'inefficient code' has been revealed. > > The > > > LC > > > >> > team > > > >> > > are working on it and believe that for none Unicode chunking LC > 7 > > > >> should > > > >> > be > > > >> > > as fast as LC 6. There will be some slow down when Unicode is > > > >> involved. > > > >> > > _______________________________________________ > > > >> > > use-livecode mailing list > > > >> > > use-livecode at lists.runrev.com > > > >> > > Please visit this url to subscribe, unsubscribe and manage your > > > >> > > subscription preferences: > > > >> > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > >> > > > > > >> > _______________________________________________ > > > >> > use-livecode mailing list > > > >> > use-livecode at lists.runrev.com > > > >> > Please visit this url to subscribe, unsubscribe and manage your > > > >> > subscription preferences: > > > >> > http://lists.runrev.com/mailman/listinfo/use-livecode > > > >> > > > > >> _______________________________________________ > > > >> use-livecode mailing list > > > >> use-livecode at lists.runrev.com > > > >> Please visit this url to subscribe, unsubscribe and manage your > > > >> subscription preferences: > > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > >> > > > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From ambassador at fourthworld.com Tue Feb 10 13:24:40 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 10 Feb 2015 10:24:40 -0800 Subject: [TIC: Tongue in Cheek] Re: IDE oddities (was Re: Error Messages Are Evil) In-Reply-To: <28816403807.20150209230554@ahsoftware.net> References: <28816403807.20150209230554@ahsoftware.net> Message-ID: <54DA4CE8.6080203@fourthworld.com> Mark Wieder wrote: > Richard- > > Thursday, May 15, 2014, 2:34:38 PM, you wrote: > >> On another note, as I promised you last week I did ask Ben if RunRev >> planned on open-sourcing the On-Rev real-time debugger. He's not sure >> and will check with Kevin, but he did confirm my hunch that it requires >> specific sockets open on the server so it won't be useful for anyone on >> a shared host, only a dedicated server where they can run custom >> daemons. I'll let you know when I hear back from him on that. > >> Also, he let me know that the developer working on it reports that he's >> about a week or two away from completion. Nothing set in stone, of >> course, because it's a busy place there with team members wearing >> multiple hats, but at the moment things look promising for a rollout of >> the new On-Rev debugger reasonably soon. > > > (9 months later...) sadly, that seems to have died out. My understanding is that the real-time debugger was reinstated on the On-Rev hosting service some months ago. If you're an On-Rev customer and don't see it available please write On-Rev support to find out when it will be installed on your server. I'd also be interested to know if there are any servers remaining there that don't have it, since I was under the impression it was rolled out service-wide some time ago. As for the open-source version, I spoke with Ben about that a few minutes ago, and he'll check with David there who's been the engineering lead to find out when the source will be posted to GitHub. One thing Ben noted, though, is that the nature of the real-time debugger will be of limited value to most LiveCode Server users, since it requires modifying the Apache environment. This makes it a non-starter for pretty much any shared hosting service, though it should be runnable on a dedicated server or VPS. I'll report back when I hear more on that open source build. -- Richard Gaskin LiveCode Community Manager richard at livecode.org From pete at lcsql.com Tue Feb 10 13:23:56 2015 From: pete at lcsql.com (Peter Haworth) Date: Tue, 10 Feb 2015 10:23:56 -0800 Subject: A computer science question Message-ID: I've managed to get by for many years without the benefit of any formal computer science training but I think I've finally run into a situation which is probably solvable by a computer science algorithm. I want to implement a database diagram feature in my SQLiteAdmin program with a graphic to represent each table and lines connecting tables that have a foreign key relationship. The first challenge was to arrange the tables in a series of levels with the tables that are not referenced in any foreign keys at the top the second level with tables that reference the top level, and so on. That I have figured out with a nice recursive handler. Now I'm faced with the issue of drawing the relationship lines. Currently the tables at each level are arranged in alphabetical order but that pretty much guarantees that a table graphic will not be in the optimal position to be connected to its parent table. For example, I'm looking at a diagram where the table at the top left needs a line drawn to the table at the bottom right. Ideally the table at the bottom right should be placed at the bottom left (or somewhere close) so the connecting line can drawn from it to the table at the top left. I'm guessing there is a computer science algorithm that will place the table graphics in the optimal position for the connection lines to be drawn. Can anyone point me to that algorithm? Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin From kee at kagi.com Tue Feb 10 13:48:48 2015 From: kee at kagi.com (kee nethery) Date: Tue, 10 Feb 2015 10:48:48 -0800 Subject: A computer science question In-Reply-To: References: Message-ID: This is exactly the problem faced by circuit board layout programs, and I?ve never seen an algorithm for it. You might want to look to see if there are any open source circuit board layout programs available out there and see how they do tracing layouts. Kee Nethery > On Feb 10, 2015, at 10:23 AM, Peter Haworth wrote: > > I want to implement a database diagram feature in my SQLiteAdmin program > with a graphic to represent each table and lines connecting tables that > have a foreign key relationship. > From ken at kencorey.com Tue Feb 10 14:01:16 2015 From: ken at kencorey.com (ken at kencorey.com) Date: Tue, 10 Feb 2015 19:01:16 +0000 Subject: =?utf-8?Q?Re:_A_computer_science_question?= In-Reply-To: References: Message-ID: I think you?re looking for a clever application of a ?Force-Directed Graph? drawing algorithm https://en.wikipedia.org/wiki/Force-directed_graph_drawing There are whole books to this field, but there?s a sample web page with an algorithm done in javascript here: http://getspringy.com -Ken Sent from Windows Mail From: Peter Haworth Sent: ?Tuesday?, ?10? ?February? ?2015 ?18?:?23 To: How to use LiveCode I've managed to get by for many years without the benefit of any formal computer science training but I think I've finally run into a situation which is probably solvable by a computer science algorithm. I want to implement a database diagram feature in my SQLiteAdmin program with a graphic to represent each table and lines connecting tables that have a foreign key relationship. The first challenge was to arrange the tables in a series of levels with the tables that are not referenced in any foreign keys at the top the second level with tables that reference the top level, and so on. That I have figured out with a nice recursive handler. Now I'm faced with the issue of drawing the relationship lines. Currently the tables at each level are arranged in alphabetical order but that pretty much guarantees that a table graphic will not be in the optimal position to be connected to its parent table. For example, I'm looking at a diagram where the table at the top left needs a line drawn to the table at the bottom right. Ideally the table at the bottom right should be placed at the bottom left (or somewhere close) so the connecting line can drawn from it to the table at the top left. I'm guessing there is a computer science algorithm that will place the table graphics in the optimal position for the connection lines to be drawn. Can anyone point me to that algorithm? Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From bodine at bodinetraininggames.com Tue Feb 10 14:26:43 2015 From: bodine at bodinetraininggames.com (tbodine) Date: Tue, 10 Feb 2015 11:26:43 -0800 (PST) Subject: The Future of Animation in LiveCode In-Reply-To: <54D971B9.8000709@hindu.org> References: <54D971B9.8000709@hindu.org> Message-ID: <1423596403774-4688707.post@n4.nabble.com> Lack of SVG import has hampered my animation efforts, though IIRC at the Q1 developers webinar Ben said this was expected in LC8. Bill, I was interested to see your comment in a different thread that you were displaying swfs in the new browser object. (So far I can't get that to work on a Mac using revBrowserOpenCef.) Is that working for you with sound and animated graphics? Maybe that's a temporary measure, but it leaves iOS apps out in the cold. Thanks, Tom Bodine -- View this message in context: http://runtime-revolution.278305.n4.nabble.com/The-Future-of-Animation-in-LiveCode-tp4688682p4688707.html Sent from the Revolution - User mailing list archive at Nabble.com. From stephenREVOLUTION2 at barncard.com Tue Feb 10 15:20:35 2015 From: stephenREVOLUTION2 at barncard.com (stephen barncard) Date: Tue, 10 Feb 2015 12:20:35 -0800 Subject: A computer science question In-Reply-To: <54da5624.8149e00a.7350.ffffb83eSMTPIN_ADDED_MISSING@mx.google.com> References: <54da5624.8149e00a.7350.ffffb83eSMTPIN_ADDED_MISSING@mx.google.com> Message-ID: On Tue, Feb 10, 2015 at 11:01 AM, wrote: > https://en.wikipedia.org/wiki/Force-directed_graph_drawing > what amazed me was not the concept as much as the fact that I understood most of what was explained. lol *--* *Stephen Barncard - San Francisco Ca. USA - Deeds Not Words* From bobsneidar at iotecdigital.com Tue Feb 10 16:57:30 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 10 Feb 2015 21:57:30 +0000 Subject: The Future of Animation in LiveCode In-Reply-To: <8EAC7B61-E840-40EF-8EB2-E254E227DA6F@earthednet.org> References: <54D971B9.8000709@hindu.org> <8EAC7B61-E840-40EF-8EB2-E254E227DA6F@earthednet.org> Message-ID: <6435EC15-E647-4586-A4FE-7C8967F8BB94@iotecdigital.com> I think LC would have to become a much more popular development environment first. Animation projects are typically pretty advanced, and to make that kind of investment in time and development effort, well how to say this? you will want assurances that the dev environment will be viable 5 even 10 years from now. Also, it would take a new slew of RunRev dev to produce it and maintain it. Hope that didn?t ruffle any feathers, but that is the cold hard truth about any dev application. It?s why there are very few businesses (if any) who have hired full time (or even contracted) LC developers, even though any company might be well advised to take that chance, since developing and updating customized applications tailored to their own workflows is so much easier. Until we can get over that critical mass hump, I do not think you will see that kind of innovation. My 2? Bob S On Feb 9, 2015, at 22:36 , William Prothero > wrote: A physics engine would help a lot, in this regard. Many of the ?angry bird? type 2D games are made in Corona, which has physics from the get-go. I think that may be in the far future for LC. From bobsneidar at iotecdigital.com Tue Feb 10 17:01:10 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 10 Feb 2015 22:01:10 +0000 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: Isn?t Postgres a file based system? Why would you need SSL for a file based connection? Bob S On Feb 10, 2015, at 08:35 , Dr. Hawkins > wrote: It appears that, for reasons I cannot begin to imagine, SSL is only supported for mySQL database connections, and not postgres. Is this correct? Does anyone know if there are plans to implement SSL for postgres? From bonnmike at gmail.com Tue Feb 10 17:08:29 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Tue, 10 Feb 2015 15:08:29 -0700 Subject: The Future of Animation in LiveCode In-Reply-To: <6435EC15-E647-4586-A4FE-7C8967F8BB94@iotecdigital.com> References: <54D971B9.8000709@hindu.org> <8EAC7B61-E840-40EF-8EB2-E254E227DA6F@earthednet.org> <6435EC15-E647-4586-A4FE-7C8967F8BB94@iotecdigital.com> Message-ID: Hopefully not too far in the future, since box2d was part of the met stretch goals. I can't wait! Ok, I guess I can due to lack of choice, but i'm truly looking forward to box2d being part of LC. On Tue, Feb 10, 2015 at 2:57 PM, Bob Sneidar wrote: > I think LC would have to become a much more popular development > environment first. Animation projects are typically pretty advanced, and to > make that kind of investment in time and development effort, well how to > say this? you will want assurances that the dev environment will be viable > 5 even 10 years from now. Also, it would take a new slew of RunRev dev to > produce it and maintain it. > > Hope that didn?t ruffle any feathers, but that is the cold hard truth > about any dev application. It?s why there are very few businesses (if any) > who have hired full time (or even contracted) LC developers, even though > any company might be well advised to take that chance, since developing and > updating customized applications tailored to their own workflows is so much > easier. > > Until we can get over that critical mass hump, I do not think you will see > that kind of innovation. > > My 2? > Bob S > > On Feb 9, 2015, at 22:36 , William Prothero > wrote: > > A physics engine would help a lot, in this regard. Many of the ?angry > bird? type 2D games are made in Corona, which has physics from the get-go. > I think that may be in the far future for LC. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Tue Feb 10 17:11:26 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 10 Feb 2015 22:11:26 +0000 Subject: A computer science question In-Reply-To: References: <54da5624.8149e00a.7350.ffffb83eSMTPIN_ADDED_MISSING@mx.google.com> Message-ID: I got it only because I have attempted to draw networking diagrams for fairly complex networks. Try diagraming which Vlans are communicating on which uplinks. I ended up drawing colored lines between the switches, each color representing a different Vlan. It worked, but it was all by hand. No algyryme thin gummy. Bob S > On Feb 10, 2015, at 12:20 , stephen barncard wrote: > > On Tue, Feb 10, 2015 at 11:01 AM, wrote: > >> https://en.wikipedia.org/wiki/Force-directed_graph_drawing >> > > what amazed me was not the concept as much as the fact that I understood > most of what was explained. lol > > *--* > *Stephen Barncard - San Francisco Ca. USA - Deeds Not Words* > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Tue Feb 10 17:17:04 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 10 Feb 2015 22:17:04 +0000 Subject: Configure.it In-Reply-To: References: Message-ID: <492101BD-0D0C-4358-BEC7-41AAFE2C5BD2@iotecdigital.com> Looks like a widget constructor set approach. No coding eh? I suppose that means no granular control over how the objects work. Bob S > On Feb 9, 2015, at 17:49 , Jim Lambert wrote: > > Has anyone used this mobile app dev platform? > http://www.configure.it > > If so, how is it? > > Thanks, > Jim Lambert > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From sc at sahores-conseil.com Tue Feb 10 17:34:17 2015 From: sc at sahores-conseil.com (Pierre Sahores) Date: Tue, 10 Feb 2015 23:34:17 +0100 Subject: Configure.it In-Reply-To: <492101BD-0D0C-4358-BEC7-41AAFE2C5BD2@iotecdigital.com> References: <492101BD-0D0C-4358-BEC7-41AAFE2C5BD2@iotecdigital.com> Message-ID: And at $US 490 / month peer 10 mobinaut's users of a single app ... Le 10 f?vr. 2015 ? 23:17, Bob Sneidar a ?crit : > Looks like a widget constructor set approach. No coding eh? I suppose that means no granular control over how the objects work. > > Bob S > > >> On Feb 9, 2015, at 17:49 , Jim Lambert wrote: >> >> Has anyone used this mobile app dev platform? >> http://www.configure.it >> >> If so, how is it? >> >> Thanks, >> Jim Lambert >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- Pierre Sahores mobile : 06 03 95 77 70 www.sahores-conseil.com From bobsneidar at iotecdigital.com Tue Feb 10 18:09:18 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 10 Feb 2015 23:09:18 +0000 Subject: Configure.it In-Reply-To: References: <492101BD-0D0C-4358-BEC7-41AAFE2C5BD2@iotecdigital.com> Message-ID: <8A8A32C0-76EF-4B3E-830E-3EE843AB6845@iotecdigital.com> What is a mobinaut? Bob S On Feb 10, 2015, at 14:34 , Pierre Sahores > wrote: And at $US 490 / month peer 10 mobinaut's users of a single app ... Le 10 f?vr. 2015 ? 23:17, Bob Sneidar > a ?crit : Looks like a widget constructor set approach. No coding eh? I suppose that means no granular control over how the objects work. Bob S On Feb 9, 2015, at 17:49 , Jim Lambert > wrote: Has anyone used this mobile app dev platform? http://www.configure.it If so, how is it? Thanks, Jim Lambert _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From jiml at netrin.com Tue Feb 10 18:15:39 2015 From: jiml at netrin.com (Jim Lambert) Date: Tue, 10 Feb 2015 15:15:39 -0800 Subject: [OT] Configure.it In-Reply-To: References: Message-ID: <6D3A0363-3500-4C35-8171-54ED3A7EE84B@netrin.com> > Pierre wrote: > > And at $US 490 / month peer 10 mobinaut's users of a single app ? I sure hope they mean users of the authoring tool, not end users! I wonder if that business model of providing a platform would work for RunRev? Jim Lambert From andrew at ctech.me Tue Feb 10 18:37:30 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Tue, 10 Feb 2015 17:37:30 -0600 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: A file-based database (most of them are unless you are talking about memory-only stores like memcache, redis, etc. which also still use networking layers) can still uses a network layer to provide access and security for a client. Aside from embedded ones, this is how they work. Doc Hawk, Is your server side component something that would run on a clients machine or will you forever be in charge of the potential server side of it? Put differently, is the server side component something you intend to ship for end users to host themselves or are you wanting to run that side of it? Depending on the answer, you've got some options. Regards. Andrew Kluthe On Tue, Feb 10, 2015 at 4:01 PM, Bob Sneidar wrote: > Isn?t Postgres a file based system? Why would you need SSL for a file > based connection? > > Bob S > > > On Feb 10, 2015, at 08:35 , Dr. Hawkins dochawk at gmail.com>> wrote: > > It appears that, for reasons I cannot begin to imagine, SSL is only > supported for mySQL database connections, and not postgres. > > Is this correct? Does anyone know if there are plans to implement SSL for > postgres? > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From andrew at ctech.me Tue Feb 10 18:41:41 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Tue, 10 Feb 2015 17:41:41 -0600 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: Also, yes, it's just not supported. I wouldn't count on getting it supported anytime real soon. We might have a chance at DIY support once the widget architecture ships, if it still intends to be able to wrap other 3rd party libs like externals try to do for us now. Andrew On Tue, Feb 10, 2015 at 10:35 AM, Dr. Hawkins wrote: > It appears that, for reasons I cannot begin to imagine, SSL is only > supported for mySQL database connections, and not postgres. > > Is this correct? Does anyone know if there are plans to implement SSL for > postgres? > > At the moment, it seems that my only options are to either accept the > limitations of mySQL or to run a server on the postgres server that will > keep a socket open an dlisten to it. > > The "usual" solution that I find of server-side scripts that open a > database, run the query, and close it appear to be hard-core > nonstarters--it seems to take a significant fraction of a second to open a > database, even locally, and the queries every couple/few seconds need to > remain transparent to the user. > > Writing to the socket with a return message has strong appeal, and is > likely my best bet in any event, as it will allow the program to function > on a laggy connection. > > Nonetheless, ssl for postgres seems not to be a feature request, but > dealing with a massive security bug. > > -- > Dr. Richard E. Hawkins, Esq. > (702) 508-8462 > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From ambassador at fourthworld.com Tue Feb 10 19:20:05 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 10 Feb 2015 16:20:05 -0800 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: <54DAA035.60801@fourthworld.com> Andrew Kluthe wrote: > Also, yes, it's just not supported. I wouldn't count on getting it > supported anytime real soon. We might have a chance at DIY support once the > widget architecture ships, if it still intends to be able to wrap other 3rd > party libs like externals try to do for us now. Famous last words, I know, but I'm curious: assuming it's just a socket connection, how hard can it be? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From bobsneidar at iotecdigital.com Tue Feb 10 19:33:15 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 11 Feb 2015 00:33:15 +0000 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: IC, no I mean a *local* file, like sqLite. But I take you to mean that Postgres is socket based. Bob S On Feb 10, 2015, at 15:37 , Andrew Kluthe > wrote: A file-based database (most of them are unless you are talking about memory-only stores like memcache, redis, etc. which also still use networking layers) can still uses a network layer to provide access and security for a client. Aside from embedded ones, this is how they work. From andrew at ctech.me Tue Feb 10 19:58:53 2015 From: andrew at ctech.me (Andrew Kluthe) Date: Tue, 10 Feb 2015 18:58:53 -0600 Subject: Postgres SSL connection? In-Reply-To: <54DAA035.60801@fourthworld.com> References: <54DAA035.60801@fourthworld.com> Message-ID: And they even have some nice documentation on the protocol, implementing it all with livecode might prove to be a bit non-trivial. There are some nice libs for talking to it that might be a be a bit easier than talking it to it in pure livecode. I'm just in the camp of holding off on making new platform specific externals with the externals api we currently have until we see what this new replacement is going to look like. On Tue, Feb 10, 2015 at 6:20 PM, Richard Gaskin wrote: > Andrew Kluthe wrote: > >> Also, yes, it's just not supported. I wouldn't count on getting it >> supported anytime real soon. We might have a chance at DIY support once >> the >> widget architecture ships, if it still intends to be able to wrap other >> 3rd >> party libs like externals try to do for us now. >> > > Famous last words, I know, but I'm curious: assuming it's just a socket > connection, how hard can it be? > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- Regards, Andrew Kluthe andrew at ctech.me From pete at lcsql.com Tue Feb 10 20:50:06 2015 From: pete at lcsql.com (Peter Haworth) Date: Tue, 10 Feb 2015 17:50:06 -0800 Subject: A computer science question In-Reply-To: <54da5624.e1edc20a.1297.ffffd59eSMTPIN_ADDED_MISSING@mx.google.com> References: <54da5624.e1edc20a.1297.ffffd59eSMTPIN_ADDED_MISSING@mx.google.com> Message-ID: Thanks Ken, trying to understand it! I guess the vertices would be tables and the edges would be pairs of tables with a foreign key relationship. The lightbulb for me is that the table objects don't need to be in rows and columns, they are positioned in the best place for the lines that join them. Now all I need to is learn js so I can translate it to lc! Pete lcSQL Software On Feb 10, 2015 11:04 AM, wrote: > I think you?re looking for a clever application of a ?Force-Directed > Graph? drawing algorithm > > https://en.wikipedia.org/wiki/Force-directed_graph_drawing > > > There are whole books to this field, but there?s a sample web page with an > algorithm done in javascript here: > > http://getspringy.com > > > -Ken > > > > > > > Sent from Windows Mail > > > > > > From: Peter Haworth > Sent: ?Tuesday?, ?10? ?February? ?2015 ?18?:?23 > To: How to use LiveCode > > > > > > I've managed to get by for many years without the benefit of any formal > computer science training but I think I've finally run into a situation > which is probably solvable by a computer science algorithm. > > I want to implement a database diagram feature in my SQLiteAdmin program > with a graphic to represent each table and lines connecting tables that > have a foreign key relationship. > > The first challenge was to arrange the tables in a series of levels with > the tables that are not referenced in any foreign keys at the top the > second level with tables that reference the top level, and so on. That I > have figured out with a nice recursive handler. > > Now I'm faced with the issue of drawing the relationship lines. Currently > the tables at each level are arranged in alphabetical order but that pretty > much guarantees that a table graphic will not be in the optimal position to > be connected to its parent table. > > For example, I'm looking at a diagram where the table at the top left needs > a line drawn to the table at the bottom right. Ideally the table at the > bottom right should be placed at the bottom left (or somewhere close) so > the connecting line can drawn from it to the table at the top left. > > I'm guessing there is a computer science algorithm that will place the > table graphics in the optimal position for the connection lines to be > drawn. Can anyone point me to that algorithm? > > Pete > lcSQL Software > Home of lcStackBrowser and > SQLiteAdmin > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From sc at sahores-conseil.com Tue Feb 10 21:00:23 2015 From: sc at sahores-conseil.com (Pierre Sahores) Date: Wed, 11 Feb 2015 03:00:23 +0100 Subject: Configure.it In-Reply-To: <8A8A32C0-76EF-4B3E-830E-3EE843AB6845@iotecdigital.com> References: <492101BD-0D0C-4358-BEC7-41AAFE2C5BD2@iotecdigital.com> <8A8A32C0-76EF-4B3E-830E-3EE843AB6845@iotecdigital.com> Message-ID: <21F8BBBD-5F99-43D7-B6F0-8081CA23CEA5@sahores-conseil.com> In french, ? Mobinaute ? means mobile phone user ... Le 11 f?vr. 2015 ? 00:09, Bob Sneidar a ?crit : > What is a mobinaut? > > Bob S > > > On Feb 10, 2015, at 14:34 , Pierre Sahores > wrote: > > And at $US 490 / month peer 10 mobinaut's users of a single app ... > > Le 10 f?vr. 2015 ? 23:17, Bob Sneidar > a ?crit : > > Looks like a widget constructor set approach. No coding eh? I suppose that means no granular control over how the objects work. > > Bob S > > > On Feb 9, 2015, at 17:49 , Jim Lambert > wrote: > > Has anyone used this mobile app dev platform? > http://www.configure.it > > If so, how is it? > > Thanks, > Jim Lambert > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- Pierre Sahores mobile : 06 03 95 77 70 www.sahores-conseil.com From sc at sahores-conseil.com Tue Feb 10 21:02:11 2015 From: sc at sahores-conseil.com (Pierre Sahores) Date: Wed, 11 Feb 2015 03:02:11 +0100 Subject: [OT] Configure.it In-Reply-To: <6D3A0363-3500-4C35-8171-54ED3A7EE84B@netrin.com> References: <6D3A0363-3500-4C35-8171-54ED3A7EE84B@netrin.com> Message-ID: Hope you are right, Jim ! Le 11 f?vr. 2015 ? 00:15, Jim Lambert a ?crit : > >> Pierre wrote: >> >> And at $US 490 / month peer 10 mobinaut's users of a single app ? > > I sure hope they mean users of the authoring tool, not end users! > > I wonder if that business model of providing a platform would work for RunRev? > > Jim Lambert > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode -- Pierre Sahores mobile : 06 03 95 77 70 www.sahores-conseil.com From ray at linkit.com Tue Feb 10 21:19:11 2015 From: ray at linkit.com (Ray) Date: Tue, 10 Feb 2015 23:19:11 -0300 Subject: Script Editor Window All Goofed Up In-Reply-To: <5487386D.4080803@gmail.com> References: <5487386D.4080803@gmail.com> Message-ID: <54DABC1F.3000303@LinkIt.Com> I'm not sure how or even if I did this but suddenly I can't see the bottom of the script editor window. I can use the simple Find feature 'in the blind' but I can't get to the 'more options' part of Find and often I can't even see what was found. When I scroll, the scroll bars go off the window. The whole window is goofed up and there's no apparent way to fix it, reset it, etc. Anybody? From prothero at earthednet.org Tue Feb 10 21:31:42 2015 From: prothero at earthednet.org (William Prothero) Date: Tue, 10 Feb 2015 18:31:42 -0800 Subject: The Future of Animation in LiveCode In-Reply-To: <1423596403774-4688707.post@n4.nabble.com> References: <54D971B9.8000709@hindu.org> <1423596403774-4688707.post@n4.nabble.com> Message-ID: <3B3A51AE-E725-49E4-AFF4-9CAC216A0C59@earthednet.org> Tom: As far as I know, Apple still forbids browser plugins on iOS. So, Flash movies are out, but when HTML5 gets here, it should help a lot. My problem with Flash and revBrowserCEF was on the Mac, desktop. After loading up a Flash video from YouTube, the browser window won?t close and it seems to hang the IDE. Previously, it also crashed the standalone, but I haven?t tried that yet in 7.02(rc2). Bill > On Feb 10, 2015, at 11:26 AM, tbodine wrote: > > Lack of SVG import has hampered my animation efforts, though IIRC at the Q1 > developers webinar Ben said this was expected in LC8. > > Bill, I was interested to see your comment in a different thread that you > were displaying swfs in the new browser object. (So far I can't get that to > work on a Mac using revBrowserOpenCef.) Is that working for you with sound > and animated graphics? Maybe that's a temporary measure, but it leaves iOS > apps out in the cold. > > Thanks, > Tom Bodine > > > > -- > View this message in context: http://runtime-revolution.278305.n4.nabble.com/The-Future-of-Animation-in-LiveCode-tp4688682p4688707.html > Sent from the Revolution - User mailing list archive at Nabble.com. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From coiin at verizon.net Tue Feb 10 21:51:53 2015 From: coiin at verizon.net (Colin Holgate) Date: Tue, 10 Feb 2015 21:51:53 -0500 Subject: The Future of Animation in LiveCode In-Reply-To: <3B3A51AE-E725-49E4-AFF4-9CAC216A0C59@earthednet.org> References: <54D971B9.8000709@hindu.org> <1423596403774-4688707.post@n4.nabble.com> <3B3A51AE-E725-49E4-AFF4-9CAC216A0C59@earthednet.org> Message-ID: <041557CE-76E2-4D5D-8932-FE00ED0C143F@verizon.net> Flash Pro can publish to HTML5 Canvas and HTML5 WebGL (2D). It?s an extremely good option when it comes to creating animation rich interactive applications for iOS Safari. > On Feb 10, 2015, at 9:31 PM, William Prothero wrote: > > >As far as I know, Apple still forbids browser plugins on iOS. So, Flash movies are out, but when HTML5 gets here, it should help a lot. From brahma at hindu.org Tue Feb 10 23:01:12 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Tue, 10 Feb 2015 18:01:12 -1000 Subject: The Future of Animation in LiveCode In-Reply-To: <041557CE-76E2-4D5D-8932-FE00ED0C143F@verizon.net> References: <54D971B9.8000709@hindu.org> <1423596403774-4688707.post@n4.nabble.com> <3B3A51AE-E725-49E4-AFF4-9CAC216A0C59@earthednet.org> <041557CE-76E2-4D5D-8932-FE00ED0C143F@verizon.net> Message-ID: <54DAD408.2030603@hindu.org> Colin Holgate wrote: > Flash Pro can publish to HTML5 Canvas and HTML5 WebGL (2D). It?s an extremely good option when it comes to creating animation rich interactive applications for iOS Safari. How might such be incorporated in an LC app? only via the browser object... right? @ Bob Sneider: right, critical mass for a development environment for animation creation inside LC is probably not going to happen, though a physical engine would be nice... There are too many existing tools, both free and expensive (Blender, Unity) that are way, way out in front. OTOH: if LC could just, natively render/play them... that would be huge. I can get any number of animations created "outside" what I want is to be able to run them "inside" LC. i.e. perhaps extending the player object may be in the realm of doable. BR From coiin at verizon.net Tue Feb 10 23:28:06 2015 From: coiin at verizon.net (Colin Holgate) Date: Tue, 10 Feb 2015 23:28:06 -0500 Subject: The Future of Animation in LiveCode In-Reply-To: <54DAD408.2030603@hindu.org> References: <54D971B9.8000709@hindu.org> <1423596403774-4688707.post@n4.nabble.com> <3B3A51AE-E725-49E4-AFF4-9CAC216A0C59@earthednet.org> <041557CE-76E2-4D5D-8932-FE00ED0C143F@verizon.net> <54DAD408.2030603@hindu.org> Message-ID: I just tried a fairly demanding HTML5 Canvas game I programmed in Flash Pro, inside a revBrowser object. It worked fairly well. I didn?t yet try that on an iPad. BTW Unity 5 also exports to HTML5 WebGL (3D), so even if it takes a while for LiveCode to be a killer HTML5 development tool, there are other tools you can use to publish something that can play inside LiveCode stacks. From bonnmike at gmail.com Tue Feb 10 23:51:20 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Tue, 10 Feb 2015 21:51:20 -0700 Subject: Script Editor Window All Goofed Up In-Reply-To: <54DABC1F.3000303@LinkIt.Com> References: <5487386D.4080803@gmail.com> <54DABC1F.3000303@LinkIt.Com> Message-ID: Can you post a screenshot? Worst case, you can probably remove your preferences file and it'll force the editor window back to default, but i'm digging through the code/objects in the thing, maybe I can find a way to fix it without going that far. On Tue, Feb 10, 2015 at 7:19 PM, Ray wrote: > I'm not sure how or even if I did this but suddenly I can't see the bottom > of the script editor window. I can use the simple Find feature 'in the > blind' but I can't get to the 'more options' part of Find and often I can't > even see what was found. When I scroll, the scroll bars go off the > window. The whole window is goofed up and there's no apparent way to fix > it, reset it, etc. > > Anybody? > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From david at viral.academy Wed Feb 11 03:10:08 2015 From: david at viral.academy (David Bovill) Date: Wed, 11 Feb 2015 08:10:08 +0000 Subject: A computer science question References: <54da5624.e1edc20a.1297.ffffd59eSMTPIN_ADDED_MISSING@mx.google.com> Message-ID: Pete I did something similar a few years back. I managed to get fairly nice graphs using graphviz.org. I believe you will need to cluster your nodes via the first algorithm you mention then let the hierarchical (not force) graphviz algo do its magic. David On Wed, 11 Feb 2015 at 01:50, Peter Haworth wrote: > Thanks Ken, trying to understand it! I guess the vertices would be tables > and the edges would be pairs of tables with a foreign key relationship. > > The lightbulb for me is that the table objects don't need to be in rows and > columns, they are positioned in the best place for the lines that join > them. > > Now all I need to is learn js so I can translate it to lc! > > Pete > lcSQL Software > On Feb 10, 2015 11:04 AM, wrote: > > > I think you?re looking for a clever application of a ?Force-Directed > > Graph? drawing algorithm > > > > https://en.wikipedia.org/wiki/Force-directed_graph_drawing > > > > > > There are whole books to this field, but there?s a sample web page with > an > > algorithm done in javascript here: > > > > http://getspringy.com > > > > > > -Ken > > > > > > > > > > > > > > Sent from Windows Mail > > > > > > > > > > > > From: Peter Haworth > > Sent: ?Tuesday?, ?10? ?February? ?2015 ?18?:?23 > > To: How to use LiveCode > > > > > > > > > > > > I've managed to get by for many years without the benefit of any formal > > computer science training but I think I've finally run into a situation > > which is probably solvable by a computer science algorithm. > > > > I want to implement a database diagram feature in my SQLiteAdmin program > > with a graphic to represent each table and lines connecting tables that > > have a foreign key relationship. > > > > The first challenge was to arrange the tables in a series of levels with > > the tables that are not referenced in any foreign keys at the top the > > second level with tables that reference the top level, and so on. That I > > have figured out with a nice recursive handler. > > > > Now I'm faced with the issue of drawing the relationship lines. > Currently > > the tables at each level are arranged in alphabetical order but that > pretty > > much guarantees that a table graphic will not be in the optimal position > to > > be connected to its parent table. > > > > For example, I'm looking at a diagram where the table at the top left > needs > > a line drawn to the table at the bottom right. Ideally the table at the > > bottom right should be placed at the bottom left (or somewhere close) so > > the connecting line can drawn from it to the table at the top left. > > > > I'm guessing there is a computer science algorithm that will place the > > table graphics in the optimal position for the connection lines to be > > drawn. Can anyone point me to that algorithm? > > > > Pete > > lcSQL Software > > Home of lcStackBrowser and > > SQLiteAdmin > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From peter.brett at livecode.com Wed Feb 11 04:28:15 2015 From: peter.brett at livecode.com (Peter TB Brett) Date: Wed, 11 Feb 2015 10:28:15 +0100 Subject: A computer science question In-Reply-To: References: Message-ID: <37c9c4f2bc47a44eb7f9deb57db5794a@livecode.com> On 2015-02-10 19:48, kee nethery wrote: > This is exactly the problem faced by circuit board layout programs, > and I?ve never seen an algorithm for it. > > You might want to look to see if there are any open source circuit > board layout programs available out there and see how they do tracing > layouts. > The "pcb" free software layout program has a topographic autorouter. http://git.geda-project.org/pcb/tree/src/toporouter.c Peter -- Dr Peter Brett LiveCode Engine Development Team From MikeKerner at roadrunner.com Wed Feb 11 07:51:37 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 11 Feb 2015 07:51:37 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: With sqlite on my box, doing the inserts via a transction took the time down to 36 seconds from 64, still not good enough. On Tue, Feb 10, 2015 at 11:58 AM, Mike Bonner wrote: > You can find an example that uses begin transaction, and commit with a > repeat loop here: > http://forums.livecode.com/viewtopic.php?f=7&t=14145&hilit=+transaction > > On Tue, Feb 10, 2015 at 9:20 AM, Mike Kerner > wrote: > > > Mike B, no, I wasn't, proving once again that I don't know everything. > > Could you come over here, I need to do a mind meld. I'll mess with that > in > > a minute. I was also going to see if mySQL was any different, but I > > haven't done it, yet. > > > > > > On Tue, Feb 10, 2015 at 10:28 AM, Ali Lloyd wrote: > > > > > > Which v7 build is that? Is it one we have or one coming up? > > > > > > I've just submitted the pull request so once it's reviewed it will be > > > merged and appear in the next build, so hopefully 7.0.2 RC 3. > > > > > > > Does LC 7 now do character references in constant (albeit a bit > slower) > > > time? Or linear? Or... > > > > > > In theory it should, yes. When you get char x of a native string, as > long > > > as the engine remembers that it is native, (which was fixed for a few > > > missing cases in bug 14504), it will act as if you used the codeunit > > chunk > > > instead, with the corresponding benefit of constant-time access. Indeed > > > this should also work for strings that the engine is storing as utf-16 > > > which contain no combining characters or surrogate pairs. > > > > > > On 10 February 2015 at 15:11, Mike Bonner wrote: > > > > > > > Thanks Ali! > > > > > > > > On Tue, Feb 10, 2015 at 8:10 AM, Mike Bonner > > wrote: > > > > > > > > > Mike K, are you wrapping the inserts in a begin/commit block? It > > > makes a > > > > > HUGE difference in speed. (otherwise, each is a separate > transaction > > > with > > > > > all the overhead. If wrapped, its a single transaction, and so > much > > > > > faster. > > > > > > > > > > On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon > > > wrote: > > > > > > > > > >> Yay, that's great news. Does LC 7 now do character references in > > > > constant > > > > >> (albeit a bit slower) time? Or linear? Or... > > > > >> > > > > >> On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd > wrote: > > > > >> > > > > >> > Apologies - hit send too early. > > > > >> > > > > > >> > > > > > >> > 6.7.1 > > > > >> > > > > > >> > There are 2931 lines in tstart > > > > >> > > > > > >> > There are now 14655 lines in tstart > > > > >> > > > > > >> > revers(ta) took 427 ms > > > > >> > > > > > >> > qrevers(ta) took 6 ms > > > > >> > > > > > >> > Output OK > > > > >> > > > > > >> > krevers(ta) took 412 ms > > > > >> > > > > > >> > Output OK > > > > >> > > > > > >> > > > > > >> > 7.0.2 + bugfix > > > > >> > > > > > >> > There are 2931 lines in tstart > > > > >> > > > > > >> > There are now 14655 lines in tstart > > > > >> > > > > > >> > revers(ta) took 142 ms > > > > >> > > > > > >> > qrevers(ta) took 32 ms > > > > >> > > > > > >> > Output OK > > > > >> > > > > > >> > krevers(ta) took 258 ms > > > > >> > > > > > >> > Output OK > > > > >> > > > > > >> > On 10 February 2015 at 04:10, Kay C Lan < > lan.kc.macmail at gmail.com > > > > > > > >> wrote: > > > > >> > > > > > >> > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon < > > gcanyon at gmail.com > > > > > > > > >> > wrote: > > > > >> > > > > > > >> > > > It seems that what we've lost with unicode/7 is the speed of > > > > >> character > > > > >> > > > references. > > > > >> > > > > > > > >> > > > > > > >> > > See Ali Lloyd's earlier response that the LC team have been > > > watching > > > > >> this > > > > >> > > tread and it's clear that 'inefficient code' has been > revealed. > > > The > > > > LC > > > > >> > team > > > > >> > > are working on it and believe that for none Unicode chunking > LC > > 7 > > > > >> should > > > > >> > be > > > > >> > > as fast as LC 6. There will be some slow down when Unicode is > > > > >> involved. > > > > >> > > _______________________________________________ > > > > >> > > use-livecode mailing list > > > > >> > > use-livecode at lists.runrev.com > > > > >> > > Please visit this url to subscribe, unsubscribe and manage > your > > > > >> > > subscription preferences: > > > > >> > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > >> > > > > > > >> > _______________________________________________ > > > > >> > use-livecode mailing list > > > > >> > use-livecode at lists.runrev.com > > > > >> > Please visit this url to subscribe, unsubscribe and manage your > > > > >> > subscription preferences: > > > > >> > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > >> > > > > > >> _______________________________________________ > > > > >> use-livecode mailing list > > > > >> use-livecode at lists.runrev.com > > > > >> Please visit this url to subscribe, unsubscribe and manage your > > > > >> subscription preferences: > > > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > >> > > > > > > > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at lists.runrev.com > > > > Please visit this url to subscribe, unsubscribe and manage your > > > > subscription preferences: > > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Wed Feb 11 08:16:24 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 11 Feb 2015 08:16:24 -0500 Subject: A computer science question In-Reply-To: <37c9c4f2bc47a44eb7f9deb57db5794a@livecode.com> References: <37c9c4f2bc47a44eb7f9deb57db5794a@livecode.com> Message-ID: If you don't want to reinvent the wheel, you could use Valentina. The Pro version has table graphs. On Wed, Feb 11, 2015 at 4:28 AM, Peter TB Brett wrote: > On 2015-02-10 19:48, kee nethery wrote: > >> This is exactly the problem faced by circuit board layout programs, >> and I?ve never seen an algorithm for it. >> >> You might want to look to see if there are any open source circuit >> board layout programs available out there and see how they do tracing >> layouts. >> >> > The "pcb" free software layout program has a topographic autorouter. > > http://git.geda-project.org/pcb/tree/src/toporouter.c > > Peter > > -- > Dr Peter Brett > LiveCode Engine Development Team > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From ray at linkit.com Wed Feb 11 08:18:12 2015 From: ray at linkit.com (Ray) Date: Wed, 11 Feb 2015 10:18:12 -0300 Subject: Script Editor Window All Goofed Up In-Reply-To: References: <5487386D.4080803@gmail.com> <54DABC1F.3000303@LinkIt.Com> Message-ID: <54DB5694.1080608@LinkIt.Com> Mike - thanks for this suggestion. I re-installed Livecode upgrading to RC2 in the process and it did not solve the problem. Then I deleted the preferences file and that did the trick. I wonder how the window got goofed up in the first place? Oh well, I know how to fix it in the future. Thanks! On 2/11/2015 1:51 AM, Mike Bonner wrote: > Can you post a screenshot? Worst case, you can probably remove your > preferences file and it'll force the editor window back to default, but i'm > digging through the code/objects in the thing, maybe I can find a way to > fix it without going that far. > > On Tue, Feb 10, 2015 at 7:19 PM, Ray wrote: > >> I'm not sure how or even if I did this but suddenly I can't see the bottom >> of the script editor window. I can use the simple Find feature 'in the >> blind' but I can't get to the 'more options' part of Find and often I can't >> even see what was found. When I scroll, the scroll bars go off the >> window. The whole window is goofed up and there's no apparent way to fix >> it, reset it, etc. >> >> Anybody? >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Wed Feb 11 09:07:45 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 11 Feb 2015 09:07:45 -0500 Subject: Script Editor Window All Goofed Up In-Reply-To: <54DB5694.1080608@LinkIt.Com> References: <5487386D.4080803@gmail.com> <54DABC1F.3000303@LinkIt.Com> <54DB5694.1080608@LinkIt.Com> Message-ID: Next time you run into it, email me. I'd like to get a look at the screenshot and your settings. I've found a couple of weird IDE bugs that I've been able to generate fixes for. On Wed, Feb 11, 2015 at 8:18 AM, Ray wrote: > Mike - thanks for this suggestion. I re-installed Livecode upgrading to > RC2 in the process and it did not solve the problem. Then I deleted the > preferences file and that did the trick. > > I wonder how the window got goofed up in the first place? Oh well, I know > how to fix it in the future. > > Thanks! > > > On 2/11/2015 1:51 AM, Mike Bonner wrote: > >> Can you post a screenshot? Worst case, you can probably remove your >> preferences file and it'll force the editor window back to default, but >> i'm >> digging through the code/objects in the thing, maybe I can find a way to >> fix it without going that far. >> >> On Tue, Feb 10, 2015 at 7:19 PM, Ray wrote: >> >> I'm not sure how or even if I did this but suddenly I can't see the >>> bottom >>> of the script editor window. I can use the simple Find feature 'in the >>> blind' but I can't get to the 'more options' part of Find and often I >>> can't >>> even see what was found. When I scroll, the scroll bars go off the >>> window. The whole window is goofed up and there's no apparent way to fix >>> it, reset it, etc. >>> >>> Anybody? >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From curry at pair.com Wed Feb 11 09:09:22 2015 From: curry at pair.com (Curry Kenworthy) Date: Wed, 11 Feb 2015 08:09:22 -0600 Subject: The Future of Animation in LiveCode In-Reply-To: <6435EC15-E647-4586-A4FE-7C8967F8BB94@iotecdigital.com> References: <6435EC15-E647-4586-A4FE-7C8967F8BB94@iotecdigital.com> Message-ID: <54DB6292.5070907@pair.com> People have been making games and some types of animation with LC/RR for over a decade, and progress will continue. No barriers if you choose the right project and build around the features. My nerve disease acts up during winter and makes it harder to type or talk, so releasing updates such as FT and WordLib will keep me busy for a while. But later this year I would like to start a game with current graphics, either for a client or for myself. Last year I did an LC 6 app containing animation and it ran acceptably even on the weakest Android hardware. And some Full HD testing to check LC game worthiness had decent results. LC's got the mojo. Best wishes, Curry Kenworthy Custom Software Development http://curryk.com/consulting/ From ray at linkit.com Wed Feb 11 09:10:26 2015 From: ray at linkit.com (Ray) Date: Wed, 11 Feb 2015 11:10:26 -0300 Subject: Script Editor Window All Goofed Up In-Reply-To: References: <5487386D.4080803@gmail.com> <54DABC1F.3000303@LinkIt.Com> <54DB5694.1080608@LinkIt.Com> Message-ID: <54DB62D2.8000809@LinkIt.Com> OK - I'll shoot you a snap shot if it happens again. On 2/11/2015 11:07 AM, Mike Kerner wrote: > Next time you run into it, email me. I'd like to get a look at the > screenshot and your settings. I've found a couple of weird IDE bugs that > I've been able to generate fixes for. > > On Wed, Feb 11, 2015 at 8:18 AM, Ray wrote: > >> Mike - thanks for this suggestion. I re-installed Livecode upgrading to >> RC2 in the process and it did not solve the problem. Then I deleted the >> preferences file and that did the trick. >> >> I wonder how the window got goofed up in the first place? Oh well, I know >> how to fix it in the future. >> >> Thanks! >> >> >> On 2/11/2015 1:51 AM, Mike Bonner wrote: >> >>> Can you post a screenshot? Worst case, you can probably remove your >>> preferences file and it'll force the editor window back to default, but >>> i'm >>> digging through the code/objects in the thing, maybe I can find a way to >>> fix it without going that far. >>> >>> On Tue, Feb 10, 2015 at 7:19 PM, Ray wrote: >>> >>> I'm not sure how or even if I did this but suddenly I can't see the >>>> bottom >>>> of the script editor window. I can use the simple Find feature 'in the >>>> blind' but I can't get to the 'more options' part of Find and often I >>>> can't >>>> even see what was found. When I scroll, the scroll bars go off the >>>> window. The whole window is goofed up and there's no apparent way to fix >>>> it, reset it, etc. >>>> >>>> Anybody? >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode at lists.runrev.com >>>> Please visit this url to subscribe, unsubscribe and manage your >>>> subscription preferences: >>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>>> >>>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > From MikeKerner at roadrunner.com Wed Feb 11 09:15:55 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Wed, 11 Feb 2015 09:15:55 -0500 Subject: The "FIX:" is in In-Reply-To: References: <183686904261.20140526093727@ahsoftware.net> <538398D2.5000403@fourthworld.com> Message-ID: Next FIX: posted: 14475 - Project Browser doesn't hold resize. Yeah, it's another tiny one, but hey, it'll be #2 for me... On Wed, Jul 30, 2014 at 11:43 AM, Mike Kerner wrote: > Well, my first FIX: has been updated to go into the next build, so it's > nice to see that this effort might be bearing some fruit, too. > > Now on to the script editor... > > > On Tue, May 27, 2014 at 9:36 AM, Mike Kerner > wrote: > >> Well, I certainly hope it is, since you and I both have one in, and I >> have another on the way... >> >> >> On Mon, May 26, 2014 at 3:41 PM, Richard Gaskin < >> ambassador at fourthworld.com> wrote: >> >>> Mark Wieder wrote: >>> >>> On May 18, 2014, at 10:19 PM, Mike Kerner wrote: >>>>> >>>> >>>> Well, here goes, now there are two ide "FIX:" reports. >>>>>> >>>>> >>>> Sorry, just catching up on past posts, but I couldn't resist: Are >>>>> we talking abut an "idee fixe" ?? >>>>> >>>> >>>> Pun aside, I also have no idea what this thread is about. >>>> >>> >>> I think he's referring to an EXPERIMENTAL protocol for submitting simple >>> IDE bug fixes, which I'd introduced here a few days ago: >>> >>> >>> I have to stress that this is experimental - it certainly does no harm >>> to provide fixes for simple things if you have the time, but it remains to >>> be seen if this is going to be a benefit on the RunRev side of things. >>> >>> -- >>> Richard Gaskin >>> LiveCode Community Manager >>> richard at livecode.org >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode at lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> >> >> -- >> On the first day, God created the heavens and the Earth >> On the second day, God created the oceans. >> On the third day, God put the animals on hold for a few hours, >> and did a little diving. >> And God said, "This is good." >> > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From dochawk at gmail.com Wed Feb 11 10:33:18 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 11 Feb 2015 07:33:18 -0800 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: On Tue, Feb 10, 2015 at 3:37 PM, Andrew Kluthe wrote: > Is your server side component something that would run on a clients machine > or will you forever be in charge of the potential server side of it? Put > differently, is the server side component something you intend to ship for > end users to host themselves or are you wanting to run that side of it? > Depending on the answer, you've got some options. > I intend for it to be available either way. At the moment, it happily runs on a postgres server installed on the local network. It also *can* talk to a remote server, but there's this "annoying" bit about clear text transmission . . . I want them to be able to either use their own server, or my servers. Asynchronous writing/response, though, would presumably be only on my servers, not theirs. (Until/unless either livecode gets multiple threading, or I switch platform, laggy connnections will be a user interface problem for me)) -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From dochawk at gmail.com Wed Feb 11 10:35:46 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 11 Feb 2015 07:35:46 -0800 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: On Tue, Feb 10, 2015 at 4:33 PM, Bob Sneidar wrote: > IC, no I mean a *local* file, like sqLite. But I take you to mean that > Postgres is socket based. > Postgres runs as a server, either to the localhost, or to the outside world. It can either accept a connection on a regular port, or it can accept ssl socket connections. It's configuration files can specify to accept either or both for any IP/user/db combination. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From dochawk at gmail.com Wed Feb 11 10:38:43 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 11 Feb 2015 07:38:43 -0800 Subject: Postgres SSL connection? In-Reply-To: References: Message-ID: On Tue, Feb 10, 2015 at 3:41 PM, Andrew Kluthe wrote: > Also, yes, it's just not supported. I wouldn't count on getting it > supported anytime real soon. > I find that mind-boggling, though. Once can argue its merits in comparison with Oracle (technical, political, commercial, and others, I suppose), but it seems to stand at least head, if not head and shoulders, above the other available choices for serious work, including mySQL. > We might have a chance at DIY support once the > widget architecture ships, if it still intends to be able to wrap other 3rd > party libs like externals try to do for us now. > This is an important enough interface, though, that it should be built in, rather than relying upon externals or libs . . . -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From ambassador at fourthworld.com Wed Feb 11 11:01:31 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 11 Feb 2015 08:01:31 -0800 Subject: The "FIX:" is in In-Reply-To: References: Message-ID: <54DB7CDB.3070904@fourthworld.com> Mike Kerner wrote: > Next FIX: posted: 14475 - Project Browser doesn't hold resize. Yeah, it's > another tiny one, but hey, it'll be #2 for me... Thanks for submitting that, Mike. Even small things like that help make the IDE more solid, so I appreciate your taking the time to post that. Ben's making some substantial revisions to the Project Browser for v8, but I suspect those changes won't affect the v7.x PB, so with any luck we may see that fix applied in v7.0.3. If you're wondering "Why not in 7.0.2"?, right now all non-critical issues are in freeze for 7.0.2 so the team can focus on delivering the fix for Apple's latest iOS change, the new requirement for 64-bit compatibility (which is awesome, since of course all iOS devices have more than 4GB RAM ). -- Richard Gaskin LiveCode Community Manager richard at livecode.org From pete at lcsql.com Wed Feb 11 11:38:13 2015 From: pete at lcsql.com (Peter Haworth) Date: Wed, 11 Feb 2015 08:38:13 -0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <4DA8C3FA-7539-406F-9687-B58376009842@lacscentre.co.uk> <6205E648-3AC4-40ED-8456-9C4C5E2CA045@lacscentre.co.uk> <54D96CA1.6090706@hyperactivesw.com> Message-ID: Hi Mike, I doubt the sqlite approach will be faster than the other algorithms, but 36 seconds is still way too long to insert 10,000 lines. Could you post your code? Pete lcSQL Software On Feb 11, 2015 4:52 AM, "Mike Kerner" wrote: > With sqlite on my box, doing the inserts via a transction took the time > down to 36 seconds from 64, still not good enough. > > On Tue, Feb 10, 2015 at 11:58 AM, Mike Bonner wrote: > > > You can find an example that uses begin transaction, and commit with a > > repeat loop here: > > http://forums.livecode.com/viewtopic.php?f=7&t=14145&hilit=+transaction > > > > On Tue, Feb 10, 2015 at 9:20 AM, Mike Kerner > > wrote: > > > > > Mike B, no, I wasn't, proving once again that I don't know everything. > > > Could you come over here, I need to do a mind meld. I'll mess with > that > > in > > > a minute. I was also going to see if mySQL was any different, but I > > > haven't done it, yet. > > > > > > > > > On Tue, Feb 10, 2015 at 10:28 AM, Ali Lloyd wrote: > > > > > > > > Which v7 build is that? Is it one we have or one coming up? > > > > > > > > I've just submitted the pull request so once it's reviewed it will be > > > > merged and appear in the next build, so hopefully 7.0.2 RC 3. > > > > > > > > > Does LC 7 now do character references in constant (albeit a bit > > slower) > > > > time? Or linear? Or... > > > > > > > > In theory it should, yes. When you get char x of a native string, as > > long > > > > as the engine remembers that it is native, (which was fixed for a few > > > > missing cases in bug 14504), it will act as if you used the codeunit > > > chunk > > > > instead, with the corresponding benefit of constant-time access. > Indeed > > > > this should also work for strings that the engine is storing as > utf-16 > > > > which contain no combining characters or surrogate pairs. > > > > > > > > On 10 February 2015 at 15:11, Mike Bonner > wrote: > > > > > > > > > Thanks Ali! > > > > > > > > > > On Tue, Feb 10, 2015 at 8:10 AM, Mike Bonner > > > wrote: > > > > > > > > > > > Mike K, are you wrapping the inserts in a begin/commit block? It > > > > makes a > > > > > > HUGE difference in speed. (otherwise, each is a separate > > transaction > > > > with > > > > > > all the overhead. If wrapped, its a single transaction, and so > > much > > > > > > faster. > > > > > > > > > > > > On Tue, Feb 10, 2015 at 7:36 AM, Geoff Canyon > > > > > wrote: > > > > > > > > > > > >> Yay, that's great news. Does LC 7 now do character references in > > > > > constant > > > > > >> (albeit a bit slower) time? Or linear? Or... > > > > > >> > > > > > >> On Tue, Feb 10, 2015 at 4:50 AM, Ali Lloyd > > wrote: > > > > > >> > > > > > >> > Apologies - hit send too early. > > > > > >> > > > > > > >> > > > > > > >> > 6.7.1 > > > > > >> > > > > > > >> > There are 2931 lines in tstart > > > > > >> > > > > > > >> > There are now 14655 lines in tstart > > > > > >> > > > > > > >> > revers(ta) took 427 ms > > > > > >> > > > > > > >> > qrevers(ta) took 6 ms > > > > > >> > > > > > > >> > Output OK > > > > > >> > > > > > > >> > krevers(ta) took 412 ms > > > > > >> > > > > > > >> > Output OK > > > > > >> > > > > > > >> > > > > > > >> > 7.0.2 + bugfix > > > > > >> > > > > > > >> > There are 2931 lines in tstart > > > > > >> > > > > > > >> > There are now 14655 lines in tstart > > > > > >> > > > > > > >> > revers(ta) took 142 ms > > > > > >> > > > > > > >> > qrevers(ta) took 32 ms > > > > > >> > > > > > > >> > Output OK > > > > > >> > > > > > > >> > krevers(ta) took 258 ms > > > > > >> > > > > > > >> > Output OK > > > > > >> > > > > > > >> > On 10 February 2015 at 04:10, Kay C Lan < > > lan.kc.macmail at gmail.com > > > > > > > > > >> wrote: > > > > > >> > > > > > > >> > > On Tue, Feb 10, 2015 at 11:58 AM, Geoff Canyon < > > > gcanyon at gmail.com > > > > > > > > > > >> > wrote: > > > > > >> > > > > > > > >> > > > It seems that what we've lost with unicode/7 is the speed > of > > > > > >> character > > > > > >> > > > references. > > > > > >> > > > > > > > > >> > > > > > > > >> > > See Ali Lloyd's earlier response that the LC team have been > > > > watching > > > > > >> this > > > > > >> > > tread and it's clear that 'inefficient code' has been > > revealed. > > > > The > > > > > LC > > > > > >> > team > > > > > >> > > are working on it and believe that for none Unicode chunking > > LC > > > 7 > > > > > >> should > > > > > >> > be > > > > > >> > > as fast as LC 6. There will be some slow down when Unicode > is > > > > > >> involved. > > > > > >> > > _______________________________________________ > > > > > >> > > use-livecode mailing list > > > > > >> > > use-livecode at lists.runrev.com > > > > > >> > > Please visit this url to subscribe, unsubscribe and manage > > your > > > > > >> > > subscription preferences: > > > > > >> > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > >> > > > > > > > >> > _______________________________________________ > > > > > >> > use-livecode mailing list > > > > > >> > use-livecode at lists.runrev.com > > > > > >> > Please visit this url to subscribe, unsubscribe and manage > your > > > > > >> > subscription preferences: > > > > > >> > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > >> > > > > > > >> _______________________________________________ > > > > > >> use-livecode mailing list > > > > > >> use-livecode at lists.runrev.com > > > > > >> Please visit this url to subscribe, unsubscribe and manage your > > > > > >> subscription preferences: > > > > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > >> > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > use-livecode mailing list > > > > > use-livecode at lists.runrev.com > > > > > Please visit this url to subscribe, unsubscribe and manage your > > > > > subscription preferences: > > > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at lists.runrev.com > > > > Please visit this url to subscribe, unsubscribe and manage your > > > > subscription preferences: > > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > > > > > > -- > > > On the first day, God created the heavens and the Earth > > > On the second day, God created the oceans. > > > On the third day, God put the animals on hold for a few hours, > > > and did a little diving. > > > And God said, "This is good." > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From Steven at UIInsight.com Wed Feb 11 12:35:13 2015 From: Steven at UIInsight.com (Steven Chalmers, UI Insight, Inc.) Date: Wed, 11 Feb 2015 10:35:13 -0700 Subject: Acceleration minus acceleration from rotation Message-ID: I have played with, and understand, accelerationChanged and rotationRateChanged but I have a complex requirement to remove the effect of rotation from acceleration. Imagine a phone lying on its back on the table. 1) I want the acceleration numbers generated from tapping the phone on its side which causes the phone to slide on the table, which is, of course, the easy part. 2) I want to eliminate the acceleration values generated from a rotation. With the phone lying on its back on the table lifting one side, pivoting on the opposite side of the phone on the table, will trigger both rotationRateChanged and accelerationChanged. accelerationChanged is triggered because the center of the phone is effectively moving both parallel to the table top and perpendicular to the table top as the phone is rotated. These are the acceleration effects I want to eliminate from accelerationChanged. 3) To put it another way, if you slide the phone along the table while also tilting it up on one side, or one end, or both, I only want the accelerationChanged values for the slide and not for the tilt. This is a complex math problem which is beyond my math skills. I don't expect anyone to offer this solution for free and as such I would be happy to compensate for a solution. Steven Chalmers UI Insight, Inc. From richmondmathewson at gmail.com Wed Feb 11 12:59:21 2015 From: richmondmathewson at gmail.com (Richmond) Date: Wed, 11 Feb 2015 19:59:21 +0200 Subject: Acceleration minus acceleration from rotation In-Reply-To: References: Message-ID: <54DB9879.5000803@gmail.com> On 11/02/15 19:35, Steven Chalmers, UI Insight, Inc. wrote: > I have played with, and understand, accelerationChanged and > rotationRateChanged but I have a complex requirement to remove the effect > of rotation from acceleration. > > Imagine a phone lying on its back on the table. > > 1) I want the acceleration numbers generated from tapping the phone on its > side which causes the phone to slide on the table, which is, of course, the > easy part. > > 2) I want to eliminate the acceleration values generated from a rotation. > With the phone lying on its back on the table lifting one side, pivoting on > the opposite side of the phone on the table, will trigger both > rotationRateChanged and accelerationChanged. accelerationChanged is > triggered because the center of the phone is effectively moving both > parallel to the table top and perpendicular to the table top as the phone > is rotated. These are the acceleration effects I want to eliminate from > accelerationChanged. > > 3) To put it another way, if you slide the phone along the table while > also tilting it up on one side, or one end, or both, I only want the > accelerationChanged values for the slide and not for the tilt. > > This is a complex math problem which is beyond my math skills. I don't > expect anyone to offer this solution for free and as such I would be happy > to compensate for a solution. > > > Steven Chalmers > UI Insight, Inc. > _______________________________________________ > I must be really stupid, but this message strikes me as a socking great leg-pull. So, here I am with my imaginary phone [ well a pink YEZZ phone if you want the truth ] lying on the kitchen table. My ever so slightly evil black and ginger cat flips the phone across the table. My phone does NOT react, NOR has any way of detecting the fact it has been moved. Now, let's step back a mo' and have a look at my iPad 1 [second hand, pitched at me by my second son who is so hi-tech it keeps me awake at night shaking . . . LOL] . . . now it can detect when I rotate it, so my desktop goes from portrait-to-landscape-to-portrait-to-landscape: wow, I can do that all afternoon; almost as orga***c as sitting in a launderette watching the laundry going round . . . but, I digress. What my iPad CANNOT do, is detect if it is moved across a surface, for the very SIMPLE reason that it doesn't have "little wheels" or other motion sensors on its underside [ err . . . backside?]. Now if I lift one side of my iPad and lift it up, so that the other side remains in contact with the table, the thing doesn't "see" that either. So . . . . . ??? Richmond. From coiin at verizon.net Wed Feb 11 13:04:50 2015 From: coiin at verizon.net (Colin Holgate) Date: Wed, 11 Feb 2015 13:04:50 -0500 Subject: Acceleration minus acceleration from rotation In-Reply-To: <54DB9879.5000803@gmail.com> References: <54DB9879.5000803@gmail.com> Message-ID: <4ADCC8C3-0C96-4BED-A0E6-88FCA81723D1@verizon.net> Later devices have gyroscopes, that can detect non-rotation movement. That may help solve the original problem. > On Feb 11, 2015, at 12:59 PM, Richmond wrote: > > >What my iPad CANNOT do, is detect if it is moved across a surface, for the very SIMPLE reason that it doesn't have > "little wheels" or other motion sensors on its underside [ err . . . backside?]. From bonnmike at gmail.com Wed Feb 11 13:06:51 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Wed, 11 Feb 2015 11:06:51 -0700 Subject: Acceleration minus acceleration from rotation In-Reply-To: <54DB9879.5000803@gmail.com> References: <54DB9879.5000803@gmail.com> Message-ID: The accelerometers in the device WILL pick up a linear movement. Tilting it, changes the acceleration in an axis in relation to the direction of gravity. But applying force against the inertia of the accelerometers will definitely be picked up. On Wed, Feb 11, 2015 at 10:59 AM, Richmond wrote: > On 11/02/15 19:35, Steven Chalmers, UI Insight, Inc. wrote: > >> I have played with, and understand, accelerationChanged and >> rotationRateChanged but I have a complex requirement to remove the effect >> of rotation from acceleration. >> >> Imagine a phone lying on its back on the table. >> >> 1) I want the acceleration numbers generated from tapping the phone on >> its >> side which causes the phone to slide on the table, which is, of course, >> the >> easy part. >> >> 2) I want to eliminate the acceleration values generated from a rotation. >> With the phone lying on its back on the table lifting one side, pivoting >> on >> the opposite side of the phone on the table, will trigger both >> rotationRateChanged and accelerationChanged. accelerationChanged is >> triggered because the center of the phone is effectively moving both >> parallel to the table top and perpendicular to the table top as the phone >> is rotated. These are the acceleration effects I want to eliminate from >> accelerationChanged. >> >> 3) To put it another way, if you slide the phone along the table while >> also tilting it up on one side, or one end, or both, I only want the >> accelerationChanged values for the slide and not for the tilt. >> >> This is a complex math problem which is beyond my math skills. I don't >> expect anyone to offer this solution for free and as such I would be happy >> to compensate for a solution. >> >> >> Steven Chalmers >> UI Insight, Inc. >> _______________________________________________ >> >> > I must be really stupid, but this message strikes me as a socking great > leg-pull. > > So, here I am with my imaginary phone [ well a pink YEZZ phone if you want > the truth ] lying on the > kitchen table. > > My ever so slightly evil black and ginger cat flips the phone across the > table. > > My phone does NOT react, NOR has any way of detecting the fact it has been > moved. > > Now, let's step back a mo' and have a look at my iPad 1 [second hand, > pitched at me by my second son who is so > hi-tech it keeps me awake at night shaking . . . LOL] . . . now it can > detect when I rotate it, so my desktop goes > from portrait-to-landscape-to-portrait-to-landscape: wow, I can do that > all afternoon; almost as orga***c as sitting > in a launderette watching the laundry going round . . . but, I digress. > > What my iPad CANNOT do, is detect if it is moved across a surface, for the > very SIMPLE reason that it doesn't have > "little wheels" or other motion sensors on its underside [ err . . . > backside?]. > > Now if I lift one side of my iPad and lift it up, so that the other side > remains in contact with the table, > the thing doesn't "see" that either. > > So . . . . . ??? > > Richmond. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From richmondmathewson at gmail.com Wed Feb 11 13:06:47 2015 From: richmondmathewson at gmail.com (Richmond) Date: Wed, 11 Feb 2015 20:06:47 +0200 Subject: Acceleration minus acceleration from rotation In-Reply-To: <4ADCC8C3-0C96-4BED-A0E6-88FCA81723D1@verizon.net> References: <54DB9879.5000803@gmail.com> <4ADCC8C3-0C96-4BED-A0E6-88FCA81723D1@verizon.net> Message-ID: <54DB9A37.5070806@gmail.com> On 11/02/15 20:04, Colin Holgate wrote: > Later devices have gyroscopes, that can detect non-rotation movement. That may help solve the original problem. > > >> On Feb 11, 2015, at 12:59 PM, Richmond wrote: >> >>> What my iPad CANNOT do, is detect if it is moved across a surface, for the very SIMPLE reason that it doesn't have >> "little wheels" or other motion sensors on its underside [ err . . . backside?]. > Well one thing I didn't mention in my previous message is that my cat has a gyroscope installed :) Richmond. From bonnmike at gmail.com Wed Feb 11 13:08:15 2015 From: bonnmike at gmail.com (Mike Bonner) Date: Wed, 11 Feb 2015 11:08:15 -0700 Subject: Acceleration minus acceleration from rotation In-Reply-To: <54DB9A37.5070806@gmail.com> References: <54DB9879.5000803@gmail.com> <4ADCC8C3-0C96-4BED-A0E6-88FCA81723D1@verizon.net> <54DB9A37.5070806@gmail.com> Message-ID: THATS why cats always manage to land on their feet. Good to know. On Wed, Feb 11, 2015 at 11:06 AM, Richmond wrote: > On 11/02/15 20:04, Colin Holgate wrote: > >> Later devices have gyroscopes, that can detect non-rotation movement. >> That may help solve the original problem. >> >> >> On Feb 11, 2015, at 12:59 PM, Richmond >>> wrote: >>> >>> What my iPad CANNOT do, is detect if it is moved across a surface, for >>>> the very SIMPLE reason that it doesn't have >>>> >>> "little wheels" or other motion sensors on its underside [ err . . . >>> backside?]. >>> >> >> > Well one thing I didn't mention in my previous message is that my cat has > a gyroscope installed :) > > Richmond. > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From gcanyon at gmail.com Wed Feb 11 13:18:50 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Wed, 11 Feb 2015 12:18:50 -0600 Subject: Acceleration minus acceleration from rotation In-Reply-To: <54DB9879.5000803@gmail.com> References: <54DB9879.5000803@gmail.com> Message-ID: On Wed, Feb 11, 2015 at 11:59 AM, Richmond wrote: > What my iPad CANNOT do, is detect if it is moved across a surface, for the > very SIMPLE reason that it doesn't have > "little wheels" or other motion sensors on its underside [ err . . . > backside?]. > AccelerationChanged delivers an X, Y, and Z parameters. If your cat slides the iPad perfectly to the right, you should see that two of the parameters (Y and Z?) stay at 0, but one of them (X?) changes, first to one sign (positive?) and then the other (negative?) as the iPad slows to a stop. If you're clever you can work out how far the iPad moved. To the larger question, rotationRateChanged also comes in X, Y, and Z params. Working out the math to isolate one from the other is indeed an interesting problem. From richmondmathewson at gmail.com Wed Feb 11 13:36:08 2015 From: richmondmathewson at gmail.com (Richmond) Date: Wed, 11 Feb 2015 20:36:08 +0200 Subject: Acceleration minus acceleration from rotation In-Reply-To: References: <54DB9879.5000803@gmail.com> <4ADCC8C3-0C96-4BED-A0E6-88FCA81723D1@verizon.net> <54DB9A37.5070806@gmail.com> Message-ID: <54DBA118.9070205@gmail.com> On 11/02/15 20:08, Mike Bonner wrote: > THATS why cats always manage to land on their feet. Good to know. > > I am tempted to access the Git-hub code repository and attempt a Livecode build for the Cat platform . . . the main thing that is stopping me is that certain programming terms are not ready for that platform, there are various commands that need to be implemented such as BITE Type: function Syntax: bite(biter,target,style,threshold) See also: lick, chew Introduced: 7.0.4 Platforms: Mobile Supported Operating Systems: Cat,Dog,Komodo Dragon Summary: Returns true if an object interacts with another object, false otherwise Examples: bite(myCat,myLeg,aggressively,fastOnset) if bite(myCat,myLeg) then kick(myLeg,myCat,viciously,fastOnset) else kill(myCat,cruelly,slowOnset) end if answer bite(myCat,yourLeg,sadistic,slowOnset) use the bite function to determine whether or how an agent bites a target. Parameters: biter - an agent reference target - an object reference style - aggressively,viciously,sadistic,gently,sarcastically threshold - fastOnset,slowOnset,gradualOnset Value: The bite function returns true or false. Comments: You have to be daft to attempt to program a cat. ------------------------------------------------- Feedback on this new set of functions welcomed. Richmond. From scott at tactilemedia.com Wed Feb 11 14:06:40 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Wed, 11 Feb 2015 11:06:40 -0800 Subject: Self Awareness? Message-ID: Does a control receive any message when it is pasted onto a card? I?m trying to figure out a way for a control (usually a group) to initialize some of its properties upon being pasted. Things like preOpenControl and openControl don?t appear to work. I know this can be done with a frontScript, but I?d prefer to detect a message in the control itself, if there is one. Thanks for any suggestions. Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design From klaus at major-k.de Wed Feb 11 14:10:12 2015 From: klaus at major-k.de (Klaus major-k) Date: Wed, 11 Feb 2015 20:10:12 +0100 Subject: Self Awareness? In-Reply-To: References: Message-ID: <6BD5B4C5-EF6D-4FD0-8EA9-98EE8CCF3A85@major-k.de> Hi Scott, > Am 11.02.2015 um 20:06 schrieb Scott Rossi : > > Does a control receive any message when it is pasted onto a card? > > I?m trying to figure out a way for a control (usually a group) to > initialize some of its properties upon being pasted. Things like > preOpenControl and openControl don?t appear to work. I know this can be > done with a frontScript, but I?d prefer to detect a message in the control > itself, if there is one. Check the dictionary for -> newgroup etc. Seems to fit your needs! :-) > Thanks for any suggestions. > > Regards, > > Scott Rossi > Creative Director > Tactile Media, UX/UI Design Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From eric at canelasoftware.com Wed Feb 11 14:10:53 2015 From: eric at canelasoftware.com (Eric Corbett) Date: Wed, 11 Feb 2015 11:10:53 -0800 Subject: Self Awareness? In-Reply-To: References: Message-ID: Try newBackground, newButton, new?, etc. Eric On Feb 11, 2015, at 11:06 AM, Scott Rossi wrote: > Does a control receive any message when it is pasted onto a card? > > I?m trying to figure out a way for a control (usually a group) to > initialize some of its properties upon being pasted. Things like > preOpenControl and openControl don?t appear to work. I know this can be > done with a frontScript, but I?d prefer to detect a message in the control > itself, if there is one. > > Thanks for any suggestions. > > Regards, > > Scott Rossi > Creative Director > Tactile Media, UX/UI Design > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From martyknappster at gmail.com Wed Feb 11 14:21:32 2015 From: martyknappster at gmail.com (Marty Knapp) Date: Wed, 11 Feb 2015 11:21:32 -0800 Subject: Self Awareness? In-Reply-To: References: Message-ID: <54DBABBC.5080901@gmail.com> Scott, See the following: newButton newImage newGraphic etc Marty K > Does a control receive any message when it is pasted onto a card? > > I?m trying to figure out a way for a control (usually a group) to > initialize some of its properties upon being pasted. Things like > preOpenControl and openControl don?t appear to work. I know this can be > done with a frontScript, but I?d prefer to detect a message in the control > itself, if there is one. > > Thanks for any suggestions. > > Regards, > > Scott Rossi > Creative Director > Tactile Media, UX/UI Design > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From scott at tactilemedia.com Wed Feb 11 14:33:14 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Wed, 11 Feb 2015 11:33:14 -0800 Subject: Self Awareness? In-Reply-To: <54DBABBC.5080901@gmail.com> References: <54DBABBC.5080901@gmail.com> Message-ID: Thanks for all the quick responses ? I didn?t realize the ?new? message was sent to the control itself, as opposed to the card. Special thanks to Klaus, whose response came in before my message even appeared! Best Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On 2/11/15, 11:21 AM, "Marty Knapp" wrote: >Scott, >See the following: > >newButton >newImage >newGraphic >etc > >Marty K >> Does a control receive any message when it is pasted onto a card? >> >> I?m trying to figure out a way for a control (usually a group) to >> initialize some of its properties upon being pasted. Things like >> preOpenControl and openControl don?t appear to work. I know this can be >> done with a frontScript, but I?d prefer to detect a message in the >>control >> itself, if there is one. >> >> Thanks for any suggestions. >> >> Regards, >> >> Scott Rossi >> Creative Director >> Tactile Media, UX/UI Design >> >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >>subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From brahma at hindu.org Wed Feb 11 14:41:35 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Wed, 11 Feb 2015 09:41:35 -1000 Subject: Guide for Building Mobile with LC Message-ID: <54DBB06F.6000703@hindu.org> Finally, after several years of server side coding, we are going to build an app in LC. I come with my begging bowl. I have a big of a learning curve in front of me and would like any advice for key resources to get started on the right foot. As far as UX strategy etc we have more than enough resources there... so while we create a Personas document (user stories/use cases) and prototype UI a wire frame tool... In the meantime I'm interested in a "course" on building mobile with LC.. e.g. what objects scale automatically, for every image that we put on the screen how many copies of that do we need. etc. Any links or advice for "go to" will be appreciaterdc. I'm going to start with Kevin's Demo... Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com From dunbarx at aol.com Wed Feb 11 14:47:37 2015 From: dunbarx at aol.com (dunbarx at aol.com) Date: Wed, 11 Feb 2015 14:47:37 -0500 Subject: Self Awareness? In-Reply-To: References: <54DBABBC.5080901@gmail.com> Message-ID: <8D2144AB9107328-1FF8-4849C@webmail-va001.sysops.aol.com> Special thanks to Klaus, whose response came in before my message even appeared! He is so annoying that way. Craig -----Original Message----- From: Scott Rossi To: LiveCode Mail List Sent: Wed, Feb 11, 2015 2:33 pm Subject: Re: Self Awareness? Thanks for all the quick responses ? I didn?t realize the ?new? message was sent to the control itself, as opposed to the card. Special thanks to Klaus, whose response came in before my message even appeared! Best Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On 2/11/15, 11:21 AM, "Marty Knapp" wrote: >Scott, >See the following: > >newButton >newImage >newGraphic >etc > >Marty K >> Does a control receive any message when it is pasted onto a card? >> >> I?m trying to figure out a way for a control (usually a group) to >> initialize some of its properties upon being pasted. Things like >> preOpenControl and openControl don?t appear to work. I know this can be >> done with a frontScript, but I?d prefer to detect a message in the >>control >> itself, if there is one. >> >> Thanks for any suggestions. >> >> Regards, >> >> Scott Rossi >> Creative Director >> Tactile Media, UX/UI Design >> >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >>subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From klaus at major-k.de Wed Feb 11 15:56:01 2015 From: klaus at major-k.de (Klaus major-k) Date: Wed, 11 Feb 2015 21:56:01 +0100 Subject: Self Awareness? In-Reply-To: <8D2144AB9107328-1FF8-4849C@webmail-va001.sysops.aol.com> References: <54DBABBC.5080901@gmail.com> <8D2144AB9107328-1FF8-4849C@webmail-va001.sysops.aol.com> Message-ID: <8FD82532-C659-4515-B3C5-A0E156FF7967@major-k.de> > Am 11.02.2015 um 20:47 schrieb dunbarx at aol.com: > > > Special thanks to Klaus, whose response came in before my message even > appeared! > > He is so annoying that way. So sorry! :-D :-D :-D > Craig Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From dochawk at gmail.com Wed Feb 11 17:25:33 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 11 Feb 2015 14:25:33 -0800 Subject: "accept" and socket read/write Message-ID: Am I reading the dictionary correctly? If I am, the accept command on the server end would use the same "read from socket" and "write from socket" commands as the client size uses? So when I client first connects to set up a connection, the callback message on the serer would be used for authentication, after which the success/failure of authentication would be sent with the "write to" command, and future callbacks would have stored that the authentication had occurred and therefore proceed to do a "whatever" with more read/write messages? And all of these seem to be SSL? Or do I have to supply my own encryption? And then for the down the road issues, assuming that I'd be running on multi-core servers, could the initial connection actually distribute to a process one of the *n* cores--perhaps by telling the client it's assigned IP/port, at which point it would authenticate again? -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From bobsneidar at iotecdigital.com Wed Feb 11 18:26:36 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 11 Feb 2015 23:26:36 +0000 Subject: Self Awareness? In-Reply-To: References: Message-ID: <3C21144E-1898-418B-86E5-F01105666ECB@iotecdigital.com> It?s my understanding of the message path that a background group will receive all messages before the card will. I suppose that is the place to intercept any message you want to process. Bob S > On Feb 11, 2015, at 11:06 , Scott Rossi wrote: > > Does a control receive any message when it is pasted onto a card? > > I?m trying to figure out a way for a control (usually a group) to > initialize some of its properties upon being pasted. Things like > preOpenControl and openControl don?t appear to work. I know this can be > done with a frontScript, but I?d prefer to detect a message in the control > itself, if there is one. > > Thanks for any suggestions. > > Regards, > > Scott Rossi > Creative Director > Tactile Media, UX/UI Design > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dochawk at gmail.com Wed Feb 11 18:45:26 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 11 Feb 2015 15:45:26 -0800 Subject: Set Script Limits in Standalones In-Reply-To: <2D1AF6BE-5A62-4A56-A496-CAE0705B952A@iotecdigital.com> References: <6688A027-9C3E-4E55-A481-EFE5869456D4@iotecdigital.com> <54C7C47D.3080801@fourthworld.com> <54C7CD36.5040405@LinkIt.Com> <8267579F-0A09-4CEC-9618-968E4563F905@earthednet.org> <2D1AF6BE-5A62-4A56-A496-CAE0705B952A@iotecdigital.com> Message-ID: On Thu, Feb 5, 2015 at 9:12 AM, Bob Sneidar wrote: > So, wait a minute. If an MD makes a mistake, people can die. So if a PhD > in Physics makes a mistake, does it alter the fabric of space/time? Or worse, Dr. Venkman . . . it could be *bad* -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From pete at lcsql.com Wed Feb 11 19:16:56 2015 From: pete at lcsql.com (Peter Haworth) Date: Wed, 11 Feb 2015 16:16:56 -0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: I just tried this with an in memory SQLite DB using 6.6.2 and 7.0.1. Results were pretty much identical in both cases. Here they are: Time to open in-memory db and create a table with one text column: zero milliseconds Time to load approx 100k rows into the db: 900 milliseconds Time to return the data into a variable sorted descending: 300 milliseconds So the times don't compare with the LC scripts that have been suggested. If I already had an SQLite database with the data in it then I'd use it for sure. It's one SELECT statement rather than quite a number of LC script lines so much easier to read, and pretty sure most users could not tell the difference between 300 milliseconds and the lower times from the very inventive scripts that have been suggested. Oh yes, and doesn't matter whether you're using LC 7 or something prior to that, although that problem appears to be a bug that is already being fixed. Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin On Mon, Feb 9, 2015 at 7:08 AM, Mike Bonner wrote: > I like the idea Mike K. > The slow part with the array method is rebuilding the list. Why not just > build the array, grab and reverse numeric sort the keys and use the data > directly from the array? For 80k lines, the split takes 24 ms. Putting the > keys into a variable, and reverse sorting them takes 2 ms (6.6.2) On > 7.0.1 the split takes 56ms, placing the keys and sorting them takes 11ms > total 67ms fastest, the nearest being sort with function at 125ms. After > that is repeat at over 2 sec and the broken by position at 22+ seconds. > > Unless the whole list will be spit back out for display purposes, how its > stored shouldn't matter right? > > Anyone up to test sqlite? In memory db should be pretty zippy I'd guess. > > > > On Mon, Feb 9, 2015 at 7:12 AM, Mike Kerner > wrote: > > > What about using an index, instead of the actual data? With the times > > quoted in 7, I wonder if using an SQLite or mySQL db would be faster. > > > > On Mon, Feb 9, 2015 at 7:03 AM, Dave Cragg > > wrote: > > > > > I tried an array method: > > > > > > > > > function arevers p > > > split p by cr > > > put empty into t > > > put the number of lines in the keys of p into tNumElems > > > repeat with i = tNumElems down to 1 > > > put p[i] & cr after t > > > end repeat > > > return t > > > end arevers > > > > > > This is slower than Alex's method in 6.0.2 (21 ms vs 9ms). And while > > > slower in 7.0.1, now much faster that Alex's method. (74 ms vs 446ms) > > > > > > The increase in speed of the "put before" method was interesting (from > > > 242ms to 92ms) > > > > > > > > > Cheers > > > Dave Cragg > > > > > > > > > > On 8 Feb 2015, at 23:37, Alex Tweedly wrote: > > > > > > > > Wow. I can see why LC7 would be expected to be slower for this case - > > in > > > the multi-byte Unicode world, char indexing isn't as simple as it used > to > > > be. BUT in this specific case, you can actually replace all use of > "char" > > > by "byte" and still be sure it works (ummm - except if the CR > equivalent > > > can be multi-byte - but I'll choose to ignore that :-) However, using > > > position by byte is just as slow !! > > > > > > > > I'll have to play around a bit more to see if I can fathom out why > that > > > should be. > > > > > > > > - -Alex. > > > > > > > > On 08/02/2015 23:18, Mike Bonner wrote: > > > >> Version 6.6.2, your "by position" method is by FAR the fastest 26 > > > millisec > > > >> for 80k lines. repeat takes almost 9 seconds. The sort function > > method > > > >> not passing text back and forth, takes 102 millisec which isn't > > > slouchy by > > > >> any means. > > > >> > > > >> Jump to version 7.0.1 and the by position method needs some major > > love. > > > >> The repeat method is almost twice as fast in 7, the sort without > > passing > > > >> the text method is within a few millisec of 6.6.2, and the by > position > > > >> method is unusable at 21 seconds. REALLY hope they get some > > > optimization > > > >> going soon. > > > >> > > > >> On Sun, Feb 8, 2015 at 3:37 PM, Alex Tweedly > > wrote: > > > >> > > > >>> Indeed. Jerry was (as usual) correct - if the engine can do it, > then > > > the > > > >>> engine will normally be faster. > > > >>> > > > >>> BUT sorting a list requires moving the data around quite a lot, AND > > > >>> sorting something that actually reverses it can be a pathologically > > bad > > > >>> case (e.g. if the engine uses any variant of quicksort()).. > > > >>> > > > >>> SO - take the original idea, and examine how it *might* be improved > > > ..... > > > >>> > > > >>> The problem here is that "put ... before ..." requires all existing > > > data > > > >>> in the destination container to be moved (i.e. copied) to make > space. > > > >>> > > > >>> SO, instead, we can use "put ... into char x to y of ..." - since > it > > > uses > > > >>> char indexing, it takes constant time (i.e. no scan, just directly > > > replace > > > >>> the chars. I've attached my complete code so anyone can try it > > easily > > > - > > > >>> for my test data of approx 8000 lines, this takes 8 msecs, versus > 588 > > > for > > > >>> the original version. > > > >>> > > > >>> -- Alex. > > > >>> > > > >>> on mouseup > > > >>> put fld "fldout" into tstart > > > >>> > > > >>> put tstart into ta > > > >>> repeat 200 times > > > >>> put tstart after ta > > > >>> end repeat > > > >>> put ta into tstart > > > >>> > > > >>> put the millisecs into t1 > > > >>> put revers(ta) into tb > > > >>> put the millisecs - t1 & CR after msg > > > >>> > > > >>> put tstart into ta > > > >>> put the millisecs into t1 > > > >>> put qrevers(ta) into tc > > > >>> put the millisecs - t1 & CR after msg > > > >>> > > > >>> if tb = tc then put "OK" after msg > > > >>> end mouseup > > > >>> > > > >>> function revers p > > > >>> repeat for each line l in p > > > >>> put L &CR before t > > > >>> end repeat > > > >>> return t > > > >>> end revers > > > >>> > > > >>> function qrevers p > > > >>> put p into t > > > >>> put the number of chars in t into tlen > > > >>> repeat for each line l in p > > > >>> put the number of chars in l into tl > > > >>> put l & cr into char (tLen-tl) to tLen of t > > > >>> subtract (tl+1) from tLen > > > >>> end repeat > > > >>> return t > > > >>> end qrevers > > > >>> > > > >>> > > > >>> On 08/02/2015 21:52, J. Landman Gay wrote: > > > >>> > > > >>>> Just tinkering around on a lazy Sunday, and I thought I'd come up > > > with a > > > >>>> neat way to reverse a list without using the traditional clunky > > > method: > > > >>>> > > > >>>> function reverseSort pList > > > >>>> repeat for each line l in pList > > > >>>> put l & cr before tList > > > >>>> end repeat > > > >>>> return tList > > > >>>> end reverseSort > > > >>>> > > > >>>> One of the best things I learned from a past LC converence came > from > > > >>>> Jerry Daniels who said "let the engine do it." It's almost always > > > faster > > > >>>> and more efficient. With that in mind I wrote this: > > > >>>> > > > >>>> local sNum > > > >>>> > > > >>>> function reverseText pList > > > >>>> put the number of lines in pList into sNum > > > >>>> sort lines of pList numeric by reverseSort(each) > > > >>>> return pList > > > >>>> end reverseText > > > >>>> > > > >>>> function reverseSort pTxt > > > >>>> subtract 1 from sNum > > > >>>> return sNum && pTxt > > > >>>> end reverseSort > > > >>>> > > > >>>> Works great and I was proud. Then I did some timing tests and > found > > > out > > > >>>> the two methods are very close to equivalent in timing, and on > long > > > lists, > > > >>>> the first way is actually faster. > > > >>>> > > > >>>> So much for improving on LC's text chunking speed. Pah. > > > >>>> > > > >>>> > > > >>> _______________________________________________ > > > >>> use-livecode mailing list > > > >>> use-livecode at lists.runrev.com > > > >>> Please visit this url to subscribe, unsubscribe and manage your > > > >>> subscription preferences: > > > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > > > >>> > > > >> _______________________________________________ > > > >> use-livecode mailing list > > > >> use-livecode at lists.runrev.com > > > >> Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at lists.runrev.com > > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From revdev at pdslabs.net Wed Feb 11 19:31:11 2015 From: revdev at pdslabs.net (Phil Davis) Date: Wed, 11 Feb 2015 16:31:11 -0800 Subject: "accept" and socket read/write In-Reply-To: References: Message-ID: <54DBF44F.9080300@pdslabs.net> On 2/11/15 2:25 PM, Dr. Hawkins wrote: > Am I reading the dictionary correctly? > > If I am, the accept command on the server end would use the same "read from > socket" and "write from socket" commands as the client size uses? Yes. > > So when I client first connects to set up a connection, the callback > message on the serer would be used for authentication, ... or not, depending on the requirement ... > after which the > success/failure of authentication would be sent with the "write to" > command, and future callbacks would have stored that the authentication had > occurred and therefore proceed to do a "whatever" with more read/write > messages? Your code stores the authentication. That's not part of sockets. > > And all of these seem to be SSL? Or do I have to supply my own encryption? You supply your own. Fortunately LC makes it very easy. > > And then for the down the road issues, assuming that I'd be running on > multi-core servers, could the initial connection actually distribute to a > process one of the *n* cores--perhaps by telling the client it's assigned > IP/port, at which point it would authenticate again? As it stands right now, the engine is single-threaded so there's no distributing of anything to other cores within a single instance of your application. As for the future, I can't address that. Phil Davis > > -- Phil Davis From ambassador at fourthworld.com Wed Feb 11 20:02:02 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 11 Feb 2015 17:02:02 -0800 Subject: "accept" and socket read/write In-Reply-To: <54DBF44F.9080300@pdslabs.net> References: <54DBF44F.9080300@pdslabs.net> Message-ID: <54DBFB8A.1090008@fourthworld.com> Phil Davis wrote: > As it stands right now, the engine is single-threaded so there's no > distributing of anything to other cores within a single instance of > your application. As for the future, I can't address that. If Mark Wieder would be kind enough to add forking to the Server engine we could pass socket connections to child processes, and build our own NgineX. Mark, got a few minutes to do that? Thanks. :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From lan.kc.macmail at gmail.com Wed Feb 11 21:18:46 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Thu, 12 Feb 2015 10:18:46 +0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: On Thu, Feb 12, 2015 at 8:16 AM, Peter Haworth wrote: > > Oh yes, and doesn't matter whether you're using LC 7 or something prior to > that, although that problem appears to be a bug that is already being > fixed. > > I think that statement requires a qualifier - 'if you are not dealing with unicode text'. I did a similar test to you using a Valentina DB with and without unicode. Specifically I used a UTF8 db so the unicode test data had to be passed through LCs textDecode(dboutput,"utf8") to get the correct results; which obviously takes time. My results suggest that if Ali's fix is anything to go by, when working with utf8 data there could be a noticeable difference for big data sets and that Mark's qrevers() shines a very favourable light on LCs capabilities. I wish to again point out, NOT because I don't understand how LC counts lines NOT because I want to change the way LC works NOT because I want to open a discussion about whehter it's right or wrong, but simply for awareness, that the DB approach MAY produce a different result than the LC functions thus far offered. Lets say for example you had a list of 10,000 customers and their email addresses. Most customers do have an email, a few don't and it just so happens that your first customer Aardvark, and last customer, Zoe, don't have email. If you read just the emails into an LC variable the first line will be blank and you'll have 9999 lines. If you use the LC provided functions thus far presented to reverse the data, you'll end up with the first line not being blank, and 9998 lines. On the other hand, if you use a DB, your record count will always be 10000 and your first and last record will always be blank no matter which direction you sort it. What did surprise me was that there was NO penalty to adding an ORDER BY clause to the SELECT statement. My tests included: natural = SELECT data FROM db -- NO order by clause forward = SELECT data FROM db ORDER BY recid reverse = SELECT data FROM db ORDER BY recid DESC My 10,000 and 100,000 results below: This test was for Unicode = NO With a data set that looks like: aa bb cc !"#$% &'()* +,-./ 01234 56789 :;<=> ?@ABC DEFGH IJKLM NOPQR STUVW XYZ[\ ]^_`a bcdef ghijk lmnop qrstu vwxyz ..... repeated 9999 times for a Total of 10006 lines of data. xx yy zz Extracting the data in natural order took 44 ms Extracting the data in Forward order took 41 ms Extracting by Reverse order took 41 ms This test was for Unicode = YES With a data set that looks like: aa bb cc ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ? ??? ????? ????? ????? ????? ..... repeated 9999 times for a Total of 10006 lines of data. xx yy zz Extracting the data in natural order took 77 ms Extracting the data in Forward order took 77 ms Extracting by Reverse order took 76 ms This test was for Unicode = NO With a data set that looks like: aa bb cc !"#$% &'()* +,-./ 01234 56789 :;<=> ?@ABC DEFGH IJKLM NOPQR STUVW XYZ[\ ]^_`a bcdef ghijk lmnop qrstu vwxyz ..... repeated 99999 times for a Total of 100006 lines of data. xx yy zz Extracting the data in natural order took 545 ms Extracting the data in Forward order took 556 ms Extracting by Reverse order took 535 ms This test was for Unicode = YES With a data set that looks like: aa bb cc ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ????? ? ??? ????? ????? ????? ????? ..... repeated 99999 times for a Total of 100006 lines of data. xx yy zz Extracting the data in natural order took 998 ms Extracting the data in Forward order took 1010 ms Extracting by Reverse order took 1005 ms From dochawk at gmail.com Wed Feb 11 22:06:22 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Wed, 11 Feb 2015 19:06:22 -0800 Subject: "accept" and socket read/write In-Reply-To: <54DBFB8A.1090008@fourthworld.com> References: <54DBF44F.9080300@pdslabs.net> <54DBFB8A.1090008@fourthworld.com> Message-ID: On Wed, Feb 11, 2015 at 5:02 PM, Richard Gaskin wrote: > Phil Davis wrote: > > As it stands right now, the engine is single-threaded so there's no > > distributing of anything to other cores within a single instance of > > your application. As for the future, I can't address that. > My thinking is that the application launches, and then it uses shell commands to launch, say, three other instances which will listen on three other ports. Initial connections would be round robin-ed (?) to the four ports. Crude, but possibly effective. If Mark Wieder would be kind enough to add forking to the Server engine we > could pass socket connections to child processes, and build our own NgineX. > > Mark, got a few minutes to do that? Thanks. :) In the scenario I see, it wouldn't be on server, but an application: revOpenDatabase() is *far* to expensive to call on each instance; the port needs to stay open and connected to the db. (~500 ms to open vs. ~20ms to tap) -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From lyn.teyla at gmail.com Thu Feb 12 00:50:23 2015 From: lyn.teyla at gmail.com (Lyn Teyla) Date: Thu, 12 Feb 2015 06:50:23 +0100 Subject: Obtaining names of current and calling handlers? Message-ID: Hi all, 1. How does one obtain the name (and its location/object) of the handler/function that called the current handler/function? ---------------- on cheers hello end cheers on hello put the name of the calling handler -- hypothetical; would have returned "cheers" end hello ---------------- 2. How does one obtain the name of the current handler/function that's running? ---------------- on hello put the name of this handler -- hypothetical; would have returned "hello" end hello ---------------- Thanks in advance for any insight. Lyn From lyn.teyla at gmail.com Thu Feb 12 00:55:12 2015 From: lyn.teyla at gmail.com (Lyn Teyla) Date: Thu, 12 Feb 2015 06:55:12 +0100 Subject: Run a handler each time a handler/function within current script is run? Message-ID: Hi all, How does one automatically run a handler each time a handler/function within the current script is run? I'm looking for a proper/non-clumsy way of implementing the following: ---------------- private command doSomeStuff -- stuff that must be done each time _any_ -- handler/function within this script is called end doSomeStuff on hello doSomeStuff put "hello world" end hello on another_handler doSomeStuff put "testing" end another_handler function some_function doSomeStuff return "something" end some_function ---------------- Thanks in advance for any insight. Lyn From ambassador at fourthworld.com Thu Feb 12 01:28:02 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 11 Feb 2015 22:28:02 -0800 Subject: Obtaining names of current and calling handlers? In-Reply-To: References: Message-ID: <54DC47F2.3090607@fourthworld.com> Lyn Teyla wrote: > 1. How does one obtain the name (and its location/object) of > the handler/function that called the current handler/function? the executionContexts > 2. How does one obtain the name of the current handler/function > that's running? Word 1 of the params -- Richard Gaskin Fourth World Systems Software Design and Development for Desktop, Mobile, and Web ____________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Thu Feb 12 01:32:26 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 11 Feb 2015 22:32:26 -0800 Subject: Run a handler each time a handler/function within current script is run? In-Reply-To: References: Message-ID: <54DC48FA.3040208@fourthworld.com> Lyn Teyla wrote: > How does one automatically run a handler each time a handler/function > within the current script is run? If you turn on the messageMessages global property, all handler activity can be monitored in a frontScript with a messageHandled handler. This is global, however. I don't know a way to limit such monitoring to a specific script. If you know the names of the handlers in the script you could filter the messageHandled params - if that would work you can quickly obtain a list of all handlers in a script with the revAvailableHandlers function. -- Richard Gaskin Fourth World Systems Software Design and Development for Desktop, Mobile, and Web ____________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From lyn.teyla at gmail.com Thu Feb 12 01:37:43 2015 From: lyn.teyla at gmail.com (Lyn Teyla) Date: Thu, 12 Feb 2015 07:37:43 +0100 Subject: Obtaining names of current and calling handlers? In-Reply-To: <54DC47F2.3090607@fourthworld.com> References: <54DC47F2.3090607@fourthworld.com> Message-ID: <752A38CE-8323-4E0B-A103-E6DD138A77D7@gmail.com> Thanks Richard ? these work perfectly! Lyn > On Feb 12, 2015, at 7:28 AM, Richard Gaskin wrote: > > Lyn Teyla wrote: > > 1. How does one obtain the name (and its location/object) of > > the handler/function that called the current handler/function? > > the executionContexts > > > > 2. How does one obtain the name of the current handler/function > > that's running? > > Word 1 of the params > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for Desktop, Mobile, and Web > ____________________________________________________________ > Ambassador at FourthWorld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From peter.brett at livecode.com Thu Feb 12 03:45:24 2015 From: peter.brett at livecode.com (Peter TB Brett) Date: Thu, 12 Feb 2015 09:45:24 +0100 Subject: "accept" and socket read/write In-Reply-To: <54DBFB8A.1090008@fourthworld.com> References: <54DBF44F.9080300@pdslabs.net> <54DBFB8A.1090008@fourthworld.com> Message-ID: <91eb69c3ec00aa4eee21c94331ebf3b1@livecode.com> On 2015-02-12 02:02, Richard Gaskin wrote: > Phil Davis wrote: >> As it stands right now, the engine is single-threaded so there's no >> distributing of anything to other cores within a single instance of >> your application. As for the future, I can't address that. > > If Mark Wieder would be kind enough to add forking to the Server > engine we could pass socket connections to child processes, and build > our own NgineX. > Tum-ti-tum... *hums innocently* Peter P.S. 8 -- Dr Peter Brett LiveCode Engine Development Team From wow at together.net Thu Feb 12 10:19:11 2015 From: wow at together.net (Richard Miller) Date: Thu, 12 Feb 2015 10:19:11 -0500 Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 In-Reply-To: <54DC48FA.3040208@fourthworld.com> References: <54DC48FA.3040208@fourthworld.com> Message-ID: <54DCC46F.7060608@together.net> I am having a problem getting RevMail to work in an IOS LC stack. I have tried five different versions of LC (from 6.6 to 7.0.1), but each time I try the RevMail function, the system displays a blank email with only the subject line filled in. I can't get the email address or body to fill in. The blank email sits there for about 10 seconds, then I get a crash report (part of which is shown below). Yosemite 10.10.2 Xcode 6.6.1 Not sure which version of the iOS SDK is installed (how would I identify that?), but I thought the latest version was installed when I installed Xcode. The stack I am testing has only one card and one button, with this script: on mouseUp revmail "wow at together.net",,"Help","data" end mouseUp Any ideas? Thanks, Richard Miller ------------------------------------------------------------------------------------ Process: MailCompositionService [2034] Path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Applications/MailCompositionService.app/MailCompositionService Identifier: MailCompositionService Version: 1.0 (1.0) Code Type: X86-64 (Native) Parent Process: launchd_sim [1977] Responsible: launchd_sim [1977] User ID: 503 Date/Time: 2015-02-12 09:59:36.980 -0500 OS Version: Mac OS X 10.10.2 (14C109) Report Version: 11 Anonymous UUID: DE114208-C273-8696-1D5B-1CF792FDBE37 Time Awake Since Boot: 61000 seconds Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Application Specific Information: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]: nil argument' terminating with uncaught exception of type NSException abort() called CoreSimulator 110.4 - Device: iPhone 5s - Runtime: iOS 8.1 (12B411) - DeviceType: iPhone 5s From ambassador at fourthworld.com Thu Feb 12 10:30:56 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 12 Feb 2015 07:30:56 -0800 Subject: "accept" and socket read/write In-Reply-To: References: Message-ID: <54DCC730.4020203@fourthworld.com> Dr. Hawkinsv wrote: >> Phil Davis wrote: >> > As it stands right now, the engine is single-threaded so there's no >> > distributing of anything to other cores within a single instance of >> > your application. As for the future, I can't address that. >> > > My thinking is that the application launches, and then it uses shell > commands to launch, say, three other instances which will listen on > three other ports. Initial connections would be round robin-ed (?) > to the four ports. Crude, but possibly effective. A lot of load balancing systems use round-robin. It may be crude, but widely used. > Richard Gaskin wrote: > >> If Mark Wieder would be kind enough to add forking to the Server >> engine we could pass socket connections to child processes, and >> build our own NgineX. >> >> Mark, got a few minutes to do that? Thanks. :) > > In the scenario I see, it wouldn't be on server, but an application: > revOpenDatabase() is *far* to expensive to call on each instance; > the port needs to stay open and connected to the db. (~500 ms to > open vs. ~20ms to tap) We need to call revOpenDatabase from a CGI because the CGI is being launched with each request. With an always-on socket server it should need to connect to the DB only once when it boots, which would ideally happen when the system boots so it's always up and running and ready to handle requests at any time. Conjecture about parallelism aside, half a second seems a very long time just to open a DB connection. It may be worthwhile submitting a bug report so that can be reviewed. Then again, the broad variance you've noted (as short as 20ms) suggests there may be something else at play. What could cause such a dramatic difference in the execution of a relatively simple connection? What other processes are running on that server? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From rdimola at evergreeninfo.net Thu Feb 12 10:33:55 2015 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 12 Feb 2015 10:33:55 -0500 Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 In-Reply-To: <54DCC46F.7060608@together.net> References: <54DC48FA.3040208@fourthworld.com> <54DCC46F.7060608@together.net> Message-ID: <004601d046d9$5112d2a0$f33877e0$@net> I have no problems sending mail with both iOS and Android devices. This is the command I use for both. revMail tEmailAddress , , tSubject, tBodyText LC 6.7.1 Xcode 6.1.1 OSX 10.9.5 (iOS versions) LC 6.6.5 Win XP SP3 (Android versions) I generally don't use the simulator. This is probably simulator specific problem. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Miller Sent: Thursday, February 12, 2015 10:19 AM To: How to use LiveCode Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 I am having a problem getting RevMail to work in an IOS LC stack. I have tried five different versions of LC (from 6.6 to 7.0.1), but each time I try the RevMail function, the system displays a blank email with only the subject line filled in. I can't get the email address or body to fill in. The blank email sits there for about 10 seconds, then I get a crash report (part of which is shown below). Yosemite 10.10.2 Xcode 6.6.1 Not sure which version of the iOS SDK is installed (how would I identify that?), but I thought the latest version was installed when I installed Xcode. The stack I am testing has only one card and one button, with this script: on mouseUp revmail "wow at together.net",,"Help","data" end mouseUp Any ideas? Thanks, Richard Miller ---------------------------------------------------------------------------- -------- Process: MailCompositionService [2034] Path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platfor m/Developer/SDKs/iPhoneSimulator.sdk/Applications/MailCompositionService.app /MailCompositionService Identifier: MailCompositionService Version: 1.0 (1.0) Code Type: X86-64 (Native) Parent Process: launchd_sim [1977] Responsible: launchd_sim [1977] User ID: 503 Date/Time: 2015-02-12 09:59:36.980 -0500 OS Version: Mac OS X 10.10.2 (14C109) Report Version: 11 Anonymous UUID: DE114208-C273-8696-1D5B-1CF792FDBE37 Time Awake Since Boot: 61000 seconds Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Application Specific Information: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]: nil argument' terminating with uncaught exception of type NSException abort() called CoreSimulator 110.4 - Device: iPhone 5s - Runtime: iOS 8.1 (12B411) - DeviceType: iPhone 5s _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From wow at together.net Thu Feb 12 10:40:03 2015 From: wow at together.net (Richard Miller) Date: Thu, 12 Feb 2015 10:40:03 -0500 Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 In-Reply-To: <004601d046d9$5112d2a0$f33877e0$@net> References: <54DC48FA.3040208@fourthworld.com> <54DCC46F.7060608@together.net> <004601d046d9$5112d2a0$f33877e0$@net> Message-ID: <54DCC953.80909@together.net> Can anyone confirm if this is working with OSX 10.10.2? I am having the same crash testing it on my iPhone 6+ On 2/12/15 10:33 AM, Ralph DiMola wrote: > I have no problems sending mail with both iOS and Android devices. This is > the command I use for both. > > revMail tEmailAddress , , tSubject, tBodyText > > LC 6.7.1 > Xcode 6.1.1 > OSX 10.9.5 (iOS versions) > > LC 6.6.5 > Win XP SP3 (Android versions) > > I generally don't use the simulator. This is probably simulator specific > problem. > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > -----Original Message----- > From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf > Of Richard Miller > Sent: Thursday, February 12, 2015 10:19 AM > To: How to use LiveCode > Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 > > I am having a problem getting RevMail to work in an IOS LC stack. I have > tried five different versions of LC (from 6.6 to 7.0.1), but each time I try > the RevMail function, the system displays a blank email with only the > subject line filled in. I can't get the email address or body to fill in. > The blank email sits there for about 10 seconds, then I get a crash report > (part of which is shown below). > > Yosemite 10.10.2 > Xcode 6.6.1 > > Not sure which version of the iOS SDK is installed (how would I identify > that?), but I thought the latest version was installed when I installed > Xcode. > > The stack I am testing has only one card and one button, with this script: > > on mouseUp > revmail "wow at together.net",,"Help","data" > end mouseUp > > Any ideas? > > Thanks, > Richard Miller > > ---------------------------------------------------------------------------- > -------- > Process: MailCompositionService [2034] > Path: > /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platfor > m/Developer/SDKs/iPhoneSimulator.sdk/Applications/MailCompositionService.app > /MailCompositionService > Identifier: MailCompositionService > Version: 1.0 (1.0) > Code Type: X86-64 (Native) > Parent Process: launchd_sim [1977] > Responsible: launchd_sim [1977] > User ID: 503 > > Date/Time: 2015-02-12 09:59:36.980 -0500 > OS Version: Mac OS X 10.10.2 (14C109) > Report Version: 11 > Anonymous UUID: DE114208-C273-8696-1D5B-1CF792FDBE37 > > > Time Awake Since Boot: 61000 seconds > > Crashed Thread: 0 Dispatch queue: com.apple.main-thread > > Exception Type: EXC_CRASH (SIGABRT) > Exception Codes: 0x0000000000000000, 0x0000000000000000 > > Application Specific Information: > *** Terminating app due to uncaught exception 'NSInvalidArgumentException', > reason: '*** -[NSRegularExpression > enumerateMatchesInString:options:range:usingBlock:]: nil argument' > terminating with uncaught exception of type NSException > abort() called > CoreSimulator 110.4 - Device: iPhone 5s - Runtime: iOS 8.1 (12B411) - > DeviceType: iPhone 5s > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From ambassador at fourthworld.com Thu Feb 12 10:55:01 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 12 Feb 2015 07:55:01 -0800 Subject: "accept" and socket read/write In-Reply-To: <91eb69c3ec00aa4eee21c94331ebf3b1@livecode.com> References: <91eb69c3ec00aa4eee21c94331ebf3b1@livecode.com> Message-ID: <54DCCCD5.7060901@fourthworld.com> Peter TB Brett wrote: > On 2015-02-12 02:02, Richard Gaskin wrote: >> Phil Davis wrote: >>> As it stands right now, the engine is single-threaded so there's no >>> distributing of anything to other cores within a single instance of >>> your application. As for the future, I can't address that. >> >> If Mark Wieder would be kind enough to add forking to the Server >> engine we could pass socket connections to child processes, and build >> our own NgineX. > > Tum-ti-tum... *hums innocently* > > Peter > > P.S. 8 Is there a build of v8 that allows OS API calls available? Once it is, it'll be nice to have Mark Wieder use it to write all my code for me. :) More seriously, I haven't yet used fork() in any language so I recognize my thinking is prone to unrealistic optimism, but in what little reading I've done it doesn't seem the most complicated thing anyone's ever done, so once I get a v8 build that will let me explore that and a little time on my hands between client work I'm anxious to see what could be done with that. In the meantime, thinking about this some more last night it occurs to be that a similar solution might be had using a forwarding load balancer to map subdomains to different LC instances. This way the main instance running on a root domain www.domain.com could forward clients to w1.domain.com or w2.domain.com or w32.domain.com, with worker instances handling the individual requests for the relatively low cost of an extra forward. This may still be unrealistic optimism, but my monitoring of the resource load of LC server instances shows most of mine running with between 2 and 4 MBs RAM, so even on a cheap VPS with just 1 GB RAM you could comfortably have more than 50 workers running simultaneously. All that's a lot of work, though, and given the expectations of browsers for the full HTTP 1.1 spec I wouldn't recommend building a complete Web server in LC. Once we get a version of LC that can fork we can craft a FastCGI solution that'll work well with not only Apache and Litespeed but NginX as well. But for other socket servers using a custom protocol, I don't think it's unrealistic to be able to solve the C10k problem with LiveCode and a little R&D time. Very exciting prospect. I wish I had a problem big enough to need such a solution. Anyone here building a MMORPG? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From wow at together.net Thu Feb 12 11:00:25 2015 From: wow at together.net (Richard Miller) Date: Thu, 12 Feb 2015 11:00:25 -0500 Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 In-Reply-To: <54DCC953.80909@together.net> References: <54DC48FA.3040208@fourthworld.com> <54DCC46F.7060608@together.net> <004601d046d9$5112d2a0$f33877e0$@net> <54DCC953.80909@together.net> Message-ID: <54DCCE19.7080901@together.net> Re-installed Xcode. Revmail now works on my phone, but not in simulator. On 2/12/15 10:40 AM, Richard Miller wrote: > Can anyone confirm if this is working with OSX 10.10.2? > > I am having the same crash testing it on my iPhone 6+ > > > > On 2/12/15 10:33 AM, Ralph DiMola wrote: >> I have no problems sending mail with both iOS and Android devices. >> This is >> the command I use for both. >> >> revMail tEmailAddress , , tSubject, tBodyText >> >> LC 6.7.1 >> Xcode 6.1.1 >> OSX 10.9.5 (iOS versions) >> >> LC 6.6.5 >> Win XP SP3 (Android versions) >> >> I generally don't use the simulator. This is probably simulator specific >> problem. >> >> Ralph DiMola >> IT Director >> Evergreen Information Services >> rdimola at evergreeninfo.net >> >> -----Original Message----- >> From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On >> Behalf >> Of Richard Miller >> Sent: Thursday, February 12, 2015 10:19 AM >> To: How to use LiveCode >> Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 >> >> I am having a problem getting RevMail to work in an IOS LC stack. I have >> tried five different versions of LC (from 6.6 to 7.0.1), but each >> time I try >> the RevMail function, the system displays a blank email with only the >> subject line filled in. I can't get the email address or body to fill >> in. >> The blank email sits there for about 10 seconds, then I get a crash >> report >> (part of which is shown below). >> >> Yosemite 10.10.2 >> Xcode 6.6.1 >> >> Not sure which version of the iOS SDK is installed (how would I identify >> that?), but I thought the latest version was installed when I installed >> Xcode. >> >> The stack I am testing has only one card and one button, with this >> script: >> >> on mouseUp >> revmail "wow at together.net",,"Help","data" >> end mouseUp >> >> Any ideas? >> >> Thanks, >> Richard Miller >> >> ---------------------------------------------------------------------------- >> >> -------- >> Process: MailCompositionService [2034] >> Path: >> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platfor >> >> m/Developer/SDKs/iPhoneSimulator.sdk/Applications/MailCompositionService.app >> >> /MailCompositionService >> Identifier: MailCompositionService >> Version: 1.0 (1.0) >> Code Type: X86-64 (Native) >> Parent Process: launchd_sim [1977] >> Responsible: launchd_sim [1977] >> User ID: 503 >> >> Date/Time: 2015-02-12 09:59:36.980 -0500 >> OS Version: Mac OS X 10.10.2 (14C109) >> Report Version: 11 >> Anonymous UUID: DE114208-C273-8696-1D5B-1CF792FDBE37 >> >> >> Time Awake Since Boot: 61000 seconds >> >> Crashed Thread: 0 Dispatch queue: com.apple.main-thread >> >> Exception Type: EXC_CRASH (SIGABRT) >> Exception Codes: 0x0000000000000000, 0x0000000000000000 >> >> Application Specific Information: >> *** Terminating app due to uncaught exception >> 'NSInvalidArgumentException', >> reason: '*** -[NSRegularExpression >> enumerateMatchesInString:options:range:usingBlock:]: nil argument' >> terminating with uncaught exception of type NSException >> abort() called >> CoreSimulator 110.4 - Device: iPhone 5s - Runtime: iOS 8.1 (12B411) - >> DeviceType: iPhone 5s >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From sebastien.nouat at livecode.com Thu Feb 12 11:02:45 2015 From: sebastien.nouat at livecode.com (sebastien) Date: Thu, 12 Feb 2015 16:02:45 +0000 Subject: RevMail crashing in iOS stack - LC 6.6 - 7.0.1 In-Reply-To: <54DCC46F.7060608@together.net> References: <54DC48FA.3040208@fourthworld.com> <54DCC46F.7060608@together.net> Message-ID: <54DCCEA5.2060503@livecode.com> On 12/02/2015 15:19, Richard Miller wrote: > I am having a problem getting RevMail to work in an IOS LC stack. I > have tried five different versions of LC (from 6.6 to 7.0.1), but each > time I try the RevMail function, the system displays a blank email > with only the subject line filled in. I can't get the email address or > body to fill in. The blank email sits there for about 10 seconds, then > I get a crash report (part of which is shown below). Hi Richard, We know about this email issue on the simulator (http://quality.runrev.com/show_bug.cgi?id=13859). Unfortunately, it seems simply to be broken in the iPhone/iPad simulators, and whatever we have tried, we could not fix it. You can read more there: http://stackoverflow.com/questions/25604552/i-have-real-misunderstanding-with-mfmailcomposeviewcontroller-in-swift-ios8-in/25864182#25864182 Regards, -- S?bastien Nouat LiveCode Development Team From dochawk at gmail.com Thu Feb 12 11:15:14 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Thu, 12 Feb 2015 08:15:14 -0800 Subject: "accept" and socket read/write In-Reply-To: <54DCC730.4020203@fourthworld.com> References: <54DCC730.4020203@fourthworld.com> Message-ID: On Thu, Feb 12, 2015 at 7:30 AM, Richard Gaskin wrote: > Dr. Hawkinsv wrote: > > My thinking is that the application launches, and then it uses shell > > commands to launch, say, three other instances which will listen on > > three other ports. Initial connections would be round robin-ed (?) > > to the four ports. Crude, but possibly effective. > > A lot of load balancing systems use round-robin. It may be crude, but > widely used. > That was my thinking. And the programs could talk to one another so that the most heavily loaded gets a lower share of new connections. There is still the issue of keeping a stack running on a headless system. I did some testing a couple of years ago launching standalones and confirming that that the could indeed do things in preOpenStack before attempting to open the main card (and crashing as a result, due to the lack of an Xserver . . .) > > > Richard Gaskin wrote: > > > In the scenario I see, it wouldn't be on server, but an application: > > revOpenDatabase() is *far* to expensive to call on each instance; > > the port needs to stay open and connected to the db. (~500 ms to > > open vs. ~20ms to tap) > > We need to call revOpenDatabase from a CGI because the CGI is being > launched with each request. With an always-on socket server it should need > to connect to the DB only once when it boots, which would ideally happen > when the system boots so it's always up and running and ready to handle > requests at any time. > > Conjecture about parallelism aside, half a second seems a very long time > just to open a DB connection. It may be worthwhile submitting a bug report > so that can be reviewed. > I'll time it again, but I think that's what it came to for a remote machine but with a good connection Then again, the broad variance you've noted (as short as 20ms) suggests > there may be something else at play. What could cause such a dramatic > difference in the execution of a relatively simple connection? What other > processes are running on that server? I think opening the database and authenticating is more computationally intensive. Not much else is running when I do that; it's actually my quad-core desktop (but at another site) -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From gcanyon at gmail.com Thu Feb 12 11:25:45 2015 From: gcanyon at gmail.com (Geoff Canyon) Date: Thu, 12 Feb 2015 10:25:45 -0600 Subject: Run a handler each time a handler/function within current script is run? In-Reply-To: References: Message-ID: On Wed, Feb 11, 2015 at 11:55 PM, Lyn Teyla wrote: > I'm looking for a proper/non-clumsy way of implementing the following: > At first blush I'd do exactly what you're doing: insert a call to the "must be called every time" handler in every other handler. From dochawk at gmail.com Thu Feb 12 12:00:12 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Thu, 12 Feb 2015 09:00:12 -0800 Subject: "accept" and socket read/write In-Reply-To: References: <54DCC730.4020203@fourthworld.com> Message-ID: On Thu, Feb 12, 2015 at 8:15 AM, Dr. Hawkins wrote: > Conjecture about parallelism aside, half a second seems a very long time >> just to open a DB connection. It may be worthwhile submitting a bug report >> so that can be reviewed. >> > > I'll time it again, but I think that's what it came to for a remote > machine but with a good connection > Running it many times this morning, with a server across town, most of the revOpenDatabase() calls were in the 200-300ms range, averaging about 250. revDataFromQuery() was typically a bit under 200ms, with outliers ranging from 20ms to 250ms. -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From ambassador at fourthworld.com Thu Feb 12 12:16:30 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 12 Feb 2015 09:16:30 -0800 Subject: "accept" and socket read/write In-Reply-To: References: Message-ID: <54DCDFEE.5060905@fourthworld.com> Dr. Hawkins wrote: > I did some testing a couple of years ago launching standalones and > confirming that that the could indeed do things in preOpenStack before > attempting to open the main card (and crashing as a result, due to > the lack of an Xserver . . .) You can bypass the xorg init by launching the standalone with -ui: ./standalone -ui While still single-threaded in a technical sense, socket I/O appears to have something almost like green threads when used with callbacks ("with message"), e.g. command broadcastServerStart accept connections on port kPort \ with message "broadcastServerClientConnected" end broadcastServerStart While not a true thread, this appears to allow non-blocking behavior so network I/O appears be handled separately for different connections, though until I do more testing I can't say for sure exactly how independent that is. But the modest test I did some time ago on my cheap 1GB VPS had a LC standalone acting as a socket server able to handle a surprisingly large number of requests with little CPU time and RAM: -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From ambassador at fourthworld.com Thu Feb 12 12:19:34 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 12 Feb 2015 09:19:34 -0800 Subject: "accept" and socket read/write In-Reply-To: References: Message-ID: <54DCE0A6.4010705@fourthworld.com> Dr. Hawkins wrote: > Running it many times this morning, with a server across town, > most of the revOpenDatabase() calls were in the 200-300ms range, > averaging about 250. > > revDataFromQuery() was typically a bit under 200ms, with outliers > ranging from 20ms to 250ms. How does that compare to running locally on your own machine? Also, given the wild card that DNS is for network throughput, if you have a fixed IP for your server do you see improvement if you run the test with the IP address instead of the domain name? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From jacque at hyperactivesw.com Thu Feb 12 13:04:31 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 12 Feb 2015 12:04:31 -0600 Subject: "accept" and socket read/write In-Reply-To: <91eb69c3ec00aa4eee21c94331ebf3b1@livecode.com> References: <54DBF44F.9080300@pdslabs.net> <54DBFB8A.1090008@fourthworld.com> <91eb69c3ec00aa4eee21c94331ebf3b1@livecode.com> Message-ID: <3A4ACB2A-636B-42CC-B471-65EA0AAE87FD@hyperactivesw.com> I like your style. :-) On February 12, 2015 2:45:24 AM CST, Peter TB Brett wrote: > >Tum-ti-tum... *hums innocently* > > Peter > >P.S. 8 -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From pete at lcsql.com Thu Feb 12 13:54:37 2015 From: pete at lcsql.com (Peter Haworth) Date: Thu, 12 Feb 2015 10:54:37 -0800 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: On Wed, Feb 11, 2015 at 6:18 PM, Kay C Lan wrote: > I did a similar test to you using a Valentina DB with and without unicode. > Specifically I used a UTF8 db so the unicode test data had to be passed > through LCs textDecode(dboutput,"utf8") to get the correct results; which > obviously takes time. My results suggest that if Ali's fix is anything to > go by, when working with utf8 data there could be a noticeable difference > for big data sets and that Mark's qrevers() shines a very favourable light > on LCs capabilities. > > I wish to again point out, > > NOT because I don't understand how LC counts lines > NOT because I want to change the way LC works > NOT because I want to open a discussion about whehter it's right or wrong, > > but simply for awareness, that the DB approach MAY produce a different > result than the LC functions thus far offered. Lets say for example you had > a list of 10,000 customers and their email addresses. Most customers do > have an email, a few don't and it just so happens that your first customer > Aardvark, and last customer, Zoe, don't have email. If you read just the > emails into an LC variable the first line will be blank and you'll have > 9999 lines. If you use the LC provided functions thus far presented to > reverse the data, you'll end up with the first line not being blank, and > 9998 lines. > I haven't run any of the LC scripts to do this but if that's true, then they don't achieve the original objective of reversing the list. > > On the other hand, if you use a DB, your record count will always be 10000 > and your first and last record will always be blank no matter which > direction you sort it. > The record count will always be 10,000 as you say but why would the first and last records always be the blank? I added a return character at the beginning and end of the list I'm using and reran my test. Sorting ascending, the first two lines were the empty lines and sorting descending the last two lines were the empty lines, as you'd expect. Also tried it using INSERT INTO .... DEFAULT VALUES with the same results. > What did surprise me was that there was NO penalty to adding an ORDER BY > clause to the SELECT statement. My tests included: > natural = SELECT data FROM db -- NO order by clause > forward = SELECT data FROM db ORDER BY recid > reverse = SELECT data FROM db ORDER BY recid DESC > > Didn't see that with SQLite. A Select with no ORDER BY took half as long as a SELECT with a sort in either direction. This is a guess but it looks from your examples that you were sorting by the primary key column of the table. That's a special case where the normal rules don't apply since the primary keys are stored in a form that is already sorted. Try sorting on a data column and I think you will see a difference. In my tests an unordered SELECT took about half as long as an ordered SELECT in either direction. Kinda getting off topic I guess. > > Pete lcSQL Software Home of lcStackBrowser and SQLiteAdmin From jacque at hyperactivesw.com Thu Feb 12 13:58:14 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 12 Feb 2015 12:58:14 -0600 Subject: Self Awareness? In-Reply-To: <3C21144E-1898-418B-86E5-F01105666ECB@iotecdigital.com> References: <3C21144E-1898-418B-86E5-F01105666ECB@iotecdigital.com> Message-ID: <54DCF7C6.1080809@hyperactivesw.com> On 2/11/2015 5:26 PM, Bob Sneidar wrote: > It?s my understanding of the message path that a background group > will receive all messages before the card will. A card group will. A background group gets messages after the card because it's in the...back. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Thu Feb 12 14:04:05 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 12 Feb 2015 13:04:05 -0600 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> Message-ID: <54DCF925.5030009@hyperactivesw.com> On 2/12/2015 12:54 PM, Peter Haworth wrote: >> Lets say for example you had >> >a list of 10,000 customers and their email addresses. Most customers do >> >have an email, a few don't and it just so happens that your first customer >> >Aardvark, and last customer, Zoe, don't have email. If you read just the >> >emails into an LC variable the first line will be blank and you'll have >> >9999 lines. If you use the LC provided functions thus far presented to >> >reverse the data, you'll end up with the first line not being blank, and >> >9998 lines. >> > > I haven't run any of the LC scripts to do this but if that's true, then > they don't achieve the original objective of reversing the list. I don't think it's true. Using LC scripts, the first and last lines will be terminated by a CR and the line count won't change. The first and last lines will have no values but are still terminated by a CR, which is what determines the count. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From MikeKerner at roadrunner.com Thu Feb 12 14:11:38 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Thu, 12 Feb 2015 14:11:38 -0500 Subject: Reverse a list In-Reply-To: <54DCF925.5030009@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: I'm feeling a delimiter argument coming on On Thu, Feb 12, 2015 at 2:04 PM, J. Landman Gay wrote: > On 2/12/2015 12:54 PM, Peter Haworth wrote: > >> Lets say for example you had >>> >a list of 10,000 customers and their email addresses. Most customers do >>> >have an email, a few don't and it just so happens that your first >>> customer >>> >Aardvark, and last customer, Zoe, don't have email. If you read just the >>> >emails into an LC variable the first line will be blank and you'll have >>> >9999 lines. If you use the LC provided functions thus far presented to >>> >reverse the data, you'll end up with the first line not being blank, and >>> >9998 lines. >>> > >>> >> I haven't run any of the LC scripts to do this but if that's true, then >> they don't achieve the original objective of reversing the list. >> > > I don't think it's true. Using LC scripts, the first and last lines will > be terminated by a CR and the line count won't change. The first and last > lines will have no values but are still terminated by a CR, which is what > determines the count. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From pete at lcsql.com Thu Feb 12 17:19:43 2015 From: pete at lcsql.com (Peter Haworth) Date: Thu, 12 Feb 2015 22:19:43 +0000 Subject: More Unicode STuff Message-ID: Continuing down the path of making SQLiteAdmin unicode compliant. I just took a file with French characters in Mac OS Roman format and and used SQLiteAdmin to import it into an SQLIte database set up for UTF8 encoding. The import procedure did no decoding or encoding just read the file and used INSERT statements to put the data into the database. Next I used SQLIteAdmin's Browse feature to browse the data, once again with no encoding/decoding. It all displayed correctly including accented characters. So now I'm confused as to just when I need to encode/decode things for use with SQLite. My suspicion with this example is that it all worked fine because it was all done on a Mac and that if I had imported the data on a Mac and then tried to read it on a Windows or Linux box, the accented characters would not have survived. My secondary suspicion is that if I had converted to UTF8 when Importing the data and converted from UTF8 when displaying the data, all would work fine on any platform. This is all complicated by the fact that SQLiteAdmin will happily accept data in any encoding and store it away without doing any translation to its native encoding of UTF8 or UTF16. Comments? From lan.kc.macmail at gmail.com Thu Feb 12 21:35:17 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Fri, 13 Feb 2015 10:35:17 +0800 Subject: Reverse a list In-Reply-To: <54DCF925.5030009@hyperactivesw.com> References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: On Fri, Feb 13, 2015 at 3:04 AM, J. Landman Gay wrote: > On 2/12/2015 12:54 PM, Peter Haworth wrote: > >> >>> I haven't run any of the LC scripts to do this but if that's true, then >> they don't achieve the original objective of reversing the list. >> > > I don't think it's true. Using LC scripts, the first and last lines will > be terminated by a CR and the line count won't change. The first and last > lines will have no values but are still terminated by a CR, which is what > determines the count. > Jacques right. I should have actually run the scripts rather than just doing it mentally. Because they all add a terminating CR then all is good. Apologies for confusing the matter. From lan.kc.macmail at gmail.com Thu Feb 12 21:52:30 2015 From: lan.kc.macmail at gmail.com (Kay C Lan) Date: Fri, 13 Feb 2015 10:52:30 +0800 Subject: More Unicode STuff In-Reply-To: References: Message-ID: Have you looked at your data using another db management tool? My own limited experience of dealing with UTF8 with LC 7 and sqlite is that if I don't textEncode(data,"utf8") into SQLite and textDecode(data,"utf8") out of the db, then although all the data goes and comes back OK, if I look at the db with another program the data isn't the same - most likely any characters that are suppose to have an umlat or similar are instead displayed with a blank space next to them. Conversley if I take some other db that already contains UTF8 data with the characters appearing correctly in another program and just read them straight into LC, then I get scrambled characters. So if I want the charcters to appear correctly in everything, I need to textEncode() and textDecode(). This is purely for UTF8. Not sure how Mac Roman effects the issue. From brahma at hindu.org Thu Feb 12 22:05:12 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Thu, 12 Feb 2015 17:05:12 -1000 Subject: Audio/Video Options in Mobile Message-ID: <54DD69E8.70108@hindu.org> I've completes a rough spec on a new mobile app. Am busy studying now all the tutorials. So far it look very good in terms of LC being able to support everything we have in our minds. Audio and video are going to be key components. Video/YouTube From all that I have read, it appears that the only option for YouTube is to use a browser instance with their embed code. ergo, user must be online. Today, reading YouTube terms of service, it explicitly states that only sanctioned players are allowed and these html5 objects/iFrame embed/some "aas" embed thing...which would rule out direct streaming into a LC video player. Am I wrong? I read through earlier posts and forum posts on this... I don't think anything has changed. Video Direct Streaming: Sadly: setting the URL of a player to, e.g. "http://www.himalayanacademy.com/media/video/the-history-of-hindu-india_part-1_ta/the-history-of-hindu-india_part-1_ta_720p.mp4" does not work on the desktop,but does in a browser (why not in LC?) I think Josh was asking about this in another thread. Audio: Happily... setting a player object to "http://www.himalayanacademy.com/*/some.mp3" Any problem with this streaming audio in Mobile? If we add a "download and save to my library" will Apple allow the download of such media? I wonder if it is better to download it to their media library.... but the we have to mess with the iOS or Android native music/audio apps.. which I'm loath to do. What are you doing? For your mobile video/audio? Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com From brahma at hindu.org Thu Feb 12 22:59:39 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Thu, 12 Feb 2015 17:59:39 -1000 Subject: Stream Video in LC Player Message-ID: <54DD76AB.5040403@hindu.org> putting this in a browser (firefox) I get steady, streaming playback http://www.himalayanacademy.com/media/video/the-history-of-hindu-india_part-1/the-history-of-hindu-india_part-1_720p.mp4 LC 6.7. 2 (rc2) : setting a browser instance to that url I get very choppy, delayed playback.. .sometimes the video just hangs. Any clues on improving performance? I'm looking to use this on Mobile, if possible Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com From brahma at hindu.org Fri Feb 13 00:13:51 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Thu, 12 Feb 2015 19:13:51 -1000 Subject: iPhone Simulate increase size of objects? Message-ID: <54DD880F.4090109@hindu.org> Just getting started with mobile: read lots of tutorials, built apps along with Ben etc. I have my apple develop license for some time and xCode etc. Built a small stack for iPhone 960X 640 placed an image (lock location set to true) and a field. So far so good; set standalone app settings and ran the simulator with iPhone as target. My image appears at it's original size (huge!) in the simulator.. .as if the downsize I had effected by just dragging the end points of the image rect to fit on the screen and then setting the loc location to. are not "accepted" in the simulator?? and my opening field was also enlarged. Why? Screen shot of stack as layed out: http://wiki.hindu.org/screenshots/iphonesizestack.jpg Screen shot of what the simulator generates http://wiki.hindu.org/screenshots/inthesimulator.jpg What am I doing wrong? BR From prothero at earthednet.org Fri Feb 13 00:48:26 2015 From: prothero at earthednet.org (William Prothero) Date: Thu, 12 Feb 2015 21:48:26 -0800 Subject: Guide for Building Mobile with LC In-Reply-To: <54DBB06F.6000703@hindu.org> References: <54DBB06F.6000703@hindu.org> Message-ID: <7AE4B330-C20A-4B6F-B481-EC1282F0F4BA@earthednet.org> > Brahmanathaswami I?ve been taking the ?CreateIT? livecode course. I?m learning quite a bit, even tho I?ve been coding in livecode for a year. Bill > On Feb 11, 2015, at 11:41 AM, Brahmanathaswami wrote: > > Finally, after several years of server side coding, we are going to build an app in LC. > > I come with my begging bowl. I have a big of a learning curve in front of me and would like any advice for key resources to get started on the right foot. > > As far as UX strategy etc we have more than enough resources there... so while we create a Personas document (user stories/use cases) and prototype UI a wire frame tool... > > In the meantime I'm interested in a "course" on building mobile with LC.. e.g. what objects scale automatically, for every image that we put on the screen how many copies of that do we need. etc. > > Any links or advice for "go to" will be appreciaterdc. > > I'm going to start with Kevin's Demo... > > Swasti Astu, Be Well! > Brahmanathaswami > > Kauai's Hindu Monastery > www.HimalayanAcademy.com > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From iowahengst at mac.com Fri Feb 13 00:59:55 2015 From: iowahengst at mac.com (Randy Hengst) Date: Thu, 12 Feb 2015 23:59:55 -0600 Subject: iPhone Simulate increase size of objects? In-Reply-To: <54DD880F.4090109@hindu.org> References: <54DD880F.4090109@hindu.org> Message-ID: <5097BC8D-DC7C-4CCA-9F79-DBACFF01FB9C@mac.com> Sizes get a bit complicated when building for the iPhone. I build for the 4s screen at 480x320. Or you can leave the size as is and put this in the stack script: on startup set the fullscreenmode of this stack to "exactFit" end startup > On Feb 12, 2015, at 11:13 PM, Brahmanathaswami wrote: > > Just getting started with mobile: read lots of tutorials, built apps along with Ben etc. I have my apple develop license for some time and xCode etc. > > Built a small stack for iPhone 960X 640 placed an image (lock location set to true) and a field. > > So far so good; set standalone app settings and ran the simulator with iPhone as target. > > My image appears at it's original size (huge!) in the simulator.. .as if the downsize I had effected by just dragging the end points of the image rect to fit on the screen and then setting the loc location to. are not "accepted" in the simulator?? > > and my opening field was also enlarged. > > Why? > > Screen shot of stack as layed out: > > http://wiki.hindu.org/screenshots/iphonesizestack.jpg > > Screen shot of what the simulator generates > > http://wiki.hindu.org/screenshots/inthesimulator.jpg > > What am I doing wrong? > > BR > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From nm at studionm.pl Fri Feb 13 02:53:25 2015 From: nm at studionm.pl (NM Studio) Date: Fri, 13 Feb 2015 08:53:25 +0100 Subject: More Unicode STuff Message-ID: <78489DDC-392A-48E7-95CD-51B238D46712@studionm.pl> I think that it depends from the collation declared for DB | table | fields indatabase. I'm using UTF8 bin and have no problems with text full of accented characters. They are the same in my application and any other, even phpmyadmin. Marek From jiml at netrin.com Fri Feb 13 12:48:20 2015 From: jiml at netrin.com (Jim Lambert) Date: Fri, 13 Feb 2015 09:48:20 -0800 Subject: Stream Video in LC Player In-Reply-To: References: Message-ID: <02759D4C-5AF3-486C-86F1-D7B51C6D3930@netrin.com> > Brahmanathaswami wrote: > > Video/YouTube > > From all that I have read, it appears that the only option for YouTube > is to use a browser instance with their embed code. ergo, user must be > online. Today, reading YouTube terms of service, it explicitly states > that only sanctioned players are allowed and these html5 > objects/iFrame embed/some "aas" embed thing...which would rule out > direct streaming into a LC video player. > > Am I wrong? I read through earlier posts and forum posts on this... I > don't think anything has changed. > Check out forum post ?RE: Stream Movie From Youtube" http://forums.livecode.com/viewtopic.php?f=10&t=22458&p=115617&hilit=youtube#p115577 This will show you how to find the correct file URL for a youtube video. You can then play that directly in a LC player object, or play in mobile video control, or download the movie. > Video Direct Streaming: Sadly: setting the URL of a player to, e.g. > "http://www.himalayanacademy.com/media/video/the-history-of-hindu-india_part-1_ta/the-history-of-hindu-india_part-1_ta_720p.mp4 " > > does not work on the desktop Works for me in LC 6.7.2 (RC). Jim Lambert From pete at lcsql.com Fri Feb 13 13:23:32 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 13 Feb 2015 18:23:32 +0000 Subject: More Unicode STuff Message-ID: Thanks Kay. I tried looking at the db with the Firefox SQLite Manager plugin and sure enough it doesn't display correctly. In this case, the accented characters simply aren't there. I went back and imported the data again, this time encoding the data as UTF8. Now it displays correctly in both SQLiteAdmin (with decoding) and in the Firefox plugin. My brain is too fried to figure out why this should be so my plan is to just always encode/decode stuff when importing/displaying. On Thu Feb 12 2015 at 6:52:44 PM Kay C Lan wrote: > Have you looked at your data using another db management tool? > > My own limited experience of dealing with UTF8 with LC 7 and sqlite is that > if I don't textEncode(data,"utf8") into SQLite and textDecode(data,"utf8") > out of the db, then although all the data goes and comes back OK, if I look > at the db with another program the data isn't the same - most likely any > characters that are suppose to have an umlat or similar are instead > displayed with a blank space next to them. Conversley if I take some other > db that already contains UTF8 data with the characters appearing correctly > in another program and just read them straight into LC, then I get > scrambled characters. > > So if I want the charcters to appear correctly in everything, I need to > textEncode() and textDecode(). > > This is purely for UTF8. Not sure how Mac Roman effects the issue. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Fri Feb 13 13:52:57 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 13 Feb 2015 18:52:57 +0000 Subject: More Unicode STuff In-Reply-To: References: Message-ID: <093EDFDB-5F68-469A-805D-B6DFB067927B@iotecdigital.com> Always a good policy. For one it can?t hurt, and for another? well I don?t have another. Bob S On Feb 13, 2015, at 10:23 , Peter Haworth > wrote: My brain is too fried to figure out why this should be so my plan is to just always encode/decode stuff when importing/displaying. From brahma at hindu.org Fri Feb 13 15:08:09 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Fri, 13 Feb 2015 10:08:09 -1000 Subject: Stream Video in LC Player In-Reply-To: <02759D4C-5AF3-486C-86F1-D7B51C6D3930@netrin.com> References: <02759D4C-5AF3-486C-86F1-D7B51C6D3930@netrin.com> Message-ID: <54DE59A9.1000405@hindu.org> Well sometimes it helps to be "ignorant" as then you continue to hack away madly hoping something will work... I did see those forum posts, but it lookeda bit fragile to me and the time out problem is an issue, since some of these links might want to be "evergreen, archive" content. Also, meanwhile, an attempt to stream directly from our own server in LC Player object failed miserably. Odd... as this used to work years ago in very old versions of Rev player objects "back in the day" (early 2003-4) But now, the Same URL to an mp4 (on our server in SF) plays fine in a browser... but stutters and hangs when used in a player object. perhaps I need to set some other attributes for it to work? Why can Firefox run it smoothly but not LC? I thought a direct link to a YouTube video would probably be just as bad. So... back to webkit... We are embedding Youtube in our site with iFrame.. Google recommends an iframe and we use this: <frame width="629"height="384" src="http://www.youtube.com/embed/IbE0pEQUi4k " frameborder="0" style="float: left;" allowfullscreen> /iframe So if you create a browser instance and set the URL to: http://www.youtube.com/embed/IbE0pEQUi4k It runs just fine inside LC. challenge solved... Hopefully this holds up on mobile. caveat: if the video starts up in a browser instance with the phone/tablet held in portrait orientation and then the user turns sideways (typical behavior for video/slideshow viewing...) having the rect smoothly change without stopping the video and without having to re-instantiate the browser object may be an interesting "mobile task" This is a lot more fun than server side coding. I think I need to go over and get immersed in the forums -- they are really active! Swasti Astu, Be Well! Brahmanathaswami Kauai's Hindu Monastery www.HimalayanAcademy.com Jim Lambert wrote: >> Brahmanathaswami wrote: >> >> Video/YouTube >> >> From all that I have read, it appears that the only option for YouTube >> is to use a browser instance with their embed code. ergo, user must be >> online. Today, reading YouTube terms of service, it explicitly states >> that only sanctioned players are allowed and these html5 >> objects/iFrame embed/some "aas" embed thing...which would rule out >> direct streaming into a LC video player. >> >> Am I wrong? I read through earlier posts and forum posts on this... I >> don't think anything has changed. >> > > Check out forum post ?RE: Stream Movie From Youtube" > http://forums.livecode.com/viewtopic.php?f=10&t=22458&p=115617&hilit=youtube#p115577 > > This will show you how to find the correct file URL for a youtube video. You can then play that directly in a LC player object, or play in mobile video control, or download the movie. > >> Video Direct Streaming: Sadly: setting the URL of a player to, e.g. >> "http://www.himalayanacademy.com/media/video/the-history-of-hindu-india_part-1_ta/the-history-of-hindu-india_part-1_ta_720p.mp4" >> >> does not work on the desktop > > Works for me in LC 6.7.2 (RC). > > > Jim Lambert > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From jacque at hyperactivesw.com Fri Feb 13 15:17:17 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 13 Feb 2015 14:17:17 -0600 Subject: iPhone Simulate increase size of objects? In-Reply-To: <54DD880F.4090109@hindu.org> References: <54DD880F.4090109@hindu.org> Message-ID: <54DE5BCD.1040902@hyperactivesw.com> On 2/12/2015 11:13 PM, Brahmanathaswami wrote: > My image appears at it's original size (huge!) in the simulator.. .as if > the downsize I had effected by just dragging the end points of the image > rect to fit on the screen and then setting the loc location to. are not > "accepted" in the simulator?? If the simulator is using the original iPhone resolution (320x480) then your resized image the field will still look huge. As mentioned, using the resolution indepence features are the best way to handle this (see the fullscreenMode entry in the dictionary for starters.) You do need to use high-resolution images to meet Apple's requirements, so letting the engine do the final scaling is the easiest way to manage things. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From MikeKerner at roadrunner.com Fri Feb 13 15:40:16 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 13 Feb 2015 15:40:16 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: I must have missed a thread, somewhere. That would be the thread on how LC handles loops. To recap, doing this sort using an sqlite database (insert the values into a table, then sort the table), was taking me almost 40 seconds. Then Pete chimed in and had it working in a couple hundred milliseconds. The difference? Pete was using a loop of the form repeat for each line tLine in theData and I was doing a repeat with i = 1 to the number of lines in tData So, is there some more in-depth discussion of loop forms in LC, somewhere? I learned something new, today, because 300x faster is a little bit important. On Thu, Feb 12, 2015 at 9:35 PM, Kay C Lan wrote: > On Fri, Feb 13, 2015 at 3:04 AM, J. Landman Gay > wrote: > > > On 2/12/2015 12:54 PM, Peter Haworth wrote: > > > >> > >>> I haven't run any of the LC scripts to do this but if that's true, > then > >> they don't achieve the original objective of reversing the list. > >> > > > > I don't think it's true. Using LC scripts, the first and last lines will > > be terminated by a CR and the line count won't change. The first and last > > lines will have no values but are still terminated by a CR, which is what > > determines the count. > > > > Jacques right. I should have actually run the scripts rather than just > doing it mentally. Because they all add a terminating CR then all is good. > > Apologies for confusing the matter. > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From pete at lcsql.com Fri Feb 13 15:49:53 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 13 Feb 2015 20:49:53 +0000 Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: Hi Mike, Glad you figured out the reason for the speed difference. Not sure if there's a single thread anywhere that talks about repeat loops but "repeat with" can be orders of magnitude faster than "repeat for" as you've discovered. In this case there were about 100k lines in the data and I think I'm right in saying that the time taken to execute a repeat with loop is directly related to the number of lines being processed. On Fri Feb 13 2015 at 12:41:14 PM Mike Kerner wrote: > I must have missed a thread, somewhere. That would be the thread on how LC > handles loops. > > To recap, doing this sort using an sqlite database (insert the values into > a table, then sort the table), was taking me almost 40 seconds. Then Pete > chimed in and had it working in a couple hundred milliseconds. > > The difference? Pete was using a loop of the form > repeat for each line tLine in theData > > and I was doing a > repeat with i = 1 to the number of lines in tData > > > So, is there some more in-depth discussion of loop forms in LC, somewhere? > I learned something new, today, because 300x faster is a little bit > important. > > On Thu, Feb 12, 2015 at 9:35 PM, Kay C Lan > wrote: > > > On Fri, Feb 13, 2015 at 3:04 AM, J. Landman Gay < > jacque at hyperactivesw.com> > > wrote: > > > > > On 2/12/2015 12:54 PM, Peter Haworth wrote: > > > > > >> > > >>> I haven't run any of the LC scripts to do this but if that's true, > > then > > >> they don't achieve the original objective of reversing the list. > > >> > > > > > > I don't think it's true. Using LC scripts, the first and last lines > will > > > be terminated by a CR and the line count won't change. The first and > last > > > lines will have no values but are still terminated by a CR, which is > what > > > determines the count. > > > > > > > Jacques right. I should have actually run the scripts rather than just > > doing it mentally. Because they all add a terminating CR then all is > good. > > > > Apologies for confusing the matter. > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From brahma at hindu.org Fri Feb 13 15:50:24 2015 From: brahma at hindu.org (Brahmanathaswami) Date: Fri, 13 Feb 2015 10:50:24 -1000 Subject: iPhone Simulate increase size of objects? In-Reply-To: <54DE5BCD.1040902@hyperactivesw.com> References: <54DD880F.4090109@hindu.org> <54DE5BCD.1040902@hyperactivesw.com> Message-ID: <54DE6390.1000403@hindu.org> J. Landman Gay wrote: > on startup > set the fullscreenmode of this stack to "exactFit" > end startup Wow.. that was easy... it worked "right out of the box." Well almost... squashed in iPad view... From MikeKerner at roadrunner.com Fri Feb 13 16:02:11 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 13 Feb 2015 16:02:11 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: No, no, it isn't 100,000 lines, it's only 10,000 lines. 0.129 vs 39.0. So then, just for the heck of it, because if we do the "repeat for", we gain some additional information (the line number we're on), I added "put 0 into i" before the loop and then "add 1 to i" inside the loop, at the top. We get... 0.135 seconds. On Fri, Feb 13, 2015 at 3:49 PM, Peter Haworth wrote: > Hi Mike, > Glad you figured out the reason for the speed difference. > > Not sure if there's a single thread anywhere that talks about repeat loops > but "repeat with" can be orders of magnitude faster than "repeat for" as > you've discovered. In this case there were about 100k lines in the data > and I think I'm right in saying that the time taken to execute a repeat > with loop is directly related to the number of lines being processed. > > > > On Fri Feb 13 2015 at 12:41:14 PM Mike Kerner > wrote: > > > I must have missed a thread, somewhere. That would be the thread on how > LC > > handles loops. > > > > To recap, doing this sort using an sqlite database (insert the values > into > > a table, then sort the table), was taking me almost 40 seconds. Then > Pete > > chimed in and had it working in a couple hundred milliseconds. > > > > The difference? Pete was using a loop of the form > > repeat for each line tLine in theData > > > > and I was doing a > > repeat with i = 1 to the number of lines in tData > > > > > > So, is there some more in-depth discussion of loop forms in LC, > somewhere? > > I learned something new, today, because 300x faster is a little bit > > important. > > > > On Thu, Feb 12, 2015 at 9:35 PM, Kay C Lan > > wrote: > > > > > On Fri, Feb 13, 2015 at 3:04 AM, J. Landman Gay < > > jacque at hyperactivesw.com> > > > wrote: > > > > > > > On 2/12/2015 12:54 PM, Peter Haworth wrote: > > > > > > > >> > > > >>> I haven't run any of the LC scripts to do this but if that's true, > > > then > > > >> they don't achieve the original objective of reversing the list. > > > >> > > > > > > > > I don't think it's true. Using LC scripts, the first and last lines > > will > > > > be terminated by a CR and the line count won't change. The first and > > last > > > > lines will have no values but are still terminated by a CR, which is > > what > > > > determines the count. > > > > > > > > > > Jacques right. I should have actually run the scripts rather than just > > > doing it mentally. Because they all add a terminating CR then all is > > good. > > > > > > Apologies for confusing the matter. > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From MikeKerner at roadrunner.com Fri Feb 13 16:04:01 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Fri, 13 Feb 2015 16:04:01 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: NO! SORRY! My mixup in the last post - the REPEAT FOR is faster (repeat for each line...) On Fri, Feb 13, 2015 at 4:02 PM, Mike Kerner wrote: > No, no, it isn't 100,000 lines, it's only 10,000 lines. 0.129 vs 39.0. > > So then, just for the heck of it, because if we do the "repeat for", we > gain some additional information (the line number we're on), I added "put 0 > into i" before the loop and then "add 1 to i" inside the loop, at the top. > We get... 0.135 seconds. > > On Fri, Feb 13, 2015 at 3:49 PM, Peter Haworth wrote: > >> Hi Mike, >> Glad you figured out the reason for the speed difference. >> >> Not sure if there's a single thread anywhere that talks about repeat loops >> but "repeat with" can be orders of magnitude faster than "repeat for" as >> you've discovered. In this case there were about 100k lines in the data >> and I think I'm right in saying that the time taken to execute a repeat >> with loop is directly related to the number of lines being processed. >> >> >> >> On Fri Feb 13 2015 at 12:41:14 PM Mike Kerner >> wrote: >> >> > I must have missed a thread, somewhere. That would be the thread on >> how LC >> > handles loops. >> > >> > To recap, doing this sort using an sqlite database (insert the values >> into >> > a table, then sort the table), was taking me almost 40 seconds. Then >> Pete >> > chimed in and had it working in a couple hundred milliseconds. >> > >> > The difference? Pete was using a loop of the form >> > repeat for each line tLine in theData >> > >> > and I was doing a >> > repeat with i = 1 to the number of lines in tData >> > >> > >> > So, is there some more in-depth discussion of loop forms in LC, >> somewhere? >> > I learned something new, today, because 300x faster is a little bit >> > important. >> > >> > On Thu, Feb 12, 2015 at 9:35 PM, Kay C Lan >> > wrote: >> > >> > > On Fri, Feb 13, 2015 at 3:04 AM, J. Landman Gay < >> > jacque at hyperactivesw.com> >> > > wrote: >> > > >> > > > On 2/12/2015 12:54 PM, Peter Haworth wrote: >> > > > >> > > >> >> > > >>> I haven't run any of the LC scripts to do this but if that's >> true, >> > > then >> > > >> they don't achieve the original objective of reversing the list. >> > > >> >> > > > >> > > > I don't think it's true. Using LC scripts, the first and last lines >> > will >> > > > be terminated by a CR and the line count won't change. The first and >> > last >> > > > lines will have no values but are still terminated by a CR, which is >> > what >> > > > determines the count. >> > > > >> > > >> > > Jacques right. I should have actually run the scripts rather than just >> > > doing it mentally. Because they all add a terminating CR then all is >> > good. >> > > >> > > Apologies for confusing the matter. >> > > _______________________________________________ >> > > use-livecode mailing list >> > > use-livecode at lists.runrev.com >> > > Please visit this url to subscribe, unsubscribe and manage your >> > > subscription preferences: >> > > http://lists.runrev.com/mailman/listinfo/use-livecode >> > > >> > >> > >> > >> > -- >> > On the first day, God created the heavens and the Earth >> > On the second day, God created the oceans. >> > On the third day, God put the animals on hold for a few hours, >> > and did a little diving. >> > And God said, "This is good." >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode at lists.runrev.com >> > Please visit this url to subscribe, unsubscribe and manage your >> > subscription preferences: >> > http://lists.runrev.com/mailman/listinfo/use-livecode >> > >> _______________________________________________ >> use-livecode mailing list >> use-livecode at lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From pete at lcsql.com Fri Feb 13 16:11:37 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 13 Feb 2015 21:11:37 +0000 Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: Right,that's a common technique to avoid the timing problmem when you need a numeric index for some reason. My stack is 100,000 lines Mike, actually 99,913. You're probably getting mixed up with the stack name which includes "10000" because I started testing that way then increased it to 100, 000 and couldn't be bothered changing the name :-) On Fri Feb 13 2015 at 1:03:09 PM Mike Kerner wrote: > No, no, it isn't 100,000 lines, it's only 10,000 lines. 0.129 vs 39.0. > > So then, just for the heck of it, because if we do the "repeat for", we > gain some additional information (the line number we're on), I added "put 0 > into i" before the loop and then "add 1 to i" inside the loop, at the top. > We get... 0.135 seconds. > > On Fri, Feb 13, 2015 at 3:49 PM, Peter Haworth wrote: > > > Hi Mike, > > Glad you figured out the reason for the speed difference. > > > > Not sure if there's a single thread anywhere that talks about repeat > loops > > but "repeat with" can be orders of magnitude faster than "repeat for" as > > you've discovered. In this case there were about 100k lines in the data > > and I think I'm right in saying that the time taken to execute a repeat > > with loop is directly related to the number of lines being processed. > > > > > > > > On Fri Feb 13 2015 at 12:41:14 PM Mike Kerner > > > wrote: > > > > > I must have missed a thread, somewhere. That would be the thread on > how > > LC > > > handles loops. > > > > > > To recap, doing this sort using an sqlite database (insert the values > > into > > > a table, then sort the table), was taking me almost 40 seconds. Then > > Pete > > > chimed in and had it working in a couple hundred milliseconds. > > > > > > The difference? Pete was using a loop of the form > > > repeat for each line tLine in theData > > > > > > and I was doing a > > > repeat with i = 1 to the number of lines in tData > > > > > > > > > So, is there some more in-depth discussion of loop forms in LC, > > somewhere? > > > I learned something new, today, because 300x faster is a little bit > > > important. > > > > > > On Thu, Feb 12, 2015 at 9:35 PM, Kay C Lan > > > wrote: > > > > > > > On Fri, Feb 13, 2015 at 3:04 AM, J. Landman Gay < > > > jacque at hyperactivesw.com> > > > > wrote: > > > > > > > > > On 2/12/2015 12:54 PM, Peter Haworth wrote: > > > > > > > > > >> > > > > >>> I haven't run any of the LC scripts to do this but if that's > true, > > > > then > > > > >> they don't achieve the original objective of reversing the list. > > > > >> > > > > > > > > > > I don't think it's true. Using LC scripts, the first and last lines > > > will > > > > > be terminated by a CR and the line count won't change. The first > and > > > last > > > > > lines will have no values but are still terminated by a CR, which > is > > > what > > > > > determines the count. > > > > > > > > > > > > > Jacques right. I should have actually run the scripts rather than > just > > > > doing it mentally. Because they all add a terminating CR then all is > > > good. > > > > > > > > Apologies for confusing the matter. > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode at lists.runrev.com > > > > Please visit this url to subscribe, unsubscribe and manage your > > > > subscription preferences: > > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > > > > > > -- > > > On the first day, God created the heavens and the Earth > > > On the second day, God created the oceans. > > > On the third day, God put the animals on hold for a few hours, > > > and did a little diving. > > > And God said, "This is good." > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From bobsneidar at iotecdigital.com Fri Feb 13 17:46:15 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 13 Feb 2015 22:46:15 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> Message-ID: <98AEE2F1-6251-4B98-B419-2360BCDFAEEF@iotecdigital.com> He may also have been using a memory resident database. That is what I suggested at the first. To do this, use ?memory? as the file name. Bob S On Feb 13, 2015, at 12:40 , Mike Kerner > wrote: I must have missed a thread, somewhere. That would be the thread on how LC handles loops. To recap, doing this sort using an sqlite database (insert the values into a table, then sort the table), was taking me almost 40 seconds. Then Pete chimed in and had it working in a couple hundred milliseconds. The difference? Pete was using a loop of the form repeat for each line tLine in theData and I was doing a repeat with i = 1 to the number of lines in tData So, is there some more in-depth discussion of loop forms in LC, somewhere? I learned something new, today, because 300x faster is a little bit important. From pete at lcsql.com Fri Feb 13 18:34:21 2015 From: pete at lcsql.com (Peter Haworth) Date: Fri, 13 Feb 2015 23:34:21 +0000 Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> <98AEE2F1-6251-4B98-B419-2360BCDFAEEF@iotecdigital.com> Message-ID: We both used in memory databases. The filename is ";memory:" On Fri Feb 13 2015 at 2:46:45 PM Bob Sneidar wrote: > He may also have been using a memory resident database. That is what I > suggested at the first. To do this, use ?memory? as the file name. > > Bob S > > > On Feb 13, 2015, at 12:40 , Mike Kerner MikeKerner at roadrunner.com>> wrote: > > I must have missed a thread, somewhere. That would be the thread on how LC > handles loops. > > To recap, doing this sort using an sqlite database (insert the values into > a table, then sort the table), was taking me almost 40 seconds. Then Pete > chimed in and had it working in a couple hundred milliseconds. > > The difference? Pete was using a loop of the form > repeat for each line tLine in theData > > and I was doing a > repeat with i = 1 to the number of lines in tData > > > So, is there some more in-depth discussion of loop forms in LC, somewhere? > I learned something new, today, because 300x faster is a little bit > important. > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From bobsneidar at iotecdigital.com Fri Feb 13 18:37:19 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 13 Feb 2015 23:37:19 +0000 Subject: Menu Buttons and the text property Message-ID: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> Hi all. If I set the text of a Combo Menu to a return delimited list, not only does it change the menu options (as it should) but it also sets the Label to the first line of the menu options! That is undesirable for me. Not sure if this is the intended behavior or not. Presently it is shooting me in the foot. If it is, I?ll find a workaround, otherwise I should file a bug report. Bob S From bobsneidar at iotecdigital.com Fri Feb 13 18:56:32 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 13 Feb 2015 23:56:32 +0000 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> <98AEE2F1-6251-4B98-B419-2360BCDFAEEF@iotecdigital.com> Message-ID: Oh thanks. That would have screwed me up if I had tried to use ?memory?. Bob S On Feb 13, 2015, at 15:34 , Peter Haworth > wrote: We both used in memory databases. The filename is ";memory:" From bobsneidar at iotecdigital.com Fri Feb 13 19:03:10 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 14 Feb 2015 00:03:10 +0000 Subject: Menu Buttons and the text property In-Reply-To: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> References: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> Message-ID: <78424C78-35C8-40F6-9A1A-AAF204E484D2@iotecdigital.com> Trying to come up with a workaround. Turns out that in a combo box the selectedChunk does NOT return the insertion point. Instead it returns the description of the first line of the text of it. For example, I have 5 characters in the combo box, the insertion point is at the end of that text. I have a handler: on backspaceKey put the selectedChunk into StoredChunk end backspaceKey StoredChunk now contains char 1 to 12 of button 1, not char 5 to 4 of button 1 like it should. Instead it's the length of the first line of the text of that button. Again, is this what is supposed to happen, or should I submit a bug report? Bob S > On Feb 13, 2015, at 15:37 , Bob Sneidar wrote: > > Hi all. > > If I set the text of a Combo Menu to a return delimited list, not only does it change the menu options (as it should) but it also sets the Label to the first line of the menu options! That is undesirable for me. > > Not sure if this is the intended behavior or not. Presently it is shooting me in the foot. If it is, I?ll find a workaround, otherwise I should file a bug report. > > Bob S From iowahengst at mac.com Fri Feb 13 19:09:08 2015 From: iowahengst at mac.com (Randy Hengst) Date: Fri, 13 Feb 2015 18:09:08 -0600 Subject: Menu Buttons and the text property In-Reply-To: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> References: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> Message-ID: Sounds like menuHistory might be helpful. > On Feb 13, 2015, at 5:37 PM, Bob Sneidar wrote: > > Hi all. > > If I set the text of a Combo Menu to a return delimited list, not only does it change the menu options (as it should) but it also sets the Label to the first line of the menu options! That is undesirable for me. > > Not sure if this is the intended behavior or not. Presently it is shooting me in the foot. If it is, I?ll find a workaround, otherwise I should file a bug report. > > Bob S > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From matthias_livecode_150811 at m-r-d.de Fri Feb 13 19:37:57 2015 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe | M-R-D) Date: Sat, 14 Feb 2015 01:37:57 +0100 Subject: Cover the complete dual screen desktop with a stack? Message-ID: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> Hi. please excuse, if this post should arrive twice in your inbox But i sent this message already about 6 hrs ago to this list and it did not arrive here or in the online list archive. So i am trying again. I am looking for a way to cover the whole dual screen desktop with a stack. Setting the fullscreen mode only works on the ?active? screen. The screen where the stack is placed after opening. Is there a way to do this in livecode? Regards, Matthias From bobsneidar at iotecdigital.com Fri Feb 13 19:43:22 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 14 Feb 2015 00:43:22 +0000 Subject: Menu Buttons and the text property In-Reply-To: References: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> Message-ID: Thanks for the reply. Let me explain what I am trying to accomplish. I have a combo box with a property containing a list of Industry Names. Things like Retail Services, Auto Repair and such. As the user types, I want to autofill the text with the first choice in that list that matches what the user typed, then select the remaining text after it, so that typing replaces the text after the insertion point. That part works fine. But what happens when the user backspaces? Well it just fills in the remainder of the entry and selects after the insertion point like it normally does. I want the user to be able to delete what is there. Easy enough, I just put empty into the selectedText. But what if there *is* no selected text?? The selectedText is empty, the selected chunk is a description of the first line of the text. So it will delete the whole contents if I use that. Now if the selected chunk behaved in a combo box the way it does in a field, I could parse that and delete the character of the label prior to the insertion point. But it doesn?t, and no commands or functions I?ve found do. I did find a workaround though. The following seems to work properly. It?s a kludge in the finest tradition of epic kludges, but it works. on rawKeyDown pKeyCode if pKeyCode = 65288 then lock messages if the selection is empty then type numToChar(pKeyCode) exit to top end if end if pass rawKeyDown end rawKeyDown on textChanged if the label of me is empty then set the text of me to the options of me exit textChanged end if put the label of me into theValue put length(theValue) into theLength put the Options of me into theOptions filter theOptions with theValue & "*" if theOptions is not empty then set the text of me to theOptions if the text of me is among the lines of theOptions then -- set the label of me to line 1 of theOptions select char theLength +1 to -1 of me end if end if -- focus on me pass textChanged end textChanged From bobsneidar at iotecdigital.com Fri Feb 13 19:44:27 2015 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 14 Feb 2015 00:44:27 +0000 Subject: Cover the complete dual screen desktop with a stack? In-Reply-To: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> References: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> Message-ID: <9322B8B5-76B7-49A4-A7E9-9E93EAFDA67E@iotecdigital.com> I bet that would play holy hell with the new graphics engine. Bob S > On Feb 13, 2015, at 16:37 , Matthias Rebbe | M-R-D wrote: > > Hi. > > please excuse, if this post should arrive twice in your inbox But i sent this message already about 6 hrs ago to this list and it did not arrive here or in the online list archive. > > So i am trying again. > > > I am looking for a way to cover the whole dual screen desktop with a stack. Setting the fullscreen mode only works on the ?active? screen. The screen where the stack is placed after opening. > > Is there a way to do this in livecode? > > Regards, > > Matthias > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Fri Feb 13 19:51:04 2015 From: paul at researchware.com (Paul Dupuis) Date: Fri, 13 Feb 2015 19:51:04 -0500 Subject: Cover the complete dual screen desktop with a stack? In-Reply-To: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> References: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> Message-ID: <54DE9BF8.5030701@researchware.com> On 2/13/2015 7:37 PM, Matthias Rebbe | M-R-D wrote: > Hi. > > please excuse, if this post should arrive twice in your inbox But i sent this message already about 6 hrs ago to this list and it did not arrive here or in the online list archive. > > So i am trying again. > > > I am looking for a way to cover the whole dual screen desktop with a stack. Setting the fullscreen mode only works on the ?active? screen. The screen where the stack is placed after opening. > > Is there a way to do this in livecode? > See the screenrects in the dictionary. Get the screenRects for the 2 displays, figure the contiguous coordinates of the combined area and then set the rect of your stack to that. From iowahengst at mac.com Fri Feb 13 20:17:56 2015 From: iowahengst at mac.com (Randy Hengst) Date: Fri, 13 Feb 2015 19:17:56 -0600 Subject: Menu Buttons and the text property In-Reply-To: References: <977F30BC-9CCE-48B6-8424-78AB5DD152AD@iotecdigital.com> Message-ID: I'm not at my computer so this idea might just be worthless. Can the first line of your industry list be empty and when you trap for delete go to line 1? > On Feb 13, 2015, at 6:43 PM, Bob Sneidar wrote: > > Thanks for the reply. Let me explain what I am trying to accomplish. > > I have a combo box with a property containing a list of Industry Names. Things like Retail Services, Auto Repair and such. As the user types, I want to autofill the text with the first choice in that list that matches what the user typed, then select the remaining text after it, so that typing replaces the text after the insertion point. That part works fine. > > But what happens when the user backspaces? Well it just fills in the remainder of the entry and selects after the insertion point like it normally does. I want the user to be able to delete what is there. Easy enough, I just put empty into the selectedText. But what if there *is* no selected text?? The selectedText is empty, the selected chunk is a description of the first line of the text. So it will delete the whole contents if I use that. > > Now if the selected chunk behaved in a combo box the way it does in a field, I could parse that and delete the character of the label prior to the insertion point. But it doesn?t, and no commands or functions I?ve found do. > > I did find a workaround though. The following seems to work properly. It?s a kludge in the finest tradition of epic kludges, but it works. > > on rawKeyDown pKeyCode > if pKeyCode = 65288 then > lock messages > if the selection is empty then > type numToChar(pKeyCode) > exit to top > end if > end if > pass rawKeyDown > end rawKeyDown > > on textChanged > if the label of me is empty then > set the text of me to the options of me > exit textChanged > end if > > put the label of me into theValue > put length(theValue) into theLength > put the Options of me into theOptions > filter theOptions with theValue & "*" > > if theOptions is not empty then > set the text of me to theOptions > if the text of me is among the lines of theOptions then > -- set the label of me to line 1 of theOptions > select char theLength +1 to -1 of me > end if > end if > > -- focus on me > pass textChanged > end textChanged > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From lists at mangomultimedia.com Fri Feb 13 23:56:14 2015 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 13 Feb 2015 23:56:14 -0500 Subject: Cover the complete dual screen desktop with a stack? In-Reply-To: <54DE9BF8.5030701@researchware.com> References: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> <54DE9BF8.5030701@researchware.com> Message-ID: On Fri, Feb 13, 2015 at 7:51 PM, Paul Dupuis wrote: > On 2/13/2015 7:37 PM, Matthias Rebbe | M-R-D wrote: > > > > I am looking for a way to cover the whole dual screen desktop with a > stack. Setting the fullscreen mode only works on the ?active? screen. The > screen where the stack is placed after opening. > > > > Is there a way to do this in livecode? > > > > See the screenrects in the dictionary. Get the screenRects for the 2 > displays, figure the contiguous coordinates of the combined area and > then set the rect of your stack to that. You'll want to consider creating a stack for each line (screen) in the screenrects. On newer versions of OS X, each monitor can be a unique space and a window can't span multiple monitors. -- Trevor DeVore ScreenSteps www.screensteps.com - www.clarify-it.com From revdev at pdslabs.net Sat Feb 14 01:07:34 2015 From: revdev at pdslabs.net (Phil Davis) Date: Fri, 13 Feb 2015 22:07:34 -0800 Subject: Cover the complete dual screen desktop with a stack? In-Reply-To: References: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> <54DE9BF8.5030701@researchware.com> Message-ID: <54DEE626.2000402@pdslabs.net> And screens can be different sizes. That's the setup I have - my main one is 2560x1440, the other is 1680x1050. They display a single continuous desktop space. When I get "the screenRects" I find that the top and bottom of the smaller display are NOT 0 and 1050! They are 246 and 1296 - it is center-aligned with the larger screen. Phil On 2/13/15 8:56 PM, Trevor DeVore wrote: > On Fri, Feb 13, 2015 at 7:51 PM, Paul Dupuis wrote: > >> On 2/13/2015 7:37 PM, Matthias Rebbe | M-R-D wrote: >>> I am looking for a way to cover the whole dual screen desktop with a >> stack. Setting the fullscreen mode only works on the ?active? screen. The >> screen where the stack is placed after opening. >>> Is there a way to do this in livecode? >>> >> See the screenrects in the dictionary. Get the screenRects for the 2 >> displays, figure the contiguous coordinates of the combined area and >> then set the rect of your stack to that. > > You'll want to consider creating a stack for each line (screen) in the > screenrects. On newer versions of OS X, each monitor can be a unique space > and a window can't span multiple monitors. > -- Phil Davis From richmondmathewson at gmail.com Sat Feb 14 05:00:53 2015 From: richmondmathewson at gmail.com (Richmond) Date: Sat, 14 Feb 2015 12:00:53 +0200 Subject: Livecode University on Mac OS 10.8 ? Message-ID: <54DF1CD5.9080909@gmail.com> Does not work. Could anyone please advise me? Richmond. From ludovic.thebault at laposte.net Sat Feb 14 10:17:02 2015 From: ludovic.thebault at laposte.net (=?windows-1252?Q?Ludovic_Th=E9bault?=) Date: Sat, 14 Feb 2015 16:17:02 +0100 Subject: Keyboardactivated but mobilecontroltarget is empty Message-ID: Hello, I?ve 2 native input on a card. One is covered by the keyboard so i need to move it when the keyboard is displayed. It?s ok, it?s work. But i need to block this script for the other input. How to know the input that displayed the keyboard ? The mobilecontrotarget() return empty into the ? keyboardactivated ? script and in the ? inputBeginEditing ? it?s too late the script of ? keyboardactivated ? is already done. I?ve also try the ? touchstart ? script without success. Thanks. From ludovic.thebault at laposte.net Sat Feb 14 10:31:47 2015 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Sat, 14 Feb 2015 16:31:47 +0100 Subject: Keyboardactivated but mobilecontroltarget is empty In-Reply-To: References: Message-ID: <94DFD5AA-A9E5-4766-8FA5-D5F1F61A720D@laposte.net> I put the "moving script" in the inputBeginEditing and inputEndEditing of the object. It?s work now. From lfredricks at proactive-intl.com Sat Feb 14 12:03:27 2015 From: lfredricks at proactive-intl.com (Lynn Fredricks) Date: Sat, 14 Feb 2015 09:03:27 -0800 Subject: Valentina Day 2015: Save 50% on VDN / OEM Distribution of Valentina Server Message-ID: <10B98B3201444E55A1C2EF32655422EA@GATEWAY> Valentina Server incorporates a powerful Reports Server that works with most popular database servers (MySQL, MariaDB, PostgreSQL, MS SQL Server & Valentina DB) to generate reports in HTML, images and as XML enriched PDFs with your web or network applications. It also incorprates the ultra fast Valentina Object Relational Database Server. VDN lets you deploy Valentina Server (OEM version) to your customers, royalty free! You can build web apps around it with popular languages like PHP and also Ruby on Rails, but you can also integrate it with most popular development enviroments - including yours! We are celebrating our name day "Valentine's Day" by having a 50% off sale on VDN. This sale will last through 2/16/2015. See our announcement on our blog: http://www.valentina-db.com/blog/ See the description of the product: http://www.valentina-db.com/en/valentina-developer-network-overview Buy on our store: http://bit.ly/1FLp0P4 Best regards, Lynn Fredricks Paradigma Software http://www.paradigmasoft.com Valentina SQL Server: The Ultra-fast, Royalty Free Database Server From MikeKerner at roadrunner.com Sat Feb 14 17:00:36 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 14 Feb 2015 17:00:36 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> <98AEE2F1-6251-4B98-B419-2360BCDFAEEF@iotecdigital.com> Message-ID: Pete, is that a typo, or did you mean to have a semicolon instead of a colon in front of "memory"? Does ";memory:" work, too, or just ":memory:"? AND HOLY CRAP, yes, Pete, you're right, you were doing 100k records, where the other example was only doing 10k. So doing 100k records with REPEAT WITH took wait for it wait for it Believe me, I was waiting, and waiting, and wating for it FIFTY EIGHT MINUTES AND THIRTEEN SECONDS. REPEAT FOR is .129 seconds, and REPEAT WITH is TWENTY SEVEN THOUSAND TIMES SLOWER (for this operation)??!?!?!?!?!??? Hey, Pete, "That's a common technique"...WHAT? If it's so common, and all of this is common knowledge, then how come it isn't documented, anywhere, and how come this is the first time I remember EVER hearing about this difference? What else don't I know about??? Grrrrrrrrrrrrrr. You would think that Edinburgh would think about tweaking an algorithm, since REPEAT WITH seems to be a special case of REPEAT FOR, and you can generate the REPEAT WITH behavior by wrapping the REPEAT FOR... On Fri, Feb 13, 2015 at 6:56 PM, Bob Sneidar wrote: > Oh thanks. That would have screwed me up if I had tried to use ?memory?. > > Bob S > > > On Feb 13, 2015, at 15:34 , Peter Haworth pete at lcsql.com>> wrote: > > We both used in memory databases. The filename is ";memory:" > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From ambassador at fourthworld.com Sat Feb 14 18:00:17 2015 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 14 Feb 2015 15:00:17 -0800 Subject: Reverse a list In-Reply-To: References: Message-ID: <54DFD381.8040304@fourthworld.com> Mike Kerner wrote: ... > REPEAT FOR is .129 seconds, and REPEAT WITH is TWENTY SEVEN THOUSAND > TIMES SLOWER (for this operation)??!?!?!?!?!??? > > Hey, Pete, "That's a common technique"...WHAT? If it's so common, > and all of this is common knowledge, then how come it isn't > documented, anywhere The Dictionary entry for "repeat" notes that the "for each" form is much faster than "with". > and how come this is the first time I remember EVER hearing about this > difference? Good question. This comes up in the forums and/or this list almost every month or so. The speed difference will vary according to the size of each line and the size of the lines, but "order of magnitude" is usually a pretty fair minimal expectation for the speed boost with this. It's one of those things we don't think about until we see it in action, and then it seems almost self-evident: Chunk expressions are handy, but expensive. We usually don't think about the expense because the engine's pretty fast, but with large-scale operations like traversing a long list it adds up enough to be significant. Many chunk expressions require the engine to examine the data character by character, keeping track of delimiters as it goes. With this: repeat with i = 1 to the number of lines of tData DoSomethingWith line i of tData end repeat ...the engine first needs to examine every character in tData to count the number of CRs, then each time through the loop it needs to do it again to the next line. First time through it reads from the beginning until the first CR, second time through it goes from the beginning until the second CR, and so forth, so by the time you get several thousand lines into it it's doing the same long character-by-character comparison each time through, getting successively slower and slower. But here: repeat for each line tLine in tData DoSomethingWith tLine end repeat ...the engine only counts to the next CR, puts it into tLine, and remembers where it left off so each time through the loop it's only reading a single line. While the former takes logarithmically longer to complete, the latter scales flatly. > What else don't I know about??? Mode 14. :) > You would think that Edinburgh would think about tweaking an > algorithm, since REPEAT WITH seems to be a special case of > REPEAT FOR, and you can generate the REPEAT WITH behavior > by wrapping the REPEAT FOR... But there's one key difference which makes each form worth keeping in case you need it: With "repeat with i =..." the data in the variable being traversed can change. Sometimes you may need that. But with "repeat for each..." the data being traversed is not allowed to change, because if it did then the line endings might have been altered and its attempt to keep track of where it is would fail. So each form has its own special benefits. I tend to use "repeat for each" most of the time, but I'm glad "repeat with" is available for the rare cases where it's useful. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ____________________________________________________________________ Ambassador at FourthWorld.com http://www.FourthWorld.com From pete at lcsql.com Sat Feb 14 18:25:03 2015 From: pete at lcsql.com (Peter Haworth) Date: Sat, 14 Feb 2015 23:25:03 +0000 Subject: Reverse a list References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> <98AEE2F1-6251-4B98-B419-2360BCDFAEEF@iotecdigital.com> Message-ID: Typo, should be ":memory:". On Sat Feb 14 2015 at 2:01:45 PM Mike Kerner wrote: > Pete, is that a typo, or did you mean to have a semicolon instead of a > colon in front of "memory"? Does ";memory:" work, too, or just ":memory:"? > > AND HOLY CRAP, yes, Pete, you're right, you were doing 100k records, where > the other example was only doing 10k. So doing 100k records with REPEAT > WITH took > wait for it > wait for it > Believe me, I was waiting, and waiting, and wating for it > FIFTY EIGHT MINUTES AND THIRTEEN SECONDS. > > REPEAT FOR is .129 seconds, and REPEAT WITH is TWENTY SEVEN THOUSAND TIMES > SLOWER (for this operation)??!?!?!?!?!??? > > Hey, Pete, "That's a common technique"...WHAT? If it's so common, and all > of this is common knowledge, then how come it isn't documented, anywhere, > and how come this is the first time I remember EVER hearing about this > difference? What else don't I know about??? Grrrrrrrrrrrrrr. You would > think that Edinburgh would think about tweaking an algorithm, since REPEAT > WITH seems to be a special case of REPEAT FOR, and you can generate the > REPEAT WITH behavior by wrapping the REPEAT FOR... > > On Fri, Feb 13, 2015 at 6:56 PM, Bob Sneidar > wrote: > > > Oh thanks. That would have screwed me up if I had tried to use ?memory?. > > > > Bob S > > > > > > On Feb 13, 2015, at 15:34 , Peter Haworth > pete at lcsql.com>> wrote: > > > > We both used in memory databases. The filename is ";memory:" > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From walter.h.brown at gmail.com Sat Feb 14 18:27:35 2015 From: walter.h.brown at gmail.com (Walt Brown) Date: Sat, 14 Feb 2015 18:27:35 -0500 Subject: Cover the complete dual screen desktop with a stack? In-Reply-To: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> References: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> Message-ID: Look at the "screenRects". It gives you the dimensions of all screens in use, one per line. The top left corner of your main screen is 0,0. Moving to the right and down the numbers increase, while moving above and to the left the numbers decrease as negative numbers. With that you can calculate the rectangle encompassing both screens and it's center location and set your stack to that. Walt On Fri, Feb 13, 2015 at 7:37 PM, Matthias Rebbe | M-R-D < matthias_livecode_150811 at m-r-d.de> wrote: > Hi. > > please excuse, if this post should arrive twice in your inbox But i sent > this message already about 6 hrs ago to this list and it did not arrive > here or in the online list archive. > > So i am trying again. > > > I am looking for a way to cover the whole dual screen desktop with a > stack. Setting the fullscreen mode only works on the ?active? screen. The > screen where the stack is placed after opening. > > Is there a way to do this in livecode? > > Regards, > > Matthias > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From walter.h.brown at gmail.com Sat Feb 14 18:28:21 2015 From: walter.h.brown at gmail.com (Walt Brown) Date: Sat, 14 Feb 2015 18:28:21 -0500 Subject: Cover the complete dual screen desktop with a stack? In-Reply-To: References: <2FCDF99C-95C1-4EDD-9DFA-C8327135D55F@m-r-d.de> <54DE9BF8.5030701@researchware.com> Message-ID: Sorry, my new email client only showed me the first post... On Fri, Feb 13, 2015 at 11:56 PM, Trevor DeVore wrote: > On Fri, Feb 13, 2015 at 7:51 PM, Paul Dupuis > wrote: > > > On 2/13/2015 7:37 PM, Matthias Rebbe | M-R-D wrote: > > > > > > I am looking for a way to cover the whole dual screen desktop with a > > stack. Setting the fullscreen mode only works on the ?active? screen. The > > screen where the stack is placed after opening. > > > > > > Is there a way to do this in livecode? > > > > > > > See the screenrects in the dictionary. Get the screenRects for the 2 > > displays, figure the contiguous coordinates of the combined area and > > then set the rect of your stack to that. > > > You'll want to consider creating a stack for each line (screen) in the > screenrects. On newer versions of OS X, each monitor can be a unique space > and a window can't span multiple monitors. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com - www.clarify-it.com > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > From pete at lcsql.com Sat Feb 14 19:29:45 2015 From: pete at lcsql.com (Peter Haworth) Date: Sun, 15 Feb 2015 00:29:45 +0000 Subject: Answer File DIalog Message-ID: When I select Open from the Textedit File menu, I see a dropdown menu of encodings to be used when I select a file. Is there a way to have that menu appear with the LC answer file dialog? From pete at lcsql.com Sat Feb 14 19:32:37 2015 From: pete at lcsql.com (Peter Haworth) Date: Sun, 15 Feb 2015 00:32:37 +0000 Subject: Filename of an image Message-ID: If I set the filename of an image, it correctly loads that file into the image. Say I then change the contents of the file - if I set the filename of the image again, the original file contents remain in the image, presumably because of some caching effect. Is there a way to force the image to be reloaded from the file? I tried setting the filename to empty but that gave me an error (in the message box). From maring.richard at gmail.com Sat Feb 14 20:04:30 2015 From: maring.richard at gmail.com (maring.richard) Date: Sat, 14 Feb 2015 19:04:30 -0600 Subject: Filename of an image Message-ID: Peter, It is indeed the cache. I spent an entire day trying to figure this one out. ?I finally found that if there is any reference to that filename in any image container anywhere in your code the cache will not release it.? Also changing the image file and reloading it will not clear it from cache either as the file was never deleted.? What worked for me was to delete the original image file. The I put the word "junk" into the filename of every occurrence of that image container. Did a wait of 5 milliseconds then loaded any modified copy of the original and it worked.? I had a scratch stack that I occasionally placed substances in for various reasons. I found that one of them had an image container that had my image filename in it and it was the reason the cache wasn't releasing the file. Had forgotten it was even there. It is never called or opened but the cache new it was there.? Hope this helps point you in a direction that helps.? Rich Maring? Sent via the Samsung Galaxy Note? 4, an AT&T 4G LTE smartphone -------- Original message -------- From: Peter Haworth Date: 02/14/2015 6:32 PM (GMT-06:00) To: How to use LiveCode Subject: Filename of an image If I set the filename of an image, it correctly loads that file into the image. Say I then change the contents of the file - if I set the filename of the image again, the original file contents remain in the image, presumably because of some caching effect. Is there a way to force the image to be reloaded from the file? I tried setting the filename to empty but that gave me an error (in the message box). _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From paul at livecode.org Sat Feb 14 20:10:20 2015 From: paul at livecode.org (Paul Hibbert) Date: Sat, 14 Feb 2015 17:10:20 -0800 Subject: Answer File DIalog In-Reply-To: References: Message-ID: Yes there is, see "answer file with type" in the dictionary, but here's example I've used? on mouseUp answer file "Choose an Image to import..." with defaultFolder with \ type "All Images|png,jpg,gif|PNG,JPG,GIF" or \ type "PNG|png|PNG" or \ type "GIF|gif|GIF" or \ type "JPEG|jpg|JPG" as sheet if it is empty then exit to top else set the itemDel to slash put the last item of it into fld "myImagePath" set the fileName of img "myImage" to it end if end mouseUp HTH Paul > On Feb 14, 2015, at 4:29 PM, Peter Haworth wrote: > > When I select Open from the Textedit File menu, I see a dropdown menu of > encodings to be used when I select a file. > > Is there a way to have that menu appear with the LC answer file dialog? > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From pete at lcsql.com Sat Feb 14 20:24:40 2015 From: pete at lcsql.com (Peter Haworth) Date: Sun, 15 Feb 2015 01:24:40 +0000 Subject: Answer File DIalog References: Message-ID: Hi Paul, Right, that's for filtering by file type. What I'm looking for is a menu of encoding types (UTF8, UTF16, etc). If you're on a Mac, run Textedit and choose Open from the File menu and you'll see what I mean. On Sat Feb 14 2015 at 5:10:41 PM Paul Hibbert wrote: > Yes there is, see "answer file with type" in the dictionary, but here's > example I've used? > > on mouseUp > answer file "Choose an Image to import..." with defaultFolder with \ > type "All Images|png,jpg,gif|PNG,JPG,GIF" or \ > type "PNG|png|PNG" or \ > type "GIF|gif|GIF" or \ > type "JPEG|jpg|JPG" as sheet > if it is empty then > exit to top > else > set the itemDel to slash > put the last item of it into fld "myImagePath" > set the fileName of img "myImage" to it > end if > end mouseUp > > HTH > > Paul > > > On Feb 14, 2015, at 4:29 PM, Peter Haworth wrote: > > > > When I select Open from the Textedit File menu, I see a dropdown menu of > > encodings to be used when I select a file. > > > > Is there a way to have that menu appear with the LC answer file dialog? > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From scott at tactilemedia.com Sat Feb 14 20:29:10 2015 From: scott at tactilemedia.com (Scott Rossi) Date: Sat, 14 Feb 2015 17:29:10 -0800 Subject: Filename of an image In-Reply-To: References: Message-ID: Seems to work fine here using LC 6.7 on OS X 10.9.5. Setting the fileName of an image by itself shouldn?t cause an error. How are you modifying the external image? Regards, Scott Rossi Creative Director Tactile Media, UX/UI Design On 2/14/15, 4:32 PM, "Peter Haworth" wrote: >If I set the filename of an image, it correctly loads that file into the >image. > >Say I then change the contents of the file - if I set the filename of the >image again, the original file contents remain in the image, presumably >because of some caching effect. > >Is there a way to force the image to be reloaded from the file? I tried >setting the filename to empty but that gave me an error (in the message >box). >_______________________________________________ >use-livecode mailing list >use-livecode at lists.runrev.com >Please visit this url to subscribe, unsubscribe and manage your >subscription preferences: >http://lists.runrev.com/mailman/listinfo/use-livecode From pete at lcsql.com Sat Feb 14 20:29:28 2015 From: pete at lcsql.com (Peter Haworth) Date: Sun, 15 Feb 2015 01:29:28 +0000 Subject: Filename of an image References: Message-ID: Thanks Rich. I've temporarily been working round the issue by deleting the image and creating a new one as you mentioned. Fortunately, there's only one image with the filename in question. I was hoping there'd be a more elegant solution than deleting and creating a new image but maybe that's the way it is. I guess I could create my image file with a different name every time I create it. Sounds like there should be a way to switch off image caching. On Sat Feb 14 2015 at 5:04:56 PM maring.richard wrote: > Peter, > > It is indeed the cache. I spent an entire day trying to figure this one > out. I finally found that if there is any reference to that filename in > any image container anywhere in your code the cache will not release it. > > Also changing the image file and reloading it will not clear it from cache > either as the file was never deleted. > > What worked for me was to delete the original image file. The I put the > word "junk" into the filename of every occurrence of that image container. > Did a wait of 5 milliseconds then loaded any modified copy of the original > and it worked. > > I had a scratch stack that I occasionally placed substances in for various > reasons. I found that one of them had an image container that had my image > filename in it and it was the reason the cache wasn't releasing the file. > Had forgotten it was even there. It is never called or opened but the cache > new it was there. > > Hope this helps point you in a direction that helps. > > Rich Maring > > > > > Sent via the Samsung Galaxy Note? 4, an AT&T 4G LTE smartphone > > > -------- Original message -------- > From: Peter Haworth > Date: 02/14/2015 6:32 PM (GMT-06:00) > To: How to use LiveCode > Subject: Filename of an image > > If I set the filename of an image, it correctly loads that file into the > image. > > Say I then change the contents of the file - if I set the filename of the > image again, the original file contents remain in the image, presumably > because of some caching effect. > > Is there a way to force the image to be reloaded from the file? I tried > setting the filename to empty but that gave me an error (in the message > box). > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From maring.richard at gmail.com Sat Feb 14 20:40:54 2015 From: maring.richard at gmail.com (maring.richard) Date: Sat, 14 Feb 2015 19:40:54 -0600 Subject: Filename of an image Message-ID: <5v6s2m6awb4vjqxxf37n7xna.1423964454066@email.android.com> Peter, No way I've found to turn off or manually do anything with the cache. I'm using LC 7.01 rc2 and when I moved to it is when this became a problem for me.? It should only be a problem when the image name is unchanged. As the system can still find that name in the cache even though you deleted the physical file on the drive.? The physical file needs to be removed and by putting a different file name or some interim junk in the filename reference allows the cache to release it's copy.? Rich Sent via the Samsung Galaxy Note? 4, an AT&T 4G LTE smartphone -------- Original message -------- From: Peter Haworth Date: 02/14/2015 7:29 PM (GMT-06:00) To: How to use LiveCode Subject: Re: Filename of an image Thanks Rich. I've temporarily been working round the issue by deleting the image and creating a new one as you mentioned. Fortunately, there's only one image with the filename in question. I was hoping there'd be a more elegant solution than deleting and creating a new image but maybe that's the way it is. I guess I could create my image file with a different name every time I create it. Sounds like there should be a way to switch off image caching. On Sat Feb 14 2015 at 5:04:56 PM maring.richard wrote: > Peter, > > It is indeed the cache. I spent an entire day trying to figure this one > out. I finally found that if there is any reference to that filename in > any image container anywhere in your code the cache will not release it. > > Also changing the image file and reloading it will not clear it from cache > either as the file was never deleted. > > What worked for me was to delete the original image file. The I put the > word "junk" into the filename of every occurrence of that image container. > Did a wait of 5 milliseconds then loaded any modified copy of the original > and it worked. > > I had a scratch stack that I occasionally placed substances in for various > reasons. I found that one of them had an image container that had my image > filename in it and it was the reason the cache wasn't releasing the file. > Had forgotten it was even there. It is never called or opened but the cache > new it was there. > > Hope this helps point you in a direction that helps. > > Rich Maring > > > > > Sent via the Samsung Galaxy Note? 4, an AT&T 4G LTE smartphone > > > -------- Original message -------- > From: Peter Haworth > Date: 02/14/2015 6:32 PM (GMT-06:00) > To: How to use LiveCode > Subject: Filename of an image > > If I set the filename of an image, it correctly loads that file into the > image. > > Say I then change the contents of the file - if I set the filename of the > image again, the original file contents remain in the image, presumably > because of some caching effect. > > Is there a way to force the image to be reloaded from the file? I tried > setting the filename to empty but that gave me an error (in the message > box). > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode at lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode From MikeKerner at roadrunner.com Sat Feb 14 21:28:31 2015 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Sat, 14 Feb 2015 21:28:31 -0500 Subject: Reverse a list In-Reply-To: References: <54D7DA9A.6010801@hyperactivesw.com> <54D7E51F.9010408@tweedly.net> <54D7F336.60905@tweedly.net> <54DCF925.5030009@hyperactivesw.com> <98AEE2F1-6251-4B98-B419-2360BCDFAEEF@iotecdigital.com> Message-ID: Richard, I just read the dictionary entry (again), and I would say that it is not at all clear that there would appear to be an ENORMOUS difference. For starters, you have to read waaaaaaaay down to find the mention, it isn't really called out with a NOTE or anything else to draw one's attention to it, and it is definitely understated. Even mentioning "order of magnitude" would be better (although it would appear to be an understatement). I literally had no idea until I ran into this, by accident, and was exchanging notes with Peter. The difference is staggering, and it really should be made much more obvious. On Sat, Feb 14, 2015 at 6:25 PM, Peter Haworth wrote: > Typo, should be ":memory:". > > On Sat Feb 14 2015 at 2:01:45 PM Mike Kerner > wrote: > > > Pete, is that a typo, or did you mean to have a semicolon instead of a > > colon in front of "memory"? Does ";memory:" work, too, or just > ":memory:"? > > > > AND HOLY CRAP, yes, Pete, you're right, you were doing 100k records, > where > > the other example was only doing 10k. So doing 100k records with REPEAT > > WITH took > > wait for it > > wait for it > > Believe me, I was waiting, and waiting, and wating for it > > FIFTY EIGHT MINUTES AND THIRTEEN SECONDS. > > > > REPEAT FOR is .129 seconds, and REPEAT WITH is TWENTY SEVEN THOUSAND > TIMES > > SLOWER (for this operation)??!?!?!?!?!??? > > > > Hey, Pete, "That's a common technique"...WHAT? If it's so common, and > all > > of this is common knowledge, then how come it isn't documented, anywhere, > > and how come this is the first time I remember EVER hearing about this > > difference? What else don't I know about??? Grrrrrrrrrrrrrr. You would > > think that Edinburgh would think about tweaking an algorithm, since > REPEAT > > WITH seems to be a special case of REPEAT FOR, and you can generate the > > REPEAT WITH behavior by wrapping the REPEAT FOR... > > > > On Fri, Feb 13, 2015 at 6:56 PM, Bob Sneidar < > bobsneidar at iotecdigital.com> > > wrote: > > > > > Oh thanks. That would have screwed me up if I had tried to use > ?memory?. > > > > > > Bob S > > > > > > > > > On Feb 13, 2015, at 15:34 , Peter Haworth > > pete at lcsql.com>> wrote: > > > > > > We both used in memory databases. The filename is ";memory:" > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode at lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > > > > > > -- > > On the first day, God created the heavens and the Earth > > On the second day, God created the oceans. > > On the third day, God put the animals on hold for a few hours, > > and did a little diving. > > And God said, "This is good." > > _______________________________________________ > > use-livecode mailing list > > use-livecode at lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." From jacque at hyperactivesw.com Sat Feb 14 22:17:08 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 14 Feb 2015 21:17:08 -0600 Subject: Filename of an image In-Reply-To: References: Message-ID: <54E00FB4.2020308@hyperactivesw.com> On 2/14/2015 6:32 PM, Peter Haworth wrote: > If I set the filename of an image, it correctly loads that file into the > image. > > Say I then change the contents of the file - if I set the filename of the > image again, the original file contents remain in the image, presumably > because of some caching effect. > > Is there a way to force the image to be reloaded from the file? I tried > setting the filename to empty but that gave me an error (in the message > box). Apparently not: -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Sat Feb 14 22:24:13 2015 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 14 Feb 2015 21:24:13 -0600 Subject: Answer File DIalog In-Reply-To: References: Message-ID: <54E0115D.4080803@hyperactivesw.com> On 2/14/2015 7:24 PM, Peter Haworth wrote: > What I'm looking for is a menu > of encoding types (UTF8, UTF16, etc). If you're on a Mac, run Textedit and > choose Open from the File menu and you'll see what I mean. I don't think you can from the answer file dialog. BBEdit has the same kind of dropdown as Text Ediit, btw, so the OS supports it (or at least, OS X does.) Might be a good feature request, since the unicode capability has introduced the need for this. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From pmbrig at gmail.com Sat Feb 14 23:31:55 2015 From: pmbrig at gmail.com (Peter M. Brigham) Date: Sat, 14 Feb 2015 23:31:55 -0500 Subject: Reverse a list In-Reply-To: <54DFD381.8040304@fourthworld.com> References: <54DFD381.8040304@fourthworld.com> Message-ID: <6C7EEB5D-1D6A-47FA-B760-D2C8787197CB@gmail.com> Harking back to the original discussion on reversing a list -- still the subject of this thread, here's the original example as I saved it in my library. function reverseSort pList, pDelim -- reverse sorts an arbitrary list -- ie, item/line -1 -> item/line 1, item/line -2 -> item/line 2, etc. -- pDelim defaults to cr -- from an exchange on the use-LC list -- this was the fastest pure LC method of several proposed if pDelim = empty then put cr into pDelim split pList by pDelim put the keys of pList into indexList put the number of lines of indexList into i repeat for each line tLine in indexList -- tLine is never used, but "repeat for each" is faster than "repeat times" -- and this iterates the correct number of times put pList[i] & pDelim after outList subtract 1 from i end repeat delete char -1 of outList return outList end reverseSort Note that the repeat is a "repeat for each line tLine?" even though the value of tLine is never actually used within the repeat loop. It's incredibly fast to do it that way, and it's an easy way to repeat something a foreseeable number of times. Using a "repeat n times" is glacial by comparison. I do agree that the dictionary should not just say the "repeat for each" form is much faster, it should say the "repeat for each" form is MUCH, MUCH faster. -- Peter Peter M. Brigham pmbrig at gmail.com http://home.comcast.net/~pmbrig On Feb 14, 2015, at 6:00 PM, Richard Gaskin wrote: > Mike Kerner wrote: > ... > > REPEAT FOR is .129 seconds, and REPEAT WITH is TWENTY SEVEN THOUSAND > > TIMES SLOWER (for this operation)??!?!?!?!?!??? > > > > Hey, Pete, "That's a common technique"...WHAT? If it's so common, > > and all of this is common knowledge, then how come it isn't > > documented, anywhere > > The Dictionary entry for "repeat" notes that the "for each" form is much faster than "with". > > > > and how come this is the first time I remember EVER hearing about this > > difference? > > Good question. This comes up in the forums and/or this list almost every month or so. > > The speed difference will vary according to the size of each line and the size of the lines, but "order of magnitude" is usually a pretty fair minimal expectation for the speed boost with this. > > It's one of those things we don't think about until we see it in action, and then it seems almost self-evident: > > Chunk expressions are handy, but expensive. We usually don't think about the expense because the engine's pretty fast, but with large-scale operations like traversing a long list it adds up enough to be significant. > > Many chunk expressions require the engine to examine the data character by character, keeping track of delimiters as it goes. > > With this: > > repeat with i = 1 to the number of lines of tData > DoSomethingWith line i of tData > end repeat > > ...the engine first needs to examine every character in tData to count the number of CRs, then each time through the loop it needs to do it again to the next line. First time through it reads from the beginning until the first CR, second time through it goes from the beginning until the second CR, and so forth, so by the time you get several thousand lines into it it's doing the same long character-by-character comparison each time through, getting successively slower and slower. > > But here: > > repeat for each line tLine in tData > DoSomethingWith tLine > end repeat > > ...the engine only counts to the next CR, puts it into tLine, and remembers where it left off so each time through the loop it's only reading a single line. > > While the former takes logarithmically longer to complete, the latter scales flatly. > > > > What else don't I know about??? > > Mode 14. :) > > > > You would think that Edinburgh would think about tweaking an > > algorithm, since REPEAT WITH seems to be a special case of > > REPEAT FOR, and you can generate the REPEAT WITH behavior > > by wrapping the REPEAT FOR... > > But there's one key difference which makes each form worth keeping in case you need it: > > With "repeat with i =..." the data in the variable being traversed can change. Sometimes you may need that. > > But with "repeat for each..." the data being traversed is not allowed to change, because if it did then the line endings might have been altered and its attempt to keep track of where it is would fail. > > So each form has its own special benefits. I tend to use "repeat for each" most of the time, but I'm glad "repeat with" is available for the rare cases where it's useful. From toolbook at kestner.de Sun Feb 15 04:35:28 2015 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Sun, 15 Feb 2015 10:35:28 +0100 Subject: OT: App Software Warranty? Message-ID: <000e01d04902$bc5e4000$351ac000$@kestner.de> Hello, In former times at the end of last century and beginning of this century a software user was aware, that the chance that his software would run on a new system was against 0 and he had to care about new versions, drivers etc. before he migrated to a new system. Nowadays, with the new "app" paradigm on mobile phones and tablets the user has forgotten that these nice tiny little icons on their smartphones are also "software" with well-definied requirements and and investment to be produced. And the OEMs like Apple with their automated system updates show the users a brave new world and pretend that the user hasn't to care about anything anymore. All bets are off. The user doesn't cares anymore about anything and just hits the button "install new system" and expects that everything runs smooth or even better as before. I have an app running on iOS and Android and get more and more furious support requests from such customers, when anything is not running anymore either on a special android oem flavor or on a new (iOS) system after a system update. What I am asking me and didn't found yet a satisfying answer is the following. What do the software licenses / warranties of the AppStores of Apple and Google say about that? I didn't found any paragraph which tells that there only is a "warranty" for the app to function on the system version x.x.x or something like that. Do I have to guaranty that my software runs on the next system /will be updates for the next system? If not, where is that told? What happens, if I discontinue the development of my app tomorrow or even close my business some day? What claims has the customer? Especially when he has upgraded his system and can't go back. Apple and Google offer a "return" of the software and the money for a certain time. What happens, if the app stopps working on a new version? Is still Apple/Google the contractor? Are there any claims against me beside of a big shit storm in the social media? In opposite to classical software, where I can sell a new version or an update with costs for a new system version neither Apple nor Google have implemented this possibility for me. There are no updates with cost. Ok, I could implement an inApp-purchase for every update to release a new version. But there is again the customers "entitlement", that everything is always compatible. To create a new version also is no solution, if you (as me) have already implemented costly inapp-purchases they all would be lost with a new version, because they are tied to the app-ID. What are your thoughts about this subject? Tiemo From livfoss at mac.com Sun Feb 15 07:14:59 2015 From: livfoss at mac.com (Graham Samuel) Date: Sun, 15 Feb 2015 13:14:59 +0100 Subject: Passing control away and back again Message-ID: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> This is probably very dumb, but I've got into a muddle thinking about " 'Go To' Considered Harmful", if anyone is old enough to remember that Dutch utterance... anyway: In LC, really everything is dealt with in handlers which begin, execute and end and can be nested within one another. So how do you construct a control structure like the following: 1. The program starts up with a 'startup' handler (could use 'preOpenStack' but it's not so good). The script there does setting-up things, and then it notices that it needs extensive user input (for example, maybe the program isn't registered and we need some details - even maybe payment) before we can go on. 2. To get the user input, the script does a 'go to' (which is really an 'open') to a special stack for this input. Eventually, the data is input and checked, and the user clicks say an "OK" button to get back to the startup process. 3. What happens now? The script can't easily resume the original startup handler, can it? After all, the special stack which deals with user input is not a handler nested within the startup handler. The "OK" button is driven by a 'mouseUp' handler, but when that handler closes, there is no automatic way of going back to the calling handler of the whole process (the startup handler) due to the lack of nesting. What the script **can** do is to invoke a further handler in the original card where the startup is, called perhaps 'continueStartup', so that at the end of the 'mouseUp' script, we simply call this new handler. This kind of works, but we are left with loose ends: the original 'startup' handler never reaches its termination point ('end startUp') as far as I can see, and the 'resume' script doesn't exactly terminate either, does it? If it did, we'd end up in the 'mouseUp' script in a stack (window), which is probably closed by now, having done its job. So viewed as a set of control structures, it looks a mess. OK, there is a way of doing it, kind of, but what is the most logical way to approach this problem of non-nested control structures? TIA for any thoughts Graham From tore.nilsen at me.com Sun Feb 15 07:27:33 2015 From: tore.nilsen at me.com (Tore Nilsen) Date: Sun, 15 Feb 2015 13:27:33 +0100 Subject: Passing control away and back again In-Reply-To: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> References: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> Message-ID: <08708BD3-8CC9-42F7-9EBA-9785C475348B@me.com> Why don?t you just register the missing parts in a variabel, go on with the preOpenStack script and then, depending on what is missing, go to a card where the user then can enter the information needed. When the information is registered the user will be taken to the application itself with all the information in place. Tore N > 15. feb. 2015 kl. 13.14 skrev Graham Samuel : > > This is probably very dumb, but I've got into a muddle thinking about " 'Go To' Considered Harmful", if anyone is old enough to remember that Dutch utterance... anyway: > > In LC, really everything is dealt with in handlers which begin, execute and end and can be nested within one another. So how do you construct a control structure like the following: > > 1. The program starts up with a 'startup' handler (could use 'preOpenStack' but it's not so good). The script there does setting-up things, and then it notices that it needs extensive user input (for example, maybe the program isn't registered and we need some details - even maybe payment) before we can go on. > > 2. To get the user input, the script does a 'go to' (which is really an 'open') to a special stack for this input. Eventually, the data is input and checked, and the user clicks say an "OK" button to get back to the startup process. > > 3. What happens now? The script can't easily resume the original startup handler, can it? After all, the special stack which deals with user input is not a handler nested within the startup handler. The "OK" button is driven by a 'mouseUp' handler, but when that handler closes, there is no automatic way of going back to the calling handler of the whole process (the startup handler) due to the lack of nesting. What the script **can** do is to invoke a further handler in the original card where the startup is, called perhaps 'continueStartup', so that at the end of the 'mouseUp' script, we simply call this new handler. > > This kind of works, but we are left with loose ends: the original 'startup' handler never reaches its termination point ('end startUp') as far as I can see, and the 'resume' script doesn't exactly terminate either, does it? If it did, we'd end up in the 'mouseUp' script in a stack (window), which is probably closed by now, having done its job. So viewed as a set of control structures, it looks a mess. > > OK, there is a way of doing it, kind of, but what is the most logical way to approach this problem of non-nested control structures? > > TIA for any thoughts > > Graham > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From paul at researchware.com Sun Feb 15 07:37:16 2015 From: paul at researchware.com (Paul Dupuis) Date: Sun, 15 Feb 2015 07:37:16 -0500 Subject: Passing control away and back again In-Reply-To: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> References: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> Message-ID: <54E092FC.60301@researchware.com> On 2/15/2015 7:14 AM, Graham Samuel wrote: > This is probably very dumb, but I've got into a muddle thinking about " 'Go To' Considered Harmful", if anyone is old enough to remember that Dutch utterance... anyway: > > In LC, really everything is dealt with in handlers which begin, execute and end and can be nested within one another. So how do you construct a control structure like the following: > > 1. The program starts up with a 'startup' handler (could use 'preOpenStack' but it's not so good). The script there does setting-up things, and then it notices that it needs extensive user input (for example, maybe the program isn't registered and we need some details - even maybe payment) before we can go on. > > 2. To get the user input, the script does a 'go to' (which is really an 'open') to a special stack for this input. Eventually, the data is input and checked, and the user clicks say an "OK" button to get back to the startup process. > > 3. What happens now? The script can't easily resume the original startup handler, can it? After all, the special stack which deals with user input is not a handler nested within the startup handler. The "OK" button is driven by a 'mouseUp' handler, but when that handler closes, there is no automatic way of going back to the calling handler of the whole process (the startup handler) due to the lack of nesting. What the script **can** do is to invoke a further handler in the original card where the startup is, called perhaps 'continueStartup', so that at the end of the 'mouseUp' script, we simply call this new handler. > > This kind of works, but we are left with loose ends: the original 'startup' handler never reaches its termination point ('end startUp') as far as I can see, and the 'resume' script doesn't exactly terminate either, does it? If it did, we'd end up in the 'mouseUp' script in a stack (window), which is probably closed by now, having done its job. So viewed as a set of control structures, it looks a mess. > > OK, there is a way of doing it, kind of, but what is the most logical way to approach this problem of non-nested control structures? > > If you code looked like this: on startup if then open stack exit startUp end if end startup and your exits in a mouseUp handler such as on mouseUp close this stack end mouseUp you would need to restructure you code like this: on startUp doPart1 if then open stack exit startup end if doPart2 end startup on doPart1 end doPart1 on doPart2 end doPart2 and the mouseUp handler would be modified as on mouseUp close this stack send "doPart2" to
in 1 tick end mouseUp This places the and blocks in separate handlers in the main stack so that the handler can be invoked from the mouseUp on the input stack. From dave.cragg at lacscentre.co.uk Sun Feb 15 07:56:04 2015 From: dave.cragg at lacscentre.co.uk (Dave Cragg) Date: Sun, 15 Feb 2015 12:56:04 +0000 Subject: Reverse a list In-Reply-To: <6C7EEB5D-1D6A-47FA-B760-D2C8787197CB@gmail.com> References: <54DFD381.8040304@fourthworld.com> <6C7EEB5D-1D6A-47FA-B760-D2C8787197CB@gmail.com> Message-ID: <5A92036C-3BF9-4882-B67F-9EBFF4CF7178@lacscentre.co.uk> Peter, I don?t follow. If I change the repeat portion of your code to use repeat n times as below, the speed doesn?t change. And the speed scales linearly in both cases if the size of the data set is increased. put the keys of pList into indexList put the number of lines of indexList into i put i into numTimes repeat numTimes times -- tLine is never used, but "repeat for each" is faster than "repeat times" -- and this iterates the correct number of times put pList[i] & pDelim after outList subtract 1 from i end repeat The advantage of "repeat for each" is when iterating over chunks in a string. (repeat for each line/item/word) In this case, we?re iterating over array elements, and so there is no advantage. If you look back at my earlier version which iterated through array elements from last to first, you?ll see it is basically doing the same as your reverseSort, and the times are also the same. Cheers Dave > On 15 Feb 2015, at 04:31, Peter M. Brigham wrote: > > Harking back to the original discussion on reversing a list -- still the subject of this thread, here's the original example as I saved it in my library. > > function reverseSort pList, pDelim > -- reverse sorts an arbitrary list > -- ie, item/line -1 -> item/line 1, item/line -2 -> item/line 2, etc. > -- pDelim defaults to cr > -- from an exchange on the use-LC list > -- this was the fastest pure LC method of several proposed > if pDelim = empty then put cr into pDelim > split pList by pDelim > put the keys of pList into indexList > put the number of lines of indexList into i > repeat for each line tLine in indexList > -- tLine is never used, but "repeat for each" is faster than "repeat times" > -- and this iterates the correct number of times > put pList[i] & pDelim after outList > subtract 1 from i > end repeat > delete char -1 of outList > return outList > end reverseSort > > Note that the repeat is a "repeat for each line tLine?" even though the value of tLine is never actually used within the repeat loop. It's incredibly fast to do it that way, and it's an easy way to repeat something a foreseeable number of times. Using a "repeat n times" is glacial by comparison. I do agree that the dictionary should not just say the "repeat for each" form is much faster, it should say the "repeat for each" form is MUCH, MUCH faster. > > -- Peter > > Peter M. Brigham > pmbrig at gmail.com > http://home.comcast.net/~pmbrig From pmbrig at gmail.com Sun Feb 15 09:55:16 2015 From: pmbrig at gmail.com (Peter M. Brigham) Date: Sun, 15 Feb 2015 09:55:16 -0500 Subject: Reverse a list In-Reply-To: <5A92036C-3BF9-4882-B67F-9EBFF4CF7178@lacscentre.co.uk> References: <54DFD381.8040304@fourthworld.com> <6C7EEB5D-1D6A-47FA-B760-D2C8787197CB@gmail.com> <5A92036C-3BF9-4882-B67F-9EBFF4CF7178@lacscentre.co.uk> Message-ID: My mistake. You are correct that the two are equally efficient. It was an error in my timing test handler. -- Peter Peter M. Brigham pmbrig at gmail.com http://home.comcast.net/~pmbrig On Feb 15, 2015, at 7:56 AM, Dave Cragg wrote: > Peter, > > I don?t follow. If I change the repeat portion of your code to use repeat n times as below, the speed doesn?t change. And the speed scales linearly in both cases if the size of the data set is increased. > > put the keys of pList into indexList > put the number of lines of indexList into i > put i into numTimes > repeat numTimes times > -- tLine is never used, but "repeat for each" is faster than "repeat times" > -- and this iterates the correct number of times > put pList[i] & pDelim after outList > subtract 1 from i > end repeat > > The advantage of "repeat for each" is when iterating over chunks in a string. (repeat for each line/item/word) In this case, we?re iterating over array elements, and so there is no advantage. If you look back at my earlier version which iterated through array elements from last to first, you?ll see it is basically doing the same as your reverseSort, and the times are also the same. > > Cheers > Dave > > >> On 15 Feb 2015, at 04:31, Peter M. Brigham wrote: >> >> Harking back to the original discussion on reversing a list -- still the subject of this thread, here's the original example as I saved it in my library. >> >> function reverseSort pList, pDelim >> -- reverse sorts an arbitrary list >> -- ie, item/line -1 -> item/line 1, item/line -2 -> item/line 2, etc. >> -- pDelim defaults to cr >> -- from an exchange on the use-LC list >> -- this was the fastest pure LC method of several proposed >> if pDelim = empty then put cr into pDelim >> split pList by pDelim >> put the keys of pList into indexList >> put the number of lines of indexList into i >> repeat for each line tLine in indexList >> -- tLine is never used, but "repeat for each" is faster than "repeat times" >> -- and this iterates the correct number of times >> put pList[i] & pDelim after outList >> subtract 1 from i >> end repeat >> delete char -1 of outList >> return outList >> end reverseSort >> >> Note that the repeat is a "repeat for each line tLine?" even though the value of tLine is never actually used within the repeat loop. It's incredibly fast to do it that way, and it's an easy way to repeat something a foreseeable number of times. Using a "repeat n times" is glacial by comparison. I do agree that the dictionary should not just say the "repeat for each" form is much faster, it should say the "repeat for each" form is MUCH, MUCH faster. >> >> -- Peter >> >> Peter M. Brigham >> pmbrig at gmail.com >> http://home.comcast.net/~pmbrig > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From livfoss at mac.com Sun Feb 15 10:02:40 2015 From: livfoss at mac.com (Graham Samuel) Date: Sun, 15 Feb 2015 16:02:40 +0100 Subject: Passing control away and back again In-Reply-To: <08708BD3-8CC9-42F7-9EBA-9785C475348B@me.com> References: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> <08708BD3-8CC9-42F7-9EBA-9785C475348B@me.com> Message-ID: Tore and Paul thanks for your ultra-rapid replies - and on a Sunday, too! Actually I don't understand Tore's solution at all, sorry. I simply can't follow what structure is being suggested. (As and aside, I don't want to use a 'preOpenStack' stack script because I want a script that is executed exactly once when the app is originally started, and 'startUp' is a specialised message for doing just that. 'preOpenStack' is executed every time a stack is opened, which in some circumstances could be inappropriate.) But I do understand Paul's, which was very near the approach I was thinking of taking myself. I suppose I am still worried about the 'send'. Sending isn't calling, is it? I mean, in principle, a handler like "dopart2" in Paul's example will be executed, and then control will return to the script that executed the 'send', won't it? So we end up executing "end mouseUp" in the context of the button that was clicked, not the script that was running in the 'startUp' handler. Perhaps this doesn't matter, but this is the issue I'm trying to get my head around. Anyway it's a viable solution and I'm grateful. Graham > On 15 Feb 2015, at 13:37, Paul Dupuis wrote: > > If you code looked like this: > > on startup > > if then > open stack > exit startUp > end if > > end startup > > and your exits in a mouseUp handler such as > > on mouseUp > close this stack > end mouseUp > > you would need to restructure you code like this: > > on startUp > doPart1 > if then > open stack > exit startup > end if > doPart2 > end startup > > on doPart1 > > end doPart1 > > on doPart2 > > end doPart2 > > and the mouseUp handler would be modified as > on mouseUp > close this stack > send "doPart2" to
in 1 tick > end mouseUp > > This places the and blocks in separate > handlers in the main stack so that the handler can be > invoked from the mouseUp on the input stack. > On 15 Feb 2015, at 13:27, Tore Nilsen wrote: > > Why don?t you just register the missing parts in a variabel, go on with the preOpenStack script and then, depending on what is missing, go to a card where the user then can enter the information needed. When the information is registered the user will be taken to the application itself with all the information in place. > > Tore N > >> 15. feb. 2015 kl. 13.14 skrev Graham Samuel : >> >> This is probably very dumb, but I've got into a muddle thinking about " 'Go To' Considered Harmful", if anyone is old enough to remember that Dutch utterance... anyway: >> >> In LC, really everything is dealt with in handlers which begin, execute and end and can be nested within one another. So how do you construct a control structure like the following: >> >> 1. The program starts up with a 'startup' handler (could use 'preOpenStack' but it's not so good). The script there does setting-up things, and then it notices that it needs extensive user input (for example, maybe the program isn't registered and we need some details - even maybe payment) before we can go on. >> >> 2. To get the user input, the script does a 'go to' (which is really an 'open') to a special stack for this input. Eventually, the data is input and checked, and the user clicks say an "OK" button to get back to the startup process. >> >> 3. What happens now? The script can't easily resume the original startup handler, can it? After all, the special stack which deals with user input is not a handler nested within the startup handler. The "OK" button is driven by a 'mouseUp' handler, but when that handler closes, there is no automatic way of going back to the calling handler of the whole process (the startup handler) due to the lack of nesting. What the script **can** do is to invoke a further handler in the original card where the startup is, called perhaps 'continueStartup', so that at the end of the 'mouseUp' script, we simply call this new handler. >> >> This kind of works, but we are left with loose ends: the original 'startup' handler never reaches its termination point ('end startUp') as far as I can see, and the 'resume' script doesn't exactly terminate either, does it? If it did, we'd end up in the 'mouseUp' script in a stack (window), which is probably closed by now, having done its job. So viewed as a set of control structures, it looks a mess. >> >> OK, there is a way of doing it, kind of, but what is the most logical way to approach this problem of non-nested control structures? >> >> TIA for any thoughts >> >> Graham From tore.nilsen at me.com Sun Feb 15 10:19:18 2015 From: tore.nilsen at me.com (Tore Nilsen) Date: Sun, 15 Feb 2015 16:19:18 +0100 Subject: Passing control away and back again In-Reply-To: References: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> <08708BD3-8CC9-42F7-9EBA-9785C475348B@me.com> Message-ID: <3A581EED-56D0-4270-8EA8-905B52E0B9CE@me.com> I?ll admit my explanation wasn?t as thorough as it should have been. I was thinking along the same lines as Paul though, splitting the startup procedure in appropriate parts as sub handlers which could be performed individually. Instead of opening another stack if certain criteria were met, you could opt to go to a card in the stack itself, where the user could enter the information needed to complete the start up procedure. Then you would not need to use send when finalising the procedure. You would only need to call the code from the mouseUp handler on the ?input card? and then go to whichever card you like. Tore > 15. feb. 2015 kl. 16.02 skrev Graham Samuel : > > Tore and Paul thanks for your ultra-rapid replies - and on a Sunday, too! > > Actually I don't understand Tore's solution at all, sorry. I simply can't follow what structure is being suggested. (As and aside, I don't want to use a 'preOpenStack' stack script because I want a script that is executed exactly once when the app is originally started, and 'startUp' is a specialised message for doing just that. 'preOpenStack' is executed every time a stack is opened, which in some circumstances could be inappropriate.) > > But I do understand Paul's, which was very near the approach I was thinking of taking myself. I suppose I am still worried about the 'send'. Sending isn't calling, is it? I mean, in principle, a handler like "dopart2" in Paul's example will be executed, and then control will return to the script that executed the 'send', won't it? So we end up executing "end mouseUp" in the context of the button that was clicked, not the script that was running in the 'startUp' handler. Perhaps this doesn't matter, but this is the issue I'm trying to get my head around. Anyway it's a viable solution and I'm grateful. > > Graham > >> On 15 Feb 2015, at 13:37, Paul Dupuis wrote: >> >> If you code looked like this: >> >> on startup >> >> if then >> open stack >> exit startUp >> end if >> >> end startup >> >> and your exits in a mouseUp handler such as >> >> on mouseUp >> close this stack >> end mouseUp >> >> you would need to restructure you code like this: >> >> on startUp >> doPart1 >> if then >> open stack >> exit startup >> end if >> doPart2 >> end startup >> >> on doPart1 >> >> end doPart1 >> >> on doPart2 >> >> end doPart2 >> >> and the mouseUp handler would be modified as >> on mouseUp >> close this stack >> send "doPart2" to
in 1 tick >> end mouseUp >> >> This places the and blocks in separate >> handlers in the main stack so that the handler can be >> invoked from the mouseUp on the input stack. > > >> On 15 Feb 2015, at 13:27, Tore Nilsen wrote: >> >> Why don?t you just register the missing parts in a variabel, go on with the preOpenStack script and then, depending on what is missing, go to a card where the user then can enter the information needed. When the information is registered the user will be taken to the application itself with all the information in place. >> >> Tore N >> >>> 15. feb. 2015 kl. 13.14 skrev Graham Samuel : >>> >>> This is probably very dumb, but I've got into a muddle thinking about " 'Go To' Considered Harmful", if anyone is old enough to remember that Dutch utterance... anyway: >>> >>> In LC, really everything is dealt with in handlers which begin, execute and end and can be nested within one another. So how do you construct a control structure like the following: >>> >>> 1. The program starts up with a 'startup' handler (could use 'preOpenStack' but it's not so good). The script there does setting-up things, and then it notices that it needs extensive user input (for example, maybe the program isn't registered and we need some details - even maybe payment) before we can go on. >>> >>> 2. To get the user input, the script does a 'go to' (which is really an 'open') to a special stack for this input. Eventually, the data is input and checked, and the user clicks say an "OK" button to get back to the startup process. >>> >>> 3. What happens now? The script can't easily resume the original startup handler, can it? After all, the special stack which deals with user input is not a handler nested within the startup handler. The "OK" button is driven by a 'mouseUp' handler, but when that handler closes, there is no automatic way of going back to the calling handler of the whole process (the startup handler) due to the lack of nesting. What the script **can** do is to invoke a further handler in the original card where the startup is, called perhaps 'continueStartup', so that at the end of the 'mouseUp' script, we simply call this new handler. >>> >>> This kind of works, but we are left with loose ends: the original 'startup' handler never reaches its termination point ('end startUp') as far as I can see, and the 'resume' script doesn't exactly terminate either, does it? If it did, we'd end up in the 'mouseUp' script in a stack (window), which is probably closed by now, having done its job. So viewed as a set of control structures, it looks a mess. >>> >>> OK, there is a way of doing it, kind of, but what is the most logical way to approach this problem of non-nested control structures? >>> >>> TIA for any thoughts >>> >>> Graham > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode From dochawk at gmail.com Sun Feb 15 10:35:41 2015 From: dochawk at gmail.com (Dr. Hawkins) Date: Sun, 15 Feb 2015 07:35:41 -0800 Subject: Passing control away and back again In-Reply-To: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> References: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> Message-ID: On Sun, Feb 15, 2015 at 4:14 AM, Graham Samuel wrote: > 2. To get the user input, the script does a 'go to' (which is really an > 'open') to a special stack for this input. Eventually, the data is input > and checked, and the user clicks say an "OK" button to get back to the > startup process. > > 3. What happens now? The script can't easily resume the original startup > handler, can it? > Yes it can. modal stack theSPecialStack (or "open stack theSpecialStack as modal") -- Dr. Richard E. Hawkins, Esq. (702) 508-8462 From richmondmathewson at gmail.com Sun Feb 15 10:36:12 2015 From: richmondmathewson at gmail.com (Richmond) Date: Sun, 15 Feb 2015 17:36:12 +0200 Subject: [OT] Shumway Message-ID: <54E0BCEC.3080101@gmail.com> I have been getting "odd" messages about Flash across about 10 devices running various Debian derivatives . . . Initially went for Pepper Flash Player [ https://wiki.debian.org/PepperFlashPlayer ], but as not very keen on Chrome as a browser (although it does work with Firefox), I am now playing around with Shumway . . . ALF, ALF, ALF which is at-least cross-platform: http://mozilla.github.io/shumway/ Richmond. From cszasz at me.com Sun Feb 15 10:43:09 2015 From: cszasz at me.com (Charles Szasz) Date: Sun, 15 Feb 2015 08:43:09 -0700 Subject: [OT?] Legitimising a developer as a 'publisher' in Windows 7 Message-ID: Bob, I saw your posting on Rev listserv. I got my windows code signing certificate last Friday from Comodo. I tried using Ksoftware?s utility on the Windows XP partition on my Mac but it cannot access the certificates. Any suggestions? Charles Szasz cszasz at mac.com From cszasz at me.com Sun Feb 15 10:55:57 2015 From: cszasz at me.com (Charles Szasz) Date: Sun, 15 Feb 2015 08:55:57 -0700 Subject: Code signing Windows apps on a Mac Dilemena Message-ID: I saw the posting on Rev listserv about code signing on Windows 7. I finally broke down and purchased a windows code signing certificate last Friday from Comodo. It took several days to complete the process. I tried using Ksoftware?s utility on the Windows XP partition on my Mac but it cannot access the certificates. I could see the certificates in my Keychain. Any suggestions how I can code sign my Windows app? Charles Szasz cszasz at mac.com From paul at researchware.com Sun Feb 15 11:41:42 2015 From: paul at researchware.com (Paul Dupuis) Date: Sun, 15 Feb 2015 11:41:42 -0500 Subject: Passing control away and back again In-Reply-To: References: <4D4D55D8-5549-4CA7-8171-1D62E79DD588@mac.com> <08708BD3-8CC9-42F7-9EBA-9785C475348B@me.com> Message-ID: <54E0CC46.1090901@researchware.com> On 2/15/2015 10:02 AM, Graham Samuel wrote: > But I do understand Paul's, which was very near the approach I was thinking of taking myself. I suppose I am still worried about the 'send'. Sending isn't calling, is it? I mean, in principle, a handler like "dopart2" in Paul's example will be executed, and then control will return to the script that executed the 'send', won't it? So we end up executing "end mouseUp" in the context of the button that was clicked, not the script that was running in the 'startUp' handler. Perhaps this doesn't matter, but this is the issue I'm trying to get my head around. Anyway it's a viable solution and I'm grateful. send to -- is like a call. The handler waits until message is executed before proceeding to the next statement send to in