The JavaScript Coder's Bestiary

The following bestiary was first discovered in the papers of Doris Smealler. The early entries were written in a highly calligraphic style and the illustrations were done with pen and ink. At present, the papers and illustrations are far too fragile for even digital reproduction. The work was then continued by her nephew, Laird Smealler. The words are still Doris’s but we have used Laird’s images which were stored on floppy disks—a type of storage device that was highly destructible.
After Laird's death, the papers and floppy disks were bequeathed to the Institute for the Discovery and Dissemenation of Data on the Existence of Computable Demons1. They are presented in their original form without editing for use as historical context and should not be referenced or cited as fact. Any attempt to do so will be punished under the Warren Act. For a more up-to-date reference please see Mel Helmguard's Codex of Binary2 Creatures.

The Assignment Abomination

A young girl looking away while a large horned creature approaches.
Image by Kellepics on Pixabay.

The Assignment Abomination is a devilish creature with an affinity for unattended screens. They love to hide behind popup windows in your browser, and snack on uninitialized variables. The abomination will often wait until the coder is ready to run the code and then will eat all but one equality operator, causing the equality to read like an assignment.

Assignment Abominations target new coders and experienced coders alike, and when caught in the act will often make rude noises and obscene hand gestures. It can be extremely tempting for the coder to blame this mistake on themselves, increasing the coder’s imposter syndrome, but the coder must never accept blame for this. It is always the fault of the Assignment Abomination.3

The best way to keep this atrocity out of your code is to avoid using Booleans completely. Remember, a demon-free code is the key to a prosperous life!

The Iteration Snatcher

A black tentacle rising and curling out of the water.
Image by MemoryCatcher on Pixabay

The Iteration Snatcher can be harder to catch than most computable demons. It lurks beneath the code and will extend only one tentacle at a time. Don’t be fooled into thinking that just because you only see one part of the Iteration Snatcher at a time that it is a lesser beast. Much like an iceberg, the true danger lies beneath the code.

The more loops you have in your code the more likely you are to run into an Iteration Snatcher. Nested loops are particularly dangerous. The best way to avoid this beast is to avoid complex data structures altogether. If you simply must deal with nested objects and arrays, then pay very close attention to your iterator keys. Make sure they’re in the right place, and that you reference your outer loop in your inner loop.

This wiley demon will not only still your [i] from your loop, at times it will place it in the wrong spot. Think you’re iterating through commands? Look again, that horrible monster has moved your [i] from your commands to your commandType. The fiend!4

If you suspect that you have an Iteration Snatcher in your code, pay particular attention to the level of light in the room. The demon likes dark places so keep your workspace well-lit. Some have noticed the smell of overheated metal in the presence of a Snatcher. While that phenomenon cannot be substantiated, it's better to be safe rather than sorry and search your loops for any sign of tentacles.

The Infinity Demon5

A galaxy with circles and spirals.
Image by spirit111 on Pixabay

The Infinity Demon is another loop creature. He is even more insidious than the Iteration Snatcher and more cruel than the Assignment Abomination. If this nasty beast gets into your code, beware—you will become stuck in an infinite loop, lost in space and time and you never, ever get out.6

No one can say what exactly an Infinity Demon looks like as anyone who has seen one is lost to the void. If you suspect that your code has attracted an Infinity Demon, throw it away and give up.7 Never try that piece of code again as you are likely to attract double the creatures than on your last attempt.

About Doris Smealler

An elderly woman on a scooter giving a thumbs up.
Image by Zachtleven on Pixabay

Doris was born in Wichita, Kansas to Emily and Ned Smealler. She graduated with top honors from the Michigan Institute for Technological Innovation and Supernatural Inquiry and continued to innovate in both the field of abstract coding and micro-entity discovery.

She held numerous positions including Dean of Investigative Computing at The University of the Smokies in Gatlinburg, Tennessee where she wrote the now famous monograph on security issues involved with micro-entities and event handling.

Sadly, most of the work in her later life should be disregarded as it was discovered during her autopsy that she suffered from advanced prion disease. On this discovery, and on the insistence of her sister who claimed loudly and vociferously that Doris didn’t have a nephew, further investigation was launched into Laird Smealler.

A wide search was conducted, but he was not found until after his death. Laird Smealler was discovered in a roadside motel in Chippiwak, California. An autopsy revealed that Mr. Smealler was not human after all, but an Assignment Abomination in disguise. Whether Doris Smealler knew this is still a topic of hot debate at the annual conference on computable entities.

1. [It was subsequently discovered in 2010 that the entities previously referred to as Demons were, in fact, not demonic in nature. However, by the point in time the institue was infamous enough they were hesitant to change their name to something more suiting.]
2. [Helmguard has stated that there is a new edition of his codex coming out in April of 2020. This codex will delineate a clearer line between the binary nature of computing and the entities themselves who may not identify in a binary way.]
3. [Subsequent research has shown that in many, if not most, cases the lack of the appropriate number of equality operators is in fact the coder's fault.]
4. [Thomas Whitnot is credited with the discovery that the Iteration Snatcher is actually just a widely maligned cephalapod. They are quite playful, and do like to pull tricks, but when the [i] is missing from a loop it is, once again, the coder's fault. The snatcher, if encountered, will usually behave if given an html entity to play with.]
5. [Due to certain popular media figures, there has been a recent push to rename the Infinity Demon. However, due to copyright laws we cannot honor that request. Please refrain from sending petitions.]
6. [Please, do not panic. If you do get stuck in an infinite loop you will probably be able to get out by pressing ctrl+c.]
7. [Please don't do this.]