Thanks and keep the feedback coming

I kind of paused this morning after I wrote the last entry. I’m surprised looking back at it that I’m still working on these scripts. I mentioned the first script I was going to write in July, half joking, in an email to Dave when Apple announced they were going to be baking in SOAP support in 10.1. I wrote the script when I got 10.1 more as a proof of concept than anything else. It works reasonably well. Why am I going forward?

Well, I never had the time to learn all the stuff I wanted to know to program in Cocoa, for one thing, and this is a quick way to learn Interface Builder and some of the other tools in the free Dev Tools IDE. There have been other features that I’ve wanted to add to my existing scripts–it bugs me, for instance, that you type your password in plain text in a dialog box, and that there’s no interface for clearing your stored information.

But mainly I’ve had feedback from a number of people who have convinced me that this stuff is worth investing time in. One, the server guy at a major state university, wanted help in getting his faculty to use the web for knowledge management. (I still haven’t added his feature. Soon, hopefully.) A few scripters have thanked me for the effort I had put in because they use the tool every day.

It’s great to know people are out there reading and blogging. If you find my tools useful and you have suggestions for how to improve them, or just want to drop me a line, please do. My mailbox is open, and as soon as this last paper’s done I’m going back to do some more scripting.

Manila Envelope – Part 1

I started writing the next generation of my Applescript-based tool for posting to Manila last night using AppleScript Studio. The first pass was just to host some of the existing scripts in an AppleScript Studio based application and get them to work. I got it working partway but I think ASStudio (I won’t fully abbreviate that, for reasons that should be obvious) uses different mechanisms for accessing functions contained in separate script files. I need to dig a little more deeply.

By the way, the name of the tool will be Manila Envelope (sorry for the bad pun). I plan to wrap as much functionality to access Manila inside the tool as possible while still making it pretty seamless to use.

AppleScript Studio vs. old AppleScript, take 1

I’m digging deeper into AppleScript studio this morning. It’s really starting to blow my mind. The basic concept is simple: take the power of Cocoa applications, object oriented applications that can tap all the built in frameworks to add lots of power to your application, and build an application on top of them — specifying the actions to be executed using the English like syntax of AppleScript. This is so much more powerful than just providing GUI for AppleScript. It’s like getting PowerBuilder, my old programming language, dropped into my lap all over again.

I’m going through the tutorial now and am noting differences between “old-school” AppleScript under Mac OS X and the new AppleScript Studio. Some starters:

  • You write AppleScript Studio applications in Project Builder and do the user interface in Interface Builder. This gives you access to a lot of features, like…
  • …a built in debugger!
  • It looks like it’s now up to the developer to make source for AppleScript Studio applications available as a separate file. Under old AppleScript, you could distribute an AppleScript “application” that was doubleclickable but could also be opened by Script Editor if the recipient wanted to see how you did something.
  • A small point: the “display dialog” command now creates a window that has a proper title bar.

Over the next few days I’ll be going through this stuff in more detail (while I’m writing my last paper of the semester) and will post my findings.

Good software makes up for a lot

E-Lab is done, except for our final presentation to the company we consulted to. Kickin’ back with some software. The new developer tools are out, and I’m a playin’.

AppleScript Studio. I love it. Mac OS X, an IDE free in every box (or at least downloadable). From the documentation distributed with the dev tools:

AppleScript Studio combines an application framework with a development environment, allowing you to provide sophisticated user interfaces for applications that execute AppleScript scripts. AppleScript Studio comprises features from AppleScript, Project Builder, Interface Builder, and the Cocoa application framework. With AppleScript Studio, you can quickly create native Mac OS X applications that support the Aqua user interface.

AppleScript Studio requires Mac OS X version 10.1.2, or the December 2001 Developer Tools CD.

Script update

New script update today. I made a minor change to one of my supporting scripts, SOAPXMLRPCHandler, that should improve the ability of scripts calling it to return successfully when talking to slow websites. If you are using any of my *2Manila or *2Blog scripts, you’ll want to download this performance fix.

Oops

Sorry for the multiple postings. I’ve got to make some adjustments to my script–it keeps reporting timeouts when it’s actually completed sending the message.

Oops

Interesting issue. When I paste text from an email, it comes in with line breaks — which are ignored in the HTML and end up running words together. Got to do something about that–maybe a new scripting challenge. After I finish my exam today, of course.

Lucky

So as evidenced by the previous news item, I’m pretty lucky as a programmer. I hadn’t bothered testing iTunes2Manila with a streaming audio source as the current item before, and I wasn’t sure it would work. Not sure why it doesn’t have a closing quotation mark, but at least the script doesn’t crash.

Scripting Manila and iTunes

New scripts today. First, a version of the iTunes script I wrote a few days ago that posts the currently playing item directly to a Manila website as a news item. Second, some modules that contain functions for making SOAP calls and calling Manila RPC interfaces.

As a programmer, I was big into reuse of code through object orientation. It bugged me for a long time that I couldn’t figure out how to make that work in AppleScript. Today I’ve got one version working. It’s not very clean, because it requires a lot of drag and drop installation, but it’s getting there. The other good thing is that it will cut down on the amount of pain in writing and deploying these scripts because it separates a lot of the Manila “glue” code from the parts of the scripts that actually do things.

All the scripts can be downloaded from my scripts page.

One note about iTunes2Manila–if your site is hosted on editthispage.com like mine is, you may get some timeout messages. I’m still playing with avoiding these, but (as you can tell from my home page), just because you get a timeout doesn’t mean that the news item didn’t get posted.

Scripting iTunes

A new script today. No Manila, but it’s a productivity enhancement for my blogging. It grabs the currently playing song from iTunes and drops it into TextEdit. The script is called iTunes2TextEdit, and it’s available from my mac.com homepage.

You need iTunes 2 and MacOS X to run this script. It also works pretty well with TextEdit2Blog, my other script for blogging from TextEdit.

I want to enhance the script to dump in links with the song information automatically, but other than linking to a Google search, I’m not sure where to point the lookups. The Ultimate Band List and IUMA are both hard to navigate from a search standpoint. Why is there no IMDB for information about music?

Currently playing song: “Becuz” by Sonic Youth on Washing Machine.

A Prolusion on PDA Proliferation

Cell phones: Finally giving up on my old Motorola StarTac. It did well for me for a few years, but a year in MIT Sloan of running out of battery before 6 pm every day (even with frequent recharging) and of having no signal all the time made me decide there’s got to be a better way.

The Nokia 3360 it is, then. It comes with what should be an obvious feature to everyone–infrared and the capability to send and receive name and phone number information from my Palm. Does it have WAP? No, but I’ve not yet seen a convincing demonstration of why I would need to access the Internet from my cell phone (although my page does support WAP access).

Device proliferation. All these devices coming out–like the iPod. Single purpose devices can be pretty cool if done well. What constitutes “done well” for me? Well, not duplicating functionality with another device I have is a start. Playing nicely with my other equipment, sharing information…

About the title: browsing the OED today (sorry, subscription required), I came across prolusion: “A literary production intended as a preliminary dissertation on a subject which the author intends to treat more fully; a preliminary essay or article; a slight literary production.” As for the first definition, that describes a lot of my writing about technology, especially web services. As for the last definition: boy, that’s this weblog all over.

A note about this page for people who browse weblogs.com: normally I write the story offline then publish it (using my Applescript tool) to the weblog, then if it looks good I promote it to the home page. Apparently that isn’t enough to register that the front page of my web log has changed on weblogs.com. Time to talk to Dave…

Speaking in Tongues and other stuff

Update 12:15 PM: I’m a little behind in pointing to this, but I was ahead in saying it was a bad idea. When I visited Intel in January 2001, a few of us asked why Intel was in the business of making consumer MP3 players. The answer we got? “Well, we’re a really large supplier of memory chips, and this is a critical application for them.” Unsurprisingly, Intel has now announced it would phase out this product line. No “I told you so’s” from me. 🙂


Trying to be productive this morning. It’s hard. I picked up the Episode 1 DVD last night and I want nothing more than to go home and fall asleep watching it.

Some random links: Dave is the recipient of the top Wired Rave Award, the Tech Renegade Award, for his work on SOAP. I won’t argue–in terms of my blog’s hit count alone, Dave’s certainly been the most influential person around. Plus I’m working on a major project with MIT Sloan‘s Center for E-Business around the industry in web services that SOAP helped to start.

The white powder that was found in an envelope by an MIT lecturer in Foreign Languages and Literature tested negative for anthrax.

If language is a virus, is it contagious?

The Tin Man has a good comments string running from Wednesday’s post about journalism. Most of them are about his use of the word “y’all.”

Aside: I’ve been gathering unusual words and expressions from the North Carolina side of my family. I never thought much about the colorful language that they used until my undergrad years. Then I read in the excellent liner notes to the Robert Johnson boxed set that Johnson’s term friend-boy in “Cross Road Blues” was a typical Mississippi Delta expression meaning simply friend. “Gee, I thought, “my uncle says that all the time.” I came to realize that my family’s language placed them solidly in the unique linguistic history of the South.

Some other words and phrases:

pert
(pron. “peert”) for “pretty”
It was so good, my tongue like to beat my brains out.
(said about food)
He’s a good businessman. If you shake hands with him, you better
  • count your fingers.
  • Put your money in your mouth and sew your tongue up tight.
pottymule
[v. intransitive] – to do nothing constructive. Generally used as “to pottymule around.” See also “blogging.”