From rdimola at evergreeninfo.net Fri Jun 1 00:07:25 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 1 Jun 2018 00:07:25 -0400 Subject: Cropping an image In-Reply-To: References: Message-ID: <000001d3f95e$0f58b470$2e0a1d50$@net> OK, Here's the deal. Although there is a byte for alpha in the z buffer (imagedata) it seems to be ignored. The alpha data is only in the alphadata property. You also must set the text property to empty before you set the new image(imagedata) and alpha data(alphadata). This example just does a crop in the middle of y and pastes the remaining top and bottom together: command CropMiddleOfImage pImageName, pMiddlePercentCrop -- -- pImageName ==> LiveCode image control's name -- pMiddlePercentCrop ==> 0 to 100 -- local tImageData, tWidth, tHeight, tTop, tBottom, tNewImageData, tAlphaData, tNewAlphaData lock screen put the imagedata of image pImageName into tImageData put the alphadata of image pImageName into tAlphaData put the width of image pImageName into tWidth put the height of image pImageName into tHeight put pMiddlePercentCrop / 100 into pMiddlePercentCrop put trunc((tHeight - (tHeight * pMiddlePercentCrop)) / 2) into tTop put tTop into tBottom if not (((tHeight - (tHeight * pMiddlePercentCrop)) / 2) is an integer) then add 1 to tBottom end if put byte 1 to (tTop*4*tWidth) -1 of tImageData into tNewImageData put byte (the number of bytes of tImageData - (tBottom*4*tWidth)) to -1 of tImageData after tNewImageData put byte 1 to (tTop*tWidth) -1 of tAlphaData into tNewAlphaData put byte (the number of bytes of tAlphaData - (tBottom*tWidth)) to -1 of tAlphaData after tNewAlphaData set the height of image pImageName to tTop+tBottom set the width of image pImageName to tWidth set the text of image pImageName to empty set the imagedata of image pImageName to tNewImageData set the alphadata of image pImageName to tNewAlphaData unlock screen end CropMiddleOfImage pImageName Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net From lists at mangomultimedia.com Fri Jun 1 00:18:02 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu, 31 May 2018 23:18:02 -0500 Subject: Help converting Hex UTF-8 bytes to character In-Reply-To: References: Message-ID: On Thu, May 31, 2018 at 5:20 PM, Monte Goulding via use-livecode < use-livecode at lists.runrev.com> wrote: > > I?m pretty sure that the following will do what you want here: > > textDecode(format(),?utf-8?) > Yes it does! `format` is my new best friend. Thanks for everyone?s tips. Here is what I came up with which has worked on the four files I?ve thrown at it. ``` on mouseUp answer file "Select UTF-8 File"; put url("binfile:" & it) into tData put 0 into tSkip repeat forever # Find next occurance of \x put offset("\x", tData, tSkip) into tStartOffset if tStartOffset > 0 then add tSkip to tStartOffset put tStartOffset + 3 into tEndOffset # Find all repeating \x instances repeat forever if char (tEndOffset + 1) to (tEndOffset + 2) of tData is "\x" then add 4 to tEndOffset else exit repeat end if end repeat try # Now format them as normal characters put format(char tStartOffset to tEndOffset of tData) into tNewString put tNewString into char tStartOffset to tEndOffset of tData add the number of chars of tNewString to tSkip catch e breakpoint # Skip over this \x instance as format couldn't handle it add 2 to tSkip next repeat end try else exit repeat end if end repeat set the clipboarddata to textDecode(tData, "utf8") beep end mouseUp ``` -- Trevor DeVore ScreenSteps www.screensteps.com From ahsoftware at sonic.net Fri Jun 1 00:20:31 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Thu, 31 May 2018 21:20:31 -0700 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> References: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> Message-ID: On 05/31/2018 08:18 PM, Colin Holgate via use-livecode wrote: > Read the other two articles, then divide by 2. -- Mark Wieder ahsoftware at gmail.com From monte at appisle.net Fri Jun 1 00:21:01 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 1 Jun 2018 14:21:01 +1000 Subject: Help converting Hex UTF-8 bytes to character In-Reply-To: References: Message-ID: <2566311A-A191-472B-A356-8FE5007C4A09@appisle.net> > On 1 Jun 2018, at 2:18 pm, Trevor DeVore via use-livecode wrote: > > Yes it does! `format` is my new best friend. Hmm? why not just throw the whole thing at format? If it has one escape sequence it might have others and you can?t put one in there and expect a single `\` to be literal. Cheers Monte From monte at appisle.net Fri Jun 1 00:27:42 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 1 Jun 2018 14:27:42 +1000 Subject: Cropping an image In-Reply-To: <000001d3f95e$0f58b470$2e0a1d50$@net> References: <000001d3f95e$0f58b470$2e0a1d50$@net> Message-ID: This reminds me I was looking at this stuff the other day and it?s really not a big job to add a pixelData property that is ARGB instead of the xRGB we have for imageData which would reduce the data you are dealing with if you want to set the alpha at the same time. Good community contribution I?d suggest (that doesn?t mean you have to do it today Brian ;-) Cheers Monte > On 1 Jun 2018, at 2:07 pm, Ralph DiMola via use-livecode wrote: > > OK, Here's the deal. Although there is a byte for alpha in the z buffer (imagedata) it seems to be ignored. The alpha data is only in the alphadata property. You also must set the text property to empty before you set the new image(imagedata) and alpha data(alphadata). > > This example just does a crop in the middle of y and pastes the remaining top and bottom together: > > command CropMiddleOfImage pImageName, pMiddlePercentCrop > -- > -- pImageName ==> LiveCode image control's name > -- pMiddlePercentCrop ==> 0 to 100 > -- > local tImageData, tWidth, tHeight, tTop, tBottom, tNewImageData, tAlphaData, tNewAlphaData > > lock screen > put the imagedata of image pImageName into tImageData > put the alphadata of image pImageName into tAlphaData > put the width of image pImageName into tWidth > put the height of image pImageName into tHeight > > put pMiddlePercentCrop / 100 into pMiddlePercentCrop > put trunc((tHeight - (tHeight * pMiddlePercentCrop)) / 2) into tTop > put tTop into tBottom > if not (((tHeight - (tHeight * pMiddlePercentCrop)) / 2) is an integer) then > add 1 to tBottom > end if > > put byte 1 to (tTop*4*tWidth) -1 of tImageData into tNewImageData > put byte (the number of bytes of tImageData - (tBottom*4*tWidth)) to -1 of tImageData after tNewImageData > put byte 1 to (tTop*tWidth) -1 of tAlphaData into tNewAlphaData > put byte (the number of bytes of tAlphaData - (tBottom*tWidth)) to -1 of tAlphaData after tNewAlphaData > > set the height of image pImageName to tTop+tBottom > set the width of image pImageName to tWidth > set the text of image pImageName to empty > set the imagedata of image pImageName to tNewImageData > set the alphadata of image pImageName to tNewAlphaData > > unlock screen > > end CropMiddleOfImage pImageName > > Ralph DiMola > IT Director > Evergreen Information Services > rdimola at evergreeninfo.net > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 1 01:28:09 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Jun 2018 00:28:09 -0500 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> References: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> Message-ID: <163b9d14228.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> C'mon, Colin. You know most programmers don't do math. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On May 31, 2018 10:20:39 PM Colin Holgate via use-livecode wrote: > Read the other two articles, then divide by 2. > > >> On May 31, 2018, at 10:57 PM, Richard Gaskin via use-livecode >> wrote: >> >> Lagi Pittas wrote: >> > I would put a couple of "we love ya" perks $1 $5 or $7 (there is some >> > psychology with the last one). >> >> I would love to learn more about 7, but when I went searching I just found >> the usual articles about the psychology of 9 and 5. Where can I learn more? >> >> -- >> Richard Gaskin > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 1 01:40:32 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 01 Jun 2018 00:40:32 -0500 Subject: Android APK sanity check In-Reply-To: <095201d3f948$02a6be40$07f43ac0$@themartinz.com> References: <08cf01d3f918$0752baf0$15f830d0$@themartinz.com> <22eaac27-8ae3-26db-5235-5c0cf298210d@hyperactivesw.com> <093601d3f92b$bc49f5f0$34dde1d0$@themartinz.com> <969758ee-a58e-a052-822e-030116c2b2ed@hyperactivesw.com> <095201d3f948$02a6be40$07f43ac0$@themartinz.com> Message-ID: <163b9dc9498.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Okay, I'm stumped. I have a Nexus 7 too, running Android 6.0.1. I put the test apk on it and it crashes on launch every time. I tried relaunching several times. Thanks for the input, maybe the team can make something of it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On May 31, 2018 8:31:33 PM Clarence Martin via use-livecode wrote: > I just uploaded this to my Nexus7 and it works the same way. It initially > opens with a blank screen and then opens correctly. > > -----Original Message----- > From: use-livecode On Behalf Of J. > Landman Gay via use-livecode > Sent: Thursday, May 31, 2018 4:20 PM > To: How to use LiveCode > Cc: J. Landman Gay > Subject: Re: Android APK sanity check > > @Clarence, I just uploaded an apk I built on my Mac. Could you check the > bug report again and try the apk I put there? Thanks for your time. > > On 5/31/18 5:49 PM, J. Landman Gay via use-livecode wrote: >> I just took another look and I see that the identifier had reverted to >> the default, so that explains why you had to change it. Even after I >> reset it to something unique though it still fails here. It looks like >> it's time for the LC guys to employ their magic. >> >> On 5/31/18 5:44 PM, J. Landman Gay via use-livecode wrote: >>> Thanks for testing. Maybe it's a Mac problem. The identifier >>> shouldn't matter in this case though, if you were originally using >>> the unique one I put into the stack. So that's odd too. >>> >>> On 5/31/18 5:07 PM, Clarence Martin via use-livecode wrote: >>>> The problem that I had, had to do with the identifier name and had >>>> nothing to do with anything else. I remember that from earlier >>>> problems that Panos identified for me. >>>> The test stack worked on both Android Devices that I have. >>>> More info on my system: >>>> Windows 10 computer with the Java jdk 1.8.0_171. >>>> >>>> -----Original Message----- >>>> From: use-livecode On Behalf >>>> Of J. >>>> Landman Gay via use-livecode >>>> Sent: Thursday, May 31, 2018 1:02 PM >>>> To: How to use LiveCode >>>> Cc: J. Landman Gay >>>> Subject: Re: Android APK sanity check >>>> >>>> Thanks for the comments. I've actually seen the problem with initial >>>> startup on a few apps but in this case a relaunch still crashes. :( >>>> >>>> Since you have a few older devices, it might help the team narrow >>>> down what's affected if you try out my test stack. Bug report is here: >>>> https://quality.livecode.com/show_bug.cgi?id=21325 >>>> >>>> I only have Android Marshmallow on my test phone(s) but I'm betting >>>> it will fail with any older OS. Or it may be the version of Java I >>>> installed, which I believe LC 9 required. >>>> >>>> On 5/31/18 2:46 PM, Clarence Martin via use-livecode wrote: >>>>> Hi Jacque, >>>>> You have been one of the people on the List that has answered many >>>>> of my questions about building Android Applications. I do have an >>>>> application that uses mergJSON and the problem that I have is only >>>>> during the initial starting of the application after the APK is >>>>> loaded. I also get a blank initial screen. I found that if I close >>>>> the application and then restart the application - it runs. I have >>>>> also had problems with applications locking up on one Android >>>>> Device and will run on another without problems. The problems that >>>>> I encountered were mainly opening data files across the internet on >>>>> the failing device. I actually solved some of those problems by >>>>> putting a delay after I call for data across the internet. Both >>>>> devices are using Android 5.1.1. The failing Device is a Nexus 7 >>>>> and the other device that doesn't fail is a generic X10 Chinese >>>>> cheaper Tablet. The only other >>>> problem I noticed with LC 9 is a latency in starting the applications. >>>>> >>>>> -----Original Message----- >>>>> From: use-livecode On >>>>> Behalf Of J. >>>>> Landman Gay via use-livecode >>>>> Sent: Thursday, May 31, 2018 12:10 PM >>>>> To: How to use LiveCode >>>>> Cc: J. Landman Gay >>>>> Subject: Re: Android APK sanity check >>>>> >>>>> I created a plain do-nothing stack and it works on my Samsung. Then >>>>> I set the inclusions to same ones in my working project. The plain >>>>> stack then had the same misbehavior -- black screen and crash on launch. >>>>> >>>>> One by one I turned off each inclusion, tested, and then turned it >>>>> back on and disabled the next one. It looks like the culprit is >>>>> mergJSON. >>>>> With that included I get the crash, without it the apk behaves. >>>>> >>>>> I'll submit my test stack and a bug report. >>>>> >>>>> On 5/31/18 3:12 AM, panagiotis merakos via use-livecode wrote: >>>>>> Hi all, >>>>>> >>>>>> The first thing that came to my mind was the bug report that Paul >>>>>> referenced, but I had a look at the Samsung S5 specs and it seems >>>>>> it has an ARM chip, so it should not be affected by this bug. >>>>>> >>>>>> @Jacque does that happen with any android standalone you build >>>>>> with LC 9.0.0, or just this particular one? >>>>>> >>>>>> Best, >>>>>> Panos > > > -- > 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 iphonelagi at gmail.com Fri Jun 1 01:48:05 2018 From: iphonelagi at gmail.com (Iphonelagi) Date: Fri, 1 Jun 2018 06:48:05 +0100 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: <1f9129b0-df79-9810-1acb-3f97938afb95@gmail.com> References: <1f9129b0-df79-9810-1acb-3f97938afb95@gmail.com> Message-ID: <909CA6EB-A4E2-4958-844A-6B8704E8FA70@gmail.com> Hi Richmond, Well I couldn?t agree more if that is the case, but that was 2 minutes of googling but the general suggestion of contacting ?good? Sanskrit related organisations of watch you no doubt know a good few still has merit. And you never know who or what might turn up. Anyway hope all goes well with the campaign Regards Lagi Sent from my iPhone > On 31 May 2018, at 18:26, Richmond Mathewson via use-livecode wrote: > > Thank you, Lagi, for your advice. > >> On 31/5/2018 5:43 pm, Lagi Pittas via use-livecode wrote: >> Hi Richmond, >> >> I think peter was hinting at the same thing as me in the Forum. >> >> Crowdfunding campaigns of much more expensive products and aims come with >> token "We love to help but don't have a use for your product" >> >> https://stonemaiergames.com/kickstarter-lesson-113-why- >> every-project-should-have-a-1-reward-level/ >> >> The article above says don't have anything within a $1 and the core >> product. In this case your core product is a smaller Niche than Iphone >> Cases. >> I would put a couple of "we love ya" perks $1 $5 or $7 (there is some >> psychology with the last one). In fact I would just put $1 and $7 - as you >> have explained a lot of languages, cultures and philosophies owe a debt to >> not only Sanskrit and the Vedas and hindu philosophy in General is so >> important - having influence on greek more than Latin but the takeover of >> greek culture by Rome broke that historical connection and latin got it's >> direct connections as well Video and Vidi (see and observe) from the word >> Veda (meaning to see or to know). > > This is a good idea. >> >> WE also wouldn't have had the great talk by Alan Watt .. >> https://www.youtube.com/watch?v=uu-vjWKJb0c >> >> I would get in touch with some of these people as well and see if they can >> put the word out >> http://www.anantaajournal.com/ >> https://www.yogajournal.com/yoga-101/40-common-sanskrit-words-for-yogis >> https://www.ox.ac.uk/admissions/undergraduate/courses/oriental-studies/sanskrit?wssl=1 > > I wouldn't go near anything to do with Sanskrit and the University of Oxford with a ten-foot pole as they are seriously in bed with ISKCON, > an organisation of which I was a member 36 years ago until my family had the strength to hire deprogrammers from the USA to > rescue me: I will NOT do business with either a cult or an organisation which in any way helps that cult achieve its ends. >> https://www.ed.ac.uk/literatures-languages-cultures/asian-studies/sanskrit >> >> >> I would suggest universities with sanskrit studies might be a good bet. >> >> I don't think i'm wrong in assuming Devawriter is more a labour of love >> than a get rich slow program. > > Indeed. > > I've never heard of a "get rich slow program", although it does sound charming, even if, at 56, slow may mean > that I hit my richest point about 3 years after my funeral. >> >> But even if some of the student cant muster $25 they could still help at >> least it will be on the radar when they have jobs and can afford it. . If >> they can't afford $7 to help then they have the $1 - if they can't afford >> $1 what are they doing on the internet with an Iphone drinking starbucks!! >> >> Anyway since you haven't put a lower pledge I've donated - now to learn >> Sanskrit!! >> >> Breaking News >> ============ >> Went to the site to donate and they have a contribute any amount - but >> since I had already decided that I was gonna learn Sanskrit (and help - >> maybe not in that order) I've pledged the $25 anyway.. >> I would still put it as a perk - the perk being the undying love of >> Richmond - (not in the biblical sense and certainly not in the Kamasutra >> sense ). >> People will see $25 and not bother clicking further. >> >> For the sake of Humanity Richmond!! >> >> Regards Lagi >> >> >> On 31 May 2018 at 09:40, Richmond Mathewson via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> I do have a support level below the purchase price! >>> >>> The purchase price is $50, but donations of $25 will get a copy of the >>> program. >>> >>> Richmond. >>> >>>> On 31/5/2018 7:04 am, Peter Bogdanoff via use-livecode wrote: >>>> >>>> Hey Richmond, >>>> >>>> Looks good! You should have a support level somewhere below the purchase >>>> price. I would make a donation, but don?t want to purchase the program. >>>> >>>> Peter >>>> >>>> >>>> On May 30, 2018, at 10:54 AM, Richmond Mathewson via use-livecode < >>>>> use-livecode at lists.runrev.com> wrote: >>>>> >>>>> Be there, or be square: >>>>> >>>>> https://igg.me/at/devawriter >>>>> >>>>> Love, 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 >>>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 mark at livecode.com Fri Jun 1 03:06:50 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 01 Jun 2018 09:06:50 +0200 Subject: Help converting Hex UTF-8 bytes to character In-Reply-To: <2566311A-A191-472B-A356-8FE5007C4A09@appisle.net> References: <2566311A-A191-472B-A356-8FE5007C4A09@appisle.net> Message-ID: On 2018-06-01 06:21, Monte Goulding via use-livecode wrote: >> On 1 Jun 2018, at 2:18 pm, Trevor DeVore via use-livecode >> wrote: >> >> Yes it does! `format` is my new best friend. > > Hmm? why not just throw the whole thing at format? If it has one > escape sequence it might have others and you can?t put one in there > and expect a single `\` to be literal. @Trevor : Monte makes a good point here - \x is the standard C escape for a single byte char. If a string format does \x, then it also has to escape \ as \\ - unless it requires \ to be encoded in \x form (which is certainly plausible - URL encoding requires that of % which is the escape character). Do you have a spec for the escaped strings you are processing? Warmest Regards, Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From mark at livecode.com Fri Jun 1 03:17:41 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 01 Jun 2018 09:17:41 +0200 Subject: UTF8 on LC server In-Reply-To: <5B108FDB.1070109@tkf.att.ne.jp> References: <5B0FDFFF.8050400@tkf.att.ne.jp> <1fb38c5a-a7a5-98d5-6692-7ab75edc7718@warrensweb.us> <5B108664.6090703@tkf.att.ne.jp> <689E329D-E4EF-408B-8D6B-45AD64C48ECF@elloco.com> <5B10893E.4020408@tkf.att.ne.jp> <5B108FDB.1070109@tkf.att.ne.jp> Message-ID: On 2018-06-01 02:14, Tim Selander via use-livecode wrote: > Hi Kee and Alex, > > The original documents I'm working with are UTF8, so that's that I've > been using. So converting them to UTF16 is recommended? I'll try that. > > Alex, desktop is version 8 something, and the server is the one > installed on the on-rev host; can't remember what the key in $_Server > for than info is, and Googling failed me this time... You should be fine using 'character' on any unicode text - it uses the Unicode grapheme (specific name of 'character's as human's 'think' of 'character's) breaking rules to find the boundaries. That being said, I think codepoint (from memory) should also be okay on Japanese text as I don't think the Japanese/Chinese scripts have any multi-codepoint characters - they just use codepoints with value > 65535 for less used ideographs (the 'supplementary plane'). [ Korean script can be encoded with Hangul, which *does* require the use of character as a single Korean Hangul ideograph can be composed of up to three codepoints ]. The fact it is breaking on Japanese text in the way you suggest makes me think you aren't textDecode()'ing your UTF-8 input files: e.g. put textDecode(url ("binfile:"), "utf-8") into tText Without decoding as utf-8, the engine will thing your file is 'native' (single-byte encoded), so each byte of the file will be seen as a separate character. Internally the engine uses either single-byte or double-byte encodings for strings (the latter being UTF-16) - which is not user-visible, you just need to make sure that incoming data is decoded correctly. Can you share the code you are using to read in the text data and code which is breaking on server? Warmest Regards, Mark. P.S. 'word' in LC is still any sequence of non-space characters separated by spaces, or any sequence of characters delimited by quotes - it takes no account of the script of the text, nor actual word-boundaries. If you want human-style word boundaries then you should use trueWord (which uses the standard Unicode word breaking rules). -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From iphonelagi at gmail.com Fri Jun 1 05:22:39 2018 From: iphonelagi at gmail.com (Iphonelagi) Date: Fri, 1 Jun 2018 10:22:39 +0100 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> References: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> Message-ID: <560D228D-86C2-478D-9775-43B7E568E87F@gmail.com> I assume you?re taking the piss (jokingly I hope) But it?s certainly fining it?s way into the market https://www.google.co.uk/amp/s/www.computerworld.com/article/2867542/microsoft-touts-7-per-user-monthly-pricing-for-windows-subscriptions.amp.html https://www.cnbc.com/2018/02/16/moviepass-slashes-prices-to-7-point-95month-so-how-does-it-make-money.html https://www.independent.co.uk/life-style/gadgets-and-tech/news/netflix-price-increase-us-uk-plan-price-premium-standard-basic-when-a7986096.html The .9x on the end doesn?t remove the psychological aspect. Basically 7 ish is where people can be flipped from buying or not buying something that isn?t really needed and also the sweet spot where you can have a subscription on credit/debit card for a year or more on something you are not using and just put off cancelling because in the scheme of things it isn?t a mortgage. As an example of NOT following this rule there is a direct debit going out of my account for extended warranty for a VISTA Laptop I had probably in 2006 or 7 that either says I have more money than sense,but I assure you it?s not the former which makes it a contradiction, a paradox or an oxymoron - answers on a postcard please. I phoned up once to cancel and I ended up telling the twat on the end of the phone where to stick his head. Lagi P.s The great Tesla said that the keys to the universe were the numbers 3,6 and 9 but fiat currency never plays nice with reality. http://blog.world-mysteries.com/science/why-did-tesla-say-that-369-was-the-key-to-the-universe/ On a personal note if there is something that I want and it?s easier (or faster) to get at ?7 instead of 5 my time is worth more than saving ?2 on anything especially a one off - but that?s me Sent from my iPhone > On 1 Jun 2018, at 03:57, Richard Gaskin via use-livecode wrote: > > Lagi Pittas wrote: > > I would put a couple of "we love ya" perks $1 $5 or $7 (there is some > > psychology with the last one). > > I would love to learn more about 7, but when I went searching I just found the usual articles about the psychology of 9 and 5. Where can I learn more? > > -- > 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 chipsm at themartinz.com Fri Jun 1 06:31:27 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Fri, 1 Jun 2018 03:31:27 -0700 Subject: Android APK sanity check In-Reply-To: <163b9dc9498.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <08cf01d3f918$0752baf0$15f830d0$@themartinz.com> <22eaac27-8ae3-26db-5235-5c0cf298210d@hyperactivesw.com> <093601d3f92b$bc49f5f0$34dde1d0$@themartinz.com> <969758ee-a58e-a052-822e-030116c2b2ed@hyperactivesw.com> <095201d3f948$02a6be40$07f43ac0$@themartinz.com> <163b9dc9498.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <09f301d3f993$b27ecec0$177c6c40$@themartinz.com> I have to agree. The APK file that you provided did run on my Nexus7 but had some bad effects on both o my Devices. My Android Program that I have that's under development started having loading problems on my Nexus7 and had to be removed through the apps settings under the Android Settings menu. It now works again. This didn't happen when I ran your test script and loaded through the Android App test menu. I also had to do a Reboot Reset on the other Android Device in order to get that Android device to run "as normal". So, my conclusion is: The application that creates the APK file is somehow corrupted but "sort of" runs. But once installed corrupts the Android System (if that makes sense to you)., although it doesn't do this if created locally via the Development "test" option. I haven't tried to used your test script to create an APK file locally. I will try that a bit later and update that result for you. Later! -----Original Message----- From: use-livecode On Behalf Of J. Landman Gay via use-livecode Sent: Thursday, May 31, 2018 10:41 PM To: How to use LiveCode Cc: J. Landman Gay Subject: RE: Android APK sanity check Okay, I'm stumped. I have a Nexus 7 too, running Android 6.0.1. I put the test apk on it and it crashes on launch every time. I tried relaunching several times. Thanks for the input, maybe the team can make something of it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On May 31, 2018 8:31:33 PM Clarence Martin via use-livecode wrote: > I just uploaded this to my Nexus7 and it works the same way. It > initially opens with a blank screen and then opens correctly. > > -----Original Message----- > From: use-livecode On Behalf Of J. > Landman Gay via use-livecode > Sent: Thursday, May 31, 2018 4:20 PM > To: How to use LiveCode > Cc: J. Landman Gay > Subject: Re: Android APK sanity check > > @Clarence, I just uploaded an apk I built on my Mac. Could you check > the bug report again and try the apk I put there? Thanks for your time. > > On 5/31/18 5:49 PM, J. Landman Gay via use-livecode wrote: >> I just took another look and I see that the identifier had reverted >> to the default, so that explains why you had to change it. Even after >> I reset it to something unique though it still fails here. It looks >> like it's time for the LC guys to employ their magic. >> >> On 5/31/18 5:44 PM, J. Landman Gay via use-livecode wrote: >>> Thanks for testing. Maybe it's a Mac problem. The identifier >>> shouldn't matter in this case though, if you were originally using >>> the unique one I put into the stack. So that's odd too. >>> >>> On 5/31/18 5:07 PM, Clarence Martin via use-livecode wrote: >>>> The problem that I had, had to do with the identifier name and had >>>> nothing to do with anything else. I remember that from earlier >>>> problems that Panos identified for me. >>>> The test stack worked on both Android Devices that I have. >>>> More info on my system: >>>> Windows 10 computer with the Java jdk 1.8.0_171. >>>> >>>> -----Original Message----- >>>> From: use-livecode On >>>> Behalf Of J. >>>> Landman Gay via use-livecode >>>> Sent: Thursday, May 31, 2018 1:02 PM >>>> To: How to use LiveCode >>>> Cc: J. Landman Gay >>>> Subject: Re: Android APK sanity check >>>> >>>> Thanks for the comments. I've actually seen the problem with >>>> initial startup on a few apps but in this case a relaunch still >>>> crashes. :( >>>> >>>> Since you have a few older devices, it might help the team narrow >>>> down what's affected if you try out my test stack. Bug report is here: >>>> https://quality.livecode.com/show_bug.cgi?id=21325 >>>> >>>> I only have Android Marshmallow on my test phone(s) but I'm betting >>>> it will fail with any older OS. Or it may be the version of Java I >>>> installed, which I believe LC 9 required. >>>> >>>> On 5/31/18 2:46 PM, Clarence Martin via use-livecode wrote: >>>>> Hi Jacque, >>>>> You have been one of the people on the List that has answered many >>>>> of my questions about building Android Applications. I do have an >>>>> application that uses mergJSON and the problem that I have is only >>>>> during the initial starting of the application after the APK is >>>>> loaded. I also get a blank initial screen. I found that if I close >>>>> the application and then restart the application - it runs. I have >>>>> also had problems with applications locking up on one Android >>>>> Device and will run on another without problems. The problems that >>>>> I encountered were mainly opening data files across the internet >>>>> on the failing device. I actually solved some of those problems by >>>>> putting a delay after I call for data across the internet. Both >>>>> devices are using Android 5.1.1. The failing Device is a Nexus 7 >>>>> and the other device that doesn't fail is a generic X10 Chinese >>>>> cheaper Tablet. The only other >>>> problem I noticed with LC 9 is a latency in starting the applications. >>>>> >>>>> -----Original Message----- >>>>> From: use-livecode On >>>>> Behalf Of J. >>>>> Landman Gay via use-livecode >>>>> Sent: Thursday, May 31, 2018 12:10 PM >>>>> To: How to use LiveCode >>>>> Cc: J. Landman Gay >>>>> Subject: Re: Android APK sanity check >>>>> >>>>> I created a plain do-nothing stack and it works on my Samsung. >>>>> Then I set the inclusions to same ones in my working project. The >>>>> plain stack then had the same misbehavior -- black screen and crash on launch. >>>>> >>>>> One by one I turned off each inclusion, tested, and then turned it >>>>> back on and disabled the next one. It looks like the culprit is >>>>> mergJSON. >>>>> With that included I get the crash, without it the apk behaves. >>>>> >>>>> I'll submit my test stack and a bug report. >>>>> >>>>> On 5/31/18 3:12 AM, panagiotis merakos via use-livecode wrote: >>>>>> Hi all, >>>>>> >>>>>> The first thing that came to my mind was the bug report that Paul >>>>>> referenced, but I had a look at the Samsung S5 specs and it seems >>>>>> it has an ARM chip, so it should not be affected by this bug. >>>>>> >>>>>> @Jacque does that happen with any android standalone you build >>>>>> with LC 9.0.0, or just this particular one? >>>>>> >>>>>> Best, >>>>>> Panos > > > -- > 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 lists at mangomultimedia.com Fri Jun 1 06:42:52 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 1 Jun 2018 05:42:52 -0500 Subject: Help converting Hex UTF-8 bytes to character In-Reply-To: References: <2566311A-A191-472B-A356-8FE5007C4A09@appisle.net> Message-ID: On Fri, Jun 1, 2018 at 2:06 AM, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-06-01 06:21, Monte Goulding via use-livecode wrote: > >> On 1 Jun 2018, at 2:18 pm, Trevor DeVore via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> Yes it does! `format` is my new best friend. >>> >> >> Hmm? why not just throw the whole thing at format? If it has one >> escape sequence it might have others and you can?t put one in there >> and expect a single `\` to be literal. >> > > @Trevor : Monte makes a good point here - \x is the standard C escape for > a single byte char. If a string format does \x, then it also has to escape > \ as \\ - unless it requires \ to be encoded in \x form (which is certainly > plausible - URL encoding requires that of % which is the escape character). > > Do you have a spec for the escaped strings you are processing? > I tried passing the entire string in but it makes `format` barf. The data is coming from a database field where ActiveRecord has serialized some json encoded data. The data contains some ActiveRecord (Ruby) encoding information. Years ago a bug somewhere in our system caused some data to be encoded incorrectly in a few cases. I'm not sure how it happened or if there are any rules I can count on. My search and replace solution has worked properly thus far. Fortunatley I don't have many more records to process. -- Trevor DeVore ScreenSteps www.screensteps.com From selander at tkf.att.ne.jp Fri Jun 1 06:53:33 2018 From: selander at tkf.att.ne.jp (Tim Selander) Date: Fri, 01 Jun 2018 19:53:33 +0900 Subject: UTF8 on LC server In-Reply-To: References: <5B0FDFFF.8050400@tkf.att.ne.jp> <1fb38c5a-a7a5-98d5-6692-7ab75edc7718@warrensweb.us> <5B108664.6090703@tkf.att.ne.jp> <689E329D-E4EF-408B-8D6B-45AD64C48ECF@elloco.com> <5B10893E.4020408@tkf.att.ne.jp> <5B108FDB.1070109@tkf.att.ne.jp> Message-ID: <5B1125AD.9000501@tkf.att.ne.jp> Hi Mark, Here is the script. The files I'm using are bamboobabies.com/getjapanesetext.lc, and the text it is getting is bamboobabies.com/news.txt. In the script, there are two lines reading the text file that I've taken turns commenting out.... If you can give me any hints, it would be greatly appreciated. Tim Selander workbench


" put char 500 to 550 of vText ?> On 2018.06.01 16:17, Mark Waddingham via use-livecode wrote: > You should be fine using 'character' on any unicode text - it > uses the Unicode grapheme (specific name of 'character's as > human's 'think' of 'character's) breaking rules to find the > boundaries. > > That being said, I think codepoint (from memory) should also be > okay on Japanese text as I don't think the Japanese/Chinese > scripts have any multi-codepoint characters - they just use > codepoints with value > 65535 for less used ideographs (the > 'supplementary plane'). [ Korean script can be encoded with > Hangul, which *does* require the use of character as a single > Korean Hangul ideograph can be composed of up to three codepoints ]. > > The fact it is breaking on Japanese text in the way you suggest > makes me think you aren't textDecode()'ing your UTF-8 input files: > > e.g. > put textDecode(url ("binfile:"), "utf-8") into tText > > Without decoding as utf-8, the engine will thing your file is > 'native' (single-byte encoded), so each byte of the file will be > seen as a separate character. > > Internally the engine uses either single-byte or double-byte > encodings for strings (the latter being UTF-16) - which is not > user-visible, you just need to make sure that incoming data is > decoded correctly. > > Can you share the code you are using to read in the text data and > code which is breaking on server? > > Warmest Regards, > > Mark. > > P.S. 'word' in LC is still any sequence of non-space characters > separated by spaces, or any sequence of characters delimited by > quotes - it takes no account of the script of the text, nor > actual word-boundaries. If you want human-style word boundaries > then you should use trueWord (which uses the standard Unicode > word breaking rules). > From mark at livecode.com Fri Jun 1 07:15:30 2018 From: mark at livecode.com (Mark Waddingham) Date: Fri, 01 Jun 2018 13:15:30 +0200 Subject: UTF8 on LC server In-Reply-To: <5B1125AD.9000501@tkf.att.ne.jp> References: <5B0FDFFF.8050400@tkf.att.ne.jp> <1fb38c5a-a7a5-98d5-6692-7ab75edc7718@warrensweb.us> <5B108664.6090703@tkf.att.ne.jp> <689E329D-E4EF-408B-8D6B-45AD64C48ECF@elloco.com> <5B10893E.4020408@tkf.att.ne.jp> <5B108FDB.1070109@tkf.att.ne.jp> <5B1125AD.9000501@tkf.att.ne.jp> Message-ID: <4b07bafa4a631341a674886902f3d985@livecode.com> On 2018-06-01 12:53, Tim Selander via use-livecode wrote: > Hi Mark, > > Here is the script. The files I'm using are > bamboobabies.com/getjapanesetext.lc, and the text it is getting is > bamboobabies.com/news.txt. > > In the script, there are two lines reading the text file that I've > taken turns commenting out.... > > If you can give me any hints, it would be greatly appreciated. > > Tim Selander > > > > > > > > workbench > > > > --This line loads readable japanese text, but putting char 500 to 550 > breaks beginning and ending kanji > put url "http://bamboobabies.com/news.txt" into vText > > --When this line is used, none of the put text is readable > --put textDecode(url "binfile:bamboobabies.com/news.txt", "utf-8") into > vText > > put line 1 of vText > > put "



" > > put char 500 to 550 of vText > ?> > > Try this: workbench


" put char 500 to 550 of vText ?> The problem you are having is that your text-file is UTF-8, but the engine doesn't know that - you need to explicit decode it into a LiveCode string using textDecode. You can then manipulate it as chars etc. correctly with Unicode. That solves the 'getting data into livecode in the form needed' problem. The other side of the problem is the text encoding used when you do 'put'. By default this is 'native' - by setting the outputTextEncoding at the start, the engine will automatically encode any strings you 'put' with the encoding specified. Hope this helps! Mark. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From iphonelagi at gmail.com Fri Jun 1 07:24:48 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 1 Jun 2018 12:24:48 +0100 Subject: Android APK sanity check In-Reply-To: <09f301d3f993$b27ecec0$177c6c40$@themartinz.com> References: <08cf01d3f918$0752baf0$15f830d0$@themartinz.com> <22eaac27-8ae3-26db-5235-5c0cf298210d@hyperactivesw.com> <093601d3f92b$bc49f5f0$34dde1d0$@themartinz.com> <969758ee-a58e-a052-822e-030116c2b2ed@hyperactivesw.com> <095201d3f948$02a6be40$07f43ac0$@themartinz.com> <163b9dc9498.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <09f301d3f993$b27ecec0$177c6c40$@themartinz.com> Message-ID: Hi I have had the same problem Using old and very new android devices, where the program will give a blank/black screen on different versions of Android with no ryme or reason. Sometimes it works on and older version of android with older hardware and fails on a phone or tablet with say the oreo version although the program only needs a minimum of 4.1. and the api is correct. The same android on different hardware might or might not work (black screen no errors reported no "crash") YMMV. Lagi On 1 June 2018 at 11:31, Clarence Martin via use-livecode < use-livecode at lists.runrev.com> wrote: > I have to agree. The APK file that you provided did run on my Nexus7 but > had some bad effects on both o my Devices. My Android Program that I have > that's under development started having loading problems on my Nexus7 and > had to be removed through the apps settings under the Android Settings > menu. > It now works again. This didn't happen when I ran your test script and > loaded through the Android App test menu. I also had to do a Reboot Reset > on > the other Android Device in order to get that Android device to run "as > normal". > So, my conclusion is: The application that creates the APK file is somehow > corrupted but "sort of" runs. But once installed corrupts the Android > System > (if that makes sense to you)., although it doesn't do this if created > locally via the Development "test" option. I haven't tried to used your > test > script to create an APK file locally. I will try that a bit later and > update > that result for you. > Later! > > -----Original Message----- > From: use-livecode On Behalf Of J. > Landman Gay via use-livecode > Sent: Thursday, May 31, 2018 10:41 PM > To: How to use LiveCode > Cc: J. Landman Gay > Subject: RE: Android APK sanity check > > Okay, I'm stumped. I have a Nexus 7 too, running Android 6.0.1. I put the > test apk on it and it crashes on launch every time. I tried relaunching > several times. > > Thanks for the input, maybe the team can make something of it. > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | > http://www.hyperactivesw.com On May 31, 2018 8:31:33 PM Clarence Martin > via > use-livecode wrote: > > > I just uploaded this to my Nexus7 and it works the same way. It > > initially opens with a blank screen and then opens correctly. > > > > -----Original Message----- > > From: use-livecode On Behalf Of > J. > > > Landman Gay via use-livecode > > Sent: Thursday, May 31, 2018 4:20 PM > > To: How to use LiveCode > > Cc: J. Landman Gay > > Subject: Re: Android APK sanity check > > > > @Clarence, I just uploaded an apk I built on my Mac. Could you check > > the bug report again and try the apk I put there? Thanks for your time. > > > > On 5/31/18 5:49 PM, J. Landman Gay via use-livecode wrote: > >> I just took another look and I see that the identifier had reverted > >> to the default, so that explains why you had to change it. Even after > >> I reset it to something unique though it still fails here. It looks > >> like it's time for the LC guys to employ their magic. > >> > >> On 5/31/18 5:44 PM, J. Landman Gay via use-livecode wrote: > >>> Thanks for testing. Maybe it's a Mac problem. The identifier > >>> shouldn't matter in this case though, if you were originally using > >>> the unique one I put into the stack. So that's odd too. > >>> > >>> On 5/31/18 5:07 PM, Clarence Martin via use-livecode wrote: > >>>> The problem that I had, had to do with the identifier name and had > >>>> nothing to do with anything else. I remember that from earlier > >>>> problems that Panos identified for me. > >>>> The test stack worked on both Android Devices that I have. > >>>> More info on my system: > >>>> Windows 10 computer with the Java jdk 1.8.0_171. > >>>> > >>>> -----Original Message----- > >>>> From: use-livecode On > >>>> Behalf Of J. > >>>> Landman Gay via use-livecode > >>>> Sent: Thursday, May 31, 2018 1:02 PM > >>>> To: How to use LiveCode > >>>> Cc: J. Landman Gay > >>>> Subject: Re: Android APK sanity check > >>>> > >>>> Thanks for the comments. I've actually seen the problem with > >>>> initial startup on a few apps but in this case a relaunch still > >>>> crashes. :( > >>>> > >>>> Since you have a few older devices, it might help the team narrow > >>>> down what's affected if you try out my test stack. Bug report is here: > >>>> https://quality.livecode.com/show_bug.cgi?id=21325 > >>>> > >>>> I only have Android Marshmallow on my test phone(s) but I'm betting > >>>> it will fail with any older OS. Or it may be the version of Java I > >>>> installed, which I believe LC 9 required. > >>>> > >>>> On 5/31/18 2:46 PM, Clarence Martin via use-livecode wrote: > >>>>> Hi Jacque, > >>>>> You have been one of the people on the List that has answered many > >>>>> of my questions about building Android Applications. I do have an > >>>>> application that uses mergJSON and the problem that I have is only > >>>>> during the initial starting of the application after the APK is > >>>>> loaded. I also get a blank initial screen. I found that if I close > >>>>> the application and then restart the application - it runs. I have > >>>>> also had problems with applications locking up on one Android > >>>>> Device and will run on another without problems. The problems that > >>>>> I encountered were mainly opening data files across the internet > >>>>> on the failing device. I actually solved some of those problems by > >>>>> putting a delay after I call for data across the internet. Both > >>>>> devices are using Android 5.1.1. The failing Device is a Nexus 7 > >>>>> and the other device that doesn't fail is a generic X10 Chinese > >>>>> cheaper Tablet. The only other > >>>> problem I noticed with LC 9 is a latency in starting the applications. > >>>>> > >>>>> -----Original Message----- > >>>>> From: use-livecode On > >>>>> Behalf Of J. > >>>>> Landman Gay via use-livecode > >>>>> Sent: Thursday, May 31, 2018 12:10 PM > >>>>> To: How to use LiveCode > >>>>> Cc: J. Landman Gay > >>>>> Subject: Re: Android APK sanity check > >>>>> > >>>>> I created a plain do-nothing stack and it works on my Samsung. > >>>>> Then I set the inclusions to same ones in my working project. The > >>>>> plain stack then had the same misbehavior -- black screen and crash > on > launch. > >>>>> > >>>>> One by one I turned off each inclusion, tested, and then turned it > >>>>> back on and disabled the next one. It looks like the culprit is > >>>>> mergJSON. > >>>>> With that included I get the crash, without it the apk behaves. > >>>>> > >>>>> I'll submit my test stack and a bug report. > >>>>> > >>>>> On 5/31/18 3:12 AM, panagiotis merakos via use-livecode wrote: > >>>>>> Hi all, > >>>>>> > >>>>>> The first thing that came to my mind was the bug report that Paul > >>>>>> referenced, but I had a look at the Samsung S5 specs and it seems > >>>>>> it has an ARM chip, so it should not be affected by this bug. > >>>>>> > >>>>>> @Jacque does that happen with any android standalone you build > >>>>>> with LC 9.0.0, or just this particular one? > >>>>>> > >>>>>> Best, > >>>>>> Panos > > > > > > -- > > 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Fri Jun 1 08:16:15 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 1 Jun 2018 08:16:15 -0400 Subject: UTF8 on LC server In-Reply-To: <4b07bafa4a631341a674886902f3d985@livecode.com> References: <5B0FDFFF.8050400@tkf.att.ne.jp> <1fb38c5a-a7a5-98d5-6692-7ab75edc7718@warrensweb.us> <5B108664.6090703@tkf.att.ne.jp> <689E329D-E4EF-408B-8D6B-45AD64C48ECF@elloco.com> <5B10893E.4020408@tkf.att.ne.jp> <5B108FDB.1070109@tkf.att.ne.jp> <5B1125AD.9000501@tkf.att.ne.jp> <4b07bafa4a631341a674886902f3d985@livecode.com> Message-ID: also just fyi ...if u are encoding arrays and u need the character handling, you need the extra parameter .... arrayencode(myarray,"7.0") On Fri, Jun 1, 2018 at 7:15 AM, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-06-01 12:53, Tim Selander via use-livecode wrote: > >> Hi Mark, >> >> Here is the script. The files I'm using are >> bamboobabies.com/getjapanesetext.lc, and the text it is getting is >> bamboobabies.com/news.txt. >> >> In the script, there are two lines reading the text file that I've >> taken turns commenting out.... >> >> If you can give me any hints, it would be greatly appreciated. >> >> Tim Selander >> >> >> >> >> >> >> >> workbench >> >> >> >> > --This line loads readable japanese text, but putting char 500 to 550 >> breaks beginning and ending kanji >> put url "http://bamboobabies.com/news.txt" into vText >> >> --When this line is used, none of the put text is readable >> --put textDecode(url "binfile:bamboobabies.com/news.txt", "utf-8") into >> vText >> >> put line 1 of vText >> >> put "



" >> >> put char 500 to 550 of vText >> ?> >> >> >> > > Try this: > > > > > > > > workbench > > > --This line loads readable japanese text, but putting char 500 to 550 > breaks beginning and ending kanji > put textDecode(url "http://bamboobabies.com/news.txt", "utf-8") into vText > > put line 1 of vText > > put "



" > > put char 500 to 550 of vText > ?> > > > > The problem you are having is that your text-file is UTF-8, but the engine > doesn't know that - you need to explicit decode it into a LiveCode string > using textDecode. You can then manipulate it as chars etc. correctly with > Unicode. That solves the 'getting data into livecode in the form needed' > problem. > > The other side of the problem is the text encoding used when you do 'put'. > By default this is 'native' - by setting the outputTextEncoding at the > start, the engine will automatically encode any strings you 'put' with the > encoding specified. > > Hope this helps! > > Mark. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > _______________________________________________ > use-livecode mailing list > use-livecode 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 selander at tkf.att.ne.jp Fri Jun 1 10:09:45 2018 From: selander at tkf.att.ne.jp (Tim Selander) Date: Fri, 01 Jun 2018 23:09:45 +0900 Subject: UTF8 on LC server In-Reply-To: References: <5B0FDFFF.8050400@tkf.att.ne.jp> <1fb38c5a-a7a5-98d5-6692-7ab75edc7718@warrensweb.us> <5B108664.6090703@tkf.att.ne.jp> <689E329D-E4EF-408B-8D6B-45AD64C48ECF@elloco.com> <5B10893E.4020408@tkf.att.ne.jp> <5B108FDB.1070109@tkf.att.ne.jp> <5B1125AD.9000501@tkf.att.ne.jp> <4b07bafa4a631341a674886902f3d985@livecode.com> Message-ID: <5B1153A9.4030404@tkf.att.ne.jp> Mark, Success! Greatly appreciate your walking me through this. Have a great weekend. Tim Selander Tokyo, Japan On Fri, Jun 1, 2018 at 7:15 AM, Mark Waddingham via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On 2018-06-01 12:53, Tim Selander via use-livecode wrote: >> >>> Hi Mark, >>> >>> Here is the script. The files I'm using are >>> bamboobabies.com/getjapanesetext.lc, and the text it is getting is >>> bamboobabies.com/news.txt. >>> >>> In the script, there are two lines reading the text file that I've >>> taken turns commenting out.... >>> >>> If you can give me any hints, it would be greatly appreciated. >>> >>> Tim Selander >>> >>> >>> >>> >>> >>> >>> >>> workbench >>> >>> >>> >>> >> --This line loads readable japanese text, but putting char 500 to 550 >>> breaks beginning and ending kanji >>> put url "http://bamboobabies.com/news.txt" into vText >>> >>> --When this line is used, none of the put text is readable >>> --put textDecode(url "binfile:bamboobabies.com/news.txt", "utf-8") into >>> vText >>> >>> put line 1 of vText >>> >>> put "



" >>> >>> put char 500 to 550 of vText >>> ?> >>> >>> >>> >> >> Try this: >> >> >> >> >> >> >> >> workbench >> >> >> > --This line loads readable japanese text, but putting char 500 to 550 >> breaks beginning and ending kanji >> put textDecode(url "http://bamboobabies.com/news.txt", "utf-8") into vText >> >> put line 1 of vText >> >> put "



" >> >> put char 500 to 550 of vText >> ?> >> >> >> >> The problem you are having is that your text-file is UTF-8, but the engine >> doesn't know that - you need to explicit decode it into a LiveCode string >> using textDecode. You can then manipulate it as chars etc. correctly with >> Unicode. That solves the 'getting data into livecode in the form needed' >> problem. >> >> The other side of the problem is the text encoding used when you do 'put'. >> By default this is 'native' - by setting the outputTextEncoding at the >> start, the engine will automatically encode any strings you 'put' with the >> encoding specified. >> >> Hope this helps! >> >> Mark. >> >> -- >> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ >> LiveCode: Everyone can create apps >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Fri Jun 1 10:54:46 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 1 Jun 2018 14:54:46 +0000 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: References: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> Message-ID: <3BA06F62-768D-4AF6-95A7-4B7C05D56589@iotecdigital.com> What surprises me is that I get it. :-) Bob S > On May 31, 2018, at 21:20 , Mark Wieder via use-livecode wrote: > > On 05/31/2018 08:18 PM, Colin Holgate via use-livecode wrote: >> Read the other two articles, then divide by 2. > > > > -- > Mark Wieder > ahsoftware at gmail.com From andrew at midwestcoastmedia.com Fri Jun 1 11:13:57 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Fri, 01 Jun 2018 15:13:57 +0000 Subject: Access image EXIF info on mobile In-Reply-To: Message-ID: <20180601151357.Horde.Gt5BWkA9jlFwLX4vvwvRy0V@ua850258.serversignin.com> Didn't bother to test on Android since mergAV isn't supported, but I can confirm the crashes on simulated devices. When tested on physical devices, the stack never crashed but didn't always work depending on the source of the image. Even images from the same device didn't always work, which makes me think there was a change somewhere in how Apple wrapped the metadata. For instance: photo taken today didn't show EXIF, but photo taken on same phone 6 months ago does (don't remember what OS that would have been, but almost certain it was different from current version). I updated your bug report with my findings from 2 real and 2 simulated devices using your test stack. One caveat is my simulated devices run 10.2 but my physical devices are running 11.x --Andrew Bell > Date: Fri, 1 Jun 2018 00:50:29 +0000 > From: Alan > To: "use-livecode at lists.runrev.com" > Subject: Access image EXIF info on mobile > Message-ID: > > > Content-Type: text/plain; charset="iso-8859-1" > > I have made a test stack to access EXIF information on both Android > and iOS and submitted it under bug 21322: > > https://quality.livecode.com/show_bug.cgi?id=21322 > > There is a problem (at least on the simulator) that causes a crash > currently, hence my bug report. Hopefully the sample stack is useful > for others and if anyone could test it on an iOS (or Android) device > could you please comment on the bug report as to success or failure? > Thanks! > > cheers > > Alan > From iphonelagi at gmail.com Fri Jun 1 12:06:27 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 1 Jun 2018 17:06:27 +0100 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: <3BA06F62-768D-4AF6-95A7-4B7C05D56589@iotecdigital.com> References: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> <3BA06F62-768D-4AF6-95A7-4B7C05D56589@iotecdigital.com> Message-ID: What surprises me is you don't let us mental pygmies in on the in joke. (sorry if that is a hate crime against you Pygmies with internet access) Regards lagi On 1 June 2018 at 15:54, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > What surprises me is that I get it. :-) > > Bob S > > > > On May 31, 2018, at 21:20 , Mark Wieder via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > On 05/31/2018 08:18 PM, Colin Holgate via use-livecode wrote: > >> Read the other two articles, then divide by 2. > > > > > > > > -- > > 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 iphonelagi at gmail.com Fri Jun 1 12:09:46 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Fri, 1 Jun 2018 17:09:46 +0100 Subject: Devawriter Pro: Fund Raiser Goes Live! In-Reply-To: <3BA06F62-768D-4AF6-95A7-4B7C05D56589@iotecdigital.com> References: <74d95b74-c111-dd59-9145-4ed3158d9db3@fourthworld.com> <182A4313-D3F4-46CD-B744-B19E0BDB67D8@gmail.com> <3BA06F62-768D-4AF6-95A7-4B7C05D56589@iotecdigital.com> Message-ID: Hi Bob That should be Intellectual Pygmies - although sometimes mental is closer to the truth these days. Regards Lagi On 1 June 2018 at 15:54, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > What surprises me is that I get it. :-) > > Bob S > > > > On May 31, 2018, at 21:20 , Mark Wieder via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > On 05/31/2018 08:18 PM, Colin Holgate via use-livecode wrote: > >> Read the other two articles, then divide by 2. > > > > > > > > -- > > 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 paul at researchware.com Fri Jun 1 13:19:33 2018 From: paul at researchware.com (Paul Dupuis) Date: Fri, 1 Jun 2018 13:19:33 -0400 Subject: Screen and window management... Message-ID: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> In doing some scripting to hadle window and screen management for our apps when multiple monitors are involved, I am puzzled by: Why does the screenLoc not have the effective and/or working keywords for it????? A common item is to set the loc of window to the screenLoc to center the window on the screen. A common practice for dialogs for example. However, if screen real estate is used up by menubars, taskbars, on screen keyboards or what have you what you really want is the center of the available screen area for the app. Obviously, I can get this from the effective working screenRect and then just compute the center (roll my own realScreenLoc() function), but I am curious from the LiveCode folks if there is some technical issue with adding effective and working to the screenLoc or was this just something no one ever asked for before? P.S. If no one has asked, I'll file an enhancement request From waprothero at gmail.com Fri Jun 1 20:31:24 2018 From: waprothero at gmail.com (William Prothero) Date: Fri, 1 Jun 2018 17:31:24 -0700 Subject: SQL Help In-Reply-To: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: Folks: Maybe someone can answer this easily and save me some hair pulling. I know it?s google-able, but I?ve tried and know it?s going to be a trudge to get the right format. I want to make a query to a mySQL db that: The table is named: ?valveFlowsA? I want the query to return the row with the maximum of a column named ?iStoreGrp? when columns named ?meterNum? and ?valveNum? are specified. So, with meterNum =1 and valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. All of these columns are integers. If anybody has this query in their quiver of tools, please let me know. Thanks! Bill William A. Prothero http://earthlearningsolutions.org From paul at researchware.com Fri Jun 1 20:43:57 2018 From: paul at researchware.com (Paul Dupuis) Date: Fri, 1 Jun 2018 20:43:57 -0400 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: Not tested, but: SELECT max(iStoreGrp) FROM valveFlowsA WHERE meterNum =1 AND valveNum =3 GROUP BY meternum, valvenum, iStoreGrp If my memory as I am falling asleep for the night serves me right. On 6/1/2018 8:31 PM, William Prothero via use-livecode wrote: > Folks: > Maybe someone can answer this easily and save me some hair pulling. I know it?s google-able, but I?ve tried and know it?s going to be a trudge to get the right format. > > I want to make a query to a mySQL db that: > The table is named: ?valveFlowsA? > I want the query to return the row with the maximum of a column named ?iStoreGrp? when > columns named ?meterNum? and ?valveNum? are specified. So, with meterNum =1 and > valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. > > All of these columns are integers. > > If anybody has this query in their quiver of tools, please let me know. > Thanks! > > Bill > > William A. Prothero > http://earthlearningsolutions.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 bonnmike at gmail.com Fri Jun 1 20:48:33 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 1 Jun 2018 18:48:33 -0600 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: if I understand correctly, and just off the top of my head, using "limit" is one way to do this... The sql pseudo code would be something like: select * from yourtable order by iStoreGrp descending where meterNum = 1 AND valveNum = 3 limit 1 This would grab all the rows, sort them by istoregrp and return the top entry On Fri, Jun 1, 2018 at 6:31 PM, William Prothero via use-livecode < use-livecode at lists.runrev.com> wrote: > Folks: > Maybe someone can answer this easily and save me some hair pulling. I know > it?s google-able, but I?ve tried and know it?s going to be a trudge to get > the right format. > > I want to make a query to a mySQL db that: > The table is named: ?valveFlowsA? > I want the query to return the row with the maximum of a column named > ?iStoreGrp? when > columns named ?meterNum? and ?valveNum? are specified. So, with meterNum > =1 and > valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. > > All of these columns are integers. > > If anybody has this query in their quiver of tools, please let me know. > Thanks! > > Bill > > William A. Prothero > http://earthlearningsolutions.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 bobsneidar at iotecdigital.com Fri Jun 1 22:45:23 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 2 Jun 2018 02:45:23 +0000 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: He wants all the columns I think. I suspect he will need a join on the same table. I'm too intoxicated to think about this, but I've done it before. Doesn't group by require that the columns be included in the select clause? Bob S > On Jun 1, 2018, at 17:43 , Paul Dupuis via use-livecode wrote: > > Not tested, but: > > SELECT max(iStoreGrp) FROM valveFlowsA WHERE meterNum =1 AND valveNum =3 > GROUP BY meternum, valvenum, iStoreGrp > > If my memory as I am falling asleep for the night serves me right. > > > > On 6/1/2018 8:31 PM, William Prothero via use-livecode wrote: >> Folks: >> Maybe someone can answer this easily and save me some hair pulling. I know it?s google-able, but I?ve tried and know it?s going to be a trudge to get the right format. >> >> I want to make a query to a mySQL db that: >> The table is named: ?valveFlowsA? >> I want the query to return the row with the maximum of a column named ?iStoreGrp? when >> columns named ?meterNum? and ?valveNum? are specified. So, with meterNum =1 and >> valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. >> >> All of these columns are integers. >> >> If anybody has this query in their quiver of tools, please let me know. >> Thanks! >> >> Bill >> >> William A. Prothero >> http://earthlearningsolutions.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 > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 1 22:45:58 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 2 Jun 2018 02:45:58 +0000 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: Even better! Bob S > On Jun 1, 2018, at 17:48 , Mike Bonner via use-livecode wrote: > > if I understand correctly, and just off the top of my head, using "limit" > is one way to do this... > The sql pseudo code would be something like: select * from yourtable order > by iStoreGrp descending where meterNum = 1 AND valveNum = 3 limit 1 > This would grab all the rows, sort them by istoregrp and return the top > entry > > On Fri, Jun 1, 2018 at 6:31 PM, William Prothero via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Folks: >> Maybe someone can answer this easily and save me some hair pulling. I know >> it?s google-able, but I?ve tried and know it?s going to be a trudge to get >> the right format. >> >> I want to make a query to a mySQL db that: >> The table is named: ?valveFlowsA? >> I want the query to return the row with the maximum of a column named >> ?iStoreGrp? when >> columns named ?meterNum? and ?valveNum? are specified. So, with meterNum >> =1 and >> valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. >> >> All of these columns are integers. >> >> If anybody has this query in their quiver of tools, please let me know. >> Thanks! >> >> Bill >> >> William A. Prothero >> http://earthlearningsolutions.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 > _______________________________________________ > use-livecode mailing list > use-livecode 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 earthlearningsolutions.org Fri Jun 1 22:49:22 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Fri, 1 Jun 2018 19:49:22 -0700 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: <7B5A78B6-E8C4-4D5D-9CBD-5023C15314F0@earthlearningsolutions.org> Tnx for the input, folks. Yes, I want all of the columns. I could specify them each, because there are not many of them, but ...... I?m done for the evening, and will try your suggestions first thing in the morning. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 1, 2018, at 7:45 PM, Bob Sneidar via use-livecode wrote: > > He wants all the columns I think. I suspect he will need a join on the same table. I'm too intoxicated to think about this, but I've done it before. Doesn't group by require that the columns be included in the select clause? > > Bob S > > >> On Jun 1, 2018, at 17:43 , Paul Dupuis via use-livecode wrote: >> >> Not tested, but: >> >> SELECT max(iStoreGrp) FROM valveFlowsA WHERE meterNum =1 AND valveNum =3 >> GROUP BY meternum, valvenum, iStoreGrp >> >> If my memory as I am falling asleep for the night serves me right. >> >> >> >>> On 6/1/2018 8:31 PM, William Prothero via use-livecode wrote: >>> Folks: >>> Maybe someone can answer this easily and save me some hair pulling. I know it?s google-able, but I?ve tried and know it?s going to be a trudge to get the right format. >>> >>> I want to make a query to a mySQL db that: >>> The table is named: ?valveFlowsA? >>> I want the query to return the row with the maximum of a column named ?iStoreGrp? when >>> columns named ?meterNum? and ?valveNum? are specified. So, with meterNum =1 and >>> valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. >>> >>> All of these columns are integers. >>> >>> If anybody has this query in their quiver of tools, please let me know. >>> Thanks! >>> >>> Bill >>> >>> William A. Prothero >>> http://earthlearningsolutions.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 >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 earthlearningsolutions.org Fri Jun 1 23:01:30 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Fri, 1 Jun 2018 20:01:30 -0700 Subject: SQL Help In-Reply-To: <7B5A78B6-E8C4-4D5D-9CBD-5023C15314F0@earthlearningsolutions.org> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <7B5A78B6-E8C4-4D5D-9CBD-5023C15314F0@earthlearningsolutions.org> Message-ID: I?m thinking something like: Select max(?iStoreGrp?) from ?valveFlowsA? where (?valveNum?=n1 AND ?meterNum?=n2) Then I have to sort out how to put the statement in a string that can be sent to php. Does this seem reasonable? I?ll find out tomorrow. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 1, 2018, at 7:49 PM, prothero--- via use-livecode wrote: > > Tnx for the input, folks. Yes, I want all of the columns. I could specify them each, because there are not many of them, but ...... > > I?m done for the evening, and will try your suggestions first thing in the morning. > > Best, > Bill > > William Prothero > http://earthlearningsolutions.org > >> On Jun 1, 2018, at 7:45 PM, Bob Sneidar via use-livecode wrote: >> >> He wants all the columns I think. I suspect he will need a join on the same table. I'm too intoxicated to think about this, but I've done it before. Doesn't group by require that the columns be included in the select clause? >> >> Bob S >> >> >>> On Jun 1, 2018, at 17:43 , Paul Dupuis via use-livecode wrote: >>> >>> Not tested, but: >>> >>> SELECT max(iStoreGrp) FROM valveFlowsA WHERE meterNum =1 AND valveNum =3 >>> GROUP BY meternum, valvenum, iStoreGrp >>> >>> If my memory as I am falling asleep for the night serves me right. >>> >>> >>> >>>> On 6/1/2018 8:31 PM, William Prothero via use-livecode wrote: >>>> Folks: >>>> Maybe someone can answer this easily and save me some hair pulling. I know it?s google-able, but I?ve tried and know it?s going to be a trudge to get the right format. >>>> >>>> I want to make a query to a mySQL db that: >>>> The table is named: ?valveFlowsA? >>>> I want the query to return the row with the maximum of a column named ?iStoreGrp? when >>>> columns named ?meterNum? and ?valveNum? are specified. So, with meterNum =1 and >>>> valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. >>>> >>>> All of these columns are integers. >>>> >>>> If anybody has this query in their quiver of tools, please let me know. >>>> Thanks! >>>> >>>> Bill >>>> >>>> William A. Prothero >>>> http://earthlearningsolutions.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 >>> >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 alanstenhouse at hotmail.com Fri Jun 1 23:08:14 2018 From: alanstenhouse at hotmail.com (Alan) Date: Sat, 2 Jun 2018 03:08:14 +0000 Subject: Access image EXIF info on mobile Message-ID: Hi Andrew Thanks a lot for testing on your device with very interesting results! I saw your detailed addition to the bug report - that's great and I hope that it helps Monte discover and rectify the issue. On Android it appears that just using mobilePickPhoto "library" seems to work ok and returns an image from which EXIF data can be extracted - though my testing has been very limited so far! Thanks again for the help, appreciate it! cheers Alan --- From: andrew at midwestcoastmedia.com To: use-livecode at lists.runrev.com Subject: Re: Access image EXIF info on mobile Message-ID: <20180601151357.Horde.Gt5BWkA9jlFwLX4vvwvRy0V at ua850258.serversignin.com> Didn't bother to test on Android since mergAV isn't supported, but I can confirm the crashes on simulated devices. When tested on physical devices, the stack never crashed but didn't always work depending on the source of the image. Even images from the same device didn't always work, which makes me think there was a change somewhere in how Apple wrapped the metadata. For instance: photo taken today didn't show EXIF, but photo taken on same phone 6 months ago does (don't remember what OS that would have been, but almost certain it was different from current version). I updated your bug report with my findings from 2 real and 2 simulated devices using your test stack. One caveat is my simulated devices run 10.2 but my physical devices are running 11.x --Andrew Bell > Date: Fri, 1 Jun 2018 00:50:29 +0000 > From: Alan > To: "use-livecode at lists.runrev.com" > Subject: Access image EXIF info on mobile > Message-ID: > > > Content-Type: text/plain; charset="iso-8859-1" > > I have made a test stack to access EXIF information on both Android > and iOS and submitted it under bug 21322: > > https://quality.livecode.com/show_bug.cgi?id=21322 > > There is a problem (at least on the simulator) that causes a crash > currently, hence my bug report. Hopefully the sample stack is useful > for others and if anyone could test it on an iOS (or Android) device > could you please comment on the bug report as to success or failure? > Thanks! > > cheers > > Alan From jacque at hyperactivesw.com Sat Jun 2 00:33:54 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 1 Jun 2018 23:33:54 -0500 Subject: Android APK sanity check In-Reply-To: References: <08cf01d3f918$0752baf0$15f830d0$@themartinz.com> <22eaac27-8ae3-26db-5235-5c0cf298210d@hyperactivesw.com> <093601d3f92b$bc49f5f0$34dde1d0$@themartinz.com> <969758ee-a58e-a052-822e-030116c2b2ed@hyperactivesw.com> <095201d3f948$02a6be40$07f43ac0$@themartinz.com> <163b9dc9498.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <09f301d3f993$b27ecec0$177c6c40$@themartinz.com> Message-ID: <6018e3c6-e9cf-0ac0-ee6f-692389e631a6@hyperactivesw.com> On 6/1/18 6:24 AM, Lagi Pittas via use-livecode wrote: > I have had the same problem Using old and very new android devices, where > the program will give a blank/black screen on different versions of Android > with no ryme or reason. > > Sometimes it works on and older version of android with older hardware and > fails on a phone or tablet with say the oreo version although the program > only needs a minimum of 4.1. and the api is correct. > > The same android on different hardware might or might not work (black > screen no errors reported no "crash") If anyone else cares to test, the bug report could use your input if you get a crash. So far, I'm the only one who is having a problem. There are test files you can use and way too many logs at: https://quality.livecode.com/show_bug.cgi?id=21325 -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From paul at researchware.com Sat Jun 2 07:46:46 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 2 Jun 2018 07:46:46 -0400 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: <90a1d1d9-bd67-c015-04a8-e37cc73054af@researchware.com> Sorry, I missed the all columns bit. Yes, LIMIT is the way to do this SELECT * FROM valveFlowsA WHERE meterNum =1 AND valveNum =3 ORDER BY iStoreGrp DESC LIMIT 1 If you still need it. The DESC insure the record with the highest (max) iStoreGrp value is returned first. CAUTION: If the data contained two records with meterNum =1 AND valveNum =3 and the exact same iStoreGrp value, I don't believe there is a way to predict which record will be the first returned. This only works if iStoreGrp is effectively unique On 6/1/2018 8:48 PM, Mike Bonner via use-livecode wrote: > if I understand correctly, and just off the top of my head, using "limit" > is one way to do this... > The sql pseudo code would be something like: select * from yourtable order > by iStoreGrp descending where meterNum = 1 AND valveNum = 3 limit 1 > This would grab all the rows, sort them by istoregrp and return the top > entry > > On Fri, Jun 1, 2018 at 6:31 PM, William Prothero via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Folks: >> Maybe someone can answer this easily and save me some hair pulling. I know >> it?s google-able, but I?ve tried and know it?s going to be a trudge to get >> the right format. >> >> I want to make a query to a mySQL db that: >> The table is named: ?valveFlowsA? >> I want the query to return the row with the maximum of a column named >> ?iStoreGrp? when >> columns named ?meterNum? and ?valveNum? are specified. So, with meterNum >> =1 and >> valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. >> >> All of these columns are integers. >> >> If anybody has this query in their quiver of tools, please let me know. >> Thanks! >> >> Bill >> >> William A. Prothero >> http://earthlearningsolutions.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 > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sat Jun 2 08:04:37 2018 From: klaus at major-k.de (Klaus major-k) Date: Sat, 2 Jun 2018 14:04:37 +0200 Subject: scrollerdidscroll, but WHAT has bee scrolled? Message-ID: <510EBE86-3DCA-4F16-B079-10D77E16B102@major-k.de> Hi friends, this interesting question came up in the german LC forum. If you have 2 native scrollers on a card, how do you differ in the "scrollderdidscroll" handler WHICH one has been actually scrolled? Know what i mean? I would have exspected an appropriate parameter pContolID like in "mobilecontroldo", but could not find anything in the dictionary about "scrollerdidscroll". Thaks for any hints! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From mark at livecode.com Sat Jun 2 09:29:49 2018 From: mark at livecode.com (Mark Waddingham) Date: Sat, 2 Jun 2018 14:29:49 +0100 Subject: scrollerdidscroll, but WHAT has bee scrolled? In-Reply-To: <510EBE86-3DCA-4F16-B079-10D77E16B102@major-k.de> References: <510EBE86-3DCA-4F16-B079-10D77E16B102@major-k.de> Message-ID: <79B1D1C2-A960-4A23-9DF3-20F82B8DE75F@livecode.com> From memory I think there is mobileControlTarget() function which is the equivalent of 'the target'. Warmest Regards, Mark. Sent from my iPhone > On 2 Jun 2018, at 13:04, Klaus major-k via use-livecode wrote: > > Hi friends, > > this interesting question came up in the german LC forum. > > If you have 2 native scrollers on a card, how do you differ in the > "scrollderdidscroll" handler WHICH one has been actually scrolled? > Know what i mean? > > I would have exspected an appropriate parameter pContolID like in > "mobilecontroldo", but could not find anything in the dictionary > about "scrollerdidscroll". > > Thaks for any hints! > > > 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 klaus at major-k.de Sat Jun 2 09:32:38 2018 From: klaus at major-k.de (Klaus major-k) Date: Sat, 2 Jun 2018 15:32:38 +0200 Subject: scrollerdidscroll, but WHAT has bee scrolled? In-Reply-To: <79B1D1C2-A960-4A23-9DF3-20F82B8DE75F@livecode.com> References: <510EBE86-3DCA-4F16-B079-10D77E16B102@major-k.de> <79B1D1C2-A960-4A23-9DF3-20F82B8DE75F@livecode.com> Message-ID: <23A06F98-BB2D-4424-9590-6FBA2AF64FF8@major-k.de> Hi Mark, > Am 02.06.2018 um 15:29 schrieb Mark Waddingham via use-livecode : > > From memory I think there is mobileControlTarget() function which is the equivalent of 'the target'. ah, yes, that's what I was looking for, thanks a bunch! :-) > Warmest Regards, > > Mark. > > Sent from my iPhone > >> On 2 Jun 2018, at 13:04, Klaus major-k via use-livecode wrote: >> >> Hi friends, >> >> this interesting question came up in the german LC forum. >> >> If you have 2 native scrollers on a card, how do you differ in the >> "scrollderdidscroll" handler WHICH one has been actually scrolled? >> Know what i mean? >> >> I would have exspected an appropriate parameter pContolID like in >> "mobilecontroldo", but could not find anything in the dictionary >> about "scrollerdidscroll". Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From waprothero at gmail.com Sat Jun 2 11:12:14 2018 From: waprothero at gmail.com (William Prothero) Date: Sat, 2 Jun 2018 08:12:14 -0700 Subject: SQL Help In-Reply-To: <90a1d1d9-bd67-c015-04a8-e37cc73054af@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <90a1d1d9-bd67-c015-04a8-e37cc73054af@researchware.com> Message-ID: <3B2CEBE0-2AE3-4BAE-AE34-54547DB3A7E0@gmail.com> Paul: Thanks, the suggestion you made worked. I used: put "SELECT * FROM "&theTable&" WHERE "&col1Name&" = "&col1Value&" AND "&col2Name&" = "&" order by iStoreGrp desc limit 1" into theQuery This returns the row with the specified meterNum and valveNum and the maximum value of iStoreGrp. Thanks a bunch! Bill > On Jun 2, 2018, at 4:46 AM, Paul Dupuis via use-livecode wrote: > > Sorry, I missed the all columns bit. Yes, LIMIT is the way to do this > > SELECT * FROM valveFlowsA WHERE meterNum =1 AND valveNum =3 > ORDER BY iStoreGrp DESC LIMIT 1 > > If you still need it. The DESC insure the record with the highest (max) > iStoreGrp value is returned first. CAUTION: If the data contained two > records with meterNum =1 AND valveNum =3 and the exact same iStoreGrp > value, I don't believe there is a way to predict which record will be > the first returned. This only works if iStoreGrp is effectively unique > > > On 6/1/2018 8:48 PM, Mike Bonner via use-livecode wrote: >> if I understand correctly, and just off the top of my head, using "limit" >> is one way to do this... >> The sql pseudo code would be something like: select * from yourtable order >> by iStoreGrp descending where meterNum = 1 AND valveNum = 3 limit 1 >> This would grab all the rows, sort them by istoregrp and return the top >> entry >> >> On Fri, Jun 1, 2018 at 6:31 PM, William Prothero via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Folks: >>> Maybe someone can answer this easily and save me some hair pulling. I know >>> it?s google-able, but I?ve tried and know it?s going to be a trudge to get >>> the right format. >>> >>> I want to make a query to a mySQL db that: >>> The table is named: ?valveFlowsA? >>> I want the query to return the row with the maximum of a column named >>> ?iStoreGrp? when >>> columns named ?meterNum? and ?valveNum? are specified. So, with meterNum >>> =1 and >>> valveNum =3, I would get the row for the maximum value of ?iStoreGrp?. >>> >>> All of these columns are integers. >>> >>> If anybody has this query in their quiver of tools, please let me know. >>> Thanks! >>> >>> Bill >>> >>> William A. Prothero >>> http://earthlearningsolutions.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 >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 rdimola at evergreeninfo.net Sat Jun 2 13:02:30 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Sat, 2 Jun 2018 13:02:30 -0400 Subject: scrollerdidscroll, but WHAT has bee scrolled? In-Reply-To: <510EBE86-3DCA-4F16-B079-10D77E16B102@major-k.de> References: <510EBE86-3DCA-4F16-B079-10D77E16B102@major-k.de> Message-ID: <001601d3fa93$81481e00$83d85a00$@net> Klaus, I name the scroller the same as the control it's scrolling. The "scrollderdidscroll" is only sent to the stack that created it. If you have a generic "create scroller" handler in a library stack then the "scrollderdidscroll" message will only go to that stack. In the context of "scrollderdidscroll" message "this stack" is the library stack. If you want a truly generic scroller in a library stack then you would also have to put the stack name into the control ID along with the LC control name and parse it out in the "scrollderdidscroll" handler later. In my case there is only one stack for the GUI so it's easy to know what the stack the control is in. Here's my generic "scrollderdidscroll" I have this in a library stack(along with generic scroller create handle). on scrollerDidScroll hScrolled, vScrolled local ControlID put mobileControlTarget() into ControlID set the vscroll of control ControlID of stack "MainStackGUI" to vscrolled set the hscroll of control ControlID of stack "MainStackGUI" to hscrolled pass scrollerDidScroll end scrollerDidScroll 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 Klaus major-k via use-livecode Sent: Saturday, June 02, 2018 8:05 AM To: How to use LiveCode Cc: Klaus major-k Subject: scrollerdidscroll, but WHAT has bee scrolled? Hi friends, this interesting question came up in the german LC forum. If you have 2 native scrollers on a card, how do you differ in the "scrollderdidscroll" handler WHICH one has been actually scrolled? Know what i mean? I would have exspected an appropriate parameter pContolID like in "mobilecontroldo", but could not find anything in the dictionary about "scrollerdidscroll". Thaks for any hints! 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 brahma at hindu.org Sat Jun 2 15:27:41 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 2 Jun 2018 19:27:41 +0000 Subject: How To Become Android Developer In-Reply-To: <423647ea-c750-3cad-f863-379aaef1395f@hyperactivesw.com> References: <415F416D-0374-430D-AD87-01D9DCF25583@hindu.org> <000001d3f78c$bc8c74c0$35a55e40$@net> <423647ea-c750-3cad-f863-379aaef1395f@hyperactivesw.com> Message-ID: <0DF489CC-4E15-4E6E-8F66-787EFC6B3DDB@hindu.org> FOR WHAT ITS WORTH: It turns out I was working too hard. The folder "android-sdk-macosx" which is assembled online by the "tools." I could not get it work. But I had jdk1.8.0_172.jdk. installed So: 1) turns out that folder "android-sdk-macosx" in completely independent of the system. BUT 2) is "married" to the JDK that you have installed So, I thought "sheesh, just get a copy from your backup, and uninstall the JDK and get the one you had before" So unInstalled jdk1.8.0_172.jdk. Installed jdk1.8.0_171.jdk Copied "android-sdk-macosx" from back up to my current "app-development" folder Then in terminal ./adb start-server; ./adb devices There was my Pixel! And in 8.1.10, mobile preference was happy! (It gave me error before) Disclaimer: I don't what I am doing. This comes the house of WHEW (WHatEverWorks). And, this should be easier... God Help the newbie Android developers Good to fix the LiveCode lesson on this asap! Brahmanathaswami ?On 5/29/18, 11:42 AM, "use-livecode on behalf of J. Landman Gay via use-livecode" wrote: On 5/29/18 3:36 PM, Ralph DiMola via use-livecode wrote: >BR, >This works for me. >For JDK: >JDK 1.8.0_121 I've got 1.8.0_152 which also works. I'd guess any 1.8 version would probably be okay. BR: I told you "8" but I should have said "1.8". From harrison at all-auctions.com Sat Jun 2 18:30:08 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Sat, 2 Jun 2018 18:30:08 -0400 Subject: OT: Microsoft wants to buy Github! In-Reply-To: <3B2CEBE0-2AE3-4BAE-AE34-54547DB3A7E0@gmail.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <90a1d1d9-bd67-c015-04a8-e37cc73054af@researchware.com> <3B2CEBE0-2AE3-4BAE-AE34-54547DB3A7E0@gmail.com> Message-ID: Hi there, I thought you might all want to keep your eyes on this one. https://fossbytes.com/microsoft-github-aquisition-report/ Is it time we start pulling software from Github to let them know we are not in favor of this acquisition? How will this effect LiveCode? What do you think? Just my 2 cents for the day. Cheers, Rick From jacque at hyperactivesw.com Sat Jun 2 19:34:53 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 02 Jun 2018 18:34:53 -0500 Subject: OT: Microsoft wants to buy Github! In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <90a1d1d9-bd67-c015-04a8-e37cc73054af@researchware.com> <3B2CEBE0-2AE3-4BAE-AE34-54547DB3A7E0@gmail.com> Message-ID: <163c2da8d48.2783.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Well, they bought Skype a while ago and so far nothing too horrible has happened. They did redesign the interface to make it worse, but my old version still works. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 2, 2018 5:32:08 PM Rick Harrison via use-livecode wrote: > Hi there, > > I thought you might all want to keep your eyes on this one. > > https://fossbytes.com/microsoft-github-aquisition-report/ > > > Is it time we start pulling software from Github to let them > know we are not in favor of this acquisition? > > How will this effect LiveCode? > > What do you think? > > Just my 2 cents for the day. > > Cheers, > > Rick > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sat Jun 2 20:09:20 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Sat, 2 Jun 2018 17:09:20 -0700 Subject: OT: Microsoft wants to buy Github! In-Reply-To: References: Message-ID: Rick Harrison wrote: > I thought you might all want to keep your eyes on this one. > > https://fossbytes.com/microsoft-github-aquisition-report/ > > Is it time we start pulling software from Github to let them > know we are not in favor of this acquisition? > > How will this effect LiveCode? > > What do you think? Some of my friends in the open source world are suggesting GitLab: https://about.gitlab.com/ This move is only partially motivated by the Microsoft bid, and mostly because GitLab itself is open source while GitHub is not, something that's important to FOSS advocates. -- 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 harrison at all-auctions.com Sat Jun 2 21:50:37 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Sat, 2 Jun 2018 21:50:37 -0400 Subject: OT: Microsoft wants to buy Github! In-Reply-To: References: Message-ID: <7C14607E-FFCD-403A-A27D-7AA96C00989F@all-auctions.com> Hi Richard, I like the look of GitLab! It?s very nice and I think it could be a great replacement. Thank you for that suggestion! Rick > On Jun 2, 2018, at 8:09 PM, Richard Gaskin via use-livecode wrote: > > Some of my friends in the open source world are suggesting GitLab: > https://about.gitlab.com/ > > This move is only partially motivated by the Microsoft bid, and mostly because GitLab itself is open source while GitHub is not, something that's important to FOSS advocates. From richmondmathewson at gmail.com Sun Jun 3 06:02:47 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 3 Jun 2018 13:02:47 +0300 Subject: Looking at LiveCode askew. Message-ID: <9f259668-4cdf-c514-b894-f32ad5dc7e2e@gmail.com> Here's something: https://www.slant.co/versus/119/130/~livecode_vs_visual-basic Hmm: I thought this might actually be a detailed comparison, but it's nothing of the sort, just based on some ranking. And, having waded knee-deep in Visual BASIC as it was in 2003, I don't need rankings to work out that LiveCode is far, far better as a programming language to learn first compared with Visual BASIC. This DOES look good: https://www.kidscode.sg/product/get-up-and-running-with-livecode-basic/ Richmond. From revolution at derbrill.de Sun Jun 3 11:59:28 2018 From: revolution at derbrill.de (Malte Pfaff-Brill) Date: Sun, 3 Jun 2018 17:59:28 +0200 Subject: Creating a PSD from Livecode Script? Message-ID: <7F9A2685-CAE2-486A-A5FA-F6C15A8DB22C@derbrill.de> Hi All! I would like to be able to create a Photoshop (layered, preferably also with Layer groups) .psd file from LiveCode Script, using image data in a stack. Has anybody of you tried that before or might know how to get started? Any pointers much appreciated. Cheers, Malte From bobsneidar at iotecdigital.com Sun Jun 3 13:44:39 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sun, 3 Jun 2018 17:44:39 +0000 Subject: SQL Help In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <7B5A78B6-E8C4-4D5D-9CBD-5023C15314F0@earthlearningsolutions.org> Message-ID: <02D5307C-273C-4724-BD97-277EB12A1AAF@iotecdigital.com> That will only return the maximum value, not the record itself. Bob S > On Jun 1, 2018, at 20:01 , prothero--- via use-livecode wrote: > > I?m thinking something like: > > Select max(?iStoreGrp?) from ?valveFlowsA? where (?valveNum?=n1 AND ?meterNum?=n2) > > Then I have to sort out how to put the statement in a string that can be sent to php. > > Does this seem reasonable? I?ll find out tomorrow. > > Best, > Bill > > William Prothero From tom at makeshyft.com Sun Jun 3 14:37:46 2018 From: tom at makeshyft.com (Tom Glod) Date: Sun, 3 Jun 2018 14:37:46 -0400 Subject: Creating a PSD from Livecode Script? In-Reply-To: <7F9A2685-CAE2-486A-A5FA-F6C15A8DB22C@derbrill.de> References: <7F9A2685-CAE2-486A-A5FA-F6C15A8DB22C@derbrill.de> Message-ID: hhmmm...its definately possible...you would just have to study the psd file format and create the proper file headers and append the image data in the format that it needs. ...i've never seen anyone try it. ..... Could a command line call to another program like image magic save you a bunch of work? On Sun, Jun 3, 2018 at 11:59 AM, Malte Pfaff-Brill via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi All! > > I would like to be able to create a Photoshop (layered, preferably also > with Layer groups) .psd file from LiveCode Script, using image data in a > stack. Has anybody of you tried that before or might know how to get > started? > > Any pointers much appreciated. > > Cheers, > > Malte > _______________________________________________ > use-livecode mailing list > use-livecode 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 revolution at derbrill.de Sun Jun 3 16:27:44 2018 From: revolution at derbrill.de (Malte Pfaff-Brill) Date: Sun, 3 Jun 2018 22:27:44 +0200 Subject: Creating a PSD from Livecode Script? Message-ID: <71BBCC00-DCF8-451E-96E8-50930225EA47@derbrill.de> Hi Tom, > could a command line call to another program like image magic save you a bunch of work? I guess so. Never did that either though. :-) Any experts in that area? Cheers, Malte From dfepstein at comcast.net Sun Jun 3 19:31:55 2018 From: dfepstein at comcast.net (David Epstein) Date: Sun, 3 Jun 2018 19:31:55 -0400 Subject: Text with accented characters Message-ID: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> I am importing some text where certain characters do not look right. When I test their charToNum values I get, for example, 226 and 232. 226 is shown as a comma, but should be a lower case a with a circumflex, and 232 is shown as an upper case e with an umlaut but should be a lower case e with accent grave. Is there some font I can choose, or some other action I should take, to get these (and others) to display properly? David Epstein From bogdanoff at me.com Sun Jun 3 19:57:13 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Sun, 03 Jun 2018 16:57:13 -0700 Subject: Text with accented characters In-Reply-To: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> References: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> Message-ID: <62951D31-5975-4E36-9831-F9D25AA69BEE@me.com> Hi David, From the LC dictionary: Important: As of version 7.0 the numToChar and charToNum functions have been deprecated. They will continue to work as in previous versions but should not be used with Unicode text as unexpected results may occur. If working with Unicode text use the numToCodepoint and codepointToNum functions, for native text use numToNativeChar and nativeCharToNum functions. If working with binary data use the numToByte and byteToNum functions. Try these other functions first? Peter Bogdanoff > On Jun 3, 2018, at 4:31 PM, David Epstein via use-livecode wrote: > > I am importing some text where certain characters do not look right. When I test their charToNum values I get, for example, 226 and 232. 226 is shown as a comma, but should be a lower case a with a circumflex, and 232 is shown as an upper case e with an umlaut but should be a lower case e with accent grave. Is there some font I can choose, or some other action I should take, to get these (and others) to display properly? > David Epstein > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sun Jun 3 20:03:22 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 4 Jun 2018 00:03:22 +0000 Subject: Text with accented characters In-Reply-To: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> References: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> Message-ID: <95C85DC7-1632-4CE5-BE4A-E096025EBF68@hindu.org> This would be typical of importing Mac/Win Type 1 fonts or ANSI only True Type. The range ANSI characters (128-255) varies depending on the platform which it was input from; add to the caveat introduce by the "native" program (Quark, InDesign, Pages, MSWord, Outlook, PDF). In theory Livecode handles it correctly, but many cases not...(through no fault of its own). I spent year(s) in that world. The only answer: Unicode. Are you sure the text is Unicode? Brahmanathaswami ?On 6/3/18, 1:32 PM, "use-livecode on behalf of David Epstein via use-livecode" wrote: I am importing some text where certain characters do not look right. When I test their charToNum values I get, for example, 226 and 232. 226 is shown as a comma, but should be a lower case a with a circumflex, and 232 is shown as an upper case e with an umlaut but should be a lower case e with accent grave. Is there some font I can choose, or some other action I should take, to get these (and others) to display properly? David Epstein From beugelaar at solidit.nl Mon Jun 4 01:47:47 2018 From: beugelaar at solidit.nl (beugelaar at solidit.nl) Date: Mon, 4 Jun 2018 05:47:47 +0000 (UTC) Subject: SQL Help In-Reply-To: <02D5307C-273C-4724-BD97-277EB12A1AAF@iotecdigital.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <7B5A78B6-E8C4-4D5D-9CBD-5023C15314F0@earthlearningsolutions.org> <02D5307C-273C-4724-BD97-277EB12A1AAF@iotecdigital.com> Message-ID: <25F5F00E3D198552.ed9fae28-c511-4aa1-abcb-cd4e116f50fc@mail.outlook.com> Group by Get Outlook for Android On Sun, Jun 3, 2018 at 7:45 PM +0200, "Bob Sneidar via use-livecode" wrote: That will only return the maximum value, not the record itself. Bob S > On Jun 1, 2018, at 20:01 , prothero--- via use-livecode wrote: > > I?m thinking something like: > > Select max(?iStoreGrp?) from ?valveFlowsA? where (?valveNum?=n1 AND ?meterNum?=n2) > > Then I have to sort out how to put the statement in a string that can be sent to php. > > Does this seem reasonable? I?ll find out tomorrow. > > Best, > Bill > > William Prothero _______________________________________________ use-livecode mailing list use-livecode 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 Jun 4 02:50:11 2018 From: richmondmathewson at gmail.com (Richmond) Date: Mon, 4 Jun 2018 09:50:11 +0300 Subject: Text with accented characters In-Reply-To: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> References: <3E2F9CCB-EE71-4FE7-8F1C-13128CA8464E@comcast.net> Message-ID: For what it's worth glyph 226 (Hex E2) in Unicode has a ? (a circumflex), and glyph 232 (Hex E8) has a ? ( e grave): so your initial font seems Unicode compliant Here's a good place to check this sort of thing: https://www.unicode.org/charts/ (this is, in some respects, my spiritual home on the internet). Now: knowing that that font is Unicode compliant you should be able to transform things back and forth between characters and numbers using numToCodePoint and codePointToNum. I'm not sure why you are having trouble importing these characters. A 'trick'? is to do something like this: set the unicodeText of field "fiddlyDo" to the unicodeText of WHATHAVEYER. Richmond. On 4.06.2018 02:31, David Epstein via use-livecode wrote: > I am importing some text where certain characters do not look right. When I test their charToNum values I get, for example, 226 and 232. 226 is shown as a comma, but should be a lower case a with a circumflex, and 232 is shown as an upper case e with an umlaut but should be a lower case e with accent grave. Is there some font I can choose, or some other action I should take, to get these (and others) to display properly? > David Epstein > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 4 07:26:15 2018 From: dunbarx at aol.com (Com) Date: Mon, 4 Jun 2018 06:26:15 -0500 Subject: No subject Message-ID: <1528111580.Pncxfz0v5rgBOPncyfzI34@mf-smf-ucb021c1> http://call.envy-arts.com Com From dunbarx at aol.com Mon Jun 4 07:26:12 2018 From: dunbarx at aol.com (Com) Date: Mon, 4 Jun 2018 03:26:12 -0800 Subject: No subject Message-ID: <1528111577.PncuflDyGw9NQPncvfOrFZ@mf-smf-ucb019c3> http://that.karensescape.com Com From panos.merakos at livecode.com Mon Jun 4 10:26:02 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 4 Jun 2018 15:26:02 +0100 Subject: [ANN] This Week in LiveCode 131 Message-ID: Hi all, Read about new developments in LiveCode open source and the open source community in today's edition of the "This Week in LiveCode" newsletter! Read issue #131 here: https://goo.gl/UBMWUD This is a weekly newsletter about LiveCode, focussing on what's been going on in and around the open source project. New issues will be released weekly on Mondays. We have a dedicated mailing list that will deliver each issue directly to you e-mail, so you don't miss any! If you have anything you'd like mentioned (a project, a discussion somewhere, an upcoming event) then please get in touch. -- Panagiotis Merakos LiveCode Software Developer Everyone Can Create Apps From bobsneidar at iotecdigital.com Mon Jun 4 10:37:54 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 4 Jun 2018 14:37:54 +0000 Subject: SQL Help In-Reply-To: <25F5F00E3D198552.ed9fae28-c511-4aa1-abcb-cd4e116f50fc@mail.outlook.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <7B5A78B6-E8C4-4D5D-9CBD-5023C15314F0@earthlearningsolutions.org> <02D5307C-273C-4724-BD97-277EB12A1AAF@iotecdigital.com> <25F5F00E3D198552.ed9fae28-c511-4aa1-abcb-cd4e116f50fc@mail.outlook.com> Message-ID: <5540720F-D691-4E01-AB8F-C66FC9A5B24D@iotecdigital.com> By the way, you can always get all matching records, convert to text, then sort the lines and get the first line. Bob S > That will only return the maximum value, not the record itself. > > Bob S > > >> On Jun 1, 2018, at 20:01 , prothero--- via use-livecode wrote: >> >> I?m thinking something like: >> >> Select max(?iStoreGrp?) from ?valveFlowsA? where (?valveNum?=n1 AND ?meterNum?=n2) >> >> Then I have to sort out how to put the statement in a string that can be sent to php. >> >> Does this seem reasonable? I?ll find out tomorrow. >> >> Best, >> Bill >> >> William Prothero > > _______________________________________________ > use-livecode mailing list > use-livecode 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 paul at researchware.com Mon Jun 4 11:08:59 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 4 Jun 2018 11:08:59 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> Message-ID: <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> I posted the question below and got no responses so I thought I would try again. I noticed that screenLoc has no effective or working keywords associated with it in LC9 or earlier. It seems to me that it should and that if it has been done for the screenRect(s), it should be a small enhancement to add them to the screenLoc Do others agree? If so I will submit and enhancement entry to the quality center. if not, I'll drop this discussion thread and roll my own function based on the screenRect function. On 6/1/2018 1:19 PM, Paul Dupuis via use-livecode wrote: > In doing some scripting to hadle window and screen management for our > apps when multiple monitors are involved, I am puzzled by: > > Why does the screenLoc not have the effective and/or working keywords > for it????? > > A common item is to set the loc of window to the screenLoc > to center the window on the screen. A common practice for dialogs for > example. However, if screen real estate is used up by menubars, > taskbars, on screen keyboards or what have you what you really want is > the center of the available screen area for the app. > > Obviously, I can get this from the effective working screenRect and then > just compute the center (roll my own realScreenLoc() function), but I am > curious from the LiveCode folks if there is some technical issue with > adding effective and working to the screenLoc or was this just something > no one ever asked for before? > > P.S. If no one has asked, I'll file an enhancement request > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 4 11:55:02 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 4 Jun 2018 15:55:02 +0000 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> Message-ID: Seems like you could subtract item 1 from item 3 and item 2 from item 4 of the effective screenRect to get what you need. Bob S > On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode wrote: > > I posted the question below and got no responses so I thought I would > try again. > > I noticed that screenLoc has no effective or working keywords associated > with it in LC9 or earlier. It seems to me that it should and that if it > has been done for the screenRect(s), it should be a small enhancement to > add them to the screenLoc > > Do others agree? If so I will submit and enhancement entry to the > quality center. if not, I'll drop this discussion thread and roll my own > function based on the screenRect function. From paul at researchware.com Mon Jun 4 12:07:59 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 4 Jun 2018 12:07:59 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> Message-ID: <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Yes, that is why I said (read below) that if others did not think there should be an effective and/or working key word for the screenLoc function, I would roll my own based on the screenRect function. I was asking whether other think the screenLoc function should or should not have these keywords. On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: > Seems like you could subtract item 1 from item 3 and item 2 from item 4 of the effective screenRect to get what you need. > > Bob S > > >> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode wrote: >> >> I posted the question below and got no responses so I thought I would >> try again. >> >> I noticed that screenLoc has no effective or working keywords associated >> with it in LC9 or earlier. It seems to me that it should and that if it >> has been done for the screenRect(s), it should be a small enhancement to >> add them to the screenLoc >> >> Do others agree? If so I will submit and enhancement entry to the >> quality center. if not, I'll drop this discussion thread and roll my own >> function based on the screenRect function. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Mon Jun 4 13:19:36 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Mon, 4 Jun 2018 13:19:36 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: <006e01d3fc28$3949b6e0$abdd24a0$@net> I agree. The effective and/or working key word should also be modifiers for the screenLoc function. 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 Paul Dupuis via use-livecode Sent: Monday, June 04, 2018 12:08 PM To: use-livecode at lists.runrev.com Cc: Paul Dupuis Subject: Re: THOUGHT: the [effective] [working] screenLoc Yes, that is why I said (read below) that if others did not think there should be an effective and/or working key word for the screenLoc function, I would roll my own based on the screenRect function. I was asking whether other think the screenLoc function should or should not have these keywords. On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: > Seems like you could subtract item 1 from item 3 and item 2 from item 4 of the effective screenRect to get what you need. > > Bob S > > >> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode wrote: >> >> I posted the question below and got no responses so I thought I would >> try again. >> >> I noticed that screenLoc has no effective or working keywords >> associated with it in LC9 or earlier. It seems to me that it should >> and that if it has been done for the screenRect(s), it should be a >> small enhancement to add them to the screenLoc >> >> Do others agree? If so I will submit and enhancement entry to the >> quality center. if not, I'll drop this discussion thread and roll my >> own function based on the screenRect function. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 4 14:58:57 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 04 Jun 2018 13:58:57 -0500 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <006e01d3fc28$3949b6e0$abdd24a0$@net> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> <006e01d3fc28$3949b6e0$abdd24a0$@net> Message-ID: <163cc2aa180.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> The screenloc is the center of the screen, not the center of the working area or content. The screenloc will never change on the same display, regardless of the content displayed on it. What I think is being discussed is the loc of the card. This will change on desktop monitors if the stack size is changed. On mobile the card size is basically fixed most of the time and so the loc will also be a fixed coordinate. Probably what's being asked for is a "working content center loc" function, but since it's so trivial to implement I don't see it as a high priority myself. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 4, 2018 12:19:29 PM Ralph DiMola via use-livecode wrote: > I agree. The effective and/or working key word should also be modifiers for > the screenLoc function. > > 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 Paul Dupuis via use-livecode > Sent: Monday, June 04, 2018 12:08 PM > To: use-livecode at lists.runrev.com > Cc: Paul Dupuis > Subject: Re: THOUGHT: the [effective] [working] screenLoc > > Yes, that is why I said (read below) that if others did not think there > should be an effective and/or working key word for the screenLoc function, I > would roll my own based on the screenRect function. I was asking whether > other think the screenLoc function should or should not have these keywords. > > > On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: >> Seems like you could subtract item 1 from item 3 and item 2 from item 4 of > the effective screenRect to get what you need. >> >> Bob S >> >> >>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode > wrote: >>> >>> I posted the question below and got no responses so I thought I would >>> try again. >>> >>> I noticed that screenLoc has no effective or working keywords >>> associated with it in LC9 or earlier. It seems to me that it should >>> and that if it has been done for the screenRect(s), it should be a >>> small enhancement to add them to the screenLoc >>> >>> Do others agree? If so I will submit and enhancement entry to the >>> quality center. if not, I'll drop this discussion thread and roll my >>> own function based on the screenRect function. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 bobsneidar at iotecdigital.com Mon Jun 4 15:31:59 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 4 Jun 2018 19:31:59 +0000 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: And I was in a round about way saying I didn't think it was necessary to do this through the engine, since there was no clear performance gain, and the code to work around it is one or two lines. I should have been clearer. Bob S > On Jun 4, 2018, at 09:07 , Paul Dupuis via use-livecode wrote: > > Yes, that is why I said (read below) that if others did not think there > should be an effective and/or working key word for the screenLoc > function, I would roll my own based on the screenRect function. I was > asking whether other think the screenLoc function should or should not > have these keywords. > > > On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: >> Seems like you could subtract item 1 from item 3 and item 2 from item 4 of the effective screenRect to get what you need. >> >> Bob S >> >> >>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode wrote: >>> >>> I posted the question below and got no responses so I thought I would >>> try again. >>> >>> I noticed that screenLoc has no effective or working keywords associated >>> with it in LC9 or earlier. It seems to me that it should and that if it >>> has been done for the screenRect(s), it should be a small enhancement to >>> add them to the screenLoc >>> >>> Do others agree? If so I will submit and enhancement entry to the >>> quality center. if not, I'll drop this discussion thread and roll my own >>> function based on the screenRect function. From paul at researchware.com Mon Jun 4 15:51:37 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 4 Jun 2018 15:51:37 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: Okay, we're making progress: 2 people (Paul and Ralph) think having "the [effective] [working] screenLoc" might be a useful addition for the language for the likely effort to add it 2 people (Bob and Jacqueline) think that it is simple enough (which it is) to write your own function for this it is not worth the effort to add to the engine So far we have a tie. And, Jacqueline, screen resolutions can be changed dynamically on Windows (can't remember off the top of my head if the same is true for OSX). This changes the screenLoc. We also have customers who use multiple monitors, unplug them abruptly, change screen resolutions dynamically (say to connect to a projector) and so on, so are trying to make use of LC features like the desktopChanged message to recheck screen sizes and adjust windows in our app accordingly or re-position windows or recenter dialogs when a monitor is removed suddenly. Some user have "fat" taskbars (a lot of open stuff on them since the Windows toolbar can be resized)? and the center of the working screen area is decidedly not the center of the current resolution of the primary monitor. In fact, the Windows taskbar can be resize to take up half the primary screen by the user (we have NOT had any one do that - YET) On 6/4/2018 12:07 PM, Paul Dupuis via use-livecode wrote: > Yes, that is why I said (read below) that if others did not think there > should be an effective and/or working key word for the screenLoc > function, I would roll my own based on the screenRect function. I was > asking whether other think the screenLoc function should or should not > have these keywords. > > > On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: >> Seems like you could subtract item 1 from item 3 and item 2 from item 4 of the effective screenRect to get what you need. >> >> Bob S >> >> >>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode wrote: >>> >>> I posted the question below and got no responses so I thought I would >>> try again. >>> >>> I noticed that screenLoc has no effective or working keywords associated >>> with it in LC9 or earlier. It seems to me that it should and that if it >>> has been done for the screenRect(s), it should be a small enhancement to >>> add them to the screenLoc >>> >>> Do others agree? If so I will submit and enhancement entry to the >>> quality center. if not, I'll drop this discussion thread and roll my own >>> function based on the screenRect function. >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 curry at pair.com Mon Jun 4 18:13:11 2018 From: curry at pair.com (Curry Kenworthy) Date: Mon, 04 Jun 2018 18:13:11 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: Message-ID: <5B15B977.5090208@pair.com> Tiebreaker: file that request! Can't hurt. :) Best wishes, Curry K. From jacque at hyperactivesw.com Mon Jun 4 19:04:38 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 4 Jun 2018 18:04:38 -0500 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: <99f4e0ba-1e3e-0cdd-8db1-ebc25b090256@hyperactivesw.com> On 6/4/18 2:51 PM, Paul Dupuis via use-livecode wrote: > And, Jacqueline, screen resolutions can be changed dynamically on > Window Ah. For some reason my brain was stuck in mobile mode. You can change resolutions on Mac too actually. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Mon Jun 4 19:24:35 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 4 Jun 2018 18:24:35 -0500 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <99f4e0ba-1e3e-0cdd-8db1-ebc25b090256@hyperactivesw.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> <99f4e0ba-1e3e-0cdd-8db1-ebc25b090256@hyperactivesw.com> Message-ID: And the screenrect can change on mobile too if rotation is allowed. On Jun 4, 2018, 6:05 PM -0500, J. Landman Gay via use-livecode , wrote: > On 6/4/18 2:51 PM, Paul Dupuis via use-livecode wrote: > > And, Jacqueline, screen resolutions can be changed dynamically on > > Window > Ah. For some reason my brain was stuck in mobile mode. You can change > resolutions on Mac too actually. > > -- > 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 alanstenhouse at hotmail.com Tue Jun 5 02:55:50 2018 From: alanstenhouse at hotmail.com (Alan) Date: Tue, 5 Jun 2018 06:55:50 +0000 Subject: Bug 17062 - Browser Widget: Context menu is not under script control Message-ID: Can someone at LC please bump Bug 17062 and take a look at it? Would be great to be able to pass right-clicks into the browser widget rather than automatically popping up the "Back|Reload" menu. https://quality.livecode.com/show_bug.cgi?id=17228 cheers Alan From bogdanoff at me.com Tue Jun 5 03:12:13 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Tue, 05 Jun 2018 00:12:13 -0700 Subject: Message when moving windows Message-ID: <1DFC45A5-09AD-4072-AA16-86C3BFD3FC3A@me.com> Hi, Is there a message sent in LiveCode when the user moves an LC window around using the titlebar? I want to set a preference setting when this happens. I know I could do this when windows are closed, for for my situation it would be much better to do it immediately, if it?s possible. Peter Bogdanoff ArtsInteractive From richmondmathewson at gmail.com Tue Jun 5 03:50:02 2018 From: richmondmathewson at gmail.com (Richmond) Date: Tue, 5 Jun 2018 10:50:02 +0300 Subject: Message when moving windows In-Reply-To: <1DFC45A5-09AD-4072-AA16-86C3BFD3FC3A@me.com> References: <1DFC45A5-09AD-4072-AA16-86C3BFD3FC3A@me.com> Message-ID: <83b5eef7-6283-e930-27b3-80992c3c2037@gmail.com> on moveStack LR, UD ???? put "You moved me!" end moveStack Richmond. On 5.06.2018 10:12, Peter Bogdanoff via use-livecode wrote: > Hi, > > Is there a message sent in LiveCode when the user moves an LC window around using the titlebar? > > I want to set a preference setting when this happens. I know I could do this when windows are closed, for for my situation it would be much better to do it immediately, if it?s possible. > > Peter Bogdanoff > ArtsInteractive > _______________________________________________ > use-livecode mailing list > use-livecode 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 iphonelagi at gmail.com Tue Jun 5 05:14:37 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Tue, 5 Jun 2018 10:14:37 +0100 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: " Windows taskbar can be resize to take up half the primary screen by the user (we have NOT had any one do that - YET)" Which reminds me of 3 variants of Murphy's law :- Nothing can be made foolproof because fools are so ingenious. Nothing is foolproof for a capable fool. Lagi On 4 June 2018 at 20:51, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > Okay, we're making progress: > > 2 people (Paul and Ralph) think having "the [effective] [working] > screenLoc" might be a useful addition for the language for the likely > effort to add it > 2 people (Bob and Jacqueline) think that it is simple enough (which it > is) to write your own function for this it is not worth the effort to > add to the engine > > So far we have a tie. > > And, Jacqueline, screen resolutions can be changed dynamically on > Windows (can't remember off the top of my head if the same is true for > OSX). This changes the screenLoc. We also have customers who use > multiple monitors, unplug them abruptly, change screen resolutions > dynamically (say to connect to a projector) and so on, so are trying to > make use of LC features like the desktopChanged message to recheck > screen sizes and adjust windows in our app accordingly or re-position > windows or recenter dialogs when a monitor is removed suddenly. Some > user have "fat" taskbars (a lot of open stuff on them since the Windows > toolbar can be resized) and the center of the working screen area is > decidedly not the center of the current resolution of the primary > monitor. In fact, the Windows taskbar can be resize to take up half the > primary screen by the user (we have NOT had any one do that - YET) > > > On 6/4/2018 12:07 PM, Paul Dupuis via use-livecode wrote: > > Yes, that is why I said (read below) that if others did not think there > > should be an effective and/or working key word for the screenLoc > > function, I would roll my own based on the screenRect function. I was > > asking whether other think the screenLoc function should or should not > > have these keywords. > > > > > > On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: > >> Seems like you could subtract item 1 from item 3 and item 2 from item 4 > of the effective screenRect to get what you need. > >> > >> Bob S > >> > >> > >>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > >>> > >>> I posted the question below and got no responses so I thought I would > >>> try again. > >>> > >>> I noticed that screenLoc has no effective or working keywords > associated > >>> with it in LC9 or earlier. It seems to me that it should and that if it > >>> has been done for the screenRect(s), it should be a small enhancement > to > >>> add them to the screenLoc > >>> > >>> Do others agree? If so I will submit and enhancement entry to the > >>> quality center. if not, I'll drop this discussion thread and roll my > own > >>> function based on the screenRect function. > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 richmondmathewson at gmail.com Tue Jun 5 05:20:46 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 5 Jun 2018 12:20:46 +0300 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: Yes, indeed, and the equivalent sort of thing to the Windows taskbar in the XFCE environment on Linux can be resized to cover the whole screen! I know as my computers in my school have "Peekaboo" taskbars that take up about 40% of the screen (i.e. they pop in and out of the bottom of the screen) with launchers for some 60 EFL programs I have authored for EFL (English as a Fizziy Language). But, fools or not, one cannot plan for all eventualities . . . anymore than a shoe factory can make shoes in giant sizes on the off-chance that Finn MacCool will pop in to buy hisself some baffies! Richmond. On 5/6/2018 12:14 pm, Lagi Pittas via use-livecode wrote: > " Windows taskbar can be resize to take up half the > primary screen by the user (we have NOT had any one do that - YET)" > > Which reminds me of 3 variants of Murphy's law :- > > Nothing can be made foolproof because fools are so ingenious. > Nothing is foolproof for a capable fool. > > Lagi > > > On 4 June 2018 at 20:51, Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Okay, we're making progress: >> >> 2 people (Paul and Ralph) think having "the [effective] [working] >> screenLoc" might be a useful addition for the language for the likely >> effort to add it >> 2 people (Bob and Jacqueline) think that it is simple enough (which it >> is) to write your own function for this it is not worth the effort to >> add to the engine >> >> So far we have a tie. >> >> And, Jacqueline, screen resolutions can be changed dynamically on >> Windows (can't remember off the top of my head if the same is true for >> OSX). This changes the screenLoc. We also have customers who use >> multiple monitors, unplug them abruptly, change screen resolutions >> dynamically (say to connect to a projector) and so on, so are trying to >> make use of LC features like the desktopChanged message to recheck >> screen sizes and adjust windows in our app accordingly or re-position >> windows or recenter dialogs when a monitor is removed suddenly. Some >> user have "fat" taskbars (a lot of open stuff on them since the Windows >> toolbar can be resized) and the center of the working screen area is >> decidedly not the center of the current resolution of the primary >> monitor. In fact, the Windows taskbar can be resize to take up half the >> primary screen by the user (we have NOT had any one do that - YET) >> >> >> On 6/4/2018 12:07 PM, Paul Dupuis via use-livecode wrote: >>> Yes, that is why I said (read below) that if others did not think there >>> should be an effective and/or working key word for the screenLoc >>> function, I would roll my own based on the screenRect function. I was >>> asking whether other think the screenLoc function should or should not >>> have these keywords. >>> >>> >>> On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: >>>> Seems like you could subtract item 1 from item 3 and item 2 from item 4 >> of the effective screenRect to get what you need. >>>> Bob S >>>> >>>> >>>>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>>>> I posted the question below and got no responses so I thought I would >>>>> try again. >>>>> >>>>> I noticed that screenLoc has no effective or working keywords >> associated >>>>> with it in LC9 or earlier. It seems to me that it should and that if it >>>>> has been done for the screenRect(s), it should be a small enhancement >> to >>>>> add them to the screenLoc >>>>> >>>>> Do others agree? If so I will submit and enhancement entry to the >>>>> quality center. if not, I'll drop this discussion thread and roll my >> own >>>>> function based on the screenRect function. >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 iphonelagi at gmail.com Tue Jun 5 05:30:11 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Tue, 5 Jun 2018 10:30:11 +0100 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: Hi here's the third one I missed "Make something idiot-proof, and they will build a better idiot." It's a losing battle .... Lagi >> Nothing can be made foolproof because fools are so ingenious. >> Nothing is foolproof for a capable fool. >> >> Lagi >> >> >> On 4 June 2018 at 20:51, Paul Dupuis via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> Okay, we're making progress: >>> >>> 2 people (Paul and Ralph) think having "the [effective] [working] >>> screenLoc" might be a useful addition for the language for the likely >>> effort to add it >>> 2 people (Bob and Jacqueline) think that it is simple enough (which it >>> is) to write your own function for this it is not worth the effort to >>> add to the engine >>> >>> So far we have a tie. >>> >>> And, Jacqueline, screen resolutions can be changed dynamically on >>> Windows (can't remember off the top of my head if the same is true for >>> OSX). This changes the screenLoc. We also have customers who use >>> multiple monitors, unplug them abruptly, change screen resolutions >>> dynamically (say to connect to a projector) and so on, so are trying to >>> make use of LC features like the desktopChanged message to recheck >>> screen sizes and adjust windows in our app accordingly or re-position >>> windows or recenter dialogs when a monitor is removed suddenly. Some >>> user have "fat" taskbars (a lot of open stuff on them since the Windows >>> toolbar can be resized) and the center of the working screen area is >>> decidedly not the center of the current resolution of the primary >>> monitor. In fact, the Windows taskbar can be resize to take up half the >>> primary screen by the user (we have NOT had any one do that - YET) >>> >>> >>> On 6/4/2018 12:07 PM, Paul Dupuis via use-livecode wrote: >>> >>>> Yes, that is why I said (read below) that if others did not think there >>>> should be an effective and/or working key word for the screenLoc >>>> function, I would roll my own based on the screenRect function. I was >>>> asking whether other think the screenLoc function should or should not >>>> have these keywords. >>>> >>>> >>>> On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: >>>> >>>>> Seems like you could subtract item 1 from item 3 and item 2 from item 4 >>>>> >>>> of the effective screenRect to get what you need. >>> >>>> Bob S >>>>> >>>>> >>>>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode < >>>>>> >>>>> use-livecode at lists.runrev.com> wrote: >>> >>>> I posted the question below and got no responses so I thought I would >>>>>> try again. >>>>>> >>>>>> I noticed that screenLoc has no effective or working keywords >>>>>> >>>>> associated >>> >>>> with it in LC9 or earlier. It seems to me that it should and that if it >>>>>> has been done for the screenRect(s), it should be a small enhancement >>>>>> >>>>> to >>> >>>> add them to the screenLoc >>>>>> >>>>>> Do others agree? If so I will submit and enhancement entry to the >>>>>> quality center. if not, I'll drop this discussion thread and roll my >>>>>> >>>>> own >>> >>>> function based on the screenRect function. >>>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode 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 > From brahma at hindu.org Tue Jun 5 11:25:43 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 5 Jun 2018 15:25:43 +0000 Subject: Siva Siva App in iOS version 1.2 in now out Message-ID: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> It been many moons. I finally got a new version SivaSiva out the door to iOS. I want to especially thank an unsung hero that is busy in Edinburgh helping with support requests for business. Elanor Buchanan! Yay! She responsible is for the new "Listen" touch code for the new audio screen. With icons for collections that go left and right and and up down. Just like Spotify! I use a single json file to build that interface in development and then to run it in the app. It scrolls *almost* as good an regular web scrolling. The touch model of that screen is less on 50 lines of code. Thanks also to Jacque for the code for the fetching an .ics file, download it and display a Hindu Calender (Panchangam) and for Andre, who did a little "experiment" in the Read Module, Hindu Dictionary, but develop it as HTML5 that we should show in the browser widget and which communicates with the local SQLlite database (i.e. it not using web storage!). Given all the year of support from the community, I make the code open source. If you want to check out the app. https://github.com/Himalayan-Academy/Siva-Siva-App/tree/nightly DISCLAIMER: Its a labyrinth, slowly working to refactor. But, original decision I made works well: Different modules are virtually independent, and only require the developer minimal access global framework. This way I can hire out new "pieces" (stacks) to people, and they code the way they want. This has pros and cons. But allows agile development across a team, who doesn't need to know the conventions of another developer. And believe me, people really code is different styles! DOWNSIDE Side: This app would "huge" in gets Android, my target audience is gigantic in India, Malaysia, Sri Lanka and Singapore.. BUT Android: still unresponsive to navigation buttons, move from one stack to the next is like crap shoot, Seven on good day and snake eyes the next moment, we have to "minutely" manage accelerateRendering otherwise "all hell breaks loose" - landscape is not in parity to iOS. I have a landscape stack, on iOS it switch to landscape. I have browser code that allows you to rotate the phone.. works on iOS, but does not on android. 8.1.10 mobileSetFullScreenRectForOrientations orientations[, rect]. Does not work as expect (perhaps I am implementing wrongly, TBD) OPEN LETTER TO KEVIN: We are not in a situation as bad a Sean Cole. Non-profit. And not the same situation. But I feel for him. If I were an developer depending on Android, I would be dead the water, belly floating up .... I have been working TWO YEARs to get an app that runs fine on iOS and breaks to Android. Of course, I would expect a lot "in the platform in Android, then do it this way" but no such thing... I love the platform. You can "rule world" with Livecode in just 200 lines. My God! It already does everything, anything I can think of, I can get it done in 500 line of English readable code (minus the motion graphics). We don?t need features. Please PLEEZE, consolidate, put as much effort as you can afford in solving Android bugs. Brahmanathaswami Get the SivaSiva app, it's free: https://www.himalayanacademy.com/apps/sivasiva From merakosp at gmail.com Tue Jun 5 11:44:44 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Tue, 5 Jun 2018 16:44:44 +0100 Subject: Siva Siva App in iOS version 1.2 in now out In-Reply-To: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> References: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> Message-ID: Hi Brahmanathaswami, Congratulations for the release. Just a quick note for the landscape issue on Android, this is now fixed and it will be available in the next LC 9 release (9.0.1 RC-1): https://quality.livecode.com/show_bug.cgi?id=19465 Best, Panos -- On Tue, Jun 5, 2018 at 4:25 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > It been many moons. I finally got a new version SivaSiva out the door to > iOS. > > I want to especially thank an unsung hero that is busy in Edinburgh > helping with support requests for business. > > Elanor Buchanan! Yay! > > She responsible is for the new "Listen" touch code for the new audio > screen. With icons for collections that go left and right and and up down. > Just like Spotify! I use a single json file to build that interface in > development and then to run it in the app. It scrolls *almost* as good an > regular web scrolling. The touch model of that screen is less on 50 lines > of code. > > Thanks also to Jacque for the code for the fetching an .ics file, > download it and display a Hindu Calender (Panchangam) and for Andre, who > did a little "experiment" in the Read Module, Hindu Dictionary, but develop > it as HTML5 that we should show in the browser widget and which > communicates with the local SQLlite database (i.e. it not using web > storage!). > > Given all the year of support from the community, I make the code open > source. > > If you want to check out the app. > > https://github.com/Himalayan-Academy/Siva-Siva-App/tree/nightly > > DISCLAIMER: Its a labyrinth, slowly working to refactor. But, original > decision I made works well: > Different modules are virtually independent, and only require the > developer minimal access global framework. This way I can hire out new > "pieces" (stacks) to people, and they code the way they want. This has pros > and cons. But allows agile development across a team, who doesn't need to > know the conventions of another developer. And believe me, people really > code is different styles! > > DOWNSIDE Side: > > This app would "huge" in gets Android, my target audience is gigantic in > India, Malaysia, Sri Lanka and Singapore.. BUT > > Android: still unresponsive to navigation buttons, move from one stack to > the next is like crap shoot, Seven on good day and snake eyes the next > moment, we have to "minutely" manage accelerateRendering otherwise "all > hell breaks loose" - landscape is not in parity to iOS. I have a landscape > stack, on iOS it switch to landscape. I have browser code that allows you > to rotate the phone.. works on iOS, but does not on android. 8.1.10 > mobileSetFullScreenRectForOrientations orientations[, rect]. Does not > work as expect (perhaps I am implementing wrongly, TBD) > > OPEN LETTER TO KEVIN: > > We are not in a situation as bad a Sean Cole. Non-profit. And not the same > situation. But I feel for him. If I were an developer depending on Android, > I would be dead the water, belly floating up .... I have been working TWO > YEARs to get an app that runs fine on iOS and breaks to Android. > > Of course, I would expect a lot "in the platform in Android, then do it > this way" but no such thing... I love the platform. You can "rule world" > with Livecode in just 200 lines. My God! It already does everything, > anything I can think of, I can get it done in 500 line of English readable > code (minus the motion graphics). We don?t need features. Please PLEEZE, > consolidate, put as much effort as you can afford in solving Android bugs. > > Brahmanathaswami > > Get the SivaSiva app, it's free: > https://www.himalayanacademy.com/apps/sivasiva > > _______________________________________________ > use-livecode mailing list > use-livecode 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 bogdanoff at me.com Tue Jun 5 11:58:44 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Tue, 05 Jun 2018 08:58:44 -0700 Subject: Message when moving windows In-Reply-To: <83b5eef7-6283-e930-27b3-80992c3c2037@gmail.com> References: <1DFC45A5-09AD-4072-AA16-86C3BFD3FC3A@me.com> <83b5eef7-6283-e930-27b3-80992c3c2037@gmail.com> Message-ID: <9B90CC68-C6D4-4DB0-9723-38A65DAEB8A2@me.com> That?s it! Thanks. > On Jun 5, 2018, at 12:50 AM, Richmond via use-livecode wrote: > > on moveStack LR, UD > > put "You moved me!" > > end moveStack > > Richmond. > > On 5.06.2018 10:12, Peter Bogdanoff via use-livecode wrote: >> Hi, >> >> Is there a message sent in LiveCode when the user moves an LC window around using the titlebar? >> >> I want to set a preference setting when this happens. I know I could do this when windows are closed, for for my situation it would be much better to do it immediately, if it?s possible. >> >> Peter Bogdanoff >> ArtsInteractive >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Tue Jun 5 12:08:10 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 05 Jun 2018 11:08:10 -0500 Subject: Siva Siva App in iOS version 1.2 in now out In-Reply-To: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> References: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> Message-ID: <163d0b4a228.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> On June 5, 2018 10:27:50 AM Sannyasin Brahmanathaswami via use-livecode wrote: > And believe me, people really code is different styles! I'll say. It's like handwriting, if you know someone's style you can often determine who wrote the code just by reading it. We all have our little conventions. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From ahsoftware at sonic.net Tue Jun 5 12:22:09 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 5 Jun 2018 09:22:09 -0700 Subject: Siva Siva App in iOS version 1.2 in now out In-Reply-To: <163d0b4a228.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> <163d0b4a228.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: On 06/05/2018 09:08 AM, J. Landman Gay via use-livecode wrote: > On June 5, 2018 10:27:50 AM Sannyasin Brahmanathaswami via use-livecode > wrote: > >> And believe me, people really code is different styles! > > I'll say. It's like handwriting, if you know someone's style you can > often determine who wrote the code just by reading it. We all have our > little conventions. Yeah. You can tell my code because it's perfct. -- Mark Wieder ahsoftware at gmail.com From bobsneidar at iotecdigital.com Tue Jun 5 12:47:32 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 5 Jun 2018 16:47:32 +0000 Subject: Siva Siva App in iOS version 1.2 in now out In-Reply-To: References: <5F7CF853-EBE1-4397-B27E-6A05A8D7F2BA@hindu.org> <163d0b4a228.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: > On Jun 5, 2018, at 09:22 , Mark Wieder via use-livecode wrote: > > On 06/05/2018 09:08 AM, J. Landman Gay via use-livecode wrote: >> On June 5, 2018 10:27:50 AM Sannyasin Brahmanathaswami via use-livecode wrote: >>> And believe me, people really code is different styles! >> I'll say. It's like handwriting, if you know someone's style you can often determine who wrote the code just by reading it. We all have our little conventions. > > Yeah. > You can tell my code because it's perfct. > > -- > Mark Wieder > ahsoftware at gmail.com From paul at researchware.com Tue Jun 5 13:32:22 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 5 Jun 2018 13:32:22 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> Message-ID: <6f7bb21e-789a-fb0e-d17b-0e5da9226381@researchware.com> All the proverbs are true. Still the core question is there. For those who may want to center a dialog in the working area of the screen, they can calculate that themselves in a home built function (or code snippet) by fetching the "effective working screenRect" and subtracting top from bottom and right from left to get a center point. Alternatively, if a small engine enhancment would give us "the [effective] [working] screenLoc and save the subraction, is it worth asking LiveCode to do it? On 6/5/2018 5:30 AM, Lagi Pittas via use-livecode wrote: > Hi > > > here's the third one I missed > > "Make something idiot-proof, and they will build a better idiot." > > It's a losing battle .... > > Lagi > > >>> Nothing can be made foolproof because fools are so ingenious. >>> Nothing is foolproof for a capable fool. >>> >>> Lagi >>> >>> >>> On 4 June 2018 at 20:51, Paul Dupuis via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> Okay, we're making progress: >>>> 2 people (Paul and Ralph) think having "the [effective] [working] >>>> screenLoc" might be a useful addition for the language for the likely >>>> effort to add it >>>> 2 people (Bob and Jacqueline) think that it is simple enough (which it >>>> is) to write your own function for this it is not worth the effort to >>>> add to the engine >>>> >>>> So far we have a tie. >>>> >>>> And, Jacqueline, screen resolutions can be changed dynamically on >>>> Windows (can't remember off the top of my head if the same is true for >>>> OSX). This changes the screenLoc. We also have customers who use >>>> multiple monitors, unplug them abruptly, change screen resolutions >>>> dynamically (say to connect to a projector) and so on, so are trying to >>>> make use of LC features like the desktopChanged message to recheck >>>> screen sizes and adjust windows in our app accordingly or re-position >>>> windows or recenter dialogs when a monitor is removed suddenly. Some >>>> user have "fat" taskbars (a lot of open stuff on them since the Windows >>>> toolbar can be resized) and the center of the working screen area is >>>> decidedly not the center of the current resolution of the primary >>>> monitor. In fact, the Windows taskbar can be resize to take up half the >>>> primary screen by the user (we have NOT had any one do that - YET) >>>> >>>> >>>> On 6/4/2018 12:07 PM, Paul Dupuis via use-livecode wrote: >>>> >>>>> Yes, that is why I said (read below) that if others did not think there >>>>> should be an effective and/or working key word for the screenLoc >>>>> function, I would roll my own based on the screenRect function. I was >>>>> asking whether other think the screenLoc function should or should not >>>>> have these keywords. >>>>> >>>>> >>>>> On 6/4/2018 11:55 AM, Bob Sneidar via use-livecode wrote: >>>>> >>>>>> Seems like you could subtract item 1 from item 3 and item 2 from item 4 >>>>>> >>>>> of the effective screenRect to get what you need. >>>>> Bob S >>>>>> >>>>>> On Jun 4, 2018, at 08:08 , Paul Dupuis via use-livecode < >>>>>> use-livecode at lists.runrev.com> wrote: >>>>> I posted the question below and got no responses so I thought I would >>>>>>> try again. >>>>>>> >>>>>>> I noticed that screenLoc has no effective or working keywords >>>>>>> >>>>>> associated >>>>> with it in LC9 or earlier. It seems to me that it should and that if it >>>>>>> has been done for the screenRect(s), it should be a small enhancement >>>>>>> >>>>>> to >>>>> add them to the screenLoc >>>>>>> Do others agree? If so I will submit and enhancement entry to the >>>>>>> quality center. if not, I'll drop this discussion thread and roll my >>>>>>> >>>>>> own >>>>> function based on the screenRect function. >>>>>> _______________________________________________ >>>>>> use-livecode mailing list >>>>>> use-livecode 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 >> > _______________________________________________ > use-livecode mailing list > use-livecode 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 rabit at revigniter.com Tue Jun 5 13:36:19 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Tue, 5 Jun 2018 19:36:19 +0200 Subject: Levure - flicker prior to displaying UI stack on iOS Message-ID: Currently I am developing an iOS app for iPad using Trevor DeVore?s awesome Levure framework. Unfortunately I am observing an annoying screen flicker during the startup sequence while the UI stack is opened and the Levure standalone is closed. The iOS splash screen, as defined in settings, is shown, then for a fraction of a second the screen is black just before the UI stack becomes visible. This happens not only in the simulator but on a real device (iPad Pro) too. Did tests using a very simple UI stack, no code included, just one card showing an image which is the same as the splash screen so that the transition from the splash screen to the UI stack should not be noticeable. Probably this is not a Levure issue, may be this is the way splash stack project setups behave on iOS. Anyway, does anybody know how this flicker can be avoided? Would be a great pity if I would have to ditch the Levure route. Ralf From richmondmathewson at gmail.com Tue Jun 5 15:05:14 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 5 Jun 2018 22:05:14 +0300 Subject: Differences between Commercial and Community versions of LiveCode Message-ID: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> On LiveCode's webpage there is a chart of differences between the Commercial veriosn and the Community version. I was given to understand one of the most important differences was that, in the Commercial versions, code in standalones was "obfuscated" in such a way that an end-user could not "peek round the back" and access that code. Recently I ran off a very simple standalone with the Indy and the Community version of LC 8.1.9 and cracked both of them open with a text editor. In neither of the standalones could I access the code. Presumably this means that a standalone generated with the Community version cannot be reverse-engineered in such a way that its original code can be read? Richmond. From tom at makeshyft.com Tue Jun 5 15:08:43 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 5 Jun 2018 15:08:43 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> Message-ID: if u open up a lc standalone exe in a hex editor or even notepad++ you can totally read the code contained. at least it used to be the case before v9 (haven't looked) maybe your text editor wasn't able to display the code in some way.... but I assure you its there. Not so the case for non community stacks. those are encrypted. On Tue, Jun 5, 2018 at 3:05 PM, Richmond Mathewson via use-livecode < use-livecode at lists.runrev.com> wrote: > On LiveCode's webpage there is a chart of differences between the > Commercial veriosn > and the Community version. > > I was given to understand one of the most important differences was that, > in the Commercial versions, > code in standalones was "obfuscated" in such a way that an end-user could > not "peek round the back" > and access that code. > > Recently I ran off a very simple standalone with the Indy and the > Community version of LC 8.1.9 > and cracked both of them open with a text editor. > > In neither of the standalones could I access the code. > > Presumably this means that a standalone generated with the Community > version cannot be > reverse-engineered in such a way that its original code can be read? > > 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 Tue Jun 5 15:10:03 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Tue, 5 Jun 2018 22:10:03 +0300 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> Message-ID: Thanks: very useful information. Richmond. On 5/6/2018 10:08 pm, Tom Glod via use-livecode wrote: > if u open up a lc standalone exe in a hex editor or even notepad++ you can > totally read the code contained. at least it used to be the case before v9 > (haven't looked) > > maybe your text editor wasn't able to display the code in some way.... but > I assure you its there. > > Not so the case for non community stacks. those are encrypted. > > On Tue, Jun 5, 2018 at 3:05 PM, Richmond Mathewson via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On LiveCode's webpage there is a chart of differences between the >> Commercial veriosn >> and the Community version. >> >> I was given to understand one of the most important differences was that, >> in the Commercial versions, >> code in standalones was "obfuscated" in such a way that an end-user could >> not "peek round the back" >> and access that code. >> >> Recently I ran off a very simple standalone with the Indy and the >> Community version of LC 8.1.9 >> and cracked both of them open with a text editor. >> >> In neither of the standalones could I access the code. >> >> Presumably this means that a standalone generated with the Community >> version cannot be >> reverse-engineered in such a way that its original code can be read? >> >> 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 >> > _______________________________________________ > use-livecode mailing list > use-livecode 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 Tue Jun 5 15:15:28 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 5 Jun 2018 14:15:28 -0500 Subject: Levure - flicker prior to displaying UI stack on iOS In-Reply-To: References: Message-ID: On Tue, Jun 5, 2018 at 12:36 PM, Ralf Bitter via use-livecode < use-livecode at lists.runrev.com> wrote: > Currently I am developing an iOS app for iPad using > Trevor DeVore?s awesome Levure framework. > I?m glad you like it. > Unfortunately I am observing an annoying screen flicker > during the startup sequence while the UI stack is opened > and the Levure standalone is closed. > The iOS splash screen, as defined in settings, is shown, > then for a fraction of a second the screen is black just before > the UI stack becomes visible. This happens not only in the > simulator but on a real device (iPad Pro) too. > > Can you upload a test stack for me to look at? If it is easy for me to replicate I should be able to figure out what is going on. -- Trevor DeVore ScreenSteps www.screensteps.com From ambassador at fourthworld.com Tue Jun 5 15:16:51 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Tue, 5 Jun 2018 12:16:51 -0700 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> Message-ID: <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> Richmond Mathewson wrote: > Recently I ran off a very simple standalone with the Indy and the > Community version of LC 8.1.9 > and cracked both of them open with a text editor. > > In neither of the standalones could I access the code. > > Presumably this means that a standalone generated with the Community > version cannot be > reverse-engineered in such a way that its original code can be read? Binding the stack to the runtime engine makes the source difficult to access, and the objects impossible to modify. The requirement of GPL-governed works is that source code is available in a form that allows modification. I would not imagine requiring end-users to sift through bits of a binary executable would satisfy any definition of GPL compliance. Either the source stack files are made available to any user of the executable who wants them, or the entity distributing the executable is in violation of LiveCode Ltd's copyright. -- 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 brian at milby7.com Tue Jun 5 15:49:18 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 5 Jun 2018 14:49:18 -0500 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> Message-ID: <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> I believe this thread started as a result is someone asking if there was a way to recover their work if all they could salvage was a built binary (from community edition). It sounds like there should be a way based on another response in the thread. Thanks, Brian On Jun 5, 2018, 2:16 PM -0500, Richard Gaskin via use-livecode , wrote: > Richmond Mathewson wrote: > > > Recently I ran off a very simple standalone with the Indy and the > > Community version of LC 8.1.9 > > and cracked both of them open with a text editor. > > > > In neither of the standalones could I access the code. > > > > Presumably this means that a standalone generated with the Community > > version cannot be > > reverse-engineered in such a way that its original code can be read? > > Binding the stack to the runtime engine makes the source difficult to > access, and the objects impossible to modify. > > The requirement of GPL-governed works is that source code is available > in a form that allows modification. > > I would not imagine requiring end-users to sift through bits of a binary > executable would satisfy any definition of GPL compliance. > > Either the source stack files are made available to any user of the > executable who wants them, or the entity distributing the executable is > in violation of LiveCode Ltd's copyright. > > -- > 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 curry at pair.com Tue Jun 5 17:19:10 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 05 Jun 2018 17:19:10 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <6f7bb21e-789a-fb0e-d17b-0e5da9226381@researchware.com> References: <6f7bb21e-789a-fb0e-d17b-0e5da9226381@researchware.com> Message-ID: <5B16FE4E.90607@pair.com> > subtraction Or addition! Best wishes, Curry K. From tom at makeshyft.com Tue Jun 5 17:20:48 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 5 Jun 2018 17:20:48 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> Message-ID: so i went to check the standalone file from v9 ...and indeed the code cannot be seen. in previous versions, I could clearly see the script text of a stack by opening it up in notepad++..... maybe i was hallucinating...... but i'm pretty sure i checked this before because of my own curiosities about this subject. can anyone confirm this change? On Tue, Jun 5, 2018 at 3:49 PM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > I believe this thread started as a result is someone asking if there was a > way to recover their work if all they could salvage was a built binary > (from community edition). It sounds like there should be a way based on > another response in the thread. > > Thanks, > Brian > On Jun 5, 2018, 2:16 PM -0500, Richard Gaskin via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > Richmond Mathewson wrote: > > > > > Recently I ran off a very simple standalone with the Indy and the > > > Community version of LC 8.1.9 > > > and cracked both of them open with a text editor. > > > > > > In neither of the standalones could I access the code. > > > > > > Presumably this means that a standalone generated with the Community > > > version cannot be > > > reverse-engineered in such a way that its original code can be read? > > > > Binding the stack to the runtime engine makes the source difficult to > > access, and the objects impossible to modify. > > > > The requirement of GPL-governed works is that source code is available > > in a form that allows modification. > > > > I would not imagine requiring end-users to sift through bits of a binary > > executable would satisfy any definition of GPL compliance. > > > > Either the source stack files are made available to any user of the > > executable who wants them, or the entity distributing the executable is > > in violation of LiveCode Ltd's copyright. > > > > -- > > 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 tom at makeshyft.com Tue Jun 5 17:24:33 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 5 Jun 2018 17:24:33 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> Message-ID: hmmmm..... maybe i'm thinking all the way back to v6 or v7 standalones. cuz v8 is also not visible. On Tue, Jun 5, 2018 at 5:20 PM, Tom Glod wrote: > so i went to check the standalone file from v9 ...and indeed the code > cannot be seen. in previous versions, I could clearly see the script text > of a stack by opening it up in notepad++..... > > maybe i was hallucinating...... but i'm pretty sure i checked this before > because of my own curiosities about this subject. can anyone confirm this > change? > > > On Tue, Jun 5, 2018 at 3:49 PM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I believe this thread started as a result is someone asking if there was >> a way to recover their work if all they could salvage was a built binary >> (from community edition). It sounds like there should be a way based on >> another response in the thread. >> >> Thanks, >> Brian >> On Jun 5, 2018, 2:16 PM -0500, Richard Gaskin via use-livecode < >> use-livecode at lists.runrev.com>, wrote: >> > Richmond Mathewson wrote: >> > >> > > Recently I ran off a very simple standalone with the Indy and the >> > > Community version of LC 8.1.9 >> > > and cracked both of them open with a text editor. >> > > >> > > In neither of the standalones could I access the code. >> > > >> > > Presumably this means that a standalone generated with the Community >> > > version cannot be >> > > reverse-engineered in such a way that its original code can be read? >> > >> > Binding the stack to the runtime engine makes the source difficult to >> > access, and the objects impossible to modify. >> > >> > The requirement of GPL-governed works is that source code is available >> > in a form that allows modification. >> > >> > I would not imagine requiring end-users to sift through bits of a binary >> > executable would satisfy any definition of GPL compliance. >> > >> > Either the source stack files are made available to any user of the >> > executable who wants them, or the entity distributing the executable is >> > in violation of LiveCode Ltd's copyright. >> > >> > -- >> > 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 rabit at revigniter.com Tue Jun 5 17:57:38 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Tue, 5 Jun 2018 23:57:38 +0200 Subject: Levure - flicker prior to displaying UI stack on iOS In-Reply-To: References: Message-ID: Hi Trevor, thanks a lot for offering your help. The test project to demonstrate the issue is available at: https://spideroak.com/browse/share/soRabit/trevorSharing Ralf > On 5. Jun 2018, at 21:15, Trevor DeVore via use-livecode wrote: > > Can you upload a test stack for me to look at? If it is easy for me to > replicate I should be able to figure out what is going on. From bobsneidar at iotecdigital.com Tue Jun 5 18:27:40 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 5 Jun 2018 22:27:40 +0000 Subject: Datagrid selectionChanged bug? Message-ID: <0EBA3F22-8747-4C46-8433-0B335D6285BB@iotecdigital.com> Hi all. What I once thought was an endless loop bug I have isolated now to something else. It seems that when selectionChanged for a datagrid is in the executionContexts, the dgData must not be changed. I am not sure if this causes an endless loop internally to the datagrid library or not. All I know is that I immediately CTD if I do it. What I want to know is if this is "unexpected behavior" or if I am just doing something stupid. I won't go too deep into the weeds on why this is an issue with me, but to give you an idea, I have a search mechanism that will populate a datagrid (say a device or devices that match my search criteria) when text is entered into a field. When the user clicks on the device, I must go back to the customer and sites and yes, the devices and reload the data for all of them. Everything works as it should up until I attempt to set the dgData for the device datagrid to ALL the devices for that site. Since the selectionChanged handler in the devices datagrid started the whole cascading effect, that handler is still running when the data gets swapped out. I suppose I can get around it by using send in time so the actual selectionChanged handler finishes before the cascade of form updates happens. But if it is a bug and shouldn't be happening, I suppose I should try to make a stack that reproduces it. (I may have already done so but I don't keep track of my own bug reports!) Bob S From brian at milby7.com Tue Jun 5 22:37:12 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 5 Jun 2018 21:37:12 -0500 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> Message-ID: Looking at the code, ?deflate? is called on the stack as it is being written out (zlib). So while not easy, it should be possible to separate a stack file from the binary if deployed from the community edition. It would take a bit of work to figure out where the file started and ended. Well over what I would be willing to tackle at the moment. For anyone so motivated, the relevant source code is in deploy*.cpp (along with the header files). On Jun 5, 2018, 4:25 PM -0500, Tom Glod via use-livecode , wrote: > hmmmm..... maybe i'm thinking all the way back to v6 or v7 standalones. cuz > v8 is also not visible. > > On Tue, Jun 5, 2018 at 5:20 PM, Tom Glod wrote: > > > so i went to check the standalone file from v9 ...and indeed the code > > cannot be seen. in previous versions, I could clearly see the script text > > of a stack by opening it up in notepad++..... > > > > maybe i was hallucinating...... but i'm pretty sure i checked this before > > because of my own curiosities about this subject. can anyone confirm this > > change? > > > > > > On Tue, Jun 5, 2018 at 3:49 PM, Brian Milby via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > I believe this thread started as a result is someone asking if there was > > > a way to recover their work if all they could salvage was a built binary > > > (from community edition). It sounds like there should be a way based on > > > another response in the thread. > > > > > > Thanks, > > > Brian > > > On Jun 5, 2018, 2:16 PM -0500, Richard Gaskin via use-livecode < > > > use-livecode at lists.runrev.com>, wrote: > > > > Richmond Mathewson wrote: > > > > > > > > > Recently I ran off a very simple standalone with the Indy and the > > > > > Community version of LC 8.1.9 > > > > > and cracked both of them open with a text editor. > > > > > > > > > > In neither of the standalones could I access the code. > > > > > > > > > > Presumably this means that a standalone generated with the Community > > > > > version cannot be > > > > > reverse-engineered in such a way that its original code can be read? > > > > > > > > Binding the stack to the runtime engine makes the source difficult to > > > > access, and the objects impossible to modify. > > > > > > > > The requirement of GPL-governed works is that source code is available > > > > in a form that allows modification. > > > > > > > > I would not imagine requiring end-users to sift through bits of a binary > > > > executable would satisfy any definition of GPL compliance. > > > > > > > > Either the source stack files are made available to any user of the > > > > executable who wants them, or the entity distributing the executable is > > > > in violation of LiveCode Ltd's copyright. > > > > > > > > -- > > > > 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 > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 5 23:26:41 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 5 Jun 2018 22:26:41 -0500 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <6f7bb21e-789a-fb0e-d17b-0e5da9226381@researchware.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> <6f7bb21e-789a-fb0e-d17b-0e5da9226381@researchware.com> Message-ID: <8b6c6e1b-e453-4d4b-a383-dc2c904ae378@hyperactivesw.com> On 6/5/18 12:32 PM, Paul Dupuis via use-livecode wrote: > Alternatively, if a small engine > enhancment would give us "the [effective] [working] screenLoc and save > the subraction, is it worth asking LiveCode to do it? Of course. It never hurts to ask. Then if LC doesn't do it, it's on them and I'm off the hook. :) -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Tue Jun 5 23:32:14 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 5 Jun 2018 22:32:14 -0500 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> Message-ID: On 6/5/18 4:20 PM, Tom Glod via use-livecode wrote: > so i went to check the standalone file from v9 ...and indeed the code > cannot be seen. in previous versions, I could clearly see the script text > of a stack by opening it up in notepad++..... > > maybe i was hallucinating...... but i'm pretty sure i checked this before > because of my own curiosities about this subject. can anyone confirm this > change? Yes, scripts in standalones used to be plain-text but that was a long time ago. It may have been LC 7 where it changed but I think it was even before that. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From lists at mangomultimedia.com Wed Jun 6 00:50:02 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 5 Jun 2018 23:50:02 -0500 Subject: Datagrid selectionChanged bug? In-Reply-To: <0EBA3F22-8747-4C46-8433-0B335D6285BB@iotecdigital.com> References: <0EBA3F22-8747-4C46-8433-0B335D6285BB@iotecdigital.com> Message-ID: On Tue, Jun 5, 2018 at 5:27 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > > I suppose I can get around it by using send in time so the actual > selectionChanged handler finishes before the cascade of form updates > happens. But if it is a bug and shouldn't be happening, I suppose I should > try to make a stack that reproduces it. (I may have already done so but I > don't keep track of my own bug reports!) > The issue you are seeing is probably caused by the inability of the engine to delete the object that is the target of the current event. When you replace the data grid contents during selectionChanged you are trying to delete the control that was clicked on and trigger the selectionChanged message. The engine doesn?t like that. You will need to use `send in time` to accomplish what you are after. -- Trevor DeVore ScreenSteps www.screensteps.com From lists at mangomultimedia.com Wed Jun 6 01:08:14 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Wed, 6 Jun 2018 00:08:14 -0500 Subject: Levure - flicker prior to displaying UI stack on iOS In-Reply-To: References: Message-ID: On Tue, Jun 5, 2018 at 4:57 PM, Ralf Bitter via use-livecode < use-livecode at lists.runrev.com> wrote: > thanks a lot for offering your help. The test project > to demonstrate the issue is available at: > > https://spideroak.com/browse/share/soRabit/trevorSharing I?ve go the file Ralf. I?ll take a look at it tomorrow and let you know what I find out. -- Trevor DeVore ScreenSteps www.screensteps.com From tore.nilsen at me.com Wed Jun 6 06:16:37 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Wed, 06 Jun 2018 12:16:37 +0200 Subject: =?utf-8?Q?Problems_with_jsonToArray_and_special_chars_like=3A_?= =?utf-8?Q?=C3=A6=C3=B8=C3=A5?= Message-ID: <4F7103CE-E91B-4E01-A3A9-CACCA84B8E07@me.com> I have run into a problem with jsonToArray and the special Norwegian chars ???. They do not show up in the keys of the array when the array is made from an external file. The external file is generated by LiveCode and the arrayToJSON function. All text are encoded to ?UTF-8? before the array is made and passed to arrayToJSON. The script I use to generate the array on start up is as follows: global kommuneArray on preOpenStack put empty into kommuneArray put "file:" & specialFolderPath("resources")& "/Kommunedata.txt" into tFile put textDecode(url tFile,"UTF-8") into tData put jsonToArray(textDecode(tData,"UTF-8")) into kommuneArray end preOpenStack The array generated contains all the right information, but keys that should include ?, ? or ? do not show up correctly. Any ideas anyone? Best regards Tore Nilsen From merakosp at gmail.com Wed Jun 6 07:40:31 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Wed, 6 Jun 2018 12:40:31 +0100 Subject: =?UTF-8?Q?Re=3A_Problems_with_jsonToArray_and_special_chars_like?= =?UTF-8?Q?=3A_=C3=A6=C3=B8=C3=A5?= In-Reply-To: <4F7103CE-E91B-4E01-A3A9-CACCA84B8E07@me.com> References: <4F7103CE-E91B-4E01-A3A9-CACCA84B8E07@me.com> Message-ID: Hi Tore, jsonToArray uses the mergJSON external. The mergJSON external expects the data passed to JSONtoArray() to be utf-8 encoded (this is the case with any LC external, such revDB etc). So something like this should work: global kommuneArray on preOpenStack put empty into kommuneArray put "file:" & specialFolderPath("resources")& "/Kommunedata.txt" into tFile put textEncode(tFile,"UTF-8") into tData put jsonToArray(tData) into kommuneArray end preOpenStack Best, Panos -- On Wed, Jun 6, 2018 at 11:16 AM, Tore Nilsen via use-livecode < use-livecode at lists.runrev.com> wrote: > I have run into a problem with jsonToArray and the special Norwegian chars > ???. They do not show up in the keys of the array when the array is made > from an external file. The external file is generated by LiveCode and the > arrayToJSON function. All text are encoded to ?UTF-8? before the array is > made and passed to arrayToJSON. The script I use to generate the array on > start up is as follows: > > global kommuneArray > > on preOpenStack > > put empty into kommuneArray > > put "file:" & specialFolderPath("resources")& "/Kommunedata.txt" into > tFile > > put textDecode(url tFile,"UTF-8") into tData > > put jsonToArray(textDecode(tData,"UTF-8")) into kommuneArray > > end preOpenStack > > > The array generated contains all the right information, but keys that > should include ?, ? or ? do not show up correctly. Any ideas anyone? > > Best regards > Tore Nilsen > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Wed Jun 6 08:06:31 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Wed, 06 Jun 2018 14:06:31 +0200 Subject: =?utf-8?Q?Re=3A_Problems_with_jsonToArray_and_special_chars_like?= =?utf-8?Q?=3A_=C3=A6=C3=B8=C3=A5?= In-Reply-To: References: <4F7103CE-E91B-4E01-A3A9-CACCA84B8E07@me.com> Message-ID: Hi Panos. This does not work, and it is somewhat similar to what I tried initially, although I am certain I should use textDecode when importing text to LiveCode, as per the Dictionary. Also note that tFile only holds the url to the file containing the JSON, and your suggestion only encodes the file path. The strange thing is that the text I try to import was encoded as ?UTF-8? when it was initially exported from LiveCode. It shows up all right in all other applications that can read .txt files. When I do only a single run of text decoding, no array is created. When I do a double decoding, the array is created, but the chars in question does not show up in the keys of the array. Another thing that puzzles me is that som values, like -0.2 or -0.4 will show up with som additional zeros in the JSON-text. When I add a space between the minus operator and the number, it is displayed correctly. I am still at odd with what may be the cause of this. Regards Tore > 6. jun. 2018 kl. 13:40 skrev panagiotis merakos via use-livecode : > > on preOpenStack > put empty into kommuneArray > put "file:" & specialFolderPath("resources")& "/Kommunedata.txt" into > tFile > put textEncode(tFile,"UTF-8") into tData > put jsonToArray(tData) into kommuneArray > end preOpenStack > > Best, > Panos > -- From merakosp at gmail.com Wed Jun 6 08:37:55 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Wed, 6 Jun 2018 13:37:55 +0100 Subject: =?UTF-8?Q?Re=3A_Problems_with_jsonToArray_and_special_chars_like?= =?UTF-8?Q?=3A_=C3=A6=C3=B8=C3=A5?= In-Reply-To: References: <4F7103CE-E91B-4E01-A3A9-CACCA84B8E07@me.com> Message-ID: Hi Tore, Sorry, the line: put "file:" & specialFolderPath("resources")& "/Kommunedata.txt" into tFile should be: put url ("file:" & specialFolderPath("resources")& "/Kommunedata.txt") into tFile Does it work now? >>>>>although I am certain I should use textDecode when importing text to LiveCode Yes, this is correct. But I think in that case you want to export text from LC into the outside world (e.g. to the mergJSON external), so the text has to be utf8-encoded If this does not work, could you file a bug with a sample stack and the json file so as we investigate further Best, Panos -- On Wed, Jun 6, 2018 at 1:06 PM, Tore Nilsen via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Panos. > > This does not work, and it is somewhat similar to what I tried initially, > although I am certain I should use textDecode when importing text to > LiveCode, as per the Dictionary. Also note that tFile only holds the url to > the file containing the JSON, and your suggestion only encodes the file > path. The strange thing is that the text I try to import was encoded as > ?UTF-8? when it was initially exported from LiveCode. It shows up all right > in all other applications that can read .txt files. > > When I do only a single run of text decoding, no array is created. When I > do a double decoding, the array is created, but the chars in question does > not show up in the keys of the array. Another thing that puzzles me is that > som values, like -0.2 or -0.4 will show up with som additional zeros in the > JSON-text. When I add a space between the minus operator and the number, it > is displayed correctly. > > I am still at odd with what may be the cause of this. > > Regards Tore > > > 6. jun. 2018 kl. 13:40 skrev panagiotis merakos via use-livecode < > use-livecode at lists.runrev.com>: > > > > on preOpenStack > > put empty into kommuneArray > > put "file:" & specialFolderPath("resources")& "/Kommunedata.txt" into > > tFile > > put textEncode(tFile,"UTF-8") into tData > > put jsonToArray(tData) into kommuneArray > > end preOpenStack > > > > Best, > > Panos > > -- > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Wed Jun 6 08:57:56 2018 From: paul at researchware.com (Paul Dupuis) Date: Wed, 6 Jun 2018 08:57:56 -0400 Subject: THOUGHT: the [effective] [working] screenLoc In-Reply-To: <8b6c6e1b-e453-4d4b-a383-dc2c904ae378@hyperactivesw.com> References: <5ef3a47e-d360-5308-faf7-cc5346819760@researchware.com> <07fc67a6-8d6d-aee0-3af7-55b2c8e7299c@researchware.com> <6f1f2899-30b1-b856-ce3c-fc92c9957af1@researchware.com> <6f7bb21e-789a-fb0e-d17b-0e5da9226381@researchware.com> <8b6c6e1b-e453-4d4b-a383-dc2c904ae378@hyperactivesw.com> Message-ID: Enhancement request: https://quality.livecode.com/show_bug.cgi?id=21337 From richmondmathewson at gmail.com Wed Jun 6 09:16:15 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 6 Jun 2018 16:16:15 +0300 Subject: Cheese Message-ID: saadfs From richmondmathewson at gmail.com Wed Jun 6 09:18:34 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 6 Jun 2018 16:18:34 +0300 Subject: Cheese In-Reply-To: References: Message-ID: <5c46d40a-6407-e8f7-9e41-5799891465ac@gmail.com> Please ignore the previous post: something to do with too much . . . Richmond. On 6/6/2018 4:16 pm, Richmond Mathewson wrote: > saadfs From heather at livecode.com Wed Jun 6 10:16:42 2018 From: heather at livecode.com (Heather Laine) Date: Wed, 6 Jun 2018 15:16:42 +0100 Subject: Cheese In-Reply-To: <5c46d40a-6407-e8f7-9e41-5799891465ac@gmail.com> References: <5c46d40a-6407-e8f7-9e41-5799891465ac@gmail.com> Message-ID: <774F5DEF-66EE-4EAD-B4EB-D8A63740FF90@livecode.com> !??? Heather Laine Customer Services Manager LiveCode Ltd www.livecode.com > On 6 Jun 2018, at 14:18, Richmond Mathewson via use-livecode wrote: > > Please ignore the previous post: something to do with too much . . . > > Richmond. > > On 6/6/2018 4:16 pm, Richmond Mathewson wrote: >> saadfs > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 6 10:33:43 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Jun 2018 14:33:43 +0000 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> Message-ID: <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> Don't we want that NOT to be possible?? Otherwise bring back the runtime engine and run the app as a stack file of the runtime. Bob S > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode wrote: > > Looking at the code, ?deflate? is called on the stack as it is being written out (zlib). So while not easy, it should be possible to separate a stack file from the binary if deployed from the community edition. It would take a bit of work to figure out where the file started and ended. Well over what I would be willing to tackle at the moment. For anyone so motivated, the relevant source code is in deploy*.cpp (along with the header files). From bobsneidar at iotecdigital.com Wed Jun 6 10:36:18 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Jun 2018 14:36:18 +0000 Subject: Datagrid selectionChanged bug? In-Reply-To: References: <0EBA3F22-8747-4C46-8433-0B335D6285BB@iotecdigital.com> Message-ID: Trevor you are brilliant. Now that you put it that way, that is *exactly* what is happening. The datagrid works so seamlessly it's easy to forget it's not data I am working with but groups of objects that must be deleted and recreated as needed. Bob S > On Jun 5, 2018, at 21:50 , Trevor DeVore via use-livecode wrote: > > On Tue, Jun 5, 2018 at 5:27 PM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> >> I suppose I can get around it by using send in time so the actual >> selectionChanged handler finishes before the cascade of form updates >> happens. But if it is a bug and shouldn't be happening, I suppose I should >> try to make a stack that reproduces it. (I may have already done so but I >> don't keep track of my own bug reports!) >> > > The issue you are seeing is probably caused by the inability of the engine > to delete the object that is the target of the current event. When you > replace the data grid contents during selectionChanged you are trying to > delete the control that was clicked on and trigger the selectionChanged > message. The engine doesn?t like that. You will need to use `send in time` > to accomplish what you are after. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com From brian at milby7.com Wed Jun 6 10:38:02 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 6 Jun 2018 09:38:02 -0500 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> Message-ID: For commercial I would think so, but don?t see any issue on the community side. On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode , wrote: > Don't we want that NOT to be possible?? Otherwise bring back the runtime engine and run the app as a stack file of the runtime. > > Bob S > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode wrote: > > > > Looking at the code, ?deflate? is called on the stack as it is being written out (zlib). So while not easy, it should be possible to separate a stack file from the binary if deployed from the community edition. It would take a bit of work to figure out where the file started and ended. Well over what I would be willing to tackle at the moment. For anyone so motivated, the relevant source code is in deploy*.cpp (along with the header files). > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Wed Jun 6 12:09:19 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 6 Jun 2018 12:09:19 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> Message-ID: what if for example you want to hard code a hash salt into your code?..... if the code is readable, then so is the salt. I would vote for unreadable code 100% of the time. On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > For commercial I would think so, but don?t see any issue on the community > side. > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > Don't we want that NOT to be possible?? Otherwise bring back the runtime > engine and run the app as a stack file of the runtime. > > > > Bob S > > > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > > > Looking at the code, ?deflate? is called on the stack as it is being > written out (zlib). So while not easy, it should be possible to separate a > stack file from the binary if deployed from the community edition. It would > take a bit of work to figure out where the file started and ended. Well > over what I would be willing to tackle at the moment. For anyone so > motivated, the relevant source code is in deploy*.cpp (along with the > header files). > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 brian at milby7.com Wed Jun 6 12:12:16 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 6 Jun 2018 11:12:16 -0500 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> Message-ID: <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> Can?t do that with community... code must be available. On Jun 6, 2018, 11:09 AM -0500, Tom Glod via use-livecode , wrote: > what if for example you want to hard code a hash salt into your code?..... > if the code is readable, then so is the salt. I would vote for unreadable > code 100% of the time. > > On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > For commercial I would think so, but don?t see any issue on the community > > side. > > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com>, wrote: > > > Don't we want that NOT to be possible?? Otherwise bring back the runtime > > engine and run the app as a stack file of the runtime. > > > > > > Bob S > > > > > > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > > > Looking at the code, ?deflate? is called on the stack as it is being > > written out (zlib). So while not easy, it should be possible to separate a > > stack file from the binary if deployed from the community edition. It would > > take a bit of work to figure out where the file started and ended. Well > > over what I would be willing to tackle at the moment. For anyone so > > motivated, the relevant source code is in deploy*.cpp (along with the > > header files). > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 iphonelagi at gmail.com Wed Jun 6 12:51:50 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Wed, 6 Jun 2018 17:51:50 +0100 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> Message-ID: The code doesn't need to be available "in the clear" either in Community or Business in the executable. So there is nothing stopping us using something like https://www.pelock.com/products/pelock/buy or a free one here https://upx.github.io/ http://www.pazera-software.com/products/free-upx/ You must make the source files available though. You cant see the C or C++ source text in programs written in those languages except for say headers and library calls and there are programs that can go through and obfuscate those as well. Lagi On 6 June 2018 at 17:12, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Can?t do that with community... code must be available. > On Jun 6, 2018, 11:09 AM -0500, Tom Glod via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > what if for example you want to hard code a hash salt into your > code?..... > > if the code is readable, then so is the salt. I would vote for unreadable > > code 100% of the time. > > > > On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > For commercial I would think so, but don?t see any issue on the > community > > > side. > > > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < > > > use-livecode at lists.runrev.com>, wrote: > > > > Don't we want that NOT to be possible?? Otherwise bring back the > runtime > > > engine and run the app as a stack file of the runtime. > > > > > > > > Bob S > > > > > > > > > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > Looking at the code, ?deflate? is called on the stack as it is > being > > > written out (zlib). So while not easy, it should be possible to > separate a > > > stack file from the binary if deployed from the community edition. It > would > > > take a bit of work to figure out where the file started and ended. Well > > > over what I would be willing to tackle at the moment. For anyone so > > > motivated, the relevant source code is in deploy*.cpp (along with the > > > header files). > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode 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 tom at makeshyft.com Wed Jun 6 13:00:17 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 6 Jun 2018 13:00:17 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> Message-ID: great suggestion Lagi... thats a great solution for anyone who needs an extra layer of obfuscation on the binaries. Yes indeed...the .livecode files must be made available. On Wed, Jun 6, 2018 at 12:51 PM, Lagi Pittas via use-livecode < use-livecode at lists.runrev.com> wrote: > The code doesn't need to be available "in the clear" either in Community or > Business in the executable. > So there is nothing stopping us using something like > > https://www.pelock.com/products/pelock/buy > > or a free one here > https://upx.github.io/ > http://www.pazera-software.com/products/free-upx/ > > You must make the source files available though. You cant see the C or C++ > source text in programs written in those languages except for say headers > and library calls and there are programs that can go through and obfuscate > those as well. > > Lagi > > > > > On 6 June 2018 at 17:12, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Can?t do that with community... code must be available. > > On Jun 6, 2018, 11:09 AM -0500, Tom Glod via use-livecode < > > use-livecode at lists.runrev.com>, wrote: > > > what if for example you want to hard code a hash salt into your > > code?..... > > > if the code is readable, then so is the salt. I would vote for > unreadable > > > code 100% of the time. > > > > > > On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < > > > use-livecode at lists.runrev.com> wrote: > > > > > > > For commercial I would think so, but don?t see any issue on the > > community > > > > side. > > > > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < > > > > use-livecode at lists.runrev.com>, wrote: > > > > > Don't we want that NOT to be possible?? Otherwise bring back the > > runtime > > > > engine and run the app as a stack file of the runtime. > > > > > > > > > > Bob S > > > > > > > > > > > > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < > > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > > > Looking at the code, ?deflate? is called on the stack as it is > > being > > > > written out (zlib). So while not easy, it should be possible to > > separate a > > > > stack file from the binary if deployed from the community edition. It > > would > > > > take a bit of work to figure out where the file started and ended. > Well > > > > over what I would be willing to tackle at the moment. For anyone so > > > > motivated, the relevant source code is in deploy*.cpp (along with the > > > > header files). > > > > > > > > > > _______________________________________________ > > > > > use-livecode mailing list > > > > > use-livecode 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 > From tom at makeshyft.com Wed Jun 6 13:05:14 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 6 Jun 2018 13:05:14 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> Message-ID: after trying UPX on my win32 standalone executable i got a upx: UMP.exe: NotCompressibleException :) On Wed, Jun 6, 2018 at 1:00 PM, Tom Glod wrote: > great suggestion Lagi... thats a great solution for anyone who needs an > extra layer of obfuscation on the binaries. > > Yes indeed...the .livecode files must be made available. > > On Wed, Jun 6, 2018 at 12:51 PM, Lagi Pittas via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> The code doesn't need to be available "in the clear" either in Community >> or >> Business in the executable. >> So there is nothing stopping us using something like >> >> https://www.pelock.com/products/pelock/buy >> >> or a free one here >> https://upx.github.io/ >> http://www.pazera-software.com/products/free-upx/ >> >> You must make the source files available though. You cant see the C or C++ >> source text in programs written in those languages except for say headers >> and library calls and there are programs that can go through and obfuscate >> those as well. >> >> Lagi >> >> >> >> >> On 6 June 2018 at 17:12, Brian Milby via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >> > Can?t do that with community... code must be available. >> > On Jun 6, 2018, 11:09 AM -0500, Tom Glod via use-livecode < >> > use-livecode at lists.runrev.com>, wrote: >> > > what if for example you want to hard code a hash salt into your >> > code?..... >> > > if the code is readable, then so is the salt. I would vote for >> unreadable >> > > code 100% of the time. >> > > >> > > On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < >> > > use-livecode at lists.runrev.com> wrote: >> > > >> > > > For commercial I would think so, but don?t see any issue on the >> > community >> > > > side. >> > > > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < >> > > > use-livecode at lists.runrev.com>, wrote: >> > > > > Don't we want that NOT to be possible?? Otherwise bring back the >> > runtime >> > > > engine and run the app as a stack file of the runtime. >> > > > > >> > > > > Bob S >> > > > > >> > > > > >> > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < >> > > > use-livecode at lists.runrev.com> wrote: >> > > > > > >> > > > > > Looking at the code, ?deflate? is called on the stack as it is >> > being >> > > > written out (zlib). So while not easy, it should be possible to >> > separate a >> > > > stack file from the binary if deployed from the community edition. >> It >> > would >> > > > take a bit of work to figure out where the file started and ended. >> Well >> > > > over what I would be willing to tackle at the moment. For anyone so >> > > > motivated, the relevant source code is in deploy*.cpp (along with >> the >> > > > header files). >> > > > > >> > > > > _______________________________________________ >> > > > > use-livecode mailing list >> > > > > use-livecode 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 >> > > From iphonelagi at gmail.com Wed Jun 6 13:13:37 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Wed, 6 Jun 2018 18:13:37 +0100 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> Message-ID: Oh and for those who do want to make totally sure .. https://www.cybrary.it/0p3n/advanced-exe-multi-protection-reverse-engineering-free-tools/ shows you how to modify the UPX compressor so that someone with the source code (it's open source) will have difficulty. I don't use it - my copy protection is my support and a base64encode name of company string - it is breakable but I don't care when something goes wrong - and it will especially if windows is involved - they will have to come to me or start again. If somebody "cracks" it and it gets spread so what I wouldn't have had them as clients in the first place. In the old apple 2 days I bought an assembler called Lisa ($139.95) on a copy protected disk. I had a disk copier that could copy the disk but the new disk would still be copy protected so I was up till 4 in the morning with my copy of "Beneath Apple Dos" going through 3 levels of protection from the unprotected Boot Loader to other bits of code that was Xored before executing and then I got to a bit of text ... For $139.95 you can go to sleep tonight. I Laughed and went to bed. Most crackers do it for pedagogical reason and our systems aren't on their Radar so why put hoops in the way of the honest people. btw for anyone who remembers those Halcyon days I also bought (not copied) Randall Hydes Anix system (love the name) which was a "Unix Like" OS for the Apple 2 which had 48K Ram and 143K on a floppy disk WT?~#@! http://www.appleoldies.ca/anix/index.htm On 6 June 2018 at 17:12, Brian Milby via use-livecode < use-livecode at lists.runrev.com> wrote: > Can?t do that with community... code must be available. > On Jun 6, 2018, 11:09 AM -0500, Tom Glod via use-livecode < > use-livecode at lists.runrev.com>, wrote: > > what if for example you want to hard code a hash salt into your > code?..... > > if the code is readable, then so is the salt. I would vote for unreadable > > code 100% of the time. > > > > On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > For commercial I would think so, but don?t see any issue on the > community > > > side. > > > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < > > > use-livecode at lists.runrev.com>, wrote: > > > > Don't we want that NOT to be possible?? Otherwise bring back the > runtime > > > engine and run the app as a stack file of the runtime. > > > > > > > > Bob S > > > > > > > > > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > Looking at the code, ?deflate? is called on the stack as it is > being > > > written out (zlib). So while not easy, it should be possible to > separate a > > > stack file from the binary if deployed from the community edition. It > would > > > take a bit of work to figure out where the file started and ended. Well > > > over what I would be willing to tackle at the moment. For anyone so > > > motivated, the relevant source code is in deploy*.cpp (along with the > > > header files). > > > > > > > > _______________________________________________ > > > > use-livecode mailing list > > > > use-livecode 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 iphonelagi at gmail.com Wed Jun 6 13:19:42 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Wed, 6 Jun 2018 18:19:42 +0100 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <91f12917-8483-4748-b4b0-9b4b8bd179f5@Spark> Message-ID: Never tried it for Livecode because as in my previous message - Just encode their name - you dont even have to tell them its encoded but check on boot up - which I do and wait 6 Months and then tell them - that will F**Ck them up when they thought they got away with it. Revenge is a dish best served cold ;-) I know it worked with a VB program years ago and the DLL's - but that was to make the executables smaller Since its open source and actively updated why don't you tell them - In fact I might probably use it on my LC9 executables even though I have indy/business because they are 3 times larger than my LC6 executables. Lagi On 6 June 2018 at 18:05, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > after trying UPX on my win32 standalone executable i got a upx: UMP.exe: > NotCompressibleException :) > > On Wed, Jun 6, 2018 at 1:00 PM, Tom Glod wrote: > > > great suggestion Lagi... thats a great solution for anyone who needs an > > extra layer of obfuscation on the binaries. > > > > Yes indeed...the .livecode files must be made available. > > > > On Wed, Jun 6, 2018 at 12:51 PM, Lagi Pittas via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> The code doesn't need to be available "in the clear" either in Community > >> or > >> Business in the executable. > >> So there is nothing stopping us using something like > >> > >> https://www.pelock.com/products/pelock/buy > >> > >> or a free one here > >> https://upx.github.io/ > >> http://www.pazera-software.com/products/free-upx/ > >> > >> You must make the source files available though. You cant see the C or > C++ > >> source text in programs written in those languages except for say > headers > >> and library calls and there are programs that can go through and > obfuscate > >> those as well. > >> > >> Lagi > >> > >> > >> > >> > >> On 6 June 2018 at 17:12, Brian Milby via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >> > Can?t do that with community... code must be available. > >> > On Jun 6, 2018, 11:09 AM -0500, Tom Glod via use-livecode < > >> > use-livecode at lists.runrev.com>, wrote: > >> > > what if for example you want to hard code a hash salt into your > >> > code?..... > >> > > if the code is readable, then so is the salt. I would vote for > >> unreadable > >> > > code 100% of the time. > >> > > > >> > > On Wed, Jun 6, 2018 at 10:38 AM, Brian Milby via use-livecode < > >> > > use-livecode at lists.runrev.com> wrote: > >> > > > >> > > > For commercial I would think so, but don?t see any issue on the > >> > community > >> > > > side. > >> > > > On Jun 6, 2018, 9:34 AM -0500, Bob Sneidar via use-livecode < > >> > > > use-livecode at lists.runrev.com>, wrote: > >> > > > > Don't we want that NOT to be possible?? Otherwise bring back the > >> > runtime > >> > > > engine and run the app as a stack file of the runtime. > >> > > > > > >> > > > > Bob S > >> > > > > > >> > > > > > >> > > > > > On Jun 5, 2018, at 19:37 , Brian Milby via use-livecode < > >> > > > use-livecode at lists.runrev.com> wrote: > >> > > > > > > >> > > > > > Looking at the code, ?deflate? is called on the stack as it is > >> > being > >> > > > written out (zlib). So while not easy, it should be possible to > >> > separate a > >> > > > stack file from the binary if deployed from the community edition. > >> It > >> > would > >> > > > take a bit of work to figure out where the file started and ended. > >> Well > >> > > > over what I would be willing to tackle at the moment. For anyone > so > >> > > > motivated, the relevant source code is in deploy*.cpp (along with > >> the > >> > > > header files). > >> > > > > > >> > > > > _______________________________________________ > >> > > > > use-livecode mailing list > >> > > > > use-livecode 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 > >> > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 at livecode.com Wed Jun 6 13:40:07 2018 From: mark at livecode.com (Mark Waddingham) Date: Wed, 06 Jun 2018 19:40:07 +0200 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> Message-ID: <96033c67df11fd16311b471e363301a2@livecode.com> On 2018-06-06 18:09, Tom Glod via use-livecode wrote: > what if for example you want to hard code a hash salt into your > code?..... > if the code is readable, then so is the salt. I would vote for > unreadable > code 100% of the time. Technically even if the code isn't readable, then the salt will still be there - all you are doing is making it more difficult for relatively unmotivated individuals to get at it. Which perhaps doesn't help much, as the unmotivated are probably not the ones who are going to cause any problems. The only way to truly protect secrets is for no-one to see them and to only transmit and store them in an encrypted way, where unlocking them is tied to a secret the end-user has - e.g. user account / password login. Certainly if there is a server involved in your app somehow, and if you control that server then you are far better off making the server the 'keeper of the secrets' because then *you* have control - its much easier to delete a record from a server then it is to force all your users to reinstall a new version of your app because a secret contained within it has been compromised. Warmest Regards, Mark. P.S. I realize that sometimes storing secrets in distributed apps is the 'only' way - but always think to see if there is a way to avoid it if you can. -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From tom at makeshyft.com Wed Jun 6 15:10:58 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 6 Jun 2018 15:10:58 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <96033c67df11fd16311b471e363301a2@livecode.com> References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <96033c67df11fd16311b471e363301a2@livecode.com> Message-ID: thanks for that reply mark........totally hear you on that........ my application works fully on 1 local machine......I will have a central registration server, but it will be optional. So everything is on a local drive or on a server on a lan. my task is to follow standards and add to the pain in the ass level for anyone who wants to play hacker. on top of using aes 256 encryption and making the user type in a password to unlock the data. salts are useful in that .... on a single machine. but they become problematic with software upgrades or fixes like you said. i don't currently use a hardcoded salt..... but i generate a salt from unique data that binds to the password and the user. your participation in these topics is much appreciated. cheers On Wed, Jun 6, 2018 at 1:40 PM, Mark Waddingham via use-livecode < use-livecode at lists.runrev.com> wrote: > On 2018-06-06 18:09, Tom Glod via use-livecode wrote: > >> what if for example you want to hard code a hash salt into your code?..... >> if the code is readable, then so is the salt. I would vote for unreadable >> code 100% of the time. >> > > Technically even if the code isn't readable, then the salt will still be > there - all you are doing is making it more difficult for relatively > unmotivated individuals to get at it. Which perhaps doesn't help much, as > the unmotivated are probably not the ones who are going to cause any > problems. > > The only way to truly protect secrets is for no-one to see them and to > only transmit and store them in an encrypted way, where unlocking them is > tied to a secret the end-user has - e.g. user account / password login. > > Certainly if there is a server involved in your app somehow, and if you > control that server then you are far better off making the server the > 'keeper of the secrets' because then *you* have control - its much easier > to delete a record from a server then it is to force all your users to > reinstall a new version of your app because a secret contained within it > has been compromised. > > Warmest Regards, > > Mark. > > P.S. I realize that sometimes storing secrets in distributed apps is the > 'only' way - but always think to see if there is a way to avoid it if you > can. > > -- > Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ > LiveCode: Everyone can create apps > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 6 16:29:48 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Jun 2018 20:29:48 +0000 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <96033c67df11fd16311b471e363301a2@livecode.com> Message-ID: I do the same thing, but if they can get to your code, they can discern how you get your salt. I guess that is the upshot of what Mark was saying. If they cannot get to your code however and read it, then it seems safe enough for me. My salts are dynamically generated using a method only I know, so even if someone were able somehow to crack one password, it wouldn't work with any of the others. Bob S > On Jun 6, 2018, at 12:10 , Tom Glod via use-livecode wrote: > > i don't currently use a hardcoded salt..... but i generate a salt from > unique data that binds to the password and the user. > > > your participation in these topics is much appreciated. cheers From ambassador at fourthworld.com Wed Jun 6 16:51:04 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 6 Jun 2018 13:51:04 -0700 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: Message-ID: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> Tom Glod wrote: > what if for example you want to hard code a hash salt into your > code?..... Most auth DBs store a salt in plain text, but unique for each user. A single RAM dump doesn't slow attacks; eating up clock cycles does. -- 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 tom at makeshyft.com Wed Jun 6 17:16:00 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 6 Jun 2018 17:16:00 -0400 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> Message-ID: yup....good point Richard On Wed, Jun 6, 2018 at 4:51 PM, Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > Tom Glod wrote: > > > what if for example you want to hard code a hash salt into your > > code?..... > > Most auth DBs store a salt in plain text, but unique for each user. > > A single RAM dump doesn't slow attacks; eating up clock cycles does. > > -- > 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 earthlearningsolutions.org Wed Jun 6 17:16:46 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Wed, 6 Jun 2018 14:16:46 -0700 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> Message-ID: <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? It would be wonderful if there was a sample code for this. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 1:51 PM, Richard Gaskin via use-livecode wrote: > > Tom Glod wrote: > > > what if for example you want to hard code a hash salt into your > > code?..... > > Most auth DBs store a salt in plain text, but unique for each user. > > A single RAM dump doesn't slow attacks; eating up clock cycles does. > > -- > 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 bobsneidar at iotecdigital.com Wed Jun 6 17:40:34 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 6 Jun 2018 21:40:34 +0000 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> Message-ID: <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> The encrypt command in the dictionary has that info. Bob S > On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: > > I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? > > It would be wonderful if there was a sample code for this. > > Best, > Bill > > William Prothero > http://earthlearningsolutions.org From prothero at earthlearningsolutions.org Wed Jun 6 17:52:35 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Wed, 6 Jun 2018 14:52:35 -0700 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> Message-ID: I?m in LC 9.0.0 and Encryption is discussed, and the code is shown to set a salt. However, the docs say it?s beyond the scope of the docs to explain how to choose a salt. For example, how many characters need to be in a salt. Are any characters permissible? Are all character formats permissible? There is no guidance on what makes an acceptable salt. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 2:40 PM, Bob Sneidar via use-livecode wrote: > > The encrypt command in the dictionary has that info. > > Bob S > > >> On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: >> >> I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? >> >> It would be wonderful if there was a sample code for this. >> >> Best, >> Bill >> >> William Prothero >> http://earthlearningsolutions.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 jacque at hyperactivesw.com Wed Jun 6 18:16:49 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 6 Jun 2018 17:16:49 -0500 Subject: Android won't quit Message-ID: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> Does anyone have a workaround to completely quit an Android app? I just re-opened this bug report that claimed to have fixed the problem but it didn't really: https://quality.livecode.com/show_bug.cgi?id=19420 I can block the backKey message and do nothing, but then the user can't use the backKey to quit the app. They can use the Home or Switcher buttons but the app is still in its old state when it is restarted. If I pass backKey, the app crashes on relaunch if it is still in RAM. I want to wipe the app completely so that on next launch I can reinitialize everything. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From kee.nethery at elloco.com Wed Jun 6 18:48:31 2018 From: kee.nethery at elloco.com (kee nethery) Date: Wed, 6 Jun 2018 15:48:31 -0700 Subject: worth it's salt in security In-Reply-To: References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> Message-ID: <9E694065-1C7C-493F-8EBE-06D5A2963E1E@elloco.com> There is a bunch of basic info on the use of a salt on the web. The wikipedia article is a good start. It depends upon where and how you are using it. Mostly they discuss using a salt with a hash function. They recommend a long salt. They recommend storing the salt with the hashed password. User enters their name and password. You look up the salt for their name. You hash the password they provided using the salt you have stored for them. You compare the hash with the hash you had stored. If they match, bingo. The salt eliminates the ability for a hacker to use a rainbow table. It is trivial to buy a CD of all hashes for all possible password that are 1 to 14 characters in length. Take a hash, look it up on the CD, and it displays the original password that created that hash. Now ? if you use a salt, your hash for that password will not match the hash for that password in the rainbow table on the CD. If you have a 32 character salt that is different for each password, assuming lower and upper case ascii and numbers (26 + 26 + 10 = 62) the number of possible salts for a 32 char salt is 62^32. To pre-compute rainbow table for each 14 char possible password would mean 2.27 * 10^57 rainbow tables. Just isn?t practical. So they would have to snag your password table, see the salts for each password, create a rainbow table for that salt, then do a lookup to see if the hash you stored is in the rainbow table. if yes, they know the users password. For the next password, new rainbow table. So for a password hash, use a 32 char salt, and store the salt along with the password hash, and toss the password, don?t store it. Kee > On Jun 6, 2018, at 2:52 PM, prothero--- via use-livecode wrote: > > I?m in LC 9.0.0 and Encryption is discussed, and the code is shown to set a salt. However, the docs say it?s beyond the scope of the docs to explain how to choose a salt. For example, how many characters need to be in a salt. Are any characters permissible? Are all character formats permissible? There is no guidance on what makes an acceptable salt. > > Best, > Bill > > William Prothero > http://earthlearningsolutions.org > >> On Jun 6, 2018, at 2:40 PM, Bob Sneidar via use-livecode wrote: >> >> The encrypt command in the dictionary has that info. >> >> Bob S >> >> >>> On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: >>> >>> I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? >>> >>> It would be wonderful if there was a sample code for this. >>> >>> Best, >>> Bill >>> >>> William Prothero >>> http://earthlearningsolutions.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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 dfepstein at comcast.net Wed Jun 6 19:14:39 2018 From: dfepstein at comcast.net (David Epstein) Date: Wed, 6 Jun 2018 19:14:39 -0400 Subject: Area of regular polygon triangles Message-ID: <983FB798-3B6C-43CF-A0C2-E8E09D04903B@comcast.net> If a regular polygon has 4 or 8 sides it seems to be inscribed so that all points touch the square defined by the object?s height and width, which means that it should be fairly easy to deduce the polygon?s area. But with 3 sides, the triangle appears slightly smaller than the maximum size that could fit into that square. Is there some math that would give me the area of that triangle from the height and width of the square (i.e., the official height and width of the polygon object)? David Epstein From prothero at earthlearningsolutions.org Wed Jun 6 19:50:20 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Wed, 6 Jun 2018 16:50:20 -0700 Subject: worth it's salt in security In-Reply-To: <9E694065-1C7C-493F-8EBE-06D5A2963E1E@elloco.com> References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> <9E694065-1C7C-493F-8EBE-06D5A2963E1E@elloco.com> Message-ID: Kee, So does the decrypt need the salt somehow? Or does it get it from the stuff that is encrypted with the salt? That is, when I encrypt ?with salt my salt? does the decode function somehow get the salt from the encoded data, because it has the ?key?? Btw, thanks for responding, Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 3:48 PM, kee nethery via use-livecode wrote: > > There is a bunch of basic info on the use of a salt on the web. The wikipedia article is a good start. It depends upon where and how you are using it. Mostly they discuss using a salt with a hash function. They recommend a long salt. They recommend storing the salt with the hashed password. > > User enters their name and password. You look up the salt for their name. You hash the password they provided using the salt you have stored for them. You compare the hash with the hash you had stored. If they match, bingo. > > The salt eliminates the ability for a hacker to use a rainbow table. It is trivial to buy a CD of all hashes for all possible password that are 1 to 14 characters in length. Take a hash, look it up on the CD, and it displays the original password that created that hash. > > Now ? if you use a salt, your hash for that password will not match the hash for that password in the rainbow table on the CD. If you have a 32 character salt that is different for each password, assuming lower and upper case ascii and numbers (26 + 26 + 10 = 62) the number of possible salts for a 32 char salt is 62^32. To pre-compute rainbow table for each 14 char possible password would mean 2.27 * 10^57 rainbow tables. Just isn?t practical. So they would have to snag your password table, see the salts for each password, create a rainbow table for that salt, then do a lookup to see if the hash you stored is in the rainbow table. if yes, they know the users password. For the next password, new rainbow table. > > So for a password hash, use a 32 char salt, and store the salt along with the password hash, and toss the password, don?t store it. > > Kee > >> On Jun 6, 2018, at 2:52 PM, prothero--- via use-livecode wrote: >> >> I?m in LC 9.0.0 and Encryption is discussed, and the code is shown to set a salt. However, the docs say it?s beyond the scope of the docs to explain how to choose a salt. For example, how many characters need to be in a salt. Are any characters permissible? Are all character formats permissible? There is no guidance on what makes an acceptable salt. >> >> Best, >> Bill >> >> William Prothero >> http://earthlearningsolutions.org >> >>> On Jun 6, 2018, at 2:40 PM, Bob Sneidar via use-livecode wrote: >>> >>> The encrypt command in the dictionary has that info. >>> >>> Bob S >>> >>> >>>> On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: >>>> >>>> I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? >>>> >>>> It would be wonderful if there was a sample code for this. >>>> >>>> Best, >>>> Bill >>>> >>>> William Prothero >>>> http://earthlearningsolutions.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 >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Wed Jun 6 21:04:42 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Wed, 6 Jun 2018 19:04:42 -0600 Subject: Area of regular polygon triangles In-Reply-To: <983FB798-3B6C-43CF-A0C2-E8E09D04903B@comcast.net> References: <983FB798-3B6C-43CF-A0C2-E8E09D04903B@comcast.net> Message-ID: If you need to use the box method, and the control rect isn't perfect, it might be easier to create the rect on your own. Go through the points and find the topmost, left most, rightmost, bottom most coordinates and that gives you your box. Alternatively, if you just want the area and don't care how you get it the equation is pretty straightforward. area = A x ( B y ? C y ) + B x ( C y ? A y ) + C x ( A y ? B y ) 2 where Ax and Ay are the x and y coordinates of the point A etc.. I have a stack that does this while dragging points around, it works well enough. On Wed, Jun 6, 2018 at 5:14 PM, David Epstein via use-livecode < use-livecode at lists.runrev.com> wrote: > If a regular polygon has 4 or 8 sides it seems to be inscribed so that all > points touch the square defined by the object?s height and width, which > means that it should be fairly easy to deduce the polygon?s area. > But with 3 sides, the triangle appears slightly smaller than the maximum > size that could fit into that square. Is there some math that would give > me the area of that triangle from the height and width of the square (i.e., > the official height and width of the polygon object)? > David Epstein > _______________________________________________ > use-livecode mailing list > use-livecode 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 brian at milby7.com Wed Jun 6 21:44:25 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 6 Jun 2018 20:44:25 -0500 Subject: worth it's salt in security In-Reply-To: References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> <9E694065-1C7C-493F-8EBE-06D5A2963E1E@elloco.com> Message-ID: From the dictionary: The password and salt value are combined and scrambled to form the key and IV which are used as described above. The key derivation process is the same as that used in the openSSL utility. A 16-byte salt prefix is prepended to the encrypted data, based on the salt value. This is used in decryption. If no salt value is specified for a password, one is randomly generated. The use of a randomized salt value is a protection against dictionary attacks. I have not tried this yet though. One point is that it is either key and IV or password and salt. On Jun 6, 2018, 6:50 PM -0500, prothero--- via use-livecode , wrote: > Kee, > So does the decrypt need the salt somehow? Or does it get it from the stuff that is encrypted with the salt? That is, when I encrypt ?with salt my salt? does the decode function somehow get the salt from the encoded data, because it has the ?key?? > > Btw, thanks for responding, > Bill > > William Prothero > http://earthlearningsolutions.org > > > On Jun 6, 2018, at 3:48 PM, kee nethery via use-livecode wrote: > > > > There is a bunch of basic info on the use of a salt on the web. The wikipedia article is a good start. It depends upon where and how you are using it. Mostly they discuss using a salt with a hash function. They recommend a long salt. They recommend storing the salt with the hashed password. > > > > User enters their name and password. You look up the salt for their name. You hash the password they provided using the salt you have stored for them. You compare the hash with the hash you had stored. If they match, bingo. > > > > The salt eliminates the ability for a hacker to use a rainbow table. It is trivial to buy a CD of all hashes for all possible password that are 1 to 14 characters in length. Take a hash, look it up on the CD, and it displays the original password that created that hash. > > > > Now ? if you use a salt, your hash for that password will not match the hash for that password in the rainbow table on the CD. If you have a 32 character salt that is different for each password, assuming lower and upper case ascii and numbers (26 + 26 + 10 = 62) the number of possible salts for a 32 char salt is 62^32. To pre-compute rainbow table for each 14 char possible password would mean 2.27 * 10^57 rainbow tables. Just isn?t practical. So they would have to snag your password table, see the salts for each password, create a rainbow table for that salt, then do a lookup to see if the hash you stored is in the rainbow table. if yes, they know the users password. For the next password, new rainbow table. > > > > So for a password hash, use a 32 char salt, and store the salt along with the password hash, and toss the password, don?t store it. > > > > Kee > > > > > On Jun 6, 2018, at 2:52 PM, prothero--- via use-livecode wrote: > > > > > > I?m in LC 9.0.0 and Encryption is discussed, and the code is shown to set a salt. However, the docs say it?s beyond the scope of the docs to explain how to choose a salt. For example, how many characters need to be in a salt. Are any characters permissible? Are all character formats permissible? There is no guidance on what makes an acceptable salt. > > > > > > Best, > > > Bill > > > > > > William Prothero > > > http://earthlearningsolutions.org > > > > > > > On Jun 6, 2018, at 2:40 PM, Bob Sneidar via use-livecode wrote: > > > > > > > > The encrypt command in the dictionary has that info. > > > > > > > > Bob S > > > > > > > > > > > > > On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: > > > > > > > > > > I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? > > > > > > > > > > It would be wonderful if there was a sample code for this. > > > > > > > > > > Best, > > > > > Bill > > > > > > > > > > William Prothero > > > > > http://earthlearningsolutions.org From prothero at earthlearningsolutions.org Wed Jun 6 22:12:59 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Wed, 6 Jun 2018 19:12:59 -0700 Subject: worth it's salt in security In-Reply-To: References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> <06BA2F01-B0F1-49E7-A64B-1DE662E981CC@iotecdigital.com> <9E694065-1C7C-493F-8EBE-06D5A2963E1E@elloco.com> Message-ID: <53516655-A556-4D3F-9B52-F5D123981A1C@earthlearningsolutions.org> Brian, This, accidentally, didn?t go to the list. Sorry. Thanks for your reply. I will look into the OpenSSL utility. But, from what I can figure, it seems that the decode process extracts the salt from the encrypted password. And for me, I?m encrypting a MySQL query, so I assume it will be the same. I?m not on my computer for a week or so now, but I think I?m far enough along to solve this by diddling with the php. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 6:44 PM, Brian Milby wrote: > > From the dictionary: > > The password and salt value are combined and scrambled to form the key and IV which are used as described above. The key derivation process is the same as that used in the openSSL utility. A 16-byte salt prefix is prepended to the encrypted data, based on the salt value. This is used in decryption. If no salt value is specified for a password, one is randomly generated. The use of a randomized salt value is a protection against dictionary attacks. > > I have not tried this yet though. One point is that it is either key and IV or password and salt. >> On Jun 6, 2018, 6:50 PM -0500, prothero--- via use-livecode , wrote: >> Kee, >> So does the decrypt need the salt somehow? Or does it get it from the stuff that is encrypted with the salt? That is, when I encrypt ?with salt my salt? does the decode function somehow get the salt from the encoded data, because it has the ?key?? >> >> Btw, thanks for responding, >> Bill >> >> William Prothero >> http://earthlearningsolutions.org >> >>> On Jun 6, 2018, at 3:48 PM, kee nethery via use-livecode wrote: >>> >>> There is a bunch of basic info on the use of a salt on the web. The wikipedia article is a good start. It depends upon where and how you are using it. Mostly they discuss using a salt with a hash function. They recommend a long salt. They recommend storing the salt with the hashed password. >>> >>> User enters their name and password. You look up the salt for their name. You hash the password they provided using the salt you have stored for them. You compare the hash with the hash you had stored. If they match, bingo. >>> >>> The salt eliminates the ability for a hacker to use a rainbow table. It is trivial to buy a CD of all hashes for all possible password that are 1 to 14 characters in length. Take a hash, look it up on the CD, and it displays the original password that created that hash. >>> >>> Now ? if you use a salt, your hash for that password will not match the hash for that password in the rainbow table on the CD. If you have a 32 character salt that is different for each password, assuming lower and upper case ascii and numbers (26 + 26 + 10 = 62) the number of possible salts for a 32 char salt is 62^32. To pre-compute rainbow table for each 14 char possible password would mean 2.27 * 10^57 rainbow tables. Just isn?t practical. So they would have to snag your password table, see the salts for each password, create a rainbow table for that salt, then do a lookup to see if the hash you stored is in the rainbow table. if yes, they know the users password. For the next password, new rainbow table. >>> >>> So for a password hash, use a 32 char salt, and store the salt along with the password hash, and toss the password, don?t store it. >>> >>> Kee >>> >>>> On Jun 6, 2018, at 2:52 PM, prothero--- via use-livecode wrote: >>>> >>>> I?m in LC 9.0.0 and Encryption is discussed, and the code is shown to set a salt. However, the docs say it?s beyond the scope of the docs to explain how to choose a salt. For example, how many characters need to be in a salt. Are any characters permissible? Are all character formats permissible? There is no guidance on what makes an acceptable salt. >>>> >>>> Best, >>>> Bill >>>> >>>> William Prothero >>>> http://earthlearningsolutions.org >>>> >>>>> On Jun 6, 2018, at 2:40 PM, Bob Sneidar via use-livecode wrote: >>>>> >>>>> The encrypt command in the dictionary has that info. >>>>> >>>>> Bob S >>>>> >>>>> >>>>>> On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: >>>>>> >>>>>> I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? >>>>>> >>>>>> It would be wonderful if there was a sample code for this. >>>>>> >>>>>> Best, >>>>>> Bill >>>>>> >>>>>> William Prothero >>>>>> http://earthlearningsolutions.org From ambassador at fourthworld.com Wed Jun 6 22:32:34 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 6 Jun 2018 19:32:34 -0700 Subject: worth it's salt in security In-Reply-To: References: Message-ID: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> Brian Milby wrote: > From the dictionary: > > The password and salt value are combined and scrambled to form the key > and IV which are used as described above. The key derivation process > is the same as that used in the openSSL utility. A 16-byte salt prefix > is prepended to the encrypted data, based on the salt value. This is > used in decryption. "decryption"? Are we talking about hashing or encrypting? -- 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.nethery at elloco.com Wed Jun 6 22:57:12 2018 From: kee.nethery at elloco.com (kee nethery) Date: Wed, 6 Jun 2018 19:57:12 -0700 Subject: worth it's salt in security In-Reply-To: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> Message-ID: Yes, My description was about hashing. If your main concern is encrypting ?. not something I know. sorry. Kee > On Jun 6, 2018, at 7:32 PM, Richard Gaskin via use-livecode wrote: > > Brian Milby wrote: > > From the dictionary: > > > > The password and salt value are combined and scrambled to form the key > > and IV which are used as described above. The key derivation process > > is the same as that used in the openSSL utility. A 16-byte salt prefix > > is prepended to the encrypted data, based on the salt value. This is > > used in decryption. > > "decryption"? > > Are we talking about hashing or encrypting? > > -- > 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 brian at milby7.com Wed Jun 6 22:56:07 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 6 Jun 2018 21:56:07 -0500 Subject: worth it's salt in security In-Reply-To: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> Message-ID: I?m not sure what the original thread was using the salt for but the initial post in this one was more about hashing. The question about encryption was introduced so I answered that. For encryption, it looks like there is only an effective 8 byte salt (the first 8 are static - ?Salted__?). Specifying more than 8 bytes does not change the resulting encrypted text. Since LC does include the salt, it does not need to be separately provided to decrypt. If you strip the salt (first 16 bytes), then you must supply the salt to decrypt. Providing the salt without stripping it from the encrypted text did not pose a problem in my test. On Jun 6, 2018, 9:32 PM -0500, Richard Gaskin via use-livecode , wrote: > Brian Milby wrote: > > From the dictionary: > > > > The password and salt value are combined and scrambled to form the key > > and IV which are used as described above. The key derivation process > > is the same as that used in the openSSL utility. A 16-byte salt prefix > > is prepended to the encrypted data, based on the salt value. This is > > used in decryption. > > "decryption"? > > Are we talking about hashing or encrypting? > > -- > 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 earthlearningsolutions.org Wed Jun 6 23:29:34 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Wed, 6 Jun 2018 20:29:34 -0700 Subject: worth it's salt in security In-Reply-To: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> Message-ID: <7AB65701-7DE5-49ED-845F-DD076E7E5619@earthlearningsolutions.org> Richard, I?m talking about using the LC encrypt command, with aes-256 encryption. I?m trying to figure out how the ?salt? works, because my php code sends me a warning that I am not using a salt, or IV to encrypt the sql query. I bought Andre Garza?s database software and have modified it pretty extensively. But, I?ve use his encryption implementation. His code doesn?t use a salt in his encryption implementation. So, I?m trying to get some info on how to implement the salt, and I haven?t had much luck with google. It seems to be one of those things where the experts are speaking a different language, one I don?t understand. Perhaps it?s so trivial that I?m missing the mark utterly. A few lines of code that shows how to encrypt, then decrypt a string, with aes-256 and a salt, would solve my problem. Also, I think the responses so far have given me enough hints so when I get back to my computer in a week, I can trial and error figure it out. Thanks for chiming in. I?ll post some code when I figure it out, unless somebody does it first. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 7:32 PM, Richard Gaskin via use-livecode wrote: > > Brian Milby wrote: > > From the dictionary: > > > > The password and salt value are combined and scrambled to form the key > > and IV which are used as described above. The key derivation process > > is the same as that used in the openSSL utility. A 16-byte salt prefix > > is prepended to the encrypted data, based on the salt value. This is > > used in decryption. > > "decryption"? > > Are we talking about hashing or encrypting? > > -- > 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 earthlearningsolutions.org Wed Jun 6 23:37:34 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Wed, 6 Jun 2018 20:37:34 -0700 Subject: worth it's salt in security In-Reply-To: References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> Message-ID: <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> Hmmm.... If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable to me. Sorry if I?m being dense. Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 7:56 PM, Brian Milby via use-livecode wrote: > > I?m not sure what the original thread was using the salt for but the initial post in this one was more about hashing. The question about encryption was introduced so I answered that. > > For encryption, it looks like there is only an effective 8 byte salt (the first 8 are static - ?Salted__?). Specifying more than 8 bytes does not change the resulting encrypted text. > > Since LC does include the salt, it does not need to be separately provided to decrypt. If you strip the salt (first 16 bytes), then you must supply the salt to decrypt. Providing the salt without stripping it from the encrypted text did not pose a problem in my test. >> On Jun 6, 2018, 9:32 PM -0500, Richard Gaskin via use-livecode , wrote: >> Brian Milby wrote: >>> From the dictionary: >>> >>> The password and salt value are combined and scrambled to form the key >>> and IV which are used as described above. The key derivation process >>> is the same as that used in the openSSL utility. A 16-byte salt prefix >>> is prepended to the encrypted data, based on the salt value. This is >>> used in decryption. >> >> "decryption"? >> >> Are we talking about hashing or encrypting? >> >> -- >> 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 brian at milby7.com Thu Jun 7 00:06:56 2018 From: brian at milby7.com (Brian Milby) Date: Wed, 6 Jun 2018 23:06:56 -0500 Subject: worth it's salt in security In-Reply-To: <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> Message-ID: <9db31685-9560-496b-a114-74989efa5ec0@Spark> If you are using a known salt, then I would say it makes sense to strip it. It would make it easier to decrypt if included, but still not easy to break a cipher that isn?t already cracked. Since only 8 bytes of the salt are unique/used, it may be better to generate your own key instead of using the built in password and salt, but I?m not a security expert. If you are just using a password, then a random salt is added. That means that each encrypted message (even if the message and password is the same) will be unique. On Jun 6, 2018, 10:38 PM -0500, prothero--- via use-livecode , wrote: > Hmmm.... > If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. > > Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable to me. > > Sorry if I?m being dense. > Bill > > William Prothero > http://earthlearningsolutions.org > > > On Jun 6, 2018, at 7:56 PM, Brian Milby via use-livecode wrote: > > > > I?m not sure what the original thread was using the salt for but the initial post in this one was more about hashing. The question about encryption was introduced so I answered that. > > > > For encryption, it looks like there is only an effective 8 byte salt (the first 8 are static - ?Salted__?). Specifying more than 8 bytes does not change the resulting encrypted text. > > > > Since LC does include the salt, it does not need to be separately provided to decrypt. If you strip the salt (first 16 bytes), then you must supply the salt to decrypt. Providing the salt without stripping it from the encrypted text did not pose a problem in my test. > > > On Jun 6, 2018, 9:32 PM -0500, Richard Gaskin via use-livecode , wrote: > > > Brian Milby wrote: > > > > From the dictionary: > > > > > > > > The password and salt value are combined and scrambled to form the key > > > > and IV which are used as described above. The key derivation process > > > > is the same as that used in the openSSL utility. A 16-byte salt prefix > > > > is prepended to the encrypted data, based on the salt value. This is > > > > used in decryption. > > > > > > "decryption"? > > > > > > Are we talking about hashing or encrypting? > > > > > > -- > > > 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 7 00:18:12 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 6 Jun 2018 21:18:12 -0700 Subject: worth it's salt in security In-Reply-To: References: Message-ID: Bill Prothero wrote: > On Jun 6, 2018, at 7:32 PM, Richard Gaskin wrote: >> Are we talking about hashing or encrypting? > > Richard, > I?m talking about using the LC encrypt command, with aes-256 > encryption. Thanks. The mention of passwords in this discussion threw me. > I?m trying to figure out how the ?salt? works, because > my php code sends me a warning that I am not using a salt, > or IV to encrypt the sql query. I bought Andre Garza?s database > software and have modified it pretty extensively. But, I?ve use his > encryption implementation. His code doesn?t use a salt in his > encryption implementation. So, I?m trying to get some info on how > to implement the salt, and I haven?t had much luck with google. > It seems to be one of those things where the experts are speaking > a different language, one I don?t understand. Perhaps it?s so trivial > that I?m missing the mark utterly. A salt is any random set of bytes. I would imagine LC's randomBytes function would do the trick, or even UUID("random") may suffice. > If the salt is included in the encrypted text, doesn?t that enable > anyone who intercepts it to decrypt it more easily, invalidating > the purpose of using the salt in the first place. > > Or, if the server decrypting the text uses a standard, but secret, > salt that is known by both parties, it seems more reasonable to me. The salt isn't a second password, just a way to produce unique output to slow down cracking. Kee's post on salting passwords covers the benefits: http://lists.runrev.com/pipermail/use-livecode/2018-June/247634.html -- 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 Jun 7 00:57:15 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 6 Jun 2018 23:57:15 -0500 Subject: worth it's salt in security In-Reply-To: <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> Message-ID: <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> I'm learning this along with you. But this is what I think I know so far. If you do a test in the message box: encrypt "mysecret" using "aes256" with password "mypass";put it You get this: Salted__?!??/rm55? it @?r???Q -- (there's a return in there) The salt is prepended to the encrypted value (the "hash") so the receiver knows what it is. The dictionary says that the salt and the password are combined and scrambled before the encryption is actually done, thus making the password longer, more random, and more secure. Without the password, an observer can't decrypt the string. They need to know both. Except...hackers have provided lists of all possible combinations of salted passwords up to 14 characters long ("rainbow tables".) So you don't want to use short combinations or common passwords or it might show up in one of those lists. (I assume if you have a very long and/or random password then it would be okay to have a short salt, or vice versa, since the two are combined.) Brian says that the default random salt is short (8 chars) and Kee says it is safest to provide 32 chars or more. So instead of letting LC auto-generate a salt, you could provide your own. Bob said he does that. If you decide to strip out the salt value from the front of the encrypted string, then your receiver would need to know what it is. Kee says it is common for online services to store a unique salt value for each user, along with the encrypted string that was generated with that salt when the password was first created. The password itself is not stored. When a user logs in, the service looks up their salt value, uses that salt to encrypt the password the user just sent, and compares the computed one to the one stored in the database. (Since no actual passwords are ever kept, breaches or employees can't know what they are either.) In any case, the salt alone is not enough to do decryption. Kee says a long enough salt makes decryption virtually impossible because the number of scrambled combinations becomes astronomical, too many to pre-compute. That's what I've pieced together, I welcome any corrections. This has been a useful thread because I had a vague idea of how it worked but not many particulars. On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: > Hmmm.... > If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. > > Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable to me. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brian at milby7.com Thu Jun 7 01:10:51 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 7 Jun 2018 00:10:51 -0500 Subject: worth it's salt in security In-Reply-To: <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> Message-ID: <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> One big difference is that encrypt is reversible and messagedigest is not. Generally for password ?storage? you want to use a hash that is one way. You don?t actually store anything that can be reversed to obtain the actual password. For that, you are probably better off just doing a couple of rounds of the digest as the dictionary example shows. On Jun 6, 2018, 11:57 PM -0500, J. Landman Gay via use-livecode , wrote: > I'm learning this along with you. But this is what I think I know so > far. If you do a test in the message box: > > encrypt "mysecret" using "aes256" with password "mypass";put it > > You get this: > > Salted__?!??/rm55?it @?r???Q -- (there's a return in there) > > The salt is prepended to the encrypted value (the "hash") so the > receiver knows what it is. The dictionary says that the salt and the > password are combined and scrambled before the encryption is actually > done, thus making the password longer, more random, and more secure. > Without the password, an observer can't decrypt the string. They need to > know both. > > Except...hackers have provided lists of all possible combinations of > salted passwords up to 14 characters long ("rainbow tables".) So you > don't want to use short combinations or common passwords or it might > show up in one of those lists. (I assume if you have a very long and/or > random password then it would be okay to have a short salt, or vice > versa, since the two are combined.) > > Brian says that the default random salt is short (8 chars) and Kee says > it is safest to provide 32 chars or more. So instead of letting LC > auto-generate a salt, you could provide your own. Bob said he does that. > If you decide to strip out the salt value from the front of the > encrypted string, then your receiver would need to know what it is. > > Kee says it is common for online services to store a unique salt value > for each user, along with the encrypted string that was generated with > that salt when the password was first created. The password itself is > not stored. When a user logs in, the service looks up their salt value, > uses that salt to encrypt the password the user just sent, and compares > the computed one to the one stored in the database. (Since no actual > passwords are ever kept, breaches or employees can't know what they are > either.) > > In any case, the salt alone is not enough to do decryption. Kee says a > long enough salt makes decryption virtually impossible because the > number of scrambled combinations becomes astronomical, too many to > pre-compute. > > That's what I've pieced together, I welcome any corrections. This has > been a useful thread because I had a vague idea of how it worked but not > many particulars. > > > On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: > > Hmmm.... > > If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. > > > > Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable 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 mark at livecode.com Thu Jun 7 06:23:39 2018 From: mark at livecode.com (Mark Waddingham) Date: Thu, 07 Jun 2018 12:23:39 +0200 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: References: <2eb4ef1a-d614-58c4-0de9-a78b4ddb07ad@gmail.com> <79aca39e-5592-b5d8-f7ab-186219835b63@fourthworld.com> <839fb076-4332-4eb4-8f19-b73be12386bd@Spark> <582D994F-56AB-4497-AD14-E51B0F79A8CE@iotecdigital.com> <96033c67df11fd16311b471e363301a2@livecode.com> Message-ID: <1e98eee3f63e50af38e84b412c600209@livecode.com> On 2018-06-06 22:29, Bob Sneidar via use-livecode wrote: > I do the same thing, but if they can get to your code, they can > discern how you get your salt. Yes - essentially - although I did miss out making one important point... If you are using community (i.e. GPL) then there is nothing you can do here to protect anything embedded in the code: Your app is open-source, so you must provide ALL the source-code - admittedly that doesn't mean you must provide any 'secret keys' but where there are will be obvious as the source has to be for the build you distributed. LiveCode community is open-source (GPL) - this means all code for it is publicly available. If LiveCode Community included code which did obfuscate code in built apps (which it could) then it doesn't do you any good - because the code which deobfuscates at runtime so the code of your app can run also has to be open-source and thus visible. i.e. A suitably motivated individual would just need to invert the code run when building the app, so that it can take a built app and spit out what it was built from. Upshot: In a GPL app code can never be secret as it violates the terms of the license - so using code to protect 'secrets' which are included in a GPL app doesn't work. Of course, I'm not sure I'm entirely clear on what Tom is needing 'secret' salts for, so can't really comment on that specific case. Warmest Regards, Mark. P.S. I'd suggest any use of the word 'hacking' in association with GPL software you put on a local machine is somewhat silly - one of the reasons the GPL came about in the first place was to guarantee the right of hacking around with the source-code for the software you receive! -- Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps From prothero at earthlearningsolutions.org Thu Jun 7 10:12:41 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Thu, 7 Jun 2018 07:12:41 -0700 Subject: worth it's salt in security In-Reply-To: <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> Message-ID: <5DAE1922-2C6E-49C8-9D16-5AD069779C33@earthlearningsolutions.org> Folks, A stack that demonstrates the various kinds and best practices for encryption would be very useful, as the privacy issue has become so important. When I get encrypted communication with a server worked out, I?ll post my findings for feedback from those more knowledgeable. Examples of password security practices would also be useful too. Thanks for all the discussion on this topic. Best, Bill William Prothero http://earthlearningsolutions.org > On Jun 6, 2018, at 10:10 PM, Brian Milby via use-livecode wrote: > > One big difference is that encrypt is reversible and messagedigest is not. Generally for password ?storage? you want to use a hash that is one way. You don?t actually store anything that can be reversed to obtain the actual password. For that, you are probably better off just doing a couple of rounds of the digest as the dictionary example shows. >> On Jun 6, 2018, 11:57 PM -0500, J. Landman Gay via use-livecode , wrote: >> I'm learning this along with you. But this is what I think I know so >> far. If you do a test in the message box: >> >> encrypt "mysecret" using "aes256" with password "mypass";put it >> >> You get this: >> >> Salted__?!??/rm55?it @?r???Q -- (there's a return in there) >> >> The salt is prepended to the encrypted value (the "hash") so the >> receiver knows what it is. The dictionary says that the salt and the >> password are combined and scrambled before the encryption is actually >> done, thus making the password longer, more random, and more secure. >> Without the password, an observer can't decrypt the string. They need to >> know both. >> >> Except...hackers have provided lists of all possible combinations of >> salted passwords up to 14 characters long ("rainbow tables".) So you >> don't want to use short combinations or common passwords or it might >> show up in one of those lists. (I assume if you have a very long and/or >> random password then it would be okay to have a short salt, or vice >> versa, since the two are combined.) >> >> Brian says that the default random salt is short (8 chars) and Kee says >> it is safest to provide 32 chars or more. So instead of letting LC >> auto-generate a salt, you could provide your own. Bob said he does that. >> If you decide to strip out the salt value from the front of the >> encrypted string, then your receiver would need to know what it is. >> >> Kee says it is common for online services to store a unique salt value >> for each user, along with the encrypted string that was generated with >> that salt when the password was first created. The password itself is >> not stored. When a user logs in, the service looks up their salt value, >> uses that salt to encrypt the password the user just sent, and compares >> the computed one to the one stored in the database. (Since no actual >> passwords are ever kept, breaches or employees can't know what they are >> either.) >> >> In any case, the salt alone is not enough to do decryption. Kee says a >> long enough salt makes decryption virtually impossible because the >> number of scrambled combinations becomes astronomical, too many to >> pre-compute. >> >> That's what I've pieced together, I welcome any corrections. This has >> been a useful thread because I had a vague idea of how it worked but not >> many particulars. >> >> >>> On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: >>> Hmmm.... >>> If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. >>> >>> Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable 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 > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 7 10:32:35 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 7 Jun 2018 14:32:35 +0000 Subject: Differences between Commercial and Community versions of LiveCode In-Reply-To: <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> References: <7709880b-dd47-54d2-c45f-17630b5119ca@fourthworld.com> <0C2AF25D-559D-47DD-8378-294AF53F1C43@earthlearningsolutions.org> Message-ID: <0EE98C69-4227-41EA-AE17-3EEA44C6C018@iotecdigital.com> A salt is simply a string you use to "seed" the hash to make it more difficult to decrypt using rainbow tables or brute force. The decrypting end must also know your salt string to decrypt it. Bob S > On Jun 6, 2018, at 14:16 , prothero--- via use-livecode wrote: > > I?ve been having questions about aes 256 encryption lately. I encrypt MySQL queries and data ,(in livecode) before sending it to a php script on my remote server. The php version returns a warning message that I am not using a salt, which reduces security. Ok, but I can?t find info about how to create and use salts. What are the parameters needed to make a salt, and do I have to do anything to my decode script in php to make it recognize the salt? > > It would be wonderful if there was a sample code for this. > > Best, > Bill > > William Prothero > http://earthlearningsolutions.org From bobsneidar at iotecdigital.com Thu Jun 7 10:45:23 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 7 Jun 2018 14:45:23 +0000 Subject: worth it's salt in security In-Reply-To: <9db31685-9560-496b-a114-74989efa5ec0@Spark> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <9db31685-9560-496b-a114-74989efa5ec0@Spark> Message-ID: Okay I think I get it. I noticed the beginning of the hash contained "Salted__" but I didn't know why! Are you saying I can strip that along with the next 8 bytes, and the hash will be intact, and I can decrypt it without the salt?? Bob S > On Jun 6, 2018, at 21:06 , Brian Milby via use-livecode wrote: > > If you are using a known salt, then I would say it makes sense to strip it. It would make it easier to decrypt if included, but still not easy to break a cipher that isn?t already cracked. > > Since only 8 bytes of the salt are unique/used, it may be better to generate your own key instead of using the built in password and salt, but I?m not a security expert. > > If you are just using a password, then a random salt is added. That means that each encrypted message (even if the message and password is the same) will be unique. > On Jun 6, 2018, 10:38 PM -0500, prothero--- via use-livecode , wrote: >> Hmmm.... >> If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. >> >> Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable to me. >> >> Sorry if I?m being dense. >> Bill >> >> William Prothero >> http://earthlearningsolutions.org >> >>> On Jun 6, 2018, at 7:56 PM, Brian Milby via use-livecode wrote: >>> >>> I?m not sure what the original thread was using the salt for but the initial post in this one was more about hashing. The question about encryption was introduced so I answered that. >>> >>> For encryption, it looks like there is only an effective 8 byte salt (the first 8 are static - ?Salted__?). Specifying more than 8 bytes does not change the resulting encrypted text. >>> >>> Since LC does include the salt, it does not need to be separately provided to decrypt. If you strip the salt (first 16 bytes), then you must supply the salt to decrypt. Providing the salt without stripping it from the encrypted text did not pose a problem in my test. >>>> On Jun 6, 2018, 9:32 PM -0500, Richard Gaskin via use-livecode , wrote: >>>> Brian Milby wrote: >>>>> From the dictionary: >>>>> >>>>> The password and salt value are combined and scrambled to form the key >>>>> and IV which are used as described above. The key derivation process >>>>> is the same as that used in the openSSL utility. A 16-byte salt prefix >>>>> is prepended to the encrypted data, based on the salt value. This is >>>>> used in decryption. >>>> >>>> "decryption"? >>>> >>>> Are we talking about hashing or encrypting? >>>> >>>> -- >>>> 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 >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Jun 7 10:49:06 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 7 Jun 2018 14:49:06 +0000 Subject: worth it's salt in security In-Reply-To: <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> Message-ID: THAT I didn't know! I'm using reversible encryption for my stored passwords! DOH! I'll fix that right away. Bob S > On Jun 6, 2018, at 22:10 , Brian Milby via use-livecode wrote: > > One big difference is that encrypt is reversible and messagedigest is not. Generally for password ?storage? you want to use a hash that is one way. You don?t actually store anything that can be reversed to obtain the actual password. For that, you are probably better off just doing a couple of rounds of the digest as the dictionary example shows. From brian at milby7.com Thu Jun 7 10:51:38 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 7 Jun 2018 09:51:38 -0500 Subject: worth it's salt in security In-Reply-To: References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <9db31685-9560-496b-a114-74989efa5ec0@Spark> Message-ID: If you strip the first 16 bytes then you must provide the salt to decrypt. If you leave the salt, then you just need the password to decrypt. On Jun 7, 2018, 9:45 AM -0500, Bob Sneidar via use-livecode , wrote: > Okay I think I get it. I noticed the beginning of the hash contained "Salted__" but I didn't know why! Are you saying I can strip that along with the next 8 bytes, and the hash will be intact, and I can decrypt it without the salt?? > > Bob S > > > > On Jun 6, 2018, at 21:06 , Brian Milby via use-livecode wrote: > > > > If you are using a known salt, then I would say it makes sense to strip it. It would make it easier to decrypt if included, but still not easy to break a cipher that isn?t already cracked. > > > > Since only 8 bytes of the salt are unique/used, it may be better to generate your own key instead of using the built in password and salt, but I?m not a security expert. > > > > If you are just using a password, then a random salt is added. That means that each encrypted message (even if the message and password is the same) will be unique. > > On Jun 6, 2018, 10:38 PM -0500, prothero--- via use-livecode , wrote: > > > Hmmm.... > > > If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. > > > > > > Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable to me. > > > > > > Sorry if I?m being dense. > > > Bill > > > > > > William Prothero > > > http://earthlearningsolutions.org > > > > > > > On Jun 6, 2018, at 7:56 PM, Brian Milby via use-livecode wrote: > > > > > > > > I?m not sure what the original thread was using the salt for but the initial post in this one was more about hashing. The question about encryption was introduced so I answered that. > > > > > > > > For encryption, it looks like there is only an effective 8 byte salt (the first 8 are static - ?Salted__?). Specifying more than 8 bytes does not change the resulting encrypted text. > > > > > > > > Since LC does include the salt, it does not need to be separately provided to decrypt. If you strip the salt (first 16 bytes), then you must supply the salt to decrypt. Providing the salt without stripping it from the encrypted text did not pose a problem in my test. > > > > > On Jun 6, 2018, 9:32 PM -0500, Richard Gaskin via use-livecode , wrote: > > > > > Brian Milby wrote: > > > > > > From the dictionary: > > > > > > > > > > > > The password and salt value are combined and scrambled to form the key > > > > > > and IV which are used as described above. The key derivation process > > > > > > is the same as that used in the openSSL utility. A 16-byte salt prefix > > > > > > is prepended to the encrypted data, based on the salt value. This is > > > > > > used in decryption. > > > > > > > > > > "decryption"? > > > > > > > > > > Are we talking about hashing or encrypting? > > > > > > > > > > -- > > > > > 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 > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 earthlearningsolutions.org Thu Jun 7 11:01:42 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Thu, 7 Jun 2018 08:01:42 -0700 Subject: worth it's salt in security In-Reply-To: References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <9db31685-9560-496b-a114-74989efa5ec0@Spark> Message-ID: Folks, What I get out of this is, for password protection, you use hashed encryption where you don?t need to return the original password. Only the hashed password is used to validate the login. However, if you need to recover the original encrypted text, like for an sql query that you sent to your remote server, you need to use a different encryption method, that can be reversed. Right? Bill William Prothero http://earthlearningsolutions.org > On Jun 7, 2018, at 7:51 AM, Brian Milby via use-livecode wrote: > > If you strip the first 16 bytes then you must provide the salt to decrypt. If you leave the salt, then you just need the password to decrypt. >> On Jun 7, 2018, 9:45 AM -0500, Bob Sneidar via use-livecode , wrote: >> Okay I think I get it. I noticed the beginning of the hash contained "Salted__" but I didn't know why! Are you saying I can strip that along with the next 8 bytes, and the hash will be intact, and I can decrypt it without the salt?? >> >> Bob S >> >> >>> On Jun 6, 2018, at 21:06 , Brian Milby via use-livecode wrote: >>> >>> If you are using a known salt, then I would say it makes sense to strip it. It would make it easier to decrypt if included, but still not easy to break a cipher that isn?t already cracked. >>> >>> Since only 8 bytes of the salt are unique/used, it may be better to generate your own key instead of using the built in password and salt, but I?m not a security expert. >>> >>> If you are just using a password, then a random salt is added. That means that each encrypted message (even if the message and password is the same) will be unique. >>>> On Jun 6, 2018, 10:38 PM -0500, prothero--- via use-livecode , wrote: >>>> Hmmm.... >>>> If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. >>>> >>>> Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable to me. >>>> >>>> Sorry if I?m being dense. >>>> Bill >>>> >>>> William Prothero >>>> http://earthlearningsolutions.org >>>> >>>>> On Jun 6, 2018, at 7:56 PM, Brian Milby via use-livecode wrote: >>>>> >>>>> I?m not sure what the original thread was using the salt for but the initial post in this one was more about hashing. The question about encryption was introduced so I answered that. >>>>> >>>>> For encryption, it looks like there is only an effective 8 byte salt (the first 8 are static - ?Salted__?). Specifying more than 8 bytes does not change the resulting encrypted text. >>>>> >>>>> Since LC does include the salt, it does not need to be separately provided to decrypt. If you strip the salt (first 16 bytes), then you must supply the salt to decrypt. Providing the salt without stripping it from the encrypted text did not pose a problem in my test. >>>>>>> On Jun 6, 2018, 9:32 PM -0500, Richard Gaskin via use-livecode , wrote: >>>>>>> Brian Milby wrote: >>>>>>> From the dictionary: >>>>>>> >>>>>>> The password and salt value are combined and scrambled to form the key >>>>>>> and IV which are used as described above. The key derivation process >>>>>>> is the same as that used in the openSSL utility. A 16-byte salt prefix >>>>>>> is prepended to the encrypted data, based on the salt value. This is >>>>>>> used in decryption. >>>>>> >>>>>> "decryption"? >>>>>> >>>>>> Are we talking about hashing or encrypting? >>>>>> >>>>>> -- >>>>>> 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 >>>> >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 brian at milby7.com Thu Jun 7 11:20:47 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 7 Jun 2018 10:20:47 -0500 Subject: worth it's salt in security In-Reply-To: References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <9db31685-9560-496b-a114-74989efa5ec0@Spark> Message-ID: <4e9f3980-7b0e-4c94-a1dd-03ab5231c9ad@Spark> Correct On Jun 7, 2018, 10:01 AM -0500, prothero at earthlearningsolutions.org , wrote: > Folks, > What I get out of this is, for password protection, you use hashed encryption where you don?t need to return the original password. Only the hashed password is used to validate the login. > > However, if you need to recover the original encrypted text, like for an sql query that you sent to your remote server, you need to use a different encryption method, that can be reversed. > > Right? > Bill > > William Prothero > http://earthlearningsolutions.org From bobsneidar at iotecdigital.com Thu Jun 7 11:54:56 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 7 Jun 2018 15:54:56 +0000 Subject: Obscure Object Referencing Message-ID: Hi all. I just noticed by accident I can use something like this and it works: dispatch populateRecord to group cDGName of stack cSubStack cDGName is "dgDevices" and cSubstack is "Devices". Notice the absence of a card reference! Apparently, even though the owner of the datagrid group is the card it's on, this doesn't matter to the parser! I wonder what would happen if I had another card with a datagrid with the same name on it, if it would reference that datagrid if it was the currentCard of that stack, or if it would reference the first datagrid in the stack with that name? I think I'll give it a try! Bob S From bobsneidar at iotecdigital.com Thu Jun 7 12:00:10 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 7 Jun 2018 16:00:10 +0000 Subject: Obscure Object Referencing In-Reply-To: References: Message-ID: <10C3B550-B091-44D4-A2C4-F821F0C63D0D@iotecdigital.com> Yes indeed, it references the datagrid on the currentCard! If there is no such object on the current card, then even if there is one on another card that is not the currentCard, it throws an error, as you would expect! That is actually quite cool. Bob S > On Jun 7, 2018, at 08:54 , Bob Sneidar via use-livecode wrote: > > Hi all. > > I just noticed by accident I can use something like this and it works: > > dispatch populateRecord to group cDGName of stack cSubStack > > cDGName is "dgDevices" and cSubstack is "Devices". Notice the absence of a card reference! Apparently, even though the owner of the datagrid group is the card it's on, this doesn't matter to the parser! I wonder what would happen if I had another card with a datagrid with the same name on it, if it would reference that datagrid if it was the currentCard of that stack, or if it would reference the first datagrid in the stack with that name? I think I'll give it a try! > > Bob S From brahma at hindu.org Thu Jun 7 12:26:19 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 7 Jun 2018 16:26:19 +0000 Subject: Android won't quit In-Reply-To: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> References: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> Message-ID: <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> Argh. I thought I solved in this in my app. But LO... it appears to quit... but is actually not quitting... it leaves a "corrupt" stack on the phone (android) and when you try to restart it, it opens to splash screen stack, but no messages are firing. It is "stuck" ; does not appear to user as "crashed" ; but on is dead-on-arrival - just the card 1 of the launcher stack app, with logo. Good think you caught this. I will have to let users on android force stop, as the only choice. BR J. Landman Gay I want to wipe the app completely so that on next launch I can reinitialize everything. From rdimola at evergreeninfo.net Thu Jun 7 13:49:13 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 7 Jun 2018 13:49:13 -0400 Subject: Android won't quit In-Reply-To: <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> References: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> Message-ID: <005101d3fe87$db651030$922f3090$@net> This is not an easy thing to fix and can be broken easily. The app in memory is not corrupt but the restart of the app is probably exposing an LC engine bug. Details for geeks... To handle the Android unique app restart protocol: After you "Quit" or the app gets hibernated so to speak by the OS, the state of Activities, Fragments and Views will be saved. When returning back to the application?, the system will start the process again, recreate the top activity. and you will get a Bundle with the stored state. This is where thing can go sideways, ?the whole process was killed. So any Singletons (or any ?application scope? objects), any temporary data, any data stored in ?retained Fragments??... Everything will be in a state as if the app was just launched , with one big difference?, the state is restored and the app is at the point where you left the app. If the Activity you are depending on has some shared Object, or some injected dependency where you keep recent data then most likely the application will just crash on a NullPointerException because it didn?t expect the data to be null. The Android OS is designed not to allow apps to be "stopped/killed" like desktop apps. That is why in the Application Manager it's call "Force stop". To work around the OS design (limitation?) LC could initiate the various activities with startActivityForResult(), and have the LC "quit" send back a result which tells the parent activity to finish(). That activity could then send the same result as part of its onDestroy(), which would cascade back to the main activity and result in no running activities, which should cause the app to close. But this is fighting the basic design of the Android OS and might break with a future OS upgrade. 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 Sannyasin Brahmanathaswami via use-livecode Sent: Thursday, June 07, 2018 12:26 PM To: How to use LiveCode Cc: Sannyasin Brahmanathaswami Subject: Re: Android won't quit Argh. I thought I solved in this in my app. But LO... it appears to quit... but is actually not quitting... it leaves a "corrupt" stack on the phone (android) and when you try to restart it, it opens to splash screen stack, but no messages are firing. It is "stuck" ; does not appear to user as "crashed" ; but on is dead-on-arrival - just the card 1 of the launcher stack app, with logo. Good think you caught this. I will have to let users on android force stop, as the only choice. BR J. Landman Gay I want to wipe the app completely so that on next launch I can reinitialize everything. _______________________________________________ use-livecode mailing list use-livecode 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 Thu Jun 7 13:57:48 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 07 Jun 2018 12:57:48 -0500 Subject: Android won't quit In-Reply-To: <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> References: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> Message-ID: <163db65b978.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> When I first reported it, the problem was that the quit command unloaded all the libraries but left the app in memory. Sounds like what you see now. In my app it just crashes, but probably for the same reason. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 7, 2018 11:28:18 AM Sannyasin Brahmanathaswami via use-livecode wrote: > Argh. I thought I solved in this in my app. But LO... it appears to > quit... but is actually not quitting... it leaves a "corrupt" stack on the > phone (android) and when you try to restart it, it opens to splash screen > stack, but no messages are firing. It is "stuck" ; does not appear to user > as "crashed" ; but on is dead-on-arrival - just the card 1 of the launcher > stack app, with logo. > > Good think you caught this. I will have to let users on android force stop, > as the only choice. > > BR > > J. Landman Gay > > I want to wipe the app completely so that on next launch I can > reinitialize everything. > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Thu Jun 7 14:01:19 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 07 Jun 2018 13:01:19 -0500 Subject: Android won't quit In-Reply-To: <005101d3fe87$db651030$922f3090$@net> References: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> <005101d3fe87$db651030$922f3090$@net> Message-ID: <163db68f1b0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> It could be solved if we had suspend and resume messages but I heard this is difficult to implement on Android. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 7, 2018 12:49:10 PM Ralph DiMola via use-livecode wrote: > This is not an easy thing to fix and can be broken easily. The app in > memory is not corrupt but the restart of the app is probably exposing an LC > engine bug. > > Details for geeks... > > To handle the Android unique app restart protocol: After you "Quit" or the > app gets hibernated so to speak by the OS, the state of Activities, > Fragments and Views will be saved. When returning back to the application?, > the system will start the process again, recreate the top activity. and you > will get a Bundle with the stored state. This is where thing can go > sideways, ?the whole process was killed. So any Singletons (or any > ?application scope? objects), any temporary data, any data stored in > ?retained Fragments??... Everything will be in a state as if the app was > just launched , with one big difference?, the state is restored and the app > is at the point where you left the app. If the Activity you are depending > on has some shared Object, or some injected dependency where you keep > recent data then most likely the application will just crash on a > NullPointerException because it didn?t expect the data to be null. > > The Android OS is designed not to allow apps to be "stopped/killed" like > desktop apps. That is why in the Application Manager it's call "Force > stop". To work around the OS design (limitation?) LC could initiate the > various activities with startActivityForResult(), and have the LC "quit" > send back a result which tells the parent activity to finish(). That > activity could then send the same result as part of its onDestroy(), which > would cascade back to the main activity and result in no running > activities, which should cause the app to close. But this is fighting the > basic design of the Android OS and might break with a future OS upgrade. > > > 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 Sannyasin Brahmanathaswami via use-livecode > Sent: Thursday, June 07, 2018 12:26 PM > To: How to use LiveCode > Cc: Sannyasin Brahmanathaswami > Subject: Re: Android won't quit > > Argh. I thought I solved in this in my app. But LO... it appears to > quit... but is actually not quitting... it leaves a "corrupt" stack on the > phone (android) and when you try to restart it, it opens to splash screen > stack, but no messages are firing. It is "stuck" ; does not appear to user > as "crashed" ; but on is dead-on-arrival - just the card 1 of the launcher > stack app, with logo. > > Good think you caught this. I will have to let users on android force stop, > as the only choice. > > BR > > J. Landman Gay > > I want to wipe the app completely so that on next launch I can > reinitialize everything. > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Thu Jun 7 16:57:44 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 7 Jun 2018 16:57:44 -0400 Subject: Obscure Object Referencing In-Reply-To: <10C3B550-B091-44D4-A2C4-F821F0C63D0D@iotecdigital.com> References: <10C3B550-B091-44D4-A2C4-F821F0C63D0D@iotecdigital.com> Message-ID: yeah it is Bob.....its one of the reasons why livecode is so flexible and such a joy to work with. On Thu, Jun 7, 2018 at 12:00 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Yes indeed, it references the datagrid on the currentCard! If there is no > such object on the current card, then even if there is one on another card > that is not the currentCard, it throws an error, as you would expect! > > That is actually quite cool. > > Bob S > > > > On Jun 7, 2018, at 08:54 , Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Hi all. > > > > I just noticed by accident I can use something like this and it works: > > > > dispatch populateRecord to group cDGName of stack cSubStack > > > > cDGName is "dgDevices" and cSubstack is "Devices". Notice the absence of > a card reference! Apparently, even though the owner of the datagrid group > is the card it's on, this doesn't matter to the parser! I wonder what would > happen if I had another card with a datagrid with the same name on it, if > it would reference that datagrid if it was the currentCard of that stack, > or if it would reference the first datagrid in the stack with that name? I > think I'll give it a try! > > > > 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 lists at mangomultimedia.com Thu Jun 7 17:02:12 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Thu, 7 Jun 2018 16:02:12 -0500 Subject: Levure - flicker prior to displaying UI stack on iOS In-Reply-To: References: Message-ID: On Tue, Jun 5, 2018 at 12:36 PM, Ralf Bitter via use-livecode < use-livecode at lists.runrev.com> wrote: > > Unfortunately I am observing an annoying screen flicker > during the startup sequence while the UI stack is opened > and the Levure standalone is closed. > The iOS splash screen, as defined in settings, is shown, > then for a fraction of a second the screen is black just before > the UI stack becomes visible. This happens not only in the > simulator but on a real device (iPad Pro) too. > > Did tests using a very simple UI stack, no code included, just > one card showing an image which is the same as the splash > screen so that the transition from the splash screen to the > UI stack should not be noticeable. I've tracked down what is causing the flicker. 1) When the `startup` message is received the `levureInitializeAndRunApplication` is called. This handler loads your configuration files. 2) Next, the `levureRunApplication` handler is called in time (`0 milliseconds`). 3) `levureRunApplication` processes command line arguments and dispatches the `InitializeApplication` message to your app. It then calls `levureFinishLoadingApplication` in time (`10 milliseconds`). 4) `levureFinishLoadingApplication ` dispatches `OpenApplication` to your application. This is where you display the "testUI" stack of your app. The flicker occurs due to the `send in time` that occurs in step 3, `levureRunApplication`. I just did a test where I called `levureFinishLoadingApplication` inline and the flicker goes away. So now the only issue is to find a fix and I think there is an easy one. In the comments I made for myself in the source code it says that the reason `levureFinishLoadingApplication` is called in time is so that appleEvents can be sent before the application is loaded. This allows URLs that launched application to be tucked away in "process url" levure property and used in `OpenApplication`. Since appleEvents only exist on macOS `in time` only needs to be used on macOS. Try changing line 507 (or thereabouts) in `levure.livecodescript` to the following: ``` if the platform is "macos" then send "levureFinishLoadingApplication" to me in 10 milliseconds else levureFinishLoadingApplication end if ``` In my tests this removes the flicker without breaking the macOS behavior. If it works for you then I will submit a fix to the master branch of Levure. -- Trevor DeVore ScreenSteps www.screensteps.com From dfepstein at comcast.net Thu Jun 7 19:08:30 2018 From: dfepstein at comcast.net (David Epstein) Date: Thu, 7 Jun 2018 19:08:30 -0400 Subject: Area of regular polygon triangles Message-ID: While trying Mike Bonner's suggestion of "manual" measuring, I learned the answer: a regular polygon whose official length is L and width is W is inscribed in the oval whose length is L and width is W. So for an equilateral triangle the area will be 3/4 * 3^.5 * R^2 (where R = L = W). David Epstein From bonnmike at gmail.com Thu Jun 7 19:25:04 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Thu, 7 Jun 2018 17:25:04 -0600 Subject: Area of regular polygon triangles In-Reply-To: References: Message-ID: Cool! On Thu, Jun 7, 2018 at 5:08 PM, David Epstein via use-livecode < use-livecode at lists.runrev.com> wrote: > While trying Mike Bonner's suggestion of "manual" measuring, I learned the > answer: a regular polygon whose official length is L and width is W is > inscribed in the oval whose length is L and width is W. So for an > equilateral triangle the area will be 3/4 * 3^.5 * R^2 (where R = L = W). > > David Epstein > _______________________________________________ > use-livecode mailing list > use-livecode 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 brian at milby7.com Thu Jun 7 23:29:47 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 7 Jun 2018 22:29:47 -0500 Subject: worth it's salt in security In-Reply-To: <5DAE1922-2C6E-49C8-9D16-5AD069779C33@earthlearningsolutions.org> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> <5DAE1922-2C6E-49C8-9D16-5AD069779C33@earthlearningsolutions.org> Message-ID: I've made a brief demo stack that shows one way of handling passwords. https://github.com/bwmilby/lc-misc/tree/master/PasswordDemo I used my ScriptTracker to export the actual scripts and make them available to view online. I also included an image of the stack layout. I used MD5 for the hash to make it work with LC8, but for security applications it is recommended to use SHA3 (or better) which is available in LC9. On Thu, Jun 7, 2018 at 9:12 AM, prothero--- via use-livecode < use-livecode at lists.runrev.com> wrote: > Folks, > A stack that demonstrates the various kinds and best practices for > encryption would be very useful, as the privacy issue has become so > important. When I get encrypted communication with a server worked out, > I?ll post my findings for feedback from those more knowledgeable. Examples > of password security practices would also be useful too. > > Thanks for all the discussion on this topic. > Best, > Bill > > William Prothero > http://earthlearningsolutions.org > > > On Jun 6, 2018, at 10:10 PM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > One big difference is that encrypt is reversible and messagedigest is > not. Generally for password ?storage? you want to use a hash that is one > way. You don?t actually store anything that can be reversed to obtain the > actual password. For that, you are probably better off just doing a couple > of rounds of the digest as the dictionary example shows. > >> On Jun 6, 2018, 11:57 PM -0500, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com>, wrote: > >> I'm learning this along with you. But this is what I think I know so > >> far. If you do a test in the message box: > >> > >> encrypt "mysecret" using "aes256" with password "mypass";put it > >> > >> You get this: > >> > >> Salted__?!??/rm55?it @?r???Q -- (there's a return in there) > >> > >> The salt is prepended to the encrypted value (the "hash") so the > >> receiver knows what it is. The dictionary says that the salt and the > >> password are combined and scrambled before the encryption is actually > >> done, thus making the password longer, more random, and more secure. > >> Without the password, an observer can't decrypt the string. They need to > >> know both. > >> > >> Except...hackers have provided lists of all possible combinations of > >> salted passwords up to 14 characters long ("rainbow tables".) So you > >> don't want to use short combinations or common passwords or it might > >> show up in one of those lists. (I assume if you have a very long and/or > >> random password then it would be okay to have a short salt, or vice > >> versa, since the two are combined.) > >> > >> Brian says that the default random salt is short (8 chars) and Kee says > >> it is safest to provide 32 chars or more. So instead of letting LC > >> auto-generate a salt, you could provide your own. Bob said he does that. > >> If you decide to strip out the salt value from the front of the > >> encrypted string, then your receiver would need to know what it is. > >> > >> Kee says it is common for online services to store a unique salt value > >> for each user, along with the encrypted string that was generated with > >> that salt when the password was first created. The password itself is > >> not stored. When a user logs in, the service looks up their salt value, > >> uses that salt to encrypt the password the user just sent, and compares > >> the computed one to the one stored in the database. (Since no actual > >> passwords are ever kept, breaches or employees can't know what they are > >> either.) > >> > >> In any case, the salt alone is not enough to do decryption. Kee says a > >> long enough salt makes decryption virtually impossible because the > >> number of scrambled combinations becomes astronomical, too many to > >> pre-compute. > >> > >> That's what I've pieced together, I welcome any corrections. This has > >> been a useful thread because I had a vague idea of how it worked but not > >> many particulars. > >> > >> > >>> On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: > >>> Hmmm.... > >>> If the salt is included in the encrypted text, doesn?t that enable > anyone who intercepts it to decrypt it more easily, invalidating the > purpose of using the salt in the first place. > >>> > >>> Or, if the server decrypting the text uses a standard, but secret, > salt that is known by both parties, it seems more reasonable 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 > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 earthlearningsolutions.org Thu Jun 7 23:50:32 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Thu, 7 Jun 2018 20:50:32 -0700 Subject: worth it's salt in security In-Reply-To: References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> <5DAE1922-2C6E-49C8-9D16-5AD069779C33@earthlearningsolutions.org> Message-ID: <5A3B8F98-A7B3-42EB-8E5B-1E015446EC66@earthlearningsolutions.org> Thanks, Brian. Bill William Prothero http://ed.earthednet.org > On Jun 7, 2018, at 8:29 PM, Brian Milby wrote: > > I've made a brief demo stack that shows one way of handling passwords. > https://github.com/bwmilby/lc-misc/tree/master/PasswordDemo > > I used my ScriptTracker to export the actual scripts and make them available to view online. I also included an image of the stack layout. I used MD5 for the hash to make it work with LC8, but for security applications it is recommended to use SHA3 (or better) which is available in LC9. > > >> On Thu, Jun 7, 2018 at 9:12 AM, prothero--- via use-livecode wrote: >> Folks, >> A stack that demonstrates the various kinds and best practices for encryption would be very useful, as the privacy issue has become so important. When I get encrypted communication with a server worked out, I?ll post my findings for feedback from those more knowledgeable. Examples of password security practices would also be useful too. >> >> Thanks for all the discussion on this topic. >> Best, >> Bill >> >> William Prothero >> http://earthlearningsolutions.org >> >> > On Jun 6, 2018, at 10:10 PM, Brian Milby via use-livecode wrote: >> > >> > One big difference is that encrypt is reversible and messagedigest is not. Generally for password ?storage? you want to use a hash that is one way. You don?t actually store anything that can be reversed to obtain the actual password. For that, you are probably better off just doing a couple of rounds of the digest as the dictionary example shows. >> >> On Jun 6, 2018, 11:57 PM -0500, J. Landman Gay via use-livecode , wrote: >> >> I'm learning this along with you. But this is what I think I know so >> >> far. If you do a test in the message box: >> >> >> >> encrypt "mysecret" using "aes256" with password "mypass";put it >> >> >> >> You get this: >> >> >> >> Salted__?!??/rm55?it @?r???Q -- (there's a return in there) >> >> >> >> The salt is prepended to the encrypted value (the "hash") so the >> >> receiver knows what it is. The dictionary says that the salt and the >> >> password are combined and scrambled before the encryption is actually >> >> done, thus making the password longer, more random, and more secure. >> >> Without the password, an observer can't decrypt the string. They need to >> >> know both. >> >> >> >> Except...hackers have provided lists of all possible combinations of >> >> salted passwords up to 14 characters long ("rainbow tables".) So you >> >> don't want to use short combinations or common passwords or it might >> >> show up in one of those lists. (I assume if you have a very long and/or >> >> random password then it would be okay to have a short salt, or vice >> >> versa, since the two are combined.) >> >> >> >> Brian says that the default random salt is short (8 chars) and Kee says >> >> it is safest to provide 32 chars or more. So instead of letting LC >> >> auto-generate a salt, you could provide your own. Bob said he does that. >> >> If you decide to strip out the salt value from the front of the >> >> encrypted string, then your receiver would need to know what it is. >> >> >> >> Kee says it is common for online services to store a unique salt value >> >> for each user, along with the encrypted string that was generated with >> >> that salt when the password was first created. The password itself is >> >> not stored. When a user logs in, the service looks up their salt value, >> >> uses that salt to encrypt the password the user just sent, and compares >> >> the computed one to the one stored in the database. (Since no actual >> >> passwords are ever kept, breaches or employees can't know what they are >> >> either.) >> >> >> >> In any case, the salt alone is not enough to do decryption. Kee says a >> >> long enough salt makes decryption virtually impossible because the >> >> number of scrambled combinations becomes astronomical, too many to >> >> pre-compute. >> >> >> >> That's what I've pieced together, I welcome any corrections. This has >> >> been a useful thread because I had a vague idea of how it worked but not >> >> many particulars. >> >> >> >> >> >>> On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: >> >>> Hmmm.... >> >>> If the salt is included in the encrypted text, doesn?t that enable anyone who intercepts it to decrypt it more easily, invalidating the purpose of using the salt in the first place. >> >>> >> >>> Or, if the server decrypting the text uses a standard, but secret, salt that is known by both parties, it seems more reasonable 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 >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode 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 rabit at revigniter.com Fri Jun 8 05:19:45 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Fri, 8 Jun 2018 11:19:45 +0200 Subject: Levure - flicker prior to displaying UI stack on iOS In-Reply-To: References: Message-ID: <0AECE735-A8C3-4ACD-BD20-CA87F0707D41@revigniter.com> Hi Trevor, wonderful, it works! Thanks a lot for looking into it. Now I am at risk to get addicted to Levure though. Ralf > On 7. Jun 2018, at 23:02, Trevor DeVore via use-livecode wrote: > > Try changing line 507 (or thereabouts) in `levure.livecodescript` to the > following: > > ``` > if the platform is "macos" then > send "levureFinishLoadingApplication" to me in 10 milliseconds > else > levureFinishLoadingApplication > end if > ``` > > In my tests this removes the flicker without breaking the macOS behavior. > If it works for you then I will submit a fix to the master branch of Levure. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.com From lists at mangomultimedia.com Fri Jun 8 09:48:52 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 8 Jun 2018 08:48:52 -0500 Subject: Levure - flicker prior to displaying UI stack on iOS In-Reply-To: <0AECE735-A8C3-4ACD-BD20-CA87F0707D41@revigniter.com> References: <0AECE735-A8C3-4ACD-BD20-CA87F0707D41@revigniter.com> Message-ID: On Fri, Jun 8, 2018 at 4:19 AM, Ralf Bitter via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Trevor, > > wonderful, it works! Thanks a lot for looking into it. > You?re welcome. I?ve added the change to the master branch. > Now I am at risk to get addicted to Levure though. > I hope you enjoy using it! -- Trevor DeVore ScreenSteps www.screensteps.com From theaford at btinternet.com Fri Jun 8 11:44:36 2018 From: theaford at btinternet.com (Terence Heaford) Date: Fri, 8 Jun 2018 16:44:36 +0100 Subject: Open recent File Menu Message-ID: For the life of me I cannot remember how to clear this menu? Most Mac Apps have a Clear Menu item at the foot of the drop down menu, why can?t Livecode? Thanks Terry From klaus at major-k.de Fri Jun 8 11:56:19 2018 From: klaus at major-k.de (Klaus major-k) Date: Fri, 8 Jun 2018 17:56:19 +0200 Subject: Open recent File Menu In-Reply-To: References: Message-ID: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> Hi terence, > Am 08.06.2018 um 17:44 schrieb Terence Heaford via use-livecode : > > For the life of me I cannot remember how to clear this menu? ... set the cRecentStackPaths of stack "revpreferences" to empty ... > Most Mac Apps have a Clear Menu item at the foot of the drop down menu, why can?t Livecode? Livecode CAN, but doesn't! 8-) > Thanks > > Terry Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From brian at milby7.com Fri Jun 8 11:58:38 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 8 Jun 2018 10:58:38 -0500 Subject: Open recent File Menu In-Reply-To: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> Message-ID: Has this ever been requested formally? Seems like a pretty easy add. On Jun 8, 2018, 10:57 AM -0500, Klaus major-k via use-livecode , wrote: > Hi terence, > > > Am 08.06.2018 um 17:44 schrieb Terence Heaford via use-livecode : > > > > For the life of me I cannot remember how to clear this menu? > > ... > set the cRecentStackPaths of stack "revpreferences" to empty > ... > > > Most Mac Apps have a Clear Menu item at the foot of the drop down menu, why can?t Livecode? > > Livecode CAN, but doesn't! 8-) > > > Thanks > > > > Terry > > 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 bobsneidar at iotecdigital.com Fri Jun 8 12:08:37 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 8 Jun 2018 16:08:37 +0000 Subject: Open recent File Menu In-Reply-To: References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> Message-ID: <4DE77861-D6CD-4E84-B001-AB1C76ED0178@iotecdigital.com> Not that it is relevant here, but I have a recent customer popup menu in my app, and even IT has a Clear Menu selection. :-) Bob S > On Jun 8, 2018, at 08:58 , Brian Milby via use-livecode wrote: > > Has this ever been requested formally? Seems like a pretty easy add. > On Jun 8, 2018, 10:57 AM -0500, Klaus major-k via use-livecode , wrote: >> Hi terence, >> >>> Am 08.06.2018 um 17:44 schrieb Terence Heaford via use-livecode : >>> >>> For the life of me I cannot remember how to clear this menu? >> >> ... >> set the cRecentStackPaths of stack "revpreferences" to empty >> ... >> >>> Most Mac Apps have a Clear Menu item at the foot of the drop down menu, why can?t Livecode? >> >> Livecode CAN, but doesn't! 8-) >> >>> Thanks >>> >>> Terry >> >> 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 > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Fri Jun 8 12:55:38 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 8 Jun 2018 12:55:38 -0400 Subject: worth it's salt in security In-Reply-To: <5A3B8F98-A7B3-42EB-8E5B-1E015446EC66@earthlearningsolutions.org> References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> <5DAE1922-2C6E-49C8-9D16-5AD069779C33@earthlearningsolutions.org> <5A3B8F98-A7B3-42EB-8E5B-1E015446EC66@earthlearningsolutions.org> Message-ID: cool demo stack brian..... i would exchange the md5 to a modern hashing algo .... but demonstrates the point well. thanks. On Thu, Jun 7, 2018 at 11:50 PM, prothero--- via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks, Brian. > Bill > > William Prothero > http://ed.earthednet.org > > > On Jun 7, 2018, at 8:29 PM, Brian Milby wrote: > > > > I've made a brief demo stack that shows one way of handling passwords. > > https://github.com/bwmilby/lc-misc/tree/master/PasswordDemo > > > > I used my ScriptTracker to export the actual scripts and make them > available to view online. I also included an image of the stack layout. I > used MD5 for the hash to make it work with LC8, but for security > applications it is recommended to use SHA3 (or better) which is available > in LC9. > > > > > >> On Thu, Jun 7, 2018 at 9:12 AM, prothero--- via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Folks, > >> A stack that demonstrates the various kinds and best practices for > encryption would be very useful, as the privacy issue has become so > important. When I get encrypted communication with a server worked out, > I?ll post my findings for feedback from those more knowledgeable. Examples > of password security practices would also be useful too. > >> > >> Thanks for all the discussion on this topic. > >> Best, > >> Bill > >> > >> William Prothero > >> http://earthlearningsolutions.org > >> > >> > On Jun 6, 2018, at 10:10 PM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > > >> > One big difference is that encrypt is reversible and messagedigest is > not. Generally for password ?storage? you want to use a hash that is one > way. You don?t actually store anything that can be reversed to obtain the > actual password. For that, you are probably better off just doing a couple > of rounds of the digest as the dictionary example shows. > >> >> On Jun 6, 2018, 11:57 PM -0500, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com>, wrote: > >> >> I'm learning this along with you. But this is what I think I know so > >> >> far. If you do a test in the message box: > >> >> > >> >> encrypt "mysecret" using "aes256" with password "mypass";put it > >> >> > >> >> You get this: > >> >> > >> >> Salted__?!??/rm55?it @?r???Q -- (there's a return in there) > >> >> > >> >> The salt is prepended to the encrypted value (the "hash") so the > >> >> receiver knows what it is. The dictionary says that the salt and the > >> >> password are combined and scrambled before the encryption is actually > >> >> done, thus making the password longer, more random, and more secure. > >> >> Without the password, an observer can't decrypt the string. They > need to > >> >> know both. > >> >> > >> >> Except...hackers have provided lists of all possible combinations of > >> >> salted passwords up to 14 characters long ("rainbow tables".) So you > >> >> don't want to use short combinations or common passwords or it might > >> >> show up in one of those lists. (I assume if you have a very long > and/or > >> >> random password then it would be okay to have a short salt, or vice > >> >> versa, since the two are combined.) > >> >> > >> >> Brian says that the default random salt is short (8 chars) and Kee > says > >> >> it is safest to provide 32 chars or more. So instead of letting LC > >> >> auto-generate a salt, you could provide your own. Bob said he does > that. > >> >> If you decide to strip out the salt value from the front of the > >> >> encrypted string, then your receiver would need to know what it is. > >> >> > >> >> Kee says it is common for online services to store a unique salt > value > >> >> for each user, along with the encrypted string that was generated > with > >> >> that salt when the password was first created. The password itself is > >> >> not stored. When a user logs in, the service looks up their salt > value, > >> >> uses that salt to encrypt the password the user just sent, and > compares > >> >> the computed one to the one stored in the database. (Since no actual > >> >> passwords are ever kept, breaches or employees can't know what they > are > >> >> either.) > >> >> > >> >> In any case, the salt alone is not enough to do decryption. Kee says > a > >> >> long enough salt makes decryption virtually impossible because the > >> >> number of scrambled combinations becomes astronomical, too many to > >> >> pre-compute. > >> >> > >> >> That's what I've pieced together, I welcome any corrections. This has > >> >> been a useful thread because I had a vague idea of how it worked but > not > >> >> many particulars. > >> >> > >> >> > >> >>> On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: > >> >>> Hmmm.... > >> >>> If the salt is included in the encrypted text, doesn?t that enable > anyone who intercepts it to decrypt it more easily, invalidating the > purpose of using the salt in the first place. > >> >>> > >> >>> Or, if the server decrypting the text uses a standard, but secret, > salt that is known by both parties, it seems more reasonable 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 > >> > _______________________________________________ > >> > use-livecode mailing list > >> > use-livecode 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 lists at mangomultimedia.com Fri Jun 8 12:56:26 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Fri, 8 Jun 2018 11:56:26 -0500 Subject: Convert UTM to Lat/Long Message-ID: I need to convert UTM coordinates to lat/long coordinates so I converted the python script found at the following url to LiveCode: https://stackoverflow.com/questions/343865/how-to-convert-from-utm-to-latlng-in-python-or-javascript I?ve saved it as a gist in case anybody else needs it. https://gist.github.com/trevordevore/e2c2bff637564202f41ecfb93a00352a -- Trevor DeVore ScreenSteps www.screensteps.com From brian at milby7.com Fri Jun 8 13:15:01 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 8 Jun 2018 12:15:01 -0500 Subject: worth it's salt in security In-Reply-To: References: <2e465049-0b4d-2306-6596-b9e1cfabb89d@fourthworld.com> <4D781D05-83DA-4500-9ED9-5481EA21886A@earthlearningsolutions.org> <26686497-6989-3bbd-68f2-320ebc581a65@hyperactivesw.com> <424e6e3c-cd89-42f8-91d6-c7f53103a6e3@Spark> <5DAE1922-2C6E-49C8-9D16-5AD069779C33@earthlearningsolutions.org> <5A3B8F98-A7B3-42EB-8E5B-1E015446EC66@earthlearningsolutions.org> Message-ID: Roger. I used MD5 to have it work in LC8 but will add a card that uses SHA3. I also want to implement the RFC HMAC as a demo (unless I find that someone else has already done it). On Jun 8, 2018, 11:56 AM -0500, Tom Glod via use-livecode , wrote: > cool demo stack brian..... i would exchange the md5 to a modern hashing > algo .... but demonstrates the point well. thanks. > > On Thu, Jun 7, 2018 at 11:50 PM, prothero--- via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Thanks, Brian. > > Bill > > > > William Prothero > > http://ed.earthednet.org > > > > > On Jun 7, 2018, at 8:29 PM, Brian Milby wrote: > > > > > > I've made a brief demo stack that shows one way of handling passwords. > > > https://github.com/bwmilby/lc-misc/tree/master/PasswordDemo > > > > > > I used my ScriptTracker to export the actual scripts and make them > > available to view online. I also included an image of the stack layout. I > > used MD5 for the hash to make it work with LC8, but for security > > applications it is recommended to use SHA3 (or better) which is available > > in LC9. > > > > > > > > > > On Thu, Jun 7, 2018 at 9:12 AM, prothero--- via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > Folks, > > > > A stack that demonstrates the various kinds and best practices for > > encryption would be very useful, as the privacy issue has become so > > important. When I get encrypted communication with a server worked out, > > I?ll post my findings for feedback from those more knowledgeable. Examples > > of password security practices would also be useful too. > > > > > > > > Thanks for all the discussion on this topic. > > > > Best, > > > > Bill > > > > > > > > William Prothero > > > > http://earthlearningsolutions.org > > > > > > > > > On Jun 6, 2018, at 10:10 PM, Brian Milby via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > One big difference is that encrypt is reversible and messagedigest is > > not. Generally for password ?storage? you want to use a hash that is one > > way. You don?t actually store anything that can be reversed to obtain the > > actual password. For that, you are probably better off just doing a couple > > of rounds of the digest as the dictionary example shows. > > > > > > On Jun 6, 2018, 11:57 PM -0500, J. Landman Gay via use-livecode < > > use-livecode at lists.runrev.com>, wrote: > > > > > > I'm learning this along with you. But this is what I think I know so > > > > > > far. If you do a test in the message box: > > > > > > > > > > > > encrypt "mysecret" using "aes256" with password "mypass";put it > > > > > > > > > > > > You get this: > > > > > > > > > > > > Salted__?!??/rm55?it @?r???Q -- (there's a return in there) > > > > > > > > > > > > The salt is prepended to the encrypted value (the "hash") so the > > > > > > receiver knows what it is. The dictionary says that the salt and the > > > > > > password are combined and scrambled before the encryption is actually > > > > > > done, thus making the password longer, more random, and more secure. > > > > > > Without the password, an observer can't decrypt the string. They > > need to > > > > > > know both. > > > > > > > > > > > > Except...hackers have provided lists of all possible combinations of > > > > > > salted passwords up to 14 characters long ("rainbow tables".) So you > > > > > > don't want to use short combinations or common passwords or it might > > > > > > show up in one of those lists. (I assume if you have a very long > > and/or > > > > > > random password then it would be okay to have a short salt, or vice > > > > > > versa, since the two are combined.) > > > > > > > > > > > > Brian says that the default random salt is short (8 chars) and Kee > > says > > > > > > it is safest to provide 32 chars or more. So instead of letting LC > > > > > > auto-generate a salt, you could provide your own. Bob said he does > > that. > > > > > > If you decide to strip out the salt value from the front of the > > > > > > encrypted string, then your receiver would need to know what it is. > > > > > > > > > > > > Kee says it is common for online services to store a unique salt > > value > > > > > > for each user, along with the encrypted string that was generated > > with > > > > > > that salt when the password was first created. The password itself is > > > > > > not stored. When a user logs in, the service looks up their salt > > value, > > > > > > uses that salt to encrypt the password the user just sent, and > > compares > > > > > > the computed one to the one stored in the database. (Since no actual > > > > > > passwords are ever kept, breaches or employees can't know what they > > are > > > > > > either.) > > > > > > > > > > > > In any case, the salt alone is not enough to do decryption. Kee says > > a > > > > > > long enough salt makes decryption virtually impossible because the > > > > > > number of scrambled combinations becomes astronomical, too many to > > > > > > pre-compute. > > > > > > > > > > > > That's what I've pieced together, I welcome any corrections. This has > > > > > > been a useful thread because I had a vague idea of how it worked but > > not > > > > > > many particulars. > > > > > > > > > > > > > > > > > > > On 6/6/18 10:37 PM, prothero--- via use-livecode wrote: > > > > > > > Hmmm.... > > > > > > > If the salt is included in the encrypted text, doesn?t that enable > > anyone who intercepts it to decrypt it more easily, invalidating the > > purpose of using the salt in the first place. > > > > > > > > > > > > > > Or, if the server decrypting the text uses a standard, but secret, > > salt that is known by both parties, it seems more reasonable 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 > > > > > _______________________________________________ > > > > > use-livecode mailing list > > > > > use-livecode 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 ludovic.thebault at laposte.net Fri Jun 8 13:17:51 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Fri, 8 Jun 2018 19:17:51 +0200 Subject: Convert UTM to Lat/Long In-Reply-To: References: Message-ID: <74CE9CA8-AC3E-4413-B0BC-667763330FC4@laposte.net> > Le 8 juin 2018 ? 18:56, Trevor DeVore via use-livecode a ?crit : > > I need to convert UTM coordinates to lat/long coordinates so I converted > the python script found at the following url to LiveCode: > > https://stackoverflow.com/questions/343865/how-to-convert-from-utm-to-latlng-in-python-or-javascript > > I?ve saved it as a gist in case anybody else needs it. > > https://gist.github.com/trevordevore/e2c2bff637564202f41ecfb93a00352a Thanks, it could be useful for me ! From bobsneidar at iotecdigital.com Fri Jun 8 13:56:50 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 8 Jun 2018 17:56:50 +0000 Subject: PullDown Menu and the label Message-ID: <020A0D89-12B7-4ACD-8733-79A137421C5A@iotecdigital.com> Hi all. I'm pretty sure this is a bug. If I set the label of a pulldown menu button where the label was empty before, the button does not display the label. I checked the property inspector, and the label is indeed set, but the label does not display until I interact with the button and actually select the menu choice. Setting the text, then setting the label or even the menuHistory does not suffice to display the menu label. Bug? Expected behavior? It seems to work with every other menu button type. Mac 10.13 LC v9 Community Bob S From ambassador at fourthworld.com Fri Jun 8 16:05:46 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 8 Jun 2018 13:05:46 -0700 Subject: PullDown Menu and the label In-Reply-To: <020A0D89-12B7-4ACD-8733-79A137421C5A@iotecdigital.com> References: <020A0D89-12B7-4ACD-8733-79A137421C5A@iotecdigital.com> Message-ID: Bob Sneidar wrote: > I'm pretty sure this is a bug. If I set the label of a pulldown menu > button where the label was empty before, the button does not display > the label. I checked the property inspector, and the label is indeed > set, but the label does not display until I interact with the button > and actually select the menu choice. > > Setting the text, then setting the label or even the menuHistory does > not suffice to display the menu label. Bug? Expected behavior? It > seems to work with every other menu button type. Setting the text of a pulldown menu should not change that object's apparent label. In any app, note the menu bar menus: items in a menu may change, but those changes do not change the name of the menu in which they appear. As for the label property itself, yes, one of the wonderful things about LC is the ability to set object name and display label separately, so we can use names that have mnemonic value in our code while providing a graceful experience for the user. But FWIW that seems to work here (v9, Ubuntu). I've never seen it do otherwise. Recipe? -- 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 theaford at btinternet.com Fri Jun 8 16:38:44 2018 From: theaford at btinternet.com (Terence Heaford) Date: Fri, 8 Jun 2018 21:38:44 +0100 Subject: Open recent File Menu In-Reply-To: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> Message-ID: <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> > On 8 Jun 2018, at 16:56, Klaus major-k via use-livecode wrote: > > set the cRecentStackPaths of stack "revpreferences" to empty Thanks very much. Terry From bobsneidar at iotecdigital.com Fri Jun 8 16:54:26 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 8 Jun 2018 20:54:26 +0000 Subject: PullDown Menu and the label In-Reply-To: References: <020A0D89-12B7-4ACD-8733-79A137421C5A@iotecdigital.com> Message-ID: <7E33077B-2FA1-4D27-AA9B-D1F1668EE4D9@iotecdigital.com> I have noticed that if you set the text of a menu button without setting the label, the label becomes the first line in the text. It may only do this on a Mac though. I will try with a new stack. There may be something in mine preventing it from working. Who knows? Bob S > On Jun 8, 2018, at 13:05 , Richard Gaskin via use-livecode wrote: > > Bob Sneidar wrote: > > I'm pretty sure this is a bug. If I set the label of a pulldown menu > > button where the label was empty before, the button does not display > > the label. I checked the property inspector, and the label is indeed > > set, but the label does not display until I interact with the button > > and actually select the menu choice. > > > > Setting the text, then setting the label or even the menuHistory does > > not suffice to display the menu label. Bug? Expected behavior? It > > seems to work with every other menu button type. > > Setting the text of a pulldown menu should not change that object's apparent label. In any app, note the menu bar menus: items in a menu may change, but those changes do not change the name of the menu in which they appear. > > As for the label property itself, yes, one of the wonderful things about LC is the ability to set object name and display label separately, so we can use names that have mnemonic value in our code while providing a graceful experience for the user. > > But FWIW that seems to work here (v9, Ubuntu). > > I've never seen it do otherwise. > > Recipe? > > -- > Richard Gaskin From ambassador at fourthworld.com Fri Jun 8 17:10:41 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 8 Jun 2018 14:10:41 -0700 Subject: PullDown Menu and the label In-Reply-To: <7E33077B-2FA1-4D27-AA9B-D1F1668EE4D9@iotecdigital.com> References: <7E33077B-2FA1-4D27-AA9B-D1F1668EE4D9@iotecdigital.com> Message-ID: <7faa42e9-89e2-3782-4320-85e64b6f17a4@fourthworld.com> Bob Sneidar wrote: > I have noticed that if you set the text of a menu button without > setting the label, the label becomes the first line in the text. > It may only do this on a Mac though. If you haven't set the label, what exactly appears in that first line in the text? If you find a step-by-step recipe I'd be happy to try it here. -- Richard Gaskin Fourth World Systems From bobsneidar at iotecdigital.com Fri Jun 8 18:08:56 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 8 Jun 2018 22:08:56 +0000 Subject: PullDown Menu and the label In-Reply-To: <7faa42e9-89e2-3782-4320-85e64b6f17a4@fourthworld.com> References: <7E33077B-2FA1-4D27-AA9B-D1F1668EE4D9@iotecdigital.com> <7faa42e9-89e2-3782-4320-85e64b6f17a4@fourthworld.com> Message-ID: Sorry Iwas working on something else. I may not have explained it well. I have a Pulldown Menu with these options: Device Installation Device Relocation Firmware Update Onsite Service Remote Service Software Installation Other... When no datagrid record is selected, I set the label of this menu to empty, because it is both a display object for the selected record in the datagrid, as well as an input object when editing the data. Now the handler which "populates" the form will set the label to the value in the datagrid record corresponding to it. But when the user clicks the New button on the form, all the input objects/controls are initialized, and in the past I simply set the label of this button to empty. But now instead of leaving the object empty, I want to pre-populate it with the text, "Select the service type..." as a visula clue for the user. When I set the label of the button to "Select the service type...", instead of displaying that text, it displays nothing, but in the property inspector, the label is actually set properly. Other menu buttons seem to work, and I thought this worked in the past, but now it seems not to. I will throw a demo together later. I have to get a new employee and computer set up in AD before Monday Morning and I am running out of time. Thanks though for your interest and help. Best list ever! Bob S > On Jun 8, 2018, at 14:10 , Richard Gaskin via use-livecode wrote: > > Bob Sneidar wrote: > > > I have noticed that if you set the text of a menu button without > > setting the label, the label becomes the first line in the text. > > It may only do this on a Mac though. > > If you haven't set the label, what exactly appears in that first line in the text? > > If you find a step-by-step recipe I'd be happy to try it here. > > -- > Richard Gaskin > Fourth World Systems From brahma at hindu.org Sat Jun 9 09:30:11 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 9 Jun 2018 13:30:11 +0000 Subject: Android won't quit In-Reply-To: <163db68f1b0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> <005101d3fe87$db651030$922f3090$@net> <163db68f1b0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Well, thanks Ralph snaky explanation, I am gonna opt out. Call it a feature "will not implement" and tell beta testers "This goes against Android OS. If want quit the app, use the Android "Force Quit" Even on iOS they have double click home and swipe up Jacque said: "I want to wipe the app completely so that on next launch I can reinitialize everything" Hmmm. Tell turn your users to "Force Quit" in order re-init. Ugly UI, of course. But there are certain processes where the OS wants to re-boot. What fight it? BR ?On 6/7/18, 8:01 AM, "use-livecode on behalf of J. Landman Gay via use-livecode" wrote: It could be solved if we had suspend and resume messages but I heard this is difficult to implement on Android. From lists at mangomultimedia.com Sat Jun 9 11:14:17 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Sat, 9 Jun 2018 10:14:17 -0500 Subject: Convert UTM to Lat/Long In-Reply-To: <74CE9CA8-AC3E-4413-B0BC-667763330FC4@laposte.net> References: <74CE9CA8-AC3E-4413-B0BC-667763330FC4@laposte.net> Message-ID: On Fri, Jun 8, 2018 at 12:17 PM, Ludovic THEBAULT via use-livecode < use-livecode at lists.runrev.com> wrote: > > > Le 8 juin 2018 ? 18:56, Trevor DeVore via use-livecode < > use-livecode at lists.runrev.com> a ?crit : > > > > I need to convert UTM coordinates to lat/long coordinates so I converted > > the python script found at the following url to LiveCode: > > > > https://stackoverflow.com/questions/343865/how-to- > convert-from-utm-to-latlng-in-python-or-javascript > > > > I?ve saved it as a gist in case anybody else needs it. > > > > https://gist.github.com/trevordevore/e2c2bff637564202f41ecfb93a00352a < > https://gist.github.com/trevordevore/e2c2bff637564202f41ecfb93a00352a> > > Thanks, it could be useful for me ! > I added a screencast to my YouTube channel showing how I use the function in a VR photo workflow. To me it is a great example of how LiveCode allows me to not only create commercial software, but also make more time for my hobbies. https://youtu.be/riLtdSB8DP8 -- Trevor DeVore ScreenSteps www.screensteps.com From jacque at hyperactivesw.com Sat Jun 9 11:29:48 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sat, 09 Jun 2018 10:29:48 -0500 Subject: Android won't quit In-Reply-To: References: <93950e31-e847-e0d6-4ca2-2c9e5fc01cdb@hyperactivesw.com> <610AF3D9-8C9A-4421-B3B7-A9CFF1CD44FB@hindu.org> <005101d3fe87$db651030$922f3090$@net> <163db68f1b0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <163e5226e48.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> There's a pull request already, Panos was on it immediately. It will be fixed in the next release. Apparently the problem was reintroduced accidentally after it was fixed the first time. Android has a swipe-to-kill also but a clean quit is better, of course. I do understand about the complexities of the Android OS, and Ralph was right that the problem was a null pointer. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 9, 2018 8:32:18 AM Sannyasin Brahmanathaswami via use-livecode wrote: > Well, thanks Ralph snaky explanation, I am gonna opt out. Call it a > feature "will not implement" and tell beta testers > > "This goes against Android OS. If want quit the app, use the Android "Force > Quit" > > Even on iOS they have double click home and swipe up > > Jacque said: "I want to wipe the app completely so that on next launch I can > reinitialize everything" > > Hmmm. Tell turn your users to "Force Quit" in order re-init. > > Ugly UI, of course. But there are certain processes where the OS wants to > re-boot. > > What fight it? > > BR > > > ?On 6/7/18, 8:01 AM, "use-livecode on behalf of J. Landman Gay via > use-livecode" use-livecode at lists.runrev.com> wrote: > > It could be solved if we had suspend and resume messages but I heard this > is difficult to implement on Android. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 dougr at telus.net Sat Jun 9 14:23:42 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sat, 9 Jun 2018 11:23:42 -0700 Subject: Android USB port Message-ID: <019701d4001f$009814e0$01c83ea0$@net> Sorry if this is a repeat but I have not seen any replies to my previous query from April 19 ("Android assistance / information?") This query is likely to need someone in this community as versed in Android as Monte Goulding is in iOS. One of the beauties of LC is its cross-platform ability. The app I've written in iOS ports just fine to Android .. at least the user-interactive and data processing parts do. .. without changing one line of code (and it's a complex app) ... how slick is that??? Obviously, there is a lack of an equivalent Android BLE function for communicating to my Arduino which I have working splendidly in iOS. So... I'm looking for information / assistance on how to implement a "hardwired" connection from an Arduino to an Android device (currently have an older- Galaxy Tab 4 running v 5.1.1) ... but if I need a newer model, newer OS, that's do-able. I'm hoping (?against hope?) that all I need is the "device name" for the USB port on the Android and the rest I can handle using the "open device" serial handles in LC. I understand that one reason that LC may have and still is avoiding the Android BLE topic is due to the varieties and variations within the numerous version of the Android OS's. For me, I just need to be able to demonstrate a mobile device (iOS or Android) being able to communicate with an Arduino app via a USB hardwire connection. I REALLY don't care which OS it is and if I have to use iOS for BLE and Android for USB... that's just fine! Any help would be greatly appreciated!! I'm sure in this age of wireless-ness, hardwire connectivity is a conceptual dinosaur but, for us die-hards, it remains a viable alternative. Douglas Ruisaard Trilogy Software (250) 573-3935 From tom at makeshyft.com Sat Jun 9 14:51:35 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 9 Jun 2018 14:51:35 -0400 Subject: Android USB port In-Reply-To: <019701d4001f$009814e0$01c83ea0$@net> References: <019701d4001f$009814e0$01c83ea0$@net> Message-ID: I can't help you but .... i loved your testimonial. On Sat, Jun 9, 2018 at 2:23 PM, Douglas Ruisaard via use-livecode < use-livecode at lists.runrev.com> wrote: > Sorry if this is a repeat but I have not seen any replies to my previous > query from April 19 ("Android assistance / information?") > > This query is likely to need someone in this community as versed in > Android as Monte Goulding is in iOS. One of the beauties of LC is its > cross-platform ability. The app I've written in iOS ports just fine to > Android .. at least the user-interactive and data processing parts do. .. > without changing one line of code (and it's a complex app) ... how slick is > that??? Obviously, there is a lack of an equivalent Android BLE function > for communicating to my Arduino which I have working splendidly in iOS. > So... I'm looking for information / assistance on how to implement a > "hardwired" connection from an Arduino to an Android device (currently > have an older- Galaxy Tab 4 running v 5.1.1) ... but if I need a newer > model, newer OS, that's do-able. > > I'm hoping (?against hope?) that all I need is the "device name" for the > USB port on the Android and the rest I can handle using the "open device" > serial handles in LC. I understand that one reason that LC may have and > still is avoiding the Android BLE topic is due to the varieties and > variations within the numerous version of the Android OS's. For me, I just > need to be able to demonstrate a mobile device (iOS or Android) being able > to communicate with an Arduino app via a USB hardwire connection. I REALLY > don't care which OS it is and if I have to use iOS for BLE and Android for > USB... that's just fine! > > Any help would be greatly appreciated!! I'm sure in this age of > wireless-ness, hardwire connectivity is a conceptual dinosaur but, for us > die-hards, it remains a viable alternative. > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sat Jun 9 22:55:11 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sun, 10 Jun 2018 02:55:11 +0000 Subject: Anything LiveCode Can Learn From GO Message-ID: https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65 BR From harrison at all-auctions.com Sun Jun 10 10:27:53 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Sun, 10 Jun 2018 10:27:53 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: References: Message-ID: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> Hi Sannyasin, I found a quick small snippet of some ?Hello World? GO code and have listed it below. I much prefer LiveCode syntax over this stuff any day. Stick with LiveCode, it?s just better! Just my 2 cents for the day. Cheers, Rick Add a test to the stringutil package by creating the file$GOPATH/src/github.com/user/stringutil/reverse_test.go containing the following Go code. package stringutil import "testing" func TestReverse(t *testing.T) { cases := []struct { in, want string }{ {"Hello, world", "dlrow ,olleH"}, {"Hello, ??", "?? ,olleH"}, {"", ""}, } for _, c := range cases { got := Reverse(c.in) if got != c.want { t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want) } } } Then run the test with go test: $ go test github.com/user/stringutil ok github.com/user/stringutil 0.165s > On Jun 9, 2018, at 10:55 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > > https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65 > > BR From tom at makeshyft.com Sun Jun 10 11:00:53 2018 From: tom at makeshyft.com (Tom Glod) Date: Sun, 10 Jun 2018 11:00:53 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> Message-ID: LC and Go have entirely different target markets....but since you can easily make 1 application talk to another application using sockets ..... or open process...... the LC and Go make a wonderful partnership if you need to build UI ...but also do High Performance Computing. The 2 can make a great couple indeed. But neither can replace the other. On Sun, Jun 10, 2018 at 10:27 AM, Rick Harrison via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Sannyasin, > > I found a quick small snippet of some ?Hello World? GO code and have > listed it below. > > I much prefer LiveCode syntax over this stuff any day. > Stick with LiveCode, it?s just better! > > Just my 2 cents for the day. > > Cheers, > > Rick > > Add a test to the stringutil package by creating the file$GOPATH/src/ > github.com/user/stringutil/reverse_test.go containing the following Go > code. > > package stringutil > > import "testing" > > func TestReverse(t *testing.T) { > cases := []struct { > in, want string > }{ > {"Hello, world", "dlrow ,olleH"}, > {"Hello, ??", "?? ,olleH"}, > {"", ""}, > } > for _, c := range cases { > got := Reverse(c.in) > if got != c.want { > t.Errorf("Reverse(%q) == %q, want %q", c.in, got, > c.want) > } > } > } > Then run the test with go test: > > $ go test github.com/user/stringutil > ok github.com/user/stringutil 0.165s > > > > On Jun 9, 2018, at 10:55 PM, Sannyasin Brahmanathaswami via use-livecode > wrote: > > > > https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65 > > > > 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 dougr at telus.net Sun Jun 10 11:44:22 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Sun, 10 Jun 2018 08:44:22 -0700 Subject: Android USB port In-Reply-To: Rx8yfhKogcl1bRx93fA5af References: Rx8yfhKogcl1bRx93fA5af Message-ID: <01cd01d400d1$e8ab6ae0$ba0240a0$@net> Thanks, Tom ... got a chuckle out of your reply! To be fair, Erik Beugelaar *did* reply back on April 24 (I must have missed it) and suggested looking into Jave FFI (supported by LC v9) for possible methodologies. I have NO CLUE regarding Java... and, cynical as it may be, I don't expect to be able to learn it at my age. I would be quite interested in anyone with that ability and knowledge to assist ... quite negotiable. I'm looking for (ideally) a native LC solution. Given the scope and flexibility of LC, it's hard to imagine that there isn't a way to access the Android USB port. Apple, if it isn't known, requires you to sell your first-born, sign a contract in blood and then embed a "special" hardware chip in your device in order to ALLOW USB connectivity. I'm good with using BlueTooth for iOS... but Android has me stumped unless this community can lend a hand. It'd be right-neighborly of ya to do so! > > I can't help you but .... i loved your testimonial. > Douglas Ruisaard Trilogy Software (250) 573-3935 From tom at makeshyft.com Sun Jun 10 18:05:35 2018 From: tom at makeshyft.com (Tom Glod) Date: Sun, 10 Jun 2018 18:05:35 -0400 Subject: Android USB port In-Reply-To: <01cd01d400d1$e8ab6ae0$ba0240a0$@net> References: <01cd01d400d1$e8ab6ae0$ba0240a0$@net> Message-ID: its very rare that something is not possible ....i hope you find the help you need...... I have yet to use livecode for mobile dev .... desktop...different story.....dunno if u've tried the forum....the (gitter) chatroom may also be good place to ask advanced questions too. On Sun, Jun 10, 2018 at 11:44 AM, Douglas Ruisaard via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks, Tom ... got a chuckle out of your reply! To be fair, Erik > Beugelaar *did* reply back on April 24 (I must have missed it) and > suggested looking into Jave FFI (supported by LC v9) for possible > methodologies. I have NO CLUE regarding Java... and, cynical as it may be, > I don't expect to be able to learn it at my age. I would be quite > interested in anyone with that ability and knowledge to assist ... quite > negotiable. I'm looking for (ideally) a native LC solution. Given the > scope and flexibility of LC, it's hard to imagine that there isn't a way to > access the Android USB port. > > Apple, if it isn't known, requires you to sell your first-born, sign a > contract in blood and then embed a "special" hardware chip in your device > in order to ALLOW USB connectivity. I'm good with using BlueTooth for > iOS... but Android has me stumped unless this community can lend a hand. > It'd be right-neighborly of ya to do so! > > > > > I can't help you but .... i loved your testimonial. > > > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 brian at milby7.com Sun Jun 10 20:38:22 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 10 Jun 2018 19:38:22 -0500 Subject: Object Referencing in LC 9.0.0 In-Reply-To: References: <6a9b07cb-37e8-422b-6bb2-78f9149668bb@gmail.com> Message-ID: Here's the revised function call: on seSetObjectState objRef, objState if objRef is empty then pass seSetObjectState put the long id of objRef into t1 put the long id of btn "Lib" of cd "LibMgr" of stack "MasterLibrary" into t2 if t1 = t2 and objState = "applied" then send "updateMasterIndex" to cd "LibMgr" of stack "MasterLibrary" in 1 ticks end if pass seSetObjectState end seSetObjectState So it looks like the message was being received with objRef empty causing the issue. (I used my Script Tracker to generate a diff of v47 to v48 to find the change.) [This is more for anyone finding this thread in the future since Mike already found and fixed the issue.] On Tue, May 29, 2018 at 10:26 AM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I cannot make heads nor tails of your post. The asterisks and words > running together make it impossible to read. > > Bob S > > > > On May 26, 2018, at 13:34 , Michael Doub via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Can someone using 9.0.0 help me out? > > > > This used to work in LC 7 but now generates an error on the second line > (*put*thelongidofobjRef intot1). What is the new correct syntax? This > popped up in the MasterLibrary. > > > > -= Thanks > > Mike > > > > > > *on*seSetObjectState objRef, objState* > > put*thelongidofobjRef intot1 * > > put*thelongidofbtn"Lib"ofcd"LibMgr"ofstack"MasterLibrary"intot2* > > if* t1 = t2 andobjState = "applied"*then** > > send*"updateMasterIndex"tocd"LibMgr"ofstack"MasterLibrary" > in1ticks* > > end* *if** > > pass*seSetObjectState* > > end*seSetObjectState > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 toolbook at kestner.de Mon Jun 11 04:54:46 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Mon, 11 Jun 2018 10:54:46 +0200 Subject: Best practise approach for artwork for iOS and Android? Message-ID: <000b01d40161$d987d400$8c977c00$@kestner.de> Hi, I have three old windows program (going back to the 90th), designed for children, which are based on "full window" image backgrounds (douzends of cards, each with another background image) and lots of small detail images. Up to now I have only developed LiveCode for Windows and MacOS, no experience yet with iOS and Android development. I try to evaluate the work load to redevelop those old windows programs for mobile and one general question before I start is the art work. Since the old art work has a size about 800x600 by 72dpi, I obviously would need to let redesign all art work for the todays resolutions, which would be a pretty costly part of the project and probably the go or nogo for the whole project. Since there are so many different screen sizes, resolutions and aspect ratios on iOS and Android, I wonder how to cover all those variants technically in LiveCode and basically from the art work side. E.g. which size and ratio I would have to let create the "master" images by the artist (to be also on the safe side for the next years)? Since I can't let design for each ratio a different master image for each card, I probably would have to distort the "master" image to each different screen size (app only for tablets in landscape mode)? Could I let make the OS the distortion of one background image per card in LiveCode, or would I need to import and assign different images (which I have distored in photoshop before) for each screen size in each card? Additionally I would need to create douzends of polygons as clickable objects, above each image for small parts of it, where I am not sure, if they would keep their exact target area, when the background image will be distort - probably not. Up to now it looks to me as a never ending story, but perhaps I don't see a good approach Any experience or pointers to a how to are very welcome. Tiemo From kee.nethery at elloco.com Mon Jun 11 09:47:55 2018 From: kee.nethery at elloco.com (Kee Nethery) Date: Mon, 11 Jun 2018 06:47:55 -0700 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: <000b01d40161$d987d400$8c977c00$@kestner.de> References: <000b01d40161$d987d400$8c977c00$@kestner.de> Message-ID: If you use the imagery you have, don?t distort it to fill the screen. That always looks bad. Add white space and/or crop but keep the proportions correct. If you run them through a smoothing filter to up the dpi, you will want to bit poke each image to restore sharp corners that should not have been rounded. Personally, if the app worked well with the images you had, and redoing them is your big go/no go, I?d use the images you have. If one app gains traction, perhaps v2 has new images. Toss them all against the wall and see what sticks. My two cents. Kee Nethery On Jun 11, 2018, at 1:54 AM, Tiemo Hollmann TB via use-livecode wrote: > Hi, > > I have three old windows program (going back to the 90th), designed for > children, which are based on "full window" image backgrounds (douzends of > cards, each with another background image) and lots of small detail images. > Up to now I have only developed LiveCode for Windows and MacOS, no > experience yet with iOS and Android development. I try to evaluate the work > load to redevelop those old windows programs for mobile and one general > question before I start is the art work. Since the old art work has a size > about 800x600 by 72dpi, I obviously would need to let redesign all art work > for the todays resolutions, which would be a pretty costly part of the > project and probably the go or nogo for the whole project. > > > > Since there are so many different screen sizes, resolutions and aspect > ratios on iOS and Android, I wonder how to cover all those variants > technically in LiveCode and basically from the art work side. E.g. which > size and ratio I would have to let create the "master" images by the artist > (to be also on the safe side for the next years)? > > Since I can't let design for each ratio a different master image for each > card, I probably would have to distort the "master" image to each different > screen size (app only for tablets in landscape mode)? Could I let make the > OS the distortion of one background image per card in LiveCode, or would I > need to import and assign different images (which I have distored in > photoshop before) for each screen size in each card? Additionally I would > need to create douzends of polygons as clickable objects, above each image > for small parts of it, where I am not sure, if they would keep their exact > target area, when the background image will be distort - probably not. > > > > Up to now it looks to me as a never ending story, but perhaps I don't see a > good approach > > Any experience or pointers to a how to are very welcome. > > > > Tiemo > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 panos.merakos at livecode.com Mon Jun 11 10:48:31 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 11 Jun 2018 15:48:31 +0100 Subject: [ANN] This Week in LiveCode 132 Message-ID: Hi all, Read about new developments in LiveCode open source and the open source community in today's edition of the "This Week in LiveCode" newsletter! Read issue #132 here: https://goo.gl/x6H5Ym This is a weekly newsletter about LiveCode, focussing on what's been going on in and around the open source project. New issues will be released weekly on Mondays. We have a dedicated mailing list that will deliver each issue directly to you e-mail, so you don't miss any! If you have anything you'd like mentioned (a project, a discussion somewhere, an upcoming event) then please get in touch. -- Panagiotis Merakos LiveCode Software Developer Everyone Can Create Apps From richmondmathewson at gmail.com Mon Jun 11 14:51:06 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Mon, 11 Jun 2018 21:51:06 +0300 Subject: scancodes Message-ID: <44062c6a-05b1-6790-c579-79f074f2cb9b@gmail.com> So . . . messing around, as one does, I started to think about scancodes: that is to say, signals sent by USB devices (and others) when keys are pressed . . . The main reason for this is that if I have this sort of code in a LiveCode stack: on rawKeyDown RD put RD end rawKeyDown on rawKeyUp RU put RU end rawKeyUp RD and RU will be the same, while the actual scancodes sent from the keyboard to the computer should be different for keyDown and keyUp. I realise that this is fairly silly unless one wants one's program to do different things from a keyDown to a keyUp, and that there are comparatively straightforward ways to ensure this without accessing the scancodes. Notwithstanding . . . Richmond. From bonnmike at gmail.com Mon Jun 11 15:16:35 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Mon, 11 Jun 2018 13:16:35 -0600 Subject: scancodes In-Reply-To: <44062c6a-05b1-6790-c579-79f074f2cb9b@gmail.com> References: <44062c6a-05b1-6790-c579-79f074f2cb9b@gmail.com> Message-ID: Don't think of a key press and key release as if they should be 2 different can codes, instead think of them as as being state changes. Like a light. Send power to the lightbulb, the light is on. Remove power from the bulb, the light is off. The bulb is still the same bulb. Same with the keyboard and keycodes.. The light is on! (key pressed) The light is off! (key released) The identifier for the key (the scancode) remains the same. Or from a livecode perspective.. Click and hold a button and on mousedown, report the target. on mouseup, the same target is reported due to a state change. Click begun (mousedown) click completed (mouseup). So no, the scancodes shouldn't be different. (If you play with an arduino, the same applies there. Checking and changing pin states, setting a voltage high, or low, but the pin assignment remains the same, only its state changes from high to low, IE on to off) On Mon, Jun 11, 2018 at 12:51 PM, Richmond Mathewson via use-livecode < use-livecode at lists.runrev.com> wrote: > So . . . messing around, as one does, I started to think about scancodes: > that is to say, signals sent by USB devices (and others) > when keys are pressed . . . > > The main reason for this is that if I have this sort of code in a LiveCode > stack: > > on rawKeyDown RD > put RD > end rawKeyDown > > on rawKeyUp RU > put RU > end rawKeyUp > > RD and RU will be the same, > > while the actual scancodes sent from the keyboard to the computer should > be different for > keyDown and keyUp. > > I realise that this is fairly silly unless one wants one's program to do > different things from a keyDown to a keyUp, and that there are > comparatively straightforward > ways to ensure this without accessing the scancodes. > > Notwithstanding . . . > > 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 jacque at hyperactivesw.com Mon Jun 11 15:58:00 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 11 Jun 2018 14:58:00 -0500 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: <000b01d40161$d987d400$8c977c00$@kestner.de> References: <000b01d40161$d987d400$8c977c00$@kestner.de> Message-ID: <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> I would bulk-convert all the images to a higher resolution, perhaps 144dpi. On Mac, Graphic Converter can batch process these in seconds, and I am sure there are other programs that do the same on both Mac and Windows. Use these higher-resolution images in your project. On mobile, use fullScreenMode "showAll", which will automatically adjust the display to fit any resolution and screen size on both iOS and Android. Depending on the original card size, some edges will either be cropped or empty space will be added. There are ways around this, mainly by displaying an image at a larger size than the (original) card size. There was a bug in the showAll fullscreenmode when navigating cards, but that has just been fixed and will be in the next 9.0 release. There are also workarounds for this right now if you don't want to wait. This is a quick process that doesn't take much time because you won't have to adjust every image. On 6/11/18 3:54 AM, Tiemo Hollmann TB via use-livecode wrote: > Hi, > > I have three old windows program (going back to the 90th), designed for > children, which are based on "full window" image backgrounds (douzends of > cards, each with another background image) and lots of small detail images. > Up to now I have only developed LiveCode for Windows and MacOS, no > experience yet with iOS and Android development. I try to evaluate the work > load to redevelop those old windows programs for mobile and one general > question before I start is the art work. Since the old art work has a size > about 800x600 by 72dpi, I obviously would need to let redesign all art work > for the todays resolutions, which would be a pretty costly part of the > project and probably the go or nogo for the whole project. > > > > Since there are so many different screen sizes, resolutions and aspect > ratios on iOS and Android, I wonder how to cover all those variants > technically in LiveCode and basically from the art work side. E.g. which > size and ratio I would have to let create the "master" images by the artist > (to be also on the safe side for the next years)? > > Since I can't let design for each ratio a different master image for each > card, I probably would have to distort the "master" image to each different > screen size (app only for tablets in landscape mode)? Could I let make the > OS the distortion of one background image per card in LiveCode, or would I > need to import and assign different images (which I have distored in > photoshop before) for each screen size in each card? Additionally I would > need to create douzends of polygons as clickable objects, above each image > for small parts of it, where I am not sure, if they would keep their exact > target area, when the background image will be distort - probably not. > > > > Up to now it looks to me as a never ending story, but perhaps I don't see a > good approach > > Any experience or pointers to a how to are very welcome. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From jacque at hyperactivesw.com Mon Jun 11 16:02:31 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Mon, 11 Jun 2018 15:02:31 -0500 Subject: Android USB port In-Reply-To: <01cd01d400d1$e8ab6ae0$ba0240a0$@net> References: <01cd01d400d1$e8ab6ae0$ba0240a0$@net> Message-ID: On 6/10/18 10:44 AM, Douglas Ruisaard via use-livecode wrote: > Apple, if it isn't known, requires you to sell your first-born, sign a contract in blood and then embed a "special" hardware chip in your device in order to ALLOW USB connectivity. I'm good with using BlueTooth for iOS... but Android has me stumped unless this community can lend a hand. You can use Bluetooth with Android as well, but we don't have an external for that yet. USB connectivity has always been missing on all platforms, and I don't know of any plans to add it. It sounds like what you need is a custom Android external for BlueTooth. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From brahma at hindu.org Mon Jun 11 20:08:00 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 12 Jun 2018 00:08:00 +0000 Subject: Anything LiveCode Can Learn From GO In-Reply-To: References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> Message-ID: <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. {snip] On the other hand, Go was released in 2009 when multi-core processors were already available. That?s why Go is built with keeping concurrency in mind. Go has goroutines instead of threads. They consume almost 2KB memory from the heap. So, you can spin millions of goroutines at any time. How Goroutines work? Reffrance: http://golangtutorials.blogspot.in/2011/06/goroutines.html Other benefits are : Goroutines have growable segmented stacks. That means they will use more memory only when needed. Goroutines have a faster startup time than threads. Goroutines come with built-in primitives to communicate safely between themselves (channels). Goroutines allow you to avoid having to resort to mutex locking when sharing data structures. Also, goroutines and OS threads do not have 1:1 mapping. A single goroutine can run on multiple threads. Goroutines are multiplexed into small number of OS threads. ========= And from the reference a "Goroutine" may be not language specific and maybe (I don't know much about the engine) I am dreaming about the rabbit in the moon, but, for Mark's "idea machine" there is this: " Effectively for us goroutines hides many of the internal machine complexities in achieving parallelism. This also means that the language designers could implement changes to how goroutines scale on the machine taking advantage of hardware and CPU improvements." Brahmanathaswami ?On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via use-livecode" wrote: LC and Go have entirely different target markets....but since you can easily make 1 application talk to another application using sockets ..... or open process...... the LC and Go make a wonderful partnership if you need to build UI ...but also do High Performance Computing. The 2 can make a great couple indeed. But neither can replace the other. From brahma at hindu.org Mon Jun 11 20:21:37 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 12 Jun 2018 00:21:37 +0000 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: <000b01d40161$d987d400$8c977c00$@kestner.de> References: <000b01d40161$d987d400$8c977c00$@kestner.de> Message-ID: <5592BE68-2321-4772-B5B8-A1355D477B70@hindu.org> Other replied on resolution. I'll reply as to content. You may not have the option, but there is a "safe zone" for landscape and portrait. We recently hire an artist to do a kid's story. She was asked to put "sky" the top and "grass" and the bottom and significant elements in "safe zone" Later we are will set the image to "the loc of this card" (centered) On devices that crop, we lose the top and bottom but significant elements remain visible. Is this helpful? Probably not... if it is, I have a "safe zone" stack I can send you. Brahmanathaswami ?On 6/10/18, 10:55 PM, "use-livecode on behalf of Tiemo Hollmann TB via use-livecode" wrote: Up to now it looks to me as a never ending story, but perhaps I don't see a good approach Any experience or pointers to a how to are very welcome. From gcanyon at gmail.com Mon Jun 11 20:21:59 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 11 Jun 2018 17:21:59 -0700 Subject: Optimization can be tricky Message-ID: ?I have a routine that takes about a minute to run for the test case I created, and who knows how long for the real use case. Given that I want to run it several thousand times for actual work, I need it to run (much) faster. Roughly, the routine gathers together a bunch of data from arrays, sorts the data based on its relationship to other arrays, and then returns a subset of the result. My first pass at the routine looked roughly like this: repeat for each line T in the keys of interestArray[uID] repeat for each line S in storyArray[T] if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ and userSeenArray[uID][item 1 of S] < 4 then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ abs(item 2 of S - item 1 of interestArray[uID][T]) - \ item 2 of interestArray[uID][T]),T,S & cr after candidateList end repeat end repeat sort lines of candidateList numeric by random(item 1 of each) In simple terms: parse through the individual lines of all the entries that possibly work, calculating a relevant value for each and appending that value and the line to an interim list, which then gets sorted, randomly favoring lower values. I assumed the problem was all the line-by-line parsing, and I thought of a clever way to accomplish the same thing. That led to this: put storyArray into R intersect R with interestArray[uID] combine R using cr and comma sort lines of R by (101 + userSeenArray[uID][item 2 of each] * 30 + 5 * \ abs(item 3 of each - item 1 of interestArray[uID][item 1 of each]) \ - item 2 of interestArray[uID][item 1 of each]) Much simpler, albeit that's a heck of a "sort by" -- more complex by far than any I had previously created, and a testament to the power and flexibility of "each". Alas, despite condensing my code and removing parsing and loops, that version took ten seconds more than the previous version, I'm guessing because the previous version has that "if" statement that weeds out undesirable entries before the sort has to deal with them. (I'm writing this email as I parse through this figuring it out) So it turns out that the crazy use of "each" is only part of the problem -- changing that line to: sort lines of R by random(10000) still takes over 20 seconds -- 3x as fast, but still far too slow. It turns out that the source data numbers anywhere from 1,000 to 2,000 lines, so sorting it in any way to randomly select the several lines I need is a really bad choice. removing the sort step but keeping everything else cuts the execution time down to under a second. Hmm. How to select several lines at weighted random from among a couple thousand? I'll think on this and post a follow-up. From tom at makeshyft.com Mon Jun 11 21:02:48 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 11 Jun 2018 21:02:48 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> Message-ID: i see what you mean..... the single threaded aspect of LC is a drag....... i'm actually trying my hand at some kind of workaround for this limitation for the global conference in september ....i aim to do some multi-core processing using LC and measure performance gain over specific workloads ...like search....db query..... and i/o. On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > I wasn't thinking about high language per se. but more from an engine > point of view, specifically use of "Goroutines" > > "But, most of the modern programming languages(like Java, Python etc.) are > from the ?90s single threaded environment. Most of those programming > languages supports multi-threading. But the real problem comes with > concurrent execution, threading-locking, race conditions and deadlocks. > Those things make it hard to create a multi-threading application on those > languages. > {snip] > On the other hand, Go was released in 2009 when multi-core processors were > already available. That?s why Go is built with keeping concurrency in mind. > Go has goroutines instead of threads. They consume almost 2KB memory from > the heap. So, you can spin millions of goroutines at any time. > > How Goroutines work? Reffrance: http://golangtutorials. > blogspot.in/2011/06/goroutines.html > > Other benefits are : > > Goroutines have growable segmented stacks. That means they will use > more memory only when needed. > Goroutines have a faster startup time than threads. > Goroutines come with built-in primitives to communicate safely between > themselves (channels). > Goroutines allow you to avoid having to resort to mutex locking when > sharing data structures. > Also, goroutines and OS threads do not have 1:1 mapping. A single > goroutine can run on multiple threads. Goroutines are multiplexed into > small number of OS threads. > ========= > > And from the reference a "Goroutine" may be not language specific and > maybe (I don't know much about the engine) I am dreaming about the rabbit > in the moon, but, for Mark's "idea machine" there is this: > > " Effectively for us goroutines hides many of the internal machine > complexities in achieving parallelism. This also means that the language > designers could implement changes to how goroutines scale on the machine > taking advantage of hardware and CPU improvements." > > Brahmanathaswami > > > ?On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via > use-livecode" use-livecode at lists.runrev.com> wrote: > > LC and Go have entirely different target markets....but since you can > easily make 1 application talk to another application using sockets > ..... > or open process...... the LC and Go make a wonderful partnership if you > need to build UI ...but also do High Performance Computing. > > The 2 can make a great couple indeed. But neither can replace the > other. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Mon Jun 11 21:04:14 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 11 Jun 2018 21:04:14 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> Message-ID: but as i understand it ...changing a single threaded app to multi-threaded at its core is a huge undertaking aand i'm not sure its even on the drawing board for v 12 ...but i could be wrong....maybe its coming in v10 :D :D :D On Mon, Jun 11, 2018 at 9:02 PM, Tom Glod wrote: > i see what you mean..... the single threaded aspect of LC is a > drag....... i'm actually trying my hand at some kind of workaround for this > limitation for the global conference in september ....i aim to do some > multi-core processing using LC and measure performance gain over specific > workloads ...like search....db query..... and i/o. > > On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via > use-livecode wrote: > >> I wasn't thinking about high language per se. but more from an engine >> point of view, specifically use of "Goroutines" >> >> "But, most of the modern programming languages(like Java, Python etc.) >> are from the ?90s single threaded environment. Most of those programming >> languages supports multi-threading. But the real problem comes with >> concurrent execution, threading-locking, race conditions and deadlocks. >> Those things make it hard to create a multi-threading application on those >> languages. >> {snip] >> On the other hand, Go was released in 2009 when multi-core processors >> were already available. That?s why Go is built with keeping concurrency in >> mind. Go has goroutines instead of threads. They consume almost 2KB memory >> from the heap. So, you can spin millions of goroutines at any time. >> >> How Goroutines work? Reffrance: http://golangtutorials.blogspo >> t.in/2011/06/goroutines.html >> >> Other benefits are : >> >> Goroutines have growable segmented stacks. That means they will use >> more memory only when needed. >> Goroutines have a faster startup time than threads. >> Goroutines come with built-in primitives to communicate safely >> between themselves (channels). >> Goroutines allow you to avoid having to resort to mutex locking when >> sharing data structures. >> Also, goroutines and OS threads do not have 1:1 mapping. A single >> goroutine can run on multiple threads. Goroutines are multiplexed into >> small number of OS threads. >> ========= >> >> And from the reference a "Goroutine" may be not language specific and >> maybe (I don't know much about the engine) I am dreaming about the rabbit >> in the moon, but, for Mark's "idea machine" there is this: >> >> " Effectively for us goroutines hides many of the internal machine >> complexities in achieving parallelism. This also means that the language >> designers could implement changes to how goroutines scale on the machine >> taking advantage of hardware and CPU improvements." >> >> Brahmanathaswami >> >> >> ?On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via >> use-livecode" > use-livecode at lists.runrev.com> wrote: >> >> LC and Go have entirely different target markets....but since you can >> easily make 1 application talk to another application using sockets >> ..... >> or open process...... the LC and Go make a wonderful partnership if >> you >> need to build UI ...but also do High Performance Computing. >> >> The 2 can make a great couple indeed. But neither can replace the >> other. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 tom at makeshyft.com Mon Jun 11 21:08:42 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 11 Jun 2018 21:08:42 -0400 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: please do goeff.... this subject is very interesting to me. i have some problems where i need to optimize in a similar way. which kind of repeat look have u found works fastest? have u tried ? repeat for each key this_key in array? is that slower? i love saving milliseconds. :) makes a big diff at scale. On Mon, Jun 11, 2018 at 8:21 PM, Geoff Canyon via use-livecode < use-livecode at lists.runrev.com> wrote: > ?I have a routine that takes about a minute to run for the test case I > created, and who knows how long for the real use case. Given that I want to > run it several thousand times for actual work, I need it to run (much) > faster. > > Roughly, the routine gathers together a bunch of data from arrays, sorts > the data based on its relationship to other arrays, and then returns a > subset of the result. > > My first pass at the routine looked roughly like this: > > repeat for each line T in the keys of interestArray[uID] > repeat for each line S in storyArray[T] > if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ > and userSeenArray[uID][item 1 of S] < 4 > then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ > abs(item 2 of S - item 1 of interestArray[uID][T]) - \ > item 2 of interestArray[uID][T]),T,S & cr after > candidateList > end repeat > end repeat > sort lines of candidateList numeric by random(item 1 of each) > > In simple terms: parse through the individual lines of all the entries that > possibly work, calculating a relevant value for each and appending that > value and the line to an interim list, which then gets sorted, randomly > favoring lower values. > > I assumed the problem was all the line-by-line parsing, and I thought of a > clever way to accomplish the same thing. That led to this: > > put storyArray into R > intersect R with interestArray[uID] > combine R using cr and comma > sort lines of R by (101 + userSeenArray[uID][item 2 of each] * 30 + 5 * > \ > abs(item 3 of each - item 1 of interestArray[uID][item 1 of each]) > \ > - item 2 of interestArray[uID][item 1 of each]) > > Much simpler, albeit that's a heck of a "sort by" -- more complex by far > than any I had previously created, and a testament to the power and > flexibility of "each". Alas, despite condensing my code and removing > parsing and loops, that version took ten seconds more than the previous > version, I'm guessing because the previous version has that "if" statement > that weeds out undesirable entries before the sort has to deal with them. > > (I'm writing this email as I parse through this figuring it out) > > So it turns out that the crazy use of "each" is only part of the problem -- > changing that line to: > > sort lines of R by random(10000) > > still takes over 20 seconds -- 3x as fast, but still far too slow. It turns > out that the source data numbers anywhere from 1,000 to 2,000 lines, so > sorting it in any way to randomly select the several lines I need is a > really bad choice. removing the sort step but keeping everything else cuts > the execution time down to under a second. > > Hmm. How to select several lines at weighted random from among a couple > thousand? I'll think on this and post a follow-up. > _______________________________________________ > use-livecode mailing list > use-livecode 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 jerry at jhjensen.com Mon Jun 11 21:30:26 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Mon, 11 Jun 2018 18:30:26 -0700 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <80DCC1B4-1642-4BDD-B6E3-66D7A5CE28AF@jhjensen.com> At first glance, it looks like you might save some time by grabbing interestArray[uID][T] as soon as you have T, and then use what you grabbed in the 3 later places instead of re-figuring interestArray[uID][T] each time. As in: repeat for each line T in the keys of interestArray[uID] put interestArray[uID][T] into AuT ?- grab it here repeat for each line S in storyArray[T] if abs(item 2 of S - item 1 of AuT) < 20 \ and userSeenArray[uID][item 1 of S] < 4 then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ abs(item 2 of S - item 1 of AuT) - \ item 2 of AuT),T,S & cr after candidateList end repeat end repeat sort lines of candidateList numeric by random(item 1 of each) It looks like you could do a similar thing with userSeenArray[uID][item 1 of S] to avoid repeating the same calculation. Also with item 1 of AuT, and item 2 of S, with lesser gains but while you?re at it? That all will make it easier (or harder) to read, depending on if you can find descriptive variable names for the intermediate values. It won?t help the sort speed, but saves a lot of array un-hashing. I haven?t figured out what the algoraithm is doing, or the idea of the randomness in the sort. All untested, of course! Cheers, Jerry > On Jun 11, 2018, at 5:21 PM, Geoff Canyon via use-livecode wrote: > > My first pass at the routine looked roughly like this: > > repeat for each line T in the keys of interestArray[uID] > repeat for each line S in storyArray[T] > if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ > and userSeenArray[uID][item 1 of S] < 4 > then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ > abs(item 2 of S - item 1 of interestArray[uID][T]) - \ > item 2 of interestArray[uID][T]),T,S & cr after candidateList > end repeat > end repeat > sort lines of candidateList numeric by random(item 1 of each) From brian at milby7.com Tue Jun 12 01:16:59 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 12 Jun 2018 00:16:59 -0500 Subject: Optimization can be tricky In-Reply-To: <80DCC1B4-1642-4BDD-B6E3-66D7A5CE28AF@jhjensen.com> References: <80DCC1B4-1642-4BDD-B6E3-66D7A5CE28AF@jhjensen.com> Message-ID: <1bd0ea6d-d0d5-4c64-9acb-88733ed9c53d@Spark> Do you need the entire list sorted randomly or are you just needing to select N random entries from the list (weighted)? How does the speed change if you do a simple numeric sort? You could use a function on a random number to weight things - would need to work out the right math to get what you want. Something like random(n)^2/n^2 possibly. Depending on how heavily you want to prefer one end, you could use log or ln. Your initial code is calculating ?item 1 of interestArray[uID][T]? once or twice for every line S. I?m guessing that if you evaluate that to a variable once per repeat it would provide a small gain. Depending on how often the if turns out to be true, some additional variables could possibly reduce the number of duplicate calculations enough to offset the cost of the assignment (what Jerry mentioned). On Jun 11, 2018, 8:30 PM -0500, Jerry Jensen via use-livecode , wrote: > At first glance, it looks like you might save some time by grabbing interestArray[uID][T] as soon as you have T, and then use what you grabbed in the 3 later places instead of re-figuring interestArray[uID][T] each time. > > As in: > repeat for each line T in the keys of interestArray[uID] > put interestArray[uID][T] into AuT ?- grab it here > repeat for each line S in storyArray[T] > if abs(item 2 of S - item 1 of AuT) < 20 \ > and userSeenArray[uID][item 1 of S] < 4 > then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ > abs(item 2 of S - item 1 of AuT) - \ > item 2 of AuT),T,S & cr after candidateList > end repeat > end repeat > sort lines of candidateList numeric by random(item 1 of each) > > It looks like you could do a similar thing with userSeenArray[uID][item 1 of S] to avoid repeating the same calculation. > Also with item 1 of AuT, and item 2 of S, with lesser gains but while you?re at it? > That all will make it easier (or harder) to read, depending on if you can find descriptive variable names for the intermediate values. > > It won?t help the sort speed, but saves a lot of array un-hashing. > I haven?t figured out what the algoraithm is doing, or the idea of the randomness in the sort. > > All untested, of course! > Cheers, > Jerry > > > On Jun 11, 2018, at 5:21 PM, Geoff Canyon via use-livecode wrote: > > > > My first pass at the routine looked roughly like this: > > > > repeat for each line T in the keys of interestArray[uID] > > repeat for each line S in storyArray[T] > > if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ > > and userSeenArray[uID][item 1 of S] < 4 > > then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ > > abs(item 2 of S - item 1 of interestArray[uID][T]) - \ > > item 2 of interestArray[uID][T]),T,S & cr after candidateList > > end repeat > > end repeat > > sort lines of candidateList numeric by random(item 1 of each) > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 toolbook at kestner.de Tue Jun 12 02:27:37 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Tue, 12 Jun 2018 08:27:37 +0200 Subject: AW: Best practise approach for artwork for iOS and Android? In-Reply-To: <5592BE68-2321-4772-B5B8-A1355D477B70@hindu.org> References: <000b01d40161$d987d400$8c977c00$@kestner.de> <5592BE68-2321-4772-B5B8-A1355D477B70@hindu.org> Message-ID: <000e01d40216$75738cb0$605aa610$@kestner.de> Hi Brahmanathaswami, this is a very clever approach, I would use, if I would make a new design of the images. In my case I can't add "sky" or "bottom-grass". Thanks for the idea Tiemo -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von Sannyasin Brahmanathaswami via use-livecode Gesendet: Dienstag, 12. Juni 2018 02:22 An: How to use LiveCode Cc: Sannyasin Brahmanathaswami Betreff: Re: Best practise approach for artwork for iOS and Android? Other replied on resolution. I'll reply as to content. You may not have the option, but there is a "safe zone" for landscape and portrait. We recently hire an artist to do a kid's story. She was asked to put "sky" the top and "grass" and the bottom and significant elements in "safe zone" Later we are will set the image to "the loc of this card" (centered) On devices that crop, we lose the top and bottom but significant elements remain visible. Is this helpful? Probably not... if it is, I have a "safe zone" stack I can send you. Brahmanathaswami ?On 6/10/18, 10:55 PM, "use-livecode on behalf of Tiemo Hollmann TB via use-livecode" wrote: Up to now it looks to me as a never ending story, but perhaps I don't see a good approach Any experience or pointers to a how to are very welcome. _______________________________________________ use-livecode mailing list use-livecode 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 toolbook at kestner.de Tue Jun 12 03:01:27 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Tue, 12 Jun 2018 09:01:27 +0200 Subject: AW: Best practise approach for artwork for iOS and Android? In-Reply-To: <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> References: <000b01d40161$d987d400$8c977c00$@kestner.de> <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> Message-ID: <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> Hi Jacque, I thought the dpi only reflects at print, because any screen has it's fixed pixels. I think an image 800x600 with 144 dpi looks identical on any screen, as an image 800x600 with 72 dpi because in both cases 800x600 screen pixels are being used and there is nothing between the pixels. Or don't I see anything here? But perhaps I really hould try to start the project with the old 800x600 images, as you and also Kee Nethery pointed out. In this case I am not sure what would give the better quality in point-of-view resolution. Importing the original old 800x600 images into LiveCode and let the LiveCode engine stretch (not distore) the images to a full screen size (with white space on some edges at some disply sizes), or would photoshop make a better job in interpolating pixels, if I would enlarge all images in photoshop to lets say 2732x2014 (or even 3200x2400) and let the LiveCode engine shrink the images to fit each screen. Tiemo -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von J. Landman Gay via use-livecode Gesendet: Montag, 11. Juni 2018 21:58 An: How to use LiveCode Cc: J. Landman Gay Betreff: Re: Best practise approach for artwork for iOS and Android? I would bulk-convert all the images to a higher resolution, perhaps 144dpi. On Mac, Graphic Converter can batch process these in seconds, and I am sure there are other programs that do the same on both Mac and Windows. Use these higher-resolution images in your project. On mobile, use fullScreenMode "showAll", which will automatically adjust the display to fit any resolution and screen size on both iOS and Android. Depending on the original card size, some edges will either be cropped or empty space will be added. There are ways around this, mainly by displaying an image at a larger size than the (original) card size. There was a bug in the showAll fullscreenmode when navigating cards, but that has just been fixed and will be in the next 9.0 release. There are also workarounds for this right now if you don't want to wait. This is a quick process that doesn't take much time because you won't have to adjust every image. On 6/11/18 3:54 AM, Tiemo Hollmann TB via use-livecode wrote: > Hi, > > I have three old windows program (going back to the 90th), designed > for children, which are based on "full window" image backgrounds > (douzends of cards, each with another background image) and lots of small detail images. > Up to now I have only developed LiveCode for Windows and MacOS, no > experience yet with iOS and Android development. I try to evaluate the > work load to redevelop those old windows programs for mobile and one > general question before I start is the art work. Since the old art > work has a size about 800x600 by 72dpi, I obviously would need to let > redesign all art work for the todays resolutions, which would be a > pretty costly part of the project and probably the go or nogo for the whole project. > > > > Since there are so many different screen sizes, resolutions and aspect > ratios on iOS and Android, I wonder how to cover all those variants > technically in LiveCode and basically from the art work side. E.g. > which size and ratio I would have to let create the "master" images by > the artist (to be also on the safe side for the next years)? > > Since I can't let design for each ratio a different master image for > each card, I probably would have to distort the "master" image to each > different screen size (app only for tablets in landscape mode)? Could > I let make the OS the distortion of one background image per card in > LiveCode, or would I need to import and assign different images (which > I have distored in photoshop before) for each screen size in each > card? Additionally I would need to create douzends of polygons as > clickable objects, above each image for small parts of it, where I am > not sure, if they would keep their exact target area, when the background image will be distort - probably not. > > > > Up to now it looks to me as a never ending story, but perhaps I don't > see a good approach > > Any experience or pointers to a how to are very welcome. -- 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 chipsm at themartinz.com Tue Jun 12 03:35:49 2018 From: chipsm at themartinz.com (chipsm at themartinz.com) Date: Tue, 12 Jun 2018 00:35:49 -0700 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <1b7b01d4021f$fc09f620$f41de260$@themartinz.com> I know that this might be a different use-case but I have a CA Lottery - Fantasy five lottery parser that collects lottery data and loads it into a matrix and provides the total number of hits for each number. This also has 4 optimization buttons to the show differences. This aupplication was optimized by our Pasadena LiveCode user's group. Drop me an email and I will send you a zipped copy of the Script with a sample lotto data file with approximately 8000 lines of picks. Email: chipsm at themartinz.com -----Original Message----- From: use-livecode On Behalf Of Geoff Canyon via use-livecode Sent: Monday, June 11, 2018 5:22 PM To: How to use LiveCode Cc: Geoff Canyon Subject: Optimization can be tricky ?I have a routine that takes about a minute to run for the test case I created, and who knows how long for the real use case. Given that I want to run it several thousand times for actual work, I need it to run (much) faster. Roughly, the routine gathers together a bunch of data from arrays, sorts the data based on its relationship to other arrays, and then returns a subset of the result. My first pass at the routine looked roughly like this: repeat for each line T in the keys of interestArray[uID] repeat for each line S in storyArray[T] if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ and userSeenArray[uID][item 1 of S] < 4 then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ abs(item 2 of S - item 1 of interestArray[uID][T]) - \ item 2 of interestArray[uID][T]),T,S & cr after candidateList end repeat end repeat sort lines of candidateList numeric by random(item 1 of each) In simple terms: parse through the individual lines of all the entries that possibly work, calculating a relevant value for each and appending that value and the line to an interim list, which then gets sorted, randomly favoring lower values. I assumed the problem was all the line-by-line parsing, and I thought of a clever way to accomplish the same thing. That led to this: put storyArray into R intersect R with interestArray[uID] combine R using cr and comma sort lines of R by (101 + userSeenArray[uID][item 2 of each] * 30 + 5 * \ abs(item 3 of each - item 1 of interestArray[uID][item 1 of each]) \ - item 2 of interestArray[uID][item 1 of each]) Much simpler, albeit that's a heck of a "sort by" -- more complex by far than any I had previously created, and a testament to the power and flexibility of "each". Alas, despite condensing my code and removing parsing and loops, that version took ten seconds more than the previous version, I'm guessing because the previous version has that "if" statement that weeds out undesirable entries before the sort has to deal with them. (I'm writing this email as I parse through this figuring it out) So it turns out that the crazy use of "each" is only part of the problem -- changing that line to: sort lines of R by random(10000) still takes over 20 seconds -- 3x as fast, but still far too slow. It turns out that the source data numbers anywhere from 1,000 to 2,000 lines, so sorting it in any way to randomly select the several lines I need is a really bad choice. removing the sort step but keeping everything else cuts the execution time down to under a second. Hmm. How to select several lines at weighted random from among a couple thousand? I'll think on this and post a follow-up. _______________________________________________ use-livecode mailing list use-livecode 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.lloyd at livecode.com Tue Jun 12 04:08:53 2018 From: ali.lloyd at livecode.com (Ali Lloyd) Date: Tue, 12 Jun 2018 09:08:53 +0100 Subject: Optimization can be tricky In-Reply-To: <1b7b01d4021f$fc09f620$f41de260$@themartinz.com> References: <1b7b01d4021f$fc09f620$f41de260$@themartinz.com> Message-ID: Hi Geoff, One thing to try in your original code, which should be significantly faster if the array is big, is using > repeat for each key T in interestArray[uID] instead of > repeat for each line T in the keys of interestArray[uID] The latter has to allocate memory for a string containing all the keys, AND iterate through the lines of that string, whereas repeating for each key directly accesses the keys of the array in hash order, and thus no extra allocation will occur and the iteration is faster than finding the next line delimiter each time. On Tue, Jun 12, 2018 at 8:35 AM Clarence Martin via use-livecode < use-livecode at lists.runrev.com> wrote: > I know that this might be a different use-case but I have a CA Lottery - > Fantasy five lottery parser that collects lottery data and loads it into a > matrix and provides the total number of hits for each number. This also > has 4 optimization buttons to the show differences. This aupplication was > optimized by our Pasadena LiveCode user's group. Drop me an email and I > will send you a zipped copy of the Script with a sample lotto data file > with approximately 8000 lines of picks. > Email: chipsm at themartinz.com > > -----Original Message----- > From: use-livecode On Behalf Of > Geoff Canyon via use-livecode > Sent: Monday, June 11, 2018 5:22 PM > To: How to use LiveCode > Cc: Geoff Canyon > Subject: Optimization can be tricky > > ?I have a routine that takes about a minute to run for the test case I > created, and who knows how long for the real use case. Given that I want to > run it several thousand times for actual work, I need it to run (much) > faster. > > Roughly, the routine gathers together a bunch of data from arrays, sorts > the data based on its relationship to other arrays, and then returns a > subset of the result. > > My first pass at the routine looked roughly like this: > > repeat for each line T in the keys of interestArray[uID] > repeat for each line S in storyArray[T] > if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ > and userSeenArray[uID][item 1 of S] < 4 > then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ > abs(item 2 of S - item 1 of interestArray[uID][T]) - \ > item 2 of interestArray[uID][T]),T,S & cr after > candidateList > end repeat > end repeat > sort lines of candidateList numeric by random(item 1 of each) > > In simple terms: parse through the individual lines of all the entries > that possibly work, calculating a relevant value for each and appending > that value and the line to an interim list, which then gets sorted, > randomly favoring lower values. > > I assumed the problem was all the line-by-line parsing, and I thought of a > clever way to accomplish the same thing. That led to this: > > put storyArray into R > intersect R with interestArray[uID] > combine R using cr and comma > sort lines of R by (101 + userSeenArray[uID][item 2 of each] * 30 + 5 * > \ > abs(item 3 of each - item 1 of interestArray[uID][item 1 of > each]) \ > - item 2 of interestArray[uID][item 1 of each]) > > Much simpler, albeit that's a heck of a "sort by" -- more complex by far > than any I had previously created, and a testament to the power and > flexibility of "each". Alas, despite condensing my code and removing > parsing and loops, that version took ten seconds more than the previous > version, I'm guessing because the previous version has that "if" statement > that weeds out undesirable entries before the sort has to deal with them. > > (I'm writing this email as I parse through this figuring it out) > > So it turns out that the crazy use of "each" is only part of the problem > -- changing that line to: > > sort lines of R by random(10000) > > still takes over 20 seconds -- 3x as fast, but still far too slow. It > turns out that the source data numbers anywhere from 1,000 to 2,000 lines, > so sorting it in any way to randomly select the several lines I need is a > really bad choice. removing the sort step but keeping everything else cuts > the execution time down to under a second. > > Hmm. How to select several lines at weighted random from among a couple > thousand? I'll think on this and post a follow-up. > _______________________________________________ > use-livecode mailing list > use-livecode 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 iphonelagi at gmail.com Tue Jun 12 05:17:46 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Tue, 12 Jun 2018 10:17:46 +0100 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: References: <000b01d40161$d987d400$8c977c00$@kestner.de> Message-ID: Hi, I don't know what sort of images you have but take a look at xara ( xara.com/designer-pro/features) Scroll down to the intelligent scaling video - better yet they have a trial. I think the intelligent scaling might even give you the "safe Zone" that SB mentioned Regards Lagi Lagi On Mon, 11 Jun 2018 at 14:48, Kee Nethery via use-livecode < use-livecode at lists.runrev.com> wrote: > If you use the imagery you have, don?t distort it to fill the screen. That > always looks bad. Add white space and/or crop but keep the proportions > correct. > > If you run them through a smoothing filter to up the dpi, you will want to > bit poke each image to restore sharp corners that should not have been > rounded. > > Personally, if the app worked well with the images you had, and redoing > them is your big go/no go, I?d use the images you have. If one app gains > traction, perhaps v2 has new images. > > Toss them all against the wall and see what sticks. > > My two cents. > > Kee Nethery > > > On Jun 11, 2018, at 1:54 AM, Tiemo Hollmann TB via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hi, > > > > I have three old windows program (going back to the 90th), designed for > > children, which are based on "full window" image backgrounds (douzends of > > cards, each with another background image) and lots of small detail > images. > > Up to now I have only developed LiveCode for Windows and MacOS, no > > experience yet with iOS and Android development. I try to evaluate the > work > > load to redevelop those old windows programs for mobile and one general > > question before I start is the art work. Since the old art work has a > size > > about 800x600 by 72dpi, I obviously would need to let redesign all art > work > > for the todays resolutions, which would be a pretty costly part of the > > project and probably the go or nogo for the whole project. > > > > > > > > Since there are so many different screen sizes, resolutions and aspect > > ratios on iOS and Android, I wonder how to cover all those variants > > technically in LiveCode and basically from the art work side. E.g. which > > size and ratio I would have to let create the "master" images by the > artist > > (to be also on the safe side for the next years)? > > > > Since I can't let design for each ratio a different master image for each > > card, I probably would have to distort the "master" image to each > different > > screen size (app only for tablets in landscape mode)? Could I let make > the > > OS the distortion of one background image per card in LiveCode, or would > I > > need to import and assign different images (which I have distored in > > photoshop before) for each screen size in each card? Additionally I would > > need to create douzends of polygons as clickable objects, above each > image > > for small parts of it, where I am not sure, if they would keep their > exact > > target area, when the background image will be distort - probably not. > > > > > > > > Up to now it looks to me as a never ending story, but perhaps I don't > see a > > good approach > > > > Any experience or pointers to a how to are very welcome. > > > > > > > > Tiemo > > > > > > > > > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 toolbook at kestner.de Tue Jun 12 06:06:44 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Tue, 12 Jun 2018 12:06:44 +0200 Subject: AW: Best practise approach for artwork for iOS and Android? In-Reply-To: References: <000b01d40161$d987d400$8c977c00$@kestner.de> Message-ID: <002501d40235$11551d60$33ff5820$@kestner.de> Hi Lagi, faszinating tool! Tiemo -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von Lagi Pittas via use-livecode Gesendet: Dienstag, 12. Juni 2018 11:18 An: How to use LiveCode Cc: Lagi Pittas Betreff: Re: Best practise approach for artwork for iOS and Android? Hi, I don't know what sort of images you have but take a look at xara ( xara.com/designer-pro/features) Scroll down to the intelligent scaling video - better yet they have a trial. I think the intelligent scaling might even give you the "safe Zone" that SB mentioned Regards Lagi Lagi On Mon, 11 Jun 2018 at 14:48, Kee Nethery via use-livecode < use-livecode at lists.runrev.com> wrote: > If you use the imagery you have, don?t distort it to fill the screen. > That always looks bad. Add white space and/or crop but keep the > proportions correct. > > If you run them through a smoothing filter to up the dpi, you will > want to bit poke each image to restore sharp corners that should not > have been rounded. > > Personally, if the app worked well with the images you had, and > redoing them is your big go/no go, I?d use the images you have. If one > app gains traction, perhaps v2 has new images. > > Toss them all against the wall and see what sticks. > > My two cents. > > Kee Nethery > > > On Jun 11, 2018, at 1:54 AM, Tiemo Hollmann TB via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hi, > > > > I have three old windows program (going back to the 90th), designed > > for children, which are based on "full window" image backgrounds > > (douzends of cards, each with another background image) and lots of > > small detail > images. > > Up to now I have only developed LiveCode for Windows and MacOS, no > > experience yet with iOS and Android development. I try to evaluate > > the > work > > load to redevelop those old windows programs for mobile and one > > general question before I start is the art work. Since the old art > > work has a > size > > about 800x600 by 72dpi, I obviously would need to let redesign all > > art > work > > for the todays resolutions, which would be a pretty costly part of > > the project and probably the go or nogo for the whole project. > > > > > > > > Since there are so many different screen sizes, resolutions and > > aspect ratios on iOS and Android, I wonder how to cover all those > > variants technically in LiveCode and basically from the art work > > side. E.g. which size and ratio I would have to let create the > > "master" images by the > artist > > (to be also on the safe side for the next years)? > > > > Since I can't let design for each ratio a different master image for > > each card, I probably would have to distort the "master" image to > > each > different > > screen size (app only for tablets in landscape mode)? Could I let > > make > the > > OS the distortion of one background image per card in LiveCode, or > > would > I > > need to import and assign different images (which I have distored in > > photoshop before) for each screen size in each card? Additionally I > > would need to create douzends of polygons as clickable objects, > > above each > image > > for small parts of it, where I am not sure, if they would keep their > exact > > target area, when the background image will be distort - probably not. > > > > > > > > Up to now it looks to me as a never ending story, but perhaps I > > don't > see a > > good approach > > > > Any experience or pointers to a how to are very welcome. > > > > > > > > Tiemo > > > > > > > > > > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 toolbook at kestner.de Tue Jun 12 06:24:23 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Tue, 12 Jun 2018 12:24:23 +0200 Subject: how to use the scale geometry property of an object? Message-ID: <002601d40237$892eceb0$9b8c6c10$@kestner.de> Hi, I have a full-window image and need dozens of clickable transparent polygons on top of it, shaping details of the image. My idea was, that all these polygons could be resized and positioned automatically by the scaling property of the object, when resizing the stack. I have never used the geometry propertry section of an object to scale it and I don't see actually how it works. My idea was, that when activated, the object would scale automatically, if I resize the stack, but nothing happens with the object. Obviously it's not that easy, as I thought, or I am missing something vital. I also tested to resize each object in the resizeStack handler by script by the resized proportions of the stack, but this gives very inaccurate results because of rounding the small factors of all the small resize steps, while resizing a stack by dragging the window. Any hint, on how to use the scale property of an object? Thanks Tiemo From hh at hyperhh.de Tue Jun 12 07:03:30 2018 From: hh at hyperhh.de (hh) Date: Tue, 12 Jun 2018 13:03:30 +0200 Subject: Optimization can be tricky Message-ID: You could try the following: repeat for each key T in interestArray[uID] put item 1 of interestArray[uID][T] into i1 put item 2 of interestArray[uID][T] into i2 repeat for each line S in storyArray[T] put userSeenArray[uID][item 1 of S] into s1 put abs(item 2 of S - i1) into s2 if s2 < 20 and s1 < 4 then put random(101 + s1 * 30 + 5 * s2 - i2),T,S & cr \ after candidateList end if end repeat end repeat sort candidateList numeric by item 1 of each > Ali wrote: > repeat for each key T in interestArray[uID] > >> Geoff wrote: >> repeat for each line T in the keys of interestArray[uID] >> repeat for each line S in storyArray[T] >> if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ >> and userSeenArray[uID][item 1 of S] < 4 >> then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ >> abs(item 2 of S - item 1 of interestArray[uID][T]) - \ >> item 2 of interestArray[uID][T]),T,S & cr after candidateList >> end repeat >> end repeat >> sort lines of candidateList numeric by random(item 1 of each) From paul at researchware.com Tue Jun 12 07:36:25 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 12 Jun 2018 07:36:25 -0400 Subject: Need help with a Datagrid error... Message-ID: I have a rarely occurring Datagrid error that a couple customers have reported. Unfortunately, none of the customers have been able to tell us what they were doing when the error occured or be able to reproduce it. I hope someone on this list may have seen this before and know what is causing it. The error occurs when a window/stack with a datagrid is opened . The datagrid on the window may have already had data from previous openings and closings. An execution error occurs in the standalone before the new data is populated to the datagrid. Anyone seen anything like this? Chunk: error in object expression: (Line 3919, column 33) Chunk: can't find object: (Line 3919, column 33) Object: does not have this property: (Line 3919, column 21) put: error in expression: (Line 3919, column 1) repeat: error in statement: (Line 3909, column 1) repeat: error in statement: (Line 3899, column 1) if-then: error in statement: (Line 3874, column 1) Handler: error in statement: _table.DrawColumns (Line 3874, column 1) Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" Object ID: button id 1005 of group id 1004 of card id 1002 of stack "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH 4.0.1/HyperRESEARCH.exe" - if-then: error in statement: (Line 3821, column 1) if-then: error in statement: (Line 3820, column 1) Handler: error in statement: _table.DrawControlsInRealTime (Line 3820, column 1) Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" Object ID: button id 1005 of group id 1004 of card id 1002 of stack "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH 4.0.1/HyperRESEARCH.exe" - Handler: error in statement: _table.DrawWithProperties (Line 3500, column 1) Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" Object ID: button id 1005 of group id 1004 of card id 1002 of stack "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH 4.0.1/HyperRESEARCH.exe" - switch: error in statement: (Line 2319, column 1) Handler: error in statement: _DrawListWithProperties (Line 2319, column 1) Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" Object ID: button id 1005 of group id 1004 of card id 1002 of stack "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH 4.0.1/HyperRESEARCH.exe" - if-then: error in statement: (Line 7540, column 1) From hh at hyperhh.de Tue Jun 12 07:44:14 2018 From: hh at hyperhh.de (hh) Date: Tue, 12 Jun 2018 13:44:14 +0200 Subject: Optimization can be tricky Message-ID: Sorry, I forgot to mention Jerry who already proposed to pull out computations from the inner loop and also to use variables in the inner loop. My experience says to avoid getting items as often as possible. And to use the random() in the inner repeat loop instead of in the final sort may be worth a trial with a large data set. I wrote: > You could try the following. > > repeat for each key T in interestArray[uID] > put item 1 of interestArray[uID][T] into i1 > put item 2 of interestArray[uID][T] into i2 > repeat for each line S in storyArray[T] > put userSeenArray[uID][item 1 of S] into s1 > put abs(item 2 of S - i1) into s2 > if s2 < 20 and s1 < 4 then > put random(101 + s1 * 30 + 5 * s2 - i2),T,S & cr after candidateList > end if > end repeat > end repeat > sort candidateList numeric by item 1 of each > > > Ali wrote: > repeat for each key T in interestArray[uID] > > Geoff wrote: > repeat for each line T in the keys of interestArray[uID] > repeat for each line S in storyArray[T] > if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ > and userSeenArray[uID][item 1 of S] < 4 > then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ > abs(item 2 of S - item 1 of interestArray[uID][T]) - \ > item 2 of interestArray[uID][T]),T,S & cr after candidateList > end repeat > end repeat > sort lines of candidateList numeric by random(item 1 of each) From brian at milby7.com Tue Jun 12 10:03:54 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 12 Jun 2018 09:03:54 -0500 Subject: how to use the scale geometry property of an object? In-Reply-To: <002601d40237$892eceb0$9b8c6c10$@kestner.de> References: <002601d40237$892eceb0$9b8c6c10$@kestner.de> Message-ID: <0cd2a10c-c84c-4c11-bc28-70bc16db372b@Spark> Are you talking about the geometry manager? I?ll be talking about that at LCG next month. One thing you?re going to need to handle manually will be the aspect ratio. The GM does not have the ability to do that automatically (that I know of). To prevent accumulation of small errors in your resize handler, you need to use constants for the relative position of objects. So the object is x% from the left/top/right/bottom. That is how the GM works. On Jun 12, 2018, 5:24 AM -0500, Tiemo Hollmann TB via use-livecode , wrote: > Hi, > > I have a full-window image and need dozens of clickable transparent polygons > on top of it, shaping details of the image. My idea was, that all these > polygons could be resized and positioned automatically by the scaling > property of the object, when resizing the stack. > > > > I have never used the geometry propertry section of an object to scale it > and I don't see actually how it works. > > My idea was, that when activated, the object would scale automatically, if I > resize the stack, but nothing happens with the object. Obviously it's not > that easy, as I thought, or I am missing something vital. > > > > I also tested to resize each object in the resizeStack handler by script by > the resized proportions of the stack, but this gives very inaccurate results > because of rounding the small factors of all the small resize steps, while > resizing a stack by dragging the window. > > > > Any hint, on how to use the scale property of an object? > > > > Thanks > > Tiemo > > > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 12 11:11:52 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 12 Jun 2018 10:11:52 -0500 Subject: how to use the scale geometry property of an object? In-Reply-To: <002601d40237$892eceb0$9b8c6c10$@kestner.de> References: <002601d40237$892eceb0$9b8c6c10$@kestner.de> Message-ID: <163f48d96f0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> If you use fullscreenmode they will scale automatically, you don't have to do anything. Everything on the card will resize itself proportionally, which is why it's so easy. The down side is that buttons and other controls will also scale, so they may not be exactly the same size as standard OS conventions, but I live with that. If you are using a custom skin it doesn't matter much. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 12, 2018 5:26:13 AM Tiemo Hollmann TB via use-livecode wrote: > Hi, > > I have a full-window image and need dozens of clickable transparent polygons > on top of it, shaping details of the image. My idea was, that all these > polygons could be resized and positioned automatically by the scaling > property of the object, when resizing the stack. > > > > I have never used the geometry propertry section of an object to scale it > and I don't see actually how it works. > > My idea was, that when activated, the object would scale automatically, if I > resize the stack, but nothing happens with the object. Obviously it's not > that easy, as I thought, or I am missing something vital. > > > > I also tested to resize each object in the resizeStack handler by script by > the resized proportions of the stack, but this gives very inaccurate results > because of rounding the small factors of all the small resize steps, while > resizing a stack by dragging the window. > > > > Any hint, on how to use the scale property of an object? > > > > Thanks > > Tiemo > > > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 dougr at telus.net Tue Jun 12 11:18:34 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Tue, 12 Jun 2018 08:18:34 -0700 Subject: Android USB port Message-ID: <026501d40260$a2ea5850$e8bf08f0$@net> Thanks for the reply, Jacqueline. I was hoping for a reply from you as one of the Android experts on this list. Your response is as expected. Yes, I am aware of Bluetooth usage on Android.. and, ideally, THAT would be perfect... since I have a fully developed and working iOS version of my app using Bluetooth via Monte's excellent "mergBLE" kit. I don't WANT to use the USB if I don't have to but without adding yet another piece of hardware to the project (my hardware guy would kill me!), WIFI sockets are not an option either. Serial connectivity is "native" to all Arduino platforms and the Bluetooth is built into our project for the iOS connectivity. If anyone could suggest a contractible resource who could "link" an open source Java "library" to LC, that would be fantastic. Hitting the "yellow-pages" for such a resource seems to be an exercise in frustration in terms of responsiveness of the variety of 10 - 12 supposed Android development companies which tout development expertise. The Java source resource (in case anyone is interested and able) is from Adafruit and can be found here: https://github.com/adafruit/Bluefruit_LE_Connect_Android Regarding "... a custom Android external ...", if I can find a competent Android developer (and, as I said, I REALY need some advice in that regard), how would I instruct them to "link" their code to LC's? I'm quite ignorant about that aspect of LC development.. but willing to learn. Douglas Ruisaard Trilogy Software (250) 573-3935 > On 6/10/18 10:44 AM, Douglas Ruisaard via use-livecode wrote: > > Apple, if it isn't known, requires you to sell your first-born, sign a contract in blood and then > embed a "special" hardware chip in your device in order to ALLOW USB connectivity. I'm good with > using BlueTooth for iOS... but Android has me stumped unless this community can lend a hand. > > You can use Bluetooth with Android as well, but we don't have an > external for that yet. USB connectivity has always been missing on all > platforms, and I don't know of any plans to add it. > > It sounds like what you need is a custom Android external for BlueTooth. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > > > From jacque at hyperactivesw.com Tue Jun 12 11:29:25 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 12 Jun 2018 10:29:25 -0500 Subject: AW: Best practise approach for artwork for iOS and Android? In-Reply-To: <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> References: <000b01d40161$d987d400$8c977c00$@kestner.de> <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> Message-ID: <163f49db008.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> You may be right, I should have said to double the size. The idea is to give LC more pixels to work with when it scales the card content. But LC is pretty good at scaling, so starting with the originals may work fine. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 12, 2018 2:03:31 AM Tiemo Hollmann TB via use-livecode wrote: > Hi Jacque, > > I thought the dpi only reflects at print, because any screen has it's fixed > pixels. I think an image 800x600 with 144 dpi looks identical on any screen, > as an image 800x600 with 72 dpi because in both cases 800x600 screen pixels > are being used and there is nothing between the pixels. Or don't I see > anything here? > > But perhaps I really hould try to start the project with the old 800x600 > images, as you and also Kee Nethery pointed out. In this case I am not sure > what would give the better quality in point-of-view resolution. Importing > the original old 800x600 images into LiveCode and let the LiveCode engine > stretch (not distore) the images to a full screen size (with white space on > some edges at some disply sizes), or would photoshop make a better job in > interpolating pixels, if I would enlarge all images in photoshop to lets say > 2732x2014 (or even 3200x2400) and let the LiveCode engine shrink the images > to fit each screen. > > Tiemo > > > -----Urspr?ngliche Nachricht----- > Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag > von J. Landman Gay via use-livecode > Gesendet: Montag, 11. Juni 2018 21:58 > An: How to use LiveCode > Cc: J. Landman Gay > Betreff: Re: Best practise approach for artwork for iOS and Android? > > I would bulk-convert all the images to a higher resolution, perhaps 144dpi. > On Mac, Graphic Converter can batch process these in seconds, and I am sure > there are other programs that do the same on both Mac and Windows. Use these > higher-resolution images in your project. > > On mobile, use fullScreenMode "showAll", which will automatically adjust the > display to fit any resolution and screen size on both iOS and Android. > Depending on the original card size, some edges will either be cropped or > empty space will be added. There are ways around this, mainly by displaying > an image at a larger size than the (original) card size. > > There was a bug in the showAll fullscreenmode when navigating cards, but > that has just been fixed and will be in the next 9.0 release. There are also > workarounds for this right now if you don't want to wait. > > This is a quick process that doesn't take much time because you won't have > to adjust every image. > > On 6/11/18 3:54 AM, Tiemo Hollmann TB via use-livecode wrote: >> Hi, >> >> I have three old windows program (going back to the 90th), designed >> for children, which are based on "full window" image backgrounds >> (douzends of cards, each with another background image) and lots of small > detail images. >> Up to now I have only developed LiveCode for Windows and MacOS, no >> experience yet with iOS and Android development. I try to evaluate the >> work load to redevelop those old windows programs for mobile and one >> general question before I start is the art work. Since the old art >> work has a size about 800x600 by 72dpi, I obviously would need to let >> redesign all art work for the todays resolutions, which would be a >> pretty costly part of the project and probably the go or nogo for the > whole project. >> >> >> >> Since there are so many different screen sizes, resolutions and aspect >> ratios on iOS and Android, I wonder how to cover all those variants >> technically in LiveCode and basically from the art work side. E.g. >> which size and ratio I would have to let create the "master" images by >> the artist (to be also on the safe side for the next years)? >> >> Since I can't let design for each ratio a different master image for >> each card, I probably would have to distort the "master" image to each >> different screen size (app only for tablets in landscape mode)? Could >> I let make the OS the distortion of one background image per card in >> LiveCode, or would I need to import and assign different images (which >> I have distored in photoshop before) for each screen size in each >> card? Additionally I would need to create douzends of polygons as >> clickable objects, above each image for small parts of it, where I am >> not sure, if they would keep their exact target area, when the background > image will be distort - probably not. >> >> >> >> Up to now it looks to me as a never ending story, but perhaps I don't >> see a good approach >> >> Any experience or pointers to a how to are very welcome. > > > -- > 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 Tue Jun 12 11:41:03 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 12 Jun 2018 10:41:03 -0500 Subject: Android USB port In-Reply-To: <026501d40260$a2ea5850$e8bf08f0$@net> References: <026501d40260$a2ea5850$e8bf08f0$@net> Message-ID: <163f4a85698.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> The LC team takes custom requests, and you wouldn't have to tell them how to link the code into LiveCode. :) Write to support at livecode.com and see what they say. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 12, 2018 10:19:54 AM Douglas Ruisaard via use-livecode wrote: > Thanks for the reply, Jacqueline. I was hoping for a reply from you as one > of the Android experts on this list. > > Your response is as expected. Yes, I am aware of Bluetooth usage on > Android.. and, ideally, THAT would be perfect... since I have a fully > developed and working iOS version of my app using Bluetooth via Monte's > excellent "mergBLE" kit. I don't WANT to use the USB if I don't have to > but without adding yet another piece of hardware to the project (my > hardware guy would kill me!), WIFI sockets are not an option either. Serial > connectivity is "native" to all Arduino platforms and the Bluetooth is > built into our project for the iOS connectivity. > > If anyone could suggest a contractible resource who could "link" an open > source Java "library" to LC, that would be fantastic. Hitting the > "yellow-pages" for such a resource seems to be an exercise in frustration > in terms of responsiveness of the variety of 10 - 12 supposed Android > development companies which tout development expertise. > > The Java source resource (in case anyone is interested and able) is from > Adafruit and can be found here: > > https://github.com/adafruit/Bluefruit_LE_Connect_Android > > Regarding "... a custom Android external ...", if I can find a competent > Android developer (and, as I said, I REALY need some advice in that > regard), how would I instruct them to "link" their code to LC's? I'm quite > ignorant about that aspect of LC development.. but willing to learn. > > Douglas Ruisaard > Trilogy Software > (250) 573-3935 > >> On 6/10/18 10:44 AM, Douglas Ruisaard via use-livecode wrote: >> > Apple, if it isn't known, requires you to sell your first-born, sign a >> contract in blood and then >> embed a "special" hardware chip in your device in order to ALLOW USB >> connectivity. I'm good with >> using BlueTooth for iOS... but Android has me stumped unless this community >> can lend a hand. >> >> You can use Bluetooth with Android as well, but we don't have an >> external for that yet. USB connectivity has always been missing on all >> platforms, and I don't know of any plans to add it. >> >> It sounds like what you need is a custom Android external for BlueTooth. >> >> -- >> 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 tom at makeshyft.com Tue Jun 12 12:11:44 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 12 Jun 2018 12:11:44 -0400 Subject: Need help with a Datagrid error... In-Reply-To: References: Message-ID: so i work alot with datagrids and i've never seen such an array of errors. Can you tell us what version of LC the standalone was built with? one thing that comes to mind is something i vaguely remember happening a few years ago. I was updating the datagrid while one of the handlers in the library was still running (FullInData). an error was causing the handler to not complete and when an update was triggered it went haywire. these are hard to diagnose in standalones especially when its something that depends on the error being specific to the content of the column. this is real ugly i hope you get to the bottom of it. On Tue, Jun 12, 2018 at 7:36 AM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > I have a rarely occurring Datagrid error that a couple customers have > reported. Unfortunately, none of the customers have been able to tell us > what they were doing when the error occured or be able to reproduce it. > I hope someone on this list may have seen this before and know what is > causing it. > > The error occurs when a window/stack with a datagrid is opened . The > datagrid on the window may have already had data from previous openings > and closings. An execution error occurs in the standalone before the new > data is populated to the datagrid. > > Anyone seen anything like this? > > Chunk: error in object expression: (Line 3919, column 33) > Chunk: can't find object: (Line 3919, column 33) > Object: does not have this property: (Line 3919, column 21) > put: error in expression: (Line 3919, column 1) > repeat: error in statement: (Line 3909, column 1) > repeat: error in statement: (Line 3899, column 1) > if-then: error in statement: (Line 3874, column 1) > Handler: error in statement: _table.DrawColumns (Line 3874, column 1) > Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of > stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > Object ID: button id 1005 of group id 1004 of card id 1002 of stack > "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > 4.0.1/HyperRESEARCH.exe" > - > > if-then: error in statement: (Line 3821, column 1) > if-then: error in statement: (Line 3820, column 1) > Handler: error in statement: _table.DrawControlsInRealTime (Line 3820, > column 1) > Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of > stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > Object ID: button id 1005 of group id 1004 of card id 1002 of stack > "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > 4.0.1/HyperRESEARCH.exe" > - > > Handler: error in statement: _table.DrawWithProperties (Line 3500, column > 1) > Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of > stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > Object ID: button id 1005 of group id 1004 of card id 1002 of stack > "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > 4.0.1/HyperRESEARCH.exe" > - > > switch: error in statement: (Line 2319, column 1) > Handler: error in statement: _DrawListWithProperties (Line 2319, column 1) > Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of > stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > Object ID: button id 1005 of group id 1004 of card id 1002 of stack > "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > 4.0.1/HyperRESEARCH.exe" > - > > if-then: error in statement: (Line 7540, column 1) > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Tue Jun 12 12:23:37 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 12 Jun 2018 11:23:37 -0500 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> References: <000b01d40161$d987d400$8c977c00$@kestner.de> <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> Message-ID: On Tue, Jun 12, 2018 at 2:01 AM, Tiemo Hollmann TB via use-livecode < use-livecode at lists.runrev.com> wrote: > > I thought the dpi only reflects at print, because any screen has it's fixed > pixels. I think an image 800x600 with 144 dpi looks identical on any > screen, > as an image 800x600 with 72 dpi because in both cases 800x600 screen pixels > are being used and there is nothing between the pixels. Or don't I see > anything here? > Changing the DPI setting in the image may affect display in image viewing applications. If you were to change the DDPI setting of an 800x600 image from 72 to 144 then the image would be displayed as a 400x300 image in an application like Preview on macOS or Photoshop. LiveCode will display an image using the natural dimensions by default. That means an image with 800x600 pixels will be displayed as an 800x600 image. As a developer you could get the `metadata` of an image and check the `density` key in the resulting array to determine if you should resize the image based on the density setting. Depending on your application you may face a new dilemma, however. You have to decide what the base DPI is for the image. An image with 144 DPI could be a 2x image if created on macOS (base of 72 DPI) or a 1.5x image if created on Windows (base of 96 DPI). So that image may need to be displayed at 400x300 or 533x400. -- Trevor DeVore ScreenSteps www.screensteps.com From capellan2000 at gmail.com Tue Jun 12 12:43:51 2018 From: capellan2000 at gmail.com (Alejandro Tejada) Date: Tue, 12 Jun 2018 12:43:51 -0400 Subject: Best practise approach for artwork for iOS and Android? Message-ID: on Tue, 12 Jun 2018, Lagi Pittas wrote: > I don't know what sort of images you have but > take a look at xara (xara.com/designer-pro/features) I use Xara Photo Graphic Designer and agree with Lagi's recommendation. Check these videos about intelligent scaling: https://www.youtube.com/watch?v=dfNLaZ5cSHs https://www.youtube.com/watch?v=s9j-WYl0OJY Al From paul at researchware.com Tue Jun 12 13:24:01 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 12 Jun 2018 13:24:01 -0400 Subject: Need help with a Datagrid error... In-Reply-To: References: Message-ID: I should have noted the LC version. This is a standalone built under LiveCode 6.7.11 If I could get one of the customers to respond with their document(s) and settings that caused the error, it would probably be simple to track down. My current theory is that rows can display either htmlText or an image in a particular column depending upon the users data. I am speculating that an image may not be being resolved correctly. This may just have to wait until a customer cares enough to help us troubleshoot it by letting us look at their data. It was a wild shot that someone else may have recognized this. Thanks for replying. On 6/12/2018 12:11 PM, Tom Glod via use-livecode wrote: > so i work alot with datagrids and i've never seen such an array of errors. > Can you tell us what version of LC the standalone was built with? > > one thing that comes to mind is something i vaguely remember happening a > few years ago. I was updating the datagrid while one of the handlers in > the library was still running (FullInData). an error was causing the > handler to not complete and when an update was triggered it went haywire. > > these are hard to diagnose in standalones especially when its something > that depends on the error being specific to the content of the column. > > this is real ugly i hope you get to the bottom of it. > > > > On Tue, Jun 12, 2018 at 7:36 AM, Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I have a rarely occurring Datagrid error that a couple customers have >> reported. Unfortunately, none of the customers have been able to tell us >> what they were doing when the error occured or be able to reproduce it. >> I hope someone on this list may have seen this before and know what is >> causing it. >> >> The error occurs when a window/stack with a datagrid is opened . The >> datagrid on the window may have already had data from previous openings >> and closings. An execution error occurs in the standalone before the new >> data is populated to the datagrid. >> >> Anyone seen anything like this? >> >> Chunk: error in object expression: (Line 3919, column 33) >> Chunk: can't find object: (Line 3919, column 33) >> Object: does not have this property: (Line 3919, column 21) >> put: error in expression: (Line 3919, column 1) >> repeat: error in statement: (Line 3909, column 1) >> repeat: error in statement: (Line 3899, column 1) >> if-then: error in statement: (Line 3874, column 1) >> Handler: error in statement: _table.DrawColumns (Line 3874, column 1) >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH >> 4.0.1/HyperRESEARCH.exe" >> - >> >> if-then: error in statement: (Line 3821, column 1) >> if-then: error in statement: (Line 3820, column 1) >> Handler: error in statement: _table.DrawControlsInRealTime (Line 3820, >> column 1) >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH >> 4.0.1/HyperRESEARCH.exe" >> - >> >> Handler: error in statement: _table.DrawWithProperties (Line 3500, column >> 1) >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH >> 4.0.1/HyperRESEARCH.exe" >> - >> >> switch: error in statement: (Line 2319, column 1) >> Handler: error in statement: _DrawListWithProperties (Line 2319, column 1) >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" of >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH >> 4.0.1/HyperRESEARCH.exe" >> - >> >> if-then: error in statement: (Line 7540, column 1) >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Tue Jun 12 13:49:58 2018 From: alex at tweedly.net (Alex Tweedly) Date: Tue, 12 Jun 2018 18:49:58 +0100 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <5336bb30-848e-bf9b-f328-81d0c45a31cd@tweedly.net> I don't know if these are good ideas or BAD ideas .... and without some suitable data, not sure if I could find out - so I'll throw the ideas over and let you decide if they are worth trying :-) 1. Two ideas combined ?- avoid scanning for the "item 1" of each line ?- use the (hopefully optimised enough) numeric-index array lookups So, instead of put random(101 + s1 * 30 + 5 * s2 - i2),T,S & cr \ after candidateList try put T,S into candidateArray[count] put random(101 + s1 * 30 + 5 * s2 - i2) into candidateValue[count] add 1 to count And then later put the keys of candidateValue into candidatelist sort numeric the lines of candidatelist by candidateValue of each and the access via the candidateArray. 2. (even wilder) Assume you have N entries to consider, and that you only need M results The *IF* M << N (i.e. much less than - you only need a few results from a large input set). You might try something like this for the inner loop : (going back to using lines ...) repeat for each line S in storyArray[T] put userSeenArray[uID][item 1 of S] into s1 put abs(item 2 of S - i1) into s2 if s2 < 20 and s1 < 4 then put random(101 + s1 * 30 + 5 * s2 - i2),T,S & cr \ after candidateList add 1 to lineCount if lineCount > 4 * M then -- (why 4 ? - maybe 2, maybe 8 ??) sort candidateList numeric by item 1 of each delete line M+1 to -1 of candidateList put M into lineCount end if ?end if end repeat 3. even wilder still .... - create K different candidateLists (where K is some power of 2) - sort each one, - mergesort in pairs, stopping when you get to M ... put 8 into KK -- (why 8 ? - maybe 16, or 32 ...) repeat for each key T in interestArray[uID] put item 1 of interestArray[uID][T] into i1 put item 2 of interestArray[uID][T] into i2 repeat for each line S in storyArray[T] put userSeenArray[uID][item 1 of S] into s1 put abs(item 2 of S - i1) into s2 if s2 < 20 and s1 < 4 then add 1 to setCount put random(101 + s1 * 30 + 5 * s2 - i2),T,S & cr \ after candidateList[setCount] if setCount > KK then put 0 into setCount end if ?end if end repeat repeat with i = 1 to KK sort numeric lines of candidateList[i] by item 1 of each end repeat and then write / use a mergesort that takes two sorted lists, and returns the first N of the merged list. (or even better, returns the first N, with a limit value; then each mergesort after the first can use the max value from the N'th entry of earlier merges to allow for early exit...) That is left as an exercise for the reader :-) :-) As I say - could be totally crazy, could be worthwhile. I'd be happy to try out benchmarking it - if I had some representative data to play with. Alex. On 12/06/2018 12:03, hh via use-livecode wrote: > You could try the following: > > repeat for each key T in interestArray[uID] > put item 1 of interestArray[uID][T] into i1 > put item 2 of interestArray[uID][T] into i2 > repeat for each line S in storyArray[T] > put userSeenArray[uID][item 1 of S] into s1 > put abs(item 2 of S - i1) into s2 > if s2 < 20 and s1 < 4 then > put random(101 + s1 * 30 + 5 * s2 - i2),T,S & cr \ > after candidateList > end if > end repeat > end repeat > sort candidateList numeric by item 1 of each > > >> Ali wrote: >> repeat for each key T in interestArray[uID] >> >>> Geoff wrote: >>> repeat for each line T in the keys of interestArray[uID] >>> repeat for each line S in storyArray[T] >>> if abs(item 2 of S - item 1 of interestArray[uID][T]) < 20 \ >>> and userSeenArray[uID][item 1 of S] < 4 >>> then put (101 + userSeenArray[uID][item 1 of S] * 30 + 5 * \ >>> abs(item 2 of S - item 1 of interestArray[uID][T]) - \ >>> item 2 of interestArray[uID][T]),T,S & cr after candidateList >>> end repeat >>> end repeat >>> sort lines of candidateList numeric by random(item 1 of each) > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Tue Jun 12 14:43:15 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 12 Jun 2018 14:43:15 -0400 Subject: Need help with a Datagrid error... In-Reply-To: References: Message-ID: Hi Paul.... Yeah, thats probably the only way to track it down is to know what data is in the column..... however..... what happens when you paste an invalid path into an image's file path box....does it return an error or crash..... or does it just give you a blank image? If I recall correctly there used to be a bug that had to do with invalid file names causing things to go crazy but it may not have been the same version. So it could be a combo of 2 things. Good luck Paul. Thanks On Tue, Jun 12, 2018 at 1:24 PM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > I should have noted the LC version. This is a standalone built under > LiveCode 6.7.11 > > If I could get one of the customers to respond with their document(s) > and settings that caused the error, it would probably be simple to track > down. > > My current theory is that rows can display either htmlText or an image > in a particular column depending upon the users data. I am speculating > that an image may not be being resolved correctly. This may just have to > wait until a customer cares enough to help us troubleshoot it by letting > us look at their data. > > It was a wild shot that someone else may have recognized this. Thanks > for replying. > > > On 6/12/2018 12:11 PM, Tom Glod via use-livecode wrote: > > so i work alot with datagrids and i've never seen such an array of > errors. > > Can you tell us what version of LC the standalone was built with? > > > > one thing that comes to mind is something i vaguely remember happening a > > few years ago. I was updating the datagrid while one of the handlers in > > the library was still running (FullInData). an error was causing the > > handler to not complete and when an update was triggered it went haywire. > > > > these are hard to diagnose in standalones especially when its something > > that depends on the error being specific to the content of the column. > > > > this is real ugly i hope you get to the bottom of it. > > > > > > > > On Tue, Jun 12, 2018 at 7:36 AM, Paul Dupuis via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> I have a rarely occurring Datagrid error that a couple customers have > >> reported. Unfortunately, none of the customers have been able to tell us > >> what they were doing when the error occured or be able to reproduce it. > >> I hope someone on this list may have seen this before and know what is > >> causing it. > >> > >> The error occurs when a window/stack with a datagrid is opened . The > >> datagrid on the window may have already had data from previous openings > >> and closings. An execution error occurs in the standalone before the new > >> data is populated to the datagrid. > >> > >> Anyone seen anything like this? > >> > >> Chunk: error in object expression: (Line 3919, column 33) > >> Chunk: can't find object: (Line 3919, column 33) > >> Object: does not have this property: (Line 3919, column 21) > >> put: error in expression: (Line 3919, column 1) > >> repeat: error in statement: (Line 3909, column 1) > >> repeat: error in statement: (Line 3899, column 1) > >> if-then: error in statement: (Line 3874, column 1) > >> Handler: error in statement: _table.DrawColumns (Line 3874, column 1) > >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" > of > >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack > >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > >> 4.0.1/HyperRESEARCH.exe" > >> - > >> > >> if-then: error in statement: (Line 3821, column 1) > >> if-then: error in statement: (Line 3820, column 1) > >> Handler: error in statement: _table.DrawControlsInRealTime (Line 3820, > >> column 1) > >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" > of > >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack > >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > >> 4.0.1/HyperRESEARCH.exe" > >> - > >> > >> Handler: error in statement: _table.DrawWithProperties (Line 3500, > column > >> 1) > >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" > of > >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack > >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > >> 4.0.1/HyperRESEARCH.exe" > >> - > >> > >> switch: error in statement: (Line 2319, column 1) > >> Handler: error in statement: _DrawListWithProperties (Line 2319, column > 1) > >> Object: button "Data Grid" of group "Behaviors" of card "card id 1002" > of > >> stack "revDataGridLibrary" of stack "HyperRESEARCH.exe" > >> Object ID: button id 1005 of group id 1004 of card id 1002 of stack > >> "revDataGridLibrary" of stack "C:/Program Files (x86)/HyperRESEARCH > >> 4.0.1/HyperRESEARCH.exe" > >> - > >> > >> if-then: error in statement: (Line 7540, column 1) > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 curry at pair.com Tue Jun 12 15:30:57 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 12 Jun 2018 15:30:57 -0400 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <5B201F71.5080204@pair.com> Put yourself in the computer's shoes, and also clarify what you need to accomplish. You are asking it to sort the entire list of 2000 records, but (if I understand) you only want a handful of those. And it has already gone through all the records once before the sort. If you asked a human to do that, it would be a risky interaction. There might be raised voices when they present the neatly arranged file cabinet with files in a special order, and you deliver the punch line that you only need to pull a few. If you only need to pull 5 records, most people don't want to go through all 2000 files - twice. So generally, don't use a sort after doing a complete loop on a big text list, use another method. Do unto your computer as you hope it will do unto you when they run the world. :) (But I would be interested in the speed of your original code on LC 9 vs LC 6.7, just to see how engine optimization is faring. I'm surprised it took a minute.) Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From hh at hyperhh.de Tue Jun 12 16:39:15 2018 From: hh at hyperhh.de (hh) Date: Tue, 12 Jun 2018 22:39:15 +0200 Subject: Optimization can be tricky Message-ID: The scenario Geoff described is roughly to get the top ten (a handful) of 2000 records comparing a certain numeric value of each. To get that unknown value of each one has to go once through all the records *and then sort* for that ranking. (LiveCode is very fast with a simple numeric sort!) Any other method of ranking while going through the data will generously waste CPU time. > Curry wrote: > Put yourself in the computer's shoes, and also clarify what you need to > accomplish. You are asking it to sort the entire list of 2000 records, > but (if I understand) you only want a handful of those. > > And it has already gone through all the records once before the sort. If > you asked a human to do that, it would be a risky interaction. There > might be raised voices when they present the neatly arranged file > cabinet with files in a special order, and you deliver the punch line > that you only need to pull a few. If you only need to pull 5 records, > most people don't want to go through all 2000 files - twice. > > So generally, don't use a sort after doing a complete loop on a big text > list, use another method. Do unto your computer as you hope it will do > unto you when they run the world. :) From mark at livecode.com Tue Jun 12 16:44:50 2018 From: mark at livecode.com (Mark Waddingham) Date: Tue, 12 Jun 2018 21:44:50 +0100 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: References: <000b01d40161$d987d400$8c977c00$@kestner.de> <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> Message-ID: Just one thing to add here based on what Trevor mentioned - these are images which you have complete control over so... If you can upscale them (perhaps using the tool Lagi suggests) with a good degree of visual improvement then you can use the multi-resolution aware feature of referenced (filename) image objects to improve the display of your images on high resolution screens. Modern devices have screens which are 2-3x the dpi of screens we have lived with for decades - so more pixel data means better quality display. When you use the filename property such as 'foo.png' the image object will look for images which have name 'foo@x.png' first where x is 1,1.5,2 or 4 based on the number of device pixels available. E.g. On a 2x retina device - it will look for the 2x image and fit it to the logical (the rect) size. Note: the base size is taken from the 1x image size and the file actually used is based on the 'effective scale' of the total transform from image text to device pixels - so the dpi setting in the images don't matter and it's much more competent than just using the type of screen. TL;DR: if you can find a tool which can upscale your images acceptably to 2x or even 4x - do so - keep the original image as foo.png and the upscale ones as foo at 2x/4x.png and set the filename of the image with foo.png. The engine should do the rest (from the using as much as it can pixel data wise at least point of view). Warmest Regards, Mark. Sent from my iPhone > On 12 Jun 2018, at 17:23, Trevor DeVore via use-livecode wrote: > > On Tue, Jun 12, 2018 at 2:01 AM, Tiemo Hollmann TB via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> >> I thought the dpi only reflects at print, because any screen has it's fixed >> pixels. I think an image 800x600 with 144 dpi looks identical on any >> screen, >> as an image 800x600 with 72 dpi because in both cases 800x600 screen pixels >> are being used and there is nothing between the pixels. Or don't I see >> anything here? >> > > Changing the DPI setting in the image may affect display in image viewing > applications. If you were to change the DDPI setting of an 800x600 image > from 72 to 144 then the image would be displayed as a 400x300 image in an > application like Preview on macOS or Photoshop. LiveCode will display an > image using the natural dimensions by default. That means an image with > 800x600 pixels will be displayed as an 800x600 image. > > As a developer you could get the `metadata` of an image and check the > `density` key in the resulting array to determine if you should resize the > image based on the density setting. Depending on your application you may > face a new dilemma, however. You have to decide what the base DPI is for > the image. An image with 144 DPI could be a 2x image if created on macOS > (base of 72 DPI) or a 1.5x image if created on Windows (base of 96 DPI). > So that image may need to be displayed at 400x300 or 533x400. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.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 Tue Jun 12 16:55:41 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 12 Jun 2018 16:55:41 -0400 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <009e01d4028f$bc8308f0$35891ad0$@net> Filter is lightning fast. I have the list of all 40,000+ cities in the US and have a predictive search field. I tried DBs, in memory DB and other methods until I stumbled on to the filter operator. Load a text file into a var and the start filtering. There is no perceptible delay when typing the first few letters of a city name. I even carry some meta data along for the ride. I don't know if it can be used here. I have not had the time to look at the code or the problem presented. 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 hh via use-livecode Sent: Tuesday, June 12, 2018 4:39 PM To: use-livecode at lists.runrev.com Cc: hh Subject: Re: Optimization can be tricky The scenario Geoff described is roughly to get the top ten (a handful) of 2000 records comparing a certain numeric value of each. To get that unknown value of each one has to go once through all the records *and then sort* for that ranking. (LiveCode is very fast with a simple numeric sort!) Any other method of ranking while going through the data will generously waste CPU time. > Curry wrote: > Put yourself in the computer's shoes, and also clarify what you need > to accomplish. You are asking it to sort the entire list of 2000 > records, but (if I understand) you only want a handful of those. > > And it has already gone through all the records once before the sort. > If you asked a human to do that, it would be a risky interaction. > There might be raised voices when they present the neatly arranged > file cabinet with files in a special order, and you deliver the punch > line that you only need to pull a few. If you only need to pull 5 > records, most people don't want to go through all 2000 files - twice. > > So generally, don't use a sort after doing a complete loop on a big > text list, use another method. Do unto your computer as you hope it > will do unto you when they run the world. :) _______________________________________________ use-livecode mailing list use-livecode 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 Tue Jun 12 16:54:05 2018 From: alex at tweedly.net (Alex Tweedly) Date: Tue, 12 Jun 2018 21:54:05 +0100 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <7d174c76-720f-bad6-db36-a7fd061d1592@tweedly.net> Then there's something about Geoff's problem (or problem statement) that I don't understand. What on earth is in those records for sorting a mere 2000 of them to be noticable? (I had thought he had to be talking about magnitudes more lines than that). LC (9.0) sorts 20,000 lines of >1000 chars each in 65ms or so, on my aging MacBook Pro. So the delay can't be the sort - it must be in the extracting of the data from the arrays into his 'candidateList'. It would be good to get that clarified before we spend more time optimizing the wrong thing :-) Alex. On 12/06/2018 21:39, hh via use-livecode wrote: > The scenario Geoff described is roughly to get the > top ten (a handful) of 2000 records comparing a certain > numeric value of each. > To get that unknown value of each one has to go once through > all the records *and then sort* for that ranking. > (LiveCode is very fast with a simple numeric sort!) > Any other method of ranking while going through the data > will generously waste CPU time. > >> Curry wrote: >> Put yourself in the computer's shoes, and also clarify what you need to >> accomplish. You are asking it to sort the entire list of 2000 records, >> but (if I understand) you only want a handful of those. >> >> And it has already gone through all the records once before the sort. If >> you asked a human to do that, it would be a risky interaction. There >> might be raised voices when they present the neatly arranged file >> cabinet with files in a special order, and you deliver the punch line >> that you only need to pull a few. If you only need to pull 5 records, >> most people don't want to go through all 2000 files - twice. >> >> So generally, don't use a sort after doing a complete loop on a big text >> list, use another method. Do unto your computer as you hope it will do >> unto you when they run the world. :) > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Tue Jun 12 19:00:43 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 12 Jun 2018 19:00:43 -0400 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <5B20509B.3040400@pair.com> Optimizing scripts in LC is not the same as running reports in other software suites. If you only need 10 results, you probably don't want to handle all items twice. I hate to loop through all items even once. But if I do, I may be done! I'm not making a full report to print out; I'm just getting my 10 items. If I use sort or filter, likewise, I will do whatever necessary to keep it short and sweet, even if that means adjusting some of the starting assumptions. If the sort really is taking more time than the loop, something is bogging it down. Look at the random() and arithmetic attached to the sort. That's potentially like running a whole lot of LCS. So if you sort, try a plain numeric sort with no fancy stuff added. Then go grab your 10 - the other requirements can be addressed before or after the sort. Best wishes, Curry Kenworthy Custom Software Development LiveCode Training and Consulting http://livecodeconsulting.com/ From tom at makeshyft.com Tue Jun 12 21:04:58 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 12 Jun 2018 21:04:58 -0400 Subject: Optimization can be tricky In-Reply-To: <5B20509B.3040400@pair.com> References: <5B20509B.3040400@pair.com> Message-ID: Thanks for the tip Ralph....love the sound of that filer function. On Tue, Jun 12, 2018 at 7:00 PM, Curry Kenworthy via use-livecode < use-livecode at lists.runrev.com> wrote: > > Optimizing scripts in LC is not the same as running reports in other > software suites. If you only need 10 results, you probably don't want to > handle all items twice. > > I hate to loop through all items even once. But if I do, I may be done! > I'm not making a full report to print out; I'm just getting my 10 items. If > I use sort or filter, likewise, I will do whatever necessary to keep it > short and sweet, even if that means adjusting some of the starting > assumptions. > > If the sort really is taking more time than the loop, something is bogging > it down. Look at the random() and arithmetic attached to the sort. That's > potentially like running a whole lot of LCS. So if you sort, try a plain > numeric sort with no fancy stuff added. Then go grab your 10 - the other > requirements can be addressed before or after the sort. > > Best wishes, > > Curry Kenworthy > > Custom Software Development > LiveCode Training and Consulting > http://livecodeconsulting.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 brahma at hindu.org Tue Jun 12 21:41:17 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Wed, 13 Jun 2018 01:41:17 +0000 Subject: Best practise approach for artwork for iOS and Android? In-Reply-To: References: <000b01d40161$d987d400$8c977c00$@kestner.de> <1aaaa09e-8e9a-3d21-5cb3-f6b4b18af698@hyperactivesw.com> <000f01d4021b$2f615ef0$8e241cd0$@kestner.de> Message-ID: <132E0B08-EBE8-4070-A4E2-81AAB0F41C4B@hindu.org> This work for a few images, but let's say that your app has 100's images. Your package / SA has limits. I found it easy to settle on a routine. Images 400 X 400 or less I produce at 800 X 800 and run them the TinyJPG and get optimized. So the 2X size work well, in fact in "mandatory" on small image (100 X 50) from full screen images (414 X 736) the 1X, otherwise "eagle eyes" complain Of course it is not optimal, but from user feedback; they only complain "the image a fuzzy" when we take an item below a certain rect (400 X 400) AND optimize it AND display a 1X... when the image is bigger, I suspect treatment of edges and sharpness are still "acceptable" to the eye -- after optimization, even my eagles eyes users TinyPNG.com I have not found any this better. My own command line tool (run it through ImageMadic and mozjpg) never come close to TINYpng.com. Works so well that save in photoshop at the native rect (2X for image below 400x400 are save a 800 X 800) and save out at 100% quality on Photoshop . Drop in TINYpng.com (does jpeg as well) and look at savings!\ And test them side by side with the originals. Of course, is you are doing Ansel Adam coffee book style photographic representations.... that?s a different story. But my users are interest in the content of the photo -- "the documentary" aspect. They hardly notice the photo quality (except for small images, where I think optimization "breaks" the photo) Brahmanathaswami ?On 6/12/18, 10:45 AM, "use-livecode on behalf of Mark Waddingham via use-livecode" wrote: TL;DR: if you can find a tool which can upscale your images acceptably to 2x or even 4x - do so - keep the original image as foo.png and the upscale ones as foo at 2x/4x.png and set the filename of the image with foo.png. The engine should do the rest (from the using as much as it can pixel data wise at least point of view). From gbojsza at gmail.com Wed Jun 13 07:37:57 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Wed, 13 Jun 2018 07:37:57 -0400 Subject: Linux Screen Resolution Message-ID: Hello, I just got a new Ubuntu system and after installing Livecode the app interface is tiny. My screen resolution is 4K and all the other Ubuntu apps (libre office, firefox etc) appear normal in size? Is there a way I can change Livecode's appearance so it is useable? thanks, Glen From andrew at midwestcoastmedia.com Wed Jun 13 14:13:11 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Wed, 13 Jun 2018 18:13:11 +0000 Subject: Close nodes in Tree View widget Message-ID: <20180613181311.Horde.lbsAuR6A7_g62W3V-XVVbIe@ua850258.serversignin.com> I'm working with the Tree View widget and have found that leaf nodes stay open even after the arrayData has changed. For example, if I click on leaf node 2 and 4 to open them up for further inspection but then load new arrayData those same leaf nodes are already expanded with the new data. Is there a way via code to close all the leaf nodes, or to restrict the widget so only 1 node can be open at a time? --Andrew Bell From jacque at hyperactivesw.com Wed Jun 13 15:34:39 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 13 Jun 2018 14:34:39 -0500 Subject: Linux Screen Resolution In-Reply-To: References: Message-ID: <9cc6b169-60ca-ecb3-a77d-23c7967ab18e@hyperactivesw.com> On 6/13/18 6:37 AM, Glen Bojsza via use-livecode wrote: > Hello, > > I just got a new Ubuntu system and after installing Livecode the app > interface is tiny. > > My screen resolution is 4K and all the other Ubuntu apps (libre office, > firefox etc) appear normal in size? > > Is there a way I can change Livecode's appearance so it is useable? Try setting the pixelScale to 2. LC is supposed to do that automatically on startup though. What does "put the screenPixelScale" return? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Wed Jun 13 15:42:53 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 13 Jun 2018 19:42:53 +0000 Subject: PullDown Menu and the label In-Reply-To: References: <7E33077B-2FA1-4D27-AA9B-D1F1668EE4D9@iotecdigital.com> <7faa42e9-89e2-3782-4320-85e64b6f17a4@fourthworld.com> Message-ID: <3ACBF351-9C45-4C0C-9DE6-2EF62F2E5777@iotecdigital.com> NVM I figured it out. I had in the past, to avoid having a see through menu button, set the showName of the button to false in a populateForm handler. Bob S > On Jun 8, 2018, at 15:08 , Bob Sneidar via use-livecode wrote: > > Sorry Iwas working on something else. > > I may not have explained it well. I have a Pulldown Menu with these options: > > Device Installation > Device Relocation > Firmware Update > Onsite Service > Remote Service > Software Installation > Other... > > When no datagrid record is selected, I set the label of this menu to empty, because it is both a display object for the selected record in the datagrid, as well as an input object when editing the data. > > Now the handler which "populates" the form will set the label to the value in the datagrid record corresponding to it. But when the user clicks the New button on the form, all the input objects/controls are initialized, and in the past I simply set the label of this button to empty. But now instead of leaving the object empty, I want to pre-populate it with the text, "Select the service type..." as a visula clue for the user. > > When I set the label of the button to "Select the service type...", instead of displaying that text, it displays nothing, but in the property inspector, the label is actually set properly. Other menu buttons seem to work, and I thought this worked in the past, but now it seems not to. > > I will throw a demo together later. I have to get a new employee and computer set up in AD before Monday Morning and I am running out of time. Thanks though for your interest and help. Best list ever! > > Bob S > > >> On Jun 8, 2018, at 14:10 , Richard Gaskin via use-livecode wrote: >> >> Bob Sneidar wrote: >> >>> I have noticed that if you set the text of a menu button without >>> setting the label, the label becomes the first line in the text. >>> It may only do this on a Mac though. >> >> If you haven't set the label, what exactly appears in that first line in the text? >> >> If you find a step-by-step recipe I'd be happy to try it here. >> >> -- >> Richard Gaskin >> Fourth World Systems > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Wed Jun 13 18:02:52 2018 From: alex at tweedly.net (Alex Tweedly) Date: Wed, 13 Jun 2018 23:02:52 +0100 Subject: Close nodes in Tree View widget In-Reply-To: <20180613181311.Horde.lbsAuR6A7_g62W3V-XVVbIe@ua850258.serversignin.com> References: <20180613181311.Horde.lbsAuR6A7_g62W3V-XVVbIe@ua850258.serversignin.com> Message-ID: I can't try it out right now - but would it be any good to set the arraydata to empty, and then load the new values you want ? That might (effectively) delete and recreate the relevant nodes, and thereby reset the status of the leaf nodes. Alex. On 13/06/2018 19:13, Andrew Bell via use-livecode wrote: > I'm working with the Tree View widget and have found that leaf nodes > stay open even after the arrayData has changed. For example, if I > click on leaf node 2 and 4 to open them up for further inspection but > then load new arrayData those same leaf nodes are already expanded > with the new data. > > Is there a way via code to close all the leaf nodes, or to restrict > the widget so only 1 node can be open at a time? > > --Andrew Bell > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 gbojsza at gmail.com Wed Jun 13 18:15:24 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Wed, 13 Jun 2018 18:15:24 -0400 Subject: Linux Screen Resolution In-Reply-To: <9cc6b169-60ca-ecb3-a77d-23c7967ab18e@hyperactivesw.com> References: <9cc6b169-60ca-ecb3-a77d-23c7967ab18e@hyperactivesw.com> Message-ID: "put the screenPixelScale" returns 1 set the pixelScale to 2 gives an error that the pixelScale property cannot be set on this platform On Wed, Jun 13, 2018 at 3:34 PM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > On 6/13/18 6:37 AM, Glen Bojsza via use-livecode wrote: > >> Hello, >> >> I just got a new Ubuntu system and after installing Livecode the app >> interface is tiny. >> >> My screen resolution is 4K and all the other Ubuntu apps (libre office, >> firefox etc) appear normal in size? >> >> Is there a way I can change Livecode's appearance so it is useable? >> > > Try setting the pixelScale to 2. LC is supposed to do that automatically > on startup though. What does "put the screenPixelScale" return? > > > -- > 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 monte at appisle.net Wed Jun 13 18:41:25 2018 From: monte at appisle.net (Monte Goulding) Date: Thu, 14 Jun 2018 08:41:25 +1000 Subject: Linux Screen Resolution In-Reply-To: References: <9cc6b169-60ca-ecb3-a77d-23c7967ab18e@hyperactivesw.com> Message-ID: Hi Glen Yes our linux engine does not support pixel scaling on high dpi screens. From the looks of things we could feasibly read the environment variable `GDK_SCALE` and if set use it. Is it set for you? I have only had the briefest look at this though so there may be things I haven?t considered. Feel free to report this. Cheers Monte > On 14 Jun 2018, at 8:15 am, Glen Bojsza via use-livecode wrote: > > "put the screenPixelScale" returns 1 > > set the pixelScale to 2 gives an error that the pixelScale property > cannot be set on this platform > > > > On Wed, Jun 13, 2018 at 3:34 PM, J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> On 6/13/18 6:37 AM, Glen Bojsza via use-livecode wrote: >> >>> Hello, >>> >>> I just got a new Ubuntu system and after installing Livecode the app >>> interface is tiny. >>> >>> My screen resolution is 4K and all the other Ubuntu apps (libre office, >>> firefox etc) appear normal in size? >>> >>> Is there a way I can change Livecode's appearance so it is useable? >>> >> >> Try setting the pixelScale to 2. LC is supposed to do that automatically >> on startup though. What does "put the screenPixelScale" return? >> >> >> -- >> 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 klaus at major-k.de Thu Jun 14 05:03:23 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 14 Jun 2018 11:03:23 +0200 Subject: Dark Mode in macOS Mojave, any thoughts from the mothership? Message-ID: Hi friends, the subject says it all, thanks for any insights! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From andrew at midwestcoastmedia.com Thu Jun 14 09:42:44 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Thu, 14 Jun 2018 13:42:44 +0000 Subject: Close nodes in Tree View widget In-Reply-To: Message-ID: <20180614134244.Horde.1QK6UJq1n4_qJQR31AuO7FJ@ua850258.serversignin.com> Setting the arrayData to EMPTY acts the same as setting the arrayData to some other array: the open nodes remain open. I even tried changing the number of elements in the array to something as low as 1 but it still remembered what nodes had been open when setting the arrayData to something with more elements. There are no properties in the dictionary that describe this type of operation. The closest I could find was hilitedElement but that doesn't actually open or close a node leaf. In fact, if you set the hilitedElement to a node that isn't open it will hilite the next node that is open instead. (bug?) This isn't critical for this project as it is just an internal tool that only I use, but the only workaround I could come up with is to delete the widget and then create the widget again via script along with all the attributes. --Andrew Bell > Date: Wed, 13 Jun 2018 23:02:52 +0100 > From: Alex Tweedly > Subject: Re: Close nodes in Tree View widget > > I can't try it out right now - but would it be any good to set the > arraydata to empty, and then load the new values you want ? That might > (effectively) delete and recreate the relevant nodes, and thereby reset > the status of the leaf nodes. > > Alex. > From brian at milby7.com Thu Jun 14 09:54:05 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 14 Jun 2018 08:54:05 -0500 Subject: Close nodes in Tree View widget In-Reply-To: <20180614134244.Horde.1QK6UJq1n4_qJQR31AuO7FJ@ua850258.serversignin.com> References: <20180614134244.Horde.1QK6UJq1n4_qJQR31AuO7FJ@ua850258.serversignin.com> Message-ID: Could you open a bug report/enhancement request for this? I?ll see what I can do about a PR targeting 9.1 release. I can think of several ways to address the situation. Easiest would be to reset the array that handles what is expanded when the data array is changed. Would not be hard to add a separate handler to collapse all nodes. Once done, you could pull the updated source and compile/use locally until it makes it into a release. Thanks, Brian On Jun 14, 2018, 8:43 AM -0500, Andrew Bell via use-livecode , wrote: > Setting the arrayData to EMPTY acts the same as setting the arrayData > to some other array: the open nodes remain open. I even tried changing > the number of elements in the array to something as low as 1 but it > still remembered what nodes had been open when setting the arrayData > to something with more elements. > > There are no properties in the dictionary that describe this type of > operation. The closest I could find was hilitedElement but that > doesn't actually open or close a node leaf. In fact, if you set the > hilitedElement to a node that isn't open it will hilite the next node > that is open instead. (bug?) > > This isn't critical for this project as it is just an internal tool > that only I use, but the only workaround I could come up with is to > delete the widget and then create the widget again via script along > with all the attributes. > > --Andrew Bell > > > > Date: Wed, 13 Jun 2018 23:02:52 +0100 > > From: Alex Tweedly > > Subject: Re: Close nodes in Tree View widget > > > > I can't try it out right now - but would it be any good to set the > > arraydata to empty, and then load the new values you want ? That might > > (effectively) delete and recreate the relevant nodes, and thereby reset > > the status of the leaf nodes. > > > > Alex. > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 midwestcoastmedia.com Thu Jun 14 10:33:02 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Thu, 14 Jun 2018 14:33:02 +0000 Subject: Close nodes in Tree View widget In-Reply-To: References: <20180614134244.Horde.1QK6UJq1n4_qJQR31AuO7FJ@ua850258.serversignin.com> Message-ID: <20180614143302.Horde.A6sLGGECTGB03b2mu7Y0AU6@ua850258.serversignin.com> Thank you! https://quality.livecode.com/show_bug.cgi?id=21361 --Andrew Bell Quoting Brian Milby : > Could you open a bug report/enhancement request for this? I?ll see > what I can do about a PR targeting 9.1 release. > > I can think of several ways to address the situation. Easiest would > be to reset the array that handles what is expanded when the data > array is changed. Would not be hard to add a separate handler to > collapse all nodes. > > Once done, you could pull the updated source and compile/use locally > until it makes it into a release. > > Thanks, > Brian > On Jun 14, 2018, 8:43 AM -0500, Andrew Bell via use-livecode > , wrote: >> Setting the arrayData to EMPTY acts the same as setting the arrayData >> to some other array: the open nodes remain open. I even tried changing >> the number of elements in the array to something as low as 1 but it >> still remembered what nodes had been open when setting the arrayData >> to something with more elements. >> >> There are no properties in the dictionary that describe this type of >> operation. The closest I could find was hilitedElement but that >> doesn't actually open or close a node leaf. In fact, if you set the >> hilitedElement to a node that isn't open it will hilite the next node >> that is open instead. (bug?) >> >> This isn't critical for this project as it is just an internal tool >> that only I use, but the only workaround I could come up with is to >> delete the widget and then create the widget again via script along >> with all the attributes. >> >> --Andrew Bell >> >> >> > Date: Wed, 13 Jun 2018 23:02:52 +0100 >> > From: Alex Tweedly >> > Subject: Re: Close nodes in Tree View widget >> > >> > I can't try it out right now - but would it be any good to set the >> > arraydata to empty, and then load the new values you want ? That might >> > (effectively) delete and recreate the relevant nodes, and thereby reset >> > the status of the leaf nodes. >> > >> > Alex. >> > >> >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Jun 14 10:54:10 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 14 Jun 2018 14:54:10 +0000 Subject: Open recent File Menu In-Reply-To: <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> Message-ID: <378D5D2F-37EC-4F0E-822A-35BC913334D8@iotecdigital.com> Yes every time someone comes up with a useful snippet like this I add it to my Development menu. :-) Bob S > On Jun 8, 2018, at 13:38 , Terence Heaford via use-livecode wrote: > >> On 8 Jun 2018, at 16:56, Klaus major-k via use-livecode wrote: >> >> set the cRecentStackPaths of stack "revpreferences" to empty > > > Thanks very much. > > > Terry From bobsneidar at iotecdigital.com Thu Jun 14 10:56:26 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 14 Jun 2018 14:56:26 +0000 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> Message-ID: <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. Bob S > On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: > > I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" > > "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. From rdimola at evergreeninfo.net Thu Jun 14 11:24:07 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 14 Jun 2018 11:24:07 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> Message-ID: <003a01d403f3$bf51eaa0$3df5bfe0$@net> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks. 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 Bob Sneidar via use-livecode Sent: Thursday, June 14, 2018 10:56 AM To: How to use LiveCode Cc: Bob Sneidar Subject: Re: Anything LiveCode Can Learn From GO Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. Bob S > On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: > > I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" > > "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. _______________________________________________ use-livecode mailing list use-livecode 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 at canelasoftware.com Thu Jun 14 14:20:48 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Thu, 14 Jun 2018 11:20:48 -0700 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <003a01d403f3$bf51eaa0$3df5bfe0$@net> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> Message-ID: <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> tsNet with async calls can help you get this. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode wrote: > > I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks. > > 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 Bob Sneidar via use-livecode > Sent: Thursday, June 14, 2018 10:56 AM > To: How to use LiveCode > Cc: Bob Sneidar > Subject: Re: Anything LiveCode Can Learn From GO > > Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. > > Bob S > > >> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: >> >> I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" >> >> "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 rdimola at evergreeninfo.net Thu Jun 14 15:45:54 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 14 Jun 2018 15:45:54 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> Message-ID: <007001d40418$51a52290$f4ef67b0$@net> I was referring to a local mobile SQLite DB query. But I do use async tsNet for web service requests. It works like a charm even with many requests outstanding. I fire up 10 or more at a time and they all compete as expected. Async tsNet +1 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 Mark Talluto via use-livecode Sent: Thursday, June 14, 2018 2:21 PM To: How to use LiveCode Cc: Mark Talluto Subject: Re: Anything LiveCode Can Learn From GO tsNet with async calls can help you get this. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode wrote: > > I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks. > > 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 Bob Sneidar via use-livecode > Sent: Thursday, June 14, 2018 10:56 AM > To: How to use LiveCode > Cc: Bob Sneidar > Subject: Re: Anything LiveCode Can Learn From GO > > Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. > > Bob S > > >> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: >> >> I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" >> >> "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 mark at canelasoftware.com Thu Jun 14 17:09:20 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Thu, 14 Jun 2018 14:09:20 -0700 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <007001d40418$51a52290$f4ef67b0$@net> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> <007001d40418$51a52290$f4ef67b0$@net> Message-ID: I missed the local db part. It is clearly written in your original email. But, since I am here typing these chars?pondering?how about running a local server that accesses your local db and use tsnet to do async calls? Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode wrote: > > I was referring to a local mobile SQLite DB query. But I do use async tsNet for web service requests. It works like a charm even with many requests outstanding. I fire up 10 or more at a time and they all compete as expected. Async tsNet +1 > > 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 Mark Talluto via use-livecode > Sent: Thursday, June 14, 2018 2:21 PM > To: How to use LiveCode > Cc: Mark Talluto > Subject: Re: Anything LiveCode Can Learn From GO > > tsNet with async calls can help you get this. > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net > canelasoftware.com > > >> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode wrote: >> >> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks. >> >> 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 Bob Sneidar via use-livecode >> Sent: Thursday, June 14, 2018 10:56 AM >> To: How to use LiveCode >> Cc: Bob Sneidar >> Subject: Re: Anything LiveCode Can Learn From GO >> >> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. >> >> Bob S >> >> >>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: >>> >>> I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" >>> >>> "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 bogdanoff at me.com Thu Jun 14 17:27:54 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 14 Jun 2018 14:27:54 -0700 Subject: Need help with a project Message-ID: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> Hi, I?m working on a project that we are getting ready to publish as a desktop application for Mac and Windows. It is content heavy and I'm wanting to protect it, and am using a product called SoftwareShield/GameShield: http://softwareshield.com http://gameshield.com It puts a wrapping around the executable and offers license management that works well in its basic form. There are more advanced features that I want to take advantage of that seem to go beyond the capabilities of LiveCode script and my own personal abilities. It seems that LiveCode can work with SoftwareShield, but I don?t know where to begin, nor can I program anything besides LiveCode script. This is an example of where I get lost about figuring out how to progress: "Because the kernel of SoftwareShield is developed in C++ and the gsCore exposes flat API in standard way, any language (such as Object-C, Java, NodeJS, Perl, Python, etc.) that can make api call to Windows DLL or MacOS dylib can integrated with SoftwareShield SDK.? http://doc.softwareshield.com/PG/index.html#pg_index Here?s docs they provide: http://doc.softwareshield.com/index.html http://doc.softwareshield.com/PG/ui_gs5.html#sdk_js So, I?m looking for someone who can: 1. Guide me through the process 2. Do Javascript or advanced LC programming as needed This is help I need immediately. Thanks! Peter Bogdanoff ArtsInteractive From kurtkaufman at hotmail.com Thu Jun 14 19:22:30 2018 From: kurtkaufman at hotmail.com (Kurt Kaufman) Date: Thu, 14 Jun 2018 19:22:30 -0400 Subject: OT: Fascinating read Message-ID: I apologize that, in addition to being someone who almost never contributes to this list (although I do read the posts I can understand), when I finally do it's OT. But so it goes: https://www.technologyreview.com/s/609048/the-seven-deadly-sins-of-ai-predictions/ Kurt From brian at milby7.com Thu Jun 14 19:23:21 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 14 Jun 2018 18:23:21 -0500 Subject: Need help with a project In-Reply-To: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> Message-ID: <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Are you saying that you have the standard mode working but you want to include some of the advanced capabilities like restricted trial, etc? Does it just wrap the executable or does it encapsulate the entire directory? I?m assuming you have decided that the password protection of the stack isn?t sufficient. Brian On Jun 14, 2018, 4:28 PM -0500, Peter Bogdanoff via use-livecode , wrote: > Hi, > > I?m working on a project that we are getting ready to publish as a desktop application for Mac and Windows. > > It is content heavy and I'm wanting to protect it, and am using a product called SoftwareShield/GameShield: > > http://softwareshield.com > http://gameshield.com > > It puts a wrapping around the executable and offers license management that works well in its basic form. There are more advanced features that I want to take advantage of that seem to go beyond the capabilities of LiveCode script and my own personal abilities. It seems that LiveCode can work with SoftwareShield, but I don?t know where to begin, nor can I program anything besides LiveCode script. > > This is an example of where I get lost about figuring out how to progress: > > "Because the kernel of SoftwareShield is developed in C++ and the gsCore exposes flat API in standard way, any language (such as Object-C, Java, NodeJS, Perl, Python, etc.) that can make api call to Windows DLL or MacOS dylib can integrated with SoftwareShield SDK.? > > http://doc.softwareshield.com/PG/index.html#pg_index > > > Here?s docs they provide: > > http://doc.softwareshield.com/index.html > http://doc.softwareshield.com/PG/ui_gs5.html#sdk_js > > > So, I?m looking for someone who can: > > 1. Guide me through the process > 2. Do Javascript or advanced LC programming as needed > > This is help I need immediately. > > Thanks! > > Peter Bogdanoff > ArtsInteractive > _______________________________________________ > use-livecode mailing list > use-livecode 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 Thu Jun 14 20:59:02 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 14 Jun 2018 20:59:02 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> <007001d40418$51a52290$f4ef67b0$@net> Message-ID: <009601d40444$1014e8c0$303eba40$@net> Mark, Thanks but, Sigh...Not possible on mobile. 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 Mark Talluto via use-livecode Sent: Thursday, June 14, 2018 5:09 PM To: How to use LiveCode Cc: Mark Talluto Subject: Re: Anything LiveCode Can Learn From GO I missed the local db part. It is clearly written in your original email. But, since I am here typing these chars?pondering?how about running a local server that accesses your local db and use tsnet to do async calls? Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode wrote: > > I was referring to a local mobile SQLite DB query. But I do use async > tsNet for web service requests. It works like a charm even with many > requests outstanding. I fire up 10 or more at a time and they all > compete as expected. Async tsNet +1 > > 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 Mark Talluto via use-livecode > Sent: Thursday, June 14, 2018 2:21 PM > To: How to use LiveCode > Cc: Mark Talluto > Subject: Re: Anything LiveCode Can Learn From GO > > tsNet with async calls can help you get this. > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net canelasoftware.com > > > >> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode wrote: >> >> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks. >> >> 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 Bob Sneidar via use-livecode >> Sent: Thursday, June 14, 2018 10:56 AM >> To: How to use LiveCode >> Cc: Bob Sneidar >> Subject: Re: Anything LiveCode Can Learn From GO >> >> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. >> >> Bob S >> >> >>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: >>> >>> I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" >>> >>> "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 From bogdanoff at me.com Thu Jun 14 21:08:09 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 14 Jun 2018 18:08:09 -0700 Subject: Need help with a project In-Reply-To: <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Message-ID: > you want to include some of the advanced capabilities like restricted trial, Yes, I do want to use advanced capabilities. > Does it just wrap the executable or does it encapsulate the entire directory? It can do either. I am using pw protection on all stacks, which is is working well. More important is the license activation and management because it is a subscription product?there is a single version which has a free, limited status or a full, paid status?the program needs the capability to shift to either. Also I need to control the installations of the program. It will be used in educational institutions, by individuals, sometimes in iffy locations (China) where I need to minimize piracy. Peter > On Jun 14, 2018, at 4:23 PM, Brian Milby via use-livecode wrote: > > Are you saying that you have the standard mode working but you want to include some of the advanced capabilities like restricted trial, etc? > > Does it just wrap the executable or does it encapsulate the entire directory? I?m assuming you have decided that the password protection of the stack isn?t sufficient. > > Brian > On Jun 14, 2018, 4:28 PM -0500, Peter Bogdanoff via use-livecode , wrote: >> Hi, >> >> I?m working on a project that we are getting ready to publish as a desktop application for Mac and Windows. >> >> It is content heavy and I'm wanting to protect it, and am using a product called SoftwareShield/GameShield: >> >> http://softwareshield.com >> http://gameshield.com >> >> It puts a wrapping around the executable and offers license management that works well in its basic form. There are more advanced features that I want to take advantage of that seem to go beyond the capabilities of LiveCode script and my own personal abilities. It seems that LiveCode can work with SoftwareShield, but I don?t know where to begin, nor can I program anything besides LiveCode script. >> >> This is an example of where I get lost about figuring out how to progress: >> >> "Because the kernel of SoftwareShield is developed in C++ and the gsCore exposes flat API in standard way, any language (such as Object-C, Java, NodeJS, Perl, Python, etc.) that can make api call to Windows DLL or MacOS dylib can integrated with SoftwareShield SDK.? >> >> http://doc.softwareshield.com/PG/index.html#pg_index >> >> >> Here?s docs they provide: >> >> http://doc.softwareshield.com/index.html >> http://doc.softwareshield.com/PG/ui_gs5.html#sdk_js >> >> >> So, I?m looking for someone who can: >> >> 1. Guide me through the process >> 2. Do Javascript or advanced LC programming as needed >> >> This is help I need immediately. >> >> Thanks! >> >> Peter Bogdanoff >> ArtsInteractive >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 tom at makeshyft.com Thu Jun 14 21:20:36 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 14 Jun 2018 21:20:36 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <009601d40444$1014e8c0$303eba40$@net> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> <007001d40418$51a52290$f4ef67b0$@net> <009601d40444$1014e8c0$303eba40$@net> Message-ID: Ralph, which part is not possible on mobile?....the asynched requests with tsnet or something different? On Thu, Jun 14, 2018 at 8:59 PM, Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > Mark, > > Thanks but, Sigh...Not possible on mobile. > > 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 Mark Talluto via use-livecode > Sent: Thursday, June 14, 2018 5:09 PM > To: How to use LiveCode > Cc: Mark Talluto > Subject: Re: Anything LiveCode Can Learn From GO > > I missed the local db part. It is clearly written in your original email. > But, since I am here typing these chars?pondering?how about running a local > server that accesses your local db and use tsnet to do async calls? > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net > canelasoftware.com > > > > On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > I was referring to a local mobile SQLite DB query. But I do use async > > tsNet for web service requests. It works like a charm even with many > > requests outstanding. I fire up 10 or more at a time and they all > > compete as expected. Async tsNet +1 > > > > 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 Mark Talluto via use-livecode > > Sent: Thursday, June 14, 2018 2:21 PM > > To: How to use LiveCode > > Cc: Mark Talluto > > Subject: Re: Anything LiveCode Can Learn From GO > > > > tsNet with async calls can help you get this. > > > > Best regards, > > > > Mark Talluto > > livecloud.io > > nursenotes.net canelasoftware.com > > > > > > > >> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> I would love to be able to start a thread that formatted a field that > might be selected and made visible at a later date or have a scrolling > field that could have the non-visible lines being formatted in another > thread before you scroll down. Say you were going to a new card that > required a DB query. You could have the card layout code and the query to a > local DB running at the same time. Even with LCs message hierarchy > multithreading could work. You could fire off a DB query thread and have a > message sent to the main thread when complete. Inter thread communication > would be key. That is where locking would be tricky to prevent dead locks. > >> > >> 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 Bob Sneidar via use-livecode > >> Sent: Thursday, June 14, 2018 10:56 AM > >> To: How to use LiveCode > >> Cc: Bob Sneidar > >> Subject: Re: Anything LiveCode Can Learn From GO > >> > >> Multithreading sounds like a good idea until you realize most things > that have to happen in Livecode due to the message heirarchy need to be > single threaded. It's only when you need to make a server of some sort that > multithreading really needs to be implemented. > >> > >> Bob S > >> > >> > >>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via > use-livecode wrote: > >>> > >>> I wasn't thinking about high language per se. but more from an > engine point of view, specifically use of "Goroutines" > >>> > >>> "But, most of the modern programming languages(like Java, Python etc.) > are from the ?90s single threaded environment. Most of those programming > languages supports multi-threading. But the real problem comes with > concurrent execution, threading-locking, race conditions and deadlocks. > Those things make it hard to create a multi-threading application on those > languages. > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 bogdanoff at me.com Thu Jun 14 21:23:36 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 14 Jun 2018 18:23:36 -0700 Subject: Need help with a project In-Reply-To: References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Message-ID: Also, I want to add this: Yummy Interactive who is behind SoftwareShield has responded to my tech support questions about what to do, but I?m somewhat flummoxed with their responses. They assume I have more technical chops. This is the kind of thing: > 1. Is it possible to create a project that allows a user to have ?unlimited? use for two weeks, then reverts to a ?limited? version? Does this require use of a generated serial number, and an entity on your server? > > > The requirement can be implemented as following: > > (1) create a project, the default/first entity's license model is "Expire By Period" (http://doc.softwareshield.com/UG/license_action.html#expire-by-period ) license model, set the periodInSeconds to 1209600 (two weeks). > > (2) in your app code, checks if the entity status is expired, run app in "unlimited" mode if not, switch to "limited" mode if expired. > > > > if (entity->isLocked()){ > //this entity is locked or trial already expired. > //we may pop up info to prompt for purchase. > run_in_limited_mode(); > } else { > //this entity still in two-weeks trial period > run_in_unlimited_mode(); > } > > please refer to (http://doc.softwareshield.com/PG/index.html#pg_index ) for SDK programming. > > (3) use the license model's action ACT_SET_EXPIRE_PERIOD / ACT_ADD_EXPIRE_PERIOD (http://doc.softwareshield.com/UG/license_action.html#act_set_expire_period ) to manipulate the customer's trial period. Basically it means you create serial numbers (with ACT_XXX_EXPIRE_PERIOD) on our web portal, send a serial number to the customer after payment, the user input the serial number on the license UI page so the app can run in "unlimited" mode again. > From brian at milby7.com Thu Jun 14 21:25:33 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 14 Jun 2018 20:25:33 -0500 Subject: Open recent File Menu In-Reply-To: <378D5D2F-37EC-4F0E-822A-35BC913334D8@iotecdigital.com> References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> <378D5D2F-37EC-4F0E-822A-35BC913334D8@iotecdigital.com> Message-ID: A better command to use is (at least in 8/9, not sure about 7): revIDESetPreference "cRecentStackPaths", empty And, yes it has been requested formally (2/19/07): https://quality.livecode.com/show_bug.cgi?id=4382 PR submitted against develop: https://github.com/livecode/livecode-ide/pull/1984 Hopefully this will make it into the first RC for 9.1 (I guess it could even be pulled into 9.0.1 though) Thanks, Brian On Thu, Jun 14, 2018 at 9:54 AM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Yes every time someone comes up with a useful snippet like this I add it > to my Development menu. :-) > > Bob S > > > > On Jun 8, 2018, at 13:38 , Terence Heaford via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > >> On 8 Jun 2018, at 16:56, Klaus major-k via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> set the cRecentStackPaths of stack "revpreferences" to empty > > > > > > Thanks very much. > > > > > > 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 rdimola at evergreeninfo.net Thu Jun 14 21:28:54 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 14 Jun 2018 21:28:54 -0400 Subject: Anything LiveCode Can Learn From GO In-Reply-To: References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> <007001d40418$51a52290$f4ef67b0$@net> <009601d40444$1014e8c0$303eba40$@net> Message-ID: <009701d40448$3c588e60$b509ab20$@net> Running a web server on a mobile device accessing the app's data. tsNet work like a charm on mobile. I download a slew of images while the user is entering their credentials. I used to do it serially. tsNet rocks(and rolls). 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 Tom Glod via use-livecode Sent: Thursday, June 14, 2018 9:21 PM To: How to use LiveCode Cc: Tom Glod Subject: Re: Anything LiveCode Can Learn From GO Ralph, which part is not possible on mobile?....the asynched requests with tsnet or something different? On Thu, Jun 14, 2018 at 8:59 PM, Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > Mark, > > Thanks but, Sigh...Not possible on mobile. > > 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 Mark Talluto via use-livecode > Sent: Thursday, June 14, 2018 5:09 PM > To: How to use LiveCode > Cc: Mark Talluto > Subject: Re: Anything LiveCode Can Learn From GO > > I missed the local db part. It is clearly written in your original email. > But, since I am here typing these chars?pondering?how about running a > local server that accesses your local db and use tsnet to do async calls? > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net canelasoftware.com > > > > > On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > I was referring to a local mobile SQLite DB query. But I do use > > async tsNet for web service requests. It works like a charm even > > with many requests outstanding. I fire up 10 or more at a time and > > they all compete as expected. Async tsNet +1 > > > > 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 Mark Talluto via use-livecode > > Sent: Thursday, June 14, 2018 2:21 PM > > To: How to use LiveCode > > Cc: Mark Talluto > > Subject: Re: Anything LiveCode Can Learn From GO > > > > tsNet with async calls can help you get this. > > > > Best regards, > > > > Mark Talluto > > livecloud.io > > nursenotes.net canelasoftware.com > > > > > > > >> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> I would love to be able to start a thread that formatted a field > >> that > might be selected and made visible at a later date or have a scrolling > field that could have the non-visible lines being formatted in another > thread before you scroll down. Say you were going to a new card that > required a DB query. You could have the card layout code and the query > to a local DB running at the same time. Even with LCs message > hierarchy multithreading could work. You could fire off a DB query > thread and have a message sent to the main thread when complete. Inter > thread communication would be key. That is where locking would be tricky to prevent dead locks. > >> > >> 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 Bob Sneidar via use-livecode > >> Sent: Thursday, June 14, 2018 10:56 AM > >> To: How to use LiveCode > >> Cc: Bob Sneidar > >> Subject: Re: Anything LiveCode Can Learn From GO > >> > >> Multithreading sounds like a good idea until you realize most > >> things > that have to happen in Livecode due to the message heirarchy need to > be single threaded. It's only when you need to make a server of some > sort that multithreading really needs to be implemented. > >> > >> Bob S > >> > >> > >>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via > use-livecode wrote: > >>> > >>> I wasn't thinking about high language per se. but more from an > engine point of view, specifically use of "Goroutines" > >>> > >>> "But, most of the modern programming languages(like Java, Python > >>> etc.) > are from the ?90s single threaded environment. Most of those > programming languages supports multi-threading. But the real problem > comes with concurrent execution, threading-locking, race conditions and deadlocks. > Those things make it hard to create a multi-threading application on > those languages. > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 monte at appisle.net Thu Jun 14 21:31:40 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 15 Jun 2018 11:31:40 +1000 Subject: Open recent File Menu In-Reply-To: References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> <378D5D2F-37EC-4F0E-822A-35BC913334D8@iotecdigital.com> Message-ID: <28F42547-7003-40AE-AA07-2596B4AC58A2@appisle.net> > On 15 Jun 2018, at 11:25 am, Brian Milby via use-livecode wrote: > PR submitted against develop: > https://github.com/livecode/livecode-ide/pull/1984 Just reviewed it thanks again Brian. Still wondering why it?s useful given the menu cleans out deleted stacks by itself but it seems enough other people think it is to make it worthwhile ;-) Cheers Monte From brian at milby7.com Thu Jun 14 22:05:52 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 14 Jun 2018 21:05:52 -0500 Subject: Dark Mode in macOS Mojave, any thoughts from the mothership? In-Reply-To: References: Message-ID: I'm also interested to see what they have to say. I do like the dark look (that is how I have Atom configured and the SE in LiveCode too). With property inheritance, it shouldn't be too difficult to implement for elements within the stack. This is the kind of thing that the profile manager would be good at managing, but it may be better to separate out the position and "theme" elements. If you had small/large portrait/landscape then you would go from 4 to 8 profiles to handle light/dark as well. As a developer, we would just need the messages telling us when the user changed the mode. I'm not sure how much work it will be in the IDE/Engine itself though. On Thu, Jun 14, 2018 at 4:03 AM, Klaus major-k via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi friends, > > the subject says it all, thanks for any insights! > > > 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 monte at appisle.net Thu Jun 14 23:42:14 2018 From: monte at appisle.net (Monte Goulding) Date: Fri, 15 Jun 2018 13:42:14 +1000 Subject: Dark Mode in macOS Mojave, any thoughts from the mothership? In-Reply-To: References: Message-ID: <8D296BFE-A48C-4A49-AC0F-23A3A9CEF051@appisle.net> > On 15 Jun 2018, at 12:05 pm, Brian Milby via use-livecode wrote: > > I'm also interested to see what they have to say. I do like the dark look > (that is how I have Atom configured and the SE in LiveCode too). > > With property inheritance, it shouldn't be too difficult to implement for > elements within the stack. This is the kind of thing that the profile > manager would be good at managing, but it may be better to separate out the > position and "theme" elements. If you had small/large portrait/landscape > then you would go from 4 to 8 profiles to handle light/dark as well. As a > developer, we would just need the messages telling us when the user changed > the mode. I'm not sure how much work it will be in the IDE/Engine itself > though. We haven?t yet got a system with it running on yet. If anyone does (Colin?) we would be interested in any reports regarding dark mode or anything else. We get default colors from the OS via NSColor class methods so hopefully things will just work for the most part. Obviously where a user has set a color then that?s going to be an issue. I presume there?s appropriate NSApplication methods to determine the current theme. Perhaps either Trevor or Paul can be convinced to put stuff for that in their mac extensions in the short term. Cheers Monte From colinholgate at gmail.com Thu Jun 14 23:53:02 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Thu, 14 Jun 2018 23:53:02 -0400 Subject: Dark Mode in macOS Mojave, any thoughts from the mothership? In-Reply-To: <8D296BFE-A48C-4A49-AC0F-23A3A9CEF051@appisle.net> References: <8D296BFE-A48C-4A49-AC0F-23A3A9CEF051@appisle.net> Message-ID: <702E4F1C-2ACA-4A71-A6DD-EEAF1BF96D2B@gmail.com> >>We haven?t yet got a system with it running on yet. If anyone does (Colin?) I have several tight deadline things on at the moment, otherwise I would have gone ahead and installed it! Come to think of it, I do have an external drive I could try it on. From cszasz at mac.com Fri Jun 15 00:30:31 2018 From: cszasz at mac.com (Charles Szasz) Date: Thu, 14 Jun 2018 22:30:31 -0600 Subject: Listfield Questions Message-ID: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> Does anybody know how to script a listfield to hilite a line using arrow keys on the keyboard? Also, how do you save a hilited line in a listfield? Sent from my iPad From bogdanoff at me.com Fri Jun 15 02:01:21 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 14 Jun 2018 23:01:21 -0700 Subject: Listfield Questions In-Reply-To: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> References: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> Message-ID: <7DD635D6-B8A3-48D2-809F-E97D945A456C@me.com> Charles, This is from something that I?m doing where the user can use the arrow keys to hilite another line or even scroll the field (my field has hundreds of lines). Also as a bonus, pressing the enter or return keys on the keyboard will do the same as clicking on the line. You probably would put this into the card script. Peter Bogdanoff # Catch the arrow, return, enter keys on rawKeyDown what indexLineSelect what pass rawKeyDown end rawKeyDown on indexLineSelect tKey # Currently hilited line put the hilitedLine of field "GlossaryTerms" into tLine if tKey is "65293" or tKey is "65421"then # Return or Enter if tLine is not empty then # Here you would do something based on the currently hilited line # end if exit indexLineSelect else if tKey is "65362" then # Arrowkey up indexLineSelectChange up exit indexLineSelect else if tKey is "65364" then # Arrowkey down indexLineSelectChange down exit indexLineSelect end if on indexLineSelectChange which # This does the actual change of the hilited line put the hilitedLine of field ?YourFieldName" into tLine if tLine is not empty then if which is "up" then if (tLine - 1) > 0 then # Don?t want to go below line zero set the hilitedLine of field "GlossaryTerms" to (tLine - 1) end if else if (tLine + 1) < the number of lines of field "GlossaryTerms" then set the hilitedLine of field "GlossaryTerms" to (tLine + 1) end if end if else # Optional--This will scroll the field when there is no hilited line yet if which is "up" then set the scroll of field "GlossaryTerms" to the scroll of field "GlossaryTerms" - 40 else set the scroll of field "GlossaryTerms" to the scroll of field "GlossaryTerms" + 40 end if end if end indexLineSelectChange > On Jun 14, 2018, at 9:30 PM, Charles Szasz via use-livecode wrote: > > Does anybody know how to script a listfield to hilite a line using arrow keys on the keyboard? Also, how do you save a hilited line in a listfield? > > Sent from my iPad > _______________________________________________ > use-livecode mailing list > use-livecode 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 bogdanoff at me.com Fri Jun 15 02:07:35 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Thu, 14 Jun 2018 23:07:35 -0700 Subject: Listfield Questions In-Reply-To: <7DD635D6-B8A3-48D2-809F-E97D945A456C@me.com> References: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> <7DD635D6-B8A3-48D2-809F-E97D945A456C@me.com> Message-ID: <826B1EC7-8D65-42B7-AA2A-0AC0D73C2677@me.com> Also look at the selectedLine in the dictionary for what to do with the currently hilited line. Peter > On Jun 14, 2018, at 11:01 PM, Peter Bogdanoff via use-livecode wrote: > > Charles, > This is from something that I?m doing where the user can use the arrow keys to hilite another line or even scroll the field (my field has hundreds of lines). Also as a bonus, pressing the enter or return keys on the keyboard will do the same as clicking on the line. > > You probably would put this into the card script. > > Peter Bogdanoff > > > > # Catch the arrow, return, enter keys > on rawKeyDown what > indexLineSelect what > > pass rawKeyDown > end rawKeyDown > > > on indexLineSelect tKey > # Currently hilited line > put the hilitedLine of field "GlossaryTerms" into tLine > > if tKey is "65293" or tKey is "65421"then > # Return or Enter > if tLine is not empty then > # Here you would do something based on the currently hilited line > # > end if > exit indexLineSelect > > else if tKey is "65362" then > # Arrowkey up > indexLineSelectChange up > exit indexLineSelect > > else if tKey is "65364" then > # Arrowkey down > indexLineSelectChange down > exit indexLineSelect > end if > > > on indexLineSelectChange which > # This does the actual change of the hilited line > put the hilitedLine of field ?YourFieldName" into tLine > if tLine is not empty then > if which is "up" then > if (tLine - 1) > 0 then # Don?t want to go below line zero > set the hilitedLine of field "GlossaryTerms" to (tLine - 1) > end if > else > if (tLine + 1) < the number of lines of field "GlossaryTerms" then > set the hilitedLine of field "GlossaryTerms" to (tLine + 1) > end if > end if > else > # Optional--This will scroll the field when there is no hilited line yet > if which is "up" then > set the scroll of field "GlossaryTerms" to the scroll of field "GlossaryTerms" - 40 > else > set the scroll of field "GlossaryTerms" to the scroll of field "GlossaryTerms" + 40 > end if > end if > end indexLineSelectChange > > > > > > >> On Jun 14, 2018, at 9:30 PM, Charles Szasz via use-livecode wrote: >> >> Does anybody know how to script a listfield to hilite a line using arrow keys on the keyboard? Also, how do you save a hilited line in a listfield? >> >> Sent from my iPad >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 toolbook at kestner.de Fri Jun 15 09:00:52 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Fri, 15 Jun 2018 15:00:52 +0200 Subject: LiveCode - Andoid SDK - Java compatibility chart? Message-ID: <007501d404a8$e4e7cb80$aeb76280$@kestner.de> Hello, Just wasted again one day with these nasty compatibility issues. I have followed the LC guide (https://livecode.com/resources/guides/mobile/android/) to install Android development requirements and failed, because the current versions of Android SDK and Java (10) are not compatible (at least the the JDK path doesn't shows up in the LC preferences.) I didn't found any compatibility chart, though I googled quite some time. I have seen compatibility charts for LiveCode - MacOS - Xcode once (from Panos I think), but though I know, that this chart exists somewhere in the deep of the net, I didn't found it either. After reading some other threads about these compatibility sh., without any solution for my current problem, I just deinstalled the JAVA sdk and installed an older one (8). Now it works. The solution and action to be taken is pretty easy - if you know it. Perhaps a compatibility chart included in that guideline (see above) would help others to get nuts. Or can't I just use google and the LC guidelines? Thanks Tiemo From merakosp at gmail.com Fri Jun 15 09:26:47 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Fri, 15 Jun 2018 14:26:47 +0100 Subject: LiveCode - Andoid SDK - Java compatibility chart? In-Reply-To: <007501d404a8$e4e7cb80$aeb76280$@kestner.de> References: <007501d404a8$e4e7cb80$aeb76280$@kestner.de> Message-ID: Hi Tiemo, Currently Java 9 and 10 are not supported, because of some packages being reshuffled/removed/renamed in these versions, so LC does not find the expected tools in the expected location. So this is a bug in LC, not a compatibility issue. There is a bug report here: https://quality.livecode.com/show_bug.cgi?id=20719 However, we should have mentioned this temporary restriction on the lessons pages. I will make sure we add it now. So for now we advice people to install *only* Java 8. In my setup, I have installed: jdk1.8.0_131.jdk SDK Tools v24.4 The older versions of Android SDK Tools now are a bit difficult to find, as they are well-hidden in Google's archives, but for anyone interested: http://dl-ssl.google.com/android/repository/tools_r24.4-windows.zip http://dl-ssl.google.com/android/repository/tools_r24.4-macosx.zip http://dl-ssl.google.com/android/repository/tools_r24.4-linux.zip Best, Panos -- On Fri, Jun 15, 2018 at 2:00 PM, Tiemo Hollmann TB via use-livecode < use-livecode at lists.runrev.com> wrote: > Hello, Just wasted again one day with these nasty compatibility issues. I > have followed the LC guide > (https://livecode.com/resources/guides/mobile/android/) to install Android > development requirements and failed, because the current versions of > Android > SDK and Java (10) are not compatible (at least the the JDK path doesn't > shows up in the LC preferences.) > > I didn't found any compatibility chart, though I googled quite some time. I > have seen compatibility charts for LiveCode - MacOS - Xcode once (from > Panos > I think), but though I know, that this chart exists somewhere in the deep > of > the net, I didn't found it either. > > After reading some other threads about these compatibility sh., without any > solution for my current problem, I just deinstalled the JAVA sdk and > installed an older one (8). Now it works. The solution and action to be > taken is pretty easy - if you know it. > > Perhaps a compatibility chart included in that guideline (see above) would > help others to get nuts. Or can't I just use google and the LC guidelines? > > Thanks > > Tiemo > > > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 engleerica at yahoo.com Fri Jun 15 10:15:15 2018 From: engleerica at yahoo.com (Eric A. Engle) Date: Fri, 15 Jun 2018 14:15:15 +0000 (UTC) Subject: calling an api from a stack? References: <1465840888.197304.1529072115953.ref@mail.yahoo.com> Message-ID: <1465840888.197304.1529072115953@mail.yahoo.com> I am trying to make a call to the yandex translate api for a stack i am working on. i could do this pretty handily in HTML but I want to do it in livecode. I tried working with this but using yandex api instead of google https://stackoverflow.com/questions/35957054/is-it-possible-to-create-a-translator-in-livecode-for-my-app-which-translates-an no joy; this got me no further. https://forums.livecode.com/viewtopic.php?t=14451 thanks for any ideas. yandex api is here https://tech.yandex.com/translate/ From bobsneidar at iotecdigital.com Fri Jun 15 11:04:44 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 15:04:44 +0000 Subject: OT: Fascinating read In-Reply-To: References: Message-ID: <3B89F0B5-9389-41AA-8904-4658CBDF3256@iotecdigital.com> Great article. One point I'd somewhat contend with is the notion that if technology is advanced enough it would be magic to someone first exposed to it. I think it would be better to say that it would seem like magic. If the inference is that magic is only technology advanced beyond current understanding, then I beg to differ. A great read by C.S. Lewis called Miracles (read that magic if you will) says that there are two kinds of "miracles": Those that involve the acceleration of what nature could produce if given the time, and those which nature in and of itself cannot produce. A healing would be the first kind. The parting of the red sea the second. I know I am skirting list conventions here but the examples are perfect for making my point about the difference between advanced technology, and what we really mean by "magic", if there is such a thing. Bob S > On Jun 14, 2018, at 16:22 , Kurt Kaufman via use-livecode wrote: > > I apologize that, in addition to being someone who almost never contributes > to this list (although I do read the posts I can understand), when I > finally do it's OT. But so it goes: > > https://www.technologyreview.com/s/609048/the-seven-deadly-sins-of-ai-predictions/ > > Kurt From bobsneidar at iotecdigital.com Fri Jun 15 11:07:35 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 15:07:35 +0000 Subject: Need help with a project In-Reply-To: References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Message-ID: > On Jun 14, 2018, at 18:23 , Peter Bogdanoff via use-livecode wrote: > > Also, I want to add this: Yummy Interactive who is behind SoftwareShield has responded to my tech support questions about what to do, but I?m somewhat flummoxed with their responses. They assume I have more technical chops. That happens a lot when technical people respond to questions. They presume a level of proficiency similar to their own. Many times people thing I am blathering on when explaining how something works and why it's not presently, but in actually I am making no assumptions. :-) Bob S From bobsneidar at iotecdigital.com Fri Jun 15 11:11:20 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 15:11:20 +0000 Subject: Open recent File Menu In-Reply-To: <28F42547-7003-40AE-AA07-2596B4AC58A2@appisle.net> References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> <378D5D2F-37EC-4F0E-822A-35BC913334D8@iotecdigital.com> <28F42547-7003-40AE-AA07-2596B4AC58A2@appisle.net> Message-ID: One reason is that sometimes I have to go to a backup or archive of a stack to revert some script or object deletion. When that happens I get 2 instances of the recent stack, but now they are prepended by (sometimes) long paths. Also, I will open sample stack from time to time, and those stay in the menu cluttering it up until more recent stacks push them out. Bob S > On Jun 14, 2018, at 18:31 , Monte Goulding via use-livecode wrote: > >> On 15 Jun 2018, at 11:25 am, Brian Milby via use-livecode wrote: >> PR submitted against develop: >> https://github.com/livecode/livecode-ide/pull/1984 > > Just reviewed it thanks again Brian. Still wondering why it?s useful given the menu cleans out deleted stacks by itself but it seems enough other people think it is to make it worthwhile ;-) > > Cheers > > Monte From mark at canelasoftware.com Fri Jun 15 11:16:24 2018 From: mark at canelasoftware.com (Mark Talluto) Date: Fri, 15 Jun 2018 08:16:24 -0700 Subject: Anything LiveCode Can Learn From GO In-Reply-To: <009601d40444$1014e8c0$303eba40$@net> References: <9820D140-9D4E-4E85-93D9-CAA5BB3E6616@all-auctions.com> <6A44414D-CADB-4B78-B1D3-FDDAEB4BED09@hindu.org> <0ECA9508-0E16-4987-9CB3-A4E07825674E@iotecdigital.com> <003a01d403f3$bf51eaa0$3df5bfe0$@net> <4F79994D-5B0F-4F96-8A5B-88F699EBEA4E@canelasoftware.com> <007001d40418$51a52290$f4ef67b0$@net> <009601d40444$1014e8c0$303eba40$@net> Message-ID: Sigh on me for I missed the ?mobile? part?also clearly stated. We are out of luck in that area. But, the idea works well for desktop solutions. Data access for mobile use should be pretty fast even if it is processed as a ?sync? process. Most mobile apps need to do more modest processing due to all the constraints of the device anyways. Best regards, Mark Talluto livecloud.io nursenotes.net canelasoftware.com > On Jun 14, 2018, at 5:59 PM, Ralph DiMola via use-livecode wrote: > > Mark, > > Thanks but, Sigh...Not possible on mobile. > > 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 Mark Talluto via use-livecode > Sent: Thursday, June 14, 2018 5:09 PM > To: How to use LiveCode > Cc: Mark Talluto > Subject: Re: Anything LiveCode Can Learn From GO > > I missed the local db part. It is clearly written in your original email. But, since I am here typing these chars?pondering?how about running a local server that accesses your local db and use tsnet to do async calls? > > Best regards, > > Mark Talluto > livecloud.io > nursenotes.net > canelasoftware.com > > >> On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode wrote: >> >> I was referring to a local mobile SQLite DB query. But I do use async >> tsNet for web service requests. It works like a charm even with many >> requests outstanding. I fire up 10 or more at a time and they all >> compete as expected. Async tsNet +1 >> >> 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 Mark Talluto via use-livecode >> Sent: Thursday, June 14, 2018 2:21 PM >> To: How to use LiveCode >> Cc: Mark Talluto >> Subject: Re: Anything LiveCode Can Learn From GO >> >> tsNet with async calls can help you get this. >> >> Best regards, >> >> Mark Talluto >> livecloud.io >> nursenotes.net canelasoftware.com >> >> >> >>> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode wrote: >>> >>> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks. >>> >>> 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 Bob Sneidar via use-livecode >>> Sent: Thursday, June 14, 2018 10:56 AM >>> To: How to use LiveCode >>> Cc: Bob Sneidar >>> Subject: Re: Anything LiveCode Can Learn From GO >>> >>> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented. >>> >>> Bob S >>> >>> >>>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode wrote: >>>> >>>> I wasn't thinking about high language per se. but more from an engine point of view, specifically use of "Goroutines" >>>> >>>> "But, most of the modern programming languages(like Java, Python etc.) are from the ?90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages. >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 11:21:35 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 15:21:35 +0000 Subject: Listfield Questions In-Reply-To: <7DD635D6-B8A3-48D2-809F-E97D945A456C@me.com> References: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> <7DD635D6-B8A3-48D2-809F-E97D945A456C@me.com> Message-ID: > On Jun 14, 2018, at 23:01 , Peter Bogdanoff via use-livecode wrote: > > Charles, > This is from something that I?m doing where the user can use the arrow keys to hilite another line or even scroll the field (my field has hundreds of lines). Also as a bonus, pressing the enter or return keys on the keyboard will do the same as clicking on the line. > > You probably would put this into the card script. > > Peter Bogdanoff I do a similar thing, popping up a list field with similar lines to what the user typed into another field, and allowing the user to arrow and select with return or spacebar. I use arrowKey. Bob S on mouseDown put the clickLine into theClickedLine put value(theClickedLine) into theSalesPerson put theSalesPerson into field "fldSalesPerson" hide me end mouseDown on selectionChanged put the clickLine into theClickedLine put value(theClickedLine) into theSalesPerson put theSalesPerson into field "fldSalesPerson" hide me end selectionChanged on openField put the hilitedLine of me into theHilitedLine put line theHilitedLine of the text of me into theSalesPerson put theSalesPerson into field "fldSalesPerson" end openField on returnInField put the hilitedLine of me into theHilitedLine put line theHilitedLine of the text of me into theSalesPerson put theSalesPerson into field "fldSalesPerson" hide me end returnInField on rawKeyDown pKey if pKey is 32 or pKey is 65289 then send returnInField to me in 0 seconds end if pass rawKeyDown end rawKeyDown on arrowKey pDirection switch pDirection case "up" if the hilitedLine of me >1 then set the hilitedLine of me to the hilitedLine of me -1 break case "down" if the hilitedLine of me < the number of lines of the text of me then \ set the hilitedLine of me to the hilitedLine of me +1 break end switch put the hilitedLine of me into theHilitedLine put line theHilitedLine of the text of me into theSalesPerson put theSalesPerson into field "fldSalesPerson" pass arrowKey end arrowKey on exitField hide me end exitField From gbojsza at gmail.com Fri Jun 15 11:45:25 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Fri, 15 Jun 2018 11:45:25 -0400 Subject: Regex (matchChunk) help... Message-ID: Hello, I have a couple of hundred pages of text where I need to extract out a different string. The ending of each string I need has the same ending skyrider1 The beginning of each string is the same selkirkst The middle of each string can be any text. The problem is that within each line where a string exists there are several strings that have the same beginning selkirkst but none of the have the correct ending skyrider1. My thoughts are to find ending of the string first and then work backwards to the first beginning string. I created the following example which is gibberish but should make this clearer... this is the string I want to extract from the line given is *selkirkst is placed in the second **skyrider1* Use the *selkirkst* function to check whether a *string* contains a specified pattern. If *selkirkst* includes a pair of parentheses, the position of the substring matching the part of theregular expression inside the parentheses is placed in the variables in the *positionVarsList*. The number of the first character in the matching substring is placed in the first variable in the positionVarsList, and the number of the last *selkirkst is placed in the second **skyrider1*. Additional starting and ending positions, matching additional parenthetical expressions, are placed in additional pairs of variables in thepositionVarsList. If the *selkirkst* function returns false, the values of the variables in the positionVarsListare not changed. The string and regularExpression are always case-sensitive, regardless of the setting of the caseSensitive property. (If you need to make a case-insensitive comparison, use "(?i)" at the start of the regularExpression to make the match case-insensitive.) The next line will not have *is placed in the second* but some other text *selkirkst* ???? *skyrider1* I am not sure if this explains it well enough but I believe a regex expression could be used (or perhaps a matchChunk) to extract the correct string from each line of text. Any suggestions? thanks, Glen From bobsneidar at iotecdigital.com Fri Jun 15 11:53:10 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 15:53:10 +0000 Subject: Regex (matchChunk) help... In-Reply-To: References: Message-ID: <42429B82-623C-4212-8ADB-D57D0B18881B@iotecdigital.com> one way would be to populate a memory database, then query it with LIKE: SELECT * FROM memorydb WHERE stringtext LIKE 'selkirkst%' OR stringtext LIKE '%skyrider1' If you need lines that have both use a single comparison 'selkirkst%skyrider1' Sometimes SQL is the best way to find things. Bob S > On Jun 15, 2018, at 08:45 , Glen Bojsza via use-livecode wrote: > > Hello, > > I have a couple of hundred pages of text where I need to extract out a > different string. > > The ending of each string I need has the same ending skyrider1 > > The beginning of each string is the same selkirkst > > The middle of each string can be any text. > > The problem is that within each line where a string exists there are > several strings that have the same beginning selkirkst but none of the have > the correct ending skyrider1. > > My thoughts are to find ending of the string first and then work backwards > to the first beginning string. > > I created the following example which is gibberish but should make this > clearer... this is the string I want to extract from the line given is > *selkirkst is > placed in the second **skyrider1* From bonnmike at gmail.com Fri Jun 15 12:24:35 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 10:24:35 -0600 Subject: calling an api from a stack? In-Reply-To: <1465840888.197304.1529072115953@mail.yahoo.com> References: <1465840888.197304.1529072115953.ref@mail.yahoo.com> <1465840888.197304.1529072115953@mail.yahoo.com> Message-ID: /* A quick and dirty example of using yandex translator Fill in your key then use the 2 functions to try things out. Put this in your card or stack script, then call the desired function passing in the required parameters. */ constant kKey="put your key here" constant kGetTransURL=" https://translate.yandex.net/api/v1.5/tr.json/translate?key=[[kKey]]&text=[[urlencode(pText)]]&lang=[[pLang]]&format=plain&options=1 " constant kGuessLanguageUrl=" https://translate.yandex.net/api/v1.5/tr.json/detect?key=[[kKey]]&text=[[urlencode(pText)]]&hint=[[pHints]] " /* The translate function. pText is the text to translate pLange is the target language. It can either be in "source-target" version, or just target, allowing the system to guess the source language Returns json and pops it into the message box. It also has the option turned on to tell you its best guess language, so that if you use the version (for example) en-es to go from english to spanish you can see if it agrees with you on the source language. If you look at the constant kGetTransUrl, you can see that when the merge is done, the text is urlencoded as part of the merge. Do this for all text being sent for translation/analysis. */ function translate pText,pLang get URL merge(kGetTransUrl) return it & cr & the result end translate /* Just tries to guess the source language. pText again, is the text to send pHints is an optional comma delimited list of languages that you suspect might be the source. IE "es,fr" It is safe to send an empty string for pHints and let yandex check against all languages. */ function guessLanguage pText,pHints get URL merge(kGuessLanguageUrl) return it & cr & the result end guessLanguage On Fri, Jun 15, 2018 at 8:19 AM Eric A. Engle via use-livecode < use-livecode at lists.runrev.com> wrote: > I am trying to make a call to the yandex translate api for a stack i am > working on. > i could do this pretty handily in HTML but I want to do it in livecode. > > I tried working with this but using yandex api instead of google > > > https://stackoverflow.com/questions/35957054/is-it-possible-to-create-a-translator-in-livecode-for-my-app-which-translates-an > > no joy; this got me no further. > > https://forums.livecode.com/viewtopic.php?t=14451 > > > thanks for any ideas. yandex api is here > https://tech.yandex.com/translate/ > > _______________________________________________ > use-livecode mailing list > use-livecode 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 jerry at jhjensen.com Fri Jun 15 12:27:00 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Fri, 15 Jun 2018 09:27:00 -0700 Subject: Regex (matchChunk) help... In-Reply-To: References: Message-ID: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Will this do what you want? (untested) put empty into tExtract repeat for each line L in bigText if char -9 to -1 of L is ?skyrider1? then if char 1 to 9 of L is ?selkirkst? then put L & return after tExtract end if end if end repeat if char -1 of tExtract is return then delete char -1 of tExtract > On Jun 15, 2018, at 8:45 AM, Glen Bojsza via use-livecode wrote: > > Hello, > > I have a couple of hundred pages of text where I need to extract out a > different string. > > The ending of each string I need has the same ending skyrider1 > > The beginning of each string is the same selkirkst > > The middle of each string can be any text. > > The problem is that within each line where a string exists there are > several strings that have the same beginning selkirkst but none of the have > the correct ending skyrider1. > > My thoughts are to find ending of the string first and then work backwards > to the first beginning string. > > I created the following example which is gibberish but should make this > clearer... this is the string I want to extract from the line given is > *selkirkst is > placed in the second **skyrider1* > > > > Use the *selkirkst* function to check whether a *string* contains a > specified pattern. If *selkirkst* includes a pair of parentheses, the > position of the substring matching the part of theregular expression inside > the parentheses is placed in the variables in the *positionVarsList*. The > number of the first character in the matching substring is placed in the > first variable in the positionVarsList, and the number of the last > *selkirkst is > placed in the second **skyrider1*. Additional starting and ending > positions, matching additional parenthetical expressions, are placed in > additional pairs of variables in thepositionVarsList. If the > *selkirkst* function > returns false, the values of the variables in the positionVarsListare not > changed. The string and regularExpression are always case-sensitive, > regardless of the setting of the caseSensitive property. (If you need to > make a case-insensitive comparison, use "(?i)" at the start of the > regularExpression to make the match case-insensitive.) > > The next line will not have *is placed in the second* but some other text > *selkirkst* ???? *skyrider1* > > I am not sure if this explains it well enough but I believe a regex > expression could be used (or perhaps a matchChunk) to extract the correct > string from each line of text. > > Any suggestions? > > thanks, > > Glen > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 12:36:02 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 10:36:02 -0600 Subject: Regex (matchChunk) help... In-Reply-To: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: If I understand correctly.. If you find the beginning string occurrence, and then find another beginning string, you want to ignore the first, and only take strings where beginning and end have no intermediate beginnings? Like this I mean.. beginning blah blah blah blah blah *beginning blah blah blah blah ending* Where you would only want the bold part to match? If so, it might be easiest to do a repeat for each trueword loop. put 1 into tCounter repeat for each trueword tword in tText /*pseudocode check the word. If its the beginning word, keep track of it using tCounter so you know what word it was If you're tracking a beginning and you hit a beginning again, track that one instead. If its the ending word, and you have a beginning word being tracked, place the pair of word numbers into a list of found strings and reset the begin tracker to empty if its neither, do nothing increment the counter next loop */ end repeat Of course if I've misunderstood what you need, kindly ignore this. On Fri, Jun 15, 2018 at 10:27 AM Jerry Jensen via use-livecode < use-livecode at lists.runrev.com> wrote: > Will this do what you want? (untested) > > put empty into tExtract > repeat for each line L in bigText > if char -9 to -1 of L is ?skyrider1? then > if char 1 to 9 of L is ?selkirkst? then > put L & return after tExtract > end if > end if > end repeat > if char -1 of tExtract is return then delete char -1 of tExtract > > > On Jun 15, 2018, at 8:45 AM, Glen Bojsza via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Hello, > > > > I have a couple of hundred pages of text where I need to extract out a > > different string. > > > > The ending of each string I need has the same ending skyrider1 > > > > The beginning of each string is the same selkirkst > > > > The middle of each string can be any text. > > > > The problem is that within each line where a string exists there are > > several strings that have the same beginning selkirkst but none of the > have > > the correct ending skyrider1. > > > > My thoughts are to find ending of the string first and then work > backwards > > to the first beginning string. > > > > I created the following example which is gibberish but should make this > > clearer... this is the string I want to extract from the line given is > > *selkirkst is > > placed in the second **skyrider1* > > > > > > > > Use the *selkirkst* function to check whether a *string* contains a > > specified pattern. If *selkirkst* includes a pair of parentheses, the > > position of the substring matching the part of theregular expression > inside > > the parentheses is placed in the variables in the *positionVarsList*. The > > number of the first character in the matching substring is placed in the > > first variable in the positionVarsList, and the number of the last > > *selkirkst is > > placed in the second **skyrider1*. Additional starting and ending > > positions, matching additional parenthetical expressions, are placed in > > additional pairs of variables in thepositionVarsList. If the > > *selkirkst* function > > returns false, the values of the variables in the positionVarsListare not > > changed. The string and regularExpression are always case-sensitive, > > regardless of the setting of the caseSensitive property. (If you need to > > make a case-insensitive comparison, use "(?i)" at the start of the > > regularExpression to make the match case-insensitive.) > > > > The next line will not have *is placed in the second* but some other > text > > *selkirkst* ???? *skyrider1* > > > > I am not sure if this explains it well enough but I believe a regex > > expression could be used (or perhaps a matchChunk) to extract the correct > > string from each line of text. > > > > Any suggestions? > > > > thanks, > > > > Glen > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 brian at milby7.com Fri Jun 15 12:38:48 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 15 Jun 2018 11:38:48 -0500 Subject: Regex (matchChunk) help... In-Reply-To: References: Message-ID: I?m a little confused about the requirements. Can the desired text span lines? If not, it changes things slightly. Offset is something you can use. Find location of end token. Find location of first start token. Find location of next start token. If before end token, try again until after or none. Then you have the bounds for the first match. I?ll try to write up code to test later this evening if no one provides a good example before then. Offset has a param for chars to skip. On Jun 15, 2018, 10:46 AM -0500, Glen Bojsza via use-livecode , wrote: > Hello, > > I have a couple of hundred pages of text where I need to extract out a > different string. > > The ending of each string I need has the same ending skyrider1 > > The beginning of each string is the same selkirkst > > The middle of each string can be any text. > > The problem is that within each line where a string exists there are > several strings that have the same beginning selkirkst but none of the have > the correct ending skyrider1. > > My thoughts are to find ending of the string first and then work backwards > to the first beginning string. > > I created the following example which is gibberish but should make this > clearer... this is the string I want to extract from the line given is > *selkirkst is > placed in the second **skyrider1* > > > > Use the *selkirkst* function to check whether a *string* contains a > specified pattern. If *selkirkst* includes a pair of parentheses, the > position of the substring matching the part of theregular expression inside > the parentheses is placed in the variables in the *positionVarsList*. The > number of the first character in the matching substring is placed in the > first variable in the positionVarsList, and the number of the last > *selkirkst is > placed in the second **skyrider1*. Additional starting and ending > positions, matching additional parenthetical expressions, are placed in > additional pairs of variables in thepositionVarsList. If the > *selkirkst* function > returns false, the values of the variables in the positionVarsListare not > changed. The string and regularExpression are always case-sensitive, > regardless of the setting of the caseSensitive property. (If you need to > make a case-insensitive comparison, use "(?i)" at the start of the > regularExpression to make the match case-insensitive.) > > The next line will not have *is placed in the second* but some other text > *selkirkst* ???? *skyrider1* > > I am not sure if this explains it well enough but I believe a regex > expression could be used (or perhaps a matchChunk) to extract the correct > string from each line of text. > > Any suggestions? > > thanks, > > Glen > _______________________________________________ > use-livecode mailing list > use-livecode 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 gbojsza at gmail.com Fri Jun 15 12:50:32 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Fri, 15 Jun 2018 12:50:32 -0400 Subject: Regex (matchChunk) help... In-Reply-To: <42429B82-623C-4212-8ADB-D57D0B18881B@iotecdigital.com> References: <42429B82-623C-4212-8ADB-D57D0B18881B@iotecdigital.com> Message-ID: Bob, this is an interesting approach using SQL. I will try and setup a simple test with SQLite. thanks On Fri, Jun 15, 2018 at 11:53 AM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > one way would be to populate a memory database, then query it with LIKE: > > SELECT * FROM memorydb WHERE stringtext LIKE 'selkirkst%' OR stringtext > LIKE '%skyrider1' > > If you need lines that have both use a single comparison > 'selkirkst%skyrider1' > > Sometimes SQL is the best way to find things. > > Bob S > > > From gbojsza at gmail.com Fri Jun 15 12:57:10 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Fri, 15 Jun 2018 12:57:10 -0400 Subject: Regex (matchChunk) help... In-Reply-To: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: Hi Jerry, I may be wrong but it looks like your solution assumes that the line has the beginning and ending I am looking for in the first and last positions...in my example text that I gave it was all one line and the string I am looking for is somewhere in the middle. I may not have been clear but the example text looks like a paragraph with multiple lines but it is actually a single line and the formatting of it may be deceiving. On Fri, Jun 15, 2018 at 12:27 PM, Jerry Jensen via use-livecode < use-livecode at lists.runrev.com> wrote: > Will this do what you want? (untested) > > put empty into tExtract > repeat for each line L in bigText > if char -9 to -1 of L is ?skyrider1? then > if char 1 to 9 of L is ?selkirkst? then > put L & return after tExtract > end if > end if > end repeat > if char -1 of tExtract is return then delete char -1 of tExtract > > *Start of line * > > Use the *selkirkst* function to check whether a *string* contains a > > specified pattern. If *selkirkst* includes a pair of parentheses, the > > position of the substring matching the part of theregular expression > inside > > the parentheses is placed in the variables in the *positionVarsList*. The > > number of the first character in the matching substring is placed in the > > first variable in the positionVarsList, and the number of the last > > *selkirkst is > > placed in the second **skyrider1*. Additional starting and ending > > positions, matching additional parenthetical expressions, are placed in > > additional pairs of variables in thepositionVarsList. If the > > *selkirkst* function > > returns false, the values of the variables in the positionVarsListare not > > changed. The string and regularExpression are always case-sensitive, > > regardless of the setting of the caseSensitive property. (If you need to > > make a case-insensitive comparison, use "(?i)" at the start of the > > regularExpression to make the match case-insensitive.) > *End of line* > From gbojsza at gmail.com Fri Jun 15 13:02:09 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Fri, 15 Jun 2018 13:02:09 -0400 Subject: Regex (matchChunk) help... In-Reply-To: References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: Mike, I believe that you are correct in understanding what I am trying to extract. I will need a bit more time to work through your solution. regards, Glen From ahsoftware at sonic.net Fri Jun 15 13:05:21 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 15 Jun 2018 10:05:21 -0700 Subject: Regex (matchChunk) help... In-Reply-To: References: Message-ID: On 06/15/2018 08:45 AM, Glen Bojsza via use-livecode wrote: > Any suggestions? filter lotsOfText with "*selkirkst*skyrider1*" -- Mark Wieder ahsoftware at gmail.com From engleerica at yahoo.com Fri Jun 15 13:03:08 2018 From: engleerica at yahoo.com (Eric A. Engle) Date: Fri, 15 Jun 2018 17:03:08 +0000 (UTC) Subject: calling an api from a stack? References: <852539503.288036.1529082188233.ref@mail.yahoo.com> Message-ID: <852539503.288036.1529082188233@mail.yahoo.com> This works, sort of: put URL "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text=hello%20world&lang=en-de" into tResult put tResult into card field 1 --put JsonImport(tResult) into tResults --put JsonToArray(tResults) into tProfile put tResult & return into cd fld 1 set the itemdelimiter to "[" put the last item of tResult after cd fld 1 for some reason JsonImport and JsonToArray return nothing. I can however set delimiter to [ and then programmatically delete the first and last 3 chars after the last item of tResult. But why can't, or how, must I extract from Json? From bonnmike at gmail.com Fri Jun 15 13:21:05 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 11:21:05 -0600 Subject: Regex (matchChunk) help... In-Reply-To: References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: Try this.. on mouseup local tCharOffset --set the text of field 1 to the text of field 1 put the text of field 1 into tText put "beginning" into tstartword -- string begin put "ending" into tEndword -- string end put 1 into tCounter -- tracks current word repeat for each trueword tWord in tText switch tWord case tStartword put tCounter into tPair break case tEndword if tPair is not empty then put tPair & comma & tCounter & cr after tPairs end if break end switch add 1 to tcounter end repeat delete the last char of tPairs repeat for each line tLine in tPairs set the textcolor of trueword (item 1 of tLine) to (item 2 of tLine) of field 1 to "blue" end repeat end mouseup On Fri, Jun 15, 2018 at 11:03 AM Glen Bojsza via use-livecode < use-livecode at lists.runrev.com> wrote: > Mike, I believe that you are correct in understanding what I am trying to > extract. > > I will need a bit more time to work through your solution. > > regards, > > Glen > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 13:40:55 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 11:40:55 -0600 Subject: calling an api from a stack? In-Reply-To: <852539503.288036.1529082188233@mail.yahoo.com> References: <852539503.288036.1529082188233.ref@mail.yahoo.com> <852539503.288036.1529082188233@mail.yahoo.com> Message-ID: jsontoarray returns an array, you'll have to dig through the array to find where pieces of information reside, but it pretty straightforward after you poke around. For example.. If you instead do this.. put jsontoarray(tResult) into tArray you have an array variable named tArray. If you-- put the keys of tArray you'll see the first level of keys. One of the keys is named "text" and it has a numeric subkey named 1 So if you-- put tArray["text"][1] into field 1 The translation will be placed into the field. YOu can use the "put the keys" syntax to find subkeys too, so if you-- put the keys of tArray["text"] you get back the single subkey 1. If you were to-- put the keys of tArray["text"][1] you would get nothing back because there are no subkeys. Instead, a value has been placed into key ["text"][1] which is your translated text. Its pretty easy to poke around an array this way and figure things out, especially since the array for this is pretty simple. (also look at "elements" in the dictionary) On Fri, Jun 15, 2018 at 11:07 AM Eric A. Engle via use-livecode < use-livecode at lists.runrev.com> wrote: > This works, sort of: > > put URL " > https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text=hello%20world&lang=en-de" > into tResult > put tResult into card field 1 > --put JsonImport(tResult) into tResults > --put JsonToArray(tResults) into tProfile > put tResult & return into cd fld 1 > set the itemdelimiter to "[" > put the last item of tResult after cd fld 1 > > for some reason JsonImport and JsonToArray return nothing. I can however > set delimiter to [ and then programmatically delete the first and last 3 > chars after the last item of tResult. But why can't, or how, must I extract > from Json? > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 13:51:55 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 11:51:55 -0600 Subject: Regex (matchChunk) help... In-Reply-To: References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: Slightly cleaned up, and adjusted to empty tPair after a match. (on the off chance there is a second ending without a matching new beginning word) > on mouseup > put the text of field 1 into tText > put "beginning" into tstartword -- string begin > put "ending" into tEndword -- string end > put 1 into tCounter -- tracks current word > repeat for each trueword tWord in tText > switch tWord > case tStartword > put tCounter into tPair > break > case tEndword > if tPair is not empty then > put tPair & comma & tCounter & cr after tPairs > put empty into tPair > end if > break > end switch > add 1 to tcounter > end repeat > delete the last char of tPairs > repeat for each line tLine in tPairs > set the textcolor of trueword (item 1 of tLine) to (item 2 of tLine) > of field 1 to "blue" > end repeat > end mouseup > From gbojsza at gmail.com Fri Jun 15 14:32:11 2018 From: gbojsza at gmail.com (Glen Bojsza) Date: Fri, 15 Jun 2018 14:32:11 -0400 Subject: Regex (matchChunk) help... In-Reply-To: References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: Hi Mike, Yes this works....never used or knew about trueword. thanks! Glen On Fri, Jun 15, 2018 at 1:21 PM, Mike Bonner via use-livecode < use-livecode at lists.runrev.com> wrote: > Try this.. > > on mouseup > local tCharOffset > --set the text of field 1 to the text of field 1 > put the text of field 1 into tText > put "beginning" into tstartword -- string begin > put "ending" into tEndword -- string end > put 1 into tCounter -- tracks current word > repeat for each trueword tWord in tText > switch tWord > case tStartword > put tCounter into tPair > break > case tEndword > if tPair is not empty then > put tPair & comma & tCounter & cr after tPairs > end if > break > end switch > add 1 to tcounter > end repeat > delete the last char of tPairs > repeat for each line tLine in tPairs > set the textcolor of trueword (item 1 of tLine) to (item 2 of tLine) > of field 1 to "blue" > end repeat > end mouseup > > On Fri, Jun 15, 2018 at 11:03 AM Glen Bojsza via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Mike, I believe that you are correct in understanding what I am trying to > > extract. > > > > I will need a bit more time to work through your solution. > > > > regards, > > > > Glen > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 Jun 15 15:04:24 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 13:04:24 -0600 Subject: Regex (matchChunk) help... In-Reply-To: References: <52CEFA12-89BC-4C26-9E96-9F64404EF893@jhjensen.com> Message-ID: Glad it worked. If it turns out there is a reason not to use trueword and a for each loop, the same basic algorithm can be used with offset() but it would be a bit more convoluted. Basically, find the first offset for the beginning string, then use that to skip chars to look for both the beginning string and ending string. If both are found, replace the initial offset for beginning with the new offset, use that info for the next chars to skip, and do it again. There would be several more things to watch for, like having a current beginning offset, doing your check, and making sure you still have a match even if there isn't another beginning offset, and only an end. (and various other combinations i'm sure) but it shouldn't be too bad to figure out if the other solution is ruled out for some reason. On Fri, Jun 15, 2018 at 12:32 PM Glen Bojsza via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Mike, > > Yes this works....never used or knew about trueword. > > thanks! > > Glen > > On Fri, Jun 15, 2018 at 1:21 PM, Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Try this.. > > > > on mouseup > > local tCharOffset > > --set the text of field 1 to the text of field 1 > > put the text of field 1 into tText > > put "beginning" into tstartword -- string begin > > put "ending" into tEndword -- string end > > put 1 into tCounter -- tracks current word > > repeat for each trueword tWord in tText > > switch tWord > > case tStartword > > put tCounter into tPair > > break > > case tEndword > > if tPair is not empty then > > put tPair & comma & tCounter & cr after tPairs > > end if > > break > > end switch > > add 1 to tcounter > > end repeat > > delete the last char of tPairs > > repeat for each line tLine in tPairs > > set the textcolor of trueword (item 1 of tLine) to (item 2 of > tLine) > > of field 1 to "blue" > > end repeat > > end mouseup > > > > On Fri, Jun 15, 2018 at 11:03 AM Glen Bojsza via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > Mike, I believe that you are correct in understanding what I am trying > to > > > extract. > > > > > > I will need a bit more time to work through your solution. > > > > > > regards, > > > > > > Glen > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 Jun 15 15:22:50 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 15 Jun 2018 19:22:50 +0000 Subject: Multiple Monitors ; However, LC IDE want a 0,0,X X working rect. Message-ID: <6DE65C42-746A-4F8C-84A7-F625D4DD584F@hindu.org> There on old LED Cinema display that was not worth seeing (slightly dimmed) and I tried hooked it up my may book program on with the 32inch LG curved display, this giving three monitors. The effective working screenrect(s) are as follows 0,455,3440,1872 # Display 1 the LG -1680,1463,0,2490 # Display 2, the LED Cinema display -2560,23,0,1440 # my MacPowerbook The problem in the arrangement is: if I set the LC IDE to open on any of these, the stacks in my app open where I expect to but Stack "revNewScriptEditor 1" (SE) 0,454,1264,1456 So to the Prefs stack, ) revPreferencesGUI Property Inspector Fortunately there is a work around. I open script editor. Set the working rect to 0,600,1264,1456 # this get the whole the screen. Then you *must* make change, like add what space, save the editor in it's new location. Had to fiddle the rect of revPreferencesGUI also. Save. Then quit LC and open in again. It in the new location. I realize how tricky it would be... perhaps this should be a "resetToNewMonitorSpace" space which wipes the loc the IDE stack and relocates them in relation to the rect on the revMenuBar, which appears in the right locations. The rect of other stacks could be set to +100 on topLeft. [fake code] Put rect with revMenuBar to tRelocate Put (item 1 of tRelocate + 100) into tLeft Put( item 1 of tRelocate +100) into tTop Repeat [for all stacks x in IDE] Set rects of stack [x] Set the topLeft for stack [x] to tLeft,tTop ## offset they don't appear in top of each other Add 20 to tLeft Add 20 to tTop End repeat Brahmanathaswami From bobsneidar at iotecdigital.com Fri Jun 15 16:53:42 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 20:53:42 +0000 Subject: calling an api from a stack? In-Reply-To: References: <852539503.288036.1529082188233.ref@mail.yahoo.com> <852539503.288036.1529082188233@mail.yahoo.com> Message-ID: <2702221F-7878-433A-A5A6-AEB65524A782@iotecdigital.com> Again, this is why I don't like to nest functions. You cannot tell what the function returned without pulling it apart. Bob S > On Jun 15, 2018, at 10:40 , Mike Bonner via use-livecode wrote: > > jsontoarray returns an array, you'll have to dig through the array to find > where pieces of information reside, but it pretty straightforward after you > poke around. > > For example.. If you instead do this.. > put jsontoarray(tResult) into tArray > > you have an array variable named tArray. From bobsneidar at iotecdigital.com Fri Jun 15 16:55:52 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 20:55:52 +0000 Subject: Regex (matchChunk) help... In-Reply-To: References: Message-ID: <5AA53B39-B8A8-49E1-B2AC-C500F9844BE3@iotecdigital.com> I understood he wants lines with either or. Bob S > On Jun 15, 2018, at 10:05 , Mark Wieder via use-livecode wrote: > > On 06/15/2018 08:45 AM, Glen Bojsza via use-livecode wrote: >> Any suggestions? > > filter lotsOfText with "*selkirkst*skyrider1*" > > -- > Mark Wieder > ahsoftware at gmail.com From bobsneidar at iotecdigital.com Fri Jun 15 17:08:34 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 21:08:34 +0000 Subject: Regex (matchChunk) help... In-Reply-To: References: <42429B82-623C-4212-8ADB-D57D0B18881B@iotecdigital.com> Message-ID: If the first search string can be anywhere before the second search string, and the second search string can be anywhere (or nowhere) after the first string, use LIKE '%selkirkst%' OR LIKE '%skyrider1%' I posted some code, and also a sample stack, for converting an array to a memory database and back again. You could easily copy the arrayToMemoryDB and create a TextToMemoryDB (and it's counterpart) so it will work with delimited text. The conversion process can take some time (milliseconds) so it's not going to overload the matrix! But for the utility of it, it's great, because queries can be quite complex, and can return other values like if/then evaluations. It can sort and return just the columns you are interested in. And for situations where you need to query the database multiple times, the performance will exceed Livecode string searches, because you only need to iterate through the data once for any given dataset. Bob S > On Jun 15, 2018, at 09:50 , Glen Bojsza via use-livecode wrote: > > Bob, this is an interesting approach using SQL. I will try and setup a > simple test with SQLite. > > thanks From bobsneidar at iotecdigital.com Fri Jun 15 17:10:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 21:10:38 +0000 Subject: Multiple Monitors ; However, LC IDE want a 0,0,X X working rect. In-Reply-To: <6DE65C42-746A-4F8C-84A7-F625D4DD584F@hindu.org> References: <6DE65C42-746A-4F8C-84A7-F625D4DD584F@hindu.org> Message-ID: <77A06020-DCA4-4DC8-BC4D-BA459D8F53AF@iotecdigital.com> I have a development menu which has, among other things a command that simply sets the loc of the top stack to the screenloc. Centers the stack in the monitor. I also have found it necessary to record the rect and loc of the stack on close so I can restore it on open. Bob S > On Jun 15, 2018, at 12:22 , Sannyasin Brahmanathaswami via use-livecode wrote: > > There on old LED Cinema display that was not worth seeing (slightly dimmed) and I tried hooked it up my may book program on with the 32inch LG curved display, this giving three monitors. > The effective working screenrect(s) are as follows > > 0,455,3440,1872 # Display 1 the LG > -1680,1463,0,2490 # Display 2, the LED Cinema display > -2560,23,0,1440 # my MacPowerbook > > The problem in the arrangement is: if I set the LC IDE to open on any of these, the stacks in my app open where I expect to but > > Stack "revNewScriptEditor 1" (SE) > > 0,454,1264,1456 > > So to the Prefs stack, ) revPreferencesGUI > Property Inspector > > Fortunately there is a work around. I open script editor. Set the working rect to > > 0,600,1264,1456 # this get the whole the screen. Then you *must* make change, like add what space, save the editor in it's new location. Had to fiddle the rect of revPreferencesGUI also. Save. > > Then quit LC and open in again. It in the new location. > > I realize how tricky it would be... perhaps this should be a "resetToNewMonitorSpace" space which wipes the loc the IDE stack and relocates them in relation to the rect on the revMenuBar, which appears in the right locations. > > The rect of other stacks could be set to +100 on topLeft. [fake code] > > Put rect with revMenuBar to tRelocate > Put (item 1 of tRelocate + 100) into tLeft > Put( item 1 of tRelocate +100) into tTop > > Repeat [for all stacks x in IDE] > Set rects of stack [x] > Set the topLeft for stack [x] to tLeft,tTop > ## offset they don't appear in top of each other > Add 20 to tLeft > Add 20 to tTop > End repeat > > Brahmanathaswami > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 17:28:28 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 15:28:28 -0600 Subject: calling an api from a stack? In-Reply-To: <2702221F-7878-433A-A5A6-AEB65524A782@iotecdigital.com> References: <852539503.288036.1529082188233.ref@mail.yahoo.com> <852539503.288036.1529082188233@mail.yahoo.com> <2702221F-7878-433A-A5A6-AEB65524A782@iotecdigital.com> Message-ID: If you mean using merge inside the function, I guess one could do the merge beforehand and pass it in as a parameter, or alternatively do the merge in the function and return the generated url string as part of the returned value. IE change it like so.. function translate pText,pLang put merge(kGetTransUrl) into tUrl get url tUrl return "URLString: " & tUrl & cr & it end translate Then just dump the first line if things are working right. Hmm. Actually, pre-merging is nice because it would allow the use of "load" with callbacks for multiple url calls. Use the callback to process, part of which lets you see the URL associated with the callback. Sounds like a better option than using a function call for sure. On Fri, Jun 15, 2018 at 2:54 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Again, this is why I don't like to nest functions. You cannot tell what > the function returned without pulling it apart. > > Bob S > > > > On Jun 15, 2018, at 10:40 , Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > jsontoarray returns an array, you'll have to dig through the array to > find > > where pieces of information reside, but it pretty straightforward after > you > > poke around. > > > > For example.. If you instead do this.. > > put jsontoarray(tResult) into tArray > > > > you have an array variable named tArray. > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 17:33:57 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 15 Jun 2018 21:33:57 +0000 Subject: calling an api from a stack? In-Reply-To: References: <852539503.288036.1529082188233.ref@mail.yahoo.com> <852539503.288036.1529082188233@mail.yahoo.com> <2702221F-7878-433A-A5A6-AEB65524A782@iotecdigital.com> Message-ID: <7FBBF7EB-629C-4165-A471-910493007FD9@iotecdigital.com> Yes, but you found more utility than I was thinking of. My thing is that when tracing/debugging, I need to see what a function returns, and I can only do that if I put the returned value or it or the result into a variable of some sort. Bob S > On Jun 15, 2018, at 14:28 , Mike Bonner via use-livecode wrote: > > If you mean using merge inside the function, I guess one could do the merge > beforehand and pass it in as a parameter, or alternatively do the merge in > the function and return the generated url string as part of the returned > value. IE change it like so.. > function translate pText,pLang > put merge(kGetTransUrl) into tUrl > get url tUrl > return "URLString: " & tUrl & cr & it > end translate > > Then just dump the first line if things are working right. Hmm. Actually, > pre-merging is nice because it would allow the use of "load" with callbacks > for multiple url calls. Use the callback to process, part of which lets you > see the URL associated with the callback. Sounds like a better option than > using a function call for sure. From bonnmike at gmail.com Fri Jun 15 17:38:54 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 15:38:54 -0600 Subject: calling an api from a stack? In-Reply-To: <7FBBF7EB-629C-4165-A471-910493007FD9@iotecdigital.com> References: <852539503.288036.1529082188233.ref@mail.yahoo.com> <852539503.288036.1529082188233@mail.yahoo.com> <2702221F-7878-433A-A5A6-AEB65524A782@iotecdigital.com> <7FBBF7EB-629C-4165-A471-910493007FD9@iotecdigital.com> Message-ID: Thanks for the tip, and clarification. On Fri, Jun 15, 2018 at 3:34 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Yes, but you found more utility than I was thinking of. My thing is that > when tracing/debugging, I need to see what a function returns, and I can > only do that if I put the returned value or it or the result into a > variable of some sort. > > Bob S > > > > On Jun 15, 2018, at 14:28 , Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > If you mean using merge inside the function, I guess one could do the > merge > > beforehand and pass it in as a parameter, or alternatively do the merge > in > > the function and return the generated url string as part of the returned > > value. IE change it like so.. > > function translate pText,pLang > > put merge(kGetTransUrl) into tUrl > > get url tUrl > > return "URLString: " & tUrl & cr & it > > end translate > > > > Then just dump the first line if things are working right. Hmm. > Actually, > > pre-merging is nice because it would allow the use of "load" with > callbacks > > for multiple url calls. Use the callback to process, part of which lets > you > > see the URL associated with the callback. Sounds like a better option > than > > using a function call for sure. > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 monte at appisle.net Fri Jun 15 18:51:26 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 16 Jun 2018 08:51:26 +1000 Subject: LiveCode - Andoid SDK - Java compatibility chart? In-Reply-To: References: <007501d404a8$e4e7cb80$aeb76280$@kestner.de> Message-ID: <6146E767-F203-4B2D-BA38-5454B91354A1@appisle.net> Hi Folks Just to clarify as I have looked into this. Android SDK itself requires you to install Java 8 max. So while we have a bug about this in our db it?s not really fixable by us. We do have some ideas about presenting dialogs if you have the wrong one installed though. Note this mainly impacts Windows because Java 9 & 10 use different registry entries to find the java home folder and dx.bat uses a javac option that is no longer supported. Still I would not recommend installing higher than 8 on macOS or Linux. Cheers Monte > On 15 Jun 2018, at 11:26 pm, panagiotis merakos via use-livecode wrote: > > So this is a bug in LC, not a compatibility issue. There is a bug report > here: > > https://quality.livecode.com/show_bug.cgi?id=20719 From monte at appisle.net Fri Jun 15 18:53:19 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 16 Jun 2018 08:53:19 +1000 Subject: Open recent File Menu In-Reply-To: References: <8B64B58D-4160-4A1F-B3F9-98CDE060D4BF@major-k.de> <99310AAD-323C-41E2-88A3-27E4D594CDA0@btinternet.com> <378D5D2F-37EC-4F0E-822A-35BC913334D8@iotecdigital.com> <28F42547-7003-40AE-AA07-2596B4AC58A2@appisle.net> Message-ID: <9AFFF0EE-62CF-4633-83DD-307530DE915E@appisle.net> Hmm? ok then > On 16 Jun 2018, at 1:11 am, Bob Sneidar via use-livecode wrote: > > One reason is that sometimes I have to go to a backup or archive of a stack to revert some script or object deletion. When that happens I get 2 instances of the recent stack, but now they are prepended by (sometimes) long paths. Also, I will open sample stack from time to time, and those stay in the menu cluttering it up until more recent stacks push them out. Cheers Monte From jiml at netrin.com Fri Jun 15 21:06:04 2018 From: jiml at netrin.com (Jim Lambert) Date: Fri, 15 Jun 2018 18:06:04 -0700 Subject: Regex (matchChunk) help... In-Reply-To: References: Message-ID: <9245E092-5C25-4AB9-8911-EC6A2F29086C@netrin.com> Building on what Mark Wieder elegantly wrote: > MarkW wrote: > > filter lotsOfText with "*selkirkst*skyrider1*? function extractStrings lotsOfText, startWord, endWord replace cr with space in lotsOfText -- Makes sure lotsOfText is just a single line replace startWord with cr & startWord in lotsOfText -- Makes sure a line starts with the startWord replace endWord with endWord & cr in lotsOfText -- Makes sure a line ends with the endWord filter lotsOfText with "*" & startWord & "*" & endWord ? Mark?s suggestion return lotsOfText end extractStrings Try it with your original gibberish. I?ve added a second instance of the string you want to extract to show that the function will return all instances. Use the *selkirkst* function to check whether a *string* contains a specified pattern. If *selkirkst* includes a pair of parentheses, the position of the substring matching the part of theregular expression inside the parentheses is placed in the variables in the *positionVarsList*. The number of the first character in the matching substring is placed in the first variable in the positionVarsList, and the number of the last *selkirkst is placed in the second **skyrider1*. Additional starting and ending positions, matching additional parenthetical expressions, are placed in additional pairs of variables in thepositionVarsList. If the *selkirkst* function returns false, the values of the variables in the positionVarsListare not *selkirkst is placed in the third **skyrider1*. changed. The string and regularExpression are always case-sensitive, regardless of the setting of the caseSensitive property. (If you need to make a case-insensitive comparison, use "(?i)" at the start of the regularExpression to make the match case-insensitive.) Jim Lambert From bonnmike at gmail.com Fri Jun 15 21:06:35 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 19:06:35 -0600 Subject: merge() Message-ID: I just had a thought while pondering some code from another thread. I have done things like put merge("This is a random number: [[random(tNum)]]") Since merge can do what do can, is there a way this method could be taken advantage of using an injection type of attack? I'm thinking the answer is no, (and I haven't managed to find a way to inject yet,) other than allowing a user to build the whole merge string themselves (which would be a "bad thing to do" (c)) Am I wrong? Is it safe as long as I don't do anything careless? From bonnmike at gmail.com Fri Jun 15 21:09:26 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 19:09:26 -0600 Subject: Regex (matchChunk) help... In-Reply-To: <9245E092-5C25-4AB9-8911-EC6A2F29086C@netrin.com> References: <9245E092-5C25-4AB9-8911-EC6A2F29086C@netrin.com> Message-ID: Hey cool! I'd use Jims (an marks) method. MUCH simpler. On Fri, Jun 15, 2018 at 7:06 PM Jim Lambert via use-livecode < use-livecode at lists.runrev.com> wrote: > Building on what Mark Wieder elegantly wrote: > > > MarkW wrote: > > > > filter lotsOfText with "*selkirkst*skyrider1*? > > function extractStrings lotsOfText, startWord, endWord > > replace cr with space in lotsOfText -- Makes sure lotsOfText is > just a single line > > replace startWord with cr & startWord in lotsOfText -- Makes sure > a line starts with the startWord > > replace endWord with endWord & cr in lotsOfText -- Makes sure a > line ends with the endWord > > filter lotsOfText with "*" & startWord & "*" & endWord ? Mark?s > suggestion > > return lotsOfText > > end extractStrings > > > Try it with your original gibberish. I?ve added a second instance of the > string you want to extract to show that the function will return all > instances. > > > Use the *selkirkst* function to check whether a *string* contains a > > specified pattern. If *selkirkst* includes a pair of parentheses, the > > position of the substring matching the part of theregular expression inside > > the parentheses is placed in the variables in the *positionVarsList*. The > > number of the first character in the matching substring is placed in the > > first variable in the positionVarsList, and the number of the last > > *selkirkst is > > placed in the second **skyrider1*. Additional starting and ending > > positions, matching additional parenthetical expressions, are placed in > > additional pairs of variables in thepositionVarsList. If the > > *selkirkst* function > > returns false, the values of the variables in the positionVarsListare not > > *selkirkst is > > placed in the third **skyrider1*. changed. The string and > regularExpression are always case-sensitive, > > regardless of the setting of the caseSensitive property. (If you need to > > make a case-insensitive comparison, use "(?i)" at the start of the > > regularExpression to make the match case-insensitive.) > > > 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 brian at milby7.com Fri Jun 15 21:58:46 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 15 Jun 2018 20:58:46 -0500 Subject: merge() In-Reply-To: References: Message-ID: I think that as long as you control the string that is passed to merge you should be fine. But if the user were able to directly influence the string that is passed to merge, then they certainly could inject something. put the text of field 1 into tMerge put merge(tMerge) into tDangerousUse put merge("Field 1 contains: [[tMerge]]") into tSafeUse So, I think your assumption is correct. On Fri, Jun 15, 2018 at 8:06 PM, Mike Bonner via use-livecode < use-livecode at lists.runrev.com> wrote: > I just had a thought while pondering some code from another thread. I have > done things like put merge("This is a random number: [[random(tNum)]]") > > Since merge can do what do can, is there a way this method could be taken > advantage of using an injection type of attack? I'm thinking the answer > is no, (and I haven't managed to find a way to inject yet,) other than > allowing a user to build the whole merge string themselves (which would be > a "bad thing to do" (c)) > > Am I wrong? Is it safe as long as I don't do anything careless? > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 15 22:20:23 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 15 Jun 2018 20:20:23 -0600 Subject: merge() In-Reply-To: References: Message-ID: Cool, thanks! On Fri, Jun 15, 2018 at 7:58 PM Brian Milby wrote: > I think that as long as you control the string that is passed to merge you > should be fine. But if the user were able to directly influence the string > that is passed to merge, then they certainly could inject something. > > put the text of field 1 into tMerge > put merge(tMerge) into tDangerousUse > put merge("Field 1 contains: [[tMerge]]") into tSafeUse > > So, I think your assumption is correct. > > On Fri, Jun 15, 2018 at 8:06 PM, Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I just had a thought while pondering some code from another thread. I >> have >> done things like put merge("This is a random number: [[random(tNum)]]") >> >> Since merge can do what do can, is there a way this method could be taken >> advantage of using an injection type of attack? I'm thinking the answer >> is no, (and I haven't managed to find a way to inject yet,) other than >> allowing a user to build the whole merge string themselves (which would be >> a "bad thing to do" (c)) >> >> Am I wrong? Is it safe as long as I don't do anything careless? >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Fri Jun 15 23:18:02 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 15 Jun 2018 20:18:02 -0700 Subject: Listfield Questions In-Reply-To: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> References: <283E8BF3-0B76-495D-94BA-3377B25D4CD0@mac.com> Message-ID: <0ef7cde2-0a36-39dc-66d4-f4313d380e99@fourthworld.com> Charles Szasz wrote: > Does anybody know how to script a listfield to hilite a line using > arrow keys on the keyboard? That should be happening automatically whenever the field has focus. -- 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 cszasz at mac.com Sat Jun 16 00:31:00 2018 From: cszasz at mac.com (Charles Szasz) Date: Fri, 15 Jun 2018 22:31:00 -0600 Subject: Listfield Questions Message-ID: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> Thanks Richard for your help. Unfortunately, using keyboard arrow keys may hilite a line but it does not put a value associated with the line into an input field. Sent from my iPad From ludovic.thebault at laposte.net Sat Jun 16 01:08:20 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Sat, 16 Jun 2018 07:08:20 +0200 Subject: iOS / Android differences on a scrolling list field Message-ID: <3DC7EE40-21DF-4849-BE2D-1DD0B88B621E@laposte.net> Hello, I?ve a card with a scrolling list field. On iOS, the user can scroll the field (with native scroller) and then select (hilite) a line like expected. On Android, as soon as you touch the field, there is an hilitedline and then the scroll. It?s not really expected and nice. Is there a method to avoid this ? Thanks ! From tore.nilsen at me.com Sat Jun 16 02:46:48 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Sat, 16 Jun 2018 08:46:48 +0200 Subject: Listfield Questions In-Reply-To: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> References: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> Message-ID: A selectionChanged handler in the list field will take care of that. Tore > 16. jun. 2018 kl. 06:31 skrev Charles Szasz via use-livecode : > > Thanks Richard for your help. Unfortunately, using keyboard arrow keys may hilite a line but it does not put a value associated with the line into an input field. > > Sent from my iPad > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sat Jun 16 02:51:52 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Fri, 15 Jun 2018 23:51:52 -0700 Subject: Listfield Questions In-Reply-To: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> References: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> Message-ID: Charles Szasz wrote: > Thanks Richard for your help. Unfortunately, using keyboard arrow keys > may hilite a line but it does not put a value associated with the line > into an input field. Yes, LC only handles the most common UI conventions. Actions specific to an app's design will of course need to be scripted. So while you shouldn't need to script anything to have the arrow keys navigate the selected line of a field, you can use the automatic behavior provided to trap the selectionChanged message to copy the hilitedText of the field into another field as needed. -- 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 tekne at gruppoparentesi.it Sat Jun 16 04:18:48 2018 From: tekne at gruppoparentesi.it (Tekne) Date: Sat, 16 Jun 2018 10:18:48 +0200 Subject: Dark Mode in macOS Mojave, any thoughts from the mothership? In-Reply-To: <702E4F1C-2ACA-4A71-A6DD-EEAF1BF96D2B@gmail.com> References: <8D296BFE-A48C-4A49-AC0F-23A3A9CEF051@appisle.net> <702E4F1C-2ACA-4A71-A6DD-EEAF1BF96D2B@gmail.com> Message-ID: Lc 8 & 9 crash at startup on macOS Mojave Older Versions with carbon api run. Regards Riccardo Sent from my iPhone Il giorno 15 giu 2018, alle ore 05:53, Colin Holgate via use-livecode ha scritto: >>> We haven?t yet got a system with it running on yet. If anyone does (Colin?) > > I have several tight deadline things on at the moment, otherwise I would have gone ahead and installed it! > > Come to think of it, I do have an external drive I could try it on. > _______________________________________________ > use-livecode mailing list > use-livecode 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 merakosp at gmail.com Sat Jun 16 04:44:47 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Sat, 16 Jun 2018 09:44:47 +0100 Subject: Dark Mode in macOS Mojave, any thoughts from the mothership? In-Reply-To: References: <8D296BFE-A48C-4A49-AC0F-23A3A9CEF051@appisle.net> <702E4F1C-2ACA-4A71-A6DD-EEAF1BF96D2B@gmail.com> Message-ID: Hi Tekne, We have filed this bug report to track the crash on startup on MacOS Mojave: https://quality.livecode.com/show_bug.cgi?id=21363 Note that Mojave is currently in early beta, so it might be the case that this issue is resolved on the next beta. If I remember correctly, a similar problem affected LC in early beta of High Sierra. Anyway, if you could attach a crash log to this report, it would be great. Best regards, Panos -- On Sat, Jun 16, 2018 at 9:18 AM, Tekne via use-livecode < use-livecode at lists.runrev.com> wrote: > Lc 8 & 9 crash at startup on macOS Mojave > Older Versions with carbon api run. > > Regards > Riccardo > > Sent from my iPhone > > Il giorno 15 giu 2018, alle ore 05:53, Colin Holgate via use-livecode < > use-livecode at lists.runrev.com> ha scritto: > > >>> We haven?t yet got a system with it running on yet. If anyone does > (Colin?) > > > > I have several tight deadline things on at the moment, otherwise I would > have gone ahead and installed it! > > > > Come to think of it, I do have an external drive I could try it on. > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 Sat Jun 16 10:53:32 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 16 Jun 2018 14:53:32 +0000 Subject: Multiple Monitors ; However, LC IDE want a 0,0,X X working rect. In-Reply-To: <77A06020-DCA4-4DC8-BC4D-BA459D8F53AF@iotecdigital.com> References: <6DE65C42-746A-4F8C-84A7-F625D4DD584F@hindu.org> <77A06020-DCA4-4DC8-BC4D-BA459D8F53AF@iotecdigital.com> Message-ID: I raised the second monitor, then adjusted the arrangement in Mac OSX prefs. It changed everything I hide to fiddle with set the topleft of stack "revMenuBar" to 0,22 save stack "revMenuBar" put locations didn?t stick on reboot.... so I wiped ~/Library/RunRev/##preferencesA## reboot, then it change We should not need to wipe the preferences just to set up for new a monitor arrangement Definitely could use a command for this BR ?On 6/15/18, 11:10 AM, "use-livecode on behalf of Bob Sneidar via use-livecode" wrote: I have a development menu which has, among other things a command that simply sets the loc of the top stack to the screenloc. Centers the stack in the monitor. I also have found it necessary to record the rect and loc of the stack on close so I can restore it on open. Bob S > On Jun 15, 2018, at 12:22 , Sannyasin Brahmanathaswami via use-livecode wrote: > > There on old LED Cinema display that was not worth seeing (slightly dimmed) and I tried hooked it up my may book program on with the 32inch LG curved display, this giving three monitors. > The effective working screenrect(s) are as follows > > 0,455,3440,1872 # Display 1 the LG > -1680,1463,0,2490 # Display 2, the LED Cinema display > -2560,23,0,1440 # my MacPowerbook > > The problem in the arrangement is: if I set the LC IDE to open on any of these, the stacks in my app open where I expect to but > > Stack "revNewScriptEditor 1" (SE) > > 0,454,1264,1456 > > So to the Prefs stack, ) revPreferencesGUI > Property Inspector > > Fortunately there is a work around. I open script editor. Set the working rect to > > 0,600,1264,1456 # this get the whole the screen. Then you *must* make change, like add what space, save the editor in it's new location. Had to fiddle the rect of revPreferencesGUI also. Save. > > Then quit LC and open in again. It in the new location. > > I realize how tricky it would be... perhaps this should be a "resetToNewMonitorSpace" space which wipes the loc the IDE stack and relocates them in relation to the rect on the revMenuBar, which appears in the right locations. > > The rect of other stacks could be set to +100 on topLeft. [fake code] > > Put rect with revMenuBar to tRelocate > Put (item 1 of tRelocate + 100) into tLeft > Put( item 1 of tRelocate +100) into tTop > > Repeat [for all stacks x in IDE] > Set rects of stack [x] > Set the topLeft for stack [x] to tLeft,tTop > ## offset they don't appear in top of each other > Add 20 to tLeft > Add 20 to tTop > End repeat > > Brahmanathaswami > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 16 13:54:06 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 16 Jun 2018 20:54:06 +0300 Subject: The Cat ate my mouse Message-ID: So I am trying to make a text editor in LiveCode that NEVER uses a mouse (pace the late, great Jeff Raskin). Not a big problem selecting fields, and positions inwith text in fields using keyUps trapping F-keys. What IS a problem is HOW to select an word either before or after where the insertion point has been positioned. 3 glasses of dry white wine fantasy in best alcoholic pseudocode following: on rawKeyUp RUP if RUP = 65470 then select after word 1 of field "TEKST" select the word before the selected delete else pass rawKeyUp end if Richmond. From dunbarx at aol.com Sat Jun 16 15:47:52 2018 From: dunbarx at aol.com (dunbarxx) Date: Sat, 16 Jun 2018 12:47:52 -0700 (MST) Subject: The Cat ate my mouse In-Reply-To: References: Message-ID: <1529178472583-0.post@n4.nabble.com> Richmond. Say you have a field 1 with text in it. on mouseUp select after char 12 of fld 1 put the number of words of char 1 to (word 2 of the selectedChunk)of fld 1 into numWords select before word numWords of fld 1 -- or after end mouseUp -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From richmondmathewson at gmail.com Sat Jun 16 15:49:51 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 16 Jun 2018 22:49:51 +0300 Subject: The Cat ate my mouse In-Reply-To: <1529178472583-0.post@n4.nabble.com> References: <1529178472583-0.post@n4.nabble.com> Message-ID: Thanks. Richmond. On 16/6/2018 10:47 pm, dunbarxx via use-livecode wrote: > Richmond. > > Say you have a field 1 with text in it. > > on mouseUp > select after char 12 of fld 1 > put the number of words of char 1 to (word 2 of the selectedChunk)of fld 1 > into numWords > select before word numWords of fld 1 -- or after > end mouseUp > > > > -- > Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > _______________________________________________ > use-livecode mailing list > use-livecode 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 alanstenhouse at hotmail.com Sun Jun 17 22:54:15 2018 From: alanstenhouse at hotmail.com (Alan) Date: Mon, 18 Jun 2018 02:54:15 +0000 Subject: browser widget - back|reload menu? Message-ID: I'm using the browser widget with some embedded javascript for Google maps and am wanting to handle control key sequences. Unfortunately it looks like the browser widget has an embedded control-key menu with "Back" and "Reload" menu options. Is there any way to override this menu display? Or am I missing something simple here? Thanks for any pointers! cheers Alan From brahma at hindu.org Sun Jun 17 23:03:58 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 18 Jun 2018 03:03:58 +0000 Subject: 8.1.1 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Message-ID: <3EE07420-A544-4128-8877-1DF24A4C94EB@hindu.org> [my early post in pending due to length. I put the stack script in it. Better to give the stack} Hmm. Trying to a little responsive design (works on any device/mobile screen size) 1) Make a very stack with a widget "body" as browser that fill the whole screen but for 50 at the bottom 2) Fill the whole screen -50 at the bottom for a navigation/tool - group "footer" But we the need to hide the group footer when they turn in landscape. (for view full screen video) And show it again when when orientationChanges to Portrait. Just winging it, first time try to do this, no doubt all my methods need a lot helps, (missing the proper way to use resize and the browser widget does not turn) But, first problem : I get a screenRect 0,0,375,667 on an iPhone 7+ and there is no way I can add 7+ screen? Thanks, Apple! (can't report screenrect from the hardware) They depend on the splash screens, so I been told. What to do? And, all of the code in the stack script Available here (39k) Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" Brahmanathaswami PS. If one can tell me where to "resize" message. ? I have been staying away from that for years! From brian at milby7.com Mon Jun 18 00:28:04 2018 From: brian at milby7.com (Brian Milby) Date: Sun, 17 Jun 2018 23:28:04 -0500 Subject: 8.1.1 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <3EE07420-A544-4128-8877-1DF24A4C94EB@hindu.org> References: <3EE07420-A544-4128-8877-1DF24A4C94EB@hindu.org> Message-ID: For iOS, you must have a splash screen image for every native resolution that you need to access. If you don't have a 7+ splash, then you won't get a true 7+ rect. What happens is that automatic scaling kicks in at the device level, so your stack only gets one of the splash images sizes. So, the app is telling the phone what resolutions it supports via those splash screens and then the OS is adjusting to ensure that the full screen gets used. You can download my mobileProfile demo stack from the forum. It uses profiles and GM to take care of resize when device rotates. You can do it without profiles/GM, but it would at least let you see how it can work. http://forums.livecode.com/viewtopic.php?f=7&t=30018 One note is that GM/PM both work on mobile now without having to manually include any code (common library didn't get included when the post was written). I have not looked at this code in a while though. Thanks, Brian On Sun, Jun 17, 2018 at 10:03 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > [my early post in pending due to length. I put the stack script in it. > Better to give the stack} > > Hmm. Trying to a little responsive design (works on any device/mobile > screen size) > > 1) Make a very stack with a widget "body" as browser that fill the whole > screen but for 50 at the bottom > 2) Fill the whole screen -50 at the bottom for a navigation/tool - group > "footer" > > But we the need to hide the group footer when they turn in landscape. > (for view full screen video) > And show it again when when orientationChanges to Portrait. > > Just winging it, first time try to do this, no doubt all my methods need a > lot helps, (missing the proper way to use resize and the browser widget > does not turn) > > But, first problem : > > I get a screenRect 0,0,375,667 on an iPhone 7+ and there is no way I can > add 7+ screen? > > Thanks, Apple! (can't report screenrect from the hardware) They depend on > the splash screens, so I been told. > > What to do? > > And, all of the code in the stack script > > Available here (39k) > > Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" > > Brahmanathaswami > > PS. If one can tell me where to "resize" message. ? I have been staying > away from that for years! > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 iphonelagi at gmail.com Mon Jun 18 06:31:18 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Mon, 18 Jun 2018 11:31:18 +0100 Subject: Need help with a project In-Reply-To: References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Message-ID: HI Peter, The fact that it is a subscription system is the best protection you have. Use the simplest protection that will tell you if the system has been "pirated" - simple encryption of the company/institution address/details for instance. Don't allow them to change the address/telephone number etc in the program - so they have to "patch" the exe. When you notice this has happened (5 lines of code) set a timer. In 8 Months time you have a screen that comes up at boot time that says "Problem with your program please call before any lasting damage is done" at xxxx-xxx-xxxx". If they don't call in say a month the program stops working with your number on the front screen and How they can get a legal copy". Sage Payroll used to not protect their payroll, so come April when rates changed, Sage always Got (gets?) a spike in sales - No questions asked as long as the user can transfer his data from the "pirated" version. The people who will buy your program will buy it - the people who will copy your program will copy it anyway - you didn't lose a sale you got free advertising. How do you think microsoft replaced Lotus 123 - they removed protection from Office then gave a ?90 upgrade from any version (even non legal version) after a couple of years. Making your program indispensable (without too many barriers) to your paying customers is the best way of building a loyal customer base. Save yourself a lot of time hassle and money and make the subscription/name the protection My 2 pence worth Lagi p.s. If it can be read it can be broken A 5 minute google search and a bit of memory .... You'll be glad to hear no decompilers for Livecode - we are not on the radar. // If you lose your sourcecode in the future ..... http://www.javadecompilers.com/ https://forum.xda-developers.com/android/software-hacking/tool-apk-easy-tool-v1-02-windows-gui-t3333960 https://www.yeahhub.com/best-19-tools-used-reverse-engineering-2018-update/ http://www.refox.net/ http://www.iphonehacks.com/2018/05/ios-11-3-1-jailbreak-updates.html http://www.decompiler.net/ https://www.vb-decompiler.org/ https://www.thoughtco.com/decompiling-delphi-1-3-1057974 http://www.dvdsmith.com/remove-sony-arccos-protection.html https://www.roojs.com/blog.php/View/117/Recovering_encoded_php_files.html //Even hardware dongles are not immune https://www.brstudio.com/dongles/deskey-dk2-dk3-dongle-emulator/ http://www.dongleservice.com/dongle-bypass.phtml On Fri, 15 Jun 2018 at 02:08, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > > you want to include some of the advanced capabilities like restricted > trial, > Yes, I do want to use advanced capabilities. > > > Does it just wrap the executable or does it encapsulate the entire > directory? > It can do either. > > I am using pw protection on all stacks, which is is working well. More > important is the license activation and management because it is a > subscription product?there is a single version which has a free, limited > status or a full, paid status?the program needs the capability to shift to > either. Also I need to control the installations of the program. It will be > used in educational institutions, by individuals, sometimes in iffy > locations (China) where I need to minimize piracy. > > Peter > > > > On Jun 14, 2018, at 4:23 PM, Brian Milby via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Are you saying that you have the standard mode working but you want to > include some of the advanced capabilities like restricted trial, etc? > > > > Does it just wrap the executable or does it encapsulate the entire > directory? I?m assuming you have decided that the password protection of > the stack isn?t sufficient. > > > > Brian > > On Jun 14, 2018, 4:28 PM -0500, Peter Bogdanoff via use-livecode < > use-livecode at lists.runrev.com>, wrote: > >> Hi, > >> > >> I?m working on a project that we are getting ready to publish as a > desktop application for Mac and Windows. > >> > >> It is content heavy and I'm wanting to protect it, and am using a > product called SoftwareShield/GameShield: > >> > >> http://softwareshield.com > >> http://gameshield.com > >> > >> It puts a wrapping around the executable and offers license management > that works well in its basic form. There are more advanced features that I > want to take advantage of that seem to go beyond the capabilities of > LiveCode script and my own personal abilities. It seems that LiveCode can > work with SoftwareShield, but I don?t know where to begin, nor can I > program anything besides LiveCode script. > >> > >> This is an example of where I get lost about figuring out how to > progress: > >> > >> "Because the kernel of SoftwareShield is developed in C++ and the > gsCore exposes flat API in standard way, any language (such as Object-C, > Java, NodeJS, Perl, Python, etc.) that can make api call to Windows DLL or > MacOS dylib can integrated with SoftwareShield SDK.? > >> > >> http://doc.softwareshield.com/PG/index.html#pg_index > >> > >> > >> Here?s docs they provide: > >> > >> http://doc.softwareshield.com/index.html > >> http://doc.softwareshield.com/PG/ui_gs5.html#sdk_js > >> > >> > >> So, I?m looking for someone who can: > >> > >> 1. Guide me through the process > >> 2. Do Javascript or advanced LC programming as needed > >> > >> This is help I need immediately. > >> > >> Thanks! > >> > >> Peter Bogdanoff > >> ArtsInteractive > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 iphonelagi at gmail.com Mon Jun 18 06:33:37 2018 From: iphonelagi at gmail.com (Lagi Pittas) Date: Mon, 18 Jun 2018 11:33:37 +0100 Subject: Need help with a project In-Reply-To: References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Message-ID: Hi Just to be clear - Time trials and demos are a good use of this program - It was the "copy protection" I was referring to Lagi On Fri, 15 Jun 2018 at 02:24, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > Also, I want to add this: Yummy Interactive who is behind SoftwareShield > has responded to my tech support questions about what to do, but I?m > somewhat flummoxed with their responses. They assume I have more technical > chops. This is the kind of thing: > > > 1. Is it possible to create a project that allows a user to have > ?unlimited? use for two weeks, then reverts to a ?limited? version? Does > this require use of a generated serial number, and an entity on your server? > > > > > > The requirement can be implemented as following: > > > > (1) create a project, the default/first entity's license model is > "Expire By Period" ( > http://doc.softwareshield.com/UG/license_action.html#expire-by-period < > http://doc.softwareshield.com/UG/license_action.html#expire-by-period>) > license model, set the periodInSeconds to 1209600 (two weeks). > > > > (2) in your app code, checks if the entity status is expired, run app in > "unlimited" mode if not, switch to "limited" mode if expired. > > > > > > > > if (entity->isLocked()){ > > //this entity is locked or trial already expired. > > //we may pop up info to prompt for purchase. > > run_in_limited_mode(); > > } else { > > //this entity still in two-weeks trial period > > run_in_unlimited_mode(); > > } > > > > please refer to (http://doc.softwareshield.com/PG/index.html#pg_index > ) for SDK > programming. > > > > (3) use the license model's action ACT_SET_EXPIRE_PERIOD / > ACT_ADD_EXPIRE_PERIOD ( > http://doc.softwareshield.com/UG/license_action.html#act_set_expire_period > < > http://doc.softwareshield.com/UG/license_action.html#act_set_expire_period>) > to manipulate the customer's trial period. Basically it means you create > serial numbers (with ACT_XXX_EXPIRE_PERIOD) on our web portal, send a > serial number to the customer after payment, the user input the serial > number on the license UI page so the app can run in "unlimited" mode again. > > > > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 panos.merakos at livecode.com Mon Jun 18 09:33:16 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 18 Jun 2018 14:33:16 +0100 Subject: [ANN] This Week in LiveCode 133 Message-ID: Hi all, Read about new developments in LiveCode open source and the open source community in today's edition of the "This Week in LiveCode" newsletter! Read issue #133 here: https://goo.gl/JLuWLG This is a weekly newsletter about LiveCode, focussing on what's been going on in and around the open source project. New issues will be released weekly on Mondays. We have a dedicated mailing list that will deliver each issue directly to you e-mail, so you don't miss any! If you have anything you'd like mentioned (a project, a discussion somewhere, an upcoming event) then please get in touch. -- Panagiotis Merakos LiveCode Software Developer Everyone Can Create Apps From brahma at hindu.org Mon Jun 18 10:05:53 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 18 Jun 2018 14:05:53 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Message-ID: Well, the problem is the SA builder in 8.1.10 does not has a "slot" for iPhone 7+ I wonder if I can add it after the SA is built... I will definitely check out your stack. BR ?On 6/17/18, 6:28 PM, "use-livecode on behalf of Brian Milby via use-livecode" wrote: For iOS, you must have a splash screen image for every native resolution that you need to access. If you don't have a 7+ splash, then you won't get a true 7+ rect. What happens is that automatic scaling kicks in at the device level, so your stack only gets one of the splash images sizes. So, the app is telling the phone what resolutions it supports via those splash screens and then the OS is adjusting to ensure that the full screen gets used. You can download my mobileProfile demo stack from the forum. It uses profiles and GM to take care of resize when device rotates. You can do it without profiles/GM, but it would at least let you see how it can work. http://forums.livecode.com/viewtopic.php?f=7&t=30018 One note is that GM/PM both work on mobile now without having to manually include any code (common library didn't get included when the post was written). I have not looked at this code in a while though. Thanks, Brian On Sun, Jun 17, 2018 at 10:03 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > [my early post in pending due to length. I put the stack script in it. > Better to give the stack} > > Hmm. Trying to a little responsive design (works on any device/mobile > screen size) > > 1) Make a very stack with a widget "body" as browser that fill the whole > screen but for 50 at the bottom > 2) Fill the whole screen -50 at the bottom for a navigation/tool - group > "footer" > > But we the need to hide the group footer when they turn in landscape. > (for view full screen video) > And show it again when when orientationChanges to Portrait. > > Just winging it, first time try to do this, no doubt all my methods need a > lot helps, (missing the proper way to use resize and the browser widget > does not turn) > > But, first problem : > > I get a screenRect 0,0,375,667 on an iPhone 7+ and there is no way I can > add 7+ screen? > > Thanks, Apple! (can't report screenrect from the hardware) They depend on > the splash screens, so I been told. > > What to do? > > And, all of the code in the stack script > > Available here (39k) > > Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" > > Brahmanathaswami > > PS. If one can tell me where to "resize" message. ? I have been staying > away from that for years! > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 iowahengst at mac.com Mon Jun 18 10:19:31 2018 From: iowahengst at mac.com (Randy Hengst) Date: Mon, 18 Jun 2018 09:19:31 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: Message-ID: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> Hi BR, The iPhone 6 screen is the same size as the 7. I load a splash screen at 750x1134. be well, randy ----- > On Jun 18, 2018, at 9:05 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > > Well, the problem is the SA builder in 8.1.10 does not has a "slot" for iPhone 7+ > > I wonder if I can add it after the SA is built... > > I will definitely check out your stack. > > BR > > > > > ?On 6/17/18, 6:28 PM, "use-livecode on behalf of Brian Milby via use-livecode" wrote: > > For iOS, you must have a splash screen image for every native resolution > that you need to access. If you don't have a 7+ splash, then you won't get > a true 7+ rect. What happens is that automatic scaling kicks in at the > device level, so your stack only gets one of the splash images sizes. So, > the app is telling the phone what resolutions it supports via those splash > screens and then the OS is adjusting to ensure that the full screen gets > used. > > You can download my mobileProfile demo stack from the forum. It uses > profiles and GM to take care of resize when device rotates. You can do it > without profiles/GM, but it would at least let you see how it can work. > > http://forums.livecode.com/viewtopic.php?f=7&t=30018 > > One note is that GM/PM both work on mobile now without having to manually > include any code (common library didn't get included when the post was > written). > > I have not looked at this code in a while though. > > Thanks, > Brian > > On Sun, Jun 17, 2018 at 10:03 PM, Sannyasin Brahmanathaswami via > use-livecode wrote: > >> [my early post in pending due to length. I put the stack script in it. >> Better to give the stack} >> >> Hmm. Trying to a little responsive design (works on any device/mobile >> screen size) >> >> 1) Make a very stack with a widget "body" as browser that fill the whole >> screen but for 50 at the bottom >> 2) Fill the whole screen -50 at the bottom for a navigation/tool - group >> "footer" >> >> But we the need to hide the group footer when they turn in landscape. >> (for view full screen video) >> And show it again when when orientationChanges to Portrait. >> >> Just winging it, first time try to do this, no doubt all my methods need a >> lot helps, (missing the proper way to use resize and the browser widget >> does not turn) >> >> But, first problem : >> >> I get a screenRect 0,0,375,667 on an iPhone 7+ and there is no way I can >> add 7+ screen? >> >> Thanks, Apple! (can't report screenrect from the hardware) They depend on >> the splash screens, so I been told. >> >> What to do? >> >> And, all of the code in the stack script >> >> Available here (39k) >> >> Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" >> >> Brahmanathaswami >> >> PS. If one can tell me where to "resize" message. ? I have been staying >> away from that for years! >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Mon Jun 18 10:22:50 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 18 Jun 2018 14:22:50 +0000 Subject: Listfield Questions In-Reply-To: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> References: <3BBACF48-8BB7-4F0B-BFDA-34C63EE1EE40@mac.com> Message-ID: <955EAA2A-8432-4364-A8B6-1D618E375F48@hindu.org> More ideas/solution. ON arrowkey send postImage to me in 0 seconds pass arrowkey END arrowkey ON postImage put the hilitedline of fld "FileList" into gLastLine put the hilitedtext of fld "FileList"into fld "currentImage" showPhoto (the hilitedtext of fld "FileList") END postImage ON mouseUp #in case you want to options IF (the hilite of btn "Reorder") THEN put word 2 of the clickline into gCapWriterLastLineHandled end if IF the optionkey = "down" THEN answer "Are you sure you want to delete" && the clicktext & "?" with "delete" and "no" if it is "no" then exit to top end if delete file (gCurrentSlideShowFolder& the clicktext) delete file (gCurrentSlideShowFolder & "/thumb/" & the clicktext) buildList gCurrentSlideShowFolder exit MouseUp END IF put the hilitedline of me into gLastLine showPhoto the clicktext END mouseup Brahmanathaswami ?On 6/15/18, 6:31 PM, "use-livecode on behalf of Charles Szasz via use-livecode" wrote: Thanks Richard for your help. Unfortunately, using keyboard arrow keys may hilite a line but it does not put a value associated with the line into an input field. From brian at milby7.com Mon Jun 18 10:26:42 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 18 Jun 2018 09:26:42 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> References: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> Message-ID: Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size. On Jun 18, 2018, 9:20 AM -0500, Randy Hengst via use-livecode , wrote: > Hi BR, > > The iPhone 6 screen is the same size as the 7. I load a splash screen at 750x1134. > > be well, > randy > ----- > > On Jun 18, 2018, at 9:05 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > > > > Well, the problem is the SA builder in 8.1.10 does not has a "slot" for iPhone 7+ > > > > I wonder if I can add it after the SA is built... > > > > I will definitely check out your stack. > > > > BR > > > > > > > > > > On 6/17/18, 6:28 PM, "use-livecode on behalf of Brian Milby via use-livecode" wrote: > > > > For iOS, you must have a splash screen image for every native resolution > > that you need to access. If you don't have a 7+ splash, then you won't get > > a true 7+ rect. What happens is that automatic scaling kicks in at the > > device level, so your stack only gets one of the splash images sizes. So, > > the app is telling the phone what resolutions it supports via those splash > > screens and then the OS is adjusting to ensure that the full screen gets > > used. > > > > You can download my mobileProfile demo stack from the forum. It uses > > profiles and GM to take care of resize when device rotates. You can do it > > without profiles/GM, but it would at least let you see how it can work. > > > > http://forums.livecode.com/viewtopic.php?f=7&t=30018 > > > > One note is that GM/PM both work on mobile now without having to manually > > include any code (common library didn't get included when the post was > > written). > > > > I have not looked at this code in a while though. > > > > Thanks, > > Brian > > > > On Sun, Jun 17, 2018 at 10:03 PM, Sannyasin Brahmanathaswami via > > use-livecode wrote: > > > > > [my early post in pending due to length. I put the stack script in it. > > > Better to give the stack} > > > > > > Hmm. Trying to a little responsive design (works on any device/mobile > > > screen size) > > > > > > 1) Make a very stack with a widget "body" as browser that fill the whole > > > screen but for 50 at the bottom > > > 2) Fill the whole screen -50 at the bottom for a navigation/tool - group > > > "footer" > > > > > > But we the need to hide the group footer when they turn in landscape. > > > (for view full screen video) > > > And show it again when when orientationChanges to Portrait. > > > > > > Just winging it, first time try to do this, no doubt all my methods need a > > > lot helps, (missing the proper way to use resize and the browser widget > > > does not turn) > > > > > > But, first problem : > > > > > > I get a screenRect 0,0,375,667 on an iPhone 7+ and there is no way I can > > > add 7+ screen? > > > > > > Thanks, Apple! (can't report screenrect from the hardware) They depend on > > > the splash screens, so I been told. > > > > > > What to do? > > > > > > And, all of the code in the stack script > > > > > > Available here (39k) > > > > > > Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" > > > > > > Brahmanathaswami > > > > > > PS. If one can tell me where to "resize" message. ? I have been staying > > > away from that for years! > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 alex at tweedly.net Mon Jun 18 10:58:19 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 18 Jun 2018 15:58:19 +0100 Subject: Changing backgroundColor of a button changes its style ? Message-ID: <45ed9b12-e39a-a346-c92d-75dfbc5b0a21@tweedly.net> 1. create a new stack 2. drag a 'standard button' from the toolbar onto it (you now have a nicely rounded-corner button) 3. set its script to on mouseup ?? set the backgroundcolor of me to "200,50,50" end mouseup 4, click on 'browse mode' so the stack is "live" 4a. observe the button still has nicely rounded corners :-) 5. click on it ?the backgroundcolor changes to red AND the rounded corners disappear - it's now a rectangular button. What am I doing wrong or missing ? (LC 9.0.0, MacOS 10.13.2) Thanks Alex. From dougr at telus.net Mon Jun 18 11:15:40 2018 From: dougr at telus.net (Douglas Ruisaard) Date: Mon, 18 Jun 2018 08:15:40 -0700 Subject: LiveCode - Andoid SDK - Java compatibility chart? In-Reply-To: U80Aflq9spG2HU80FfGmwH References: U80Aflq9spG2HU80FfGmwH Message-ID: <013301d40717$3a239640$ae6ac2c0$@net> While I agree that the Java "install" is not necessarily a true bug in LC, is there a reason why LC could not "host" the "current" working set of install files? ... and (can you imagine???) even semi-automate the installation process when the user chooses to employ EITHER iOS or Android? I recently went through a similar experience when installing LC v9 on an new desktop. It took the best part of 1 hour (or maybe it was more... it was so much fun!) and THAT knowing the specific files I was looking for and needing to install. It definitely tops my list of "most annoying pop-up's" to go through the Java/Android hope-I-can-find-the right-file search process, fetch the files, run the installs and have LC announce ... "WRONG SDK, SUCKER!". Good thing my monitors are anchored to my desk! Douglas Ruisaard Trilogy Software (250) 573-3935 > Hi Folks > > Just to clarify as I have looked into this. > > Android SDK itself requires you to install Java 8 max. So while we have a bug about this in our db > it?s not really fixable by us. We do have some ideas about presenting dialogs if you have the wrong > one installed though. Note this mainly impacts Windows because Java 9 & 10 use different registry > entries to find the java home folder and dx.bat uses a javac option that is no longer supported. Still > I would not recommend installing higher than 8 on macOS or Linux. > > Cheers > > Monte > > > On 15 Jun 2018, at 11:26 pm, panagiotis merakos via use-livecode > wrote: > > > > So this is a bug in LC, not a compatibility issue. There is a bug > > report > > here: > > > > https://quality.livecode.com/show_bug.cgi?id=20719 > > > > From brahma at hindu.org Mon Jun 18 11:25:52 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 18 Jun 2018 15:25:52 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> Message-ID: <0145FE16-A50D-43AB-A644-EB9938A214DA@hindu.org> I have a 750 X 1134 in the iPhone 6 "slot" But LC 8.1.10 still be reports that the screenrect is 0,0,375,667 " Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size." Hmmm https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/launch-screen/ Says otherwise What you need, for iPhone 7+, is the same as 6 Plus but not the same as 6. Now I think we have a bug: if you have the 1242 X 2208 loaded in the 6 Plus slot, but LC thinks, on an iPhone 7+, that it should report the wrong size (that of 6) as the screenrect. 3 / 1242x2208 = 0,0,414,736 not 0,0,375,667 BR ?On 6/18/18, 4:27 AM, "use-livecode on behalf of Brian Milby via use-livecode" wrote: Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size. On Jun 18, 2018, 9:20 AM -0500, Randy Hengst via use-livecode , wrote: >Hi BR, > >The iPhone 6 screen is the same size as the 7. I load a splash screen at 750x1134. > From merakosp at gmail.com Mon Jun 18 11:48:05 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Mon, 18 Jun 2018 16:48:05 +0100 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <0145FE16-A50D-43AB-A644-EB9938A214DA@hindu.org> References: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> <0145FE16-A50D-43AB-A644-EB9938A214DA@hindu.org> Message-ID: Hi Brahmanathaswami, If your device is iPhone7 Plus, then you have to put the appropriate splash screens in the "iPhone 6 Plus Portrait" and "iPhone 6 Plus Lscape" slots in the standalone iOS settings. Best, Panos -- On Mon, Jun 18, 2018 at 4:25 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > I have a 750 X 1134 in the iPhone 6 "slot" But LC 8.1.10 still be reports > that the screenrect is 0,0,375,667 > > " Correct... the 6/7/8 are all the same size, the plus sizes are also the > same. X is also available as a size." > > Hmmm > > https://developer.apple.com/design/human-interface- > guidelines/ios/icons-and-images/launch-screen/ > > Says otherwise > > What you need, for iPhone 7+, is the same as 6 Plus but not the same as > 6. > > Now I think we have a bug: if you have the 1242 X 2208 loaded in the 6 > Plus slot, but LC thinks, on an iPhone 7+, that it should report the wrong > size (that of 6) as the screenrect. > > 3 / 1242x2208 = 0,0,414,736 not 0,0,375,667 > > BR > > > ?On 6/18/18, 4:27 AM, "use-livecode on behalf of Brian Milby via > use-livecode" use-livecode at lists.runrev.com> wrote: > > Correct... the 6/7/8 are all the same size, the plus sizes are also > the same. X is also available as a size. > On Jun 18, 2018, 9:20 AM -0500, Randy Hengst via use-livecode < > use-livecode at lists.runrev.com>, wrote: > >Hi BR, > > > >The iPhone 6 screen is the same size as the 7. I load a splash screen > at 750x1134. > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 brian at milby7.com Mon Jun 18 12:00:01 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 18 Jun 2018 11:00:01 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> <0145FE16-A50D-43AB-A644-EB9938A214DA@hindu.org> Message-ID: <8b36e403-c49e-43c3-be99-9c206f909aa1@Spark> Sorry, I meant that the 6 plus/7 plus/8 plus were all the same size (not that they were the same as the 6/7/8) On Jun 18, 2018, 10:48 AM -0500, panagiotis merakos via use-livecode , wrote: > Hi Brahmanathaswami, > > If your device is iPhone7 Plus, then you have to put the appropriate splash > screens in the "iPhone 6 Plus Portrait" and "iPhone 6 Plus Lscape" slots in > the standalone iOS settings. > > Best, > Panos > -- > > On Mon, Jun 18, 2018 at 4:25 PM, Sannyasin Brahmanathaswami via > use-livecode wrote: > > > I have a 750 X 1134 in the iPhone 6 "slot" But LC 8.1.10 still be reports > > that the screenrect is 0,0,375,667 > > > > " Correct... the 6/7/8 are all the same size, the plus sizes are also the > > same. X is also available as a size." > > > > Hmmm > > > > https://developer.apple.com/design/human-interface- > > guidelines/ios/icons-and-images/launch-screen/ > > > > Says otherwise > > > > What you need, for iPhone 7+, is the same as 6 Plus but not the same as > > 6. > > > > Now I think we have a bug: if you have the 1242 X 2208 loaded in the 6 > > Plus slot, but LC thinks, on an iPhone 7+, that it should report the wrong > > size (that of 6) as the screenrect. > > > > 3 / 1242x2208 = 0,0,414,736 not 0,0,375,667 > > > > BR > > > > > > On 6/18/18, 4:27 AM, "use-livecode on behalf of Brian Milby via > > use-livecode" > use-livecode at lists.runrev.com> wrote: > > > > Correct... the 6/7/8 are all the same size, the plus sizes are also > > the same. X is also available as a size. > > On Jun 18, 2018, 9:20 AM -0500, Randy Hengst via use-livecode < > > use-livecode at lists.runrev.com>, wrote: > > > Hi BR, > > > > > > The iPhone 6 screen is the same size as the 7. I load a splash screen > > at 750x1134. > > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 Mon Jun 18 13:17:33 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 18 Jun 2018 10:17:33 -0700 Subject: Changing backgroundColor of a button changes its style ? In-Reply-To: <45ed9b12-e39a-a346-c92d-75dfbc5b0a21@tweedly.net> References: <45ed9b12-e39a-a346-c92d-75dfbc5b0a21@tweedly.net> Message-ID: <66a99018-1c6e-f133-5a85-7899bac8845d@fourthworld.com> Alex Tweedly wrote: > 1. create a new stack > 2. drag a 'standard button' from the toolbar onto it > (you now have a nicely rounded-corner button) > 3. set its script to > > on mouseup > set the backgroundcolor of me to "200,50,50" > end mouseup > > 4, click on 'browse mode' so the stack is "live" > 4a. observe the button still has nicely rounded corners :-) > 5. click on it > > the backgroundcolor changes to red > > AND the rounded corners disappear - it's now a rectangular button. > > What am I doing wrong or missing ? If you apply a non-standard color, it's no longer a standard button. We have a roundrect style that may work for the type of non-standard button you're looking for. But AFAIK the "standard" button relies on OS routines to render its shape, gradient fill, etc., and the OS APIs provide little support for non-HIG alterations. -- 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 Mon Jun 18 13:22:56 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Mon, 18 Jun 2018 10:22:56 -0700 Subject: LiveCode - Andoid SDK - Java compatibility chart? In-Reply-To: <013301d40717$3a239640$ae6ac2c0$@net> References: <013301d40717$3a239640$ae6ac2c0$@net> Message-ID: <9ca212f8-2cd1-b249-43cb-990d0599728b@fourthworld.com> Douglas Ruisaard wrote: > I recently went through a similar experience when installing LC v9 on > an new desktop. It took the best part of 1 hour (or maybe it was > more... it was so much fun!) and THAT knowing the specific files I was > looking for and needing to install. > > It definitely tops my list of "most annoying pop-up's" to go through > the Java/Android hope-I-can-find-the right-file search process, fetch > the files, run the installs and have LC announce ... "WRONG SDK, > SUCKER!". Good thing my monitors are anchored to my desk! It would be great to have ONE single page describing a reliable recipe for setting up a system for Android builds in v9. I suppose we'd need one for macOS, Win, and Linux. It would need to be tech-edited for completeness, to make sure steps very familiar to the author are not glossed over for newcomers. Y'all know how much I like LC, and how long I've been using it. But somewhere in the v9 cycle I lost the ability to generate builds for Android, and piecing a recipe together from various parts of lessons and posts on this list has thus far failed to fix that for me. If I'm having such difficulty, it seems safe to imagine a hundred others have the same, and many aren't as hooked as I am so they just uninstall LC and move on to anything with a more integrated build experience. -- 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 Mon Jun 18 14:20:42 2018 From: alex at tweedly.net (Alex Tweedly) Date: Mon, 18 Jun 2018 19:20:42 +0100 Subject: Changing backgroundColor of a button changes its style ? In-Reply-To: <66a99018-1c6e-f133-5a85-7899bac8845d@fourthworld.com> References: <45ed9b12-e39a-a346-c92d-75dfbc5b0a21@tweedly.net> <66a99018-1c6e-f133-5a85-7899bac8845d@fourthworld.com> Message-ID: <28674032-e964-3bb3-1578-042bbfe7d312@tweedly.net> On 18/06/2018 18:17, Richard Gaskin via use-livecode wrote: > > > > What am I doing wrong or missing ? > > If you apply a non-standard color, it's no longer a standard button. > > We have a roundrect style that may work for the type of non-standard > button you're looking for. > I should probably take it as a good reason why I shouldn't be changing the button colour :-) > But AFAIK the "standard" button relies on OS routines to render its > shape, gradient fill, etc., and the OS APIs provide little support for > non-HIG alterations. > OK - UI changed to something better .... Thank You ! -- Alex. From brahma at hindu.org Mon Jun 18 15:09:39 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Mon, 18 Jun 2018 19:09:39 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> <0145FE16-A50D-43AB-A644-EB9938A214DA@hindu.org> Message-ID: <1F99B44E-2755-4AFD-A00C-3F8DF0CDCF6F@hindu.org> Aloha Panos But if you have entered (in the SA settings) iPhone Initial orientation the option to choose iPhone 6 plus Lscape is not available BR From: panagiotis merakos Date: Monday, June 18, 2018 at 5:48 AM To: How LiveCode Cc: Brahma Nathaswami Subject: Re: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Hi Brahmanathaswami, If your device is iPhone7 Plus, then you have to put the appropriate splash screens in the "iPhone 6 Plus Portrait" and "iPhone 6 Plus Lscape" slots in the standalone iOS settings. Best, Panos -- On Mon, Jun 18, 2018 at 4:25 PM, Sannyasin Brahmanathaswami via use-livecode > wrote: I have a 750 X 1134 in the iPhone 6 "slot" But LC 8.1.10 still be reports that the screenrect is 0,0,375,667 " Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size." Hmmm https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/launch-screen/ Says otherwise What you need, for iPhone 7+, is the same as 6 Plus but not the same as 6. Now I think we have a bug: if you have the 1242 X 2208 loaded in the 6 Plus slot, but LC thinks, on an iPhone 7+, that it should report the wrong size (that of 6) as the screenrect. 3 / 1242x2208 = 0,0,414,736 not 0,0,375,667 BR On 6/18/18, 4:27 AM, "use-livecode on behalf of Brian Milby via use-livecode" on behalf of use-livecode at lists.runrev.com> wrote: Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size. On Jun 18, 2018, 9:20 AM -0500, Randy Hengst via use-livecode >, wrote: >Hi BR, > >The iPhone 6 screen is the same size as the 7. I load a splash screen at 750x1134. > _______________________________________________ use-livecode mailing list use-livecode 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 Mon Jun 18 15:46:26 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Mon, 18 Jun 2018 15:46:26 -0400 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <1F99B44E-2755-4AFD-A00C-3F8DF0CDCF6F@hindu.org> References: <359738B5-C592-4F86-BF0E-33F21DF95D91@mac.com> <0145FE16-A50D-43AB-A644-EB9938A214DA@hindu.org> <1F99B44E-2755-4AFD-A00C-3F8DF0CDCF6F@hindu.org> Message-ID: <005601d4073d$0e82a730$2b87f590$@net> BR, "iPhone Initial orientation" applies only to phones that support landscape splash images. At this point it's only the iPhone6 Plus and the iPhone X. All other iPhones will start in portrait. IPads start in the orientation the device is in when the app is launched. 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 Sannyasin Brahmanathaswami via use-livecode Sent: Monday, June 18, 2018 3:10 PM To: How to use LiveCode Cc: Sannyasin Brahmanathaswami Subject: Re: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Aloha Panos But if you have entered (in the SA settings) iPhone Initial orientation the option to choose iPhone 6 plus Lscape is not available BR From: panagiotis merakos Date: Monday, June 18, 2018 at 5:48 AM To: How LiveCode Cc: Brahma Nathaswami Subject: Re: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Hi Brahmanathaswami, If your device is iPhone7 Plus, then you have to put the appropriate splash screens in the "iPhone 6 Plus Portrait" and "iPhone 6 Plus Lscape" slots in the standalone iOS settings. Best, Panos -- On Mon, Jun 18, 2018 at 4:25 PM, Sannyasin Brahmanathaswami via use-livecode > wrote: I have a 750 X 1134 in the iPhone 6 "slot" But LC 8.1.10 still be reports that the screenrect is 0,0,375,667 " Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size." Hmmm https://developer.apple.com/design/human-interface-guidelines/ios/icons-and- images/launch-screen/ Says otherwise What you need, for iPhone 7+, is the same as 6 Plus but not the same as 6. Now I think we have a bug: if you have the 1242 X 2208 loaded in the 6 Plus slot, but LC thinks, on an iPhone 7+, that it should report the wrong size (that of 6) as the screenrect. 3 / 1242x2208 = 0,0,414,736 not 0,0,375,667 BR On 6/18/18, 4:27 AM, "use-livecode on behalf of Brian Milby via use-livecode" on behalf of use-livecode at lists.runrev.com> wrote: Correct... the 6/7/8 are all the same size, the plus sizes are also the same. X is also available as a size. On Jun 18, 2018, 9:20 AM -0500, Randy Hengst via use-livecode >, wrote: >Hi BR, > >The iPhone 6 screen is the same size as the 7. I load a splash screen at 750x1134. > _______________________________________________ use-livecode mailing list use-livecode 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 bogdanoff at me.com Mon Jun 18 15:47:00 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Mon, 18 Jun 2018 12:47:00 -0700 Subject: Need help with a project In-Reply-To: References: <87D4EA17-C355-484C-B2F4-F335E32C3B0B@me.com> <8407ef90-dd89-4760-89e4-458533f4dd18@Spark> Message-ID: <232C00E7-EA15-450B-8CA7-A123B02A432F@me.com> Thanks, Lagi, for your suggestions. In my case the program will be used in higher ed classrooms by students sitting side by side, often sharing the software keys. Also we are breaking into the Chinese education market with potentially tens of thousands, or more customers, where we have little control over who they are (we are working with a local distributor), and zero direct contact with them. An easy-going protection system is not appropriate, nor is something that I have the option of choosing. The SoftwareShield system is quite robust with serial key management and fingerprinting, and it seems to meet our needs. I just have to find someone on the LC list or elsewhere who can help me implement it. LC, the company, asks for $1000/day, which we might pay if they could do the job in a timely manner, but they are too busy now. I believe the job is not very difficult, just JavaScript, and possibly some LC Builder, both of which are beyond me right now. Peter Bogdanoff ArtsInteractive > On Jun 18, 2018, at 3:31 AM, Lagi Pittas via use-livecode wrote: > > HI Peter, > > The fact that it is a subscription system is the best protection you have. > Use the simplest protection that will tell you if the system has been > "pirated" - simple encryption of the company/institution address/details > for instance. Don't allow them to change the address/telephone number etc > in the program - so they have to "patch" the exe. When you notice this has > happened (5 lines of code) set a timer. > In 8 Months time you have a screen that comes up at boot time that says > "Problem with your program please call before any lasting damage is done" > at xxxx-xxx-xxxx". If they don't call in say a month the program stops > working with your number on the front screen and How they can get a legal > copy". > > Sage Payroll used to not protect their payroll, so come April when rates > changed, Sage always Got (gets?) a spike in sales - No questions asked as > long as the user can transfer his data from the "pirated" version. The > people who will buy your program will buy it - the people who will copy > your program will copy it anyway - you didn't lose a sale you got free > advertising. How do you think microsoft replaced Lotus 123 - they removed > protection from Office then gave a ?90 upgrade from any version (even non > legal version) after a couple of years. > > Making your program indispensable (without too many barriers) to your > paying customers is the best way of building a loyal customer base. > > Save yourself a lot of time hassle and money and make the subscription/name > the protection > > My 2 pence worth > > Lagi > > p.s. If it can be read it can be broken > > A 5 minute google search and a bit of memory .... > You'll be glad to hear no decompilers for Livecode - we are not on the > radar. > > // If you lose your sourcecode in the future ..... > http://www.javadecompilers.com/ > https://forum.xda-developers.com/android/software-hacking/tool-apk-easy-tool-v1-02-windows-gui-t3333960 > https://www.yeahhub.com/best-19-tools-used-reverse-engineering-2018-update/ > http://www.refox.net/ > http://www.iphonehacks.com/2018/05/ios-11-3-1-jailbreak-updates.html > http://www.decompiler.net/ > https://www.vb-decompiler.org/ > https://www.thoughtco.com/decompiling-delphi-1-3-1057974 > http://www.dvdsmith.com/remove-sony-arccos-protection.html > https://www.roojs.com/blog.php/View/117/Recovering_encoded_php_files.html > > //Even hardware dongles are not immune > https://www.brstudio.com/dongles/deskey-dk2-dk3-dongle-emulator/ > http://www.dongleservice.com/dongle-bypass.phtml > > > > > On Fri, 15 Jun 2018 at 02:08, Peter Bogdanoff via use-livecode < > use-livecode at lists.runrev.com> wrote: > >>> you want to include some of the advanced capabilities like restricted >> trial, >> Yes, I do want to use advanced capabilities. >> >>> Does it just wrap the executable or does it encapsulate the entire >> directory? >> It can do either. >> >> I am using pw protection on all stacks, which is is working well. More >> important is the license activation and management because it is a >> subscription product?there is a single version which has a free, limited >> status or a full, paid status?the program needs the capability to shift to >> either. Also I need to control the installations of the program. It will be >> used in educational institutions, by individuals, sometimes in iffy >> locations (China) where I need to minimize piracy. >> >> Peter >> >> >>> On Jun 14, 2018, at 4:23 PM, Brian Milby via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> Are you saying that you have the standard mode working but you want to >> include some of the advanced capabilities like restricted trial, etc? >>> >>> Does it just wrap the executable or does it encapsulate the entire >> directory? I?m assuming you have decided that the password protection of >> the stack isn?t sufficient. >>> >>> Brian >>> On Jun 14, 2018, 4:28 PM -0500, Peter Bogdanoff via use-livecode < >> use-livecode at lists.runrev.com>, wrote: >>>> Hi, >>>> >>>> I?m working on a project that we are getting ready to publish as a >> desktop application for Mac and Windows. >>>> >>>> It is content heavy and I'm wanting to protect it, and am using a >> product called SoftwareShield/GameShield: >>>> >>>> http://softwareshield.com >>>> http://gameshield.com >>>> >>>> It puts a wrapping around the executable and offers license management >> that works well in its basic form. There are more advanced features that I >> want to take advantage of that seem to go beyond the capabilities of >> LiveCode script and my own personal abilities. It seems that LiveCode can >> work with SoftwareShield, but I don?t know where to begin, nor can I >> program anything besides LiveCode script. >>>> >>>> This is an example of where I get lost about figuring out how to >> progress: >>>> >>>> "Because the kernel of SoftwareShield is developed in C++ and the >> gsCore exposes flat API in standard way, any language (such as Object-C, >> Java, NodeJS, Perl, Python, etc.) that can make api call to Windows DLL or >> MacOS dylib can integrated with SoftwareShield SDK.? >>>> >>>> http://doc.softwareshield.com/PG/index.html#pg_index >>>> >>>> >>>> Here?s docs they provide: >>>> >>>> http://doc.softwareshield.com/index.html >>>> http://doc.softwareshield.com/PG/ui_gs5.html#sdk_js >>>> >>>> >>>> So, I?m looking for someone who can: >>>> >>>> 1. Guide me through the process >>>> 2. Do Javascript or advanced LC programming as needed >>>> >>>> This is help I need immediately. >>>> >>>> Thanks! >>>> >>>> Peter Bogdanoff >>>> ArtsInteractive >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 cszasz at mac.com Mon Jun 18 15:50:49 2018 From: cszasz at mac.com (Charles Szasz) Date: Mon, 18 Jun 2018 13:50:49 -0600 Subject: Listfield Questions Message-ID: <056FF96E-98BD-40C4-A9EB-7F9FE8CAC88A@mac.com> Brahmanathaswami, Thanks for tour script suggestion! But I am not sure what it does! You give postImage in the script. Does this script have anything to with images? Sent from my iPad From gcanyon at gmail.com Mon Jun 18 17:01:47 2018 From: gcanyon at gmail.com (Geoff Canyon) Date: Mon, 18 Jun 2018 14:01:47 -0700 Subject: Optimization can be tricky In-Reply-To: References: <5B20509B.3040400@pair.com> Message-ID: Thanks for all the suggestions -- I tried multiple ideas without much improvement, then decided to rethink the problem. Roughly: I have a bunch of source data that I categorized by two numbers, the first from 1-N where N might be anywhere from 100-5,000, and the second from 1-100. For any given first number, there might be about fifty entries, with varying values for the second number. Then for a given query I was trying to: 1. Take a list of 20-100 values for the first number, and for each of those, a value for the second number, 2. Return a set of about 10-20 entries, where each entry matches one of the first numbers from the list, and then probabilistically selected based on the proximity of the second number from the list to the second number of the item. (The userSeen aspect was an additional wrinkle) Since there are about 50 entries for each of the first numbers, the entries that *might* be returned number [20-100] * 50, or about 1,000-5,000 entries. And everything I tried was too slow, since ideally I want to be able to do this anywhere from 10-100 times per second. So I reframed at the source. Instead of keeping all the candidates in a single array keyed by the first number, I kept them in sub-arrays keyed by the first digit of the second number. Then, instead of gathering all the possible values based on the first number matches, I rotate the list of first number matches each time I retrieve, and then parse through the resulting matches in order, gathering any that work, until I have enough to return. This is certainly not identical to the original method, but it's close enough, and runs in a small fraction of a second. thanks again, gc On Tue, Jun 12, 2018 at 6:04 PM, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > Thanks for the tip Ralph....love the sound of that filer function. > > On Tue, Jun 12, 2018 at 7:00 PM, Curry Kenworthy via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > > Optimizing scripts in LC is not the same as running reports in other > > software suites. If you only need 10 results, you probably don't want to > > handle all items twice. > > > > I hate to loop through all items even once. But if I do, I may be done! > > I'm not making a full report to print out; I'm just getting my 10 items. > If > > I use sort or filter, likewise, I will do whatever necessary to keep it > > short and sweet, even if that means adjusting some of the starting > > assumptions. > > > > If the sort really is taking more time than the loop, something is > bogging > > it down. Look at the random() and arithmetic attached to the sort. That's > > potentially like running a whole lot of LCS. So if you sort, try a plain > > numeric sort with no fancy stuff added. Then go grab your 10 - the other > > requirements can be addressed before or after the sort. > > > > Best wishes, > > > > Curry Kenworthy > > > > Custom Software Development > > LiveCode Training and Consulting > > http://livecodeconsulting.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 tom at makeshyft.com Mon Jun 18 20:39:54 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 18 Jun 2018 20:39:54 -0400 Subject: Must have flexible row height for Datagrid Table Message-ID: Hi everyone.... I'm willing to go into the weeds and work with the library code...... but I really need flexible row heights for a table datagrid. Has anyone tried making that modification before? Any last words of wisdom before I embark on this journey? Trevor? Mark? Thanks, Tom From paul at researchware.com Mon Jun 18 20:57:55 2018 From: paul at researchware.com (Paul Dupuis) Date: Mon, 18 Jun 2018 20:57:55 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: References: Message-ID: On 6/18/2018 8:39 PM, Tom Glod via use-livecode wrote: > Hi everyone.... > > I'm willing to go into the weeds and work with the library code...... but I > really need flexible row heights for a table datagrid. Has anyone tried > making that modification before? Any last words of wisdom before I embark > on this journey? Trevor? Mark? > I have NO idea how to modify a Datagrid for flexible row heights for a table view, but I could really really really use such an enhancement as well!!! From ahsoftware at sonic.net Mon Jun 18 22:01:19 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 18 Jun 2018 19:01:19 -0700 Subject: (somewhat) OT: Bill Atkinson on HC Message-ID: <84caedc4-c326-72ba-7e61-d58486b91909@sonic.net> http://www.mondo2000.com/2018/06/18/the-inspiration-for-hypercard/ -- Mark Wieder ahsoftware at gmail.com From tom at makeshyft.com Mon Jun 18 22:08:57 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 18 Jun 2018 22:08:57 -0400 Subject: (somewhat) OT: Bill Atkinson on HC In-Reply-To: <84caedc4-c326-72ba-7e61-d58486b91909@sonic.net> References: <84caedc4-c326-72ba-7e61-d58486b91909@sonic.net> Message-ID: the man ..... the legend..... i watched this on triangulation originally ...a great interview..... some time ago before this I actually emailed Bill to ask if the invention of HC was an unusal experience for him...so i'm glad he told this story. thanks for posting this ... a classic interview. On Mon, Jun 18, 2018 at 10:01 PM, Mark Wieder via use-livecode < use-livecode at lists.runrev.com> wrote: > http://www.mondo2000.com/2018/06/18/the-inspiration-for-hypercard/ > > -- > 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 tom at makeshyft.com Mon Jun 18 22:11:02 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 18 Jun 2018 22:11:02 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: References: Message-ID: 10-4 ......good to hear. def going on github when i am done....i don't need it super urgent, but sooner than later. I've hacked around in the library before, i hope to do it in a reasonable amount of time. On Mon, Jun 18, 2018 at 8:57 PM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > On 6/18/2018 8:39 PM, Tom Glod via use-livecode wrote: > > Hi everyone.... > > > > I'm willing to go into the weeds and work with the library code...... > but I > > really need flexible row heights for a table datagrid. Has anyone tried > > making that modification before? Any last words of wisdom before I > embark > > on this journey? Trevor? Mark? > > > > I have NO idea how to modify a Datagrid for flexible row heights for a > table view, but I could really really really use such an enhancement as > well!!! > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Mon Jun 18 22:32:48 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 19 Jun 2018 02:32:48 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Message-ID: Right, we know that, or so I thought... but Panos said, "mysteriously" "If your device is iPhone7 Plus, then you have to put the appropriate splash screens in the "iPhone 6 Plus Portrait" and "iPhone 6 Plus Lscape" slots in the standalone iOS settings." I deem this a bug, continue to comment here or at: https://quality.livecode.com/show_bug.cgi?id=21369 BR Whose goal was to do a simple responsive design, my code for that is "ground zero, never coded this aspect of LC in 25 years" and get to working on iOS and then submit for testing while the team it working on Android orientation "bugs" to test with before 9.1beta1 comes out. I did not get even to first base! If you have time, want to some fun, have at it Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" The goal: get in a working first in iOS and turn into test in Android. Remember: any screen size of any device, the group "Footer" and you remain the same size, just be centered at bottom the screen. The browser widget should be "dynamically" re-sized. From andre at andregarzia.com Mon Jun 18 23:12:41 2018 From: andre at andregarzia.com (Andre Garzia) Date: Tue, 19 Jun 2018 00:12:41 -0300 Subject: [ANN] v2.2 of DB Lib Message-ID: Friends, After ages without updating my tools, I've resumed working on them. Today I am releasing a tentative version of DB Lib v2.2 which has better Unicode handling. Basically I've replaced old uniencode/unidecode based code with the new textencode/textdecode stuff. I've tried with some Cyrillic and Tamil text and it worked well. You can grab a GPL version from: https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 And you can buy a commercial version from: https://sowl.co/YpT7k I will redo my own home page soon and list the LC stuff it is just not ready and I know some people needs these patches. I will work now on the new 3.0 release in which I will rewrite the remote database library PHP code to be better. om om andre -- http://www.andregarzia.com -- All We Do Is Code. http://fon.nu -- minimalist url shortening service. From curry at pair.com Tue Jun 19 00:47:42 2018 From: curry at pair.com (Curry Kenworthy) Date: Tue, 19 Jun 2018 00:47:42 -0400 Subject: Optimization can be tricky In-Reply-To: References: Message-ID: <5B288AEE.4000503@pair.com> Geoff wrote: > This is certainly not identical to the original method, but it's > close enough, and runs in a small fraction of a second. Good approach! Optimized code rules. Best wishes, Curry K. From toolbook at kestner.de Tue Jun 19 04:15:44 2018 From: toolbook at kestner.de (Tiemo Hollmann TB) Date: Tue, 19 Jun 2018 10:15:44 +0200 Subject: AW: LiveCode - Andoid SDK - Java compatibility chart? In-Reply-To: <9ca212f8-2cd1-b249-43cb-990d0599728b@fourthworld.com> References: <013301d40717$3a239640$ae6ac2c0$@net> <9ca212f8-2cd1-b249-43cb-990d0599728b@fourthworld.com> Message-ID: <002201d407a5$ba19ac70$2e4d0550$@kestner.de> Agree! before thinking of a big solution like an "integrated setup" it would already help a lot to have a complete, detailed and regularly checked and updated step by step road map like LC has started it with: https://livecode.com/resources/guides/mobile/android/ This 'how to' guide only had to be updated regularly (with version recommendations or a compatibility table) and enhanced with notes to pit falls, etc., independently of who (Android, Java, LC) is responsible for any issue. I followed this guide and the provided links, but it took much too long for me after a bunch of annoying experiences, not to take the current versions (what is the natural reflex), but any (which?) old versions. And this is only the very first step on the road to getting an android app into the market, where you are heading enough technical issues, not to talk about the oddities of app signing, etc. This is not user friendly and will scare newbees definitely away (and even scares me, thinking of how many pitfalls I have to investigate until a published app). Tiemo -----Urspr?ngliche Nachricht----- Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von Richard Gaskin via use-livecode Gesendet: Montag, 18. Juni 2018 19:23 An: use-livecode at lists.runrev.com Cc: Richard Gaskin Betreff: Re: LiveCode - Andoid SDK - Java compatibility chart? Douglas Ruisaard wrote: > I recently went through a similar experience when installing LC v9 on > an new desktop. It took the best part of 1 hour (or maybe it was > more... it was so much fun!) and THAT knowing the specific files I was > looking for and needing to install. > > It definitely tops my list of "most annoying pop-up's" to go through > the Java/Android hope-I-can-find-the right-file search process, fetch > the files, run the installs and have LC announce ... "WRONG SDK, > SUCKER!". Good thing my monitors are anchored to my desk! It would be great to have ONE single page describing a reliable recipe for setting up a system for Android builds in v9. I suppose we'd need one for macOS, Win, and Linux. It would need to be tech-edited for completeness, to make sure steps very familiar to the author are not glossed over for newcomers. Y'all know how much I like LC, and how long I've been using it. But somewhere in the v9 cycle I lost the ability to generate builds for Android, and piecing a recipe together from various parts of lessons and posts on this list has thus far failed to fix that for me. If I'm having such difficulty, it seems safe to imagine a hundred others have the same, and many aren't as hooked as I am so they just uninstall LC and move on to anything with a more integrated build experience. -- 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 skiplondon at gmail.com Tue Jun 19 08:08:51 2018 From: skiplondon at gmail.com (Skip Kimpel) Date: Tue, 19 Jun 2018 08:08:51 -0400 Subject: [ANN] v2.2 of DB Lib In-Reply-To: References: Message-ID: Is there an upgrade charge? SKIP KIMPEL On Mon, Jun 18, 2018 at 11:12 PM, Andre Garzia via use-livecode < use-livecode at lists.runrev.com> wrote: > Friends, > > After ages without updating my tools, I've resumed working on them. Today I > am releasing a tentative version of DB Lib v2.2 which has better Unicode > handling. Basically I've replaced old uniencode/unidecode based code with > the new textencode/textdecode stuff. > > I've tried with some Cyrillic and Tamil text and it worked well. > > You can grab a GPL version from: > > https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 > > And you can buy a commercial version from: > > https://sowl.co/YpT7k > > I will redo my own home page soon and list the LC stuff it is just not > ready and I know some people needs these patches. I will work now on the > new 3.0 release in which I will rewrite the remote database library PHP > code to be better. > > om om > andre > > > > -- > http://www.andregarzia.com -- All We Do Is Code. > http://fon.nu -- minimalist url shortening service. > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 19 09:01:55 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 19 Jun 2018 09:01:55 -0400 Subject: [ANN] v2.2 of DB Lib In-Reply-To: References: Message-ID: what is the difference? On Tue, Jun 19, 2018 at 8:09 AM Skip Kimpel via use-livecode < use-livecode at lists.runrev.com> wrote: > Is there an upgrade charge? > > SKIP KIMPEL > > On Mon, Jun 18, 2018 at 11:12 PM, Andre Garzia via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Friends, > > > > After ages without updating my tools, I've resumed working on them. > Today I > > am releasing a tentative version of DB Lib v2.2 which has better Unicode > > handling. Basically I've replaced old uniencode/unidecode based code with > > the new textencode/textdecode stuff. > > > > I've tried with some Cyrillic and Tamil text and it worked well. > > > > You can grab a GPL version from: > > > > https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 > > > > And you can buy a commercial version from: > > > > https://sowl.co/YpT7k > > > > I will redo my own home page soon and list the LC stuff it is just not > > ready and I know some people needs these patches. I will work now on the > > new 3.0 release in which I will rewrite the remote database library PHP > > code to be better. > > > > om om > > andre > > > > > > > > -- > > http://www.andregarzia.com -- All We Do Is Code. > > http://fon.nu -- minimalist url shortening service. > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 andre at andregarzia.com Tue Jun 19 09:46:40 2018 From: andre at andregarzia.com (Andre Garzia) Date: Tue, 19 Jun 2018 10:46:40 -0300 Subject: [ANN] v2.2 of DB Lib In-Reply-To: References: Message-ID: Skip, there is no upgrade charge and all previous customers should have received an email from my shop with the link to the new version by now. I don't like to charge for upgrades for minor revisions. Mike, basically it behaves better regarding unicode characters coming into LC and out of LC into the databases. I still need to iron out some cases but I think it is better. On Tue, Jun 19, 2018 at 10:01 AM, Mike Kerner via use-livecode < use-livecode at lists.runrev.com> wrote: > what is the difference? > > On Tue, Jun 19, 2018 at 8:09 AM Skip Kimpel via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Is there an upgrade charge? > > > > SKIP KIMPEL > > > > On Mon, Jun 18, 2018 at 11:12 PM, Andre Garzia via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > Friends, > > > > > > After ages without updating my tools, I've resumed working on them. > > Today I > > > am releasing a tentative version of DB Lib v2.2 which has better > Unicode > > > handling. Basically I've replaced old uniencode/unidecode based code > with > > > the new textencode/textdecode stuff. > > > > > > I've tried with some Cyrillic and Tamil text and it worked well. > > > > > > You can grab a GPL version from: > > > > > > https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 > > > > > > And you can buy a commercial version from: > > > > > > https://sowl.co/YpT7k > > > > > > I will redo my own home page soon and list the LC stuff it is just not > > > ready and I know some people needs these patches. I will work now on > the > > > new 3.0 release in which I will rewrite the remote database library PHP > > > code to be better. > > > > > > om om > > > andre > > > > > > > > > > > > -- > > > http://www.andregarzia.com -- All We Do Is Code. > > > http://fon.nu -- minimalist url shortening service. > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 > -- http://www.andregarzia.com -- All We Do Is Code. http://fon.nu -- minimalist url shortening service. From bobsneidar at iotecdigital.com Tue Jun 19 10:42:49 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 19 Jun 2018 14:42:49 +0000 Subject: (somewhat) OT: Bill Atkinson on HC In-Reply-To: <84caedc4-c326-72ba-7e61-d58486b91909@sonic.net> References: <84caedc4-c326-72ba-7e61-d58486b91909@sonic.net> Message-ID: <0D57340E-3332-4846-AF24-84C5738DFBC3@iotecdigital.com> So we are all just a part of Bill's acid trip eh? Nice. :-) Bob S > On Jun 18, 2018, at 19:01 , Mark Wieder via use-livecode wrote: > > http://www.mondo2000.com/2018/06/18/the-inspiration-for-hypercard/ > > -- > 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 Tue Jun 19 10:45:12 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 19 Jun 2018 14:45:12 +0000 Subject: Must have flexible row height for Datagrid Table In-Reply-To: References: Message-ID: <13D0CD0E-0C4C-4D28-9676-0059B0C42CB5@iotecdigital.com> Isn't that the difference between a form datagrid and a table datagrid? Why not just create a form datagrid and control the heights programmatically? Or do you need the row heights to be user manipulated? I saw an example a long time ago of a form style datagrid where one of the buttons in the form template expanded and collapsed the row. Bob S > On Jun 18, 2018, at 17:39 , Tom Glod via use-livecode wrote: > > Hi everyone.... > > I'm willing to go into the weeds and work with the library code...... but I > really need flexible row heights for a table datagrid. Has anyone tried > making that modification before? Any last words of wisdom before I embark > on this journey? Trevor? Mark? > > Thanks, > > Tom From tom at makeshyft.com Tue Jun 19 11:15:34 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 19 Jun 2018 11:15:34 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: <13D0CD0E-0C4C-4D28-9676-0059B0C42CB5@iotecdigital.com> References: <13D0CD0E-0C4C-4D28-9676-0059B0C42CB5@iotecdigital.com> Message-ID: Bob, yeah those are standard features of the form view.... but i need flexible rows in table view..... which do not work out of the box. On Tue, Jun 19, 2018 at 10:45 AM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Isn't that the difference between a form datagrid and a table datagrid? > Why not just create a form datagrid and control the heights > programmatically? Or do you need the row heights to be user manipulated? I > saw an example a long time ago of a form style datagrid where one of the > buttons in the form template expanded and collapsed the row. > > Bob S > > > > On Jun 18, 2018, at 17:39 , Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Hi everyone.... > > > > I'm willing to go into the weeds and work with the library code...... > but I > > really need flexible row heights for a table datagrid. Has anyone tried > > making that modification before? Any last words of wisdom before I > embark > > on this journey? Trevor? Mark? > > > > Thanks, > > > > Tom > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Tue Jun 19 11:24:16 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 19 Jun 2018 17:24:16 +0200 Subject: [ANN] v2.2 of DB Lib In-Reply-To: References: Message-ID: <61F5AB93-9F49-440A-9032-80DF1A51188E@m-r-d.de> Andre, when did you sent out those emails. I did not receive any from your shop. Regards, Matthias > Am 19.06.2018 um 15:46 schrieb Andre Garzia via use-livecode : > > Skip, there is no upgrade charge and all previous customers should have > received an email from my shop with the link to the new version by now. I > don't like to charge for upgrades for minor revisions. > > Mike, basically it behaves better regarding unicode characters coming into > LC and out of LC into the databases. I still need to iron out some cases > but I think it is better. > > On Tue, Jun 19, 2018 at 10:01 AM, Mike Kerner via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> what is the difference? >> >> On Tue, Jun 19, 2018 at 8:09 AM Skip Kimpel via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> Is there an upgrade charge? >>> >>> SKIP KIMPEL >>> >>> On Mon, Jun 18, 2018 at 11:12 PM, Andre Garzia via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> Friends, >>>> >>>> After ages without updating my tools, I've resumed working on them. >>> Today I >>>> am releasing a tentative version of DB Lib v2.2 which has better >> Unicode >>>> handling. Basically I've replaced old uniencode/unidecode based code >> with >>>> the new textencode/textdecode stuff. >>>> >>>> I've tried with some Cyrillic and Tamil text and it worked well. >>>> >>>> You can grab a GPL version from: >>>> >>>> https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 >>>> >>>> And you can buy a commercial version from: >>>> >>>> https://sowl.co/YpT7k >>>> >>>> I will redo my own home page soon and list the LC stuff it is just not >>>> ready and I know some people needs these patches. I will work now on >> the >>>> new 3.0 release in which I will rewrite the remote database library PHP >>>> code to be better. >>>> >>>> om om >>>> andre >>>> >>>> >>>> >>>> -- >>>> http://www.andregarzia.com -- All We Do Is Code. >>>> http://fon.nu -- minimalist url shortening service. >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 >> > > > > -- > http://www.andregarzia.com -- All We Do Is Code. > http://fon.nu -- minimalist url shortening service. > _______________________________________________ > use-livecode mailing list > use-livecode 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 Tue Jun 19 11:31:24 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 19 Jun 2018 11:31:24 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: References: Message-ID: <1ba424ac-6ce6-c298-feb6-9ceaa16e7cba@researchware.com> To be specific, I would like to see a added feature to the "table" mode of the DataGrid where the row height for each individual rows is set to the max(formattedheight) of the contents of the visible columns for that specific row. So if a dataGrid has 3 visible columns and for row 1 the height of the contents of each of the 3 columns was 1 line, the row height for row 1 is set to 1 line. if row 2 column 3 had contents that was 3 lines high (or 42px height or whatever) and col 1 & 2 were less, then row's height is set to 3 lines high and so on. On 6/18/2018 8:57 PM, Paul Dupuis via use-livecode wrote: > On 6/18/2018 8:39 PM, Tom Glod via use-livecode wrote: >> Hi everyone.... >> >> I'm willing to go into the weeds and work with the library code...... but I >> really need flexible row heights for a table datagrid. Has anyone tried >> making that modification before? Any last words of wisdom before I embark >> on this journey? Trevor? Mark? >> > I have NO idea how to modify a Datagrid for flexible row heights for a > table view, but I could really really really use such an enhancement as > well!!! > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Tue Jun 19 14:04:30 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 19 Jun 2018 14:04:30 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: <1ba424ac-6ce6-c298-feb6-9ceaa16e7cba@researchware.com> References: <1ba424ac-6ce6-c298-feb6-9ceaa16e7cba@researchware.com> Message-ID: thats exactly what I mean...and while thinking about it ...... there is already a significant performance hit with having to calculate all rows in order to know how to scroll through the rows......... the scrollbar works based on equal row sizes ..... so i will have to find a workaround for that ... which is probably the reason why the feature is not there in the first place. .. i don't think i have much choice though. On Tue, Jun 19, 2018 at 11:31 AM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > To be specific, I would like to see a added feature to the "table" mode > of the DataGrid where the row height for each individual rows is set to > the max(formattedheight) of the contents of the visible columns for that > specific row. So if a dataGrid has 3 visible columns and for row 1 the > height of the contents of each of the 3 columns was 1 line, the row > height for row 1 is set to 1 line. if row 2 column 3 had contents that > was 3 lines high (or 42px height or whatever) and col 1 & 2 were less, > then row's height is set to 3 lines high and so on. > > On 6/18/2018 8:57 PM, Paul Dupuis via use-livecode wrote: > > On 6/18/2018 8:39 PM, Tom Glod via use-livecode wrote: > >> Hi everyone.... > >> > >> I'm willing to go into the weeds and work with the library code...... > but I > >> really need flexible row heights for a table datagrid. Has anyone tried > >> making that modification before? Any last words of wisdom before I > embark > >> on this journey? Trevor? Mark? > >> > > I have NO idea how to modify a Datagrid for flexible row heights for a > > table view, but I could really really really use such an enhancement as > > well!!! > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 tom at makeshyft.com Tue Jun 19 15:31:01 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 19 Jun 2018 15:31:01 -0400 Subject: Optimization can be tricky In-Reply-To: <5B288AEE.4000503@pair.com> References: <5B288AEE.4000503@pair.com> Message-ID: Nice....the proof is in the pudding. Thats why the say a good programmer spends most of their time staring at the ceiling ....... thinking. Who they are ...I do not know. On Tue, Jun 19, 2018 at 12:47 AM, Curry Kenworthy via use-livecode < use-livecode at lists.runrev.com> wrote: > > Geoff wrote: > > > This is certainly not identical to the original method, but it's > > close enough, and runs in a small fraction of a second. > > Good approach! Optimized code rules. > > Best wishes, > > Curry 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 jacque at hyperactivesw.com Tue Jun 19 16:20:50 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 19 Jun 2018 15:20:50 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: Message-ID: I tried it on Android, and it doesn't look like resizeStack is being sent at all, and sending a command "in time" inside an orientationChanged handler doesn't trigger either. Until that's fixed there's not much we can do. There may be something else going on, but my Mac refuses to enable remote debugging (again) so I can't trace the scripts. So far, only one version of LC (somewhere in the 8.x releases) would do it. All other versions never ask me if I want to debug remotely. I've added LC to the "allow" list in the firewall but it doesn't help. Monte, is there a way to force remote debugging? On 6/18/18 9:32 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > Whose goal was to do a simple responsive design, my code for that is "ground zero, never coded this aspect of LC in 25 years" and get to working on iOS and then submit for testing while the team it working on Android orientation "bugs" to test with before 9.1beta1 comes out. > > I did not get even to first base! If you have time, want to some fun, have at it > > Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" > > The goal: get in a working first in iOS and turn into test in Android. > > Remember: any screen size of any device, the group "Footer" and you remain the same size, just be centered at bottom the screen. The browser widget should be "dynamically" re-sized. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 MikeKerner at roadrunner.com Tue Jun 19 16:46:13 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 19 Jun 2018 16:46:13 -0400 Subject: [ANN] v2.2 of DB Lib In-Reply-To: <61F5AB93-9F49-440A-9032-80DF1A51188E@m-r-d.de> References: <61F5AB93-9F49-440A-9032-80DF1A51188E@m-r-d.de> Message-ID: I guess what I meant was what's the difference between the paid and unpaid version? I have my own db library, but I'm always game to move to something better. On Tue, Jun 19, 2018 at 11:24 AM Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Andre, > > when did you sent out those emails. I did not receive any from your shop. > > Regards, > > Matthias > > > > Am 19.06.2018 um 15:46 schrieb Andre Garzia via use-livecode < > use-livecode at lists.runrev.com>: > > > > Skip, there is no upgrade charge and all previous customers should have > > received an email from my shop with the link to the new version by now. I > > don't like to charge for upgrades for minor revisions. > > > > Mike, basically it behaves better regarding unicode characters coming > into > > LC and out of LC into the databases. I still need to iron out some cases > > but I think it is better. > > > > On Tue, Jun 19, 2018 at 10:01 AM, Mike Kerner via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> what is the difference? > >> > >> On Tue, Jun 19, 2018 at 8:09 AM Skip Kimpel via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> Is there an upgrade charge? > >>> > >>> SKIP KIMPEL > >>> > >>> On Mon, Jun 18, 2018 at 11:12 PM, Andre Garzia via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>> > >>>> Friends, > >>>> > >>>> After ages without updating my tools, I've resumed working on them. > >>> Today I > >>>> am releasing a tentative version of DB Lib v2.2 which has better > >> Unicode > >>>> handling. Basically I've replaced old uniencode/unidecode based code > >> with > >>>> the new textencode/textdecode stuff. > >>>> > >>>> I've tried with some Cyrillic and Tamil text and it worked well. > >>>> > >>>> You can grab a GPL version from: > >>>> > >>>> https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 > >>>> > >>>> And you can buy a commercial version from: > >>>> > >>>> https://sowl.co/YpT7k > >>>> > >>>> I will redo my own home page soon and list the LC stuff it is just not > >>>> ready and I know some people needs these patches. I will work now on > >> the > >>>> new 3.0 release in which I will rewrite the remote database library > PHP > >>>> code to be better. > >>>> > >>>> om om > >>>> andre > >>>> > >>>> > >>>> > >>>> -- > >>>> http://www.andregarzia.com -- All We Do Is Code. > >>>> http://fon.nu -- minimalist url shortening service. > >>>> _______________________________________________ > >>>> use-livecode mailing list > >>>> use-livecode 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 > >> > > > > > > > > -- > > http://www.andregarzia.com -- All We Do Is Code. > > http://fon.nu -- minimalist url shortening service. > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 harrison at all-auctions.com Tue Jun 19 16:52:19 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Tue, 19 Jun 2018 16:52:19 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: References: Message-ID: <53FC4350-88AC-4C92-BF91-00AFAF16DD38@all-auctions.com> Hi Tom, I haven?t done much of anything with the datagrid, but I am wondering what happens if one of the cells in your row has an image in it? Will the row resize to be able to show the minimum height of the image? If so, that might be a work around for you. Good luck, Rick > On Jun 18, 2018, at 8:39 PM, Tom Glod via use-livecode wrote: > > Hi everyone.... > > I'm willing to go into the weeds and work with the library code...... but I > really need flexible row heights for a table datagrid. Has anyone tried > making that modification before? Any last words of wisdom before I embark > on this journey? Trevor? Mark? > > Thanks, > > Tom > _______________________________________________ > use-livecode mailing list > use-livecode 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 Tue Jun 19 16:54:39 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Tue, 19 Jun 2018 16:54:39 -0400 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: Message-ID: <007501d4080f$c091cfa0$41b56ee0$@net> I always get the resizestack message on Android. For me it's when I do a "wait x ticks with messages" in a resize stack hander on iOS. The handler finishes but the engine is unresponsive to any messages after that. 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 J. Landman Gay via use-livecode Sent: Tuesday, June 19, 2018 4:21 PM To: How to use LiveCode Cc: J. Landman Gay Subject: Re: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 I tried it on Android, and it doesn't look like resizeStack is being sent at all, and sending a command "in time" inside an orientationChanged handler doesn't trigger either. Until that's fixed there's not much we can do. There may be something else going on, but my Mac refuses to enable remote debugging (again) so I can't trace the scripts. So far, only one version of LC (somewhere in the 8.x releases) would do it. All other versions never ask me if I want to debug remotely. I've added LC to the "allow" list in the firewall but it doesn't help. Monte, is there a way to force remote debugging? On 6/18/18 9:32 PM, Sannyasin Brahmanathaswami via use-livecode wrote: > Whose goal was to do a simple responsive design, my code for that is "ground zero, never coded this aspect of LC in 25 years" and get to working on iOS and then submit for testing while the team it working on Android orientation "bugs" to test with before 9.1beta1 comes out. > > I did not get even to first base! If you have time, want to some fun, > have at it > > Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" > > The goal: get in a working first in iOS and turn into test in Android. > > Remember: any screen size of any device, the group "Footer" and you remain the same size, just be centered at bottom the screen. The browser widget should be "dynamically" re-sized. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 brian at milby7.com Tue Jun 19 17:08:40 2018 From: brian at milby7.com (Brian Milby) Date: Tue, 19 Jun 2018 16:08:40 -0500 Subject: [ANN] v2.2 of DB Lib In-Reply-To: References: <61F5AB93-9F49-440A-9032-80DF1A51188E@m-r-d.de> Message-ID: My read is that it is the same code. Licensed version just allows commercial use without disclosing source code (Similar to LC Community edition compared to Indy/Business). On Jun 19, 2018, 3:47 PM -0500, Mike Kerner via use-livecode , wrote: > I guess what I meant was what's the difference between the paid and unpaid > version? I have my own db library, but I'm always game to move to > something better. > > On Tue, Jun 19, 2018 at 11:24 AM Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Andre, > > > > when did you sent out those emails. I did not receive any from your shop. > > > > Regards, > > > > Matthias > > > > > > > Am 19.06.2018 um 15:46 schrieb Andre Garzia via use-livecode < > > use-livecode at lists.runrev.com>: > > > > > > Skip, there is no upgrade charge and all previous customers should have > > > received an email from my shop with the link to the new version by now. I > > > don't like to charge for upgrades for minor revisions. > > > > > > Mike, basically it behaves better regarding unicode characters coming > > into > > > LC and out of LC into the databases. I still need to iron out some cases > > > but I think it is better. > > > > > > On Tue, Jun 19, 2018 at 10:01 AM, Mike Kerner via use-livecode < > > > use-livecode at lists.runrev.com> wrote: > > > > > > > what is the difference? > > > > > > > > On Tue, Jun 19, 2018 at 8:09 AM Skip Kimpel via use-livecode < > > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > Is there an upgrade charge? > > > > > > > > > > SKIP KIMPEL > > > > > > > > > > On Mon, Jun 18, 2018 at 11:12 PM, Andre Garzia via use-livecode < > > > > > use-livecode at lists.runrev.com> wrote: > > > > > > > > > > > Friends, > > > > > > > > > > > > After ages without updating my tools, I've resumed working on them. > > > > > Today I > > > > > > am releasing a tentative version of DB Lib v2.2 which has better > > > > Unicode > > > > > > handling. Basically I've replaced old uniencode/unidecode based code > > > > with > > > > > > the new textencode/textdecode stuff. > > > > > > > > > > > > I've tried with some Cyrillic and Tamil text and it worked well. > > > > > > > > > > > > You can grab a GPL version from: > > > > > > > > > > > > https://github.com/soapdog/livecode-dblib/releases/tag/v2.2 > > > > > > > > > > > > And you can buy a commercial version from: > > > > > > > > > > > > https://sowl.co/YpT7k > > > > > > > > > > > > I will redo my own home page soon and list the LC stuff it is just not > > > > > > ready and I know some people needs these patches. I will work now on > > > > the > > > > > > new 3.0 release in which I will rewrite the remote database library > > PHP > > > > > > code to be better. > > > > > > > > > > > > om om > > > > > > andre > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > http://www.andregarzia.com -- All We Do Is Code. > > > > > > http://fon.nu -- minimalist url shortening service. > > > > > > _______________________________________________ > > > > > > use-livecode mailing list > > > > > > use-livecode 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 > > > > > > > > > > > > > > > > -- > > > http://www.andregarzia.com -- All We Do Is Code. > > > http://fon.nu -- minimalist url shortening service. > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 paul at researchware.com Tue Jun 19 17:16:00 2018 From: paul at researchware.com (Paul Dupuis) Date: Tue, 19 Jun 2018 17:16:00 -0400 Subject: Must have flexible row height for Datagrid Table In-Reply-To: <53FC4350-88AC-4C92-BF91-00AFAF16DD38@all-auctions.com> References: <53FC4350-88AC-4C92-BF91-00AFAF16DD38@all-auctions.com> Message-ID: On 6/19/2018 4:52 PM, Rick Harrison via use-livecode wrote: > Hi Tom, > > I haven?t done much of anything with the datagrid, but I am > wondering what happens if one of the cells in your row > has an image in it? Will the row resize to be able to show > the minimum height of the image? If so, that might be > a work around for you. > ?Unfortunately, the Datagrid row height in "Table" mode does not resize with contents whether a cell contains an Image, text, or whatever. Rows are all of equal height in pixels that can be set by the developer. From jacque at hyperactivesw.com Tue Jun 19 17:40:19 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 19 Jun 2018 16:40:19 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <007501d4080f$c091cfa0$41b56ee0$@net> References: <007501d4080f$c091cfa0$41b56ee0$@net> Message-ID: <493f224c-9951-03d1-451a-516e429bf386@hyperactivesw.com> This is what I have: on resizeStack x,y ANSWER X &COMMA& Y setupUI x,y end resizeStack The answer dialog appeared once on my first test (with no x,y values) and all test builds after that never showed an answer dialog at all. The setupUI handler also has an answer dialog for testing and I haven't seen it even once. LC 9.0, Mac 10.13.4, Google Pixel. On 6/19/18 3:54 PM, Ralph DiMola wrote: > I always get the resizestack message on Android. For me it's when I do a > "wait x ticks with messages" in a resize stack hander on iOS. The handler > finishes but the engine is unresponsive to any messages after that. > > 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 J. Landman Gay via use-livecode > Sent: Tuesday, June 19, 2018 4:21 PM > To: How to use LiveCode > Cc: J. Landman Gay > Subject: Re: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 > > I tried it on Android, and it doesn't look like resizeStack is being sent at > all, and sending a command "in time" inside an orientationChanged handler > doesn't trigger either. Until that's fixed there's not much we can do. > > There may be something else going on, but my Mac refuses to enable remote > debugging (again) so I can't trace the scripts. So far, only one version of > LC (somewhere in the 8.x releases) would do it. All other versions never ask > me if I want to debug remotely. I've added LC to the "allow" list in the > firewall but it doesn't help. > > Monte, is there a way to force remote debugging? > > On 6/18/18 9:32 PM, Sannyasin Brahmanathaswami via use-livecode wrote: >> Whose goal was to do a simple responsive design, my code for that is > "ground zero, never coded this aspect of LC in 25 years" and get to > working on iOS and then submit for testing while the team it working on > Android orientation "bugs" to test with before 9.1beta1 comes out. >> >> I did not get even to first base! If you have time, want to some fun, >> have at it >> >> Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest.livecode" >> >> The goal: get in a working first in iOS and turn into test in Android. >> >> Remember: any screen size of any device, the group "Footer" and you remain > the same size, just be centered at bottom the screen. The browser widget > should be "dynamically" re-sized. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 lists at mangomultimedia.com Tue Jun 19 22:06:20 2018 From: lists at mangomultimedia.com (Trevor DeVore) Date: Tue, 19 Jun 2018 21:06:20 -0500 Subject: Sparkle macOS App Updater extension for LC 9 [First Pass] Message-ID: Hi all, I've been doing quite a bit of work with the Foreign Function Interface (FFI) in LiveCode Builder (LCB) lately. As I make the shift to a 64-bit app on macOS I want to convert most of the custom externals I use to LCB. I think they will be easier to improve going forward. Today I finished a first pass on wrapping the Sparkle updater framework for macOS applications. I've used Sparkle successfully for years as an external thanks to Monte and I plan on swapping that external out with this extension. If anyone who is already familiar with using the Extension Builder is feeling brave and wants to play around with it here is the URL: https://github.com/trevordevore/lc-sparkle You would need to download the ZIP file from the Github site and then use the LC 9 Extension Builder to compile the .lcb file into an .lcm file that you can load. Make sure and keep the .lcm file alongside the "code" folder in the repo. That is where the Sparkle.framework file is. If everything goes smoothly with this macOS version then I will venture into the Windows version of Sparkle and see if I can get that working. Ultimately I will be including this in an app_updater helper for Levure. -- Trevor DeVore ScreenSteps www.screensteps.com From matthias_livecode_150811 at m-r-d.de Wed Jun 20 13:11:56 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Wed, 20 Jun 2018 19:11:56 +0200 Subject: Is anyone using tsNet external with LCserver? In-Reply-To: <6766D7D7-CE11-4273-BEC2-78FC86C58497@revigniter.com> References: <6766D7D7-CE11-4273-BEC2-78FC86C58497@revigniter.com> Message-ID: <8B7CC377-D269-4585-B5A4-1750F6FAF994@m-r-d.de> For those who are interested. I?ve sent a pro support request for my problem to get tsNet working with Livecode Server. It seems its not so easy to get it working. Support team has now created a bug report for the problem. bug 21377 Regards, Matthias > Am 28.05.2018 um 14:01 schrieb Ralf Bitter via use-livecode >: > > Hi Panos, > > I know that tsNetVersion() yielding an error is fixed. > > But does this really mean that all tsNet Business > features are enabled on LC server (business)? > > Just did tests (got my files from the shelf) using > as an example asynchronous requests, which failed. > Synchronous flavours worked as expected. > > > Ralf > > >> On 28. May 2018, at 11:28, panagiotis merakos via use-livecode > wrote: >> >> Hi all, >> >> >> >> *>>>>>>>>And don't expect to get access to the extended feature setof tsNet >> Business on LC server. Seems there is no way to activatea business license >> for tsNet on server, don?t think this has changed.* >> >> This is no longer the case, this bug has been fixed since LC 8.1.8 RC-1: >> >> https://quality.livecode.com/show_bug.cgi?id=19793 > >> >> Best, >> Panos > > > _______________________________________________ > use-livecode mailing list > use-livecode at lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode Matthias Rebbe Tel +49 5741 310000 ?https://matthiasrebbe.eu ? From martyknappster at gmail.com Wed Jun 20 14:32:18 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Wed, 20 Jun 2018 11:32:18 -0700 Subject: Align baselines of 2 fields Message-ID: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> I have a user customizable stack that has a label field, then just to the right of that a field with user content. The user is able to customize the font and size of both the label field and the content field individually. Both fields are just 1 line. Is there a way to calculate where the baselines of these 2 fields are so that I can align them automatically (without user interaction)? Thanks, Marty From andrew at midwestcoastmedia.com Wed Jun 20 15:31:42 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Wed, 20 Jun 2018 19:31:42 +0000 Subject: Navbar widget limitations Message-ID: <20180620193142.Horde.0_0a2CfvcUdswhy7_SUV0Yx@ua850258.serversignin.com> I've had growing frustration with adding items and changing itemNames of new items in the Navigation Bar widget. Today I finally took the time to attempt and recreate/troubleshoot the issue which led me to filing two bug reports. One major limitation I discovered was that the widget only seems to support up to 9 items. When a 10th item gets added, the correlation between item and itemName seems to disappear. My suspicion is that the itemNames are being sorted alphabetically rather than numerically so once you hit double-digits the order breaks down. Can any Navbar users confirm or comment on my findings, or offer some sort of workaround? https://quality.livecode.com/show_bug.cgi?id=21379 [10 items issue] https://quality.livecode.com/show_bug.cgi?id=21378 [item name issue] --Andrew Bell From klaus at major-k.de Wed Jun 20 15:44:08 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 20 Jun 2018 21:44:08 +0200 Subject: Navbar widget limitations In-Reply-To: <20180620193142.Horde.0_0a2CfvcUdswhy7_SUV0Yx@ua850258.serversignin.com> References: <20180620193142.Horde.0_0a2CfvcUdswhy7_SUV0Yx@ua850258.serversignin.com> Message-ID: <3BC43197-A32F-4625-8992-624DCE42CB12@major-k.de> Hi Andrew, > Am 20.06.2018 um 21:31 schrieb Andrew Bell via use-livecode : > > I've had growing frustration with adding items and changing itemNames of new items in the Navigation Bar widget. Today I finally took the time to attempt and recreate/troubleshoot the issue which led me to filing two bug reports. > > One major limitation I discovered was that the widget only seems to support up to 9 items. When a 10th item gets added, the correlation between item and itemName seems to disappear. My suspicion is that the itemNames are being sorted alphabetically rather than numerically so once you hit double-digits the order breaks down. just made a test on my Mac 10.13.5, LC 9 and I had no problem with 15 items in the navigator widget! > Can any Navbar users confirm or comment on my findings, or offer some sort of workaround? > > https://quality.livecode.com/show_bug.cgi?id=21379 [10 items issue] > https://quality.livecode.com/show_bug.cgi?id=21378 [item name issue] > > --Andrew Bell Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From klaus at major-k.de Wed Jun 20 15:56:08 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 20 Jun 2018 21:56:08 +0200 Subject: Navbar widget limitations In-Reply-To: <3BC43197-A32F-4625-8992-624DCE42CB12@major-k.de> References: <20180620193142.Horde.0_0a2CfvcUdswhy7_SUV0Yx@ua850258.serversignin.com> <3BC43197-A32F-4625-8992-624DCE42CB12@major-k.de> Message-ID: <06F42280-747A-4DA1-B0DA-10DBCE78E6B4@major-k.de> Hi Andrew, > Am 20.06.2018 um 21:44 schrieb Klaus major-k via use-livecode : > > Hi Andrew, > >> Am 20.06.2018 um 21:31 schrieb Andrew Bell via use-livecode : >> >> I've had growing frustration with adding items and changing itemNames of new items in the Navigation Bar widget. Today I finally took the time to attempt and recreate/troubleshoot the issue which led me to filing two bug reports. >> >> One major limitation I discovered was that the widget only seems to support up to 9 items. When a 10th item gets added, the correlation between item and itemName seems to disappear. My suspicion is that the itemNames are being sorted alphabetically rather than numerically so once you hit double-digits the order breaks down. > > just made a test on my Mac 10.13.5, LC 9 and I had no problem with 15 items in the navigator widget! > >> Can any Navbar users confirm or comment on my findings, or offer some sort of workaround? >> >> https://quality.livecode.com/show_bug.cgi?id=21379 [10 items issue] >> https://quality.livecode.com/show_bug.cgi?id=21378 [item name issue] sorry, did not use your naming scheme in my test, will try again! Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From smaclean at madmansoft.com Wed Jun 20 15:56:43 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Wed, 20 Jun 2018 15:56:43 -0400 Subject: WordPress REST API's Message-ID: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> Hi All, Trying to get an update on the WordPress REST API?s? Was this coming in with LiveCode Connect? or something else? Also, does anyone have any experience successfully using Digital Pomegranates?s WPRestAPI? I am unsure of the authentication used and nothing seems to work. Any help is appreciated! Thanks, Steve MacLean From sanke at hrz.uni-kassel.de Wed Jun 20 15:58:34 2018 From: sanke at hrz.uni-kassel.de (sanke at hrz.uni-kassel.de) Date: Wed, 20 Jun 2018 21:58:34 +0200 Subject: (somewhat) OT: Bill Atkinson on HC - but rather Vannevar Bush in July 1945 Message-ID: On Tue, 19 Jun 2018 14:42:49 +0000 Bob Sneidar wrote: > So we are all just a part of Bill's acid trip eh? Nice. Bob S >> On Jun 18, 2018, at 19:01 , Mark Wieder via use-livecode wrote: >> >> http://www.mondo2000.com/2018/06/18/the-inspiration-for-hypercard/ >> >> -- >> Mark Wieder >> ahsoftware at gmail.com I think the very first impulse to envision and later develop the internet, worldwide multimedia connections, and eventually x-talk languages like Hypercard etc. came from Vannevar Bush in July 1945 without the help of acid or other substances in his famous article in the Atlantic Magazine bearing the title "As We May Think" __ From the introduction to his article: > /As Director of the Office of Scientific Research and Development, Dr. > Vannevar Bush has coordinated the activities of some six thousand > leading American scientists in the application of science to warfare. > In this significant article he holds up an incentive for scientists > when the fighting has ceased. He urges that men of science should then > turn to the massive task of making more accessible our bewildering > store of knowledge. For years inventions have extended man's physical > powers rather than the powers of his mind. Trip hammers that multiply > the fists, microscopes that sharpen the eye, and engines of > destruction and detection are new results, but not the end results, of > modern science. Now, says Dr. Bush, instruments are at hand which, if > properly developed, will give man access to and command over the > inherited knowledge of the ages. The perfection of these pacific > instruments should be the first objective of our scientists as they > emerge from their war work. Like Emerson's famous address of 1837 on > "The American Scholar," this paper by Dr. Bush calls for a new > relationship between thinking man and the sum of our knowledge. ? THE > EDITOR/ > Best regards, Wilhelm Sanke From klaus at major-k.de Wed Jun 20 16:06:29 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 20 Jun 2018 22:06:29 +0200 Subject: Navbar widget limitations In-Reply-To: <20180620193142.Horde.0_0a2CfvcUdswhy7_SUV0Yx@ua850258.serversignin.com> References: <20180620193142.Horde.0_0a2CfvcUdswhy7_SUV0Yx@ua850258.serversignin.com> Message-ID: Hi Andrew, > Am 20.06.2018 um 21:31 schrieb Andrew Bell via use-livecode : > > I've had growing frustration with adding items and changing itemNames of new items in the Navigation Bar widget. Today I finally took the time to attempt and recreate/troubleshoot the issue which led me to filing two bug reports. > > One major limitation I discovered was that the widget only seems to support up to 9 items. When a 10th item gets added, the correlation between item and itemName seems to disappear. My suspicion is that the itemNames are being sorted alphabetically rather than numerically so once you hit double-digits the order breaks down. > > Can any Navbar users confirm or comment on my findings, or offer some sort of workaround? > > https://quality.livecode.com/show_bug.cgi?id=21379 [10 items issue] > https://quality.livecode.com/show_bug.cgi?id=21378 [item name issue] > > --Andrew Bell yes, confirmed on my Mac 10.13.5 and LC 9. Here the order shifted even funkier!? But this action makes the inspector completely unusable however, with 15 items the inspector grows to almost 1900 pixels in width. Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From tom at makeshyft.com Wed Jun 20 16:32:19 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 20 Jun 2018 16:32:19 -0400 Subject: WordPress REST API's In-Reply-To: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> References: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> Message-ID: Hey. You can find it on github. DP use it for their work. So it works....I was planning on using it on a project, but it fell through so I haven't needed it yet. https://github.com/digitalpomegranate/livecode-wp-restapi This is a well written library. On Wed, Jun 20, 2018 at 3:56 PM, Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi All, > > Trying to get an update on the WordPress REST API?s? Was this coming in > with LiveCode Connect? or something else? > > Also, does anyone have any experience successfully using Digital > Pomegranates?s WPRestAPI? I am unsure of the authentication used and > nothing seems to work. > > Any help is appreciated! > > Thanks, > > Steve MacLean > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 engleerica at yahoo.com Wed Jun 20 16:36:18 2018 From: engleerica at yahoo.com (Eric A. Engle) Date: Wed, 20 Jun 2018 20:36:18 +0000 (UTC) Subject: unicode & umlauts References: <1433098181.2485765.1529526978891.ref@mail.yahoo.com> Message-ID: <1433098181.2485765.1529526978891@mail.yahoo.com> I am working on a stack using Chinese characters and German umlauts. On windows, pasting the clipboard into Metacard (yes) works fine; Pasting into Livecode 9 on Linux fails (it may be my own machine's fonts' fault?) Pasting unicode into livecode 9 on windows also works. So I guess this is my linux box's fault? or is there a known clipboard-unicode pasting problem on linux? From martyknappster at gmail.com Wed Jun 20 16:36:26 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Wed, 20 Jun 2018 13:36:26 -0700 Subject: Sparkle macOS App Updater extension for LC 9 [First Pass] In-Reply-To: References: Message-ID: <0EA20178-69B2-4E89-9F58-273C4FC03A05@gmail.com> Great to hear Trevor! Looking forward to diving into Levure and the Sparkle updater is very needed. Marty > On Jun 19, 2018, at 7:06 PM, Trevor DeVore via use-livecode wrote: > > Hi all, > > I've been doing quite a bit of work with the Foreign Function Interface > (FFI) in LiveCode Builder (LCB) lately. As I make the shift to a 64-bit app > on macOS I want to convert most of the custom externals I use to LCB. I > think they will be easier to improve going forward. > > Today I finished a first pass on wrapping the Sparkle updater framework for > macOS applications. I've used Sparkle successfully for years as an external > thanks to Monte and I plan on swapping that external out with this > extension. > > If anyone who is already familiar with using the Extension Builder is > feeling brave and wants to play around with it here is the URL: > > https://github.com/trevordevore/lc-sparkle > > You would need to download the ZIP file from the Github site and then use > the LC 9 Extension Builder to compile the .lcb file into an .lcm file that > you can load. Make sure and keep the .lcm file alongside the "code" folder > in the repo. That is where the Sparkle.framework file is. > > If everything goes smoothly with this macOS version then I will venture > into the Windows version of Sparkle and see if I can get that working. > Ultimately I will be including this in an app_updater helper for Levure. > > -- > Trevor DeVore > ScreenSteps > www.screensteps.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 smaclean at madmansoft.com Wed Jun 20 16:44:39 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Wed, 20 Jun 2018 16:44:39 -0400 Subject: WordPress REST API's In-Reply-To: References: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> Message-ID: HI Todd, Thanks, I have it and am trying to use it. Looks like I need an oAuth plug-in for wordpress that allows user credentials as I am running a self hosted site. The one I?ve found so far that finally is giving me results is WP OAuth Server? but to get the user credentials, you need the paid version. Still wondering if this was in the LC Connect stuff that I contributed awhile back;) Best, Steve > On Jun 20, 2018, at 4:32 PM, Tom Glod via use-livecode wrote: > > Hey. You can find it on github. DP use it for their work. So it works....I > was planning on using it on a project, but it fell through so I haven't > needed it yet. > > https://github.com/digitalpomegranate/livecode-wp-restapi > > This is a well written library. > > On Wed, Jun 20, 2018 at 3:56 PM, Stephen MacLean via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi All, >> >> Trying to get an update on the WordPress REST API?s? Was this coming in >> with LiveCode Connect? or something else? >> >> Also, does anyone have any experience successfully using Digital >> Pomegranates?s WPRestAPI? I am unsure of the authentication used and >> nothing seems to work. >> >> Any help is appreciated! >> >> Thanks, >> >> Steve MacLean >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 tom at makeshyft.com Wed Jun 20 16:51:40 2018 From: tom at makeshyft.com (Tom Glod) Date: Wed, 20 Jun 2018 16:51:40 -0400 Subject: WordPress REST API's In-Reply-To: References: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> Message-ID: Hmmm...maybe Todd can chime in on this ....I asked him a a few months back if it was good and safe to use in production...he said absolutely...so i kinda passed that on. Todd reads the mailing list, but he is super busy..... if its critical..... then maybe try to reach out directly and ask. He is really good at responding to private messages even while busy. Best of luck Steve. On Wed, Jun 20, 2018 at 4:44 PM, Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > HI Todd, > > Thanks, I have it and am trying to use it. > > Looks like I need an oAuth plug-in for wordpress that allows user > credentials as I am running a self hosted site. > > The one I?ve found so far that finally is giving me results is WP OAuth > Server? but to get the user credentials, you need the paid version. > > Still wondering if this was in the LC Connect stuff that I contributed > awhile back;) > > Best, > > Steve > > > On Jun 20, 2018, at 4:32 PM, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Hey. You can find it on github. DP use it for their work. So it > works....I > > was planning on using it on a project, but it fell through so I haven't > > needed it yet. > > > > https://github.com/digitalpomegranate/livecode-wp-restapi > > > > This is a well written library. > > > > On Wed, Jun 20, 2018 at 3:56 PM, Stephen MacLean via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Hi All, > >> > >> Trying to get an update on the WordPress REST API?s? Was this coming in > >> with LiveCode Connect? or something else? > >> > >> Also, does anyone have any experience successfully using Digital > >> Pomegranates?s WPRestAPI? I am unsure of the authentication used and > >> nothing seems to work. > >> > >> Any help is appreciated! > >> > >> Thanks, > >> > >> Steve MacLean > >> > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 smaclean at madmansoft.com Wed Jun 20 16:53:51 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Wed, 20 Jun 2018 16:53:51 -0400 Subject: WordPress REST API's In-Reply-To: References: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> Message-ID: Thanks Tom, appreciate the input! Best, Steve > On Jun 20, 2018, at 4:51 PM, Tom Glod via use-livecode wrote: > > Hmmm...maybe Todd can chime in on this ....I asked him a a few months back > if it was good and safe to use in production...he said absolutely...so i > kinda passed that on. > > Todd reads the mailing list, but he is super busy..... if its critical..... > then maybe try to reach out directly and ask. He is really good at > responding to private messages even while busy. > > Best of luck Steve. > > On Wed, Jun 20, 2018 at 4:44 PM, Stephen MacLean via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> HI Todd, >> >> Thanks, I have it and am trying to use it. >> >> Looks like I need an oAuth plug-in for wordpress that allows user >> credentials as I am running a self hosted site. >> >> The one I?ve found so far that finally is giving me results is WP OAuth >> Server? but to get the user credentials, you need the paid version. >> >> Still wondering if this was in the LC Connect stuff that I contributed >> awhile back;) >> >> Best, >> >> Steve >> >>> On Jun 20, 2018, at 4:32 PM, Tom Glod via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> Hey. You can find it on github. DP use it for their work. So it >> works....I >>> was planning on using it on a project, but it fell through so I haven't >>> needed it yet. >>> >>> https://github.com/digitalpomegranate/livecode-wp-restapi >>> >>> This is a well written library. >>> >>> On Wed, Jun 20, 2018 at 3:56 PM, Stephen MacLean via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>>> Hi All, >>>> >>>> Trying to get an update on the WordPress REST API?s? Was this coming in >>>> with LiveCode Connect? or something else? >>>> >>>> Also, does anyone have any experience successfully using Digital >>>> Pomegranates?s WPRestAPI? I am unsure of the authentication used and >>>> nothing seems to work. >>>> >>>> Any help is appreciated! >>>> >>>> Thanks, >>>> >>>> Steve MacLean >>>> >>>> >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 dunbarx at aol.com Wed Jun 20 17:32:23 2018 From: dunbarx at aol.com (dunbarxx) Date: Wed, 20 Jun 2018 14:32:23 -0700 (MST) Subject: Align baselines of 2 fields In-Reply-To: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> References: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> Message-ID: <1529530343692-0.post@n4.nabble.com> Hi. Do you mean the bottom of the field control, or the baseline of the text? All are doable. Craig Newman -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From martyknappster at gmail.com Wed Jun 20 17:34:53 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Wed, 20 Jun 2018 14:34:53 -0700 Subject: Align baselines of 2 fields In-Reply-To: <1529530343692-0.post@n4.nabble.com> References: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> <1529530343692-0.post@n4.nabble.com> Message-ID: <18D23352-C480-43C6-85FD-41269FD1565C@gmail.com> The baseline of the text. Marty > On Jun 20, 2018, at 2:32 PM, dunbarxx via use-livecode wrote: > > Hi. > > Do you mean the bottom of the field control, or the baseline of the text? > All are doable. > > Craig Newman > > > > -- > Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 20 17:47:41 2018 From: dunbarx at aol.com (dunbarxx) Date: Wed, 20 Jun 2018 14:47:41 -0700 (MST) Subject: Align baselines of 2 fields In-Reply-To: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> References: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> Message-ID: <1529531261622-0.post@n4.nabble.com> I am sure that with the margins, textHeight and textSize properties you can calculate how to set the text baseline of one field to that of another. A small textSize will require a smaller third margin, for example, and that must take into account the textHeight as a further component. Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From bobsneidar at iotecdigital.com Wed Jun 20 17:51:02 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 20 Jun 2018 21:51:02 +0000 Subject: Align baselines of 2 fields In-Reply-To: <18D23352-C480-43C6-85FD-41269FD1565C@gmail.com> References: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> <1529530343692-0.post@n4.nabble.com> <18D23352-C480-43C6-85FD-41269FD1565C@gmail.com> Message-ID: I checked the dictionary. There is no entry for the baseline of anything. Bob S > On Jun 20, 2018, at 14:34 , Knapp Martin via use-livecode wrote: > > The baseline of the text. > > Marty > >> On Jun 20, 2018, at 2:32 PM, dunbarxx via use-livecode wrote: >> >> Hi. >> >> Do you mean the bottom of the field control, or the baseline of the text? >> All are doable. >> >> Craig Newman >> >> >> >> -- >> Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 hello at simonsmith.co Wed Jun 20 18:36:45 2018 From: hello at simonsmith.co (Simon Smith) Date: Thu, 21 Jun 2018 00:36:45 +0200 Subject: WordPress REST API's In-Reply-To: References: <53D6AAEE-9811-4DCF-8493-B26607777674@madmansoft.com> Message-ID: Hi Stephen Depending on what you are wanting to do, the WordPress API also supports Application Passwords (https://wordpress.org/plugins/application-passwords/) Basic Authentication (https://github.com/WP-API/Basic-Auth) and JSON web tokens (https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/) which maybe a bit easier to work with - depending of course on your needs. Simon Carpe diem *Simon Smith* m. +27 83 306 7862 On Wed, Jun 20, 2018 at 10:44 PM, Stephen MacLean via use-livecode < use-livecode at lists.runrev.com> wrote: > HI Todd, > > Thanks, I have it and am trying to use it. > > Looks like I need an oAuth plug-in for wordpress that allows user > credentials as I am running a self hosted site. > > The one I?ve found so far that finally is giving me results is WP OAuth > Server? but to get the user credentials, you need the paid version. > > Still wondering if this was in the LC Connect stuff that I contributed > awhile back;) > > Best, > > Steve > > > On Jun 20, 2018, at 4:32 PM, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Hey. You can find it on github. DP use it for their work. So it > works....I > > was planning on using it on a project, but it fell through so I haven't > > needed it yet. > > > > https://github.com/digitalpomegranate/livecode-wp-restapi > > > > This is a well written library. > > > > On Wed, Jun 20, 2018 at 3:56 PM, Stephen MacLean via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Hi All, > >> > >> Trying to get an update on the WordPress REST API?s? Was this coming in > >> with LiveCode Connect? or something else? > >> > >> Also, does anyone have any experience successfully using Digital > >> Pomegranates?s WPRestAPI? I am unsure of the authentication used and > >> nothing seems to work. > >> > >> Any help is appreciated! > >> > >> Thanks, > >> > >> Steve MacLean > >> > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 Wed Jun 20 19:00:42 2018 From: dunbarx at aol.com (dunbarxx) Date: Wed, 20 Jun 2018 16:00:42 -0700 (MST) Subject: Align baselines of 2 fields In-Reply-To: References: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> <1529530343692-0.post@n4.nabble.com> <18D23352-C480-43C6-85FD-41269FD1565C@gmail.com> Message-ID: <1529535642196-0.post@n4.nabble.com> Right. I do not think there is a "baseLine" property. But again, if you play around with the properties I mentioned above, all of which are in pixels, I bet you can create a handler that will determine the "baseLineV" of any text in a field, and you can then match two fields together. This would be useful, since the fields could have different textSizes and such, and still match their vertical value. Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From dunbarx at aol.com Wed Jun 20 19:19:39 2018 From: dunbarx at aol.com (dunbarxx) Date: Wed, 20 Jun 2018 16:19:39 -0700 (MST) Subject: Align baselines of 2 fields In-Reply-To: <1529535642196-0.post@n4.nabble.com> References: <84964F4A-CF8E-471F-90CD-33FD09A7C016@gmail.com> <1529530343692-0.post@n4.nabble.com> <18D23352-C480-43C6-85FD-41269FD1565C@gmail.com> <1529535642196-0.post@n4.nabble.com> Message-ID: <1529536779118-0.post@n4.nabble.com> So I played around just a little. Make a new field and set its Textheight property. For the first line, this will be a certain number of pixels below the top of the field. Each subsequent line will be a multiple of that value. So if you know the baseLine of any line of text, and you know the top, you can either position the field so that the baseLine attains a certain Y value, or you can adjust the baseline to any Y value. Do the same for the other field, and you can align the text. Craig -- Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html From richmondmathewson at gmail.com Thu Jun 21 05:46:13 2018 From: richmondmathewson at gmail.com (Richmond) Date: Thu, 21 Jun 2018 12:46:13 +0300 Subject: unicode & umlauts In-Reply-To: <1433098181.2485765.1529526978891@mail.yahoo.com> References: <1433098181.2485765.1529526978891.ref@mail.yahoo.com> <1433098181.2485765.1529526978891@mail.yahoo.com> Message-ID: <7e42f8cf-a435-f6b0-4723-c93ccd24662e@gmail.com> Dunno: I just pasted THIS from NotePad into a textField in LiveCode 9 on Xubuntu: Eine ?berraschung stellen dagegen W?rter, wie ?doppelgaenger?, ?schadenfreude? oder ?poltergeist, dar, die sich, laut dem #Oxford #Dictionary, l?ngst im englischen Wortschatz eingenistet haben. Anscheinend ist die Eigenart des Deutschen, lange W?rter wider Willen bilden zu k?nnen, beliebter als sich so manch ein Brite oder #Amerikaner eingestehen m?chte. Everything was preserved. I performed the same exercise from LibreOffice with no problems. Richmond. On 20.06.2018 23:36, Eric A. Engle via use-livecode wrote: > I am working on a stack using Chinese characters and German umlauts. > > On windows, pasting the clipboard into Metacard (yes) works fine; Pasting into Livecode 9 on Linux fails (it may be my own machine's fonts' fault?) > Pasting unicode into livecode 9 on windows also works. > > So I guess this is my linux box's fault? or is there a known clipboard-unicode pasting problem on 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 ludovic.thebault at laposte.net Thu Jun 21 07:31:21 2018 From: ludovic.thebault at laposte.net (Ludovic THEBAULT) Date: Thu, 21 Jun 2018 13:31:21 +0200 Subject: WordOut : Where to put the license key? Message-ID: <12A49A82-7775-4495-BB71-8F89D1DB49F0@laposte.net> Hello, I?ve bought WordOut with a bundle. I?ve a licence key, but I don't know where to put it. Thanks for your help ! From Bernd.Niggemann at uni-wh.de Thu Jun 21 07:37:25 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Thu, 21 Jun 2018 11:37:25 +0000 Subject: Align baselines of 2 fields Message-ID: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> Hi Mary, I suppose you want to center those fields around a common horizontal baseline. You might try this if that is what you want. Should work with different fonts and sizes. Two fields, one button. Kind regards Bernd ---------------------------------------------------------- on mouseUp local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef local fFormattedBottom1, fFormattedBottom2 put 120 into tRef put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1 put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2 put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1 put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2 put the bottom of field 1 into tBot1 put the bottom of field 2 into tBot2 put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 set the bottom of field 1 to tRef + tDiff1 set the bottom of field 2 to tRef + tDiff2 end mouseUp ---------------------------------------------------------- From matthias_livecode_150811 at m-r-d.de Thu Jun 21 07:58:10 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Thu, 21 Jun 2018 13:58:10 +0200 Subject: WordOut : Where to put the license key? In-Reply-To: <12A49A82-7775-4495-BB71-8F89D1DB49F0@laposte.net> References: <12A49A82-7775-4495-BB71-8F89D1DB49F0@laposte.net> Message-ID: <75CB4025-5E60-418C-A36A-DAE566255C45@m-r-d.de> Hi Ludovic, the serial number is used in your script. First load wordout library, then use registerWordout ?xxxxx? to register wordout in your script. Replace xxxxx with your license key. HTH Matthias > Am 21.06.2018 um 13:31 schrieb Ludovic THEBAULT via use-livecode : > > Hello, > > I?ve bought WordOut with a bundle. I?ve a licence key, but I don't know where to put it. > > Thanks for your help ! > _______________________________________________ > use-livecode mailing list > use-livecode 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 Thu Jun 21 08:14:29 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Thu, 21 Jun 2018 14:14:29 +0200 Subject: The results are in. Message-ID: <479B4B17-5140-46A7-9FC8-D052DC02C95F@me.com> The academic year has come to an end in Norway, and the results from various exams have just been released. I am happy to say that my Computer Science students have ended this year on a high note, with 55% of them scoring an A or A+ for their final exams. All students participating in the course have passed, with the average result for the whole class being between B and A. The majority of my students had never written a single line of code when they started this course. Thanks to LiveCode it has been possible for both me and my students to work our way through the curriculum, steadily building the skills and knowledge they needed in order to produce such great results. It is very satisfying to be able to use a tool like LiveCode. It has enabled us to focus on the core aims of the subject, rather than wrestle with an obscure syntax or incomprehensible error messages. We have been able to solve problems using a tool that is easily understood, rather than spending time learning to understand and/or solving problems with the tool itself. I would therefore like to use this opportunity to say thank you to all of the people in Edinburgh (and the occasional Australian) for the good work they are doing and the fantastic product they are delivering. I would also like to thank all of the people on this list for the many contributions that have proved invaluable for me and my students over the years. Kind regards Tore Nilsen From ludovic.thebault at laposte.net Thu Jun 21 08:37:15 2018 From: ludovic.thebault at laposte.net (Ludovic) Date: Thu, 21 Jun 2018 14:37:15 +0200 Subject: WordOut : Where to put the license key? In-Reply-To: <75CB4025-5E60-418C-A36A-DAE566255C45@m-r-d.de> References: <12A49A82-7775-4495-BB71-8F89D1DB49F0@laposte.net> <75CB4025-5E60-418C-A36A-DAE566255C45@m-r-d.de> Message-ID: <2A995785-65EE-4EBF-BF21-480C2FF2CFD9@laposte.net> Thanks ! > Le 21 juin 2018 ? 13:58, Matthias Rebbe via use-livecode a ?crit : > > > Hi Ludovic, > > the serial number is used in your script. > First load wordout library, then use registerWordout ?xxxxx? > to register wordout in your script. > Replace xxxxx with your license key. > > HTH > > Matthias > >> Am 21.06.2018 um 13:31 schrieb Ludovic THEBAULT via use-livecode : >> >> Hello, >> >> I?ve bought WordOut with a bundle. I?ve a licence key, but I don't know where to put it. >> >> Thanks for your help ! >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 tom at makeshyft.com Thu Jun 21 09:41:58 2018 From: tom at makeshyft.com (Tom Glod) Date: Thu, 21 Jun 2018 09:41:58 -0400 Subject: The results are in. In-Reply-To: <479B4B17-5140-46A7-9FC8-D052DC02C95F@me.com> References: <479B4B17-5140-46A7-9FC8-D052DC02C95F@me.com> Message-ID: Great testimonial & results.... thank you for sharing. Indeed LC is a great choice for so many use cases. Thank you On Thu, Jun 21, 2018 at 8:14 AM, Tore Nilsen via use-livecode < use-livecode at lists.runrev.com> wrote: > The academic year has come to an end in Norway, and the results from > various exams have just been released. I am happy to say that my Computer > Science students have ended this year on a high note, with 55% of them > scoring an A or A+ for their final exams. All students participating in the > course have passed, with the average result for the whole class being > between B and A. The majority of my students had never written a single > line of code when they started this course. Thanks to LiveCode it has been > possible for both me and my students to work our way through the > curriculum, steadily building the skills and knowledge they needed in order > to produce such great results. > > It is very satisfying to be able to use a tool like LiveCode. It has > enabled us to focus on the core aims of the subject, rather than wrestle > with an obscure syntax or incomprehensible error messages. We have been > able to solve problems using a tool that is easily understood, rather than > spending time learning to understand and/or solving problems with the tool > itself. I would therefore like to use this opportunity to say thank you to > all of the people in Edinburgh (and the occasional Australian) for the good > work they are doing and the fantastic product they are delivering. I would > also like to thank all of the people on this list for the many > contributions that have proved invaluable for me and my students over the > years. > > Kind regards > Tore Nilsen > _______________________________________________ > use-livecode mailing list > use-livecode 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 Thu Jun 21 11:09:22 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Thu, 21 Jun 2018 15:09:22 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <493f224c-9951-03d1-451a-516e429bf386@hyperactivesw.com> References: <007501d4080f$c091cfa0$41b56ee0$@net> <493f224c-9951-03d1-451a-516e429bf386@hyperactivesw.com> Message-ID: 1) have had the 1242 X 2208 loaded in the Phone 6 Plus "slot" from the beginning of this tread! 2) In now suspect Xcode mis-configuration (I keep going on 9.2. to 9.3 and set the Xcode select from terminal_ 3) With Elanor help just needed to add mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape right" and case "landscape right" send "landscapeUI" to me in 0 milliseconds break to my switch and she says it is working! Can you please (if you have iPhone 7 Plus that is be best) try on your iPhone Go stack url "wiki.hindu.org/uploads/BrowserLandscapeTest_r2.livecode" We been good if I hear "confirmed, worked on my iPhone XX" from several people... if so, we have a test stack to give engineering to test on Android. The footer nav should show on portrait, disappear on when you turn phone side ways. Then appear again what you go portait. And you should in the reported (answer) the correct rect of the screen and *any* iPhone size. Any we do not need resize handler! @jacqueline there is no " setupUI" handler I think you meant PortratUI handler Try it now android: the " orientationChanged" was not happening because I did not put in mobileSetAllowedOrientations. But now the "rect" on android it off, it does show the footer/nav .. I think is visible, but off screen. Now, solving my Xcode confirguration, is a different problem. BR ?On 6/19/18, 11:40 AM, "use-livecode on behalf of J. Landman Gay via use-livecode" wrote: This is what I have: on resizeStack x,y ANSWER X &COMMA& Y setupUI x,y end resizeStack The answer dialog appeared once on my first test (with no x,y values) and all test builds after that never showed an answer dialog at all. The setupUI handler also has an answer dialog for testing and I haven't seen it even once. From engleerica at yahoo.com Thu Jun 21 11:42:20 2018 From: engleerica at yahoo.com (Eric A. Engle) Date: Thu, 21 Jun 2018 15:42:20 +0000 (UTC) Subject: unicode & umlauts References: <1930750827.344414.1529595740462.ref@mail.yahoo.com> Message-ID: <1930750827.344414.1529595740462@mail.yahoo.com> Yes, I think my problem with Chinese was I had only simplified and not traditional fonts installed. Anyway I installed some libraries now my paste clipboard ctrl v works. What doesn't work is calling the Yandex api to translate and then send the translation to a livecode field. Even though I definitely have all the fonts for Chinese and German installed Yandex returns a bunch of question marks to the field. :/ Why is that? What must be done? Because yandex clearly send HTML readable characters since the apis work on the web. What must I do to the text returned? on mouseup repeat with i = 1 to the number of lines in card field "source" put URLEncode(line i of cd fld "source") into theText put "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text="&theText&"&lang=de-en" into tResult put URL tResult into tResult set the itemdelimiter to "[" put the last item of tResult into targetText put targetText & return after cd fld "target" end repeat end mouseup This script works For German except it munges up umlauts. It also works for zh-en but then just returns a bunch of question marks. I definitely have all fonts installed. I have tried this in windows 10 and linux mint in case it is still a linux issue. How am I to process this text from the yandex api to get unicode chinese characters? Another question: in hypercard cmd + . = stop executing script. Is there any similar command in livecode? From jacque at hyperactivesw.com Thu Jun 21 11:46:54 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 21 Jun 2018 10:46:54 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <007501d4080f$c091cfa0$41b56ee0$@net> <493f224c-9951-03d1-451a-516e429bf386@hyperactivesw.com> Message-ID: <1642306e9c8.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> The setupUI handler was my own, I wrote a whole new script for testing. That's how I found that resizestack wasn't being sent. I'd already added the orientation handling and rotation was working, but the setup handler never triggered. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 21, 2018 10:11:31 AM Sannyasin Brahmanathaswami via use-livecode wrote: > 1) have had the 1242 X 2208 loaded in the Phone 6 Plus "slot" from the > beginning of this tread! > 2) In now suspect Xcode mis-configuration (I keep going on 9.2. to 9.3 and > set the Xcode select from terminal_ > 3) With Elanor help just needed to add > > mobileSetAllowedOrientations "portrait,portrait upside down,landscape > left,landscape right" > > and > > case "landscape right" > send "landscapeUI" to me in 0 milliseconds > break > > to my switch and she says it is working! > > Can you please (if you have iPhone 7 Plus that is be best) try on your iPhone > > Go stack url "wiki.hindu.org/uploads/BrowserLandscapeTest_r2.livecode" > > We been good if I hear "confirmed, worked on my iPhone XX" from several > people... if so, we have a test stack to give engineering to test on Android. > > The footer nav should show on portrait, disappear on when you turn phone > side ways. Then appear again what you go portait. And you should in the > reported (answer) the correct rect of the screen and *any* iPhone size. > > Any we do not need resize handler! > > @jacqueline there is no " setupUI" handler > > I think you meant PortratUI handler > > Try it now android: the " orientationChanged" was not happening because I > did not put in mobileSetAllowedOrientations. > > But now the "rect" on android it off, it does show the footer/nav .. I > think is visible, but off screen. > > Now, solving my Xcode confirguration, is a different problem. > > BR > > > ?On 6/19/18, 11:40 AM, "use-livecode on behalf of J. Landman Gay via > use-livecode" use-livecode at lists.runrev.com> wrote: > > This is what I have: > > on resizeStack x,y > ANSWER X &COMMA& Y > setupUI x,y > end resizeStack > > The answer dialog appeared once on my first test (with no x,y values) > and all test builds after that never showed an answer dialog at all. The > setupUI handler also has an answer dialog for testing and I haven't seen > it even once. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Thu Jun 21 11:59:47 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 21 Jun 2018 17:59:47 +0200 Subject: unicode & umlauts In-Reply-To: <1930750827.344414.1529595740462@mail.yahoo.com> References: <1930750827.344414.1529595740462.ref@mail.yahoo.com> <1930750827.344414.1529595740462@mail.yahoo.com> Message-ID: <7FAAA123-707A-47EB-ADC5-BF4F943AA057@major-k.de> Hi Eric, > Am 21.06.2018 um 17:42 schrieb Eric A. Engle via use-livecode : > > ... > Another question: in hypercard cmd + . = stop executing script. Is there any similar command in livecode? even better, the command is identical in Livecode. :-) Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bobsneidar at iotecdigital.com Thu Jun 21 12:23:22 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 16:23:22 +0000 Subject: unicode & umlauts In-Reply-To: <7FAAA123-707A-47EB-ADC5-BF4F943AA057@major-k.de> References: <1930750827.344414.1529595740462.ref@mail.yahoo.com> <1930750827.344414.1529595740462@mail.yahoo.com> <7FAAA123-707A-47EB-ADC5-BF4F943AA057@major-k.de> Message-ID: If only. ;-) Bob S > On Jun 21, 2018, at 08:59 , Klaus major-k via use-livecode wrote: > > Hi Eric, > >> Am 21.06.2018 um 17:42 schrieb Eric A. Engle via use-livecode : >> >> ... >> Another question: in hypercard cmd + . = stop executing script. Is there any similar command in livecode? > > even better, the command is identical in Livecode. :-) > > > Best > > Klaus > > -- > Klaus Major From klaus at major-k.de Thu Jun 21 12:26:02 2018 From: klaus at major-k.de (Klaus major-k) Date: Thu, 21 Jun 2018 18:26:02 +0200 Subject: unicode & umlauts In-Reply-To: References: <1930750827.344414.1529595740462.ref@mail.yahoo.com> <1930750827.344414.1529595740462@mail.yahoo.com> <7FAAA123-707A-47EB-ADC5-BF4F943AA057@major-k.de> Message-ID: <8CDF8CE2-0CA3-4E78-A6CC-6C2BD366524A@major-k.de> Hi Bob, > Am 21.06.2018 um 18:23 schrieb Bob Sneidar via use-livecode : > > If only. ;-) Monsieur? Isn't it? It IS! > Bob S >> On Jun 21, 2018, at 08:59 , Klaus major-k via use-livecode wrote: >> Hi Eric, >>> Am 21.06.2018 um 17:42 schrieb Eric A. Engle via use-livecode : >>> .. >>> Another question: in hypercard cmd + . = stop executing script. Is there any similar command in livecode? >> even better, the command is identical in Livecode. :-) Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From martyknappster at gmail.com Thu Jun 21 12:44:24 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Thu, 21 Jun 2018 09:44:24 -0700 Subject: Align baselines of 2 fields In-Reply-To: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> References: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> Message-ID: Thanks Craig and Bernd, I?ll tinker with this and see how it goes. Marty > On Jun 21, 2018, at 4:37 AM, Niggemann, Bernd via use-livecode wrote: > > Hi Mary, > > I suppose you want to center those fields around a common horizontal baseline. > > You might try this if that is what you want. Should work with different fonts and sizes. > > Two fields, one button. > > Kind regards > Bernd > > ---------------------------------------------------------- > on mouseUp > local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef > local fFormattedBottom1, fFormattedBottom2 > > put 120 into tRef > > put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1 > put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2 > > put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1 > put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2 > > put the bottom of field 1 into tBot1 > put the bottom of field 2 into tBot2 > > put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 > put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 > > set the bottom of field 1 to tRef + tDiff1 > set the bottom of field 2 to tRef + tDiff2 > 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 Thu Jun 21 13:09:56 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 17:09:56 +0000 Subject: Align baselines of 2 fields In-Reply-To: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> References: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> Message-ID: <3C610F15-C80C-47AB-8A54-B493A82AF6EF@iotecdigital.com> Or better yet: (should probably be submitted to the Master Library). Trouble with this is that it relocates both fields. It should probably only move pField2. on alignFieldBaselines pField1, pField2 local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef local fFormattedBottom1, fFormattedBottom2 put 120 into tRef put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 put the bottom of pField1 into tBot1 put the bottom of pField2 into tBot2 put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 set the bottom of pField1 to tRef + tDiff1 set the bottom of pField2 to tRef + tDiff2 end alignFieldBaselines Bob S > On Jun 21, 2018, at 04:37 , Niggemann, Bernd via use-livecode wrote: > > Hi Mary, > > I suppose you want to center those fields around a common horizontal baseline. > > You might try this if that is what you want. Should work with different fonts and sizes. > > Two fields, one button. > > Kind regards > Bernd > > ---------------------------------------------------------- > on mouseUp > local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef > local fFormattedBottom1, fFormattedBottom2 > > put 120 into tRef > > put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1 > put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2 > > put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1 > put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2 > > put the bottom of field 1 into tBot1 > put the bottom of field 2 into tBot2 > > put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 > put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 > > set the bottom of field 1 to tRef + tDiff1 > set the bottom of field 2 to tRef + tDiff2 > 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 Thu Jun 21 13:24:58 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 17:24:58 +0000 Subject: Align baselines of 2 fields In-Reply-To: <3C610F15-C80C-47AB-8A54-B493A82AF6EF@iotecdigital.com> References: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> <3C610F15-C80C-47AB-8A54-B493A82AF6EF@iotecdigital.com> Message-ID: <26E7BA9D-741B-4D54-8671-DD5639005080@iotecdigital.com> I modified as follows, but pField2 is one pixel high. Not sure why. Bob S on alignFieldBaselines pField1, pField2 local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef local fFormattedBottom1, fFormattedBottom2 -- put 120 into tRef put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 put the bottom of pField1 into tBot1 put the bottom of pField2 into tBot2 put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 -- set the bottom of pField1 to tRef + tDiff1 set the bottom of pField2 to tBot1 + tDiff2 end alignFieldBaselines > On Jun 21, 2018, at 10:09 , Bob Sneidar via use-livecode wrote: > > Or better yet: (should probably be submitted to the Master Library). Trouble with this is that it relocates both fields. It should probably only move pField2. > > on alignFieldBaselines pField1, pField2 > local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef > local fFormattedBottom1, fFormattedBottom2 > > put 120 into tRef > > put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 > put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 > > put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 > put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 > > put the bottom of pField1 into tBot1 > put the bottom of pField2 into tBot2 > > put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 > put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 > > set the bottom of pField1 to tRef + tDiff1 > set the bottom of pField2 to tRef + tDiff2 > end alignFieldBaselines > > Bob S > > >> On Jun 21, 2018, at 04:37 , Niggemann, Bernd via use-livecode wrote: >> >> Hi Mary, >> >> I suppose you want to center those fields around a common horizontal baseline. >> >> You might try this if that is what you want. Should work with different fonts and sizes. >> >> Two fields, one button. >> >> Kind regards >> Bernd >> >> ---------------------------------------------------------- >> on mouseUp >> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >> local fFormattedBottom1, fFormattedBottom2 >> >> put 120 into tRef >> >> put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1 >> put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2 >> >> put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1 >> put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2 >> >> put the bottom of field 1 into tBot1 >> put the bottom of field 2 into tBot2 >> >> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >> >> set the bottom of field 1 to tRef + tDiff1 >> set the bottom of field 2 to tRef + tDiff2 >> 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Thu Jun 21 13:28:49 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Thu, 21 Jun 2018 10:28:49 -0700 Subject: Align baselines of 2 fields In-Reply-To: <26E7BA9D-741B-4D54-8671-DD5639005080@iotecdigital.com> References: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> <3C610F15-C80C-47AB-8A54-B493A82AF6EF@iotecdigital.com> <26E7BA9D-741B-4D54-8671-DD5639005080@iotecdigital.com> Message-ID: This works for me, assuming you want to leave field 1 where it is and align field 2: on alignFieldBaselines pField1, pField2 local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef local fFormattedBottom1, fFormattedBottom2 put item 4 of the formattedRect of line 1 of fld pField1 into fFormattedBottom1 put item 4 of the formattedRect of line 1 of fld pField2 into fFormattedBottom2 put item 4 of measureText(line 1 of fld pField1, fld pField1 ,"bounds") into tDescent1 put item 4 measureText(line 1 of fld pField2, fld pField2 ,"bounds") into tDescent2 put the bottom of fld pField1 into tBot1 put the bottom of fld pField2 into tBot2 put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 put the bottom of fld pField1 -(tDiff1 - tDiff2) into tRef set the bottom of fld pField2 to tRef end alignFieldBaselines --- Marty > On Jun 21, 2018, at 10:24 AM, Bob Sneidar via use-livecode wrote: > > I modified as follows, but pField2 is one pixel high. Not sure why. > > Bob S > > on alignFieldBaselines pField1, pField2 > local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef > local fFormattedBottom1, fFormattedBottom2 > > -- put 120 into tRef > > put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 > put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 > > put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 > put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 > > put the bottom of pField1 into tBot1 > put the bottom of pField2 into tBot2 > > put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 > put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 > > -- set the bottom of pField1 to tRef + tDiff1 > set the bottom of pField2 to tBot1 + tDiff2 > end alignFieldBaselines > > >> On Jun 21, 2018, at 10:09 , Bob Sneidar via use-livecode wrote: >> >> Or better yet: (should probably be submitted to the Master Library). Trouble with this is that it relocates both fields. It should probably only move pField2. >> >> on alignFieldBaselines pField1, pField2 >> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >> local fFormattedBottom1, fFormattedBottom2 >> >> put 120 into tRef >> >> put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 >> put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 >> >> put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 >> put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 >> >> put the bottom of pField1 into tBot1 >> put the bottom of pField2 into tBot2 >> >> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >> >> set the bottom of pField1 to tRef + tDiff1 >> set the bottom of pField2 to tRef + tDiff2 >> end alignFieldBaselines >> >> Bob S >> >> >>> On Jun 21, 2018, at 04:37 , Niggemann, Bernd via use-livecode wrote: >>> >>> Hi Mary, >>> >>> I suppose you want to center those fields around a common horizontal baseline. >>> >>> You might try this if that is what you want. Should work with different fonts and sizes. >>> >>> Two fields, one button. >>> >>> Kind regards >>> Bernd >>> >>> ---------------------------------------------------------- >>> on mouseUp >>> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >>> local fFormattedBottom1, fFormattedBottom2 >>> >>> put 120 into tRef >>> >>> put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1 >>> put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2 >>> >>> put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1 >>> put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2 >>> >>> put the bottom of field 1 into tBot1 >>> put the bottom of field 2 into tBot2 >>> >>> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >>> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >>> >>> set the bottom of field 1 to tRef + tDiff1 >>> set the bottom of field 2 to tRef + tDiff2 >>> 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 >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Jun 21 13:59:26 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 17:59:26 +0000 Subject: Align baselines of 2 fields In-Reply-To: References: <50A4C81B-825D-472F-8226-070C5D000EC4@uni-wh.de> <3C610F15-C80C-47AB-8A54-B493A82AF6EF@iotecdigital.com> <26E7BA9D-741B-4D54-8671-DD5639005080@iotecdigital.com> Message-ID: <91B1F67A-FBAF-4789-97B0-92D930EAA78B@iotecdigital.com> I changed the font of one of the fields to something with a different descent, and it doesn't seem to work. Bob S > On Jun 21, 2018, at 10:28 , Knapp Martin via use-livecode wrote: > > This works for me, assuming you want to leave field 1 where it is and align field 2: > > on alignFieldBaselines pField1, pField2 > local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef > local fFormattedBottom1, fFormattedBottom2 > > put item 4 of the formattedRect of line 1 of fld pField1 into fFormattedBottom1 > put item 4 of the formattedRect of line 1 of fld pField2 into fFormattedBottom2 > > put item 4 of measureText(line 1 of fld pField1, fld pField1 ,"bounds") into tDescent1 > put item 4 measureText(line 1 of fld pField2, fld pField2 ,"bounds") into tDescent2 > > put the bottom of fld pField1 into tBot1 > put the bottom of fld pField2 into tBot2 > > put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 > put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 > > put the bottom of fld pField1 -(tDiff1 - tDiff2) into tRef > > set the bottom of fld pField2 to tRef > end alignFieldBaselines > --- > Marty > >> On Jun 21, 2018, at 10:24 AM, Bob Sneidar via use-livecode wrote: >> >> I modified as follows, but pField2 is one pixel high. Not sure why. >> >> Bob S >> >> on alignFieldBaselines pField1, pField2 >> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >> local fFormattedBottom1, fFormattedBottom2 >> >> -- put 120 into tRef >> >> put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 >> put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 >> >> put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 >> put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 >> >> put the bottom of pField1 into tBot1 >> put the bottom of pField2 into tBot2 >> >> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >> >> -- set the bottom of pField1 to tRef + tDiff1 >> set the bottom of pField2 to tBot1 + tDiff2 >> end alignFieldBaselines >> >> >>> On Jun 21, 2018, at 10:09 , Bob Sneidar via use-livecode wrote: >>> >>> Or better yet: (should probably be submitted to the Master Library). Trouble with this is that it relocates both fields. It should probably only move pField2. >>> >>> on alignFieldBaselines pField1, pField2 >>> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >>> local fFormattedBottom1, fFormattedBottom2 >>> >>> put 120 into tRef >>> >>> put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 >>> put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 >>> >>> put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 >>> put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 >>> >>> put the bottom of pField1 into tBot1 >>> put the bottom of pField2 into tBot2 >>> >>> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >>> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >>> >>> set the bottom of pField1 to tRef + tDiff1 >>> set the bottom of pField2 to tRef + tDiff2 >>> end alignFieldBaselines >>> >>> Bob S >>> >>> >>>> On Jun 21, 2018, at 04:37 , Niggemann, Bernd via use-livecode wrote: >>>> >>>> Hi Mary, >>>> >>>> I suppose you want to center those fields around a common horizontal baseline. >>>> >>>> You might try this if that is what you want. Should work with different fonts and sizes. >>>> >>>> Two fields, one button. >>>> >>>> Kind regards >>>> Bernd >>>> >>>> ---------------------------------------------------------- >>>> on mouseUp >>>> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >>>> local fFormattedBottom1, fFormattedBottom2 >>>> >>>> put 120 into tRef >>>> >>>> put item 4 of the formattedRect of line 1 of field 1 into fFormattedBottom1 >>>> put item 4 of the formattedRect of line 1 of field 2 into fFormattedBottom2 >>>> >>>> put item 4 of measureText(line 1 of field 1, field 1 ,"bounds") into tDescent1 >>>> put item 4 measureText(line 1 of field 2, field 2 ,"bounds") into tDescent2 >>>> >>>> put the bottom of field 1 into tBot1 >>>> put the bottom of field 2 into tBot2 >>>> >>>> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >>>> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >>>> >>>> set the bottom of field 1 to tRef + tDiff1 >>>> set the bottom of field 2 to tRef + tDiff2 >>>> 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 >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 Bernd.Niggemann at uni-wh.de Thu Jun 21 14:00:50 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Thu, 21 Jun 2018 18:00:50 +0000 Subject: Align baselines of 2 fields Message-ID: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> Hi Marty, depending how liberal you are in letting users choose fonts and sizes you might get "unexpected" results by aligning to field 1 try this stress test --------------------------------- on mouseUp lock screen set the textfont of field 1 to any line of the fontNames set the textfont of field 2 to any line of the fontNames set the textSize of field 1 to random(20) + 10 set the textSize of field 2 to random(20) + 10 -- put the textFont of field 1 into field "Font1" -- put the textFont of field 2 into field "Font2" unlock screen end mouseUp --------------------------------- then align via your script Your layout can start "moving" Additionally not all fonts report proper ascents and descents Kind regards Bernd > Marty wrote: > This works for me, assuming you want to leave field 1 where it is and align field 2: > > on alignFieldBaselines pField1, pField2 > local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef > local fFormattedBottom1, fFormattedBottom2 > > put item 4 of the formattedRect of line 1 of fld pField1 into fFormattedBottom1 > put item 4 of the formattedRect of line 1 of fld pField2 into fFormattedBottom2 > > put item 4 of measureText(line 1 of fld pField1, fld pField1 ,"bounds") into tDescent1 > put item 4 measureText(line 1 of fld pField2, fld pField2 ,"bounds") into tDescent2 > > put the bottom of fld pField1 into tBot1 > put the bottom of fld pField2 into tBot2 > > put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 > put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 > > put the bottom of fld pField1 -(tDiff1 - tDiff2) into tRef > > set the bottom of fld pField2 to tRef > end alignFieldBaselines From bobsneidar at iotecdigital.com Thu Jun 21 14:09:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 18:09:38 +0000 Subject: Align baselines of 2 fields In-Reply-To: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> Message-ID: <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> Sorry my bad. I modified your script to expect the long id of a field, but your second edition still expected short names. I can work around that later. So your new script works, except the second field may be one pixel too high, depending on the font. Not sure there is a workaround for this, but this is still very useful. Bob S > > >> Marty wrote: >> This works for me, assuming you want to leave field 1 where it is and align field 2: >> >> on alignFieldBaselines pField1, pField2 >> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >> local fFormattedBottom1, fFormattedBottom2 >> >> put item 4 of the formattedRect of line 1 of fld pField1 into fFormattedBottom1 >> put item 4 of the formattedRect of line 1 of fld pField2 into fFormattedBottom2 >> >> put item 4 of measureText(line 1 of fld pField1, fld pField1 ,"bounds") into tDescent1 >> put item 4 measureText(line 1 of fld pField2, fld pField2 ,"bounds") into tDescent2 >> >> put the bottom of fld pField1 into tBot1 >> put the bottom of fld pField2 into tBot2 >> >> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >> >> put the bottom of fld pField1 -(tDiff1 - tDiff2) into tRef >> >> set the bottom of fld pField2 to tRef >> end alignFieldBaselines > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 21 14:23:52 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 18:23:52 +0000 Subject: Align baselines of 2 fields In-Reply-To: <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> Message-ID: <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> Okay new version. This adds an offset parameter for those cases where the baselines do not exactly align due to font weirdnesses. I also added the ability to pass a short name of a field, or else the long ID. Enjoy! Bob S on alignFieldBaselines pField1, pField2, pOffset local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef local fFormattedBottom1, fFormattedBottom2 -- check passed parameters try if word 1 to 2 of pField1 is not "Field ID" then put the long id of field pField1 into pField1 if word 1 to 2 of pField2 is not "Field ID" then put the long id of field pField2 into pField2 if pOffset is empty then put 0 into pOffset catch theError return "Invalid parameter passed." end try -- get the formatted bottoms of both fields put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 -- calculate the descents of both fields put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 -- get the bottom of both fields put the bottom of pField1 into tBot1 put the bottom of pField2 into tBot2 -- calculate the differences put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 -- calculate and set the new bottom for field 2 put the bottom of pField1 -(tDiff1 - tDiff2) into tRef set the bottom of pField2 to tRef + pOffset end alignFieldBaselines From martyknappster at gmail.com Thu Jun 21 14:30:22 2018 From: martyknappster at gmail.com (Knapp Martin) Date: Thu, 21 Jun 2018 11:30:22 -0700 Subject: Align baselines of 2 fields In-Reply-To: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> Message-ID: Bernd, I ran this at least 50 times and in the vast majority of cases the baselines align. In a few cases, as Bob noted, it was off by 1 pixel. But that will be OK for my use. I let users pick any font but sizes are limited from 8 to 20. Thanks you guys. A very resourceful group, as usual! Marty > On Jun 21, 2018, at 11:00 AM, Niggemann, Bernd via use-livecode wrote: > > Hi Marty, > > depending how liberal you are in letting users choose fonts and sizes you might get "unexpected" results by aligning to field 1 > > > try this stress test > > > --------------------------------- > on mouseUp > lock screen > set the textfont of field 1 to any line of the fontNames > set the textfont of field 2 to any line of the fontNames > set the textSize of field 1 to random(20) + 10 > set the textSize of field 2 to random(20) + 10 > -- put the textFont of field 1 into field "Font1" > -- put the textFont of field 2 into field "Font2" > unlock screen > end mouseUp > --------------------------------- > > then align via your script > Your layout can start "moving" > > Additionally not all fonts report proper ascents and descents > > > > Kind regards > Bernd > >> Marty wrote: >> This works for me, assuming you want to leave field 1 where it is and align field 2: >> >> on alignFieldBaselines pField1, pField2 >> local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef >> local fFormattedBottom1, fFormattedBottom2 >> >> put item 4 of the formattedRect of line 1 of fld pField1 into fFormattedBottom1 >> put item 4 of the formattedRect of line 1 of fld pField2 into fFormattedBottom2 >> >> put item 4 of measureText(line 1 of fld pField1, fld pField1 ,"bounds") into tDescent1 >> put item 4 measureText(line 1 of fld pField2, fld pField2 ,"bounds") into tDescent2 >> >> put the bottom of fld pField1 into tBot1 >> put the bottom of fld pField2 into tBot2 >> >> put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 >> put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 >> >> put the bottom of fld pField1 -(tDiff1 - tDiff2) into tRef >> >> set the bottom of fld pField2 to tRef >> end alignFieldBaselines > > _______________________________________________ > use-livecode mailing list > use-livecode 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 elementarysoftware.com Thu Jun 21 15:11:48 2018 From: scott at elementarysoftware.com (scott at elementarysoftware.com) Date: Thu, 21 Jun 2018 12:11:48 -0700 Subject: unicode & umlauts In-Reply-To: <1930750827.344414.1529595740462@mail.yahoo.com> References: <1930750827.344414.1529595740462.ref@mail.yahoo.com> <1930750827.344414.1529595740462@mail.yahoo.com> Message-ID: <67C67F7E-DF77-4144-A9E3-90C38CBD6B2A@elementarysoftware.com> Hello Eric, Just an idea but for working with yandex, what if you textEncode and textDecode for the round trip. Like so: on mouseup repeat with i = 1 to the number of lines in card field "source" put URLEncode(textEncode(line i of cd fld "source","UTF8")) into theText put "https://translate.yandex.net/api/v1.5/tr.json/translate key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text="&theText&"&lang=de-en" into tResult put URL tResult into tResult set the itemdelimiter to "[" put the last item of tResult into targetText put textDecode(targetText,"UTF8") & return after cd fld "target" end repeat end mouseup Scott Morrow Elementary Software (Now with 20% less chalk dust!) web http://elementarysoftware.com/ email scott at elementarysoftware.com phone booth: 1-800-615-0867 ------------------------------------------------------ > On Jun 21, 2018, at 8:42 AM, Eric A. Engle via use-livecode wrote: > > Yes, I think my problem with Chinese was I had only simplified and not traditional fonts installed. Anyway I installed some libraries now my paste clipboard ctrl v works. > > What doesn't work is calling the Yandex api to translate and then send the translation to a livecode field. Even though I definitely have all the fonts for Chinese and German installed Yandex returns a bunch of question marks to the field. :/ > Why is that? What must be done? Because yandex clearly send HTML readable characters since the apis work on the web. What must I do to the text returned? > > on mouseup > repeat with i = 1 to the number of lines in card field "source" > put URLEncode(line i of cd fld "source") into theText > put "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text="&theText&"&lang=de-en" into tResult > put URL tResult into tResult > set the itemdelimiter to "[" > put the last item of tResult into targetText > put targetText & return after cd fld "target" > end repeat > end mouseup > > This script works For German except it munges up umlauts. It also works for zh-en but then just returns a bunch of question marks. I definitely have all fonts installed. I have tried this in windows 10 and linux mint in case it is still a linux issue. > > How am I to process this text from the yandex api to get unicode chinese characters? > > Another question: in hypercard cmd + . = stop executing script. Is there any similar command in 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 Jun 21 15:58:18 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 19:58:18 +0000 Subject: Align baselines of 2 fields In-Reply-To: <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> Message-ID: <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> Okay a newer NEWER version. If no parameters are passed for the fields, it will use the first two hilited objects. Also, I check that pOffset is a number by adding 0 to it in a try/catch statement. on alignFieldBaselines pField1, pField2, pOffset local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef local fFormattedBottom1, fFormattedBottom2 -- check passed parameters if pField1 is empty and pField2 is empty then put the selectedObjects into pFieldList put line 1 of pFieldList into pField1 put line 2 of pFieldList into pField2 end if -- check passed parameters try if word 1 to 2 of pField1 is not "Field ID" then put the long id of field pField1 into pField1 if word 1 to 2 of pField2 is not "Field ID" then put the long id of field pField2 into pField2 if pOffset is empty then put 0 into pOffset add 0 to pOffset catch theError return "Invalid parameter passed." end try -- get the formatted bottoms of both fields put item 4 of the formattedRect of line 1 of pField1 into fFormattedBottom1 put item 4 of the formattedRect of line 1 of pField2 into fFormattedBottom2 -- calculate the descents of both fields put item 4 of measureText(line 1 of pField1, pField1 ,"bounds") into tDescent1 put item 4 measureText(line 1 of pField2, pField2 ,"bounds") into tDescent2 -- get the bottom of both fields put the bottom of pField1 into tBot1 put the bottom of pField2 into tBot2 -- calculate the differences put tBot1 - fFormattedBottom1 + tDescent1 into tDiff1 put tBot2 - fFormattedBottom2 + tDescent2 into tDiff2 -- calculate and set the new bottom for field 2 put the bottom of pField1 -(tDiff1 - tDiff2) into tRef set the bottom of pField2 to tRef + pOffset end alignFieldBaselines _______________________________________________ use-livecode mailing list use-livecode 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 Thu Jun 21 16:23:57 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Thu, 21 Jun 2018 15:23:57 -0500 Subject: Align baselines of 2 fields In-Reply-To: <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> Message-ID: On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote: > Also, I check that pOffset is a number by adding 0 to it in a try/catch statement. Or alternately, "if pOffset is a number..." -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Thu Jun 21 17:18:24 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 21:18:24 +0000 Subject: Align baselines of 2 fields In-Reply-To: References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> Message-ID: But that won't throw an error in my try catch statement. :-) Bob S > On Jun 21, 2018, at 13:23 , J. Landman Gay via use-livecode wrote: > > On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote: >> Also, I check that pOffset is a number by adding 0 to it in a try/catch statement. > > Or alternately, "if pOffset is a number..." > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Thu Jun 21 17:23:51 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 21 Jun 2018 21:23:51 +0000 Subject: Align baselines of 2 fields In-Reply-To: References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> Message-ID: Actually that made me think, someone might try to pass a floating point number, so put pOffset div 1 into pOffset is a better test because it will convert pOffset to an integer. Bob S > On Jun 21, 2018, at 14:18 , Bob Sneidar via use-livecode wrote: > > But that won't throw an error in my try catch statement. :-) > > Bob S > > >> On Jun 21, 2018, at 13:23 , J. Landman Gay via use-livecode wrote: >> >> On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote: >>> Also, I check that pOffset is a number by adding 0 to it in a try/catch statement. >> >> Or alternately, "if pOffset is a number..." From revolution at derbrill.de Thu Jun 21 17:39:29 2018 From: revolution at derbrill.de (Malte Pfaff-Brill) Date: Thu, 21 Jun 2018 23:39:29 +0200 Subject: Data in Custom properties In-Reply-To: References: Message-ID: <1E9ACBB7-FE56-4058-AC02-1FE22CE98AB5@derbrill.de> Hi all, I am a little bit puzzled. a stack I started waaaaay back in engine 4.x always had a custom property set with multiple UTF8 encoded strings. Those were transferred just fine from Mc to PC and the UTF8 strings remained intact. Somewhere down the road something seems to have changed. When I now bring the stack from Mac to PC (engine V. 9, stable) all Umlauts are turned into Question Marks after decoding. Image data also stored in cProps translates just fine though. I worked around this by base64Encoding the UTF8 stuff now, but somehow I think this should not be necessary, I mean, I chose UTF8 for a reason over ISO Latin, right? So I wonder: what is data stored in cProps and what should it be? Is it binary (I think it should be)? Should the engine try to be helpful here and change the character encoding depending on the platform (I think it should not) A) Does this happen to anyone else? B) If this was to be reproducible also with plain vanilla stacks, what would be your expectations on behaviour? Cheers, Malte From rdimola at evergreeninfo.net Thu Jun 21 17:46:41 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Thu, 21 Jun 2018 17:46:41 -0400 Subject: Align baselines of 2 fields In-Reply-To: References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> Message-ID: <004a01d409a9$5a40b4a0$0ec21de0$@net> Option B. I find it easier to see what's going on: If pOffset is a number then put round(pOffset) into pOffset Else return "Invalid parameter passed." End if 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 Bob Sneidar via use-livecode Sent: Thursday, June 21, 2018 5:24 PM To: How to use LiveCode Cc: Bob Sneidar Subject: Re: Align baselines of 2 fields Actually that made me think, someone might try to pass a floating point number, so put pOffset div 1 into pOffset is a better test because it will convert pOffset to an integer. Bob S > On Jun 21, 2018, at 14:18 , Bob Sneidar via use-livecode wrote: > > But that won't throw an error in my try catch statement. :-) > > Bob S > > >> On Jun 21, 2018, at 13:23 , J. Landman Gay via use-livecode wrote: >> >> On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote: >>> Also, I check that pOffset is a number by adding 0 to it in a try/catch statement. >> >> Or alternately, "if pOffset is a number..." _______________________________________________ use-livecode mailing list use-livecode 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 Bernd.Niggemann at uni-wh.de Thu Jun 21 20:31:22 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Fri, 22 Jun 2018 00:31:22 +0000 Subject: unicode & umlauts Message-ID: <84296CC7-1892-4C24-B862-EA27064B8F21@uni-wh.de> Hi Eric, it seems that urlEncode does not give the expected hex values for high ASCII characters. Yandex expects UTF8 hex values. for example the german o-umlaut after urlEncode is %F6 which is ASCII 154 in the extended ASCII table yandex expects %C3%B6 that is the utf8-urlEncode form. I don't know if Livecode can do that, I could not get it to work. however yandex also accepts "html" as format in my limited testing with your modified code it worked for me with german umlauts, maybe it also works with chinese. ---------------------------------------------------------- on mouseup local theText, tResult, targetText repeat with i = 1 to the number of lines in card field "source" put the htmlText of line i of cd fld "source" into theText replace "

" with "" in theText replace "

" with "" in theText put URLEncode((theText)) into theText put \ "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text="&theText&"&lang=de-en&format=html" \ into tResult put URL tResult into tResult set the itemdelimiter to "[" put the last item of tResult into targetText put targetText & return after cd fld "target" end repeat end mouseup --------------------------------------------------------- Kind regards Bernd > Eric wrote: > What doesn't work is calling the Yandex api to translate and then send the translation to a livecode field. Even though I definitely have all the fonts for Chinese and German installed Yandex returns a bunch of question marks to the field. :/ > Why is that? What must be done? Because yandex clearly send HTML readable characters since the apis work on the web. What must I do to the text returned? From bobsneidar at iotecdigital.com Thu Jun 21 20:54:33 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 22 Jun 2018 00:54:33 +0000 Subject: Align baselines of 2 fields In-Reply-To: <004a01d409a9$5a40b4a0$0ec21de0$@net> References: <1DF0D2F9-BD26-4EDC-A4EE-AA2CC0DAAB28@uni-wh.de> <3739B03C-49C7-478E-A5BA-06BE7621714D@iotecdigital.com> <60EE1930-DCF2-4F59-BD19-71581B784DAC@iotecdigital.com> <8E4E34B8-FF85-4D3B-991A-EE6A1DC4F4B2@iotecdigital.com> <004a01d409a9$5a40b4a0$0ec21de0$@net> Message-ID: <338B2F64-59C2-49D4-83BF-00D784313C73@iotecdigital.com> Agreed, it's definitely easier to read, but I had already decided to use a try catch statement with the field names, and then do something with the field names that would only work if they were valid. If either parameter was anything other than the short name of a field or else the long id of a field, it would throw an error. Think of all the things someone might attempt to pass. Button names, arrays, numbers, group names etc. One statement catches it all. Bob S > On Jun 21, 2018, at 14:46 , Ralph DiMola via use-livecode wrote: > > Option B. I find it easier to see what's going on: > > If pOffset is a number then > put round(pOffset) into pOffset > Else > return "Invalid parameter passed." > End if > > Ralph DiMola From Bernd.Niggemann at uni-wh.de Fri Jun 22 04:49:13 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Fri, 22 Jun 2018 08:49:13 +0000 Subject: unicode & umlauts Message-ID: Hi Eric, I retested Scott's solution and it works like a charm. I must have made a mistake when copying the code initially. It is a lot easier and more sensible than my solution. this is Scott's script that works for me ---------------------------------------------- on mouseup local theText, tResult, targetText repeat with i = 1 to the number of lines in card field "source" put URLEncode(textencode(line i of cd fld "source","utf-8")) into theText put \ "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20180527T091305Z.7f33f9fb3f66f0bb.d573f1d9a6336a981504916600c45f49255938b3&text="&theText&"&lang=de-en&format=html" \ into tResult put URL tResult into tResult set the itemdelimiter to "[" put the last item of tResult into targetText put textDecode(targetText,"UTF8") & return after cd fld "target" end repeat end mouseup ---------------------------------------------- Kind regards Bernd From tom at makeshyft.com Fri Jun 22 13:39:39 2018 From: tom at makeshyft.com (Tom Glod) Date: Fri, 22 Jun 2018 13:39:39 -0400 Subject: Data in Custom properties In-Reply-To: <1E9ACBB7-FE56-4058-AC02-1FE22CE98AB5@derbrill.de> References: <1E9ACBB7-FE56-4058-AC02-1FE22CE98AB5@derbrill.de> Message-ID: hey malte ..... the custom properties and array encoding changed with v7 .... its safe to say that is the cause of any issues with character encoding. ...i store binaries and strings in custom properties ..... so i think internally it would make sense that its a binary. On Thu, Jun 21, 2018 at 5:39 PM, Malte Pfaff-Brill via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi all, > > I am a little bit puzzled. a stack I started waaaaay back in engine 4.x > always had a custom property set with multiple UTF8 encoded strings. Those > were transferred just fine from Mc to PC and the UTF8 strings remained > intact. Somewhere down the road something seems to have changed. When I now > bring the stack from Mac to PC (engine V. 9, stable) all Umlauts are turned > into Question Marks after decoding. Image data also stored in cProps > translates just fine though. > > I worked around this by base64Encoding the UTF8 stuff now, but somehow I > think this should not be necessary, I mean, I chose UTF8 for a reason over > ISO Latin, right? > > So I wonder: what is data stored in cProps and what should it be? Is it > binary (I think it should be)? Should the engine try to be helpful here and > change the character encoding depending on the platform (I think it should > not) > > A) Does this happen to anyone else? > B) If this was to be reproducible also with plain vanilla stacks, what > would be your expectations on behaviour? > > Cheers, > > Malte > _______________________________________________ > use-livecode mailing list > use-livecode 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 Bernd.Niggemann at uni-wh.de Fri Jun 22 14:01:32 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Fri, 22 Jun 2018 18:01:32 +0000 Subject: Align baselines of 2 fields Message-ID: Hi Bob, how about: .... if pOffset is empty then put 0 into pOffset ---------------------- if pOffset is not strictly an integer then put pOffset div 1 into pOffset -- <----- ---------------------- catch theError .... if pOffset is an integer nothing happens, if it is a floating point number div will turn it into an integer, if it is a string then it will throw an error. Kind regards Bernd Actually that made me think, someone might try to pass a floating point number, so put pOffset div 1 into pOffset is a better test because it will convert pOffset to an integer. Bob S On Jun 21, 2018, at 14:18 , Bob Sneidar via use-livecode > wrote: But that won't throw an error in my try catch statement. :-) Bob S On Jun 21, 2018, at 13:23 , J. Landman Gay via use-livecode > wrote: On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote: Also, I check that pOffset is a number by adding 0 to it in a try/catch statement. Or alternately, "if pOffset is a number..." From ali.lloyd at livecode.com Fri Jun 22 14:59:32 2018 From: ali.lloyd at livecode.com (Ali Lloyd) Date: Fri, 22 Jun 2018 19:59:32 +0100 Subject: Data in Custom properties In-Reply-To: References: <1E9ACBB7-FE56-4058-AC02-1FE22CE98AB5@derbrill.de> Message-ID: It sounds like something somewhere is changing that data to a native string before being textDecoded. Try putting in some logging of the value of 'tData is strictly a binary string' to find out where it is getting stringified. On Fri, 22 Jun 2018 at 18:39, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > hey malte ..... the custom properties and array encoding changed with v7 > .... its safe to say that is the cause of any issues with character > encoding. ...i store binaries and strings in custom properties ..... so i > think internally it would make sense that its a binary. > > > > On Thu, Jun 21, 2018 at 5:39 PM, Malte Pfaff-Brill via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Hi all, > > > > I am a little bit puzzled. a stack I started waaaaay back in engine 4.x > > always had a custom property set with multiple UTF8 encoded strings. > Those > > were transferred just fine from Mc to PC and the UTF8 strings remained > > intact. Somewhere down the road something seems to have changed. When I > now > > bring the stack from Mac to PC (engine V. 9, stable) all Umlauts are > turned > > into Question Marks after decoding. Image data also stored in cProps > > translates just fine though. > > > > I worked around this by base64Encoding the UTF8 stuff now, but somehow I > > think this should not be necessary, I mean, I chose UTF8 for a reason > over > > ISO Latin, right? > > > > So I wonder: what is data stored in cProps and what should it be? Is it > > binary (I think it should be)? Should the engine try to be helpful here > and > > change the character encoding depending on the platform (I think it > should > > not) > > > > A) Does this happen to anyone else? > > B) If this was to be reproducible also with plain vanilla stacks, what > > would be your expectations on behaviour? > > > > Cheers, > > > > Malte > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 Jun 22 15:12:00 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Fri, 22 Jun 2018 19:12:00 +0000 Subject: IOS 11.4 -- Stuck Message-ID: Without thinking about it, I said "yes" to a iOS upgrade. 11.4 Now it seems that I am lock out from making standalones. Any hope in 9.1 coming out soon? From rdimola at evergreeninfo.net Fri Jun 22 15:40:56 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Fri, 22 Jun 2018 15:40:56 -0400 Subject: IOS 11.4 -- Stuck In-Reply-To: References: Message-ID: <001f01d40a60$f34599b0$d9d0cd10$@net> What error are you getting? You can revert but it's a pain and you'll need a pre-upgrade iCloud backup. 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 Sannyasin Brahmanathaswami via use-livecode Sent: Friday, June 22, 2018 3:12 PM To: How LiveCode Cc: Sannyasin Brahmanathaswami Subject: IOS 11.4 -- Stuck Without thinking about it, I said "yes" to a iOS upgrade. 11.4 Now it seems that I am lock out from making standalones. Any hope in 9.1 coming out soon? _______________________________________________ use-livecode mailing list use-livecode 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 Jun 22 18:05:50 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 22 Jun 2018 22:05:50 +0000 Subject: Align baselines of 2 fields In-Reply-To: References: Message-ID: <135019BD-182E-4F45-909F-E7DDC4E062B7@iotecdigital.com> That would work, but again I am trying to bail if my parameters are out of bounds. Bob S > On Jun 22, 2018, at 11:01 , Niggemann, Bernd via use-livecode wrote: > > Hi Bob, > > how about: > > .... > if pOffset is empty then put 0 into pOffset > ---------------------- > if pOffset is not strictly an integer then put pOffset div 1 into pOffset -- <----- > ---------------------- > catch theError > .... > > if pOffset is an integer nothing happens, if it is a floating point number div will turn it into an integer, if it is a string then it will throw an error. > > Kind regards > Bernd From merakosp at gmail.com Fri Jun 22 18:16:07 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Fri, 22 Jun 2018 23:16:07 +0100 Subject: IOS 11.4 -- Stuck In-Reply-To: <001f01d40a60$f34599b0$d9d0cd10$@net> References: <001f01d40a60$f34599b0$d9d0cd10$@net> Message-ID: Hi Brahmanathaswami, You should still be able to deploy iOS apps to your iOS 11.4 device. This does NOT depend on the Xcode version you use to build the app. It depends only on the dropdown in the iOS standalone settings. For example, if you choose "8.0 or later" then your app will run on any iOS device as long as the device runs iOS >= 8.0. Best, Panos -- On Fri, Jun 22, 2018 at 8:40 PM, Ralph DiMola via use-livecode < use-livecode at lists.runrev.com> wrote: > What error are you getting? > > You can revert but it's a pain and you'll need a pre-upgrade iCloud backup. > > 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 Sannyasin Brahmanathaswami via use-livecode > Sent: Friday, June 22, 2018 3:12 PM > To: How LiveCode > Cc: Sannyasin Brahmanathaswami > Subject: IOS 11.4 -- Stuck > > Without thinking about it, I said "yes" to a iOS upgrade. > > 11.4 > > Now it seems that I am lock out from making standalones. > > Any hope in 9.1 coming out soon? > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 dan at clearvisiontech.com Fri Jun 22 18:36:34 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Fri, 22 Jun 2018 22:36:34 +0000 Subject: Browser Widget Layer on mobile Message-ID: Greetings! I am working on a mobile app where I have a bowser widget in a group that is scrollable. It scrolls just fine (frankly, smoother that I thought it would!). However, there is a problem when the widget gets scrolled past the bounds of the group?s rect. On my mac, it?s working correctly, but on a real device (and the simulator), the bowser widget is being shown even outside the rect of the group ? like it?s not in the group. Here?s a screen shot of what I?m talking about: http://www.clearvisiontech.com/temp/sampleImage.jpg Any thoughts or advise are appreciated! -Dan From brian at milby7.com Fri Jun 22 19:12:19 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 22 Jun 2018 18:12:19 -0500 Subject: Browser Widget Layer on mobile In-Reply-To: References: Message-ID: <46b8c757-3f5e-45ae-876d-41967f3e99b9@Spark> I may not be stating it in the right terms, but native controls are above everything else in their own layer. On Jun 22, 2018, 5:37 PM -0500, Dan Friedman via use-livecode , wrote: > Greetings! > > I am working on a mobile app where I have a bowser widget in a group that is scrollable. It scrolls just fine (frankly, smoother that I thought it would!). However, there is a problem when the widget gets scrolled past the bounds of the group?s rect. On my mac, it?s working correctly, but on a real device (and the simulator), the bowser widget is being shown even outside the rect of the group ? like it?s not in the group. > > Here?s a screen shot of what I?m talking about: http://www.clearvisiontech.com/temp/sampleImage.jpg > > Any thoughts or advise are appreciated! > > -Dan > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 22 21:37:53 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 01:37:53 +0000 Subject: IOS 11.4 -- Stuck In-Reply-To: References: <001f01d40a60$f34599b0$d9d0cd10$@net> Message-ID: <62E1244D-C024-4C0A-A792-673B77CA68E7@hindu.org> That would go good news. But LC 8.1.10 Xcode 9.3 Build for iPod,IPhone,iPad. 8.0 or later (can you make the error dialog box so we can copy it to the clipboard?) "Unable to build app for device: 394,1260,1" (screen shot here) http://wiki.hindu.org/screenshots/iOSErr2018--06-22.png Now, possibly something else is the cause 1) because of getting a screenrect of 0,0,375,667 (even though I had all screens needed and size correctly) instead of 0,0,414,736. (from all my stand alone, it is not stack specific) And while the team in Scotland kept getting, 0,0,414,735 in the simulator That implied an Xcode problem that was local to my machine, (possibly?) and I could get the Simulator run either 2) So I delete Xcode (9.2 and 9.3.1) and installed 9.3 to run with 8.1.10 Now this problem arose... one anomaly is that Xcode did not ask to download "extra extensions" as it usually does. Now I'm stumped on two front: Can't get the right screen to from iOS and can't even build one Ha! Life With Apple BR ?On 6/22/18, 12:16 PM, "use-livecode on behalf of panagiotis merakos via use-livecode" wrote: Hi Brahmanathaswami, You should still be able to deploy iOS apps to your iOS 11.4 device. This does NOT depend on the Xcode version you use to build the app. It depends only on the dropdown in the iOS standalone settings. For example, if you choose "8.0 or later" then your app will run on any iOS device as long as the device runs iOS >= 8.0. Best, Panos -- From 1anmldr1 at gmail.com Fri Jun 22 21:50:30 2018 From: 1anmldr1 at gmail.com (Linda Miller, DVM) Date: Fri, 22 Jun 2018 20:50:30 -0500 Subject: Open source iOS and Android References: <6FE552C3-9325-41C6-9663-3EA4AB62928F@gmail.com> Message-ID: It is my understanding that apps created with the Community version of LiveCode are open source. If so, how to you know what apps on the apps stores (Apple and Google) are created with LiveCode and how do you request a copy of the source code? I have never published a LC app and am still in the learning stages. I would like to know how I can actually have a look at other people's source code for learning purposes. Linda From brahma at hindu.org Fri Jun 22 22:23:44 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 02:23:44 +0000 Subject: IOS 11.4 -- Stuck In-Reply-To: <62E1244D-C024-4C0A-A792-673B77CA68E7@hindu.org> References: <001f01d40a60$f34599b0$d9d0cd10$@net> <62E1244D-C024-4C0A-A792-673B77CA68E7@hindu.org> Message-ID: <114C1F25-5CEC-46A0-B458-A03FBA72B348@hindu.org> sudo xcode-select -s /Applications/Xcode.app that did it Now back on the screenRect thread. Mysterious new results Brahmanathaswami ?On 6/22/18, 3:38 PM, "use-livecode on behalf of Sannyasin Brahmanathaswami via use-livecode" wrote: That would go good news. But From brahma at hindu.org Fri Jun 22 22:23:48 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 02:23:48 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 Message-ID: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> Never mind.. I had to run (since I did a fresh install of Xcode) sudo xcode-select -s /Applications/Xcode.app But now my Simulator works! So we back the screenRect problem Wow... one step close to the gremlin (hehe) And, as Panos says it has nothing to do with 11.4 ... its deeper that than 1) set the fullScreenMode of this stack to "showAll" -- Simulator I get a screenrect of 0,0,414,736 -- Build test/target to actually phone 7 plus ... answer screenRect returns 0,0,375,667 2) With exactFit -- Simulator I get a screenrect of 0,0,1242,2208 -- but on the actual phone it get 0,0,1125,2001...which is a factor 3x(0,0,375,667) So the difference is (obviously): Scotland does not have an iPhone 7Plus, they were using a Simulator But here, using the actual device, it report a screenrect different then the actual device. Hmmm. Is it LiveCode problem, or an Apple/Xcode problem? Perhaps it should file a bug... How many other devices are not registering their actual screenRect? Can be a "disaster" for attempts at responsive design. BR ?On 6/22/18, 3:38 PM, "use-livecode on behalf of Sannyasin Brahmanathaswami via use-livecode" wrote: That would go good news. But LC 8.1.10 Xcode 9.3 Build for iPod,IPhone,iPad. 8.0 or later (can you make the error dialog box so we can copy it to the clipboard?) From brian at milby7.com Fri Jun 22 22:46:07 2018 From: brian at milby7.com (Brian Milby) Date: Fri, 22 Jun 2018 21:46:07 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> Message-ID: Interesting. I have an 8 plus and will test on Monday. If you use GM logic, actual pixel size reported should not pose a large problem. GM stores positions either fixed pixels from edge/object or percentage of total H or W from edge/object. If numbers are varying like that, percentage would solve the observed differences. I will say that I have not done much at all in the sim, mainly just test on my phone. But I don?t have many devices and can?t test the other sizes yet. On Jun 22, 2018, 9:24 PM -0500, Sannyasin Brahmanathaswami via use-livecode , wrote: > Never mind.. I had to run (since I did a fresh install of Xcode) > > sudo xcode-select -s /Applications/Xcode.app > > But now my Simulator works! So we back the screenRect problem > > Wow... one step close to the gremlin (hehe) > > And, as Panos says it has nothing to do with 11.4 ... its deeper that than > > 1) set the fullScreenMode of this stack to "showAll" > -- Simulator I get a screenrect of 0,0,414,736 > -- Build test/target to actually phone 7 plus ... > answer screenRect returns 0,0,375,667 > > 2) With exactFit > -- Simulator I get a screenrect of 0,0,1242,2208 > -- but on the actual phone it get > 0,0,1125,2001...which is a factor 3x(0,0,375,667) > > So the difference is (obviously): > > Scotland does not have an iPhone 7Plus, they were using a Simulator > But here, using the actual device, it report a screenrect different then the actual device. > > Hmmm. Is it LiveCode problem, or an Apple/Xcode problem? > > Perhaps it should file a bug... How many other devices are not registering their actual screenRect? Can be a "disaster" for attempts at responsive design. > > BR > > > On 6/22/18, 3:38 PM, "use-livecode on behalf of Sannyasin Brahmanathaswami via use-livecode" wrote: > > That would go good news. But > > LC 8.1.10 > Xcode 9.3 > Build for iPod,IPhone,iPad. 8.0 or later > > (can you make the error dialog box so we can copy it to the clipboard?) > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 22 23:36:12 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 22 Jun 2018 22:36:12 -0500 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> Message-ID: <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Do you get the same results if you get the rect of the card? -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 22, 2018 9:25:43 PM Sannyasin Brahmanathaswami via use-livecode wrote: > Never mind.. I had to run (since I did a fresh install of Xcode) > > sudo xcode-select -s /Applications/Xcode.app > > But now my Simulator works! So we back the screenRect problem > > Wow... one step close to the gremlin (hehe) > > And, as Panos says it has nothing to do with 11.4 ... its deeper that than > > 1) set the fullScreenMode of this stack to "showAll" > -- Simulator I get a screenrect of 0,0,414,736 > -- Build test/target to actually phone 7 plus ... > answer screenRect returns 0,0,375,667 > > 2) With exactFit > -- Simulator I get a screenrect of 0,0,1242,2208 > -- but on the actual phone it get > 0,0,1125,2001...which is a factor 3x(0,0,375,667) > > So the difference is (obviously): > > Scotland does not have an iPhone 7Plus, they were using a Simulator > But here, using the actual device, it report a screenrect different then > the actual device. > > Hmmm. Is it LiveCode problem, or an Apple/Xcode problem? > > Perhaps it should file a bug... How many other devices are not registering > their actual screenRect? Can be a "disaster" for attempts at responsive > design. > > BR > > > ?On 6/22/18, 3:38 PM, "use-livecode on behalf of Sannyasin Brahmanathaswami > via use-livecode" use-livecode at lists.runrev.com> wrote: > > That would go good news. But > > LC 8.1.10 > Xcode 9.3 > Build for iPod,IPhone,iPad. 8.0 or later > > (can you make the error dialog box so we can copy it to the clipboard?) > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 merakosp at gmail.com Sat Jun 23 05:44:08 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Sat, 23 Jun 2018 10:44:08 +0100 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Hi Brahmanathaswami, I think I have found the culprit. I don?t have a Plus device to check, but the differences you see between the iPhone 7 Plus device and simulator is probably because you have enabled the "Zoomed Mode" in the device. If you have "Zoomed Mode" enabled in the iPhone 6+/7+/8+ device, it reports the screenrect of iPhone 6/7/8 (this is how Zoomed Mode works) 1. Launch the iOS Settings app. 2. Scroll down and select Display & Brightness. 3. Select the View option under the Display Zoom section. 4. If you have "Zoomed mode", change this to "Standard mode". 5. Test again and you should now see the expected screenrect (0,0,414,736) Does that fix the problem? Best, Panos ? On Sat, Jun 23, 2018 at 4:36 AM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Do you get the same results if you get the rect of the card? > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On June 22, 2018 9:25:43 PM Sannyasin Brahmanathaswami via use-livecode < > use-livecode at lists.runrev.com> wrote: > > Never mind.. I had to run (since I did a fresh install of Xcode) >> >> sudo xcode-select -s /Applications/Xcode.app >> >> But now my Simulator works! So we back the screenRect problem >> >> Wow... one step close to the gremlin (hehe) >> >> And, as Panos says it has nothing to do with 11.4 ... its deeper that than >> >> 1) set the fullScreenMode of this stack to "showAll" >> -- Simulator I get a screenrect of 0,0,414,736 >> -- Build test/target to actually phone 7 plus ... >> answer screenRect returns 0,0,375,667 >> >> 2) With exactFit >> -- Simulator I get a screenrect of 0,0,1242,2208 >> -- but on the actual phone it get >> 0,0,1125,2001...which is a factor 3x(0,0,375,667) >> >> So the difference is (obviously): >> >> Scotland does not have an iPhone 7Plus, they were using a Simulator >> But here, using the actual device, it report a screenrect different then >> the actual device. >> >> Hmmm. Is it LiveCode problem, or an Apple/Xcode problem? >> >> Perhaps it should file a bug... How many other devices are not >> registering their actual screenRect? Can be a "disaster" for attempts at >> responsive design. >> >> BR >> >> >> ?On 6/22/18, 3:38 PM, "use-livecode on behalf of Sannyasin >> Brahmanathaswami via use-livecode" > on behalf of use-livecode at lists.runrev.com> wrote: >> >> That would go good news. But >> >> LC 8.1.10 >> Xcode 9.3 >> Build for iPod,IPhone,iPad. 8.0 or later >> >> (can you make the error dialog box so we can copy it to the clipboard?) >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Sat Jun 23 10:01:46 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 14:01:46 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <0DF52457-9A4F-408C-AD02-F31E8D4B23EF@hindu.org> Geesh! (He bangs his head on the desk...ha!) that fixed it! I don't when I turn on Zoom mode... possibly last year! And it has been carrying that setting forward through all updates. It actually does a "reset" on the phone to change to "standard mode" I suppose it good that you found this, finally. But does it not lead to an "enhancement" request? Something like: ===== On iOS, if the use has the mode set as "Zoomed Mode" then return the screenRect at the "zoom mode" size. ===== ?? Otherwise we cannot build a "responsive" interface. But, my goal is met. I will turn the stack in as a test for Android to try to get in working the say way before you send out 9.1 Somehow I scripted this, first time ever in less than 100 lines without using a single resize handler or messing with the GM? Thanks to mobileSetFullScreenRectForOrientations "portrait,portrait upside down",sPortraitRect mobileSetFullScreenRectForOrientations "landscape left,landscape right",sLandscapeRect and, if in work on Android, I deprecate nearly 1400 lines for code that is "impenetrable" for the human mind (created by someone who DID get it to work on Android, only God knows how...) I wonder it you were to use resize handler, could you do with even less code? OR would the resize handler report the actual Zoomed In rect? Have to test Current iteration is here " Go url stack "http://wiki.hindu.org/uploads/BrowserLandscapeTest_r3.livecode" BR ?On 6/22/18, 11:44 PM, "use-livecode on behalf of panagiotis merakos via use-livecode" wrote: Hi Brahmanathaswami, I think I have found the culprit. I don?t have a Plus device to check, but the differences you see between the iPhone 7 Plus device and simulator is probably because you have enabled the "Zoomed Mode" in the device. If you have "Zoomed Mode" enabled in the iPhone 6+/7+/8+ device, it reports the screenrect of iPhone 6/7/8 (this is how Zoomed Mode works) 1. Launch the iOS Settings app. 2. Scroll down and select Display & Brightness. 3. Select the View option under the Display Zoom section. 4. If you have "Zoomed mode", change this to "Standard mode". 5. Test again and you should now see the expected screenrect (0,0,414,736) Does that fix the problem? Best, Panos From brahma at hindu.org Sat Jun 23 10:12:16 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 14:12:16 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <16AC63AA-F5E6-4F1B-8E8B-40667B17FEB4@hindu.org> OK there are lot issues at the QA center relating to landscape I added the test stack to https://quality.livecode.com/show_bug.cgi?id=19465 so that you can test on the latest build (await release, 9.1) I don't want to have 9.1 come out only to find it does not work. BR Hi Brahmanathaswami, I think I have found the culprit. From paul at researchware.com Sat Jun 23 10:15:32 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 23 Jun 2018 10:15:32 -0400 Subject: Stripping styling from the clipboard... Message-ID: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> Using LC9, I want to add a "paste without formatting" (as seen in may browser edit menus) command and I can't see to figure out how to do it. My most recent attempt of many still pastes formatted text (with underlining, bolding, italics, fonts, colors, etc. in place) *on*pasteKey *-- remove formatting* *if* theclipboardData["text"] isnotempty*then* *set*thetextofthetemplateFieldtoclipboardData["text"] *set*theclipboardDatatoempty *set*theclipboardData["text"] totheplaintextofthetemplateField *end* *if* *paste* *end*pasteKey Maybe I just haven't had enough Caffeine yet? From brahma at hindu.org Sat Jun 23 10:44:56 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 14:44:56 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <0DF52457-9A4F-408C-AD02-F31E8D4B23EF@hindu.org> References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <0DF52457-9A4F-408C-AD02-F31E8D4B23EF@hindu.org> Message-ID: <8FE07C97-2517-4FE9-954E-A54AAF72E158@hindu.org> I enter a new handler into stack script on resizestack pNewWidth, pNewHeight, pOldWidth, pOldHeight put pNewWidth && pNewHeight && pOldWidth && pOldHeight into it answer it with "OK" end resizestack 1) on switch on portrait to landscape (turn sideways) I get a resizeStack answer. 2) on switch on landscape back to portrait (turn phone upright) -- I get the same information as before (wrong...) tNewWidth is 736 when is should now to 414. -- just adding the resize hander break the screen redraw! Working version: Go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest_r3.livecode" Not working: go stack url "http://wiki.hindu.org/uploads/BrowserLandscapeTest_r4.livecode" ?so, this goes back in @Jacque comments a few days ago...and it is not only on Android, " This is what I have: on resizeStack x,y ANSWER X &COMMA& Y setupUI x,y end resizeStack The answer dialog appeared once on my first test (with no x,y values) and all test builds after that never showed an answer dialog at all. The setupUI handler also has an answer dialog for testing and I haven't seen it even once. " It not only does show the correct rect, it breaks (on iOS) the screen redraw.... BR wrote I wonder it you were to use resize handler, could you do with even less code? OR would the resize handler report the actual Zoomed In rect? Have to test From jbv at souslelogo.com Sat Jun 23 12:30:19 2018 From: jbv at souslelogo.com (jbv) Date: Sat, 23 Jun 2018 18:30:19 +0200 Subject: How to get the dimensions of an image with LC server ? Message-ID: Hi list, IS there a way to get the dimensions (width & height) of an img (jpeg or png) with livecode server ? The image is located somewhere on the same server. Thanks in advance, jbv From alex at tweedly.net Sat Jun 23 13:08:30 2018 From: alex at tweedly.net (Alex Tweedly) Date: Sat, 23 Jun 2018 18:08:30 +0100 Subject: How to get the dimensions of an image with LC server ? In-Reply-To: References: Message-ID: <7bb04622-1d81-4f0b-f12d-0c5ae8c0b77d@tweedly.net> Short answer - just the same as with LC :-) It wasn't there in the initial versions of LC, but for quite a ong time now the standard image functions have worked. Here's a quick (tested - on on-rev/sage) demo with an image I happened to have: Hi list, > IS there a way to get the dimensions (width & height) of an img > (jpeg or png) with livecode server ? The image is located somewhere > on the same server. > > Thanks in advance, > jbv > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 brian at milby7.com Sat Jun 23 13:23:04 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 23 Jun 2018 12:23:04 -0500 Subject: Stripping styling from the clipboard... In-Reply-To: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> Message-ID: <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> https://github.com/bwmilby/lc-misc/blob/master/ClipboardHelper/clipboardhelper.livecodescript Check out this handler. I can answer questions about it this evening if needed. On Jun 23, 2018, 9:18 AM -0500, Paul Dupuis via use-livecode , wrote: > Using LC9, I want to add a "paste without formatting" (as seen in may > browser edit menus) command and I can't see to figure out how to do it. > > My most recent attempt of many still pastes formatted text (with > underlining, bolding, italics, fonts, colors, etc. in place) > > *on*pasteKey *-- remove formatting* > *if* theclipboardData["text"] isnotempty*then* > *set*thetextofthetemplateFieldtoclipboardData["text"] > *set*theclipboardDatatoempty > *set*theclipboardData["text"] totheplaintextofthetemplateField > *end* *if* > *paste* > *end*pasteKey > > Maybe I just haven't had enough Caffeine yet? > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 jbv at souslelogo.com Sat Jun 23 13:30:34 2018 From: jbv at souslelogo.com (jbv) Date: Sat, 23 Jun 2018 19:30:34 +0200 Subject: How to get the dimensions of an image with LC server ? In-Reply-To: <7bb04622-1d81-4f0b-f12d-0c5ae8c0b77d@tweedly.net> References: <7bb04622-1d81-4f0b-f12d-0c5ae8c0b77d@tweedly.net> Message-ID: Hi Alex, Indeed it works. Thank you very much. On Sat, June 23, 2018 7:08 pm, Alex Tweedly via use-livecode wrote: > Short answer - just the same as with LC :-) > > > It wasn't there in the initial versions of LC, but for quite a ong time > now the standard image functions have worked. Here's a quick (tested - on > on-rev/sage) demo with an image I happened to have: > > > > import paint from file "images/ardenstur.jpg" put the name of the last > image into t set the name of t to "Im1" > > put the name of img "Im1" &CR put the width of img "Im1" & cr > > and it works as you'd expect. > > Alex. > > > > On 23/06/2018 17:30, jbv via use-livecode wrote: > >> Hi list, >> IS there a way to get the dimensions (width & height) of an img >> (jpeg or png) with livecode server ? The image is located somewhere >> on the same server. >> >> Thanks in advance, >> jbv >> >> >> _______________________________________________ >> use-livecode mailing list use-livecode 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 dan at clearvisiontech.com Sat Jun 23 13:49:18 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Sat, 23 Jun 2018 17:49:18 +0000 Subject: Browser Widget Layer on mobile Message-ID: <4023F4BA-AE06-499D-8DDE-CA6C32BF770C@clearvisiontech.com> Brian, I think that?s true for Native Controls, but I?m seeing different results for the bowser widget. I find that if I put the bowser widget in a group, it draws within the group?s bounds like other controls. What I?m experiencing is that on Mobile (at least iOS), it?s acting like a standard native control, not like it does on desktop. -Dan > I may not be stating it in the right terms, but native controls are above everything else in their own layer. >> I am working on a mobile app where I have a bowser widget in a group that is scrollable. It scrolls just fine (frankly, smoother that I thought it would!). However, there is a problem when the widget gets scrolled past the bounds of the group?s rect. On my mac, it?s working correctly, but on a real device (and the simulator), the bowser widget is being shown even outside the rect of the group ? like it?s not in the group. >> >> Here?s a screen shot of what I?m talking about: http://www.clearvisiontech.com/temp/sampleImage.jpg >> >> Any thoughts or advise are appreciated! >> >> -Dan From brahma at hindu.org Sat Jun 23 13:58:56 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sat, 23 Jun 2018 17:58:56 +0000 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: Now that we know "Zoomed Mode" has an effect... The card rect "source of authority" in all case uses the screenRect 1) Oddly, with Zoomed Mode set, it gave the right reading 0,0,414,736 And it set up in portraitUI correctly! 2) Caveat though: passing that rect to these handlers (in a function that results sPortraitRect and sLandscapeRect) Results on "mis-drawings" the widget "body" (a browser) on landscape. mobileSetFullScreenRectForOrientations "portrait,portrait upside down",sPortraitRect mobileSetFullScreenRectForOrientations "landscape left,landscape right",sLandscapeRect ------- I believe I have "exhausted" all that I can do with this. I'll turn over to Scotland, there are too many "gotchas" which we hope we have exposed for them. I back to building new content. Brahmanathaswami ? J. Landman Gay Do you get the same results if you get the rect of the card? From colinholgate at gmail.com Sat Jun 23 14:03:25 2018 From: colinholgate at gmail.com (Colin Holgate) Date: Sat, 23 Jun 2018 19:03:25 +0100 Subject: 8.1.10 Reporting the ScreenSize of a iPhone7: 0,0,375,667 In-Reply-To: References: <53804477-782C-4787-9EA1-02091F3B0E38@hindu.org> <1642ab6abe0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: I?m working on an update to an Adobe AIR app, and one thing for me to have to figure out is that on iPhone 7 some graphics are being cut off. The screens are fine on other phones that are the same screen size. Which suggests there may be something about iPhone 7 that is odd, that is nothing to do with LiveCode. From iowahengst at mac.com Sat Jun 23 14:37:54 2018 From: iowahengst at mac.com (Randy Hengst) Date: Sat, 23 Jun 2018 13:37:54 -0500 Subject: Open source iOS and Android In-Reply-To: References: <6FE552C3-9325-41C6-9663-3EA4AB62928F@gmail.com> Message-ID: <9FCDEF6C-A47E-4CF6-A063-949FC06D9B1E@mac.com> Hi Linda, To best of my knowledge, you can?t use the Community version to build apps for iOS. So, the source code isn?t automatically available from developers? but, within the IDE of LiveCode, select the Sample Stacks? all sorts of options there with code available for viewing. be well, randy hengst > On Jun 22, 2018, at 8:50 PM, Linda Miller, DVM via use-livecode wrote: > > It is my understanding that apps created with the Community version of LiveCode are open source. If so, how to you know what apps on the apps stores (Apple and Google) are created with LiveCode and how do you request a copy of the source code? I have never published a LC app and am still in the learning stages. I would like to know how I can actually have a look at other people's source code for learning purposes. > > Linda > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sat Jun 23 16:07:24 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 23 Jun 2018 16:07:24 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> Message-ID: <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> Thank you for this. However, it appears my problem is not with converting the clipboard from styled text to plain text, but with the "pasteKey" message. In LC9.0.0 under Windows 8.1, I create a new text stack and add and empty field and place the following handler in EITHER the card or stack script on pasteKey ? makeClipboardPlainText ? paste end pasteKey on makeClipboardPlainText ?? local tClip, tRawType ?? ?? if the platform is "MacOS" then ????? put "public.utf8-plain-text" into tRawType?? -- OSX ?? else if the platform is "Linux" then ????? put "text/plain;charset=utf-8" into tRawType -- Linux ?? else if the platform contains "Win" then ????? put "CF_UNICODETEXT" into tRawType -- Windows ?? end if ?? ?? lock the clipBoard ?? put the rawClipboardData[tRawType] into tClip ?? set the rawClipboardData to empty ?? set the rawClipboardData[tRawType] to tClip ?? unlock the clipBoard end makeClipboardPlainText And set a break point on the call to makeClipboardPlainText instruction. I then switch to another applications with styled text, select the text copy it to the clipboard, return for LC with the insertion point in the field and press Control-V. RESULT: the breakpoint is never triggered and styled text is pasted into the field. If I just have a pasteKey handler with a beep (or anything else) as the sole instruction, the same result, the breakpoint is never triggered. The pasteKey message appears broken under both Windows and OSX (tested under 10.9.5) in LC9.0.0? Can anyone confirm this bug? On 6/23/2018 1:23 PM, Brian Milby wrote: > _https://github.com/bwmilby/lc-misc/blob/master/ClipboardHelper/clipboardhelper.livecodescript_ > > Check out this handler. I can answer questions about it this evening > if needed. > On Jun 23, 2018, 9:18 AM -0500, Paul Dupuis via use-livecode > , wrote: >> Using LC9, I want to add a "paste without formatting" (as seen in may >> browser edit menus) command and I can't see to figure out how to do it. >> >> My most recent attempt of many still pastes formatted text (with >> underlining, bolding, italics, fonts, colors, etc. in place) >> >> *on*pasteKey *-- remove formatting* >> *if* theclipboardData["text"] isnotempty*then* >> *set*thetextofthetemplateFieldtoclipboardData["text"] >> *set*theclipboardDatatoempty >> *set*theclipboardData["text"] totheplaintextofthetemplateField >> *end* *if* >> *paste* >> *end*pasteKey >> >> Maybe I just haven't had enough Caffeine yet? >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 tom at makeshyft.com Sat Jun 23 16:13:32 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 23 Jun 2018 16:13:32 -0400 Subject: Open source iOS and Android In-Reply-To: <9FCDEF6C-A47E-4CF6-A063-949FC06D9B1E@mac.com> References: <6FE552C3-9325-41C6-9663-3EA4AB62928F@gmail.com> <9FCDEF6C-A47E-4CF6-A063-949FC06D9B1E@mac.com> Message-ID: Hi Linda .... I hope this can help you on your journey of learning livecode mobile development. http://www.allitebooks.in/livecode-mobile-development-beginners-guide/ On Sat, Jun 23, 2018 at 2:37 PM, Randy Hengst via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Linda, > > To best of my knowledge, you can?t use the Community version to build apps > for iOS. So, the source code isn?t automatically available from developers? > but, within the IDE of LiveCode, select the Sample Stacks? all sorts of > options there with code available for viewing. > > be well, > randy hengst > > > On Jun 22, 2018, at 8:50 PM, Linda Miller, DVM via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > It is my understanding that apps created with the Community version of > LiveCode are open source. If so, how to you know what apps on the apps > stores (Apple and Google) are created with LiveCode and how do you request > a copy of the source code? I have never published a LC app and am still in > the learning stages. I would like to know how I can actually have a look > at other people's source code for learning purposes. > > > > Linda > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 Jun 23 16:32:25 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 23 Jun 2018 23:32:25 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> Message-ID: Hey, Wow, it's the Richmond school of shovels and primitive stuff at its worst. If I have a field that conatins some styled text (let's call it "ff1"), and I want to shift it with its styling removed into another field (let's call it "ff2") then this does the trick in a button: onmouseUp gettheplainTextoffld "ff1" putit intofld "ff2" endmouseUp and that, oddly enough, might not be a bad place to get started. ALTHOUGH (ouch) this does NOT work: onpasteKey gettheplainTextoftheclipboardData putit intofld "ff2" endpasteKey and this does not work: onpasteKey puttheclipboardDataintofld "ff1" send"mouseUp" tobtn "Button" endpasteKey which would seem to suggest pasteKey is NOT trapping the paste signal at all. Richmond. On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: > Using LC9, I want to add a "paste without formatting" (as seen in may > browser edit menus) command and I can't see to figure out how to do it. > > My most recent attempt of many still pastes formatted text (with > underlining, bolding, italics, fonts, colors, etc. in place) > > *on*pasteKey *-- remove formatting* > *if* theclipboardData["text"] isnotempty*then* > *set*thetextofthetemplateFieldtoclipboardData["text"] > *set*theclipboardDatatoempty > *set*theclipboardData["text"] totheplaintextofthetemplateField > *end* *if* > *paste* > *end*pasteKey > > Maybe I just haven't had enough Caffeine yet? > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 23 16:33:57 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 23 Jun 2018 23:33:57 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> Message-ID: <3ab7d680-a66b-a103-cee4-1bbdbdf518b3@gmail.com> Indeed: over "here" on MacOS 10.7.5 Livecode 8.1.10 the pasteKey command seems to be non-functional. Richmond. On 23/6/2018 11:07 pm, Paul Dupuis via use-livecode wrote: > Thank you for this. > > However, it appears my problem is not with converting the clipboard from > styled text to plain text, but with the "pasteKey" message. > > In LC9.0.0 under Windows 8.1, I create a new text stack and add and > empty field and place the following handler in EITHER the card or stack > script > > on pasteKey > makeClipboardPlainText > paste > end pasteKey > > on makeClipboardPlainText > local tClip, tRawType > > if the platform is "MacOS" then > put "public.utf8-plain-text" into tRawType -- OSX > else if the platform is "Linux" then > put "text/plain;charset=utf-8" into tRawType -- Linux > else if the platform contains "Win" then > put "CF_UNICODETEXT" into tRawType -- Windows > end if > > lock the clipBoard > put the rawClipboardData[tRawType] into tClip > set the rawClipboardData to empty > set the rawClipboardData[tRawType] to tClip > unlock the clipBoard > end makeClipboardPlainText > > And set a break point on the call to makeClipboardPlainText instruction. > I then switch to another applications with styled text, select the text > copy it to the clipboard, return for LC with the insertion point in the > field and press Control-V. > > RESULT: the breakpoint is never triggered and styled text is pasted into > the field. > > If I just have a pasteKey handler with a beep (or anything else) as the > sole instruction, the same result, the breakpoint is never triggered. > The pasteKey message appears broken under both Windows and OSX (tested > under 10.9.5) in LC9.0.0? Can anyone confirm this bug? > > > On 6/23/2018 1:23 PM, Brian Milby wrote: >> _https://github.com/bwmilby/lc-misc/blob/master/ClipboardHelper/clipboardhelper.livecodescript_ >> >> Check out this handler. I can answer questions about it this evening >> if needed. >> On Jun 23, 2018, 9:18 AM -0500, Paul Dupuis via use-livecode >> , wrote: >>> Using LC9, I want to add a "paste without formatting" (as seen in may >>> browser edit menus) command and I can't see to figure out how to do it. >>> >>> My most recent attempt of many still pastes formatted text (with >>> underlining, bolding, italics, fonts, colors, etc. in place) >>> >>> *on*pasteKey *-- remove formatting* >>> *if* theclipboardData["text"] isnotempty*then* >>> *set*thetextofthetemplateFieldtoclipboardData["text"] >>> *set*theclipboardDatatoempty >>> *set*theclipboardData["text"] totheplaintextofthetemplateField >>> *end* *if* >>> *paste* >>> *end*pasteKey >>> >>> Maybe I just haven't had enough Caffeine yet? >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 Jun 23 16:38:37 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 23 Jun 2018 23:38:37 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> Message-ID: <0f989a0b-f123-fabd-ac8e-b0024c1405aa@gmail.com> However, I, at least, am experiencing great joy just at present as this: oncontrolKeyDown KEE ifKEE is "V" then puttheclipboardDataintofld "ff1" else passcontrolKeyDown endif endcontrolKeyDown popped UNSTYLED text into fld "ff1" on MacOS 10.7.5 LiveCode 8.1.10 Your mileage may vary: but it's sure worth a try! Richmond. On 23/6/2018 11:07 pm, Paul Dupuis via use-livecode wrote: > Thank you for this. > > However, it appears my problem is not with converting the clipboard from > styled text to plain text, but with the "pasteKey" message. > > In LC9.0.0 under Windows 8.1, I create a new text stack and add and > empty field and place the following handler in EITHER the card or stack > script > > on pasteKey > makeClipboardPlainText > paste > end pasteKey > > on makeClipboardPlainText > local tClip, tRawType > > if the platform is "MacOS" then > put "public.utf8-plain-text" into tRawType -- OSX > else if the platform is "Linux" then > put "text/plain;charset=utf-8" into tRawType -- Linux > else if the platform contains "Win" then > put "CF_UNICODETEXT" into tRawType -- Windows > end if > > lock the clipBoard > put the rawClipboardData[tRawType] into tClip > set the rawClipboardData to empty > set the rawClipboardData[tRawType] to tClip > unlock the clipBoard > end makeClipboardPlainText > > And set a break point on the call to makeClipboardPlainText instruction. > I then switch to another applications with styled text, select the text > copy it to the clipboard, return for LC with the insertion point in the > field and press Control-V. > > RESULT: the breakpoint is never triggered and styled text is pasted into > the field. > > If I just have a pasteKey handler with a beep (or anything else) as the > sole instruction, the same result, the breakpoint is never triggered. > The pasteKey message appears broken under both Windows and OSX (tested > under 10.9.5) in LC9.0.0? Can anyone confirm this bug? > > > On 6/23/2018 1:23 PM, Brian Milby wrote: >> _https://github.com/bwmilby/lc-misc/blob/master/ClipboardHelper/clipboardhelper.livecodescript_ >> >> Check out this handler. I can answer questions about it this evening >> if needed. >> On Jun 23, 2018, 9:18 AM -0500, Paul Dupuis via use-livecode >> , wrote: >>> Using LC9, I want to add a "paste without formatting" (as seen in may >>> browser edit menus) command and I can't see to figure out how to do it. >>> >>> My most recent attempt of many still pastes formatted text (with >>> underlining, bolding, italics, fonts, colors, etc. in place) >>> >>> *on*pasteKey *-- remove formatting* >>> *if* theclipboardData["text"] isnotempty*then* >>> *set*thetextofthetemplateFieldtoclipboardData["text"] >>> *set*theclipboardDatatoempty >>> *set*theclipboardData["text"] totheplaintextofthetemplateField >>> *end* *if* >>> *paste* >>> *end*pasteKey >>> >>> Maybe I just haven't had enough Caffeine yet? >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 Jun 23 16:39:49 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 23 Jun 2018 23:39:49 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: <0f989a0b-f123-fabd-ac8e-b0024c1405aa@gmail.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> <0f989a0b-f123-fabd-ac8e-b0024c1405aa@gmail.com> Message-ID: <74f1134d-6f65-b7f8-959b-39414648c986@gmail.com> Oh: and just to make things even odder than usual, it only works when the fild "ff1" does NOT have focus (i.e. the cursor is NOT in the field). Richmond. On 23/6/2018 11:38 pm, Richmond Mathewson wrote: > However, I, at least, am experiencing great joy just at present as this: > > oncontrolKeyDown KEE > ifKEE is "V" then > puttheclipboardDataintofld "ff1" > else > passcontrolKeyDown > endif > endcontrolKeyDown > > popped UNSTYLED text into fld "ff1" > on MacOS 10.7.5 LiveCode 8.1.10 > > Your mileage may vary: but it's sure worth a try! > > Richmond. > > > On 23/6/2018 11:07 pm, Paul Dupuis via use-livecode wrote: >> Thank you for this. >> >> However, it appears my problem is not with converting the clipboard from >> styled text to plain text, but with the "pasteKey" message. >> >> In LC9.0.0 under Windows 8.1, I create a new text stack and add and >> empty field and place the following handler in EITHER the card or stack >> script >> >> on pasteKey >> makeClipboardPlainText >> paste >> end pasteKey >> >> on makeClipboardPlainText >> local tClip, tRawType >> >> if the platform is "MacOS" then >> put "public.utf8-plain-text" into tRawType -- OSX >> else if the platform is "Linux" then >> put "text/plain;charset=utf-8" into tRawType -- Linux >> else if the platform contains "Win" then >> put "CF_UNICODETEXT" into tRawType -- Windows >> end if >> >> lock the clipBoard >> put the rawClipboardData[tRawType] into tClip >> set the rawClipboardData to empty >> set the rawClipboardData[tRawType] to tClip >> unlock the clipBoard >> end makeClipboardPlainText >> >> And set a break point on the call to makeClipboardPlainText instruction. >> I then switch to another applications with styled text, select the text >> copy it to the clipboard, return for LC with the insertion point in the >> field and press Control-V. >> >> RESULT: the breakpoint is never triggered and styled text is pasted into >> the field. >> >> If I just have a pasteKey handler with a beep (or anything else) as the >> sole instruction, the same result, the breakpoint is never triggered. >> The pasteKey message appears broken under both Windows and OSX (tested >> under 10.9.5) in LC9.0.0? Can anyone confirm this bug? >> >> >> On 6/23/2018 1:23 PM, Brian Milby wrote: >>> _https://github.com/bwmilby/lc-misc/blob/master/ClipboardHelper/clipboardhelper.livecodescript_ >>> >>> Check out this handler. I can answer questions about it this evening >>> if needed. >>> On Jun 23, 2018, 9:18 AM -0500, Paul Dupuis via use-livecode >>> , wrote: >>>> Using LC9, I want to add a "paste without formatting" (as seen in may >>>> browser edit menus) command and I can't see to figure out how to do it. >>>> >>>> My most recent attempt of many still pastes formatted text (with >>>> underlining, bolding, italics, fonts, colors, etc. in place) >>>> >>>> *on*pasteKey *-- remove formatting* >>>> *if* theclipboardData["text"] isnotempty*then* >>>> *set*thetextofthetemplateFieldtoclipboardData["text"] >>>> *set*theclipboardDatatoempty >>>> *set*theclipboardData["text"] totheplaintextofthetemplateField >>>> *end* *if* >>>> *paste* >>>> *end*pasteKey >>>> >>>> Maybe I just haven't had enough Caffeine yet? >>>> >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode 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 Jun 23 16:42:17 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 23 Jun 2018 23:42:17 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: <74f1134d-6f65-b7f8-959b-39414648c986@gmail.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> <0f989a0b-f123-fabd-ac8e-b0024c1405aa@gmail.com> <74f1134d-6f65-b7f8-959b-39414648c986@gmail.com> Message-ID: <167f89c5-37de-6dc8-b6cf-848828530033@gmail.com> Strike that last remark. BUT: that script expects one to press the CONTROL key on the Mac rather than the COMMAND key one usually uses to PASTE, so how that can be achieved on a Windows or a Linux machine I just don't know. Richmond. On 23/6/2018 11:39 pm, Richmond Mathewson wrote: > Oh: and just to make things even odder than usual, it only works when > the fild "ff1" does NOT have focus (i.e. the cursor is NOT in the field). > > Richmond. > > On 23/6/2018 11:38 pm, Richmond Mathewson wrote: >> However, I, at least, am experiencing great joy just at present as this: >> >> oncontrolKeyDown KEE >> ifKEE is "V" then >> puttheclipboardDataintofld "ff1" >> else >> passcontrolKeyDown >> endif >> endcontrolKeyDown >> >> popped UNSTYLED text into fld "ff1" >> on MacOS 10.7.5 LiveCode 8.1.10 >> >> Your mileage may vary: but it's sure worth a try! >> >> Richmond. >> >> >> On 23/6/2018 11:07 pm, Paul Dupuis via use-livecode wrote: >>> Thank you for this. >>> >>> However, it appears my problem is not with converting the clipboard from >>> styled text to plain text, but with the "pasteKey" message. >>> >>> In LC9.0.0 under Windows 8.1, I create a new text stack and add and >>> empty field and place the following handler in EITHER the card or stack >>> script >>> >>> on pasteKey >>> makeClipboardPlainText >>> paste >>> end pasteKey >>> >>> on makeClipboardPlainText >>> local tClip, tRawType >>> >>> if the platform is "MacOS" then >>> put "public.utf8-plain-text" into tRawType -- OSX >>> else if the platform is "Linux" then >>> put "text/plain;charset=utf-8" into tRawType -- Linux >>> else if the platform contains "Win" then >>> put "CF_UNICODETEXT" into tRawType -- Windows >>> end if >>> >>> lock the clipBoard >>> put the rawClipboardData[tRawType] into tClip >>> set the rawClipboardData to empty >>> set the rawClipboardData[tRawType] to tClip >>> unlock the clipBoard >>> end makeClipboardPlainText >>> >>> And set a break point on the call to makeClipboardPlainText instruction. >>> I then switch to another applications with styled text, select the text >>> copy it to the clipboard, return for LC with the insertion point in the >>> field and press Control-V. >>> >>> RESULT: the breakpoint is never triggered and styled text is pasted into >>> the field. >>> >>> If I just have a pasteKey handler with a beep (or anything else) as the >>> sole instruction, the same result, the breakpoint is never triggered. >>> The pasteKey message appears broken under both Windows and OSX (tested >>> under 10.9.5) in LC9.0.0? Can anyone confirm this bug? >>> >>> >>> On 6/23/2018 1:23 PM, Brian Milby wrote: >>>> _https://github.com/bwmilby/lc-misc/blob/master/ClipboardHelper/clipboardhelper.livecodescript_ >>>> >>>> Check out this handler. I can answer questions about it this evening >>>> if needed. >>>> On Jun 23, 2018, 9:18 AM -0500, Paul Dupuis via use-livecode >>>> , wrote: >>>>> Using LC9, I want to add a "paste without formatting" (as seen in may >>>>> browser edit menus) command and I can't see to figure out how to do it. >>>>> >>>>> My most recent attempt of many still pastes formatted text (with >>>>> underlining, bolding, italics, fonts, colors, etc. in place) >>>>> >>>>> *on*pasteKey *-- remove formatting* >>>>> *if* theclipboardData["text"] isnotempty*then* >>>>> *set*thetextofthetemplateFieldtoclipboardData["text"] >>>>> *set*theclipboardDatatoempty >>>>> *set*theclipboardData["text"] totheplaintextofthetemplateField >>>>> *end* *if* >>>>> *paste* >>>>> *end*pasteKey >>>>> >>>>> Maybe I just haven't had enough Caffeine yet? >>>>> >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode 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 Sat Jun 23 17:15:10 2018 From: tore.nilsen at me.com (Tore Nilsen) Date: Sat, 23 Jun 2018 23:15:10 +0200 Subject: Stripping styling from the clipboard... In-Reply-To: References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> Message-ID: <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> From the dictionary: The LiveCode development environment traps the pasteKey message <>, unless "Suspend LiveCode UI" is turned on in the Development menu. This means that the pasteKeymessage <> is not received by a stack <> if it's running in the development environment <>. So if you are trying to do this in the IDE, then that may be the reason it will not work. Best regards Tore Nilsen > 23. jun. 2018 kl. 22:32 skrev Richmond Mathewson via use-livecode : > > Hey, Wow, it's the Richmond school of shovels and primitive stuff at its worst. > > If I have a field that conatins some styled text (let's call it "ff1"), and I want to shift it > with its styling removed into another field (let's call it "ff2") then this does the trick in a button: > > onmouseUp > gettheplainTextoffld "ff1" > putit intofld "ff2" > endmouseUp > > and that, oddly enough, might not be a bad place to get started. > > ALTHOUGH (ouch) this does NOT work: > > onpasteKey > gettheplainTextoftheclipboardData > putit intofld "ff2" > endpasteKey > > and this does not work: > > onpasteKey > puttheclipboardDataintofld "ff1" > send"mouseUp" tobtn "Button" > endpasteKey > > which would seem to suggest pasteKey is NOT trapping the paste signal at all. > > Richmond. > > > On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: >> Using LC9, I want to add a "paste without formatting" (as seen in may >> browser edit menus) command and I can't see to figure out how to do it. >> >> My most recent attempt of many still pastes formatted text (with >> underlining, bolding, italics, fonts, colors, etc. in place) >> >> *on*pasteKey *-- remove formatting* >> *if* theclipboardData["text"] isnotempty*then* >> *set*thetextofthetemplateFieldtoclipboardData["text"] >> *set*theclipboardDatatoempty >> *set*theclipboardData["text"] totheplaintextofthetemplateField >> *end* *if* >> *paste* >> *end*pasteKey >> >> Maybe I just haven't had enough Caffeine yet? >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 brian at milby7.com Sat Jun 23 17:38:08 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 23 Jun 2018 17:38:08 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> Message-ID: <34dfe101-deca-47c1-88b4-86eddfb94ed2@Spark> Nice catch Tore. My original code was addressing a different couple of problems. The first was that when you attempted to populate the clipboard with plain text that LC would also put an HTML version on that would cause issues with paste in other apps. The second is designed to adjust the HTML that is put onto the clipboard to make it render better in other apps as rich text. I didn?t initially realize that you were attempting to clean a clipboard originating outside of LC. You may want to put the keys of the raw clipboard and see if the system is placing something on there that you could use. Many apps will place several formats on the clipboard so that destination apps can choose the best version to use. Thanks, Brian On Jun 23, 2018, 5:15 PM -0400, Tore Nilsen via use-livecode , wrote: > From the dictionary: > > The LiveCode development environment traps the pasteKey message <>, unless "Suspend LiveCode UI" is turned on in the Development menu. This means that the pasteKeymessage <> is not received by a stack <> if it's running in the development environment <>. > > So if you are trying to do this in the IDE, then that may be the reason it will not work. > > Best regards > Tore Nilsen > > > 23. jun. 2018 kl. 22:32 skrev Richmond Mathewson via use-livecode : > > > > Hey, Wow, it's the Richmond school of shovels and primitive stuff at its worst. > > > > If I have a field that conatins some styled text (let's call it "ff1"), and I want to shift it > > with its styling removed into another field (let's call it "ff2") then this does the trick in a button: > > > > onmouseUp > > gettheplainTextoffld "ff1" > > putit intofld "ff2" > > endmouseUp > > > > and that, oddly enough, might not be a bad place to get started. > > > > ALTHOUGH (ouch) this does NOT work: > > > > onpasteKey > > gettheplainTextoftheclipboardData > > putit intofld "ff2" > > endpasteKey > > > > and this does not work: > > > > onpasteKey > > puttheclipboardDataintofld "ff1" > > send"mouseUp" tobtn "Button" > > endpasteKey > > > > which would seem to suggest pasteKey is NOT trapping the paste signal at all. > > > > Richmond. > > > > > > On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: > > > Using LC9, I want to add a "paste without formatting" (as seen in may > > > browser edit menus) command and I can't see to figure out how to do it. > > > > > > My most recent attempt of many still pastes formatted text (with > > > underlining, bolding, italics, fonts, colors, etc. in place) > > > > > > *on*pasteKey *-- remove formatting* > > > *if* theclipboardData["text"] isnotempty*then* > > > *set*thetextofthetemplateFieldtoclipboardData["text"] > > > *set*theclipboardDatatoempty > > > *set*theclipboardData["text"] totheplaintextofthetemplateField > > > *end* *if* > > > *paste* > > > *end*pasteKey > > > > > > Maybe I just haven't had enough Caffeine yet? > > > > > > > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode 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 paul at researchware.com Sat Jun 23 17:55:09 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 23 Jun 2018 17:55:09 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> Message-ID: <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> Okay, I missed that in the entry. That explains why the pasteKey message wasn't working. I am all set now. Thank you. On 6/23/2018 5:15 PM, Tore Nilsen via use-livecode wrote: > >From the dictionary: > > The LiveCode development environment traps the pasteKey message <>, unless "Suspend LiveCode UI" is turned on in the Development menu. This means that the pasteKeymessage <> is not received by a stack <> if it's running in the development environment <>. > > So if you are trying to do this in the IDE, then that may be the reason it will not work. > > Best regards > Tore Nilsen > >> 23. jun. 2018 kl. 22:32 skrev Richmond Mathewson via use-livecode : >> >> Hey, Wow, it's the Richmond school of shovels and primitive stuff at its worst. >> >> If I have a field that conatins some styled text (let's call it "ff1"), and I want to shift it >> with its styling removed into another field (let's call it "ff2") then this does the trick in a button: >> >> onmouseUp >> gettheplainTextoffld "ff1" >> putit intofld "ff2" >> endmouseUp >> >> and that, oddly enough, might not be a bad place to get started. >> >> ALTHOUGH (ouch) this does NOT work: >> >> onpasteKey >> gettheplainTextoftheclipboardData >> putit intofld "ff2" >> endpasteKey >> >> and this does not work: >> >> onpasteKey >> puttheclipboardDataintofld "ff1" >> send"mouseUp" tobtn "Button" >> endpasteKey >> >> which would seem to suggest pasteKey is NOT trapping the paste signal at all. >> >> Richmond. >> >> >> On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: >>> Using LC9, I want to add a "paste without formatting" (as seen in may >>> browser edit menus) command and I can't see to figure out how to do it. >>> >>> My most recent attempt of many still pastes formatted text (with >>> underlining, bolding, italics, fonts, colors, etc. in place) >>> >>> *on*pasteKey *-- remove formatting* >>> *if* theclipboardData["text"] isnotempty*then* >>> *set*thetextofthetemplateFieldtoclipboardData["text"] >>> *set*theclipboardDatatoempty >>> *set*theclipboardData["text"] totheplaintextofthetemplateField >>> *end* *if* >>> *paste* >>> *end*pasteKey >>> >>> Maybe I just haven't had enough Caffeine yet? >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 tom at makeshyft.com Sat Jun 23 17:58:52 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 23 Jun 2018 17:58:52 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> Message-ID: Paul...may I ask you why your code pasting is the way it is ?...is there some kind of practical reason for it being that way?...sure is harder to read that way. On Sat, Jun 23, 2018 at 5:55 PM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > Okay, I missed that in the entry. That explains why the pasteKey message > wasn't working. > > I am all set now. Thank you. > > > On 6/23/2018 5:15 PM, Tore Nilsen via use-livecode wrote: > > >From the dictionary: > > > > The LiveCode development environment traps the pasteKey message <>, > unless "Suspend LiveCode UI" is turned on in the Development menu. This > means that the pasteKeymessage <> is not received by a stack <> if it's > running in the development environment <>. > > > > So if you are trying to do this in the IDE, then that may be the reason > it will not work. > > > > Best regards > > Tore Nilsen > > > >> 23. jun. 2018 kl. 22:32 skrev Richmond Mathewson via use-livecode < > use-livecode at lists.runrev.com>: > >> > >> Hey, Wow, it's the Richmond school of shovels and primitive stuff at > its worst. > >> > >> If I have a field that conatins some styled text (let's call it "ff1"), > and I want to shift it > >> with its styling removed into another field (let's call it "ff2") then > this does the trick in a button: > >> > >> onmouseUp > >> gettheplainTextoffld "ff1" > >> putit intofld "ff2" > >> endmouseUp > >> > >> and that, oddly enough, might not be a bad place to get started. > >> > >> ALTHOUGH (ouch) this does NOT work: > >> > >> onpasteKey > >> gettheplainTextoftheclipboardData > >> putit intofld "ff2" > >> endpasteKey > >> > >> and this does not work: > >> > >> onpasteKey > >> puttheclipboardDataintofld "ff1" > >> send"mouseUp" tobtn "Button" > >> endpasteKey > >> > >> which would seem to suggest pasteKey is NOT trapping the paste signal > at all. > >> > >> Richmond. > >> > >> > >> On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: > >>> Using LC9, I want to add a "paste without formatting" (as seen in may > >>> browser edit menus) command and I can't see to figure out how to do it. > >>> > >>> My most recent attempt of many still pastes formatted text (with > >>> underlining, bolding, italics, fonts, colors, etc. in place) > >>> > >>> *on*pasteKey *-- remove formatting* > >>> *if* theclipboardData["text"] isnotempty*then* > >>> *set*thetextofthetemplateFieldtoclipboardData["text"] > >>> *set*theclipboardDatatoempty > >>> *set*theclipboardData["text"] totheplaintextofthetemplateField > >>> *end* *if* > >>> *paste* > >>> *end*pasteKey > >>> > >>> Maybe I just haven't had enough Caffeine yet? > >>> > >>> > >>> _______________________________________________ > >>> use-livecode mailing list > >>> use-livecode 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 tom at makeshyft.com Sat Jun 23 19:30:55 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 23 Jun 2018 19:30:55 -0400 Subject: Open source iOS and Android In-Reply-To: References: <6FE552C3-9325-41C6-9663-3EA4AB62928F@gmail.com> <9FCDEF6C-A47E-4CF6-A063-949FC06D9B1E@mac.com> Message-ID: I contacted Colin to see if it was him who has allowed his book to be downloaded for free..... it was not. He doesn't mind, but says the publisher might. here is a link. https://www.packtpub.com/application-development/livecode-mobile-development-beginners-guide-second-edition On Sat, Jun 23, 2018 at 4:13 PM, Tom Glod wrote: > Hi Linda .... I hope this can help you on your journey of learning > livecode mobile development. > > http://www.allitebooks.in/livecode-mobile-development-beginners-guide/ > > > > On Sat, Jun 23, 2018 at 2:37 PM, Randy Hengst via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi Linda, >> >> To best of my knowledge, you can?t use the Community version to build >> apps for iOS. So, the source code isn?t automatically available from >> developers? but, within the IDE of LiveCode, select the Sample Stacks? all >> sorts of options there with code available for viewing. >> >> be well, >> randy hengst >> >> > On Jun 22, 2018, at 8:50 PM, Linda Miller, DVM via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > It is my understanding that apps created with the Community version of >> LiveCode are open source. If so, how to you know what apps on the apps >> stores (Apple and Google) are created with LiveCode and how do you request >> a copy of the source code? I have never published a LC app and am still in >> the learning stages. I would like to know how I can actually have a look >> at other people's source code for learning purposes. >> > >> > Linda >> > >> > _______________________________________________ >> > use-livecode mailing list >> > use-livecode 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 james at thehales.id.au Sat Jun 23 19:39:25 2018 From: james at thehales.id.au (James At The Hale) Date: Sun, 24 Jun 2018 09:39:25 +1000 Subject: Stripping styling from the clipboard... Message-ID: <153BD957-67AA-4EA4-9E90-6B30EA6B7D2A@thehales.id.au> From the dictionary... > The LiveCode development environment traps the pasteKey message, unless "Suspend LiveCode UI" is turned on in the Development menu. This means that the pasteKey message is not received by a stack if it's running in the development environment. Could this be why pastekey does not seem to work? James From paul at researchware.com Sat Jun 23 19:59:32 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 23 Jun 2018 19:59:32 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> Message-ID: The code below with no spaces between the works is Richmonds On 6/23/2018 5:58 PM, Tom Glod via use-livecode wrote: > Paul...may I ask you why your code pasting is the way it is ?...is there > some kind of practical reason for it being that way?...sure is harder to > read that way. > > On Sat, Jun 23, 2018 at 5:55 PM, Paul Dupuis via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Okay, I missed that in the entry. That explains why the pasteKey message >> wasn't working. >> >> I am all set now. Thank you. >> >> >> On 6/23/2018 5:15 PM, Tore Nilsen via use-livecode wrote: >>> >From the dictionary: >>> >>> The LiveCode development environment traps the pasteKey message <>, >> unless "Suspend LiveCode UI" is turned on in the Development menu. This >> means that the pasteKeymessage <> is not received by a stack <> if it's >> running in the development environment <>. >>> So if you are trying to do this in the IDE, then that may be the reason >> it will not work. >>> Best regards >>> Tore Nilsen >>> >>>> 23. jun. 2018 kl. 22:32 skrev Richmond Mathewson via use-livecode < >> use-livecode at lists.runrev.com>: >>>> Hey, Wow, it's the Richmond school of shovels and primitive stuff at >> its worst. >>>> If I have a field that conatins some styled text (let's call it "ff1"), >> and I want to shift it >>>> with its styling removed into another field (let's call it "ff2") then >> this does the trick in a button: >>>> onmouseUp >>>> gettheplainTextoffld "ff1" >>>> putit intofld "ff2" >>>> endmouseUp >>>> >>>> and that, oddly enough, might not be a bad place to get started. >>>> >>>> ALTHOUGH (ouch) this does NOT work: >>>> >>>> onpasteKey >>>> gettheplainTextoftheclipboardData >>>> putit intofld "ff2" >>>> endpasteKey >>>> >>>> and this does not work: >>>> >>>> onpasteKey >>>> puttheclipboardDataintofld "ff1" >>>> send"mouseUp" tobtn "Button" >>>> endpasteKey >>>> >>>> which would seem to suggest pasteKey is NOT trapping the paste signal >> at all. >>>> Richmond. >>>> >>>> >>>> On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: >>>>> Using LC9, I want to add a "paste without formatting" (as seen in may >>>>> browser edit menus) command and I can't see to figure out how to do it. >>>>> >>>>> My most recent attempt of many still pastes formatted text (with >>>>> underlining, bolding, italics, fonts, colors, etc. in place) >>>>> >>>>> *on*pasteKey *-- remove formatting* >>>>> *if* theclipboardData["text"] isnotempty*then* >>>>> *set*thetextofthetemplateFieldtoclipboardData["text"] >>>>> *set*theclipboardDatatoempty >>>>> *set*theclipboardData["text"] totheplaintextofthetemplateField >>>>> *end* *if* >>>>> *paste* >>>>> *end*pasteKey >>>>> >>>>> Maybe I just haven't had enough Caffeine yet? >>>>> >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode 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 > From warren at warrensweb.us Sat Jun 23 20:05:03 2018 From: warren at warrensweb.us (Warren Samples) Date: Sat, 23 Jun 2018 19:05:03 -0500 Subject: LC 9 Dictionary, Linux Message-ID: Hello, I don't recall off the top of my head what the current remaining issue is with the dictionary under Linux. I know there have been a couple or three that have been reported by different people on different distros. The workaround to open the dictionary in a browser is working pretty well, but could use at least one enhancement if it can be managed. Currently if I have my default browser open on some desktop other than the one LiveCode is on, the dictionary opens in a new tab on the other desktop. Could the command used be finessed to force it to open a new window? This 'should' open naturally on the current desktop. Another possible solution would be a preference option to set a browser for the dictionary. That would allow one to use a browser other than the default browser and avoid this (minor) inconvenience. Warren From tom at makeshyft.com Sat Jun 23 22:23:37 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 23 Jun 2018 22:23:37 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> Message-ID: sorry Paul...my bad. Richmond..... why does your code paste that way? On Sat, Jun 23, 2018 at 7:59 PM, Paul Dupuis via use-livecode < use-livecode at lists.runrev.com> wrote: > The code below with no spaces between the works is Richmonds > > On 6/23/2018 5:58 PM, Tom Glod via use-livecode wrote: > > Paul...may I ask you why your code pasting is the way it is ?...is there > > some kind of practical reason for it being that way?...sure is harder to > > read that way. > > > > On Sat, Jun 23, 2018 at 5:55 PM, Paul Dupuis via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Okay, I missed that in the entry. That explains why the pasteKey message > >> wasn't working. > >> > >> I am all set now. Thank you. > >> > >> > >> On 6/23/2018 5:15 PM, Tore Nilsen via use-livecode wrote: > >>> >From the dictionary: > >>> > >>> The LiveCode development environment traps the pasteKey message <>, > >> unless "Suspend LiveCode UI" is turned on in the Development menu. This > >> means that the pasteKeymessage <> is not received by a stack <> if it's > >> running in the development environment <>. > >>> So if you are trying to do this in the IDE, then that may be the reason > >> it will not work. > >>> Best regards > >>> Tore Nilsen > >>> > >>>> 23. jun. 2018 kl. 22:32 skrev Richmond Mathewson via use-livecode < > >> use-livecode at lists.runrev.com>: > >>>> Hey, Wow, it's the Richmond school of shovels and primitive stuff at > >> its worst. > >>>> If I have a field that conatins some styled text (let's call it > "ff1"), > >> and I want to shift it > >>>> with its styling removed into another field (let's call it "ff2") then > >> this does the trick in a button: > >>>> onmouseUp > >>>> gettheplainTextoffld "ff1" > >>>> putit intofld "ff2" > >>>> endmouseUp > >>>> > >>>> and that, oddly enough, might not be a bad place to get started. > >>>> > >>>> ALTHOUGH (ouch) this does NOT work: > >>>> > >>>> onpasteKey > >>>> gettheplainTextoftheclipboardData > >>>> putit intofld "ff2" > >>>> endpasteKey > >>>> > >>>> and this does not work: > >>>> > >>>> onpasteKey > >>>> puttheclipboardDataintofld "ff1" > >>>> send"mouseUp" tobtn "Button" > >>>> endpasteKey > >>>> > >>>> which would seem to suggest pasteKey is NOT trapping the paste signal > >> at all. > >>>> Richmond. > >>>> > >>>> > >>>> On 23/6/2018 5:15 pm, Paul Dupuis via use-livecode wrote: > >>>>> Using LC9, I want to add a "paste without formatting" (as seen in may > >>>>> browser edit menus) command and I can't see to figure out how to do > it. > >>>>> > >>>>> My most recent attempt of many still pastes formatted text (with > >>>>> underlining, bolding, italics, fonts, colors, etc. in place) > >>>>> > >>>>> *on*pasteKey *-- remove formatting* > >>>>> *if* theclipboardData["text"] isnotempty*then* > >>>>> *set*thetextofthetemplateFieldtoclipboardData["text"] > >>>>> *set*theclipboardDatatoempty > >>>>> *set*theclipboardData["text"] totheplaintextofthetemplateField > >>>>> *end* *if* > >>>>> *paste* > >>>>> *end*pasteKey > >>>>> > >>>>> Maybe I just haven't had enough Caffeine yet? > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> use-livecode mailing list > >>>>> use-livecode 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 > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 24 01:19:21 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 24 Jun 2018 00:19:21 -0500 Subject: Stripping styling from the clipboard... In-Reply-To: References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> Message-ID: <164303b73c0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> It happens when a colorized handler is copied directly from the script editor and pasted into a list response. The list only understands plain text, and styled text confuses it. I'm not sure if it happens on all platforms but we've seen it before in other posts. Brian's plaintext handler would come in handy here. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 23, 2018 9:25:34 PM Tom Glod via use-livecode wrote: > sorry Paul...my bad. > > Richmond..... why does your code paste that way From roland.huettmann at gmail.com Sun Jun 24 04:51:18 2018 From: roland.huettmann at gmail.com (R.H.) Date: Sun, 24 Jun 2018 10:51:18 +0200 Subject: Translation Service Deepl.com Message-ID: I like to draw your attention to DeepL Translator - an online translation service that does much better than anything before, including Google, Microsoft or whatever. There is a free service and a paid one as well. Right now it supports English, Spanish, Italian, French, German, Polish and Dutch. https://www.deepl.com They provide an API and I wonder how we could enable this. I am trying to get it to work in LiveCode. Or, maybe, someone has been doing this already? https://www.deepl.com/pro.html It says: " As a DeepL Pro user, not only are you able to translate on our website, but you are also able to integrate DeepL?s JSON-based REST API into your own products and platforms. This allows you to incorporate the world?s best machine translation technology into a variety of new applications. For example, a company could have their international service enquiries instantly translated by DeepL Pro, greatly simplifying business procedures and improving customer satisfaction. " (I am not affiliated with DeepL and just give the information after I found that the job it does is really amazing.) Roland From bonnmike at gmail.com Sun Jun 24 07:40:55 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Sun, 24 Jun 2018 05:40:55 -0600 Subject: Translation Service Deepl.com In-Reply-To: References: Message-ID: Same method as yandex from a recent thread, built your query string some way and send it to the server. something like.. put urlencode("Text to translate") into tText put "https://api.deepl.com/v1/translate?text=" & tText & "target_lang=EN&auth_key=YourAuthKeyHere" into tUrl get URL tUrl put it You could also use POST rather than get using the same base url ( https://api.deepl.com/v1/translate) according to the documentation. On Sun, Jun 24, 2018 at 2:52 AM R.H. via use-livecode < use-livecode at lists.runrev.com> wrote: > I like to draw your attention to DeepL Translator - an online translation > service that does much better than anything before, including Google, > Microsoft or whatever. There is a free service and a paid one as well. > > Right now it supports English, Spanish, Italian, French, German, Polish and > Dutch. > > https://www.deepl.com > > They provide an API and I wonder how we could enable this. I am trying to > get it to work in LiveCode. Or, maybe, someone has been doing this already? > > https://www.deepl.com/pro.html > > It says: " > As a DeepL Pro user, not only are you able to translate on our website, but > you are also able to integrate DeepL?s JSON-based REST API into your own > products and platforms. This allows you to incorporate the world?s best > machine translation technology into a variety of new applications. For > example, a company could have their international service enquiries > instantly translated by DeepL Pro, greatly simplifying business procedures > and improving customer satisfaction. > " > > (I am not affiliated with DeepL and just give the information after I found > that the job it does is really amazing.) > > Roland > _______________________________________________ > use-livecode mailing list > use-livecode 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 Sun Jun 24 10:04:51 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 24 Jun 2018 17:04:51 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> Message-ID: <6e0cd2cd-2dfd-334f-f1e3-732dd225e57e@gmail.com> > Richmond..... why does your code paste that way? > > I don't know: looks terrible! Over "here" on ThunderBird e-mail client on MacOS 10.7.5 that code was pasted DIRECTLY from the LiveCode scriptEditor . . . Richmond. From richmondmathewson at gmail.com Sun Jun 24 10:06:08 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sun, 24 Jun 2018 17:06:08 +0300 Subject: Stripping styling from the clipboard... In-Reply-To: <164303b73c0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> <164303b73c0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: <533a094d-33d9-c44f-76cd-dd7c6808bc27@gmail.com> Well that is a pain in the bum! I suppose I should go through an intermediate stage using a plain-vanilla text editor. Richmond. On 24/6/2018 8:19 am, J. Landman Gay via use-livecode wrote: > It happens when a colorized handler is copied directly from the script > editor and pasted into a list response. The list only understands > plain text, and styled text confuses it. I'm not sure if it happens on > all platforms but we've seen it before in other posts. > > Brian's plaintext handler would come in handy here. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On June 23, 2018 9:25:34 PM Tom Glod via use-livecode > wrote: > >> sorry Paul...my bad. >> >> Richmond..... why does your code paste that way > > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 24 10:39:38 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Sun, 24 Jun 2018 09:39:38 -0500 Subject: Stripping styling from the clipboard... In-Reply-To: <533a094d-33d9-c44f-76cd-dd7c6808bc27@gmail.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> <164303b73c0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <533a094d-33d9-c44f-76cd-dd7c6808bc27@gmail.com> Message-ID: <164323c6828.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Using an intermediate text editor also works, and would take care of any UTF8 conversion too if that's causing issues. But since you're in LC already it might be more convenient to have a handler in a backscript or a plugin that would do it. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On June 24, 2018 9:07:59 AM Richmond Mathewson via use-livecode wrote: > Well that is a pain in the bum! > > I suppose I should go through an intermediate stage using a > plain-vanilla text editor. > > Richmond. > > On 24/6/2018 8:19 am, J. Landman Gay via use-livecode wrote: >> It happens when a colorized handler is copied directly from the script >> editor and pasted into a list response. The list only understands >> plain text, and styled text confuses it. I'm not sure if it happens on >> all platforms but we've seen it before in other posts. >> >> Brian's plaintext handler would come in handy here. >> >> -- >> Jacqueline Landman Gay | jacque at hyperactivesw.com >> HyperActive Software | http://www.hyperactivesw.com >> On June 23, 2018 9:25:34 PM Tom Glod via use-livecode >> wrote: >> >>> sorry Paul...my bad. >>> >>> Richmond..... why does your code paste that way >> >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Sun Jun 24 10:37:07 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Sun, 24 Jun 2018 14:37:07 +0000 Subject: Open source iOS and Android In-Reply-To: References: <6FE552C3-9325-41C6-9663-3EA4AB62928F@gmail.com> Message-ID: <834310B4-B223-431E-9093-C05DB9C9E7AC@hindu.org> Linda Do you know GIT? A lot of us (developers) have "stuff on GIT" . You do a deep search through mailings Search for "https://github.com/ And you will find the public repositories. I am sure you will find plenty! Here is one example (be sure to get the nightly branch) https://github.com/Himalayan-Academy/Siva-Siva-App/tree/nightly While it may not help you "produce apps" there are lots of cool code in stacks on RevOnLine. Once you can have app to publish, you can go to lessons at the LiveCode site. To get you start with being an "Android developer" (hopefully they upgrade that lesson, soon!) Since you are "starting from scratch" ... I don't you history in other languages, but you might check on "Levure" BR ?On 6/22/18, 3:50 PM, "use-livecode on behalf of Linda Miller, DVM via use-livecode" wrote: It is my understanding that apps created with the Community version of LiveCode are open source. If so, how to you know what apps on the apps stores (Apple and Google) are created with LiveCode and how do you request a copy of the source code? I have never published a LC app and am still in the learning stages. I would like to know how I can actually have a look at other people's source code for learning purposes. Linda _______________________________________________ use-livecode mailing list use-livecode 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 1anmldr1 at gmail.com Sun Jun 24 12:29:15 2018 From: 1anmldr1 at gmail.com (Linda Miller, DVM) Date: Sun, 24 Jun 2018 11:29:15 -0500 Subject: Open source iOS and Android Message-ID: My original question is about the Community version of LC. If apps built with it are supposed to be open source, is there a "place" where the developers "share" their apps. How do we know what people have created in order to request a copy? I personally would like to "meet" other developers of medical, scientific, pharmaceutical, dental and especially veterinary apps if there are any around. Thank you for the link. I already own the book but have not read all of it yet. I also have access to many sources of code like everyone else on the LiveCode website and other sites. I know (obviously about this list) and about the forums on LC's website. I have Google'd and found a fair number of sites that people have posted code and apps long before the Community version was available. Thanks, Linda From General.2018 at outlook.com Sun Jun 24 15:49:38 2018 From: General.2018 at outlook.com (General 2018) Date: Sun, 24 Jun 2018 19:49:38 +0000 Subject: Top Bottom Left Right Message-ID: Hi , If I use property inspector and tick "Resize Rect when setting property" and change top,bottom,left or right property the rect changes shape in its fixed location as expected. In runtime the rect does not resize but moves location by setting property top,bottom,left or right ? Have I missed something ?? or this a bug ?? Regards Camm From klaus at major-k.de Sun Jun 24 15:58:08 2018 From: klaus at major-k.de (Klaus major-k) Date: Sun, 24 Jun 2018 21:58:08 +0200 Subject: Top Bottom Left Right In-Reply-To: References: Message-ID: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> Hi Cam, > Am 24.06.2018 um 21:49 schrieb General 2018 via use-livecode : > > Hi , > > If I use property inspector and tick "Resize Rect when setting property" and change top,bottom,left or right property the rect changes shape in its fixed location as expected. > > In runtime the rect does not resize but moves location by setting property top,bottom,left or right ? > > Have I missed something ?? or this a bug ?? nope, this is only a feature of the IDE! 8-) If you need this functionality in your runtime you need to roll your own. But it's just: ... lock screen put the loc of btn "xyz" int tOldLoc ## do your thing with width and height of this button ## which will affect also the LOC unfortunately! set the loc of btn "xyz" to tOldLoc unlock screen ... > Regards > Camm Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From General.2018 at outlook.com Sun Jun 24 16:04:55 2018 From: General.2018 at outlook.com (General 2018) Date: Sun, 24 Jun 2018 20:04:55 +0000 Subject: Top Bottom Left Right In-Reply-To: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> Message-ID: Klaus , At least I was not going mad ! , thanks. Regards Camm -----Original Message----- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Klaus major-k via use-livecode Sent: 24 June 2018 20:58 To: How to use LiveCode Cc: Klaus major-k Subject: Re: Top Bottom Left Right Hi Cam, > Am 24.06.2018 um 21:49 schrieb General 2018 via use-livecode : > > Hi , > > If I use property inspector and tick "Resize Rect when setting property" and change top,bottom,left or right property the rect changes shape in its fixed location as expected. > > In runtime the rect does not resize but moves location by setting property top,bottom,left or right ? > > Have I missed something ?? or this a bug ?? nope, this is only a feature of the IDE! 8-) If you need this functionality in your runtime you need to roll your own. But it's just: ... lock screen put the loc of btn "xyz" int tOldLoc ## do your thing with width and height of this button ## which will affect also the LOC unfortunately! set the loc of btn "xyz" to tOldLoc unlock screen ... > Regards > Camm 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 monte at appisle.net Sun Jun 24 18:20:06 2018 From: monte at appisle.net (Monte Goulding) Date: Mon, 25 Jun 2018 08:20:06 +1000 Subject: Browser Widget Layer on mobile In-Reply-To: <4023F4BA-AE06-499D-8DDE-CA6C32BF770C@clearvisiontech.com> References: <4023F4BA-AE06-499D-8DDE-CA6C32BF770C@clearvisiontech.com> Message-ID: Hi Dan This sounds like a bug to me. For widgets that are in groups we create an extra container layer view to put them in so they should be clipped to the group rect and also as close as possible respect the layering of objects on the card. It sounds like it?s working correctly for you on mac but not on iOS. Could you open a report with an example stack please? Cheers Monte > On 24 Jun 2018, at 3:49 am, Dan Friedman via use-livecode wrote: > > Brian, > > I think that?s true for Native Controls, but I?m seeing different results for the bowser widget. I find that if I put the bowser widget in a group, it draws within the group?s bounds like other controls. What I?m experiencing is that on Mobile (at least iOS), it?s acting like a standard native control, not like it does on desktop. > > -Dan > >> I may not be stating it in the right terms, but native controls are above everything else in their own layer. > > >>> I am working on a mobile app where I have a bowser widget in a group that is scrollable. It scrolls just fine (frankly, smoother that I thought it would!). However, there is a problem when the widget gets scrolled past the bounds of the group?s rect. On my mac, it?s working correctly, but on a real device (and the simulator), the bowser widget is being shown even outside the rect of the group ? like it?s not in the group. >>> >>> Here?s a screen shot of what I?m talking about: http://www.clearvisiontech.com/temp/sampleImage.jpg >>> >>> Any thoughts or advise are appreciated! >>> >>> -Dan > _______________________________________________ > use-livecode mailing list > use-livecode 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 waprothero at gmail.com Sun Jun 24 20:17:01 2018 From: waprothero at gmail.com (William Prothero) Date: Sun, 24 Jun 2018 17:17:01 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> Message-ID: <677A939F-B639-4097-A466-70BA022218E2@gmail.com> Folks: In case you are interested, or if you have any feedback, here is the code I use to test AES encryption for sending posts to interact with a mysql database. This work is inspired by the excellent dbLib product of Andre Garza, that got me to look into encryption a lot deeper than I had to date. Perhaps Andre would like to chime in here, as I am a complete novice in this area. What got me started was purchasing his dbLib software and getting warning messages that there was no ?iv? vector specified. From internet searching I got that the encryption is vulnerable to a ?Dictionary? attack. An ?iv? vector is analogous to a ?salt?, which make the encryption much more difficult to crack. I?m using php version 5.6.36 This should make transfers to a from a remote database pretty secure. It is different from password security, where only the encrypted password needs to be compared with the encrypted db value. Here (I think) both the server and the client need to have the key and iv values. Here is the code that I used to test the encryption. If I am wrong about any of this, please let me know. An example like this would have saved me a bunch of time, so I hope it will be useful to somebody else on the list. ????Testing iv for encryption --To test this on your own server, upload the php script where you put cgi's -- and modify the myURL setting on testEncryption put "http://earthexplorer.earthlearningsolutions.org/scgi-bin/wpEncryptionTest.php" into myURL put "AES-256-CTR" into tCipher put "AFBDDFCFBDBBDDCCFFACGHDFFFFEEDCC" into tEncryptionKey put "ABCDEEABCDEEAA%A" into tIV put "The php should return this text." into tPostA["theQuery"] put "query" into tPostA["type"] put ArrayToJSON(tPostA,"string",pPretty) into tJson encrypt tJson using tCipher with key tEncryptionKey and iV tIV put base64encode(it) into tMyEncryptedData post tMyEncryptedData to url myURL put it into tRet put tRet into fld "status" put cr&"num chars: "&(the number of chars in tRet) after fld "status" put cr&base64decode(tRet) after fld "status" end testEncryption ----------php script, on server --------------------------- --Note: you can run the above script on my server, --to test the LC script. From Bernd.Niggemann at uni-wh.de Mon Jun 25 04:48:22 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Mon, 25 Jun 2018 08:48:22 +0000 Subject: Align baselines of 2 fields Message-ID: I rethought the alignment of baselines of 2 fields and did not like my previous solution to just move the fields Here is a solution that uses the margins to do the alignment. The two fields should accommodate for the expected textSizes and should be horizontally aligned. There are occasional differences in alignment usually 1 pixel off due to how fonts report their metrics. One could correct this but the only way to do it that I found was to use a snapshot and then adjust accordingly. Anyone interested in that feel free to mail me. Kind regards Bernd --------------------------------------------------------------------------- on mouseUp local tField1, tField2 put the long id of field "field1" into tField1 put the long id of field "field2" into tField2 alignFieldBaselines tField1, tField2 end mouseUp on alignFieldBaselines pField1, pField2 local tDescent1, tDescent2, tRefVLoc local tFormatRect1, tFormatRect2, tDiff1, tDiff2 local tDefaultMargin put 8 into tDefaultMargin lock screen -- make sure the margins are what is expected set the margins of pField1 to tDefaultMargin set the margins of pField2 to tDefaultMargin -- define a reference vertical position for field 1, both fields use it put the bottom of pField1 - (the height of pField1 div 4) into tRefVLoc -- get rect of text put the formattedRect of char 1 of pField1 into tFormatRect1 put the formattedRect of char 1 of pField2 into tFormatRect2 -- find baseline of text put item 4 of measureText(char 1 of pField1, pField1, "bounds") + 1 into tDescent1 put item 4 of measureText(char 1 of pField2, pField2, "bounds") + 1 into tDescent2 -- calculate offset put tRefVLoc - (item 4 of tFormatRect1 - tDescent1) into tDiff1 put tRefVLoc - (item 4 of tFormatRect2 - tDescent2) into tDiff2 -- adjust topMargins to align text set the topMargin of pField1 to tDefaultMargin + tDiff1 set the topMargin of pField2 to tDefaultMargin + tDiff2 unlock screen end alignFieldBaselines --------------------------------------------------------------------------- From dvglasgow at gmail.com Mon Jun 25 05:46:30 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Mon, 25 Jun 2018 10:46:30 +0100 Subject: Tessellated hexagonal grid? In-Reply-To: References: <4023F4BA-AE06-499D-8DDE-CA6C32BF770C@clearvisiontech.com> Message-ID: Quite a few old school (and a few newer) games use a tessellated hexagonal grid. Remember Railway Rivals, anyone? I just started to play around with the idea of a grid using Livecode polygons. Specifically, a map that can grow organically by sprouting hexes at the edges. I was surprised and disappointed to see how tricky it looks to be to do 'on the fly? i.e. creating and then aligning hexes. Has anyone else played around with this? Any advice? It seems to me that the line of least resistance is to have a huge grid of ready tessellated invisible hexes which can be shown as required. Best Wishes, David Glasgow From richmondmathewson at gmail.com Mon Jun 25 06:10:47 2018 From: richmondmathewson at gmail.com (Richmond) Date: Mon, 25 Jun 2018 13:10:47 +0300 Subject: Tessellated hexagonal grid? In-Reply-To: References: <4023F4BA-AE06-499D-8DDE-CA6C32BF770C@clearvisiontech.com> Message-ID: I have fooled around with hexagons as well, and they have to be, either; 1. Hexagonal SVG widgets, or 2, Hexagons embedded in transparent squares as PGN images - with the inevitable consequence that if you start using INTERSECT you must be very careful to set a transparency "trap" a bit like this: *if intersect(img "firstHEX",img "secondHEX",5) then* Richmond. On 25.06.2018 12:46, David V Glasgow via use-livecode wrote: > Quite a few old school (and a few newer) games use a tessellated hexagonal grid. Remember Railway Rivals, anyone? > > I just started to play around with the idea of a grid using Livecode polygons. Specifically, a map that can grow organically by sprouting hexes at the edges. I was surprised and disappointed to see how tricky it looks to be to do 'on the fly? i.e. creating and then aligning hexes. > > > Has anyone else played around with this? Any advice? It seems to me that the line of least resistance is to have a huge grid of ready tessellated invisible hexes which can be shown as required. > > > Best Wishes, > David Glasgow > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 harrison at all-auctions.com Mon Jun 25 09:28:29 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Mon, 25 Jun 2018 09:28:29 -0400 Subject: Tessellated hexagonal grid? In-Reply-To: References: <4023F4BA-AE06-499D-8DDE-CA6C32BF770C@clearvisiontech.com> Message-ID: <63D20CD7-727B-4988-8736-B0FB96FCD209@all-auctions.com> Hi David, The old ?Traveller? space game used to use hexes a lot. Now that computers are so powerful you can do almost anything. Here?s an example using hexes. Try zooming in and out. Play around with the eye candy settings etc. It?s quite impressive! https://travellermap.com/?options=25591&scale=45.2578125 Cheers, Rick > On Jun 25, 2018, at 5:46 AM, David V Glasgow via use-livecode wrote: > > Quite a few old school (and a few newer) games use a tessellated hexagonal grid. Remember Railway Rivals, anyone? > > I just started to play around with the idea of a grid using Livecode polygons. Specifically, a map that can grow organically by sprouting hexes at the edges. I was surprised and disappointed to see how tricky it looks to be to do 'on the fly? i.e. creating and then aligning hexes. > > > Has anyone else played around with this? Any advice? It seems to me that the line of least resistance is to have a huge grid of ready tessellated invisible hexes which can be shown as required. > > > Best Wishes, > David Glasgow > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 waprothero at gmail.com Mon Jun 25 09:56:53 2018 From: waprothero at gmail.com (William Prothero) Date: Mon, 25 Jun 2018 06:56:53 -0700 Subject: Examples of encryption for database access In-Reply-To: <677A939F-B639-4097-A466-70BA022218E2@gmail.com> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> Message-ID: Folks: Woke up this morning and realized I need to clarify a couple of points on my post. 1. For a test, you can use the LC script I included, exactly as given, which will access the included php test script on my server. 2. The php script just returns the decrypted text that you put in the tPostA[?theQuery?] array element. For real world use, you would want to, in the php, encrypt the return text. 3. As far as I can tell, I need to have the encryption key and iV stored on both the LC app (to encrypt the text that is being sent) and the php script, to decrypt it. 4. I left out the part where the php encrypts the return value and the LC decrypts it. I?ll add it in if anybody wants it. Best, Bill > On Jun 24, 2018, at 5:17 PM, William Prothero via use-livecode wrote: > > Folks: > In case you are interested, or if you have any feedback, here is the code I use to test AES encryption for sending posts to interact with a mysql database. > > This work is inspired by the excellent dbLib product of Andre Garza, that got me to look into encryption a lot deeper than I had to date. > > Perhaps Andre would like to chime in here, as I am a complete novice in this area. What got me started was purchasing his dbLib software and getting warning messages that there was no ?iv? vector specified. From internet searching I got that the encryption is vulnerable to a ?Dictionary? attack. An ?iv? vector is analogous to a ?salt?, which make the encryption much more difficult to crack. I?m using php version 5.6.36 > > This should make transfers to a from a remote database pretty secure. It is different from password security, where only the encrypted password needs to be compared with the encrypted db value. Here (I think) both the server and the client need to have the key and iv values. > > Here is the code that I used to test the encryption. If I am wrong about any of this, please let me know. An example like this would have saved me a bunch of time, so I hope it will be useful to somebody else on the list. > > ????Testing iv for encryption > --To test this on your own server, upload the php script where you put cgi's > -- and modify the myURL setting > on testEncryption > put "http://earthexplorer.earthlearningsolutions.org/scgi-bin/wpEncryptionTest.php" into myURL > put "AES-256-CTR" into tCipher > put "AFBDDFCFBDBBDDCCFFACGHDFFFFEEDCC" into tEncryptionKey > put "ABCDEEABCDEEAA%A" into tIV > put "The php should return this text." into tPostA["theQuery"] > put "query" into tPostA["type"] > put ArrayToJSON(tPostA,"string",pPretty) into tJson > encrypt tJson using tCipher with key tEncryptionKey and iV tIV > put base64encode(it) into tMyEncryptedData > post tMyEncryptedData to url myURL > put it into tRet > put tRet into fld "status" > put cr&"num chars: "&(the number of chars in tRet) after fld "status" > put cr&base64decode(tRet) after fld "status" > end testEncryption > > ----------php script, on server --------------------------- > --Note: you can run the above script on my server, > --to test the LC script. > //file: wpEncryptionTest.php > //external function > function debug($msg) { > $debug = false; > if ($debug) { > error_log("[DB LIB] $msg"); > echo "$msg.\n"; > } > } > //php code > $encryption_key = "AFBDDFCFBDBBDDCCFFACGHDFFFFEEDCC"; > $cipher = "AES-256-CTR"; // do not change cipher unless you know what you're doing > $post = file_get_contents('php://input'); > $iv = 'ABCDEEABCDEEAA%A'; > $ivlen = 16; > /* set for debugging. To encrypt, set to TRUE */ > $post = openssl_decrypt($post, $cipher, $encryption_key, $options=0, $iv); > $req = json_decode($post,true); > if (!$req) { > debug("error on decrypt"); > debug(openssl_error_string()); > } > $theOut = $req["theQuery"]; > $tRet = base64_encode("Decrypted query: $theOut.\n"); > echo $tRet; > ?> > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Mon Jun 25 10:47:35 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 25 Jun 2018 10:47:35 -0400 Subject: Stripping styling from the clipboard... In-Reply-To: <164323c6828.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> <164303b73c0.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> <533a094d-33d9-c44f-76cd-dd7c6808bc27@gmail.com> <164323c6828.2761.5e131b4e58299f54a9f0b9c05d4f07f9@hyperactivesw.com> Message-ID: I see...good to know..... thanks J On Sun, Jun 24, 2018 at 10:39 AM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Using an intermediate text editor also works, and would take care of any > UTF8 conversion too if that's causing issues. But since you're in LC > already it might be more convenient to have a handler in a backscript or a > plugin that would do it. > > -- > Jacqueline Landman Gay | jacque at hyperactivesw.com > HyperActive Software | http://www.hyperactivesw.com > On June 24, 2018 9:07:59 AM Richmond Mathewson via use-livecode < > use-livecode at lists.runrev.com> wrote: > > Well that is a pain in the bum! >> >> I suppose I should go through an intermediate stage using a >> plain-vanilla text editor. >> >> Richmond. >> >> On 24/6/2018 8:19 am, J. Landman Gay via use-livecode wrote: >> >>> It happens when a colorized handler is copied directly from the script >>> editor and pasted into a list response. The list only understands >>> plain text, and styled text confuses it. I'm not sure if it happens on >>> all platforms but we've seen it before in other posts. >>> >>> Brian's plaintext handler would come in handy here. >>> >>> -- >>> Jacqueline Landman Gay | jacque at hyperactivesw.com >>> HyperActive Software | http://www.hyperactivesw.com >>> On June 23, 2018 9:25:34 PM Tom Glod via use-livecode >>> wrote: >>> >>> sorry Paul...my bad. >>>> >>>> Richmond..... why does your code paste that way >>>> >>> >>> >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 panos.merakos at livecode.com Mon Jun 25 11:07:44 2018 From: panos.merakos at livecode.com (panagiotis merakos) Date: Mon, 25 Jun 2018 16:07:44 +0100 Subject: [ANN] This Week in LiveCode 134 Message-ID: Hi all, Read about new developments in LiveCode open source and the open source community in today's edition of the "This Week in LiveCode" newsletter! Read issue #134 here: https://goo.gl/gHVa6q This is a weekly newsletter about LiveCode, focussing on what's been going on in and around the open source project. New issues will be released weekly on Mondays. We have a dedicated mailing list that will deliver each issue directly to you e-mail, so you don't miss any! If you have anything you'd like mentioned (a project, a discussion somewhere, an upcoming event) then please get in touch. -- Panagiotis Merakos LiveCode Software Developer Everyone Can Create Apps From bobsneidar at iotecdigital.com Mon Jun 25 11:09:57 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Jun 2018 15:09:57 +0000 Subject: Stripping styling from the clipboard... In-Reply-To: <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <45527617-0be5-4bac-b50a-34d578a49bc8@Spark> <496448d6-193c-59d3-e473-02cb32a3886c@researchware.com> Message-ID: <491FB892-7D1E-4C43-B629-AD3A5F22A26C@iotecdigital.com> Or it's being trapped/interceped somewhere earlier. Have you tried fresh launch (no libraries running) and a new stack? Bob S > On Jun 23, 2018, at 13:07 , Paul Dupuis via use-livecode wrote: > > If I just have a pasteKey handler with a beep (or anything else) as the > sole instruction, the same result, the breakpoint is never triggered. > The pasteKey message appears broken under both Windows and OSX (tested > under 10.9.5) in LC9.0.0? Can anyone confirm this bug? From bobsneidar at iotecdigital.com Mon Jun 25 11:12:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Jun 2018 15:12:38 +0000 Subject: Stripping styling from the clipboard... In-Reply-To: <6e0cd2cd-2dfd-334f-f1e3-732dd225e57e@gmail.com> References: <156bb575-7eec-30f6-6a91-d75e382070a8@researchware.com> <2C3BE936-A8D1-483C-A693-BA72694A45DD@me.com> <131b7229-515c-3702-e2a9-bf3c91cb1672@researchware.com> <6e0cd2cd-2dfd-334f-f1e3-732dd225e57e@gmail.com> Message-ID: <527CAC23-2BF3-4CD7-A933-330995DE7B9D@iotecdigital.com> I always run code from the SE through a plain text editor before pasting on this list. Bob S > On Jun 24, 2018, at 07:04 , Richmond Mathewson via use-livecode wrote: > >> >> Richmond..... why does your code paste that way? >> >> > > I don't know: looks terrible! > > Over "here" on ThunderBird e-mail client on MacOS 10.7.5 that code > was pasted DIRECTLY from the LiveCode scriptEditor . . . > > Richmond. From bobsneidar at iotecdigital.com Mon Jun 25 11:23:57 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Jun 2018 15:23:57 +0000 Subject: Datagrid Behaviors Moved?? Message-ID: Hi all. I enter in the message box: edit the script of the behavior of group "dgCustomers" I get an empty script LC 9 community. Same with other datagrids. Yet the datagrid works as expected. Am I missing something?? Bob S From tom at makeshyft.com Mon Jun 25 11:26:30 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 25 Jun 2018 11:26:30 -0400 Subject: Datagrid Behaviors Moved?? In-Reply-To: References: Message-ID: the scripts got moved over to script only stacks in v9....i had the same experience just yesterday.... list the ide stacks and its in there....look for the one with the most amount of lines. On Mon, Jun 25, 2018 at 11:23 AM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi all. > > I enter in the message box: > > edit the script of the behavior of group "dgCustomers" > > I get an empty script LC 9 community. Same with other datagrids. Yet the > datagrid works as expected. Am I missing something?? > > 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 Mon Jun 25 11:37:08 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Jun 2018 15:37:08 +0000 Subject: Datagrid Behaviors Moved?? In-Reply-To: References: Message-ID: <8264060A-4E2E-4C7C-A0D4-70ABA00290D6@iotecdigital.com> Ahah! So the correct syntax would be: edit the script of the behavior of the behavior of group "dgCustomers" Bob S > On Jun 25, 2018, at 08:26 , Tom Glod via use-livecode wrote: > > the scripts got moved over to script only stacks in v9....i had the same > experience just yesterday.... list the ide stacks and its in there....look > for the one with the most amount of lines. From bobsneidar at iotecdigital.com Mon Jun 25 11:44:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Mon, 25 Jun 2018 15:44:38 +0000 Subject: Datagrid Behaviors Moved?? In-Reply-To: <8264060A-4E2E-4C7C-A0D4-70ABA00290D6@iotecdigital.com> References: <8264060A-4E2E-4C7C-A0D4-70ABA00290D6@iotecdigital.com> Message-ID: Whoa! Just discovered that when the datagrid library sends selectionChanged to a datagrid, it passes 2 parameters: sHilitedIndexes and pPreviouslyHilitedIndexes! Well THAT is a useful tidbit of information! I go to some effort to save the prior selection in a custom property of each datagrid, so I can compare values in the old and new selection! With These parameters I don't need to do that anymore! How many other golden nuggets can be found there? Bob S > On Jun 25, 2018, at 08:37 , Bob Sneidar via use-livecode wrote: > > Ahah! So the correct syntax would be: > > edit the script of the behavior of the behavior of group "dgCustomers" > > Bob S From tom at makeshyft.com Mon Jun 25 11:50:46 2018 From: tom at makeshyft.com (Tom Glod) Date: Mon, 25 Jun 2018 11:50:46 -0400 Subject: Datagrid Behaviors Moved?? In-Reply-To: References: <8264060A-4E2E-4C7C-A0D4-70ABA00290D6@iotecdigital.com> Message-ID: thats a good tip for me as well..thanks Bob. you are right..... looking at the handlers in there is pretty helpful, there may be a bunch of undocumented nuggz. On Mon, Jun 25, 2018 at 11:44 AM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Whoa! Just discovered that when the datagrid library sends > selectionChanged to a datagrid, it passes 2 parameters: sHilitedIndexes and > pPreviouslyHilitedIndexes! Well THAT is a useful tidbit of information! I > go to some effort to save the prior selection in a custom property of each > datagrid, so I can compare values in the old and new selection! With These > parameters I don't need to do that anymore! > > How many other golden nuggets can be found there? > > Bob S > > > > On Jun 25, 2018, at 08:37 , Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Ahah! So the correct syntax would be: > > > > edit the script of the behavior of the behavior of group "dgCustomers" > > > > 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 waprothero at gmail.com Mon Jun 25 12:41:18 2018 From: waprothero at gmail.com (William Prothero) Date: Mon, 25 Jun 2018 09:41:18 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> Message-ID: <33AF3F2B-4521-4C38-8D92-C570450276F8@gmail.com> Corrections to the posted code: I changed the code to encrypt the returned text. I also note that using openSSL in php returns base64 data. Bill --------temp, testing iv for encryption --To test this on your own server, upload the php script where you put cgi's -- and modify the myURL setting. //Be sure to change the encryption key and tiv value on testEncryption put "http://earthexplorer.earthlearningsolutions.org/scgi-bin/wpEncryptionTest.php" into myURL put "AES-256-CTR" into tCipher put "AFBDDFCFBDBBDDCCFFACGHDFFFFEEDCC" into tEncryptionKey //must be 43 chars put "ABCDEEABCDEEAA%A" into tIV //must be 16 chars put "The php should return this text." into tPostA["theQuery"] put "query" into tPostA["type"] put ArrayToJSON(tPostA,"string",pPretty) into tJson encrypt tJson using tCipher with key tEncryptionKey and iV tIV put base64encode(it) into tMyEncryptedData post tMyEncryptedData to url myURL put it into tRet put tRet into fld "status" ?Note that openSSL in php returns base64 encoded data. put base64decode(tRet) into tRetVal decrypt tRetVal using tCipher with key tEncryptionKey and iV tIV put it into theResult put theResult after fld "status" end testEncryption ----------php script, on server --------------------------- --Note: you can run the above script on my server, --to test the LC script. William A. Prothero http://earthlearningsolutions.org From ahsoftware at sonic.net Mon Jun 25 12:54:18 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 25 Jun 2018 09:54:18 -0700 Subject: Examples of encryption for database access In-Reply-To: <677A939F-B639-4097-A466-70BA022218E2@gmail.com> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> Message-ID: <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> Bill- Nicely done. For security though, I wouldn't store the encryption keys in either the LC stack or (especially) the php script. In the php script you can set the environment variable on the server and then access it as $encryption_key = .$_ENV["ENCRYPTION_KEY"] Same thing, obviously, for the initialization vector. On the LC end of things, it depends on whether you're distributing the stack as a standalone application or whether you have control over the environment the stack is running in. If you're in control of the environment then you can do something similar: set environment variables and then pick them up in the LC script. If you're distributing the stack to others, then I'd probably obfuscate the keys as much as possible: put them into an array with numeric keys, encrypt the array, store it in a custom property of some non-related object... if you need to distribute a stack without password protection I don't think there's any way to be completely secure, but there are ways to at least pretend to hide the keys. [semi-related isue] be careful with lines like $post = file_get_contents('php://input'); Your test code should be fine, but if you're interacting with a database you'll want to scrub the input before acting on it. -- Mark Wieder ahsoftware at gmail.com From waprothero at gmail.com Mon Jun 25 13:16:13 2018 From: waprothero at gmail.com (William Prothero) Date: Mon, 25 Jun 2018 10:16:13 -0700 Subject: Examples of encryption for database access In-Reply-To: <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> Message-ID: <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> Mark: Thanks so much! This is just the advice I needed. I was wondering about the security of the keys. I?m setting up a general db library stack. One of the apps will be distributed for free to teachers and students. The other apps are mobile and will be used either by me alone, or distributed to others, possibly through the app store. So, it?s good to get the techniques for securing the db in a variety of environments. Best, Bill > On Jun 25, 2018, at 9:54 AM, Mark Wieder via use-livecode wrote: > > Bill- > > Nicely done. For security though, I wouldn't store the encryption keys in either the LC stack or (especially) the php script. > > In the php script you can set the environment variable on the server and then access it as > > $encryption_key = .$_ENV["ENCRYPTION_KEY"] > > Same thing, obviously, for the initialization vector. > > On the LC end of things, it depends on whether you're distributing the stack as a standalone application or whether you have control over the environment the stack is running in. If you're in control of the environment then you can do something similar: set environment variables and then pick them up in the LC script. If you're distributing the stack to others, then I'd probably obfuscate the keys as much as possible: put them into an array with numeric keys, encrypt the array, store it in a custom property of some non-related object... if you need to distribute a stack without password protection I don't think there's any way to be completely secure, but there are ways to at least pretend to hide the keys. > > > [semi-related isue] > > be careful with lines like > $post = file_get_contents('php://input'); > > Your test code should be fine, but if you're interacting with a database you'll want to scrub the input before acting on it. > > -- > 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 matthias_livecode_150811 at m-r-d.de Mon Jun 25 13:31:54 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Mon, 25 Jun 2018 19:31:54 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean Message-ID: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> Hi, does anyone know what exactly the status ?pending? in the LQCC does mean? Regards, Matthias From 1anmldr1 at gmail.com Mon Jun 25 14:11:11 2018 From: 1anmldr1 at gmail.com (Linda Miller, DVM) Date: Mon, 25 Jun 2018 13:11:11 -0500 Subject: Open source iOS and Android Message-ID: <6D13D20F-616D-4C21-B387-1F0C30D997EC@gmail.com> Thank you, BR, for the suggestion! "Do you know GIT? A lot of us (developers) have "stuff on GIT" . You do a deep search through mailings Search for "https://github.com/ " Linda From merakosp at gmail.com Mon Jun 25 14:20:54 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Mon, 25 Jun 2018 19:20:54 +0100 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> Message-ID: Hi Matthias, Pending status means that the LC team needs to take action in order to confirm (or not confirm) the bug. We usually set this status when a bug requires a bit of setup to test. I assume you ask about the tsnet with LC server issue. Best, Panos On Mon, Jun 25, 2018, 18:32 Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi, > > does anyone know what exactly the status ?pending? in the LQCC does mean? > > 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 matthias_livecode_150811 at m-r-d.de Mon Jun 25 14:31:59 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Mon, 25 Jun 2018 20:31:59 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> Message-ID: <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Hi Panos, thanks for the explanation. And yes, i was asking about the tsNet/LC server issue. I am in urgent need to get it working. Btw., as it even does not work on your own hosting platform On-Rev/Livecode Hosting, did someone at Livecode ever used tsNet with LC server successfully? And if so, which OS and which LC server was used? Regards, Matthias > Am 25.06.2018 um 20:20 schrieb panagiotis merakos via use-livecode : > > Hi Matthias, > > Pending status means that the LC team needs to take action in order to > confirm (or not confirm) the bug. We usually set this status when a bug > requires a bit of setup to test. I assume you ask about the tsnet with LC > server issue. > > Best, > Panos > > On Mon, Jun 25, 2018, 18:32 Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi, >> >> does anyone know what exactly the status ?pending? in the LQCC does mean? >> >> 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 > _______________________________________________ > use-livecode mailing list > use-livecode 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 merakosp at gmail.com Mon Jun 25 16:01:53 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Mon, 25 Jun 2018 21:01:53 +0100 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: I have it working with LC Server 9 on an Ubuntu 16.04 64bit but only tested on localhost. But if I remember correctly there are a couple of people using tsnet with LC server on an actual server (Ralf maybe??) Folks if you read this and use tsnet with LC Server could you share some details about your setup? Cheers, Panos -- On Mon, Jun 25, 2018, 19:32 Matthias Rebbe via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Panos, > > thanks for the explanation. > > And yes, i was asking about the tsNet/LC server issue. I am in urgent need > to get it working. > > Btw., as it even does not work on your own hosting platform > On-Rev/Livecode Hosting, did someone at Livecode ever used tsNet with LC > server successfully? > And if so, which OS and which LC server was used? > > Regards, > > Matthias > > > > Am 25.06.2018 um 20:20 schrieb panagiotis merakos via use-livecode < > use-livecode at lists.runrev.com>: > > > > Hi Matthias, > > > > Pending status means that the LC team needs to take action in order to > > confirm (or not confirm) the bug. We usually set this status when a bug > > requires a bit of setup to test. I assume you ask about the tsnet with LC > > server issue. > > > > Best, > > Panos > > > > On Mon, Jun 25, 2018, 18:32 Matthias Rebbe via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Hi, > >> > >> does anyone know what exactly the status ?pending? in the LQCC does > mean? > >> > >> 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 > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 waprothero at gmail.com Mon Jun 25 17:17:25 2018 From: waprothero at gmail.com (William Prothero) Date: Mon, 25 Jun 2018 14:17:25 -0700 Subject: Examples of encryption for database access In-Reply-To: <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> Message-ID: Mark: I?ve been exploring, Googling, and my Web Host Manager to figure out where to set the environmental variables for the security keys. It might be nice if I could set different values for different subdomains on my server, but my Web Host Manager program states that it will put a copy of the keys in the .htaccess file. Is the .htaccess file for a domain a secure place to put the keys? I?ve put in a support ticket to my web host manager, but I?m not confident they know anything about security, so any bit of wisdom from you would be great. Best, Bill > On Jun 25, 2018, at 10:16 AM, William Prothero via use-livecode wrote: > >> On Jun 25, 2018, at 9:54 AM, Mark Wieder via use-livecode wrote: >> >> Bill- >> >> Nicely done. For security though, I wouldn't store the encryption keys in either the LC stack or (especially) the php script. >> >> In the php script you can set the environment variable on the server and then access it as >> >> $encryption_key = .$_ENV["ENCRYPTION_KEY"] >> >> Same thing, obviously, for the initialization vector. >> >> On the LC end of things, it depends on whether you're distributing the stack as a standalone application or whether you have control over the environment the stack is running in. If you're in control of the environment then you can do something similar: set environment variables and then pick them up in the LC script. If you're distributing the stack to others, then I'd probably obfuscate the keys as much as possible: put them into an array with numeric keys, encrypt the array, store it in a custom property of some non-related object... if you need to distribute a stack without password protection I don't think there's any way to be completely secure, but there are ways to at least pretend to hide the keys. >> >> >> [semi-related isue] >> >> be careful with lines like >> $post = file_get_contents('php://input'); >> >> Your test code should be fine, but if you're interacting with a database you'll want to scrub the input before acting on it. >> >> -- >> Mark Wieder >> ahsoftware at gmail.com >> From dan at clearvisiontech.com Mon Jun 25 18:56:16 2018 From: dan at clearvisiontech.com (Dan Friedman) Date: Mon, 25 Jun 2018 22:56:16 +0000 Subject: Browser Widget Layer on mobile In-Reply-To: <> Message-ID: <16BE939D-5E4B-4F5F-B624-AE6404579582@clearvisiontech.com> Monte, Ok, good to know I wasn?t losing my mind! I have put in the bug report. I have to release this app in about a month. Maybe it will get fixed by then. https://quality.livecode.com/show_bug.cgi?id=21386 Thank you!! > Hi Dan > > This sounds like a bug to me. For widgets that are in groups we create an extra container layer view to put them in so they should be clipped to the group rect and also as close as possible respect the layering of objects on the card. It sounds like it?s working correctly for you on mac but not on iOS. Could you open a report with an example stack please? > > Cheers > > Monte > On 24 Jun 2018, at 3:49 am, Dan Friedman via use-livecode > wrote: > > Brian, > > I think that?s true for Native Controls, but I?m seeing different results for the bowser widget. I find that if I put the bowser widget in a group, it draws within the group?s bounds like other controls. What I?m experiencing is that on Mobile (at least iOS), it?s acting like a standard native control, not like it does on desktop. > > -Dan > >> I may not be stating it in the right terms, but native controls are above everything else in their own layer. > > >>> I am working on a mobile app where I have a bowser widget in a group that is scrollable. It scrolls just fine (frankly, smoother that I thought it would!). However, there is a problem when the widget gets scrolled past the bounds of the group?s rect. On my mac, it?s working correctly, but on a real device (and the simulator), the bowser widget is being shown even outside the rect of the group ? like it?s not in the group. >>> >>> Here?s a screen shot of what I?m talking about: http://www.clearvisiontech.com/temp/sampleImage.jpg >>> >>> Any thoughts or advise are appreciated! >>> >>> -Dan From ahsoftware at sonic.net Mon Jun 25 19:04:44 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Mon, 25 Jun 2018 16:04:44 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> Message-ID: On 06/25/2018 02:17 PM, William Prothero via use-livecode wrote: > Mark: > I?ve been exploring, Googling, and my Web Host Manager to figure out where to set the environmental variables for the security keys. It might be nice if I could set different values for different subdomains on my server, but my Web Host Manager program states that it will put a copy of the keys in the .htaccess file. Is the .htaccess file for a domain a secure place to put the keys? Yes, that's a proper place to initialize server variables, and especially if you want different values for different subdomains, as you'll have a separate .htaccess file for each subdomain. In *theory* nobody has access to the . files except you. The .htaccess line will look something like SetEnv name value -- Mark Wieder ahsoftware at gmail.com From waprothero at gmail.com Mon Jun 25 19:34:22 2018 From: waprothero at gmail.com (William Prothero) Date: Mon, 25 Jun 2018 16:34:22 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> Message-ID: Mark: Thanks, that makes it a lot easier. I have been tearing my limited hair out over trying to set Apache environmental variables and deleted a load of files on my server, accidentally. This I can do. Best, Bill > On Jun 25, 2018, at 4:04 PM, Mark Wieder via use-livecode wrote: > > On 06/25/2018 02:17 PM, William Prothero via use-livecode wrote: >> Mark: >> I?ve been exploring, Googling, and my Web Host Manager to figure out where to set the environmental variables for the security keys. It might be nice if I could set different values for different subdomains on my server, but my Web Host Manager program states that it will put a copy of the keys in the .htaccess file. Is the .htaccess file for a domain a secure place to put the keys? > > Yes, that's a proper place to initialize server variables, and especially if you want different values for different subdomains, as you'll have a separate .htaccess file for each subdomain. In *theory* nobody has access to the . files except you. > > The .htaccess line will look something like > > SetEnv name value > > -- > 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 brian at milby7.com Mon Jun 25 23:57:18 2018 From: brian at milby7.com (Brian Milby) Date: Mon, 25 Jun 2018 23:57:18 -0400 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> Message-ID: One thing this misses is that the IV is not another private key/password. It should be random/different for every use of the key. https://en.m.wikipedia.org/wiki/Initialization_vector https://crypto.stackexchange.com/questions/3965/what-is-the-main-difference-between-a-key-an-iv-and-a-nonce https://security.stackexchange.com/questions/35210/encrypting-using-aes-256-do-i-need-iv On Jun 25, 2018, 7:34 PM -0400, William Prothero via use-livecode , wrote: > Mark: > Thanks, that makes it a lot easier. I have been tearing my limited hair out over trying to set Apache environmental variables and deleted a load of files on my server, accidentally. > > This I can do. > Best, > Bill > > > > On Jun 25, 2018, at 4:04 PM, Mark Wieder via use-livecode wrote: > > > > On 06/25/2018 02:17 PM, William Prothero via use-livecode wrote: > > > Mark: > > > I?ve been exploring, Googling, and my Web Host Manager to figure out where to set the environmental variables for the security keys. It might be nice if I could set different values for different subdomains on my server, but my Web Host Manager program states that it will put a copy of the keys in the .htaccess file. Is the .htaccess file for a domain a secure place to put the keys? > > > > Yes, that's a proper place to initialize server variables, and especially if you want different values for different subdomains, as you'll have a separate .htaccess file for each subdomain. In *theory* nobody has access to the . files except you. > > > > The .htaccess line will look something like > > > > SetEnv name value > > > > -- > > 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 alanstenhouse at hotmail.com Tue Jun 26 02:34:08 2018 From: alanstenhouse at hotmail.com (Alan) Date: Tue, 26 Jun 2018 06:34:08 +0000 Subject: Machine Learning in LC? Message-ID: Has anyone integrated any machine learning models in LiveCode at all? Anyone experimenting with it? Just considering having a play with TensorFlow.js and seeing if it'll work... Any hints/ideas welcome! cheers Alan From zryip.theslug at gmail.com Tue Jun 26 03:27:36 2018 From: zryip.theslug at gmail.com (zryip theSlug) Date: Tue, 26 Jun 2018 09:27:36 +0200 Subject: Datagrid Behaviors Moved?? In-Reply-To: References: <8264060A-4E2E-4C7C-A0D4-70ABA00290D6@iotecdigital.com> Message-ID: Such as custom header templates? 8) On Mon, Jun 25, 2018 at 5:50 PM, Tom Glod via use-livecode < use-livecode at lists.runrev.com> wrote: > thats a good tip for me as well..thanks Bob. you are right..... looking at > the handlers in there is pretty helpful, there may be a bunch of > undocumented nuggz. > > On Mon, Jun 25, 2018 at 11:44 AM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > Whoa! Just discovered that when the datagrid library sends > > selectionChanged to a datagrid, it passes 2 parameters: sHilitedIndexes > and > > pPreviouslyHilitedIndexes! Well THAT is a useful tidbit of information! I > > go to some effort to save the prior selection in a custom property of > each > > datagrid, so I can compare values in the old and new selection! With > These > > parameters I don't need to do that anymore! > > > > How many other golden nuggets can be found there? > > > > Bob S > > > > > > > On Jun 25, 2018, at 08:37 , Bob Sneidar via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > > > > Ahah! So the correct syntax would be: > > > > > > edit the script of the behavior of the behavior of group "dgCustomers" > > > > > > 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 > -- Zryip TheSlug http://www.aslugontheroad.com From brahma at hindu.org Tue Jun 26 11:02:07 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 26 Jun 2018 15:02:07 +0000 Subject: Remote URL Not Available Message-ID: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> Our app has contains content "in the package" and content streamed from "the cloud" It?s a bit new to me dealing with TsNet, latency issues, timeout, and to give the user feedback on status? it's a challenge?So 1 question at a time: How do you determine that a URL is not available *before* you set a [player object, stream the text, show a slide, pick a YouTube etc]? One could obvious ping it and test for "404 page not found" , but the server may respond with any number of messages. Rather than checking all those, in there is way to do this? put exists(sRemoteURL) into sRemoteURLAvailable return sRemoteURLAvailable So if it return "true" ; you can proceed with operations? If not, inform user... Is there a header that you would get, if the URL were available? BR From tfabacher at gmail.com Tue Jun 26 11:12:34 2018 From: tfabacher at gmail.com (Todd Fabacher) Date: Tue, 26 Jun 2018 11:12:34 -0400 Subject: WordPress REST API's Message-ID: > Hmmm...maybe Todd can chime in on this ....I asked him a a few months back > if it was good and safe to use in production...he said absolutely...so i > kinda passed that on. Yes, sorry I was a speaking at a conference. Hi Steve, I am happy to help. There are several ways to connect to the WP REST API. UN/PW is one and OAuth is another. You will need to add a plugin to WP to use the OAuth. I will ask the team and get that for you. >From version 4.7, the REST API ver2.0 is supported inside WP. You will need to activate and allow it. I suggest checking the documentation first: https://developer.wordpress.org/rest-api/ What you can also do is use postman to validate that everything is working and your server is good to go. This way you can know if it is a server issue or the connection issue from LC. Our code supports ver 2.0 so it should not be an issue, and we have sites that use it. Honestly, we switched to (Node.JS + Anguar) for most web development, so we will not be using WP going forward, but we are happy to help. You can email me directly tfabacher at gmail.com and I will try to help you. --Todd From bobsneidar at iotecdigital.com Tue Jun 26 11:14:05 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 15:14:05 +0000 Subject: Remote URL Not Available In-Reply-To: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> References: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> Message-ID: <94DE88D6-8BB2-4EB0-B7B2-584A1F29C141@iotecdigital.com> To see if the server is listening on a given port, use telnet You should get some kind of response within a reasonable period of time. If you know the IP of the server use that instead of the name and you can avoid DNS latency. Ping will only tell you if the server is on and accessible. As far as page not found, I don't think there is an easy way to check if a page is *going* to be available before you go there. But if the server is listening on the correct port, but no delivering pages, the issue is internal with the server, hence the error codes. Bob S > On Jun 26, 2018, at 08:02 , Sannyasin Brahmanathaswami via use-livecode wrote: > > Our app has contains content "in the package" and content streamed from "the cloud" > > It?s a bit new to me dealing with TsNet, latency issues, timeout, and to give the user feedback on status? it's a challenge?So 1 question at a time: > > How do you determine that a URL is not available *before* you set a [player object, stream the text, show a slide, pick a YouTube etc]? > > One could obvious ping it and test for "404 page not found" , but the server may respond with any number of messages. Rather than checking all those, in there is way to do this? > > put exists(sRemoteURL) into sRemoteURLAvailable > return sRemoteURLAvailable > > So if it return "true" ; you can proceed with operations? If not, inform user... > > Is there a header that you would get, if the URL were available? > > 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 MikeKerner at roadrunner.com Tue Jun 26 12:08:22 2018 From: MikeKerner at roadrunner.com (Mike Kerner) Date: Tue, 26 Jun 2018 12:08:22 -0400 Subject: tsnet dialog Message-ID: I am catching lc errors, but if tsnet runs into something, it throws up a dialog, anyway. For example I have multiple wifi zones in my house. Some of those are a good distance away from where I might be. When my lappie auto-connects to one of them, the connection will naturally be slow. In that case, when LC hits a network issue, it will throw up a dialog saying that tsnet has been encountering a slow network connection for the last 30 seconds. That's a bit of a problem if the script I'm trying to run is supposed to run continuously. I suppose I could crank up the timeout, but I'd rather not have the dialog, no matter what happens. -- 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 andrew at midwestcoastmedia.com Tue Jun 26 12:11:04 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Tue, 26 Jun 2018 16:11:04 +0000 Subject: iOS 12 compatibility Message-ID: <20180626161104.Horde.yJZ2sO6td8NattEWGPd3vfw@ua850258.serversignin.com> I know the devs are working on including the new version of Xcode, but has anyone tried to run their apps in the iOS 12 beta? I installed it on my iPad and haven't had ANY luck. Every app that I've made (app store official & ad hoc install) either crashes or goes to black screen on iOS 12. I didn't test iOS 10 before it was launched and ended up making a mad dash to modify and recompile my apps because they stopped working with something that Apple cooked up (iOS 9 was my first app release). iOS 11 was a smooth transition for me, and iOS 12 may end up being the same, but I'm curious if anyone has has tested their work. --Andrew Bell From smaclean at madmansoft.com Tue Jun 26 12:27:05 2018 From: smaclean at madmansoft.com (Stephen MacLean) Date: Tue, 26 Jun 2018 12:27:05 -0400 Subject: WordPress REST API's In-Reply-To: References: Message-ID: <6F722CE5-0C75-418D-B684-4142E811C0B4@madmansoft.com> Hi Todd, Thanks for the input? I was able to get it working, as you said, you need an oAuth plugin which I got and am able to connect fine. Didn?t know about postman and will check that out. I?ve had good success with the library, just some minor tweaks? working good. Will have to check out Node.JS + Angular. For now, we have to use WP to get out the door. Going forward later on, could be an option. I?ll be in touch. Best, Steve MacLean > On Jun 26, 2018, at 11:12 AM, Todd Fabacher via use-livecode wrote: > >> Hmmm...maybe Todd can chime in on this ....I asked him a a few months back >> if it was good and safe to use in production...he said absolutely...so i >> kinda passed that on. > > > Yes, sorry I was a speaking at a conference. Hi Steve, I am happy to help. > There are several ways to connect to the WP REST API. UN/PW is one and > OAuth is another. You will need to add a plugin to WP to use the OAuth. I > will ask the team and get that for you. > > > From version 4.7, the REST API ver2.0 is supported inside WP. You will need > to activate and allow it. I suggest checking the documentation first: > https://developer.wordpress.org/rest-api/ > > What you can also do is use postman to validate that everything is working > and your server is good to go. This way you can know if it is a server > issue or the connection issue from LC. > > Our code supports ver 2.0 so it should not be an issue, and we have sites > that use it. Honestly, we switched to (Node.JS + Anguar) for most web > development, so we will not be using WP going forward, but we are happy to > help. You can email me directly tfabacher at gmail.com and I will try to help > you. > > --Todd > _______________________________________________ > use-livecode mailing list > use-livecode 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 merakosp at gmail.com Tue Jun 26 12:45:42 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Tue, 26 Jun 2018 17:45:42 +0100 Subject: iOS 12 compatibility In-Reply-To: <20180626161104.Horde.yJZ2sO6td8NattEWGPd3vfw@ua850258.serversignin.com> References: <20180626161104.Horde.yJZ2sO6td8NattEWGPd3vfw@ua850258.serversignin.com> Message-ID: Hi Andrew, oh what fun! I will install iOS 12 beta in one of our office devices and investigate tomorrow. After a quick google search it seems that other non-LC apps crash on startup on iOS 12 beta, so probably Apple has changed something. BTW what version of LC / MacOS/ Xcode did you use to build the standalone(s)? Best, Panos -- On Tue, Jun 26, 2018 at 5:11 PM, Andrew Bell via use-livecode < use-livecode at lists.runrev.com> wrote: > I know the devs are working on including the new version of Xcode, but has > anyone tried to run their apps in the iOS 12 beta? I installed it on my > iPad and haven't had ANY luck. Every app that I've made (app store official > & ad hoc install) either crashes or goes to black screen on iOS 12. > > I didn't test iOS 10 before it was launched and ended up making a mad dash > to modify and recompile my apps because they stopped working with something > that Apple cooked up (iOS 9 was my first app release). iOS 11 was a smooth > transition for me, and iOS 12 may end up being the same, but I'm curious if > anyone has has tested their work. > > --Andrew Bell > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 midwestcoastmedia.com Tue Jun 26 13:46:31 2018 From: andrew at midwestcoastmedia.com (andrew at midwestcoastmedia.com) Date: Tue, 26 Jun 2018 17:46:31 +0000 Subject: iOS 12 compatibility In-Reply-To: References: <20180626161104.Horde.yJZ2sO6td8NattEWGPd3vfw@ua850258.serversignin.com> Message-ID: <20180626174631.Horde.W84Pk12Y0zocojvWNRJHV6Y@ua850258.serversignin.com> We're far enough out from the iOS 12 launch that I wasn't overly concerned, but it's open for public beta now so I'm sure to get some support emails from bleeding-edge technologists. LC 9.0 macOS 10.11.5 Xcode 8.2 --Andrew Bell Quoting panagiotis merakos : > Hi Andrew, > > oh what fun! > > I will install iOS 12 beta in one of our office devices and investigate > tomorrow. After a quick google search it seems that other non-LC apps crash > on startup on iOS 12 beta, so probably Apple has changed something. > > BTW what version of LC / MacOS/ Xcode did you use to build the > standalone(s)? > > Best, > Panos > -- > > On Tue, Jun 26, 2018 at 5:11 PM, Andrew Bell via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> I know the devs are working on including the new version of Xcode, but has >> anyone tried to run their apps in the iOS 12 beta? I installed it on my >> iPad and haven't had ANY luck. Every app that I've made (app store official >> & ad hoc install) either crashes or goes to black screen on iOS 12. >> >> I didn't test iOS 10 before it was launched and ended up making a mad dash >> to modify and recompile my apps because they stopped working with something >> that Apple cooked up (iOS 9 was my first app release). iOS 11 was a smooth >> transition for me, and iOS 12 may end up being the same, but I'm curious if >> anyone has has tested their work. >> >> --Andrew Bell >> From brahma at hindu.org Tue Jun 26 13:58:09 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Tue, 26 Jun 2018 17:58:09 +0000 Subject: Remote URL Not Available In-Reply-To: <94DE88D6-8BB2-4EB0-B7B2-584A1F29C141@iotecdigital.com> References: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> <94DE88D6-8BB2-4EB0-B7B2-584A1F29C141@iotecdigital.com> Message-ID: <03C0047F-2D11-4C3C-A728-CC5579F68300@hindu.org> Thanks Bob.. For years if been keeping a ping.txt file on the server. It contains "true" which tell me the server is available. Interesting enough, apple does the almost the thing. That suffices for the server. I agree that there in no way " to check if a page is *going* to be available" before you go there. I was thinking, if it "is" available, then we check into the header for one "param" that would be "true". If we can avoid checking all errors. Other the hand, error codes is a finite list so possible we can check with the small list of 5,6 errors code. Brahmanathaswami ?On 6/26/18, 5:17 AM, "use-livecode on behalf of Bob Sneidar via use-livecode" wrote: To see if the server is listening on a given port, use telnet You should get some kind of response within a reasonable period of time. If you know the IP of the server use that instead of the name and you can avoid DNS latency. Ping will only tell you if the server is on and accessible. As far as page not found, I don't think there is an easy way to check if a page is *going* to be available before you go there. But if the server is listening on the correct port, but no delivering pages, the issue is internal with the server, hence the error codes. Bob S From rabit at revigniter.com Tue Jun 26 14:12:48 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Tue, 26 Jun 2018 20:12:48 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: Panos, did tsNet tests only on localhost like you, using 64-bit Ubuntu 16.04 and 64-bit Ubuntu 16.04 Server. In a nutshell following the results of my tests: - There is bug 18961. An issue regarding tsNetSendCmd() is presumably related. Other Indy features work as expected. - Although the business version licensing error is fixed the business features still don?t work. (As soon as I have enough spare time I will start filing bug reports, one by one.) - On On-Rev using LC server 9 tsNet does not work at all because glibc needs to be upgraded as I was told by support. Custom directives in ~/.bashrc didn?t help, these seem to be ignored by Apache. - Don?t think about using tsNet in a LC server / Mac OS environment. Ralf > On 25. Jun 2018, at 22:01, panagiotis merakos via use-livecode wrote: > > I have it working with LC Server 9 on an Ubuntu 16.04 64bit but only tested > on localhost. But if I remember correctly there are a couple of people > using tsnet with LC server on an actual server (Ralf maybe??) From jacque at hyperactivesw.com Tue Jun 26 15:55:39 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 26 Jun 2018 14:55:39 -0500 Subject: Remote URL Not Available In-Reply-To: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> References: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> Message-ID: <2fe553d0-5ee5-ca5f-8165-dfbaa97c9dc2@hyperactivesw.com> On 6/26/18 10:02 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > How do you determine that a URL is not available*before* you set a [player object, stream the text, show a slide, pick a YouTube etc]? > > One could obvious ping it and test for "404 page not found" , but the server may respond with any number of messages. Rather than checking all those, in there is way to do this? I've used this: get url tURL put the result into tNetworkErr put it into tData If the result isn't empty then there has been an error. Otherwise, you can do something with the data in the "it" variable. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Tue Jun 26 16:13:30 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 20:13:30 +0000 Subject: Behaviors not honoring script local variables?? Message-ID: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> Hi all. I have a behavior script with a handler: local cTableName, cDGName, cPriKey, cAltTable1 on getStackConstants pParentStack -- retrieve stack constants from stack property put the stackConstants of pParentStack into aStackConstants put the keys of aStackConstants into tConstantList repeat for each line tConstant in tConstantList do "put " & quote & aStackConstants [tConstant] & quote & " into " & tConstant end repeat end getStackConstants When I trace the handler, it does indeed set the values for the local variables, but as soon as the handler exits, the script local variables are all reset! This does not happen when I do the same thing in an object script. Is there something about behaviors preventing script local variables from retaining their values?? Bob S From bobsneidar at iotecdigital.com Tue Jun 26 16:19:12 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 20:19:12 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> Message-ID: <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> Works with globals, but not script locals. Bob S > On Jun 26, 2018, at 13:13 , Bob Sneidar via use-livecode wrote: > > Hi all. > > I have a behavior script with a handler: > > local cTableName, cDGName, cPriKey, cAltTable1 > > on getStackConstants pParentStack > -- retrieve stack constants from stack property > put the stackConstants of pParentStack into aStackConstants > put the keys of aStackConstants into tConstantList > > repeat for each line tConstant in tConstantList > do "put " & quote & aStackConstants [tConstant] & quote & " into " & tConstant > end repeat > end getStackConstants > > When I trace the handler, it does indeed set the values for the local variables, but as soon as the handler exits, the script local variables are all reset! This does not happen when I do the same thing in an object script. Is there something about behaviors preventing script local variables from retaining their values?? > > Bob S From jacque at hyperactivesw.com Tue Jun 26 16:30:18 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Tue, 26 Jun 2018 15:30:18 -0500 Subject: Behaviors not honoring script local variables?? In-Reply-To: <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> Message-ID: Every instance of a behavior maintains its own separate variable values. This is a feature. Globals are the solution if you want them to share the values. On 6/26/18 3:19 PM, Bob Sneidar via use-livecode wrote: > Works with globals, but not script locals. > > Bob S > > >> On Jun 26, 2018, at 13:13 , Bob Sneidar via use-livecode wrote: >> >> Hi all. >> >> I have a behavior script with a handler: >> >> local cTableName, cDGName, cPriKey, cAltTable1 >> >> on getStackConstants pParentStack >> -- retrieve stack constants from stack property >> put the stackConstants of pParentStack into aStackConstants >> put the keys of aStackConstants into tConstantList >> >> repeat for each line tConstant in tConstantList >> do "put " & quote & aStackConstants [tConstant] & quote & " into " & tConstant >> end repeat >> end getStackConstants >> >> When I trace the handler, it does indeed set the values for the local variables, but as soon as the handler exits, the script local variables are all reset! This does not happen when I do the same thing in an object script. Is there something about behaviors preventing script local variables from retaining their values?? >> >> 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 > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From bobsneidar at iotecdigital.com Tue Jun 26 16:41:19 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 20:41:19 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> Message-ID: <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> > On Jun 26, 2018, at 13:30 , J. Landman Gay via use-livecode wrote: > > Every instance of a behavior maintains its own separate variable values. This is a feature. Globals are the solution if you want them to share the values. > I don't want to share the variables. I want them to be local to the script. The trouble is, they reset as soon as the handler exits. Inside the handler, they all seem to be fine! And ONLY the openStack handler seems to be having the issue, because any other handler, even preOpenStack will retain the script local values! GAH! Bob S From tom at makeshyft.com Tue Jun 26 16:42:20 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 26 Jun 2018 16:42:20 -0400 Subject: Behaviors not honoring script local variables?? In-Reply-To: References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> Message-ID: yup.... a feature that makes lc driven datagrid possible. :) and many other things. On Tue, Jun 26, 2018 at 4:30 PM, J. Landman Gay via use-livecode < use-livecode at lists.runrev.com> wrote: > Every instance of a behavior maintains its own separate variable values. > This is a feature. Globals are the solution if you want them to share the > values. > > > On 6/26/18 3:19 PM, Bob Sneidar via use-livecode wrote: > >> Works with globals, but not script locals. >> >> Bob S >> >> >> On Jun 26, 2018, at 13:13 , Bob Sneidar via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> Hi all. >>> >>> I have a behavior script with a handler: >>> >>> local cTableName, cDGName, cPriKey, cAltTable1 >>> >>> on getStackConstants pParentStack >>> -- retrieve stack constants from stack property >>> put the stackConstants of pParentStack into aStackConstants >>> put the keys of aStackConstants into tConstantList >>> >>> repeat for each line tConstant in tConstantList >>> do "put " & quote & aStackConstants [tConstant] & quote & " into >>> " & tConstant >>> end repeat >>> end getStackConstants >>> >>> When I trace the handler, it does indeed set the values for the local >>> variables, but as soon as the handler exits, the script local variables are >>> all reset! This does not happen when I do the same thing in an object >>> script. Is there something about behaviors preventing script local >>> variables from retaining their values?? >>> >>> 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 >> >> > > -- > 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 tom at makeshyft.com Tue Jun 26 16:44:56 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 26 Jun 2018 16:44:56 -0400 Subject: Behaviors not honoring script local variables?? In-Reply-To: <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> Message-ID: hmmmm.. .... look inside the preferences to the script editor..... try to see if "variable preservation" helps you..i think its an engine property. On Tue, Jun 26, 2018 at 4:41 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > > > > On Jun 26, 2018, at 13:30 , J. Landman Gay via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Every instance of a behavior maintains its own separate variable values. > This is a feature. Globals are the solution if you want them to share the > values. > > > > I don't want to share the variables. I want them to be local to the > script. The trouble is, they reset as soon as the handler exits. Inside the > handler, they all seem to be fine! And ONLY the openStack handler seems to > be having the issue, because any other handler, even preOpenStack will > retain the script local values! GAH! > > 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 Tue Jun 26 16:49:24 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 20:49:24 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> Message-ID: <28DC2A79-BCBA-471E-8723-FC60BF3D712B@iotecdigital.com> Yes, well for whatever reason it's working now. I didn't change anything, I just quit and relaunched. It may be some kind of topstack issue where the topstack is changing and I don't know it's happening. Bob S > On Jun 26, 2018, at 13:44 , Tom Glod via use-livecode wrote: > > hmmmm.. .... look inside the preferences to the script editor..... try to > see if "variable preservation" helps you..i think its an engine property. > > On Tue, Jun 26, 2018 at 4:41 PM, Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> >> >>> On Jun 26, 2018, at 13:30 , J. Landman Gay via use-livecode < >> use-livecode at lists.runrev.com> wrote: >>> >>> Every instance of a behavior maintains its own separate variable values. >> This is a feature. Globals are the solution if you want them to share the >> values. >>> >> >> I don't want to share the variables. I want them to be local to the >> script. The trouble is, they reset as soon as the handler exits. Inside the >> handler, they all seem to be fine! And ONLY the openStack handler seems to >> be having the issue, because any other handler, even preOpenStack will >> retain the script local values! GAH! >> >> 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 Tue Jun 26 17:22:10 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 21:22:10 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: <28DC2A79-BCBA-471E-8723-FC60BF3D712B@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> <28DC2A79-BCBA-471E-8723-FC60BF3D712B@iotecdigital.com> Message-ID: <3601DFF9-9270-48B8-9CCB-F349621A8B89@iotecdigital.com> Hmmm... something you said set me to thinking. Suppose I already had the instance of a behavior opened in the script editor with a breakpoint set. I then execute a handler in another object with the same behavior. Which instance is the script editor going to show me?? Ideally, it should open a new script editor window for every instance, otherwise the variable watcher is going to produce unexpected results. It may also confuse the engine, which would explain why I was seeing the results I was seeing, especially if I was terminating execution mid handler for whatever reason. Bob S > On Jun 26, 2018, at 13:49 , Bob Sneidar via use-livecode wrote: > > Yes, well for whatever reason it's working now. I didn't change anything, I just quit and relaunched. It may be some kind of topstack issue where the topstack is changing and I don't know it's happening. > > Bob S > > >> On Jun 26, 2018, at 13:44 , Tom Glod via use-livecode wrote: >> >> hmmmm.. .... look inside the preferences to the script editor..... try to >> see if "variable preservation" helps you..i think its an engine property. >> >> On Tue, Jun 26, 2018 at 4:41 PM, Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> >>> >>>> On Jun 26, 2018, at 13:30 , J. Landman Gay via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>>> >>>> Every instance of a behavior maintains its own separate variable values. >>> This is a feature. Globals are the solution if you want them to share the >>> values. >>>> >>> >>> I don't want to share the variables. I want them to be local to the >>> script. The trouble is, they reset as soon as the handler exits. Inside the >>> handler, they all seem to be fine! And ONLY the openStack handler seems to >>> be having the issue, because any other handler, even preOpenStack will >>> retain the script local values! GAH! >>> >>> 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 > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 ahsoftware at sonic.net Tue Jun 26 17:37:05 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Tue, 26 Jun 2018 14:37:05 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> Message-ID: <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> On 06/25/2018 08:57 PM, Brian Milby via use-livecode wrote: > One thing this misses is that the IV is not another private key/password. It should be random/different for every use of the key. True, but for the purpose of Bill's demo it works fine. For that matter, a 16-bit iv won't get you very far either. I'd be inclined to generate a large random iv and post it to the server with the encrypted data. But I'd also worry about putting a database out in the open like this without good security constraints. Of course, I have no idea what Bill has in mind here, so ymmv. -- Mark Wieder ahsoftware at gmail.com From matthias_livecode_150811 at m-r-d.de Tue Jun 26 17:57:30 2018 From: matthias_livecode_150811 at m-r-d.de (Matthias Rebbe) Date: Tue, 26 Jun 2018 23:57:30 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: > Am 26.06.2018 um 20:12 schrieb Ralf Bitter via use-livecode : > > - On On-Rev using LC server 9 tsNet does not work at all because glibc needs to be upgraded as I was told by support. > Custom directives in ~/.bashrc didn?t help, these seem to be ignored by Apache. > Hm, On-Rev support told me that GLIBC 2.1.4 is needed to run Livecode Server 9 64bit on On-Rev. The 32bit version is working on On-Rev with the older one. They did not mention that this library is also needed to get the 32bit tsNET external running with Livecode server 32 bit on On-Rev. Regards, Matthias > >> On 25. Jun 2018, at 22:01, panagiotis merakos via use-livecode wrote: >> >> I have it working with LC Server 9 on an Ubuntu 16.04 64bit but only tested >> on localhost. But if I remember correctly there are a couple of people >> using tsnet with LC server on an actual server (Ralf maybe??) > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Tue Jun 26 18:04:30 2018 From: tom at makeshyft.com (Tom Glod) Date: Tue, 26 Jun 2018 18:04:30 -0400 Subject: Behaviors not honoring script local variables?? In-Reply-To: <3601DFF9-9270-48B8-9CCB-F349621A8B89@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> <28DC2A79-BCBA-471E-8723-FC60BF3D712B@iotecdigital.com> <3601DFF9-9270-48B8-9CCB-F349621A8B89@iotecdigital.com> Message-ID: i remember debugging a local script in a datagrid behavior and having to figure out which index it was working on.....new window would work the same but you'd still need to give yourself that piece of data that will tell you which one it is. another thing i keep on forgetting in v9 is when you hover over variable names in the debugger .... it shows you the value ....that might help these kinds of problems. keep on keepin on Bob.... On Tue, Jun 26, 2018 at 5:22 PM, Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Hmmm... something you said set me to thinking. Suppose I already had the > instance of a behavior opened in the script editor with a breakpoint set. I > then execute a handler in another object with the same behavior. Which > instance is the script editor going to show me?? Ideally, it should open a > new script editor window for every instance, otherwise the variable watcher > is going to produce unexpected results. It may also confuse the engine, > which would explain why I was seeing the results I was seeing, especially > if I was terminating execution mid handler for whatever reason. > > Bob S > > > > On Jun 26, 2018, at 13:49 , Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Yes, well for whatever reason it's working now. I didn't change > anything, I just quit and relaunched. It may be some kind of topstack issue > where the topstack is changing and I don't know it's happening. > > > > Bob S > > > > > >> On Jun 26, 2018, at 13:44 , Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> hmmmm.. .... look inside the preferences to the script editor..... try > to > >> see if "variable preservation" helps you..i think its an engine > property. > >> > >> On Tue, Jun 26, 2018 at 4:41 PM, Bob Sneidar via use-livecode < > >> use-livecode at lists.runrev.com> wrote: > >> > >>> > >>> > >>>> On Jun 26, 2018, at 13:30 , J. Landman Gay via use-livecode < > >>> use-livecode at lists.runrev.com> wrote: > >>>> > >>>> Every instance of a behavior maintains its own separate variable > values. > >>> This is a feature. Globals are the solution if you want them to share > the > >>> values. > >>>> > >>> > >>> I don't want to share the variables. I want them to be local to the > >>> script. The trouble is, they reset as soon as the handler exits. > Inside the > >>> handler, they all seem to be fine! And ONLY the openStack handler > seems to > >>> be having the issue, because any other handler, even preOpenStack will > >>> retain the script local values! GAH! > >>> > >>> 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 > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 Tue Jun 26 18:40:31 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Tue, 26 Jun 2018 22:40:31 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <8B23E4BB-9CFC-4510-83C2-574DFBF08B0A@iotecdigital.com> <63C1A413-FEB2-4BDB-B3D1-D549E1FD05BB@iotecdigital.com> <28DC2A79-BCBA-471E-8723-FC60BF3D712B@iotecdigital.com> <3601DFF9-9270-48B8-9CCB-F349621A8B89@iotecdigital.com> Message-ID: Yes that was my problem. Hovering or viewing the variable in the debugger while getStackConstants was running would show the script local variable values being updated, but as soon as the handler exited, they were all empty again, meaning the handler was not updating the script local variables, but it's own local variables! It was as though the script local variables did not exist yet. But as I mentioned quitting and restarting *seemed* to have sorted things out. Bob S > On Jun 26, 2018, at 15:04 , Tom Glod via use-livecode wrote: > > another thing i keep on forgetting in v9 is when you hover over variable > names in the debugger .... it shows you the value ....that might help these > kinds of problems. > > keep on keepin on Bob.... From dick.kriesel at mail.com Wed Jun 27 02:25:58 2018 From: dick.kriesel at mail.com (Dick Kriesel) Date: Tue, 26 Jun 2018 23:25:58 -0700 Subject: Behaviors not honoring script local variables?? In-Reply-To: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> Message-ID: <939A4B55-07FA-49C6-9AC9-A7E1376DC454@mail.com> > On Jun 26, 2018, at 1:13 PM, Bob Sneidar via use-livecode wrote: > ... > do "put " & quote & aStackConstants [tConstant] & quote & " into " & tConstant Hi, Bob. If you wanted simpler code, that could be just do "put aStackConstants[ tConstant ] into " & tConstant ? Dick From charles at techstrategies.com.au Wed Jun 27 02:44:50 2018 From: charles at techstrategies.com.au (Charles Warwick) Date: Wed, 27 Jun 2018 16:44:50 +1000 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: Hi Ralf, > In a nutshell following the results of my tests: > > - There is bug 18961. An issue regarding tsNetSendCmd() is presumably related. Other Indy features work as expected. The issue is that any asynchronous tsNet function will fail on LC server. I have not yet had time to go back and resolve the cause of this problem. > - Although the business version licensing error is fixed the business features still don?t work. > (As soon as I have enough spare time I will start filing bug reports, one by one.) Are you referring to asynchronous functions that are only available in the business edition? These will fail due to the same issue as tsNetGet and tsNetSendCmd, so no need to file a separate bug report for these. If you are experiencing issues with other business only features, please file a report so that I can take a look at them. > - On On-Rev using LC server 9 tsNet does not work at all because glibc needs to be upgraded as I was told by support. > Custom directives in ~/.bashrc didn?t help, these seem to be ignored by Apache. > > - Don?t think about using tsNet in a LC server / Mac OS environment. Unfortunately, I need to find some time to look into the LC server implementation on platforms other than Linux before they will be viable for use with tsNet. Regards, Charles > > Ralf > > >> On 25. Jun 2018, at 22:01, panagiotis merakos via use-livecode wrote: >> >> I have it working with LC Server 9 on an Ubuntu 16.04 64bit but only tested >> on localhost. But if I remember correctly there are a couple of people >> using tsnet with LC server on an actual server (Ralf maybe??) > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 charles at techstrategies.com.au Wed Jun 27 03:35:05 2018 From: charles at techstrategies.com.au (Charles Warwick) Date: Wed, 27 Jun 2018 17:35:05 +1000 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: Hi Matthias, > On 27 Jun 2018, at 7:57 am, Matthias Rebbe via use-livecode wrote: > > Hm, On-Rev support told me that GLIBC 2.1.4 is needed to run Livecode Server 9 64bit on On-Rev. The 32bit version is working on On-Rev with the older one. > They did not mention that this library is also needed to get the 32bit tsNET external running with Livecode server 32 bit on On-Rev. Usually I run Apache (with PHP/LiveCode) in docker these days. I am not sure if you are familiar with it, but here is the contents of the Dockerfile which builds the image. It is effectively just a script that builds a basic Ubuntu 16:04 Linux server running Apache. ( I can successfully use the latest tsNet external with it.) ? FROM ubuntu:16.04 EXPOSE 80 RUN apt-get update && \ apt-get install -y \ apache2 \ libc6-i386 \ libfontconfig \ libx11-6 \ libxext6 \ unzip \ wget COPY apache2/apache2.conf /etc/apache2/apache2.conf COPY livecode/LiveCodeIndyServer-9_0_0-Linux-x86_64.zip /LiveCodeIndyServer-9_0_0-Linux-x86_64.zip RUN mkdir -p /usr/local/livecode && cd /usr/local/livecode && \ unzip /LiveCodeIndyServer-9_0_0-Linux-x86_64.zip && \ chmod 755 livecode-server && \ a2enmod actions && a2enmod cgi COPY livecode/tsNet-x64.so /usr/local/livecode/externals/tsNet-x64.so ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_RUN_DIR=/var/run/apache2 ENTRYPOINT ["/usr/sbin/apache2"] CMD ["-D", "FOREGROUND"] ? The apache2.conf file that gets copied in simply sets up the livecode-server binary to handle .lc files - which I am guessing you are already familiar with. Hope that helps, Cheers, Charles > Regards, > > Matthias >> >>> On 25. Jun 2018, at 22:01, panagiotis merakos via use-livecode wrote: >>> >>> I have it working with LC Server 9 on an Ubuntu 16.04 64bit but only tested >>> on localhost. But if I remember correctly there are a couple of people >>> using tsnet with LC server on an actual server (Ralf maybe??) >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 warren at warrensweb.us Wed Jun 27 03:42:31 2018 From: warren at warrensweb.us (Warren Samples) Date: Wed, 27 Jun 2018 02:42:31 -0500 Subject: LC 9 Dictionary, Linux In-Reply-To: References: Message-ID: <38b9584a-2a91-a443-f37a-f72ccdabc872@warrensweb.us> On 06/23/2018 07:05 PM, Warren Samples via use-livecode wrote: > Hello, > > I don't recall off the top of my head what the current remaining issue > is with the dictionary under Linux. I know there have been a couple or > three that have been reported by different people on different distros. > The workaround to open the dictionary in a browser is working pretty > well, but could use at least one enhancement if it can be managed. > Currently if I have my default browser open on some desktop other than > the one LiveCode is on, the dictionary opens in a new tab on the other > desktop. Could the command used be finessed to force it to open a new > window? This 'should' open naturally on the current desktop. Another > possible solution would be a preference option to set a browser for the > dictionary. That would allow one to use a browser other than the default > browser and avoid this (minor) inconvenience. > > Warren > I found a solution. I post it here in case another Linux user would be interested in this. It requires some very minor editing of the file: 'revidelibrary.8.livecodescript' which is in the '../runrev/components//Toolset/libraries/' directory. I commented out two lines and added for each of them a corresponding line which launches the browser using shell(). This is what it looks like (email formatting may insert linebreaks): revIDEGenerateDictionaryHTML tWhich -- launch url ("file:" & revIDEGetDictionaryUrl(tWhich)) #original code get shell("falkon" && revIDEGetDictionaryUrl(tWhich) && "/dev/null &") -- my shell call, all one line and revIDEGenerateDictionaryHTML "api", pLibrary, pTag, pType -- launch url ("file:" & revIDEGetDictionaryUrl("api")) #original code get shell("falkon" && revIDEGetDictionaryUrl("api") && "/dev/null &") -- my shell call, all one line The first instance is at line 4639 and the second at line @ 4920. I ultimately chose a dedicated browser, Falkon, for a few reasons. Opening my default browser with a command line switch which forces a new window works, and does what I had hoped, but using a dedicated browser and letting it open tabs once it's open has some significant advantages. The redirection at the end of the command detaches the running process from the shell, making shell() non-blocking. Warren From merakosp at gmail.com Wed Jun 27 04:45:37 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Wed, 27 Jun 2018 09:45:37 +0100 Subject: LC 9 Dictionary, Linux In-Reply-To: <38b9584a-2a91-a443-f37a-f72ccdabc872@warrensweb.us> References: <38b9584a-2a91-a443-f37a-f72ccdabc872@warrensweb.us> Message-ID: Hi Warren, We made this "hack" to open the Dictionary in a browser as a workaround to the problem where some Linux distros could not display the browser widget. If your Linux machine is not affected by this issue, then you can do the following to open the Dictionary in a LC stack (as it used to be): 1. in the msg box type "put 1 into $LIVECODE_USE_CEF" 2. open the dictionary, it should now open in a stack Best, Panos -- On Wed, Jun 27, 2018 at 8:42 AM, Warren Samples via use-livecode < use-livecode at lists.runrev.com> wrote: > On 06/23/2018 07:05 PM, Warren Samples via use-livecode wrote: > >> Hello, >> >> I don't recall off the top of my head what the current remaining issue is >> with the dictionary under Linux. I know there have been a couple or three >> that have been reported by different people on different distros. The >> workaround to open the dictionary in a browser is working pretty well, but >> could use at least one enhancement if it can be managed. Currently if I >> have my default browser open on some desktop other than the one LiveCode is >> on, the dictionary opens in a new tab on the other desktop. Could the >> command used be finessed to force it to open a new window? This 'should' >> open naturally on the current desktop. Another possible solution would be a >> preference option to set a browser for the dictionary. That would allow one >> to use a browser other than the default browser and avoid this (minor) >> inconvenience. >> >> Warren >> >> > > I found a solution. I post it here in case another Linux user would be > interested in this. > > It requires some very minor editing of the file: > > 'revidelibrary.8.livecodescript' > > which is in the '../runrev/components//Toolset/libraries/' > directory. > > I commented out two lines and added for each of them a corresponding line > which launches the browser using shell(). This is what it looks like (email > formatting may insert linebreaks): > > revIDEGenerateDictionaryHTML tWhich > -- launch url ("file:" & revIDEGetDictionaryUrl(tWhich)) #original > code > get shell("falkon" && revIDEGetDictionaryUrl(tWhich) && " &>/dev/null &") -- my shell call, all one line > > and > > revIDEGenerateDictionaryHTML "api", pLibrary, pTag, pType > -- launch url ("file:" & revIDEGetDictionaryUrl("api")) #original code > get shell("falkon" && revIDEGetDictionaryUrl("api") && " &>/dev/null &") -- my shell call, all one line > > The first instance is at line 4639 and the second at line @ 4920. > > I ultimately chose a dedicated browser, Falkon, for a few reasons. Opening > my default browser with a command line switch which forces a new window > works, and does what I had hoped, but using a dedicated browser and letting > it open tabs once it's open has some significant advantages. The > redirection at the end of the command detaches the running process from the > shell, making shell() non-blocking. > > > Warren > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 hh at hyperhh.de Wed Jun 27 05:30:54 2018 From: hh at hyperhh.de (hh) Date: Wed, 27 Jun 2018 11:30:54 +0200 Subject: Tessellated hexagonal grid? Message-ID: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> Here a rather complete guide to the "theory" with a link to implementation guides for several programming languages, especially, close to LC, JavaScript. https://www.redblobgames.com/grids/hexagons/ From rabit at revigniter.com Wed Jun 27 06:12:25 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Wed, 27 Jun 2018 12:12:25 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: Hi Charles, > On 27. Jun 2018, at 08:44, Charles Warwick via use-livecode wrote: > > Are you referring to asynchronous functions that are only available in the business edition? These will fail due to the same issue as tsNetGet and tsNetSendCmd, so no need to file a separate bug report for these. sorry for my vague comment. Yes, indeed I am referring to the asynchronous functions implemented in the business version. > Unfortunately, I need to find some time to look into the LC server implementation on platforms other than Linux before they will be viable for use with tsNet. Think this subject I mentioned for the sake of completeness is something you can set aside. I would be happy if the features advertised would work at least on LC server for Linux. Ralf From dvglasgow at gmail.com Wed Jun 27 06:42:55 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Wed, 27 Jun 2018 11:42:55 +0100 Subject: Tessellated hexagonal grid? In-Reply-To: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> Message-ID: <13F3D71B-D323-4020-B4A7-73A74206D080@gmail.com> Thanks for all the responses regarding hexes. I had already worked through the ?redblobgames? resources, and it was the prospect of trying to implement a hex system in Livecode which was the gotcha. The frustrating thing is that the polygon object displays a nice scaleable hex - and yet it seems this is not a viable route? Why would SVG be any better? (thats not a lament or rhetorical question, I would be very interested to know) Cheers David Glasgow > On 27 Jun 2018, at 10:30 am, hh via use-livecode wrote: > > Here a rather complete guide to the "theory" with a link > to implementation guides for several programming languages, > especially, close to LC, JavaScript. > > https://www.redblobgames.com/grids/hexagons/ > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 rabit at revigniter.com Wed Jun 27 07:08:57 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Wed, 27 Jun 2018 13:08:57 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> Message-ID: <0F11CA7C-080A-4A66-A18F-A20F5F8AA2A9@revigniter.com> Hi Matthias, > On 26. Jun 2018, at 23:57, Matthias Rebbe via use-livecode wrote: > > Hm, On-Rev support told me that GLIBC 2.1.4 is needed to run Livecode Server 9 64bit on On-Rev. The 32bit version is working on On-Rev with the older one. > They did not mention that this library is also needed to get the 32bit tsNET external running with Livecode server 32 bit on On-Rev. even my 32 bit LC 9 version installation fails on Diesel, at least the business flavour fails with error: ?error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory? Ralf From merakosp at gmail.com Wed Jun 27 07:15:40 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Wed, 27 Jun 2018 12:15:40 +0100 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: <0F11CA7C-080A-4A66-A18F-A20F5F8AA2A9@revigniter.com> References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> <0F11CA7C-080A-4A66-A18F-A20F5F8AA2A9@revigniter.com> Message-ID: @Ralf, I see the same error when trying to install LC 9 32 bit on Sage. However the exact same setup is successful on Tio. So I guess some of the on-rev servers do have this library, while others don't. I will ask Robin about this. Best, Panos -- On Wed, Jun 27, 2018 at 12:08 PM, Ralf Bitter via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi Matthias, > > > On 26. Jun 2018, at 23:57, Matthias Rebbe via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Hm, On-Rev support told me that GLIBC 2.1.4 is needed to run Livecode > Server 9 64bit on On-Rev. The 32bit version is working on On-Rev with the > older one. > > They did not mention that this library is also needed to get the 32bit > tsNET external running with Livecode server 32 bit on On-Rev. > > > > even my 32 bit LC 9 version installation fails on Diesel, at least > the business flavour fails with error: > ?error while loading shared libraries: libfontconfig.so.1: cannot open > shared object file: No such file or directory? > > > Ralf > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 27 10:22:32 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 27 Jun 2018 17:22:32 +0300 Subject: Tessellated hexagonal grid? In-Reply-To: <13F3D71B-D323-4020-B4A7-73A74206D080@gmail.com> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <13F3D71B-D323-4020-B4A7-73A74206D080@gmail.com> Message-ID: One of the problems about any polygonal shape in LiveCode is that it still subsists inside a square/rectangle. That might seem like a crashingly obvious remark until one starts to consider how squares and how hexagons tesselate. And, even more to the point, how the human brain (and, face facts, most of the time we are likely to be dealing with either a square or hexagonal grid on a computer is because we want to "fool" humans into believing that what the screen presents them with is a square or hexagonal grid with all the functionality and meaning of square or hexagonal grids in the real world). If I pretend I am a flat-earther, and that the earth I live on is hexagonal, I want all those people who are silly enough to believe that the world is spherical to fall off the hexagonal earth at the vertices of the hexagon, and not the vertices of some other polygonal shape that encloses my hexagonal earth that's vertices are not completely congruent with that hexagon. I'm messing around with hexagons right now, and will post some of my thoughts in the Forum. Richmond. On 27/6/2018 1:42 pm, David V Glasgow via use-livecode wrote: > Thanks for all the responses regarding hexes. > > I had already worked through the ?redblobgames? resources, and it was the prospect of trying to implement a hex system in Livecode which was the gotcha. > > The frustrating thing is that the polygon object displays a nice scaleable hex - and yet it seems this is not a viable route? Why would SVG be any better? (thats not a lament or rhetorical question, I would be very interested to know) > > Cheers > > David Glasgow > >> On 27 Jun 2018, at 10:30 am, hh via use-livecode wrote: >> >> Here a rather complete guide to the "theory" with a link >> to implementation guides for several programming languages, >> especially, close to LC, JavaScript. >> >> https://www.redblobgames.com/grids/hexagons/ >> >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Jun 27 10:34:18 2018 From: brahma at hindu.org (Sannyasin Brahmanathaswami) Date: Wed, 27 Jun 2018 14:34:18 +0000 Subject: Remote URL Not Available In-Reply-To: <2fe553d0-5ee5-ca5f-8165-dfbaa97c9dc2@hyperactivesw.com> References: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> <2fe553d0-5ee5-ca5f-8165-dfbaa97c9dc2@hyperactivesw.com> Message-ID: "it" almost always containa data. e.g contains "404 Page Not Found" I wondering if we have to parse it for all possible errors? Or, if there is just *one* thing that is true, for all "I found the file, here it is" cases J. Landman Gay wrote: I've used this: get url tURL put the result into tNetworkErr put it into tData If the result isn't empty then there has been an error. Otherwise, you can do something with the data in the "it" variable. From richmondmathewson at gmail.com Wed Jun 27 10:50:03 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 27 Jun 2018 17:50:03 +0300 Subject: Grabbing a widget Message-ID: <87edfe1f-0c4e-401a-2138-a961a3aa8065@gmail.com> is problematic. I have an SVG widget called "h5" which I am trying to drag to a drop target, which should be easy-peasy, but isn't. LiveCode 8.1.8 The widget contains this code: on mouseDown grab me end mouseDown on mouseUp if intersect(widget "h1", widget "h5",5) then set the loc of widget "h5" to the loc of widget "h1" else set the loc of widget "h5" to 99,364 end if end mouseUp which is nothing spectacular. HOWEVER in Edit mode widget "h5" moves around with the mouse! It does NOT get grabbed on a MouseDown as it should. Richmond. From klaus at major-k.de Wed Jun 27 10:57:13 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 16:57:13 +0200 Subject: Grabbing a widget In-Reply-To: <87edfe1f-0c4e-401a-2138-a961a3aa8065@gmail.com> References: <87edfe1f-0c4e-401a-2138-a961a3aa8065@gmail.com> Message-ID: <58A475AF-134B-4C05-B7A5-02422B221986@major-k.de> Hi Richmond, > Am 27.06.2018 um 16:50 schrieb Richmond Mathewson via use-livecode : > > is problematic. > I have an SVG widget called "h5" which I am trying to drag to a drop target, > which should be easy-peasy, but isn't. > LiveCode 8.1.8 > The widget contains this code: > on mouseDown > grab me > end mouseDown > on mouseUp > if intersect(widget "h1", widget "h5",5) then > set the loc of widget "h5" to the loc of widget "h1" > else > set the loc of widget "h5" to 99,364 > end if > end mouseUp > which is nothing spectacular. > HOWEVER in Edit mode widget "h5" moves around with the mouse! > It does NOT get grabbed on a MouseDown as it should. > > Richmond. just ried this at home with LC 9, and it is even worse! I added a SVG widget to a fresh stack and added this script: on mouseDown grab me end mouseDown BUT, it moves with the mouse with the EDIT tool (no mousedown!), if it is selcted or not and does nothing when I switch to POINTER tool and click until my wrist gets numb!? Before I bug report it, anyone seeing this, too? Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From klaus at major-k.de Wed Jun 27 11:01:32 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 17:01:32 +0200 Subject: Grabbing a widget In-Reply-To: <58A475AF-134B-4C05-B7A5-02422B221986@major-k.de> References: <87edfe1f-0c4e-401a-2138-a961a3aa8065@gmail.com> <58A475AF-134B-4C05-B7A5-02422B221986@major-k.de> Message-ID: <80906F88-0646-4E69-8EF8-F941443A67A5@major-k.de> Hi all, here my recipe macOS 10.13.5, LC 9: 1. Create a stack 2. Create a SVG widget 3. Add this script to the SVG: on mouseDown grab me end mouseDown 4. Switch to POINTER tool 5. Nothing happens, no GRAB on mousedown! 6. Switch back to EDIT tool and move the mouse to the stack with the SVG, et voila paranoia 8-) > Am 27.06.2018 um 16:57 schrieb Klaus major-k via use-livecode : > ... > > just ried this at home with LC 9, and it is even worse! > > I added a SVG widget to a fresh stack and added this script: > on mouseDown > grab me > end mouseDown > > BUT, it moves with the mouse with the EDIT tool (no mousedown!), if it is selcted or not > and does nothing when I switch to POINTER tool and click until my wrist gets numb!? > Before I bug report it, anyone seeing this, too? Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From stephen at barncard.com Wed Jun 27 11:14:35 2018 From: stephen at barncard.com (Stephen Barncard) Date: Wed, 27 Jun 2018 08:14:35 -0700 Subject: Tessellated hexagonal grid? In-Reply-To: References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <13F3D71B-D323-4020-B4A7-73A74206D080@gmail.com> Message-ID: "If I pretend I am a flat-earther, and that the earth I live on is hexagonal, I want all those people who are silly enough to believe that the world is spherical to fall off the hexagonal earth at the vertices of the hexagon, and not the vertices of some other polygonal shape that encloses my hexagonal earth that's vertices are not completely congruent with that hexagon. ?" !!! This concept should be in the constitution of every country in the world. If they have one. sqb? -- Stephen Barncard - Sebastopol Ca. USA - mixstream.org On Wed, Jun 27, 2018 at 7:22 AM, Richmond Mathewson via use-livecode < use-livecode at lists.runrev.com> wrote: > One of the problems about any polygonal shape in LiveCode is that it still > subsists inside a square/rectangle. > > That might seem like a crashingly obvious remark until one starts to > consider how squares and how hexagons tesselate. > > And, even more to the point, how the human brain (and, face facts, most of > the time we are likely to be dealing > with either a square or hexagonal grid on a computer is because we want to > "fool" humans into believing that > what the screen presents them with is a square or hexagonal grid with all > the functionality and meaning of > square or hexagonal grids in the real world). > > If I pretend I am a flat-earther, and that the earth I live on is > hexagonal, I want all those people who are > silly enough to believe that the world is spherical to fall off the > hexagonal earth at the vertices of the hexagon, > and not the vertices of some other polygonal shape that encloses my > hexagonal earth that's vertices are > not completely congruent with that hexagon. > > I'm messing around with hexagons right now, and will post some of my > thoughts in the Forum. > > Richmond. > > > > On 27/6/2018 1:42 pm, David V Glasgow via use-livecode wrote: > >> Thanks for all the responses regarding hexes. >> >> I had already worked through the ?redblobgames? resources, and it was the >> prospect of trying to implement a hex system in Livecode which was the >> gotcha. >> >> The frustrating thing is that the polygon object displays a nice >> scaleable hex - and yet it seems this is not a viable route? Why would SVG >> be any better? (thats not a lament or rhetorical question, I would be very >> interested to know) >> >> Cheers >> >> David Glasgow >> >> On 27 Jun 2018, at 10:30 am, hh via use-livecode < >>> use-livecode at lists.runrev.com> wrote: >>> >>> Here a rather complete guide to the "theory" with a link >>> to implementation guides for several programming languages, >>> especially, close to LC, JavaScript. >>> >>> https://www.redblobgames.com/grids/hexagons/ >>> >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 harrison at all-auctions.com Wed Jun 27 11:42:59 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Wed, 27 Jun 2018 11:42:59 -0400 Subject: Tessellated hexagonal grid? In-Reply-To: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> Message-ID: <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> Great resource and read. Thanks! Rick > On Jun 27, 2018, at 5:30 AM, hh via use-livecode wrote: > > Here a rather complete guide to the "theory" with a link > to implementation guides for several programming languages, > especially, close to LC, JavaScript. > > https://www.redblobgames.com/grids/hexagons/ > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 ahsoftware at sonic.net Wed Jun 27 12:54:51 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Wed, 27 Jun 2018 09:54:51 -0700 Subject: Remote URL Not Available In-Reply-To: References: <4294D1AA-70C6-47A3-8768-E12247947B00@hindu.org> <2fe553d0-5ee5-ca5f-8165-dfbaa97c9dc2@hyperactivesw.com> Message-ID: On 06/27/2018 07:34 AM, Sannyasin Brahmanathaswami via use-livecode wrote: > "it" almost always containa data. > > e.g contains "404 Page Not Found" > > I wondering if we have to parse it for all possible errors? > > Or, if there is just *one* thing that is true, for all "I found the file, here it is" cases Try the http getting the remote resource. Then check the returned http status for a 2xx (or 3xx) status code. -- Mark Wieder ahsoftware at gmail.com From warren at warrensweb.us Wed Jun 27 13:17:57 2018 From: warren at warrensweb.us (Warren Samples) Date: Wed, 27 Jun 2018 12:17:57 -0500 Subject: LC 9 Dictionary, Linux In-Reply-To: References: <38b9584a-2a91-a443-f37a-f72ccdabc872@warrensweb.us> Message-ID: <81cc815b-ef19-9215-ca41-eed361b57ac4@warrensweb.us> On 06/27/2018 03:45 AM, panagiotis merakos wrote: > If your Linux machine is not affected by this issue, then you can do the following to open the Dictionary in a LC stack (as it used to be): > > 1. in the msg box type "put 1 into $LIVECODE_USE_CEF" > 2. open the dictionary, it should now open in a stack > > Best, > Panos Thank you! It works perfectly here. The distro is Antergos (Arch) with KDE Plasma5, in case you're keeping a list. Warren From ambassador at fourthworld.com Wed Jun 27 13:23:04 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 27 Jun 2018 10:23:04 -0700 Subject: Tessellated hexagonal grid? In-Reply-To: <13F3D71B-D323-4020-B4A7-73A74206D080@gmail.com> References: <13F3D71B-D323-4020-B4A7-73A74206D080@gmail.com> Message-ID: <50702f3c-8712-f6ba-c324-ab1149f8ace5@fourthworld.com> David V Glasgow wrote: > I had already worked through the ?redblobgames? resources, and it was > the prospect of trying to implement a hex system in Livecode which was > the gotcha. > > The frustrating thing is that the polygon object displays a nice > scaleable hex - and yet it seems this is not a viable route? I don't see why not. There may be challenges if you have a very small tile size with many thousands of hexagons. But you'd need quite a few before the object count would pose a difficulty. Catan has only 19 tiles, and has captivated millions of minds for decades. Even if you need several hundred, you'll likely find using LC's built-in hit-testing for those more efficient -- and certainly much easier to code -- than calculating boundaries arithmetically on the fly. I started exploring hex grids myself a few months ago, in a rare evening of spare time. Didn't come up with much worth sharing (I have no immediate need at the moment so I didn't spend much time with it), other than recognizing the value of a few key functions (finding bounding tiles, managing directional options, etc.) and gaining a healthy admiration for how much more straightforward this sort of work is made when using LC's native objects. -- 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 Wed Jun 27 13:28:50 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Wed, 27 Jun 2018 10:28:50 -0700 Subject: Remote URL Not Available In-Reply-To: References: Message-ID: <04d54f9f-b53c-444f-7930-829ea5337ede@fourthworld.com> Sannyasin Brahmanathaswami wrote: > "it" almost always containa data. > > e.g contains "404 Page Not Found" > > I wondering if we have to parse it for all possible errors? That's the central question of all end-user systems. :) There may be good reason to check for specific errors and handle them differently. Or as browsers do, just report them to the user and let them figure it out. How much time to invest in handling specific error conditions will depend on the app and the nature of the error. > Or, if there is just *one* thing that is true, for all "I found the > file, here it is" cases If the result is empty you should be fine. -- 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 hh at hyperhh.de Wed Jun 27 13:45:59 2018 From: hh at hyperhh.de (hh) Date: Wed, 27 Jun 2018 19:45:59 +0200 Subject: Grabbing a widget Message-ID: A widget is not an ordinary control. It is the widget that has to generate messages for user's interaction. So the widget's author decides whether you can grab it or not. See the still actual discussion from 2015 here: http://forums.livecode.com/viewtopic.php?p=126208#p126208 From klaus at major-k.de Wed Jun 27 13:49:57 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 19:49:57 +0200 Subject: Grabbing a widget In-Reply-To: References: Message-ID: <9320658A-C8FF-4A59-A404-B707CBB1FA9B@major-k.de> Hi Hermann, > Am 27.06.2018 um 19:45 schrieb hh via use-livecode : > > A widget is not an ordinary control. > > It is the widget that has to generate messages for user's interaction. > So the widget's author decides whether you can grab it or not. See the > still actual discussion from 2015 here: > > http://forums.livecode.com/viewtopic.php?p=126208#p126208 Ok, scripted "mouseevents" in widgets or not, any opinion to the funky behaviour I experienced? Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From richmondmathewson at gmail.com Wed Jun 27 14:03:02 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 27 Jun 2018 21:03:02 +0300 Subject: Grabbing a widget In-Reply-To: References: Message-ID: <9fed1775-fbeb-649b-db66-cabab7f35fc2@gmail.com> Well, somewhere down the line the author of the SVG widget forget something: That an imported SVG is supposed to behave exactly like any other imported image. Richmond. On 27/6/2018 8:45 pm, hh via use-livecode wrote: > A widget is not an ordinary control. > > It is the widget that has to generate messages for user's interaction. > So the widget's author decides whether you can grab it or not. See the > still actual discussion from 2015 here: > > http://forums.livecode.com/viewtopic.php?p=126208#p126208 > > _______________________________________________ > use-livecode mailing list > use-livecode 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 hh at hyperhh.de Wed Jun 27 14:04:29 2018 From: hh at hyperhh.de (hh) Date: Wed, 27 Jun 2018 20:04:29 +0200 Subject: Grabbing a widget Message-ID: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> > Klaus wrote: > ... any opinion to the funky behaviour I experienced? Sorry, I overlooked that you are using LC 9. With LC 9 in edit mode the SVG widget is here moved with the mouse even without any script. From klaus at major-k.de Wed Jun 27 14:14:25 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 20:14:25 +0200 Subject: Grabbing a widget In-Reply-To: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> Message-ID: <402F7E53-3AB5-4C69-92D2-13F375AF550B@major-k.de> Hi Hermann, > Am 27.06.2018 um 20:04 schrieb hh via use-livecode : > >> Klaus wrote: >> ... any opinion to the funky behaviour I experienced? > > Sorry, I overlooked that you are using LC 9. > With LC 9 in edit mode the SVG widget is here moved with > the mouse even without any script. That's not what I experienced... Thius is what happens here: 1. Create a stack 2. Create a SVG widget 3. Add this script to the SVG: on mouseDown grab me end mouseDown 4. Switch to POINTER tool 5. Nothing happens, no GRAB on mousedown! 6. Switch back to EDIT tool and move the mouse to the stack with the SVG, et voila paranoia 8-) Means the Widget (selected or not!) sticks to the mouse in EDIT mode and I cannot get rid of it unless I delete the widget or close the stack. That cannot be desired behavior!? Maybe will create a screen movie later... Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From warren at warrensweb.us Wed Jun 27 14:15:45 2018 From: warren at warrensweb.us (Warren Samples) Date: Wed, 27 Jun 2018 13:15:45 -0500 Subject: LC 9 Dictionary, Linux In-Reply-To: <81cc815b-ef19-9215-ca41-eed361b57ac4@warrensweb.us> References: <38b9584a-2a91-a443-f37a-f72ccdabc872@warrensweb.us> <81cc815b-ef19-9215-ca41-eed361b57ac4@warrensweb.us> Message-ID: On 06/27/2018 12:17 PM, Warren Samples via use-livecode wrote: > On 06/27/2018 03:45 AM, panagiotis merakos wrote: > > If your Linux machine is not affected by this issue, then you can do > the following to open the Dictionary in a LC stack (as it used to be): > > > > 1. in the msg box type "put 1 into $LIVECODE_USE_CEF" > > 2. open the dictionary, it should now open in a stack > > > > Best, > > Panos Panos, It works but it's not persistent. What is the best way to make this "stick"? Warren From richmondmathewson at gmail.com Wed Jun 27 14:24:43 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 27 Jun 2018 21:24:43 +0300 Subject: Grabbing a widget In-Reply-To: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> Message-ID: <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> Indeed: but that is not what I, and subsequently, Klaus, found. If an SVG widget contains this script: on mouseDown grab me end mouseDown in Edit mode, whether the mouse is down or up the widget moves with the mouse and cannot be released. Richmond. On 27/6/2018 9:04 pm, hh via use-livecode wrote: >> Klaus wrote: >> ... any opinion to the funky behaviour I experienced? > Sorry, I overlooked that you are using LC 9. > With LC 9 in edit mode the SVG widget is here moved with > the mouse even without any script. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 27 14:30:12 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 20:30:12 +0200 Subject: Grabbing a widget In-Reply-To: <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> Message-ID: <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> Hi Richmond, > Am 27.06.2018 um 20:24 schrieb Richmond Mathewson via use-livecode : > > Indeed: but that is not what I, and subsequently, Klaus, found. > > If an SVG widget contains this script: > on mouseDown > grab me > end mouseDown > in Edit mode, whether the mouse is down or up the widget moves with > the mouse and cannot be released. EXACTLY! Thanks for testing. > Richmond. Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From jacque at hyperactivesw.com Wed Jun 27 14:50:12 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 27 Jun 2018 13:50:12 -0500 Subject: Remote URL Not Available In-Reply-To: <04d54f9f-b53c-444f-7930-829ea5337ede@fourthworld.com> References: <04d54f9f-b53c-444f-7930-829ea5337ede@fourthworld.com> Message-ID: On 6/27/18 12:28 PM, Richard Gaskin via use-livecode wrote: > > Or, if there is? just *one* thing that is true, for all "I found the > > file, here it is" cases > > If the result is empty you should be fine. This. An empty result means the file exists and is accessible, so the script can continue and use the data in "it". If the result isn't empty you can report the error to the user, keep a log, have LC put up the report dialog, or whatever. The "it" variable will almost always have content. In the case of a server error, it will contain the html text of the error page. But the result will have specific info about the error. A server error will contain the error number and a brief description (i.e., "error 403 Forbidden"), and a connection error will report the type of error ("timeout" for example) so usually there isn't any need to parse the data in "it". -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From klaus at major-k.de Wed Jun 27 14:55:13 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 20:55:13 +0200 Subject: Grabbing a widget In-Reply-To: <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> Message-ID: <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> Am 27.06.2018 um 20:30 schrieb Klaus major-k via use-livecode : > Hi Richmond, >> Am 27.06.2018 um 20:24 schrieb Richmond Mathewson via use-livecode : >> Indeed: but that is not what I, and subsequently, Klaus, found. >> If an SVG widget contains this script: >> on mouseDown >> grab me >> end mouseDown >> in Edit mode, whether the mouse is down or up the widget moves with >> the mouse and cannot be released. > > EXACTLY! > Thanks for testing. In case someone is interested: Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bonnmike at gmail.com Wed Jun 27 15:02:19 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Wed, 27 Jun 2018 13:02:19 -0600 Subject: Grabbing a widget In-Reply-To: <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> Message-ID: I haven't found a way to make it stop sticking either. And I agree with the QCC entry that basic mouse event type messages including the ability to use "grab" or whatever should be glommed on to all widgets in some way. Admittedly, the grab issue can likely be worked around (mousedown itself works, you can have mousedown PUT a random number from the widgets script, its the grab in this case that doesn't work..) so one could use the old mouse is down set a flag mousemove method to change its location, but in many cases grab/dragdrop is preferable. On Wed, Jun 27, 2018 at 12:55 PM Klaus major-k via use-livecode < use-livecode at lists.runrev.com> wrote: > Am 27.06.2018 um 20:30 schrieb Klaus major-k via use-livecode < > use-livecode at lists.runrev.com>: > > Hi Richmond, > >> Am 27.06.2018 um 20:24 schrieb Richmond Mathewson via use-livecode < > use-livecode at lists.runrev.com>: > >> Indeed: but that is not what I, and subsequently, Klaus, found. > >> If an SVG widget contains this script: > >> on mouseDown > >> grab me > >> end mouseDown > >> in Edit mode, whether the mouse is down or up the widget moves with > >> the mouse and cannot be released. > > > > EXACTLY! > > Thanks for testing. > > In case someone is interested: > > > > 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 richmondmathewson at gmail.com Wed Jun 27 15:15:31 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Wed, 27 Jun 2018 22:15:31 +0300 Subject: Grabbing a widget In-Reply-To: <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> Message-ID: All that does is show me how much LC centre . . . . Richmond. On 27/6/2018 9:55 pm, Klaus major-k via use-livecode wrote: > Am 27.06.2018 um 20:30 schrieb Klaus major-k via use-livecode : >> Hi Richmond, >>> Am 27.06.2018 um 20:24 schrieb Richmond Mathewson via use-livecode : >>> Indeed: but that is not what I, and subsequently, Klaus, found. >>> If an SVG widget contains this script: >>> on mouseDown >>> grab me >>> end mouseDown >>> in Edit mode, whether the mouse is down or up the widget moves with >>> the mouse and cannot be released. >> EXACTLY! >> Thanks for testing. > In case someone is interested: > > > > 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 jacque at hyperactivesw.com Wed Jun 27 15:20:02 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 27 Jun 2018 14:20:02 -0500 Subject: Grabbing a widget In-Reply-To: References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> Message-ID: Choosing the browse tool stops it, in case you don't feel like restarting LC. On 6/27/18 2:02 PM, Mike Bonner via use-livecode wrote: > I haven't found a way to make it stop sticking either. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From klaus at major-k.de Wed Jun 27 15:23:25 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 21:23:25 +0200 Subject: Grabbing a widget In-Reply-To: References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> Message-ID: <2AA939F9-08F6-4344-AFB8-E0EC5AAB0768@major-k.de> Hi Jacqueline, > Am 27.06.2018 um 21:20 schrieb J. Landman Gay via use-livecode : > > Choosing the browse tool stops it, in case you don't feel like restarting LC. yep, but switching back to EDIT starts the same procedure again, fun for the whole family! :-) > On 6/27/18 2:02 PM, Mike Bonner via use-livecode wrote: >> I haven't found a way to make it stop sticking either. > > -- > Jacqueline Landman Gay Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From merakosp at gmail.com Wed Jun 27 15:29:56 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Wed, 27 Jun 2018 20:29:56 +0100 Subject: LC 9 Dictionary, Linux In-Reply-To: References: <38b9584a-2a91-a443-f37a-f72ccdabc872@warrensweb.us> <81cc815b-ef19-9215-ca41-eed361b57ac4@warrensweb.us> Message-ID: Hi Warren, If you quit LC, this setting is lost next time you open LC. You could probably tweak the script that checks the value of this setting. It should be in the script of stack revIdeLibrary, around line 4583: *function* revIDEBrowserWidgetUnavailable * return* (the platform is "Linux") and ($LIVECODE_USE_CEF is 0) *end* revIDEBrowserWidgetUnavailable probably the easiest way to force the Dictionary opening in a stack is to change this handler to return false: *function* revIDEBrowserWidgetUnavailable * return* false *end* revIDEBrowserWidgetUnavailable Hope this helps. Best, Panos -- On Wed, Jun 27, 2018 at 7:15 PM, Warren Samples via use-livecode < use-livecode at lists.runrev.com> wrote: > On 06/27/2018 12:17 PM, Warren Samples via use-livecode wrote: > >> On 06/27/2018 03:45 AM, panagiotis merakos wrote: >> > If your Linux machine is not affected by this issue, then you can do >> the following to open the Dictionary in a LC stack (as it used to be): >> > >> > 1. in the msg box type "put 1 into $LIVECODE_USE_CEF" >> > 2. open the dictionary, it should now open in a stack >> > >> > Best, >> > Panos >> > > Panos, > > It works but it's not persistent. What is the best way to make this > "stick"? > > > > > Warren > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 27 16:31:13 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Wed, 27 Jun 2018 15:31:13 -0500 Subject: Grabbing a widget In-Reply-To: <2AA939F9-08F6-4344-AFB8-E0EC5AAB0768@major-k.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> <2AA939F9-08F6-4344-AFB8-E0EC5AAB0768@major-k.de> Message-ID: <07de407a-5b08-5ed8-6369-398bf1581e1c@hyperactivesw.com> On 6/27/18 2:23 PM, Klaus major-k via use-livecode wrote: >> Am 27.06.2018 um 21:20 schrieb J. Landman Gay via use-livecode: >> >> Choosing the browse tool stops it, in case you don't feel like restarting LC. > yep, but switching back to EDIT starts the same procedure again, fun for the whole family! :-) > I think you should make it into a game and call it a feature. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From klaus at major-k.de Wed Jun 27 16:34:36 2018 From: klaus at major-k.de (Klaus major-k) Date: Wed, 27 Jun 2018 22:34:36 +0200 Subject: Grabbing a widget In-Reply-To: <07de407a-5b08-5ed8-6369-398bf1581e1c@hyperactivesw.com> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> <2AA939F9-08F6-4344-AFB8-E0EC5AAB0768@major-k.de> <07de407a-5b08-5ed8-6369-398bf1581e1c@hyperactivesw.com> Message-ID: <7EAF2147-2B77-4C5B-A22E-B5393240F876@major-k.de> > Am 27.06.2018 um 22:31 schrieb J. Landman Gay via use-livecode : > > On 6/27/18 2:23 PM, Klaus major-k via use-livecode wrote: >>> Am 27.06.2018 um 21:20 schrieb J. Landman Gay via use-livecode: >>> >>> Choosing the browse tool stops it, in case you don't feel like restarting LC. >> yep, but switching back to EDIT starts the same procedure again, fun for the whole family! :-) > > I think you should make it into a game and call it a feature. If I'd make a game from it I'd rather call it "Sticky Wicky" or something! :-D Best Klaus -- Klaus Major http://www.major-k.de klaus at major-k.de From bobsneidar at iotecdigital.com Wed Jun 27 17:32:26 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Jun 2018 21:32:26 +0000 Subject: Tessellated hexagonal grid? In-Reply-To: <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> Message-ID: <895C9913-E67A-4034-99DC-6C49436467BD@iotecdigital.com> I would agree if I understood one word of it, or even what the problem was this approach was trying to solve. Bob S > On Jun 27, 2018, at 08:42 , Rick Harrison via use-livecode wrote: > > Great resource and read. > > Thanks! > > Rick > >> On Jun 27, 2018, at 5:30 AM, hh via use-livecode wrote: >> >> Here a rather complete guide to the "theory" with a link >> to implementation guides for several programming languages, >> especially, close to LC, JavaScript. >> >> https://www.redblobgames.com/grids/hexagons/ From bobsneidar at iotecdigital.com Wed Jun 27 17:34:51 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Jun 2018 21:34:51 +0000 Subject: Grabbing a widget In-Reply-To: <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> Message-ID: <491F4251-AC5E-4CC7-945B-B8987CEDA02D@iotecdigital.com> I wonder what would happen if you passed mouseDown? Bob S > On Jun 27, 2018, at 11:24 , Richmond Mathewson via use-livecode wrote: > > Indeed: but that is not what I, and subsequently, Klaus, found. > > If an SVG widget contains this script: > > on mouseDown > grab me > end mouseDown > > in Edit mode, whether the mouse is down or up the widget moves with > the mouse and cannot be released. > > Richmond. > > On 27/6/2018 9:04 pm, hh via use-livecode wrote: >>> Klaus wrote: >>> ... any opinion to the funky behaviour I experienced? >> Sorry, I overlooked that you are using LC 9. >> With LC 9 in edit mode the SVG widget is here moved with >> the mouse even without any script. >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 harrison at all-auctions.com Wed Jun 27 17:55:09 2018 From: harrison at all-auctions.com (Rick Harrison) Date: Wed, 27 Jun 2018 17:55:09 -0400 Subject: Grabbing a widget In-Reply-To: <7EAF2147-2B77-4C5B-A22E-B5393240F876@major-k.de> References: <81BF2E37-793E-4F04-AE2F-57A0A4173EE2@hyperhh.de> <84fe5e79-e352-705b-106c-e83f402353c7@gmail.com> <97D7C685-30C9-4FCC-93A9-092EA6FDCEC4@major-k.de> <2257011D-7671-427D-BE23-0E1F76689F84@major-k.de> <2AA939F9-08F6-4344-AFB8-E0EC5AAB0768@major-k.de> <07de407a-5b08-5ed8-6369-398bf1581e1c@hyperactivesw.com> <7EAF2147-2B77-4C5B-A22E-B5393240F876@major-k.de> Message-ID: <8F2CA561-9311-4572-BA97-AF362F87FEB4@all-auctions.com> It sounds more like "Fly Paper?! You did grab onto it after all. > On Jun 27, 2018, at 4:34 PM, Klaus major-k via use-livecode wrote: > >> I think you should make it into a game and call it a feature. > > If I'd make a game from it I'd rather call it "Sticky Wicky" or something! :-D > > > Best > > Klaus > -- > Klaus Major From bobsneidar at iotecdigital.com Wed Jun 27 18:50:05 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Jun 2018 22:50:05 +0000 Subject: Script Only Stack Behaviors and Nesting Message-ID: <8D9FBEAF-072F-409E-9BA0-5545B4F8DB11@iotecdigital.com> Hi all. I'm getting heavily into behaviors and script only stacks now (in preparation for Levure Framework) because my project has become complex enough to make it almost inevitable. I have perhaps 20 or so substacks in a mainstack. All the substacks have quite a bit of shared behavior, so I created a button with the common code for all the stacks, then set the behavior of each stack to the long ID of that button. So far so good. It works famously. But I also took the non-common code for each stack, and saved each one as a .livecode script only stack but have yet to set the behavior of the substacks to them. I will eventually do the same for the common code behavior mentioned above. Now I want to nest the behaviors in such a way so that each stack can avail itself of both behaviors. So the first question is, Which behavior should be the first behavior I set the stack to, or does it matter? The next is, how do I nest behaviors of script only stacks? I know I can set the behavior of one button to the behavior of another whose behavior is that of another etc. But how do I do that with script only stack files? Bob S From bobsneidar at iotecdigital.com Wed Jun 27 18:53:33 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Jun 2018 22:53:33 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: <939A4B55-07FA-49C6-9AC9-A7E1376DC454@mail.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <939A4B55-07FA-49C6-9AC9-A7E1376DC454@mail.com> Message-ID: <55DDD9CB-D5C4-4BA0-9BDB-B7C1DAF64BB0@iotecdigital.com> You know you are right. I just noticed that. That syntax of mine should not have even worked LOL! Talk about a forgiving interpreter! Bob S > On Jun 26, 2018, at 23:25 , Dick Kriesel via use-livecode wrote: > >> On Jun 26, 2018, at 1:13 PM, Bob Sneidar via use-livecode wrote: >> ... >> do "put " & quote & aStackConstants [tConstant] & quote & " into " & tConstant > > Hi, Bob. If you wanted simpler code, that could be just > > do "put aStackConstants[ tConstant ] into " & tConstant > > ? Dick > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 27 19:08:19 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Wed, 27 Jun 2018 23:08:19 +0000 Subject: Behaviors not honoring script local variables?? In-Reply-To: <55DDD9CB-D5C4-4BA0-9BDB-B7C1DAF64BB0@iotecdigital.com> References: <3AFE24B7-C0A7-4ABD-9F44-7F2676711669@iotecdigital.com> <939A4B55-07FA-49C6-9AC9-A7E1376DC454@mail.com> <55DDD9CB-D5C4-4BA0-9BDB-B7C1DAF64BB0@iotecdigital.com> Message-ID: Not only that, I think I overthought this. All I really need to do is retrieve the array and then use the array elements instead of the variables. It all started when I began using behaviors and discovered that a behavior does not have access to a scripts own constants. This was a way for me to use script locals in both the behavior and the parent script by having the getStackConstants() function in each one. I'd have to replace every instance of a script local with an array reference, but it's probably better in the long run. Bob S > On Jun 27, 2018, at 15:53 , Bob Sneidar via use-livecode wrote: > > You know you are right. I just noticed that. That syntax of mine should not have even worked LOL! Talk about a forgiving interpreter! > > Bob S > > >> On Jun 26, 2018, at 23:25 , Dick Kriesel via use-livecode wrote: >> >>> On Jun 26, 2018, at 1:13 PM, Bob Sneidar via use-livecode wrote: >>> ... >>> do "put " & quote & aStackConstants [tConstant] & quote & " into " & tConstant >> >> Hi, Bob. If you wanted simpler code, that could be just >> >> do "put aStackConstants[ tConstant ] into " & tConstant >> >> ? Dick From waprothero at gmail.com Thu Jun 28 12:17:01 2018 From: waprothero at gmail.com (William Prothero) Date: Thu, 28 Jun 2018 09:17:01 -0700 Subject: Examples of encryption for database access In-Reply-To: <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> Message-ID: Mark and Brian: Thank you for your input. Security is a big deal these days and I think it is very important that best practices get discussed and examples available. Ideally, we would be able to download example scripts of best practices for both db access, and password verification. For my use, the consequences of a breach are very small, but I don?t want my site to be able to be hijacked for nefarious purposes. A few questions. I understand Mark?s comment about putting the key and IV vector in the .htaccess file. I will do this as soon as I figure out if I?ve destroyed my server by deleting all files in the /etc/httpd directory by mistake (I was trying to set an environment variable in that directory and ?.. arg?l). However, if IV is a random vector, I don?t understand how the php code that accesses the mySQL db would decode the commands and data. The setup would be different for password verification because it doesn?t need to be decoded to be verified. However, for access to a mySQL server, it needs to be decoded on the server. My understanding was that the function of the IV was to increase the number of possible keys to make a dictionary attack less feasible. Also, my php docs say the IV should be 16 bits. I haven?t tried more, but I do get an error message complaining about IV not being 16 bits. Another question I have is the best way to process the input text to eliminate injection type attacks. Best, Bill > On Jun 26, 2018, at 2:37 PM, Mark Wieder via use-livecode wrote: > > On 06/25/2018 08:57 PM, Brian Milby via use-livecode wrote: >> One thing this misses is that the IV is not another private key/password. It should be random/different for every use of the key. > > True, but for the purpose of Bill's demo it works fine. For that matter, a 16-bit iv won't get you very far either. I'd be inclined to generate a large random iv and post it to the server with the encrypted data. But I'd also worry about putting a database out in the open like this without good security constraints. Of course, I have no idea what Bill has in mind here, so ymmv. > > -- > 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 ahsoftware at sonic.net Thu Jun 28 15:30:03 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Thu, 28 Jun 2018 12:30:03 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> Message-ID: <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> On 06/28/2018 09:17 AM, William Prothero via use-livecode wrote: > I understand Mark?s comment about putting the key and IV vector in the .htaccess file. I will do this as soon as I figure out if I?ve destroyed my server by deleting all files in the /etc/httpd directory by mistake (I was trying to set an environment variable in that directory and ?.. arg?l). However, if IV is a random vector, I don?t understand how the php code that accesses the mySQL db would decode the commands and data. The setup would be different for password verification because it doesn?t need to be decoded to be verified. However, for access to a mySQL server, it needs to be decoded on the server. My understanding was that the function of the IV was to increase the number of possible keys to make a dictionary attack less feasible. Also, my php docs say the IV should be 16 bits. I haven?t tried more, but I do get an error message complaining about IV not being 16 bits. There's no requirement for the initialization vector to be private, just that it is unique among all messages using the same encryption key. It can be posted to the server along with the encrypted data. Thus you can use a new randomized iv for each post, and the php code on the server would take the posted iv and use it with the already-known encryption key to decrypt the data. Ignore my comment about 16 bits. You're supplying an iv of 16 *bytes*, which is 128 bytes. That's standard for normal use. If you want to get serious about it, you could double the length. -- Mark Wieder ahsoftware at gmail.com From kee.nethery at elloco.com Thu Jun 28 15:35:34 2018 From: kee.nethery at elloco.com (Kee Nethery) Date: Thu, 28 Jun 2018 12:35:34 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> Message-ID: On Jun 28, 2018, at 9:17 AM, William Prothero via use-livecode wrote: > Another question I have is the best way to process the input text to eliminate injection type attacks. I have a series of functions that filter out everything but ... digitsOnly() <- deletes everything other than 0 through 9 moneyOnly() <- deletes all but 0 through 9, period, minus sign emailOnly() <- only keeps stuff that has the format of an email alphaOnly() <- tosses everything outside of a-z and A-Z noQuoted() <- anything containing a quote is set to empty. For example no username or password should ever contain a quote. I only use a filtered version of the data provided by a user. I?ll write custom filters if needed. This applies to desktop apps and web apps. From ambassador at fourthworld.com Thu Jun 28 15:29:56 2018 From: ambassador at fourthworld.com (Richard Gaskin) Date: Thu, 28 Jun 2018 12:29:56 -0700 Subject: tsNet issues Message-ID: <1b0bad89-5670-507d-567e-29cc7d61073c@fourthworld.com> 1. When attempting to get a URL that should return 404, "the result" is empty. Is this a known issue, or should I file a new report? 2. I don't need tsNet for what I'm working on at the moment - how do I turn it off? This older recommendation no longer seems to do the trick: dispatch "revUnloadLibrary" to stack "tsNetLibURL" -- 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 earthlearningsolutions.org Thu Jun 28 16:32:26 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Thu, 28 Jun 2018 13:32:26 -0700 Subject: Examples of encryption for database access In-Reply-To: <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> Message-ID: <05EC683C-5DD8-44EF-8352-6E052F1D3D27@earthlearningsolutions.org> Mark, Pardon me for being dense. But if you send an iv with the data, can?t a hacker obtain and use that iv to support hacking the encrypted data? What I understand, possibly erroneous, is that a Dictionary attack involves trying all possible combinations of a key. A 32 char key would have 2**(32*8) combinations. The iv vector increases the possible combinations to [2**(32*8)]*[2**(16*8)] and makes dictionary attacks much less practical.. Now I?m wondering whether I?m understanding what the iv does. If the iv for data with an unknown key, is known, can?t that iv be used to reduce the number of possible combinations of keys back to the 2**(16*32) value, making the use of an iv irrelevant? I am going to google this to see if I can get more info, but please chime in if I am on the wrong track. Best, Bill Bill William Prothero http://earthlearningsolutions.org > On Jun 28, 2018, at 12:30 PM, Mark Wieder via use-livecode wrote: > >> On 06/28/2018 09:17 AM, William Prothero via use-livecode wrote: >> >> I understand Mark?s comment about putting the key and IV vector in the .htaccess file. I will do this as soon as I figure out if I?ve destroyed my server by deleting all files in the /etc/httpd directory by mistake (I was trying to set an environment variable in that directory and ?.. arg?l). However, if IV is a random vector, I don?t understand how the php code that accesses the mySQL db would decode the commands and data. The setup would be different for password verification because it doesn?t need to be decoded to be verified. However, for access to a mySQL server, it needs to be decoded on the server. My understanding was that the function of the IV was to increase the number of possible keys to make a dictionary attack less feasible. Also, my php docs say the IV should be 16 bits. I haven?t tried more, but I do get an error message complaining about IV not being 16 bits. > > There's no requirement for the initialization vector to be private, just that it is unique among all messages using the same encryption key. It can be posted to the server along with the encrypted data. Thus you can use a new randomized iv for each post, and the php code on the server would take the posted iv and use it with the already-known encryption key to decrypt the data. > > Ignore my comment about 16 bits. You're supplying an iv of 16 *bytes*, which is 128 bytes. That's standard for normal use. If you want to get serious about it, you could double the length. > > -- > 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 brian at milby7.com Thu Jun 28 16:49:46 2018 From: brian at milby7.com (Brian Milby) Date: Thu, 28 Jun 2018 16:49:46 -0400 Subject: Examples of encryption for database access In-Reply-To: <05EC683C-5DD8-44EF-8352-6E052F1D3D27@earthlearningsolutions.org> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> <05EC683C-5DD8-44EF-8352-6E052F1D3D27@earthlearningsolutions.org> Message-ID: Random IV means that an attacker can not generate a dictionary in advance. Knowing it at the same time is not an issue since they cypher is not cracked. The other reason is that the IV seeds the AES encryption so that the first block does not give anything away. If the first encrypted block for the same data is always the same, the attacker can use that to test guesses if they can control what is being encrypted. Same issue if they can predict the IV. See the Wikipedia entry I linked to for a better discussion. IV is fixed at the block size of the cipher. So for AES it is 16 bytes. On Jun 28, 2018, 4:33 PM -0400, prothero--- via use-livecode , wrote: > Mark, > Pardon me for being dense. But if you send an iv with the data, can?t a hacker obtain and use that iv to support hacking the encrypted data? > > What I understand, possibly erroneous, is that a Dictionary attack involves trying all possible combinations of a key. A 32 char key would have 2**(32*8) combinations. The iv vector increases the possible combinations to [2**(32*8)]*[2**(16*8)] and makes dictionary attacks much less practical.. Now I?m wondering whether I?m understanding what the iv does. If the iv for data with an unknown key, is known, can?t that iv be used to reduce the number of possible combinations of keys back to the 2**(16*32) value, making the use of an iv irrelevant? > > I am going to google this to see if I can get more info, but please chime in if I am on the wrong track. > > Best, > Bill > > Bill > > William Prothero > http://earthlearningsolutions.org > > > On Jun 28, 2018, at 12:30 PM, Mark Wieder via use-livecode wrote: > > > > > On 06/28/2018 09:17 AM, William Prothero via use-livecode wrote: > > > > > > I understand Mark?s comment about putting the key and IV vector in the .htaccess file. I will do this as soon as I figure out if I?ve destroyed my server by deleting all files in the /etc/httpd directory by mistake (I was trying to set an environment variable in that directory and ?.. arg?l). However, if IV is a random vector, I don?t understand how the php code that accesses the mySQL db would decode the commands and data. The setup would be different for password verification because it doesn?t need to be decoded to be verified. However, for access to a mySQL server, it needs to be decoded on the server. My understanding was that the function of the IV was to increase the number of possible keys to make a dictionary attack less feasible. Also, my php docs say the IV should be 16 bits. I haven?t tried more, but I do get an error message complaining about IV not being 16 bits. > > > > There's no requirement for the initialization vector to be private, just that it is unique among all messages using the same encryption key. It can be posted to the server along with the encrypted data. Thus you can use a new randomized iv for each post, and the php code on the server would take the posted iv and use it with the already-known encryption key to decrypt the data. > > > > Ignore my comment about 16 bits. You're supplying an iv of 16 *bytes*, which is 128 bytes. That's standard for normal use. If you want to get serious about it, you could double the length. > > > > -- > > 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 merakosp at gmail.com Thu Jun 28 17:00:55 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Thu, 28 Jun 2018 22:00:55 +0100 Subject: tsNet issues In-Reply-To: <1b0bad89-5670-507d-567e-29cc7d61073c@fourthworld.com> References: <1b0bad89-5670-507d-567e-29cc7d61073c@fourthworld.com> Message-ID: Hi Richard, RE 2, this is a bug that will be fixed in 9.0.1 rc1. You can apply locally the changes described here until we release 9.0.1 rc1: https://github.com/livecode/livecode/pull/6567 Best, Panos On Thu, Jun 28, 2018, 21:08 Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: > 1. When attempting to get a URL that should return 404, "the result" is > empty. Is this a known issue, or should I file a new report? > > 2. I don't need tsNet for what I'm working on at the moment - how do I > turn it off? > > This older recommendation no longer seems to do the trick: > > dispatch "revUnloadLibrary" to stack "tsNetLibURL" > > -- > 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 bobsneidar at iotecdigital.com Thu Jun 28 17:44:58 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Thu, 28 Jun 2018 21:44:58 +0000 Subject: Array Column Subset Revisited Message-ID: Hi all. We know we can set the customKeys of an object, which will delete any elements of the custom properties not in the list we set it to. Wouldn't it be great if you do the same with the keys of an array? Currently, the keys of an array are read only. If they were settable, you could effectively get just the column(s) of an array (like the dgData of a datagrid) without having to iterate through every array element. It may be nitpicking though, if the time savings are negligible. Bob S From merakosp at gmail.com Thu Jun 28 18:18:39 2018 From: merakosp at gmail.com (panagiotis merakos) Date: Thu, 28 Jun 2018 23:18:39 +0100 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> <0F11CA7C-080A-4A66-A18F-A20F5F8AA2A9@revigniter.com> Message-ID: Hi all, This problem happened because some on-rev servers (Jasmine, Sage and Diesel) had only the 64 bit version of this library, while others (e.g. Tio) had both the 32 and 64 bit version. Robin has identified and fixed the problem, so the 32bit version of LC Server 9 now does work on all on-rev servers. Best, Panos -- On Wed, Jun 27, 2018 at 12:15 PM, panagiotis merakos wrote: > @Ralf, > > I see the same error when trying to install LC 9 32 bit on Sage. > > However the exact same setup is successful on Tio. > > So I guess some of the on-rev servers do have this library, while others > don't. I will ask Robin about this. > > Best, > Panos > -- > > On Wed, Jun 27, 2018 at 12:08 PM, Ralf Bitter via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi Matthias, >> >> > On 26. Jun 2018, at 23:57, Matthias Rebbe via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > Hm, On-Rev support told me that GLIBC 2.1.4 is needed to run Livecode >> Server 9 64bit on On-Rev. The 32bit version is working on On-Rev with the >> older one. >> > They did not mention that this library is also needed to get the 32bit >> tsNET external running with Livecode server 32 bit on On-Rev. >> >> >> >> even my 32 bit LC 9 version installation fails on Diesel, at least >> the business flavour fails with error: >> ?error while loading shared libraries: libfontconfig.so.1: cannot open >> shared object file: No such file or directory? >> >> >> Ralf >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 ahsoftware at sonic.net Thu Jun 28 18:53:47 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Thu, 28 Jun 2018 15:53:47 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> <05EC683C-5DD8-44EF-8352-6E052F1D3D27@earthlearningsolutions.org> Message-ID: <281c22d4-20f8-88a3-c2bd-4a7aa85f3820@sonic.net> On 06/28/2018 01:49 PM, Brian Milby via use-livecode wrote: > Random IV means that an attacker can not generate a dictionary in advance. Knowing it at the same time is not an issue since they cypher is not cracked. The other reason is that the IV seeds the AES encryption so that the first block does not give anything away. If the first encrypted block for the same data is always the same, the attacker can use that to test guesses if they can control what is being encrypted. Same issue if they can predict the IV. See the Wikipedia entry I linked to for a better discussion. Encryption with an initialization vector isn't a reversible operation. It's not like XORing a value with another. Being able to *predict* an iv value, however, as opposed to just knowing the current value, is a security problem. > > IV is fixed at the block size of the cipher. So for AES it is 16 bytes. Yes, I stand corrected. Silly me assumed that aes-256 would use a larger block size. AES uses only 128-bit blocks with different key sizes. -- Mark Wieder ahsoftware at gmail.com From charles at techstrategies.com.au Thu Jun 28 22:17:47 2018 From: charles at techstrategies.com.au (Charles Warwick) Date: Fri, 29 Jun 2018 12:17:47 +1000 Subject: tsNet issues In-Reply-To: <1b0bad89-5670-507d-567e-29cc7d61073c@fourthworld.com> References: <1b0bad89-5670-507d-567e-29cc7d61073c@fourthworld.com> Message-ID: <7F898A13-0A8B-41E0-982C-4AE91571DA8F@techstrategies.com.au> Hi Richard, What version of LC are you using? If I run the following code in LC 9.0.0, I get an answer dialog indicating a 404 error was returned: on mouseUp get URL ?https://downloads.techstrategies.com.au/blah? if the result is not empty then answer the result end if end mouseUp Cheers, Charles > On 29 Jun 2018, at 5:29 am, Richard Gaskin via use-livecode wrote: > > 1. When attempting to get a URL that should return 404, "the result" is empty. Is this a known issue, or should I file a new report? > > 2. I don't need tsNet for what I'm working on at the moment - how do I turn it off? > > This older recommendation no longer seems to do the trick: > > dispatch "revUnloadLibrary" to stack "tsNetLibURL" > > -- > 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 earthlearningsolutions.org Thu Jun 28 22:32:07 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Thu, 28 Jun 2018 19:32:07 -0700 Subject: Examples of encryption for database access In-Reply-To: <281c22d4-20f8-88a3-c2bd-4a7aa85f3820@sonic.net> References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> <05EC683C-5DD8-44EF-8352-6E052F1D3D27@earthlearningsolutions.org> <281c22d4-20f8-88a3-c2bd-4a7aa85f3820@sonic.net> Message-ID: Here?s an interesting link re iv vectors. It says iv can be sent in plain view. Hmmm.... http://www.cryptofails.com/post/70059609995/crypto-noobs-1-initialization-vectors But, I thought having the iv vector in plain view was also a security risk. Perhaps I?m belaboring this and I apologize if I this discussion is getting tedious. Bill William Prothero http://earthlearningsolutions.org > On Jun 28, 2018, at 3:53 PM, Mark Wieder via use-livecode wrote: > > Return-Path: > Delivered-To: prothero at earthlearningsolutions.org > Received: from ssd.earthlearningsolutions.org > by ssd.earthlearningsolutions.org with LMTP id iK5OBz9nNVvKBQgAqWmBzQ > for ; Thu, 28 Jun 2018 22:54:55 +0000 > Return-path: > Envelope-to: prothero at earthlearningsolutions.org > Delivery-date: Thu, 28 Jun 2018 22:54:55 +0000 > Received: from on-rev.com ([37.59.205.90]:45213 helo=var.runrev.com) > by ssd.earthlearningsolutions.org with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) > (Exim 4.91) > (envelope-from ) > id 1fYfoU-002Cli-VR > for prothero at earthlearningsolutions.org; Thu, 28 Jun 2018 22:54:55 +0000 > Received: from localhost ([127.0.0.1]:40505 helo=meg.on-rev.com) > by meg.on-rev.com with esmtp (Exim 4.85) > (envelope-from ) > id 1fYfnh-0002Uo-3q; Fri, 29 Jun 2018 00:54:05 +0200 > Received: from c.mail.sonic.net ([64.142.111.80]:34500) > by meg.on-rev.com with esmtps (TLSv1.2:DHE-RSA-AES128-GCM-SHA256:128) > (Exim 4.85) (envelope-from ) > id 1fYfne-0002Tc-Fv > for use-livecode at lists.runrev.com; Fri, 29 Jun 2018 00:54:02 +0200 > Received: from [192.168.0.1] (50-1-85-235.dsl.dynamic.fusionbroadband.com > [50.1.85.235]) (authenticated bits=0) > by c.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id w5SMruW6005477 > (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) > for ; Thu, 28 Jun 2018 15:53:57 -0700 > Subject: Re: Examples of encryption for database access > To: Brian Milby via use-livecode > References: > <9F0C3B88-0189-4E92-8D43-C1B344D0F752 at major-k.de> > > <677A939F-B639-4097-A466-70BA022218E2 at gmail.com> > <9fd89e75-5162-1468-e67e-3e0a28302944 at sonic.net> > <9C9C7F4B-B2C7-42DA-90AB-0926DB177628 at gmail.com> > > > > > <4efe880c-d188-400b-31d9-564a0540ac8b at sonic.net> > > <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df at sonic.net> > <05EC683C-5DD8-44EF-8352-6E052F1D3D27 at earthlearningsolutions.org> > > Message-ID: <281c22d4-20f8-88a3-c2bd-4a7aa85f3820 at sonic.net> > Date: Thu, 28 Jun 2018 15:53:47 -0700 > User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 > Thunderbird/52.8.0 > MIME-Version: 1.0 > In-Reply-To: > Content-Language: en-US > X-Sonic-CAuth: UmFuZG9tSVYV61H8iJnDK8B78GdZlYqOiytilmPik8b3rpWaN3EnRBEaGwmBl44wO/6mwKUeRD6UgYKrQpGb7glziXUhBLNd > X-Sonic-ID: C;bmxTIyZ76BGfs641UvMdPQ== M;TH6LIyZ76BGfs641UvMdPQ== > X-Sonic-Spam-Details: 0.0/5.0 by cerberusd > X-BeenThere: use-livecode at lists.runrev.com > X-Mailman-Version: 2.1.20 > Precedence: list > List-Id: How to use LiveCode > List-Unsubscribe: , > > List-Archive: > List-Post: > List-Help: > List-Subscribe: , > > From: Mark Wieder via use-livecode > Reply-To: How to use LiveCode > Cc: Mark Wieder > Content-Transfer-Encoding: 7bit > Content-Type: text/plain; charset="us-ascii"; Format="flowed" > Errors-To: use-livecode-bounces at lists.runrev.com > Sender: "use-livecode" > X-AntiAbuse: This header was added to track abuse, please include it with any abuse report > X-AntiAbuse: Primary Hostname - meg.on-rev.com > X-AntiAbuse: Original Domain - earthlearningsolutions.org > X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] > X-AntiAbuse: Sender Address Domain - lists.runrev.com > X-Get-Message-Sender-Via: meg.on-rev.com: acl_c_authenticated_local_user: mailman/mailman > >> On 06/28/2018 01:49 PM, Brian Milby via use-livecode wrote: >> Random IV means that an attacker can not generate a dictionary in advance. Knowing it at the same time is not an issue since they cypher is not cracked. The other reason is that the IV seeds the AES encryption so that the first block does not give anything away. If the first encrypted block for the same data is always the same, the attacker can use that to test guesses if they can control what is being encrypted. Same issue if they can predict the IV. See the Wikipedia entry I linked to for a better discussion. > > Encryption with an initialization vector isn't a reversible operation. It's not like XORing a value with another. Being able to *predict* an iv value, however, as opposed to just knowing the current value, is a security problem. > >> IV is fixed at the block size of the cipher. So for AES it is 16 bytes. > > Yes, I stand corrected. Silly me assumed that aes-256 would use a larger block size. AES uses only 128-bit blocks with different key sizes. > > -- > 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 >> On 06/28/2018 01:49 PM, Brian Milby via use-livecode wrote: >> Random IV means that an attacker can not generate a dictionary in advance. Knowing it at the same time is not an issue since they cypher is not cracked. The other reason is that the IV seeds the AES encryption so that the first block does not give anything away. If the first encrypted block for the same data is always the same, the attacker can use that to test guesses if they can control what is being encrypted. Same issue if they can predict the IV. See the Wikipedia entry I linked to for a better discussion. > > Encryption with an initialization vector isn't a reversible operation. It's not like XORing a value with another. Being able to *predict* an iv value, however, as opposed to just knowing the current value, is a security problem. > >> IV is fixed at the block size of the cipher. So for AES it is 16 bytes. > > Yes, I stand corrected. Silly me assumed that aes-256 would use a larger block size. AES uses only 128-bit blocks with different key sizes. > > -- > 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 prothero at earthlearningsolutions.org Thu Jun 28 22:43:15 2018 From: prothero at earthlearningsolutions.org (prothero at earthlearningsolutions.org) Date: Thu, 28 Jun 2018 19:43:15 -0700 Subject: Examples of encryption for database access In-Reply-To: References: <9F0C3B88-0189-4E92-8D43-C1B344D0F752@major-k.de> <677A939F-B639-4097-A466-70BA022218E2@gmail.com> <9fd89e75-5162-1468-e67e-3e0a28302944@sonic.net> <9C9C7F4B-B2C7-42DA-90AB-0926DB177628@gmail.com> <4efe880c-d188-400b-31d9-564a0540ac8b@sonic.net> <1bcf1dcd-f1ab-7bfd-8404-7df1c1b9c3df@sonic.net> <05EC683C-5DD8-44EF-8352-6E052F1D3D27@earthlearningsolutions.org> <253B6B31-08FC-4964-AA31-03FEF9032D77@earthlearningsolutions.org> <75FB3795-758D-4E22-82D8-0DA3837A937C@earthlearningsolutions.org> Message-ID: <5FD59AF1-FFF6-45F9-8BA9-954EC2EBEC45@earthlearningsolutions.org> Thanks, Brian, Actually, I think I know how to do it now, with iv sent along with the data. I?ll post what I come up with. Thanks so much for your input. Bill William Prothero http://earthlearningsolutions.org > On Jun 28, 2018, at 7:38 PM, Brian Milby wrote: > > I can write an LC example, but not sure how quickly I could do the equivalent in PHP. Some of the Mark Smith code can be used for inspiration. I?ll put something on GitHub and post a link here. > > If the server doesn?t need access to the contents, then storing the data encrypted does reduce the location of the key by one. Depending on how paranoid you want to get, you can add all kinds of layers. > > Here is another good answer on secrecy of the IV: > https://crypto.stackexchange.com/questions/8592/iv-security-clarification > > Not sure how much would be gained using a different key for each direction - both keys would be needed in both places anyway. The random IV ensures each cipher text is unique even if the plain text is the same. > > Transmitting the IV is not a security risk assuming that they are random (which they should be). >> On Jun 28, 2018, 7:40 PM -0400, prothero at earthlearningsolutions.org , wrote: >> Brianand Mark >> Tnx so much for your patience. >> >> What I get so far, where I am sending data to a php script that stores the data in a mysql db, is that the key and iv vector cannot be sent along with the encrypted data, because those values make it easier to hack the encrypted text. As Mark suggests, I can store the iv and key in the .htaccess file. >> >> Reading stackoverflow and other various googled links, I get even more confused by the postings, then the corrective comments, then corrections of the corrections. So, is there a ?best practices? source that I can trust fully? If not, I?m going to go with the above. >> >> Another suggestion was to use a different key and iv for the return message. Also one source said the db should store the encrypted data, not the decrypted data. It never ends. For my use I?m ok with what I already know, but it would really be nice to have the best known useage. >> >> In general, i?m paranoid about security. It oughta be easier. >> >> Best, >> Bill >> >> William Prothero >> http://ed.earthednet.org >> >>> On Jun 28, 2018, at 4:02 PM, Brian Milby wrote: >>> >>> See the second example on the Wikipedia page in the properties section. It talks about how a predictable IV can be an issue. >>>> On Jun 28, 2018, 6:43 PM -0400, prothero at earthlearningsolutions.org , wrote: >>>> Brian, >>>> If the iv is appended to the encrypted data, the the hacker will have it. >>>> >>>> Your message says ?If the first encrypted block for the same data is always the same, the attacker can use that to test guesses if they can control what is being encrypted. Same issue if they can predict the IV. ? >>>> >>>> Now I?m a bit confused. Plse clarify?? >>>> >>>> Best, >>>> Bill >>>> >>>> William Prothero >>>> http://earthlearningsolutions.org >>>> >>>>> On Jun 28, 2018, at 1:49 PM, Brian Milby wrote: >>>>> >>>>> Random IV means that an attacker can not generate a dictionary in advance. Knowing it at the same time is not an issue since they cypher is not cracked. The other reason is that the IV seeds the AES encryption so that the first block does not give anything away. If the first encrypted block for the same data is always the same, the attacker can use that to test guesses if they can control what is being encrypted. Same issue if they can predict the IV. See the Wikipedia entry I linked to for a better discussion. >>>>> >>>>> IV is fixed at the block size of the cipher. So for AES it is 16 bytes. >>>>>> On Jun 28, 2018, 4:33 PM -0400, prothero--- via use-livecode , wrote: >>>>>> Mark, >>>>>> Pardon me for being dense. But if you send an iv with the data, can?t a hacker obtain and use that iv to support hacking the encrypted data? >>>>>> >>>>>> What I understand, possibly erroneous, is that a Dictionary attack involves trying all possible combinations of a key. A 32 char key would have 2**(32*8) combinations. The iv vector increases the possible combinations to [2**(32*8)]*[2**(16*8)] and makes dictionary attacks much less practical.. Now I?m wondering whether I?m understanding what the iv does. If the iv for data with an unknown key, is known, can?t that iv be used to reduce the number of possible combinations of keys back to the 2**(16*32) value, making the use of an iv irrelevant? >>>>>> >>>>>> I am going to google this to see if I can get more info, but please chime in if I am on the wrong track. >>>>>> >>>>>> Best, >>>>>> Bill >>>>>> >>>>>> Bill >>>>>> >>>>>> William Prothero >>>>>> http://earthlearningsolutions.org >>>>>> >>>>>>> On Jun 28, 2018, at 12:30 PM, Mark Wieder via use-livecode wrote: >>>>>>> >>>>>>>> On 06/28/2018 09:17 AM, William Prothero via use-livecode wrote: >>>>>>>> >>>>>>>> I understand Mark?s comment about putting the key and IV vector in the .htaccess file. I will do this as soon as I figure out if I?ve destroyed my server by deleting all files in the /etc/httpd directory by mistake (I was trying to set an environment variable in that directory and ?.. arg?l). However, if IV is a random vector, I don?t understand how the php code that accesses the mySQL db would decode the commands and data. The setup would be different for password verification because it doesn?t need to be decoded to be verified. However, for access to a mySQL server, it needs to be decoded on the server. My understanding was that the function of the IV was to increase the number of possible keys to make a dictionary attack less feasible. Also, my php docs say the IV should be 16 bits. I haven?t tried more, but I do get an error message complaining about IV not being 16 bits. >>>>>>> >>>>>>> There's no requirement for the initialization vector to be private, just that it is unique among all messages using the same encryption key. It can be posted to the server along with the encrypted data. Thus you can use a new randomized iv for each post, and the php code on the server would take the posted iv and use it with the already-known encryption key to decrypt the data. >>>>>>> >>>>>>> Ignore my comment about 16 bits. You're supplying an iv of 16 *bytes*, which is 128 bytes. That's standard for normal use. If you want to get serious about it, you could double the length. >>>>>>> >>>>>>> -- >>>>>>> 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 rabit at revigniter.com Fri Jun 29 05:27:41 2018 From: rabit at revigniter.com (Ralf Bitter) Date: Fri, 29 Jun 2018 11:27:41 +0200 Subject: What exactly does the status pending in Livecode Quality Control Center mean In-Reply-To: References: <0F2117A6-19B6-4AF8-B394-4C74F921DDAA@m-r-d.de> <6CFE303E-F20C-4AE4-9FC2-FB25050DEC82@m-r-d.de> <0F11CA7C-080A-4A66-A18F-A20F5F8AA2A9@revigniter.com> Message-ID: <534C77FA-CD69-4284-A62B-7A521CB43A91@revigniter.com> Panos, thanks a lot. Ralf > On 29. Jun 2018, at 00:18, panagiotis merakos wrote: > > Hi all, > > This problem happened because some on-rev servers (Jasmine, Sage and Diesel) had only the 64 bit version of this library, while others (e.g. Tio) had both the 32 and 64 bit version. > > Robin has identified and fixed the problem, so the 32bit version of LC Server 9 now does work on all on-rev servers. > > Best, > Panos From dvglasgow at gmail.com Fri Jun 29 07:05:12 2018 From: dvglasgow at gmail.com (David V Glasgow) Date: Fri, 29 Jun 2018 12:05:12 +0100 Subject: Tessellated hexagonal grid? In-Reply-To: <895C9913-E67A-4034-99DC-6C49436467BD@iotecdigital.com> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> <895C9913-E67A-4034-99DC-6C49436467BD@iotecdigital.com> Message-ID: <907EC7D8-5DA2-40F6-AB3A-E1697AF7AFF1@gmail.com> Not sure whether you really want to know or not ;-) Richmond puts his finger on it really. Most of the properties of a graphic polygon don?t relate to geometric features of the polygon itself - except when it is a rect. So, as Richard says, tiling them or otherwise changing properties of target and adjacent hexes on the fly will involve what the Bash Street Kids called "hard sums?? . If I do go with hexes, I?m thinking the lazy way (my way) would be to simply show hidden hexes rather than allow allow true creation. That would mean having a hard edge - which on the plus side would at least prevent Richmond?s flat earther?s falling off. Best wishes, David G > On 27 Jun 2018, at 10:32 pm, Bob Sneidar via use-livecode wrote: > > I would agree if I understood one word of it, or even what the problem was this approach was trying to solve. > > Bob S > > >> On Jun 27, 2018, at 08:42 , Rick Harrison via use-livecode wrote: >> >> Great resource and read. >> >> Thanks! >> >> Rick >> >>> On Jun 27, 2018, at 5:30 AM, hh via use-livecode wrote: >>> >>> Here a rather complete guide to the "theory" with a link >>> to implementation guides for several programming languages, >>> especially, close to LC, JavaScript. >>> >>> https://www.redblobgames.com/grids/hexagons/ > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 phil at liverpool.ac.uk Fri Jun 29 07:10:44 2018 From: phil at liverpool.ac.uk (Phil Jimmieson) Date: Fri, 29 Jun 2018 12:10:44 +0100 Subject: Tessellated hexagonal grid? In-Reply-To: <907EC7D8-5DA2-40F6-AB3A-E1697AF7AFF1@gmail.com> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> <895C9913-E67A-4034-99DC-6C49436467BD@iotecdigital.com> <907EC7D8-5DA2-40F6-AB3A-E1697AF7AFF1@gmail.com> Message-ID: Hi David, Even with complex shapes, it?s pretty easy (once you have a template version) just to clone it, and then place it appropriately (and obviously that can be based on its centre, or, as you say, the edges of its rectangle). The maths shouldn?t be that hard (& I speak as someone who hates hard sums ?). Sent from my iPhone > On 29 Jun 2018, at 12:05, David V Glasgow via use-livecode wrote: > > Not sure whether you really want to know or not ;-) > > Richmond puts his finger on it really. Most of the properties of a graphic polygon don?t relate to geometric features of the polygon itself - except when it is a rect. So, as Richard says, tiling them or otherwise changing properties of target and adjacent hexes on the fly will involve what the Bash Street Kids called "hard sums? . > > If I do go with hexes, I?m thinking the lazy way (my way) would be to simply show hidden hexes rather than allow allow true creation. That would mean having a hard edge - which on the plus side would at least prevent Richmond?s flat earther?s falling off. > > Best wishes, > > David G > >> On 27 Jun 2018, at 10:32 pm, Bob Sneidar via use-livecode wrote: >> >> I would agree if I understood one word of it, or even what the problem was this approach was trying to solve. >> >> Bob S >> >> >>> On Jun 27, 2018, at 08:42 , Rick Harrison via use-livecode wrote: >>> >>> Great resource and read. >>> >>> Thanks! >>> >>> Rick >>> >>>> On Jun 27, 2018, at 5:30 AM, hh via use-livecode wrote: >>>> >>>> Here a rather complete guide to the "theory" with a link >>>> to implementation guides for several programming languages, >>>> especially, close to LC, JavaScript. >>>> >>>> https://www.redblobgames.com/grids/hexagons/ >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Fri Jun 29 11:13:39 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 15:13:39 +0000 Subject: Sort IP List Message-ID: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Hi all. I somehow got on to how to sort IP addresses, seeing they are not real numbers, and read in the dictionary that the sort command is a "stable sort". This occured to me: function sortIPList pIPList set the itemdelimiter to "." sort lines of pIPList numeric by item 4 of each sort lines of pIPList numeric by item 3 of each sort lines of pIPList numeric by item 2 of each sort lines of pIPList numeric by item 1 of each return pIPList end sortIPList Enjoy! Bob S From bonnmike at gmail.com Fri Jun 29 11:37:12 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 09:37:12 -0600 Subject: Sort IP List In-Reply-To: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: I don't know what speed differences there might be, but another option is something like this.. function ipfunc pIp set the itemdel to "." set the numberformat to "###" -- force length of each chunk to 3 -- append the numbers together sans "." with padded 0's using numberformat repeat for each item tItem in pIp put tItem +0 after tIp -- do the add to force the numberformat to work end repeat return tIp end ipfunc And then use it like so.. sort lines of myIpList ascending numeric by ipfunc(each) On Fri, Jun 29, 2018 at 9:14 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi all. > > I somehow got on to how to sort IP addresses, seeing they are not real > numbers, and read in the dictionary that the sort command is a "stable > sort". This occured to me: > > function sortIPList pIPList > set the itemdelimiter to "." > sort lines of pIPList numeric by item 4 of each > sort lines of pIPList numeric by item 3 of each > sort lines of pIPList numeric by item 2 of each > sort lines of pIPList numeric by item 1 of each > return pIPList > end sortIPList > > Enjoy! > > 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 Jun 29 12:03:20 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 16:03:20 +0000 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: First, your function returns a single line of numbers. With 30,000 lines of input, yours takes 9 ticks, mine 8. Bob S > On Jun 29, 2018, at 08:37 , Mike Bonner via use-livecode wrote: > > I don't know what speed differences there might be, but another option is > something like this.. > > function ipfunc pIp > set the itemdel to "." > set the numberformat to "###" -- force length of each chunk to 3 > > -- append the numbers together sans "." with padded 0's using numberformat > repeat for each item tItem in pIp > put tItem +0 after tIp -- do the add to force the numberformat to > work > end repeat > return tIp > end ipfunc > > And then use it like so.. > sort lines of myIpList ascending numeric by ipfunc(each) > > > On Fri, Jun 29, 2018 at 9:14 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi all. >> >> I somehow got on to how to sort IP addresses, seeing they are not real >> numbers, and read in the dictionary that the sort command is a "stable >> sort". This occured to me: >> >> function sortIPList pIPList >> set the itemdelimiter to "." >> sort lines of pIPList numeric by item 4 of each >> sort lines of pIPList numeric by item 3 of each >> sort lines of pIPList numeric by item 2 of each >> sort lines of pIPList numeric by item 1 of each >> return pIPList >> end sortIPList >> >> Enjoy! >> >> 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 bonnmike at gmail.com Fri Jun 29 12:35:29 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 10:35:29 -0600 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: ## was writing this when your response showed up.. Just did some tests. For reasonable size lists of IP numbers, your method is clearly faster. As lines increase the disparity shrinks (due to 4 processings of the same lines rather than 1) until around 35000 lines at which point positions reverse and the disparity grows in favor of the function(each) method. After just a bit more testing, the fastest method (for anything over 20000 lines) is to run through the whole list first converting it to numeric and then do a single simple sort, but that leaves you with a straight list of numbers that would then have to be re-divided into triads, so the post processing needed kills the whole idea. As for your response, Yes the function is called by sort for each line and returns the numbers to use to give that line its sort value. It isn't as fast as I had hoped most likely because it has to call a function for each line in the list. With the first method I posted, on my machine, the crossover point is right around 35000 lines (at least on my system, at 35000 lines it takes 475 millisec to 612 millisec vs the 4xsort) At 200,000 lines the disparity grows to over 3 seconds difference, but i'm unsure what max length list might be reasonably expected. The 4 sort method is by far the simplest to code and is plenty fast for list under 100000. The nicest part of your method is that if processing a huge list, its easy to give visual feedback between each sort if need be. But again, all this is likely moot unless the ip list is huge. On Fri, Jun 29, 2018 at 9:37 AM Mike Bonner wrote: > I don't know what speed differences there might be, but another option is > something like this.. > > function ipfunc pIp > set the itemdel to "." > set the numberformat to "###" -- force length of each chunk to 3 > > -- append the numbers together sans "." with padded 0's using numberformat > repeat for each item tItem in pIp > put tItem +0 after tIp -- do the add to force the numberformat to > work > end repeat > return tIp > end ipfunc > > And then use it like so.. > sort lines of myIpList ascending numeric by ipfunc(each) > > > On Fri, Jun 29, 2018 at 9:14 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi all. >> >> I somehow got on to how to sort IP addresses, seeing they are not real >> numbers, and read in the dictionary that the sort command is a "stable >> sort". This occured to me: >> >> function sortIPList pIPList >> set the itemdelimiter to "." >> sort lines of pIPList numeric by item 4 of each >> sort lines of pIPList numeric by item 3 of each >> sort lines of pIPList numeric by item 2 of each >> sort lines of pIPList numeric by item 1 of each >> return pIPList >> end sortIPList >> >> Enjoy! >> >> 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 Jun 29 12:45:54 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 16:45:54 +0000 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: A realistic expectation of IP addresses for a given network might only be around 16,535 (class B network) assuming every address was in use, an unlikely scenario. I thought of way to do this for an extremely large number of addresses by reading a large file in 1000 line chunks into 4 columns of a SQL memory database, then querying using concatenation and sorts on the 4 columns, and using limit 1,1000 1001,1000 2001,1000 etc. and writing back to another file. The time to do this of course would be much longer, but it would avoid any memory constraints. Bob S > On Jun 29, 2018, at 09:35 , Mike Bonner via use-livecode wrote: > > ## was writing this when your response showed up.. > Just did some tests. For reasonable size lists of IP numbers, your method > is clearly faster. As lines increase the disparity shrinks (due to 4 > processings of the same lines rather than 1) until around 35000 lines at > which point positions reverse and the disparity grows in favor of the > function(each) method. > > After just a bit more testing, the fastest method (for anything over 20000 > lines) is to run through the whole list first converting it to numeric and > then do a single simple sort, but that leaves you with a straight list of > numbers that would then have to be re-divided into triads, so the post > processing needed kills the whole idea. > > As for your response, > Yes the function is called by sort for each line and returns the numbers > to use to give that line its sort value. It isn't as fast as I had hoped > most likely because it has to call a function for each line in the list. > With the first method I posted, on my machine, the crossover point is right > around 35000 lines (at least on my system, at 35000 lines it takes 475 > millisec to 612 millisec vs the 4xsort) At 200,000 lines the disparity > grows to over 3 seconds difference, but i'm unsure what max length list > might be reasonably expected. The 4 sort method is by far the simplest to > code and is plenty fast for list under 100000. > The nicest part of your method is that if processing a huge list, its easy > to give visual feedback between each sort if need be. But again, all this > is likely moot unless the ip list is huge. From dunbarx at aol.com Fri Jun 29 13:07:22 2018 From: dunbarx at aol.com (Com) Date: Fri, 29 Jun 2018 11:07:22 -0600 Subject: No subject Message-ID: <1530292052.YwrmfDbWSQSeEYwrsfhXux@mf-smf-ucb032c3> http://edition.bluechasm-staging.com Com From iowahengst at mac.com Fri Jun 29 13:27:25 2018 From: iowahengst at mac.com (Randy Hengst) Date: Fri, 29 Jun 2018 12:27:25 -0500 Subject: iOS Application Loader Message-ID: <47323F0B-7E6A-4187-B9D9-79E5EE8EC988@mac.com> Hi All, I?ve been trying to send off an app to Apple using Application Loader. I?ve used it for all previous submissions. It seems to two factor change has caused issues. I?m stuck in a loop of passwords. Anyone successfully used Application Loader in the past month or two? be well, randy www.classroomFocusedSoftware.com From bonnmike at gmail.com Fri Jun 29 13:29:09 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 11:29:09 -0600 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: Ok, now i'm curious about something.. I know its possible to designate multiple keys to a single sort using the form.. sort lines of plist by item 1 of each & item 2 of each & item 3 of each & item 4 of each which works fine. But changing it to.. sort lines of plist ascending numeric by item 1 of each & item 2 of each & item 3 of each & item 4 of each -- reverse this for your desired sort doesn't sort numerically (even if each key is forced to numeric with a + 0) BTW, I had to go back to comments in an older version of LC to remember how to do the multiple-key sorts. Since it ignores the "numeric" part, if one limits ips to all 3 digit numbers, the sort works as expected despite sorting as alpha. So my question is this.. Would it be a reasonable feature request to adjust sort so that its multiple key format respects the numeric sort type? On Fri, Jun 29, 2018 at 10:46 AM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > A realistic expectation of IP addresses for a given network might only be > around 16,535 (class B network) assuming every address was in use, an > unlikely scenario. I thought of way to do this for an extremely large > number of addresses by reading a large file in 1000 line chunks into 4 > columns of a SQL memory database, then querying using concatenation and > sorts on the 4 columns, and using limit 1,1000 1001,1000 2001,1000 etc. and > writing back to another file. The time to do this of course would be much > longer, but it would avoid any memory constraints. > > Bob S > > > > On Jun 29, 2018, at 09:35 , Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > ## was writing this when your response showed up.. > > Just did some tests. For reasonable size lists of IP numbers, your > method > > is clearly faster. As lines increase the disparity shrinks (due to 4 > > processings of the same lines rather than 1) until around 35000 lines at > > which point positions reverse and the disparity grows in favor of the > > function(each) method. > > > > After just a bit more testing, the fastest method (for anything over > 20000 > > lines) is to run through the whole list first converting it to numeric > and > > then do a single simple sort, but that leaves you with a straight list of > > numbers that would then have to be re-divided into triads, so the post > > processing needed kills the whole idea. > > > > As for your response, > > Yes the function is called by sort for each line and returns the numbers > > to use to give that line its sort value. It isn't as fast as I had hoped > > most likely because it has to call a function for each line in the list. > > With the first method I posted, on my machine, the crossover point is > right > > around 35000 lines (at least on my system, at 35000 lines it takes 475 > > millisec to 612 millisec vs the 4xsort) At 200,000 lines the disparity > > grows to over 3 seconds difference, but i'm unsure what max length list > > might be reasonably expected. The 4 sort method is by far the simplest > to > > code and is plenty fast for list under 100000. > > The nicest part of your method is that if processing a huge list, its > easy > > to give visual feedback between each sort if need be. But again, all > this > > is likely moot unless the ip list is huge. > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 29 13:30:24 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 11:30:24 -0600 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: Actually, when using the multiple key sort, dont reverse the order since it does it all in one go. On Fri, Jun 29, 2018 at 11:29 AM Mike Bonner wrote: > Ok, now i'm curious about something.. I know its possible to designate > multiple keys to a single sort using the form.. > sort lines of plist by item 1 of each & item 2 of each & item 3 of each > & item 4 of each > which works fine. > But changing it to.. > sort lines of plist ascending numeric by item 1 of each & item 2 of > each & item 3 of each & item 4 of each -- reverse this for your desired > sort > doesn't sort numerically (even if each key is forced to numeric with a + 0) > > BTW, I had to go back to comments in an older version of LC to remember > how to do the multiple-key sorts. > > Since it ignores the "numeric" part, if one limits ips to all 3 digit > numbers, the sort works as expected despite sorting as alpha. > > So my question is this.. Would it be a reasonable feature request to > adjust sort so that its multiple key format respects the numeric sort type? > > > On Fri, Jun 29, 2018 at 10:46 AM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> A realistic expectation of IP addresses for a given network might only be >> around 16,535 (class B network) assuming every address was in use, an >> unlikely scenario. I thought of way to do this for an extremely large >> number of addresses by reading a large file in 1000 line chunks into 4 >> columns of a SQL memory database, then querying using concatenation and >> sorts on the 4 columns, and using limit 1,1000 1001,1000 2001,1000 etc. and >> writing back to another file. The time to do this of course would be much >> longer, but it would avoid any memory constraints. >> >> Bob S >> >> >> > On Jun 29, 2018, at 09:35 , Mike Bonner via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > ## was writing this when your response showed up.. >> > Just did some tests. For reasonable size lists of IP numbers, your >> method >> > is clearly faster. As lines increase the disparity shrinks (due to 4 >> > processings of the same lines rather than 1) until around 35000 lines at >> > which point positions reverse and the disparity grows in favor of the >> > function(each) method. >> > >> > After just a bit more testing, the fastest method (for anything over >> 20000 >> > lines) is to run through the whole list first converting it to numeric >> and >> > then do a single simple sort, but that leaves you with a straight list >> of >> > numbers that would then have to be re-divided into triads, so the post >> > processing needed kills the whole idea. >> > >> > As for your response, >> > Yes the function is called by sort for each line and returns the >> numbers >> > to use to give that line its sort value. It isn't as fast as I had >> hoped >> > most likely because it has to call a function for each line in the list. >> > With the first method I posted, on my machine, the crossover point is >> right >> > around 35000 lines (at least on my system, at 35000 lines it takes 475 >> > millisec to 612 millisec vs the 4xsort) At 200,000 lines the disparity >> > grows to over 3 seconds difference, but i'm unsure what max length list >> > might be reasonably expected. The 4 sort method is by far the simplest >> to >> > code and is plenty fast for list under 100000. >> > The nicest part of your method is that if processing a huge list, its >> easy >> > to give visual feedback between each sort if need be. But again, all >> this >> > is likely moot unless the ip list is huge. >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Fri Jun 29 13:53:42 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 29 Jun 2018 20:53:42 +0300 Subject: Tessellated hexagonal grid? In-Reply-To: <907EC7D8-5DA2-40F6-AB3A-E1697AF7AFF1@gmail.com> References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> <895C9913-E67A-4034-99DC-6C49436467BD@iotecdigital.com> <907EC7D8-5DA2-40F6-AB3A-E1697AF7AFF1@gmail.com> Message-ID: I cannot for the life of me work out why it is relatively easy to tessellate hexagons in BBC BASIC on my BBC MODEL B while it is such a P.I.A. in LiveCode. https://computer-literacy-project.pilots.bbcconnectedstudio.co.uk/jsbeeb/index.html?disc1=CLP0001.ssd&loadBasic=%2Fbeeb%2Floader%2F7c8bf2e3-5488-6322-09d6-e137cdae5605&autorun=1&model=Master Richmond. On 29/6/2018 2:05 pm, David V Glasgow via use-livecode wrote: > Not sure whether you really want to know or not ;-) > > Richmond puts his finger on it really. Most of the properties of a graphic polygon don?t relate to geometric features of the polygon itself - except when it is a rect. So, as Richard says, tiling them or otherwise changing properties of target and adjacent hexes on the fly will involve what the Bash Street Kids called "hard sums? . > > If I do go with hexes, I?m thinking the lazy way (my way) would be to simply show hidden hexes rather than allow allow true creation. That would mean having a hard edge - which on the plus side would at least prevent Richmond?s flat earther?s falling off. > > Best wishes, > > David G > >> On 27 Jun 2018, at 10:32 pm, Bob Sneidar via use-livecode wrote: >> >> I would agree if I understood one word of it, or even what the problem was this approach was trying to solve. >> >> Bob S >> >> >>> On Jun 27, 2018, at 08:42 , Rick Harrison via use-livecode wrote: >>> >>> Great resource and read. >>> >>> Thanks! >>> >>> Rick >>> >>>> On Jun 27, 2018, at 5:30 AM, hh via use-livecode wrote: >>>> >>>> Here a rather complete guide to the "theory" with a link >>>> to implementation guides for several programming languages, >>>> especially, close to LC, JavaScript. >>>> >>>> https://www.redblobgames.com/grids/hexagons/ >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 Fri Jun 29 13:07:16 2018 From: dunbarx at aol.com (Com) Date: Fri, 29 Jun 2018 09:07:16 -0800 Subject: No subject Message-ID: <1530292047.YwrjfT14dpTPrYwrnfn4AE@mf-smf-ucb035c1> http://distant.alexkrall.com Com From jacque at hyperactivesw.com Fri Jun 29 14:39:03 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 29 Jun 2018 13:39:03 -0500 Subject: Array Column Subset Revisited In-Reply-To: References: Message-ID: Have you tried the "intersect" command? On 6/28/18 4:44 PM, Bob Sneidar via use-livecode wrote: > Hi all. > > We know we can set the customKeys of an object, which will delete any elements of the custom properties not in the list we set it to. Wouldn't it be great if you do the same with the keys of an array? Currently, the keys of an array are read only. If they were settable, you could effectively get just the column(s) of an array (like the dgData of a datagrid) without having to iterate through every array element. > > It may be nitpicking though, if the time savings are negligible. > > Bob S -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From richmondmathewson at gmail.com Fri Jun 29 15:01:00 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 29 Jun 2018 22:01:00 +0300 Subject: Array Column Subset Revisited In-Reply-To: References: Message-ID: That's funny; I thought the "intersect" command was for finding out if objects overlapped each other. Richmond. On 29/6/2018 9:39 pm, J. Landman Gay via use-livecode wrote: > Have you tried the "intersect" command? > > On 6/28/18 4:44 PM, Bob Sneidar via use-livecode wrote: >> Hi all. >> >> We know we can set the customKeys of an object, which will delete any >> elements of the custom properties not in the list we set it to. >> Wouldn't it be great if you do the same with the keys of an array? >> Currently, the keys of an array are read only. If they were settable, >> you could effectively get just the column(s) of an array (like the >> dgData of a datagrid) without having to iterate through every array >> element. >> >> It may be nitpicking though, if the time savings are negligible. >> >> Bob S > > From richmondmathewson at gmail.com Fri Jun 29 15:05:27 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Fri, 29 Jun 2018 22:05:27 +0300 Subject: Tessellated hexagonal grid? In-Reply-To: References: <1CDC689A-355E-4D3A-9A24-F7C560825267@hyperhh.de> <6F8BE213-977A-48CD-93E8-989C8E6BABF3@all-auctions.com> <895C9913-E67A-4034-99DC-6C49436467BD@iotecdigital.com> <907EC7D8-5DA2-40F6-AB3A-E1697AF7AFF1@gmail.com> Message-ID: <097b3795-ec2e-d109-263b-7c21a7107a95@gmail.com> Come to think of things, I ran off a load of tessellating hexagons in Turtle Graphics about 2 weeks ago using fekking code blocks. Richmond. On 29/6/2018 8:53 pm, Richmond Mathewson wrote: > I cannot for the life of me work out why it is relatively easy to > tessellate hexagons in BBC BASIC > on my BBC MODEL B while it is such a P.I.A. in LiveCode. > > https://computer-literacy-project.pilots.bbcconnectedstudio.co.uk/jsbeeb/index.html?disc1=CLP0001.ssd&loadBasic=%2Fbeeb%2Floader%2F7c8bf2e3-5488-6322-09d6-e137cdae5605&autorun=1&model=Master > > Richmond. > > On 29/6/2018 2:05 pm, David V Glasgow via use-livecode wrote: >> Not sure whether you really want to know or not ;-) >> >> Richmond puts his finger on it really. Most of the properties of a graphic polygon don?t relate to geometric features of the polygon itself - except when it is a rect. So, as Richard says, tiling them or otherwise changing properties of target and adjacent hexes on the fly will involve what the Bash Street Kids called "hard sums?. >> >> If I do go with hexes, I?m thinking the lazy way (my way) would be to simply show hidden hexes rather than allow allow true creation. That would mean having a hard edge - which on the plus side would at least prevent Richmond?s flat earther?s falling off. >> >> Best wishes, >> >> David G >> >>> On 27 Jun 2018, at 10:32 pm, Bob Sneidar via use-livecode wrote: >>> >>> I would agree if I understood one word of it, or even what the problem was this approach was trying to solve. >>> >>> Bob S >>> >>> >>>> On Jun 27, 2018, at 08:42 , Rick Harrison via use-livecode wrote: >>>> >>>> Great resource and read. >>>> >>>> Thanks! >>>> >>>> Rick >>>> >>>>> On Jun 27, 2018, at 5:30 AM, hh via use-livecode wrote: >>>>> >>>>> Here a rather complete guide to the "theory" with a link >>>>> to implementation guides for several programming languages, >>>>> especially, close to LC, JavaScript. >>>>> >>>>> https://www.redblobgames.com/grids/hexagons/ >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode 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 Fri Jun 29 15:27:45 2018 From: jacque at hyperactivesw.com (J. Landman Gay) Date: Fri, 29 Jun 2018 14:27:45 -0500 Subject: Array Column Subset Revisited In-Reply-To: References: Message-ID: <89719515-38d2-3a4b-11ac-749acec4e062@hyperactivesw.com> That one's the function. The command works with arrays. On 6/29/18 2:01 PM, Richmond Mathewson via use-livecode wrote: > That's funny; I thought the "intersect" command was for finding out if > objects overlapped > each other. > > Richmond. > > On 29/6/2018 9:39 pm, J. Landman Gay via use-livecode wrote: >> Have you tried the "intersect" command? >> >> On 6/28/18 4:44 PM, Bob Sneidar via use-livecode wrote: >>> Hi all. >>> >>> We know we can set the customKeys of an object, which will delete any >>> elements of the custom properties not in the list we set it to. >>> Wouldn't it be great if you do the same with the keys of an array? >>> Currently, the keys of an array are read only. If they were settable, >>> you could effectively get just the column(s) of an array (like the >>> dgData of a datagrid) without having to iterate through every array >>> element. >>> >>> It may be nitpicking though, if the time savings are negligible. >>> >>> 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 > -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com From kevin at kdgtech.com Fri Jun 29 16:15:15 2018 From: kevin at kdgtech.com (Kevin Bergman) Date: Fri, 29 Jun 2018 13:15:15 -0700 Subject: LCB Foreign LC9.0.0 Message-ID: <000001d40fe5$e529b430$af7d1c90$@kdgtech.com> Working with LCB - trying to load in external code. What is the proper directory structure that it needs to be in? I have it working on a windows comp - I can bulid the LCB and return data from calls in the external dll. Here is the directory structure: CVTTest\ xx.lcb xx.livecode code\ x86-win32\ xx.dll Now I am trying to work with an ios external. I have a static lib - xx.a and a headers folder as well as a xx.framework folder. I have no idea where to put these items. Do I need to use staic and not the framework on ios? Do I include the headers folder or just the xx.a file? CVTTest\ xx.lcb xx.livecode code ?????? Thank you for your assistance! From monte at appisle.net Fri Jun 29 16:55:06 2018 From: monte at appisle.net (Monte Goulding) Date: Sat, 30 Jun 2018 06:55:06 +1000 Subject: LCB Foreign LC9.0.0 In-Reply-To: <000001d40fe5$e529b430$af7d1c90$@kdgtech.com> References: <000001d40fe5$e529b430$af7d1c90$@kdgtech.com> Message-ID: <680A4921-A469-46B8-A66D-645CAC9790D7@appisle.net> Hi Kevin The code folder conform to the platform id spec. https://github.com/livecode/livecode/blob/develop/docs/development/platform-id.md For iOS it will likely be universal-ios presuming you have universal binaries and don?t have separate builds for each sdk. In iOS 8+ there is such a thing as a dynamic framework which may be why your library comes as a lib and a framework. There are also lots of libraries delivered as static frameworks which are just a hack to make delivery easier. Dropping any of these inside the code/universal-ios folder should work. If the iOS library requires linker dependencies a text file (`.txt`) may be included to list them in the form: {library | [weak-]framework} Note that if you only have a static library then as we don?t do static linking of our simulator builds it won?t work there. > On 30 Jun 2018, at 6:15 am, Kevin Bergman via use-livecode wrote: > > Now I am trying to work with an ios external. I have a static lib - xx.a > and a headers folder as well as a xx.framework folder. I have no idea where > to put these items. > > Do I need to use staic and not the framework on ios? Do I include the > headers folder or just the xx.a file? > > > > CVTTest\ > > xx.lcb > > xx.livecode > > code > > ?????? From bobsneidar at iotecdigital.com Fri Jun 29 17:01:55 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 21:01:55 +0000 Subject: No subject In-Reply-To: <1530292047.YwrjfT14dpTPrYwrnfn4AE@mf-smf-ucb035c1> References: <1530292047.YwrjfT14dpTPrYwrnfn4AE@mf-smf-ucb035c1> Message-ID: <261684A6-1890-4154-BBEE-C1E5291D7E22@iotecdigital.com> Com is spamming again (sigh). Spammers are little sh*ts. Bob S > On Jun 29, 2018, at 10:07 , Com via use-livecode wrote: > > > 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 Jun 29 17:09:48 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 21:09:48 +0000 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> Message-ID: <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> Yes because your ampersand operator is not passing different arguements, it's concatenating the items together so that 10.2.245.6 produces the integer 1022456. But 10.22.2.6 produces 102226 which is smaller, but ought to sort higher. Hence the 4 pass sort. But you got me thinking, what if you did something like: set the numberformat to "000" sort lines of tIPList numeric by \ value(item 1 of each +0) & \ value(item 2 of each +0) & \ value(item 3 of each +0) & \ value(item 4 of each) Bob S > On Jun 29, 2018, at 10:29 , Mike Bonner via use-livecode wrote: > > sort lines of plist ascending numeric by item 1 of each & item 2 of each & > item 3 of each & item 4 of each -- reverse this for your desired sort > doesn't sort numerically (even if each key is forced to numeric with a + 0) From bobsneidar at iotecdigital.com Fri Jun 29 17:17:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 21:17:38 +0000 Subject: Sort IP List In-Reply-To: <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> Message-ID: Yeah, no I get runtime error. > On Jun 29, 2018, at 14:09 , Bob Sneidar via use-livecode wrote: > > Yes because your ampersand operator is not passing different arguements, it's concatenating the items together so that 10.2.245.6 produces the integer 1022456. But 10.22.2.6 produces 102226 which is smaller, but ought to sort higher. Hence the 4 pass sort. > > But you got me thinking, what if you did something like: > > set the numberformat to "000" > sort lines of tIPList numeric by \ > value(item 1 of each +0) & \ > value(item 2 of each +0) & \ > value(item 3 of each +0) & \ > value(item 4 of each) > > Bob S From bonnmike at gmail.com Fri Jun 29 18:00:20 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 16:00:20 -0600 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> Message-ID: Thx for the clue, I see what you mean. I had tried to get something similar to your value(item 1 of each +0) method to work and something wasn't clicking, but after seeing yours, I think I have it working. sort lines of tList ascending numeric by (item 1 of each +0) & (item 2 of each + 0) & (item 3 of each + 0) & (item 4 of each + 0) The above seems to work fine (and I avoided using value() to avoid an unnecessary function call), you just have to remember to set the itemdelimiter to "." otherwise you get the error. This may be faster because there aren't a bunch of function calls like my first idea, though I'm not sure how overhead compares since the numbers must still be evaluated. Just did some testing and it seems to be way way faster. 100k lines sort in 3/4 of a second. On Fri, Jun 29, 2018 at 3:18 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Yeah, no I get runtime error. > > > On Jun 29, 2018, at 14:09 , Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Yes because your ampersand operator is not passing different arguements, > it's concatenating the items together so that 10.2.245.6 produces the > integer 1022456. But 10.22.2.6 produces 102226 which is smaller, but ought > to sort higher. Hence the 4 pass sort. > > > > But you got me thinking, what if you did something like: > > > > set the numberformat to "000" > > sort lines of tIPList numeric by \ > > value(item 1 of each +0) & \ > > value(item 2 of each +0) & \ > > value(item 3 of each +0) & \ > > value(item 4 of each) > > > > 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 bonnmike at gmail.com Fri Jun 29 18:05:22 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 16:05:22 -0600 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> Message-ID: Oh, the above assumes setting the numberformat to "000" as you specified of course. On Fri, Jun 29, 2018 at 4:00 PM Mike Bonner wrote: > Thx for the clue, I see what you mean. > > I had tried to get something similar to your value(item 1 of each +0) > method to work and something wasn't clicking, but after seeing yours, I > think I have it working. > > sort lines of tList ascending numeric by (item 1 of each +0) & (item 2 of > each + 0) & (item 3 of each + 0) & (item 4 of each + 0) > > The above seems to work fine (and I avoided using value() to avoid an > unnecessary function call), you just have to remember to set the > itemdelimiter to "." otherwise you get the error. This may be faster > because there aren't a bunch of function calls like my first idea, though > I'm not sure how overhead compares since the numbers must still be > evaluated. > > Just did some testing and it seems to be way way faster. 100k lines sort > in 3/4 of a second. > > On Fri, Jun 29, 2018 at 3:18 PM Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Yeah, no I get runtime error. >> >> > On Jun 29, 2018, at 14:09 , Bob Sneidar via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> > >> > Yes because your ampersand operator is not passing different >> arguements, it's concatenating the items together so that 10.2.245.6 >> produces the integer 1022456. But 10.22.2.6 produces 102226 which is >> smaller, but ought to sort higher. Hence the 4 pass sort. >> > >> > But you got me thinking, what if you did something like: >> > >> > set the numberformat to "000" >> > sort lines of tIPList numeric by \ >> > value(item 1 of each +0) & \ >> > value(item 2 of each +0) & \ >> > value(item 3 of each +0) & \ >> > value(item 4 of each) >> > >> > 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 Jun 29 18:13:37 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 22:13:37 +0000 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> Message-ID: <9C521BCF-B14B-4087-A457-62A5A1C2099E@iotecdigital.com> Yeah mine won't run. I have: function sortIPList2 pIPList set the itemdelimiter to "." try sort lines of pIPList ascending numeric by (item 1 of each +0) & (item 2 of each + 0) & (item 3 of each + 0) & (item 4 of each + 0) catch theError breakpoint end try return pIPList end sortIPList2 Script hits breakpoint but there is nothing in theError. What version/OS are you running? We may have uncovered an engine anomaly. Bob S > On Jun 29, 2018, at 15:00 , Mike Bonner via use-livecode wrote: > > sort lines of tList ascending numeric by (item 1 of each +0) & (item 2 of > each + 0) & (item 3 of each + 0) & (item 4 of each + 0) From bobsneidar at iotecdigital.com Fri Jun 29 18:15:15 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 22:15:15 +0000 Subject: Sort IP List In-Reply-To: <9C521BCF-B14B-4087-A457-62A5A1C2099E@iotecdigital.com> References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> <9C521BCF-B14B-4087-A457-62A5A1C2099E@iotecdigital.com> Message-ID: <04D9CC3A-165C-411B-8848-11597D4D0BFA@iotecdigital.com> Wait I know exactly what is wrong. I have a few lines that use CIDR notation ie. 192.168.1.0/24 and THAT is not a number! Bob S > On Jun 29, 2018, at 15:13 , Bob Sneidar via use-livecode wrote: > > Yeah mine won't run. I have: > > function sortIPList2 pIPList > set the itemdelimiter to "." > try > sort lines of pIPList ascending numeric by (item 1 of each +0) & (item 2 of each + 0) & (item 3 of each + 0) & (item 4 of each + 0) > catch theError > breakpoint > end try > return pIPList > end sortIPList2 > > Script hits breakpoint but there is nothing in theError. What version/OS are you running? We may have uncovered an engine anomaly. > > Bob S > >> On Jun 29, 2018, at 15:00 , Mike Bonner via use-livecode wrote: >> >> sort lines of tList ascending numeric by (item 1 of each +0) & (item 2 of >> each + 0) & (item 3 of each + 0) & (item 4 of each + 0) > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Jun 29 18:16:51 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 16:16:51 -0600 Subject: Sort IP List In-Reply-To: <04D9CC3A-165C-411B-8848-11597D4D0BFA@iotecdigital.com> References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> <9C521BCF-B14B-4087-A457-62A5A1C2099E@iotecdigital.com> <04D9CC3A-165C-411B-8848-11597D4D0BFA@iotecdigital.com> Message-ID: Yup, that would be it! On Fri, Jun 29, 2018 at 4:15 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > Wait I know exactly what is wrong. I have a few lines that use CIDR > notation ie. 192.168.1.0/24 and THAT is not a number! > > Bob S > > > > On Jun 29, 2018, at 15:13 , Bob Sneidar via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Yeah mine won't run. I have: > > > > function sortIPList2 pIPList > > set the itemdelimiter to "." > > try > > sort lines of pIPList ascending numeric by (item 1 of each +0) & > (item 2 of each + 0) & (item 3 of each + 0) & (item 4 of each + 0) > > catch theError > > breakpoint > > end try > > return pIPList > > end sortIPList2 > > > > Script hits breakpoint but there is nothing in theError. What version/OS > are you running? We may have uncovered an engine anomaly. > > > > Bob S > > > >> On Jun 29, 2018, at 15:00 , Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> > >> sort lines of tList ascending numeric by (item 1 of each +0) & (item 2 > of > >> each + 0) & (item 3 of each + 0) & (item 4 of each + 0) > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode 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 kevin at kdgtech.com Fri Jun 29 18:23:15 2018 From: kevin at kdgtech.com (Kevin Bergman) Date: Fri, 29 Jun 2018 15:23:15 -0700 Subject: LCB Foreign LC9.0.0 In-Reply-To: <680A4921-A469-46B8-A66D-645CAC9790D7@appisle.net> References: <000001d40fe5$e529b430$af7d1c90$@kdgtech.com> <680A4921-A469-46B8-A66D-645CAC9790D7@appisle.net> Message-ID: <000001d40ff7$c6d3e020$547ba060$@kdgtech.com> Monte, Thank you! And more questions ? I had read through the docs and I have tried the ios-universal folder - but I probably have the incorrect files in side of it. I am working with the WowazaGoCoder api and I am not familiar with ios/mac file extensions and even more confused by the .framework directory If the framework contains a dynamic library ( not 100% sure it does - but they have a framework directory and a wowza_gocoder_staticlib directory.. so guessing the framework is not static ) what would I copy into the /code/universal-ios/ directory? The entire framework directory? Example: /code/universal-ios/WowzaGoCoderSDK.framework/ Of which the WowzaGoCoderSDK.framework/ contains: /_CodeSignature/CodeResources --- no file extension but is an xml file /Headers/*.h - all the header files /Modules/module.modulemap /Info.plist /strip-frameworks.sh /WowzaGoCodersdk ---- this has no file extension at all And is there any place I can look in what Livecode builds into the build directory to see if it copied over the library? On the windows build there is a resources directory - and this was populated with the .dll. Kevin -----Original Message----- From: use-livecode On Behalf Of Monte Goulding via use-livecode Sent: Friday, June 29, 2018 1:55 PM To: How to use LiveCode Cc: Monte Goulding Subject: Re: LCB Foreign LC9.0.0 Hi Kevin The code folder conform to the platform id spec. https://github.com/livecode/livecode/blob/develop/docs/development/platform-id.md For iOS it will likely be universal-ios presuming you have universal binaries and don?t have separate builds for each sdk. In iOS 8+ there is such a thing as a dynamic framework which may be why your library comes as a lib and a framework. There are also lots of libraries delivered as static frameworks which are just a hack to make delivery easier. Dropping any of these inside the code/universal-ios folder should work. If the iOS library requires linker dependencies a text file (`.txt`) may be included to list them in the form: {library | [weak-]framework} Note that if you only have a static library then as we don?t do static linking of our simulator builds it won?t work there. > On 30 Jun 2018, at 6:15 am, Kevin Bergman via use-livecode wrote: > > Now I am trying to work with an ios external. I have a static lib - > xx.a and a headers folder as well as a xx.framework folder. I have no > idea where to put these items. > > Do I need to use staic and not the framework on ios? Do I include the > headers folder or just the xx.a file? > > > > CVTTest\ > > xx.lcb > > xx.livecode > > code > > ?????? _______________________________________________ use-livecode mailing list use-livecode 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 Jun 29 18:33:16 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Fri, 29 Jun 2018 22:33:16 +0000 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> <9C521BCF-B14B-4087-A457-62A5A1C2099E@iotecdigital.com> <04D9CC3A-165C-411B-8848-11597D4D0BFA@iotecdigital.com> Message-ID: I have good news and bad news! function sortIPList2 pIPList set the itemdelimiter to "." try sort lines of pIPList ascending numeric \ by (item 1 of each + 0) & \ (item 2 of each + 0) & \ (item 3 of each + 0) & \ (item 4 of each + 0) catch theError breakpoint end try return pIPList end sortIPList2 With a small subset of data, it doesn't error meaning I have some cruft in the data. Fair enough. The bad news is... IT DOESN'T SORT! LOL!!! Reversing the items does not help either. Bob S > On Jun 29, 2018, at 15:16 , Mike Bonner via use-livecode wrote: > > Yup, that would be it! From bonnmike at gmail.com Fri Jun 29 18:46:32 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 16:46:32 -0600 Subject: Sort IP List In-Reply-To: References: <5ED2AFD2-A1FD-47C3-A385-AD4152671FE7@iotecdigital.com> <0B656B65-A255-4B94-A86F-05E4851FA98D@iotecdigital.com> <9C521BCF-B14B-4087-A457-62A5A1C2099E@iotecdigital.com> <04D9CC3A-165C-411B-8848-11597D4D0BFA@iotecdigital.com> Message-ID: Now that is weird because the sort is definitely working for me. OH wait, you don't set the numberformat in your function. Do you set it elsewhere, and if so, does it stick when the function is called? The sort is definitely, no question, working for me. I generate a list of IPs then in the msg box do this.. set the numberformat to "000" set the itemdel to "." put the millisec into tstart sort lines of tList ascending numeric by (item 1 of each +0) & (item 2 of each + 0) & (item 3 of each + 0) & (item 4 of each + 0) put the millisec - tstart put cr & tList after msg -- the list is sorted. Not sure why it isn't working for you, but on the off chance its a version difference, i'm on 9.0, community +, stable. On Fri, Jun 29, 2018 at 4:33 PM Bob Sneidar via use-livecode < use-livecode at lists.runrev.com> wrote: > I have good news and bad news! > > function sortIPList2 pIPList > set the itemdelimiter to "." > try > sort lines of pIPList ascending numeric \ > by (item 1 of each + 0) & \ > (item 2 of each + 0) & \ > (item 3 of each + 0) & \ > (item 4 of each + 0) > catch theError > breakpoint > end try > return pIPList > end sortIPList2 > > With a small subset of data, it doesn't error meaning I have some cruft in > the data. Fair enough. The bad news is... IT DOESN'T SORT! LOL!!! Reversing > the items does not help either. > > Bob S > > > On Jun 29, 2018, at 15:16 , Mike Bonner via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Yup, that would be 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 hh at hyperhh.de Fri Jun 29 19:41:32 2018 From: hh at hyperhh.de (hh) Date: Sat, 30 Jun 2018 01:41:32 +0200 Subject: Sort IP List Message-ID: <2AD510E3-0694-485B-A659-82B51ED37422@hyperhh.de> Your IP addresses [0-255].[0-255].[0-255].[0-255] are the hex IP numbers converted to base 256. So you may try the following sorting function that converts the IPs from base 256 to base 10 (decimal). function ip2dec x set itemdel to "." repeat with i=0 to 3 add (item 4-i of x)*256^i to y end repeat return y end ip2dec on mouseUp put fld "ips" into s sort s numeric by ip2dec(each) # <---- put s into fld "out" end mouseUp From alex at tweedly.net Fri Jun 29 19:54:01 2018 From: alex at tweedly.net (Alex Tweedly) Date: Sat, 30 Jun 2018 00:54:01 +0100 Subject: Sort IP List In-Reply-To: <2AD510E3-0694-485B-A659-82B51ED37422@hyperhh.de> References: <2AD510E3-0694-485B-A659-82B51ED37422@hyperhh.de> Message-ID: <7c8e4b14-0f1d-35aa-13d4-be356ec381b9@tweedly.net> Why not just do it directly (avoid the function call) ... function sortIPList2 pIPList set the itemdelimiter to "." try sort lines of pIPList ascending numeric \ by (item 1 of each * 16777216) + \ (item 2 of each *65536) + \ (item 3 of each *256) + \ (item 4 of each ) catch theError breakpoint end try return pIPList end sortIPList2 or if you prefer ... by item 4 of each + 256 * ( item 3 of each + 256 * (item 2 of each + 256 * item 1 of each )) ... Alex. On 30/06/2018 00:41, hh via use-livecode wrote: > Your IP addresses [0-255].[0-255].[0-255].[0-255] > are the hex IP numbers converted to base 256. > So you may try the following sorting function that > converts the IPs from base 256 to base 10 (decimal). > > function ip2dec x > set itemdel to "." > repeat with i=0 to 3 > add (item 4-i of x)*256^i to y > end repeat > return y > end ip2dec > > on mouseUp > put fld "ips" into s > sort s numeric by ip2dec(each) # <---- > put s into fld "out" > 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 Fri Jun 29 20:05:38 2018 From: bobsneidar at iotecdigital.com (Bob Sneidar) Date: Sat, 30 Jun 2018 00:05:38 +0000 Subject: Sort IP List In-Reply-To: <7c8e4b14-0f1d-35aa-13d4-be356ec381b9@tweedly.net> References: <2AD510E3-0694-485B-A659-82B51ED37422@hyperhh.de> <7c8e4b14-0f1d-35aa-13d4-be356ec381b9@tweedly.net> Message-ID: <03C2BFFF-24F5-474E-A70D-45D4C2532303@iotecdigital.com> Alex, you win the cookie! 4 ticks for 30,000 IP addresses! If we ever meet at a conference remind me and I will buy you beers. Not saying how namy, just more than one. :-) Bob S > On Jun 29, 2018, at 16:54 , Alex Tweedly via use-livecode wrote: > > Why not just do it directly (avoid the function call) ... > > function sortIPList2 pIPList > set the itemdelimiter to "." > try > sort lines of pIPList ascending numeric \ > by (item 1 of each * 16777216) + \ > (item 2 of each *65536) + \ > (item 3 of each *256) + \ > (item 4 of each ) > catch theError > breakpoint > end try > return pIPList > end sortIPList2 > > or if you prefer ... > by item 4 of each + 256 * ( item 3 of each + 256 * (item 2 of each + 256 * item 1 of each )) > ... > > Alex. > > On 30/06/2018 00:41, hh via use-livecode wrote: >> Your IP addresses [0-255].[0-255].[0-255].[0-255] >> are the hex IP numbers converted to base 256. >> So you may try the following sorting function that >> converts the IPs from base 256 to base 10 (decimal). >> >> function ip2dec x >> set itemdel to "." >> repeat with i=0 to 3 >> add (item 4-i of x)*256^i to y >> end repeat >> return y >> end ip2dec >> >> on mouseUp >> put fld "ips" into s >> sort s numeric by ip2dec(each) # <---- >> put s into fld "out" >> 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 > > _______________________________________________ > use-livecode mailing list > use-livecode 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 hh at hyperhh.de Fri Jun 29 20:26:51 2018 From: hh at hyperhh.de (hh) Date: Sat, 30 Jun 2018 02:26:51 +0200 Subject: Tessellated hexagonal grid? Message-ID: <3FF562B7-1B81-4A7E-8C66-D0491DA6F168@hyperhh.de> A simple hexagonal grid creating stack: http://forums.livecode.com/viewtopic.php?p=168657#p168657 You choose the number of rows and columns and, for "scaling", the horizontal radius and vertical radius of the circumellipses. From bonnmike at gmail.com Fri Jun 29 20:42:53 2018 From: bonnmike at gmail.com (Mike Bonner) Date: Fri, 29 Jun 2018 18:42:53 -0600 Subject: Sort IP List In-Reply-To: <7c8e4b14-0f1d-35aa-13d4-be356ec381b9@tweedly.net> References: <2AD510E3-0694-485B-A659-82B51ED37422@hyperhh.de> <7c8e4b14-0f1d-35aa-13d4-be356ec381b9@tweedly.net> Message-ID: You all are just too darn smart. great solution. On Fri, Jun 29, 2018 at 5:54 PM Alex Tweedly via use-livecode < use-livecode at lists.runrev.com> wrote: > Why not just do it directly (avoid the function call) ... > > function sortIPList2 pIPList > set the itemdelimiter to "." > try > sort lines of pIPList ascending numeric \ > by (item 1 of each * 16777216) + \ > (item 2 of each *65536) + \ > (item 3 of each *256) + \ > (item 4 of each ) > catch theError > breakpoint > end try > return pIPList > end sortIPList2 > > or if you prefer ... > by item 4 of each + 256 * ( item 3 of each + 256 * (item 2 of each + > 256 * item 1 of each )) > ... > > Alex. > > On 30/06/2018 00:41, hh via use-livecode wrote: > > Your IP addresses [0-255].[0-255].[0-255].[0-255] > > are the hex IP numbers converted to base 256. > > So you may try the following sorting function that > > converts the IPs from base 256 to base 10 (decimal). > > > > function ip2dec x > > set itemdel to "." > > repeat with i=0 to 3 > > add (item 4-i of x)*256^i to y > > end repeat > > return y > > end ip2dec > > > > on mouseUp > > put fld "ips" into s > > sort s numeric by ip2dec(each) # <---- > > put s into fld "out" > > 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 > > _______________________________________________ > use-livecode mailing list > use-livecode 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 ahsoftware at sonic.net Fri Jun 29 21:34:05 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Fri, 29 Jun 2018 18:34:05 -0700 Subject: bitwise shifts gone? Message-ID: <3e578b09-b289-831e-6e94-2efd0187935c@sonic.net> Hmmm... I just noticed that the bitwise shift left and right operators have disappeared from the language. When did this happen? The 'bitwise' modifier is still in the dictionary, but no indication as to how it might still be useful. From this I assume (yeah, I know...) that the engine is smart enough to compile a shift instead of a multiply if the multiplier is a multiple (see what I did there?) of 2. YMMV. -- Mark Wieder ahsoftware at gmail.com From irog at mac.com Fri Jun 29 22:11:21 2018 From: irog at mac.com (Roger Guay) Date: Fri, 29 Jun 2018 19:11:21 -0700 Subject: MouseMove and HTML5 Message-ID: This is my first time with saving to HTML5 and I find that a simple stack I created with a mousMove script does not work. I?m simply trying to constrain the motion of a grc along the vertical axis with a mouseMove script.The dictionary seems to confirm that mouseMove is not compatible with HTML5. My question is, what is the best workaround for mouseMove? Thanks for your help, Roger From richmondmathewson at gmail.com Sat Jun 30 03:11:47 2018 From: richmondmathewson at gmail.com (Richmond Mathewson) Date: Sat, 30 Jun 2018 10:11:47 +0300 Subject: Tessellated hexagonal grid? In-Reply-To: <3FF562B7-1B81-4A7E-8C66-D0491DA6F168@hyperhh.de> References: <3FF562B7-1B81-4A7E-8C66-D0491DA6F168@hyperhh.de> Message-ID: <1bc51389-1811-bddd-6a80-b86f74abc1bd@gmail.com> Marvellous. Thank you very much indeed! Richmond. On 30/6/2018 3:26 am, hh via use-livecode wrote: > A simple hexagonal grid creating stack: > http://forums.livecode.com/viewtopic.php?p=168657#p168657 > > You choose the number of rows and columns and, for "scaling", > the horizontal radius and vertical radius of the circumellipses. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 Bernd.Niggemann at uni-wh.de Sat Jun 30 04:37:04 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Sat, 30 Jun 2018 08:37:04 +0000 Subject: Sort IP List Message-ID: <37F15D8F-0C0C-4F6A-B81E-0870BBF45920@uni-wh.de> if you replace ip2dec with the same functionality as Hermann's (HH) function with private function ip2dec2 x set the itemdel to "." return (item 4 of x) + (item 3 of x * 256) + (item 2 of x * 65536) + (item 1 of x * 16777216) end ip2dec2 then the special sort via function is faster than sorting the 4 items of the IPlist. Note "private function" saves about 10 percent, overall Hermann's modified script saves about 20 percent compared to Bob's sort by item solution which was fastest up to now. Tested 100.000 random IP addresses. Kind regards Bernd hh via use-livecode Fri, 29 Jun 2018 16:43:38 -0700 wrote: Your IP addresses [0-255].[0-255].[0-255].[0-255] are the hex IP numbers converted to base 256. So you may try the following sorting function that converts the IPs from base 256 to base 10 (decimal). function ip2dec x set itemdel to "." repeat with i=0 to 3 add (item 4-i of x)*256^i to y end repeat return y end ip2dec on mouseUp put fld "ips" into s sort s numeric by ip2dec(each) # <---- put s into fld "out" end mouseUp From hh at hyperhh.de Sat Jun 30 05:09:46 2018 From: hh at hyperhh.de (hh) Date: Sat, 30 Jun 2018 11:09:46 +0200 Subject: MouseMove and HTML5 Message-ID: MouseMove works in HTML5 standalones, see for example http://hyperhh.de/html5/RGBPuzzle-8.0.2X.html From hh at hyperhh.de Sat Jun 30 06:10:35 2018 From: hh at hyperhh.de (hh) Date: Sat, 30 Jun 2018 12:10:35 +0200 Subject: Sort IP List Message-ID: <7A8F8EF1-E927-4618-8A07-A7E24D71389A@hyperhh.de> Remains to remark that the upcoming standard IPv6 with its text representations (Section 2.2 of https://tools.ietf.org/html/rfc4291) will require more detailed methods, both for number base conversion and for item sorts/cosorts (the items are hex numbers ...) @Bernd Depending on the function an inline computation (as Alex denoted) may be even faster than the private function calls? Here, with IPv4 addresses, it is faster. From hh at hyperhh.de Sat Jun 30 06:50:38 2018 From: hh at hyperhh.de (hh) Date: Sat, 30 Jun 2018 12:50:38 +0200 Subject: bitwise shifts gone? Message-ID: Mark, obviously you ask relating to Bob's IPv4 sort problem. But when optimising (for speed) the connected formula (1) a + b * 2^8 + c * 2^16 + d * 2^32 using the constants is slightly faster: (2) a + b * 256 + c * 65536 + d * 16777216 Why is the engine not handling the internal bitshifts easier with (1)? From irog at mac.com Sat Jun 30 10:45:34 2018 From: irog at mac.com (Roger Guay) Date: Sat, 30 Jun 2018 07:45:34 -0700 Subject: MouseMove and HTML5 In-Reply-To: References: Message-ID: <5E0748E5-8B85-488B-BF81-D43983C87353@mac.com> Huh, back to the drawing board. Thanks! > On Jun 30, 2018, at 2:09 AM, hh via use-livecode wrote: > > MouseMove works in HTML5 standalones, see for example > http://hyperhh.de/html5/RGBPuzzle-8.0.2X.html > > _______________________________________________ > use-livecode mailing list > use-livecode 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 ahsoftware at sonic.net Sat Jun 30 11:00:31 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 30 Jun 2018 08:00:31 -0700 Subject: bitwise shifts gone? In-Reply-To: References: Message-ID: On 06/30/2018 03:50 AM, hh via use-livecode wrote: > Mark, > > obviously you ask relating to Bob's IPv4 sort problem. A perceptive observation, as always. > > But when optimising (for speed) the connected formula > > (1) a + b * 2^8 + c * 2^16 + d * 2^32 > > using the constants is slightly faster: > > (2) a + b * 256 + c * 65536 + d * 16777216 Would bitOr operators increase the speed over additions? > > Why is the engine not handling the internal bitshifts easier with (1)? Indeed. I'm not too upset about the loss of the bitshift operators other than the lack of backward compatibility, but I'm surprised by their demise. In terms of minimal use of microprocessor cycles I'd expect that the fastest would be a || (b << 8) || (c << 16) || (d << 32) -- Mark Wieder ahsoftware at gmail.com From brian at milby7.com Sat Jun 30 13:03:53 2018 From: brian at milby7.com (Brian Milby) Date: Sat, 30 Jun 2018 12:03:53 -0500 Subject: Sort IP List In-Reply-To: <7A8F8EF1-E927-4618-8A07-A7E24D71389A@hyperhh.de> References: <7A8F8EF1-E927-4618-8A07-A7E24D71389A@hyperhh.de> Message-ID: Here are some times on my system for comparison (100000 random IPs): 216% - ip2dec: 463 ms 190% - ip2decpvt: 407 ms 171% - ip2dec2: 366 ms 147% - ip2dec2pvt: 314 ms 200% - sortIPList: 427 ms --> original from Bob 100% - sortIPList2: 215 ms --> Alex's inline with constants 152% - sortIPList3: 325 ms --> numtobyte(item 1) &... 107% - sortIPList4: 230 ms --> bitOr instead of + 100% - sortIPList5: 214 ms --> item 4 of each + 256 * (... sortIPList2 comes out fastest most of the time. sortIPList5 does come out ahead on some runs (Alex's alternate code). I did all of this because I was curious how the speed of using numtobyte would impact things. It is comparable to using a private function (ip2dec2pvt), but still slower than inline. While there I decided to also test the bitOr. On Sat, Jun 30, 2018 at 5:10 AM, hh via use-livecode < use-livecode at lists.runrev.com> wrote: > Remains to remark that the upcoming standard IPv6 > with its text representations > (Section 2.2 of https://tools.ietf.org/html/rfc4291) > will require more detailed methods, > both for number base conversion and for item sorts/cosorts > (the items are hex numbers ...) > > @Bernd > Depending on the function an inline computation (as Alex denoted) > may be even faster than the private function calls? > Here, with IPv4 addresses, it is faster. > > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 jerry at jhjensen.com Sat Jun 30 13:03:52 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Sat, 30 Jun 2018 10:03:52 -0700 Subject: bitwise shifts gone? In-Reply-To: References: Message-ID: > On Jun 30, 2018, at 8:00 AM, Mark Wieder via use-livecode wrote: > > Indeed. I'm not too upset about the loss of the bitshift operators other than the lack of backward compatibility, but I'm surprised by their demise. In terms of minimal use of microprocessor cycles I'd expect that the fastest would be > > a || (b << 8) || (c << 16) || (d << 32) Yabut - I don?t know if LCScript understands integer numerics. Aren?t numbers always handled as floating point? .Jerry From ahsoftware at sonic.net Sat Jun 30 13:27:37 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 30 Jun 2018 10:27:37 -0700 Subject: bitwise shifts gone? In-Reply-To: References: Message-ID: <626ec1ae-b457-ea34-109f-e913441a2688@sonic.net> On 06/30/2018 10:03 AM, Jerry Jensen via use-livecode wrote: > >> On Jun 30, 2018, at 8:00 AM, Mark Wieder via use-livecode wrote: >> >> Indeed. I'm not too upset about the loss of the bitshift operators other than the lack of backward compatibility, but I'm surprised by their demise. In terms of minimal use of microprocessor cycles I'd expect that the fastest would be >> >> a || (b << 8) || (c << 16) || (d << 32) > > Yabut - I don?t know if LCScript understands integer numerics. Aren?t numbers always handled as floating point? The operator formerly known as bitShiftLeft would have to use integers, at least down at the bytecode level. I think numbers are always strings unless they're not. -- Mark Wieder ahsoftware at gmail.com From paul at researchware.com Sat Jun 30 13:27:50 2018 From: paul at researchware.com (Paul Dupuis) Date: Sat, 30 Jun 2018 13:27:50 -0400 Subject: bitwise shifts gone? In-Reply-To: References: Message-ID: On Jun 30, 2018, at 8:00 AM, Mark Wieder via use-livecode wrote: > Indeed. I'm not too upset about the loss of the bitshift operators other than the lack of backward compatibility, but I'm surprised by their demise. In terms of minimal use of microprocessor cycles I'd expect that the fastest would be > > a || (b << 8) || (c << 16) || (d << 32) I just looked back in dictionaries for older version back to 6.7.11 and there are no shift operators in the dictionary. You have bitAnd, bitOr, bitXor and botNot, but no shifts operators. Are you sure there were ever in the language to begin with? From jerry at jhjensen.com Sat Jun 30 13:34:22 2018 From: jerry at jhjensen.com (Jerry Jensen) Date: Sat, 30 Jun 2018 10:34:22 -0700 Subject: bitwise shifts gone? In-Reply-To: References: Message-ID: <72747189-AE7F-4944-893E-B2338D3B3EB7@jhjensen.com> > On Jun 30, 2018, at 10:03 AM, Jerry Jensen via use-livecode wrote: > > >> On Jun 30, 2018, at 8:00 AM, Mark Wieder via use-livecode wrote: >> >> Indeed. I'm not too upset about the loss of the bitshift operators other than the lack of backward compatibility, but I'm surprised by their demise. In terms of minimal use of microprocessor cycles I'd expect that the fastest would be >> >> a || (b << 8) || (c << 16) || (d << 32) > > Yabut - I don?t know if LCScript understands integer numerics. Aren?t numbers always handled as floating point? And I read about bitor in the 9.0.0 dictionary: the operands are treated as binary between 0 and a signed 32 bit integer (2^32 - 1) max. So bitor wouldn?t do unless it has grown up into the 64 bit world. Agreed that bitshift operators would be a desirable operator, not necessarily for this task. .Jerry From ahsoftware at sonic.net Sat Jun 30 13:50:00 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 30 Jun 2018 10:50:00 -0700 Subject: bitwise shifts gone? In-Reply-To: References: Message-ID: On 06/30/2018 10:27 AM, Paul Dupuis via use-livecode wrote: > I just looked back in dictionaries for older version back to 6.7.11 and > there are no shift operators in the dictionary. You have bitAnd, bitOr, > bitXor and botNot, but no shifts operators. Are you sure there were ever > in the language to begin with? Urk. Good catch. I had the dictionary open to LCB. nvm. -- Mark Wieder ahsoftware at gmail.com From ahsoftware at sonic.net Sat Jun 30 13:51:54 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 30 Jun 2018 10:51:54 -0700 Subject: bitwise shifts gone? In-Reply-To: <72747189-AE7F-4944-893E-B2338D3B3EB7@jhjensen.com> References: <72747189-AE7F-4944-893E-B2338D3B3EB7@jhjensen.com> Message-ID: On 06/30/2018 10:34 AM, Jerry Jensen via use-livecode wrote: > And I read about bitor in the 9.0.0 dictionary: the operands are treated as binary between 0 and a signed 32 bit integer (2^32 - 1) max. So bitor wouldn?t do unless it has grown up into the 64 bit world. that's a bit (or 32) disappointing. -- Mark Wieder ahsoftware at gmail.com From Bernd.Niggemann at uni-wh.de Sat Jun 30 14:01:03 2018 From: Bernd.Niggemann at uni-wh.de (Niggemann, Bernd) Date: Sat, 30 Jun 2018 18:01:03 +0000 Subject: Sort IP List Message-ID: <9E7ABF92-E604-443F-BE90-C92294279584@uni-wh.de> Hermann, I did not see Alex's solution until after I posted. I agree that inline is probably always faster. And after I saw Alex's post I would not have thought that one could do it that way, thanks Alex. On top it is by far the fastest. On the other hand sort by myFunction(each) is so powerful that you can do things that are probably not possible inline. Kind regards Bernd hh via use-livecode Sat, 30 Jun 2018 03:12:55 -0700 wrote: @Bernd Depending on the function an inline computation (as Alex denoted) may be even faster than the private function calls? Here, with IPv4 addresses, it is faster. From bogdanoff at me.com Sat Jun 30 15:09:43 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Sat, 30 Jun 2018 12:09:43 -0700 Subject: WooCommerce API Manager & Livecode Message-ID: Hi, Has anyone integrated WooCommerce API Manager into Livecode? I have a WooCommerce/WordPress website using WooCommerce Subscriptions. I want to use issued serial keys from API Manager to activate my application and then later have my application verify subscription currency when the app opens. I need to implement direct communication between WooCommerce and my application. I see that there is PHP and JSON involved. Some hints about how to get going with this would be great! Earlier, on this list, I was looking for help with a product call SoftwareShield, but that product appears to be so obscure that no one seems to have any knowledge of it, I?m switching to a WooCommerce plugin for the time being. Peter Bogdanoff ArtsInteractive From tom at makeshyft.com Sat Jun 30 15:23:50 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 30 Jun 2018 15:23:50 -0400 Subject: WooCommerce API Manager & Livecode In-Reply-To: References: Message-ID: Woocommerce works awesome ..its a safe and sound decision. I almost did all that work, but the project did not go ahead. I checked out your website and i am quite interested in what you are building. Can I send you a PM about your project? On Sat, Jun 30, 2018 at 3:09 PM, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > Hi, > > Has anyone integrated WooCommerce API Manager into Livecode? > > I have a WooCommerce/WordPress website using WooCommerce Subscriptions. I > want to use issued serial keys from API Manager to activate my application > and then later have my application verify subscription currency when the > app opens. > > I need to implement direct communication between WooCommerce and my > application. I see that there is PHP and JSON involved. Some hints about > how to get going with this would be great! > > Earlier, on this list, I was looking for help with a product call > SoftwareShield, but that product appears to be so obscure that no one seems > to have any knowledge of it, I?m switching to a WooCommerce plugin for the > time being. > > Peter Bogdanoff > ArtsInteractive > > > _______________________________________________ > use-livecode mailing list > use-livecode 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 tom at makeshyft.com Sat Jun 30 15:50:57 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 30 Jun 2018 15:50:57 -0400 Subject: Sort IP List In-Reply-To: <9E7ABF92-E604-443F-BE90-C92294279584@uni-wh.de> References: <9E7ABF92-E604-443F-BE90-C92294279584@uni-wh.de> Message-ID: good thread you guys...code optimization quests....what fun. On Sat, Jun 30, 2018 at 2:01 PM, Niggemann, Bernd via use-livecode < use-livecode at lists.runrev.com> wrote: > Hermann, > > I did not see Alex's solution until after I posted. I agree that inline is > probably always faster. > > And after I saw Alex's post I would not have thought that one could do it > that way, thanks Alex. On top it is by far the fastest. > > On the other hand sort by myFunction(each) is so powerful that you can do > things that are probably not possible inline. > > Kind regards > Bernd > > > > > hh via use-livecode livecode at lists.runrev.com&q=from:%22hh+via+use%5C-livecode%22> Sat, 30 > Jun 2018 03:12:55 -0700 livecode at lists.runrev.com&q=date:20180630> wrote: > > > @Bernd > Depending on the function an inline computation (as Alex denoted) > may be even faster than the private function calls? > Here, with IPv4 addresses, it is faster. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 bogdanoff at me.com Sat Jun 30 15:52:32 2018 From: bogdanoff at me.com (Peter Bogdanoff) Date: Sat, 30 Jun 2018 12:52:32 -0700 Subject: WooCommerce API Manager & Livecode In-Reply-To: References: Message-ID: <2681D03D-1019-4D73-81D9-066442AFFE17@me.com> Yes, of course. bogdanoff at me.com Peter > On Jun 30, 2018, at 12:23 PM, Tom Glod via use-livecode wrote: > > Woocommerce works awesome ..its a safe and sound decision. I almost did > all that work, but the project did not go ahead. > > I checked out your website and i am quite interested in what you are > building. > > Can I send you a PM about your project? > > > On Sat, Jun 30, 2018 at 3:09 PM, Peter Bogdanoff via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> Hi, >> >> Has anyone integrated WooCommerce API Manager into Livecode? >> >> I have a WooCommerce/WordPress website using WooCommerce Subscriptions. I >> want to use issued serial keys from API Manager to activate my application >> and then later have my application verify subscription currency when the >> app opens. >> >> I need to implement direct communication between WooCommerce and my >> application. I see that there is PHP and JSON involved. Some hints about >> how to get going with this would be great! >> >> Earlier, on this list, I was looking for help with a product call >> SoftwareShield, but that product appears to be so obscure that no one seems >> to have any knowledge of it, I?m switching to a WooCommerce plugin for the >> time being. >> >> Peter Bogdanoff >> ArtsInteractive >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode 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 tom at makeshyft.com Sat Jun 30 17:15:33 2018 From: tom at makeshyft.com (Tom Glod) Date: Sat, 30 Jun 2018 17:15:33 -0400 Subject: WooCommerce API Manager & Livecode In-Reply-To: <2681D03D-1019-4D73-81D9-066442AFFE17@me.com> References: <2681D03D-1019-4D73-81D9-066442AFFE17@me.com> Message-ID: ok i did.....wanted to pass this along too.... https://wordpress.org/plugins/software-license-manager/ On Sat, Jun 30, 2018 at 3:52 PM, Peter Bogdanoff via use-livecode < use-livecode at lists.runrev.com> wrote: > Yes, of course. > > bogdanoff at me.com > > Peter > > > > On Jun 30, 2018, at 12:23 PM, Tom Glod via use-livecode < > use-livecode at lists.runrev.com> wrote: > > > > Woocommerce works awesome ..its a safe and sound decision. I almost did > > all that work, but the project did not go ahead. > > > > I checked out your website and i am quite interested in what you are > > building. > > > > Can I send you a PM about your project? > > > > > > On Sat, Jun 30, 2018 at 3:09 PM, Peter Bogdanoff via use-livecode < > > use-livecode at lists.runrev.com> wrote: > > > >> Hi, > >> > >> Has anyone integrated WooCommerce API Manager into Livecode? > >> > >> I have a WooCommerce/WordPress website using WooCommerce Subscriptions. > I > >> want to use issued serial keys from API Manager to activate my > application > >> and then later have my application verify subscription currency when the > >> app opens. > >> > >> I need to implement direct communication between WooCommerce and my > >> application. I see that there is PHP and JSON involved. Some hints about > >> how to get going with this would be great! > >> > >> Earlier, on this list, I was looking for help with a product call > >> SoftwareShield, but that product appears to be so obscure that no one > seems > >> to have any knowledge of it, I?m switching to a WooCommerce plugin for > the > >> time being. > >> > >> Peter Bogdanoff > >> ArtsInteractive > >> > >> > >> _______________________________________________ > >> use-livecode mailing list > >> use-livecode 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 rdimola at evergreeninfo.net Sat Jun 30 20:37:15 2018 From: rdimola at evergreeninfo.net (Ralph DiMola) Date: Sat, 30 Jun 2018 20:37:15 -0400 Subject: Sort IP List In-Reply-To: References: <9E7ABF92-E604-443F-BE90-C92294279584@uni-wh.de> Message-ID: <001801d410d3$ac64fb70$052ef250$@net> How fortuitous... I am finding the bottlenecks in some code under a deadline the last few days and found some interesting observations. 1) Assembling, putting data into a field and doing text editing (replace x with y in fld F1) in an non-visible field object is faster than assembling a line in a local var and then putting it into the field once. I understand that I'm moving the data twice but I thought there was some overhead of field formatting every time I changed the data. apparently not... I had a function call in a loop with two params and it returned a text string of a few hundred to a few thousand cars. I changed it to a handler with three params all by ref(the third being the var that the function version set. Now I would have though the with everything by ref it would be faster but in fact it was slower by 50%. LC makes it so easy to do timings. I actually had fun tracking down and attacking each bottleneck. Some stuff like putting simple calculations in-line repeat constructs speeded things up as expected, others befuddled me. 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 Tom Glod via use-livecode Sent: Saturday, June 30, 2018 3:51 PM To: How to use LiveCode Cc: Tom Glod Subject: Re: Sort IP List good thread you guys...code optimization quests....what fun. On Sat, Jun 30, 2018 at 2:01 PM, Niggemann, Bernd via use-livecode < use-livecode at lists.runrev.com> wrote: > Hermann, > > I did not see Alex's solution until after I posted. I agree that > inline is probably always faster. > > And after I saw Alex's post I would not have thought that one could do > it that way, thanks Alex. On top it is by far the fastest. > > On the other hand sort by myFunction(each) is so powerful that you can > do things that are probably not possible inline. > > Kind regards > Bernd > > > > > hh via use-livecode livecode at lists.runrev.com&q=from:%22hh+via+use%5C-livecode%22> Sat, 30 > Jun 2018 03:12:55 -0700 livecode at lists.runrev.com&q=date:20180630> wrote: > > > @Bernd > Depending on the function an inline computation (as Alex denoted) may > be even faster than the private function calls? > Here, with IPv4 addresses, it is faster. > > _______________________________________________ > use-livecode mailing list > use-livecode 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 ahsoftware at sonic.net Sat Jun 30 23:05:20 2018 From: ahsoftware at sonic.net (Mark Wieder) Date: Sat, 30 Jun 2018 20:05:20 -0700 Subject: Sort IP List In-Reply-To: <001801d410d3$ac64fb70$052ef250$@net> References: <9E7ABF92-E604-443F-BE90-C92294279584@uni-wh.de> <001801d410d3$ac64fb70$052ef250$@net> Message-ID: <72729fb4-8d1f-df9d-df75-0cdca049ddc0@sonic.net> Ralph- Not that I'm doubting your findings, but those both seem mind-bogglingly nonsensical to me. Can you post your test code? -- Mark Wieder ahsoftware at gmail.com