Re: tsNet mail message not formatting

2021-03-03 Thread Richard Gaskin via use-livecode

Bob Sneidar wrote:

> OK Now I am interested. I have a little utility that converts a Konica
> Minolta address book to a Toshiba one. If I run the utility on a Mac,
> the address book will not import into a Toshiba copier, but if I first
> OPEN the csv file in WINDOWS, then save and close it, suddenly it WILL
> import. I tracked this down some time ago to the fact that the line
> endings were different than the Toshiba was expecting. I thought I
> fixed it by using LF but I have the same problem as before. From what
> I am reading, the LC constants will return a different result on LC
> for Windows as opposed to LC for Mac??

It may be that Konica believes all computers run Windows. Silly as it 
sounds, I've seen that from some manufacturers.


When writing a file from LC in text mode, line endings are altered.

Originally, the way in which they were altered was to create a text file 
that played nice with other programs on the host OS.


Internally, LC uses the Unix convention for line endings, LF (made 
confusing by allowing CR to also be used for the same internal line ending).


When writing to a file in text mode, what line endings are converted to 
varies by what's most common on that platform:


Linux: LF is preserved as-is

Windows: LF becomes CRLF

macOS: LF becomes CR

The problem is that macOS (v10 and later) is a Unix, unlike MacOS (v9 
and earlier) which was its own trippy little island unto itself.


Unix (including macOS) most commonly uses LF for line endings, but when 
LC writes out in text mode on macOS it still uses the older MacOS line 
ending, CR.


None of this is made any clearer by Apple's decision to use MacOS to 
denote OS 9 and earler, and macOS for 10 and later. :)


--
 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: tsNet mail message not formatting

2021-03-03 Thread Richard Gaskin via use-livecode

Brian Milby wrote:

> If you export as text, then you get what is expected on Win/Linux and
> get CR on Mac (which is wrong in my opinion).

Wrong, but at least consistently so. ;)

As a dialect of HyperTalk, LC maintains the "CR = ASCII 13" rule because 
way back in '87 when HC was born that was what it was.


When macOS became a Unix around the turn of the century of course that 
changed, and these days most Mac software use LF for line endings, 
consistent with both Unix and Linux.


And with that we find ourselves stuck in a world of having to explain to 
every new user that CR isn't really CR but LF, until you write it to a 
file when it gets transformed into a CR that no one uses anymore.


If this were Python the solution would be simple enough: make it current 
in the engine and "just" require everyone to rewrite their code if they 
want to upgrade. :)


But we like that LC is among the few languages that prioritizes backward 
compatibility.


Most of the time.

This one is such a weird outdated anomaly that I almost wouldn't mind 
the pain of revising my code if it meant never having that awkward 
conversation with once-eager newcomers ever again.


But that can be resolved another way: focusing on remarketing to 
existing customers rather than marketing to grow the platform among new 
customers minimizes any need to explain the past to new users.


--
 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: sort container parameters

2021-03-03 Thread Richard Gaskin via use-livecode

Paul Dupuis wrote:

> I just discovered much to my dismay that you can not execute the
> following:
>
> put "ascending" into tDirection
> soft lines of tContainer tDirection international
>
> apparently neither the sort direction (ascending|descending) nor the
> sort type (international|text|datetime|numeric|binary) can be
> variable!
...
> I see this a a bug or perhaps a failure to fully robust impliment the
> sort container command? Does any one else see this as a bug?

Bug or feature?  The ambiguities introduced by the HyperTalk team have 
made that an evergreen question. ;)


Some tokens can be parameterized, others not.

MC/LC goes much further than HC in allowing object references to be a 
mix of literal and variable expressions, e.g.:


   -- Works in LC, not in HC:
   put the long id of this cd into tCdObj
   get the name of btn 1 of tCdObj

...but other expressions and keywords are not so clear.

Let's see what happens if we parameterize everything in your statement:

  put "ascending" into tDirection
  put "numeric" into tSortType
  put "items" into tChunkType
  put "1,2,3,4,5,6,7,8,9" into tData
  sort tChunkType of tData tSortType tDirection

In that last line, which variables should we expect to be allowed, and 
which ones not?


I'm certain there's a rule defining this.

I'm equally certain I've never met any xTalker who was able to intuit 
that rule with complete confidence.


--
 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: S3 Compatible?

2021-02-25 Thread Richard Gaskin via use-livecode

Kee Nethery wrote:

> From this conversation am I to assume that if I am planning
> on building a project that relies on AWS S3, I’m gonna have
> to roll my own connector to it?

It seems the opposite: if you need S3 storage, AWS is the only one 
supported by the LC lib included in proprietary editions.


You would only need to roll your own if you want S3 from another 
provider, which is the circumstance Tom has which prompted this thread.


Monte described the history of the library a couple posts back:
http://lists.runrev.com/pipermail/use-livecode/2021-February/263537.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: S3 Compatible?

2021-02-25 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

My goal is to be able to outsource the cloud services entirely  I know
digital ocean has managed kubernetes and I can choose to use that.
So yes, if LC S3 library is corrected, then that would be my chosen option
Minio on managed kubernetes.
Otherwise I think WebDAV will be a second option..(I could also build a
microservice in go to upload instead of doing it directly from LC.)


Oooh, I didn't realize DO offered a managed Kubernetes option, very 
useful to know. Thanks.


When you get further along I hope you'll consider writing up a guest 
blog post on your project. LC can play such a valuable role on both 
client and server ends of a SaaS offering, it's a shame we have 
relatively few ambitious stories being told in our community.  Hopefully 
yours will help inspire others.


--
 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: S3 Compatible?

2021-02-24 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> Richard Gaskin wrote:
>> If WebDAV could work for your needs there are at least three FOSS
>> WebDAV libs for LC on Github - here are the forum posts where I
>> learned about them, with links to the repos (IIRC all three are
>> MIT License):
>>
>> With tsNet:
>> https://forums.livecode.com/viewtopic.php?f=11=32377=191384
>>
>> Without tsNet so it can be used in LC Community Edition:
>> https://forums.livecode.com/viewtopic.php?f=11=32377=191384
>>
>> And one tailored for Nextcloud use:
>> https://forums.livecode.com/viewtopic.php?f=11=32377=178069#p188099
>
>
> Richard, thanks for letting me know about those libraries, its
> definitely another option that can be used to achieve the same
> result. I will definitely look.
>
> MINIO made me drool, if you haven't looked into it, its very very
> impressive and seems like a more modern object storage option for
> modern software.

Are you using Kubernetes?

--
 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: S3 Compatible?

2021-02-24 Thread Richard Gaskin via use-livecode

Thanks for that background, Tom.

If it *must* be s3 then either working with LC Ltd or crafting an open 
competing lib would be necessary. Open source competing libs are 
problematic on both sides, since the dev needs to replicate the effort 
and the company loses one more advantage to their proprietary offerings. 
 Hopefully that'll work out.


If WebDAV could work for your needs there are at least three FOSS WebDAV 
libs for LC on Github - here are the forum posts where I learned about 
them, with links to the repos (IIRC all three are MIT License):


With tsNet:
https://forums.livecode.com/viewtopic.php?f=11=32377=191384

Without tsNet so it can be used in LC Community Edition:
https://forums.livecode.com/viewtopic.php?f=11=32377=191384

And one tailored for Nextcloud use:
https://forums.livecode.com/viewtopic.php?f=11=32377=178069#p188099

--
Richard Gaskin
Fourth World Systems


Tom Glod wrote:


Hi Richard,

Yes exactly.
I just need my application to have object storage, but I don't do business
with AWS.  Amazon gets enough of my money.
The reason I planned to use this library and this method is for simplicity,
more options for hosts, and for trying different things. Like MINIO.
I am working with livecloud.io, basically wanted to offload object storage
to a less expensive solution, and also running a microservice to do a
couple of things on Digital Ocean...which is where Canela hosts as well.
They also have the CDN built in, which moves data closer to where its being
downloaded, which could be a very useful bonus feature.

I was planning for this part to be simple, but my mistake for not looking
into the library better before I assumed.
Anyways, I'm sure there is an answer that will work without taking up a
whole lot of time.

Cheers,

Tom



___
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: S3 Compatible?

2021-02-24 Thread Richard Gaskin via use-livecode

Thanks for the link. I didn't realize that one was proprietary.

Hopefully they'll read Comment #3 there. I would imagine adding optional 
args for new endpoints would be simple to do, and open the package up to 
MANY more use cases.


If you have a moment, can you bring me up to speed on real-world s3?:

What are the advantages over, say, WebDAV or other similar API-driven 
storage?


--
Richard Gaskin
Fourth World Systems


Tom Glod wrote:


Pardon, what language is what written in?

If you are asking about https://quality.livecode.com/show_bug.cgi?id=22919

English.

If you are asking about the S3 library ...

Livecode ...but the library stack is password protected.

Thanks,

Tom

On Wed, Feb 24, 2021 at 2:52 PM Richard Gaskin via use-livecode <
use-livecode at lists.runrev.com> wrote:


Tom Glod wrote:

 > I'm really annoyed at the moment  realizing that our AWS library
 > only works on amazon.
 >
 > Is there currently any workaround for using the AWS S3 library with s3
 > compatible hosts?
 >
 > Its beyond me why the endpoints needed to be hardcoded and require
 > EXPERT REVIEW to implement a function to change the endpoint.

Hard to guess what that's about without seeing the discussion.


 > Secondly, is there any hope this can be fixed soon? Its been under
 > expert review since october.

What language is it written in?


--
  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: S3 Compatible?

2021-02-24 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> I'm really annoyed at the moment  realizing that our AWS library
> only works on amazon.
>
> Is there currently any workaround for using the AWS S3 library with s3
> compatible hosts?
>
> Its beyond me why the endpoints needed to be hardcoded and require
> EXPERT REVIEW to implement a function to change the endpoint.

Hard to guess what that's about without seeing the discussion.


> Secondly, is there any hope this can be fixed soon? Its been under
> expert review since october.

What language is it written in?


--
 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: "within graphic" question

2021-02-22 Thread Richard Gaskin via use-livecode

jbv wrote:

I have a graphic made of a list of points. This graphic is opaque
and invisible, its filled property is set to true (according to
the doc).
In my card script I have something like :
on mousedown
   put within(grc "mygraphic", the clickloc)
end mousedown

but it always returns false, even when I click
inside the clickable area of the graphic...
What am I missing ?


IIRC invisible objects are removed from not only the rendering queue, 
but hit-testing as well.


--
 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] Release 9.6.2 RC-2

2021-02-20 Thread Richard Gaskin via use-livecode

Michael Kristensen wrote:

> Richard Gaskin wrote:
>
>> We've been here before...
>>
>> 68k -> PPC
>> Classic -> OS X
>> PPC -> Intel
>> 32-bit -> 64-bit
>
>
> More form memory-land:
>
> Yesterday I downloaded SuperCard 4.8.1 Trail wich still is maintained.
>
> I was able to convert some 30 years old SC stacks so they could run
> again (at least for 30 days).
>
> It look exactly like when I left it for Revolution and Livecode.
>
> Richard, you might be the first person I ever emailed to, back then
> when we had telephone modems (ky)


Thank you for reminding me.  I still have a few emails from the old SC 
list. I just did a dive into that archive and found fragments of a 
thread between you and me and Grant Schampel (I sure do miss that man).


Kinda cool how paths cross and cross again, bound together over decades 
through the bond of sharing scripting.



And FWIW "ky" might just be the best spelled-out form of 
the modem connect sound I've seen. :)


--
 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: Wasm and the LC Roadmap

2021-02-17 Thread Richard Gaskin via use-livecode

David Bovill wrote:

> Anyone know the wasm plans?
>
> I’m Woking on a project in collaboration with a number of other
> platforms and partners that are using wasm. Would like to play
> in the same place with LiveCode.

Given the vast gulf between the browser DOM and LC's object model, and 
the limited role of WASM for GUIs as Andre reminded us, WASM output 
alone is likely an improvement but not likely a game-changer.


It may be useful to evaluate how your app performs and behaves under the 
current HTML output, and then imagine that with a bit shorter download 
and a bit better performance. I'd be surprised if it cuts either 
download or overall execution speed by as much as half.


How well does your app work when exported using the current LC HTML option?



Could there be a place in your plans for streaming apps, a net-savvy 
standalone that gives you nearly all the same benefits of web deployment 
outside the confines of a browser window?


True, it does mean a one-time install, but a web deployment means 
downloading the engine again and again every time you go to the page 
using it; easier but far more tediously impactful over the lifecycle of 
the user's relationship with your app.


Distributing LC-native stack files lets us deliver a dedicated user 
experience (e.g. relevant menus and no fear of the Back button), with 
ultra-rapid development cycles using the LiveCode we know and love 
today, with all the performance we enjoy in any LiveCode standalone.




Porting directly from desktop to browser is not an easy task. I can 
remember when the Apple Developer List exploded with rage demanding 
Apple add a feature to XCode to provide a one-click way to port iOS and 
macOS apps to the Web, and how everyone stopped using Swift and 
Objective C when Apple didn't deliver. ;)


--
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: SSL Error - question from Stack Overflow

2021-02-16 Thread Richard Gaskin via use-livecode

Devin Asay wrote:

I came across this question on stack overflow. I like to try to give good 
LiveCode answers there when I can, just to do a little to boost the reputation 
of the LC community there. But I don’t have a clue on this one.


A Livecode script:
get URL 
"https://www.uspto.gov/patent/laws-and-regulations/patent-term-extension/patent-terms-extended-under-35-usc-156;
Winds up with the following in "the result":

 tsneterr: (56) SSLRead() return error -9806


I tried setting libURLSetSSLVerification to both true and false, but got the 
same error each time. Any ideas why this is happening, and is there a solution?



As a cURL wrapper, tsNet's error messages tend to follow the same 
conventions other cURL devs see, lending itself to generic searches:


https://duckduckgo.com/?q=SSLRead()+return+error+-9806=web

I only briefly looked at a few of the results, but it seems related to a 
very specific SSL cert config that results in timeouts.  Beyond that 
you'll have to read more, but hopefully that link will at least get you 
started until Charles shows up with his usual thorough response.


--
 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 MySQL on (headless) Linux

2021-02-16 Thread Richard Gaskin via use-livecode
Thank you, Mark, but the downside to my longish emails is that I'll need 
further guidance: which part/phrases would be of greatest interest? 
Happy to see if I can put together something to help with it.


--
 Richard Gaskin
 Fourth World Systems


On 2/4/21 3:33 AM, Mark Smith wrote:
Richard, you’ve covered a lot of territory in this message most of which 
I don’t understand since I’ve never had a need to delve into this aspect 
if LC technology, but I’m really fascinated by the potential and would 
love to learn more. Could this possibly be a topic for a half day (or 
full day) workshop at the upcoming LIVECODE NYC 2022? If so, I think it 
would be one of those topics that makes it worth the price of admission.


Cheers
Mark

On Feb 4, 2021, at 9:52 AM, Richard Gaskin via use-livecode 
mailto:use-livecode@lists.runrev.com>> 
wrote:


Mark Waddingham wrote:


On 2021-02-03 20:07, Richard Gaskin via use-livecode wrote:
LC Server had already been ruled out (for whatever reason) in an 
earlier part of the thread...

That's too bad. LC Server is LiveCode build designed specifically for
command line use.
Interesting - I don't remember that being what I specifically 
designed it for :P
LiveCode Server was *specifically designed* to be used just like PHP 
- allowing you to interpolate code with HTML output for the purposes 
of constructing webpages on the fly, sitting behind a web-server... 
That's why it has unique syntax designed precisely for a CGI 
environment, and operating in that PHP-like manner.
Making it run in command-line mode as well was an obvious thing to 
do, and also made up for the fact (at the time) that bare standalone 
engines would not launch a stack on the command-line (as that was a 
rather gaping licensing hole which was closed between v3 and v4

IIRC). [ It also made it easier to test the general features of it! ]
Since the advent of the community edition, however, and perhaps more 
importantly script-only-stacks - standalone engines running with -ui 
can be just as convenient...



Indeed it can.  The -ui option for running standalones was something 
many of us enjoyed back in the MetaCard days; AFAIK it was first 
implemented with v1.0 back in '92; it least it was there when I first 
started with MC back in '96.


In addition to being an option for standalones, one could even run the 
bare engine with -ui as well.


And being a command line tool that uses stdin/stdout, running the 
engine or a standalone with -ui also worked well as a CGI under Apache 
or Lightly (though in a flavor more like Perl, Python, or Ruby than PHP).


Your fine addition in more recent years with a special Server build to 
allow PHP-like co-mingling of code and content was well done and much 
appreciated for those who enjoy that workflow on web servers.


And back in '14 David Williams reminded us that the standard shebang 
option for running a script text file is still available, though with 
a slight syntactic difference from how we used to do that with MC 
(entry point used to be a startup message, now just bare script 
statements outside of a handler):

https://livecode.com/a-livecode-shell/


With all this flexibility in one lean install, for me the pros of LC 
Server for headless work are clear:


- We get the benefits of a standalone without having to make a
 standalone (indeed the engine can be kept up to date with a
 scrape-n-wget from the Downloads page, without needing to run
 it through the Standalone Builder on a separate GUI system).

- We have the same options for running it as a standalone, without
 needing to remember to add -ui (minor, but every little simplicity
 is nice).

- BONUS: We get the bonus option of running it aa a CGI without
 needing to write our own libraries for that (reading and parsing
 POST, writing to stdOut, handling every little detail about
 headers, sessions, and more).  And when we do, we can enjoy
 PHP-style implicit merge, mixing content and code much more
 conveniently than with the merge function.

That bonus may be irrelevant for some use cases, but probably not 
many. After all, a headless machine is usually not our main dev 
machine; it's probably being deployed to provide services for client 
machines. When those services are being delivered over a network we'll 
need a protocol, and in most cases HTTP will be a great choice, 
certainly the most common one. And though we can write our own HTTP 
daemon in LC, letting Apache do that generic work gives us better 
throughput, robustness, and security, with lower maintenance costs.


Letting Apache do what it does best lets us do what we do best: focus 
on the functionality unique to our application service.



All that said, perhaps my appreciation for your work with LC Server is 
indeed misplaced, and maybe it shouldn't be encouraged as the go-to 
choice for headless LiveCode development. :)


But as one who resisted using it for many years after it was released, 
continuing to use standalones with -ui, 

Re: Polygon fill algo?

2021-02-16 Thread Richard Gaskin via use-livecode

Super helpful, Mark. Thank you.

I can better understand how the existing modes work, but I need 
something a little different.


Imagine if we had a mode where each successive set of points is rendered 
so it completely paints over anything rendered before it, vertices and 
all - e.g.:



   |--->---|
   |...|
   |...|--->---|
   ^...|...|
   |...|...|
   |-- |...v
   |...|
   |---|


  set the fillmode to layered --?

--
 Richard Gaskin
 Fourth World Systems


Mark Waddingham wrote:


On 2021-02-16 05:55, Richard Gaskin via use-livecode wrote:

My expectation was almost beyond anything reasonable, but it would
seem useful if there was some way to make it happen:  imagine if each
segment within a list of discontiguous points was rendered as though
it's a separate object, back to front.

It's not going to kill me to use separate graphics to hide the
portions of the vertices I need covered, but it sure would have been
nifty if I'd found a way to have a single poly object render as though
it were many.


So the even-odd fill rule will not give you what you want - overlapping 
regions alternate.


The non-zero fill rule can give you what you want - but you need to make 
sure that all your sub-polygons go 'in the same direction'. (NB: Fixed 
width font ASCII art follows):


These two overlapping rects both go clock-wise so everything is filled.

   |--->---|
   |...|
   |...|--->---|
   ^...|...|...|
   |...|...|...|
   |-- |---|...v
   |...|
   |---|

The left rect goes anti-clockwise and the right rect goes clockwise:

   |---<---|
   |...|
   |...|--->---|
   v...|   |...|
   |...|   |...|
   |-- |---|...v
   |...|
   |---|

Notionally:
- the non-zero winding rule works by starting on the left of each 
scanline and scanning to the right

- there is a winding counter which starts at 0.
- at any pixel, if the winding counter is non-zero the pixel is 
filled.
- if an edge is crossed which goes 'down', the winding counter is 
decreased
- if an edge is crossed which goes 'up', the winding counter is 
increased


Hope this helps!

Warmest Regards,

Mark.



___
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 do I interpret this Build Error dialog?

2021-02-15 Thread Richard Gaskin via use-livecode

William Prothero wrote:
...
> https://www.dropbox.com/s/brlvvtrbb8xeh6j/buildFail-1.png?dl=0

What we see there is two bugs: the error being reported, and the dumping 
of raw error data in that IDE dialog with no effort made to turn a 
format designed for machine parsing into anything useful for human reading.


I'm hoping I'm wrong, and that nothing in the IDE is designed to be so 
unhelpful.


Please tell me that dialog is not from the IDE.

--
 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: Polygon fill algo?

2021-02-15 Thread Richard Gaskin via use-livecode

Bernd Niggemann wrote:

> > Richard wrote
> > a way to coerce discontiguous polygon regions to always be filled?
>
> I assume you have set the opaque of the polygon graphic to true?

Yep.

My expectation was almost beyond anything reasonable, but it would seem 
useful if there was some way to make it happen:  imagine if each segment 
within a list of discontiguous points was rendered as though it's a 
separate object, back to front.


It's not going to kill me to use separate graphics to hide the portions 
of the vertices I need covered, but it sure would have been nifty if I'd 
found a way to have a single poly object render as though it were many.


--
 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: Polygon fill algo?

2021-02-14 Thread Richard Gaskin via use-livecode
Thanks, Monte. I checked it out, but unfortunately none of the options 
handle my specific use case in the way I want (which is arguably an 
unrealistic expectation, given that I need to have the fill region paint 
over some vertices).



I also discovered what may be a bug, or at least a curiosity: after 
playing with the nonzero and evenodd options, I tried to restore the 
default with:


  set the fillrule of the selobj to none

And got:

   Message execution error:
   Error description: Property: invalid enumeration value
   Hint:

Apparently "none" must be quoted.  Has it always been that way?  I've 
seen a couple other cases in recent years where keywords I could have 
sworn I'd used unquoted now throw errors until I quote them.


What rule can help us know when keywords must be quoted?


It also occurs to me: if there's no hint, adding "Hint:" looks like a 
bug, even though it may not be (doesn't seem to be in this case). Maybe 
I'll see if I can get some time to patch that...


--
Richard Gaskin
Fourth World Systems


Monte Goulding wrote:
>
> Hi Richard
>
> Have you checked out the `fillRule` property docs?
>
> Cheers
>
> Monte
>
>> On 15 Feb 2021, at 9:25 am, Richard Gaskin via use-livecode 
 wrote:

>>
>> I was hoping to use a single polygon draw a box, using the old trick 
of making discontiguous regions by adding a blank line between lists of 
points.

>>
>> The results draws the lines as I expected, but the fill is 
unpredictable, at least for me.  Apparently the fill rules for a polygon 
cause it to not fill some regions, even when discontiguous.

>>
>> I guess I'll have to use separate objects, but I was wondering if 
anyone has a description of the polyfill rule(s), or better, a way to 
coerce discontiguous polygon regions to always be filled.

>>
>> --
>> 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


Polygon fill algo?

2021-02-14 Thread Richard Gaskin via use-livecode
I was hoping to use a single polygon draw a box, using the old trick of 
making discontiguous regions by adding a blank line between lists of points.


The results draws the lines as I expected, but the fill is 
unpredictable, at least for me.  Apparently the fill rules for a polygon 
cause it to not fill some regions, even when discontiguous.


I guess I'll have to use separate objects, but I was wondering if anyone 
has a description of the polyfill rule(s), or better, a way to coerce 
discontiguous polygon regions to always be filled.


--
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: LC Roadmap

2021-02-14 Thread Richard Gaskin via use-livecode

Bill Prothero wrote:

> I would like to see:
> Better help files that go deeper.

If I gave you a thousand pages of deep material but they were unrelated 
to your work, would you read them?


If I gave you ten pages that completely nailed the subject you've been 
grappling with, would you kick in a couple bucks to have them written?


Andre has been writing books on LC, and I talked with him a couple weeks 
ago about possible collaborative efforts, and there are other content 
options beyond LC's Lessons and eBooks...


But the most important question is:

What do you want to learn?

Let's identify topic areas, and then it will become much simpler to sort 
out how they get addressed.


--
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: Using MySQL on (headless) Linux

2021-02-04 Thread Richard Gaskin via use-livecode

Mark Waddingham wrote:


On 2021-02-03 20:07, Richard Gaskin via use-livecode wrote:
LC Server had already been ruled out (for whatever reason) in an 
earlier part of the thread...


That's too bad. LC Server is LiveCode build designed specifically for
command line use.


Interesting - I don't remember that being what I specifically designed 
it for :P


LiveCode Server was *specifically designed* to be used just like PHP - 
allowing you to interpolate code with HTML output for the purposes of 
constructing webpages on the fly, sitting behind a web-server... That's 
why it has unique syntax designed precisely for a CGI environment, and 
operating in that PHP-like manner.


Making it run in command-line mode as well was an obvious thing to do, 
and also made up for the fact (at the time) that bare standalone engines 
would not launch a stack on the command-line (as that was a rather 
gaping licensing hole which was closed between v3 and v4

IIRC). [ It also made it easier to test the general features of it! ]

Since the advent of the community edition, however, and perhaps more 
importantly script-only-stacks - standalone engines running with -ui can 
be just as convenient...



Indeed it can.  The -ui option for running standalones was something 
many of us enjoyed back in the MetaCard days; AFAIK it was first 
implemented with v1.0 back in '92; it least it was there when I first 
started with MC back in '96.


In addition to being an option for standalones, one could even run the 
bare engine with -ui as well.


And being a command line tool that uses stdin/stdout, running the engine 
or a standalone with -ui also worked well as a CGI under Apache or 
Lightly (though in a flavor more like Perl, Python, or Ruby than PHP).


Your fine addition in more recent years with a special Server build to 
allow PHP-like co-mingling of code and content was well done and much 
appreciated for those who enjoy that workflow on web servers.


And back in '14 David Williams reminded us that the standard shebang 
option for running a script text file is still available, though with a 
slight syntactic difference from how we used to do that with MC (entry 
point used to be a startup message, now just bare script statements 
outside of a handler):

https://livecode.com/a-livecode-shell/


With all this flexibility in one lean install, for me the pros of LC 
Server for headless work are clear:


- We get the benefits of a standalone without having to make a
  standalone (indeed the engine can be kept up to date with a
  scrape-n-wget from the Downloads page, without needing to run
  it through the Standalone Builder on a separate GUI system).

- We have the same options for running it as a standalone, without
  needing to remember to add -ui (minor, but every little simplicity
  is nice).

- BONUS: We get the bonus option of running it aa a CGI without
  needing to write our own libraries for that (reading and parsing
  POST, writing to stdOut, handling every little detail about
  headers, sessions, and more).  And when we do, we can enjoy
  PHP-style implicit merge, mixing content and code much more
  conveniently than with the merge function.

That bonus may be irrelevant for some use cases, but probably not many. 
After all, a headless machine is usually not our main dev machine; it's 
probably being deployed to provide services for client machines. When 
those services are being delivered over a network we'll need a protocol, 
and in most cases HTTP will be a great choice, certainly the most common 
one. And though we can write our own HTTP daemon in LC, letting Apache 
do that generic work gives us better throughput, robustness, and 
security, with lower maintenance costs.


Letting Apache do what it does best lets us do what we do best: focus on 
the functionality unique to our application service.



All that said, perhaps my appreciation for your work with LC Server is 
indeed misplaced, and maybe it shouldn't be encouraged as the go-to 
choice for headless LiveCode development. :)


But as one who resisted using it for many years after it was released, 
continuing to use standalones with -ui, I must admit that the 
efficiencies in both execution time and my development and maintenance 
time eventually made me uniquely enamored of LC Server as my default 
choice for any headless system.


So if this makes me an LC Server fanboy, guilty as charged, your honor.

--
 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: Double sided PDF Problem

2021-02-03 Thread Richard Gaskin via use-livecode

Curry Kenworthy wrote:

Richard: 
 > 1. Because we can.  It's fun to figure stuff out.


Yes, it is! :)

 > 2. Print-and-Play tabletop games.

This special printer paper looks way too fun:
https://www.avery.com/products/cards/4785

(Discontinued already? Que lastima!
This thread is giving me intense desire for DIY cards)


That was a great size, but they still offer a business card size with 
rounded corners - I'm taking it as a challenge to bring the card content 
down to just the essentials. ;)


https://www.avery.com/products/cards/88220

--
 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 MySQL on (headless) Linux

2021-02-03 Thread Richard Gaskin via use-livecode

Mark Waddingham wrote:

On 2021-02-03 00:31, Richard Gaskin via use-livecode wrote:

As for my post, it was a question in reply to Mark Waddingham's note
about how only standalones can be expected to use externals.  That is,
at least as I read it.


Mark said nothing of the sort :)


Very glad to be wrong on that.


LC Server had already been ruled out (for whatever reason) in an earlier 
part of the thread...


That's too bad. LC Server is LiveCode build designed specifically for 
command line 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


Re: Double sided PDF Problem

2021-02-02 Thread Richard Gaskin via use-livecode

Paul McClernan wrote:

> I'm sure this could all be worked out as far as how to do the
> layout and printing directly from LiveCode... but why?

Why? On a LiveCode list you have to ask why? :)

Two reasons come to mind, but doubtless there are many more:

1. Because we can.  It's fun to figure stuff out.

2. Print-and-Play tabletop games. It's quite a burgeoning folk art to 
design and print your own game.  Doesn't have to be fancy, but sometimes 
it helps to print double-sided.


And I'm finding it's not that hard.  The hardest part is making a few 
test runs to work out the metrics between logical pixels and printer 
metrics.  But once you get that worked out the world is your oyster. You 
can make a game design tool that lets you lay out cards while also 
keeping an inventory of parts, and later toss in some probability 
modeling to balance the game play, and then add PDF generation for 
sharing with others, and then go back and make a copy of the last stack 
file to take it further with the next one, adding image handling at 
double-size to reduce down for a crisp print, and then of course you 
need a notebook to keep the scraps of your ideas in, and then you need a 
contact manager to keep track of which play testers you sent it to and 
what they're feedback was, and then you need to put that feedback into 
an issue tracker, and then


In short, because we can. :)

--
 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 MySQL on (headless) Linux

2021-02-02 Thread Richard Gaskin via use-livecode

Good rules in general, but my question was about something else entirely.

As for the IDE, it's a GUI; I'm not sure what could be done with it on a 
headless system.  (Yes, instructions are provided for sys admins to 
automate *installing* it via command line -- great for computer labs and 
such -- but I can't imagine how one would *use* the IDE from Terminal.)



As for my post, it was a question in reply to Mark Waddingham's note 
about how only standalones can be expected to use externals.  That is, 
at least as I read it.


I'm hoping I misread it because for headless systems LC Server is 
designed to be the optimal solution:


- Lean runtime

- Can run scripts in stack files, script-only stacks, and even
  plain executable text files in the traditional shebang way:
  https://livecode.com/a-livecode-shell/

- The same engine installed once for general system programming
  can also be aliased in cgi-bin to offer all of the above plus
  PHP-style implicit merge under Apache or Lighttpd. Even if you
  don't need public-facing web hosting, there are a great many
  benefits to having systems communicate via REST.


I was resistant to using LC Server for many years when it first came 
out, because I missed the shebang simplicity we'd enjoyed with MC, and I 
wasn't sure how long LC Ltd would stick with it.  Both concerns have 
been well addressed now, and it's my go-to for headless.  I've even 
replaced many installs that had been standalones during my reluctant years.


--
 Richard Gaskin
 Fourth World Systems



Mark Talluto wrote:

My simple rule on this is:

If I need to write code, use the IDE. 


If I need to deploy code, use a standalone.
You get the best possible performance. They are flexible since you can 
dynamically load code. They do not have the burden of  the IDE. It seems the 
right path to go.

Maybe there is a reason Ben wants to deploy with the IDE? 


Best regards,

Mark Talluto
livecloud.io <http://livecloud.io/>
nursenotes.net <http://nursenotes.net/>
canelasoftware.com <http://www.canelasoftware.com/>



On Feb 2, 2021, at 10:58 AM, Richard Gaskin via use-livecode  wrote:

LC Server doesn't handle externals, so for that we need a standalone?

I think I'm missing something.

--
Richard Gaskin
Fourth World Systems


Mark Waddingham wrote:

On 2021-02-01 22:25, Ben Rubinstein via use-livecode wrote:

Undesirable things found:
1. I've not found how to access externals (in this case the database
library) without explicitly setting the 'externals' property of the
stack to a (generally unreliably) full path before the stack is saved.
3. revSetDatabaseDriverPath is required even when the drivers are in
the standard location inside the app 'bundle'.
I'll report (2) and (3) formally when I've done a bit more
investigation. I'd still love to know what I'm doing wrong, in
relation to (1).

Please don't - as neither are bugs :)
The standalone engine inside the runtime folders in the IDE install is just a 
bare engine.
In community you can certainly run the bare engine without building a 
standalone but as you have discovered it is just what it is - a bare engine, it 
knows nothing of externals, database drivers, widgets, script libraries or 
anything else.
If you want a headless (community) engine which has dependencies then all you 
have to do is deploy a standalone with a launcher stack embedded into it.
The launcher stack should have the inclusions you want configured for it, and 
it can just run the stack you pass as an argument on the command-line.
Doing it this way, it means the standalone builder will take care to ensure all 
the 'inclusions' you set are present and configured correctly (including 
widgets, externals and script libraries).
You only need to rebuild the standalone if your inclusion requirements change, 
or you want to change engine version.
Warmest Regards,
Mark.
P.S. In regards to (1) the trick is to do this:
```
set the externals of the templateStack to 
create invisible stack "Externals" -- or any name you like
inser the script of it into back
reset the templateStack
```
This allows you to compute the external paths at runtime when the engine starts 
(e.g. by using the engine folder, or the filename of the stack and computing 
the paths).
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




___
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 secure socket... using certificate

2021-02-02 Thread Richard Gaskin via use-livecode
If the goal were point-scoring gotchas, that I frequently advocate 
industry best practices for security redundancy might indeed seem out of 
place here. I am normally a belt-and-suspenders kinda guy, and I make no 
apologies for it.


Those redundancies usually come up in discussions about exposing 
databases directly to the open Internet, as opposed to doing the common 
thing of putting a script between the DB and the connection (which 
affords the added benefit of allowing us to craft a nice API to help our 
client dev work move forward more smoothly as well).


The distinction is how common the practice is. We see that most systems 
put a script in front of their DB.  And we see that most use localhost 
sockets without SSL.


I'm not inventing any of this. I don't hold an CISSP cert, and I don't 
manage most of the world's projects. I just see what I see, share what I 
see, and where I don't understand something I'll ask, like I did here 
seeking a use-case where the benefit of slowing every socket comm down 
with encryption and decryption provides a benefit not immediately undone 
the moment the data is at rest.


I still hold that there might be a good use case, but after a brief 
search on this I was unable to find one, and none has emerged yet even here.


In your original post describing this system, you emphasized that LC 
multiprocessing is being used to find the fastest way to handle the data 
flow.  We generally accept a tradeoff between utility and security, but 
as with so much of life tradeoffs work best when evaluated for the case 
at hand.


If a user's machine is hosed, it's hosed.  If we look for guidance on 
that from better minds than mine, we can review the practices of leading 
app and OS vendors. Address space layout randomization may be a good 
example of how an OS vendor can mitigate risks in compromised machines, 
but the same OS vendors employing it don't also recommend app devs add 
their own address randomization at the app level. Maybe app devs should? 
Maybe OS vendors are lax?


The deeper we go down the rabbit hole of protecting systems, the more 
challenging it gets.  At a certain point -- a somewhat shallow point, I 
don't mind admitting -- I'm happy to leave the deep thinking to 
specialists and just follow common practice.  If I happen to see a risk 
that common practice doesn't cover, I'll cover it as I go.  But even 
though we have Stuxnet to remind us of the impact of unanticipated 
consequences from design decisions, if I don't have a specific threat 
vector in mind AND it's not a common practice, odds are I'll skip it.


I admit I'm far less of a programmer than the minds behind Stuxnet. And 
since most of the world is, I'm okay with that.


Security awareness is good, and redundancy common. But where a 
redundancy is both uncommon and provides little benefit not undone 
easily elsewhere in the system, I'll often skip it.


And when the house is on fire, I'm not sure it's a service to the 
homeowner to help maintain the illusion that their house isn't on fire.


--
 Richard Gaskin
 Fourth World Systems



Tom Glod wrote:

> Hhahah Richard, that was hilarious. :D Given I've given you next to no
> info on the use case, I understand why it may seem overkill, and maybe
> it is.
>
> A wise person once told me  and I'm paraphrasing. " you can't
> prevent everything so the task at hand is to make things harder
> and take longer."  That person was you.
>
> So would it make it harder to steal data if data transport between 2
> decoupled processes was encrypted? you bet.
>
> Thanks for giving me food for thought...and I will triple check to
> make sure its necessary. :D
>
>
> On Mon, Feb 1, 2021 at 6:16 PM Richard Gaskin wrote:
>
>> Tom Glod wrote:
>>
>>  > Richard,
>>  >
>>  > Lets say one of my users is targeted by a hacker and they manage
>>  > to install a malware process on their system that will capture all
>>  > the data flowing between the 2 processes.
>>  > Then they do not need to be sitting in the victim's chair.
>>  > But if the data was encrypted, this wouldn't matter.
>>
>> True, that one aspect of your program wouldn't matter.  But since
>> everything else on the system is now hosed, does anything matter?
>>
>> To my ear it sounds like a planning committee meeting for a zoo in
>> which they're deciding on the steel thickness of armored suits they
>> require visitors to wear because tigers are running loose, while
>> the whole facility is on fire. I'm in the back of the room raising
>> my hand asking if we might just put the tigers back in the cage.
>> After we put out the fire. :)
>>
>> In the scenario you described, what prevents the bad guy from reading
>> the data at rest? Or keylogging? Or replacing either or both of the
>> executables you delivered? Or anything else they might do once they
>> have that level of control throughout the system?
>>
>> --
>>   Richard Gaskin
>>   Fourth World Systems




Re: Smooth scrolling

2021-02-02 Thread Richard Gaskin via use-livecode

JeeJeeStudio wrote:

> Panos wrote:
>> This bug report contains a workaround for smooth scrolling - hope it
>> helps.
>> https://quality.livecode.com/show_bug.cgi?id=19759
>
>
> Maybe it's me but i don't see any difference in scrolling between the
> left and right on win10

The original description of the problem here lacks specificity. It's not 
just any scrolling that is affected, but scrolling that happens in 
response to a scroll wheel or trackpad gestures.


The script Panos posted in the bug report has two gradations of scroll 
increment, based on the interval between keydown messages corresponding 
to the scroll wheel/trackpad gesture.


It's good.  Very good. I see the difference here on Ubuntu.

It's so good it should be added to the engine, so we don't merely rely 
solely on the odd chance that someone wanting to make attractive 
software with LC happens to stumble across this thread.


If there's a concern about backward compatibility (understandable given 
the many ways scrollbarDrag messages are used) perhaps fields could have 
a smoothScrolling property added to govern this. And since this behavior 
reflects modern scrolling standards, it should be on by default (yet can 
be turned off for the edge cases where people need the older linear 
scroll for specialized use cases).


That said, with the team's current priorities I don't see this happening 
for quite some time.  That's too bad, because it means every new user 
will get a poorer impression of the LiveCode experience than they could 
be having.


--
 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 MySQL on (headless) Linux

2021-02-02 Thread Richard Gaskin via use-livecode

LC Server doesn't handle externals, so for that we need a standalone?

I think I'm missing something.

--
 Richard Gaskin
 Fourth World Systems



Mark Waddingham wrote:

On 2021-02-01 22:25, Ben Rubinstein via use-livecode wrote:

Undesirable things found:

1. I've not found how to access externals (in this case the database
library) without explicitly setting the 'externals' property of the
stack to a (generally unreliably) full path before the stack is saved.

3. revSetDatabaseDriverPath is required even when the drivers are in
the standard location inside the app 'bundle'.

I'll report (2) and (3) formally when I've done a bit more
investigation. I'd still love to know what I'm doing wrong, in
relation to (1).


Please don't - as neither are bugs :)

The standalone engine inside the runtime folders in the IDE install is 
just a bare engine.


In community you can certainly run the bare engine without building a 
standalone but as you have discovered it is just what it is - a bare 
engine, it knows nothing of externals, database drivers, widgets, script 
libraries or anything else.


If you want a headless (community) engine which has dependencies then 
all you have to do is deploy a standalone with a launcher stack embedded 
into it.


The launcher stack should have the inclusions you want configured for 
it, and it can just run the stack you pass as an argument on the 
command-line.


Doing it this way, it means the standalone builder will take care to 
ensure all the 'inclusions' you set are present and configured correctly 
(including widgets, externals and script libraries).


You only need to rebuild the standalone if your inclusion requirements 
change, or you want to change engine version.


Warmest Regards,

Mark.

P.S. In regards to (1) the trick is to do this:
```
set the externals of the templateStack to 
create invisible stack "Externals" -- or any name you like
inser the script of it into back
reset the templateStack
```
This allows you to compute the external paths at runtime when the engine 
starts (e.g. by using the engine folder, or the filename of the stack 
and computing the paths).


--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps



___
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: Smooth scrolling

2021-02-01 Thread Richard Gaskin via use-livecode

David Epstein wrote:

> My impression is that a LiveCode field scrolls less smoothly than
> a comparable field in some other programs, such as MS Word and
> Scrivener.  If I paste about 25,000 words into a word wrapped
> scrolling field, and then drag the scrolling thumb up and down
> there is much more jumpiness than I see when I do the same thing
> to the same text in those other programs.  (LC 9.6 on Mac OS 10.12.6).
>  Do others see the same thing?  Does anyone know the underlying cause
> of this, or a remedy?

Nice to hear the name Scrivener. Blount did some good rethinking of how 
words are managed when he came up with that app.


In the olden days I remember being impressed with how smoothly LC 
scrolled vs things like Word, which wasn't all that surprising given 
that LC buffers the whole field in RAM while Word pages from disk.


A lot's changed since then. Not only have SSDs taken over to narrow the 
gap, but I no longer have a copy of Word to compare anything to. :)


But I did just do a quick test of LC v9.6.2rc2 vs LibreOffice Write on 
Ubuntu 18.04, using Kafka's Metamorphosis to get a reasonably close 
number of words to your test (Gutenberg Project RTF is 25,180 words: 
http://www.gutenberg.org/files/5200/5200-r.rtf ).


Very different setup of course, but FWIW LC and LibreOffice are quite 
close in scrolling, though LC seems noticeably smoother.


Of course Ubuntu and macOS couldn't be more different from top to 
bottom, with different font managers, buffering APIs, compositors, etc., 
so while it was easy for me to do this quick test it's almost entirely 
useless.


What might be nice would be someone with good knowledge of Apple 
low-level tools, similar to the ones we see for Android or to some 
degree strace, where graphical UI stuff can be profiled so we can see 
what Word and LC are doing differently.


It might also be worth setting the field's layerMode to "scrolling" and 
the stack's compositorType to "CoreGraphics" to see if that improves things.


--
 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 secure socket... using certificate

2021-02-01 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> Richard,
>
> Lets say one of my users is targeted by a hacker and they manage
> to install a malware process on their system that will capture all
> the data flowing between the 2 processes.
> Then they do not need to be sitting in the victim's chair.
> But if the data was encrypted, this wouldn't matter.

True, that one aspect of your program wouldn't matter.  But since 
everything else on the system is now hosed, does anything matter?


To my ear it sounds like a planning committee meeting for a zoo in which 
they're deciding on the steel thickness of armored suits they require 
visitors to wear because tigers are running loose, while the whole 
facility is on fire. I'm in the back of the room raising my hand asking 
if we might just put the tigers back in the cage. After we put out the 
fire. :)


In the scenario you described, what prevents the bad guy from reading 
the data at rest? Or keylogging? Or replacing either or both of the 
executables you delivered? Or anything else they might do once they have 
that level of control throughout the system?


--
 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 secure socket... using certificate

2021-02-01 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> On Fri, Jan 29, 2021 at 1:09 AM Richard Gaskin wrote:
>> The main benefit of encrypted sockets is to mitigate man-in-the-
>> middle attacks.
>>
>> If you have a man in the middle of processes on a local computer that
>> isn't you, it would seem you have bigger concerns. ;)
...
> Hi Richard...the man in the middle attack is exactly the thing I was
> thinking of.


It seems I didn't write clearly.

With localHost the man in the middle is you, or someone else with 
physical access to your computer (which is more or less the same thing).


Given the old adage that physical access  = root, I'm unable to think of 
a scenario in which encrypting localhost sockets is beneficial.  Am I 
overlooking something?  I'm no CISSP, so I may well be.


--
 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: Which of the current FTP legends should I be using?

2021-02-01 Thread Richard Gaskin via use-livecode

PrestoBruce wrote:

> I need to upload a binary file (jpg,pdf,png,etc) to an FTP account.

How will the resulting upload be used?

--
 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 secure socket... using certificate

2021-01-29 Thread Richard Gaskin via use-livecode

Bernard Devlin wrote:

> On Thu, Jan 28, 2021 at 4:44 PM Richard Gaskin wrote:
>> Is this specific to the server "accept" not supporting SSL,
>> or something client-side?
>
> Hi Richard, it's client side.
>
> The project is a messaging app, principally for mobile.  SSL/TLS
> certificates issued with client software enable servers to know that
> the connection is allowed at a network level before any user
> authentication.


Thank you, Bernard.  In bringing myself up to speed on this, once I 
stumbled across the phrase "two-way SSL" I was able to find much good 
reading about it.


I just added Comment #11 to the bug report on this:

The range of services requiring two-way SSL is increasing,
and with IoT the scope of use cases is multiplying.

Where required, I don't see an opportunity for a scripted
workaround, so in those cases the only alternative is to
leave LC for a tool that supports two-way SSL.

This would seem a good time to bite the bullet on this
implementation. What would be required to make it happen?

https://quality.livecode.com/show_bug.cgi?id=13410#c11

--
 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: Double sided PDF Problem

2021-01-28 Thread Richard Gaskin via use-livecode

Brian K. Duck wrote:

> I’d like to print decks of cards, front and back

Are you making components for a tabletop game?  Is it one of your own 
design?


I've begun designing games here myself as something to do that takes me 
away from the computer now and then.  Modern tabletop games are 
fascinating systems; sometimes intricate like software, but laid bare in 
cardboard.



> The front page is always easy.
> Cards print left to right: 1-3
>
> Flipping the pages, in portrait layout, the cards are now face down,
> in order but reversed: 3,2, 1.
>
> The problem is, printing 3 wide by 4 tall, aligining the two.
>
> Any existing solutions or discussions?

I'm not sure I'm imagining this accurately.  Do you have a sketch or a 
mockup with numbered boxes you could point me to to see what you're 
output is like?


And are you printing multiple individual cards into a page, or have one 
page-sized card with multiple card images?


--
 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 secure socket... using certificate

2021-01-28 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> Richard. in the labs .. I am testing the viability of using
> Livecode as ONLY a UI layer.  So I have to find the fastest way of
> getting decrypted JSON data from Core process (Go binary) to the UI
> Layer that is a LC stack.

SLL encryption/decryption adds overhead to that process.


> So when communicating data via the localhost or socket, I figured it
> should still be encrypted if possible when in transit between the 2
> programs. It's an attack vector in this kind of a scenario, a local
> one, not remote as much.

The main benefit of encrypted sockets is to mitigate man-in-the-middle 
attacks.


If you have a man in the middle of processes on a local computer that 
isn't you, it would seem you have bigger concerns. ;)




> It would have been nice to reply on the protocol for it. I can get
> around this particular problem of course by encrypting on one side
> and decrypting on the other, also.  If I am really paranoid about
> my security.

Paranoia can be healthy, when taken as directed. There may be a benefit 
to encrypting localhost sockets that I'm unfamiliar with, and if someone 
can point me to threat vector I'd be grateful to learn.


But I can't recall seeing a system that uses encrypted comms on local 
sockets.



> What do you think will be the fastest way?  Socket? Open Process?

Sockets and multiprocessing are such different things I'm pretty sure I 
don't understand the usage scenario.  But if you can describe we can 
brainstorm to optimize, as many good threads here have done before.


--
 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: OT Friendly customers....

2021-01-28 Thread Richard Gaskin via use-livecode
Before this thread gets shut down, let me voice my views on these very 
important subjects:


I have a strong preference for camembert.

I trust this communication is well understood.

There are many places for discussions of cheese and other matters, and 
the hosts of this list have made it clear this isn't one of them.


--
 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: Stack check-out/check-in

2021-01-28 Thread Richard Gaskin via use-livecode

Marty Knapp wrote:

> I have an app that allows user to create specialized editable
> documents (stacks) that open in my app. Some customers use Dropbox,
> iCloud, OneDrive or similar to store these documents so that they
> can be accessed from 2 different computers. Is there a way to tell
> if a stack is already open on one computer? I need to prevent them
> from opening a 2nd instance of the stack on the other computer so
> that Dropbox (or other cloud sync service) does not create a
> conflicted copy.

Nextcloud is the only file syncing system I know of that provides an API 
for file locking, but given the nature of syncing systems it comes with 
a good many caveats, noted here:


https://docs.nextcloud.com/server/20/admin_manual/configuration_files/files_locking_transactional.html

I have a similar need to support distributed workflows through syncing 
systems, and after reviewing those notes and other discussions it's 
became clear to me that with sufficient editing frequency conflict files 
are unavoidable, so now I'm focusing on smarter conflict-file resolution.



> If there is not a way to tell, has anyone created some sort of stack
> check-out/check-in system that they'd be willing to share?

File syncing involves latency, and in those delays between saves and 
updates across all distributed clients there will inevitably be conflicts.


Even if you use a lock file as a semaphore for other clients to know 
that a file is being edited, that semaphore itself needs to be 
distributed through the same inherently-latent system, and therefore is 
prone to arriving too late to be of any value.


When data integrity is critical and conflict-file resolution is not a 
clean option, I can think of no other solution than to maintain storage 
of the files on a server, where check-in/check-out can be handled 
explicitly and immediately.


--
 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 secure socket... using certificate

2021-01-28 Thread Richard Gaskin via use-livecode

Bernard Devlin wrote:

> I feel like a sucker. I started on this project a few months ago on
> the assumption that socket certificates now worked as they'd been
> included in the Dictionary for years. I was away from development for
> a few years and hadn't noticed the complaints that the Dictionary was
> misrepresenting the situation.

Is this specific to the server "accept" not supporting SSL, or something 
client-side?


--
 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 secure socket... using certificate

2021-01-28 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> Wondering if it will be super hard to create certificate and make it
> work on localhost sockets.

Pardon my naivete, but what is the value of a secured socket in local 
socket comms?


--
 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: Call lc from php?

2021-01-23 Thread Richard Gaskin via use-livecode
revIgniter* is a wonderful framework, and one of most well-managed open 
source projects in our community.  Ralf has delivered a faithful 
re-envisioning of the popular WebIgniter framework for PHP, with some 
very savvy twists that make it a joy for LiveCode scripters.


But WebIgniter is far from PHP's only server framework, and I'd guess 
Ralf would agree that as valuable as revIgniter is, it isn't the only 
possible solution for every conceivable type of web site, app, or service.


Reproducing many well-established PHP packages in LC is more possible 
with frameworks like revIgniter than without.


But if the PHP package is sophisticated enough it'll be a lot of work.

And in many cases we're asked to extend systems we have no control over.

There are many good reasons to pursue integration with existing services 
rather than replacing the entire service from scratch.



With my interest in Nextcloud as a backend, for example, I could save a 
lot of time using revIgniter to build out self-signup. user permissions 
groups, password reset, WebDAV support, OAuth in both directions, 
headless REST, even federation, and an admin UI to manage it all. But 
with Nextcloud I get all that with one Snap command, so I can jump right 
into the client-side functionality which is my main interest on this 
project.


Similarly, some of my work these days has me integrating LC apps with 
popular CRMs - the good CRMs are very expensive to produce and not 
easily replicated, even with a great framework like revIgniter.



Like anything else in development, it's just another case of choosing 
the best tool for the task at hand.


For a wide range of projects, revIgniter is a perfect choice.

And when you need to integrate LC with an existing PHP system, we can do 
that too.




* For those of you who haven't seen Ralf's recent work on the revIgniter 
site, in addition to offering truly exemplary documentation I also 
appreciate the little touches he puts in, like the SVG intro animation 
for the top banner:

https://revigniter.com/

--
 Richard Gaskin
 Fourth World Systems




Erik Beugelaar wrote:


We do have revIgniter or am I missing the clue?

-Original Message-
Richard Gaskin via use-livecode

Rick Harrison wrote:
 > Why are you still using PHP when LC is better?


I agree of course that LC is a strong contender against any popular
server-side language, as LC's chunk expressions and self-documenting style
make clear.

But it isn't nearly as popular.

LC is where Ruby was before Rails: an interesting and useful language
largely underappreciated for server work.

We don't even have a single generalized user management library for LC, let
alone any of the CMSes, CRMs, LMSes, or hundreds of other categories where
PHP is well established.

So one way LC can play a growing role in server development is through
integration with existing services.

And odds are those existing services are written in PHP.

So Neville's question is one we might all ask ourselves:

How can we use LC to add new capabilities to the PHP-based systems that run
most of the online world?


For my own part I've been exploring ways LC can be usefully integrated 
with the breadth of services provided with Nextcloud, which like most 
server systems is written in PHP.


I could theoretically reinvent everything in Nextcloud using LC, but 
given the countless thousands of hours that have gone into the vast 
suite of apps that community provides, why would I?


Right out of the box I get an API for user management, with access to 
arbitrary user-specific storage via WebDAV. One line of install code 
gives me a ready-to-go backend for a wide range of apps, letting me 
focus on the client side.


Lately I've begun taking that further, poking around the server side 
similar to whatever Neville's working on, looking for ways to integrate 
LC services with the services already built into Nextcloud.


Rewriting Nextcloud from scratch would be doable but prohibitively 
expensive.  But building on top of the Nextcloud platform lets me stand 
on the shoulders of giants, to see much further than I could on my own.


Integration is increasingly a core part of what my clients ask me to do 
as well.


The days of monolithic one-size-fits-all systems are passing, if they 
haven't passed already.


 From here forward, the biggest opportunities are in integration with 
well established services.


This not only lets us focus on the specific functionality we enjoy 
building, but also carries the additional benefit for all of us in the 
LC community in introducing our favorite language into the communities 
for those systems.


--
  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

Re: Call lc from php?

2021-01-21 Thread Richard Gaskin via use-livecode

Rick Harrison wrote:
>> On Jan 21, 2021, at 6:13 AM, Neville Smythe wrote:
>> A slightly less cursory investigation informs me that
>> 
>
> Why are you still using PHP when LC is better?


I agree of course that LC is a strong contender against any popular 
server-side language, as LC's chunk expressions and self-documenting 
style make clear.


But it isn't nearly as popular.

LC is where Ruby was before Rails: an interesting and useful language 
largely underappreciated for server work.


We don't even have a single generalized user management library for LC, 
let alone any of the CMSes, CRMs, LMSes, or hundreds of other categories 
where PHP is well established.


So one way LC can play a growing role in server development is through 
integration with existing services.


And odds are those existing services are written in PHP.

So Neville's question is one we might all ask ourselves:

How can we use LC to add new capabilities to the PHP-based systems that 
run most of the online world?



For my own part I've been exploring ways LC can be usefully integrated 
with the breadth of services provided with Nextcloud, which like most 
server systems is written in PHP.


I could theoretically reinvent everything in Nextcloud using LC, but 
given the countless thousands of hours that have gone into the vast 
suite of apps that community provides, why would I?


Right out of the box I get an API for user management, with access to 
arbitrary user-specific storage via WebDAV. One line of install code 
gives me a ready-to-go backend for a wide range of apps, letting me 
focus on the client side.


Lately I've begun taking that further, poking around the server side 
similar to whatever Neville's working on, looking for ways to integrate 
LC services with the services already built into Nextcloud.


Rewriting Nextcloud from scratch would be doable but prohibitively 
expensive.  But building on top of the Nextcloud platform lets me stand 
on the shoulders of giants, to see much further than I could on my own.


Integration is increasingly a core part of what my clients ask me to do 
as well.


The days of monolithic one-size-fits-all systems are passing, if they 
haven't passed already.


From here forward, the biggest opportunities are in integration with 
well established services.


This not only lets us focus on the specific functionality we enjoy 
building, but also carries the additional benefit for all of us in the 
LC community in introducing our favorite language into the communities 
for those systems.


--
 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: Call lc from php?

2021-01-20 Thread Richard Gaskin via use-livecode

Neville Smythe wrote:

> Quick question: is it possible to execute a .lc server script from
> within php (eg from an index.php page)?
>
> This other way is documented, but on a cursory perusal I couldn’t see
> how to do it, and I’ve forgotten more about php than I remember.
>
> Maybe using a shell command within the php, but is there a way set up
> php to automatically recognise .lc? Php.ini??


No recognition needed if you're explicit: you can pass the name of the 
.lc page to the Server engine as a param, e.g.:


   ./livecode-server mycoolscript.lc


And there's also a second way:

make the .lc script executable, and let the shell know what engine is 
needed to run it with a shebang on the top line:


   #!/usr/local/bin/livecode-server

More on that from David Williams in the LC blog:

https://livecode.com/a-livecode-shell/

--
 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: GRID and GRIDSIZE

2021-01-20 Thread Richard Gaskin via use-livecode

Klaus wrote:

> Am 20.01.2021 um 21:02 schrieb Richard Gaskin:
>
>> Klaus wrote:
>>
>>> is it correct that "snap to grid" does only work in the IDE in
>>> "Pointer" mode?
>>
>> Given its role in snapping the dragging of selected objects, what
>> else might it do?
>
> I actually exspected a simple "yes" or "no". 8-)

Then "Yes".

> Remember, I am not a native english speaker, so I am not sure what
> exactly you mean.

You write English so much better than many Americans I know it's easy to 
forget.


I was asking what you wanted the grid snap feature to do beyond working 
only in Pointer mode.


--
 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: GRID and GRIDSIZE

2021-01-20 Thread Richard Gaskin via use-livecode

Klaus wrote:

> is it correct that "snap to grid" does only work in the IDE in
> "Pointer" mode?

Given its role in snapping the dragging of selected objects, what else 
might it do?


--
 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: Considering work with livecode server

2021-01-19 Thread Richard Gaskin via use-livecode

kee nethery wrote:

> On Jan 19, 2021, at 7:58 AM, Mark Smith wrote:
>>
>> Hi Andre, how are “apps to bundled content” different from “apps that
>> are portals to web content" (Jacque’s description)? Or put another
>> way, if someone wanted to design a tourist app that highlighted
>> interesting local tourist destinations near them with a link you can
>> click on to purchase tickets or book reservations etc, would that
>> violate Apple’s guidelines? Asking for a friend :)
>
> Pick me! I know this one!
>
> An app to bundled content means that they can review everything that
> is going to get displayed to a user and approve or deny based upon the
> content they review.
>
> An app to web content is a mystery app. Your restaurant review app
> that pulls from the web could easily be transformed into a pedophile
> shopping app by entering a secret pass phrase and then changing the
> data on the web site. (as an extreme example)

Any data can be replaced with porn or other contraband.

Any app can transform itself at a later date into something other than 
what was reviewed.


Neither can be prevented.

Both are remedied with banning.

This is not unique to LiveCode; it applies to all apps.

So don't do that, in any language.

I've seen no restrictions on specific binary formats. Stack files, 
spreadsheets, interactive books -- all variants of the same thing.


--
 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: Considering work with livecode server

2021-01-19 Thread Richard Gaskin via use-livecode

William Prothero wrote:

> It would sure be nice if there was some equivalent to shockwave...

For all practical purposes we do:

The Shockwave plugin was an executable engine you could download and 
install once, and then play a wide range of scripted interactive media 
with it.


A LiveCode standalone is an executable engine you can download and 
install once, and then play a wide range of scripted interactive media 
with it.


The differences are that Shockwave was confined to the limitations of a 
browser window. And that it no longer exists.


LiveCode lives outside the confines of a browser window, allowing full 
desktop integration (cache control, document associations, etc.). And 
LiveCode exists. :)


--
 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: Considering work with livecode server

2021-01-19 Thread Richard Gaskin via use-livecode

Andre Garzia wrote:

> But apps that are browsers to bundled content are OK. That is how you
> get Apache Cordova and Phonegap to work.
>
> On Tue, 19 Jan 2021 at 02:06, Mark Wieder wrote:
>>
>>> On 1/18/21 2:20 PM, William Prothero via use-livecode wrote:
>>> Building a single web-based app that avoids the world of all
>> the mobile apps and desktop idiosyncrasies is attractive.
>>
>> I thought mobile stores (Apple, etc) explicitly disallowed apps that
>> were essentially just web browsers to external content.

Roger that, Andre. Apple's emphasis has to do with the user experience, 
rather than the technical means by which that experience is derived.


What they want to avoid is an app that could just as easily have been a 
web site.  It's one of the few areas in which Apple (or any of the Big 
Five) support the Open Web.


Indeed, even in their most draconian moment, the 
infamous-and-ultimately-backpedaled debacle with iOS SDK v4,0 Section 
3.3.1 mess of 2010, they explicitly blessed JavaScript frameworks as a 
tech stack for deploying native iOS apps.


In this case here, I believe Bill was looking to bypass self-appointed 
gatekeepers altogether, using "web app" to refer to the Open Web, beyond 
the control of FAANG.


--
 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: Considering work with livecode server

2021-01-18 Thread Richard Gaskin via use-livecode

William Prothero wrote:

> Richard,
> I did understand that the server was pretty much like php, but I
> didn’t know how much beyond that it could go in terms of dynamic
> interaction with screen objects.

LC Server does have the ability to export graphics, but being at the far 
end of an HTTP connection it's not quite what you're looking for.


As for client-side option:

> The reason I wanted to look into it’s use in a browser is that for
> education, lower level grades use a lot of browser based materials
> because they don’t require kids to download apps and the most
> disadvantaged of kids can mostly use a browser. Also, teachers are
> pretty much max’d out and want to keep things the way students are
> accustomed. Building a single web-based app that avoids the world of
> all the mobile apps and desktop idiosyncrasies is attractive.

Yeah, it's a funny thing I see as you do, but can't quite wrap my head 
around:


On mobile devices, it's all "No, it can't be in a browser, it MUST be a 
native app!"


But then with a larger screen it's somehow "No, it can't be a native 
app, it MUST be in a browser!"


:)

These days I tend to consider browser first, looking at native apps 
(desktop or mobile both) only when there's some solid reason not to use 
a browser.


But there are many reasons, and for most of the last several years just 
about everything I make is a slim standalone that pulls stuff down from 
web servers, so for the small cost of a one-time install the user always 
has the latest and greatest without ever having to think about it again.



> My experience is that building the app in Livecode is the easy/fun
> part and getting it on the wide variety of platforms (Apple, windows,
> Chromebooks, iPads, the Android variations, etc, etc) is the time-
> consuming/mind-numbing challenge. I have build iOS apps and hate to
> spend my time fighting the deployment issues.

If you need platform coverage that broad your options are narrow.  The 
design requirements for such a range of screen sizes require a deep 
re-think for most UI layouts, something that CSS is designed to handle 
but little else is.



> My comments are from the perspective of a guy who is retired, enjoys
> building useful education tools, and gives away my creations for free
> to pay back the National Science Foundation for all the support I got
> while working. So, I’m trying to maximize my satisfaction from this
> hobby.
>
> I came to Livecode from Director and Shockwave. I love Livecode, but
> wish it could do the same in a browser that it does so well with
> desktop and apps.

If you're not bound to market expectations you may be able to call the 
shots. Do what you want, and if people's preoccupations prevent them 
from enjoying it their loss. :)


Browsers are DEEPLY, VASTLY different from native apps.  Born for 
trading research papers with everything else we enjoy grafted on after 
the fact, browsers handle content with a built-in reflow logic that no 
authoring environment for desktop can or even should be expected to 
match, any more than we bite into an apple expecting it to taste like an 
orange.


A small subset of things can port nicely, and my preferred way of 
working is authoring with custom LC tools and generating web-ready HTML 
from those.


If the only interaction you need is hiding/showing things and maybe a 
few other things, it would be fairly straightforward to write library in 
LC and a matching library in JavaScript, so you can author away to your 
heart's content by just setting properties, and the interaction behavior 
carries over nicely from your desktop authoring to the browser viewing.


--
 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: Considering work with livecode server

2021-01-18 Thread Richard Gaskin via use-livecode

Bill Prothero wrote:

> I’m considering doing some work with LiveCode server.
...
> Can I position and drag graphic images around. For example, I’m
> thinking of the capability to create an image with various parts
> that I can click to hide and position based on mouse drags or
> clicks or whatever I want.

LC Server runs on a server, specifically as a CGI under Apache.  Its 
role is similar to PHP and other server-side languages in allowing a 
developer to add custom functionality to Apache.


It has no direct role in anything client-side, whether a browser or an 
LC app.  Client software sends requests to the server, and the server 
sends them back to the client.  The two are very separate, connected 
only through HTTP.


If you're looking for that sort of client-side interaction, and IF you 
ABSOLUTELY MUST confine the experience to the browser app, your only 
viable option is the browser-native technology stack, JavaScript/HTML/CSS.


LiveCode's HTML export aims to deliver a replacement for browser-native 
options, but by its nature it's well suited only fora very small number 
of projects.


If you're looking for the benefits of lightweight delivery over HTTP, 
and have no requirement that you ABSOLUTELY MUST limit what you're doing 
to be delivered specifically inside of a browser window, the most 
powerful option we have is also the simplest:  just download a stack 
within a lean standalone.


--
 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: Cmi5 eLearning Standard in LiveCode MEETING TODAY AT 1 PM EST

2021-01-18 Thread Richard Gaskin via use-livecode

Brian K. Duck wrote:

> Later today, I will summarize the notes from these meetings for the
> list and provide xAPI, CMI5 and LRS references; as well as the gitHub
> URL to prior LiveCode xAPI Project for #team-MakeyMakey.

Thank you.  This is a very interesting project, eager to see where it goes.

What is " #team-MakeyMakey"?

--
 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: mobileControlCreate (set, do, etc)

2021-01-18 Thread Richard Gaskin via use-livecode

Sannyasin Brahmanathaswami:

> How in this done on desktop? It takes 15 minutes to build a standalone
> on iOS. Do we have make adjustments the mobile controls. AND then do
> another standalone.
>
> This would intro a Big factor in time development.

Yes, it is.

The workflow productivity LC remains unmatched for on the desktop was
temporarily set aside in the race to mobile, still left as an exercise 
for the user to create the library needed to bring The xTalk Way back to 
LC development:


http://lists.runrev.com/pipermail/use-livecode/2020-April/259405.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


Printing borked for LC Linux?

2021-01-16 Thread Richard Gaskin via use-livecode
I've been printing almost exclusively to PDF for the last several years, 
but this morning I wanted to print to actual paper, and found that LC 
doesn't print from Ubuntu.


There's nothing in the result after the print command, so LC thinks it's 
doing fine.


And I can print from any other app on the same machine, just not LC.

This report for Linux Mint seems perhaps relevant:
https://quality.livecode.com/show_bug.cgi?id=21131

But it's from nearly three years ago - has printing been completely 
broken in the LC Linux engine for years and so few noticed?


Any of you able to print from LC in Linux?

--
 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] Release 9.6.2 RC-2

2021-01-12 Thread Richard Gaskin via use-livecode

Bob Sneidar wrote:

> Up until the time Apple decides everything has to be M1, at which
> support for Rosetta is withdrawn. The question is, how long do Intel
> apps have to live? Deja Vu all over again. (see what I did there?)

We've been here before...

68k -> PPC
Classic -> OS X
PPC -> Intel
32-bit -> 64-bit

Adding:
Intel -> M1
...is just another day in Appleland.

The engine has been carried forward well through all those changes, I'm 
not worried about this latest one.


--
 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: Threads in LC

2021-01-07 Thread Richard Gaskin via use-livecode

Peter Bogdanoff wrote:

> On Jan 7, 2021, at 3:07 PM, Richard Gaskin wrote:
>
>> Maybe.
>>
>> Does your Pi_gpio_output function use file I/O calls to the virtual
>> file system in /run, or call an LCB or external using a lower-level
>> interface for GPIO?
>
>
> Maybe. Maybe not. In spite of all events, this may be the most
> challenging, nay, inscrutable question I have seen this year.

From you I'll take that as a compliment. :)

If this is interesting I don't mind breaking that down for people who 
don't yet spend as much time on the Raspberry Pi. Linux virtual 
directories are a pretty nifty invention.


--
 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: Threads in LC

2021-01-07 Thread Richard Gaskin via use-livecode

JeeJeeStudio wrote:

> So what i actually meant is multiprocessing, would that give
> advantage?

Maybe.

Does your Pi_gpio_output function use file I/O calls to the virtual file 
system in /run, or call an LCB or external using a lower-level interface 
for GPIO?


--
 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: Threads in LC

2021-01-05 Thread Richard Gaskin via use-livecode

JeeJeeStudio wrote:

> i will experiment some more and else continue with the Puthon version.

Both Python and LiveCode are single-threaded.

IIRC, Python offers parallelism as a programming style, but unless 
you're using one of the special builds I don't believe it offers true 
concurrency (though both can handle concurrent tasks through 
multiprocessing).


This may be helpful here: how would you approach this in Python?

I wonder if we can tailor an LC approach to more closely resemble it, or 
at very least arrive at a language feature proposal to give us 
parallelism within a single-thread like Python 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


Re: Livecode server configuration: tracking down and Apache redirect

2020-12-20 Thread Richard Gaskin via use-livecode

David Bovill wrote:

> The server return 400 Not Found when routing for a *.json file, while
> 200 OK when routing for a *.txt file - all other conditions seem the
> same.
...
> The .htaccess in the $DOCUMENT_ROOT folder does not mention json file
> endings.

Ah, we may have been looking at this backwards.

Rather than ask why Apache ISN'T serving JSON, we might ask why it SHOULD.

IIRC, following the general principle of least access Apache's defaults 
serve only a small number of types, and additional types must be added 
explicitly.


Just as we use directives to tell Apache to recognize the file type 
".lc", you should be able to tell it to recognize .json by adding this 
to Apache's config:


AddType application/json .json


Details here also show how to force UTF-8 for json, along with other tips:

https://htaccessbook.com/useful-htaccess-rules/


--
 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 server configuration: tracking down and Apache redirect

2020-12-18 Thread Richard Gaskin via use-livecode

David Bovill wrote:

> I have a Livecode server running Revigniter under Apache on Ubuntu. I
> installed it 8 years ago or so, and it is causing redirect problems
> with files ending in .json. I am assuming that a long time ago a set
> the configuration somewhere to handle .json files in a particular way,
> but I can’t track this down. Any thoughts where to look?

Is the redirect a 301, 302, or something else?

Is the returntype appropriate for JSON?

Do you see the problem when access from an LC client, a browser, or both?


> I’m wondering if there is some sort of log that would allow me to know
> how Apache is handling a faulty redirect? I’m a bit stuck tracking it
> down.

The Apache logs are at:
/var/log/apache2/access.log
/var/log/apache2/error.log

--
 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: CentOS Death in 2021

2020-12-16 Thread Richard Gaskin via use-livecode
LC Server had graphics capabilities added a few versions back.  You can 
lay out objects on cards and export images with it now.


I'm not sure if those extend to the PDF external, but if you happen to 
try it please let me know.


If nothing else, being able to run faceless should save quite a bit of 
RAM and CPU time as well.


--
 Richard Gaskin
 Fourth World Systems



Sean Cole wrote:

Hi Richard,

My case scenario is maybe a little unique, I don't know. The server app
needs to build from MySQL data and other resources (csv's and images)
downloaded from emails received from a vendor a PDF report that it 'prints'
out and uploads to a web hosted site for downloading by the clients desktop
app (on windows). We receive about 100-200 emails at the moment that get
processed by the server every morning as soon as they are received (all at
about 5am). Regardless of if it was running in the IDE or as a standalone
in the server (which is private and never accessed directly or indirectly
by any client) it runs at the same speed with the same functionality
(except I don't have to wait for a huge stack to build each time I make a
little change). This is why a GUI is required, so the PDF can be built.

 > Back to my OP.

 > - What system build of Linux should I best install in Parallels
 > virtual and Server Remote Host for deployment should I run with?
 > Given the choices of potentially having LC IDE running as the ‘live’
 > software stack on the server itself (which is not the best way to run
 > it, but potentially a method that is usable for our purposes perhaps).

What is the benefit of running the LC IDE on a server, as opposed to a
standalone?  Do you need a GUI there at all?

Either way, I believe Heriberto made a solid case yesterday for Ubuntu.
As the most popular distro, it has more docs, tutorials, and community
support, and more de facto testing.  It's also the leading choice for
computer manufacturers shipping with Linux preinstalled, like Dell's XP
line and similar from HP, Acer, and others.


___
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: CentOS Death in 2021

2020-12-16 Thread Richard Gaskin via use-livecode

Pi Digital wrote:

> Ah, i see your POV now. You distinguish a difference between ‘runs on’
> and ‘deploys on’. Where as I infer that there is no difference and
> that ‘supports’ is as ‘system requirements’ or ‘supported systems’.

To me "runs on" and "deploys on" can only be the same thing when 
discussing a system like LiveCode, where the IDE is made from the same 
engine as a standalone.


According to at least one core team member, the distinction with 
"supported" is that they viewed it as "things the company is publicly 
committing to provide technical support resources for", which of course 
is a subset of "runs on".  Indeed, "supported" in that sense isn't even 
a technical consideration as much as a business one, arguably cause for 
replacing the word "supported" with something else that has no 
implications for business expense obligations.




> The document is aimed at users of Livecode who, of course are
> developers but, are also making use of the IDE. So, imho I would see
> a need to have perhaps a separate part for each then. A runs on and
> deploys to section.

I'm not opposed to the idea at all, but what circumstances would create 
a difference between the two for any GUI desktop platform, given that 
the LC IDE stacks are driven by the same engine that runs our stacks?




> More than just runs on in fact. That infers that it can chug along on
> with fits and starts. But a ‘system recommendation for development’.
> And THEN a section for ‘systems supported for deployment’ or
> ‘standalone system requirements’ to keep the same vernacular as the
> IDE itself. With known issues covering both the IDE and Deployment as
> two separate sections also.

Ah - that distinction makes solid sense to me, and we often see two sets 
of listings for sys reqs, "Minimum" and "Recommended".


For the IDE, this can be known, and would be helpful if provided.

For our applications it cannot be known by any author of a Release 
Notes, because they can't know what we're going to be doing with the 
engine.  I can make super-lean apps that fly and super-bloated apps that 
crawl, but I can't expect their company to provide guidance for me on 
either; the range of resource usage combinations is simply too vast, and 
being my work and not theirs they can't know what I'm doing.


But for the IDE, yes with two thumbs up to having separate "Minimum" and 
"Recommended" resource requirements listings.


Do I understand your request on that one?



> And then the requirement for Linux to have these separate libraries
> installed on BOTH the IDE machine AND the ‘end users’ Linux machine
> running the standalone should be made all the more clearer. Perhaps
> the ‘installation’ section should be separated entirely into the three
> main platforms with Linux being given a little more care in referring
> to each Linux distro in turn where needed.

Whether the dependencies are better handled if moved from "Requirements" 
to "Installation" I'll leave to them.  FWIW I've never encountered a 
desktop Linux system that could run a browser but not run LiveCode, so 
for me their guidance on that has proven consistently true.  Where more 
specific details are needed, their listing of required packages appears 
to be complete.




> Back to my OP.
> - What system build of Linux should I best install in Parallels
> virtual and Server Remote Host for deployment should I run with?
> Given the choices of potentially having LC IDE running as the ‘live’
> software stack on the server itself (which is not the best way to run
> it, but potentially a method that is usable for our purposes perhaps).

What is the benefit of running the LC IDE on a server, as opposed to a 
standalone?  Do you need a GUI there at all?


Either way, I believe Heriberto made a solid case yesterday for Ubuntu. 
As the most popular distro, it has more docs, tutorials, and community 
support, and more de facto testing.  It's also the leading choice for 
computer manufacturers shipping with Linux preinstalled, like Dell's XP 
line and similar from HP, Acer, and others.


Whether Ubuntu's fixed release schedule is a feature or a bug is a 
matter of taste, but personally I like knowing exactly how long I have 
with an OS version before I commit to rolling it out, and most admins I 
know do too.



- Which systems of Linux can we safely develop and test in?

For GUI installations, my experience supports the guidance LC Ltd 
provides in the Release Notes: if it can run a browser, it can run LC.


I've personally run LC on Ubuntu, Xubuntu, Lubuntu, Pop!_OS, Mint, 
Fedora, Debian, and a few others.



> - And then, which systems of Linux can we safely deploy and run in?
> And what are the known issues for both develop/test, and deploy/run?

In my experience all of the above plus Raspian, if you avoid a couple of 
known trouble spots with that older LC on Linux/ARM (menus crash, but 
other command UI elements like buttons work great so sometimes not an 
issue depending on the 

Re: CentOS Death in 2021

2020-12-15 Thread Richard Gaskin via use-livecode

Richmond wrote:

>On 16.12.20 2:14, Richard Gaskin via use-livecode wrote:
>> Richmond wrote:
>> > Well . . . they could install a later version of Ubuntu (takes
>> > about 30-120 minutes) and build and test on that version.
>> >
>> > Surely not that arduous.
>>...
>> How familiar are you with the LC build system in Edinburgh?
>
> I am not familiar at all.
>
> But, having built an LC version for Linux it can then be tested on
> a recent Linux distro.

It once seemed that simple to me too.

Mark Weider handled that very well this afternoon:
http://lists.runrev.com/pipermail/use-livecode/2020-December/262712.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: CentOS Death in 2021

2020-12-15 Thread Richard Gaskin via use-livecode

Sean -

This thread began with a concern over how Linux compatibility is 
described in the Release Notes.


I proposed a solution, but it didn't resonate. Perhaps a different 
approach may work:


The audience for the Release Notes is developers, and what developers 
need to know is where LiveCode the application can be deployed.


Any consideration about specific distros the company provides technical 
support for is arguably inappropriate in Release Notes altogether. 
First, technical support obligations are better described in the license 
offer. And second,they don't apply at all with Community Edition where 
the company has no technical support obligations.


So...

Since what we want to know is on which Linux distros LiveCode is known 
to run well on, would replacing "support" with "runs on" suffice?


Of course we may touch up a few other sentence so it flows nicely, but 
do I understand correctly that the concern is to know where LC runs?


If this suggestion doesn't cover what you're looking for, what would you 
prefer to see there?


--
 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: CentOS Death in 2021

2020-12-15 Thread Richard Gaskin via use-livecode

Pi Digital wrote:

> But that does not seem to correlate to the way it is for MacOS or Win.
> Are you saying they compile from all of those versions of MacOS and
> Win they reference to supporting.

Mac and Windows are each made by a single organization, with specs 
defining compatibility.


"Linux" isn't an OS per se, it's a family of OSes, where the one thing 
they all have in common is some form of the Linux kernel.


Lots of combinations are possible, from distros made for tiny IoT 
devices to clusters of supercomputers, and just about everything in between.


Thinking about the wide open world of Linux in the same terms one things 
about monolithic OSes made by single companies for narrowly-defined 
hardware can lead to a wide range of issues.


Here, the core issue is expectations management.

Personally, I find this guidance very useful, and is more succinct than 
I've seen from other Linux software vendors:


The requirements for GUI functionality are also required by
Firefox and Chrome, so if your Linux distribution runs one
of those, it will run LiveCode.


> When reading about LiveCode support, to me it doesn’t matter if it
> is LC Ltd or the LC app. The two are pretty much interchangeable.

One is a business, the other is a technology stack. The difference may 
not matter to you, but it matters to them, and understandably so:


LiveCode-the-software runs on such a wide range of Linux systems it 
would be impractical for the folks at LiveCode-the-company to commit 
support resources for them all.


So while a good many of us enjoy running LiveCode-the-software on 
anything we get our hands on, we respect that LiveCode-the-company isn't 
in a position to provide guidance if our choices don't line up with the 
systems they've chosen to support.



> ...the release notes are written SPECIFICALLY for LC the product, not
> in reference to the company.

Clearly I agree that the wording in the Release Notes can too easily 
give that impression, which is why I submitted the enhancement request 
to clarify it:

https://quality.livecode.com/show_bug.cgi?id=23035


> I cannot see where this inference is coming from.

It is not an inference. I'm familiar with qualifiers like "might be", 
and use them liberally. I did not use a qualifier here, because in this 
case I'm drawing from direct conversation with a key member of the core 
team.


The explanation I conveyed to you was given to me a while back by Dr 
Peter Brett in one of my ongoing Community Liaison meetings I have with 
the company.


This is why I wrote: "...cited Mark Weider. He and I have each had
conversations with the core team on this, and what he wrote is correct."

I have no reason to make this up.  When I take time to write to you it's 
because I'm doing my best to provide you with the best information I have.



> Basically put, if they can’t build it in, for example, Ubuntu 20, then
> it is not supported fully because of some minor/major issue.

Have you considered the possibility that not everything in the build 
system is made in LiveCode?


It's quite a beast they have there, compiling on each platform, 
shuffling the packages around to build installers, zips, and DMGs, each 
containing engines for multiple platforms.


A great many components in the long tool chain used to build a LiveCode 
installer are not written in LiveCode.  Each has their own dependencies, 
and changing one part sometimes means changing others in an intricate 
ripple effect.


Funny thing is, those of us who use LiveCode on Linux daily are the 
least bothered by these support commitment things.


Let our experience be of help where it can: LiveCode runs well on Ubuntu 
18.04 and Ubuntu 20.04, with the exceptions Panos noted earlier.


--
 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: CentOS Death in 2021

2020-12-15 Thread Richard Gaskin via use-livecode

Richmond wrote:
> Well . . . they could install a later version of Ubuntu (takes about
> 30-120 minutes) and build and test on that version.
>
> Surely not that arduous.

Exactly how sure are you?

What they need to do is more than what customers need to do.

How familiar are you with the LC build system in Edinburgh?

--
 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: CentOS Death in 2021

2020-12-15 Thread Richard Gaskin via use-livecode

Sean Cole wrote:
> On 15 Dec 2020, at 02:52, Richard Gaskin wrote:
>
>> As Mark Weider noted, the "official" support is merely a reflection
>> of their build system, and it relies on a version of Ubuntu still
>> actively getting security updates.
>
> That doesn’t seem to be stated or inferred in the release notes.

Correct, which is why I cited Mark Weider. He and I have each had 
conversations with the core team on this, and what he wrote is correct.


It seems this confusion arises from the ambiguity introduced by having 
"LiveCode" mean multiple different things: it's the product, it's the 
language the product runs on, and it's the company.


I just submitted a docs request on this, suggesting that in the Release 
Notes they change:


"LiveCode supports the following Linux distributions..."

...to:

"LiveCode Ltd supports the following Linux distributions..."

...so it becomes clearer that the limitation is only with regard to the 
company's commitment to provide technical support, and not a 
contradiction of the clarification they provide later in the Notes about 
the full scope of expected compatibility:


https://quality.livecode.com/show_bug.cgi?id=23035

--
 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: CentOS Death in 2021

2020-12-14 Thread Richard Gaskin via use-livecode

Sean Cole wrote:

> You're probably right. However, with security issues constantly
> needing keeping up to date with, it's probably worth working out
> if it is worth supporting Linux at all, then. If they, LC, feel
> it 'is' worth supporting Linux, it is surely, then, essential
> to keep up with these latest versions to help their customers
> avoid security issues.

What security issues are you concerned about?

As Mark Weider noted, the "official" support is merely a reflection of 
their build system, and it relies on a version of Ubuntu still actively 
getting security updates.


LC's Release Notes remind us that it runs on a wide range of Linux 
distros and versions. The compatibility requirements are fairly modest - 
from the Release Notes:


   The requirements for GUI functionality are also required by
   Firefox and Chrome, so if your Linux distribution runs one
   of those, it will run LiveCode.


FWIW I use LC daily with Ubuntu 18.04 and 20.04, which will continue to 
receive updates until April 2023 and April 2025, respectively.


On servers I have one client running LC on SUSE Enterprise, and the rest 
of my installs are with Ubuntu Server 18.04 and 20.04.


Now if only we could get the Linux/ARM update I'd be super happy, but 
even the last LC we got for Raspberry Pi still runs okay (with some 
limitations) on the latest Raspian, and it flies under Ubuntu Core.


--
 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: Encrypting Stack Breaks Field References

2020-12-14 Thread Richard Gaskin via use-livecode

Mark Waddingham wrote:

On 12/13/20 6:02 PM, Richard Gaskin via use-livecode wrote:
>>
>> Copying objects is disallowed in an encrypted stack, since of course
>> once an object is copied it could be pasted into an unencrypted
>> stack, and thus expose the source.
>
> Its not the copy that will be failing - but the create. In general you
> can't do anything to an encrypted stack which might cause a script to
> move from where its encrypted to somewhere else or vice-versa. (The
> reason create is disallowed is that you could create a new script via
> setting props of the template object).

Would the copy action not fall under the rubric of "anything to an 
encrypted stack which might cause a script to move from where its 
encrypted to somewhere else or vice-versa"?


If I receive a protected stack and copy an object out into an 
unprotected stack, I would then have access to the object's script.


--
 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: Encrypting Stack Breaks Field References

2020-12-13 Thread Richard Gaskin via use-livecode

Ron Noice wrote:

? My program (built with LC 9.6.1 Indy Windows) contains a large number
> of references to fields by variables.
...
> only when I encrypt it does it fight back. Here's a simplified example
> of what I'm doing:
>
> create group "grpTree"
> ...
> copy fld "baseBox" to grp "grpTree"

^ that's your issue.

Copying objects is disallowed in an encrypted stack, since of course 
once an object is copied it could be pasted into an unencrypted stack, 
and thus expose the source.


You might consider moving the code from the encrypted stack to an 
encrypted behavior object, leaving the stack where copying must be done 
unencrypted.


But if these objects are being copied only by script for the purpose of 
automatically building out a UI, without a need to alter the user's 
clipboard, you might consider using the clone command instead.


--
 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: return "error" code from standalone compile

2020-12-11 Thread Richard Gaskin via use-livecode

Mark Wieder wrote:

> On 12/11/20 10:57 AM, Richard Gaskin via use-livecode wrote:
>
>>> @ Mark Weider: where did you learn about the quit command supporting
>>> an exit code?
>
> I just always assumed this was part of the canon.

Seems reasonable. Dr Raney was a Unix fan.


> I added a note to your bug report.

Thanks.


> Why are you looking at the web version of the documentation instead of
> the local one?

Habit. I use multiple devices of different types.  Not all of them have 
LC installed.



> ...and again... tinyDictionary does an even better job of putting this
> dictionary entry into perspective.

Thanks, but I'm pretty familiar with the docs options in our community. 
I even know our community manager pretty well. ;)


The bigger problem with these sorts of issues is how the public web site 
becomes so different from the ones we have installed.


I can hunt down good docs. The general public won't know to do that.

Moreover, limiting the public-facing Dict to Community-only obviates the 
upsell opportunity.


But beyond the missed opportunity, from time to time it's also just the 
wrong content.


--
 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: return "error" code from standalone compile

2020-12-11 Thread Richard Gaskin via use-livecode

Ken Ray wrote:

> Mark Wieder wrote:
>> See the quit command in the dictionary.
>>
>> quit 42
>
>
> Wow... I've been using Livecode since its inception (and Revolution
> before that, and even MetaCard before *that*!), and I never knew this
> existed!

Me neither.

If this optional exit code param was documented earlier, it's not there now.


> (I wonder if anyone's put together a "list of things Livecode can do
> that you probably didn't know about" ?)

I considered it, but then it occurred to me that anything in the list 
would become public knowledge and thereby no longer qualify for 
inclusion in such a list. ;)


More seriously, I used to maintain a list in a document titled "mode 
16", but I can't find it right now so I can't recall how you stumbled 
across "mode 16" or the other notes there.  I'll find it sometime...



I just filed a bug report on this missing element:
https://quality.livecode.com/show_bug.cgi?id=23028


@ Mark Weider: where did you learn about the quit command supporting an 
exit code?


--
 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: Can LC read QR-Code?

2020-12-08 Thread Richard Gaskin via use-livecode

Mark Wieder wrote:
> But eh? If I click on the Dictionary link in the IDE toolbar in the
> Indy version I get my local dictionary:
>
> file:///home/mwieder/.runrev/documentationcache/9_6_1_commercial
> /api.html
>
> and from there searching for "qr" brings up the correct entries.
> Are you seeing something different?

Only because of my environment customization.  But what remains are:

- Where is the documentation for QR *decoding* for both iOS and Android?

- If this adds value to the product, why hide it from the public?

- The Dictionary appears in my browser, not in a LiveCode window,
  so it appears the browser widget is still as dead as audio and
  video playback in LiveCode's Linux edition.


I have no deep affection for CEF.  How is this done without CEF on other 
platforms?  Does neither Firefox nor Chrome offer an embedded option?


Do you know offhand what Ubuntu was using when they were using an 
embedded browser a couple years ago for their dockable web apps?


--
 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: Can LC read QR-Code?

2020-12-08 Thread Richard Gaskin via use-livecode

Mark Weider wrote:

On 12/7/20 6:07 PM, Richard Gaskin via use-livecode wrote:


Where is LC's QR code plugin documented?

I have Indy, but LiveCode has no functioning browser widget for Linux, 
and so it has no Dictionary; instead it opens the Dictionary from the 
public site, which apparently only documents things in the Community 
Edition.




If you use Bernd Niggeman's tinyDictionary plugin you'll have access to 
the documentation on linux, and in a much more usable and readable form.


Thanks. I'm familiar with tindyDictionary and admire Bernd's work, but 
had hoped there would be documentation available on the web. I can 
download tinyDictionary, or just look at my Mac, so if the only 
documentation for the QR code reader is in the not-online-Dictionary at 
least I know where to go.



As for separate matter of the IDE-provided Dictionary, that it's broken 
in the Linux edition is the smaller problem, the bigger being that the 
reason there's no Dictionary is that there's no working browser widget.


I understand that there are legitimate challenges with that.  But I find 
it difficult to believe that it's technically impossible to embed a 
browser instance in another app on Linux.


I don't mind admitting that I speak naively on that; I can't recall 
offhand seeing another native Linux app that embeds a browser.  But 
given the increasing role of the browser widget as a solution in LC, if 
it's not going to be supported then at a minimum marking it and all 
things dependent on it (like the AOuth lib) as deprecated would at least 
provide clarity about what LC does and doesn't provide.


I guess one upside is that the combination of the browser's 
ever-increasing importance and not having that available in LC (along 
with audio and video playback and others), has prompted me to reconsider 
the role of the desktop and devote more time to exclusively-web 
deployments, the market for which is far from slowing down.



Hint: you can set 4Wdevolution's 'Dictionary' button to address it, and 
then you don't have to deal with the browser version any more.


Thanks for the plug. :)

--
 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: Can LC read QR-Code?

2020-12-07 Thread Richard Gaskin via use-livecode

Klaus wrote:

> Question, the dictionary says the "Android Barcode Library" works with
> LC INDY. But I remember there was one feature falsely reported as
> supported by INDY, but was BUSINESS only in the end. Was it this
> library?

Where is LC's QR code plugin documented?

I have Indy, but LiveCode has no functioning browser widget for Linux, 
and so it has no Dictionary; instead it opens the Dictionary from the 
public site, which apparently only documents things in the Community 
Edition.


--
 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: Some sad news

2020-12-06 Thread Richard Gaskin via use-livecode

Heather Laine wrote:

> I have today received some sad news. I am told that Hermann Hoch
> passed away in April this year, from a stroke.

That is indeed sad news. He was among the most prolific contributors to 
this community.  In my private correspondence with him he was 
insightful, and was always looking out for others.


I will miss him, as I'm sure a great many others will.

--
 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: Printing To Pdf Linux Rendering

2020-12-03 Thread Richard Gaskin via use-livecode

Sean Cole wrote:

I've got a CentOS7 server that I am printing reports from as PDFs. No
matter which font or style I use I get occasional anomalies where
characters from words get placed over each other like a kerning issue gone
mental.

Bad rendering:
https://www.dropbox.com/s/v09vacw8x3873qh/Screenshot%202020-12-04%20at%2005.53.47.png?dl=0

Good rendering:
https://www.dropbox.com/s/ehbdofm3nusgzyh/Screenshot%202020-12-04%20at%2005.54.08.png?dl=0

It's very random. Sometimes it's ok. the next report will come out bad.
There's no real pattern I can identify. I've been going at it for a few
days trying different font types and styles but they are all very hit and
miss. I can't work out if it is Cairo, Cups or something else. From the
print card dialogue I get the same issue. I'm so tired and frustrated from
trying to sort it out. Anyone have a fix/workaround/suggestion?


It's been a while since I've seen that, but when I did it was with an 
older stack brought forward through many versions to v9.


IIRC I replaced the fields that showed the issue one by one until the 
problem went 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: Google and OpenSource apps

2020-11-23 Thread Richard Gaskin via use-livecode

J. Landman Gay wrote:

On 11/23/20 11:59 AM, Richard Gaskin via use-livecode wrote:
The issue with deploying apps governed specifically by the Gnu Public License (GPL, which is 
used for LC Community distribution) has to do with Apple's limitation on the number of 
downloads per account.


That restriction is viewed as rendering Apple's ToS logically incompatible with the freedoms 
guaranteed in the GPL, which expressly require no limitations on usage. 



The restriction is only for the number of beta testers though. Is that enough to qualify for 
the restriction?


The issue was with customer accounts, not dev accounts, which IIRC are 
restricted to a 10-device limit.


--
 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: Google and OpenSource apps

2020-11-23 Thread Richard Gaskin via use-livecode

J. Landman Gay wrote:

> With the caution that apps made from open source libraries usually
> can't charge money. It depends on the license.

Given the range of licenses out there I suppose anything's possible, but 
I've never seen an open source license that explicitly prohibits per-use 
end-user cost.


The GNU Public License (GPL) governing LC Community Edition expresses no 
opinion on costs at all.


Indeed, in the early days of the GPL none other than its inventor, 
Richard Stallman, used to sell floppies containing his GPL-governed 
utilities (though it was a modest fee, just enough to cover his material 
costs and time).


The "free" described in the GPL and other open source licenses isn't 
about money ("gratis") but freedom ("libre"). This ambiguity with "free" 
is among the many limitations of our language, but few speak Latin so 
the license was written in English, with descriptions of how "free" 
applies. :)


But although there are no licensing constraints on fees one may charge 
for the distribution of a finished software, those who receive the 
software do have the right to expect access to the source code at no 
additional cost.


And the GPL also grants them the freedom to modify the source code 
however they like, and to distribute their modified version and its 
source to whomever they like, at any price they like, which can (and use 
does) include zero.


So while there's no copyright constraint on charging for open source 
works, the restriction is simply pragmatic:


If you build a business model solely on per-user fees, and you choose a 
license that allows the user to have access to the source and to 
distribute modified versions of it, you will likely sell exactly one 
copy, to a user who will exercise those freedoms.


The GPL is an excellent license when your goal is about sharing for 
users, and proliferation of derivative works by other developers.


More permissive licenses like MIT may be useful for models benefiting 
from open source process and proprietary consumer deployment.


Proprietary licenses may be needed for other business models.

And with LC, they offer three models:

- Community, governed by GPL, favoring sharing.

- Community Plus, a proprietary license for free-as-in-gratis
  deployment to iOS and elsewhere.

- Indy and Business, for proprietary use also allowing per-use
  fee-based distribution.


And as Jacque noted, some bundled components may have their own 
licensing restrictions, where only some are dual-licensed and others 
proprietary-only - see license and functionality breakdown here:


https://livecode.com/products/livecode-platform/pricing/


--
 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: Google and OpenSource apps

2020-11-23 Thread Richard Gaskin via use-livecode

Klaus -

Does Google allow apps that have been created with the Community Version of LC?

Apple does definitively not, as I know.


AFAIK Apple has no policy prohibiting any open source app, provided it 
meets their other requirements.


The issue with deploying apps governed specifically by the Gnu Public 
License (GPL, which is used for LC Community distribution) has to do 
with Apple's limitation on the number of downloads per account.


That restriction is viewed as rendering Apple's ToS logically 
incompatible with the freedoms guaranteed in the GPL, which expressly 
require no limitations on usage.


AFAIK Google has no such limit on downloads, so their ToS is seen as 
compatible with the GPL.


--
 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: Design Question

2020-11-17 Thread Richard Gaskin via use-livecode

Scott Morrow wrote:

> For getting it FROM the student, why not just use a livecode stack
> file. It could contain everything and be highly editable.

^ this

LiveCode stack files are an underrated document format.


--
 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: Design Question

2020-11-17 Thread Richard Gaskin via use-livecode

William Prothero wrote:

> It seems the effort to make this app work with learning management
> systems would be huge, something I’m definitely not up for.

It may not be.  I've made standards-compliant courseware in the past (a 
while ago; the data format was XML ), and it wasn't as bad as I'd 
thought.  With so much work on the modern standards I'd imagine they're 
far better documented and based on more common conventions than they 
were in yesteryear.


But maybe the key question is: are your customers asking for LMS 
interoperability specifically?


In some segments it can make the difference between being a contender 
and not being considered at all.


But I've seen many other segments that seem to have abandoned hope of a 
standards-driven world of interoperable courseware, quite happy to 
kludge together whatever they need to eventually arrive at a means of 
tracking assessment.


If no one's asking you for LMS compatibility, there would seem to need 
to bother.


If PDF suffices, it's certainly easy to do in 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: The Most Stupid Question Ever?

2020-11-11 Thread Richard Gaskin via use-livecode
Details on how the Message Box behaves, which explains the seeming 
anomaly and is perhaps just fun to know (esp. if you ever want to write 
a drop-in Message Box replacement):


https://forums.livecode.com/viewtopic.php?f=9=34903#p198108

--
 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: Best way to add an image to an oval graphic?

2020-11-11 Thread Richard Gaskin via use-livecode
Using the backgroundPattern seems intuitive, but read the fine print: 
image dimensions have very specific requirements, and not heeding those 
can yield unpredictable results.


Earlier this year I had a project that used backgroundPattern as a way 
to use the graphic shape to mask an image.  It worked well in most 
circumstances, with a satisfying range of images sizes - until it didn't.


We eventually found some images that would render at a fraction of 
actual size, tiling across.


I had to ditch it and find another approach, which led to the thread 
here a few months ago about keyhole effect.


The result of that is you can use a graphic placed on top of an image as 
a mark, with the graphic's backgroundColor set to black and the ink set 
to blendDstIn.


That combo will give you a lot of flexibility for centering and even 
resizing your masking graphic over the image.


--
 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: Windows startup issue

2020-11-10 Thread Richard Gaskin via use-livecode

Paul Dupuis wrote:

> I imagine that they could be added to the Inclusions - if on
> automatic, use of the "scriptExecutionErrors" in your code
> would lead to automatic inclusion. If on manual, you get to
> include them or not.

FWIW it's only 29k uncompressed, 7k compressed.

--
 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: Windows startup issue

2020-11-10 Thread Richard Gaskin via use-livecode

J. Landman Gay jacque wrote:

> On 11/10/20 3:28 PM, Richard Gaskin via use-livecode wrote:
>> But at the time it seemed to me the tool was for edge cases where one
>> might encounter raw error data with no UI.  It never occurred to me
>> to ship an application without error handling, and
>> back then I'd never used LC's so I just assumed it was at least as
>> good as my own.
>
> We shouldn't confuse our own error handling with compiler errors. I
> include extensive logging and error reporting when "the result" or
> something similar in my scripts fail. As developers,
> it's our job to do that.

Of course, which is why I've not been able to find the recipe for seeing 
these lists of error info people keep mentioning here and in the forums.


But given the number of times they're cited, it's clear a lot of people 
are encountering them unexpectedly.



> The cryptic numbers only occur when a compiler error happens. A well-
> tested stack won't have many of those by the time it's distributed.
> The one in question here is an odd one-off which only happened for
> one user.

Compiler errors or execution errors?

If this is limited to compiler errors I'm wondering what went wrong 
earlier in the workflow that so many people are able to close their 
scripts and move on without noticing that the Script Editor has been 
trying to get their attention, and that the scripts don't run at all 
until they're compiled.


The Dictionary says compilation errors are only reported in "the result" 
after an unsuccessful attempt to set the script of an object (apparently 
the old scriptParsingError message is no longer sent, though oddly 
enough a handler for it remains in the IDE).


Do we have that many people writing self-modifying code?


Execution errors are what I was referring to in my last post.

As thorough as we may be, in any sufficiently complex code base there's 
likely to be some error condition we didn't explicitly code for.


Our choices are to handle those ourselves with an errorDialog handler, 
or remember to click the checkbox in the Standalone Builder to use LC's 
Execution Error reporting stack.


If you don't do either, errors fail silently (at least when I just 
tested it here with a simple test stack).


But oddly, when I include LC's Execution Error dialog, the result was, 
shall we say, not as expected:

http://fourthworld.net/lc/lc-err-dialog.png

That's in v9.6.1. Their exec err stack used to work. I wonder when it broke.


So for exec errors, at a minimum it would be very helpful to have the 
Execution Error reporting window option set to be included by default in 
new standalones, so that it can become possible for folks to know what 
happened when behavior starts getting wonky.


Later on I have a wish list of improvements for that dialog, but having 
some means of knowing when an error occurs in a form suitable for 
end-users seems a reasonable minimum to expect.



Hard to say what's in play in this thread (and perhaps others like it) 
where the only reported symptom is a list of error info, since Marty's 
description was:


   "The errors show up in a dialog window."

Is that an answer dialog?  Is that an LC lib that does that, something 
Marty wrote, or...?


How can I get a standalone to show me a list of error info like that?

Whatever that recipe is, that's the thing we'll want to fix.



> So it sounds like you're asking LC to translate its compiler errors
> in standalones. These are infrequent enough for me that the numbers
> aren't much of a concern; they largely happen during development and
> those are translated for us. But Paul's suggestion that standalones
> include the entire error list isn't a bad one, though I'd like it to
> be optional.

It looks they did that some time ago - kinda.  The revIDELookupError 
function in "revIDELibrary" includes this tantalizing line:


get line tCode of the scriptExecutionErrors

So it looks like a built-in function now, right?

Not quite: doesn't work in a standalone.

I'm guessing they copy the latest value that returns into their 
Execution Error dialog when you add that checkbox, so custom things can 
do the same. Still an extra step, but much easier than the old method we 
used to use of having to remember which custom property - and before 
that, which hidden field -- of which stack that list was stored in.


But that's for seasoned pros willing to roll their own.

First we need to figure out how people are unexpectedly seeing lists of 
raw error info and turn that into a more useful experience.


Then we can look at enhancing LC's Execution Error dialog, and have the 
default be on rather than off.


After that there are a hundred other paper cuts, but let's see if we can 
knock these off first.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web

Re: Windows startup issue

2020-11-10 Thread Richard Gaskin via use-livecode

Yes, I had my part of the code handy from my custom error handling.

But at the time it seemed to me the tool was for edge cases where one 
might encounter raw error data with no UI.  It never occurred to me to 
ship an application without error handling, and back then I'd never used 
LC's so I just assumed it was at least as good as my own.


Since then I've learned that providing any UI for error handling at all 
is turned OFF by default.


Off.

As in, "Let's make providing a near-useless solution the thing we guide 
new developers to deliver to their customers."


I was brainstorming with Mark Wieder a few weeks ago about adding static 
analysis to IDE error reporting, aiming for something closer to the 
helpful guidance Clang provides.  Even if we did little more than show 
the var values causing something to trip up, it would save tremendous 
time. Aiming higher seems useful. Other tools are getting better all the 
time.


And that's for just the IDE. If LC devs are comfortable with 
state-of-the-art-circa-2003, what we have in the IDE is at least adequate.


For end-users, though, that's where we really want to shine. It's where 
we NEED to shine.


We want new devs picking up LC to look like heroes, and to deliver that 
high-quality experience with less effort than they'd put in with other 
tools.


That's the point. That's why we use LC.

If we can't do that, why are we here?

Everything is undergoing perpetual change. With products there's new 
customer acquisition on the one side, and attrition on the other. As 
long as change is happening, why not direct some of it? Why not aim a 
little higher, to reduce attrition while attracting new users? Sure, 
we'd all like to see that happen, but a hundred paper cuts unattended 
undermine that goal.


And as paper cuts go, error handling cuts deep. It only happen when 
something went wrong. It's an especially sensitive moment in the user 
journey.  We can either lose the user's trust, or retain it.  So much 
about the confidence end-users have in our work hinges on how we handle 
when things go wrong.


Why not aim higher than the least useful experience?

Or to put this more clearly:

254,11,34
301,2,43
262,67,1
12,22,1
132,1,44
73,68,1
241,67,1
353,0,0
433,2,0
201,0,0
88,3,22
322,4,20
568,22,0

--
 Richard Gaskin
 Fourth World Systems



J. Landman Gay wrote:

On 11/10/20 1:14 AM, Richard Gaskin via use-livecode wrote:

J. Landman Gay wrote:

 > On 11/9/20 3:54 PM, Richard Gaskin via use-livecode wrote:
 >> And WTH happened to LC's error reporting dialog?
 >
 > Standalones have always reported this way on both desktop and mobile.
 > It is up to the developer to include the translated references if
 > they want to see those. Generally I don't bother, I provide the
 > optional built-in ability to send email to support or save a file.
 > I can translate the numbers myself since the meanings usually mean
 > nothing to the end-user anyway.

I've been using my own error-reporting for so long I can't recall seeing the default standalone 
handling.


I have made a couple of quickies where I just used LC's error reporting, but clumsy as that 
design is at least the output from the "Send Report" button is more useful than the raw list of 
triplet integers. >

How has such ungraceful error handling become acceptable?

Why is the least useful thing the easiest for new developers to do?

Shouldn't it be easy for LC devs to deliver a great application experience?



I can't remember a time when it *didn't* report the triplets outside of the IDE. That's why you 
and I wrote the Error Lookup stack. ;)


--
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: Windows startup issue

2020-11-09 Thread Richard Gaskin via use-livecode

J. Landman Gay wrote:

> On 11/9/20 3:54 PM, Richard Gaskin via use-livecode wrote:
>> And WTH happened to LC's error reporting dialog?
>
> Standalones have always reported this way on both desktop and mobile.
> It is up to the developer to include the translated references if
> they want to see those. Generally I don't bother, I provide the
> optional built-in ability to send email to support or save a file.
> I can translate the numbers myself since the meanings usually mean
> nothing to the end-user anyway.

I've been using my own error-reporting for so long I can't recall seeing 
the default standalone handling.


I have made a couple of quickies where I just used LC's error reporting, 
but clumsy as that design is at least the output from the "Send Report" 
button is more useful than the raw list of triplet integers.


How has such ungraceful error handling become acceptable?

Why is the least useful thing the easiest for new developers to do?

Shouldn't it be easy for LC devs to deliver a great application experience?

--
 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: Windows startup issue

2020-11-09 Thread Richard Gaskin via use-livecode

Marty Knapp wrote:


I have a customer who is having a weird issue with a Windows app built in LC 
(9.6.1). It worked fine for about a month, it works fine here for me all the 
time and it works fine for all our other customers.

On startup is begins to launch then gets a bunch of errors:

269,76,1
262,67,1
252,67,1
241,67,1
353,0,0
573,68,1
253,68,1
241,67,1
353,0,0


Where do those appear?

And WTH happened to LC's error reporting dialog?

I see more and more error info reports like this in recent years. 
Presenting anything like this to either devs or end-users is a horrible 
experience.


We can do better.

--
 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 server UNIX version (not Linux).

2020-10-29 Thread Richard Gaskin via use-livecode

Brian Milby wrote:

> On Oct 28, 2020, at 11:57 PM, Richard Gaskin wrote:
>> But Heriberto's up for an adventure, one enhancement that would lower
>> RAM use and speed things up a bit is this one:
>>
>> https://quality.livecode.com/show_bug.cgi?id=14115
>>
>> Heriberto, if that's interesting to you let me know. I have a
>> workaround in place now...
>
> What is the workaround that you ended up using?  I looked at the code
> once but it quickly went over my head.  I couldn’t see where the fonts
> were pulled in, at least not where it could be cleanly intercepted.

I appreciate the time you and Mark Wieder spent looking into that - 
thanks again.


I just ran another test this morning to verify that the setup works 
reasonably well, and after I get some client work out of the way I'll 
post some notes on it.


In the meantime, another option just occurred to me which may be simpler 
and more complete:



What happens when standalones are run with -ui, and can that flag be 
added to LC Server?


If -ui not only bypasses font init but all other graphics init (like the 
Skia subsystem, buffering, etc.) it should be a far better solution.


And since -ui is already supported for standalones, my hope is it would 
be simpler to make it available for LC Server than any new flag which 
would require a new implementation throughout.


--
 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 server UNIX version (not Linux).

2020-10-28 Thread Richard Gaskin via use-livecode

Pi Digital wrote:

> Here’s my take (for what it’s worth). Although Unix is used in 71.6%
> (source: w3techs.com) of all known websites as of today and Linux only
> 29.0%, at least we have ‘a’ distro that works on some server.

That struck me as odd, so I took a moment to see how they derived that 
impressive Unix number (thanks for including the source).


It turns out they're lumping Unix and Linux together under "Unix" - when 
you click "Unix" you get this breakdown:


   Subcategories of Unix

   This diagram shows the percentages of websites using various
   subcategories of Unix.

   How to read the diagram:
   Linux is used by 40.5% of all the websites who use Unix

   Websites who use Unix
   Linux   40.5%
   BSD  0.5%
   Darwin less than 0.1%
   HP-UX  less than 0.1%
   Solarisless than 0.1%
   Minix  less than 0.1%
   Unknown59.0%

I'd wager most of the 59% using "Unknown" are also Linux.

That would line up well enough with what we see at the Wikipedia page 
for server OS market share:


  Linux   FreeBSDUnknown  Windows
   W3Cook July 201596.4% 1.7%   0%  1.9%
   W3TechsFeb  201535.9%   0.95%   30.9%   32.3%
   Security Space  Feb 2014   <79.3% N/A   >20.7%

https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Public_servers_on_the_Internet

While Windows has a strong showing in the enterprise for internal 
servers, public-facing servers are by far a Linux story.


This is not only true for most shared and VPS hosting, but public clouds 
as well, with Google, Amazon, and Apple all using Linux to drive their 
infrastructure, and even though Azure is a Win/Linux mix there's a 
surprising amount of Linux going on there (with Ubuntu being the leading 
choice inside containers).


I bring this up not just because I'm a Linux fanboy (though I am and 
make no apologies; I was even worse when I used to be a Mac fanboy ), 
but just as a long-winded way to help support your main thesis:


Aside from new architectures like Linux ARM (Raspberry Pi), the most 
commonly-used platforms where LiveCode Serer would be used are well 
supported.


So, as you wrote:

> Seriously, if anyone was considering doing this, please..., please,
> reconsider and put your efforts and talent into fixing what we already
> have. It would be far more beneficial to a much greater community
> population.

There may be many useful requests in the bug DB worth considering to 
improve the performance, robustness, and feature set of LC Server.


But Heriberto's up for an adventure, one enhancement that would lower 
RAM use and speed things up a bit is this one:


https://quality.livecode.com/show_bug.cgi?id=14115

Heriberto, if that's interesting to you let me know. I have a workaround 
in place now, and I'll bet there's a way to move that inside the engine 
for a solution that's much simpler than when we discussed it here on 
this list earlier this year.


--
 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 server UNIX version (not Linux).

2020-10-28 Thread Richard Gaskin via use-livecode

Heriberto Torrado wrote:

> So, here is my idea: What about to create non official versions of
> Livecode server (for scripting purposes) for other platforms not yet
> supported?
> I think it could be good for RunRev: They won't have to work
> supporting those versions and Livecode language will spread to other
> fields.
>
> What do you guys think? Do you think we'll have enough manpower into
> our community to do that?

Raspberry Pi, w/ Raspbian or other Debian-based Linux (Linux ARM).

Home servers, school labs, IoT, and so much more - all currently lost to 
us by not having a build for that engine.


The last build was an experiment done by a team member no longer with 
the company, for LC v7.1.


If you could update the Server edition to v9.6 we could at least have a 
modern version to work with for faceless applications, and any remaining 
work for the GUI side would likely be relatively small (certainly 
smaller than one person trying to knock it all off by themselves).


--
 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 resolve "unable to locate play service dependency base version 9.4.0"

2020-10-25 Thread Richard Gaskin via use-livecode

Panos wrote:

> This will probably help:
>
> https://quality.livecode.com/show_bug.cgi?id=22384

The instructions in your comment there certainly did.  Thank you.

--
 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


How to resolve "unable to locate play service dependency base version 9.4.0"

2020-10-24 Thread Richard Gaskin via use-livecode
When trying to compile an app for Android I get an error: "unable to 
locate play service dependency base version 9.4.0"


No further guidance is provided.

Clues?

--
 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: Websockets

2020-10-21 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> Does anyone know if there are any plans for introducing websockets
> to livecode?

I've not seen any indication of a commitment to add websockets to LC.

Websockets were added to browsers to provide a constrained way to allow 
persistent connections without exposing web pages to regular sockets.


Since LC already supports regular sockets, even secure sockets, the 
value of websockets appears limited to attempting to use web services 
for the the provider has expressed a desire that they only be accessed 
by web pages (if they want to support native clients why not also use 
regular sockets?).


Is there another use-case I haven't considered?

I've found myself wanting this myself now and then, but I have to admit 
mostly just for the sake of completeness; I haven't come across a 
specific need for it in the work I've been doing.


If you have it would be valuable to learn the details so we can better 
assess how it may be prioritized, or perhaps toss some funding together 
for an implementation.



> Or if there are any working 3rd party implementations that are
> available?

LC Builder was delivered as the bridge for writing our own scripting 
interfaces for binary APKs.  This would seem a good fit for that, no?



> its been a lot of years.

Since what?


--
 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

2020-10-20 Thread Richard Gaskin via use-livecode
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

2020-10-20 Thread Richard Gaskin via use-livecode

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

2020-10-19 Thread Richard Gaskin via use-livecode

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

2020-10-19 Thread Richard Gaskin via use-livecode

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

2020-10-19 Thread Richard Gaskin via use-livecode

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

2020-10-19 Thread Richard Gaskin via use-livecode

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

2020-10-18 Thread Richard Gaskin via use-livecode

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


  1   2   3   4   5   6   7   8   9   10   >