Livestreaming some LiveCoding right now

2021-03-11 Thread Andre Garzia via use-livecode
Hey Friends,

I found myself in need of building a git plugin for LiveCode today. Instead
of building it on my own, I decided to livestream the whole process. To
watch it, jump in to:

https://youtu.be/cOr87w7GyGs

I'm live right now and I have no clue how long this will take and if I will
actually succeed in building the plugin I want. This is a good opportunity
to interact with another developers (there is a chat) and watch how I work.
You'll see my mistakes, debugging skills, and maybe even learn something.

see ya
Andre
-- 
https://www.andregarzia.com 
Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
___
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


Why is livecode sniffing around my network

2021-03-11 Thread doc hawk via use-livecode
Little Snitch just reported,

> LiveCode Business 9.6.2 (rc 1) (LiveCode-Business)
wants to connect to docs-12-pro-max.local on TCP port 62078


Why in the world is livecode sniffing about my localnet?

___
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: Livestreaming some LiveCoding right now

2021-03-11 Thread Bob Sneidar via use-livecode
Okay “status” has to be a reserved word because it is a built in property of a 
player object. Why does LC allow you to use it as a handler?

Bob S


On Mar 11, 2021, at 7:54 AM, Mark Wieder via use-livecode 
mailto:use-livecode@lists.runrev.com>> wrote:

On 3/11/21 7:41 AM, Martin Koob via use-livecode wrote:
Hi Andre
Sound cool,  Live LiveCoding.

Live LiveCode Coding.

--
Mark Wieder
ahsoftw...@gmail.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: Livestreaming some LiveCoding right now

2021-03-11 Thread Mark Wieder via use-livecode

On 3/11/21 7:41 AM, Martin Koob via use-livecode wrote:

Hi Andre

Sound cool,  Live LiveCoding.



Live LiveCode Coding.

--
 Mark Wieder
 ahsoftw...@gmail.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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Bob Sneidar via use-livecode

A well put answer to that egregious question that haunts ALL who are problem 
solvers: “Which is better?”
A person might mean, better for your pocketbook, Long term/short term, better 
to configure, better performance, better support, better looking, better 
sounding...

Really, this is a perennial problem with all people in all vocations. We don’t 
necessarily need more information, we need more understanding. Then we will 
learn to ask the right kind of questions.


:-)

Bob S


On Mar 11, 2021, at 8:03 AM, Richard Gaskin via use-livecode 
mailto:use-livecode@lists.runrev.com>> wrote:

LiveCode is very flexible, giving us many options for structuring data 
according to the needs of the task at hand.  Which is "better" or "more useful" 
depends on the problem being solved.

--
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: Livestreaming some LiveCoding right now

2021-03-11 Thread Martin Koob via use-livecode
Hi Andre

Sound cool,  Live LiveCoding.

Jumping in for a bit now.


Martin
> On Mar 11, 2021, at 10:36 AM, Andre Garzia via use-livecode 
>  wrote:
> 
> Hey Friends,
> 
> I found myself in need of building a git plugin for LiveCode today. Instead
> of building it on my own, I decided to livestream the whole process. To
> watch it, jump in to:
> 
> https://youtu.be/cOr87w7GyGs
> 
> I'm live right now and I have no clue how long this will take and if I will
> actually succeed in building the plugin I want. This is a good opportunity
> to interact with another developers (there is a chat) and watch how I work.
> You'll see my mistakes, debugging skills, and maybe even learn something.
> 
> see ya
> Andre
> -- 
> https://www.andregarzia.com 
> Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
> ___
> 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


___
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: ‘Super Sub’ multidimensional arrays

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

Sean Cole wrote:

> Why is tArray[x,y,z] more useful/flexible but not better
> than tArray[x][y][z]?

Is it?

Remember the definition of an array:  a collection of name-value pairs 
where the name can be any string up to 255 chars long, and the value can 
be any data, including another array.


With that in mind, this:

tArray[x,y,z]

...is recognized a one-dimensional array.

It just happens to include commas in the key string.

An array using delimited strings as keys might be useful for parsing 
lists of those keys.


You could also parse the key strings with a custom delimiter:

tArray[ x & y & z ]

Sometimes this may be useful for aggregate operations on an array, such 
as LC's matrixMultiply function which suggests the delimited-string 
form, or other operations where using filter on the key list may be 
helpful, e.g.:


put the keys of tArray into tKeys
filter tKeys with "4,*"

But you can't obtain any subarray using only delimited key strings, 
because there is none.


For that you would need a multidimensional array: tArray[x][y][z]

Depending on what you're doing, there may be cases where using delimited 
string keys in one dimension is useful in an array where other 
dimensions use simpler strings:


tArray[a][x,y,z][b]

LiveCode is very flexible, giving us many options for structuring data 
according to the needs of the task at hand.  Which is "better" or "more 
useful" depends on the problem being solved.


--
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: Livestreaming some LiveCoding right now

2021-03-11 Thread Rick Harrison via use-livecode
Hi Andre,

You should do this again.  

Next time give us some notice so we can join you at the beginning.  

Your voice was only coming out of the left side of my headphones so you need to 
balance your audio better.

Thanks,

Rick

> On Mar 11, 2021, at 10:36 AM, Andre Garzia via use-livecode 
>  wrote:
> 
> Hey Friends,
> 
> I found myself in need of building a git plugin for LiveCode today. Instead
> of building it on my own, I decided to livestream the whole process. To
> watch it, jump in to:
> 
> https://youtu.be/cOr87w7GyGs
> 
> I'm live right now and I have no clue how long this will take and if I will
> actually succeed in building the plugin I want. This is a good opportunity
> to interact with another developers (there is a chat) and watch how I work.
> You'll see my mistakes, debugging skills, and maybe even learn something.
> 
> see ya
> Andre
> -- 
> https://www.andregarzia.com 
> Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
> ___
> 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


___
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: Why is livecode sniffing around my network

2021-03-11 Thread doc hawk via use-livecode
The only process that I have anything to do with that could have reached 
off-machine would have been reaching to the Postgres server, but that doesn’t 
use a local address (although the server is indeed local).

This is the business edition, but it has never had an iOS or android 
stack/configuration/anything.
___
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: Why is livecode sniffing around my network

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

doc hawk wrote:

> Little Snitch just reported,
>
>> LiveCode Business 9.6.2 (rc 1) (LiveCode-Business) wants
>> to connect to docs-12-pro-max.local on TCP port 62078
>
> Why in the world is livecode sniffing about my localnet?

Is it sniffing when it's attempting to connect to a specific process on 
a specific port?


I'd guess it's likely either LC's remote debugger or possibly the 
Dictionary.


The Dict is heavily JavaScript-dependent, and JS doesn't execute in many 
browsers from "file://", requiring localhost instead.


On the other hand, "12-pro-max" sounds like an iPhone model.

--
 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 borked for LC Linux?

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

Mark Wieder wrote:

> On 1/16/21 10:30 AM, Richard Gaskin via use-livecode wrote:
>
>> This report for Linux Mint seems perhaps relevant:
>> https://quality.livecode.com/show_bug.cgi?id=21131
>
> In my comment #13 on that bug report I suggest a workaround. Is that a
> possible way forward for you?

For those who haven't read Mark's helpful workaround, from his comment 
there:


   If you print to pdf, copy and rename that pdf file into
   the /tmp directory, then you can print it to the printer
   because the print command invokes lp properly.


Thanks, Mark. That's more or less what I'm doing now, though manually.

I can work around most of the limitations each time another wheel falls 
off the LC Linux engine.


So I'm okay. I'm more concerned the other tens of millions of desktop 
Linux users who may not stumble across this workaround and get a poor 
impression of what LiveCode can do for themselves and the orgs they run.


--
 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 borked for LC Linux?

2021-03-11 Thread JeeJeeStudio via use-livecode

Not just LC.

If you try to print a Gmail message in Firefox on Ubuntu Mate, then it 
creates also a pdf which is not getting printed.


Doing the same in chrome and it prints correct.

Printing from Firefox to pdf, then open the pdf in the standard pdf 
reader, it prints also correct.


This was with a Canon inkjet, but there are also issues with other 
brands. In this it looks like Firefox is doing something weird.



Op 11-3-2021 om 20:27 schreef Richard Gaskin via use-livecode:

Mark Wieder wrote:

> On 1/16/21 10:30 AM, Richard Gaskin via use-livecode wrote:
>
>> This report for Linux Mint seems perhaps relevant:
>> https://quality.livecode.com/show_bug.cgi?id=21131
>
> In my comment #13 on that bug report I suggest a workaround. Is that a
> possible way forward for you?

For those who haven't read Mark's helpful workaround, from his comment 
there:


   If you print to pdf, copy and rename that pdf file into
   the /tmp directory, then you can print it to the printer
   because the print command invokes lp properly.


Thanks, Mark. That's more or less what I'm doing now, though manually.

I can work around most of the limitations each time another wheel 
falls off the LC Linux engine.


So I'm okay. I'm more concerned the other tens of millions of desktop 
Linux users who may not stumble across this workaround and get a poor 
impression of what LiveCode can do for themselves and the orgs they run.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.com http://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


___
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: Livestreaming some LiveCoding right now

2021-03-11 Thread Klaus major-k via use-livecode
Hi Andre and all,

> Am 11.03.2021 um 20:24 schrieb Andre Garzia via use-livecode 
> :
> 
> Hey Friends,
> ...
> As for "status" being a reserved word, well, it is colorised as if it is
> but you can use it without any problem. I've been using it for years.

then you were lucky!

I have been using LC and its ancestors for more than 20 years now, and found 
that every version of LC is less forgiving with this kind of "sloppy" scripting.

One day it will BITE you, believe me! 8-)


Best

Klaus

--
Klaus Major
https://www.major-k.de
https://www.major-k.de/bass
kl...@major-k.de


___
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: Livestreaming some LiveCoding right now

2021-03-11 Thread Andre Garzia via use-livecode
Hey Friends,

Thanks a ton for joining in. It was just me playing around. I plan to do
this regularly. I'll announce it earlier in the future so that people can
prepare.

I'm aware of the audio problem, I need to buy a better mic. I'm using a
lapel mono mic at the moment, the streaming box should be duplicating the
channels but for some reason it is not. I'll fix this for the next
streaming.

As for "status" being a reserved word, well, it is colorised as if it is
but you can use it without any problem. I've been using it for years.

My question is, why "revIDEUnsubscribe" and "revIDEUnsubscribeAll" are not
working... that is so odd.

I hope people here had fun seeing me circle around trying to figure out why
my code doesn't work.



On Thu, 11 Mar 2021 at 17:26, Rick Harrison via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi Andre,
>
> You should do this again.
>
> Next time give us some notice so we can join you at the beginning.
>
> Your voice was only coming out of the left side of my headphones so you
> need to balance your audio better.
>
> Thanks,
>
> Rick
>
> > On Mar 11, 2021, at 10:36 AM, Andre Garzia via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Hey Friends,
> >
> > I found myself in need of building a git plugin for LiveCode today.
> Instead
> > of building it on my own, I decided to livestream the whole process. To
> > watch it, jump in to:
> >
> > https://youtu.be/cOr87w7GyGs
> >
> > I'm live right now and I have no clue how long this will take and if I
> will
> > actually succeed in building the plugin I want. This is a good
> opportunity
> > to interact with another developers (there is a chat) and watch how I
> work.
> > You'll see my mistakes, debugging skills, and maybe even learn something.
> >
> > see ya
> > Andre
> > --
> > https://www.andregarzia.com 
> > Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
> > ___
> > 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
>
>
> ___
> 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
>


-- 
https://www.andregarzia.com 
Want to support me? Buy me a coffee at https://ko-fi.com/andregarzia
___
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: Multidimensional array issue

2021-03-11 Thread HENRY LOWE via use-livecode
Thank you to everyone for help in resolving this issue.

The syntax for determining if tArray[“status”] contains data or an array 
appears to be either:

If the value of tArray[“status”] is not empty // contains data

or

If tArray[“status”] is not an array // contains data

If I remember correctly, LC arrays are implemented as associative arrays (key, 
value pairs). I assume that they are implemented as hash tables as opposed to 
trees?

Henry



> On Mar 10, 2021, at 9:06 AM, Bob Sneidar via use-livecode 
>  wrote:
> 
> What he said. :-)
> 
> Bob S
> 
> 
> On Mar 9, 2021, at 10:19 AM, Ralph DiMola via use-livecode 
> mailto:use-livecode@lists.runrev.com>> wrote:
> 
> If (not(tArray[“status”] is an array)) and (tArray[“status”] is not empty) 
> then -- ***tArray[“status”] is not an array and is not empty.
> As MW said empty is technically a value.
> 
> ___
> 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


___
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: Why is livecode sniffing around my network

2021-03-11 Thread panagiotis merakos via use-livecode
Probably this is the remote debugger (Business edition only), it uses
sockets.

Kind regards,
Panos
--

On Thu, 11 Mar 2021 at 19:43, doc hawk via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Little Snitch just reported,
>
> > LiveCode Business 9.6.2 (rc 1) (LiveCode-Business)
> wants to connect to docs-12-pro-max.local on TCP port 62078
>
>
> Why in the world is livecode sniffing about my localnet?
>
> ___
> 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
>
___
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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Sean Cole (Pi) via use-livecode
On to Array use for File System Indexing:

Take a simple FS structure:

c:/
.FileC
Folder1
File1.txt
Folder2
Size  (aka Folder2_1)
File2.txt
File2_1.png
Folder3
Folder4
Archive.zip
File4.doc

Say we want to store in our indexing array the sizes, creation dates and
kind of every file, folder and volume.

If we ploughed in without thinking to much about it we might put File1.txt
in as:  'put tValue into
tTableA["c:/"]["Folder1"]["File1.txt"][tParameter]'with tParameter
being "Size", "Date" or "Kind". That seems ok.
But what about, then, size of Folder2?   'put tFldrSize into
tTableA["c:/"]["Folder2"]["Size"]' .  What happens to the contents of a
folder 'named' "Size" once the parameter 'Size' gets written to in the
array? It writes over all of it.

So, maybe, a 'better', more manageable approach might be to have parameters
stored thusly:  'put tFldrSize into tTableA["c:/"]["Folder2","Size"]'
Then the File named "File2.txt" could be stored
as tTableA["c:/"]["Folder2"]["Size"]["File2.txt"] without fear
that ["c:/"]["Folder2"]["Size"] might be overwritten accidentally by a
parameter.

Likewise, "Folder3" can readily be stored as ["Folder3","Kind"]="Folder"
and "Archive.zip" could have a kind set as "Zip", and could then be scanned
even later for its contents with them being added to the sub-structure of
the array.

So, using {curly brackets} to denote optional parameters, the syntax for
this array could be thought of as:
put tValue into tMyArrayA [tItemName {, tParameterName} ]
put tValue into tMyArrayA [tItemName ] { [tItemName] ... [tItemName
{, tParameterName} ] }
put tFolderA into tMyArrayA [tItemName ] { ... [tItemName ] }

I hope that all makes sense.

Sean
___
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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Mark Wieder via use-livecode

On 3/11/21 3:03 PM, Sean Cole (Pi) via use-livecode wrote:


I hope that all makes sense.


Sean-

That makes sense, but it's a bad paradigm (IMO) for the same reason that 
using real data for database indexes is a bad idea unless it just gets 
written once and doesn't need maintenance.


What happens when a folder or a file gets renamed? You have to work your 
way through the array finding out where the old name is, carefully 
extract any data residing there, delete the old array element, and 
insert a new element containing the old data. Trust me, this is a 
pain... having just gone through this with the styledText array of field 
contents.


--
 Mark Wieder
 ahsoftw...@gmail.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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Sean Cole (Pi) via use-livecode
Sorry, I just wanted to add...
The keys of tTableA["c:/"] would be:
.FileC
.FileC,Date
.FileC,Kind
.FileC,Size
Folder1
Folder1,Date
Folder1,Kind
Folder1,Size
...
Folder4
Folder4,Date
Folder4,Kind
Folder4,Size

An alternative for "Kind" could be ("Kind_" & tKind) with a value set as
empty of anything else you like. So Folder1 could have a parameter key of
["Folder1","Kind_Folder"] and ".FileC" could have a parameter key of
[".FileC","Kind_HiddenSystem"] maybe. That way you could easily filter the
keys to list only Folders, Hidden Files/Folders or FileTypes.

Sean

On Thu, 11 Mar 2021 at 23:03, Sean Cole (Pi)  wrote:

> On to Array use for File System Indexing:
>
> Take a simple FS structure:
>
> c:/
> .FileC
> Folder1
> File1.txt
> Folder2
> Size  (aka Folder2_1)
> File2.txt
> File2_1.png
> Folder3
> Folder4
> Archive.zip
> File4.doc
>
> Say we want to store in our indexing array the sizes, creation dates and
> kind of every file, folder and volume.
>
> If we ploughed in without thinking to much about it we might put File1.txt
> in as:  'put tValue into
> tTableA["c:/"]["Folder1"]["File1.txt"][tParameter]'with tParameter
> being "Size", "Date" or "Kind". That seems ok.
> But what about, then, size of Folder2?   'put tFldrSize into
> tTableA["c:/"]["Folder2"]["Size"]' .  What happens to the contents of a
> folder 'named' "Size" once the parameter 'Size' gets written to in the
> array? It writes over all of it.
>
> So, maybe, a 'better', more manageable approach might be to have
> parameters stored thusly:  'put tFldrSize into
> tTableA["c:/"]["Folder2","Size"]'
> Then the File named "File2.txt" could be stored
> as tTableA["c:/"]["Folder2"]["Size"]["File2.txt"] without fear
> that ["c:/"]["Folder2"]["Size"] might be overwritten accidentally by a
> parameter.
>
> Likewise, "Folder3" can readily be stored as ["Folder3","Kind"]="Folder"
> and "Archive.zip" could have a kind set as "Zip", and could then be
> scanned even later for its contents with them being added to the
> sub-structure of the array.
>
> So, using {curly brackets} to denote optional parameters, the syntax for
> this array could be thought of as:
> put tValue into tMyArrayA [tItemName {, tParameterName} ]
> put tValue into tMyArrayA [tItemName ] { [tItemName] ...
> [tItemName {, tParameterName} ] }
> put tFolderA into tMyArrayA [tItemName ] { ... [tItemName ] }
>
> I hope that all makes sense.
>
> Sean
>
___
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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Sean Cole (Pi) via use-livecode
Richard and Bob

Correct! In everything you say. [x,y,z] is, in LC space, a single
dimensional space and especially about use case. But then you are limiting
yourself to single dimensional thinking. Here is my next point that I was
coming to, so well done for preempting me.

Going back a bit, in a traditional sense, we think of time as being a
fourth dimension, which it is, but also it isn't, depending on your POV. It
is 'a' fourth dimension, but not 'the' fourth dimension. X,Y and Z can be
thought of as our three spacial dimensions. But t (time) is separate to
spacial dimensions. Other spacial dimensions (not string theory which is
now not a thing) include but are not limited to heading/direction,
inside/outside, flip/reverse. Other dimensions not related to time or space
could be thought of as mass (G, weight (kind-of, but not really)), fields
(theoretical) and maybe energy.

Representing these in LC, ALL spacial dimensions could be held in a single
dimension (theoretically), [u,v,w,x,y,z,...]. Time in it's own dimension
[t]. Mass in it's own [m]. And so on. tObject[u,v,w,x,y,z,...][t][m][e]...

That works fine for that 'kind' of dimensional array.

Let's use IP addresses as another. A first would be our WAN (Wide Area
Network) address made up of, in simple terms, ISP, County/City, State,
Country, eg, [186,11,47,10]. Then our LAN (Local Area Network) address
which we can think of as Building, Floor, Area, Terminal, eg,
[127,4,2,103]. So far we have [186,11,47,10][127,4,2,103], 8 dimensions in
a 2 dimension array.
tAddr[tWAN1[1],tWAN1[2],tWAN1[3],tWAN1[4]][tLAN1.1,tLAN1.2,tLAN1.3,tLAN1.4]
as an example of structure.

As Richard mentioned, using [186,11,47,10][127,4,2,103] is neither better
or worse than using [186,11,47,10][127][4][2][103]. However, one may be
more useful/flexible/managable than the other. In most cases in a given WAN
location, the LAN root host address is often 127 throughout, so you might
want to link the floor number in with it, like [127,tFloorNum] and still
have the area and terminal number in seperate sub arrays. But what are the
advantages for and against.

Let's assume that a building has 100 floors, 10 areas per floor and 20
terminals per area.

If we use the [186,11,47,10][127,4,2,103] method for just this one location
with a string of tab delimited data as each ones value, we would be storing
in the keys of tAddr[186,11,47,10] 20,000 LAN addresses, 1 per line. This
makes it easier to filter in a search but using a lineOffset or scan
through for the addr's 127,99,9,19 to 127,100,10,10 would take much longer
than 127,1,9,19 to 127,2,10,10.

Using the [186,11,47,10][127,4][2][103] would be far more convoluted to
filter search depending on the method used. Access times to the value data
within this addr would be fast indeed. but getting a list of existing
terminal addresses from this method would be longer than the previous where
you simply request the keys of [186,11,47,10].

But my biggest case for Super Sub Arrays is File System Indexing. Coming
next 

Sean


On Thu, 11 Mar 2021 at 16:35, Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> 
> A well put answer to that egregious question that haunts ALL who are
> problem solvers: “Which is better?”
> A person might mean, better for your pocketbook, Long term/short term,
> better to configure, better performance, better support, better looking,
> better sounding...
>
> Really, this is a perennial problem with all people in all vocations. We
> don’t necessarily need more information, we need more understanding. Then
> we will learn to ask the right kind of questions.
> 
>
> :-)
>
> Bob S
>
>
> On Mar 11, 2021, at 8:03 AM, Richard Gaskin via use-livecode <
> use-livecode@lists.runrev.com>
> wrote:
>
> LiveCode is very flexible, giving us many options for structuring data
> according to the needs of the task at hand.  Which is "better" or "more
> useful" depends on the problem being solved.
>
> --
> 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
>
___
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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Sean Cole (Pi) via use-livecode
Mark,
Give an example of what would be better, not just hit and run with a
'That's crap!' comment. Way to make me feel good for all the hard work put
in. THANKS BUDDY!

Do better!
___
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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Mark Wieder via use-livecode

On 3/11/21 4:33 PM, Sean Cole (Pi) via use-livecode wrote:
> Mark,
> Give an example of what would be better, not just hit and run with a
> 'That's crap!' comment. Way to make me feel good for all the hard 
work put

> in. THANKS BUDDY!

Sean-

Not intended to be a 'that's crap' comment. You've got an excellent 
discussion of multidimensional arrays there.


Obviously if you've got a static file system where folder names never 
change and files don't get moved around then you could have an ideal 
array-based system there. And from your writeup it sounds like you've 
got this working in a real-life system.


NOTE: I wrote this before your latest email came in, so yeah.

I would, of course, have the same hesitations about your system of 
buildings, floors, terminals, etc... in a previous job we moved from the 
10th floor to the 9th floor of the same building. In a database system 
I'd query for every user moving from one floor to the other and adjust 
their location property. If I had to do this in an array based on keys 
that were location parts, I'd have a tougher job to do.


I'd have to parse elements like [186,11,47,10][127,10,2,103] for that 
elusive "10" in the second key in order to find the inhabitants of the 
10th floor, extract their data, remove the old keys, and create new ones 
of [186,11,47,10][127,9,2,103] with the extracted data.


With the other approach [186,11,47,10][127][10][2][103] it's an easier 
task to grab the [186,11,47,10][127][10] array, store it, delete the 
array, and put in the new [186,11,47,10][127][9] array.


I'd probably still use a database for this anyway, but ymmv, no?

--
 Mark Wieder
 ahsoftw...@gmail.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 borked for LC Linux?

2021-03-11 Thread Bob Sneidar via use-livecode
As a print device specialist, I can tell you that printing directly from a web 
browser, be it a PDF or a web page or anything, is problematic. It is ALWAYS 
better to produce a PDF then print from a real PDF product. Web browsers give 
you printing as an afterthought. “Oh you want to print too?? Uh… okay here you 
go.”

Bob S


On Mar 11, 2021, at 12:25 PM, JeeJeeStudio via use-livecode 
mailto:use-livecode@lists.runrev.com>> wrote:

Not just LC.

If you try to print a Gmail message in Firefox on Ubuntu Mate, then it creates 
also a pdf which is not getting printed.

Doing the same in chrome and it prints correct.

Printing from Firefox to pdf, then open the pdf in the standard pdf reader, it 
prints also correct.

This was with a Canon inkjet, but there are also issues with other brands. In 
this it looks like Firefox is doing something weird.

___
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: ‘Super Sub’ multidimensional arrays [GD trolls]

2021-03-11 Thread Sean Cole (Pi) via use-livecode
On Thu, 11 Mar 2021 at 23:31, Mark Wieder via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Sean-
>
> What happens when a folder or a file gets renamed?
>

The main purpose of me having an FileSystem Array *like this* was for DLT
or BluRay _archives_ of projects, so no file alterations would occur. I
needed a simple way of storing what files were where and how big they were,
etc. It doesn't fit every solution, I know, but it can get you there. It
was an 'Example', not a de facto solution that covers all. I wasn't being
pretentious or trying to proclaim the 'Best' way to store for FileSystems.
The example, a really dumbed down one, was there to demonstrate an
alternative way of using arrays, sub-arrays, and hybrid arrays. It's a mix
of LC base arrays [][][] and (sort-of) JS style arrays [,,,].


Why is it always the same crowd that picks holes and beats down without
properly reading the OP and getting the sense of the 'community spirit' it
is written in? And then I get a barrage of abuse for pointing out the
misunderstood replies. It just perpetuates my BPD. If you can't positively
contribute, keep schtum!

___
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: ‘Super Sub’ multidimensional arrays

2021-03-11 Thread Tom Glod via use-livecode
Sean & Others,

Wow.
I will be reading this over to learn all i can from it, and see how this
knowledge can help me be a better LC dev.
I have a funny feeling it will come in handy one day soon.

I very much appreciate the time it took to explain all this.




On Thu, Mar 11, 2021 at 6:32 PM Mark Wieder via use-livecode <
use-livecode@lists.runrev.com> wrote:

> On 3/11/21 3:03 PM, Sean Cole (Pi) via use-livecode wrote:
>
> > I hope that all makes sense.
>
> Sean-
>
> That makes sense, but it's a bad paradigm (IMO) for the same reason that
> using real data for database indexes is a bad idea unless it just gets
> written once and doesn't need maintenance.
>
> What happens when a folder or a file gets renamed? You have to work your
> way through the array finding out where the old name is, carefully
> extract any data residing there, delete the old array element, and
> insert a new element containing the old data. Trust me, this is a
> pain... having just gone through this with the styledText array of field
> contents.
>
> --
>   Mark Wieder
>   ahsoftw...@gmail.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
>


-- 
Tom Glod
Founder & Developer
MakeShyft R.D.A (www.makeshyft.com)
Mobile:647.562.9411
___
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


‘Super Sub’ multidimensional arrays

2021-03-11 Thread Sean Cole (Pi) via use-livecode
Tom
hopefully I’ve set this email not to hijack Harry’s thread.

First thing to note is that LC ONLY structures arrays as tVar[0][0][0]...

But equally we can use, for example, tVar[x][y][z] or tVar[x,y,z] or even
tVar[x,y,z][u,v,w][r,s,t]

However, know that, if x=1, y=“two”, z=true then tVar[x,y,z] is the same as
tVar[“1,two,true”] AND the same as tVar[1,”two”,true].

But this also means that tVar[x,y,z] from the previous paragraph could
equal tVar[tNextVar] if tNextVar=x,y,z AND tNextVar=“1”,”two”,”true” AND
tNextVar=“1,two,true”.

With me so far?

Then let’s now bamboozle.

Repeat for rKey = 1 to 10
Put rnd(20) into tArraySuperSub[(“key” & rKey)]
End repeat

That’s pretty straight forward. But then...

Repeat for r2ndKey = 1 to 10
Put tArraySuperSubKey into tArraySub[(“key” & r2ndKey)]
End repeat

And then..

Repeat for r3rdKey = 1 to 10
Put tArraySub into tArray[(“key” & r3rdKey)]
End repeat

Now place a treeView widget and set its array to tArray and look what an
unholy mess we’ve made.

HERE is the limitation:
You CAN do something like put tArraySub into tArray[x]
But you CANNOT do something like put tArraySuperSub into tArray[tArraySub]
because tArraySub is itself an array.

So, we can nest arrays into other sub arrays to multiple dimensions.

Rabbit hole:

tArray[“pixel”,”pixel”][“subPixel”,”subPixel”][“superSubPixel”,”superSubPixel”]
= tClrR,tClrG,tClrB,tClrA

Could potentially equate to...

tArray[“pixel10,pixel10”][“subPixel7”,”subPixel4”][superSubPixel2,superSubPixel2]

tArray[“pixel10,pixel10”] cannot hold a value without wiping all of its sub
dimensions out of existence and so on through the dimensions down to, in
this scenario, the 3rd (or 6th, depending on you viewpoint) dimension.

Btw, If tArray is an array and tVar is a value you CAN:
put “value” into tArray[tVar]
OR
put tArray into t2ndArray[tVar]
But you CANNOT:
put tVar into t2ndArray[tArray]

Why I say “depending on your viewpoint” above is, thinking
multidimensionally, you could have an array set as x,y,z of space as your
first 3 dimensions, time as a fourth, inside/outside as a fifth,
flipped/reversed as a sixth and so on, represented by perhaps
tArray[x,y,z][t,u,v] or maybe tArray[x][y][z][t][u][v] or even
tArray[x,y,z][t][u][v]

Why is tArray[x,y,z] more useful/flexible but not better than
tArray[x][y][z]?

Good question!


On Thu, 11 Mar 2021 at 03:52, Tom Glod via use-livecode <
use-livecode@lists.runrev.com> wrote:

>  >> (tArray["key1","key1.1"]["key2","key2.1"])
>
> Sean  never even thought about this form of arrays.  I gotta test the
> functionality of this.  Thanks.
> I know you are busy, but if you have the time, feel free to blow my mind.



> >
> > That just about covers it. Unless I go into super sub arrays to really
> blow
> > your mind (tArray["key1","key1.1"]["key2","key2.1"])
> >
> > Sean
> > ___
> > 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
> >
>
>
> --
> Tom Glod
> Founder & Developer
> MakeShyft R.D.A (www.makeshyft.com)
> Mobile:647.562.9411
> ___
> 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
>
-- 
Pi Digital
___
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