Home For Fiction – Blog

for thinking people


computer

GhostWriter: a Random Text Generator App for Android

July 17, 2018

Please note that none of my Android apps is any longer maintained – and they’re not even available on Google Play anymore – for reasons you can read about here. If you still have any of the Home for Fiction Android apps installed on your phone, you’re advised to uninstall them. The post below should be seen purely as a snapshot of history.

I recently talked about the importance of learning how to learn. I spoke of how knowledge should be holistic, with each learned discipline or area of knowledge supporting the rest. Well, let me ask you: Can a guy with a PhD in English literature design Android apps? The answer is GhostWriter, a random text generator Android app I developed.

Long-term readers of this blog probably know that I enjoy programming, particularly when it’s related to writing and literature. Besides my genre-marking JavaScript program, I’ve also experimented with an iambic pentameter generator. Ghostwriter is an app of a similar kind, that is, one concerned with writing and texts.

How Does a Random Text Generator Work?

The GhostWriter app deploys the RiTa library (probably well known to developers). It can generate text based on Markov chain creation. In very simple terms, the program scans some pre-installed texts (mostly older, out-of-copyright novels) and detects how words follow one another.

For example, if there are two phrases like “The black cat went into the market” and “the white dog went into the store”, the app can mix them so that a new, randomly generated phrase emerges: “The black dog went into the market”.

Of course these are only two very simplistic examples. With literally thousands and thousands of combinations, a random text generator can produce some wild results. Here’s just one funny example from A Christmas Carol, by Charles Dickens:

GhostWriter - random text generator
Charles Dickens must be rolling over in his grave. Or, who knows, perhaps he’d find it hilarious and entertaining.

A JavaScript Iambic Pentameter Generator

June 13, 2018

First of all, before I explain why I made an iambic pentameter generator, we need to know what an iambic pentameter is.

Chances are, if you found this article you already know, so I’ll be brief. An iambic pentameter is a line of poetry consisting of five “feet”, or groups of syllables. “Penta” in Greek means “five”, so pentameter means that the line consists of five groups of syllables. The iamb refers to a pair of syllables where the first is unstressed and the second is stressed. For instance, the word desPAIR (capitals indicate the emphasis). Hence, an iambic pentameter line consists of ten syllables, of which the 2nd, 4th, 6th, 8th, and 10th are stressedTechnically, this is not necessary. What should occur is that the rest of the syllables (1st, 3rd, 5th, 7th, 9th) are not  stressed..

Here’s four lines of iambic pentameter:

And you, my sinews, grow not instant old
But bear me swiftly up. Remember thee?
Ay, thou poor ghost, whiles memory holds a seat
In this distracted globe. Remember thee?
(Hamlet, I.v.94–97)

And now, without further delay, let’s get to the why’s and how’s of the iambic pentameter generator.

iambic pentameter generator in JavaScript
The Bard would approve!
(more…)

Literature Computer Analysis: An Example

January 15, 2018

Before the development (let alone the use) of a tool, first comes the identification of its need; its scope, in other words. As an academic with research interests revolving around the Gothic and science fiction, and with some rudimentary programming experience, I had a crazy idea. Most great ideas come as a result of madness and boredom, I suppose, and my idea was one just like that. What if, I thought, I made a simple program that could detect certain patterns in Gothic and science fiction? In other words, what if I made a literature computer analysis program that could help me create a taxonomy of the texts I’m researching?

literature computer analysis
Can a computer program help with literary analysis? (Yes!)
(more…)