Christmas Catch-Up

I think this is the longest bloggus interruptus I’ve had in a while. Sue me; I was with family. I did make some notes along the way, though…

Saturday, December 22: So this is what holiday travel is like in the Brave New World. We had a 7:15 flight leaving Boston on the Saturday before Christmas. We bravely decided to take the train to the airport. Never mind that the first one left our station at 5:30 am, less than two hours before. Ah, the bravery of ignorance.

Still, we were lucky. After waiting the better part of an hour in line, they had pity on all of us who hadn’t planned adequately and pulled us to the front of the line. Then we got to jump in the fast line for the security screening. There was that last line at the gate for a seat (if they weren’t handing out seat assignments at check-in, why was the line so backed up?), but then we were on the plane.

I think, though, that our luck is about to end. We just heard from the flight attendant that we’re landing at A terminal in Atlanta but have our connecting flight in C terminal. Given that we have half an hour to make the connection, that’s akin to a death sentence–or at least an invitation to reprise Run Lola Run. But fortunately we made it OK–they haven’t set up security checkpoints between the terminals yet. When we got in, we found out we had narrowly missed meeting the whacko who tried to give himself a hotfoot with a shoeful of plastic explosives and had caused his plane to make a forced landing at Logan. Should be a lot of fun when we get back on Saturday.

Sunday, December 23: Lisa and I cook dinner for ten, with dancing. We make a small dent in my uncle’s game collection, cooking some quail (both in risotto and grilled), some chucker (a large bird in the pigeon family), and some venison. Much merriment. Much sleep thereafter.

Monday, December 24: A last minute discovery: My dad’s beige G3 has no USB ports. This is a problem as we have bought him a scanner with a USB connection. A quick trip to Best Buy later, we have the problem in hand. At night, I do a quick read through the service music so I can sing with my dad at Christmas Eve services. I later joke that it’s the first 100-meter freestyle sightreading exhibition I’ve done. Good music–the director, Eric, is a great musician and has impeccable taste (this is not to be taken for granted in church music).

Tuesday, December 25: Christmas starts with a light breakfast and family presents. In addition to the scanner for Dad, we took up a collection so he can buy a barbecue grill for the new house. Mom got a nice tennis bracelet, gold with diamonds (well done, Dad!). I got a Diesel Sweeties t-shirt (“I’m a rocker. I rock out”), the Peanuts art collection, and from my wife, an iPod. They are killer little toys. Christmas dinner was unusual: a “fresh” (uncured) ham, brined in Coca-Cola and spices and baked. Afterwards settling back to digest in peace. I was able to watch my new DVD (Blazing Saddles) on my laptop, but only with much difficulty. I don’t know whether the DVD was flawed or if my player is having problems, but I finally settled on a sequence of playing a CD in the drive first, then putting another DVD in, then putting the Blazing Saddles DVD in before it would work.

This is a long update…

Updates: Mac OS X 10.1.2 (build 5P48) is out. That’s a long download over a modem. Features include Applescript 1.8, so I’m going to go test Manila Envelope to see how it works with the changes.

Manila Envelope – Part 6

I didn’t update about Manila Envelope yesterday because I didn’t do a lot of successful things with it. I hit a few snags in AppleScript Studio, some having to do with getting data or states from controls and some having to do with lack of visibility in the debugger in certain situations.

However, I do have news items working (albeit with one major hack). One snag I ran into: “title” is now an AppleScript Studio reserved word (along with “password” and “URL”). This means that if you are populating a SOAP structure that has “title” as one of the element names, you have to escape it using vertical bars (e.g. |title|:myTitleVariable) or else AppleScript Studio just plain doesn’t include it as an element in the structure. I had learned this with password and URL the hard way before, but title is a new one. I could say something learned and witty about the importance of avoiding namespace conflicts in published interfaces, but (a) I’m too groggy from fighting this thing and (b) after all, Dave et al didn’t have AppleScript naming standards in mind when they were writing the interface.

Good morning!

Quick progress update. School: last paper is in. I have an ongoing project with a professor I’m still working on, but that’s OK, I get paid for that. Manila Envelope: more work last night. Rolling in News Item support. I have it supporting posting to the home page now. Some UI changes this afternoon. And I want to try to support categories in News Items — will have to play with the Manila RPC definition to see how that works. There are some interesting UI questions too — do I support adding new categories? If not, how does the user refresh categories from the browser?

All for now. I have to go see a movie about a hobbit. 🙂

Manila Envelope – Part 5

I withdraw my previous objection about password text fields. It is pretty well hidden, but here’s how you make a text field into a “secure text field” (one that hides the user’s input behind bullet characters): select the field, in the Show Info window select Custom Class from the drop down menu at the top of the window, and click NSSecureTextField in the list of available classes. Build and run–the field now shows bullets as you type.

Well, that’s one kind of feedback!

I was so busy with classwork, I almost didn’t notice. But I got one of Dave‘s nominations for the Scripting News Awards, in the category of Best Scripting Weblog. I guess that’s further validation that what I’ve been doing is valuable.

I don’t really feel worthy to be on the same list as Suck, Blogdex, Adam Curry, Doc Searls, and all the rest of the talented nominees. I have no illusions about my worthiness relative to Mark Pilgrim, Sjoerd Visscher, or View from an Iowa Homestead. But I’m putting up a “Vote for me” link anyway.

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.