Returning whence I came, ergodic literature in tow

(For an earlier build-up to this post, see Resources not Services.)

Years ago, I asked where was my Lord of the Rings? Many sympathized with the lament and it's clear they got the message: where was my "epic", my "lasting impression", my "contribution to society"? It's four years later and I've realized the Lord of the Rings was the wrong series to associate the depression with: it's just not good enough.

I've no problem with Middle-earth, and it's still an admirable thing to appreciate and enjoy. What I want to create, however, is something slightly different, something slightly more mysterious. There's been plenty written about Middle-earth, and its epic can be as simple or as complex as you'd like, but it's always optional: the additional books expand archaically on Tolkien's mythology and intentions, but none of it is truly necessary to the core reading.

What I prefer to read, and hopefully write, is something more akin to ergodic literature, something that "requires a 'non-trivial effort' to traverse the text". I consider Infinite Jest a recent example because, although you can read it by "merely moving ... along lines of text and turning pages", there's so much depth and complexity that you'll gain more appreciation via annotation. House of Leaves is another example: atypical page layouts and complexities abound. I've not read any of Thomas Pynchon or James Joyce (gasp!), but I suspect they'd also match my considerations.

Complexity and depth isn't the only thing I find palatable - one downside of the books above is that their "easter eggs" are based on the real world. Still, ergodic alternatives do exist, such as Milorad Pavich's Dictionary of the Khazars; my encyclopedic Ghyll was inspired by this work and was built by dozens of "scholars" over many months. Jorge Luis Borges and most alternate reality games like Perplex City also require "non-trivial" efforts to appreciate them.

Finally, wordplay and and a wry grin are high on my list, and most of the above works contain one, the other, or both. Vladimir Nabokov sprinkled "linguistic playfulness" throughout his work, and Martin Gardner's The Annotated Alice offered an understanding of Wonderland and its embedded secrets that I hadn't anticipated. Creating something that can be read straight through, then spelunked for hidden treasure, then appreciated through research and annotation, is very appealing to me. Something "subtle", as sbp puts it.

The only problem is that I haven't written fiction for decades. I've done two technical books and a dozen articles for O'Reilly, one for Apple, a year-long column for MacTech magazine, non-fiction this, non-fiction that. Ghyll could be considered fiction, but it was written with a scholarly "voice", making it more an exercise in imagination than craft. The last time I really wrote fiction was high school, when New Hampshire English teacher Michael Phelps read one of my Dickensian works to the class and told them they'd see my face on the back of a book someday. Prophetic, and a memory that will stay with me forever. In 2003, I e-mailed Mr. Phelps to tell him of my progress and memories and he replied that, as a teacher, these sorts of updates are vitally important. If you've not reached out to yours, I heartily admonish you to.

Relearning fiction is something I'll begin shortly.


Anyone play Guild Wars?

Any readers play Guild Wars? I'm just about to create a character in Prophecies and looking for a guild.


Link Dumpage for 2009-06-19

Notable links enjoyed today:

  • Delicious tags: pixar up cancer movies death sad
    "The company flew an employee with a DVD of Up, which is only in theaters, to the Curtins’ Huntington Beach home on June 10 for a private viewing of the movie." Wonderful story, peacefully ending with "Colby died about seven hours after seeing the film." Especially poignant to me, at least, was "Pixar officials declined to comment on the story or name the employees involved.", which screams "This was not a marketing stunt. Leave us alone." Good job, Pixar.


Midlife crisis or in a rut? Make Morbus Melancholy!

I might be having a midlife crisis. But, as in all things, especially regarding a pseudo-science concept such as this, the more you examine it, the more you can convince yourself that all this stuff is True and Happening. It's why fortune-tellers and horoscopes and precognition remain popular - the observer effect is well known (and, unknown to me but submitted by sbp: the Forer effect).

If we take Wikipedia at face-value, I don't feel this has anything to do with "the passing of youth and the imminence of old age". I'm 31, but I feel like a young'un. I have to think about what my age is, and I do so not because it's rote but because I have to calculate it every time from the year I was born. When you grow up without birthdays, you just don't pay much attention to age or years. Nor has anything major happened in my life lately, unless you consider the birth of my first child, three years ago, and my second, one year ago - I certainly consider those major events, but positive ones, not like "death of a spouse" or "career setback".

When I look at all the things I like to do (which is an awful, awful lot - I haven't been bored for decades), I don't find myself getting the same amount of satisfaction I used to. I feel "paralyzed", unable to sit down and "do something", but not from laziness nor lack of impetus. This applies both to existing projects or new attempts of existing interests (writing a new program or book, starting a new game, etc.). I don't have any "new" interests that couldn't fall into a subset of an existing desire, nor would I have the time anyways.

The lack of time is a contributor, I think. In a 24 hour day, I sleep 6, work 7, and "babysit" for another 6.5. Let's fill up another 1.5 with maintenance (eating, showering, responding to e-mail and other computer-y things). That leaves me three hours of the day for myself (I will ignore rebuttals of "OMG, YOU HAVE FREE TIME?!!": I'm not comparing myself to you, asshat). In that remaining time, I'm supposed to "relax", "wind down", and "enjoy myself" (my beliefs). For the past week, and on and off for months, I've merely wandered around the house or sat in a chair staring into space. Sometimes I'll meander idly around the web, wasting bandwidth.

There is plenty to do and plenty that I want to do, but it seems that by the time I start to do it, and really get into doing it, time is up, time for bed. I never reach that point of being "in the zone"; my free time feels like an endless series of false starts that may culminate into something worthwhile, but eventually peters off into trying to figure out what I was thinking 24 hours ago.

Maybe I'm "just in a rut" - I've been in those before, but never this long.

Part of my problem may be because I try to make everything a "project", something that I would be proud of "releasing". That perfectionist mentality got me to where I am today but, back then I had a lot more free time. As an example, one of my latest "longest journey" goals is to read every Star Trek book ever written, something approximating over 1,000 entries. A lofty goal, certainly, but I couldn't leave well enough alone: I've convinced myself that I should do "something worthwhile" and contribute summaries and so forth to Memory Beta. Even though I love reading the books, I almost dread finishing one because it means I "have" to improve the wiki, something that would take me a few three-hour nights per book. It's easy enough to say "well, don't do that", but the researcher in me chastises me for "keeping the data all to myself". I'm fighting myself over being a leech or a contributor.

One of the oldest projects I've kept wanting to come back to, time and time again, has been a browser-based game. I've started coding dozens since I first wrote about them in 2000, but they always reach a point where I lose interest: I know I'm a better coder than most people, and I know success is inevitable. Coding nowadays, for me, is like cutting and prepping ingredients for your favorite meal: it's busy work and my mind wanders. I know I can do it, I take no pleasure in it, and it's rarely a challenge. Given enough time, I'll succeed, and keeping it maintained with the latest framework releases will seem like work and a waste of time. I prefer story over mechanics anyways, but I don't even feel like I have enough time to run a decent play-by-post RPG.

Nearly everything I like doing, and I've examined them all, doesn't seem worth actually doing anymore.

I can't even be arsed to write a decent conclusion to this posting.

Link Dumpage for 2009-05-29

Notable links enjoyed today:

  • "The Story Behind The Looking Glass Laboratories' Alternate Reality Game. The official reasons as to why this ARG was created are: There are several friends and business associates that didn't understand the concept of an "alternate reality game." Some of these friends are prospective writers who did not understand the concept and how it can be used to portray a storyline. We hope we have expressed some of those possibilities. To see what it really is like on the other side of the curtain. You can never understand the amount of work and dedication a "puppetmaster" has to put in to a project until you become one; now having been one, we have more respect for PMs than you can possibly imagine."
  • Delicious tags: movies horror classics
    "This is when I decided to make my own list of horror movies that A) people don’t know about, B) should be talked about more often, C) are as good as the known classics, and D) need to be seen, for Heaven’s sake!" Includes: And Soon the Darkness..., The Exorcist III, Bunny Lake is Missing, Hour of the Wolf, Long Weekend, The Little Girl Who Lives Down the Lane, Who Can Kill A Child?, Just Before Dawn, Magic, and The Innocents.
  • Operation: Sleeper Cell postmortem broken up into preparation and design, fundraising, project management, marketing, mission design, game design, live events and website, tech, and then a recap with player comments and statistics.
  • I love reading postmortems and summaries of ARG-y things (even for ones I was a judge/consultant on, like this one:) "Operation: Sleeper Cell was made by Law 37 to raise money and awareness for Cancer Research UK as a result of the Let's Change The Game competition. The game ran for ten weeks in late 2008 and we raised £3668 in total. Everybody who worked on the game did so in their spare time as volunteers."
  • Delicious tags: movies endings
    "We'll just fix that in post!" has always been the rallying cry for filmmakers in the middle of a troubled production. Unfortunately, sometimes things have a nasty habit of actually getting broken in post-production, usually thanks to studio interference. Victims include: I Am Legend, Superman II, Dawn of the Dead, Live Free or Die Hard, and Blade Runner."
  • Delicious tags: sex wii games
    "Dark Room Sex Game is a Wiimote enabled game in which players try to climax with their partners - with no on-screen visuals whatsoever ... Dark Room Sex Game is an erotic multi-player rhythm game without any graphics, played only by audio and haptic cues. The game can be played with Nintendo Wiimote controllers or a keyboard. In Dark Room Sex Game, the player works with his or her partner to find a mutual rhythm, then speeds up gradually until climax. In four-player "orgy" mode, players swap partners randomly and compete to reach orgasm the fastest."
  • Delicious tags: scientology religion history
    "Operation Snow White was the Church of Scientology's name for a project during the 1970s to purge unfavorable records about Scientology and its founder L. Ron Hubbard. This project included a series of infiltrations and thefts from 136 government agencies, foreign embassies and consulates, as well as private organizations critical of Scientology, carried out by Church members, in more than 30 countries;[1] the single largest infiltration of the United States government in history[2] with up to 5,000 covert agents."
  • Delicious tags: design gamedev games
    "After last year's column I got a flood of new suggestions from frustrated players and developers, so here are nine new Twinkie Denial Conditions for the ninth installment of Bad Game Designer, No Twinkie!: Failure to Explain Victory and Loss Conditions; Time-Constrained Demos; Obvious and Cheap Reskins (also known as Cookie-Cutter Games); Computer Crashed While Saving? Game Over!; Friendly AI Characters That Do More Harm Than Good; Fake Interactivity; Bad Gamepad-to-Mouse/Keyboard Conversions (and vice versa); Setting the Player Up to Fail; Your Only Save is Immediately Before Your Death."
  • Delicious tags: video corpus clock youtube
    "The Corpus Clock has been invented and designed by Dr John Taylor for Corpus Christi College Cambridge for the exterior of the college's new library building ... The clock has been designed by the inventor and horologist Dr John Taylor and makes ingenious use of the grasshopper escapement, moving it from the inside of the clock to the outside and refashioning it as a Chronophage, or time-eater, which literally devours time."
  • Delicious tags: achievements games
    "What in-game objectives ought to merit achievements? How can games best be designed with achievements (and achievers) in mind? What further rewards can be tied to achievements to enhance their effective use in games? How much worth do game achievements truly have? In order to better approach these and other questions, GameCyte consulted Rene Weber, a professor of psychology and telecommunications, and Patrick Shaw, a game designer/developer, who recently collaborated to research and define player types and motivations in modern gaming. Weber and Shaw offered us their considerable expertise in order to examine why game achievements have become such a vital part of our gaming experience."


Link Dumpage for 2009-05-28

Notable links enjoyed today:

  • "As almost everyone knows by now, various major daily newspaper published, on July 10 2008, a photograph of four Iranian missiles streaking heavenward; then Little Green Footballs (significantly, a blog and not a daily newspaper) provided evidence that the photograph had been faked ... For me it raised a series of questions about images. Do they provide illustration of a text or an idea of evidence of some underlying reality or both? And if they are evidence, don’t we have to know that the evidence is reliable, that it can be trusted?"
  • "Because so little primary historical work has been done on the classic text computer game "Colossal Cave Adventure", academic and popular references to it frequently perpetuate inaccuracies ... This paper analyzes previously unpublished files recovered from a backup of Woods's student account at Stanford, and documents an excursion to the real Colossal Cave in Kentucky in 2005. In addition, new interviews with Crowther, Woods, and their associates (particularly members of Crowther's family) provide new insights on the precise nature of Woods's significant contributions."


First in a series about the Kindle 2

The first in my technical series on the Kindle 2 has been posted over at O'Reilly:

The Kindle 2 is the first e-reader I've wanted to buy for numerous reasons, chief of which are an undying love for Amazon (first purchase in 1999, Amazon Prime member, bakes the UPS guy cookies, 10,000 products rated, etc.), and the necessity of support for Mac OS X, my preferred OS. While I've demo'd the Sony Readers at my local Borders, they never pushed me over the edge of purchasing, especially with the tacit agreement that I'd be unsupported. I've also never been a fan of "serious" reading on a phone or a PDA - it's a bit like reading a 2000 page children's book, with only a paragraph or two at most per viewport.

When the Kindle 2 was announced, a number of questions I had the first time around resurfaced. After some investigation, I found some answers, true, but mostly came away with more questions and a general need for more info. This series will attempt to address my own concerns in exacting detail...

Forcing SimpleTest to use the live database

SimpleTest, the test suite that Drupal started using, and then improved upon, has primarily been used to test modules in their own little sandbox, unaffected by the outside world, user data, or client-desired tweaks. This is perfectly fine when you're working on a controlled piece of code, like a module intended for release. When you're building a client site, however, you often have a much more ephemeral set of quality assurances to make: that this CCK node has seven fields, that this field doesn't show up for that particular user role, that "Body" has been renamed to "Description", or that the front page display has a certain set of blocks.

Each of those case scenarios all involve changes to the "in-progress" database, the one where the client is adding content, or Views are being configured, or blocks are being made and placed, et cetera. Since SimpleTest's default goal is to start fresh for each particular test method, creating new database tables that have no content in them, you'd never be able to test any of the tweaks the client wants on their live site. If someone accidentally deleted a field from a previously perfect content type, SimpleTest wouldn't catch it.

Thankfully, we can fix this by overriding the setUp() and tearDown() methods that our test classes inherit from DrupalWebTestCase - these methods normally handle the creation of the fake database and the cleanup of any fake created data. (Note: this assumes you're using SimpleTest 6.x-2.x or Drupal 7: earlier versions will not work.)

class FunctionalGenericTestCase extends DrupalWebTestCase {
  function getInfo() {
    return array(
      'name' => t('Generic functionality'),
      'description' => t('Generic user functionality tests for custom code.'),
      'group' => t('Trellon Development'),

  // for our functional testing, we want to test the pages and code that
  // we've been generating in the real database. to do this, we need to
  // ignore SimpleTest's normal fake database creation and fake data
  // deletion by overriding it with our own setUp and tearDown. NOTE that
  // if we make our own fake data, we're responsible for cleaning it up!
  function setUp() {
    // support existing database prefixes. if we didn't,
    // the prefix would be set as '', causing failures.
    $this->originalPrefix = $GLOBALS['db_prefix'];
  function tearDown() { }

  // ensure items from mocks exist.
  function testFrontpageChanged() {
    $this->assertNoText(t('Welcome to your new Drupal website!'),
      t('Default Drupal front page has been changed.'));

  // check for all end-user fields.
  function testContentTypeFields() {
    $this->drupalLogin((object)array('name' => 'authed', 'pass_raw' => 'ahem'));

      t('"Body" renamed to "Story" per content-type-outline.pdf (2009-02-18).'));

As suggested in the comments, by overriding tearDown() we are now responsible for cleaning up any fake data that our tests create. To lessen the effects of this, we plan to create a number of standard test users - one for each client-required user role - that we can use drupalLogin() to become, as opposed to running a drupalCreateUser with a custom set of permissions (where we would then be responsible for deleting the created user and the role). We don't see this as anything too upsetting: these types of tests are all per-client anyways, so while we hope for some reuse (such as the useless default front page test above), the benefits of using SimpleTest for functionality tests such as this outweigh them.

Since the setUp() and tearDown() methods are per-class, we still have the ability to test any custom modules (or complex algorithms, etc.) in a fresh/sandbox environment - we'd just define a new testing class and leave out the overrides.

Note that this approach still emphasizes data and structure over actual display: tests would happily claim that Body has been renamed to Story, but wouldn't be able to tell us that an errant piece of CSS has caused that entire input field to be hidden from view. A human would still have to manually eyeball display issues (caused by CSS, etc.), as well as test any JavaScript functionality.


Facebook gets more evil

Per Dave Farber's IP list, Facebook has changed their TOS again. It's always said "You hereby grant Facebook an irrevocable, perpetual, non-exclusive, transferable, fully paid, worldwide license (with the right to sublicense) to (a) use, copy, publish, stream, store, retain, publicly perform or display, transmit, scan, reformat, modify, edit, frame, translate, excerpt, adapt, create derivative works and distribute (through multiple tiers), any User Content you [post ...]", but they allowed an escape clause: if you wanted to close your account, they'd lose the ability to repurpose your content.

That's changed, however, with the new TOS, which drops "If you choose to remove your User Content, the license granted above will automatically expire." and instead adds "The following sections will survive any termination of your use of the Facebook Service: [nearly everything]." And, since their TOS allows passive acceptance, if you've used the service since February 4th, you've already agreed to this change: "Your continued use of the Facebook Service after any such changes constitutes your acceptance of the new Terms."

And, no, you can't take them to court. You agreed not to by continuing to use their service.

More at this Consumerist post, which suggests that certain privacy settings negate this.

Link Dumpage for 2009-02-10

Notable links enjoyed today:

  • "If you listen closely, you’ll find that the earth is full of sounds. Some are things that you hear every day, some are truly remarkable and some sounds hail from origins completely unknown. What follows here is a list of “sonic mysteries” for your pleasure - many of them include audio." Includes the Bloop, Hum, Hell Hole, Mistpouffers, and the Slow Down.
  • "On Saturday morning, December 13, 2008, research director and amateur photographer Brook Tyler was walking across Sheridan Creek in the Rattray Marsh Conservation area in the Greater Toronto Area when he stumbled upon a strange feature within the thin ice covering the waters: “It was a perfectly round circle with about two inches of slush and water around the sides, and it was spinning. I was so excited to see if I could capture the movement”, so he took some photos... " Video available too.
  • "Fiction - including poetry - should be taken just as seriously as facts-based research, according to the team from Manchester University and the London School of Economics (LSE). Novels should be required reading because fiction "does not compromise on complexity, politics or readability in the way that academic literature sometimes does," said Dr Dennis Rodgers from Manchester University's Brooks World Poverty Institute."
  • I never knew it had a literal name. "Exquisite corpse (also known as "exquisite cadaver" or "rotating corpse") is a method by which a collection of words or images is collectively assembled, the result being known as the exquisite corpse or cadavre exquis in French. Each collaborator adds to a composition in sequence, either by following a rule (e.g. "The adjective noun adverb verb the adjective noun") or by being allowed to see the end of what the previous person contributed."
  • "Part state of mind and part QA philosophy, the term "Egoless programming" was coined by one of my favorite authors, Jerry Weinberg, back in 1971 in his highly influential book, The Psychology of Computer Programming. Weinberg was describing a development environment that involved heavy use of peer technical reviews."
  • "The Vela Incident (sometimes referred to as the South Atlantic Flash) was an as-yet unidentified double flash of light detected by a United States Vela satellite on September 22, 1979. It has been speculated that the double flash, characteristic of a nuclear explosion, was the result of a nuclear weapons test."
  • I love Ebert. "Employers are eager to replace us with Celeb Info-Nuggets that will pimp to the mouth-breathers, who underline the words with their index fingers whilst they watch television. Any editor who thinks drugged insta-stars and the tragic Amy Winehouse are headline news ought to be editing the graffiti on playground walls. As the senior newspaper guy still hanging onto a job, I think the task of outlining enduring ethical ground rules falls upon me."



Subscribe to RSS