HyperCard: the Myst story

2020-02-10 Thread Alejandro Tejada via use-livecode
Hi Colin,

I found this Mac User magazine!
https://vintageapple.org/macuser/pdf/MacUser_9311_November_1993.pdf

Al

On Tue, Feb 4, 2020 at 9:21 PM
Colin Holgate wrote:
> In 1993 Mac User magazine had a review
> of the top 50 CD-ROMs, and of those there
> was an overall winner.
> The A Hard Day’s Night CD-ROM I made
> in HyperCard was the overall winner.
> I was lucky that it was before Myst was
> released. It would have easily won!
___
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: Groups in the message path: Trapping Mouseup

2019-12-10 Thread Alejandro Tejada via use-livecode
Just for reference, Dar Scott wrote a Primer in Message Mechanics:
http://pages.swcp.com/dsc/revstacks.html

Al

on Tue, 10 Dec 2019, Paul Dupuis wrote:
[snip]
Richard Gaskin, at one point, had a really excellent diagram of the
LiveCode message hierarchy. If he sees this post and still has it
perhaps he could post a link to it.
___
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 it possible to implement Weizenbaum's original Eliza as a chatbot with LIVECODE?

2019-10-11 Thread Alejandro Tejada via use-livecode
Hi Ingar,

Check this stack:
https://forums.livecode.com/viewtopic.php?f=10=33212

based on this HyperCard stack:
http://umich.edu/~archive/mac/hypercard/fun/spectresmart2.5.sit.hqx

Al
___
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: Ideas for my book

2019-09-19 Thread Alejandro Tejada via use-livecode
Hi All,

Just for reference, Professor Manuel Agustí i Melchor
from Universidad Politécnica de Valencia published
a book on MetaCard and Revolution:

http://www.disca.upv.es/magustim/mmmultiplataforma/book1.html

By the way, Google Translate works fine on these pages.

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


Mail List Archive Error

2019-08-27 Thread Alejandro Tejada via use-livecode
Hi All,

There is an error on the LiveCode Mail List Archives.
http://lists.runrev.com/pipermail/use-livecode/

Please compare these Mail List Archives: July and
August

http://lists.runrev.com/pipermail/use-livecode/2019-July.txt

http://lists.runrev.com/pipermail/use-livecode/2019-August.txt

Notice that dates of August Mail List archive are wrong.
What settings changes could have produced this error?

Thanks in advance!

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


x-eyes

2019-03-19 Thread Alejandro Tejada via use-livecode
Hi Klaus,

Check the stack posted in this forum thread:
http://forums.livecode.com/viewtopic.php?f=10=32358

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


LiveCode Builder language Library Tutorials

2019-02-07 Thread Alejandro Tejada via use-livecode
Hi All,

Where could I find Tutorials for creating
LCB Libraries (not widgets)?

Thanks in advance!

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


Widget TurnImage89_v100

2019-02-06 Thread Alejandro Tejada via use-livecode
Hi Hermann,

> TurnImage is a pure LiveCode Builder widget,
> there is no essential script access and
> no use of JavaScript.

This a wonderful example of your developer prowess
and LCB power. :-)

The rotating movie is a real surprise. Brings me
memories from the Commodore Amiga days.

Congratulations and thanks a lot for publishing
this widget for all Livecode editions!

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


LC-apps for HC

2019-01-15 Thread Alejandro Tejada via use-livecode
Please dismiss these stray words at
the end of my previous message:

> but
> notice that

Al
___
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-apps for HC

2019-01-15 Thread Alejandro Tejada via use-livecode
Hi Ingar,

Since last year, I am using Livecode in Mac,
Linux and Windows (and running stacks
on Android 2.3 and 4.0.1).

Previously, I have run Livecode only
on windows, much later on linux,
then on android and only since last
year on mac osx. (ios and raspberry pi
are in my plans too)

Livecode is similar and very different
in each one of these platforms.

Recreating the HyperCard interface
on top of Livecode should be very
straightforward and some developers
have done this previously, but if you
want an estimate of the cost of recreating
the HyperCard experience using Livecode,
your best choice is to ask RunRev
themselves.

Notice please, I do not consider HyperCard
just an interface but an experience.
The experience of using the capabilities
of your computer in an easy and
human-friendly way.

How could you offer the same experience
in the year 2019? The answer is different
and unique for each operating system
in which Livecode runs.

For Mac developers, they only have
one platform to work. For this reason
HyperCard was really extraordinary.

In my desk, I have a PowerMac 7500
and running HyperCard is a joy.
Today anyone could run HyperCard
in their web browser visiting Archive.org :
(HyperCard is inside the disk that
you could see in the desktop)

https://archive.org/details/AppleMacintoshSystem753

So, tell me if I am wrong if I understand
yourrequest as this question:

How could we recreate the HyperCard
experience in different Operating Systems
using Livecode?

Al



but
notice that


on Tue, 15 Jan 2019 14:46:00
Ingar Roggen wrote:

> Dear all of you, - Richard, Richmond and the rest of the users
> of this list - as you may have seen I have tried to get an idea
> (an offer!) of what it may cost - what one would have to pay -
> for an app or some other solution to the problem of making
> "HC easily portable to LC and thereby accessible
> to the rest of us" again??. Not having got any answer
> I give it one more try.
___
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


Understanding Image Sizes, Before And After Display

2018-12-23 Thread Alejandro Tejada via use-livecode
Hi All,

In this moment that I could not sleep because the fever,
the mail list is a good reading to keep me awake.

There is another way to read the width and height of
a jpg image. Read the binary data for the Start of Frame
tag within the jpg image.

Please test and improve this script:

on mouseUp
local temp
answer file "Select JPEG image"
put it into temp
open file temp for binary read
read from file temp for 10
put it into temp1
close file temp

put numtobyte(255) & numtobyte(192) into tBaselineJPGFrame0
-- in Hexadecimal: FFC0 =  JPEG Start-Of-Frame (SOF) marker FFC0
put numtobyte(255) & numtobyte(194) into tProgressiveJPGFrame0
-- in Hexadecimal: FFC2 =  JPEG Start-Of-Frame (SOF) marker FFC2

set the casesensitive to true

put offset(tBaselineJPGFrame0,temp1) into tStartOFrame
if tStartOFrame is 0 then put offset(tProgressiveJPGFrame0,temp1) into
tStartOFrame

if tStartOFrame is not empty
then
put byte (tStartOFrame + 5) of temp1 & byte (tStartOFrame + 6) of temp1
into tJPGHeight
put byte (tStartOFrame + 7) of temp1 & byte (tStartOFrame + 8) of temp1
into tJPGWidth

-- put baseConvert(baseConvert(bytetonum(byte 1 of tJPGHeight),10,16) &
baseConvert(bytetonum(byte 2 of tJPGHeight),10,16),16,10) into tJPGHeight

put bytetonum(byte 1 of tJPGHeight) into q
put bytetonum(byte 2 of tJPGHeight) into w
put baseConvert(q,10,16) into r
if the number of bytes of r = 1 then put "0" & r into r
put baseConvert(w,10,16) into t
if the number of bytes of t = 1 then put "0" & t into t
put r & t into y
put baseConvert(y,16,10) into tJPGHeight

-- put baseConvert(baseConvert(bytetonum(byte 1 of tJPGWidth),10,16) &
baseConvert(bytetonum(byte 2 of tJPGWidth),10,16),16,10) into tJPGWidth

put bytetonum(byte 1 of tJPGWidth) into q
put bytetonum(byte 2 of tJPGWidth) into w
put baseConvert(q,10,16) into r
if the number of bytes of r = 1 then put "0" & r into r
put baseConvert(w,10,16) into t
if the number of bytes of t = 1 then put "0" & t into t
put r & t into y
put baseConvert(y,16,10) into tJPGWidth

answer "JPG Width" && tJPGWidth & cr & "JPG Height" && tJPGHeight & cr &
temp

else
answer "Could not find Start of Frame information in this JPEG image" & cr
& temp
end if

end mouseUp

 /*
Information from
https://stackoverflow.com/questions/35427283/get-width-and-height-from-jpeg-without-0xff-0xc0

The JPEG Start-Of-Frame (SOF) marker has 4 possible values:

FFC0 (baseline) - This is the usual mode chosen for photos and encodes
fully specified DCT blocks in groupings depending on the color/subsample
options chosen
FFC1 (extended) - This is similar to baseline, but has more than 8-bits
per color stimulus
FFC2 (progressive) - This mode is often found on web pages to allow the
image to load progressively as the data is received. Each "scan" of the
image progressively defines more coefficients of the DCT blocks until
they're fully defined. This effectively provides more and more detail as
more scans are decoded
FFC3 (lossless) - This mode uses a simple Huffman encoding to
losslessly encode the image. The only place I've seen this used is on
16-bit grayscale DICOM medical images

 */
___
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


Gradient Property Palette Bug

2018-09-17 Thread Alejandro Tejada via use-livecode
Hi All,

After editing an imported gradient, the Gradient Property Palette
shows two "OK" buttons and every graphic imported receive a
green color overlay.

Please verify this Gradient Property Palette bug in your own setup:

1) Download the stack Eps Import v05c:
http://andregarzia.on-rev.com/alejandro/stacks/Eps_Import_V05C.zip

2) Open the stack "eps_import_v05c.rev" using LC9.0.1 (rc3)

3) From the stack "eps_import_v05c", import the file
"Gradients01.ai". (Click the topleft button)
This file opens in a new stack.

4) Select one graphic and edit the gradient.
Change, for example, the number of repetitions
to 4 or 5 and select "Wrap" and "Mirror".

5) From the stack "eps_import_v05c", import the file
"golferGRS.ai" or "Gradients02.ai".
(Click the topleft button). This file opens
in a new stack and every graphic have a
green color overlay.

6) Try these exact steps using an early LC version.
Graphics DO NOT show a green color overlay.

By the way, Navigator 6.2 alpha 1 works great for
editing gradients! Check:

https://forums.livecode.com/viewtopic.php?f=13=31495

If you reproduce this bug, please report your results,
Operating System and LC Version to create a report
in the Quality Center.

Thanks in advance!

Al
___
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] Xara Design Suite 25 dollar special

2018-09-12 Thread Alejandro Tejada via use-livecode
Hi All,

Check this "Once in a Lifetime" special offer:

https://www.humblebundle.com/software/magix-ultimate-creative-design-software?hmb_source=humble_home_medium=product_tile_campaign=mosaic_section_2_layout_index_1_layout_type_threes_tile_index_2

This is the best offer of Design Software that you will find in a long
time. :-)

Al
___
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: ImageStatistics_v100

2018-08-28 Thread Alejandro Tejada via use-livecode
Hermann, Many Thanks for publishing your work!
Klaus Major, Wilhelm Sanke, Bernd Niggeman and you
are outstanding role models for German developers.

Out of curiosity, Have you implemented in LC an image processing
algorithm that segment images in background and foreground?
For example:

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/Simard_Malvar_SLIm_DCC2004.pdf
https://kma.upol.cz/data/xinha/ULOZISTE/ActaMath/2016/055-1-10.pdf
https://www.mathworks.com/help/images/ref/activecontour.html
https://en.wikipedia.org/wiki/Foreground_detection
https://en.wikipedia.org/wiki/Foreground_detection
https://ieeexplore.ieee.org/document/8118166/

Thanks in advance!

Al

On Tue, Aug 28, 2018 at 6:00 AM
Hermann wrote:

> ImageStatistics_v100 is a very fast computation of the color-values
> distribution of an image for each of the R/G/B-channels and the
> 'mean channel' (= grayscaled image).
>
> You get the raw data and select for the display the number of bins
> (one of 2, 4, 8, 16, 32, 64, 128, 256) for the values range 0-255.
>
> For more info seehttp://forums.livecode.com/viewtopic.php?p=170716#p170716
>
>
___
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-ImageToolbox_v185

2018-08-27 Thread Alejandro Tejada via use-livecode
Thanks a lot! This week, I will find time to study and learn
from your work.

By the way, reading the links that you posted, I found
about other dither algorithms: Riemersma Dither and
Stochastic Dithering.

Have a nice week!

Al

On Sun, 26 Aug 2018 12:09:47 +0200

> Hermann wrote:
>
> LC-ImageToolbox_v185 adds Color-Dithering which does a 1-Bit-Dithering for
> each of the R-G-B-channels (1-Bit-Methods: Atkinson, Burkes,
> Floyd-Steinberg,
> Javis-Judice-Ninke, Sierra-twoRow, Stucki).
>
> For more info see
> http://forums.livecode.com/viewtopic.php?p=170620#p170620
>
>
___
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-ImageToolbox_v180 (hh)

2018-08-25 Thread Alejandro Tejada via use-livecode
Hi Hermann,

Many thanks for sharing your excellent work with all LC developers!
I hope that you include color dithering in your next version.
Check the more recent stack in this forum thread:
http://forums.livecode.com/viewtopic.php?f=10=29935

Where could I send you an screenshot of a message produced
by the browser widget?

Thanks in advance and thanks a lot again!
Keep up your great work!

Al

On Sat, Aug 25, 2018 at 3:57 PM, Herman wrote:

>
> LC-ImageToolbox_v180
>
> Version 1.8.0 adds a new feature to LC-ImageToolBox: Kuwahara filtering.
>
> The filter replaces each pixel with the mean value of the one of four
> overlapping subsquares that has minimal values variance.
>
> For more info see
> http://forums.livecode.com/viewtopic.php?p=170593#p170593
>
> > LC-ImageToolbox_v175
> >
> > Version 1.7.5 adds a new feature to LC-ImageToolBox: Quantile filtering.
> >
> > An x-Quantile is a generalized parameter of location of distributions
> > with a percentage x.
> > For example x=0 yields the minimum, x=50 the median, x=100 the maximum
> > of the sample values.
> >
> > You can select the percentage x and a 'population sample' square of size
> > 3x3, 5x5, 7x7, ..., 15x15 pixels.
> > The quantile of this sample distribution around each pixel of the image
> > replaces that pixel.
> >
> > For more info see
> > http://forums.livecode.com/viewtopic.php?p=170547#p170547
>
___
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] The problem with programming and how to fix it

2018-08-05 Thread Alejandro Tejada via use-livecode
Mark Wieder wrote:
> Dang. And I was *so* waiting around for LC11.

We already have revSpeak, so I could wait a few years
for the command revListen  :-D

http://docs.runrev.com/Command/revSpeak

Al
___
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] The problem with programming and how to fix it

2018-08-05 Thread Alejandro Tejada via use-livecode
Hi Mark,

> H - I think that is missing the point about what the
> current 'AI' technologies that exist actually do (as far as
> I can see anyway - I'd be more than happy to be
> proved wrong!)...

Well, the point is that all current AI technologies requires
an internet connection to work and AI software that run
in servers is learning thousands of new interactions
everyday from millions active users.

If a thousand small tasks and user interactions prove to be
useful (based in user feedback) and successful (based in
repeated use) for many, many users, then the operating
system will offer these tasks, make them available to you
and all users. Millions of new users.
Step by step, task by task a picture of a more and more
useful AI assistant will emerge thanks to the feedback
and guidance from millions active users.

> They are merely mappings from one form input to another form of input -
> they themselves don't do any action - the actions still have to be
> implemented somehow.

Yes, in a central server. In this moment there are millions creating
these tasks (probably unaware that they are programming too)

> Alexa for example by itself does diddly-squat beyond map voice to a
> lower level actionable command (with an element of context, certainly
> which makes it slightly interesting) - it's the skills that people 'like
us'
> implement which actually do the thing Alexa interprets that we want
> to be done.

Yes, this is programming. Millions active users are doing this
for free in this moment.

> Same with google assistant, siri, wolfram alpha, even google search -
> I can type 'what is 100 usd in gbp' and it gives me the answer.
> However the reason google search can do that is because
> some programmer at google has added a hook which knows
> that when that pattern is searched for it should call a program
> that has been explicitly written which looks up the current
> exchange rate and then renders the result in a nicely formatted
> string which appears at the top of the search results.

The keys to create more useful AI assistants are positive
user feedback and repeated use. Time will tell
which company wins this time.

Al
___
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] The problem with programming and how to fix it

2018-08-05 Thread Alejandro Tejada via use-livecode
Hi Mark,

> Lost sight of what?

If I understand Richmond correctly, he is talking that for
many developers the name HyperCard is synonymy
with "vastly easier and more accessible programming"
and that RunRev could have taken advantage of this
for positioning LiveCode among other development
platforms... BUT I disagree, because Livecode is
multiplatform and for everyone else, except Mac users,
HyperCard do not run in their computers.

> How are all these artifical intelligence assistants,
> and various drivers needed for the various forms of
> input you suggest built?

> I don't think there are any magic beans around you
> can plant to have them appear...

After Google, Microsoft, Apple and Linux implement these
features in their operating systems, then every program could
use them. Google could be first, then Apple, later Microsoft
and finally Linux... but I could be wrong in this sequence.

Al
___
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] The problem with programming and how to fix it

2018-08-05 Thread Alejandro Tejada via use-livecode
Richmond wrote:
> Who said LiveCode lost sight of that?
> Oh, it was me.

Actually, I understand why RunRev do not want to
sell LiveCode as a HyperCard replacement.

LiveCode is multiplatform and this single fact
set it apart from all previous x-talk languages.

In my humble opinion, the future of programming
would be driven by artificial intelligence assistants
and multiple ways of working and interfacing with
the computer using voice, gaze interaction, gesture,
motion, pointer, keyboard, etc...

Al


On Sun, Aug 5, 2018 at 3:16 PM, Alejandro Tejada 
wrote:
>
> "Programming could be much much easier most of the time.
> This unnecessary difficulty wastes the effort of professional
> programmers, but worse, prevents many people from programming
> at all. The problem is a nasty hairball of culture and technology
> and money that is not easily untangled"
>
> https://alarmingdevelopment.org/?p=1173
>
> Jonathan Edwards, the author of this article, remembers
> HyperCard for "enabling millions of novices to build
> simple applications"
>
> Al
___
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] The problem with programming and how to fix it

2018-08-05 Thread Alejandro Tejada via use-livecode
"Programming could be much much easier most of the time.
This unnecessary difficulty wastes the effort of professional
programmers, but worse, prevents many people from programming
at all. The problem is a nasty hairball of culture and technology
and money that is not easily untangled"

https://alarmingdevelopment.org/?p=1173

Jonathan Edwards, the author of this article, remembers
HyperCard for "enabling millions of novices to build
simple applications"

Al
___
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: Best practise approach for artwork for iOS and Android?

2018-06-12 Thread Alejandro Tejada via use-livecode
on Tue, 12 Jun 2018, Lagi Pittas wrote:
> I don't know what sort of images you have but
> take a look at xara (xara.com/designer-pro/features)

I use Xara Photo Graphic Designer and agree with Lagi's
recommendation. Check these videos about intelligent scaling:

https://www.youtube.com/watch?v=dfNLaZ5cSHs
https://www.youtube.com/watch?v=s9j-WYl0OJY

Al

___
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


Livecode Content Management System

2017-12-01 Thread Alejandro Tejada via use-livecode
Andre Garzia wrote:
> If you choose to store your data on flat files and use git
> on that folder, you get branching, rollback and backups
> for free for your CMS.

Those data flat files could be stored as base64 encoded
text files, Right?

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


Livecode Content Management System

2017-11-30 Thread Alejandro Tejada via use-livecode
Hi Alex,

Alex Tweedly wrote:
> Thanks for any suggestions, input, etc.

Could your LCMS import (and use) templates and themes
from other CMS platforms like Joomla or WordPress?

I would like to answer another questions, but
have no experience using RevIgniter, so could not
comment about your questions.

Al
___
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] The Internet is Living on Borrowed Time

2017-11-30 Thread Alejandro Tejada via use-livecode
Hi Bob,

> Well it must be true. It was on the internet.

Funny enough, we are on the Internet, too. :-D
Staying outside the looping groundhog day!
http://www.imdb.com/title/tt0107048/

Jokes aside, I have to pause for a while to catch up
with pending projects and new ideas.
Too much to do and too little time.

Al

On Tue, Nov 28, 2017 at 7:34 PM, Alejandro Tejada
 wrote:
>
> This is Bryan Lunduke's today advice about the Internet:
>
> "Use the Internet for what it's good for.
> Enjoy it. Plan for it not existing"
>
> http://lunduke.com/2017/11/28/the-internet-is-living-on-borrowed-time/
> https://www.youtube.com/watch?v=1VD_pJOFnZ0
>
> Recently, I asked a similar question in slashdot:
> https://ask.slashdot.org/story/17/11/13/2319243/ask-slashdot-which-softwaredevices-are-unusable-without-connecting-to-the-internet/
>
> Surprisingly, most slashdot answers suggests that too many developers
> actually are resigned to live in this brave new world of software and devices
> that stubbornly and needlessly requires 24/7 internet access to keep working. 
> :-(
>
> Al

___
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


LC8 release structure

2017-11-28 Thread Alejandro Tejada via use-livecode
Does exists some way to install only the files changed
between each version and keep all common files available
for each LC version in use?

In this way, instead of using 1 Gb for each new Livecode version
installed, we could keep a folder with common files and each
new LiveCode version would occupy only 200 or 100 mb each.

Basically, each new Livecode version would include only
the files updated or changed compared with the previous
Livecode version installed.

Could this works for LiveCode IDE?

Al

> Mark Wieder wrote:
> I'm confused now by the number of unstable releases in flight.
> I'm seeing
> LC8.2.0-dp2 dated 11 October 2017
> LC8.1.8-rc2 dated 23 November 2017
> and of course
> LC9.0.0-dp10 dated 23 October 2017

> Monte Goulding answers:
> The 8.2 release cycle is mainly for IDE features
> like autocomplete that could potentially be disruptive
> and need a bit of iteration.
___
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] The Internet is Living on Borrowed Time

2017-11-28 Thread Alejandro Tejada via use-livecode
This is Bryan Lunduke's today advice about the Internet:

"Use the Internet for what it's good for.
Enjoy it. Plan for it not existing"

http://lunduke.com/2017/11/28/the-internet-is-living-on-borrowed-time/
https://www.youtube.com/watch?v=1VD_pJOFnZ0

Recently, I asked a similar question in slashdot:
https://ask.slashdot.org/story/17/11/13/2319243/ask-slashdot-which-softwaredevices-are-unusable-without-connecting-to-the-internet/

Surprisingly, most slashdot answers suggests that too many developers
actually are resigned to live in this brave new world of software and
devices
that stubbornly and needlessly requires 24/7 internet access to keep
working. :-(

Al
___
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] Blind Deconvolution Algorithm

2017-11-27 Thread Alejandro Tejada via use-livecode
Hi Bob,

Bob Sneidar wrote:
> The first thing I noticed in the article was that the source image
> was artificially blurred, that is mathematically.
> I wonder how it would do with an analog optically blurred image,
> or one which was taken through a dirty lens?

The article uses artificially blurred examples, but
the gallery uses real world examples:

"We would be grateful if you share with us your examples -
it will allow us to improve the quality of the algorithms.
All images are real-world photos without any preliminary
processing. "

http://smartdeblur.net/gallery.html

On Thu, Nov 23, 2017 at 12:26 PM, Alejandro Tejada 
wrote:
>
> Today I learned about this impressive image processing
> algorithm named Blind Deconvolution:
>
> Theory:
> http://yuzhikov.com/articles/BlurredImagesRestoration1.htm
>
> Practice:
> http://yuzhikov.com/articles/BlurredImagesRestoration2.htm
>
> Check the examples:
> (Text defocus blur is eye-opening. Look for the example
> named "Large Defocus blur")
>
> http://smartdeblur.net/gallery.html
>
> Now I have to find if Neural Networks could be trained
> for this task with better results. :-)
>
> Al
>
___
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


New Books/Dictionary

2017-11-27 Thread Alejandro Tejada via use-livecode
James Hale wrote:
> For those wanting to read the docs in an i-device
> Dash for iOS is FREE.
> I have posted some screenshots on the forum
> if you want to see how the docs look.

> http://forums.livecode.com/viewtopic.php?f=16=29745=160713#p160712

Really nice! Thanks a lot for posting these images, James.  8)
I noticed that docsets use a few mySQLite databases and a folder
with images and thousands html formatted webpages.

I tried (and failed) to use this docset in Android, using the App
named "Lovely Docs" but this unsupported app does not recognize
the folder as a docset.

Then, I simply copied the folder for single webpage browsing
using HTML viewer in Android.

Does exists a script that create a single index webpage
(html with links) from all 3,492 webpages?

Thanks in advance!

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


New Books/Dictionary

2017-11-25 Thread Alejandro Tejada via use-livecode
Greg Miller wrote:
> Will it be possible to buy electronic versions of
> the new dictionary and lessons book?

Ideally, in a near future, lessons and dictionary would be available as
interactive stacks or downloadable apps. Until then, here is a LiveCode 4.6
PDF dictionary, uploaded by et_phone_home:

http://www.mediafire.com/file/eteillibdzzcbxc/Livecode++Dictionnaire.pdf

I found this pdf dictionary in a forum thread:
http://forums.livecode.com/viewtopic.php?t=8430

and Ken Ray's 2.1.2 online Rev documentation for Rev 2.1.2 in PDF, RTF and
TXT format:

http://www.sonsothunder.com/devres/livecode/downloads.htm

By the way, RunRev 2.8.1 dictionary, printed in color coded paper, still
have a place in my work desk, along Dan Shafer's first RunRev book.

Al
___
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] Blind Deconvolution Algorithm

2017-11-23 Thread Alejandro Tejada via use-livecode
Today I learned about this impressive image processing
algorithm named Blind Deconvolution:

Theory:
http://yuzhikov.com/articles/BlurredImagesRestoration1.htm

Practice:
http://yuzhikov.com/articles/BlurredImagesRestoration2.htm

Check the examples:
(Text defocus blur is eye-opening. Look for the example
named "Large Defocus blur")

http://smartdeblur.net/gallery.html

Now I have to find if Neural Networks could be trained
for this task with better results. :-)

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


Creating LC IDE plugin - is it possible to check if plugin was started automatically or from menu?

2017-11-20 Thread Alejandro Tejada via use-livecode
Hi All,

Where could I found a guide for creating LC IDE plugins?

Al

> On 20 Nov 2017, at 7:21 pm, Matthias Rebbe wrote:
> So is there a way to check if a plugin was run at
> startup or if it was started from the menu?

> Then, Monte Goulding answered:
> Yes, check if revMenubar is in the executionContexts
___
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


Building a variable length code Huffman Tree in LiveCode

2017-11-20 Thread Alejandro Tejada via use-livecode
Hi All,

Which methods could I use in Livecode,
to build a Huffman tree?

http://www.ics.uci.edu/~dan/class/165/notes/zHuff.pdf

The idea of building a tree with nodes, leafs
suggest to use an xml file for this task, but
all examples that I have read uses a different
method with data structures that probably
are not available in LiveCode.

Another idea that I am considering is
using fixed length codewords:
http://home.cse.ust.hk/faculty/golin/COMP271Sp03/Notes/MyL17.pdf
and assign the codewords using a sorted
list of most frequent character.

Which methods could you use in Livecode,
to build a Huffman tree?

Thanks in  advance!

Al
___
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: SVG (in LiveCode) can do that?!

2017-11-17 Thread Alejandro Tejada via use-livecode
Richmond wrote:
> "the path of less resistance"
> um:
> the path of least resistance

Thanks a lot for correcting this. :-)
Previously, I have asked for corrections
and received no response.

The information about Compress function
was reposted without any change or
correction. :-(

http://runtime-revolution.278305.n4.nabble.com/Compress-function-additional-information-td2220568.html

All people that works in technology in the country
where I live learn to read english (the alternative is buying
incomplete or obsolete US$ 100 spanish translated books),
most could understand spoken english but rarely they write
or speak english with fluency.

Thanks a lotagain! :-D

Al
___
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: SVG (in LiveCode) can do that?!

2017-11-16 Thread Alejandro Tejada via use-livecode
Richard Gaskin wrote:
> Not Linux users who use Google Hangouts, or Jitsi,
> or Talky, or Appear.In, or Kamailio, or Linphone...

Skype represents the path of less resistance
and now I understand why.

Check the answers that slashdotters gave to the question:
Which Software/Devices Are Unusable Without
a live Internet connection?

https://ask.slashdot.org/story/17/11/13/2319243/ask-slashdot-which-softwaredevices-are-unusable-without-connecting-to-the-internet

My own conclusion is:

Too many Developers are following also
the path of less resistance, even
if this means to accept a live internet
connection just for using their own devices
and productivity software. :-(

Al
___
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: Image Offset in Frame

2017-11-16 Thread Alejandro Tejada via use-livecode
Hi Jacque,

> In the Position pane, at least in LC 9.

Which one? Do you set clipstorect property using the
checkbox labeled "Resize when setting rect property"?

> I've wondered why we need clipsToRect when we have boundingRect.
> The only difference I can see is that boundingRect works with a
> non-locked group. If the group's lockLoc is true,
> I don't see any difference.

clipsToRect works without locking the group position too.

Groups with it's boundingRect property set always have the size
specified in this property. If a script changes the group width (or height)
and you leave the card, then return to this same card, this group with the
boundingRect property will recover their size specified in that property.

This does not happen with locked groups or group that have their
clipsToRect property set.

Al
___
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: Image Offset in Frame

2017-11-16 Thread Alejandro Tejada via use-livecode
I was wrong. There is at least 3 (maybe more)
different ways to clip an image using a group:

Method 1 using lockLocation:
Method 2 using clipstorect
Method 3 using boundingRect

The following detailed description is useful mostly
for newcomers in this platform...

1) create a new stack
2) import an image
3) set the script of this image to:

on mousedown
grab me
end mousedown
-
4) group this imported image
5) reduce the size of this group and
6) Choose one of these options:

Option 1) - set the locklocation of this group to true or
Option 2) - set the clipstorect of this group to true or
Option 3) - set the boundingRect of this group to the rect of this group

If you select the group with the "Edit" tool, paste the previous script in
the message box, change the phrase "this group" for "selobj" (without
quotes)
and press enter:

set the locklocation of selobj to true

set the clipstorect of selobj to true

set the boundingRect of selobj to the rect of selobj

Each option have it's own advantages. Test them and choose
one that works for your purpose.

By the way, Where could I find the boolean property "clipstorect"
within the Property Inspector?

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


SVG (in LiveCode) can do that?!

2017-11-16 Thread Alejandro Tejada via use-livecode
Given  that you posted in the mail list, instead of sending a private
message, you would not mind read our opinions too:

SVG is not about graphics, scalable or vectors.

SVG is a document format that includes text, images and vector
graphics driven by javascript, a programming language.

In theory, you could make a whole website using only SVG, without any html.

In theory, you could even replace most PDF documents using only SVG
files (including hyperlinks and read-only fonts)

In theory, it should be possible to replicate a Livecode stack
functionality, using only SVG and javascript.

In practice, you need to be a programmer (an outstanding programmer)
to acomplish any of this at some length.

If the title of that video have not read "SVG can do that?", I have
thought that this was a Shockwave Flash presentation from 10 years
ago... Maybe even 15 years ago!

Colin Holgate or Scott Rossi could tell which flash versions could do
all this inside a browser using the flash plugin.

Why Adobe does not simply created a text only flash format version
(compressed as gzip if needed) and fixed their plugin performance
issues and bugs? The collective internet wisdom have posted their own
theories: Adobe simply does not have anymore the knowledge (or wisdom)
to make this happen. The persons who could have made this happen, have
retired, or leave... or were just fired.

While watching the youtube video, I laugh a lot after reading this
quote in a message written by Jason Grigsby:

"You can't be a web performance expert without being an image expert."

I could add:
"... and in the web, you can't be an image expert without being a programmer."

And that is the problem of SVG. You could not use SVG at full capacity
without being a knowledgeable programmer in html and javascript.

If the very first Design computer programs have had this requisite,
you could be sure that Design and Computer Graphics in general would
not be as advanced as today.

Could you imagine that using the very first version of Ilustrator or
Photoshop would have required to learn Postscript or C or Pascal or
any other computer language?

My first (and costly - US$ 100 dollars in 1992) Programming book was
about postscript language and could not even learn anything from it,
because when I reached home, unpacked and read the book, only then I
discover that the book required a diskette that was not included in
that edition...

It's the same disappoint that Designers discover while using SVG.
Want to use SVG at some capacity? Learn Javascript and html... first.
That is a step backward... not forward.

Al

___
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


Image Offset in Frame

2017-11-16 Thread Alejandro Tejada via use-livecode
Looks like there are two different ways to
clip an image using a group:

Method 1 using lockLocation:

1) create a new stack
2) import an image
3) set the script of this image to:

on mousedown
grab me
end mousedown
-
4) group this imported image
5) reduce the size of this group and
6) set the locklocation of this group to true

Method 2 using clipstorect

1) create a new stack
2) import an image
3) set the script of this image to:

on mousedown
grab me
end mousedown
-
4) group this imported image
5) reduce the size of this group and
6) set the clipstorect of this group to true

By the way, Where could I find the boolean property "clipstorect"
within the Property Inspector?

Al

___
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


Image Offset in Frame

2017-11-15 Thread Alejandro Tejada via use-livecode
Hi Sannyasin,

> This is probably covered somewhere, but I can't find it.
> In CSS we can position in image in frame with an offset like -20,-20
> In most layout programs you can move the image around inside the
> frame. How can we do that with an image in LiveCode?
> I can use crop, but this is permanent

There are many options, but I just remember these
techniques in this moment:

1) A group could mask an image within it's boundaries.

2) Ink effects to mask an image:
http://tactilemedia.com/blog/2015/11/04/livecode-basics-masking-objects/

3) Hidden point technique:
http://use-livecode.runrev.narkive.com/ojZ8ao1Z/would-like-to-show-a-photo-through-a-polygon-shape

Al

___
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


mouseWithin and mouseLeave problem

2017-11-15 Thread Alejandro Tejada via use-livecode
Today, while trying to understand why my own code does not work, I
learned about the text field scrollbarWidth property. :-)

1) create a new stack
2) create/insert/drag and drop a scrolling text field in this new stack
3) edit the text field script and insert these handlers:

-- -
on mouseenter
   set the scrollbarwidth of fld 1 to 30
end mouseenter

on mouseleave
   mouserelease
end mouseleave

on mouserelease
   set the scrollbarwidth of fld 1 to 10
end mouserelease

-- 

By the way, Which are the minimum and maximum
scrollbar width size allowed in every platform?
LC Dictionary mentions Mac OSX, but does not
specify scrollbar widths limitations.

Al

___
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] Google TensorFlow Lite

2017-11-14 Thread Alejandro Tejada via use-livecode
Today, Google announced the release of TensorFlow Lite

https://research.googleblog.com/2017/11/on-device-conversational-modeling-with.html

"TensorFlow Lite is TensorFlow's lightweight solution for mobile and
embedded devices. As part of the library, we have also released an
on-device conversational model and a demo app, so you can easily
download and try out one-touch smart replies on your mobile device."

In a previous mail list (or forum) thread, I had wrote that Microsoft,
using their Cortana Research Labs and their dedicated Xbox userbase
would become the first company to dominate the market of AI driven
personal assistants. Looks like I was wrong... deeply wrong.
Is corporate culture still holding back Microsoft?

https://gadgets.ndtv.com/laptops/features/how-satya-nadella-rebooted-microsofts-corporate-culture-837363

Google is pushing their TensorFlow framework with all their might.
They really want that this framework is deployed as widely as humanly
possible.

I just keep wondering what does this means in the long term.

Does every TensorFlow deployment "share" their data ("experience")
with other TensorFlow driven devices?

If a person trains a device for a very specific and unique task, Does
this framework automatically uploads and share this data
("experience") for everyone to share and use?

These are questions that I see nobody is doing. or... maybe Did
someone already answered these (and others questions) and I miss these
answers?

Looks like we would have to wait until AI becomes a service within the
Operating System before being able to use it from Livecode.

Al

___
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: The coming of SVG

2017-11-08 Thread Alejandro Tejada via use-livecode
Martin Koob wrote:
> what about calling it a *viewer* object which would then
> allow us to view SVGs, images, graphics or any other
> drawing or illustration format.

Actually, I like the name "viewer" too, but if we could use
the word "viewer" then "viewport" is more descriptive:

https://en.wikipedia.org/wiki/Viewport

By the way, this new control is a LC9 only widget. Right?

Al

___
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: Control properties not included in the Property Inspector

2017-11-06 Thread Alejandro Tejada via use-livecode
Bob Sneidar wrote:
> put the Properties of field "fldCustID" into tProps;put printKeys(tProps)

The Message Box produces an error:
Object does not exists
Hint: fldCustID

Al

On Mon, Nov 6, 2017 at 3:31 PM, Alejandro Tejada 
wrote:
>
> Hi All,
>
> Where could I find a list of control properties that
> are not included within the Property Inspector?
>
> For example:
> clipstoRect (a Boolean (true or false) property of groups)
> capsStyle (a property of graphics)
> joinStyle (a property of graphics)
> miterLimit (a property of graphics)
> fillRule (a property of graphics)
> and others...
>
> Thanks in advance!
>
>  Al
___
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


Control properties not included in the Property Inspector

2017-11-06 Thread Alejandro Tejada via use-livecode
Hi All,

Where could I find a list of control properties that
are not included within the Property Inspector?

For example:
clipstoRect (a Boolean (true or false) property of groups)
capsStyle (a property of graphics)
joinStyle (a property of graphics)
miterLimit (a property of graphics)
fillRule (a property of graphics)
and others...

Thanks in advance!

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


The coming of SVG

2017-11-03 Thread Alejandro Tejada via use-livecode
Jim Lambert wrote:
 > I like Mark's ‘picture' because it is general. A picture can contain
 > both vectors and bitmaps.

Richard Gaskin wrote:
> Seconded.  When I first read Mark's post I was wary of "picture",
> but on further reflection I remembered Apple's PICT file/data type,
> distinct from PNTG as the latter was exclusively bitmap data but
> PICT could contain a mix of vectors and bitmaps.
> If it's good enough for Apple, it's good enough for me.

Count my vote, too. :-)

By the way, this new control type, Could allow easier implementation
of image libraries, where you store a single instance of a bitmap
or graphic and then LiveCode engine just rebuild your picture
from the original data applying all transformation or changes
applied to the new instance of this same picture?

That is the way in which Xara and other programs manages
vector symbols and bitmap images:

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

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

The coming of SVG

2017-11-03 Thread Alejandro Tejada via use-livecode
Mark Waddingham wrote:
> we are now firmly on the road to full SVG support in LiveCode!

These are great good news! Congratulations. :-D

> the name is currently vectoricon

Actually, I like the name "Picture" because
it remembers me about the PICT file format
that could include bitmaps, vectors and text.

Because you asked for names ideas,
here they are:

Pathline
Pathshape
Linepath
Shapepath
Shapeline

But I still prefer "Picture". :-)

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


Android Oreo Infinite Boot Loop

2017-11-01 Thread Alejandro Tejada via use-livecode
Interfaces are beautiful and dangerous:

https://www.bleepingcomputer.com/news/mobile/android-oreo-adaptive-icons-bug-sends-thousands-of-phones-into-infinite-boot-loops/

"A bug in the new "Adaptive Icons" feature introduced in Android Oreo has
sent thousands of phones into infinite boot loops, forcing some users to
reset their devices to factory settings, causing users to lose data along
the way."

"The bug first manifested itself when the developer of the Swipe for
Facebook Android app accidentally renamed the foreground image of his
adaptive icon with the same name as this XML file (ic_launcher_main.png and
ic_launcher_main.xml)."

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


The Shrinking size of animated gif

2017-10-30 Thread Alejandro Tejada via use-livecode
Hi All,

Could you verify if always that we convert
an animaated gif in a series of png images
the resulting images are always smaller
than the original animated gif?

Here is the recipe:

1) Create a new stack

2) create a button and paste this script
into the button: (check for broken lines
in the mail list server)


on mouseUp

-- first, delete all previous images
   repeat with i = the number of controls of this card down to 1
  if word 1 of the long  name of control i of this card is "image" then
delete control i of this card
   end repeat

   answer file "Choose an animated gif..."
   import paint from file it
   try
  put the framecount of img 1 into k
  repeat with m = 1 to k
 set the currentframe of img 1 to m
 create image
 set the width of it to the width of img 1
 set the height of it to the height of img 1
 set the imagedata of it to the imagedata of img 1
 set the alphadata of it to the alphadata of img 1
  end repeat

  repeat with i = 1 to the number of controls of this card
 put the long name of control i of this card into q
 if word 1 of q is "image" then
put the size of q & comma after n
 end if
  end repeat

  delete last char of n -- a comma
  put item 1 of n into tAnimatedGifSize
  delete item 1 of n
  put sum(n) into tPngImagesSize

  if tAnimatedGifSize > tPngImagesSize then
 put "Animated gif is " & (tAnimatedGifSize - tPngImagesSize) & "
bytes larger than png images"
  else
 -- sum of sizes of png images is larger
 -- than size of animated gif
 put "Png images are " & (tPngImagesSize - tAnimatedGifSize) & "
bytes larger than animated gif"
  end if
   end try
end mouseUp



3) Click the button and import an animated gif

Post your results in this thread,
Thanks a lot in advance!

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


LiveCode Windows Applications on Ubuntu

2017-10-25 Thread Alejandro Tejada via use-livecode
Hi All,

Recently, I was running a few LiveCode Windows applications in Ubuntu
(using Wine) and found that all of them run really well.

Do you have some advice and caveats for creating and using LiveCode Windows
applications that runs fine under Wine in Ubuntu or any other Linux
distribution?

Thanks in advance!

Al
___
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: Interview wtth inventor of hypercard Bill Atkinson

2017-10-20 Thread Alejandro Tejada via use-livecode
By the way, according to this article, we already knew
which could be the next breakthrough in technological
progress... but, we don't know who will pour their blood,
sweat and tears to build and sell it to the people.

https://zurb.com/blog/the-next-big-innovation-it-s-already-10-o


On Fri, Oct 20, 2017 at 2:20 PM, Alejandro Tejada 
wrote:

> Hi All,
>
> Being English my second language, frequently I have to
> read again (and reread some time after) many of the
> messages that I post in the mail list and in the forum.
>
> In the forum, we could simply edit, reedit and edit again
> any message until it means what we meant... but in the
> mail list that is not possible.
>
> After reading again my message about the origin of HyperCard,
> I found that it's easy, very easy, to understand that in my
> message I am dismissing Bill Atkinson's breakthrough as
> an intentional copy of previous works.
>
> That was NOT my intention. If Bill Atkinson says the he
> invented HyperCard under the effects of LSD, then we have
> to believe him... but when you read about any topic, it's logical
> and necessary to learn and analyze other people's opinions.
>
> I already written about Walter Cooke and Paul Helckel opinions,
> so here is my own opinion:
>
> HyperCard was so successful as an innovative breakthrough
> because it followed the natural path of technological
> progress. Hypercard was the next step in
> computer advancement.
>
> Who is credited with the conceptual foundation of HyperText?
> Vannevar Bush with his description of the "Memex":
> http://www.archivejournal.net/notes/as-we-may-now-think/
>
> While Vannever Bush described a mechanical device,
> electronic engineers where already creating the foundations
> of computer science and demonstrating that numbers could
> represent and store texts, images and sounds:
> http://royal.pingdom.com/2008/04/08/the-history-of-computer-
> data-storage-in-pictures/
>
> After the creation of text-only hypertext systems,
> https://en.wikipedia.org/wiki/Hypertext
> Which was the next logical step in technological
> progress?
>
> The creation of an Image and Text hypertext system.
> On Macintosh, it's name was HyperCard.
>
> Al
>
>
>
>
___
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


Interview wtth inventor of hypercard Bill Atkinson

2017-10-20 Thread Alejandro Tejada via use-livecode
Hi All,

Being English my second language, frequently I have to
read again (and reread some time after) many of the
messages that I post in the mail list and in the forum.

In the forum, we could simply edit, reedit and edit again
any message until it means what we meant... but in the
mail list that is not possible.

After reading again my message about the origin of HyperCard,
I found that it's easy, very easy, to understand that in my
message I am dismissing Bill Atkinson's breakthrough as
an intentional copy of previous works.

That was NOT my intention. If Bill Atkinson says the he
invented HyperCard under the effects of LSD, then we have
to believe him... but when you read about any topic, it's logical
and necessary to learn and analyze other people's opinions.

I already written about Walter Cooke and Paul Helckel opinions,
so here is my own opinion:

HyperCard was so successful as an innovative breakthrough
because it followed the natural path of technological
progress. Hypercard was the next step in
computer advancement.

Who is credited with the conceptual foundation of HyperText?
Vannevar Bush with his description of the "Memex":
http://www.archivejournal.net/notes/as-we-may-now-think/

While Vannever Bush described a mechanical device,
electronic engineers where already creating the foundations
of computer science and demonstrating that numbers could
represent and store texts, images and sounds:
http://royal.pingdom.com/2008/04/08/the-history-of-computer-data-storage-in-pictures/

After the creation of text-only hypertext systems,
https://en.wikipedia.org/wiki/Hypertext
Which was the next logical step in technological
progress?

The creation of an Image and Text hypertext system.
On Macintosh, it's name was HyperCard.

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


Atkinson dither algorithm

2017-10-19 Thread Alejandro Tejada via use-livecode
Tom Glod wrote:
> wow! my brain hurts.

Still pending:
1) creating a command line application
2) compiling an external
3) building a widget

In the forum thread, Hermann already demonstrated
how to apply this algorithm using Javascript within
the browser widget.

But creating each one of these would be topic
for another thread! :-)

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


Interview wtth inventor of hypercard Bill Atkinson

2017-10-19 Thread Alejandro Tejada via use-livecode
Tom Glod wrote:
> Here is a great interview with Bill. in which he reveals 
> among other things.. that when he invented Hypercard he was 

If you ask Walter Cooke, he answers:

"I too miss HyperCard, but I also used Xerox's Notecards software BEFORE
Bill invented Apple's version for the Macintosh.

Google "Xerox Notecards" to read some history of where the concept and OO
implementation originated. Poor Xerox - they invented so much but couldn't
market their way out of a wet paper bag. A lot of educators were very
impressed with Notecards and wanted at their universities real bad. The
military loved it for buiding real-time visual simulations. I wanted to use
it for building bond trading software. Unfortunately Xerox workstation cost
$30K apiece at that time!

I remember arguing with Andy Hertzfeld at the '87 MacWorld Expo where
HyperCard was announced and demoed on the sexy new Mac II. He was adamant
that HyperCard bore no resemblance to Notecards, but grudgingly agreed that
he HAD seen Notecards at Xerox and knew what it was. Hmmm.."

https://apple.slashdot.org/story/04/03/31/1550216/hypercard-gone-for-good

BUT if you ask Paul Heckel, he would say:
"Zoomracks was first..."

http://www.atarimagazines.com/startv2n3/hypercard.html

And now that I remember Paul Heckel, read about his winning lawsuit against
Apple for patent-infringement:
http://www.nytimes.com/1989/12/20/business/apple-is-said-to-settle-suit.html

Al
___
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] Myst and The Manhole

2017-10-19 Thread Alejandro Tejada via use-livecode
I remember Cosmic Osmo. :D

Still today, this game is available from Steam gaming platform:
http://store.steampowered.com/app/63620/Cosmic_Osmo_and_the_Worlds_Beyond_the_Mackerel/

and Archive.org running within the web browser in
an emulated Mac Plus:
https://archive.org/details/CosmicOsmoMacintosh

Al

On Wed, Oct 18, 2017 at 8:46 PM, Alejandro Tejada 
wrote:

> Hi All,
>
> Before I catch some well deserved hours of sleep,
> I have to leave here, this video and article from
> a few weeks earlier:
>
> https://www.youtube.com/watch?v=hOGZNG8jA7Q
>
> http://www.businessinsider.com/photos-psychedelic-
> funhouse-george-rr-martin-2017-9
>
> Why this interactive art project remembers me Cyan's games:
> Myst and The Manhole?
>
> Read your comments tomorrow. :-D
>
> Al
>
___
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] Myst and The Manhole

2017-10-18 Thread Alejandro Tejada via use-livecode
Hi All,

Before I catch some well deserved hours of sleep,
I have to leave here, this video and article from
a few weeks earlier:

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

http://www.businessinsider.com/photos-psychedelic-funhouse-george-rr-martin-2017-9

Why this interactive art project remembers me Cyan's games:
Myst and The Manhole?

Read your comments tomorrow. :-D

Al
___
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: Clipboard pastes into single spreadsheet cell

2017-10-18 Thread Alejandro Tejada via use-livecode
I suspect that Unicode is working behind the scenes
to produce the result that Paul is getting in his own
MacOSX setup.

Al

On Wed, Oct 18, 2017 at 9:37 AM, Alejandro Tejada 
wrote:

> Hi Paul,
>
> Paste this in a button (or the message box) and
> post back your results.
>
> Results after copying data from Livecode
> Results after pasting in BBEdit
> Results after copying text from BBEdit
>
> put base64encode(md5digest(the clipboarddata["text"])) & cr & the
> clipboarddata["text"]
>
> Al
>
>
___
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


Clipboard pastes into single spreadsheet cell

2017-10-18 Thread Alejandro Tejada via use-livecode
Hi Paul,

Paste this in a button (or the message box) and
post back your results.

Results after copying data from Livecode
Results after pasting in BBEdit
Results after copying text from BBEdit

put base64encode(md5digest(the clipboarddata["text"])) & cr & the
clipboarddata["text"]

Al
___
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 Toxoplasmosis (was : Send "rawKeyUp")

2017-10-17 Thread Alejandro Tejada via use-livecode
Hi Jacque,

Jacqueline Landman Gay wrote:
> There are several downloads in that thread.
> Which one is best?

I am using Mark's version downloaded from his dropbox
folder, probably it's similar to this version:
http://forums.livecode.com/viewtopic.php?f=93=27811=30#p154437

By the way, in the forum I posted a LC8 stack with a clock that uses
this widget as rotating hands:

https://forums.livecode.com/viewtopic.php?f=10=2

Al
___
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 Toxoplasmosis (was : Send "rawKeyUp")

2017-10-17 Thread Alejandro Tejada via use-livecode
By the way, now that we are talking off the record
about off-topic themes, let me ask a question:

Richmond, Have you installed SVG Multicolor
widget?

This widget could help a lot with your current
projects. Please, download and install from this
forum thread:
http://forums.livecode.com/viewtopic.php?f=93=27811

Al
___
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: Atkinson dither algorithm

2017-10-17 Thread Alejandro Tejada via use-livecode
Hermann, your script version won the
LiveCode Script speed contest! :-)

I feel humbled and grateful that many of you
have taken time to look at this. Although an
image dithering algorithm seems trivial an
barely useful, the fact is that in this thread,
we have pushed Livecode script almost to
it's speed limits.

After we reach Livecode scripts natural limits,
the next step is
1) creating a command line application, or
2) building an external, or (like Hermann demonstrated)
3) using Javascript within the browser widget or
4) the next frontier: Livecode widgets.

This platform does not lack options to get the job
done. It just require time and expertise to select
the best options for each phase of a particular project.

Later today, after I finished testing an application in
different computers, will update the forum final's
stack version with Alex and Hermann scripts.

Thanks a lot again! :-D

Al
___
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: Atkinson dither algorithm

2017-10-16 Thread Alejandro Tejada via use-livecode
Hi Alex,

This is Amazing! :-D
Alex, your function saved another 34%
in the running time of this handler!

In retrospect, only now it seems very obvious
that merging two functions could save more
running time in this handler... but
I just keep wondering: How far can we go
merging functions to save milliseconds
in our LiveCode handlers? This is an interesting
question that could be answered exactly
in milliseconds.

By the way, I have to add a try structure to dismiss
an error message:

Function ImgToChToArrayNum2 tImageData, tChannel
-- extract a single channel's data, and convert
-- to sequential array of numbers by Alex Tweedly

put tImageData into tempVar
delete byte 1 to tChannel of tempVar
put empty into tResult
put 0 into tCounter
repeat with i = 1 to the number of bytes in tempVar step 4
   add 1 to tCounter
   try
  put bytetonum(byte i of tempVar) into tResult[tCounter]
  end try
end repeat
return tResult
end ImgTochToArrayNum2

Alex Tweedly wrote:
> I haven't tackled the second half (i.e. the actual dithering bit yet -
> maybe tomorrow).

Excellent! Thanks a lot for your time, Alex.

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


Send "rawKeyUp"

2017-10-16 Thread Alejandro Tejada via use-livecode
Hi Bob,

Bob Sneidar wrote:
> Nowhere in the symptoms is any description
> of mental disorder.

In fact, it does affect the behavior of SOME people. Take a look:
https://www.salon.com/2015/03/27/the_parasite_made_me_do_it_how_a_common_infection_could_manipulate_our_behavior_partner/

In this blog, you could keep up to date about more recent
developments and research about this parasite:

http://toxoplasmaparasite.blogspot.com/

And this is quickly going off-topic. If you want, write me
off list to continue this interesting conversation. I will tell
you what the parasitologist Jaroslav Flegr told me when
I write to him in his facebook account...

Al

___
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


Send "rawKeyUp"

2017-10-16 Thread Alejandro Tejada via use-livecode
Hi Richmond,

Richmond wrote:
> My experience is that adolescents have considerably
> less foibles than adults; merely that adolescents are
> honest enough to admit them openingly.

> However, what I meant was labelling a program with
> "don't do this" would produce the opposite
> with adolescents.

In my experience, adult people with toxoplasmosis
act exactly in the same way... :-(

If you say them: "Don't to this or that because something
worse would happen for sure" then...
these persons would do exactly this and that, not
because they needed to, but just to prove that you
are wrong... :'-(

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


Atkinson dither algorithm

2017-10-16 Thread Alejandro Tejada via use-livecode
Hi Bob,

Bob Sneidar wrote:
> I didn't post any code I don't think, but I will certainly
> take some credit for having done so! ;-)

In fact, you are not late! :-D
Please, take a look at the script of
Atkinson Dither 04 (Fastest Version)
and make it faster.

How would you do this?

Making the Functions Private (so they are not
available in the message path)?

Converting some variables to constants?
(like the black and white pixels and many
other variables that do not change at all
inside the handler)

The main difference between V04 and V03
of this handler is a single modification:

An arithmetic operation like ADD:
> add (tDifusionError) to tArray2[tNewKey]
replaced all instances of PUT
variable + variable into array
like in this line:
> put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey]

This single change speed the handler (in my own setup)
by a whopping 33%. Just replacing "put" with "add"

Please take a look! :-)
(Download only the stack at the end of this thread)
https://forums.livecode.com/viewtopic.php?f=10=159173#p159173

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


In GRAB control

2017-10-15 Thread Alejandro Tejada via use-livecode
Hi Richmond,

Tell me if this recipe works in your own setup:

1) Import an image
2) Create a small rectangle graphic with no fill
(rectangles without fill is the default style)
3) Paste this script into the image:

local tLocation, OriginalXposition, OriginalYposition

on mouseDown
   put  the loc of me into tLocation
   put item 1 of tLocation into OriginalXposition
   put item 2 of tLocation into OriginalYposition
   set the rect of grc 1 to the rect of me
   grab me
end mouseDown

on mouseup
   set the rect of grc 1 to "10,10,30,30"
end mouseup


on mousemove
 put the loc of me into tNewLocation
 put item 1 of tNewLocation into tx
 put item 2 of tNewLocation into ty

   switch

  case ty < OriginalYposition and tx < OriginalXposition
 put "Moving Up and Left"
 break
  case ty > OriginalYposition and tx < OriginalXposition
 put "Moving Down and Left"
 break

  case ty < OriginalYposition and tx > OriginalXposition
 put "Moving Up and Right"
 break
  case ty > OriginalYposition and tx > OriginalXposition
 put "Moving Down and Right"
 break

  case ty < OriginalYposition and tx = OriginalXposition
 put "Moving Up"
 break
  case ty > OriginalYposition and tx = OriginalXposition
 put "Moving Down"
 break

  case tx < OriginalXposition and ty = OriginalYposition
 put "Moving Left"
 break
  case tx > OriginalXposition and ty = OriginalYposition
 put "Moving Right"
 break

   end switch

end mousemove

By the way, Are you using Peter Thirkell SVG Multicolor widget
for the stacks of your classes?

Al
___
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: Atkinson dither algorithm

2017-10-14 Thread Alejandro Tejada via use-livecode
Hi All,

This forum message contains the final version of this stack.
It includes a Color version of this algorithm.

https://forums.livecode.com/viewtopic.php?f=10=159173#p159173

Thanks again to Malte Brill, Richard Gaskin, Hermann Hoch, Mark Waddingham,
Peter Reid, Ben Rubinstein, Bob Sneidar and Lagi Pittas for posting scripts
and
writing ideas to improve this handler.

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


Rotating widgets

2017-10-14 Thread Alejandro Tejada via use-livecode
Hi All,

Effectively, SVG Icon widget grows and shrink
when rotating, but Peter Thirkell SVG Multicolor
widget does not. This Multicolor svg widget
only clips it's content and stays the same size.

Richmond, Have you installed SVG Multicolor
widget?

Download and install from this forum thread:
http://forums.livecode.com/viewtopic.php?f=93=27811

Jacque wrote:
> Another disadvantage of using a rotated SVG is that
> is will resize to fill its rectangle when rotating.
> The clock hand will change its size on each rotation.
___
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


Atkinson dither algorithm & 'for each' loop

2017-10-13 Thread Alejandro Tejada via use-livecode
After reading Mark Waddingham explanation, now i am using a sequential
ordered array for this handler. Check this much shorter and faster version:

on mouseUp

   put the millisecs into startTime
   set the cursor to busy

   put the alphadata of img "Image" into tAlphaData
   put the imagedata of img "Image" into tVar
   put the width of img "Image" into tImageWidth
   put the height of img "Image" into tImageHeight
   put the number of chars of tVar into tImgPixels

   if existence(sb the "ThresholdDither") then
  put thumbPos of sb the "ThresholdDither" into tThreshold
   else
  put 127 into tThreshold
   end if

   put numtochar(0) & numtochar(255) & numtochar(255) & numtochar(255) into
tWP
   put numtochar(0) & numtochar(0) & numtochar(0) & numtochar(0) into tBP
   put ((tImageWidth * tImageHeight) - tImageWidth) into tHW

   put ImgToArrayNum(ImgToCh(tVar,1)) into tArray2

   put 0 into tPixelCounter
   put tImgPixels/4 into tPixels
   repeat tPixels

  add 1 to tPixelCounter
  put tPixelCounter into tPixelPosition

  put tArray2[tPixelCounter] into tOldPixelValue

  if round(tOldPixelValue) <= tThreshold then
 put 0 into tNewPixelValue
 put tBP after fldhexa8
 else
 put 255 into tNewPixelValue
 put tWP after fldhexa8
 end if

  put (tOldPixelValue - tNewPixelValue)/8 into tDifusionError

  -- Atkinson dither add the diffusion error
  -- to 6 adjacent pixels
  -- x o o
  --  o o o
  -- o

  if tPixelPosition mod tImageWidth <> 0 then
 -- pixel position is less than image width
 put tPixelCounter + 1 into tNewKey
 put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey]

 if tPixelPosition mod (tImageWidth - 1) <> 0 then
-- pixel position is less than image width - 1
put tPixelCounter + 2 into tNewKey
put tDifusionError + tArray2[tNewKey] into tArray2[tNewKey]
 end if
  end if

  if tPixelPosition <= tHW then -- ((tImageWidth * tImageHeight) -
tImageWidth)
 -- pixel position is not in the last line of the image

 if tPixelPosition mod tImageWidth <> 1 then
-- pixel position is not the first pixel in any line of the
image
put (tPixelPosition + tImageWidth - 1) into tNewKey
put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey]
 end if

 put (tPixelPosition + tImageWidth) into tNewKey
 put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey]

 if tPixelPosition mod tImageWidth <> 0 then
-- pixel position is less than image width
put (tPixelPosition + tImageWidth + 1) into tNewKey
put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey]
 end if

 if tPixelPosition <= (tImageWidth * tImageHeight) - (tImageWidth *
2) then
-- pixel position is less than image width - 1
put (tPixelPosition + tImageWidth * 2) into tNewKey
put (tDifusionError) + tArray2[tNewKey] into tArray2[tNewKey]
 end if
  end if

   end repeat

   create img
   set the height of it to the height of img "Image"
   set the width of it to the width of img "Image"
   set the imagedata of it to fldhexa8
   set the alphaData of it to tAlphaData

   put the millisecs - startTime && "milliseconds to create Atkinson Dither
from image's single channel"

end mouseUp

Function ImgToArrayNum vImageData
   -- This function converts binary imagedata to
   -- integer numbers from 0 to 255 into
   -- an array.
   -- vImageData is a single color channel
   -- stored as binary imagedata.

   put empty into tResult
   put 0 into tCounter
   repeat for each char K in vImageData
  add 1 to tCounter
  put chartonum(K) into tResult[tCounter]
   end repeat
   return tResult
end ImgToArrayNum

Function ImgToCh tImageData tChannel
   -- This function returns binary data.
   --
   -- tImageData is unmodified original imagedata of image
   -- with 4 chars for each pixel: 1 alphadata and 3 color channels.
   --
   -- tChannel is a number from 1 to 3:
   -- 1 is red channel, 2 is green channel and 3 is blue channel

   put tImageData into tempVar

   delete char 1 to tChannel of tempVar
   -- the first char of the imagedata is part
   -- of the alphadata or maskdata, so when
   -- we delete char 1, the next char is part
   -- from red channel... if we delete 2 first
   -- chars, then next char is green channel
   -- if we delete 3 first chars, then we get
   -- the blue channel

  repeat until tempVar is empty
  put char 1 of tempVar after tResult
  delete char 1 to 4 of tempVar
   end repeat

   return tResult

end ImgToCh

Have a nice weekend!

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

Atkinson dither algorithm & 'for each' loop

2017-10-12 Thread Alejandro Tejada via use-livecode
Hi Hermann,

Hermann Hoch wrote:
> So all considerations to improve the LCS script are,
> TMHO, of rather theoretical value. Here are some more:
> The Atkinson algorithm uses multiples of 1/8 = 0.125 for
> the diffusion-error, the Floyd-Steinberg algorithm uses
> multiples of 1/16 = 0.0625.
> And have this in mind:
> Whenever you use numToChar(Number) in your script you
> are wrong by Number - round(Number) of the accumulated
> pixel value ...

This is correct, for this reason, in the most recent version of
this handler, I am using 2 chars to store the new pixel value.
first char is a whole number from 0 to 255 and the second
char represent a decimal part from 0 to 99.

I will test if using 5 chars for storing the new pixel value.
In this way, the new pixel could store values of
.00 that should be enough for this task...

After reading Mark's answer, I learned that using a numerical
ordered array to store pixel values could be really fast too.
This is another path to explore.

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


Atkinson dither algorithm & 'for each' loop

2017-10-12 Thread Alejandro Tejada via use-livecode
A few hours ago, I send a message to the mail list, a message that vanish
without trace. Now I am resending parts of that message. The rest of the
message is in the forum...

Peter Read wrote:
> One note of caution regarding the use of the "repeat for each" loop,
> whilst you will get a loop iteration for every value in the collection
> (fldhexa3 in your example), you are not guaranteed the order in
> which they will occur. This doesn't matter in a lot of cases but
> does matter when the sequence is significant.  In the case of your
> example I believe sequence is critical, otherwise the pixels might
> appear to be scrambled!

In my own setup, the control structure "repeat for each" is caching
the content of the working variable. This means that we could not
modify the content of this variable while the control structure is
working with it.

After reading your message, now I understand why this happens.
If developers are allowed to modify a variable used by a control
structure like "repeat for  each" then we could get unexpected
result as you describe: elements are processed in an out of order
sequence.

Ben Rubinstein wrote in response to Peter Reid:
> Are you sure? My understanding has always been that
> chunk items, e.g.
> repeat for each [ byte | char | word | item | line]  in 
> will always be sequential (indeed that's why this structure is fast)
> - it's only when dealing with hashed arrays that the sequence is
> not reliable, i.e.
> repeat for each key  in 
> repeat for each element  in 
> Do you have experience to the contrary?

As I wrote earlier in this same message, Peter could have found
some way to change the working variable in a repeat for each
control structure and the result is that elements are processed
with an out of order sequence.

By the way, after reading all comments and recommendations
about the atkinson dither algorithm, I wrote a new handler that
is a lot faster that my first handler, but the result STILL is not
visually identical to that handler.

My educated guess is that Atkinson dither algorithm requires
numbers with more than 2 numbers after the decimal point.
That is: 243.643578 instead of just 243.64
Later this week, I will try to discover the minimal number of
decimal numbers that this algorithm requires.

Please, check this new handler in the forum and suggest how to make
this faster and more precise:

https://forums.livecode.com/viewtopic.php?f=10=159078=b46bc56428cb5b0f48d2c6520c107c47#p159078

Have a nice week!

Al
___
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: Atkinson dither algorithm

2017-10-07 Thread Alejandro Tejada via use-livecode
Hi Malte,

Malte Brill wrote:
> I already posted on the forums, but for completeness also here:
> a lot can be done by replacing repeat with with repeat for each where you
can.
>
> --repeat with i = 1 to the number of words of fldhexa3
> --put 00 & word i of fldhexa3 & word i of fldhexa3 & word i of
fldhexa3 after tVar2
> --end repeat
>
> repeat for each word theWord in fldhexa3
>  put 00 & theword & theword & theword after tVar2
> end repeat

This change reduced the time in a 25%!
Wonderful. Thanks a lot Malte :-D

> I always use strict compile mode, therefore I added the needed variable
> declarations and noticed you use startTime as a variablename, which is a
> reserved keyword. That is not a good idea.  (I noticed, because I managed
to
> freeze liveCode where I fixed only half of the use of startTime. Booom.)

startTime is a property of media players, so I am surprised that
LiveCode do not warn me about this. :-o

Also, I will try others less complex and simpler dithering algorithms as
Floyd-Steinberg and Sierra Lite to measure total time differences.

http://www.tannerhelland.com/4660/dithering-eleven-algorithms-source-code/

Malte, Thanks again for taking a look and improve this code!
Have a nice weekend!

Al
___
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: Atkinson dither algorithm

2017-10-07 Thread Alejandro Tejada via use-livecode
I have posted a demo stack in the forums:
https://forums.livecode.com/viewtopic.php?f=10=29935

Have a nice weekend!
Al

On Sat, Oct 7, 2017 at 1:52 AM, Alejandro Tejada 
wrote:

> Hi All,
>
> I am stuck trying to make this code for Bill Atkinson
> dithering algorithm much more faster.
> Any ways to speed this code?
> Follow the recipe and watch out for lines broken
> by mail character length limit.
>
> Recipe:
>
> 1) Import an small image (200x200 pixels) and
> name it as "Image" (you could import a small
> transparent png or a small jpg image)
>
> 2) Optionally, create a scrollbar type slider
> with a range between 0 and 255.
> Set the name of this scrollbar as "ThresholdDither"
> and move the slider to 127 or 0 or 255.
>
> 3) Paste the following script in a button and
> click on it to run this code:
>
> on mouseUp
>
>put the millisecs into startTime
>set the cursor to busy
>
>put the alphadata of img "Image" into tAlphaData
>put the imagedata of img "Image" into tVar
>-- img "Image" could be a grayscale image
>-- where all 3 channels: Red, Green, Blue
>-- are identical or a color image where only
>-- the red channel is used
>
>delete char 1 of tVar
>-- the first char of the imagedata is part
>-- of the alphadata or maskdata
>repeat with i = 1 to length(tVar) step 4
>   put chartonum(char i of tVar) & space after fldhex
>end repeat
>delete last char of fldhex -- a space
>-- fldhex now contains a single channel of the RGB image
>-- converted to numbers between 0 and 255
>
>put the number of words of fldhex into lenghtofldhex
>put the width of img "Image" into tImageWidth
>put the height of img "Image" into tImageHeight
>
>repeat with i = 1 to lenghtofldhex step tImageWidth
>-- We need as many words per line, as pixels contains
>-- the image width (because each pixel is represented
>-- by a word and this word is number between 0 and 255)
>
>put word i to ( i + ((tImageWidth) - 1)) of fldhex & cr after fldhexa2
>end repeat
>
>put empty into fldhex
>delete last char of fldhexa2
>-- deleting the last cr character
>
>put the number of lines of fldhexa2 into sYsize
>put the number of words of line 1 of fldhexa2 into sXsize
>
>// get the scrollbar value
>-- tThreshold is a value between 0 and 255
>if existence(sb the "ThresholdDither") then
>put thumbPos of sb the "ThresholdDither" into tThreshold
>else
>put 127 into tThreshold
>end if
>
>repeat with tY = 1 to sYsize
>   repeat with tX = 1 to sXsize
>
>  put tX into tPixelPosition
>
>  put word (tPixelPosition) of line tY of fldhexa2 into
> tOldPixelValue
>
>  if round(tOldPixelValue) <= tThreshold then
> put 0 into tNewPixelValue
>  else
> put 255 into tNewPixelValue
>  end if
>
>  put (tOldPixelValue - tNewPixelValue)/8 into tDifusionError
>
>  -- Atkinson dither add the diffusion error
>  -- to 6 adjacent pixels
>  -- x o o
>  --  o o o
>  -- o
>
>  put tNewPixelValue & space after fldhexa3
>
>
> if tPixelPosition < sXsize then
>put tDifusionError + word (tPixelPosition + 1) of line tY
> of fldhexa2 into word (tPixelPosition + 1) of line tY of fldhexa2
>
>
>   if tPixelPosition < (sXsize-1) then
>   put tDifusionError + word (tPixelPosition + 2) of line
> tY of fldhexa2 into word (tPixelPosition + 2) of line tY of fldhexa2
>end if
>
>
> end if
>
>
> if tY < sYsize then
>
>
>if tPixelPosition > 1 then
>   put tDifusionError + word (tPixelPosition - 1) of line
> tY + 1 of fldhexa2 into word (tPixelPosition - 1) of line tY + 1 of fldhexa2
>end if
>
>
>put tDifusionError + word (tPixelPosition) of line tY + 1
> of fldhexa2 into word (tPixelPosition) of line tY + 1 of fldhexa2
>
>
>if tPixelPosition < sXsize then
>   put tDifusionError + word (tPixelPosition + 1)  of line
> tY + 1 of fldhexa2 into word (tPixelPosition + 1) of line tY + 1 of fldhexa2
>end if
>
>
>if tY < (sYsize - 1) then
>   put tDifusionError + word (tPixelPosition) of line tY +
> 2 of fldhexa2 into word (tPixelPosition) of line tY + 2 of fldhexa2
>end if
>
>
> end if
>
>   end repeat
>end repeat
>
>replace "0" with "00" in fldhexa3
>replace "255" with "FF" in fldhexa3
>
>repeat with i = 1 to the number of words of fldhexa3
>   put 00 & word i of fldhexa3 & word i of fldhexa3 & word i of
> fldhexa3 after tVar2
>end repeat
>put binaryEncode("H*",tVar2) into tVar3
>
>create img
>set the height of it to the height of img "Image"
>set the width of it to the width of img 

Atkinson dither algorithm

2017-10-06 Thread Alejandro Tejada via use-livecode
Hi All,

I am stuck trying to make this code for Bill Atkinson
dithering algorithm much more faster.
Any ways to speed this code?
Follow the recipe and watch out for lines broken
by mail character length limit.

Recipe:

1) Import an small image (200x200 pixels) and
name it as "Image" (you could import a small
transparent png or a small jpg image)

2) Optionally, create a scrollbar type slider
with a range between 0 and 255.
Set the name of this scrollbar as "ThresholdDither"
and move the slider to 127 or 0 or 255.

3) Paste the following script in a button and
click on it to run this code:

on mouseUp

   put the millisecs into startTime
   set the cursor to busy

   put the alphadata of img "Image" into tAlphaData
   put the imagedata of img "Image" into tVar
   -- img "Image" could be a grayscale image
   -- where all 3 channels: Red, Green, Blue
   -- are identical or a color image where only
   -- the red channel is used

   delete char 1 of tVar
   -- the first char of the imagedata is part
   -- of the alphadata or maskdata
   repeat with i = 1 to length(tVar) step 4
  put chartonum(char i of tVar) & space after fldhex
   end repeat
   delete last char of fldhex -- a space
   -- fldhex now contains a single channel of the RGB image
   -- converted to numbers between 0 and 255

   put the number of words of fldhex into lenghtofldhex
   put the width of img "Image" into tImageWidth
   put the height of img "Image" into tImageHeight

   repeat with i = 1 to lenghtofldhex step tImageWidth
   -- We need as many words per line, as pixels contains
   -- the image width (because each pixel is represented
   -- by a word and this word is number between 0 and 255)

   put word i to ( i + ((tImageWidth) - 1)) of fldhex & cr after fldhexa2
   end repeat

   put empty into fldhex
   delete last char of fldhexa2
   -- deleting the last cr character

   put the number of lines of fldhexa2 into sYsize
   put the number of words of line 1 of fldhexa2 into sXsize

   // get the scrollbar value
   -- tThreshold is a value between 0 and 255
   if existence(sb the "ThresholdDither") then
   put thumbPos of sb the "ThresholdDither" into tThreshold
   else
   put 127 into tThreshold
   end if

   repeat with tY = 1 to sYsize
  repeat with tX = 1 to sXsize

 put tX into tPixelPosition

 put word (tPixelPosition) of line tY of fldhexa2 into
tOldPixelValue

 if round(tOldPixelValue) <= tThreshold then
put 0 into tNewPixelValue
 else
put 255 into tNewPixelValue
 end if

 put (tOldPixelValue - tNewPixelValue)/8 into tDifusionError

 -- Atkinson dither add the diffusion error
 -- to 6 adjacent pixels
 -- x o o
 --  o o o
 -- o

 put tNewPixelValue & space after fldhexa3


if tPixelPosition < sXsize then
   put tDifusionError + word (tPixelPosition + 1) of line tY of
fldhexa2 into word (tPixelPosition + 1) of line tY of fldhexa2


  if tPixelPosition < (sXsize-1) then
  put tDifusionError + word (tPixelPosition + 2) of line tY
of fldhexa2 into word (tPixelPosition + 2) of line tY of fldhexa2
   end if


end if


if tY < sYsize then


   if tPixelPosition > 1 then
  put tDifusionError + word (tPixelPosition - 1) of line tY
+ 1 of fldhexa2 into word (tPixelPosition - 1) of line tY + 1 of fldhexa2
   end if


   put tDifusionError + word (tPixelPosition) of line tY + 1 of
fldhexa2 into word (tPixelPosition) of line tY + 1 of fldhexa2


   if tPixelPosition < sXsize then
  put tDifusionError + word (tPixelPosition + 1)  of line
tY + 1 of fldhexa2 into word (tPixelPosition + 1) of line tY + 1 of fldhexa2
   end if


   if tY < (sYsize - 1) then
  put tDifusionError + word (tPixelPosition) of line tY + 2
of fldhexa2 into word (tPixelPosition) of line tY + 2 of fldhexa2
   end if


end if

  end repeat
   end repeat

   replace "0" with "00" in fldhexa3
   replace "255" with "FF" in fldhexa3

   repeat with i = 1 to the number of words of fldhexa3
  put 00 & word i of fldhexa3 & word i of fldhexa3 & word i of fldhexa3
after tVar2
   end repeat
   put binaryEncode("H*",tVar2) into tVar3

   create img
   set the height of it to the height of img "Image"
   set the width of it to the width of img "Image"
   set the imagedata of it to tVar3
   set the alphaData of it to tAlphaData

   put the millisecs - startTime && "milliseconds to create Atkinson Dither"

end mouseUp

Thanks in advance!
Al
___
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] Alternative to Inkscape

2017-10-04 Thread Alejandro Tejada via use-livecode
Hi Richard,

Richard Gaskin wrote:
> The difference with open source is that if it's really holding you back
> you can rally the resources to get it done yourself right now, something
> that would be impossible with any proprietary code base.

In my humble opinion, after 12 years it has to be easier
to convince WC3 to change the SVG standard and adopt
Inkscape bottomleft page origin... :D

Al

On Wed, Oct 4, 2017 at 7:44 PM, Alejandro Tejada 
wrote:
>
> Hi Ryan,
>
> I use Xara since many, many years ago. Their technical support is
excellent and rarely (if ever) I had a problem with their application
> except a rare bug that I found, reported and they fixed.
>
> Recently, I am testing their online design application:
> https://cloud.ixara.com/
>
> Everyone could test this online design application using their Google,
Facebook or Microsoft Live accounts.
>
> Al
>
> Rick Harrison wrote:
>
> > Did you try GIMP?
> > https://www.gimp.org
> > Will it do what you want it to do with SVG files?
___
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: 60 years of the Space Age

2017-10-04 Thread Alejandro Tejada via use-livecode
And Gmail allowed to send my previous message
without subject and no warnings... precisely
in the day (October 4) where they announce
that each of their products now have Artificial
Intelligence Algorithms incorporated... :-o

On Wed, Oct 4, 2017 at 9:22 PM, Alejandro Tejada 
wrote:

> Mark Wieder wrote:
> > I am really sorry to have started this thread
>
> Where else could we have learned about the messageMessages
> global property and messageHandled message (useful for
> logging and debugging Livecode apps?
>
> This mail list, like our own life, allows us to focus on our
> immediate projects or our long term interests. We can
> focus on the foreground or the background, focus on the
> melody or the accompaniment... and these could change
> places depending of our personal point of view.
>
> Al
>
___
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


60 years of the Space Age

2017-10-04 Thread Alejandro Tejada via use-livecode
Mark Wieder wrote:
> I am really sorry to have started this thread

Where else could we have learned about the messageMessages
global property and messageHandled message (useful for
logging and debugging Livecode apps?

This mail list, like our own life, allows us to focus on our
immediate projects or our long term interests. We can
focus on the foreground or the background, focus on the
melody or the accompaniment... and these could change
places depending of our personal point of view.

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


[no subject]

2017-10-04 Thread Alejandro Tejada via use-livecode
Mark Wieder wrote:
> I am really sorry to have started this thread

Where else could we learned about the messageMessages
global property and messageHandled message (useful for
logging and debugging Livecode apps?

This mail list, like our own life, allows us to focus on our
immediate projects or our long term interests. We can
focus on the foreground or the background, focus on the
melody or the accompaniment... and these could change
places depending of our personal point of view.

Al
___
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] Alternative to Inkscape

2017-10-04 Thread Alejandro Tejada via use-livecode
Hi Ryan,

I use Xara since many, many years ago. Their technical support is excellent
and rarely (if ever) I had a problem with their application
except a rare bug that I found, reported and they fixed.

Recently, I am testing their online design application:
https://cloud.ixara.com/

Everyone could test this online design application using their Google,
Facebook or Microsoft Live accounts.

Al

Rick Harrison wrote:

> Did you try GIMP?
> https://www.gimp.org
> Will it do what you want it to do with SVG files?
___
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] Alternative to Inkscape

2017-10-04 Thread Alejandro Tejada via use-livecode
After reading again Bug Reports about Inkscape page origin, I noticed that
I was wrong.

That Bug Report have existed for more than 12 years so... read by yourself:

https://bugs.launchpad.net/inkscape/+bug/170049
https://bugs.launchpad.net/inkscape/+bug/364036

Al


On Wed, Oct 4, 2017 at 4:30 PM, Alejandro Tejada 
wrote:

> Include SVG-Edit and current versions of these editors:
> https://www.sitepoint.com/6-free-web-based-svg-editors-compared/
>
> I just keep wondering why nobody have forked Inkscape
> and included the most requested feature: a plain simple
> palette that translate page coordinates from bottomleft
> to the topleft of the page.
>
> For more than 10 years, designers have been asking
> Inkscape developers that they should move the page
> origin from bottomleft to topleft (as svg specification
> requires). In fact, someone posted a palette that
> translate the page origin coordinates from bottomleft
> to topleft (without changing or breaking any other
> internal code) but this was quickly shutdown by
> project maintainers.
>
> Probably this explains the glacial adoption pace
> of Inkscape among designers and why SVG 2.0
> specification have been stalled for years and face
> the risk of not being approved with all features
> requested (many of them already in use)
>
> http://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support
>
> Here is the main reason:
> "there is not enough svg content using those svg features"
>
> While Macromedia and Adobe support pushed Flash content
> presence to an incredible 29% (currently 6% among websites)
>
> https://www.fastcompany.com/3049920/the-agonizingly-slow-
> decline-of-adobe-flash-player
>
> https://w3techs.com/technologies/details/cp-flash/all/all
>
> SVG is only now that is reaching 4.5%
> https://w3techs.com/technologies/details/im-svg/all/all
>
> That is what I call "The Reluctant Acceptance of SVG"
>
> Maybe in the near future,
> 1) Inkscape developers could fulfill with more frequency
> the most common and reasonable requests of their
> own users.
> 2) SVG new features are used more frequently and
> enough content is posted online using those features.
> 3) Better designed tools appear than allows to use these
> new features without having to use so many workarounds
> and acrobatics...
>  (for example: https://stackoverflow.com/questions/14684846/flattening-
> svg-matrix-transforms-in-inkscape )
>
> Al
>
___
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] Alternative to Inkscape

2017-10-04 Thread Alejandro Tejada via use-livecode
Include SVG-Edit and current versions of these editors:
https://www.sitepoint.com/6-free-web-based-svg-editors-compared/

I just keep wondering why nobody have forked Inkscape
and included the most requested feature: a plain simple
palette that translate page coordinates from bottomleft
to the topleft of the page.

For more than 10 years, designers have been asking
Inkscape developers that they should move the page
origin from bottomleft to topleft (as svg specification
requires). In fact, someone posted a palette that
translate the page origin coordinates from bottomleft
to topleft (without changing or breaking any other
internal code) but this was quickly shutdown by
project maintainers.

Probably this explains the glacial adoption pace
of Inkscape among designers and why SVG 2.0
specification have been stalled for years and face
the risk of not being approved with all features
requested (many of them already in use)

http://libregraphicsworld.org/blog/entry/is-svg-2-really-on-life-support

Here is the main reason:
"there is not enough svg content using those svg features"

While Macromedia and Adobe support pushed Flash content
presence to an incredible 29% (currently 6% among websites)

https://www.fastcompany.com/3049920/the-agonizingly-slow-decline-of-adobe-flash-player

https://w3techs.com/technologies/details/cp-flash/all/all

SVG is only now that is reaching 4.5%
https://w3techs.com/technologies/details/im-svg/all/all

That is what I call "The Reluctant Acceptance of SVG"

Maybe in the near future,
1) Inkscape developers could fulfill with more frequency
the most common and reasonable requests of their
own users.
2) SVG new features are used more frequently and
enough content is posted online using those features.
3) Better designed tools appear than allows to use these
new features without having to use so many workarounds
and acrobatics...
 (for example:
https://stackoverflow.com/questions/14684846/flattening-svg-matrix-transforms-in-inkscape
)

Al
___
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: not really OT: The Coming Software Apocalypse

2017-10-03 Thread Alejandro Tejada via use-livecode
Richard Gaskin wrote:
> They're still undocumented, designed for IDE use
> and subject to change.

Ok, that explains why Google could not find
any information about this.

Maybe this info could help developers that are having
trouble with their mobile apps. Could we save our log
files and sent them automatically to the app developer
in a mobile app? That could be really helpful.
Really helpful.

Al
___
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: not really OT: The Coming Software Apocalypse

2017-10-03 Thread Alejandro Tejada via use-livecode
Hi Richard,

Richard Gaskin wrote:
> I've found logging useful.  Turn on the messageMessages
> and write all messageHandled messages to a file with the
> executionContexts - verbose, but when information is lacking
> better to have too much than too little.

Great to know! Thanks for this information.
Where could I find more details about messageHandled
and messageMessage? Google found nothing
about these LiveCode messages.

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


not really OT: The Coming Software Apocalypse

2017-10-03 Thread Alejandro Tejada via use-livecode
Ralph wrote:
> This is possible because all current consumer OSs
> have the same problems outlined in the article.

Deep truth, but... Are you sure that hardware is not to blame
for many of these unexplained bugs?

Intermittent hardware failures, due to faulty soldering or
overheating (etc...) are uncommon but possible...

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


not really OT: The Coming Software Apocalypse

2017-10-03 Thread Alejandro Tejada via use-livecode
Hi All,

Lagi Pittas wrote:
> That's why I said the Function part would be good -
> basically a LIVE interactive debugger - the coding
> to do all the rest in a REAL programming language
> rather than an animation studio or a testbed is way
> out of my league - But given time and money anything
> is possible...

Does exists a programming tool that provides the developer
with a complete (but optional) battery of tests that run while
opening the application or on user request after the application
is opened?

For many years, we have seen in this mail list (and previous
mail list) how developers are completely baffled by applications
that run fine in most computers, but fail consistently in a very
few machines. Check the archives. You will find many instances
of this scenario. How it is that possible at all?

In theory, a program that do not find the resources needed
should NOT run at all, but for some reason, programs produced
in this platform try their best to work in any computer, even
without confirming that it could run.

Should we ask that LiveCode refuse to run if any machine
does not comply at 100% with requisites? No...
I think that we need better error reporting capabilities
and a complete (but optional) battery of tests to run on devices
that do not run our programs as expected.

Could I suggest a name for this battery test?
The name could be something like: "common ground"

In the 90's, Common Ground was a digital paper pioneer
company that competed (and lose) against Adobe Acrobat.
Still today, you could find common ground digital papers
on the web:
http://www2.ucsc.edu/mlrg/mlrgtools.html
(Windows  and PPC Mac digital paper readers)
http://www2.ucsc.edu/mlrg/proc3abstracts.html
(Common Ground digital papers)

Have a nice week!

Al
___
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: OMGwebsites

2017-09-27 Thread Alejandro Tejada via use-livecode
Hi Bob,

Bob Sneidar wrote:
> Almost inevitably, they would get back to him days
> or even weeks later and say, "How's that web page
> coming along. We really need it." He would reply that
> he asked for content and had not gotten it yet.
> They would usually reply something like, "I thought
> that was what you did."
> Yeah. I'm not kidding.

This story reflects exactly my own experience... and
this explains why I prefer to avoid web design, as much
as I can. But given the absence of LiveCode content in spanish
language, I must have to create new content (or translate current
articles and posts).

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


Offset Referenced Image Data

2017-09-26 Thread Alejandro Tejada via use-livecode
Until LC fills this request, check these options
discussed before:

1) Ink Effects for masking an image within a group

Scott Rossi wrote:
> Try this stack (in your message box):
> go url
"http://www.tactilemedia.com/site_files/downloads/masking_options.rev;

> The reason why a group with ink effects might be a
> preferable masking solution is the image can be
> positioned/resized independently of the mask.
> This is demonstrated in the sample stack.
> As Jacque pointed out, when using a backPattern,
> the image is always drawn from the topLeft of the
> object and is fixed.  Also a backPattern does not
> support translucency, while a group can. But using
> a group can be a bit more work.

2) Hidden Point Technique

Alejandro Tejada wrote:
> Try these scripts too, before using a group:

1) Create a new stack
2) Create a polygon graphic
and set the points of it to:

0,0

34,268
224,268
127,365
34,268

3) import an image into this stack,
put the image in a corner, where it does not
hide the graphic and:

set the backpattern of grc 1 to the id of img 1

(now, the imported image is cropped within
the graphic)

4) set the script of the graphic to this variation
of Scott Rossi script (posted by Bernd) to move
the first point of the graphic and (at the same time)
move the image within the graphic:

local lpoints,tClick,tFirstPoint
-- based on Scott Rossi script for masking images
local sMinX, sMinY

on mouseDown
   put mouseH(),mouseV() into tClick
   put the points of me into lpoints
   put line 1 of lpoints into tFirstPoint
   put line 2 to - 1 of lpoints into tPointLIst
   filter tPointList without ""
   sort tPointList numeric ascending by item 1 of each
   put item 1 of line 1 of tPointList into sMinX
   sort tPointList numeric ascending by item 2 of each
   put item 2 of line 1 of tPointLIst into sMinY
   put "mouseDown" & cr & lpoints & cr & cr into fld 1
end mouseDown

on mouseMove X,Y
   if tClick = "" then exit mouseMove
   put  (X - item 1 of tClick,Y - item 2 of tClick)
   put  (X - item 1 of tClick) + item 1 of tFirstPoint,(Y - item 2 of
tClick) + item 2 of tFirstPoint into line 1 of lpoints
   if item 1 of line 1 of lpoints > sMinX then put sMinX into item 1 of line
1 of lpoints
   if item 2 of line 1 of lpoints > sMinY then put sMinY into item 2 of line
1 of lpoints
   set the points of me to lpoints
end mouseMove

on mouseUp
   put "" into tClick
end mouseUp

on mouseRelease
   put "" into tClick
end mouseRelease
--

Check this thread in:
http://lists.runrev.com/pipermail/use-livecode/2016-March/225312.html

Al
___
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: Chipp Walters 3D object viewer stack

2017-09-25 Thread Alejandro Tejada via use-livecode
Hi Sean,

Sean Cole wrote:
> It only seems to display a flat image in 2d space.

There is a DLL based in Ogre3D that displays 3D images
in a stack. Some developers in this mail list received this
DLL as part of their LiveCode license. Ask them about it.

Al


On Mon, Sep 25, 2017 at 6:02 PM, Alejandro Tejada 
wrote:
>
> Found it in my backups! :-D
> After learning the stack name's, it was easy to find it
> in the mail list achives.
>
> This is Chipp's message:
> http://lists.runrev.com/pipermail/use-livecode/2007-October/103466.html
>
> This is Chipp's stack:
> http://www.gadgetplugins.com/chippstuff/3Dviewer.rev
>
> Al
>
>
> On Sat, Sep 23, 2017 at 7:37 PM, Alejandro Tejada 
wrote:
>>
>> Hi Colin,
>>
>> on Sunday Sep 24 2017, Colin Holgate wrote:
>> > It may be a different one, but is it this?:
>> > https://github.com/angerangel/LCR3D
>>
>> LCR3D is the work of Massimiliano Vessi (MaxV)
>> Chipp Walters stack is a different one.
>>
>> In the 90's, there was a HyperCard stack that
>> could open *.obj 3d models too.
>> Specifically, I remember an impressive
>> 3d whale model. Does anyone remembers
>> the name of this stack, too?
>>
>> On Sat, Sep 23, 2017 at 6:46 PM, Alejandro Tejada 
wrote:
>> >
>> > Hi All,
>> >
>> > I was looking in the mail list archives, the name of
>> > Chipp Walters Stack that could import and display
>> > 3d models in *.obj format, but could not find it.
>> >
>> > Does anyone remembers the name of this stack
>> > or could point me to the mail list message where
>> > Chipp posted it?
>> >
>> > I remember that Scott Rossi participated in that
>> > mail list thread too.
>> >
>> > Thanks in advance!
>> >
>> > Al
>>
>
___
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: Chipp Walters 3D object viewer stack

2017-09-25 Thread Alejandro Tejada via use-livecode
Found it in my backups! :-D
After learning the stack name's, it was easy to find it
in the mail list achives.

This is Chipp's message:
http://lists.runrev.com/pipermail/use-livecode/2007-October/103466.html

This is Chipp's stack:
http://www.gadgetplugins.com/chippstuff/3Dviewer.rev

Al


On Sat, Sep 23, 2017 at 7:37 PM, Alejandro Tejada 
wrote:

> Hi Colin,
>
> on Sunday Sep 24 2017, Colin Holgate wrote:
> > It may be a different one, but is it this?:
> > https://github.com/angerangel/LCR3D
>
> LCR3D is the work of Massimiliano Vessi (MaxV)
> Chipp Walters stack is a different one.
>
> In the 90's, there was a HyperCard stack that
> could open *.obj 3d models too.
> Specifically, I remember an impressive
> 3d whale model. Does anyone remembers
> the name of this stack, too?
>
> On Sat, Sep 23, 2017 at 6:46 PM, Alejandro Tejada 
> wrote:
> >
> > Hi All,
> >
> > I was looking in the mail list archives, the name of
> > Chipp Walters Stack that could import and display
> > 3d models in *.obj format, but could not find it.
> >
> > Does anyone remembers the name of this stack
> > or could point me to the mail list message where
> > Chipp posted it?
> >
> > I remember that Scott Rossi participated in that
> > mail list thread too.
> >
> > Thanks in advance!
> >
> > Al
>
>
___
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: Chipp Walters 3D object viewer stack

2017-09-23 Thread Alejandro Tejada via use-livecode
Hi Colin,

on Sunday Sep 24 2017, Colin Holgate wrote:
> It may be a different one, but is it this?:
> https://github.com/angerangel/LCR3D

LCR3D is the work of Massimiliano Vessi (MaxV)
Chipp Walters stack is a different one.

In the 90's, there was a HyperCard stack that
could open *.obj 3d models too.
Specifically, I remember an impressive
3d whale model. Does anyone remembers
the name of this stack, too?

On Sat, Sep 23, 2017 at 6:46 PM, Alejandro Tejada 
wrote:
>
> Hi All,
>
> I was looking in the mail list archives, the name of
> Chipp Walters Stack that could import and display
> 3d models in *.obj format, but could not find it.
>
> Does anyone remembers the name of this stack
> or could point me to the mail list message where
> Chipp posted it?
>
> I remember that Scott Rossi participated in that
> mail list thread too.
>
> Thanks in advance!
>
> Al
___
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


Chipp Walters 3D object viewer stack

2017-09-23 Thread Alejandro Tejada via use-livecode
Hi All,

I was looking in the mail list archives, the name of
Chipp Walters Stack that could import and display
3d models in *.obj format, but could not find it.

Does anyone remembers the name of this stack
or could point me to the mail list message where
Chipp posted it?

I remember that Scott Rossi participated in that
mail list thread too.

Thanks in advance!

Al
___
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] Alan Kay is angry

2017-09-18 Thread Alejandro Tejada via use-livecode
I learned this again, a few weeks ago, in the forum:

After many developers explained to a newbie the same concept
in many different ways, this person said: Yes, I understand...
but when this person tried to apply these concepts in a stack,
we learned that these explanations were not clear enough.

This platform needs more, much more, step by step
instructions for every important concept and technique
employed in LiveCode programming.

Al

William Prothero wrote:
> As education tech folks, we try to make the content we want to
> present as clear, easy, and transparent as possible. In our effort,
> we may be reinforcing expectations that gaining knowledge
> should be easy. But, what is actually accomplished may be
> memorization and a shallow understanding of how existing
> knowledge can be used to explore and enhance new knowledge.
___
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] Alan Kay is angry

2017-09-18 Thread Alejandro Tejada via use-livecode
There are many critics about the dumbing down of education in many
countries, but only in USA, critics could afford to publish and sell
their ideas:

https://www.amazon.com/Dumbing-Down-America-Nations-Brightest/dp/1618211668

Just imagine that in the country where I live, to get a paying work in
Education, a person just needs the endorsement of a politician or a
bureaucrat... nothing else is needed or required.

For this reason, you could find daily news about party members that have
their whole family receiving US$ 2,000 (or more) monthly as public
employees in the Education Public system or...
Plantation owners who receive a check from the government for every field
worker that is listed as worker in our Education Public system.

By the way, Do you know that in the country where I live, any of you have a
better chance of receiving a payment from the government for your work,
thanks to the services of your country's Embassy?
That's a clear and definite advantage for every foreign worker or
consultant.

How many of you would want to work for a government that requires that an
Embassy collect the payments for your work? :-o

Al

Bob Sneidar wrote:
> I think it's a huge mistake to try and treat
> all children as though they are capable of
> learning as well as the top 10 percentile.
> This approach has been disasterous in american
> schools, because what actually happens is,
> classes become tailored to the lowest percentile
> of students to try and bring them along, and those
> who might have excelled are held back until a stage
> in their development where it is likely too late.
> In America, we call that "equality".
___
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] Alan Kay is angry

2017-09-17 Thread Alejandro Tejada via use-livecode
Richmond wrote:
> All my upper-intermediate pupils will be going
> through this article in class this week.

These talking emoji remembers me Microsoft's
Agent Animated Characters Showcase project.
https://www.youtube.com/watch?v=6umxhkdKzSY

If I remember well, the characters could be used
by developers within their own applications as
program helper and intelligent assistants.

Could you imagine that these talking characters
get access to Artificial Intelligence algorithms
through an internet connection?

How many of your students would select an animoji as
electronic assistant in their personal daily schedule?

http://www.popularmechanics.com/technology/gadgets/news/a28171/iphone-x-animoji/

Al
___
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] Alan Kay is angry

2017-09-16 Thread Alejandro Tejada via use-livecode
Read the interview:

https://www.fastcompany.com/40435064/what-alan-kay-thinks-about-the-iphone-and-technology-now

I think that he could be... much more angry if he learns about all memes
that compare Mobile Phones users with zombies...

Al
___
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: Android Audio Playback & Recording

2017-09-12 Thread Alejandro Tejada via use-livecode
About Android Audio Recording using LiveCode,
check this and read the comments for very
useful additional information:

https://livecode.com/android-audio-recording-library-using-java-ffi/

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


Android Audio Playback & Recording

2017-09-12 Thread Alejandro Tejada via use-livecode
Hi Peter,

This part of your message caught my attention.

Peter Reid wrote:
> 3. Figure out how to compare the two sound clips
> (sample against user), or convert the user speech input
> into text for comparison with the original Word. Again,
> any good ideas would be welcome, but I'm prepared to
> do a bit of general research about this.

Comparing two audio clips is considered a difficult task
but in 1994, "Claire Interactive Musical Coach" a voice
training software for 68k Macs could do this with
great accuracy.
https://www.wired.com/1994/03/sing-directly-into-the-mac/

Of course, that software was created by Opcode
engineers. The same people who at that time was
creating the best audio software for Mac.
(Later, many of them started working for Apple)

Today, hardware is much more powerful than 68k
macs so you could be sure that this task is much
easier now than it was 23 years ago.

https://wiki.musicbrainz.org/Fingerprinting

Maybe, just maybe, you could convert user recorded
audio into an image (or line graph) and compare this
against the image or line graph of original audio sample.

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


Export vector graphics v05

2017-09-10 Thread Alejandro Tejada via use-livecode
Hi All,

This download is an update to a stack posted 10 years ago in the mail list.

This stack exports all vector graphics pasted in the first card as PDF,
Adobe Ilustrator (v7) or SVG.
Please test first if you could open every type of file produced by this
stack.

Before pasting your graphics, export all included graphics as PDF, Adobe
Ilustrator and SVG and open these files using programs installed in your
computer or tablet.

After you verify that files exported by this stack open correctly, you are
ready to delete all included graphics and paste your own graphics in the
first card. Report any errors and read the source code to add your own
improvements. I hope that one of you become motivated enough and helps in
the creation of code that exports gradients in each format (or just svg
only)

By the way, only latest Inkscape versions (0.92 and later) could edit these
exported svg. Previous Inkscape versions do not understand how to handle
polylines and polygons...

Download from this post in the forum:
http://forums.livecode.com/viewtopic.php?f=10=29742

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


Vector graphics, again

2017-09-09 Thread Alejandro Tejada via use-livecode
This second version works better because includes a
transparent background rectangle that effectively
corrects the border cropping problem from first version:


















On Sat, Sep 9, 2017 at 4:52 PM, Alejandro Tejada 
wrote:

> Hi Richmond,
>
> I posted 2 files (1-SVG file 2-LiveCode v8 stack) and
> code in the forum:
>
> http://forums.livecode.com/viewtopic.php?f=6=29737=158014#p158014
>
> [SNIP]
>
> If you notice a few glitches, like cropped borders, please contact the
> creators of MultiColor SVG widget or edit the original svg file and make
> smaller all shapes.
>
> Have a nice weekend!
>
> Al
>
___
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


Vector graphics, again

2017-09-09 Thread Alejandro Tejada via use-livecode
Hi Richmond,

I posted 2 files (1-SVG file 2-LiveCode v8 stack) and
code in the forum:

http://forums.livecode.com/viewtopic.php?f=6=29737=158014#p158014

Just create a new MultiColor SVG widget and paste this:















If you notice a few glitches, like cropped borders, please contact the
creators of MultiColor SVG widget or edit the original svg file and make
smaller all shapes.

Have a nice weekend!

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