Age of Sail

The "Wednesday Gamers" have been playing an Age of Sail game in my absence. (I have had work and family events that prevented me from playing.) And so, I have been an armchair admiral for the last few weeks. I am currently reading N. A. M. Rodger's The command of the ocean : a naval history of Britain, 1649-1815 to get better acquainted with the period. I also read the article, review, and reply to Douglas Allen's fascinating analysis of the economic incentives that made the Royal Navy and so Britain a great power: The British Navy Rules: Monitoring and Incompatible Incentives in the Age of Fighting Sail. (Also for free.)

While looking online for Age of Sail game rules I came across Jeffrey Knudsen's and his wonderful paper-craft models. I have not yet built any (armchair restrictions), but I have to say that the instructions are top notch. Even if you have no intention of making a 1:900 scale square-rigger do read the instructions for the 64-gun ship of the line and rigging tutorial. They are models of instructional clarity.


While I did not find the rules the Wednesday Gamers are using I did find the board game Fighting Sail which I want to try. The game was published by Simulations Publications, Inc. (SPI) many years ago and long out of print, but thanks to pack-rats and their pimp I was able to buy an unpunched copy.


I want to sit at a bar with Chris McMillian behind it!

Background tasks

I don't like waiting on the completion of a task that should be run in the background. For example, when I bookmark a page using a Delicious bookmarklet it presents a modal dialog box that has me wait for the bookmark to be made on Delicious' servers. The saving might only take a short time but the length of this short time varies greatly. The unknown wait is a serious obstacle to maintaining flow.

What I would like to see is for web browsers to have a background tasks API and user interface. A task is a JavaScript function. A web page or application (webapp) can add a task to the list of background tasks. The execution of the background task has the same constraints as any other task running in a give webapp from a specific web site.

The task is run by the browser when it has the chance. There are no guarantee of timeliness; just a promise of best effort. For simplicity, all the tasks in the list are run in the order added by the adding webapp. That is, if pages A and B both add 5 tasks to the background list then the tasks will be run in the order A1, B1, A2, B2, A3, B3, A4, B4, A5, B5. All tasks "succeed" in that any errors that occur must be conveyed to the originating webapp and its existing enqueued tasks. For example, a status of the task is kept in a cookie and the webapp & its tasks look at this cookie to determine the right course of action. The only indication to the user of tasks status will be a message in the task history. The user must not be expected to "respond" to the status message. The webapp is allowed to enumerate its tasks and to cancel them.

The "Narrator" service

I have an itch. I want to create a podcast. Not of myself talking on & on about something of importance to me. (I do this in my day job and in the mirror.) What I want is a podcast of the long articles or papers of interest that I discover. I want to be able to access these in the car or when I am otherwise not able to read them online or in print. A podcast of readings of these longer texts subscribed to in iTunes would be very helpful. And so I am now thinking about implementing a service to achieve this.

The "Narrator" service is a very simple pipeline. At this stage it looks like this:

  1. URL of article to read is deposited with Narrator.
  2. Narrator deposits the URL to Instapaper.
  3. Narrator confirms Instapaper's understanding of the text with the depositor.
  4. Narrator starts a HIT with Mechanical Turk.
  5. The HIT's reader uses Narrator's online audio capture to record the reading.
  6. The depositor is notified of the reader's audio availability.
  7. Narrator adds the article's link and the reader's audio to the depositor's podcast feed.

I will keep this posting updated as I find out more about implementing this service. If these already exists, then please tell me.

Update: The Umano app and service is getting close to what I want.