Anything LiveCode Can Learn From GO

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65

BR
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
Hi Sannyasin,

I found a quick small snippet of some “Hello World” GO code and have listed it below.

I much prefer LiveCode syntax over this stuff any day.
Stick with LiveCode, it’s just better!

Just my 2 cents for the day.

Cheers,

Rick

Add a test to the stringutil package by creating the file$GOPATH/src/github.com/user/stringutil/reverse_test.go containing the following Go code.

package stringutil

import "testing"

func TestReverse(t *testing.T) {
        cases := []struct {
                in, want string
        }{
                {"Hello, world", "dlrow ,olleH"},
                {"Hello, 世界", "界世 ,olleH"},
                {"", ""},
        }
        for _, c := range cases {
                got := Reverse(c.in)
                if got != c.want {
                        t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
                }
        }
}
Then run the test with go test:

$ go test github.com/user/stringutil
ok   github.com/user/stringutil 0.165s


> On Jun 9, 2018, at 10:55 PM, Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>
> https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65
>
> BR

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
LC and Go have entirely different target markets....but since you can
easily make 1 application talk to another application using sockets .....
or open process...... the LC and Go make a wonderful partnership if you
need to build UI ...but also do High Performance Computing.

The 2 can make a great couple indeed.  But neither can replace the other.

On Sun, Jun 10, 2018 at 10:27 AM, Rick Harrison via use-livecode <
[hidden email]> wrote:

> Hi Sannyasin,
>
> I found a quick small snippet of some “Hello World” GO code and have
> listed it below.
>
> I much prefer LiveCode syntax over this stuff any day.
> Stick with LiveCode, it’s just better!
>
> Just my 2 cents for the day.
>
> Cheers,
>
> Rick
>
> Add a test to the stringutil package by creating the file$GOPATH/src/
> github.com/user/stringutil/reverse_test.go containing the following Go
> code.
>
> package stringutil
>
> import "testing"
>
> func TestReverse(t *testing.T) {
>         cases := []struct {
>                 in, want string
>         }{
>                 {"Hello, world", "dlrow ,olleH"},
>                 {"Hello, 世界", "界世 ,olleH"},
>                 {"", ""},
>         }
>         for _, c := range cases {
>                 got := Reverse(c.in)
>                 if got != c.want {
>                         t.Errorf("Reverse(%q) == %q, want %q", c.in, got,
> c.want)
>                 }
>         }
> }
> Then run the test with go test:
>
> $ go test github.com/user/stringutil
> ok      github.com/user/stringutil 0.165s
>
>
> > On Jun 9, 2018, at 10:55 PM, Sannyasin Brahmanathaswami via use-livecode
> <[hidden email]> wrote:
> >
> > https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65
> >
> > BR
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"

"But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.
{snip]
On the other hand, Go was released in 2009 when multi-core processors were already available. That’s why Go is built with keeping concurrency in mind. Go has goroutines instead of threads. They consume almost 2KB memory from the heap. So, you can spin millions of goroutines at any time.

How Goroutines work? Reffrance: http://golangtutorials.blogspot.in/2011/06/goroutines.html

Other benefits are :

    Goroutines have growable segmented stacks. That means they will use more memory only when needed.
    Goroutines have a faster startup time than threads.
    Goroutines come with built-in primitives to communicate safely between themselves (channels).
    Goroutines allow you to avoid having to resort to mutex locking when sharing data structures.
    Also, goroutines and OS threads do not have 1:1 mapping. A single goroutine can run on multiple threads. Goroutines are multiplexed into small number of OS threads.
=========

And from the reference a "Goroutine" may be not language specific and maybe (I don't know much about the engine) I am dreaming about the rabbit in the moon, but, for Mark's "idea machine" there is this:

" Effectively for us goroutines hides many of the internal machine complexities in achieving parallelism. This also means that the language designers could implement changes to how goroutines scale on the machine taking advantage of hardware and CPU improvements."

Brahmanathaswami
 

On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via use-livecode" <[hidden email] on behalf of [hidden email]> wrote:

    LC and Go have entirely different target markets....but since you can
    easily make 1 application talk to another application using sockets .....
    or open process...... the LC and Go make a wonderful partnership if you
    need to build UI ...but also do High Performance Computing.
   
    The 2 can make a great couple indeed.  But neither can replace the other.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
i see what you mean.....  the single threaded aspect of LC is a drag.......
i'm actually trying my hand at some kind of workaround for this limitation
for the global conference in september ....i aim to do some multi-core
processing using LC and measure performance gain over specific workloads
...like search....db query..... and i/o.

On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via
use-livecode <[hidden email]> wrote:

> I wasn't thinking about high language per se.   but more from an engine
> point of view, specifically use of "Goroutines"
>
> "But, most of the modern programming languages(like Java, Python etc.) are
> from the ’90s single threaded environment. Most of those programming
> languages supports multi-threading. But the real problem comes with
> concurrent execution, threading-locking, race conditions and deadlocks.
> Those things make it hard to create a multi-threading application on those
> languages.
> {snip]
> On the other hand, Go was released in 2009 when multi-core processors were
> already available. That’s why Go is built with keeping concurrency in mind.
> Go has goroutines instead of threads. They consume almost 2KB memory from
> the heap. So, you can spin millions of goroutines at any time.
>
> How Goroutines work? Reffrance: http://golangtutorials.
> blogspot.in/2011/06/goroutines.html
>
> Other benefits are :
>
>     Goroutines have growable segmented stacks. That means they will use
> more memory only when needed.
>     Goroutines have a faster startup time than threads.
>     Goroutines come with built-in primitives to communicate safely between
> themselves (channels).
>     Goroutines allow you to avoid having to resort to mutex locking when
> sharing data structures.
>     Also, goroutines and OS threads do not have 1:1 mapping. A single
> goroutine can run on multiple threads. Goroutines are multiplexed into
> small number of OS threads.
> =========
>
> And from the reference a "Goroutine" may be not language specific and
> maybe (I don't know much about the engine) I am dreaming about the rabbit
> in the moon, but, for Mark's "idea machine" there is this:
>
> " Effectively for us goroutines hides many of the internal machine
> complexities in achieving parallelism. This also means that the language
> designers could implement changes to how goroutines scale on the machine
> taking advantage of hardware and CPU improvements."
>
> Brahmanathaswami
>
>
> On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via
> use-livecode" <[hidden email] on behalf of
> [hidden email]> wrote:
>
>     LC and Go have entirely different target markets....but since you can
>     easily make 1 application talk to another application using sockets
> .....
>     or open process...... the LC and Go make a wonderful partnership if you
>     need to build UI ...but also do High Performance Computing.
>
>     The 2 can make a great couple indeed.  But neither can replace the
> other.
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
but as i understand it ...changing a single threaded app to multi-threaded
at its core is a huge undertaking aand i'm not sure its even on the drawing
board for v 12 ...but i could be wrong....maybe its coming in v10 :D :D :D

On Mon, Jun 11, 2018 at 9:02 PM, Tom Glod <[hidden email]> wrote:

> i see what you mean.....  the single threaded aspect of LC is a
> drag....... i'm actually trying my hand at some kind of workaround for this
> limitation for the global conference in september ....i aim to do some
> multi-core processing using LC and measure performance gain over specific
> workloads ...like search....db query..... and i/o.
>
> On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via
> use-livecode <[hidden email]> wrote:
>
>> I wasn't thinking about high language per se.   but more from an engine
>> point of view, specifically use of "Goroutines"
>>
>> "But, most of the modern programming languages(like Java, Python etc.)
>> are from the ’90s single threaded environment. Most of those programming
>> languages supports multi-threading. But the real problem comes with
>> concurrent execution, threading-locking, race conditions and deadlocks.
>> Those things make it hard to create a multi-threading application on those
>> languages.
>> {snip]
>> On the other hand, Go was released in 2009 when multi-core processors
>> were already available. That’s why Go is built with keeping concurrency in
>> mind. Go has goroutines instead of threads. They consume almost 2KB memory
>> from the heap. So, you can spin millions of goroutines at any time.
>>
>> How Goroutines work? Reffrance: http://golangtutorials.blogspo
>> t.in/2011/06/goroutines.html
>>
>> Other benefits are :
>>
>>     Goroutines have growable segmented stacks. That means they will use
>> more memory only when needed.
>>     Goroutines have a faster startup time than threads.
>>     Goroutines come with built-in primitives to communicate safely
>> between themselves (channels).
>>     Goroutines allow you to avoid having to resort to mutex locking when
>> sharing data structures.
>>     Also, goroutines and OS threads do not have 1:1 mapping. A single
>> goroutine can run on multiple threads. Goroutines are multiplexed into
>> small number of OS threads.
>> =========
>>
>> And from the reference a "Goroutine" may be not language specific and
>> maybe (I don't know much about the engine) I am dreaming about the rabbit
>> in the moon, but, for Mark's "idea machine" there is this:
>>
>> " Effectively for us goroutines hides many of the internal machine
>> complexities in achieving parallelism. This also means that the language
>> designers could implement changes to how goroutines scale on the machine
>> taking advantage of hardware and CPU improvements."
>>
>> Brahmanathaswami
>>
>>
>> On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via
>> use-livecode" <[hidden email] on behalf of
>> [hidden email]> wrote:
>>
>>     LC and Go have entirely different target markets....but since you can
>>     easily make 1 application talk to another application using sockets
>> .....
>>     or open process...... the LC and Go make a wonderful partnership if
>> you
>>     need to build UI ...but also do High Performance Computing.
>>
>>     The 2 can make a great couple indeed.  But neither can replace the
>> other.
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
In reply to this post by Tore Nilsen via use-livecode
Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.

Bob S


> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>
> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>
> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

RE: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks.

Ralph DiMola
IT Director
Evergreen Information Services
[hidden email]

-----Original Message-----
From: use-livecode [mailto:[hidden email]] On Behalf Of Bob Sneidar via use-livecode
Sent: Thursday, June 14, 2018 10:56 AM
To: How to use LiveCode
Cc: Bob Sneidar
Subject: Re: Anything LiveCode Can Learn From GO

Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.

Bob S


> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>
> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>
> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
tsNet with async calls can help you get this.

Best regards,

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


> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>
> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks.
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On Behalf Of Bob Sneidar via use-livecode
> Sent: Thursday, June 14, 2018 10:56 AM
> To: How to use LiveCode
> Cc: Bob Sneidar
> Subject: Re: Anything LiveCode Can Learn From GO
>
> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.
>
> Bob S
>
>
>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>>
>> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>>
>> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

RE: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
I was referring to a local mobile SQLite DB query. But I do use async tsNet for web service requests. It works like a charm even with many requests outstanding. I fire up 10 or more at a time and they all compete as expected. Async tsNet +1

Ralph DiMola
IT Director
Evergreen Information Services
[hidden email]


-----Original Message-----
From: use-livecode [mailto:[hidden email]] On Behalf Of Mark Talluto via use-livecode
Sent: Thursday, June 14, 2018 2:21 PM
To: How to use LiveCode
Cc: Mark Talluto
Subject: Re: Anything LiveCode Can Learn From GO

tsNet with async calls can help you get this.

Best regards,

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


> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>
> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks.
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On Behalf Of Bob Sneidar via use-livecode
> Sent: Thursday, June 14, 2018 10:56 AM
> To: How to use LiveCode
> Cc: Bob Sneidar
> Subject: Re: Anything LiveCode Can Learn From GO
>
> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.
>
> Bob S
>
>
>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>>
>> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>>
>> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
I missed the local db part. It is clearly written in your original email. But, since I am here typing these chars…pondering…how about running a local server that accesses your local db and use tsnet to do async calls?

Best regards,

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


> On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>
> I was referring to a local mobile SQLite DB query. But I do use async tsNet for web service requests. It works like a charm even with many requests outstanding. I fire up 10 or more at a time and they all compete as expected. Async tsNet +1
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On Behalf Of Mark Talluto via use-livecode
> Sent: Thursday, June 14, 2018 2:21 PM
> To: How to use LiveCode
> Cc: Mark Talluto
> Subject: Re: Anything LiveCode Can Learn From GO
>
> tsNet with async calls can help you get this.
>
> Best regards,
>
> Mark Talluto
> livecloud.io <http://livecloud.io/>
> nursenotes.net <http://nursenotes.net/>
> canelasoftware.com <http://www.canelasoftware.com/>
>
>
>> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>>
>> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks.
>>
>> Ralph DiMola
>> IT Director
>> Evergreen Information Services
>> [hidden email]
>>
>> -----Original Message-----
>> From: use-livecode [mailto:[hidden email]] On Behalf Of Bob Sneidar via use-livecode
>> Sent: Thursday, June 14, 2018 10:56 AM
>> To: How to use LiveCode
>> Cc: Bob Sneidar
>> Subject: Re: Anything LiveCode Can Learn From GO
>>
>> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.
>>
>> Bob S
>>
>>
>>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>>>
>>> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>>>
>>> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

RE: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
Mark,

Thanks but, Sigh...Not possible on mobile.

Ralph DiMola
IT Director
Evergreen Information Services
[hidden email]


-----Original Message-----
From: use-livecode [mailto:[hidden email]] On Behalf Of Mark Talluto via use-livecode
Sent: Thursday, June 14, 2018 5:09 PM
To: How to use LiveCode
Cc: Mark Talluto
Subject: Re: Anything LiveCode Can Learn From GO

I missed the local db part. It is clearly written in your original email. But, since I am here typing these chars…pondering…how about running a local server that accesses your local db and use tsnet to do async calls?

Best regards,

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


> On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>
> I was referring to a local mobile SQLite DB query. But I do use async
> tsNet for web service requests. It works like a charm even with many
> requests outstanding. I fire up 10 or more at a time and they all
> compete as expected. Async tsNet +1
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On
> Behalf Of Mark Talluto via use-livecode
> Sent: Thursday, June 14, 2018 2:21 PM
> To: How to use LiveCode
> Cc: Mark Talluto
> Subject: Re: Anything LiveCode Can Learn From GO
>
> tsNet with async calls can help you get this.
>
> Best regards,
>
> Mark Talluto
> livecloud.io <http://livecloud.io/>
> nursenotes.net <http://nursenotes.net/> canelasoftware.com
> <http://www.canelasoftware.com/>
>
>
>> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>>
>> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks.
>>
>> Ralph DiMola
>> IT Director
>> Evergreen Information Services
>> [hidden email]
>>
>> -----Original Message-----
>> From: use-livecode [mailto:[hidden email]] On
>> Behalf Of Bob Sneidar via use-livecode
>> Sent: Thursday, June 14, 2018 10:56 AM
>> To: How to use LiveCode
>> Cc: Bob Sneidar
>> Subject: Re: Anything LiveCode Can Learn From GO
>>
>> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.
>>
>> Bob S
>>
>>
>>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>>>
>>> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>>>
>>> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
Ralph, which part is not possible on mobile?....the asynched requests with
tsnet or something different?

On Thu, Jun 14, 2018 at 8:59 PM, Ralph DiMola via use-livecode <
[hidden email]> wrote:

> Mark,
>
> Thanks but, Sigh...Not possible on mobile.
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On
> Behalf Of Mark Talluto via use-livecode
> Sent: Thursday, June 14, 2018 5:09 PM
> To: How to use LiveCode
> Cc: Mark Talluto
> Subject: Re: Anything LiveCode Can Learn From GO
>
> I missed the local db part. It is clearly written in your original email.
> But, since I am here typing these chars…pondering…how about running a local
> server that accesses your local db and use tsnet to do async calls?
>
> Best regards,
>
> Mark Talluto
> livecloud.io <http://livecloud.io/>
> nursenotes.net <http://nursenotes.net/>
> canelasoftware.com <http://www.canelasoftware.com/>
>
>
> > On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode <
> [hidden email]> wrote:
> >
> > I was referring to a local mobile SQLite DB query. But I do use async
> > tsNet for web service requests. It works like a charm even with many
> > requests outstanding. I fire up 10 or more at a time and they all
> > compete as expected. Async tsNet +1
> >
> > Ralph DiMola
> > IT Director
> > Evergreen Information Services
> > [hidden email]
> >
> >
> > -----Original Message-----
> > From: use-livecode [mailto:[hidden email]] On
> > Behalf Of Mark Talluto via use-livecode
> > Sent: Thursday, June 14, 2018 2:21 PM
> > To: How to use LiveCode
> > Cc: Mark Talluto
> > Subject: Re: Anything LiveCode Can Learn From GO
> >
> > tsNet with async calls can help you get this.
> >
> > Best regards,
> >
> > Mark Talluto
> > livecloud.io <http://livecloud.io/>
> > nursenotes.net <http://nursenotes.net/> canelasoftware.com
> > <http://www.canelasoftware.com/>
> >
> >
> >> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <
> [hidden email]> wrote:
> >>
> >> I would love to be able to start a thread that formatted a field that
> might be selected and made visible at a later date or have a scrolling
> field that could have the non-visible lines being formatted in another
> thread before you scroll down. Say you were going to a new card that
> required a DB query. You could have the card layout code and the query to a
> local DB running at the same time. Even with LCs message hierarchy
> multithreading could work. You could fire off a DB query thread and have a
> message sent to the main thread when complete. Inter thread communication
> would be key. That is where locking would be tricky to prevent dead locks.
> >>
> >> Ralph DiMola
> >> IT Director
> >> Evergreen Information Services
> >> [hidden email]
> >>
> >> -----Original Message-----
> >> From: use-livecode [mailto:[hidden email]] On
> >> Behalf Of Bob Sneidar via use-livecode
> >> Sent: Thursday, June 14, 2018 10:56 AM
> >> To: How to use LiveCode
> >> Cc: Bob Sneidar
> >> Subject: Re: Anything LiveCode Can Learn From GO
> >>
> >> Multithreading sounds like a good idea until you realize most things
> that have to happen in Livecode due to the message heirarchy need to be
> single threaded. It's only when you need to make a server of some sort that
> multithreading really needs to be implemented.
> >>
> >> Bob S
> >>
> >>
> >>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via
> use-livecode <[hidden email]> wrote:
> >>>
> >>> I wasn't thinking about high language per se.   but more from an
> engine point of view, specifically use of "Goroutines"
> >>>
> >>> "But, most of the modern programming languages(like Java, Python etc.)
> are from the ’90s single threaded environment. Most of those programming
> languages supports multi-threading. But the real problem comes with
> concurrent execution, threading-locking, race conditions and deadlocks.
> Those things make it hard to create a multi-threading application on those
> languages.
> >>
> >> _______________________________________________
> >> use-livecode mailing list
> >> [hidden email]
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >>
> >> _______________________________________________
> >> use-livecode mailing list
> >> [hidden email]
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

RE: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
Running a web server on a mobile device accessing the app's data. tsNet work like a charm on mobile. I download a slew of images while the user is entering their credentials. I used to do it serially. tsNet rocks(and rolls).

Ralph DiMola
IT Director
Evergreen Information Services
[hidden email]


-----Original Message-----
From: use-livecode [mailto:[hidden email]] On Behalf Of Tom Glod via use-livecode
Sent: Thursday, June 14, 2018 9:21 PM
To: How to use LiveCode
Cc: Tom Glod
Subject: Re: Anything LiveCode Can Learn From GO

Ralph, which part is not possible on mobile?....the asynched requests with tsnet or something different?

On Thu, Jun 14, 2018 at 8:59 PM, Ralph DiMola via use-livecode < [hidden email]> wrote:

> Mark,
>
> Thanks but, Sigh...Not possible on mobile.
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On
> Behalf Of Mark Talluto via use-livecode
> Sent: Thursday, June 14, 2018 5:09 PM
> To: How to use LiveCode
> Cc: Mark Talluto
> Subject: Re: Anything LiveCode Can Learn From GO
>
> I missed the local db part. It is clearly written in your original email.
> But, since I am here typing these chars…pondering…how about running a
> local server that accesses your local db and use tsnet to do async calls?
>
> Best regards,
>
> Mark Talluto
> livecloud.io <http://livecloud.io/>
> nursenotes.net <http://nursenotes.net/> canelasoftware.com
> <http://www.canelasoftware.com/>
>
>
> > On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode <
> [hidden email]> wrote:
> >
> > I was referring to a local mobile SQLite DB query. But I do use
> > async tsNet for web service requests. It works like a charm even
> > with many requests outstanding. I fire up 10 or more at a time and
> > they all compete as expected. Async tsNet +1
> >
> > Ralph DiMola
> > IT Director
> > Evergreen Information Services
> > [hidden email]
> >
> >
> > -----Original Message-----
> > From: use-livecode [mailto:[hidden email]] On
> > Behalf Of Mark Talluto via use-livecode
> > Sent: Thursday, June 14, 2018 2:21 PM
> > To: How to use LiveCode
> > Cc: Mark Talluto
> > Subject: Re: Anything LiveCode Can Learn From GO
> >
> > tsNet with async calls can help you get this.
> >
> > Best regards,
> >
> > Mark Talluto
> > livecloud.io <http://livecloud.io/>
> > nursenotes.net <http://nursenotes.net/> canelasoftware.com
> > <http://www.canelasoftware.com/>
> >
> >
> >> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <
> [hidden email]> wrote:
> >>
> >> I would love to be able to start a thread that formatted a field
> >> that
> might be selected and made visible at a later date or have a scrolling
> field that could have the non-visible lines being formatted in another
> thread before you scroll down. Say you were going to a new card that
> required a DB query. You could have the card layout code and the query
> to a local DB running at the same time. Even with LCs message
> hierarchy multithreading could work. You could fire off a DB query
> thread and have a message sent to the main thread when complete. Inter
> thread communication would be key. That is where locking would be tricky to prevent dead locks.
> >>
> >> Ralph DiMola
> >> IT Director
> >> Evergreen Information Services
> >> [hidden email]
> >>
> >> -----Original Message-----
> >> From: use-livecode [mailto:[hidden email]]
> >> On Behalf Of Bob Sneidar via use-livecode
> >> Sent: Thursday, June 14, 2018 10:56 AM
> >> To: How to use LiveCode
> >> Cc: Bob Sneidar
> >> Subject: Re: Anything LiveCode Can Learn From GO
> >>
> >> Multithreading sounds like a good idea until you realize most
> >> things
> that have to happen in Livecode due to the message heirarchy need to
> be single threaded. It's only when you need to make a server of some
> sort that multithreading really needs to be implemented.
> >>
> >> Bob S
> >>
> >>
> >>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via
> use-livecode <[hidden email]> wrote:
> >>>
> >>> I wasn't thinking about high language per se.   but more from an
> engine point of view, specifically use of "Goroutines"
> >>>
> >>> "But, most of the modern programming languages(like Java, Python
> >>> etc.)
> are from the ’90s single threaded environment. Most of those
> programming languages supports multi-threading. But the real problem
> comes with concurrent execution, threading-locking, race conditions and deadlocks.
> Those things make it hard to create a multi-threading application on
> those languages.
> >>
> >> _______________________________________________
> >> use-livecode mailing list
> >> [hidden email]
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >>
> >> _______________________________________________
> >> use-livecode mailing list
> >> [hidden email]
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Anything LiveCode Can Learn From GO

Tore Nilsen via use-livecode
In reply to this post by Tore Nilsen via use-livecode
Sigh on me for I missed the ‘mobile’ part…also clearly stated. We are out of luck in that area. But, the idea works well for desktop solutions.

Data access for mobile use should be pretty fast even if it is processed as a ‘sync’ process. Most mobile apps need to do more modest processing due to all the constraints of the device anyways.


Best regards,

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


> On Jun 14, 2018, at 5:59 PM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>
> Mark,
>
> Thanks but, Sigh...Not possible on mobile.
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> [hidden email]
>
>
> -----Original Message-----
> From: use-livecode [mailto:[hidden email]] On Behalf Of Mark Talluto via use-livecode
> Sent: Thursday, June 14, 2018 5:09 PM
> To: How to use LiveCode
> Cc: Mark Talluto
> Subject: Re: Anything LiveCode Can Learn From GO
>
> I missed the local db part. It is clearly written in your original email. But, since I am here typing these chars…pondering…how about running a local server that accesses your local db and use tsnet to do async calls?
>
> Best regards,
>
> Mark Talluto
> livecloud.io <http://livecloud.io/>
> nursenotes.net <http://nursenotes.net/>
> canelasoftware.com <http://www.canelasoftware.com/>
>
>
>> On Jun 14, 2018, at 12:45 PM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>>
>> I was referring to a local mobile SQLite DB query. But I do use async
>> tsNet for web service requests. It works like a charm even with many
>> requests outstanding. I fire up 10 or more at a time and they all
>> compete as expected. Async tsNet +1
>>
>> Ralph DiMola
>> IT Director
>> Evergreen Information Services
>> [hidden email]
>>
>>
>> -----Original Message-----
>> From: use-livecode [mailto:[hidden email]] On
>> Behalf Of Mark Talluto via use-livecode
>> Sent: Thursday, June 14, 2018 2:21 PM
>> To: How to use LiveCode
>> Cc: Mark Talluto
>> Subject: Re: Anything LiveCode Can Learn From GO
>>
>> tsNet with async calls can help you get this.
>>
>> Best regards,
>>
>> Mark Talluto
>> livecloud.io <http://livecloud.io/>
>> nursenotes.net <http://nursenotes.net/> canelasoftware.com
>> <http://www.canelasoftware.com/>
>>
>>
>>> On Jun 14, 2018, at 8:24 AM, Ralph DiMola via use-livecode <[hidden email]> wrote:
>>>
>>> I would love to be able to start a thread that formatted a field that might be selected and made visible at a later date or have a scrolling field that could have the non-visible lines being formatted in another thread before you scroll down. Say you were going to a new card that required a DB query. You could have the card layout code and the query to a local DB running at the same time. Even with LCs message hierarchy multithreading could work. You could fire off a DB query thread and have a message sent to the main thread when complete. Inter thread communication would be key. That is where locking would be tricky to prevent dead locks.
>>>
>>> Ralph DiMola
>>> IT Director
>>> Evergreen Information Services
>>> [hidden email]
>>>
>>> -----Original Message-----
>>> From: use-livecode [mailto:[hidden email]] On
>>> Behalf Of Bob Sneidar via use-livecode
>>> Sent: Thursday, June 14, 2018 10:56 AM
>>> To: How to use LiveCode
>>> Cc: Bob Sneidar
>>> Subject: Re: Anything LiveCode Can Learn From GO
>>>
>>> Multithreading sounds like a good idea until you realize most things that have to happen in Livecode due to the message heirarchy need to be single threaded. It's only when you need to make a server of some sort that multithreading really needs to be implemented.
>>>
>>> Bob S
>>>
>>>
>>>> On Jun 11, 2018, at 17:08 , Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>>>>
>>>> I wasn't thinking about high language per se.   but more from an engine point of view, specifically use of "Goroutines"
>>>>
>>>> "But, most of the modern programming languages(like Java, Python etc.) are from the ’90s single threaded environment. Most of those programming languages supports multi-threading. But the real problem comes with concurrent execution, threading-locking, race conditions and deadlocks. Those things make it hard to create a multi-threading application on those languages.
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> [hidden email]
>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> [hidden email]
>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode