NetBoot Part 3

I've become quite the package whiz, if I do say so myself. Actually, I'm probably doing something ass-backwards, but still, I wanted to share some of my working methods as they seem to be, well... Um... Working...

One of the things I'm doing is using packages to run shell scripts that make computer settings (like network settings and user-creation) rather than actually installing files.

PackageMaker: I Prefer the 10.4 Version of Packages
(click image for larger view)

This can be done in PackageMaker by taking some creative liberties with preflight and/or postflight scripts. The only hitch is that PackageMaker insists that you install at least some files onto the target system.

PackageMaker: Installing Scripts to /tmp
(click image for larger view)

So the majority of my packages contain only a single script. That script first gets installed to /tmp, thus fulfilling PackageMaker's "must install files" directive.

PackageMaker: A Postflight Script
(click image for larger view)

The script then runs as a posflight script, and the last line of the script deletes the instance of the script in /tmp, just for good measure.

Shell Script: Removing the Script from /tmp
(click image for larger view)

It could be argued that there's no reason to create packages from scripts, that you could just as easily run the scripts directly in ASR, but packages offer a couple of advantages. For one, packages leave receipts, so it's easy to check and see if something's been set on a computer. For two, packages are easy to deal with; assistants and other SysAdmins know how they work and can easily understand how to use them. Need to change a machine's settings? Don't run a script. Hell, don't even bother opening System Preferences. Just open and run a package. What could be easier (and less error-prone, I might add)? From an ease-of-use perspective, packages have a huge advantage. And ease-of-use adds efficiency. Which is why I not-so-suddenly find myself in the envious position of being able to build systems in about half the time (or less!) it used to take. That's a huge improvement!

Using this method (and sound DNS) I've been able to write packages that configure network settings, create computer-specific users, set custom disk and file permissions, set up autofs, bind to our authentication server and set up SSH for password-less login.

Next on the list: File Sharing!

Should be fun.

A Rift in the Space-Time Continuum

I did it. Yes, I finally did it: I went and pissed off Time Machine.

I've been using the Staff Backup drive for my Time Machine backups, see. And that drive needs a certain amount of free space for any large chunks of data that staff might create during any given day. So when Time Machine finally ate up all the disk space on the drive, I decided to see what would happen if I cleared some space up by hand, the old fashioned way. And so I deleted the first month's worth of data from my Time Machine backupdb folder.

Now, I'm not totally stupid, and I have at least a good enough understanding of how Time Machine works to know that this would cause problems, but I was curious, and I wanted to see what those problems would be and how they would manifest themselves.

The first thing I got was a generic Time Machine failure:

Time Machine Failure
(click image for larger view)

Clicking the red info button revealed surprising details, considering my drive showed 200GB free:

Time Machine Error: Really? How do You Figure?
(click image for larger view)

So I decided to run a backup and see what happened. The backup appeared to start smoothly, but eventually I wound up getting this message:

Time Machine Error: Funny Math
(click image for larger view)

Hmmm... I think I broke it.

It makes sense, really. I mean, it stands to reason that, in Time Machine, the first and oldest backup actually contains the most actual data. It's the base for all the other data. Subsequent backups only copy changes, but the first backup is kind of the Mother of All Backups, if you will. Deleting that first backup will, unsurprisingly, wreak all sort of havoc on your backups.

Havoc that is, as far as I can tell, irreversible. The only way I've found to fix this is to start the backups fresh. That is, turn off Time Machine, delete the old backups (or at least move the old backupdb folder out of the way), and then set Time Machine up again.

Bummer.

Oh well.

UPDATE:
Ahhh! That's more like it.

Time Machine: Back Up and Running
(click image for larger view)

ScreenFlow and Opacity Redux

I recently wrote some criticism of a couple very promising new applications: ScreenFlow and Opacity. Both these apps came out at roughly the same time, and each was of particular interest to me. Each also had some pretty glaring bugs.

One of the great things about being a member of the Mac Community is that it actually is a community. Loosely, It's a group of people with similar interests and ideas about the computing experience. And Mac software developers — perhaps more than anyone — feel keenly this bond. At least the good ones do.

So, in true Mac Community fashion, shortly after my initial reviews (like, the next day) I got comments from the developers of ScreenFlow and Opacity. And those comments basically said, "Hey, I addressed the bugs you mentioned, and have released an update to my software. Check it out!"

I have checked it out. And it is good.

Unfortunately, I don't have time to do a complete review of these products. And I'm sure that someone more qualified will beat me to it in any case. But I did want to mention a few things about each.

ScreenFlow
ScreenFlow is a revolutionary approach to screen capturing and screen-based presentation. It is a complete environment for creating computer-screen-based presentations, in fact, letting you capture both your computer screen, its audio, and the video and audio from an external camera all at the same time. ScreenFlow then drops you into a very elegant editing mode that allows you to do all sorts of tricks specifically designed for screencasts (the Callout Actions are particularly nice).

I had a few problems with the 1.0 version, but I'm happy to report that the latest update, v. 1.0.1, fixes them all. I've been playing around with it a lot, and I can't say I've really had any problems at all, at least on my home machine. My work machine sports a 30" monitor, however, and ScreenFlow has problems with its native resolutions. The good news is, it says so:


ScreenFlow Alert: Better Late than Never
(click image for larger view)

The bad news is that this alert comes up after you've captured your too-big screen. Still, it's absolutely crucial information, and this alert is better than the nothing we had in version 1.0. I'll take it.

Otherwise, ScreenFlow has been a complete joy to use, and I do anticipate buying it for our lab at some point, probably in the summer. I've even showed it to my boss, who was duly impressed.

If you're looking for such a beast, ScreenFlow makes all the others I've tried pale in comparison.

Opacity
Opacity is a graphics app dedicated to creating, editing and outputting screen graphics — for the web, applications or desktop icons. As an occasional icon creator I can tell you, something like this has been a long time coming. In the past I've used a combination of Illustrator, Photoshop and the IconBuilder plug-in for Photoshop to create icons. Opacity costs only slightly more than IconBuilder, and it doesn't require Photoshop. In fact, it doesn't require anything. It, like ScreenFlow, is a dedicated environment for doing one thing. Unified, task-based apps like this are all the rage right now, and I for one think it's great.


Opacity Interface: Simple and Specific
(click image for larger view)

Opacity is more personally interesting to me than it is something we'd need for the lab. It's also something I need more time to explore. ScreenFlow is almost instantly intelligible. But Opacity will require a bit more investigation on my part before I decide whether or not I need it. Since many of my icons are hand drawn with a Wacom, I'll need to investigate the level to which this will be possible in Opacity.

But there are two things I want to point out about Opacity. One, I like the idea of it very much, and I think it's actually fairly novel on the Mac. I'm sure professional icon designers are loving that this exists and that it might actually turn out to be good. Two, it seems to be a very well-though out application. I think icon design is actually a much more complex task than screencast recording. But Opacity strikes a really good balance between the complexity of the task and a clean, elegant UI. It might not be right for me in the end, but if you design computer graphics of any kind, you should certainly take Opacity for a spin.

Oh, and one other thing about Opacity I'd like to mention: Its latest version (1.0.1) resolves every issue I mentioned in my initial article.

So, my thanks to the creators of these fine applications. Not only have they made what look like a couple of really neat apps, but they've handled initial criticism with the aplomb worthy of a Mac Developer.

Great work, guys!

UPDATE:
Testing of Opacity continues, and not without issue. The program is a good deal more solid than it was in version 1.0, but, for the record, attempting to import very large Illustrator documents causes the "Out of memory" alert to rear its ugly head once again. This alert will cause the application to quit. And, unfortunately, the default behavior of Opacity is to open the previous document on launch. If that document happens to be a large Illustrator file that causes the alert and subsequent quit of the program, you will be unable to successfully launch Opacity without moving the offending file. Bummer.

Also of note, Opacity is not currently pressure-sensitive when used with a Wacom tablet, which may be a bit of a problem for some — myself included — though perhaps not a deal-breaker. I'm certainly not averse to creating line-art in pressure-sensitive programs (like Illustrator) and importing them into an app like Opacity if it beats my previous workflow. But obviously this won't work if the Illustrator file essentially kills Opacity.

In any case, like I said, this is all for the record. I still feel Opacity has great potential. That's why I'm testing it so rigorously.

Opacity: Another Crash-Happy 1.0 App

It's 1.0 release week, here at TASB, apparently. It also appears to be crash week.

Another useful-looking app has caught my attention: Opacity. It's a graphics editor designed especially for doing one of my favorite things: icon creation.

Opacity, like ScreenFlow, looks like a really nice application built for doing one specific thing. Which makes it really good at doing that specific thing. And Opacity appears as though it will, someday, be quite good at icon creation. In fact, it looks to be the best icon-specific graphics editor I've seen thus far. But — and this seems to be a theme here lately — it crashes constantly.


Opacity: Crash-Happy
(click image for larger view)

I mean, like, unusably. Like during the tutorial. Not good. The saving grace here is that it at least autosaves a copy of your document. But when an icon editor, working on a single-layer, 512x512 pixel vector image, tells you it's out of memory (I have 5 GBs of RAM for crap's sake) when you're trying to save your file, you know there are some serious problems with the app. Am I right people? Seriously, who's with me here?


Opacity: Out of Memory? Already?
(click image for larger view)

'Nuff said, I think.

Opacity looks like it might be a really good application for icon creation — maybe the way to go. It's got some great tools for preview and output, and the price is right — it's about ten bucks more than Icon Builder, but is completely self-contained and doesn't require Photoshop. But it's far too unreliable for serious use at this point.

It's too bad that developers are releasing such buggy stuff. It leaves a really bad first impression, and makes me not want to rush out and purchase the product, no matter how hot it might look. I hope I get over that first impression before something else better comes along, or simply steals my attention.

In the meantime, as with ScreenFlow, I'll try to remember to check back for Opacity's 1.0.1 release.