Re: Anything LiveCode Can Learn From GO
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 > wrote: > > Mark, > > Thanks but, Sigh...Not possible on mobile. > > Ralph DiMola > IT Director > Evergreen Information Services > rdim...@evergreeninfo.net > > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >> 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 >> rdim...@evergreeninfo.net >> >> >> -Original Message- >> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >>> 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 >>> rdim...@evergreeninfo.net >>> >>> -Original Message- >>> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >>>> 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 sing
RE: Anything LiveCode Can Learn From GO
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 rdim...@evergreeninfo.net -Original Message- From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 < use-livecode@lists.runrev.com> wrote: > Mark, > > Thanks but, Sigh...Not possible on mobile. > > Ralph DiMola > IT Director > Evergreen Information Services > rdim...@evergreeninfo.net > > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 < > use-livecode@lists.runrev.com> 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 > > rdim...@evergreeninfo.net > > > > > > -Original Message- > > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 < > use-livecode@lists.runrev.com> 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 > >> rdim...@evergreeninfo.net > >> > >> -Original Message- > >> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] > >> 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 wrote: > >>> > >>> I wasn't thinking about high language per se. but more from an > engine point of view,
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 < use-livecode@lists.runrev.com> wrote: > Mark, > > Thanks but, Sigh...Not possible on mobile. > > Ralph DiMola > IT Director > Evergreen Information Services > rdim...@evergreeninfo.net > > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 < > use-livecode@lists.runrev.com> 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 > > rdim...@evergreeninfo.net > > > > > > -Original Message- > > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 < > use-livecode@lists.runrev.com> 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 > >> rdim...@evergreeninfo.net > >> > >> -Original Message- > >> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 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 > >> use-livecode@lists.runrev.
RE: Anything LiveCode Can Learn From GO
Mark, Thanks but, Sigh...Not possible on mobile. Ralph DiMola IT Director Evergreen Information Services rdim...@evergreeninfo.net -Original Message- From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 > 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 > rdim...@evergreeninfo.net > > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >> 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 >> rdim...@evergreeninfo.net >> >> -Original Message- >> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >>> 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 >> 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 > > ___ > use-livecode mailing list > use
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 > 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 > rdim...@evergreeninfo.net > > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >> 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 >> rdim...@evergreeninfo.net >> >> -Original Message- >> From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >>> 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 >> 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 > > ___ > 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 ___ 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: Anything LiveCode Can Learn From GO
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 rdim...@evergreeninfo.net -Original Message- From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 > 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 > rdim...@evergreeninfo.net > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >> 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 > 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 ___ 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: 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 > 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 > rdim...@evergreeninfo.net > > -Original Message- > From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 >> 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 > 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 ___ 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: Anything LiveCode Can Learn From GO
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 rdim...@evergreeninfo.net -Original Message- From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] 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 > 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 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: 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 > 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 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: Anything LiveCode Can Learn From GO
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 wrongmaybe its coming in v10 :D :D :D On Mon, Jun 11, 2018 at 9:02 PM, Tom Glod 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 searchdb query. and i/o. > > On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via > use-livecode 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" > use-livecode@lists.runrev.com> wrote: >> >> LC and Go have entirely different target marketsbut 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 >> 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: Anything LiveCode Can Learn From GO
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 searchdb query. and i/o. On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via use-livecode 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" use-livecode@lists.runrev.com> wrote: > > LC and Go have entirely different target marketsbut 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 > 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: Anything LiveCode Can Learn From GO
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" wrote: LC and Go have entirely different target marketsbut 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 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: Anything LiveCode Can Learn From GO
LC and Go have entirely different target marketsbut 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 < use-livecode@lists.runrev.com> 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 > wrote: > > > > https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65 > > > > BR > > ___ > 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: Anything LiveCode Can Learn From GO
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 > wrote: > > https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65 > > BR ___ 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
Anything LiveCode Can Learn From GO
https://medium.com/exploring-code/why-should-you-learn-go-f607681fad65 BR ___ 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