1. 28

  2. 3

    Really cool. I didn’t have enough time to get through all of them but linked The Law Of Leaky Abstractions article resonated with me in particular.

    Even though network libraries like NFS and SMB let you treat files on remote machines “as if” they were local, sometimes the connection becomes very slow or goes down, and the file stops acting like it was local, and as a programmer you have to write code to deal with this. The abstraction of “remote file is the same as local file” leaks. Here’s a concrete example for Unix sysadmins. If you put users’ home directories on NFS-mounted drives (one abstraction), and your users create .forward files to forward all their email somewhere else (another abstraction), and the NFS server goes down while new email is arriving, the messages will not be forwarded because the .forward file will not be found. The leak in the abstraction actually caused a few messages to be dropped on the floor.

    Great read and examples.

    1. 1

      a nice reading list indeed. slumming with basic programmers would be my top addition to it, since i’m totally in the “the satisfaction of doing something elegantly trumps the satisfaction of getting it completed’ camp. (for hobby programming, i hasten to assure my boss if they’re reading this :))

      1. 2

        I was surprised when I didn’t see a prog21 on the list, nice to see it here :)