<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Disqus - Latest Comments for dorismith</title><link>http://disqus.com/people/dorismith/</link><description></description><language>en</language><lastBuildDate>Sat, 19 Sep 2009 00:17:30 -0000</lastBuildDate><item><title>Re: It's still not the language's fault.</title><link>http://bynkii.disqus.com/its_still_not_the_languages_fault/#comment-16911475</link><description>&lt;blockquote&gt;Keep in mind that "application-specific scripting" is what most first-time scripters are trying to do. That's why they get frustrated so quickly, because what they learned from trying to script app a doesn't apply when they try to learn to script app b.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;it does more than they think. the problem is, a lot of people don't want to think that AppleScript is programming and you have to learn how the language works, whereas with a dot language It Is Clearly Programming And You Must Treat It Seriously.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;JavaScript, unlike AppleScript, does have some ways to avoid that. One way is what Adobe's got buried under the hood of the CS suite: a full JavaScript IDE and debugger. Another is that few people are trying to JavaScript applications as their first project; instead, they get comfortable using it inside the browser sandbox, and only then do they want to do more with it. Lastly, there are plenty of solid free frameworks out there, and they make doing things cross-browser much simpler than it was just a few years ago. I suspect that if more apps were JavaScript-able, at least a few of the frameworks would be extended to cover apps darn quickly (I recommend jQuery, btw).&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;so does applescript, and if a team puts some time into the dictionary, the differences are mitigated more than you think. the problems really hit when the dictionary is poorly done, or they never fix a fucking bug, (MAIL TEAM, I AM LOOKING AT YOU). but no language will prevent that.&lt;br&gt;&lt;br&gt;as far as Adobe goes, well, they're really consistent with their AppleScript too, (Except for the Acrobat team, but they're a bunch of cockwads, so fuckem), because they know what their apps are going to do, and can design accordingly. The big 3 of CS have really solid dictionaries. Comes from paying attention. &lt;br&gt;&lt;br&gt;But Adobe doesn't mean that everyone else will do the same. someone writing a shit dictionary is not going to have those problems go away because the amount of dots in the language goes up. if the implementation is crap, the language isn't going to save it. If the implementation is good, the language isn't going to ruin it.&lt;br&gt;&lt;br&gt;You can't hold up the "people who would use Javascript for AppleSCript tasks already know JavaScript and so you'd avoid a lot of the problems" because that's a false equivalency. Of course they're comfortable scripting browsers. What *else* do they have to do? Well, CS. that's about is. Adobe and browsers. Yes there are really nice frameworks, but at the end of the day, the difference between scripting IE, Safari, Firefox, Opera and Omniweb are a *rounding error* compared to the differences between scripting InDesign, Excel, Keynote, and OmniOutliner. If the only differences you have to deal with when you're scripting completely different applications was the IE vs. everyone else differences, it'd be friggin' cake. &lt;br&gt;&lt;br&gt;Saying that because it's easy to script browsers, that scripting wildly different applications will be just as easy is going way out on a pretty shaky limb.&lt;br&gt;&lt;br&gt;Also, keep in mind that for your example, you need to add the line to tell the OS what application your script is targeting. i know, i know, it's maybe one more line, but for comparison purposes it counts, and considering that you want a script targeting application A to be able to target Application B from within Application A's target block, it's important to keep that in mind. To be fair, i should have put that in the AppleScript example, and it would add between 0 and 2 lines.&lt;br&gt;&lt;br&gt;to be honest, that's really kind of a setup example, in that it was done by someone who not only really doesn't understand AppleScript, but doesn't really get JavaScript either, and tries to make both into some creepy version of Objective-C.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jcwelch</dc:creator><pubDate>Sat, 19 Sep 2009 00:17:30 -0000</pubDate></item><item><title>Re: It's still not the language's fault.</title><link>http://bynkii.disqus.com/its_still_not_the_languages_fault/#comment-16905327</link><description>&lt;blockquote&gt;that's application-specific scripting period. Javascript will no more avoid that than AppleScript.&lt;/blockquote&gt;&lt;br&gt;Keep in mind that "application-specific scripting" is what most first-time scripters are trying to do. That's why they get frustrated so quickly, because what they learned from trying to script app a doesn't apply when they try to learn to script app b.&lt;br&gt;&lt;br&gt;JavaScript, unlike AppleScript, does have some ways to avoid that. One way is what Adobe's got buried under the hood of the CS suite: a full JavaScript IDE and debugger. Another is that few people are trying to JavaScript applications as their first project; instead, they get comfortable using it inside the browser sandbox, and only then do they want to do more with it. Lastly, there are plenty of solid free frameworks out there, and they make doing things cross-browser much simpler than it was just a few years ago. I suspect that if more apps were JavaScript-able, at least a few of the frameworks would be extended to cover apps darn quickly (I recommend jQuery, btw).&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;the only person making an OSA implementation for JavaScript is Late Night Software, and while it is a Universal binary, i don't know if it's been updated for snow, but i think it's been somewhat dormant since the 2.0.2 release. Still, you might want to take a look at it.&lt;/blockquote&gt;&lt;br&gt;Oh, I've been keeping an eye on JavaScript OSA for... yowza... &lt;a href="http://www.backupbrain.com/2000_01_23_archive.html#a002621" rel="nofollow"&gt;nearly a decade&lt;/a&gt;. The last release I can find was &lt;a href="http://www.latenightsw.com/freeware/JavaScriptOSA/jsStatus.html" rel="nofollow"&gt;2.0.1&lt;/a&gt;, which came out in &lt;a href="http://tech.dir.groups.yahoo.com/group/jsosa/message/512" rel="nofollow"&gt;November 2006&lt;/a&gt;. The last time Mark answered a question on the JSOSA list was &lt;a href="http://tech.dir.groups.yahoo.com/group/jsosa/message/527" rel="nofollow"&gt;August 2007&lt;/a&gt;. If it's not dead, it's doing a darn good impression of it (sadly!).&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;jstalk is like a javascript version of AppleScriptObjC, at least from what I can see. it's designed more to let you build cocoa applications with JS than to let you use JS instead of AppleScript for OSA-type stuff.&lt;/blockquote&gt; &lt;br&gt;&lt;br&gt;No—this is exactly what I'm saying is &lt;em&gt;not&lt;/em&gt; true. JSTalk is like a version of AppleScriptObjC done by someone who, once, back in the 90s, &lt;em&gt;may&lt;/em&gt; have seen some JavaScript code. Or maybe they just heard a year or so ago that JavaScript was hot again, so they claimed what they were doing was somehow related to JavaScript (why, that sounds just like what happened to LiveScript...).&lt;br&gt;&lt;br&gt;But whatever it is, it is &lt;em&gt;not&lt;/em&gt; JavaScript. The syntax is different, the style is different... Oh hell, here's another example:&lt;br&gt;&lt;br&gt;&lt;b&gt;AppleScript:&lt;/b&gt;&lt;br&gt;&lt;code&gt;set o to make new box with properties {height:100, width:100, xPos:100, yPos:100, stroke:10}&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;JSTalk example 1:&lt;/b&gt;&lt;br&gt;&lt;code&gt;var sketch = [JSTalk application:"Sketch"];&lt;br&gt;var doc = [sketch orderedDocuments][0]&lt;br&gt;var rectangle = [doc makeNewBox];&lt;br&gt;&lt;br&gt;[rectangle setWidth:100];&lt;br&gt;[rectangle setHeight:100];&lt;br&gt;&lt;br&gt;[rectangle setXPosition:100];&lt;br&gt;[rectangle setYPosition:100];&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;JSTalk example 2:&lt;/b&gt;&lt;br&gt;&lt;code&gt;var sketch = JSTalk.application_("Sketch");&lt;br&gt;var doc = sketch.orderedDocuments()[0]&lt;br&gt;var rectangle = doc.makeNewBox();&lt;br&gt;&lt;br&gt;rectangle.setWidth_(100);&lt;br&gt;rectangle.setHeight_(100);&lt;br&gt;rectangle.setXPosition_(100);&lt;br&gt;rectangle.setYPosition_(100);&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;JavaScript:&lt;/b&gt;&lt;br&gt;&lt;code&gt;var theCanvas = document.getElementById("myCanvas").getContext("2d");&lt;br&gt;theCanvas.lineWidth = 10;&lt;br&gt;theCanvas.strokeRect(100,100,100,100);&lt;/code&gt;&lt;br&gt;&lt;br&gt;As I said, I just don't see any similarity between the code in the JSTalk example (either version) and that in the JavaScript example.&lt;br&gt;&lt;br&gt;If someone loves Cocoa, fine; they can go ahead and implement CocoaScript (or whatever they want to call it). But they shouldn't claim that it has any relationship to JavaScript when it doesn't.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dorismith</dc:creator><pubDate>Fri, 18 Sep 2009 21:07:39 -0000</pubDate></item><item><title>Re: It's still not the language's fault.</title><link>http://bynkii.disqus.com/its_still_not_the_languages_fault/#comment-16901684</link><description>&lt;blockquote&gt;I hate AppleScript. I hated AS long before JavaScript was invented. After way too much effort, I came to the conclusion that no one ever really learns AS; instead, you learn AS for a single application. And then you have to learn it again for another app. And then again for a third. And then when you go back to the first code you wrote, you can't remember which of the various dialects it uses, so you have to start all over again.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;that's application-specific scripting period. Javascript will no more avoid that than AppleScript. you can't use the exact same terms for word that you would for illustrator that you would for keynote. they're different things. Once you do it for a while, you realize that the better implementations try to not go too far into neverland, but if you're automating a function that doesn't exist anywhere else, you're creating application specific terms, period. thus far, other than Adobe, i'd say 99% of all Javascript revolves around the same application: the web browser, and even then, you can't trust firefox, safari or IE to do things exactly the same with the same code. the odds are better, because their base functions are identical, but they still manage to push you into situations where you have to create custom code for this or that browser.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Yay for JS: I found I was pretty much always able to write the same code in considerably fewer lines. Plus, cross-platform!&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;considering the obsessive way I comment, lines of code is a bad measurement for me:-), but dot languages are more efficient if properly implemented. the problem for me is that they never do the order the same way between languages, and to me, all dot languages are pretty much the same.&lt;br&gt;&lt;br&gt;i think 99% of the language wars are people who don't want to admit that functionality being equal, language choice is like input device choice: very personal and highly subjective.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Yay for AS: I couldn't do most of the application to application (or any of the OS to application) code in JS, because the support just isn't there (yes, I do understand that this is the workflow issue in a nutshell).&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Apple's been getting better in the last couple of OS releases about making scripting implementations language neutral. the real issue is that as far as I know, the only person making an OSA implementation for JavaScript is Late Night Software, and while it is a Universal binary, i don't know if it's been updated for snow, but i think it's been somewhat dormant since the 2.0.2 release. Still, you might want to take a look at it.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;But in terms of comparing apples to apples: when I had two code snippets that did the same thing, I always found the JS one to be both more understandable and more maintainable. JSTalk, though, appears to be neither.&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;jstalk is like a javascript version of AppleScriptObjC, at least from what I can see. it's designed more to let you build cocoa applications with JS than to let you use JS instead of AppleScript for OSA-type stuff.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jcwelch</dc:creator><pubDate>Fri, 18 Sep 2009 19:18:18 -0000</pubDate></item><item><title>Re: It's still not the language's fault.</title><link>http://bynkii.disqus.com/its_still_not_the_languages_fault/#comment-16898233</link><description>Ummm... my 2¢, from an entirely different angle:&lt;br&gt;&lt;br&gt; - I hate AppleScript. I hated AS long before JavaScript was invented. After way too much effort, I came to the conclusion that no one ever really learns AS; instead, you learn AS for a single application. And then you have to learn it again for another app. And then again for a third. And then when you go back to the first code you wrote, you can't remember which of the various dialects it uses, so you have to start all over again.&lt;br&gt;&lt;br&gt; - I like JavaScript. Over the last dozen-plus years, it's been very good to me. Some days, I even feel like it likes me back.&lt;br&gt;&lt;br&gt; - I've never learned Cocoa, 'cause I don't do that kind of programming. I'm sure I could learn it, but I'd need to either have someone paying me to do it or give me a promise of paying work at the end of it [1]&amp;mdash;as it is, life is too short to learn everything I'd like to learn.&lt;br&gt;&lt;br&gt;Which gets me to:&lt;br&gt;&lt;br&gt; - JSTalk, from the little I've looked at it, ain't JavaScript. Or at least &lt;a href="http://github.com/ccgus/jstalk/tree/master/example_scripts" rel="nofollow"&gt;the examples I'm seeing&lt;/a&gt; ain't JavaScript.&lt;br&gt;&lt;br&gt;For instance:&lt;br&gt;&lt;br&gt;AppleScript: &lt;code&gt;tell application "iChat" to set status message to "not that hard after all"&lt;/code&gt;&lt;br&gt;JSTalk: &lt;code&gt;[[SBApplication application:"iChat"] setStatusMessage:"not that hard after all"];&lt;/code&gt;&lt;br&gt;JavaScript: &lt;code&gt;iChat.status = "not that hard after all";&lt;/code&gt;&lt;br&gt;&lt;br&gt;[of course, that would be assuming that iChat (or any of Apple's apps, for that matter) actually understood JavaScript.]&lt;br&gt;&lt;br&gt;Looking further at those JSTalk examples, I'm pretty confident in saying that this might be the way a Cocoa programmer sees JavaScript, but no one who works primarily with JavaScript would be able to make heads or tails of it without a lot of Cocoa background (in which case, why are they working primarily with JavaScript?).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;FWIW, I wrote the JavaScript code for "The Designer's Apprentice: Automating Photoshop, Illustrator, and InDesign in Adobe Creative Suite 3" by Rick Ralston. He wrote the book around AppleScript, but marketing wanted the examples to also be supplied in JavaScript (because unlike AS, it's cross-platform).&lt;br&gt;&lt;br&gt;Yay for JS: I found I was pretty much always able to write the same code in considerably fewer lines. Plus, cross-platform!&lt;br&gt;Yay for AS: I couldn't do most of the application to application (or any of the OS to application) code in JS, because the support just isn't there (yes, I do understand that this is the workflow issue in a nutshell).&lt;br&gt;&lt;br&gt;But in terms of comparing apples to apples: when I had two code snippets that did the same thing, I always found the JS one to be both more understandable and more maintainable. JSTalk, though, appears to be neither.&lt;br&gt;&lt;br&gt;&lt;br&gt;[1]: If you know of anyone making this kind of offer, &lt;i&gt;please&lt;/i&gt; put me in touch with them!</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dorismith</dc:creator><pubDate>Fri, 18 Sep 2009 17:40:38 -0000</pubDate></item><item><title>Re: And the answer to the question is&amp;#8230;.</title><link>http://chuqui30.disqus.com/and_the_answer_to_the_question_is8230/#comment-6057601</link><description>Congrats, and best of luck! If you need any freelancers, you know where to find me... ;-)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dorismith</dc:creator><pubDate>Fri, 06 Feb 2009 18:48:05 -0000</pubDate></item><item><title>Re: @grossberg Two off the top of &amp;#8230;</title><link>http://lazycodertweets.disqus.com/grossberg_two_off_the_top_of_8230/#comment-2836282</link><description>Hey, just saw this, and wanted to say thank you for thinking of me in this context. For a gig like The Ajax Experience, I would *definitely* be available. All they have to do is ask--which they've never done.&lt;br&gt;&lt;br&gt;Dori</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dori</dc:creator><pubDate>Sat, 04 Oct 2008 01:42:14 -0000</pubDate></item></channel></rss>