1. 66
  1. 6

    @hwayne,

    Seems like there are some candidates for your list.

    1. 2

      There are stubs of some really interesting histories here!

      Originators of nearly half the list–pascal, struct, parts, eqn–were women, well beyond women’s demographic share of computer science.

    2. 4

      Some of these sound really interesting, and even if the algorithms today are more advanced, it would be interesting to see how they were written. Is it possible to find the source anywhere? The most source archives I have search only have the source of quite basic utilities.

      1. 15

        I wouldn’t assume that today’s algorithms are always more advanced; it’s common for previous work to be unknowingly reinvented.

        Dan Crossman’s Research Unix V10 tapes have a lot of the mentioned programs.
        v10src.tar.bz has the source code for (at least) the following programs. The paths to the containing directory is in italics.

        • eqn - cmd/eqn/
        • struct - cmd/struct/
        • parts - cmd/style/
        • egrep - cmd/egrep

        You might also like the Writer’s Workbench - cmd/wwb.

        Research Unix V6 has typo. The source is visible here.

        Rob Pike’s Go reimplementation of typo is here.

        v10blit.tar.bz2 contains the source to crabs.

        1. 5

          it’s common for previous work to be unknowingly reinvented.

          Or, “The old guys stole our best ideas” — Frederic Goudy

          1. 4

            Thanks for the links, looks like I was trying to find the sources in the wrong places…

            I wouldn’t assume that today’s algorithms are always more advanced; it’s common for previous work to be unknowingly reinvented.

            My point was that, eg. spell checkers are more sophisticated, simply because we have more memory and processing power. We have fewer limitations (such as the need for probabilistic counting) and more data, experience, that makes it possible to write more sophisticated problems for the issues at hand.

          2. 2

            You can find some of the Unix V5 (1974) source online here: https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/, for example the source of typo: https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s2/typo.c

            Change V5 in the URL to V6 for the next version of Unix.

            Then V7 contains many of the things mentioned in this article, e.g.

          3. 4

            She discovered that every Fortran program has a canonically structured form. Programmers preferred the canonicalized form to what they had originally written.

            Was struct(1) the first code formatter?

            1. 9

              Originators of nearly half the list–pascal, struct, parts, eqn–were women, well beyond women’s demographic share of computer science.

              Pointing this out explicitly was really nice to see <3

              These programs sound awesome. The approximate logarithmic counter is a really inspired idea for compact memory. I wonder if any kind of Bloom-filter-like accumulating data structures use a similar mechanism.

              1. 5

                HyperLogLog is a prominent example of a data structure using probabilistic logarithmic counters. There may be lots more, I’m no expert in the field.

                1. 2

                  Though there’s a crucial difference: HyperLogLog is solving the count distinct problem, which is much harder than plain counting. Both are interesting and cool techniques, though!

                2. 1

                  Why am I getting -1 spam and -1 troll on the above comment? Can someone explain their downvote please?

                  1. 2

                    It’s probably because you called attention to some of the work being done by women.

                    Some people here either don’t like that, or think you’re performing some sort of virtue-signalling.

                    1. 2

                      Yikes. That’s disappointing :(

                    2. -1

                      I downvoted you because I think in CS, as well as in most other sciences, sex doesn’t really matter. There’s no need to emphasize (over and over again) that women are good programmers.

                      1. 4

                        Ok, thank you for engaging and sharing your thoughts, I appreciate that.

                        My view is that in an ideal world you are absolutely right: equity* and equality** end up being the same thing, and so as long as we have a general environment of fairness, respect, and equity we don’t need to worry about these issues inside of any particular context. However, this world is far from ideal, and context is important.

                        For example, consider the Harvard Implicit Association tests, one of which measures how easily your brain relates the concept of Male or Female to Science or Liberal Arts. I just retook it so I could post a screenshot of the results from hundreds of thousands of tests. You can see that most people have some implicit bias towards the association of male gender with science. And that samples only people who opted in to this test, who are presumably thinking about these kinds of things! This is caused by the culture we are steeped in, and is something to be aware of rather than ashamed of (not saying you are, just making a general point).

                        Implicit biases are only one of many obstacles disproportionately faced by women in CS and the sciences. That isn’t to say every woman’s story is the same, but on average they will have had a harder time earning the same amount of success. So, when we can take an opportunity to at least acknowledge this inequality by recognizing women’s contributions, I think it’s great to do so.

                        Thank you for reading all this :)

                        *equal apportionment of resources/mentions/jobs/fame/etc - equal in the causes, or “inputs” **a moral fairness which can’t always be derived from perfectly equal inputs - equal in the effects, or outcomes/“outputs”

                  2. 3

                    No tsort? It’s super specific, but when you need a topological sort, it’s amazingly handy.

                    1. 1

                      the crabs(1) bit is interesting – I don’t remember Lucinda Cherry’s name coming up when there was a thread about the program a month or so ago on the same mailing list? I could have missed it!

                      1. -1

                        dc rules