Re: the beauty of the command line tools (a side note from Re: LC/macOS App Store)

2018-11-10 Thread JJS via use-livecode
In the release notes of LC is a line that states: LC is actually a 
command line tool.



Op 10-11-2018 om 13:18 schreef Pi Digital via use-livecode:

Hi

Just to follow on from Andre, you can of course also run terminal scripts from 
LC. That’s exactly what I did in the aforementioned OSX Package Maker (soon to 
be reissued as the iOS/macOS Package Maker). You ‘could’ make a GUI for every 
terminal command available including every nuance and parameter. Indeed, Apple 
could do this for ‘every’ Unix/Terminal command. But can you imagine the 
complaints that would come with it with regards bloat ware.

But in addition to this is the thought that terminal stuff, much like LC stuff, 
can combine multiple commands and functions together into one line of script. 
Can you imagine if LC was entirely GUI based. Of course not as it would make it 
somewhat impractical. Not to say that it is impossible as is demonstrated by 
the Unreal Engine coding environment (which is pretty cool actually, albeit a 
bit cumbersome).

Take, also the simplicity of copy/paste that would not be possible in a gui. 
All apple have to do is give an example of a line of script where we replace 
out the various parameters to suit our circumstance. I say Bravo to Apple for 
making this still available and a common standard for ‘us’ (bearing in mind 
this kind of stuff is aimed at coders/developers who are used to it as opposed 
to the ‘grannies and grandpas’ who barely use a mouse let alone the keyboard).

Sorry I was unable to sort out the Package maker before this. As some of you 
are aware I went through a pretty severe emotional hiccup midway through this 
year. Kee (whom I let down the most) managed to pick up a lot of the slack 
producing the guide for us all.

No doubt Apple will continue to make changes to the way things are done. But 
that is the nature of Soft wares. They are not rigid and inflexible. It is a 
good thing. As much as it is a pain, there’s nearly always a resultant gain. Go 
with it, adapt, and evolve. That’s progress!

All the best to you all.

Sean Cole
Pi Digital


On 10 Nov 2018, at 11:01, Andre Alves Garzia via use-livecode 
 wrote:

Bob,

I am hijacking this thread to express some personal opinions about the 
terminal, it is not related to the topic of the original message but a 
different perspective on the subject you brought up on your reply.

When I first for my mac (A G3 running Mac OS 8.x) and started developing for it, my first 
thought was: "Where is the terminal?!", the lack of terminal was one of the 
main reason I struggled with development in the mac for some time because, IMHO there is 
a beauty to terminal tools that is no longer available to the current incarnation of 
macOS (but was present in earlier versions, more about it later).

The main advantage for terminal tools is composability, which is at the heart of the UNIX philosophy and remember (the current) "macOS 
is UNIX". Having little tools that compose with one another to execute whatever workflow you need. You generate certificates with one 
tool, you sign binaries with another, you pipe the result of one command into the other and with some clever scripting you automate your 
whole flow. The power of UNIX is this toolbox of little tools and the scripting that goes on top of them to compose them into pieces more 
powerful and featureful than each individual component. Thats why in the terminal you can use a single line to post something to a web API 
server, get a response, decode it, parse its JSON reply, reason about it and extract data, just by piping from "curl" to 
"jq" to "awk" or "grep" or "wc" or whatever you need.

GUI tools don't compose. You need to ship new tools to add more features or you 
need to update the current ones. Doing web stuff on classic MacOS was tricky as 
I couldn't rely on my usual toolset of little UNIX gizmos (I learned about MPW 
and other stuff later).

The solution to make GUI tools composable is AppleScript of course, and I know 
many who are reading this email thought about that when reading the second 
paragraph. With AppleScript we could have all the convenience of GUI, the kind 
of easy and amazing UX that Bob was talking about, and yet be composable thus 
making each GUI tool more capable than its features alone. And for a while, 
this was fantastic but AppleScript is no longer in favor at Apple and most 
Third-Party developers seem to have forgotten it. Each power-user oriented app 
that allows scripting appears to be shipping a different solution, so the dream 
of AppleScript is lost, it was also never cross-platform, but the little rusty 
UNIX toolkit still works, almost 60 years later, and it is cross-platform-ish. 
So the Terminal allows Apple and others to reuse good tools from GNU, *BSD and 
others and build the workflow they need.

Little terminal tools are the only way to automation these days, all the other 
solutions require more buy-in from 3rd party developers or reinventing the 
whee

Re: the beauty of the command line tools (a side note from Re: LC/macOS App Store)

2018-11-10 Thread Pi Digital via use-livecode
Hi

Just to follow on from Andre, you can of course also run terminal scripts from 
LC. That’s exactly what I did in the aforementioned OSX Package Maker (soon to 
be reissued as the iOS/macOS Package Maker). You ‘could’ make a GUI for every 
terminal command available including every nuance and parameter. Indeed, Apple 
could do this for ‘every’ Unix/Terminal command. But can you imagine the 
complaints that would come with it with regards bloat ware. 

But in addition to this is the thought that terminal stuff, much like LC stuff, 
can combine multiple commands and functions together into one line of script. 
Can you imagine if LC was entirely GUI based. Of course not as it would make it 
somewhat impractical. Not to say that it is impossible as is demonstrated by 
the Unreal Engine coding environment (which is pretty cool actually, albeit a 
bit cumbersome). 

Take, also the simplicity of copy/paste that would not be possible in a gui. 
All apple have to do is give an example of a line of script where we replace 
out the various parameters to suit our circumstance. I say Bravo to Apple for 
making this still available and a common standard for ‘us’ (bearing in mind 
this kind of stuff is aimed at coders/developers who are used to it as opposed 
to the ‘grannies and grandpas’ who barely use a mouse let alone the keyboard). 

Sorry I was unable to sort out the Package maker before this. As some of you 
are aware I went through a pretty severe emotional hiccup midway through this 
year. Kee (whom I let down the most) managed to pick up a lot of the slack 
producing the guide for us all. 

No doubt Apple will continue to make changes to the way things are done. But 
that is the nature of Soft wares. They are not rigid and inflexible. It is a 
good thing. As much as it is a pain, there’s nearly always a resultant gain. Go 
with it, adapt, and evolve. That’s progress!

All the best to you all. 

Sean Cole
Pi Digital

> On 10 Nov 2018, at 11:01, Andre Alves Garzia via use-livecode 
>  wrote:
> 
> Bob,
> 
> I am hijacking this thread to express some personal opinions about the 
> terminal, it is not related to the topic of the original message but a 
> different perspective on the subject you brought up on your reply.
> 
> When I first for my mac (A G3 running Mac OS 8.x) and started developing for 
> it, my first thought was: "Where is the terminal?!", the lack of terminal was 
> one of the main reason I struggled with development in the mac for some time 
> because, IMHO there is a beauty to terminal tools that is no longer available 
> to the current incarnation of macOS (but was present in earlier versions, 
> more about it later).
> 
> The main advantage for terminal tools is composability, which is at the heart 
> of the UNIX philosophy and remember (the current) "macOS is UNIX". Having 
> little tools that compose with one another to execute whatever workflow you 
> need. You generate certificates with one tool, you sign binaries with 
> another, you pipe the result of one command into the other and with some 
> clever scripting you automate your whole flow. The power of UNIX is this 
> toolbox of little tools and the scripting that goes on top of them to compose 
> them into pieces more powerful and featureful than each individual component. 
> Thats why in the terminal you can use a single line to post something to a 
> web API server, get a response, decode it, parse its JSON reply, reason about 
> it and extract data, just by piping from "curl" to "jq" to "awk" or "grep" or 
> "wc" or whatever you need.
> 
> GUI tools don't compose. You need to ship new tools to add more features or 
> you need to update the current ones. Doing web stuff on classic MacOS was 
> tricky as I couldn't rely on my usual toolset of little UNIX gizmos (I 
> learned about MPW and other stuff later).
> 
> The solution to make GUI tools composable is AppleScript of course, and I 
> know many who are reading this email thought about that when reading the 
> second paragraph. With AppleScript we could have all the convenience of GUI, 
> the kind of easy and amazing UX that Bob was talking about, and yet be 
> composable thus making each GUI tool more capable than its features alone. 
> And for a while, this was fantastic but AppleScript is no longer in favor at 
> Apple and most Third-Party developers seem to have forgotten it. Each 
> power-user oriented app that allows scripting appears to be shipping a 
> different solution, so the dream of AppleScript is lost, it was also never 
> cross-platform, but the little rusty UNIX toolkit still works, almost 60 
> years later, and it is cross-platform-ish. So the Terminal allows Apple and 
> others to reuse good tools from GNU, *BSD and others and build the workflow 
> they need.
> 
> Little terminal tools are the only way to automation these days, all the 
> other solutions require more buy-in from 3rd party developers or reinventing 
> the wheel. Thats why it pays of to learn just