Retropingtech-historynetworkingunixicmp
Mike Muuss Named Ping After the Sound Sonar Makes and Wrote It in One Night in December 1983
An Army lab programmer wrote the ping program and the kernel support it needed in a single night to chase a network fault, and a colleague fixed the fault before the first packet went out.
In December 1983, the network at the U.S. Army’s Ballistic Research Laboratory started acting strange. Mike Muuss, a programmer there, sat down that evening to build a tool that would tell him which machines could hear him.
“Ping is a little thousand-line hack that I wrote in an evening which practically everyone seems to know about,” he later wrote.

The idea came five months earlier. In July 1983, at a DARPA meeting in Norway, Dave Mills mentioned “some work that he had done on his “Fuzzball” LSI-11 systems to measure path latency using timed ICMP Echo packets.”
The packet already existed. RFC 792, the Internet Control Message Protocol spec Jon Postel published in September 1981, defines an “Echo or Echo Reply Message”: a machine sends type 8, and the one on the other end answers with type 0. Nobody on BRL’s Unix machines had a simple program to send one and time the answer.
Muuss wrote it. “The code compiled just fine, but it didn’t work – there was no kernel support for raw ICMP sockets!”
So he wrote that too. “Incensed, I coded up the kernel support and had everything working well before sunrise.”
The network problem was already gone. “Not surprisingly, Chuck Kennedy (aka “Kermit”) had found and fixed the network hardware before I was able to launch my very first “ping” packet.”
The name came from Muuss’s own background. “In college I’d done a lot of modeling of sonar and radar systems,” he wrote. “I named it after the sound that a sonar makes, inspired by the whole principle of echo-location.”
He never thought it would last. “If I’d known then that it would be my most famous accomplishment in life, I might have worked on it another day or two and added some more options.”
The best story on his page is about someone else using it. A colleague with an intermittent Ethernet fault piped ping’s output through a speech synthesizer with ping goodhost | sed -e 's/.*/ping/' | vocoder. “He wired the vocoder’s output into his office stereo and turned up the volume as loud as he could stand. The computer sat there shouting “Ping, ping, ping…” once a second, and he wandered through the building wiggling Ethernet connectors until the sound stopped.”
Tools written in one night to fix one problem tend to keep their first design for decades, because changing them breaks every script that grew up around them. Traceroute, built on Muuss’s kernel change, followed the same path. Expect the next one to come from the same place: an engineer annoyed enough to skip the meeting and write the fix, who later wishes they’d added the options.
The easiest way for a tool like this to stay alive is to be small. Ping does one thing, prints one line per answer, and works on networks it was never designed for, which is why it still runs on machines built forty years later.
Muuss’s page settles the backronym as far as it can. “PING is not an acronym standing for Packet InterNet Grouper, it’s a sonar analogy,” he wrote, spelling it Grouper. Then he leaves it open: “However, I’ve heard second-hand that Dave Mills offered this expansion of the name, so perhaps we’re both right.” His page doesn’t say when or where Mills offered it.