I did a bunch of AppleScripting today, making me both like and dislike AppleScript more than ever. It reminds me of OLE and VBA in a lot of ways. The fact that so much stuff is scriptable is great. The underlying models are often not awful, and it's easy to do easy stuff. The problem isn't (always) the object models, but the language. Just like VBA, AppleScript sucks. I think it sucks differently, but it sucks nonetheless. It makes it easy to dismiss scripting of applications, in fact, which is sad.
Mac::Glue has been going a long way to make things easier, but there are still things I can do with AppleScript that I can't figure out with Mac::Glue. So far, Chris Nandor (the author of Mac::Glue) has been really friendly and helpful when I've asked questions, so I may keep doing that. Maybe I'll try to compile a quick list of recipes that demonstrate how basic AppleScript becomes basic Mac::Glue scripting.
My most useful script so far has been a little addrbook2mutt converter that creates a muttrc alias file for email addresses in my Address Book. It's helping me get my unix life and Mac life joined up again. It's good!
I wrote an AppleScript to update my birthday iCal, but I haven't been able to get it working in Mac::Glue. I'll post it once it's working, or once I give up. Either way, I'm trying to do what Chris had mentioned that one day: make non-free software unneeded. (Today, I deleted BirthdayCal.app.)