I’m lucky to know how to program. Years ago, I taught myself how write computer programs that would streamline some tasks in my workplace. Using the basic skills and lessons from that, I continued learning and applying programming to everything from sorting data, to mining data, to building online applications and websites.
For years, it didn’t occur to me that programming could help with creative writing. Even though I have been writing stories since I was a kid, programming just never seemed very relevant to plots or characters or such. Programming was like folding clothes or washing dishes—just something that I needed to know how to do.
Then came The Year of the Red Door. As the project developed and became more complex, I struggled to keep up with all of my notes and revisions. It slowly dawned on me that my programming skills could help.
Don’t you just hate it when you’re on a roll with some writing (or other work) and you have to stop and look something up? Sometimes it isn’t that big of a deal. You quickly find what you need, you verify something, then you get right back to it. It is always a distraction, though, and sometimes it’s a big one. Not to mention a time-consuming delay on getting your work done.
With a long work such as The Year of the Red Door, it was especially important that all the parts of the plot and all of the characters fit together and sync up. Of course, I kept copious notes on all this, the characters, backstories, timelines, the events leading up to something or other, etc. As my notes became more numerous, I organized them into notebooks. The pages of notes grew into the hundreds, and my notebooks were getting quite bulky, so I put everything into a single gigantic Word document. Now they were at least easy to search and revise. But…
Referring to my notes in a Word document, even with the Search function, was still a hassle. Moving back and forth and scrolling up and down between passages and notes was confusing. What I needed was the ability to find only those notes and passages about a particular thing, all at once, and presented to me in some organized way for easy reviewing. Not spread out across a Word document with tons of unneeded stuff in between the tidbits I needed at the moment.
Enter Perl programming language.
I converted my notes and all of my drafts into a plain text document. I wrote a little Perl program to do that. Then I wrote another little Perl program to do my keyword searching for me. It would find all of the passages that matched my search, tag them with the source of the passage and, if from a manuscript, the chapter. Then it would put the results into a fresh document and open it for me to examine.
Now I can quickly examine all of the instances where an event is mentioned to make sure they are consistent with each other. Or I can quickly find the location of a passage in my notes. When I make a revision, I just re-save everything as text-only (and I have a macro that does that without ruining my carefully formatted Word documents).
Now I can more easily focus on the work at hand, the passage that needs writing or revising.
But wait, there’s more!
If you’ve visited the website for The Year of the Red Door, you may have noticed a section called Chronology. It is currently made up of over 210 web pages that are cross-linked from one to the next. No, I did not hand-create each and every page and every link. I wrote a program to do all that for me. Now, when I have an update to one of the Chronology passages, I just make sure it is in my notes, in my “database,” and I run the program to rebuild the Chronology pages. Voila! Then I upload the new web pages, replacing the old ones.
Programming is just a tool like any other. But, over the course of this project (The Year of the Red Door), these little programs have probably saved me weeks and weeks of time. And they have enabled me to build a more robust and consistent world around the story and the characters. All that has allowed me to focus on writing as well as I know how.
Programming is not something that one might assume is in a writer’s toolkit. But the contents of a writer’s toolkit varies from one writer to the next, and changes over time.
So I may not be the best writer in the world (No, really!). But at least I’m a hard-working one, and I am determined to use every tool that I know how to use. And I’m willing to learn how to use other tools, as the need arises.
# # #