Re: Livecode Licence Rules for dummies ....

2015-11-14 Thread Richard Gaskin

Francis Nugent Dixon wrote:

I can’t understand your licence rules, especially as they have been much
modified since I BOUGHT 5.5 quite some time ago.


The license that accompanied your software is the only one that governs 
the software you received.


Any changes to the license for later versions only affect the versions 
shipped with that license.


--
 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: Mobile Resizestack handler possible bug

2015-11-19 Thread Richard Gaskin

David Bovill wrote:

Resize handlers are called repeatedly with every fraction of a move - if
you out slow code inside them (like fetching a blocking url) then it jams
up.


While I would also put net access calls in something other than a 
resizeStack message, on a mobile device isn't resizeStack only called 
once on startup and only once again whenever the orientation is changed?


--
 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: diesel again

2015-11-19 Thread Richard Gaskin

Mark Wieder wrote:

Dunno about you, but David has stopped responding to my emails.


Was that sent to support@, or to David personally?

Heather's tried to remind us gently here a few times that we should 
avoid writing to specific individual accounts for support matters 
because roles shift, people take vacations, etc., but support@ queues 
are shared by multiple staff to cover such occurrences.


--
 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: wtf diesel?

2015-11-20 Thread Richard Gaskin

Ralph DiMola wrote:

> I used the contact form for emergency support requests. I got a
> response back last Saturday from David in less than an hour.
> Things were OK by Sunday. When diesel went sideways again on
> Wednesday and last night I again used the contact form for
> emergency support requests but have not received any responses
> for either of the last 2 emergency support requests. That
> being said I see that a few hours after both requests the load
> on diesel went back to LOW.

Any word on why the server load has prolonged spikes?

Is there a user on the affected machines trying to run needlessly 
complicated scripts?


Many years ago there was discussion here about CPU throttling on the 
on-rev servers, as we'd expect with any shared hosting service so a 
single account can't dominate the machine and deny use for others (I 
once heard someone say that they felt it was a reasonable expectation 
that they should be able to run CPU-maxing analytics programs on a 
shared host for 7 or 8 hours at a time )>


It may be helpful to know what causes these unusual server loads.

--
 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: Multiple windows launches of an app

2015-11-22 Thread Richard Gaskin

Jeff Reynolds wrote:

Any ideas on how to prevent the multiple copies of the app from getting fired 
up?


The relaunch message is sent Windows for this purpose.

--
 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: revStacks hitting my openField handler in library

2015-11-22 Thread Richard Gaskin

Dr. Hawkins wrote:

On Sat, Nov 21, 2015 at 7:24 PM, J. Landman Gay wrote:


No deficiency.


The deficiency isn't in the messaging system, but the monolithic file
structure.  The only reason I got into this is the staggering amount of
space being taken for each checkpoint.

Moving into the 1990s with some kind of revision or version control, or
even into the 1970s with diff and patch, is a critical need and an
essential element.  Not having this is a gaping underprovision in something
that suggests itself for commercial or scientific use.

Yes, I know there are a project or two that try to achieve this.  But this
shouldn't be a project; it is unacceptable that it isn't integral.

It should be trivial to go back a few minutes, or a couple of hours, to any
point, and isolate changes. This is not "add on", but basic functionality.


If it were as "trivial" as you suggest you should be able to write a 
plugin to handle that in just a few minutes, yes? :)


Which xTalks have you used with that capability which gave you the 
expectation?


Unique among xTalks, LiveCode does provide the ability to create 
script-only stack files that are just plain text, perfectly suited for 
the limitations of modern VCSes.  Why not use that?


For binary stack files, Monte's lcVCS is being used in production on a 
number of projects. Perhaps it may be well suited for yours as well.


--
 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: Handy LiveCode Keyboard Shortcut Cards

2015-11-23 Thread Richard Gaskin

Mark Wieder wrote:
> On 11/22/2015 07:48 PM, Howard Bornstein wrote:
>> Very nice.
>>
>> You might want to add the following shortcuts to the debugger section:
>>
>> Step Into: Cmd-I
>> Step Over: Cmd-O
>> Step Out: Cmd-T
>> Stop:  Cmd-Y
>> Run:   Cmd->
>> Toggle Breakpoint: Cmd-\
>
> Well, I can't say I'm much of a fan of hijacking the operating system
> keyboard shortcuts. That just leads to user confusion.

Which keys would you suggest that don't conflict with any shortcuts 
provided in the Windows, OS X, Gnome, or KDE HIGs? :)


--
 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: Components not an IDE?

2015-11-24 Thread Richard Gaskin

David Bovill wrote:

I think we have an issue with the way we think of LiveCode and in
particular the IDE. We picture it as a CMS or an opinionated IDE. How about
thinking of it like a minimal core engine (or set of engines), and
installable components that can provide authoring and editing capabilities
if needed?


A more modular IDE architecture has been hoped for here for more than a 
decade, and is finally coming about:


My understanding is that's exactly what they're doing now, factoring the 
IDE from its current monolithic form into a set of components that work 
with a slender core and are interchangeable with community-made 
components if desired.


Might be nice if they considered a hierarchical binding as I discussed 
here last month( 
<http://lists.runrev.com/pipermail/use-livecode/2015-October/219830.html> ), 
but even if we have to subscribe to every individual message it's a big 
step forward.




More like Node + Node Package Manager (npm) + Express? So we would have the
engines - JavaScript, and various platforms, we would have a package
manager, and maybe a good minimal reference app.

npm install livecode


Peter and I discussed this a while back and my understanding is that any 
UI delivered to manage components will be driven by library commands, 
similar to rpm or apt, so others in the community can build alternatives 
and extensions on top of them just as they can with inspectors, object 
browsers, script editors, etc.



Geoff Canyon wrote:

I have no objection to the overall concept, but I'd suggest one thing: with
many development environments, getting stated involves many steps. One of
the great things about LC is that you download an installer, hit install,
open the IDE, and start developing. Any modification to the IDE should try
to maintain that simplicity.


My understanding is that most folks will never see the difference.  80% 
of software user never change default preferences, and while power users 
will enjoy being able to mix and match components the average developer 
should be able to just install the IDE and get to work with a good tool 
set ready to go.


--
 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: Release 8.0 DP 10

2015-11-24 Thread Richard Gaskin

Geoff Canyon wrote:

On Tue, Nov 24, 2015 at 6:46 AM, Ali Lloyd wrote:


*Native string performance*
The performance of native string operations has been vastly improved, with
many achieving similar speeds to those in 6.7.


This is definitely improved. I had already been running tests using list
parsing, and I just ran that test in 8.0dp10, and while it is still slower
than 6.7.3, it is *much* faster than 7, or earlier releases of 8:

6.7.3: 1.77 seconds
7.0.3: 32.95 seconds
8.0dp1: 32.31 seconds
8.0dp10: 2.17 seconds


This is VERY encouraging.

Given the scope of what the team has been doing, from Cocoa to Unicode 
and the hundreds of other enhancements and refinements along the way 
(I've been surprised no one else is as excited about the addition of the 
mobileGetLaunchData function), it would have been a bit much to expect 
all that could come together and also be well optimized in the first pass.


After all, Python took a few builds moving from v2 to v3 to get 
performance back, and even with fewer contributors it seems the LC team 
has accomplished as much in about as much time.


Kudos to Malte for spearheading the benchmarking effort that helped 
identify some of the specific string operations affected.


And of course kudos to the team for these optimizations, proving that 
even if it takes a little time it's possible to add sweeping new 
features and still maintain good performance.


--
 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: Components not an IDE?

2015-11-24 Thread Richard Gaskin

David Bovill wrote:

Richard below I am actually suggesting using npm as is - not simply
implementing a library in LiveCode. That way any node developer could get
up and running using LiveCode with a single "npm install livecode" call.
The Livecode package would be described in package.json and would install
the needed binaries / engines.


Unless LiveCode objects are directly interoperable with Node.js, what is 
the advantage of that format?


JSON is a great solution for exchanging data between programs that don't 
need to know much about each other's internals, a more streamlined 
alternative to the role XML played just a few years ago.


Useful as plain-text representations are for exchanging data, programs 
generally don't actually use the data until it's been de-serialized from 
its plain-text format into a local object/array.


MongoDB uses BSON ("Binary JSON") for more efficient storage and 
transfer, and in LiveCode we have what I like to call "LSON", 
associative arrays serialized into a compact binary form with the 
arrayEncode function.


The engine-level support for LSON is robust and very efficient, 
performing probably at least an order of magnitude over any plain-texxt 
representation like JSON.


The code to serialize and deserialize LSON is already written in C++ and 
compiled into machine code in the engine - and better still, 
field-tested for many years.


We have several JSON libraries in the community, and while they're 
becoming more robust and efficient I don't believe it will ever be 
possible for any scripted solution to perform as well as what we can do 
today with LSON.


I appreciate the benefits of using existing standards, even de facto 
ones, where relevant; for this reason I submitted an enhancement request 
for BSONencode and BSONdecode as options for workflows where we 
currently use only arrayEncode and arrayDecode:

<http://quality.livecode.com/show_bug.cgi?id=15678>

But unless the data contained within the format is useful within the 
system for which the package manager was designed, it would seem the 
benefits would be limited, and ultimately whether we choose npm or apt 
or rpm would make little difference.


All that said, my experience with Node.js has been far from hands-on; 
I've read only a hundred pages or so on it, but have never actually used 
it for any practical task.  Is there something in Node.js I may have 
missed that would make it practical to exchange LiveCode objects with it?


--
 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: SQLite, keep connection open or close every time?

2015-11-24 Thread Richard Gaskin

Dr. Hawkins wrote:

Doesn't a :memory: database get deleted by live code when closed.


I would assume that any memory structure goes away when the process 
using it is completed.




And as I discovered playing around with sqlite, multiple potential users
can be a *real* problem.

If a second user tries to open it, it appears to work.  It may even work if
only one writes, but once there is a write, it gets strange.


In his book Using SQLite, Jay A. Kreibich says that SQLite DBs can be 
read by any number of concurrent users, but can only be written to by 
one at a time, with a further caveat that SQLite itself doesn't impose 
restrictions on writes, so preventing concurrent writes is, as with most 
files, up to the application.


--
 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: Something Mark W is NOT doing

2015-11-25 Thread Richard Gaskin

Richmond wrote:
> I received a very odd message today, purporting to be
> from Mark Waddingham:
>
> good evening Richmond
>
>
> http://[spam URL deleted]
>
>
> Mark
> mark.waddingham at yahoo.com
>
>
> and sent from: mark.waddingham at jalehill.com
>
> which is obviously bogus.
>
> Mark needs to be aware of this (I don't have his personal e-mail),
> and so does every potential recipient.
>
> The "clubmazda" link leads to a "work from Home' Scam.


Have you considered sending an email to Mark directly?  Redistributing 
the scam link to thousands of list members who aren't Mark may be confusing.


I've been seeing a lot of spam that fits the recipe you describe, and 
often the ostensible sender is a junk address, with recipients pulled 
from a range of relevant sources which may include the address book of 
any of the recipients.


Of course we can't rule out anything without more info, but given how 
much of this spam I've been seeing I wouldn't be too concerned over the 
unlikely possibility that Mark's laptop has been compromised.


--
 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: Something Mark W is NOT doing

2015-11-25 Thread Richard Gaskin

Richmond wrote:
> On 25/11/15 20:23, Richard Gaskin wrote:
>> Have you considered sending an email to Mark directly?
>
> I am unaware of a direct e-mail for Mark.

In the archives it's at the top of every post, e.g.:
<http://lists.runrev.com/pipermail/use-livecode/2015-November/220827.html>

When in doubt, if there's a serious matter that requires contact with a 
team member you can write to support@ and note who it should it be 
forwarded to and they can move it on for you.


--
 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: Death of the Application Browser

2015-11-26 Thread Richard Gaskin

Richmond wrote:


I've got several buttons, and getting rid of the Application Browser just
pushed one of them quite hard.


Peter and Ali have already made multiple posts noting that the omission 
of the App Browser is a bug which will be fixed in the next build.


One of the benefits of counting to ten before expressing annoyance is 
that it provides your In Box a moment to catch up to find out if the 
annoyance is needed at all.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for Desktop, Mobile, and 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


[ANN] SoCal LiveCode Meeting, Dec 3

2015-11-30 Thread Richard Gaskin
The next meeting of the SoCal LiveCode User Group is coming up Thursday, 
December 3, at 7PM in Pasadena - details in the forums:


<http://forums.livecode.com/viewtopic.php?f=50&t=25836>

--
 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: tracking down freeze based on timing, maybe?

2015-12-13 Thread Richard Gaskin
This may help:
http://fourthworld.net/revnet/devolution/4W_FlightRecorder.livecode.gz


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


Re: Improving the LiveCode release notes

2015-12-14 Thread Richard Gaskin

Peter TB Brett wrote:

I'm currently working on the LiveCode 8 release notes (in preparation
for RC 1!)

I'd really appreciate some feedback to help me understand how we can
make the LiveCode release notes more informative and helpful.


A frequently-asked question is which version of xTools is needed for iOS 
deployment.


--
 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: tracking down freeze based on timing, maybe?

2015-12-14 Thread Richard Gaskin

True, for hangs and crashes the Flight Recorder is of limited utility.

This one logs to a file, so it may be more helpful in your circumstance:
<http://fourthworld.net/lc/4wLogger.livecode.zip>

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


Matt Maier wrote:

Maybe I'm using it wrong? When the IDE freezes so does the flight recorder.
I think it's automatically scrolling to the most recent messages, so I can
see what was logged last through the locked up "haze" but I can't see
anything else or save it.

On Sun, Dec 13, 2015 at 4:14 PM, Richard Gaskin 
wrote:


This may help:
http://fourthworld.net/revnet/devolution/4W_FlightRecorder.livecode.gz




___
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: Improving the LiveCode release notes

2015-12-15 Thread Richard Gaskin

Peter M. Brigham wrote:
> I'm hardly a database expert, but it sounds as if a database of
> release notes with a flexible front end is the way to go.

It's not like there are that many of them - why not roll them into a 
simple stack?


--
 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: Need help with my C to LiveCode skills

2015-12-17 Thread Richard Gaskin

Mark Wieder wrote:

> On 12/16/2015 12:56 PM, Todd Fabacher wrote:
>> Sorry to bother the list, but I don't know how to do Xor in
>> LiveCode.
>
> As mentioned, the bitXor operator is what you want.
> But I can't say much for that as an encryption algorithm unless
> you're looking for simple symmetric encryption/decryption.

Agreed.  I included this quote in my reply to the forum thread at 
<http://forums.livecode.com/viewtopic.php?f=32&t=26115&p=135819#p135819>:


"XOR is trivial to break, requiring seconds at most, whereas DES takes 
hours to crack, and Blowfish would take us past the expected lifetime of 
the sun."


...from this article, which also includes tips on cracking XOR'd ciphertext:
<http://www.kuro5hin.org/?op=displaystory&sid=2000/4/10/174741/423>

If at all possible it would be both simpler to code and far more secure 
to just rely on LC's built-in encrypt and decrypt functions, which 
provide access to 100 industrial-strength algos like Blowfish, AES-256, 
and more.


--
 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: LiveCode User Groups and Mail Lists

2015-12-17 Thread Richard Gaskin

Alejandro Tejada wrote:
> Just for casuality, today I found this LiveCode group
> in Google Groups:
> https://groups.google.com/forum/#!forum/runrev
>
> Where could I find a complete and updated list of
> all LiveCode User Groups and Mail lists?

Given the frequency with which online communities are created and 
abandoned, I don't believe there is a single listing.


For example, back in the older days I participated in and even created a 
few Yahoo groups for special interest groups related to LC, but over 
time the relevance of those groups has diminished.


For example, the older MC IDE and RevInterop working groups on Yahoo are 
largely migrated to the forums, and the revolution_ipc group there 
hasn't had a relevant message since 2013, much like the group you 
discovered above.


Among online communities the forum and this list are the main watering 
holes, with a few language-specific forums elsewhere for Italian, Dutch, 
Spanish, and possibly even Chinese (though I can't find the URL for the 
latter at the moment).

<http://livecodeitalia.freeforums.org/generale-f2.html>
<http://nl.runrev.info/>
<http://livecodela.com/>

Additionally, in social media there are LiveCode groups on Facebook, 
Google Plus, and the largest of them is on LinkedIn, where there are a 
few regional subgroups as well.

<https://www.facebook.com/groups/livecodeusers/>
<https://plus.google.com/u/0/communities/109731058120269230218>
<https://www.linkedin.com/groups/50811>

There's also a large and growing number of blogs and other LC-related 
sites, but I'm not sure how many of those may have their own forums.


As for live in-person meetups, I strongly encourage everyone to post 
meeting notices in the "User Groups and Gatherings" section of the forums:

<http://forums.livecode.com/viewforum.php?f=30>

Anyone organizing an ongoing set of meetings is welcome to drop me a 
note and I can create a sub-forum for your group there, as Heather did 
for our SoCal LiveCode User Group.


In fact, I would encourage folks to post notices in that forum for 
online communities as well, so folks can have one-stop shopping for the 
various groups on the Web.


--
 Richard Gaskin
 LiveCode Community Manager
 rich...@livecode.org


___
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: Analytical Engine - An Introduction to Computer Science

2015-12-17 Thread Richard Gaskin

Alejandro Tejada wrote:

> Does anyone have this HyperCard book in his/her bookshelf? and
> Could you provide us with a fair review of it's content?
...
> Analytical Engine: An Introduction to Computer Science Using
> HyperCard 2.1
> (Computer Science Series) Paperback – September 27, 1993
> by Rick Decker  (Author), Stuart Hirshfield (Author)
...
> If we believe this book's introduction then this is exactly the kind
> of content that should be updated for this platform.
>
> How many interesting and really useful books about HyperCard published
> between 1987 and 1998
> are just waiting to be rediscovered and updated?

You might be surprised at how much work would be needed to make them 
relevant to modern LiveCode, if they can be made relevant at all.


I haven't read "Analytical Engine" so maybe it's an exception to the 
rule, but most of the HyperCard books I've seen are very specific to 
HyperCard itself, replete with explanations of the UI that's very 
different from LC, and when they discuss even the core language I often 
find that the things most inventively useful things back in the day have 
turned out to be what we might consider workarounds for things built 
into LiveCode today.


For example, one of my favorite books on HyperTalk was Colouris and 
Thimbleby's "HyperProgramming". I remember it being among the most 
exciting HyperTalk books I'd purchased at the time, but I was reviewing 
it again recently and found that most of it is a (nicely done) rehash of 
the HC manual, and it's not until page 271 that it breaks interesting 
new ground with a discussion of a lightweight framework for developing 
in HC.  The final section after that contains some ideas for tools that 
were very powerful at the time, but with LiveCode's arrays, extended 
chunk expressions, and deeper more flexible object model none of those 
would be how those problems would be solved in LC.


Similarly, I have a copy of Peter Desberg's "HyperInteractive CAI: Using 
HyperCard to Develop Computer-Assisted Instruction".  Here there's 
slightly more content that might be adaptable for LC, with its focus on 
instructional design - Mr. Desberg is a well respected professor at Cal 
State University at Dominguez Hills, and his deep experience as an 
educator shows through in his writing.  But the implementation of his 
ideas throughout the book is so specific to HyperCard that there's 
hardly much there that I could recommend to someone learning LiveCode 
for use in education.


One thing all the xTalk books from the '80s and '90s have in common is 
the nearly complete absence of one of the most defining elements of our 
time:  the Internet.


Coupled with the new capabilities LC has introduced to the xTalk world, 
and richer object model, and of course support for mobile platforms, the 
ways we solve problems today are very different from how we solved them 
back then.  Even when some of the core language seems strikingly 
similar, that similarity is largely superficial, however seductively so: 
 we can run many algos we'd written back then, but today we'd write 
them very differently.


IMHO, the opportunities for delivering good learning materials for 
LiveCode fall into two camps:


- Community engagement with the core team to refine, enhance, and extend 
the wealth of existing resources freely available to all: the User 
Guide, Dictionary, lessons, tutorials, and example stacks. Most of the 
documentation is already in Github and can be worked on today; a brief 
guide for orienting to Github for LC documentation is being drafted by 
the team to make that even easier going forward.


- Domain-specific reference and tutorial information for areas like 
workgroup support, business management, enterprise devops, education, etc.


As for education, the Education Community Outreach project has a forum 
section and a team leader, Max Shafer, and everyone interested in 
exploring opportunities for learning materials, template stacks, tools, 
and other resources to support the use of LiveCode in educational 
settings is strongly encouraged to dive in:

<http://forums.livecode.com/viewforum.php?f=107>

--
 Richard Gaskin
 LiveCode Community Manager
 rich...@livecode.org


___
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: Licensing issues [was: Re: LC 8 DP 11]

2015-12-18 Thread Richard Gaskin

Wilhelm Sanke wrote:
> I surely cannot afford the present Business license, but could live
> with a new Indy-license starting August 2016, provided the Indy
> license allows me to install Livecode - and different versions of it
> - more than one time on one or more computers.

Looks like section 1.d) of the Indy EULA has you covered:

  d) The Licensed Edition may be used exclusively by You on a
  reasonable number of machines and platforms You may have for
  Your own exclusive use and may not be transferred to, or
  loaned to, or used by another entity at any time or for any
  purpose.

--
 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: Take a look back through 2015

2015-12-18 Thread Richard Gaskin

Trevor DeVore wrote:
> On Fri, Dec 18, 2015 at 12:55 PM, Steven Crighton <
> steven.crighton at livecode.com> wrote:
>
>> There was a lot of code written, and plenty tea to keep us fueled.
>>
>> Take a look back through 2015 here - https://livecode.com/our-2015/
>
> That is a great post Steven! What a productive bunch you have been :-)

Ditto.

And especially nice to see such a disproportionately favorable number of 
Linux devs using LC:

<https://livecode.com/wp-content/uploads/2015/12/macchart.jpg>

--
 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: Take a look back through 2015

2015-12-18 Thread Richard Gaskin

Mark Wieder wrote:
> Yeah, that's an impressive list.
>
> But "3.5x Faster" than what?
> It's like those ads that feature "20% less fat"
>
> Nice to see that kilted Kevin has a glass of scotch close at hand

I dunno, the performance boost seems reasonably well reflected in my 
most recent benchmarks:

<http://forums.livecode.com/viewtopic.php?f=67&t=22072&start=45#p135752>

--
 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: Take a look back through 2015

2015-12-19 Thread Richard Gaskin

Mark Wieder wrote:

> On 12/18/2015 03:03 PM, Richard Gaskin wrote:
>> Mark Wieder wrote:
>>  > Yeah, that's an impressive list.
>>  >
>>  > But "3.5x Faster" than what?
>>  > It's like those ads that feature "20% less fat"
>>  >
>>  > Nice to see that kilted Kevin has a glass of scotch close at hand
>>
>> I dunno, the performance boost seems reasonably well reflected in my
>> most recent benchmarks:
>> <http://forums.livecode.com/viewtopic.php?f=67&t=22072&start=45#p135752>
>>
>
> No question about that. Just amused by the wording.

Yes, their promo copy is habitually a bit heavy-handed.

They'd do well to tone it down a bit, err on the side of underselling. 
Let the excellence of the product speak for itself.


A gene pools go, people who find programming enjoyable tend to represent 
the higher side of the IQ bell curve.  Like any street-wise salesman 
will tell you, the smarter the target the softer the sell.


--
 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: Take a look back through 2015

2015-12-19 Thread Richard Gaskin

Mark Wieder wrote:
> I'm dismayed that more attention hasn't yet been paid to improving
> the file operations, but the speed of string operations has benefited
> greatly from recent optimization.

I've only recently cracked my copy of "Linux System Programming" so my 
ignorance has yet to be abated; in my brief review of strace output from 
file operations nothing stands out to me as an obvious bottleneck.


What opportunities do you see for streamlining file I/O?

--
 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: Player Object in HTML 5?

2015-12-19 Thread Richard Gaskin

Simon wrote:

> Peter TB Brett wrote
>> Yes, you can already deploy a commercial HTML5 standalone from Indy
>> or Business edition, if you have the HTML5 deployment entitlement
>> added on to your license.
>
> Ahhh shoot!
> How did I miss that?  $2K a year.
> While I'm not very bothered by HTML5 and LiveCode Indy/Business as I
> can use the Community version, I am surprised that I hadn't seen that
> it was coming out as an add-on.

The word "HTML" yields 0 hits on the Pricing page:
<https://livecode.com/products/livecode-platform/pricing/>

Where can one find the pricing of the HTML5 deployment entitlement?

--
 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: Player Object in HTML 5?

2015-12-19 Thread Richard Gaskin

Monte Goulding wrote:
> Did you expect to be able to deploy commercial HTML5 apps with
> community?

It's a minor point but perhaps worth offering a reminder that the 
distinction isn't about commercial, but about *proprietary*.


The GPL doesn't in any way restrict commercial activities with software. 
Its requirements focus on sharing source code.


For those who derive revenue solely from per-user licenses this 
distinction may not be all that important, since of course if the source 
is freely available everyone is one Standalone Builder moment away from 
having the finished app.


But over the last decade many business models have evolved with revenue 
streams beyond per-use licenses for software.  SaaS, PaaS, and other 
service-oriented models are increasingly popular, and indeed many of the 
tech industry's hottest startups are based around open source technology.


It's been estimated that as much as 90% of software is written "for use 
rather than for sale", and for those projects sharing the source means 
additional features, maintenance, and support from the community at no 
cost to the originator, so the software grows to accommodate an 
ever-large variety of use cases for a win-win for all.


Even though my proprietary LC licenses are prepaid many years in 
advance, right now the majority of projects I'm working on are for 
in-house workgroup support tools where the GPL-governed version would 
work equally well.   In fact, once they get mature enough portions of 
those projects may be released under GPL for the reasons I've noted 
above, to get more eyeballs on the code and new enhancements beyond my 
own limited current needs.


That said, even when using open source software I often contribute back 
to the core team.  It's in the interest of my business, my clients' 
businesses, and our end-users to make sure the stewards of the 
technologies we rely on are well taken care of.


I contribute to the Ubuntu project and others, and maintain an 
individual membership with the Linux Foundation for these reasons.  I 
have no obligation to do so, but there's nothing altruistic in my 
support, rather it's purely selfish: I recognize that the value I derive 
from these projects is more than strong enough to warrant supporting 
them to make sure they keep doing the great work they've been doing.


By the same token, in addition to my prepaid LC licenses for the 
proprietary edition I also devote time contributing to the project in 
support of the GPL-governed Community Edition.


Whether through cash, code, or evangelism, all useful open source 
projects can benefit from community contributions.


But none of that is an obligation, nor inhibits even substantial 
commercial activity, provide I adhere to the terms of the license I'm 
using: deploying proprietary apps only with a proprietary-licensed 
edition, and sharing code when made with the sharing-focused 
GPL-governed edition.


--
 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


emacsKeyBindings

2015-12-22 Thread Richard Gaskin

Just curious:  anyone here use the emacsKeyBindings global property?

--
 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: Take a look back through 2015

2015-12-23 Thread Richard Gaskin

Ralph DiMola wrote:
> +1
>
> The mother ship has been all over this list and we all appreciate it!

At one time an increased presence here by the core team was perhaps the 
most requested feature, now well executed.  "RESOLVED-FIXED", in a major 
good way. :)



> The best to the RR Team and the use/dev list members and their Family
> and Friends! I would be lost without this list. Hope to see many of
> you good folks next August!

+100

--
 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: Livecode Server and script only stacks

2015-12-23 Thread Richard Gaskin

David Bovill wrote:

> Does anyone know if script only stacks work with Livecode Server and
> if so which version of the server I need to be running?

Script-only stacks work beautifully on servers with either LiveCode 
Server and with Linux standalones - either can be used under CGI, and 
both work well.


I believe support for script-only stacks was added in the early v6 
series, so any of the recent releases will work well, 6.7.x, 7.1.x, or 
even 8.0 if you're feeling adventurous.


Of course v6.x will be EOL'd soon, and with v8 in DP we might think of 
v7 as the logical go-to, but v7 will also be EOL'd once v8 is released, 
and v8 has some performance improvements significant enough to merit 
consideration, esp. in server environments where performance is most 
critical.


--
 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


shell() vs terminal re. ssh

2015-12-23 Thread Richard Gaskin
I have a script (copy.sh) on ServerA that uses rsync to copy files to 
ServerB, and I want to call this from a LiveCode CGI.


In Terminal I can log in and execute ./copy.sh, and because I have 
ServerA's ssh public key in ServerB's authorized_keys file it all works 
swimmingly.


But when I call:

  get shell("/path/to/copy.sh")

...from my CGI, I get:

  Host key verification failed.


I'm assuming something about the way the shell function works is 
preventing the ssh key from being found.


I've tried a few different wrapper techniques I've found for forcing 
copy.sh to execute as a specific user, but to no avail.


Any bash experts here to let me know how to resolve this?

TIA -

--
 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: shell() vs terminal re. ssh

2015-12-23 Thread Richard Gaskin

Monte Goulding wrote:

> I'm no bash expert but I just wanted to check the user your cgi is
> bing run under is the same as the user you are logging into to run
> the script from terminal.

Thanks, Monte and Mike.

Yes, that was the problem - CGIs run as a different user.  But I have 
root on that server so I logged in as the CGI process, generated a key 
pair, copied the pub key to the other server, and now my CGI can handle 
the transfer well.


--
 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: shell() vs terminal re. ssh

2015-12-23 Thread Richard Gaskin

Bob Sneidar wrote:

> On Dec 23, 2015, at 13:22 , Richard Gaskin wrote:
>
>> Yes, that was the problem - CGIs run as a different user.  But
>> I have root on that server so I logged in as the CGI process,
>> generated a key pair, copied the pub key to the other server,
>> and now my CGI can handle the transfer well.
>
> Ick! It's secure, but so is throwing all my servers and backups
> into a vat of extremely caustic acid. 

I would have preferred a wrapper in either my shell() call or in the 
shell script it runs, but none of the examples I found on the web worked.


What would you suggest?

--
 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: shell() vs terminal re. ssh

2015-12-23 Thread Richard Gaskin

Monte Goulding wrote:

> You probably want to make sure the remote user is pretty restricted
> too. Anyone that has control of your web server user will have
> control of that account too.

Good thought.  I try to keep in mind all connection points between 
servers I manage, and on my own I also completely disable password 
login, lock out root, and move SSH to a non-standard port (the latter 
isn't for security of course, just to keep logs readable by reducing 
script kiddie noise).


In this case both servers only live within the client company's internal 
network, and given their annoyingly well-enforced password policies I 
feel okay with this setup for now.


I'd still prefer a wrapper solution, if only I could find one that 
works.  But for now at least a deadline is met, and with both machines 
on the same rack the transfer speed is wonderfully fast.


--
 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: shell() vs terminal re. ssh

2015-12-23 Thread Richard Gaskin

Monte Goulding wrote:
>> I also completely disable password login, lock out root,
>
> I do that too. Scary when you login as root and see thousands of 
failed attempts...

>
>> and move SSH to a non-standard port
>
> Hadn't thought of doing that.

At least two or three times a year I do a Google search for "harden 
Linux server", and then walk through the checklists I find to see what 
they suggest and compare with what I'm doing.  Always learn a few new 
things that way.


--
 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: LiveCode books

2015-12-23 Thread Richard Gaskin

Colin Holgate  wrote:
> Packt do a sale each year where they reduce their e-book prices to $5
> each. They have three LiveCode books:
>
> https://www.packtpub.com
>
> Note that the one with just my name on it is the original edition,
> the one with Joel Gerdeen on it is the later edition.

Thanks, Colin.

I posted that to the FB LC group, and one of the members there had this 
question:


   Besides being an original vs second edition, were there major
   changes in the books? What I mean is, there are 2 different
   authors. Was the second one a major re-write or was it just
   edited and corrected?
<https://www.facebook.com/groups/livecodeusers/permalink/963679307004253/>

If you're not on FB feel free to post the answer here and I'll re-post 
there.


--
 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: Livecode Server and script only stacks

2015-12-24 Thread Richard Gaskin

David Bovill wrote:
> I've been looking for the way to determine if a script is running on
> a Livecode server - I've searched my memory and the docs - both both
> seem somewhat unreliable - what is the function that returns 'server"
> when running on Livecode server again?

The environment function will return "server" when called within the LC 
Server engine.


This is currently missing from the Dictionary entry for "environment", 
reported:

<http://quality.livecode.com/show_bug.cgi?id=16658>

--
 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: Is "backups" a reserved word for LC server ?

2015-12-29 Thread Richard Gaskin

jbv wrote:
> Strange things happen : on a first on-rev account, I have a directory
> and sub-sirectory as follows : irev/backups
> For months, I have a script in irev that writes temporary files in the
> "backups" sub-folder and then deletes them, and everything works fine.
>
> On a second on-rev account, in the same situation, no file at all gets
> written in "backups". If I change the name of that sub-folder to
> "DBtemp" or anything else, then everything works normal and the files
> get written in it.
>
> Any idea ?

I don't see "backups" in the Dictionary, but even if it were no keyword 
should affect a string literal.


What are the permissions on the folder?  What do "the result" and 
sysError() tell you when called immediately after the line that fails?


--
 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: Is "backups" a reserved word for LC server ?

2015-12-29 Thread Richard Gaskin

jbv wrote:

>> What are the permissions on the folder?  What do "the result" and
>> sysError() tell you when called immediately after the line that
>> fails?
>
> I have tried various permissions, especially 755 and 777.

Whenever practical it's generally useful to avoid 777, as that makes the 
file/folder world-writable and world-executable.


> The result and the syserror return exactly the same values, no matter
> is the file is written or not :
> the result is empty
> the syserror returns 2

I'm surprised that syserror has an integer while "the result" is empty.

2 is "No such file or directory":
<http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html>

Double-check your path and you'll be good to go in no time.

--
 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


Dictionary alternatives

2016-01-02 Thread Richard Gaskin
While the Dictionary is being repaired for v8.0dp13, I was hoping to 
install an alternative from the community, but alas I can't find one.


I haven't maintained the one I'd made for MetaCard in years, and BVG 
Docu appears inaccessible (and I don't even know if it's been updated 
for v7 or v8):

<http://bjoernke.com/?target=bvgdocu>

Are there any other alternative Dictionary resources in the community, 
other than the web-based mirror at 
<https://livecode.com/resources/api/>? (I'd prefer something that can be 
accessible even without an Internet connection)


TIA -

--
 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


[ANN] SoCal LC Meetup: Thurs, Jan 7

2016-01-02 Thread Richard Gaskin
The SoCal LiveCode User Groups kicks off the new year with our next 
meeting on Thursday, January 7 in Pasadena - details in the forum:

http://forums.livecode.com/viewtopic.php?f=50&t=26201

--
 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: Dictionary alternatives

2016-01-02 Thread Richard Gaskin
I appreciate all the good ideas about rolling my own interim fix for 
this, but perhaps I should clarify my interest:


Part of my soon-to-be-release devolution 4.0 toolkit includes the 
ability to switch between standard IDE components and community-based 
alternatives.  For example, it has a "Browser" button that lets you 
choose between the Project Browser, App Browser, or Navigator.


The one common IDE component I can't find an alternative for is the 
Dictionary.  Many years ago there was the MC Dict, but I stopped 
maintaining that once I migrated my work to LiveCode v4.6.4.


BVG Docu was a very nice alternative, but I'm unsure whether it's still 
being maintained for v8 forward.  With the changes to the structure of 
the Dictionary content in v8 I would imagine some non-trivial work would 
be required to rewrite that to import into Docu.


So yes, lots of good options for rolling my own.  LC is very flexible 
and a joy to work with, and as well suited for making Dictionary viewers 
as anything else.


But my goal here is simpler: I'm just looking for currently-maintained 
Dictionary solutions in our community to make sure they're represented 
as alternatives in devolution once it's released.  It would be nice to 
offer at least one if we have a current one in our community, or more if 
there are other such projects I'm unfamiliar with.


--
 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


[OT]SoCal Linux Expo: Jan 21-24 in Pasadena

2016-01-05 Thread Richard Gaskin
The SoCal Linux Expo (SCaLE) is one of my favorite annual events, and 
this year it's coming to Pasadena.


For LiveCoders it's a chance to learn more about servers, containers, 
security, and more to enhance the work you do.


For tech enthusiasts of every stripe there are sessions covering 
everything from IoT to building communities.


And for everyone there's a chance to make new friends in an easy-going 
environment focused around sharing free software.


https://www.socallinuxexpo.org/scale/14x

With excellent sponsors like HP, Microsoft, Facebook, O'Reilly Media, 
Ubuntu, MySQL, and many more, the price of admission to this four-day 
event is just $85.


Even better, if you're interested in going drop me an email and I'll 
send you a discount code for 50% off.


And for Ubuntu fans there's a special treat:  for the last few years 
I've been organizing UbuCon at SCaLE, a special full day track at SCaLE 
for all things Ubuntu.  This year we've had tremendous support from 
Ubuntu, and we're premiering UbuCon Summit: two full days with two 
tracks, one for end-users and one for app devs.


If you're interested in attending the UbuCon Summit at SCaLE please 
register here so they can make sure to have enough t-shirts on hand:

http://ubucon.org/

Hope to see you there.  Year after year, SCaLE is among the most 
educational and fun events I've attended.


--
 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: Animation in LiveCode

2016-01-06 Thread Richard Gaskin

Richmond wrote:
> 
http://denon-dj-asio-driver-mac.mac.novellshareware.com/info/pivot--revolution.html

>
> Oh, Super, it's multi-platform and its free!
>
> Animated GIFs all round.

Ken Ray built a competing tool using LiveCode called Stykz, and while 
it's not open source it's free as in gratis:

<http://www.stykz.net/>

--
 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: Animation in LiveCode

2016-01-06 Thread Richard Gaskin

Richmond wrote:

On 06/01/16 17:55, Richard Gaskin wrote:

Richmond wrote:
>
http://denon-dj-asio-driver-mac.mac.novellshareware.com/info/pivot--revolution.html
>
> Oh, Super, it's multi-platform and its free!
>
> Animated GIFs all round.

Ken Ray built a competing tool using LiveCode called Stykz, and while
it's not open source it's free as in gratis:
<http://www.stykz.net/>



Mind you, I do feel a bit funny about

Linux: "Public Beta Coming Soon" followed by the date 2011.


It seems very little doesn't make you feel a bit funny.

Ken manages several large projects on top of being a devoted father.  He 
made Stykz in his free time to help his son get past some of the 
limitations of Pivot, and makes his software available at no cost.


I can hardly blame him if he hasn't had the time to finish that Linux port.

--
 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: Array constants in LiveCode Builder

2016-01-07 Thread Richard Gaskin

Peter TB Brett wrote:
> Here's another piece of good news:
>
> Mark Waddingham and I spent a couple of hours yesterday morning
> adding support for literal arrays to the LiveCode Builder Language.
> In LiveCode 8.0.0 DP 13, you will be able to write:
>
>  variable tArray as Array
>  put {"cats": 5, "dogs": 23} into tArray
>
> Or:
>
>  constant kColours is { "dirty purple": [80, 24, 60], \
> "blue: [0, 0, 255] }
>
> Hopefully this should make working with arrays both easier and less
> verbose.

Seems very useful.  Nice to have it in the extensibility subsystem, but 
any chance it'll find its way into the main language?


--
 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


"fork" command?

2016-01-07 Thread Richard Gaskin
I'm just far enough into Robert Love's "Linux System Programming" that I 
think the solution to FastCGI may be much simpler than I'd previously 
thought.


I think we need a new command that launches a specified process but in a 
way that uses a call to "fork" to pass file descriptors (which include 
sockets and other I/O info) to the child process.


In many ways it would work very similarly to the existing "open 
process", but allow params to give the child process access to things 
like socket connections, pipes, files, etc. the parent process has 
access to at the time the child process is launched.


It would seem least intrusive on the code base to implement it as a new 
command, perhaps called "fork".


That said, I have to admit the risk of Dunning-Kruger effect here:  I'm 
not that far into the book, and my knowledge in this area is far below 
my aspirations.


But for those of you more familiar with Linux system programming, do I 
misunderstand the difficulty involved?


Forking seems so common in other tools, and not having it appears to be 
the one detail standing between where we are now and having not just 
FastCGI, but also being able to build truly excellent application 
servers on par with Node.js and other similar systems.


LiveCode is a great language, and if we had the ability to fork we 
should be able to build a wide range of powerful, scalable, efficient 
systems, breaking far beyond the limitations of CGI we're limited to now.


If all we need is a new command to wrap the Linux "fork" call, after I 
finish Love's book I may brush up on my C skills and give it a go.


But who wants to wait for that.  Is there anyone in our community who 
could do this now?


Do I misunderstand what's needed here?

--
 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: "fork" command?

2016-01-07 Thread Richard Gaskin

Monte Goulding wrote:

>> On 8 Jan 2016, at 6:03 am, Richard Gaskin wrote:
>>
>> I think we need a new command that launches a specified process
>> but in a way that uses a call to "fork" to pass file descriptors
>> (which include sockets and other I/O info) to the child process.
>>
>> In many ways it would work very similarly to the existing "open
>> process", but allow params to give the child process access to
>> things like socket connections, pipes, files, etc. the parent
>> process has access to at the time the child process is launched.
>>
>> It would seem least intrusive on the code base to implement it as
>> a new command, perhaps called "fork".
>
>
> Hmm… I’m not convinced we need this for FastCGI. Apache mod_fcgid
> will start up processes for you and for Nginx and other servers
> that don’t do that you could use spawn-fcgi.

My understanding is that spawn-fcgi uses fork, no?


> We mainly need two things for FastCGI:
>  - an engine with the FastCGI accept loop as the main loop (LC Server
> just starts up and quits at the end of the code and standalones just
> keep looping until you quit).

I believe that has more to do with the nature of CGI than with LC per 
se.  That is, as a CGI any engine (Perl, Python, Ruby, LiveCode) will be 
born, live, and die during the request.


But with FastCGI the engine is only loaded once, and instances forked 
with requests as needed, and using fork they get the socket and other 
data needed for the child process to handle the task.


Some engines may use multithreading rather than multiprocessing, but the 
difference is less of a concern on Linux than on Windows since Linux 
spawns processes much more efficiently.


If multithreading were pursued as an alternative to multiprocessing via 
fork, I fear a threading subsystem would be much more work to implement, no?



>  - to decide on how to handle things like global variable scope etc
> because you’re going to end up with multiple requests to the same
> environment.

How is that handled in the FastCGI version of PHP?  I would imagine it 
would be no more onerous than with threading, arguably simpler since so 
much of the action takes places in a separate process.


I wouldn't expect to be able to use FastCGI without modifying some of my 
scripting habits; as with any new feature, just a few new things to 
learn and keep track of.  Indeed, I would welcome the opportunity for it 
to become possible to learn those things.



> After some thought and considering the new script only stack format
> I came to the conclusion that it would be better not to do the php
> style   - startup - the process is started do anything you can do once for
>all requests
>  - acceptRequest - a new request needs to be handled and the global
>environment variables $_SERVER etc have been updated where
>necessary (or these could be parameters I guess)
>  - shutdown - something is killing the process so do anything you
>need to do to cleanup
>
> The basic idea is you can do something like this:
>
> local sCounter = 0
> local sProcessStarted
>
> on startup
>   put the seconds into sProcessStarted
> end startup
>
> on acceptRequest
>   add 1 to sCounter
>   put “Started:” && sProcessStarted & return & “Counter:” && sCounter
> end acceptRequest
>
> If you only spawn one process then each time you hit the server the
> counter would increment.

In that outline would "acceptRequest" be a request from Apache, or are 
you proposing a system that replaces Apache to accept requests directly 
from the client?


Once we have forking we could completely replace Apache (or NGineX or 
Node.js) with a fully-functioning server for specific applications where 
the efficiencies of a purpose-built system would be helpful.


But even when running under Apache with FastCGI, fork would seem a very 
useful thing.  It's how PHP and other engines are able to scale, and 
indeed not having it prevents LC from being used in traffic-heavy scenarios.



> Of course you could have a FastCGI engine that cleared all the
> globals and stacks from memory between requests and loaded any
> script only stack file but it’s not quite as much fun, you lose
> the advantage of keeping resources in memory and as far as I can
> tell it’s a bit more work to do that ;-)

As with other persistent systems like LC on the desktop, we should 
maintain control over which data is purged and which data is shared.  We 
have globals and script-locals, depending on the context we need them, 
and in a multiprocessing environment we should have the same flexibility.


For example, one of the strong advantages of FastCGI or other persistent 
implementation is that we don't have to create and dest

Re: "fork" command?

2016-01-07 Thread Richard Gaskin

Monte Goulding wrote:

>> My understanding is that spawn-fcgi uses fork, no?
>
> Yes. Are you looking to implement your own process manager though?

What constitutes "process manager" in this context?


>> Once we have forking we could completely replace Apache (or NGineX
>> or Node.js) with a fully-functioning server for specific
>> applications where the efficiencies of a purpose-built system would
>> be helpful.
>
> Ah, ok so you wan’t MCHTTPd with child processes and maybe FastCGI
> but maybe just some custom protocol between them?

Ideally, both: FastCGI for use under Apache for building Web sites, and 
a forkable variant of MCHTTPd for building custom application servers.



>> But even when running under Apache with FastCGI, fork would seem
>> a very useful thing.  It's how PHP and other engines are able to
>> scale, and indeed not having it prevents LC from being used in
>> traffic-heavy scenarios.
>
> I’m not saying it’s not useful, just suggesting letting something
> else do the forking might be a good idea.

I'm not particular how it's done; I'm just looking for options to make 
scalable services with LC.  What would that "something else" be?


--
 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: Subject: Re: "fork" command?

2016-01-07 Thread Richard Gaskin

Todd Fabacher wrote:

>> Le 7 janv. 2016 ? 20:03, Richard Gaskin a ?crit :
>>
>> LiveCode is a great language, and if we had the ability to fork we
>> should be able to build a wide range of powerful, scalable,
>> efficient systems, breaking far beyond the limitations of CGI we're
>> limited to now.
>
> +1 for Me also
>
> I would for sure would support funding for this. LiveCode in a
> Node.JS like solution would be a KILLER!!! Especially if there was
> a direct connection to MongoDB which we are HEAVY users of.

I haven't yet seen a MongoDB lib for LC yet, but Greg Miller's work on a 
CouchDB library looks very promising:

http://forums.livecode.com/viewtopic.php?f=12&t=24925

--
 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: [On-Rev Tio] could someone test the index.html files in her/his account on Tio?

2016-01-07 Thread Richard Gaskin

Robert Mann wrote:

> So DO make a backup of your on-rev accounts locally after each major
> modification!!

With portable HDDs selling at around US$50/GB multiple redundant backups 
are easy, esp. with:


> Has anybody made a stack that would scan changes within site files
> and make local copy of changed folders?

rsync -avz user@server:/path/to/server/folder/  local/folder/

rsync is preinstalled on OS X and Linux; Windows users can install 
Cygwin to have it (and other great bash tools).


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for Desktop, Mobile, and 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: [On-Rev Tio] could someone test the index.html files in her/his account on Tio?

2016-01-08 Thread Richard Gaskin

Silly typo - yesterday when I wrote:

With portable HDDs selling at around US$50/GB multiple redundant backups
are easy, esp. with:


...of course I meant "US$50/TB" - it would be insane to pay $50/GB these 
days. :)


--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:
> It’s worth noting that FastCGI doesn’t require fork
> http://www.fastcgi.com/drupal/node/6?q=node/22#S3
> so if you are keen to implement FastCGI in script you could
> try doing that now. If fork is implemented then it should be
> easy to add to your implementation.

If not via forking by what means can we handle concurrency?

Multiprocessing through worker apps would be a solution except that we 
have no way to pass the socket connection from the parent app that 
received it to the child app it would launch.


--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:
>> On 9 Jan 2016, at 6:21 am, Richard Gaskin wrote:
>>
>> If not via forking by what means can we handle concurrency?
>
> For Apache mod_fcgid will start multiple processes for you. As will
> spawn-fcgi if you aren’t running a web server that will do it for you.

Now I'm super-confused: if we already have everything we need for 
FastCGI under Apache, what's all the fuss about?


--
 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: Difference between LC on Mac and LC server

2016-01-08 Thread Richard Gaskin

jbv wrote:


When I run the following code on my Mac (LC community 6.5.2) :
   get "04/17/2016"
   convert it to seconds
   put it

I get 1460844000

When I run the same code on LC server (on-rev account) I get
1460840400

Any idea wht there's a difference ?


With a difference of 3600, it looks like one of the two systems hasn't 
accounted for a shift in daylight time, or perhaps that daylight time 
occurs on a different date in your time zone from the time zone the 
server is in.


--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:
>> On 9 Jan 2016, at 7:33 am, Richard Gaskin wrote:
>>
>> Now I'm super-confused: if we already have everything we need for
>> FastCGI under Apache, what's all the fuss about?
>
> Isn’t it you making the fuss ;-)

I seem to be in good company, since FastCGI is something you and Todd 
and Andre and many others have expressed an interest in.


I enjoy using LC for workgroup solutions where concurrency needs are 
very modest, but for any potentially-successful public system we need 
scalability beyond what CGI can provide.


If this is too hard to do I suppose we can recommend folks use PHP for 
FastCGI and CPython for socket servers.  I'd just prefer to work in LC 
if possible.



> We don’t actually have everything. Someone either needs to implement
> the FastCGI protocol in script or create an engine that uses libfcgi
> to give us a fast cgi main loop.

Historically, the many discussions about FastCGI support here and 
elsewhere in the LC community over the years have come down to issue 
handling concurrency.  Since so much of LC is made of blocking commands, 
handling of any single connection would in many cases lock up handling 
of all others.


I'm fine with writing some code so the main process hands off tasks to 
workers.  The issue I've run into is that I've found no way to hand the 
socket connection to the worker.


--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:
>> On 9 Jan 2016, at 8:24 am, Richard Gaskin wrote:
>>
>> I'm fine with writing some code so the main process hands off tasks
>> to workers.  The issue I've run into is that I've found no way to
>> hand the socket connection to the worker.
>
> This is unnecessary.

It might seems so because I'm interleaving discussion of two different 
desires: FastCGI and scalable socket servers.   If this isn't needed for 
FastCGI so much the better, but if one were to make a sort of Node.lc I 
would imagine they'd need to hand off socket connections to workers, no?


> The basic idea with FastCGI is you have a process sitting there that
> is waiting for a request, handles the request and goes back to
> waiting for the next one. mod_fcgid, spawn_fcgi and I’m sure other
> things take this a step further by farming out the requests over
> multiple processes. Often the processes will have a life of say 500
> requests where they will be killed and replaced to protect against
> memory leaks etc.

Sounds easy.  Why didn't Todd just do that back when he was exploring 
ways to use FastCGI with LC?


As or my earlier fixation on fork(), it stems from an older discussion 
of these issues here with Andre:


   As it is, FastCGI is worse than CGI for LC because with CGI we
   can answer more than one user at the same time by spawning new
   processes. With FastCGI, while the request was being processed,
   no other request would be answered. Thats not a FastCGI limitation,
   the protocol is way smarter than CGI you receive all requests on
   the same port and you're supposed to fork(). Since we have nothing
   like forking on LC, we're dead on that front.
<http://comments.gmane.org/gmane.comp.ide.revolution.user/207985>


--
 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

Beyond POSIX time

2016-01-08 Thread Richard Gaskin

Try this:

on mouseUp
  put "1/1/69" into t
  convert t to secs
  convert t to short date
  put t
end mouseUp

Is there yet a convenient way to handle conversion of dates prior to 1/1/70?

--
 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: Beyond POSIX time

2016-01-08 Thread Richard Gaskin

J. Landman Gay wrote:

On 1/8/2016 4:53 PM, Richard Gaskin wrote:

Try this:

on mouseUp
   put "1/1/69" into t
   convert t to secs
   convert t to short date
   put t
end mouseUp

Is there yet a convenient way to handle conversion of dates prior to
1/1/70?



I get 1/1/69. I get the same thing if I specify the year exactly:
1/1/1969. Mac OS X Yosemite. What do you get?


-31507200 on Linux, and I believe the same on Windows (though I haven't 
tested there in a while).


Mark Waddingham flagged this a while back, but I was hoping there may 
have been some enhancement since then:

http://quality.livecode.com/show_bug.cgi?id=4941

--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:

>> On 9 Jan 2016, at 9:35 am, Richard Gaskin wrote:
>> ...if one were to make a sort of Node.lc I would imagine they'd
>> need to hand off socket connections to workers, no?
>
> Or you could just act as an intermediary accepting connections from
> whatever is making the request and then routing the incoming data to
> the appropriate child process.

I've used that and it seems to work well enough, but my concern is that 
if scaled large enough it may be even better to not have a single 
instance handling all connections.


Admittedly this is completely theoretical for me at the moment.  I don't 
have any project I'm working on right now that needs to solve the C10k 
problem.  I'm just hoping to ensure that if/when I come up with 
something really successful, I will have built it on a toolkit that can 
scale.  And when we consider Eve Online, we know scripting languages are 
up for the task; I'd just like to have confidence LiveCode is one of them.



> Check the docs for mod_fcgid where there are settings to control the
> number of processes and spawn rate https://httpd.apache.org/mod_fcgid
>/mod/mod_fcgid.html <https://httpd.apache.org/mod_fcgid
> /mod/mod_fcgid.html>
>
> The nuts of it is that mod_fcgid will start a new process if it has
> permission to and there’s a request but no idle processes.

Good lead to add to my studies.  Thanks.

--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:

>> On 9 Jan 2016, at 11:45 AM, Richard Gaskin wrote:
>>
>> I've used that and it seems to work well enough, but my concern is
>> that if scaled large enough it may be even better to not have a
>> single instance handling all connections.
>
> Isn't that when you deploy your app on EC2 instances with Elasitc
> Load Balancer and all your static content served by CloudFront
> from S3?

If Amazon was the only way to run web sites that assumption would be 
correct.


But needs vary. Amazon's great for many things, but no single solution 
is the best option for all needs. For example, game servers like Eve 
Online don't use Amazon.


Everything in life involves tradeoffs.  Having managed elastic VPSes 
valuable for many contexts but isn't a free ride - file I/O is one of 
several consideration when comparing options:


<http://blog.awe.sm/2012/12/18/aws-the-good-the-bad-and-the-ugly/>

<http://webhosting.about.com/od/Hosting-Issues/a/Ec2-Amazon-Problems.htm>

<http://serverfault.com/questions/296410/cost-and-trade-offs-of-ec2-vs-hosted-vps-for-a-lamp-site-with-1m-uniques>

<http://uncrunched.com/2013/08/07/digital-ocean-v-aws-10x-performance-for-13-cost/>

--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Monte Goulding wrote:
> There's obviously more than one way to scale.

Agreed.  The question I and others may have not far down the road, and 
the question Todd already faced, is whether LiveCode can be a part of it.


If I were to play it safe I could limit LiveCode to the client only, and 
use industry-standard tools for everything on the backend.


But I like LiveCode.  I'd even go so far as to say that I love it.  And 
when I see truly massive systems like Eve Online, and efficient systems 
like Node.js, I see things that are very close to what LiveCode can do 
right now - but is LiveCode close enough to do them?  I don't know. 
That's what I'm hoping to learn.


--
 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: "fork" command?

2016-01-08 Thread Richard Gaskin

Mark Wieder wrote:

I think part of maturing as a developer is being able to pick an
appropriate tool for a given job.


And as a business owner as well.

I'm willing to explore the question, but I'm not betting my business on 
it; hence the exploration.


It would benefit the community, and by extension the company and even 
myself, if I could help find truly scalable solutions for using LiveCode 
on a server.


But if I can't find 'em I have nothing less than the entire world of 
options all other devs have to choose from. :)


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for Desktop, Mobile, and 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: Beyond POSIX time

2016-01-09 Thread Richard Gaskin

dunbarx wrote:

> On 1/8/2016 4:53 PM, Richard Gaskin wrote:
>> Try this:
>>
>> on mouseUp
>>put "1/1/69" into t
>>convert t to secs
>>convert t to short date
>>put t
>> end mouseUp
>
> I get the date you first put in. Tried several, all the way back
> to the battle of Hastings. All good The negative seconds do the
> math as well as ordinary ones.

I'm guessing that, like Jacque, you ran that on OS X, where apparently 
the OS provides extended handling of date ranges beyond what Windows and 
Linux provide without additional libraries.


As Mark Waddingham noted in the report he filed on this:

   (Note that at present, the 1970 thru 3000 range is guaranteed
   to work cross-platform, a wider range of dates works on OS X
   but isn't strictly supported).
<http://quality.livecode.com/show_bug.cgi?id=4941>

I don't use Windows often beyond testing and touch-up, but since it's 
still the most important platform in the world for developer revenue I 
recognize that whether or not I use it is less important than that my 
customers use it; i.e., Windows pays my bills.


I happen to use Linux for most of my development, and while for 
client-side apps the number of customer I support for Linux is small, as 
I move more and more code to servers these sorts of things potentially 
affect all customers, regardless what OS they're running on the client-side.


I'm okay with continuing to use libraries for this.  I have some Julian 
routines I threw together about 15 years ago, and Malte's library is no 
doubt an even better solution.


I was just reminded of this when I came across this forum post yesterday 
from Sparkout:


   Calendar pickers still need to be coded around for dates prior
   to 1970 on Windows. And don't say this is a "bug" on Windows.
   It can be coded around in script, why can't the coding around
   be done in the engine?
<http://forums.livecode.com/viewtopic.php?f=7&t=26236&p=136474#p136474>

I was double-checking things before I replied there, and had hoped that 
perhaps the enhancement to handle broader date ranges may have already 
found its way into the engine.


For those of us already hooked on LC it's a small matter to use Malte's 
lib and hook it into our work.  But for newcomers this may from time to 
time be one of those gotchas that will cause hair to be pulled as 
they're learning.


--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

ambassa...@fourthworld.com http://www.FourthWorld.com



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


Re: Does user have network connection?

2016-01-11 Thread Richard Gaskin

Alex Tweedly wrote:
> On 11/01/2016 00:22, Paul Dupuis wrote:
>> On 1/10/2016 12:24 PM, Ray wrote:
>>> What if Google is out of business :)
>> Use http://www.un.org/ OR https://www.gov.uk/ OR https://www.gov.uk/
>> OR
>> ... etc. etc,
>>
>> For good or bad, Governmental organizations last forever...
> Yeah, but don't they usually respond very slowly ?
> :-)

If anyone here releases a version of an app today that outlives the 
google.com domain let me be the first to congratulate on having the most 
desirable problem possible. :)


--
 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: [ANN] This Week in LiveCode 15

2016-01-11 Thread Richard Gaskin

Alex Tweedly wrote:

Every week I look at the newsletter, and in the "Interesting discussion"
section I find pointers to the uselist discussions.

I follow the uselist pretty closely, but have never found an acceptable
way to follow the forum discussions, so I rarely read anything on there
(except if an entry on the uselist contains a pointer to a particular
discussion).

Does the fact that the weekly newsletter always references interesting
discussions on uselist but not on the forums indicate:

(a) all the interesting discussion happens there, and I am right to
(almost) ignore the forums
(btw - :-)

(b) it is assumed that everyone follows the forums anyway, so there is
no need to mention their discussions in the newsletter.

(c) whoever draws up this part of the newsletter is, like me, a uselist
follower rather than a forum user.

Or of course,
(d) something else entirely.


Probably a bit of each.  Like the rest of us, Peter is an individual 
with his own tastes.  Some people spend more time with the list, others 
with the forums, and maybe Peter just spends more time here.


That said, in previous newletters I've seen more than a few posts to the 
forums, and I see him there regularly enough to know he drops in at 
least weekly.


For me the most convenient way to read the forums has been to use the 
"View new posts" link at the top of the home page.  In fact, that's the 
one I bookmarked, so it saves me a click each time I choose my bookmark.


New users will have everything flagged as "new" of course, but the more 
you come back the more usefully the list only contains threads changed 
since your last visit.


As for whether one can be "right to (almost) ignore the forums" or 
"wrong" on that is a notion that confuses me.  Do whatever you enjoy.


I can say on the one hand that the forums appear to be the preference of 
a majority of newcomers, so there is a larger proportion of 
beginner-oriented questions than we see on this list.


But on the other hand, the separated threaded discussions there, along 
with simpler persistence, lend themselves to a greater depth in some 
forums than we often see here.   The "Engine Contributors" section and 
others under the "LiveCode Open Source" heading can be especially 
worthwhile for serious pros.


--
 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: Getting Finder results into LiveCode

2016-01-11 Thread Richard Gaskin

Francis Nugent Dixon wrote:

I use “cmd F” to find documents on my computer
(never got round to using Spotlight).
Is there a way to get the results of such a “Find”
inside a Rev stack ? Anybody done this ???
I am a buggar for backups, and for one original, I
have copies on several of my external disks.
I want to update all the copies of a file that I just
modified, and by hand, it’s a pain !

And just in case I haven’t got enough, is there a way
to display in a liveCode stack the results of a “Get Info”
from the finder ?

I seem to spend half my life in "housekeeping"


If the larger goal here is to manage backups, I can describe what I do 
these days and although how people manage their backups is a very 
personal choice hopefully some of this will be useful:


With backups I have two goals:

- Redundancy, recognizing that drives fail
- Versioning, recognizing that the latest version may not always
  be the one I want

I use two mechanisms for versioning, and rsync for everything else.

I happen to use ownCloud for syncing not only my LC Plugins folder but 
also the folder containing my work files (and a few others).  Dropbox, 
Google Drive, and Time Machine also provide versioning, so which one is 
used is often less important than that at least one of them is used. 
ownCloud is more flexible than the others, so while it's more work to 
set up I need a server in the office for testing anyway, so it was 
convenient enough to add ownCloud to that.


So while ownCloud keeps my Ubuntu workstation, Ubuntu laptop, and OS X 
workstation in sync with a versioned repository through my local server, 
I also have Time Machine on my Mac to have a second copy versioned 
through different means.


With this, with the various synced machines I have two versioned 
archives and three current copies of all data.


But all of this is in my office, and I live in an earthquake-prone area. 
 Given that portable HDDs are available at about US$50/TB, I have four 
of them, and each night I sync my work folders and email to one of those 
drives, and take it home to bring the next one in the following day. 
Periodically I also save a complete archive of work files as a snapshot 
(space being cheaper than time).  So even if my office is destroyed and 
some of the offsite drives fail, the worst case leaves me with at least 
one complete copy of all current and archived files.


The key to being able to conveniently backup to a portable drive has 
been rsync.  It's a very smart algo that automatically does a lot of 
what I think I was reading in your post:


With a given source folder and a destination folder, it can recursively 
go through all folders and compare all files, skipping any where the mod 
date and file size are the same (there's also an option to force a 
checksum, but that's usually not needed since it's extremely rare that a 
file will change in a way that leaves the size and mod date the same).


This is quite efficient in itself, but it gets better:  once rsync finds 
a file that needs replacing, it compares segments of the file and only 
copies the segments that have changed.


All this comes together to make a solution that's about as efficient as 
it can be, and very easy to write into a text file on your drive that 
you can call whenever you need it, e.g.:


rsync -av /Users/username/WorkFolder/  /Volumes/backupdrive/WorkFolder/

rsync has many options (it's a deeply flexible tool), but the ones shown 
here are:


 a: archive mode, preserves time stamps, user and group ownership,
and other file attributes useful to make a true mirror of the
source.

 v: verbose mode, displays each action in Terminal as it's running;
most of the time I don't care, but it's interesting to watch.

If backing up over a network it can be useful to add a z option there, 
which uses gzip compression for each packet copied to reduce 
transmission time.


The end result is half a dozen drives with complete copies of the entire 
directory structure of all useful files, with time stamps preserved to 
make a truly complete and multiply redundant collection of backups.


rsync is preinstalled on OS X and Linux, and can be used on Windows when 
the free Cygwin package is installed.


There are many tutorials on using rsync on OS X for backups - here's 
just one:

<https://www.haykranen.nl/2008/05/05/rsync/>

--
 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: FW: important message (Spam)

2016-01-11 Thread Richard Gaskin

 Ralph DiMola wrote:


I just received this. Do we have a problem?

From: Sharon McQueen [mailto:neil.davis at davismaterial.com]
Sent: Monday, January 11, 2016 4:14 PM
To: How to use LiveCode; Mark Waddingham; MikeKerner; Ralph DiMola;
mats.wilstrand
Subject: Fw: important message

Hello!

New message, please read LINK DELETED BY RALPH

Sharon McQueen


Probably not. For starters, the sender name doesn't match the sending 
address.


I see a lot of these, apparently gathering names of people the recipient 
is likely to know either by farming this list, Facebook friends, forum 
members, etc.   In all cases the only plausible element is the name; 
none of the addresses match.


I got one this morning from "Mark Waddingham", sent from an address in 
South Africa.


Mark: If you're traveling in South Africa and intended to send me a link 
to illegal prescription drugs, sorry, but I deleted your email. :)


--
 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: Multi-platform development

2016-01-12 Thread Richard Gaskin
ve web design to reinforce
   best practices with native app development: factoring code, data,
   and UI to minimize interactions between them and thereby maximizing
   flexibility across device types.

--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

ambassa...@fourthworld.com http://www.FourthWorld.com


>
> 
--

>
> Alex Tweedly wrote:
>
>
> I'm considering developing a multi-platform app; i.e. ont where the
> same app runs on both "desktop" and mobile.
>
> On the 'desktop' platforms it will use 'standard' menus, and that will
> be the main "command" access (along with an optional toolbar, most
> likely, but the toolbar will give access to a limited number of most
> often used commands/features, rather than to "everything).
>
> But, on mobile, there are no "standard menus", and although they are
> appearing on a few apps (as homegrown menus), they aren't the usual
> convention on mobile devices. So, I will have a combination of icons,
> buttons, etc. on the mobile platforms.
>
> I suspect that means I'm in the same boat as many other people have
> already been in, and I'd like to benefit from your experience.
>
> If you have developed an app running on both desktop and mobile:
>
> 1. did you follow this same split on how your main command structure
> was invoked ?
>
> 2. how did you manage this ?
>  a. really one app with per-platform customization
>  b. two (or more) apps with as large a percentage as possible put
> into library stacks (or similar) as possible, with separate menu-based
> vs button-based apps.
>  c. something else that you could readily explain
>
> Many thanks
> Alex.



___
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: Arrays: digitally signing them

2016-01-12 Thread Richard Gaskin

David Bovill wrote:


I was looking into standards for digitally signing JSON - and I wandered
about signing Livecode arrays. This would need some way to normalise the
array construction as (from the docs):

Arrays in LiveCode are un-ordered. This means in particular that encoding

two arrays will not necessarily produce the same result, even if the arrays
had the same elements. To compare two arrays, simply use the = operator
directly on them rather than encoding them first.


I take this to mean that depending on exactly how (the order of
construction), a Livecode array is created, it's hash will be different, as
will the result of arrayDecode.

Is this right? Any thoughts on how to digitally sign an array? If this
proves as complex as i think, it may be more useful to replicate the JSON-LD
signature algorithm: <https://web-payments.org/specs/source/ld-signatures/>


Would BSON lend itself to signing?

As a binary format it could offer the efficiency of LSON (my pet name 
for LiveCode encoded arrays, which I've found clients tend to respond 
favorably to), but also the benefit of being a standard open format like 
JSON.


Some time ago I submitted a request for BSONencode and BSONdecode:
<http://quality.livecode.com/show_bug.cgi?id=15678>

Peter's point there is well taken, that this could be implemented as a 
library; it wouldn't even need to be in Builder, since LiveCode is much 
faster to develop in, runs a bit faster, and already has the binary 
functions to support it.


The only downside to implementing that in either scripting language is 
the very desirability of BSON:  we choose the encumbrance of binary 
formats for the benefit of performance.  In C++ it would be wonderful; 
in any scripting language that benefit would be compromised.


An external perhaps?

--
 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: Multi-platform development

2016-01-12 Thread Richard Gaskin

Alex Tweedly wrote:

> One that has heavily influenced my views is iAWriter - an app which
> I find a joy to use (on iPad). It has eschewed the iOS UI guidelines
> almost completely, in favour of what feels much like desktop menus.
> And even better, they've written about the choices they made, and
> why - see
> https://ia.net/writer/updates/ia-writer-3

Oooh - nice!  I have to credit Scott Rossi for helping me (sometimes) 
move past my slavish devotion to HIGs to consider broader options.


It may sound heretical to some, but I do thing Material Design is a more 
useful set of conventions than the much looser guidelines Apple offers. 
 But even more exciting to see devs break from both to explore new 
ground.


I'll read that article with gusto - thanks!


> I think we can over-categorize the ways users *might* want to use
> different devices. I would dearly love to be able to travel with
> just my phone and a tablet (either 7-inch android or iPad Pro,
> depending on many factors), and leave the laptop behind. But if
> (as happens all too often) the developer has decided that some
> things won't be needed on limited devices, I find myself precluded
> from leaving the laptop behind because some more-complex task
> would be "clumsy" on a limited screen. OK - let it be clumsy, I'll
> accept that and put up with it for the sake of being able to do it
> at all.

Agreed.  Such decisions need to be made *very* carefully, and ideally 
after A/B user testing, time and budget permitting.   At a minimum, even 
the most modest budget affords the opportunity to listen to complaints 
and respond to them.




>> 2. We can learn from the world of responsive web design to reinforce
>>best practices with native app development: factoring code, data,
>>and UI to minimize interactions between them and thereby
>>maximizing flexibility across device types.
>>
> I think this second point reinforces what was said earlier today on
> another thread about the need for a better, more modern, approach to
> a *built-in* geometry manager / helper which can make it easier to
> implement responsive, variable UI layouts. I don't think it needs to
> be a (totally) IDE-based - it's just fine to write some script to
> deal with more complex cases - but it should make it easier.

It's probably just a failure of my own imagination, but I rather like 
the complete control I have writing resize handlers.


Every other solution, no matter how it works, ultimately boils down to 
responding to resize messages, just as my handlers do.


But when it's a generalized solution, it's likely to have been difficult 
for its developer to guess all the possible things I might want to do, 
and any generalized solution will by its nature require more lines of 
code (sometimes I open GarageBand and resize its window just to remind 
myself why performance in such things can be critically important ).


One thing that's been a godsend for me is the more recent extension to 
how resizeControl works:


In older versions it was only sent in response to user interaction with 
 the pointer tool, but more recently it's also sent to groups when 
resized by other scripts.


This allows me to keep the logic of a component's appearance internal to 
itself: the card only sets the rects of a handful of groups, and the 
groups take care of themselves via their behavior scripts.  The group 
never cares what cards it's on or where it is on the card; that's the 
card's job.  The group only takes care of its internals, so both the 
card script and the component script are fairly independent of one another.


--
 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: BSON libarry [was: Re: Arrays: digitally signing them]

2016-01-12 Thread Richard Gaskin

Peter TB Brett wrote:
> On 12/01/2016 18:25, Richard Gaskin wrote:
>
>> Some time ago I submitted a request for BSONencode and BSONdecode:
>> <http://quality.livecode.com/show_bug.cgi?id=15678>
>>
>> Peter's point there is well taken, that this could be implemented as
>> a library; it wouldn't even need to be in Builder, since LiveCode is
>> much faster to develop in, runs a bit faster, and already has the
>> binary functions to support it.
>
> I still mean to implement this in LiveCode Builder when I get some
> so-called free time. ;-)

As much as it delights me to see this BSON stuff still has your 
interest, I must admit it's a bit of an edge case even for me; most of 
the time the simple LSON we already have works just fine.  More than 
fine, really; quite efficiently.


So yes, by all means, but given the many ways your vast talents could be 
applied I'm hoping your definition of "free time" is as I imagine it, 
behind a list of other things a far great number of people need than my 
specialized desire to somehow show up the MongoDB world with how cool LC 
is. :)


--
 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: Message watcher in LC 8

2016-01-15 Thread Richard Gaskin

Alex Tweedly wrote:


Do you (anyone) have any idea where I can get hold of 4WFlightRecorder ?
All the Googling I do for it points me to "the stacks section of Go
Revnet" (from IDE / Development / Plugins), but when I go there, I can't
find a 'stacks' section. I tried the obvious thing (i.e. to look at
Richard's site) but don't see anything there either.


Sorry for the inconvenience.  The upgrade for RevNet is in development 
but other projects have unfortunately pushed that volunteer work to the 
back burner, leaving links like the one to 4W Flight Recorder in limbo.


Hopefully I'll get a break from the other priorities here soon to wrap 
up the new RevNet - when it's done I think many here will like it.


I appreciate Kay's posting a URL to it, but I'm afraid the URL has 
changed.  The IDE insists on changing the name of the stack file when I 
do Save As (necessary to maintain compatibility with older versions of 
LC), and at some point I just gave up manually changing it to match the 
old URL.


So now (and hopefully going forward, unless LC goes through another name 
and/or file extension change) the URL is:


<http://fourthworld.net/revnet/devolution/4W_FlightRecorder.livecode.gz>

--
 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: Message watcher in LC 8

2016-01-18 Thread Richard Gaskin

Ben Rubinstein wrote:
> On 15/01/2016 14:42, Richard Gaskin wrote:
>> The IDE insists on changing the name of the stack file when I do
>> Save As (necessary to maintain compatibility with older versions
>> of LC), and at some point I just gave up manually changing it to
>> match the old URL.
>
> I wouldn't dream of teaching my grandmother anything in relation to
> eggs, but FWIW: the 'backup+save' button on my standard toolbar
> extension looks for a stack property "uPrefStackFormat" which I can
> set to indicate the preferred format (2.4/2.7/5.5) and sets "the
> stackfileversion" appropriately before saving the stack.  That
> technique lets me move around between many versions of LC without
> (too often) running into the problem you mention.

If I only used the IDE's File->Save command I'd get pretty good results, 
as once you do a Save As within the IDE it stores the preferred 
stackFileVersion in a custom property and uses that when saving (except 
apparently differently in v87dp13, as described below).


Sounds good in theory, and I've even modified my personal tools to use 
the IDE's Save routine to keep behavior consistent, but despite that 
I've found a few cases where after working in v7 later on I find I can't 
open a stack in v6.  Haven't taken the time to pin down which method of 
saving doesn't change the stackFileVersion to the saved custom prop (and 
in all fairness it may be some of my older tools and not something in 
the IDE), and in the case of 4wFlightRecorder it didn't matter much 
because the older .rev file extension is just confusing to new users anyway.



Peter TB Brett wrote:

> Note that in LC 8.0.0 DP 13 and later, the IDE save commands don't
> use "the stackFileVersion" and save as specific versions directly.
> You may want to update your toolbar extension to take advantage of
> this!  For example, simply use:
>
>  save stack "my stack name" with format 2.7
>
> (This is new syntax in 8.0.0 DP 13).

Nice new addition - thanks.

--
 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: Message watcher in LC 8

2016-01-18 Thread Richard Gaskin

Peter TB Brett wrote:

On 18/01/2016 15:01, Richard Gaskin wrote:

If I only used the IDE's File->Save command I'd get pretty good results,
as once you do a Save As within the IDE it stores the preferred
stackFileVersion in a custom property and uses that when saving (except
apparently differently in v87dp13, as described below).


Doesn't that work any more?  It should!  If not, it's a regression and I
will fix it...


Thanks, but I don't know if there's a problem there.  I was merely 
noting that the underlying mechanism is different; whether that played a 
role in my saving in the current format hasn't been determined. If I get 
some time I may go back and see if I can pin down where the errant save 
happened, but for me, even with all my older tools that use the straight 
"save" command without bothering to set the stackFileVersion, it's been 
a minor issue, and I'm not seeing complaints from others about it so I 
wouldn't consider it a priority.


--
 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: There is no You in Documentation - yet!

2016-01-18 Thread Richard Gaskin

Mike Kerner wrote:
> Given how submissions to the documentation, previously, seemed to be
> ignored, it will be a welcome change.

If you would please provide URLs for the documentation-related bug 
reports and/or pull requests you've submitted I'll review them to see if 
if I can determine why they weren't acted on sooner.


--
 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: server vs not server

2016-01-20 Thread Richard Gaskin
in many cases with newer and less vulnerable components -- see the many 
web articles about why Apple ships with outdated and vulnerable versions 
of things like rsync).


--
 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: Multi-platform development

2016-01-20 Thread Richard Gaskin

Bob Sneidar wrote:

> On Jan 12, 2016, at 09:02 , Richard Gaskin wrote:
>
>> While it's true that Ubuntu and more recently Microsoft have begun
>> exploring convergence strategies for a single adaptable, scalable
>> set of UI conventions across all device types, the reality is that
>> to date neither has been enormously successful (though the night is
>> young, and the research and APIs still in early days).
>
> Adobe tried this years ago, with a feature that could take a regular
> magazine layout (for example) and format it to display nicely in a
> web browser or some other format. The idea was to design once then
> deploy in multiple forms. It was a good idea. But it always required
> some tweaking. Sometimes it required a LOT of tweaking. And sometimes
> it didn't work well at all. The nature of the problem is such that
> the solution can never really be perfect.

While it's true that mixing web and native app design is very rarely a 
good idea (they're very different platforms serving very different 
needs), mixing native app design across device types seems, at least to 
me, a more exciting and viable prospect.


When I see any OS without design issues of its own I'll start to get 
worried about multi-platform design challenges. :)


--
 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: LC 8.0 dp13 crash when pasting script through clipboard into script editor

2016-01-20 Thread Richard Gaskin

Roland Huettmann wrote:

If someone also experienced this, I will file a bug report.

I installed LC 8.0.0 dp 13 on a Windows machine, OS 8.1.

When trying to copy script or any text from some other application and
paste it from clipboard to be inserted into the opened script editor, LC
crashes each time. It crashes without me having to kill the process, but
repeatedly is crashing being not-responsive.


I haven't experienced that myself, but please do submit the report 
anyway if it's repeatable for you.


Deep revisions have been made to clipboard handling in v8 to support 
some exciting new features, but the chances of regression go along with 
that so your report will be very valuable.


--
 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: [OT] FW: new important message (SPAM)

2016-01-21 Thread Richard Gaskin

Ralph DiMola wrote:
> Getting more of this spam virus. Somebody is compromised.

Maybe.  As we've discussed here before, I haven't seen one of these 
particular spoofs in recent months which didn't use publicly findable 
info, just cleverly packaged.


Short of not using the Internet, I'm not sure there's much anyone can do 
to stop clever spoofs or other spam.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for Desktop, Mobile, and 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: [BUG] write to file

2016-01-25 Thread Richard Gaskin

Kay C Lan wrote:

> The Dictionary says that if I open a file for 'update', then 'read
> from file' to a specific position that when I 'write to file' it
> will occur at the position I've read to but that's not what I'm
> seeing in 6.6.5GM, 7.1.1 rc4 and 8.0 dp13 - OS X 10.9.5. In the
> msg box:
>
> set the defaultFolder to specialFolderPath("documents")
> put "trash this file.txt" into tFileName
> put "This is a test." into URL ("file:" & 
specialFolderPath("documents") &

> "/" & tFileName)
> open file tFileName for update
> read from file tFileName for 2 words
> put it into tResult
> write "open/read/write/close" to file tFileName
> close file tFileName
> put URL  ("file:" & specialFolderPath("documents") & "/" & tFileName) 
into msg

> put cr & tResult after msg
>
> I was expecting:
> This is open/read/write/close
>
> What I'm getting:
> This is a test.open/read/write/close

Using v7.1.1 Stable on Ubuntu 14.04 I get:

   This is open/read/write/close
   This is

Looks like a Mac-specific bug.  After you file the report please note 
the bug number here so we can follow its progress.  Thanks.


--
 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: [BUG] write to file

2016-01-25 Thread Richard Gaskin

Roger Eller wrote:

> I do the same if I am modifying a specific line in an existing file.
> However, if I am appending to a file such as for logging, I use the
> before or after modifiers in a file URL.
>
> put "Log entry data" after URL ("file:" &>
 specialFolderPath("documents") & tLogFileName)

As I work my way through Robert Love's "Linux System Programming" (and 
admittedly mostly ignorant about system calls beyond what I've read 
there thus far), my hunch is that using "open...for append" would be 
slightly more efficient than "write...after", since the former takes 
advantage of system calls optimized for logging.


However, in your case you're using the URL syntax rather than 
open/write/close, which leads me to a question for the dev team or 
anyone who's had the opportunity to look at the relevant part of the 
engine source:


When using the statement above, is the engine clever enough to use an 
append operation for that, or does it seek to the end of the file before 
writing?


--
 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: [BUG] write to file

2016-01-25 Thread Richard Gaskin

Kay C Lan wrote:
> On Mon, Jan 25, 2016 at 11:49 PM, Richard Gaskin wrote:
>>
>> > put "Log entry data" after URL ("file:" &>
>>  specialFolderPath("documents") & tLogFileName)
>>
>> When using the statement above, is the engine clever enough to use an
>> append operation for that, or does it seek to the end of the file
>> before writing?
>
> Resolved Bug 383 might be of interest to you - but I can't find where
> the 'feature request is at:
>
> Scott Raney  2003-10-06 18:46:02 BST
>
> Correct: I think he's confusing the URL version (which does rewrite 
the file),

> with "open for append", which does not.  Optimizing the URL version
> ("put after") is already on the feature-request list.

Good find.  How did you come across that bit of archaeology?

--
 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: [BUG] write to file

2016-01-26 Thread Richard Gaskin

Kay C Lan wrote:
> On Tue, Jan 26, 2016 at 9:49 AM, Richard Gaskin wrote:
>
>> Good find.  How did you come across that bit of archaeology?
>
> Not that good, what you really need to know is whether the enhancement
> request was ever actioned.

I'd guess the URL form remains as Jacque described, a whole-file 
operation.  It only takes a couple extra lines to do the 
open/write/close alternative, and in the minority of cases in which we 
need fine-grained control over file I/O it's no more onerous than the 
only file I/O syntax the root tongue, HyperTalk, offered.


It'd be nice to have, but the team has a long list ahead of them, and 
relatively few engine contributions from the community to fill in the 
gaps on these nice-to-haves.


I'm just grateful we have the various "open file" modes at all - being 
able to use "update" and "append" are godsends for a wide range of tasks 
involving large files.


Even better, Mark Waddingham updated the file I/O stuff a few versions 
back so that it can accept >32-bit values for the length in the file 
spec, allowing us to traverse files > 4 GB.  It's not often I have to do 
that, but I discovered the older limitation when I was given a 6.2 GB 
file to slice and dice and now I can do so with ease, using "seek" to 
jump around in the file to get the parts I need.



> I was searching the QCC DB to ensure I wasn't duplicating a Bug report
> when, like most archaeological digs, I stumbled across a gem.

Your find prompted me to do a search in the bug DB for all reports that 
include "sc...@runrev.com" among the commenters and found some other 
gems from the olden days, like this useful tidbit I never knew before 
(is this documented?):


   ...you can use numbers of the form "0x" directly
   in scripts, saving you the rigamarole of using numToChar
   to build them up...
<http://quality.livecode.com/show_bug.cgi?id=295#c5>

--
 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: One Rect For All specificaiton

2016-01-26 Thread Richard Gaskin

Colin Holgate wrote:

> Being letterboxed isn’t a quality issue, it isn’t even bad. It’s just
> that Apple would reject the app.

On what grounds?

--
 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: [BUG] write to file

2016-01-26 Thread Richard Gaskin

Peter TB Brett wrote:
> On 26/01/2016 14:47, Kay C Lan wrote:
>>
>> Panos at the mothership has confirmed that this is a bug that
>> effects OS X only.
>
> I would prefer if if people wouldn't use "the mothership" to describe
> the core dev team.
>
> After all, the core dev team working here at LiveCode isn't an remote
> and monolithic alien entity with inscrutable intentions.  Or at
> least, I hope not.

Funny, the negative connotation hadn't occurred to me.

I think the intention is less "Childhood's End" and more "Star Trek", a 
tip of the hat to the centrally important role the core dev team has in 
stewarding the LiveCode technology.


--
 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: Temp folder on public computers

2016-01-26 Thread Richard Gaskin

J. Landman Gay wrote:

> I need to write a temporary file on computers that may be locked
> down, such as those in a computer lab or library. Can I be fairly
> certain that the temporary folder permissions will always allow
> access?

Even if it were, on well-designed systems the temp folder will be 
cleared on boot; on less well designed systems it'll be cleared under 
circumstances your program may not be able to predict; in all cases the 
data has no assurance of survival between sessions.


If the admins have locked down the Preferences folder or equivalent, 
they've set it up to prevent user-specific data writes.  If so, writing 
anywhere will be risky once they figure out they didn't do a complete 
job and then nix the method you'd come up with.


Any chance they can tell you what they want?

Or use a network store?

--
 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: Temp folder on public computers

2016-01-27 Thread Richard Gaskin

J. Landman Gay wrote:

> Richard wrote:
>> J. Landman Gay wrote:
>>
>>  > I need to write a temporary file on computers that may be locked
>>  > down, such as those in a computer lab or library. Can I be fairly
>>  > certain that the temporary folder permissions will always allow
>>  > access?
...
>> Any chance they can tell you what they want?
>>
>> Or use a network store?
>
> I need to put html stored in a custom property into a browser object.
> Since using a variable isn't possible, I need to write the property
> to disk and then load it.

IMNSHO it would be insane to lock the temp folder, given how many apps 
rely on it.


That said, some admins are not sane. :)

I'd try it and see what happens, with fingers crossed.

--
 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: Getting the long name(or ID) of a control

2016-01-27 Thread Richard Gaskin

Ralph DiMola wrote:

> Riddle me this Batman:
>
> I have 2 controls named "F1"(field) and "menu"(button) both in
> a group named G1
>
> Why does this work...
> put "F1" into somevar
> put the long name of control somevar into someothervar
>
> But this does not work...
> put "F1 of group G1" into somevar
> put the long name of control somevar into someothervar
>
> This works
> put "F1 of group G1" into somevar
> put the long name of ("control"&&somevar) into someothervar
>
> This also works
> put "F1" into somevar
> put the long name of ("control"&&somevar) into someothervar
>
> But this does not
> put "menu of group G1" into somevar
> put the long name of ("control"&&somevar) into someothervar
>
> But this does
> put quote&"menu""e&&"of group G1" into somevar
> put the long name of ("control"&&somevar) into someothervar
>
> And this works
> put "menu" into somevar
> put the long name of control somevar into someothervar
>
> Menu seems to be a keyword or something. What am I missing? Should
> there always be quotes around control names? (banging head against
> wall)

"Menu" is indeed a keyword, but not a true object type.  It's a 
convenient alternative to "button" when you want to address the 
*current* menu bar specifically.  In most cases that'll resolve to an 
object in the menu group of the current card, but if the card has no 
menu group and a defaultMenubar has been named, it'll look for the 
object in the defaultMenubar.


As for the rest, object references in LC are, IMO, somewhat smarter in 
their resolution than in any other xTalk.


When mixing variables and literals in HC or SC, we often need to put the 
entire thing into a string before passing it to the engine as an object 
reference.  But in LC we can mix and match object references much more 
flexibly, provided we keep in mind how the parser works.


Specifically, (AFAIK) when using nested references ( of 
 in a variable, the contents of the variable must be an 
object reference, that is, it must include the object type.


Applying this to the examples that didn't work:

  put "F1 of group G1" into somevar
  put the long name of control somevar into someothervar

In this case, adding the word "control" before "somevar" would allow the 
parser to use that as a complete reference.  Seems safe to do there, 
since "control" is generic and useful for all object types (provided of 
course you don't have objects of different types with the same name).


Here we have something else, two different object types used together:

  put "menu of group G1" into somevar
  put the long name of ("control"&&somevar) into someothervar

That concatenation produces:

   control menu of group G1

...which as Scott noted won't work because "menu" is a keyword, somewhat 
akin to writing:


   control button of group G1

If quoted it would work, but since it's not capitalized I'm not sure if 
it's actually the name of a menu object or a typo and something else was 
intended.


As Jacque noted, it's very useful to adopt the habit of always quoting 
literal strings like object names. It benchmarks roughly twice as fast 
in my tests, and to my eye makes code easier to read.


An exception is when the object name is the only thing in a variable, e.g.:

   put "File" into tObjName
   put the long id of btn tObjName of grp "MBAR" into tObj

Variables that contain portions of an object reference that's non-nested 
(in which the variable contains only the name, ID, or ordinal number) 
can be used by themselves quite well.


In fact, I haven't found a way to force the interpreter to includes 
quotes in such cases, e.g. this:


   put "File" into tObjName
   put the long id of btn (quote& tObjName "e) of grp "MBAR" into tObj

...throws an "object not found" error, which is understandable since the 
parenthetical expression is treated as a whole string and there is no 
object whose name includes the quotes.


HTH -

--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

ambassa...@fourthworld.com http://www.FourthWorld.com



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


Re: Revmail won't work with Outlook (Really??)

2016-01-28 Thread Richard Gaskin

Bob Sneidar wrote:
> I issue the command revmail theHelpdeskEmail, theDispatcherList,
> theSubject, theServiceData and I get an error dialog: "Cannot start
> Microsoft Outlook. The command line arguement is not valid. Verify
> the switch you are using." The command works on the MacOS, but not
> in Windows. I haven't tested this at all with any other mail clients,
> but I am wondering if anyone else has and ran into this.
>
> I am using Windows 7, Outlook 2013 and LC 676
>
> Also as an aside, I DL'd the 6.7.8 installer, but when I try to
> install it, I get the error message, "Could not launch installer
> slave. I am running as an administrator. 
>
> I think I will have to switch to version 7 soon.

Good plan.  V6 is slated for EOL soon, and 7 not long behind it 
(probably both will move out of maintenance once v8 goes final).


If the problem persists in v7 try the latest build of v8, and if it 
persists there then please file a bug report.


Even better, if you can figure out what switches Outlook needs you can 
fix it yourself and submit a pull request.  Most of the IDE code has 
been migrated to script-only stacks that are plain text, easy to work 
with, and integrate nicely with Github's merge.


--
 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: snapshot and animation capture

2016-01-28 Thread Richard Gaskin

Scott Rossi wrote:
> Regarding lagginess: yes. I can't say for sure, but if the LiveCode
> guys could enable the windowShape property to work with images that
> have centerRect dimensions, this would eliminate the need to do any
> image exporting and potentially make drawing of the window faster.

For screen shots I've been cheating:  if I don't need to interact with 
the things within the hole in a stack, I just put a graphic down, turn 
on opaque, and set its ink to blendXor - shows through like a hole but 
without having to use a custom windowShape.


--
 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: snapshot and animation capture

2016-01-28 Thread Richard Gaskin
Hmmm...maybe it's a bug in the Linux engine masquerading as a feature. 
I've only been using this on my own system, so I haven't had occasion to 
try it elsewhere.


Or maybe it's a feature masquerading as a bug in OS X?

Useful either way.  Maybe file a bug report, and if they don't think 
it's a bug it becomes a feature request for a see-through blend.


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



snapshot and animation capture

Scott Rossi scott at tactilemedia.com
Thu Jan 28 22:23:30 CET 2016
Previous message: snapshot and animation capture
Next message: snapshot and animation capture
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This sounds intriguing, but when I place a graphic in a stack and
configure as you describe, all I see is an all-black graphic.  Is there
perhaps another step I'm missing?

Regards,

Scott Rossi
Creative Director
Tactile Media, UX/UI Design




On 1/28/16, 1:15 PM, "use-livecode on behalf of Richard Gaskin"
 wrote:


Scott Rossi wrote:
> Regarding lagginess: yes. I can't say for sure, but if the LiveCode
> guys could enable the windowShape property to work with images that
> have centerRect dimensions, this would eliminate the need to do any
> image exporting and potentially make drawing of the window faster.

For screen shots I've been cheating:  if I don't need to interact with
the things within the hole in a stack, I just put a graphic down, turn
on opaque, and set its ink to blendXor - shows through like a hole but
without having to use a custom windowShape.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 Ambassador at 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: snapshot and animation capture

2016-01-28 Thread Richard Gaskin

Richard Gaskin wrote:
> Hmmm...maybe it's a bug in the Linux engine masquerading as a
> feature. I've only been using this on my own system, so I haven't
> had occasion to try it elsewhere.
>
> Or maybe it's a feature masquerading as a bug in OS X?
>
> Useful either way.  Maybe file a bug report, and if they don't think
> it's a bug it becomes a feature request for a see-through blend.

Bug filed:
http://quality.livecode.com/show_bug.cgi?id=16782

--
 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: Explicit Variables

2016-01-29 Thread Richard Gaskin

Mark Waddingham wrote:
> That should work fine. The explicitVars property is only set in
> the IDE around code which compiles / sets object scripts (i.e.
> In the script editor). It is false the rest of the time.

Is Kay using explicitVars or the IDE's "Strict Compilation Mode"?

My understanding is that the engine's explicitVars property works as it 
does in SuperCard where it came from, that it's persistent throughout 
the session.


In contrast, Strict Compilation Mode only applies explicitVars 
momentarily for compilation to catch the sorts of things it's good for, 
then turning it off again so it doesn't conflict with any other scripts 
that may be running that don't conform to explicitVars' requirements.


Is my understanding correct, or has the engine implementation of 
explicitVars changed?


>> On 29 Jan 2016, at 02:45, Kay C Lan wrote:
>>
>> Not a discussion about the pros and cons, or a discussion on arrays,
>> I just need a simple answer.
>>
>> put "apple,orange,banana" into tFruit
>> repeat with x = 1 to the number of items in tFruit
>>  do "put item x of tFruit into tVar" & x --create a dynamic variable 
name

>> end repeat
>> put tVar2
>>
>> I assume creating dynamic variable names will not work with
>> explicitVariables set in the IDE but it will actually work in a
>> standalone.

As noted above, AFAIK the IDE currently has no means of setting the 
explicitVars global property, at least not in any way that can affect 
things beyond the moment of compilation.  So unless you're turning on 
explicitVars in one of your scripts you should be fine.


Too bad arrays are excluded from this discussion, as they're the perfect 
fit for cases like this where the number or names of variables can't be 
known in advance - simpler to write, faster to run.


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


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


Re: snapshot and animation capture

2016-01-29 Thread Richard Gaskin

Richmond wrote:
> At the risk of throwing a spanner in the works I want to refer you
> to this:
>
> http://lists.runrev.com/pipermail/use-livecode/2014-January/196782.html
>
> "Hi all, Some weeks ago,
> I reported that windowShape was not working in my Lubuntu Linux setup.
> After looking around and testing many recipes,
> finally I found the program that works in my setup.
> The windowshape property was not working in Lubuntu Linux because it
> does not include,
> by default a composite manager."
>
> posted by someone wiser than me.

That was Alejandro, and AFAIK he and I are among the very few people in 
the LC community using Lubuntu specifically (and in all fairness I only 
run it on my oldest computer; everything else runs Ubuntu which includes 
the Compiz compositor).


If the chart showing number of users running different Linux distros in 
the middle of this page is any guide, not much of an issue:

<https://brashear.me/blog/2015/08/24/results-of-the-2015-slash-r-slash-linux-distribution-survey/>

Of the ones shown there, AFAIK only Xubuntu lacks a compositor; Lubuntu 
isn't even on the list.  Like Puppy Linux and other slim distros, both 
Xubuntu and Lubuntu are designed to run on older machines or in 
configurations that don't meet the minimum requirements for more 
fully-features distros like Fedora, Ubuntu, or Mint.  Of the two Lubuntu 
is slightly leaner in its disk and RAM requirements, so I'm not sure why 
Xubuntu is more popular, but regardless consider them both in the bigger 
picture:


Windows: ~85%
Mac: ~10%
Linux:~5%

With Xubuntu at probably less than 5% of Linux' 5% of desktop computers, 
the number of affected users among the total addressable market is very, 
very small.


If we were to look at Xubuntu, Lubuntu, Puppy Linux, and other such 
distros combined, I'd be surprised if the lot of them totaled more than 
0.01% of desktops in use.


And even then, not much to worry about since we choose these lightweight 
distros for specific reasons, and we know what we're in for.  Software 
that requires compositing generally only runs on beefier hardware, so 
when we choose a lightweight distro we understand we're not going to 
have as many apps available to us, and that's generally okay for the 
cases where we want a light OS.


When we need a compositor we know where to get it - after all, how else 
could we run the cube? :)

<https://www.youtube.com/watch?v=4QokOwvPxrE>

--
 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


Something's up in Github...

2016-01-29 Thread Richard Gaskin

Check out the recent pull requests for LC:
https://github.com/livecode/livecode/pulse

Lots of appearance-related stuff -- yoohoo!

Very nice to see those addressed, and so many of them!

Great work, team!

--
 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: AW: Re: Regex help needed...

2016-01-30 Thread Richard Gaskin
Regex is wonderfully compact to write relative to equivalent routines 
using chunk expressions, but sometimes paid for in execution time.


When I come across a good regex example like the one you provided, if I 
have a moment I like to test things out to see where regex is faster and 
where it isn't.  It's really great for many things, but carries quite a 
bit of overhead.


Of course for this test to be relevant it assumes that most of the 
specifiers in the regex expression are merely to identify the elements 
you're looking for, and that the data is expected to fit the definition 
you provided.


Given that, it's possible to make the regex a bit simpler (see foo2 
below), but only with a modest boost to performance.  It can probably be 
simplified more, but the chunk-based alternative performed so well I 
didn't bother exploring the regex side any further.


Writing a lengthier handler that uses chunk expressions seems to yield 
the same results you reported, running between 12 and 60 times faster 
(depending on the percentage of lines tested that match the criteria 
being looked for).


For one-offs like validating email addresses regex can be an excellent 
fit, and even some larger tasks depending on the specifics.


But for iterating across lists I've often been delightfully surprised by 
LiveCode's gracefully efficient chunk handling.


Testing your original data replicated to become 250 lines long, and 
looking for page 1 among them, the script below yields:


Regex: 9261 ms
RegexLite: 7958 ms
Chunks: 197 ms
Chunks faster than orig regex by: 47.01 times
Chunks faster than lite regex by: 40.4 times
Same result? true


on mouseUp
  put fld 1 into tList
  put 1 into tPage --< change this for different tests
  put 1000 into n
  --
  -- Test 1: original regex
  put the millisecs into t
  repeat n
put foo1(tPage, tList) into r1
  end repeat
  put the millisecs - t into t1
  --
  -- Test 2: lighter regex
  put the millisecs into t
  repeat n
put foo2(tPage, tList) into r2
  end repeat
  put the millisecs - t into t2
  --
  -- Test 3: chunks
  put the millisecs into t
  repeat n
put foo3(tPage, tList) into r3
  end repeat
  put the millisecs - t into t3
  --
  -- Display results:
  set the numberformat to "0.##"
  put "Regex: "&t1 &" ms"&cr \
&"RegexLite: "&t2 &" ms"&cr \
&"Chunks: "& t3 &" ms"&cr \
&"Chunks faster than orig regex by: "&(t1 / t3)&" times" &cr \
&"Chunks faster than lite regex by: "&(t2 / t3)&" times" &cr \
&"Same result? "& (r1=r3) &cr&cr& r1 &cr&cr& r3
end mouseUp


function foo1 pPage, tList
  put 
"(.+\t"&pPage&",\d+,\d+,\d+)|(.+\t\d+,\d+,"&pPage&",\d+)|(.+\t"&pPage&",\d*\.?\d*,\d*\.?\d*,\d*\.?\d*,\d*\.?\d*)" 
into tMatchPattern

  filter lines of tList with regex pattern tMatchPattern
  return tList
end foo1


function foo2 pPage, tList
  put "(.+\t"&pPage&",*)|(.+\t\d+,\d+,"&pPage&",*)|(.+\t"&pPage&",*)" 
into tMatchPattern

  filter lines of tList with regex pattern tMatchPattern
  return tList
end foo2



function foo3 pPage, tList
  repeat for each line tLine in tList
set the itemdel to tab
put item 3 of tLine into t1
    put pPage &"," into tPageMarker
if "." is in t1 then
  if (t1 begins with tPageMarker) then
put tLine &cr after tNuList
  end if
else
  if ( t1 begins with tPageMarker) OR (item 4 of tLine begins with 
tPageMarker) then

put tLine &cr after tNuList
  end if
end if
  end repeat
  delete last char of tNuList
  return tNuList
end foo3










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


Paul Dupuis wrote:

Never mind. Solved it.

It was the pattern for the 2nd format. Fixed with
"(.+\t"&pPage&",\d+,\d+,\d+)|(.+\t\d+,\d+,"&pPage&",\d+)|(.+\t"&pPage&",\d*\.?\d*,\d*\.?\d*,\d*\.?\d*,\d*\.?\d*)"

On 1/30/2016 3:17 PM, Paul Dupuis wrote:

I need some regex help.

I have a list that is of the form:

i.e.
1Testing1,7471,1,1,747
2Testing752,18001,752,1,1800
3Testing5398,58462,320,2,768
4Testing3,111.951,683.915,302.268,385.751
 3,111.951,683.915,302.268,385.751

 can have a list of number in 1 of 2 formats:
A comma separated list of 4 integers, i.e.
,,,
OR
A comma separated list of 1 integer, followed by 4 decimal numbers, i.e.


I need 

Re: AW: Re: Regex help needed...

2016-01-30 Thread Richard Gaskin

Paul Dupuis wrote:
> Wow. I would not have expected such a significant difference. Regex
> has been around a long time and lots of smart computer science types
> has spent time coming up with ways to optimize its performance for
> pattern matching. I assumed (falsely) that regex based filters in LC
> would be on par or even superior than a custom function using chunks.
> This leads me to:
>
> 1) wondering if LC's hooks to whatever regex tool they are using under
> the hood is a good as it should be
> AND
> 2) planning on rewriting my code to use chunks.

One of the reasons for my seemingly-obsessive benchmarking is to learn 
about what goes on under the hood, and to try to anticipate it when 
choosing among different algos.


LC does such a good job of shielding us from what goes on under the hood 
that we often forget that the relationship between the number of lines 
we write and the number of machine instructions our scripts invoke may 
differ broadly depending on the statement.


My favorite example is: set the scroll of field 1 to 100 -- seems simple 
enough, but having written scrollbar management routines in C back in 
the pre-Cocoa days I learned that a *tremendous* number of low-level 
routines come into play with that one simple line of script.  LC makes 
it easy to take this stuff for granted, since it does all the heavy lifting.


Same with regex.

The beauty of regex is that it's a very generalized solution.  The 
downside of regex is that it's a very generalized solution. ;)


Generalized options can provide convenience, but often at the cost of 
performance.


Purpose-built solutions are usually much faster than generalized ones, 
and with LC's chunk expressions they're fun to write too. :)


There are times when regex will outperform chunk expressions, though, so 
I would caution against rewriting everything.  Benchmarking is the key, 
and some day I will have done enough to be able to come up with a small 
set of useful rules as to when to use chunks and when to use regex.  But 
at the moment, it's half hunch and half benchmarking to confirm the hunch.


--
 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


  1   2   3   4   5   6   7   8   9   10   >