The Name Glitch
Your name is a wild encounter table. Type it in and meet the monsters it summons.
Surf the coast just south of Cinnabar Island after you watch the old man catch a Pokemon, and the game runs out of proper wild-encounter data to read. So it reads the next thing in memory instead: your name. Every letter is a number, and the game treats those numbers as levels and species. Below is that exact overlay, live.
Why the 3rd, 5th and 7th letters
This is not a rule someone invented; it falls straight out of how the game stores wild Pokemon. Here is the format, quoted from the disassembly:
; if first byte == 0, then no wild pokemon on this map ; if first byte != 0, then ; first byte is encounter rate ; followed by 20 bytes: ; level, species (ten times)
Line your seven name bytes up against that: byte one is the rate, then it is level, species, level, species, level, species. The letters in the species slots are positions three, five and seven. Each of those bytes is read as a Pokemon's internal index number, the same numbering that makes 21 a Mew over on the Mew glitch page. Land on a real number and you meet a real Pokemon; land on a gap and you meet MissingNo. And your name does not have to be seven letters long. Gen 1 marks the end of a name with a single "@" byte, value 0x50, so a shorter name leaves that marker sitting in one of the species slots. 0x50 is 80, which is a gap, so almost any name under seven characters summons a MissingNo in its last slot. That is why GARDEN, six letters, brings a Marowak, a Snorlax, and then a MissingNo.
Go deeper: MissingNo. | the Mew glitch | the Gen 1 battle engine | the Glitchhouse.