Re: LC Server- Optimum setup
When you are, you're in good company. Just let us know if you get stuck on anything and we'll get your server running in no time. 'Tween now and then, you might want to check out this blog post on a nice addition to LC Server added a couple years back, letting you use LC as a general purpose command-line language in addition to how most people use it as a PHP replacement: https://livecode.com/livecode-server/ This blog post may help spark ideas for how to put LC to work on system monitoring and other tasks: https://livecode.com/keeping-an-eye-on-your-server/ -- Richard Gaskin Fourth World Systems William Prothero wrote: Thanks, Richard. Good info. I’m not quite ready to jump in on this yet, but soon, and probably with Trevore’s Levure app. Best, Bill William A. Prothero https://earthlearningsolutions.org On Oct 19, 2020, at 11:03 AM, Richard Gaskin via use-livecode wrote: prothero wrote: > I’ve been thinking about experimenting with Livecode server. I have > a vps and root access, but I’m wondering what are the speed and user > consequences of installing it at root level, or as a cgi. The cgi is > fairly large and I’m concerned about both speed and memory issues when > multiple users are accessing it. > > I know this has been discussed in the past, but would appreciate any > advice based on recent experience. CGIs are CGIs, whether configured for all users via admin access to Apache config, or for individual users on a shared host via .htacces. Also, the size on disk is not reflective of real-world RAM requirements. You can check RAM requirements in Terminal by calling the engine with a simple script using the timing tool located at /usr/bin/time: /user/bin/time -v /path/to/your/lcserver somescript.lc The -v flag is for "verbose", listing a wide range of runtime stats including "Maximum resident set size" and "Average resident set size", with "set size" referring to physical RAM used. For example, running that on the script I posted earlier for my example CGI yields: User time (seconds): 0.02 System time (seconds): 0.02 Percent of CPU this job got: 97% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.04 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 19728 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 1526 Voluntary context switches: 1 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 Separate from anything to do with LC, there is a modest performance difference between using .htacess and making those directives available to all users in Apache config: if you don't enable mod_rewrite, Apache doesn't need to scan folders for .htaccess files. This is a VERY minor difference, however, and if you need the flexibility of mod_rewrite you should use it. But FWIW most production servers set things up in Apache config, and since you're not limited to the issues with shared hosting you might as well do it the standard way. It's more work, and you'll be using sudo a lot since permissions are tighter. But for a production server, more restrictive permissions are exactly what we want. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web Ambassador at FourthWorld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Question about Windows 10 for Surface
jbv wrote: > But what about devices like Surface tablets that run Windows 10 ? > Can a LC app compiled for windows run on these devices ? The Microsoft Surface is an awesome piece of hardware. If it wasn't notoriously difficult to install Linux on (needs a lot of specialized drivers which are included with Windows but not Linux) I'd have bought one long ago. They use Intel's Core series CPUs, so any LC app built for 64-bit Windows should run fine on them. They're full-featured computers, probably better thought of as a laptop with a detachable screen than a tablet with a docking keyboard. The only two areas I'm not certain of hopefully others who have a Surface can chime in on: - High-res screen: Not sure how gracefully LC's latest builds provide resolution independence on desktop OSes (Surface is 220 PPI). - Touch input: While modern desktop OSes have been extended in recent years to support multi-touch gestures, LC only handles multi-point touch inputs on Android and iOS. Windows does a good job of mapping many gestures to discernible keyboard sequences where practical, so your app can respond to some gestures via rawKeyDown. But if you need true multi-touch support, we'll have to wait for the engine team to add that to the LC desktop engines. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: LC Server- Optimum setup
prothero wrote: > I’ve been thinking about experimenting with Livecode server. I have > a vps and root access, but I’m wondering what are the speed and user > consequences of installing it at root level, or as a cgi. The cgi is > fairly large and I’m concerned about both speed and memory issues when > multiple users are accessing it. > > I know this has been discussed in the past, but would appreciate any > advice based on recent experience. CGIs are CGIs, whether configured for all users via admin access to Apache config, or for individual users on a shared host via .htacces. Also, the size on disk is not reflective of real-world RAM requirements. You can check RAM requirements in Terminal by calling the engine with a simple script using the timing tool located at /usr/bin/time: /user/bin/time -v /path/to/your/lcserver somescript.lc The -v flag is for "verbose", listing a wide range of runtime stats including "Maximum resident set size" and "Average resident set size", with "set size" referring to physical RAM used. For example, running that on the script I posted earlier for my example CGI yields: User time (seconds): 0.02 System time (seconds): 0.02 Percent of CPU this job got: 97% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.04 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 19728 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 1526 Voluntary context switches: 1 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 Separate from anything to do with LC, there is a modest performance difference between using .htacess and making those directives available to all users in Apache config: if you don't enable mod_rewrite, Apache doesn't need to scan folders for .htaccess files. This is a VERY minor difference, however, and if you need the flexibility of mod_rewrite you should use it. But FWIW most production servers set things up in Apache config, and since you're not limited to the issues with shared hosting you might as well do it the standard way. It's more work, and you'll be using sudo a lot since permissions are tighter. But for a production server, more restrictive permissions are exactly what we want. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Textsize of label of copied btn changes
ELS Prothero wrote: > Yes, if my memory doesn’t fail me, it was in italic. Hmmm, I guess I > was supposed to know that meant it wasn’t set and the value shown was > a default? Yes, more or less, though to be precise it's not so much default per se as inherited. As Jacque noted yesterday, values italized in the Inspector are inherited, where the control being inspected has not had that value set. Many visual properties are inherited, including textFont and textSize, in a scheme more or less conforming to the inheritance path of messages. In your case it seems the textSize value is inherited from the card. If you want a consistent font and size for all cards in a stack, clear any such card properties and set them in the stack. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Textsize of label of copied btn changes
ELS Prothero wrote: > Yes, I realize that. However, when I first created the button, on the > source card, I expected that the text size and font would be what was > displayed in the ide. However, none were actually set. Confusing for > one who trusts that the ide displays the actual properties of the > object. Was the text showing the textFont size in the IDE's Inspector italic? http://lists.runrev.com/pipermail/use-livecode/2020-October/262040.html -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: SSL cPanel mySql setup
Neville Smythe wrote: On 19 Oct 2020, at 3:00 am, use-livecode-request at lists.runrev.com wrote: Dreamhost never did install LC ... but several of us have made it work. Just get the right server executable and permissions. I could never get it work account wide but it rocked for individual web site installation. Ah. I got the distinct impression I would need a dedicated server account on DreamHost, not a shared environment, to instal LC Server; for this user’s site that would not be worth the cost. To quote the reply from DreamHost: - Unfornately we no longer support LiveCode server on our servers at this time. Looks like current install steps require root/admin access to some apache config files, which is not something we allow on our managed server types. You could install that on a Dedicated server, or DreamCompute instance if you wish to, but that would be something you or your developers would want to do using root on that service. - I'm not sure what that DH rep is going on about, because the same set of LC Lessons that describe how to set it up via Apache config also include one on setting it up via .htacces on shared hosts. I can understand why they don't *support* LC, is in provide technical support for it, since LC isn't theirs to support. There are too many languages in this world to expect a vendor to train their staff in all of them. But there's nothing special about setting up LC Server that's much different from setting up any scripting engine to work as a CGI under Apache. IMO a shared host wouldn't be worth using if they turned off CGI support altogether, and thankfully DH hasn't. Many of us have been using LC Server on Dreamhost shared servers for many years. And just to make sure nothing has changed, I just did a fresh install into a new folder on one my servers - try this: https://fourthworldlabs.com/lcs-test/test.lc -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Textsize of label of copied btn changes
Check the card properties. All evidence reported to date is fully explained by the textFfont being set on the source card. -- Richard Gaskin Fourth World Systems William Prothero wrote: Richard: I found that when I created a button, the textsize property had not been set, even though the IDE showed it to be 13. I then went to the IDE to click the size up to `4, then back down to 13 and then, when I did: put the texsize of btn “mybutton”, it showed the textsize correctly. It’s just one of those frustrating mysteries one encounters. The copied btn textsize was probably picking up the textsize from the fields that I had already imported. I’d have to call it a bug, I guess?? Best, Bill William A. Prothero https://earthlearningsolutions.org On Oct 13, 2020, at 10:59 AM, Richard Gaskin via use-livecode wrote: William Prothero wrote: > I am copying a button from one card to another. The font size of the > label changes from that of the original to a large font and I can’t > figure out how to change the textsize of the label. I keep getting an > error. set the textSize of btn "SoAndSo" to 14 The curious part is that it changed when you pasted it. If you have a textSize specified for the card it came from but not the card it was pasted in, that would govern all controls that do not have their own testSize property explicitly set. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web Ambassador at FourthWorld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: SSL cPanel mySql setup
Neville Smythe wrote: > So I need some middleware. LC Server would have been ideal, but > Dreamhost no longer install it ;-(. I particularly could have used > LC Server to drive mailman distribution list > subscription/unsubscription tasks from the database for which I do > not have a good solution at the moment. I've been a Dreamhost customer for more than a decade, and I don't believe they ever offered a hosting configuration with LiveCode preinstalled. But many of us have been using LiveCode Server on Dreamhost for a long time. LC Server runs under CGI, a standardized convention for allowing just about any command-line program to be used to augment an Apache web server. On shared hosts, the directives used to tell Apache to handle certain requests by passing them to another program like LC Server are established in a .htaccess file in the folder those LC files are in. Give this lesson a go, and let us know if we can lend a hand on any details to get you up and running with LC Server on Dreamhost: http://lessons.livecode.com/m/4070/l/36655-how-do-i-install-livecode-server-with-apache-via-htaccess -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: SSL cPanel mySql setup
Sean Cole wrote: Since then I've added DocuSign, MS DynamicsCRM integration Are you at liberty to describe what that integration involved? Specifically, do you use MS' REST API? And if so, how were you able to set up the app registration in Azure for successful authentication? I have a request from a client for integration with Dynamics via REST, but we're stuck in the maze of options in Azure's admin panels with regard to the app, groups, roles, flows, and other components come into play for successful authentication. I keep hoping we're missing something obvious. Perhaps we are. I'm eager to learn how you accomplished that. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Odd data in message box
True, but what would anyone go out of their way to write an error handler that provides less useful information than what LC provides if left alone? And some of the error info I see shared in the forums is from newer users, who seem unlikely to have ventured into the relatively arcane world of custom error processing. I hope I simply misunderstand what I've been seeing, that perhaps there isn't something broken in recent versions of the IDE's error handling. In Dan's message from yesterday he wrote: 1. Why didn't the debugger throw an error? Instead, it put this error chunk in the message box? @Dan: Do you have a custom errorDialog handler in your message path? -- Richard Gaskin Fourth World Systems J. Landman Gay wrote: If there's an errorDialog handler, errors bypass the IDE. That's one way it could happen. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com On October 17, 2020 4:06:03 PM Richard Gaskin via use-livecode wrote: J. Landman Gay wrote: On 10/17/20 12:13 PM, Dan Friedman via use-livecode wrote: Where did Jacque get that list of codes? From a plugin Richard and I wrote some years ago. It dynamically loads the error list based on the version of LC you're using. You can look up individual codes, or paste in a list of errors which is what I did with your report. Tools like that can be useful at runtime to help fill out logs and such. But I've been seeing a surprising number of conversations here and in the forums suggesting that people are seeing raw error info in the IDE. If that's true, what broke with the IDE's more guided error handling? -- Richard Gaskin ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Odd data in message box
J. Landman Gay wrote: On 10/17/20 12:13 PM, Dan Friedman via use-livecode wrote: Where did Jacque get that list of codes? From a plugin Richard and I wrote some years ago. It dynamically loads the error list based on the version of LC you're using. You can look up individual codes, or paste in a list of errors which is what I did with your report. Tools like that can be useful at runtime to help fill out logs and such. But I've been seeing a surprising number of conversations here and in the forums suggesting that people are seeing raw error info in the IDE. If that's true, what broke with the IDE's more guided error handling? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Interface Resolution
These workarounds are great for helping John get back to work right away, but if the IDE isn't respecting Windows' resolution that would be a bug and I hope someone's reported it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Textsize of label of copied btn changes
William Prothero wrote: > After the button is copied to the destination card, I do: > > set the textsize of btnRef to the textsize of srcBtnRef > the contents of btnRef is: > > btn "doNext2" of card "WhatsTheMystery-2" of stack "/Users/AfilePath > /PlateTectonics.livecode" > > srcBtnRef is pretty much the same thing with the card that holds the > object library. > > It has no effect. But then, I’ve been known to screw up these > references, but since the copy works, I think it’s ok. > > What’s odd, is that it seems to be picking up the fontsize of some of > the other fields on the destination card. So, for now, I’ve given up > and use a field for a button, which I like better anyway. I’ll look at > this again to see if I made a stupid mistake. No need to give up and use an object type you didn't want. This is an opportunity to analyze so we can find the right solution. Given that assigning the textFont of the new button to that of the old one has no effect, I'd wager that if you examined the textFont of the original you'd find it's not been assigned. And we see that font settings for various objects look one way on one card and different on a different card. This suggests the card the original button is on has a textFont set, and setting the textFont of the new card to match will give you a matching appearance for controls. Or perhaps simpler, if you want all cards in the stack to have the same default textFont and textSize, you can set those properties in the stack, clear those for each card, and then you have consistency throughout the controls in your stack. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Textsize of label of copied btn changes
William Prothero wrote: > I am copying a button from one card to another. The font size of the > label changes from that of the original to a large font and I can’t > figure out how to change the textsize of the label. I keep getting an > error. set the textSize of btn "SoAndSo" to 14 The curious part is that it changed when you pasted it. If you have a textSize specified for the card it came from but not the card it was pasted in, that would govern all controls that do not have their own testSize property explicitly set. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Canvas Limited to 32767
I'm all for more freedom, but the RAM requirements make any practical use of extended coordinates a less trivial problem. Most programs handle this by paging. It may look like one contiguous region on screen, but as you're scrolling it's dumping chunks that fall out of view and rendering chunks coming into view, so the total viewable space is well within practical memory limits. The DataGrid shows one example of how to virtualize a scrollbar, using a non-scrolling group with a separate scrollbar, and some clever coding to make them work in sync. With that, you can do like other programmers do, paging in an out the parts you need when you need them. Only we get to do it in script. If done in the engine it's the same algo, which AFAIK is very different from how groups are buffered now. So "just" changing from 32k to 64k isn't as easy as putting the word "just" in front of it might make it seem. :) It would require the engine team to write a very different buffering algo, a lot of extra work for a few edge cases not handled by what's in place now. No doubt the team could do it, but I don't think it would be simple. And given the low ROI relative to other priorities, if it went into the work queue I wouldn't expect to see it for a long time. Maybe Mark Waddingham can chime in if I'm overestimating the difficulty, but I suspect scripting you own paging system with a virtualized scrollbar is something you could do yourself in a fraction of the time it would take to wait for it from the engine team. -- Richard Gaskin Fourth World Systems Ralph DiMola wrote: Richard, This design was done for one not to involve a lot of coding (App was free development but we get a cut of each sale and it has worked out well for us). Also there could be a reason to see the entire list but of course there are other ways to do this as not to hit the limit. As far as device memory is concerned I don't want to go to 2^31 but I am missing the cut by a couple thousand pixels. If we had 2^31 it would be up to the developer to keep the performance under control rather than apps breaking for 2 pixels over the limit. Ralph DiMola IT Director Evergreen Information Services rdimola at evergreeninfo.net -Original Message- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Gaskin via use-livecode Sent: Tuesday, October 06, 2020 2:50 PM To: use-livecode at lists.runrev.com Cc: Richard Gaskin Subject: Re: Canvas Limited to 32767 Glad it's not the funky mobile field workaround. That's such a horrible experience for developers that even the act of documenting it should have been a red flag to go back and refine the field buffering for the few cases where that put-it-in-a-group recommendation is actually needed. In your case, you have a huuge canvas, with users expected to scroll a region about 32 feet. That's a lot of scrolling. So in addition to the memory hit of buffering such a large region (32767 * 32767 * 4 + whatever other overhead comes into play with buffering), in most layouts it would be a usability impairment to ask users to keep scrolling that much. So maybe the team could switch the address from 32 to 64, but it still leave us with the question: - Would a user have that much RAM? - Would the user be able to use such a large canvas without acquiring RSI? ;) I don't know your layout, but I do know you, and you're not the type to make things hard for users, so I'm assuming there's something about this uncommonly-large scrolling that fits well with the app's requirements. But what we do know is no monitor can show it all, so the content is already effectively paged into view as-needed. Could the content paging be provided through some other UI? For example, if those controls fit into logical groupings, might different sets of them be placed into separate physical groups, perhaps accessed via tabs or a list? If it's truly necessary to have one vast plane to hold everything, could you handle paging internally while still providing the appearance of a contiguous group, similar to how the DataGrid does it? -- Richard Gaskin Fourth World Systems Ralph DiMola wrote: > Desktop and mobile. It's a scrolling group with many sub-groups each > with 1 or more fields. Sometimes the height of the main group > 32767. > > It's the result of a proximity search and in dense areas users are > getting hosed by this limit. Customer is screaming (but don't they > always). > > Ralph DiMola > IT Director -Original Message- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Gaskin via use-livecode Ralph DiMola wrote: > I just ran head first into this. Could someone explain why other than > moving from an int16 to an int32 this is such a challenge? This should > have been addressed during the refactoring of the engine. Is
Re: Canvas Limited to 32767
Glad it's not the funky mobile field workaround. That's such a horrible experience for developers that even the act of documenting it should have been a red flag to go back and refine the field buffering for the few cases where that put-it-in-a-group recommendation is actually needed. In your case, you have a huuge canvas, with users expected to scroll a region about 32 feet. That's a lot of scrolling. So in addition to the memory hit of buffering such a large region (32767 * 32767 * 4 + whatever other overhead comes into play with buffering), in most layouts it would be a usability impairment to ask users to keep scrolling that much. So maybe the team could switch the address from 32 to 64, but it still leave us with the question: - Would a user have that much RAM? - Would the user be able to use such a large canvas without acquiring RSI? ;) I don't know your layout, but I do know you, and you're not the type to make things hard for users, so I'm assuming there's something about this uncommonly-large scrolling that fits well with the app's requirements. But what we do know is no monitor can show it all, so the content is already effectively paged into view as-needed. Could the content paging be provided through some other UI? For example, if those controls fit into logical groupings, might different sets of them be placed into separate physical groups, perhaps accessed via tabs or a list? If it's truly necessary to have one vast plane to hold everything, could you handle paging internally while still providing the appearance of a contiguous group, similar to how the DataGrid does it? -- Richard Gaskin Fourth World Systems Ralph DiMola wrote: > Desktop and mobile. It's a scrolling group with many sub-groups each > with 1 or more fields. Sometimes the height of the main group > 32767. > > It's the result of a proximity search and in dense areas users are > getting hosed by this limit. Customer is screaming (but don't they > always). > > Ralph DiMola > IT Director -Original Message- From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf Of Richard Gaskin via use-livecode Ralph DiMola wrote: > I just ran head first into this. Could someone explain why other than > moving from an int16 to an int32 this is such a challenge? This should > have been addressed during the refactoring of the engine. Is this for the weird recommended mobile workaround of putting a text field into a group just to have it scroll, or something else? -- Richard Gaskin Fourth World Systems ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Canvas Limited to 32767
Ralph DiMola wrote: > I just ran head first into this. Could someone explain why other than > moving from an int16 to an int32 this is such a challenge? This should > have been addressed during the refactoring of the engine. Is this for the weird recommended mobile workaround of putting a text field into a group just to have it scroll, or something else? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Modal stacks cpu usage
Neville Smythe wrote: > Typically LC cpu usage shows about 34% (presumably of 1 core). When > a modal stack is opened it immediately ramps up to 99% ; the fan kicks > in, and if left for a while the OS boosts the kernel_task daemon which > I have been told is a protection device to prevent overheating. This > has the effect of very markedly slowing down all apps as they get less > cpu time. > > If the stack is opened in non-modal mode, cpu usage stays around 34% . > I don’t understand why a modal stack should be a cpu hog, indeed it > seems like a bug to me. Confirmed here on macOS 10.14.5. The CPU load is indeed quite dramatic with modal dialogs. I also checked on Linux (Ubuntu 18.04), and LC does not exhibit the problem there. Have you opened a bug report on this? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Accessing files on a local network file server - BEST PRACTICE?
The shell command "net use" should return a list of currently available network volumes. In LC: put shell("net use") -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Back to School: Raspberry Pi fork?
I had yet another conversation this morning with a colleague who would love to use LC in his school district, but the two crasher bugs prevent him from doing so. Now he's had no choice but to start looking into kid-friendly Python environments. We have that conversation every year. This was the sixth time we've had it. Surely somewhere in our community or beyond it we can find the resources to bring the LC Community build for Raspberry Pi up to 9.6.1. Who can we hire, and how much would it cost? If we can find the resource, I'll bet we can come up with the money to pay for that programmer's time. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Converting from unicode to ASCII
For an ongoing need like that on a substantial project, I'd automate it: She works on her master copy, then presses a button. Done. The button saves the stack, copies it to the munged name, and uploads it for her, even verifying the integrity of the upload afterward (machines don't mind the extra work). -- Richard Gaskin Fourth World Systems J. Landman Gay wrote: On 9/23/20 1:26 PM, Richard Gaskin via use-livecode wrote: My only suggestion was to change how the existing munger works to satisfy the two problem areas identified: that names not be too long, and that any munger not remove so many characters as to make the file name non-unique or empty. There's one more consideration though. The file name must be recognizable so that it can be replaced or updated on the server easily by a human. Hashes, UUIDs, html entity numbers, HEX, etc. would all be workable if that weren't the case. But consider the case where my client has made a few edits to the text in a stack and wants to replace the existing one. With descriptive names, the file is easy to find in the AWS bucket. But comparing long sequences of indecipherable text is cumbersome. I'm drifting toward the idea of removing non-ascii characters. That might satisfy all requirements, at least for now. We don't do Sanskrit or Chinese yet. Or alternately I could bite the bullet and convert my build tool to insert metadata into the clickable lists. That isn't terribly difficult, I was just wondering if there was a different way using what we already have. Devin, Paul and Scott suggested variations on the "removal" approach. I haven't tested much, but it looks like converting to UTF8 will quickly remove any non-ascii characters. Duplication of file names is unlikely given the way various product files are separately stored on AWS. But I'm still pondering. When I first asked the question, I wondered if there was a quick way to do what I want, though I didn't expect much. What I got back from this amazing list is a wealth of ideas and a very interesting discussion. -- Jacqueline Landman Gay | jacque at hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Converting from unicode to ASCII
No lookup table is needed at all if the relationship between the original string and the resulting munged file name never needs to also work the other direction. If bidirectional derivation is needed, given the limitations imposed by AWS' naming limitations I would see no way to avoid requiring a lookup table. But so far I haven't read anything requiring this to work in both directions. Did I miss something? Does she also rely on an unmunger function? -- Richard Gaskin Fourth World Systems Bob Sneidar wrote: Understood, but if it were reversible, it would eliminate the necessity of a lookup table as an intermediary. Bob S On Sep 23, 2020, at 11:26 AM, Richard Gaskin via use-livecode wrote: If I understand her problem correctly, file identification need only be in one direction. As far as I can tell from the description, everything that needs to determine which file to access does so by using a string from which the hashed file name can be derived. That she already has a munger to derive the file name seems to reinforce that. My only suggestion was to change how the existing munger works to satisfy the two problem areas identified: that names not be too long, and that any munger not remove so many characters as to make the file name non-unique or empty. In some respects the benefits of a hash in this case are similar to using a UUID. But UUID is arbitrary and therefore requires establishing and maintaining a lookup table. In contrast, a hash is directly derivable from the file name, providing the same benefit as UUID for this case but without the need for a lookup table. Like the old saying goes, "There are two hard problems in computer science: cache invalidation, and naming things". Lookup tables are effectively a form of cache, a secondary replication of data, very useful at times but best avoided unless absolutely necessary. - Richard Gaskin Fourth World Systems ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Converting from unicode to ASCII
If I understand her problem correctly, file identification need only be in one direction. As far as I can tell from the description, everything that needs to determine which file to access does so by using a string from which the hashed file name can be derived. That she already has a munger to derive the file name seems to reinforce that. My only suggestion was to change how the existing munger works to satisfy the two problem areas identified: that names not be too long, and that any munger not remove so many characters as to make the file name non-unique or empty. In some respects the benefits of a hash in this case are similar to using a UUID. But UUID is arbitrary and therefore requires establishing and maintaining a lookup table. In contrast, a hash is directly derivable from the file name, providing the same benefit as UUID for this case but without the need for a lookup table. Like the old saying goes, "There are two hard problems in computer science: cache invalidation, and naming things". Lookup tables are effectively a form of cache, a secondary replication of data, very useful at times but best avoided unless absolutely necessary. - Richard Gaskin Fourth World Systems Bob Sneidar bobsneidar at iotecdigital.com > How do you get back to the filename? > On Sep 23, 2020, at 8:03 AM, Richard Gaskin wrote: > >> One workaround for their storage name limitations I've seen used >> elsewhere is hash-based names, giving you a string that is plain >> ASCII, of a fixed and usable length, and is derived from the file >> name so systems don't need to maintain a lookup table to find the >> file based on a given string. >> >> This will give you a 40-char string in plain ol' ASCII unique to the >> input: >> >> function CleanHash s >> get binaryDecode("h*", sha1Digest(s), tHash) >> return tHash >> end CleanHash >> >> e.g.: >> >> get CleanHash("MyFile.txt") >> >> ...returns: >> >> d9275b8f757ce47c240d276c1e1192dae8585eba >> >>> ...When the user selects a name from a list, the selection is munged >>> to match the server name and the download URL is obtained from the >>> cron job's lookup file. >>> >>> We don't have a field in the database for a file name. >> >> Since a hash is derived from the file name, you don't need to >> maintain a lookup table as you would with an arbitrary string like >> UUID. > >> If I understand your problem correctly, that file identification need >> only be in one direction, just add the hash as part of your existing >> munge and you're pretty much done. >> >> -- >> Richard Gaskin ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Converting from unicode to ASCII
J. Landman Gay write: > I'm looking for a way to create non-unicode file names > based on the string that comes out of the database. Ah, public clouds... Amazon's S3 docs say just encoding in UTF-8 should suffice, but then they also list a lot of characters they consider "special", but common usage considers them not so special at all, so conflicts like this are apparently abundant. One workaround for their storage name limitations I've seen used elsewhere is hash-based names, giving you a string that is plain ASCII, of a fixed and usable length, and is derived from the file name so systems don't need to maintain a lookup table to find the file based on a given string. This will give you a 40-char string in plain ol' ASCII unique to the input: function CleanHash s get binaryDecode("h*", sha1Digest(s), tHash) return tHash end CleanHash e.g.: get CleanHash("MyFile.txt") ...returns: d9275b8f757ce47c240d276c1e1192dae8585eba > ...When the user selects a name from a list, the selection is munged > to match the server name and the download URL is obtained from the > cron job's lookup file. > > We don't have a field in the database for a file name. Since a hash is derived from the file name, you don't need to maintain a lookup table as you would with an arbitrary string like UUID. If I understand your problem correctly, that file identification need only be in one direction, just add the hash as part of your existing munge and you're pretty much done. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: HOw to get htmltext from the field to display in another field
Sannyasin Brahmanathaswami wrote: > Vedas > A Random Selection > of Sutras > > gets turned around. It becomes > > Vedas > A Random Selection > of Sutras > > ?? where does the font size becomes "34" . HtmlText is not HTML. It was added to the engine as a convenient way to use HTML-like tagging to express field contents with styles. Header tags (eg "H1") are an HTML convention. LiveCode has no CSS, and hence ability to define header specifiers for size. If you try this: set the textSize of fld 1 to "h1" ...it should fail. But as a convenience or those who may be attempting to mix and match a limited form of HTML with LC's HtmlText, the engine will allow header tags as input, translating them to fixed values. As you've discovered there, the fixed value for "H1" is 34. > Even with the font size of field increases, it stays at size="34"?? Attributes of field objects are different from attributes of style runs in the content within the field object. Changes to the object's textColor, textSize, and textFont will affect the visual rendering of the object's contents only, leaving the contents as stored unaffected. If the content has any attribute set within a style run, that setting overrides any setting for the object, much as we see with inheritance of visual properties throughout LC. If you want to change the textSize of the contents of the field, you can either: a) set the textSize of char 1 to -1 of fld "Whatever" to 20 b) set the textSize of char 1 to -1 of fld "Whatever" to empty set the textSize of fld "Whatever" to 20 -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Hacktoberfest is coming
True, focusing on the subset of issues in the IDE, leaving the engine work to the experts on the core team, would make the work much more actionable. The enthusiasm is good to see. I like the vision of a world where we all share one common engine and language, and have a wide range of IDE options available, tailored for our tastes and workflows. If you can find a lead maintainer on this, it may be worth pursuing. But given the work commitment involved, that may be a big "if". The nice thing about pinching off corners of IDE functionality in plugins is that the scope of work is limited to the size of the itch being scratched. They're also easier to share than convincing folks to replace their whole IDE with an alternate one. But if IDE bugs mount up without workarounds or acceptance long enough, sooner or later it will become easier to find contributors to replacing it with a fork. Like the old saying goes, "Change occurs when the pain of changing is finally exceeded by the pain of not changing." -- Richard Gaskin Fourth World Systems Mike Kerner wrote: it's not the engine, it's the ide portion, which is not binary. in addition, as it is a fork, it would be maintained in parallel with the LC version, so when LC releases an update, beta or otherwise to the ide, you would merge it into the fork, and review all the diffs. in some other projects, the community fork thus becomes the major branch and the community becomes the major maintainers of the fork. i'm not saying it's easy, and i am by no means volunteering to do it. it's a suggestion for the community to consider: if we are jointly frustrated with LC's IDE and the progress it is making, especially in accepting and integrating PR's, then we do have the option of forking it, perhaps for the purpose of fast-tracking updates, experimental features, etc. things that might appeal to an audience of developers: * PR's issued for open bug reports, e.g. mobile scrolling (PR issued in...June, I think?) * Project Browser * Code folding * Speed in the script editor It's not like there aren't multiple independent projects going on that couldn't make this effort better. Some of those are: Navigator Baker's Assistant Any of Bernd's proposed SE updates On Wed, Sep 2, 2020 at 12:21 PM Richard Gaskin via use-livecode < use-livecode at lists.runrev.com> wrote: Mike Kerner wrote: > there isn't any reason why we can't have a fork of the ide that > doesn't sit around waiting for themuns to say "ok". I've considered this myself, but maintaining something as complex as LC's IDE is no small task. In fact, I'm finding it less time consuming to replace portions as I need them than to prowl around in that complex code. But even if someone had the time for to maintain a fork of the IDE (and you might get some assistance on that from others if you do), engine pull requests would still be in queue with the mother ship. Few in our community have the C++ skills to do serious work on the engine, and the GPL license would make using such a community project a non-starter for most license holders. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web Ambassador at FourthWorld.comhttp://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 -- 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@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Hacktoberfest is coming
Mike Kerner wrote: > there isn't any reason why we can't have a fork of the ide that > doesn't sit around waiting for themuns to say "ok". I've considered this myself, but maintaining something as complex as LC's IDE is no small task. In fact, I'm finding it less time consuming to replace portions as I need them than to prowl around in that complex code. But even if someone had the time for to maintain a fork of the IDE (and you might get some assistance on that from others if you do), engine pull requests would still be in queue with the mother ship. Few in our community have the C++ skills to do serious work on the engine, and the GPL license would make using such a community project a non-starter for most license holders. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Cross Platform Font Layout - current workarounds
J. Landman Gay wrote: > Any bugs you found are certainly based in fact, as you've shown. That an anomaly is evident is known. The cause and possible remedies, however, remain open questions. Though I briefly dabbled in sending hand-written Postscript to my laser printer back in the day (who didn't? Postscript was the future!), I've only briefly skimmed the file formats for Postscript and TrueType, and of course anyone lacking technical depth in this specialty will be at a disadvantage in diagnosing this. So while I can't presume to know the inner details of what's in play here, it may be worth considering Mark Waddingham's input. There's at least some indication he's familiar with how computers work, and he knows a thing or two about the internals of LiveCode. :) Mark had suggested there may be elements within the font file itself which can be adjusted to improve rendering across different systems, specifically with regard to baseline differences on Windows: http://lists.runrev.com/pipermail/use-livecode/2020-August/261448.html A quick search to see how others deal with similar issues yielded a corroborating suggestion, described here: "One possible solution could be to download the Cutive font (I see it has a SIL license) and then run it through the Font Squirrel font-face generator. In 'Expert' mode there is an option to 'Fix Vertical Metrics' which might be what you are looking for." And: "I came across this problem with a custom font that had been created for a client's brand. I opened the TTF font in Font Forge. The way I created uniformity with rendering was to adjust the values in Element->Font Info->OS/2->Metrics. I have very limited knowledge about fonts but this did fix my problem. https://stackoverflow.com/questions/11726442/font-rendering-line-height-issue-on-mac-pc-outside-of-element I can't help but wonder if guidance from experienced people who've considered this issue in depth may be worth exploring... If for some reason making the custom font file more complete is prohibitive, LC is flexible enough to compensate in just one line by adjusting the margins property where needed: if the platform is Win32 then set the margins of btn "Label" to 4,8,4,4 Set the adjustment of the second (top) item to whatever you need and you're back in business in just a few seconds. Of course that's just a quick workaround to keep production work on schedule at near-zero cost to any project that may need it. For the longer term, if adding the Win-specific metrics others have found success with doesn't resolve this problem, let's explore it further. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Cross Platform Font Layout - current workarounds
Sean Cole wrote: > Spelling it out to you, here are all of the related bug reports. > Confirmed bug reports. Confirmed they are bugs. Bugs that Can and > Should be fixed. It won't take 10s of 1000s of $ as whatshisface > Gaskin made it seem. Embedding a replacement font rendering subsystem to bypass the OS-supplied one would be a feature request, not a bug report. :) And I missed that feature request among the grab-bag collection of Bugzilla URLs you included. Has anyone ever actually requested that? As for cross-platform rendering consistency, you seem to be confusing a file format specification with an implementation of a system which uses that format. Yes, we all remember the TrueType rollout, and the promise of a single-file, cross-platform font definition. But for that format to provide pixel-perfect matched rendering requires all renderer implementers to use the same code. And as you know, they don't. This is true with all sorts of formats. If you've ever written a web page you've no doubt enjoyed discovering the breadth of ways browser implementers can interpret simple HTML. I noticed you ignored the screen shot I prepared for you, which illustrates platform disparities with both font and HTML rendering. You might want to take a look at that. It's from BBC, an org you say doesn't tolerate cross-platform rendering disparities, but apparently, like the rest of us, they do. > https://quality.livecode.com/show_bug.cgi?id=18748 (Related and listed > by none other than Whatshisface Gaskin himself!) Is the issue described in that report what triggered this thread? If it turns out to be relevant here, did you try Mark Waddingham's suggestion in Comment #1 from the report? That solved it for me. In fact given the vertical metric alterations I chose to impose with the command listed in the recipe, the rendering can only come up short on top or on bottom, unless I take Waddingham's observation into account. It isn't logically possible to do otherwise with a fixed line height. Also, the behavior described in that report is consistent across platforms, so it would seem the opposite of the cross-platform concerns that prompted this thread. If that turns out to be the issue that prompted this thread that would be excellent, as a single checkbox click will take care of it. PS: You don't have to use my name, but while you may be comfortable calling me "Whatshisface Gaskin" I doubt you'd welcome anyone here calling you "Dunning-Kruger Cole". Let's not go there. You might consider taking a little break, Sean. Come back when you're in a mood to engage with your colleagues as professionally as you do with your clients. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Cross Platform Font Layout - current workarounds
Sean Cole wrote: > I assume (dangerously) from your reply that you do not have to make > real world applications for corporate branded customers. Where design > has been done by a branding team with a 12 - 120 page Production > guide). Someone like the BBC A good way to analyze a problem is to find existing examples of how successful organizations handle the problem we're facing. With font rendering across platforms, we can look at how BBC themselves handle that. In this image you'll find two screen shots of a lead story block from bbc.co.uk/news, where the top image is from macOS and the bottom from Windows. Both had the latest OS versions, and both used the same browser version (freshly-downloaded Chrome, the world's most popular, so a good test case), where the browser window was set to the same width (1020px): http://fourthworld.net/lc/Mac-Win-Fonts.png Evident differences include: - text weight - kerning - leading - antialiasing Indeed, the kerning differences are pronounced enough that even BBC's expert web team using a modern CSS spec designed by experts and rendered in a browser made by one of the most powerful corporations on earth is still so pronounced that both the story's title and summary wrap differently between the two platforms. Operating systems matter, and even the best effort to reduce the effects of the differences between them cannot make them the same, as they are made by very different organizations with very different methodologies and priorities. The article Jacque provided was useful, relevant, succinct, and apparently ignored, so it's worth including here again: https://damieng.com/blog/2007/06/13/font-rendering-philosophies-of-windows-and-mac-os-x Since everything we've ever seen in all of computing reminds us that different OSes behave differently, when we want a given font rendering to be identical on both platforms, as Richmond noted we can generate an image of the text we want and use the image instead of the text. That is of course impractical and often undesirable for body text, which is why body text is frequently seen differently on different platforms. But for absolutely critical elements like logos, it's what most experts do. Indeed, the BBC logo could have been implemented as a font, but for precision across platform apparently they chose to use an SVG file. > It is arse-umed that how it looks on Windows is how it should look on > any other platform we distribute to including the various output sizes > (1024x576SD, 960x540HHD, 1920x1080HD, 3840x2160 4k). Everything has to > match to the pixel. That’s how branding works. Apparently for their most visible asset, their web site, BBC feels branding can be driven by other priorities according to the relevance of a given element to their brand: logos are images, article text is left to the OS. --- On the inherent difficulty of the task: > We have no issue with that moving between platforms in editing and > graphics platforms, so post production facilities (mine included) > could not conceive or perceive that it would be any different in a > development environment. Design it in photoshop on a pc and send it > to your colleagues working in After Effects on a Mac and send it back > to an editor on a PC running Premiere and it looks the same end to > end. That is ‘just the way it is’! That's "just the way it is" in highly specific circumstances in which you exercise great care with how the document is set up and limit what you're doing to a narrow subset of software that includes its own font-rendering subsystem. You will not find this in word processors, or spreadsheets, or database front-ends, or the web, or most other software outside of specialized graphics productions tools. Even in programs that allow custom kerning, like some word processors, will show differences in line wrap between OSes. It would be nice if any single tool could do all things that all possible software can do. But nothing in the universe works like that, and software is no exception. Thankfully, with extensibility mechanisms like widgets, FFI, and externals, LiveCode can be a foundation to include things far beyond its out-of-the-box capabilities. If you want to embed a custom font rendering subsystem, I'll be it would cost you no more than Adobe spent developing theirs (which, given the considerable time, expertise, and licensing required, I'd venture to guess would cost somewhere between US$100k 200k, possibly more). While you ponder funding sources for that, you could just as easily do what other production companies like my friends here in Hollywoodland do, and as Richmond suggested earlier: if you want pixel-perfect identical rasterization across platforms, rasterize it yourself to your satisfaction and use the resulting image in production. Rasterized output is how Photoshop is most commonly used in production. --- On the larger issue of workflow
Re: Cross Platform Font Layout - current workarounds
Sean Cole wrote: > What is the current 'workaround' everyone is using when creating a > cross-platform app to make sure that all text appears the same > regardless of platform? Particularly between Windows and Mac for > me at the moment. Font metrics will differ between OSes because the underlying rendering method used by each OS is different. Have you delivered cross-platform apps in which you found no difference at all? The closest I can imagine might be PDF, achievable with some settings only by decomposing the font into the Postscript describing the page. Even browsers, with their multi-million-dollar code bases and their mind-bending efforts to make things as uniform as practical across platforms, will evidence the difference in OS rendering subsystems. If you've found anything that corrects for this, I would enjoy learning about it. I can't even imagine how such a thing would work, so I'd learn a lot. > Also, side note, does anyone remember why we STILL have a discrepancy > between fontnames() in Mac and Windows? Not only do the windows fonts > show alphabetically and mac dramatically out of order, but also, the > names themselves are screwed up... My understanding is that it's the same as when getting a list of files in a directory, the names are returned in the order given to LC by the host OS. The sort command can be used where sorting is needed. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ProtonMail vs Apple
Brian Milby wrote: "Microsoft can do what it likes with THEIR *platform*! if YOU _choose_ not to agree with their policies for use on THEIR platform, YOU can _choose_ to go elsewhere." Absolutely... on THEIR *XBox* platform. Microsoft leveraged anti-competitive practices to squeeze out competition on the *PC* platform with MS DOS. Therefore Microsoft gained a monopoly on the *PC* platform by unfair business practices. Very different situation. True, all circumstances are ultimately different from others. As Aristotle reminds us, this is why all metaphors ultimately break down. I'm not an antitrust litigator, nor judge with expertise in that area, nor corporate ethicist, nor economist, nor sociologist. I'm not even a philosopher until well into a second Mai Tai. :) I'm just a business owner longing for the olden days when I could hang my shingle anywhere I feel is best for my business. I'm just a computing enthusiast who enjoys open standards, open systems, and open communications for learning, sharing, and deploying. I'm just a citizen, like billions of others, looking at the ever-more-accelerated concentration of wealth, power, and control into the hands of just five people, and wondering if this is really in everyone's best interests... And in recognizing the limitations of my modest roles, I admit the limits of my relevance in this discussion on a developer's list. Carry on where you feel it's relevant for us to make choices as developers. I don't believe I have anything more to contribute beyond the questions I've already presented. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ProtonMail vs Apple
Lagi Pittas wrote: > I didn't mean no marketing - it's like the folks that buy books about > the law of attraction and sit on their fata arses visualizing a BMW. > > You can sit in your chair visualizing all you want but the BMW, and > bigger house won't come to you if you don't get off your ass and meet > the universe halfway. Yours and mine is apparently the minority view. ;) > What I was saying is that the market on the Iphone is huge and in 1 > place, and if your program is any good it will make it big if Apple's > editors pick it. > or you at least try to JV with someone who is already there. > > But good luck if your program does not have something that > differentiates from all the copycat wabnnabies. I find nearly every conversation with you eventually winds up with you and I coming from the same place. Business planning fundamentals used to be recognized as such, yet too often overlooked these days by starry-eyed aspirants hoping that getting a record in a database will be their ticket to success. My only issue here, as with Andre and the EU, isn't that we're expected to hang our shingle if we want to be in business. It's the vision of a world where we're prohibited from hanging our shingle in any property we may own, required to surrender an entire third of our company to have a cramped space in a massive shopping mall owned and controlled by a cartel of two of the wealthiest and most powerful companies on earth. Just when the disintermediation inherent in the promise of the open web was beginning to make itself felt to publishers and consumers alike, we started seeing service aggregation reserving those benefits. App store receipts are more than a third of Apple's services revenue. My favorite period with Apple was when they made their money on their own work. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Layers in PBrowser
Sean Cole wrote: Richard Watch my videos I posted using Dropbox. It’s madness. And it’s been CONFIRMED and NOT FIXED for a very long time There was more than one video, and several others also reported being unable to reproduce the issue, so my question for Tom was seeking clarity on which recipe I should be following. With your guidance here, I've now simplified my effort to try to understand the issue that prompted this thread by skipping your other posts, and have reviewed only the first video. If I get time to set up a sample stack, or if you have one to share, I'm happy to try it here to see if I can help steward that toward a fix. https://quality.livecode.com/show_bug.cgi?id=18818 This seems directly related to the core issue of this thread, and I have subscribed myself to that report. Thanks for providing the link. https://quality.livecode.com/show_bug.cgi?id=19455 Per Mark Waddingham's comment #2 there, this one is an engine issue, and may have backward compatibility issues if changed. Mark provides there guidance on using the relayerGroupedControls property to do such scripting much more easily, as well as using the relayer command for even greater ease. It may be part of what brings about the core issue of this thread, but I'm unable to determine of that's the case from the information in the report. Probably FIXED but still marked as CONFIRMED https://quality.livecode.com/show_bug.cgi?id=21460 While status hasn't been changed since flagged as "Confirmed", another user reports being unable to reproduce it in recent versions. Is this one still affecting your work? https://quality.livecode.com/show_bug.cgi?id=22698 This one has a pull request submitted in May, and as far as I can tell would seem fixed now. If it's still affecting your work please note that in the report, and if not please add a note there suggesting the status be changed to "Resolved". They're usually pretty good about closing bug reports related to the work they're doing, but there's a lot in the DB and understandably the miss a status update now and then. > Frikin people who say ‘I can’t reproduce’ when it is clearly > demonstrated in a frikin video EXACTLY what is happening! Does my nut > in!! Please understand that most folks here are earnestly trying to help. I know people like Brian and Jacque personally, and I feel very confident in saying they only bring their best intentions to this list. When Brian says he was unable to reproduce an issue, he isn't saying the issue doesn't exist; like me, he's looking for details which might help it become reproducible on his own machine so he can help further the process toward a fix. When Jacque suggests trying the App Browser as an alternative, she isn't trying to undermine your desire to use the Project Browser, she's just hearing very clearly that you have an immediate need based on a pressing deadline, and offering a simple solution to get you through that task so your project can meet with success within the time allowed. > 2c: I wasn’t after more workarounds. I want to highlight how crap > like this NEVER gets fixed or dealt with and continues being poop. > Someone (Mark, Ali, Sam, Ian, Kevin, Heather, anyone) needs to start > fixing shite like this that has been around the last 6 years! Workarounds are for us; fixes are for us and the company. We benefit with either; all we want is to finish our task and move on to the next. The company benefits most from true fixes, improving the out-of-the-box experience to increase conversions while decreasing attrition. Their priorities are theirs; mine are mine. When I finish meeting my own business' revenue and growth goals, I'll be happy to pass along to them what I learned if they ask. In the meantime, they have no shortage of guidance to choose from, and much of it is mutually exclusive, so I'll leave their business in their hands while I attend to my own. There's a maxim from a Chinese emperor many dynasties ago which I've found useful in all my relationships, personal and professional: When I feel the desire to discipline another, I first discipline myself two-fold. If I am successful, I then ask myself if I still feel the desire to discipline another. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ProtonMail vs Apple
Sean Cole wrote: > It's all a pointless debate. Apple can do what it likes with THEIR > *platform*! if YOU _choose_ not to agree with their policies for use > on THEIR platform, YOU can _choose_ to go elsewhere. > > The same or similar issues come up with ALL brands! Google, Samsung, > Nike, AT, Ford, Cadbury, so on and so on and so on. Exactly. Let's try the same phrase with other company names we have less emotional attachment to: "Microsoft can do what it likes with THEIR *platform*! if YOU _choose_ not to agree with their policies for use on THEIR platform, YOU can _choose_ to go elsewhere." "Bell Atlantic can do what it likes with THEIR *platform*! if YOU _choose_ not to agree with their policies for use on THEIR platform, YOU can _choose_ to go elsewhere." "Standard Oil can do what it likes with THEIR *platform*! if YOU _choose_ not to agree with their policies for use on THEIR platform, YOU can _choose_ to go elsewhere." If the reader is sitting in a room filled with Apple logos, it may feel different to read that argument when applied to companies famously convicted of antitrust violations. I agree it's not fair to target Apple with such inquiry, but neither should they get a free pass just because we may enjoy their products. After all, the notion of Apple engaging in anti-competitive behavior is not merely theoretical - have we forgotten the ebook antitrust case of just a few years ago?: Apple’s liability for knowingly conspiring with book publishers to raise the prices of ebooks is settled once and for all,” said Bill Baer, head of the US Justice Department’s antitrust division. Baer called the price-fixing conspiracy “cynical misconduct”. https://www.theguardian.com/technology/2016/mar/07/apple-450-million-settlement-e-book-price-fixing-supreme-court Your point about Google is well taken, raising a question of its own: Ethically, what is the difference between a duopoly and a cartel? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ProtonMail vs Apple
Lagi Pittas wrote: If you sell a $10,000 worth in the second year you get $8500 without having to spend as much on advertising. Oh? The app store is a directory, not a substitute for marketing. Simply having one of a few million indistiguishably-uniform records in a database is insufficient to market a product. Relying on directly listing alone is the equivalent of any business choosing to do no marketing because they're in the phone book. I can't figure out where this notion that simply being in a directory is some sort of instant gold mine, but it may correlate with the number of answers provided here about anyone making more than $500 from ad revenue from apps, which was zero. ;) Mature businesses often have 2/3 to 3/4 of payroll in marketing and sales. Startups can get by with half. Less than that increases the odds of being one of the 60% of apps in the app store that never get downloaded at all. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Layers in PBrowser
Tom, I'm among the several here who have been unable to reproduce the original issue discussed here, at least as I understood it. Perhaps I misunderstand it. What is the recipe for the bug you're referring to? -- Richard Gaskin Fourth World Systems Tom Glod wote: Yikes.. I have a lot of time for LC but there is really no excuse that is acceptable for this kinda bug to be around for so long there were others that drove me nuts for years too...but have since been solved thank God. On Thu, Aug 13, 2020 at 7:53 AM David V Glasgow via use-livecode < use-livecode at lists.runrev.com> wrote: > On 13 Aug 2020, at 4:16 am, Pi Digital via use-livecode < use-livecode at lists.runrev.com> wrote: > > Why do I have the same discussion with you people Hi Sean, There are no ‘you people’, there is only us, including you. I can’t help you with your IDE problem, but I can see that others are trying hard to be helpful, and that you are running on empty. Maybe get some sleep and revisit the issue when you are feeling refreshed? ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: More Standalone Building Weirdness...
The Standalone Builder really needs to be a separate process. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ProtonMail vs Apple
Two thoughts on this, possibly worth pondering: 1. The definition of "antitrust" may be outdated. Antitrust regs kick in when one company has undue control over an industry. What exactly is "undue"? What exactly is an "industry"? In a world where "products" and "industries" and "platforms" are increasingly virtual, overlapping, and interconnected, the defining frame of reference for those terms is in flux, almost continuously. If I control all automobile production, customers appear "happy" because they're choosing my product rather than other choices in the transportation industry like motorcycles, trucks, bicycles, trains, buses, scooters, etc. As long as there is a single bookstore anywhere on the Internet, can Bezos say Amazon's practices are not predatory? And why do duopolies get a free pass altogether? I don't have the answers to these questions. But these - and many others - seem worth asking. A small subset of these questions are being asked of Apple by antitrust regulators as we speak: "Apple’s antitrust woes stem from its obsessions with control and money" https://venturebeat.com/2020/08/07/apples-antitrust-woes-stem-from-its-obsessions-with-control-and-money/ 2. The definition of "trust" may be outdated. Consider this brief list: - Tim Cook - Satya Nadella - Sundar Pichai - Mark Zuckerberg - Jeff Bezos Five men. Five. Together they shape, and to some degree control, most communications throughout humanity's infosphere. Five. Just five men. As just one small corner, consider: Modern media is largely supported by advertising. 70% of all online ad money goes to two companies, Google and Facebook. Two. Just Two. Literally EVERYTHING else in the online world supported by ads has to survive by subdividing the remaining 30%. Everything. Thousands of news and media orgs, millions of blogs and apps, billions of pages. And that's just commerce. How many times do we need to read in the papers about yet another of the Big Five either supporting despotic regimes, or partnering with middlemen whose despot clients seek to undermine democracies? The list of those affected is long, and growing right now even as I type this: Georgia, Ukraine, US, Brexit, France, and dozens more across every continent on the planet but Antarctica, using digital media to disseminate disinformation. Do you trust that five men can enjoy unprecedented power over the flow of commerce and ideas and somehow keep your best interests in mind, or the interests of the other 7.8 billion people? This week four out of those five were invited to answer questions about commerce and control by a thankfully-for-them-largely-out-of-touch Congress: "What a Trove of Emails From Facebook, Amazon, Apple and Google Could Mean for Potential Antitrust Cases" https://www.nbcnewyork.com/news/national-international/what-a-trove-of-emails-from-facebook-amazon-apple-and-google-could-mean-for-potential-antitrust-cases/2554850/ Maybe this is all just how it's supposed to be. Maybe this is what the dream of success is supposed to be about, and it's just whiny malcontents who don't get it. Or maybe it's time for new thinking in response to new circumstances. How long was it between the dawn of the petroleum era and the antitrust moves against Standard Oil? Sometimes it takes a while for regulatory ideas to catch up with trends... -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Integrating Desktop or mobile application with LMS using LTI 1.3
Martin Koob wrote: > Thanks for the responses. I am still actively working on this. > > I have hired a summer intern. Molly, to work on this. She has been > getting up to speed on LiveCode and LTI 1.3 and now she is turning her > attention to working on a proof of concept stack to connect with an > LMS system and send commands and receive responses and process them. > > Indeed we have found that LTI 1.3 is supported by many LMS’s to > varying degrees and some still just support LTI 1.1 currently. (There > is a LTI 2.0 but that is a deprecated standard. > http://www.imsglobal.org/lti-security-announcement-and-deprecation- > schedule) The LMSs we have looked at also have their own APIs which > seem to have features beyond what the LTI feature set is but still > looking at this. This is very exciting. Thanks for posting this. > I am not at the point yet where I can open source it and I am not > really sure how to go about that. (Don’t know how I would sell it > either but probably not much of a market for it.) If you feel the commercial value is lower than the value of open sharing and collaborating on fixes and enhancements, open source can be a very good option. Picking a license can be the hard part. The mechanics of collaborating are more flexible. GPL v3 is what LC's Community Edition uses, useful for open source work but impractical for commercial work (it requires that derivative works use the same license and also make source available, which is excellent for proliferation but a turn-off for those looking to build closed-source works on it). MIT License is compatible with GPL v3, and has no restrictions that impair use in either GPL-governed works or proprietary closed-source products. > I have my main app on GIT using Monte’s lcVCS but if I did want to go > open source with this library I want to to do something simpler like a > script only stack library and maybe do a Demo app based on Trevor’s > Levure App Framework https://livecode.com/products/livecode-platform >/levure/ to make it easier to use git. Does this sound like a good > approach? If a framework lets you build the demo more quickly than you could without it, go fo it. But it learning the framework may slow you down, don't worry about the demo being in a Github-friendly format. Folks will be grateful to use whatever you choose to spend your time making and sharing, even a simple binary stack file. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Has anyone created a specialised mobile keyboard?
I would encourage you to consider very carefully the standard keyboard layouts provided by the OS before embarking on a custom one. It's not only a lot of work to make a keyboard, but the common ones are very good, with Swype-like behavior, word prediction, and other things that can be cost-prohibitive for a solo dev to implement. Users are *very* accustomed to standard input controls. Deviating from those may be useful in unusual designs, but given the high value of consistency for common tasks like text entry you'll want to weigh the pros and cons carefully before deciding your use-case is too far outside of those supported by the OS. -- Richard Gaskin Fourth World Systems Graham Samuel wrote: > What I want to do is to design my own keyboard with numerals and a > few additional special symbols, but I don’t know if it’s possible > to do in native mode, as it were. > > Graham > > Sent from my iPhone > >> On 4 Aug 2020, at 14:41, JeeJeeStudio via use-livecode at lists.runrev.com> wrote: >> >> You can set which keyboard you want, like email, numeric >> >> it's in the dictionary, search on mobile keyboard >> ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ProtonMail vs Apple
JeeJeeStudio wrote: > 1 positive thing then on a thing we don't have in LC and now also is > removed...the possibility to put ads in your LC created mobile app... "Possible" is a big word. It covers nearly everything. It's possible to use LC Build to support ad network APIs. It's also possible to find saner ad networks that offer REST APIs in addition to binary, so devs don't need to commit as much development time for one vendor. It's possible but less likely that an app not worth monetizing through freemiums, direct payment, or other model will earn enough to bring a positive ROI for the effort of implementing ads. It's less likely that you'll be able to shoe-horn someone else's ads into your app design without impairing the user experience. Lots of things are possible. Fewer things are likely. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Q re monetization via ads
How many LC devs have earned more than $500 from in-app ads? Outside of LC, anyone know what percentage of indy shops with small or zero marketing budgets have earned more than $1,000 on ads? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Help me understand infinity
In the v9.6.1RC1 Release Notes there's this: Infinity constant The constant infinity has been added to the language in this release. As a result, theunquoted literal infinity is now reserved. Any existing uses of it should be quoted, as otherwiseit will resolve to the floating point value representing infinity, rather than the string "infinity". What is the use-case prompting this? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Object naming
Consider a simplified problem statement: You have two objects of the same type in a container, and you want to tell them apart but had given them the same name. Too Many Daves by Dr. Seuss Did I ever tell you that Mrs. McCave Had twenty-three sons and she named them all Dave? Well, she did. And that wasn't a smart thing to do. You see, when she wants one and calls out, "Yoo-Hoo! Come into the house, Dave!" she doesn't get one. All twenty-three Daves of hers come on the run! This makes things quite difficult at the McCaves' As you can imagine, with so many Daves. And often she wishes that, when they were born, She had named one of them Bodkin Van Horn And one of them Hoos-Foos. And one of them Snimm. And one of them Hot-Shot. And one Sunny Jim. And one of them Shadrack. And one of them Blinkey. And one of them Stuffy. And one of them Stinkey. Another one Putt-Putt. Another one Moon Face. Another one Marvin O'Gravel Balloon Face. And one of them Ziggy. And one Soggy Muff. One Buffalo Bill. And one Biffalo Buff. And one of them Sneepy. And one Weepy Weed. And one Paris Garters. And one Harris Tweed. And one of them Sir Michael Carmichael Zutt And one of them Oliver Boliver Butt And one of them Zanzibar Buck-Buck McFate ... But she didn't do it. And now it's too late. -- Richard Gaskin Fourth World Systems Alex Tweedly alex at tweedly.net Mon Jul 27 15:47:12 EDT 2020 Previous message (by thread): Object naming Next message (by thread): Object naming Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] On 27/07/2020 16:33, Richard Gaskin via use-livecode wrote: There are many ways to refer to things. The simplest is to use unambiguous names for things that matter. Is there an unambiguous name in this case ? And if so, what is it :-) ? A group "A" contains a rectangle "R", and a (sub)group "B". "B" also contains a rectangle "R". (btw - "B" also may contain a subgroup "C", and it too will have a rectangle "R", and ). There is an unambiguous name for the 'most nested' "R", but there doesn't seem to be for the other "R"s. I had expected (or perhaps just hoped) that using a long name would first try to find an exact match, and if that failed it would then find the closest inexact match - but that sadly was just a hope. I could (and probably will) use IDs but that doesn't work for duplicating the group - you need to either go in and adjust a script / custom property OR have the group's script find the IDs. Or - am I'm missing something ? Alex. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Object naming
There are many ways to refer to things. The simplest is to use unambiguous names for things that matter. -- Richard Gaskin Fourth World Systems Alex Tweedly wrote: I think my head is melting :-) I have a group called 'A'. Inside A, there is a rect called "R" and also a group called "B" inside B there is a rect called "R" How do I refer unambiguously to the first rectangle (i.e. A - R, not A - B - R) ? If I say grc "R" of grp "B" of grp A then I unambiguously get A-B-R; but if I say simply grc "R" of grp "A" then I *also* get A-B-R. There must be a way to do this (and maybe if it wasn't nearly 2 in the morning I would be able to figure it out). Help! Please ! Alex. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ANN: FieldGroup - a simple rich text editor field.
Alex Tweedly wrote: On 23/07/2020 17:20, Richard Gaskin via use-livecode wrote: https://www.tweedly.org/downloads/FieldGroupsample.livecode Thanks for posting this, Alex. Super cool. I didn't find license info in the package - did I miss it? What license is this distributed under? Sorry, I should have said. It is released under the MIT license; I've added the license text to the script of the group, and updated the copy on my website (as above) - now at version 0.2 Super - thanks, Alex! -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: ANN: FieldGroup - a simple rich text editor field.
Alex Tweedly wrote: I'd like to announce the Beta (i.e. v0.1) release of my simple rich text field. Currently it's not on Github or anywhere sensible - it's just on my own download site (see URL at end of this email). I'd be happy if anyone finds it useful, and / or has feedback that might make it useful. .. You can download the sample app - which includes the group you ned to copy/paste - from https://www.tweedly.org/downloads/FieldGroupsample.livecode Thanks for posting this, Alex. Super cool. I didn't find license info in the package - did I miss it? What license is this distributed under? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Using OAuth2 with Microsoft API services
A moment ago I wrote: Mark Wieder wrote: On 7/22/20 9:26 AM, Richard Gaskin via use-livecode wrote: I've run into a snag in which the OAuth2 redirect URI does not seem to be called when used to authenticate for Microsoft API services such as Dynamics 365. Before getting into details (there are many) it would be helpful to know whether anyone here has successfully use LiveCode's OAuth2 library to connect to Microsoft Office 365 apps, or even other Microsoft services that use Azure's authentication service. Haven't, but this seems to be what you need: <https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow> Microsoft and Amazon make for strange bedfellows. Use certificates if you can. Certificates? What are you referring to in the context of OAuth? Ignore that. I was familiar with the URL because that's where we started, but re-reading I see the section on certs there as an alternative to shared secret. Does LC's OAuth2 support certs as an alternative to shared secret? Azure made setting up shared secret a snap, and I don't recall seeing anything in LC's OAuth2 lib for using certs instead, but would be happy to try it if it'll get us past this redirect issue. Oddly, it appears as though we're authentincating fine as it is using shared secret, the only problem being that we're not getting the redirect to close the browser widget and return the auth code to us. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Using OAuth2 with Microsoft API services
Mark Wieder wrote: On 7/22/20 9:26 AM, Richard Gaskin via use-livecode wrote: I've run into a snag in which the OAuth2 redirect URI does not seem to be called when used to authenticate for Microsoft API services such as Dynamics 365. Before getting into details (there are many) it would be helpful to know whether anyone here has successfully use LiveCode's OAuth2 library to connect to Microsoft Office 365 apps, or even other Microsoft services that use Azure's authentication service. Haven't, but this seems to be what you need: <https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow> Microsoft and Amazon make for strange bedfellows. Use certificates if you can. Certificates? What are you referring to in the context of OAuth? And I missed something - how does Amazon play into this? But yes, that's the page we started with. We're now having an issue with the redirect URI not firing. I'm working with the admin to adjust yet another Azure setting for that, but it would sure streamline the trial-and-error process if I could find someone who's done this successfully with LC. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Using OAuth2 with Microsoft API services
I've run into a snag in which the OAuth2 redirect URI does not seem to be called when used to authenticate for Microsoft API services such as Dynamics 365. Before getting into details (there are many) it would be helpful to know whether anyone here has successfully use LiveCode's OAuth2 library to connect to Microsoft Office 365 apps, or even other Microsoft services that use Azure's authentication service. If not via LC's OAuth2 library, has anyone here successfully used LC to use Azure's auth for MS apps with custom code? I may be in a position to pay a modest fee for code or consultation that leads us to a successful solution. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Tab Buttons Mac vs. Win
Stephen Barncard wrote: > If in 1975 I hadn't gotten pissed off at the Grateful Dead and > taken off to LA... Probably too off-topic for this list, but that sounds like a story worth hearing. Perhaps over a beer after the madness ends and travel resumes... -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Styled text on mobile
J. Landman Gay wrote: > It's possible. For a LiveCode field, note that the font has to have > a font variant for each style. Some time ago LC stopped supporting > artificially altered font styles. The native system font on each > mobile OS supports all styles. > > Or do you mean something else? I probably should have specified: I was hoping there might be at least something in the works to bring the scripted mobile-native editable field up to par with other apps that allow styles to be applied to text the user writes. I would expect to build the UI to set style attributes as we do on the desktop, if it were possible. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Tab Buttons Mac vs. Win
Bob Sneidar wrote: > I would LOVE to find out how Livecode for Mac draws those beautiful > tab buttons so I can duplicate it on Windows, because DAYAM are the > Windows ones ugly! Around the turn of the century I wrote to Bruce Tognazzini, back when he was still taking email questions. I asked him about the proper placement of confirmation and dismissal buttons (often "OK" and "Cancel") in cross-platform apps. I was familiar with his early research on how the Mac layout (confirmation on the right) matched eye tracking studies on scanning order, and thus was a better solution. On Windows reading order is used (confirmation on the left), which might seem better but not in UIs; dialog boxes just aren't read as much as skimmed, so rather than taking in each line individually as we do when we read, most folks more or less just scan from upper-left to lower-right, where on Mac the action button awaits. So I asked Tog: "Given that the Mac way is borne out by research, wouldn't it be better to use to Mac way in my Windows apps as well?" He was kind enough in his reply, acknowledging that at least my heart was in the right place with wanting to "do the right thing" by the user. But he was also blunt: I had missed something even more important than research. I had overlooked the significance of user habits. When a user spends years with an OS design, they build up a cognitive and muscle memory, so strong that even when research shows an advantage to a different means, the consistency winds up outweighing it. In short, he suggested I do Windows things on Windows, and leave Mac things on Mac. Who am I to argue with Tog? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Styled text on mobile
Am I dreaming the impossible dream? -- Richard Gaskin Fourth World Systems ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Live code server with Debian 8 Jesse
Good tutorial, Heriberto: > I use Livecode server on several Linux machines: > > Centos 7 / 8 and Ubuntu 14/16/18. > > I didn't need 32bits libraries. > > I created a brief installation tuto in my blog: > > https://www.hermanotemblon.com/instalacion-de-livecode-server-en-ubuntu/ > > It is in Spanish, but you could use Google translator. If you put those individual bash statements together into an executable script file you'd have a pretty handy installer. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Web help needed
Bill Prothero wrote: > Sorry if this is off, but what about just transferring them with ftp? FTP is good enough for a small number of files. But for automating large numbers of file transfers rsync is hard to beat, a much smarter tool making things much more efficient. By default, rsync will only transfer files that have changed, and even then only transfers the portions of a file that's changed. It can be used to sync folders locally or remotely - I run all my backups with it, in addition to using it post files to servers from my local master copy. rsync is preinstalled with macOS, can be added to Windows, and is a standard part of most popular Linux distros used on servers. It's secure using SSH, so if you add your SSH public key to your server (useful for a good many things) you not only get good security but it makes it easy to automate with LiveCode's shell function. @Michael Doub: I believe HostM uses Ubuntu, so rsync is preinstalled there. And since you use macOS, your copy is preinstalled on your Mac. IMNSHO, you'll want to request SSH for any hosting service that doesn't offer it by default. With SSH, not only do you get to use standard Unix/Linux utilities like rsync, scp, and others, but sooner or later you're likely to need or want to do something on that server outside of the limited scope of what FTP is designed for. With shell access you can do anything you need, just as good as having the server sitting on your desk, even if it's thousands of miles away. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Web help needed
Mike Doub wrote: > I need to move hundreds of files from my desktop Mac to my server. > I’m looking for advise as to how best to do this. rsync -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Livecode Community Site
Alex Tweedly wrote: > On 08/07/2020 06:30, Richard Gaskin via use-livecode wrote: > >> LC Ltd loves guest content in their blog, > > Really ? There's been *one* guest blog post in the last 2 years - > maybe they need to push harder for contributions. You can lead a horse to water... It's easier to snap together a web site than it is to author content. I know that all too well. LiveCodeJournal.com (and its earlier incarnation of RevJournal.com) was well placed for many years, often #2 in SERPS - when I had fresh content coming in. But third-party content dwindled when LC began their own content outlets, I got more bill-paying contract work, so that hobby project started taking a backseat. It's a lot of work to do alone. Consider the WoecechestershireSource site, and sites from the fella in S. Africa, TapirSoft's, and the others that have enthusiastically come and reluctantly gone over the years. A large third-party ecosystem is nice, and we should definitely encourage more. But from an evangelism standpoint it's a top-of-the-funnel activity, with the mother ship in the middle where the funnel leads. It helps to keep that destination well fed. If it seems easy to commit to content authoring, give a shot at guest blogging for the largest audience in the ecosystem. If nothing else it'll hone writing skills for the work ahead at one's own site. >> and additions to the Lessons and docs. The nice thing about making >> contributions with the core project is they keep the >> highest-possible-ranking site looking fresh, while also reducing work >> for the author. > > Yep! > > So the answer for me is clear - I should write a (potential) blog post > for the Livecode Blog, and offer ti to Heather. It may not be up to > their standards - but at least I'll have tried. > > OK, off I go to write up my little "Them are beads!" project. Supercool - I look forward to reading it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Livecode Community Site
Tom Glod wrote: > I feel like nothing out there, LC related, feels like its maintained > of kept up to date. True dat, though there are a few. LiveCode Journal has been fallow too long for a couple reasons: it's a lot of work to keep fresh content flowing, and ultimately I found that content needs management and much more, so I've been making tools for that. My hope is that the tools will allow me to kick out content more prolifically, but the tools themselves require quite a bit of time before that happens. > Livecode themselves don't really have much of a social presence. They have no content strategy that's evident. That's too bad. it works. Content strategy is pretty much how companies grow in the 21st century. > So for new developers, it all just seems 'stale'. > > A modern, maintained site with up to date content would very easily > become one of the top results for those searching for livecode. (I > could be wrong) Yes, to fresh content - but need it be in one domain? Is the goal to create a new funnel that goes through all the steps to bring people into a new place... - or - ...could the content be delivered to where people already are? An article at LinkedIn can be promoted in groups and forums, but being at LinkedIn will be seen by more people more quickly than you could expect through organic search engine traffic. Even better, search engine traffic only applies when the searcher happens to be searching for phrases that a given domain ranks high for. But in existing sharing networks like LinkedIn, people can discover things they might never have thought to search for. The mother ship itself is also a good venue: LC Ltd loves guest content in their blog, and additions to the Lessons and docs. The nice thing about making contributions with the core project is they keep the highest-possible-ranking site looking fresh, while also reducing work for the author. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: WebSites made using Livecode.
Andre Garzia wrote: > In my own personal and subjective experience, LiveCode shines when you > are building desktop applications, or combining desktop applications > with server-side solutions. With LiveCode you can have a webapp doing > server-side LC server and an HTML5 front-end, while still having a > full desktop application for handling all the administration stuff. > Instead of spending a ton of time to craft a webadmin panel, or a > clunky CMS, you can offer your client the full power of an offline- > first desktop application to manage the webapp you're building. That > is a powerful proposition and one that I wish would surface more in LC > marketing and in the stories on this list. ^ BINGO It's been a great model here. One of my longest-running projects is a content-driven medical decision support system, where the authoring, review, and publishing process is done in an LC standalone, generating web-ready static HTML for lean, scalable deployment. And now that we have some nice WebDAV libraries, I'm using that same model for my own content management, with Nextcloud as a collaborative document store managed through a dedicated desktop standalone made in LC. Along the way I'm seeing opportunities to use APIs from Nextcloud apps and other cloud services to build out standalones providing highly-integrated workflows across disparate services, tailored for the specific needs of just about any organization with all the ease that developing GUIs in LiveCode can provide. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: [off-topic-ish] do you prefer LC-related content as books or video courses?
Andre Garzia wrote: > I'm just not exactly sure if you prefer to consume content in book > format or video format. I've been pondering this myself with some content I've been putting together for the LC community, an EDU-leaning beginner's guide and one on networking. Given the power and flexibility of LC, and the many learning benefits of direct engagement with interactive media, I'm currently structuring them to as courseware to be delivered as stack files. No more copy-and-paste of code examples, animation is possible where relevant, examples are living, breathing software... ...all delivered in a great platform well suited for this sort of thing: LiveCode. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: OAuth2 on Win10: not returning to my app
Thanks for confirming my hunch about the redirect URI. I've passed along a localhost string to the Azure admin with a port specifier that matches the one I'm passing into the lib. Still no go - same result, no browser widget close. One possible issue: the admin tells me the Azure admin UI doesn't allow "http" as a scheme, so he used "https". Azure accepted it so that much is fine, but of course SSL isn't used for local host so is that what's throwing this off? Any guidance would be greatly appreciated, even if it's just to docs for the lib. So far all I've found it one example Lesson about Slack. TIA - -- Richard Gaskin Fourth World Systems Monte Goulding wrote: > It does sound like an issue with the redirect uri. > > Perhaps a configuration issue in your app on the endpoint? Some > endpoints will use the redirect uri from the request, some will ensure > it matches perfectly with your settings for your app on their portal, > some will just use the redirect in the portal settings. > > Whatever is happening, there is no HTTP request to localhost on your > specified port because if there was the dialog would close by itself. > >> On 30 Jun 2020, at 6:14 am, Richard Gaskin wrote: >> >> I've been working with the Oauth2 lib included with v9 (superhandy, >> team, thanks!), and I've run into a snag: >> >> When I call it, the browser widgets opens and goes to the >> authentication provider (in this case Office 365), and authentication >> seems to work well. >> >> However, at that point I'd expect the browser widget's window to >> close and "it" would contain the approved auth scope info. >> >> Instead what I'm seeing is the browser widget window remains open, >> and it redirects into my Office 365 account. I can close the window >> manually with the "Cancel" button, but then "it" in my calling script >> contains "Cancel", no auth info. >> >> Have any of you successfully used LC's OAuth2 lib to log into MS >> Office 365 or other MS product that uses OAuth? >> >> If so, what did you use for the redirect URL? Or is there something >> else I should be considering? >> >> TIA - >> >> -- ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Message watcher and selectionChanged
Mark Talluto wrote: > You might try Richard Gaskin’s ‘Flight Recorder’. I use it all the > time. > You can get it from his site at: > https://www.fourthworld.com/livecode/index.html > > I have a modified version that includes a performance boost that I am > not sure are part of the original distribution. > http://www.canelasoftware.com/pub/canela/4W_FlightRecorder.rev.zip I was unaware that forks of my tool were being distributed, so I could not have incorporated any change requests. I'll find the diffs and incorporate them into the master at my site this week. Thank you for the enhancement, and for letting me know about it. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: WebSites made using Livecode.
Heriberto Torrado wrote: > I am trying to convince a customer to create their next website > with LiveCode Server instead PHP. The client asks me what other > popular sites are created with LiveCode server. If you're dealing with the sort who goes only by popularity, nothing else matters. They live in a world where there are only two choices: C for the desktop and PHP for servers. It may be worth noting, though, that if they'd been consistent about their fixation on popularity they'd still be using Perl, and would have ignored the advent of PHP. ;) And they never would have enjoyed Ruby on Rails, but even at its peak it was never the most popular solution. > Do you know modern websites created with LiveCode What is a "modern" web site? That's not a trick question, just curious what specific types of features you're looking for. > I have seen that the current LiveCode site runs Wordpress + PHP. > Do you know why? Because it gets the job done at low cost. LC Ltd has generic needs for content management, no evident content strategy in terms of syndication, simple editorial workflow with minimal roles - for generic stuff generic tools are great. With the question of build or buy, it's almost always cheaper to buy. And with WP the hard cost is zero, so it's just learning curve. In general, it's only worthwhile building custom software that doesn't already exist. LC can be a good choice when you have specialized needs not already addressed off-the-shelf. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: slow loading & navigation to card containing large field
David V Glasgow wrote: > Loading the plain text list of URLs from file is slowish, but more > importantly, for some time gives no indication that the file is > loading. Are you reading the file as text or binary? I would imagine reading as binary would be more efficient since it's a straight pull from disk, without the content alterations text-read does. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
OAuth2 on Win10: not returning to my app
I've been working with the Oauth2 lib included with v9 (superhandy, team, thanks!), and I've run into a snag: When I call it, the browser widgets opens and goes to the authentication provider (in this case Office 365), and authentication seems to work well. However, at that point I'd expect the browser widget's window to close and "it" would contain the approved auth scope info. Instead what I'm seeing is the browser widget window remains open, and it redirects into my Office 365 account. I can close the window manually with the "Cancel" button, but then "it" in my calling script contains "Cancel", no auth info. Have any of you successfully used LC's OAuth2 lib to log into MS Office 365 or other MS product that uses OAuth? If so, what did you use for the redirect URL? Or is there something else I should be considering? TIA - -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: OFFLIST Re: Animation Engine: speed tips
D'oh! My bad, I'd meant to not take up list space with this. But we all love Malte, and maybe he won't mind taking a moment to let us know what he's working on lately. -- Richard Gaskin Fourth World Systems Colin wrote: We’re all curious! On Jun 29, 2020, at 9:26 AM, Richard Gaskin via use-livecode wrote: On the use-livecode list you wrote: > Hey Alex, > > Public Domain it is. I’ve set it free couple. of years back, as I am > essentially no longer writing code. :-) Still following LiveCodes > progress with interest though. :-) > > Cheers, > > Malte If you're no coding, what are you up to these days? ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
OFFLIST Re: Animation Engine: speed tips
On the use-livecode list you wrote: > Hey Alex, > > Public Domain it is. I’ve set it free couple. of years back, as I am > essentially no longer writing code. :-) Still following LiveCodes > progress with interest though. :-) > > Cheers, > > Malte If you're no coding, what are you up to these days? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: How many objects (IDs) can be generated by script?
Heriberto Torrado wrote: > 4 Billions is a lot, but I think it could be possible to reach it > using some kind of automation tool. I'm thinking about a stock > exchange app or something that uses many changes and/or math > calculations and it is displayed on a real time on a created field > at runtime. If you're generating those objects on the fly in each session you don't need to save them. And if you're not saving the stack it doesn't increment its nextID counter. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: How many objects (IDs) can be generated by script?
Heriberto Torrado wrote: > I read this thread, but it's old and it is not very clear to me. > > http://forums.livecode.com/viewtopic.php?t=22112 > > I have the same problem than "Havanna". > > About six years ago I developed a Livecode desktop app for my company. > Several employees open and close the app several times a day. > Many fields are created at runtime. > > The current IDs are in the 250.000 > > Is there a limit? > Can we have a problem on the next years? > Did it changed with Livecode 64bits versions? My understanding is that the 64-bit versions of LC are compatible with 64-bit OSes, but internal addressing is still 32-bit. So AFAIK my comment from the thread you linked to still applies: IDs are 32-bit unsigned integers, so the range of possible values goes up to about 4 billion. If you never manually set IDs, since the engine begins with ID 101 and increments within a stack from there with each object created, for all practical purposes over the life cycle of an app there's little risk of running out of IDs. If you're curious about what happens when you exceed the range of possible values, you can set a control's ID to the highest value allowed (UINT4, or 4294967295), and then create some new controls. Last time I did that (several versions ago) I found nothing amiss during the current session, but after saving the stack I was unable to open it again. As long as you work with ID ranges well below the maximum, you should have no problem for many years even with the DataGrid or other controls that create large numbers of objects dynamically. Given practical memory limits, ID range could only be a problem if you go out of your way to set IDs to unnecessarily large numbers. If by chance you happen to have the first project in this community's history that actually runs out of IDs, the worse thing that would be needed would be to simply copy the controls to a new stack (could easily be automated), in which the ID numbers would be reset starting at 101. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: What the heck? Writing and reading ios files??
Ralph DiMola wrote: > I did not know that. I thought all DNS was case insensitive not just > the TLD. I never seen it to the contrary. > > The Unicode thing is scary though. It validates my surfing habits. I > never use email links. If I get an email from say my bank I always > type the URL into a browser or a verified bookmark to check it out. Good habit. For extra protection this browser extension (Firefox, Chrome, Opera) will warn and block when you attempt to visit a Unicode domain: https://aykutcevik.com/blog/idn-safe-now-available-for-nearly-all-browsers/ -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Chromebook apps?
William de Smet wrote: I am a longtime user of Chromebooks in education and most 'cheap' Chromebooks' come with only 4 GB RAM. The Chrome browser itself uses a lot of RAM already and my experience with Android apps on Chromebooks is that they are slow (lack of available RAM) or sometimes not fully functional/compatible. Ouch. Thanks for that info, William. It's disappointing, but I'd much rather be disappointed by real constraints than invest in deployment plans that can't come to fruition. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Chromebook apps?
John McKenzie wrote: Could you not just deploy a Linux desktop Livecode app to a Chromebook? ChromeOS is a Linux distribution, if admittedly a stripped down one, after all. Alas, while ChromeOS is based on the Linux kernel, everything above the kernel is different (desktop manager, compositor, UI inputs, etc.). And of course the current LC build for Linux is compiled for x86 processors. Since Frazier left we haven't seen any further development of an ARM-based compile of the LC Linux engine. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Chromebook apps?
William Prothero wrote: > Probably HTML5 would be better, ultimately. But, I look at the HTML5 > postings, limitations, and quirks and it would most likely require me > to become an expert in javascript and various server technologies that > put me over the interest level that would be required. If your app doesn't depend on server tech beyond downloading, a web app wouldn't either. That said, I hear you on this: > I’m fine with programming in livecode, but I don’t think the payoff > for me to get into HTML5 is worth what I would get out of it. My > programming is a combination of personal apps that I can use (like > managing my 6 water meters and fruit tree drip system) and updating a > plate tectonics app that students at UCSB use. My two sons are both > 5’th grade teachers, one of whom uses chromebooks in his school, so > collaborating with him on a nice app for his students is attractive, > but only so far. Writing in HTML/CSS/JavaScript is a world apart from LiveCode. When the business opportunity merits it, it can be rewarding (oh the joys of never needing to genuflect at an OS vendor's app store, or give up a third of your revenue for the privilege of their control). And because the nature of the browser is so radically different from native app development, I agree that attempting to port LC stacks to the web via the Emscripten option is pretty much a non-starter for most things people have ever made in LC. I haven't yet deployed to a Chromebook so I have nothing to offer there with regard to LC compatibility. But with the core of Android well represented in ChromeOS, I would hope it's no more difficult than deploying to a tablet. Please keep us posted with what you learn. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Linux OAuth2 (was Browser Widget on Linux: how can it become possible to use?)
Brian Milby wrote: I think it should be relatively easy to fix the OAuth2 library such that it works on Linux. Currently it does use the browser widget for a better user experience, but it should be able to launch the URL and use the system's default browser. Is there any interest in a PR for that type of fix for this issue (at least until the browser widget can be addressed). Absolutely. Thank you. I owe you a beer. Also, I ran into a bug in the library this week where the auth code that was returned included something that was actually URL encoded. The library then encoded it again which made things not work. I actually found the bug report which provided the solution to the problem. You can see the PR here: https://github.com/livecode/livecode/pull/7381 Good work - thank you. I don't mean to press my luck, but do you have any insight into why the Browser widget has been broken on Linux for the last few years? Or more specifically, what it might take to fix it? Mark Wieder posted a link to a discussion on it, and while it did describe that the problem is non-trivial I have no idea if that means the Browser widget is abandoned in LC on Linux forever, or what it would take to address it. http://forums.livecode.com/viewtopic.php?f=4=33805=189397=CEF#p189397 -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Browser Widget on Linux: how can it become possible to use?
Mark Wieder wrote: On 6/7/20 1:17 AM, Richard Gaskin via use-livecode wrote: What is needed to make the Browser widget work in LC's Linux engine? http://forums.livecode.com/viewtopic.php?f=4=33805=189397=CEF#p189397 Sounds like the Browser widget is completely DOA in LC for Linux. I hope I misread that. -- Richard Gaskin Fourth World Systems ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Browser Widget on Linux: how can it become possible to use?
The Browser widget doesn't work on Linux, and hasn't for a good many years. Possibly related, I recently discovered that the OAuth authentication window so completely hangs LiveCode that a force-reboot is required (yes, bug report forthcoming, when I have time and temperament for that sort of uniquely-frustrating recipe-finding). I have a vague memory that someone in our community had found some sort of workaround for changing the browser config so that it's possible to use LiveCode's Browser widget on Linux. If I'm remembering that correctly, what is that workaround? And for the longer term, though Linux runs most of the modern world's infrastructure I respect that they've ceded the desktop to Microsoft. Accordingly, when it comes to desktop platforms I respect that Windows deserves the lion's share of LC Ltd's time an attention. But as the LiveCode Linux engine falls ever farther out of parity from other platforms, unless we're about to declare the LC Linux engine abandoned maybe we could bring some of that functionality back. The Browser might be a good place to start. What is needed to make the Browser widget work in LC's Linux engine? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Times ARE changing
Richmond wrote: > If some of these types who go on endlessly about anything that might > be vaguely construed as 'racist' were capable of slightly more subtle > thought they might examine intentions: after all if we all judged > people on what they looked like most of us would be out of a job and > starving. There is also the problem of linguistic false cognates. Similar words from different regions often have very different etymologies. While the stories of the old British Empire can be charming (I love the two hard-bound volumes of Kipling my father gave me), the Indian tale is unrelated to both the origins of the American word "sambo" and its colloquial use. On this continent, much of our language is influenced by the Spanish who were among the first Europeans to explore and settle most the Americas. From Wikipedia: The word "sambo" came into the English language from the Latin American Spanish word zambo, the Spanish word in Latin America for a person of mixed African and Native American descent.[3] This in turn may have come from one of three African language sources. Webster's Third International Dictionary holds that it may have come from the Kongo word nzambu ("monkey") — the z of (Latin American) Spanish being pronounced here like the English s. Complicating matters further is the difference between etymology and popular usage, as Ms Gay has reminded us with good humor over the years. :) English-speaking people in the US didn't use the word until after the American Civil War, popularized mostly by the losing side of that conflict as a derogatory term. Though the war was long ago, the legacy is evident. We needn't go any further on that here in this programmer's list. It is indeed unfortunate that those who used the word most commonly in the States have cast an unfortunate pallor on a tale from the other side of the world, and that Samuel Battistone and Newell Bohnett found themselves in an awkward spot with their restaurants well known for excellent pancake breakfasts. Indeed, the Santa Barbara restaurant is still family-owned, and the current manager Chad Stevens has expressed a hopeful note about the name change that goes into effect this Friday: "With the changing world and circumstances, the name isn’t just about what it means to us, but the meaning it holds for others. At this point, our family has looked into our hearts and realize that we must be sensitive when others whom we respect make a strong appeal. So today we stand in solidarity with those seeking change and doing our part." Maybe best of all, the new temporary name they'll be using while the family decides on a permanent one is: "☮" https://www.noozhawk.com/article/bizhawk_sambos_santa_barbara_to_change_name_20200604 By any name, the restaurant at 216 W. Cabrillo Blvd in Santa Barbara is well worth making a point of visiting whenever you're passing through that part of California's coast. The pancakes are truly awesome. This is quite off-topic, and I hope this momentary indulgence in etymology and pancakes doesn't stray too close to cheese. Back to our regularly-scheduled LiveCode discussion, where I'll post a question about the Browser widget next... -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: What have I done now ? (aka CR and LF confusion)
Alex Tweedly wrote: > Re. a PR to change it, it does seem it will run into concerns about > backward compatability. Is it likely to succeed to propose a new > URL-type - maybe "textfile". What exactly does the PR do? If it changes default Mac line endings from CR to LF, thumbs up. macOS is a certified Unix, and has been for more than 20 years. LF is the OS-default line ending. Command-line tools expect LF, and the GUI apps I've explored this in accept both where they use CR at all. So while I can understand a concern about backward compatibility, it seems this one really only applies to a relatively small subset of edge cases for those depending on the simpler non-binary syntax for a specific binary sequence. The simpler non-binary syntax is there to make things, well, simple. Those needing a specific binary sequence should expect to use the binary syntax, while everyone else can enjoy simple file I/O reliably. Keep in mind that "everyone else" includes what we hope will be a much larger audience of future users than the sum of all users to date. Why plan for no-growth? And even among current users, as in this thread it seems most expect the default to use the OS'es current default, not something leftover from the '90s. Am I missing something? LC has a very strong and favorable history of maintaining backward compatibility, far beyond anything I've seen with any other language. I wonder sometimes if we take it too far, if maybe the rest of the world isn't wrong in sometimes allowing for the inevitable changes that take place in OSes. From time to time LC does deprecate and change things, and sometimes that means a little extra work for folks moving to a newer engine. But given how rarely this happens, I don't think folks would mind another rare moment of change, esp. one that seems far more an improvement for most devs than a problem. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: lc vs macos vs xc vs ios table
So many discussions of which build goes with which version of this component and that OS and workarounds for chains of dependencies... Is this really as good as it gets when using a non-Apple dev tool? Anyone here build iOS apps in anything other than LC or XCode - is everything out there this complicated? -- Richard Gaskin Fourth World Systems Mike Kerner wrote: here's an interesting note for me the next time I'm in a panic over an annual build: XC prior to 11 won't run on catalina (maybe 10 will, so maybe pretend I said "10" back there). On your machine, you'll see the circle-slash through the icon for xcode 9.x, which means apps that you built with LC 8.x aren't going to get their annual rebuild if you don't hold your breath and move to LC 9, right? Nope. It turns out you can still build in catalina with LC 8.x and XC9. You just can't run XC9. That was a pleasant surprise after doing our annual rebuild broke one of our apps on "older" (2018 era) ipads that are stuck in ios 9.x ***BUT*** that build config causes the app to fail on newer versions of ios. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Enabling "About MyApp"
My comment was in reply to George's request about desktop menus. Mobile systems have no menu bar of course, so any conventions that apply to menu bars don't apply to mobile platforms. I did a couple searchs to try to find an answer for your mobile question, and posted the results here: http://lists.runrev.com/pipermail/use-livecode/2020-May/260470.html -- Richard Gaskin Fourth World Systems Graham Samuel wrote: > Sorry, how does this apply to a mobile app which hasn’t got a menu in > an explicit sense - of course I can provide a ‘menu’ item, i.e. some > kind of choice the user can make (I do in fact have a ’settings’ card > in the app I’m producing, so that could be somewhere to put it), but > it’s not obligatory, is it? > > Graham > >> On 22 May 2020, at 14:11, Andre Garzia via use-livecode wrote: >> >> This should be in the user guide... >> >> On Tue, 12 May 2020 at 00:42, Richard Gaskin via use-livecode < >> use-livecode at lists.runrev.com> wrote: >> >>> GEORGE WOOD wrote: >>> >>>> How can I activate the "About MyApp" under the Apple menu? >>> >>> On other OSes the "About" item is usually the last item in the Help >>> menu. If you put your About item there, you'll find that when LC >>> automatically translates its menu objects for the Mac menu bar it'll >>> move your About item to the application menu. >>> >>> In fact, a similar thing happens with "Preferences". On most >>> platforms it's the last item in the Edit menu, and when you put a >>> "Preferences" item there the automatic menu bar change that LC does >>> will put it in the application menu as well, below About. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Enabling "About MyApp"
Agreed, and apparently the docs team does too - see the chapter "Programming Menus & Menu Bars", section "Menu Bars on Mac OS X Systems", where pg 181 discusses "Special Menu Items". -- Richard Gaskin Fourth World Systems Andre Garzia wrote: > This should be in the user guide... > > On Tue, 12 May 2020 at 00:42, Richard Gaskin via use-livecode < > use-livecode at lists.runrev.com> wrote: > >> GEORGE WOOD wrote: >> >> > How can I activate the "About MyApp" under the Apple menu? >> >> On other OSes the "About" item is usually the last item in the Help >> menu. If you put your About item there, you'll find that when LC >> automatically translates its menu objects for the Mac menu bar it'll >> move your About item to the application menu. >> >> In fact, a similar thing happens with "Preferences". On most >> platforms it's the last item in the Edit menu, and when you put a >> "Preferences" item there the automatic menu bar change that LC does >> will put it in the application menu as well, below About. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: About box equivalent for mobile apps?
Graham Samuel wrote: > In desktop apps, at least on the Mac, one has an “About” box where > you can put acknowledgements of the use of copyright material and > any other info like the version number of the app. There isn’t such > a provision in a mobile app, is there? Is there any convention for > this that I’ve missed, or should I just wing it somehow? You may have to wing it. I didn't turn up anything on About info in a quick review of the iOS HIG: https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/ Also turned up no general discussion searching for a convention on this in DuckDuckGo. If someone here has an authoritative reference to the contrary please post it, but as AFAIK it looks like there is no prescribed place for such info. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Obtaining URL to latest Stable LC Server
Ralph DiMola wrote: I use the commercial server so I can use password encrypted stacks. I have an app that the customer required encryption of all data and source code. The library stack is in the iOS app/APK is also used on the backend server. I don't want to have to strip the passcode from the stack when release updates to the app/LC server. Besides the customer asked that all source code be encrypted in the app or on the sever so I complied. Edge case... probably... But LC stack encryption made the customer happy so that made me happy. I like it when clients write requirements in a way that rule out pretty much everything else but LiveCode. The more popular server languages - PHP, Python, Ruby, Perl, etc. - all use plain text, so with a requirement for source encryption every industry-standard option is off the table. Now if only we could get that requirement to catch on... :) -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Obtaining URL to latest Stable LC Server
The encrypt and decrypt commands are part of the core language common to all editions, along with hashing with messageDigest and the older md5Digest and sha1Digest functions. The one form of encryption proprietary editions enjoy is with stacks, to protect scripts. For the most part this is irrelevant to any open source use since of course the whole point is sharing code. But there are at least two use cases where stack encryption might be useful with open source projects: - Preventing code modification: If you had a system that uses unlocked stacks downloaded from multiple sources, it's possible that one script downloaded from nefarious source could modify another. - Protecting secrets: Other scripting languages (PHP, Python, Ruby, etc.) are plain text files, so secrets like DB passwords need to be handled with care. With LC it would be possible to put that info in an encrypted stack for an additional level of protection that would give LC a competitive advantage no plain-text scripting language could match. That said, both are edge cases and neither prevents us from getting serious work done with what we have today. In the first case, if one dared to make a system that ran stacks from unknown sources, code modification would be the least concern compared with all the other ways script behavior can be modified at runtime within a single LC instance (frontScripts, backScripts, etc.). In a server context it's almost completely irrelevant because that's the last place we'd want to put code from unknown sources. :) And the second case puts even unlocked LC stacks at no disadvantage compared to pretty much any other language everyone else everyone uses. If traditional ways of managing secrets are good enough for healthcare and banking, they're probably good enough for the types of web services the rest of us make. -- Richard Gaskin Fourth World Systems JeeJeeStudio wrote: Yes, true. Does the commercial version not contain options comparable like LC Indy e.g. Encrypting or otherwise? Thanks for your answer. Op 21-5-2020 om 18:21 schreef Richard Gaskin via use-livecode: JeeJeeStudio wrote: > Op 20-5-2020 om 21:18 schreef Richard Gaskin via use-livecode: >> It would be helpful to have a convenient way to obtain the URL to the >> latest stable version of LC Server, to automate deployments. >> >> I don't believe the company provides that, do they? >> >> Without a company-maintained URL, I suppose one could write a >> function that relies on a scraper for the downloads.liveocde.com >> page. Has anyone here done that? > > > that's not the same version as the one you can download from > livecode.com when you log-in. Community vs commercial True, but my focus on the Community Edition is based on two considerations: 1. The proprietary edition requires an account-specific licensing key which AFAIK precludes external automation. 2. The proprietary edition is very rarely needed. Most modern server solutions are open source, and many use GPL specifically, including not only LiveCode but also MySQL, MariaDB, Neo4j, MediaWiki, NextCloud, Wordpress, Drupal, Joomla, Git, Ansible, and a good many more. The GPL being a distribution license, proprietary edition of LiveCode Server would be needed only in those cases where the developer is distributing a server solution for other devs making server solutions, and where they want their own code to be under proprietary license. I can imagine such a specific use may case exist in our community, but I haven't yet come across it. For services accessed over a network, the code remains on the server and is not distributed to the user. So open source, even GPL, is a very good fit for web sites, apps, and other network-delivered services. ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Obtaining URL to latest Stable LC Server
JeeJeeStudio wrote: > Op 20-5-2020 om 21:18 schreef Richard Gaskin via use-livecode: >> It would be helpful to have a convenient way to obtain the URL to the >> latest stable version of LC Server, to automate deployments. >> >> I don't believe the company provides that, do they? >> >> Without a company-maintained URL, I suppose one could write a >> function that relies on a scraper for the downloads.liveocde.com >> page. Has anyone here done that? > > > that's not the same version as the one you can download from > livecode.com when you log-in. Community vs commercial True, but my focus on the Community Edition is based on two considerations: 1. The proprietary edition requires an account-specific licensing key which AFAIK precludes external automation. 2. The proprietary edition is very rarely needed. Most modern server solutions are open source, and many use GPL specifically, including not only LiveCode but also MySQL, MariaDB, Neo4j, MediaWiki, NextCloud, Wordpress, Drupal, Joomla, Git, Ansible, and a good many more. The GPL being a distribution license, proprietary edition of LiveCode Server would be needed only in those cases where the developer is distributing a server solution for other devs making server solutions, and where they want their own code to be under proprietary license. I can imagine such a specific use may case exist in our community, but I haven't yet come across it. For services accessed over a network, the code remains on the server and is not distributed to the user. So open source, even GPL, is a very good fit for web sites, apps, and other network-delivered services. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Obtaining URL to latest Stable LC Server
It would be helpful to have a convenient way to obtain the URL to the latest stable version of LC Server, to automate deployments. I don't believe the company provides that, do they? Without a company-maintained URL, I suppose one could write a function that relies on a scraper for the downloads.liveocde.com page. Has anyone here done that? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Changing text properties in a field via the IDE
Graham Samuel wrote: > Well, I am happy to be wrong, so I repeated exactly what you did, of > course using my own bit of styled text. It didn’t work - partly > because I can only select the text in the field itself in ‘run’ mode, > but I can only see the Inspector in ‘edit’ mode. When I switch between > the two modes, I can’t do your (5), because I can’t select the text in > the pane as you suggest. FWIW, it's not necessary to use the Inspector, or change tool modes. If the field is editable you can use the IDE's Text menu to change attributes in text selections directly in place, as you would with any word processor. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Changing text properties in a field via the IDE
Graham Samuel wrote: > To an ordinary LC developer, if you can change the properties of the > initial text (to a different size for example) without overtly > selecting it, then the same behaviour can be expected from the IDE > when trying to change text you’ve pasted in. It may or may not be > styled, but the confusing part is that selecting the text in the > Object Inspector has no effect... I just tried this recipe: 1. Paste styled text into a field 2. Choose pointer tool 3. Double-click the field to open the Inspector 4. In the Inspector, navigate to the Text pane 5. In that pane, select text, then type Ctrl-B RESULT: Both the styled text in the Inspector and the styled text in the field being inspected updates the contents to show the portion I'd changed to bold. Is that not working there? -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Changing text properties in a field via the IDE
Graham Samuel wrote: > I’m using LC 9.6.0 rc1 on a Mac. Just now I did something very simple > that didn’t work. I created a label field, opened the Property > Inspector for the field and changed its text - that worked. Then I > attempted to change the font size - that didn’t work. The appearance > of the label in the stack itself didn’t change, nor could I change the > font, make the text bold etc. I tried this again with a regular field > - same result. I started a new stack with just the one field - same > result. > > All these values can be changed by script, in the Message Box or > elsewhere, but I can’t make them in the IDE by changing values in the > Property Inspector. > > What am I doing wrong? Text attributes can be set in the field, and the field properties can be overridden by a text run within the field. When changing field properties doesn't change what you see, try selecting the text within the field and changing that. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Atom Editor Help
Peter Reid wrote: > ...several of the LiveCode staff use the Atom text editor. That may explain the state of LC's Script Editor. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Open printing to pdf
GEORGE WOOD wrote: > Here is on example of what I tried: > > on mouseup > put “/Desktop/test files/Test.pdf” into temp > open printing to pdf temp > print cd 1 from (topleft of cd 1) to (bottomright of cd 1) > close printing > put the result > end mouseup "the result" returns exception info for the last command executed. In that case it's the "close printing" command. Move it a line up and it'll tell you what's happening with the print command. But add an error-check just after "open printing..." and I'll bet you'll find the culprit: You path begins with "/", which signifies the root of the volume. But "Desktop" is in the root, it's in the user's Home folder at (assuming Mac): /Users//Desktop/ Using specialFolderPath("Desktop") will always return the correct path on all platforms with a Desktop. But in your case, you can do something even simpler: put "~/Desktop/test files/Test.pdf" into temp The leading "~" is shorthand for the current user's folder. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Enabling "About MyApp"
GEORGE WOOD wrote: > How can I activate the "About MyApp" under the Apple menu? On other OSes the "About" item is usually the last item in the Help menu. If you put your About item there, you'll find that when LC automatically translates its menu objects for the Mac menu bar it'll move your About item to the application menu. In fact, a similar thing happens with "Preferences". On most platforms it's the last item in the Edit menu, and when you put a "Preferences" item there the automatic menu bar change that LC does will put it in the application menu as well, below About. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: Recommended (simple) Linux distro for Livecode server home dev/test?
Keith Clarke wrote: > Hi folks, > Which distro(s) would you recommend for a Linux newbie as the easiest > way to repurpose an old PC, Mac Laptop or Mini to host Livecode Server > for lightweight ‘LAMP/LAML' dev/test dabbling? > > I’ve never had a Linux desktop machine and server-wise, never had to > delve below C-Panel & WHM on hosted VPS Linux environments - so am > very much the newbie on this. Ubuntu, without question. There many great distros, and I don't think there is a single "best". But Ubuntu has by far the largest installed base, so most of the tutorials and other support materials you'll find are written with Ubuntu in mind. This is especially true on servers. Heck, even on Microsoft's Azure cloud ecosystem. Ubuntu is the leading OS. Desktop: https://ubuntu.com/download/desktop Server: https://ubuntu.com/download/server You may change later; some folks like to distro-hop often. But the vast range of support materials makes Ubuntu the go-to starting point for getting into Linux. > Hardware specs would be useful, too - to gauge how far back on the > cupboard to reach to source an appropriate box! You can check the requirements at the site, but you probably don't need to worry about it. If it's for a sever you won't need the GUI desktop edition, and it's the desktop where requirements tend to be much higher. There's a flavor of Ubuntu for everything from Raspberry Pi to supercomputing clusters - you should have no trouble finding one for your old PCs. The Server edition should get you up and running on just about any machine made in the last 10 years or more. If you want a GUI desktop edition and have an old machine that's a bit underpowered for Ubuntu, there's a lightweight flavor you can use: https://lubuntu.net/ Lubuntu is the leanest Ubuntu flavor I've tried. It's been running on my desk almost continuously for the last decade, downloading, collating, and posting data for the info you see in LiveNet (see the GoLiveNet plugin in LC's Plugins menu). I prefer Ubuntu's Gnome Shell for my main workstation, but on lower-powered machines I've been impressed with how efficiently Lubuntu runs. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: I need some DataGrid performance help
Mark Waddingham wrote: On 2020-05-06 17:36, Richard Gaskin via use-livecode wrote: A while back Mark Waddingham reviewed the situation and decided that getProp and setProp were indeed more rightly in the category of custom messages rather than system messages, and as such should ideally be immune to the effects of "lock messages". If by a 'while back' you mean the thread from 2013 in the engine forum (http://forums.livecode.com/viewtopic.php?f=66=18048) then that's a long time ago! If I have commented more recently on this, then a reference to what I said would help :) I look forward to having the luxury of time to catalog your every word. :) In the meantime I work with what I can recall offhand, and trust you'll provide correction where needed. Thanks for doing so here: In reality if you want encapsulated custom controls which cannot be broken by user scripting around them, then it is not just property handlers which should be immune to lock messages, all engine messages to such a custom control should be immune. "Cannot be broken by user scripting around them" is an enticingly high threshold, but one I've never considered. In an imperfect universe in which all decisions involve trade-offs, my own modest desires would be satisfied well enough with being able to lock messages without having to consider side-effects on the DataGrid or other prop-driven scripts. But keeping those implications in mind hasn't stopped me from delivering anything yet, so I'll continue to do well with what we have. Regardless of what I said 7 years ago, now (being older, and maybe a little wiser) I don't think I really see how changing lock messages (and breaking a lot of code as a result!) would get us any further towards better custom controls would it? Sure. Maybe this BZ item be closed to put the concern to rest? https://quality.livecode.com/show_bug.cgi?id=226 -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: HTML Platform
David Bovill wrote: > WASM support is very important to Livecode future. It will address > most of the problems of current HTML5 deployment WASM will definitely benefit the two most visible issues, load time and performance. Performance is an unqualified benefit, but with load time the benefit with web use is minimal, since the engine is re-downloaded nearly every time the user visits your site (unless of course yours is the only site they visit, so cache never purges). While an OS-native app is downloaded once, the impact of download times on web apps is multiplied by frequency of use. In compiled object code the LC engine ranges from about 17 MB (Win) to 32 MB (Mac). Assuming the WASM export comes closer to that, it's still outside the short patience most end-users have acquired for public sites. Can still be quite good for specialized audiences who understand up front the value of waiting for what you're delivering. But where a priori buy-in is that deep I find those audiences often equally amendable to a one-time download of a desktop app. That said, even with improvement on the most immediately-visible issues, switching interpreters from JS to WASM can't address the less visible ones we discover only after we commit to that path. We're still stuffing a desktop object model and functionality into an HTML Canvas object inside of a browser application. As I wrote in a recent forum thread on a related subject: And even if the size and speed impediments could be overcome affordably, then what? Given that the desktop and the browser are such fundamentally different platforms, the vision of exporting an existing desktop app to the web is impractical from a design standpoint alone. File I/O, windowing, menus, OS integration, layout flow, etc. - all vastly different, some non-existent on the web altogether given its vastly different role. https://forums.livecode.com/viewtopic.php?f=120=25210=75#p190586 Emscripten-based export can be good for some use cases. But I'd wager that the number of use cases where it's an ideal fit is the same or fewer than those where a net-savvy OS-native app would also be welcome. For all the popularity of the web, native apps haven't gone away. They are different animals. > and I definitely intend to use it - for micro service deployment, and > blockchain integration for instance. I have a friend who's been nudging me to spend more time with blockchains. Please keep us posted. I'll be interested to learn how much of the business logic is in the client and how much is on the server. So many options there... > It will doubtless be a commercial feature Oh dear I hope not. It's too easy to be attracted by a shiny nickel today at the cost of a dollar tomorrow. LiveCode as a product has its fate bound by LiveCode as a *platform*. Unless we want to limit its audience to mostly retired HyperCard fans, we'll need to encourage a reconeptualization of the role of the Community Edition in platform-building. -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: HTML Platform
Pi Digital wrote: > Richard wrote: >> But most apps that might make good candidates for LC's HTML export >> have characteristics that lend themselves very well to not doing HTML >> at all, instead using a one-time download of an LC standalone which >> then downloads and runs stack files (a practice that, in the absence >> of a more common label, I like to call "streaming apps"). > > > Two words, Richard. > IT Departments. > Of the 150+clients my client has, 150+ of them would emphatically > prefer a web based app than a desktop one. They don’t want stuff > ‘installed’ or ‘run’ on their machines that haven’t been thoroughly > tested before use. Each and every update. And they really don’t want > to have to keep testing each and every update. Using Chrome/Edge- > Chromium overcomes all of that. I hear you loud and clear on that, Sean. I've run into that myself (humorous anecdote below). In the subset of cases where IT is absolutely forcing the entire enterprise to ditch OS-native apps in favor of browser apps, there's little you can do to stop that. And where the limitations inherent in any Emscripten-based solution pose no impediment to functionality, why not? You'll still need to do significant rework of the stack to meet user expectations (e.g. more than half of all net traffic is on mobile devices so responsive design has become a common expectation for web apps), but where Emscripten does what you need by all means use it. There is no one-size-fits-all for any of the work each of us does. We evaluate the needs of our audience and make our deployment choices accordingly. But the advent of the web hasn't killed OS-native apps. The Mac app store is filled with them, and they remain a mainstay throughout organizations big and small. Indeed, even the rise of the cloud hasn't killed off OS-native apps, but simply validated the "streaming app" model with the popularity of net-savvy apps like Adobe's Create Suite, Microsoft's Office 365, and Apple's iTunes. An OS-native app allows a level of integration with common OS services and workflows difficult or impossible to achieve in the confines of a browser window. Extra bonus points that it's also often a better overall user experience, and far cheaper to build and maintain in the LC we know and love. > And mySQL from LC in the browser is tonnes faster than on the desktop > - massively! Because they’re both on the same server. Even though the > message path is LC>JS>(AJAX)>PHP>JS>LC! I suspect there's something going on there that can be remedied. As you noted, compiled object code should be faster than interpreted JavaScript. In every other respect the calls should be the same, so throughput should be faster in the OS-native implementation. If it's not let's review that to bring it up to speed. -- Aside: A Humorous Anecdote about working with Corporate IT I was once a partner in a company that deployed a networked app which we delivered to institutions on CD-ROM. As we told customer IT, we designed it for their convenience, so installation is simply copying a folder from the CD-ROM to a shared volume. That's it. IT at one facility didn't believe us. They were up to their armpits in lesser tools than LiveCode, they were unable to conceive of a true standalone, accustomed to apps that spew DLLs all over the hard drive and then also require mods to their firewall. They insisted we produce an Installation Guide. We did. It was one paragraph describing how to copy a folder from a CD to a shared drive, with the rest of the page being an illustration of doing that. They were fully satisfied with that deliverable. :) Years later we did migrate the consumer portion to a web-native implementation (using LC to generate it). And since the original was built in LC, we easily moved a lot of the logic that had been in the client onto the server with minimal effort. More on that in a moment. We kept the authoring desktop-native, and expanded it into a streaming app where it was used by dozens of collaborating authors in offices around the world. Authoring had originally been slated for migration into an existing Java-based system the org had built for similar products. The only reason for expanding our own authoring system to become multi-user was because the IT staff at an acquiring company was so busy with other tasks it became more cost-effective to build out ours than to wait for IT to catch up on the tasks the org relied on them for. Great IT staff, just busy. The authoring system written by a single LC dev eventually had more features than their similar system built in-house by an entire team of Java programmers, and for a much lower cost. But on the consumer-facing web side, we have one more punchline: One of the orgs that had insisted on a browser-based version did so for the usual reason, the one you noted, the concern for security. As a regional hospital network
Re: HTML Platform
Erik Beugelaar wrote: > It would be great if a lesson comes available how to create streaming > apps with LC. Thank you for your interest. I'll do that, but it'll have to wait until I finish some client projects first. In the meantime, the beauty of this approach is its simplicity. Like anything else it can be made complicated, but it boils down to: 1. Make a slim standalone that contains just a splash screen and only enough code to download a stack file from your server (or report a network error if it can't). "Load URL" is a good choice for larger stacks because it lets you display a progress indicator asynchronously, but for smaller stack files simply "go stack " will work just fine. 2. Put a stack file with the guts of your app on a server. 3. Run your standalone. It gets even better when you use LC's built-in gZip compression to reduce download times. And better still, you can also cache what you download to support offline modes where practical. Using a small text file on the server containing the build number of the stack file there makes it quick and easy to check if a fresh copy of the stack file needs to be downloaded, otherwise it opens the cached copy. The beauty of this is that it's neither new nor exotic. We've been doing it since MetaCard first made a one-liner out of HTTP GET with libURL back in the '90s. For a fairly simple example, see LiveNet (in the IDE, Development -> Plugins -> GoLiveNet). That small plugin downloads a stack file that includes fields and other containers that are then populated with data it pulls from multiple sources, exemplifying both the ease of downloading stack files and (hopefully) serving as an inspiration for building mash-ups. -- Richard Gaskin Fourth World Systems -Original Message- Mark Wieder wrote: On 5/5/20 4:47 PM, Trevor DeVore via use-livecode wrote: >> I don't use HTML deployment myself, but thought I would mention that >> there has been some emscripten activity in GitHub lately. Looks like >> WebAssembly (WASM) support is being added. ... > > Yeah, I saw the github posts come flying by, and that's a promising > feature, but it doesn't address the limitations and broken features of > the current html implementation. In my own mind I phrase that differently. Whether it's gentler or more stark is up to the reader, but for me it's more: ...it can't address the fundamental differences between desktop and web architectures, and the limitations inherent in Emscripten. Emscripten is good for what it was designed to do. But look deeply at LC, consider what Emscripten is, and the more time you spend pondering it the clearer it becomes how difficult it is to put a desktop app's square peg into a browser hole. "Difficult" is maybe unfairly optimistic. And "impossible" never applies to software. Perhaps "prohibitively expensive" is fair. > Also, it remains to be seen how much bloat this adds to deployed web > apps. Putting an entire scripting engine and object model into a browser application that already has its own scripting engine and object model cannot achieve size, performance, and integration features as well as a web-native implementation. If you truly need a browser as your only deployment option, it's kinda hard to argue against going with the grain of the browser. But most apps that might make good candidates for LC's HTML export have characteristics that lend themselves very well to not doing HTML at all, instead using a one-time download of an LC standalone which then downloads and runs stack files (a practice that, in the absence of a more common label, I like to call "streaming apps"). Fits most of the same uses cases, but provides a more focused user experience that integrates with the OS as only a native app can. Extra bonus points that they're cheap and easy to build in LC, fast cheaper to deliver sophisticated works than even web-native implementations. For the sorts of vertical audiences where LC's HTML would seem interesting, I believe simply streaming stacks in a standalone is the most underappreciated and underutilized opportunity in our community. MetaCard promoted the idea heavily with some nice example downloads, but in all these years only a few of us make streaming apps regularly. If you're waiting for LC's HTML to get good, let's discuss streaming apps for those where they might be a great solution. We really don't need to wait for anything to have the benefits of net-distributed apps. You can have it all today, with the LC you know and love already. -- Richard Gaskin Fourth World Systems ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
Re: I need some DataGrid performance help
zryip theSlug wrote: > datagrids are using virtual properties, so you can't lock the > messages. Reminds me: we have a request to do away with that,since it complicates a lot of otherwise-powerful-and-simple things we can do with custom controls. A while back Mark Waddingham reviewed the situation and decided that getProp and setProp were indeed more rightly in the category of custom messages rather than system messages, and as such should ideally be immune to the effects of "lock messages". Anyone on the team have an update on this? https://quality.livecode.com/show_bug.cgi?id=226 -- Richard Gaskin Fourth World Systems Software Design and Development for the Desktop, Mobile, and the Web ambassa...@fourthworld.comhttp://www.FourthWorld.com ___ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode