May 2010

Cromulac lives on in Python form

A long time ago I wrote a PHP app called “Cromulac” (A perfectly cromulent generator of random words) that chewed up /usr/share/dict/words and spit out plausible but usually fake words using Markov chains.

Last night I wanted to apply the same technique to a list of New England town names, but on digging up my old PHP code found it ugly and somewhat hard-coded with the dictionary file in mind, so I wrote a new implementation in Python and released it on github:

http://github.com/usonian/cromulac

It’s a more or less procedural script that’s pretty ugly itself, but it gets the job done; here are some imaginary New England towns you might like to visit:

  • Scrabansfield
  • Easton Point
  • Orlanton
  • Tapline
  • Tar Ridge
  • Aubury
  • Havens City
  • Orwellin
  • Coatuckett
  • Craffolk
  • Wesset
  • Atkinsville

I may or may not reorganize it as more of a module, so it can be used by other Python scripts too.

Second Annual MetaFilter Interactive Contest

Perhaps it’s fate that I’ve been on a coding jag to the exclusion of all meatspace hobbies since DrupalCon SF… I learned yesterday that MetaFilter is having a month-long Interactive Fiction “contest” in the tradition of the RPM Challenge or NaNoWrMo… the goal isn’t so much to winwinwin as it is to just see a project from start to finish.

I’ve been threatening to write something with Inform 7 since it was released four years ago, so I think it’s time to get off my duff and actually do it. My brain seems to be especially receptive to chewing on code right now. It’s been an astonishing five years since my only other attempt at interactive fiction with Inform 6, and that’s just not right. Hopefully the time constraint will be inspirational without causing me so much stress that I bail on the project altogether, as I did three years in a row with the RPM Challenge.

Introducing Jeffmenzies.com

I worked through the day’s beastly heat (upper 80’s and humid, not normal weather for early May in New England) and am pleased to announce the launch of jeffmenzies.com, built in Drupal 6 with a custom subtheme based on Interactive Media.

Jeffmenzies.com Screenshot

While some work had already been done on the site before this weekend, I would say that about 80% of it was done in the last 36 hours. This is partly due to the power of Drupal’s theme layer, the Drush module, and of course Views and CCK… but I realized that it was also due to the fact that the parameters were refreshingly simple. Now that we’ve gotten used to the ability to slice and dice content in nearly any way imaginable, we have a tendency to overdo it… we try to cram too much information on home pages, and we overstructure content that lives underneath, creating elaborate tagging mechanisms and cross-linked views and meticulously formatted archives, timestamps, bylines, and profiles… often just because we can. I know I haven’t forgotten what it was like to get a static HTML site like this 90% built, only to decide that a font color or some aspect of the layout needed changing; lots of find-and-replace, save, upload via FTP, reload, lather, rinse, repeat. It was miserable, and that was before you even got into working on actual content, which led to its own open-edit-save-upload-reload cycle.

So yes, it’s very tempting to go crazy with multiple meticulous views of your data, because tools like Drupal make it so damn easy. By contrast, this site was a very enjoyable exercise in minimalism, and a useful reminder that in many cases, less can be more.

Syndicate content

Twitter

Older

Contact

Andy Chase
(978) 297-6402
andychase [at] gmail.com
GPG/PGP Public Key