Re: AS Library Question
Re: AS Library Question
- Subject: Re: AS Library Question
- From: has <email@hidden>
- Date: Tue, 15 Dec 2015 00:26:47 +0000
On 14/12/2015 20:11, Stan Cleveland wrote:
On Dec 13, 2015, at 10:55 AM, has<email@hidden> wrote:
I am a raging dick with a destructive attitude, but even people who can't stand my guts will tell you the product I've provided is, for _them_, the greatest thing since sliced bread.
Yes, your work on AppleMods Loader for AppleScript (and its included libraries) is *much* better than sliced bread.
Well, I'd disagree with that assessment since 1. its usability still
sucks compared to a proper built-in solution; and 2. it totally failed
to build a meaningful audience amongst users, and even the most
brilliant technology is utterly useless if nobody actually uses it;
however, you're still very kind for saying so and I'll put your shiny
dollar in the post. ;)
(Also, sliced bread isn't great either cos it dries out much quicker.
Bread knives FTW!)
Here it is, verbatim, also cc'ed to you:
Cheers. Since I'm not very active on the Apple mailing lists I prefer
just to skim the mailing list archives every so often rather have every
post go into my mailbox, but sometimes the mailing list software fails
to archive a message for whatever reason (e.g. bugs) so I don't see it.
On Dec 7, 2015, at 02:59 PM, Stan Cleveland<email@hidden> wrote:
…do you, as author of the AppleMods Loader library mechanism, still recommend its use? It has worked flawlessly here for many years and I can confirm that it is still working in Yosemite. Perhaps my idea to switch to the "official" library mechanism is impulsive and hasty. Maybe it (AppleMods) ain’t broke.
I don't recommend using the AM Loader as it's not maintained or
supported any more, which means that if something does go wrong at any
time (e.g. the lousy osax bootstrap breaks) then you're totally on your
tod. The actual libraries I don't maintain or support either, but that
code should be sufficiently clear and easy to patch yourself should you
need to, so there's nothing to stop you using them on that basis.
The most sensible thing would be to get rid of the libraries' AM Loader
dependency (which, as I say, has a rotten UI/UX even if the core
implementation is better) by modifying them to use AS's own loader.
You'll need to eliminate any mutable state such as preferences they
might have by e.g. converting those properties and their related
handlers into OO code, and you'll have to get rid of any sub-modules
(which the AS loader doesn't support) and copy-and-paste all of their
code into the top-level module. That way you'll still have all the stuff
that's actually useful (the libraries) without the critical weak point
(the Loader).
Some of the AM libraries are better written/more useful than others, but
most of them are basic bread-n-butter stuff that an AS standard library
should have, so would at least provide a basic starting point for
building a proper library ecosystem. The code would need modernized
again: now that ASOC works throughout AS, some tasks can be done quicker
and easier through that (e.g. hashing strings for use in a Dictionary
object, parsing and formatting date strings). The documentation also
needs converted to a more accessible format. (Nowadays I strongly prefer
authoring in Markdown and converting automatically to HTML via script,
but I'd even say use afoulmentioned SDEFs if it'll help persuade
AppleScripters to adopt the things.) The other thing, of course, is that
ASOC finally allows a genuinely useful and - more importantly *correct*
- String library to be implemented in "native" AppleScript, so
long-awaited and incredibly useful commands such as find/replace, trim,
encode/decode, etc. could be available to ALL AppleScripters after a
mere 22 years' wait. That alone would make AppleScript vastly less of a
pain to use for day-to-day scripting.
FWIW, if I still felt motivated, I'd convert and update the old AM
libraries myself, and maybe set up a public repository a-la PyPI,
RubyGems, etc. for the AS community to use (though someone else'd need
to run it), and have even offered to do so in the past. (Heck, a good
crate of delicious malts on the doorstep would still buy me; I'm not
proud.) But I see no point in me investing my *free* time in building a
high quality - but third-party - standard library for the AS community's
benefit if all that happens is the AS team subsequently put out a
crappy, but built-in, one; as all that does is leave users torn between
two crappy non-solutions: one that works well but is no longer supported
versus one that is supported (or at least pretends to be) but sucks[1].
OTOH, if anyone else wants to have a crack (you don't even _have_ to be
mad, tho' it certainly helps), feel welcome to do so. If you also want
the old AM project site, just file a SF takeover request, though
honestly I can't say if that's the best or even right way to go as there
are other, better options than SF now. Plus, of course, the AM name is
quite useless as AppleScript officially calls them "libraries", not
"mod[ule]s". As to the code itself, you've my blessing and encouragement
to strip off any existing licences and make them entirely your own, cos
if you can make a success out of them doing your own thing where I
failed then full power to you (plus you don't need my baggage attached
as you'll have a hard enough time building success on your own).
HTH
has
[1] Been there, done that. Third-parties simply can't win, or even
realistically compete, against Apple's own built-in, blessed, and
promoted technologies, no matter how much technically better their
products might be. Just ask around to see how many Mac users even
_remember_ the names of the terrific third-party products that were
squashed by AppleScript Studio, Dashboard, Notifications, and so on.
/obligatory-footnote
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden