
This domain has been languishing in neglect long enough; something better (or different, at least) is on the way.
The Royalston Road Roustabouts performing Lucy Neal at the Fall Festival of Forgotten Arts in Rutland, Massachusetts on October 1, 2011.
The extreme damp had made my banjo head a little bit slack, which resulted in a noticeable loss of volume (especially when competing against two pairs of ebony bones!)
A simple minstrel Banjo tune in D, from Briggs' 1855 Banjo Instructor, played on a Jeff Menzies Gourd Banjo. Love that half rest after the first section!
I started using Org-mode for Emacs a few weeks ago, in an attempt to get a better grip on the endless stream of TODOs, events, notes, and projects that come into my life, both personally and professionally.
So far, it’s been amazing, because it provides a single point to manage data that tends to get split up across multiple applications (Calendars, ToDo list managers, et cetera) and once you get in the habit of logging every new thing that comes across your radar, it’s all right there. Agenda views let you slice and dice all of that data to keep it from becoming overwhelming. Most often I find myself just using a basic 1-day agenda view that shows me all items with the current date, plus any overdue items and any upcoming deadlines. It’s a nice “at a glance” look at my life for the day, and what’s on the horizon for the next couple of weeks.
Sometimes, though, you want to get really specific. There are plenty of interactive commands in Agenda mode to facilitate this purpose, but as I contemplated the day’s chores (Dutifully entered into my org file with the tag :chores:) I decided I wanted to set up a custom agenda command that would do the following:
I’m still an org-mode newbie and my grasp of EMacs LISP is almost non-existent, so this wound up taking me the better part of a Sunday morning to figure out - but I finally did, and wanted to share my solution with anyone else who may be trying to solve the same problem.
Figuring out how to filter by today only and hide previously scheduled and upcoming deadline items was easy; there are numerous examples floating around. What had me stumped was how to then further filter that list by a tag. I never found a working example of this specific problem, but I was able to sleuth my way to the org-agenda-filter-preset
command, which turned out to be the special sauce I needed. org-agenda-filter-preset
is mentioned in a footnote on the Org Manual Agenda Commands page, but I totally overlooked it.
You define custom agenda views in your .emacs file - here’s what I set up for my quick list of items dated today (minus previous scheduled, and upcoming deadlines) and tagged “chores”:
(setq org-agenda-custom-commands
`(("c" agenda "Chores"
((org-agenda-ndays 1)
(org-scheduled-past-days 0)
(org-deadline-warning-days 0)
(org-agenda-filter-preset '("+chores"))
)
)))
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:
I may or may not reorganize it as more of a module, so it can be used by other Python scripts too.
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.