M
Mike Muuss
ftp.arl.army.mil/~mike · Personal blog · on HN since 2009
Mike Muuss, who wrote the ping program at the US Army Ballistics Research Lab, wrote papers on computing history and ray tracing.
What HN saysHN links it for his account of how ping was created and for historical papers such as the ENIAC coding documents.
18HN people shared it
8linked it in comments
10stories submitted
444story points
2 years agolast shared
2009people per year2026
Most-shared posts
- 1The Story of the Ping Program (1997)10 people · 263 points · first shared 2010 · 35 comments on HN
- 2The Story of the Ping Program1 people · 162 points · first shared 2013 · 28 comments on HN
- 3The History of Computing at the Ballistics Research Lab (1992)1 people · 16 points · first shared 2015 · 4 comments on HN
- 4Towards Real-Time Ray-Tracing of Combinatorial Solid Geometric Models1 people · 2 points · first shared 2019 · discussion on HN
- 5The Computer Tree (1961)1 people · 1 points · first shared 2020 · discussion on HN
- 6Comphist1 people · first shared 2009
- 7Index1 people · first shared 2024
- 8Usenix1 people · first shared 2024
- 9Chap11 people · first shared 2021
What HN people wrote when they linked it
aarestad · 2024-05-16
Best guess from Duckin' is an old military proposal called "Multiple Device Queuing System" https://ftp.arl.army.mil/~mike/papers/82usenix-mdqs/usenix.html
theamk · 2021-01-04
Our vocabulary is influenced by modern computers, where we use every possible bit state. The ENIAC does not really has this, so the definitions are ambiguous. For example, if you are talking about SLC flash or SETUN ternary (which actually have multiple voltage levels), then ENIAC is binary, as it is operating on only two voltage levels. But if you are talking about base-2^n math of the modern computers, then ENIAC does not have it either.
In other words, a binary computer will have 2 possible bit states, 2^n possible byte values, and 2^(n*m) possible word values. For example, Z80 will have 2^8 byte values and 2^16 word values.
A ternary computer will have 3 possible bit states, 3^n possible byte values, and (3^n)^m possible word values.
ENIAC has 2 possible bit states, but a byte has only 10 possible values (which means that some combinations of bits do not form a valid byte). And a word has 10^m possible values.
For more details, let's look at "A REPORT ON THE ENIAC (1946)" [0] from 1946. It is pretty interesting.
The data transmission is in unary(!), see section "1.1.3. Representation of Digits by Pulses". There is a wire per byte which can have 2 voltage levels, and number of pulses corresponds to a number transmitted.
The logic is classical binary, see "1.2.1.3. Gate Tube":
> A gate tube emits a negative signal when both of its input grids are brought from a negative cut off voltage to a positive voltage. Thus, a gate tube is used to note the coincidence of two…
gregalt · 2024-09-17
I like reading the original paper in it's original format, but here is searchable text version: https://ftp.arl.army.mil/~mike/comphist/48eniac-coding/index.html
gorkish · 2024-09-16
From [1] The story of PING:
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. And that's how he found the intermittent failure.
[1] <https://ftp.arl.army.mil/~mike/ping.html>
themattress · 2019-07-30
Looks like it’s fixed. Worked for me: https://ftp.arl.army.mil/~mike/ping.html
rhplus · 2015-01-09
The linked page appears to be a spammy copy of the original here:
http://ftp.arl.army.mil/~mike/ping.html
It doesn't correctly credit the real author of ping:
http://en.wikipedia.org/wiki/Mike_Muuss
yarapavan · 2009-10-06
One more list on the same:
http://ftp.arl.army.mil/~mike/comphist/