Keep Working with Full Screen Movies on a Second Monitor

Do you have a big external monitor for your Mac laptop? If so, you might want to watch a DVD or a video file on it while you continue to work on your main monitor. With the click of a checkbox, you can keep the video playing full screen while you use other applications.

In the DVD Player application preferences, check “Remain in full screen when DVD Player is inactive”:

In the QuickTime Player 7 application preferences, click “Remain in full screen when player is inactive”:

It’s a little tricker to set up the same configuration in iTunes, but you can play many iTunes videos (including television shows and movies purchased from the iTunes store – but not rentals) in QuickTime Player. Right-click a movie in iTunes and select “Show in Finder” to locate the file.

Posted on Saturday, March 6th, 2010.

Comment Improvements

Recent traffic has revealed some kinks in the comment system here. Specifically, line breaks were getting lost, so nicely-formatted replies appeared as dense blocks of text. It turns out that this was a result of the overzealous action of HTML Tidy in the comment spam filter. Those responsible have been sacked. Now you plebeians can use whitespace, too!

You can subscribe to an RSS feed for the comments to a specific post by appending /feed/ to the post URL. Most browsers should detect this option and list it wherever news feeds are normally sold. Void where prohibited.

Posted on Thursday, March 4th, 2010.

More Haiku Reviews

These aren’t really reviews so much as partial summaries (and spoilers).

Fuel Pressure by Dennis Egan (via Variant Frequencies 90)

Fatal asteroid
inspires escape for a few;
justice, undermined.

I view this as a parable about the value of communication and the risks of sabotage. Do you fully understand the actions and intents of those you would oppose, and have you made your meaning clear to those who would oppose you? Sometimes, the aims of rebellion can be achieved through cooperation. And sometimes not.

Naught but Ash by Anne Stringer (via Variant Frequencies 92)

No smell of spilled blood
plants doubts about a hanged man,
death, and those he killed.

Mob rule has no patience for details – and the Devil is in the details.

Got Milk? By John Alfred Taylor (via Pseudopod 160)

In gross communion,
doctor, wife, and world drink;
man’s black milk compels.

Some have asked why men have nipples. Here, the question is what a man should do if he sprouts a third or fourth and it starts to secrete some sinister oily goo. I’m not really sure; seeking medical care seemed like a good idea, but when your condition subverts most sensibilities and exerts dominion over all you know, your options are limited.

What’s realistic about this delightfully perverted dairy tale is that the real fright isn’t the abomination but the actions of the normal people who must confront it.

Chinatown by Greg van Eekhout (via PodCastle Miniature 47)

A thousand-year soup
brings business and greedy fiends;
brothers save the broth.

I love the idea of a soup that’s been kept simmering for generations. Eat some of it and add something to it every day; think of all the experience represented in that concentrated flavor.

Anyway, when the antagonist and his simian aides come to demand the soup, the cafe’s proprietor calls on her many brothers to defend the desired pot. Although they are each introduced with some peculiar power, it is simple smarts that save the day. In this way, the story’s neat delivery of a lesson reminds me of a fable.

Moral: common sense often offers a clever solution.

Wind from a Dying Star by David D. Levine (via Escape Pod 238)

Return home, Old John:
your tribe accompanies you,
in hunger, to Earth.

Here’s a far-future story of spacefaring “humans” who travel back to their place of ancestral origin, enduring hardship in order to provide companionship for their eldest, Old John. Sacrifice and revelations ensue.

What is the balance of material and emotional needs? The characters in Wind from a Dying Star must negotiate physical and social scarcity. As Escape Pod host Steve Eley notes, “the greatest crime in this tribe is to allow anyone to be alone.” Space is big, and it is mostly empty.

The Gambler by Paolo Bacigalupi (via StarShipSofa Aural Delights 121)

Celebrity pap
gives serious news long odds
in blitz media.

Initially I was concerned that this was one of those cyberpunk packets that reads like a gadget blog (you know the type – all hot and bothered about the internet, software licenses, and human interface accessories), but I plowed ahead and found it to be a good – even touching – story.

A gentle Laotian journalist, escaped from an oppressive regime, writes thoughtful environmental articles for a media conglomerate more interested in traffic generated by Russian rap scandals. Chastised, he has an opportunity to cash in on exclusive access to a Laotian starlet. But, annoyed by her complicity in the cycle of trash news, and inspired by his father, a gambler and resistance pamphleteer, he bets on another article about botany.

(Speaking of StarShipSofa, my Hugo post has attracted some discussion. I guess that’s what happens when you write something topical of broader interest than AppleScripts for Yojimbo. Hmm. Anyway, take a look!)

Posted on Sunday, February 28th, 2010.

A Hugo for the StarShipSofa

September 2010 – Be warned: in this post I proudly join those quoted below in exploding past the sense of shame a normal person might feel when begging people to vote for them in a popularity contest! Fear not, science fiction fans – the future’s big enough for all of us. Anyway, hearty congratulations to StarShipSofa and all the other Hugo award winners and nominees. I look forward to reading (or, yes, listening to) those I haven’t already read.

As you might deduce from my recent reviews, I’ve been listening to a lot of podcasts recently. I’ve discovered that the world of genre fiction podcasts is a happening place. These aren’t second-string stories: you can hear current work from good authors. Getting published in audio form on a popular podcast is getting published, period, if many authors’ bibliographies are any indication. Some podcasts, like Escape Pod, are even paying markets (modest though they may be). In short, what started as a way to pass time at the laundromat has blossomed into enthusiasm for the form, despite my occasional difficulty paying attention to the noise in my ears.

One podcast, StarShipSofa, is particularly special. It’s an “Audio Science Fiction Magazine” that features nonfiction articles, interviews, editorials, and other material in addition to the bedrock content of interesting stories. It’s all tied together by host Tony C. Smith, and produced with the help of a team of volunteers. It’s a community effort that keeps you abreast of what’s happening in the SF community.

For that reason, there is a grassroots campaign underway to get the StarShipSofa nominated for a 2010 Hugo Award for Best Fanzine.

Awards are just awards, but the reader-bestowed Hugo Awards really are a pretty big deal. A podcast has never been on the ballot for a Hugo in any category, but a growing number of StarShipSofa contributors and community members argue that the time is nigh to recognize the role shows like the Sofa play in sustaining the genre.

Amy H. Sturgis on the grounds for eligibility:

Technically speaking, electronic publications have always been eligible for the Hugos. The year 2009, however, brought two new and exciting developments for those of us who support new media: first, the audiobook METAtropolis […] was nominated for a Hugo in the Best Dramatic Presentation, Long Form category, a first for a straight-to-audio production; and second, the World Science Fiction Society Business Meeting ratified a constitutional amendment that added the words “or the equivalent in other media” to various Hugo Award category definitions, thereby formally acknowledging what had always been the case de facto, that electronic publications were eligible. [See here for a somewhat stodgier explanation of the pertinent amendment from WSFS representative Vincent Docherty.]

Larry Santoro on podcasts, readerships, and community:

The podcast communities echo the groups that gathered in the 20s and 30s around such figures as H.P. Lovecraft and pals. They are a shadow of the “Futurians,” a group of science fiction fans-cum-writers-cum-agents and editors-cum-publishers who formed the soul of the Golden Age of Science Fiction of the 40s. People such as Isaac Asimov, Damon Knight, Virginia Kidd, Judith Merrill, Frederik Pohl, Donald A. Wollheim, James Blish, Jack Gillespie, Cyril Kornbluth and others were the Futurians. [The rhetoric I deployed in annoyance against certain old-school stories certainly does not apply to the rest of the era!]

Matthew Sanborn Smith on why the good ship and her crew deserve recognition:

One of the greatest programs out there comes together from all over the globe every single week because of nothing but love. And whether you’re a contributor or listener, you’re a part of that. If that’s not a fanzine, there’s no such thing as a fanzine. If the Sofa never wins an award it will still have achieved something unique in all of science fiction history: It will have been our home.

But let’s win an award anyway.

Robyn Bradshaw on the experience of enlisting with the StarShipSofa:

Before getting involved with StarShipSofa, I never read genre magazines or went to cons or anything – I just bought lots and lots of novels that I read quietly in my basement “and washed my hands afterwards” (to misquote Robert Heinlein).

Now I am writing promo blurbs, narrating short stories, doing audio reports, emailing/ blogging/ friending/ tweeting all over the place, and working on the show’s next book project.

Kind of makes you want to get involved. I’m not presently in a position to pony up the nomination dues, but I’m going to keep listening to the StarShipSofa, and perhaps one day I will wander down to the spaceport and ship out.

Posted on Saturday, February 20th, 2010.

XML Parsing in AppleScript

I recently wrote a script that posts bookmarks from Yojimbo to Pinboard. Now that I have a nice system for posting links, I find that I’d like even more integration. For instance, I’d like to be able to keep Yojimbo in sync by downloading any links I post to Pinboard via other interfaces.

The Pinboard/Delicious API provides a variety of methods for retrieving link information, but there isn’t a straightforward way to parse the results in AppleScript. In my posting script, I just search the response for code="done". This is sufficient to tell if the add method succeeded, but methods that return more detailed information need more rigorous handling.

Incidentally, AppleScript supports direct interaction with SOAP or XML-RPC web services; see the documentation here. However, the Pinboard API uses a different architecture, REST (sort of).

Essentially, a query is represented as a URL, with parameters, and the XML results are returned by the server like the content of any other web page. (I use do shell script and curl to make the request and get the raw results; I don’t know if there is a better AppleScript idiom for general HTTP transactions. URL Access Scripting is dusty and requires writing temporary files.) The task is to extract the relevant bookmark information from the response.

As it turns out, the System Events scripting dictionary includes an XML suite, pictured above. Some experiments based on the examples given in this discussion at MacScripter confirm that it can be used to parse data returned by the Pinboard API. So, all the pieces necessary to implement a more sophisticated AppleScript bookmark syncing system are available.

Posted on Saturday, February 20th, 2010.

LEGO Remix

DJ Brick

I’ve started a Flickr group called LEGO Remix. It is dedicated to the fine art of the alternate model – something original created with the pieces from an official LEGO set. You have to be frugal and creative with your parts usage to make a good alternate model. It’s my favorite building challenge. The LEGO Remix group is intended to encourage this aspect of the hobby.

(The icon is supposed to be a DJ. He’s… remixing some beats.)

Posted on Tuesday, February 16th, 2010.

Safari, NetNewsWire, Yojimbo, and Pinboard

Bookmark Page in Yojimbo

This is a script for Safari. It’s a variation on my Bookmark in Yojimbo script. The original “Bookmark & Edit” option has been replaced with “Bookmark & Post to Pinboard”. I rarely want to edit a bookmark or its properties, but soon I might start sharing some links on Pinboard.

Bookmark News in Yojimbo

This is a script for NetNewsWire, a free feed reader for Mac OS X. It works just like the above script for Safari. It saves a bookmark to the current news item, and provides an option to spread the news by posting the bookmark to Pinboard. This is what I’m going to do instead of sharing items in Google Reader.

Post Bookmark to Pinboard

This is a script for Yojimbo, the program I use to save bookmarks and other bits of information. It posts the selected bookmark items to Pinboard. This script is invoked [and thus required] by the “Bookmark & Post to Pinboard” option in both scripts listed above.

Before posting a bookmark, the script prompts you to enter a description. The initial value of the description is based on the Yojimbo item comments. If you click “Post”, the bookmark will be posted with the given description but the Yojimbo item comments will not be changed; “Post & Update Comments” will change the item comments to match the entered description.

To help you keep track of what you’ve shared, items posted to Pinboard are added to a “Pinboard” collection, which will be created if it doesn’t already exist. As an example, here’s what my collection looks like at the moment:

And here’s how it looks on Pinboard:

Limitations

These scripts don’t deal with tags, labels, stars, or other features offered by Yojimbo or Pinboard. These scripts aren’t likely to be very useful if you’re not me. I don’t know exactly what happens if you post the same bookmark to Pinboard twice; I think it’s updated automatically.

There are bugs.

Download

Download all three scripts here (24 KB)

Configuration

Some assembly is required. I recommend installing the scripts in the following locations (create the directories if they don’t already exist). Run them with FastScripts or the regular script menu.

~/Library/Scripts/Applications/Safari/Bookmark Page in Yojimbo.scpt
~/Library/Scripts/Applications/NetNewsWire/Bookmark News in Yojimbo.scpt
~/Library/Scripts/Applications/Yojimbo/Post Bookmark to Pinboard.scpt

Edit the _pinboard_script_path property at the top of both “Bookmark in Yojimbo” scripts to identify the full path to your copy of the Pinboard script. In my case, this reads:

property _pinboard_script_path : "/Users/anoved/Library/Scripts/Applications/Yojimbo/Post Bookmark to Pinboard.scpt"

Lastly, edit the _API_username and _API_password properties at the top of the Pinboard script to reflect your Pinboard login information. Since the Pinboard API is essentially a clone of the Delicious API, it should be straightforward to modify this script to work with Delicious – but unfortunately I haven’t quite got it working. Don’t hold your breath for an update, but please do share any fixes or improvements.

Acknowledgements

The code to post to Pinboard is derived from this NetNewsWire to Delicious script by Larry and Andrew. My sketchy URL encoding code is lifted from this example at Mac OS X Automation.

Posted on Monday, February 15th, 2010.

Listen to fiction / instead of in-depth reviews / enjoy my haikus

The City Quiet as Death by Steven Utley and Michael Bishop (via Tor.com Story Podcast 9)

Don Horacio:
abandoned by God and Man,
mad as the old stars.

The universe reverberates in Horacio Gorrión’s ears, a grand clamoring neurosis of action, stasis, and scale. Counseled on one hand to find purpose through investment in the new physics of Genesis, and counseled on the other hand to accept the benevolent disinterest of a distant Prime Mover, Horacio ultimately succumbs to the briny discord of the squid in the locket.

Existential dread is the fundamental ingredient of Lovecraftian horror, and The City Quiet as Death delivers a compelling portrait of an aged bachelor overwhelmed by the incessant continuity of Creation. The well-realized setting of his Caribbean household provides plenty of calories – and the threat of tentacles is an appropriate garnish.

Morris and the Machine by Tim Pratt (via Drabblecast 150)

Today love grows cold –
travel back to set things right;
time is no arrow.

Morris is a tinker who has built something in the basement. His wife is become weary of his work and wary of his absences. Morris has made a great breakthrough, but it is a bittersweet victory. He returns from each test of his machine and of himself to find no progress towards his heart’s goal, which slips further away with each day.

Good story. Sad stories often are.

Biographical Notes To “A Discourse On The Nature Of Causality, With Air-Planes” By Benjamin Rosenbaum by Benjamin Rosenbaum (via Podcastle 90)

Aboard an airship,
the Plausible Fabulist asks
in whose plots we act.

Set in a fanciful alternate reality populated with zeppelins, assassins, and helpful mechanical Wisdom Ants animated by the Brahmanic field, this story’s endangered protagonist – a writer – considers how his protagonist – an inhabitant of a rational “materialist” world like ours – might reason his way out of such improbable peril. Through the lens of fiction, the fictional Benjamin Rosenbaum discerns a solution to his plight.

We, too, can view fiction as more than mere entertainment. Each story is a pattern; equipped with the memory of many patterns, more situations become recognizable and more challenges become tractable. This is how imagination enhances experience. (But don’t forget to vet intuition with reason.)

Posted on Saturday, February 13th, 2010.

Translucent Parts Lists in LPub

Inspired by a preview instruction image posted by GreenLead, here is a guide to creating parts lists with translucent backgrounds in LPub.

Start by opening a model in LPub. I’m using this one.

Go to LPub’s Configuration menu and select Page Setup. Choose Picture as the Background type and select a file (thanks to Hubble for the nebula image in this example).

Now the page background is in place. Don’t forget that some images make better backgrounds than others. This example is a bit dark, making it hard to see the assembly details in some places.

Next, return to the Configuration menu and select Parts List Setup. Select Picture as the parts list Background type and choose your background image (here is the simple transparent white image I’m using).

In this case, it doesn’t matter whether you choose Stretch or Fill, but if your parts list background has some texture or text you may prefer one over another. However, I think there is a currently a bug in LPub that causes the parts list border to be stretched or cropped along with the background, so for now you’ll probably want to select Borderless as the Border type.

Now the page background is partly visible through the tinted parts list backgrounds. No post-export image editing necessary! Note that you can also modify individual parts lists backgrounds one at a time by right-clicking them.

I hope this gives you some ideas for new things to try with your custom instructions.

Posted on Thursday, February 11th, 2010.

Old School versus New School SF

I recently listened to StarShipSofa Aural Delights #119, featuring the first “Old School versus New School” showdown. This feature presents two stories, one from contemporary times and one from the Golden Age of science fiction. Listeners are polled on the podcast website, and the story that wins the most votes will be announced as the favorite in a future episode.

The comparison provides an interesting structure for the show. This week, the old school story was The Last Evolution by John W. Campbell, Jr. The new school story was Knotwork by Nina Kiriki Hoffman.

I wasn’t sure what to expect. I’m familiar with and fond of the work of authors I consider progenitors of the genre: Jules Verne, H. G. Wells, and later writers credited as Golden Age authors, including Arthur C. Clarke, Isaac Asimov, and Ray Bradbury. I was therefore surprised to find that I detested The Last Evolution. (The full text is available for free at Project Gutenberg).

The Last Evolution

I enjoy stories of all stripes, so why did this one provoke such a negative reaction?

The problem here is not in the details of the science deployed in support of the story; it’s that there are no details, the science consists of the pursuit of some hand-wavy “Ultimate Energy”, and that the story simply isn’t compelling.

Illustration by Leo Morey

I find The Last Evolution guilty of that most threadbare indictment of science fiction, which is that it’s all about gee-whiz robots and spaceships, coupled with a nerd’s neglect of the social elements that make stories meaningful and memorable. In general, I reject that characterization of the genre, but in this case I think the stereotype is accurate.

(I’m familiar with some of the period’s authors, but I’m not too familiar with the old pulp magazines like Campbell’s Astounding Science Fiction; perhaps it was once the norm to publish such shallow stuff.)

The Last Evolution describes the final superiority of machines over mankind in a fight against alien invaders. Questions about machine intelligence are genre staples today, so Campbell deserves credit for addressing the subject in his time. Nevertheless, our resilience customarily provides some reassurance in parables about humanity’s fate. No such flattery is present in The Last Evolution. Perhaps I am just hurt that Campbell finds support for the null hypothesis; after all, there is strong pro-human publication bias in science fiction written for a human audience.

The plot reminds me of an escalating playground argument. Imagine two small boys playing with toy soldiers, countering each claim of victory with unexplained declarations of invulnerability or improved weaponry. This is how the competitive evolution of new machines is described in The Last Evolution. Each iteration is more capable, according to vague allusions to greater strength and sophistication, but there is no convincing differentiation between generations.

Here is a very specific complaint: the words “machine” and “beam” are overused. (The word “machine” occurs 103 times and the word “beam” occurs 53 times.) These are poor substitutes for more engaging descriptions of the robot technologies central to the story. I found it exasperating to hear about yet another machine equipped with yet another beam.

There are a few human characters, but they exist mainly to deliver some cardboard “oh no; now we are all nearly dead” dialogue in lieu of a decent elegy.

I take a dim view of the unmitigated conclusion that technology obviates biology.

I accept that a key function of science fiction is to explore provocative premises, but I take a dim view of the unmitigated conclusion that technology obviates biology. A species’ fitness depends on its environment, so a mechanical race won’t necessarily occupy the same niche as the human race.

Of course, alien death beams ultimately eliminate every human niche, leaving behind an environment that is indeed only fit for machines. So, there is some logic to the plot – but there isn’t any heart.

Knotwork

So what of the second story, Knotwork? Its presence in the podcast demonstrates the inclusive breadth of today’s science fiction spectrum. The Last Evolution is all about machines and their god damned beams, whereas Knotwork is all about people and their feelings. There is an otherworldly kink to the plot, but it emerges gradually in service to the story. I liked it.

The titular thread-and-pencil mojo of Knotwork might seem more like fantasy than the technological extrapolation typically associated with science fiction. True, but science fiction stories aren’t necessarily about science. The label derives from the setting; in many cases, “engineering fiction” would be a more accurate label, as it is novel technology, not the facilitating science, that motivates or constrains the plot. The science content in popular subgenres such as space opera is often so far removed from current understanding that it might as well be magic.

Think about a story as an instance of the scientific method at work. A what-if hypothesis is proposed in the circumstances or the choices of the characters. The plot unfolds, as an experiment, from these initial conditions. Observations are made and conclusions are drawn – or left open for future research and reading to resolve. Repeat, and bit by bit understanding accumulates. It is not a quantitative method, but replicated findings gain authority, divergent interpretations indicate interesting problems, and, occasionally, we are rewarded with serendipitous insights.

In Knotwork, the science is in the storytelling. What can you learn about yourself by imagining what would happen if you pulled the strings?

Science fiction makes this experimental model explicit in its setting, as does all speculative fiction, but stories of any genre can pose questions and pursue answers. This is what science fiction has taught me to recognize and appreciate in all literature. In Knotwork, the science is in the storytelling. What can you learn about yourself by imagining what would happen if you pulled the strings?

Plus, as someone who likes to doodle, I am partial to the idea that there is a power beyond mere representation in the marks that make up a drawing.

I might even argue that there is a bit of real magic.

Posted on Tuesday, February 9th, 2010.