May is National Short Story Month

Reading Time: 4 minutes
May is National Short Story Month
Image Credit: N Engineer

April celebrated poetry, May celebrates the short story. Perhaps this is a genre more to your liking. Maybe you’ve never really considered short stories a genre worth considering. Perhaps the lack of pictures turns you off. But just for one month, why not explore the genre? If you’re inclined to try writing, and just wanted to jumpstart your fiction-writing, short stories are a great way to jump in.

The Short Story

According to Merriam-Webster, a short story is “an invented prose narrative shorter than a novel usually dealing with a few characters and aiming at unity of effect and often concentrating on the creation of mood rather than plot.” Wikipedia expands that definition to mention that it can be read in one sitting. I would argue that it also must be complete, including a complete character arc (something has to change, whether the character’s situation or perception). Indeed, I often think of a story as experiencing a character’s transition or growth, that moment of conflict that changes a person.

Write a Story a Day

storyaday.org offers writing prompts every day, and while May has already begun, it’s not too late to get going. Commit a little bit of time each day (30 minutes for day 1) and see what you can come up with. By the end of the month, you may find you’ve created a whole slew of stories you didn’t even realize were inside you.

Short stories are a great place to experiment with form, to explore different worlds, to work through something that is troubling you (fiction allows you to start with what’s real, then change it to suit the story… and to get you your happy ending). I once wrote a story in the point of view of a skunk (because my dog had just been skunked and I needed not to go on a rampage). Doing the research and writing as a skunk was not only creatively instructive, it was also rather therapeutic.

Read a Story a Day

Short stories are everywhere. Whether you like the highbrow finery of the New Yorker or Atlantic magazines or the delightful musings on the cups at Chipotle restaurants, we are unquestioningly drawn to stories. But if you need a quick fix, look online. There are countless literary journals, magazines, and other sites that publish stories (heck, aspiring writers sneak well-crafted fictional tales into Craigslist postings and Amazon reviews).

So to kick things off, I offer you my own experiment, a story written in pseudocode.

The Bro Code, by Nivi Engineer

CD> Hey Lori
LV> Hey Chad. What’s up?
CD> …
CD> …
CD> never mind.
03042016 17:35:41 CD> edit program Flirt

TZ> So, Chad, you coming out tonight?
CD> I’m in the middle of something.
TZ> I thought I’d ask Lori to join
CD> You wouldn’t!
TZ> If you won’t…

Subroutine Flatter(input: girl, output: reaction) {
   Approach(boy, girl)
   MakeEyeContact(boy, girl)
   Compliment(girl, output: reaction)
   return reaction;
}

/* NOTE: According to Tom, the following procedure requires complex analytical processing. Paradoxically, Tom appears practically brainless in the presence of females. Given his success, however, I am writing this subroutine per his advice. -CD */

Subroutine AskForDate(input: girl, output: answer)
{
   CheckOutAttire(girl, output: type)
   if (type = athlete) {
      if ((season = spring) OR (season = summer)) then
         Invite(girl, Minigolf)
      else
         Invite(girl, Bowling)
   }
   else if (type = bookish) then
      Invite(girl, AuthorEvent)
   else if (type = artist) then
      Invite(girl, ArtGallery)
   else if (type = grunge) then
      Invite(girl, ShootingRange)
   else
      Invite(girl, Coffee)
   return answer;
}

TZ> What are you working on?
CD> Just a side project
TZ> Then you can definitely come out tonight.
CD> Fine. Give me ten minutes to finish this up.

Program Flirt(input: girl)
{
   Flatter(girl) /* output: reaction */
   If (reaction = smile) then
   {
      answer = AskForDate(girl)
      if (answer = NiceYes) then {
         GetNumber(girl)
         MakeExcuseAndLeave(boy)
         WarnOthers(girl, ShesTaken, boys)
      }
      if (answer = No) then {
         MakeExcuseAndLeave(boy)
         WarnOthers(girl, ShesABitch, boys)
      }
      else if (answer = FlirtyYes) then {
         Kiss(girl)
         Invite(girl, Apartment)
         if (answer = yes)
            LeaveImmediately(girl, boy)
         if (answer = no)
            MakeExcuseAndLeave(boy)
            WarnOthers(girl, ShesASlut, boys)
      }
   }
   Else if (reaction = reluctance) {
      BuyDrink(girl)
      Flatter(girl)
   }
   Else if (reaction = anger) {
      Apologize(girl)
      LeaveQuickly(boy)
   }
}

TZ> Let’s go
CD> Fine. Here goes nothing.
###

03042016 20:14:06 CD> run Flirt(Mary)
running Flirt(Mary)
running subroutine Flatter
reaction = anger
running Flirt(Sandy)
running subroutine Flatter
reaction = anger
> abort program

TZ> Bad luck, man. Happens to the best of us.
CD> Not to you
TZ> Ha ha. No, not to me.

03052016 08:35:41 CD> edit subroutine Flatter

Subroutine Flatter(input: girl, output: reaction) {
/* NOTE: subroutine is flawed. Don't run until identify bug */
   Approach(boy, girl)
   MakeEyeContact(boy, girl)
   Compliment(girl, output: reaction)
   return reaction;
}

03052016 10:15:32 CD> edit subroutine Compliment

Subroutine Compliment(input: girl, output: reaction) {
/* NOTE: There's a problem in here. Anyone? -CD */
   CloselyRegardClothing(girl)
   Smile
   PraiseMostProminentFeature(girl)
   return reaction
}

03052016 11:37:12 TZ> edit subroutine Compliment

Subroutine Compliment(input: girl, output: reaction) {
/* Maybe it's not the program. -TZ */
   CloselyRegardClothing(girl)
   SmileLessCreepily
   PraiseMostProminentFeature(girl)
   return reaction
}

TZ> What’d you say to Lori?
CD> What? Nothing! Why?
TZ> I don’t know, but she’s scowling at you.
CD> She wasn’t at the bar yesterday, was she?
TZ> I don’t think so. Tonight?
CD> Sure. Gotta test the new code.

03052016 20:14:14 CD> run Flirt(Susan)
running Flirt(Susan)
running subroutine Flatter
reaction = anger
running Flirt(Mandy)
running subroutine Flatter
reaction = anger
> abort program

TZ> Uh, Chad. Do you realize you put this in the shared drive?
CD> Yeah, why?

03062016 08:31:22 CD> edit subroutine Compliment

Subroutine Compliment(input: girl, output: reaction) {
/* NOTE: Nope. not my smile.-CD */
   CloselyRegardClothing(girl)
   Smile()
   PraiseMostProminentFeature(girl)
   return reaction
}

TZ> I just walked past Lori’s desk.
CD> So?
TZ> Check the code, dude.

Subroutine Compliment(input: girl, output: reaction) {
/* NOTE: Don't be an ass! -LV */
   Smile()
   SaySomethingNiceNotDegrading(girl)
   GetAcquainted(girl)
   return reaction
}

CD> Dinner, Lori?

03062016 20:15:56 CD>delete Flirt