Re: how to download an image

2017-06-03 Thread Mark Wieder via use-livecode

On 06/03/2017 09:49 PM, Scott Rossi via use-livecode wrote:

Remove the first "binfile" usage, so your code reads like this:


I was gonna say something similar, but Scott's too fast for me.

--
 Mark Wieder
 ahsoftw...@gmail.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: how to download an image

2017-06-03 Thread Scott Rossi via use-livecode
Remove the first "binfile" usage, so your code reads like this:

put URL tNewImageLink into URL ("binfile:" & tNewFolder & "/" &
tNewImageName)


I used the following to test download to the desktop and it works as
expected:

put 
"http://s3.amazonaws.com/appforest_uf/f1496548544475x140387106221169240/gri
lled_cheese_on_plate.jpg" into theURL
put url theURL into url ("binfile:" & specialFolderPath("desktop") &
"/DLimage.jpg")


Regards,

Scott Rossi
Creative Director
Tactile Media, UX/UI Design





On 6/3/17, 9:38 PM, "use-livecode on behalf of Matt Maier via
use-livecode"  wrote:

>I'm trying to download an image to a file but it's always 0kb
>
>Here's an example of the URL I've got //
>s3.amazonaws.com/appforest_uf/f1496548544475x140387106221169240/grilled_ch
>eese_on_plate.jpg
>
>*put* URL ("binfile:" & tNewImageLink) into URL ("binfile:" & tNewFolder &
>"/" & tNewImageName)
>
>
>*get* url tNewImageLink
>
>*put* it into URL ("binfile:" & tNewFolder & "/" & tNewImageName)
>___
>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


how to download an image

2017-06-03 Thread Matt Maier via use-livecode
I'm trying to download an image to a file but it's always 0kb

Here's an example of the URL I've got //
s3.amazonaws.com/appforest_uf/f1496548544475x140387106221169240/grilled_cheese_on_plate.jpg

*put* URL ("binfile:" & tNewImageLink) into URL ("binfile:" & tNewFolder &
"/" & tNewImageName)


*get* url tNewImageLink

*put* it into URL ("binfile:" & tNewFolder & "/" & tNewImageName)
___
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: HTML5 deployment: progress comes into sight

2017-06-03 Thread Mark Wieder via use-livecode

On 06/03/2017 06:38 PM, Sannyasin Brahmanathaswami via use-livecode wrote:


Fascinating solution for X no of use cases, where you don't really need *now* , but where 
what you really only need is to know "exactly when and what" happened, even if 
slightly (typically, milliseconds) after the whole series events/statements finish


Also for pseudo-parallel processing:

if you have three asynchronous processes that need to finish before you 
can move past a certain point in a script, you can set three flag 
variables to false, then set each individually to true in its callback 
handler, and loop on those three variables until they're all true or you 
reach a timeout.


--
 Mark Wieder
 ahsoftw...@gmail.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: urgent iOS internet issue (url request timeout setting?)

2017-06-03 Thread Sannyasin Brahmanathaswami via use-livecode
Not to say that TSnet bug doesn't also exist but

What iOS version? your problem is an exact mirror of issues I'm having here in 
the shop with my iPhone 7+ and after a recent upgrade … completley unrelated to 
Livecode. But our netadmin keeps saying "your wireless hubs in the office look 
fine to us…" meanwhile I'm having that same exact experience (some others too) 

Wifi shows all bars
some latency
next moment, no wifi  
go for another URL in Safari… phone switchs and stays on LTE 

(I am standing directly infront of the hub which is connected by the ethernet)

Our tech here says admin says, "Oh yeah… go to settings → General → and do a 
Reset Network settings… that usually fixes it."

And we are wailing that there is something wrong with the Meraki (wireless) 
devices. 

could be other bad apples in the barrel besides TSnet's reuse connection issue.

but maybe it is iOS?  


On 5/31/17, 3:44 PM, "use-livecode on behalf of Terry Judd via use-livecode" 
 wrote:

OK – I have a bit of a serious issue on iOS where if I lose wifi 
connectivity the first attempt to get data from a url causes problems.



___
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: HTML5 deployment: progress comes into sight

2017-06-03 Thread Sannyasin Brahmanathaswami via use-livecode
Mark Wieder wrote:

Requests are sent asynchronously and trigger a callback message when 
they're done. The callback message payload contains a reference to the 
message that called it. That way a callback handler can associate the 
returned message with the calling handler, and if needed a wait loop can 
implement a procedural pseudo-synchronous call.

Fascinating solution for X no of use cases, where you don't really need *now* , 
but where what you really only need is to know "exactly when and what" 
happened, even if slightly (typically, milliseconds) after the whole series 
events/statements finish 

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


Re: HTML5 deployment: progress comes into sight

2017-06-03 Thread Mark Wieder via use-livecode

On 05/31/2017 02:35 PM, hh via use-livecode wrote:

"Synchronous" means here that the callback is done in the order it appears in
the list of js instructions, i.e. "synchronous to the instruction order".

If you say in your js function

instruction1;
callback1;
instruction2;
callback2;

then you can't control what's done first. This is the price we have
to pay for speed (multi-threading).
It is even possible that callback2 arrives at LC _before_ one of
instruction1; callback1; instruction2;
is finished.


I had a similar need in PowerDebug in order to handle asynchronous 
events over socket connections for remote debugging. And dealt with it 
thusly:


Requests are sent asynchronously and trigger a callback message when 
they're done. The callback message payload contains a reference to the 
message that called it. That way a callback handler can associate the 
returned message with the calling handler, and if needed a wait loop can 
implement a procedural pseudo-synchronous call.


It's kind of the way session cookies work in a browser. It probably 
won't work for every use case, but when I need to define a statement 
order from asynchronous events it does the trick.


--
 Mark Wieder
 ahsoftw...@gmail.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: HTML5 deployment: progress comes into sight

2017-06-03 Thread Sannyasin Brahmanathaswami via use-livecode
Just getting back here after  a week away on another project where they are 
moving the Hinduism Today app to an HTML 5 platform

(shameless promotion) check it out… pretty cool  release (free) on the App 
store… Android version is buggy.

@ Roland: Right.. my use of "Syncronous" was  a bit off, more like asynchronous 
w/ wait  (see below)

@ HH Thank you. Your clarification is perfect, exactly our challenge, well 
defined.

I think the use cases are obvious: Assuming we want to

a)  "encapsulate" all the heavy lifting to "*models*.livecode" scripts that do 
the hard work
b) we use the browser widget as a canvas for views  small triggers.

you would want to be able to, for example have a user enter some year  (say 
date of birth) in a little browser widget form thing.

submit to the "model.livecode" script  and if they entered something stupid like

2620  instead of 2062

your data input validator would reply to the brower widget (which must somehow 
know to halt processing) and reply to the user

"Hey, No way you were born in 2620!"
---
AND During development… let's say the user did enter 2062, it pass validation, 
but the model.livecode attempt to store it in the sqllite database fails 
because some error in your LC code… we need a feedback loop that can tell us 
exactly at one point in the JS execution the failure occurred.  because, who 
knows… maybe you passed a bad param in the JS.. 

Mark: check out my earlier business request… at the risk of starting a flame 
war over LC's attempts for revenues from the existing paid user base, "you all" 
might consider taken that dollar value quoted to me and posting is as a "reach 
goal"  You might find support.

BR: 

FWIW  I will copy here : this is the distillation requirements  as sent back to 
me, since they detail some of the difficulty faced. 

minus the $ value attached to quotation

--
Requirements

Enhance the current browser handler feature, allowing LiveCode handlers called 
from JavaScript to return a value immediately to the calling code. This 
requires the LC handlers to be executed synchronously - the calling code will 
block until the LC handler completes and its value is returned.


Platforms

1)   Android
JavaScript calls are executed on a separate thread owned by the WebView - 
getting a return value requires posting the handler execution request to the 
event queue, yielding to the engine thread, which must execute the handler and 
store the result in such a way that it is accessible once control is returned 
to the waiting WebView thread.


2)   iOS & MacOS
May be the simplest to deal with - the handler callback is either executed on 
the engine thread, or may call a function to run code blocks on the engine 
thread. What will be required though is to modify the current scheme of posting 
a handler execution message on the event queue to execute the handler directly 
so the return value can be obtained

3)   CEF
JavaScript calls are executed within the CEF render process, so calling LC 
handlers requires communicating with the main engine process. CEF provides an 
inter-process communication (IPC) mechanism, however it is designed only for 
asynchronous message sending so waiting for a return value or reply is not 
supported.

In order to provide synchronous execution of LC handlers, an alternative IPC 
mechanism will be needed that should not interfere with the existing CEF 
scheme. Named pipes are a good implementation candidate on both Windows and 
Linux, however they would need to be integrated into the event handling loops 
on both platforms.

4)   Execution Restrictions (Optional)
Depending on the implementation, there may be some operations that are unsafe 
to call from within the executing handler. For the CEF implementation, this 
will almost certainly include access to browser properties that require 
communication with the render process. There are several other areas in the 
engine where certain classes of operation are prohibited, for example within a 
widget’s OnPaint handler any operations that use “wait” should be avoided. It 
may be useful then to implement a general purpose execution restrictions 
mechanism to throw an error in these situations rather than allow these risky 
operations to occur.

 
To implement items 1 to 3 the time estimate is about 14 days of work at a cost 
of $ For the optional item 4 it would require another 8 days of work at …..$
 
--

 

On 5/31/17, 11:35 AM, "use-livecode on behalf of hh via use-livecode" 
 wrote:

"Synchronous" means here that the callback is done in the order it appears 
in
the list of js instructions, i.e. "synchronous to the instruction order".

If you say in your js function

   instruction1;
   callback1;
   instruction2;
   callback2;

then you 

Re: HTML5 deployment: progress comes into sight

2017-06-03 Thread Mark Talluto via use-livecode

> On Jun 2, 2017, at 3:02 PM, hh via use-livecode 
>  wrote:
> 
> Simply a creative contribution to this thread:
> 
> Here are direct links. Worth waiting for loading, it's faster than you
> expect. (Also loading times has been essentially improved with my tests).
> 
> [EU] http://hyperhh.org/html5/LCImageToolboxHTML5-9.0.0-dp-4hhX.html
> [US] http://hh.on-rev.com/html5/LCImageToolboxHTML5-9.0.0-dp-4hhX.html
> 
> The timing you see are the LC-times, not the screen update of the browsers
> which is of course slower while a browser is caching large imageData.
> 
> Latest Safari and Chrome Canary (but not yet Chrome) are fastest with
> the screen updates. Also tested to be OK here with latest Firefox and
> latest Opera. As always: doesn't run in IE/Edge.
> 
> (It was tedious to work around the missing javascriptHandler in HTML5
> deployment, we look forward to that feature Mark!)

Very inspirational work. 


Best regards,

Mark Talluto
livecloud.io 
nursenotes.net 
canelasoftware.com 

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Rooting around in the Forum: destructors

2017-06-03 Thread Richmond Mathewson via use-livecode
Thanks for the explanation: although, to be honest I've never really 
quite worked out what the
difference is between Object-oriented languages and Object-based 
languages (I know that LiveCode is object-based).


If being an Object-based language means you have pre-made objects to 
play around with and assign code-blocks/scripts

to; well that makes sense to me.

I suspect my lack of understanding re Object-oriented languages is 
because of my "BASIC/PASCAL/FORTRAN to HyperCard"

leap.

Reading the Wikipedia article on Object-oriented languages does not help 
because: "Object-oriented Programming uses objects"

seems to conflict directly with stuff like this:

#include  

int  main()
{
std::cout  <<  "Hello, world!\n";
return  0;
}

Richmond.

On 6/3/17 9:40 pm, Mark Schonewille via use-livecode wrote:
Short answer: LiveCode doesn't have destructors because the xTalk 
family of languages doesn't require them. xTalk languages make the 
life of the developer easier by taking such tasks our of their hands.


1a) Yes, under the hood, because LiveCode is written using variants of 
C, which are object oriented. So, LiveCode is creating and deleting 
(destructing) objects continuously, but the LiveCode developer/user 
doesn't need to be bothered with that.


1b) You could make sure to write clean scripts that always delete 
controls (and even cards and stacks) and variables that are no longer 
needed. LiveCode does a good job cleaning up after finishing a 
handler, so it isn't really necessary to do this yourself, but if you 
are creating controls that you need only one time, it is probably a 
good idea to delete them afterwards. When you delete a control, an 
object under the hood is no longer required and will be "destroyed" at 
some point.


2) It is in the object-oriented language that is used to create 
LiveCode. There is also a delete command in the LiveCode scripting 
language. The delete command isn't a destructor, but it does provide a 
form a cleaning up.


3) Most of the cleaning up is done automatically. Local variables that 
are used by one handler only, are deleted automatically. Moreover, the 
LiveCode scripting language isn't an object-oriented language, even 
though some people may try to make you believe otherwise and some 
other people wish it were. Really, it isn't. Because the language 
isn't object-oriented, it doesn't need a destructor.



Kind regards,

Mark Schonewille
http://economy-x-talk.com
https://www.facebook.com/marksch

Buy the most extensive book on the
LiveCode language:
http://livecodebeginner.economy-x-talk.com

Op 03-Jun-17 om 18:46 schreef Richmond Mathewson via use-livecode:

http://forums.livecode.com/viewtopic.php?f=8=29319

Not having looked at any sort of "serious" programming language since
about 1989 (I don't think that VB 6 is a serious language),
I find it hard to understand what a destructor is beyond a way to free
memory on a system that has constraints in that area.

HOWEVER: as there is no thing in Livecode having "destrucor" written all
over it in big letters for slow characters
like myself could some one tell me:

1. Does Livecode have something(s) that does the job of a destructor?

2. If so, where is it and so on?

3. If not, why not?

Richmond.
___
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: Rooting around in the Forum: destructors

2017-06-03 Thread Mark Schonewille via use-livecode
Short answer: LiveCode doesn't have destructors because the xTalk family 
of languages doesn't require them. xTalk languages make the life of the 
developer easier by taking such tasks our of their hands.


1a) Yes, under the hood, because LiveCode is written using variants of 
C, which are object oriented. So, LiveCode is creating and deleting 
(destructing) objects continuously, but the LiveCode developer/user 
doesn't need to be bothered with that.


1b) You could make sure to write clean scripts that always delete 
controls (and even cards and stacks) and variables that are no longer 
needed. LiveCode does a good job cleaning up after finishing a handler, 
so it isn't really necessary to do this yourself, but if you are 
creating controls that you need only one time, it is probably a good 
idea to delete them afterwards. When you delete a control, an object 
under the hood is no longer required and will be "destroyed" at some point.


2) It is in the object-oriented language that is used to create 
LiveCode. There is also a delete command in the LiveCode scripting 
language. The delete command isn't a destructor, but it does provide a 
form a cleaning up.


3) Most of the cleaning up is done automatically. Local variables that 
are used by one handler only, are deleted automatically. Moreover, the 
LiveCode scripting language isn't an object-oriented language, even 
though some people may try to make you believe otherwise and some other 
people wish it were. Really, it isn't. Because the language isn't 
object-oriented, it doesn't need a destructor.



Kind regards,

Mark Schonewille
http://economy-x-talk.com
https://www.facebook.com/marksch

Buy the most extensive book on the
LiveCode language:
http://livecodebeginner.economy-x-talk.com

Op 03-Jun-17 om 18:46 schreef Richmond Mathewson via use-livecode:

http://forums.livecode.com/viewtopic.php?f=8=29319

Not having looked at any sort of "serious" programming language since
about 1989 (I don't think that VB 6 is a serious language),
I find it hard to understand what a destructor is beyond a way to free
memory on a system that has constraints in that area.

HOWEVER: as there is no thing in Livecode having "destrucor" written all
over it in big letters for slow characters
like myself could some one tell me:

1. Does Livecode have something(s) that does the job of a destructor?

2. If so, where is it and so on?

3. If not, why not?

Richmond.
___
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: Rooting around in the Forum: destructors

2017-06-03 Thread Mark Wieder via use-livecode

On 06/03/2017 09:46 AM, Richmond Mathewson via use-livecode wrote:

http://forums.livecode.com/viewtopic.php?f=8=29319


Having now had a brief glance at that post,
Guglielmo is correct.
This has nothing to do with destructors.

--
 Mark Wieder
 ahsoftw...@gmail.com


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Rooting around in the Forum: destructors

2017-06-03 Thread Richmond Mathewson via use-livecode

http://forums.livecode.com/viewtopic.php?f=8=29319

Not having looked at any sort of "serious" programming language since 
about 1989 (I don't think that VB 6 is a serious language),
I find it hard to understand what a destructor is beyond a way to free 
memory on a system that has constraints in that area.


HOWEVER: as there is no thing in Livecode having "destrucor" written all 
over it in big letters for slow characters

like myself could some one tell me:

1. Does Livecode have something(s) that does the job of a destructor?

2. If so, where is it and so on?

3. If not, why not?

Richmond.
___
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


OT: English-like redux

2017-06-03 Thread Mark Wieder via use-livecode



--
 Mark Wieder
 ahsoftw...@gmail.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: slightly OT: The art of writing documentation

2017-06-03 Thread Mark Wieder via use-livecode

On 06/03/2017 08:48 AM, Richard Gaskin via use-livecode wrote:

Mark Wieder wrote:

 > Had to dig this up for someone else this afternoon, so I thought I'd
 > spread it around a bit more.
 >
 > Bob Reselman's lightning talk starts 30 minutes in.

Bob is a great speaker and a documentation god.  But alas, you forgot to 
include the link.




oops.
Here's just Bob's talk. No need to fastforward 30 minutes.

https://www.youtube.com/watch?v=W64jNAYXz_4

--
 Mark Wieder
 ahsoftw...@gmail.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: slightly OT: The art of writing documentation

2017-06-03 Thread Richard Gaskin via use-livecode

Mark Wieder wrote:

> Had to dig this up for someone else this afternoon, so I thought I'd
> spread it around a bit more.
>
> Bob Reselman's lightning talk starts 30 minutes in.

Bob is a great speaker and a documentation god.  But alas, you forgot to 
include the link.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: tsNet licensing error using the business version of LC server

2017-06-03 Thread Ralf Bitter via use-livecode
Indeed, LC server Business does not differ from LC server Indy.
Anyway, all I would like to achieve is to get access to the extended
feature set of tsNet Business on LC server. Would be a pity if this is
not possible, as this was one of the main reasons I purchased a
LC Business license.


Ralf


> On 3. Jun 2017, at 14:24, Matthias Rebbe via use-livecode 
>  wrote:
> 
> Ralf,
> 
> are you sure there are an indy version and a business version of LC server? 
> isn´t it just a commercial version?
> 
> At least in my account the downloaded lcserver for my indy license seems to 
> be  the same as the one for my business license.
> 
> Anyway, this does not help with your problems. ;)
> 
> Regards,
> 
> Matthias
> 


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Re: tsNet licensing error using the business version of LC server

2017-06-03 Thread Matthias Rebbe via use-livecode
Ralf,

are you sure there are an indy version and a business version of LC server? 
isn´t it just a commercial version?

At least in my account the downloaded lcserver for my indy license seems to be  
the same as the one for my business license.

Anyway, this does not help with your problems. ;)

Regards,

Matthias



> Am 03.06.2017 um 01:06 schrieb Ralf Bitter via use-livecode 
> >:
> 
> Sure, tested the tsNet Indy version (using LC server Indy) too,
> there is no “external: unlicensed (tsNet)” error.
> 
> Copied the .so file to the externals folder, all .lc files are in
> /var/www/html/.
> 
> 
> Ralf 
> 
> 
>> On 2. Jun 2017, at 23:01, Matthias Rebbe via use-livecode 
>> > wrote:
>> 
>> Hi Ralf,
>> 
>> did you try the tsNet external for Indy, also? 
>> 
>> Btw: How did you install tsNet  external. Where did you place the .so and 
>> the .livecodescriptfile?
>> 
>> Regards,
>> Matthias
>> 
>> Matthias Rebbe
>> +49 5741 31
>> ‌matthiasrebbe.eu  > > >  > >>‌
>> 
>>> Am 29.05.2017 um 18:29 schrieb Ralf Bitter via use-livecode 
>>>  
>>> >> >>:
>>> 
>>> LC server yields an error on Ubuntu 16.04 Lts using any
>>> LC server business version and the associated tsNet version:
>>> 
>>> “external: unlicensed (tsNet)”
>>> 
>>> This is strange as there is no licensing issue with the Indy version.
>>> Seems the business license being valid needs to be approved
>>> somehow, but how do I accomplish this?
>>> 
>>> 
>>> Ralf
> 
> 
> ___
> 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