News for hackers. Stuff that matters.
Re:The Story of the Ping Program (1997) by krossitalk on Tuesday July 30, 2019 @12:53PM (#20566713)
Sadly the link to the source redirects to the US Army home page now. Anyone got a link?
Re:The Story of the Ping Program (1997) by themattress on Tuesday July 30, 2019 @12:54PM (#20566728)
Looks like it’s fixed. Worked for me: https://ftp.arl.army.mil/~mike/ping.html
Re:The Story of the Ping Program (1997) by krossitalk on Tuesday July 30, 2019 @01:02PM (#20566802)
No, the link he provided in the document to the original PING source. It's supposed to go to http://ftp.arl.army.mil/pub/ping.shar But ends up at https://www.arl.army.mil/www/default.cfm
Re:The Story of the Ping Program (1997) by birdman3131 on Tuesday July 30, 2019 @01:46PM (#20567271)
Re:The Story of the Ping Program (1997) by birdman3131 on Tuesday July 30, 2019 @01:46PM (#20567273)
Re:The Story of the Ping Program (1997) by ehxor on Tuesday July 30, 2019 @01:17PM (#20566932)
Re:The Story of the Ping Program (1997) by devoply on Tuesday July 30, 2019 @01:19PM (#20566947)
obviously not the original source code from 1983.
Re:The Story of the Ping Program (1997) by cat199 on Tuesday July 30, 2019 @02:38PM (#20567786)
Re:The Story of the Ping Program (1997) by sdegutis on Tuesday July 30, 2019 @04:06PM (#20568583)

    pr_pack( buf, cc, from )
    char *buf;
    int cc;
    struct sockaddr_in *from;
    {
I know this ship has sailed, but after reading through the code you linked to, I finally understand the merit to this old-style C function definition syntax, and actually think it might look nicer than the modern way of doing the same thing for longer parameter lists:

    pr_pack( char *buf,
             int cc,
             struct sockaddr_in *from )
    {
It reminds me of how in TypeScript, if a function gets too many arguments, I'll split them out into an interface, and use destructuring to get to each element in the actual parameter list for convenience.