⚠ DEVELOPMENT SERVER — SAFE TO EDIT⚠

Allister Nelson's Novella 'Earth Girls AREN’T Easy!' Is Out Of This World Sci-Fi Punk Fun

Error message

  • Deprecated function: Using ${var} in strings is deprecated, use {$var} instead in require_once() (line 132 of sites/all/libraries/bad-behavior/bad-behavior/core.inc.php).
  • Deprecated function: Optional parameter $type declared before required parameter $key is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $file declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $entity declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $values declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $view_mode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $langcode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $view_mode declared before required parameter $langcode is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Optional parameter $terms declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Optional parameter $args declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Return type of EntityStructureWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 292 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).

FTC Statement: Reviewers are frequently provided by the publisher/production company with a copy of the material being reviewed.The opinions published are solely those of the respective reviewers and may not reflect the opinions of CriticalBlast.com or its management.

As an Amazon Associate, we earn from qualifying purchases. (This is a legal requirement, as apparently some sites advertise for Amazon for free. Yes, that's sarcasm.)

Ah, the travails of post-adolescent youth. Graduating high school, (hopefully) moving out of your parent’s home and spreading those metaphorical wings to soar freely on your own. It can be a heady time, but the clash between that idealized version of adulthood many of us foster with its stark and oftentimes disappointing reality can be jarring; menial employment, asinine roommates, the pitfalls of alcohol and/or drugs, the first fitful stings of mature relationships, all leave their marks, yet also form who we will eventually become.

It’s those same coming-of-age salad days that author Allister Nelson explores in her quirky new sci-fi romantic comedy novella, Earth Girls AREN’T Easy! Subtitled A Space Oddity of Delicious Friction and Gravity-Bending Delights, it introduces us to Ziggi Moondust Collins, a broke, single, nineteen-year-old Washington D.C. punk barista with a pink pixie cut, a moonbow tattoo on her butt and a shambling second-hand Pinto she’s affectionately named Gerald. Her band, the Iguana Knees, is in dire straights, bedeviled by infighting between queer bassist horn-dog Carlos ‘Hotsauce’ Rivera and deadbeat drummer Spike, and Ziggi’s sexy-in-a-weirdo-way folk artist roommate Cyrus isn’t helping her situation by being a perpetually-stoned mess. Frustrated creatively, romantically, and unsatisfied with her humdrum workaday existence, Ziggy's so-called life takes a bizarre turn when she accepts a ride from Cyrus following a gig gone bad and inadvertently learns he’s really a millennia-old shape-shifting extraterrestrial named Lahmu in disguise; as part of a race known as the Anunnaki, Lahmu’s sexual maturation rite involves genetically bonding with a human in order to shepherd Earth into the galactic dictatorship ruled by his royal parents, and Ziggi, as his genuine earthling crush, fits the bill. Once she’s whisked off to outer space, Ziggi must find a way to escape from both the perverse palace intrigues of Lahmu’s family and a cadre of invading centipede-like pirates, but can she survive and get back home in one piece?

At fewer than a hundred pages, Earth Girls AREN’T Easy! is a breezy read. Written from a snarky, sarcastic, First Person point-of-view, Nelson’s prose is infused with wry humor and electric energy. From the opening scene onward, Ziggi is a sharp-witted, capable, sometimes headstrong lead, and the punchy pop culture-laden exchanges between Ziggi and her bandmates perfectly compliments her attitude. The back-and-forth machine-gun banter runs amok from David Bowie to Hitchhikers Guide to the Galaxy and Star Wars to the 1989 Jeff Goldblum/Geena Davis flick referenced in the book’s title, to ruminations on ‘90’s alternative rock and the finer points of suicidal barbecue (Ziggi’s in-progress concept album centers on a suburban dad who kills himself via a George Foreman grill). Yet the novella’s wackiness never detracts from what is essentially the study of modern life for a young 21st century woman; Ziggi yearns for something greater than the mundane everyday grind but it’s only after she’s taken into Cyrus/Lahmu’s world does she understand the complete value of what she’s left behind.

If there’s any potential quibble with Ziggi’s story, it’s that there simply isn’t enough of it. Her zany interstellar romp is so fun the audience is immediately eager for more, and one hopes Nelson has additional installments of the alien and his electric lady planned for the very near future. In the end, fans of such movies and television shows as Galaxy Quest, Bill & Ted’s Excellent Adventure and Red Dwarf will undoubtedly enjoy this particular space oddity, and therefore I grant Earth Girls AREN’T Easy! an above-average 4 (out of 5) on my Fang Scale. A rockin’ rocket to the stars and back!

Advertisement

 

Grade: 
4.0 / 5.0