The Quality Without A Name

2007/05/28

Communication is the Key to a Successful Marriage

Filed under: Uncategorized — mayoff @ 11:30 pm

“I may have to leave tomorrow,” I said.

“Can’t you at least stay until Thursday? So you can do what you came to do?” asked Delia. She’s referring to the wedding on Wednesday.

“I came to leave. Haven’t I suffered enough?”

“You’ve suffered,” she said agreeably.

“You left off `enough’,” I said.

She said nothing.

The Black Swan

Filed under: Uncategorized — mayoff @ 11:00 pm

I suppose that everyone you’ve met (aside from me) dreams about coming to a place like BEYC, where the sun and the ocean and the weather and the sailing and the diving and the whatnot. If you’ve been, you loved it. If you know someone who’s been, he or she raved about it. That’s why you assured me (whether you’re a close friend or the merest acquaintance) that I’d have a great time.

Here’s what dinner was like tonight. We made a reservation for 8 PM and showed up right on time. We got seated in about two minutes. The place was packed. That’s not surprising; it’s the only restaurant in BEYC that serves dinner. So it took probably five minutes before our waitress made it to our table. She gave us a bread basket. Then, five minutes later, she came back and asked if we’d like a bottle of water. Five minutes later, she brought the water and asked if we want caesar salad. The salad came quickly and we took all of five minutes to eat it. The waitress, on the hand, took fifteen minutes to return, and then told us it’s a buffet tonight so we can go serve ourselves whenever we’re ready. WTF? By this time I’d picked up four more mosquito (or something) bites. Because at BEYC, the (one) restaurant is outside.

Stop the Island, I Want to Get Off

Filed under: Uncategorized — mayoff @ 10:00 pm

It’s not that I haven’t tried to have fun. Summer, Delia, and I took a sailing class yesterday. Today Tony and I each took a little catamaran out on the sound. There’s some fun to be had sailing, but (at least the way we did it) there’s a lot of boredom too. At least out in the sound there are no biting insects (at least during daylight).

You might think that at least way out here, away from the infernal noise machine*, I’d get some peace and quiet, hearing just the air conditioner and the waves. Nope. The bass line of something from down at the pub (I guess) makes it all the way up to our room.

I hate it here.

*Civilization.

2007/05/27

Paradise Is a Lack of Annoyances

Filed under: Uncategorized — mayoff @ 9:00 pm

BEYC does not qualify.

The Unbearable Wetness of Being

Filed under: Uncategorized — mayoff @ 6:20 pm

Remember when your were five or six, and you’d visit your aunt or grandmother. You didn’t really understand her relationship to you, but for some reason she’d insist on grabbing you and giving you a big kiss, or kisses, and you really did not like the closeness and just wanted to get away? That’s what the humidity here is like, but you can’t get away and it never stops.

That’s not entirely true. Fortunately, Delia booked us an air-conditioned room. In the room, it’s cool and dry.

BUT, the bathroom is not air-conditioned. It’s connected to the outside by screened shutters, so leaving the bathroom door open just lets the conditioned air leak out. So you don’t, and going to the bathroom feels like going outside. This can’t be good for my kidneys.

Not Eaten by Pirates, Alas

Filed under: Uncategorized — mayoff @ 1:00 pm

We got to bed a little before 1 AM. The birds woke us up at 5:10 AM.

At dinner last night, Summer told me that the insects on the ferry dock (see previous post) are more aggressive than the insects here at BEYC. So I opted not to put DEET on for breakfast. I got bitten twice.

2007/05/26

Bugger All

Filed under: Uncategorized — mayoff @ 11:00 pm

I was bitten thrice while waiting for the ferry to BEYC before I dug the DEET out of the suitcase. I hate spraying poison on myself, not to mention being sticky and smelly (more so than usual anyway), and (because of DEET on my hands) being unable to take out my Invisaligns to drink the fruit smoothie Delia brought me.

Why travel?

Filed under: Uncategorized — mayoff @ 8:07 pm

2007/05/26 13:09 US/Eastern

Aboard Delta 579 en route to San Juan

I have realized that kids are what make travelling worthwhile. When you have kids, there can be nothing more pleasant than to go somewhere far away, without them. Unfortunately, the family seated in front of us hasn’t figured that out. They have four kids under 5 years old. The older two appear to be twins. For the younger two they brought carseats. They were originally scattered all over the plane, and cleverly traded seats with other passengers until the parents and three of the kids were on the emergency exit row. Then they were informed that babies and car seats aren’t allowed on the emergency exit row, so they swapped with the passengers behind the emergency exit row. Then they were informed that car seats aren’t allowed on that row either, so they moved yet another row back, to the row immediately in front of us.

The little girl in the carseat in front of us has been crying for at least half an hour.

Delia’s comment: “I realized as the family moved closer and closer to our row that it would be a harbinger of the wailing and gnashing of teeth to come.”

Not-so-great Expectations

Filed under: Uncategorized — mayoff @ 3:40 am

I always have two expectations when I travel:

  1. I will be miserable.
  2. I will spend a lot of money.

I expect this trip (to the Bitter End Yacht Club, or BEYC) to be no different. In fact, I’ve been filled with a nameless dread. But I shall overcome this nameless dread. By naming it. Dread, I hereby dub thee “Crognar”.

It doesn’t help that our flight is at 7:50 AM.

I fully expect the following events:

  • Our flight out will be delayed and we’ll sit on the tarmac for two hours.
  • We will miss our connection in Atlanta.
  • The puddle-jumper from San Juan to Tortola will not have in-flight beverage service.
  • The ferry from Tortola to BEYC will have mechanical difficulties, leaving us drifting aimlessly.
  • Somehow, I will end up stranded on a tiny island, but unlike Tom Hanks, I will have no volleyball to befriend.
  • Shark attack.
  • Loss of an appendage (due to shark attack).
  • A plague of biting insects.
  • Seasickness.
  • Identity theft.

Then, on the second day, I will be killed by pirates. Actually, that may come as a relief.

In summary, goodbye cruel world.

2007/05/22

Using Xcode to build a disk image (and upload a web site)

Filed under: Uncategorized — mayoff @ 5:32 am

So I wrote a MacOS X screen saver, Fractal Clock. The next thing to do is make it available to the general public. Apple recommends distributing software using disk images.

I could build the disk image using Disk Utility, but if I need to do so often, using Disk Utility will be tedious. And if I need to do so rarely, I’ll forget the steps. Obviously I should automate the process.

Since I’m using Xcode to build FractalClock.saver, I’m going to put the automation right in my FractalClock Xcode project.

So, first I choose menu item Project > New Target. From the list that pops up, I choose “Shell Script Target”. I name it “FractalClock.dmg” because that’s what I intend to build. Xcode immediately displays the info pane for the new target. Since I’ll need to have FractalClock.saver built before I can build a disk image containing it, I need to add a direct dependency. I click the plus button at the bottom of the info pane and choose FractalClock from the list. Then I close the pane. I click on the disclosure triangle next to the new target in the Groups & Files list, so it looks like this:

I double-click on “Run Script” and get the info pane for that phase. Here’s the script:

set -ex

[ "$ACTION" = build ] || exit 0
[ "$BUILD_VARIANTS" = "normal" ] || exit 0

dir="$TEMP_FILES_DIR/disk"
dmg="$BUILT_PRODUCTS_DIR/$PROJECT_NAME.dmg"

rm -rf "$dir"
mkdir "$dir"
cp -R "$BUILT_PRODUCTS_DIR/$PROJECT_NAME.saver" "$dir"
rm -f "$dmg"
hdiutil create -srcfolder "$dir" -volname "$PROJECT_NAME" "$dmg"
hdiutil internet-enable -yes "$dmg"
rm -rf "$dir"

I click the plus button under the Input Files list and set the name to $(BUILT_PRODUCTS_DIR)/FractalClock.saver. I click the plus button under the Output Files list and set the name to $(BUILT_PRODUCTS_DIR)/FractalClock.dmg. The pane ends up looking like this:

Now I can build a disk image containing FractalClock.saver by right-clicking on the FractalClock.dmg target and choosing “Build FractalClock.dmg”. The resulting disk image (found in the build/Release subdirectory) is Internet-enabled, so if I put it on the web and a visitor downloads it with Safari, Safari will automatically unpack FractalClock.saver and put the disk image in the Trash.

I also want to build a disk image containing the FractalClock source code. So I create another target, named FractalClock-source.dmg. It doesn’t have any direct dependencies. I could make all of the source files be its direct dependencies, but that’s too much work. At any rate, I want the contents of the disk image to be a pristine copy of the source code, without any of the build files. Since I’m keeping the source code in Subversion, I’ll make the shell script for FractalClock-source.dmg check out a fresh copy of the source tree. Here’s the script:

set -ex

[ "$ACTION" = build ] || exit 0
[ "$BUILD_VARIANTS" = "normal" ] || exit 0

url="$(svn info . | grep ^URL | sed 's/^URL: //')"
dir="$TEMP_FILES_DIR/disk"
dmg="$BUILT_PRODUCTS_DIR/$PROJECT_NAME-source.dmg"

rm -rf "$dir"
mkdir "$dir"
svn export "$url" "$dir/FractalClock-source"
rm -f "$dmg"
hdiutil create -srcfolder "$dir" -volname "$PROJECT_NAME-source" "$dmg"
hdiutil internet-enable -yes "$dmg"
rm -rf "$dir"

I don’t add any files to the Input Files or Output Files lists for the FractalClock-source.dmg Run Script phase. It’s too much work to list all of the individual files that are its input, and if I list its output but not its input then Xcode won’t know when it needs to be rebuilt. This way, it will just rebuild it from scratch whenever I right-click the target and choose Build.

Since I’m going to be putting the disk images on my web site, I want to be able to upload them easily also. So I create a subdirectory named web in my project directory. I put the web files other than the disk images there. There are just two, index.html and saver.png. Then I create one more shell script target, named “Web Site”. It has two direct dependencies: FractalClock.dmg and FractalClock-source.dmg. Here’s the script:

set -ex

rsync -avz "$BUILT_PRODUCTS_DIR/$PROJECT_NAME.dmg" "www.dqd.com:www/programs/FractalClock/."
rsync -avz "$BUILT_PRODUCTS_DIR/$PROJECT_NAME-source.dmg" "www.dqd.com:www/programs/FractalClock/."
rsync -avz "web/." "www.dqd.com:www/programs/FractalClock/."

Now, when I right-click on the “Web Site” target and choosing “Build Web Site”, Xcode builds both the application and source disk images, and copies them and the web files to my web site. What could be simpler?

Fractal Clock Screen Saver

Filed under: Uncategorized — mayoff @ 4:33 am

I have written a MacOS X screen saver called Fractal Clock. Enjoy.
Enjoy, damn it!

This was inspired by an article on the Wolfram blog, wherein
Theodore Gray asks, “Why Spend More Than Five Minutes on a GUI?” The obvious answer is, “Because you don’t have $2500 to spend on Mathematica.”

I do have Mathematica, and Tree Bender is a fun toy, but another answer to Theodore’s question is: Mathematica is slow. My native version runs a lot faster. Also, you can’t write a screen saver in Mathematica.

2007/05/06

Cunctatious

Filed under: Uncategorized — mayoff @ 5:41 am

“Cunctatious” is a wonderful word I ran across in the OED that I think, sadly, describes me.

2007/05/05

Birds and Bugs

Filed under: Uncategorized — mayoff @ 6:07 am

I was stopped at a light on the way to work when I saw a bird land on the sidewalk, pull a bug out of a crack, and start eating it. Presumably, birds find bugs tasty. That’s a weird thought. When a bird grabs a bug in its beak, and crunches down, and the bug shell cracks, and bug goop squirts out onto the bird’s tongue, does the bird think, “Yum, I want some more of that!”? I’m not sure how to punctuate the end of that last sentence.

Movie Obligation #4: Hot Fuzz

Filed under: Uncategorized — mayoff @ 6:04 am

We saw this on Sunday, as I recall. I liked it a lot. Even more than Shaun of the Dead.

Blog at WordPress.com.