Complex System Knowledge is Not Transferrable

Imagine if someone were to say something like:

> Node uses async I/O so that it can read files faster.

While many of the words in this sentence are sensible, and perhaps even somewhat close to the truth, there are several glaring errors with it:

First of all, Node doesn’t use AIO. It uses nonblocking I/O for sockets and pipes, but for files, it uses a thread pool.

More subtly, doing fs operations in a worker thread does not make them faster. Since we’re usually limited by the system’s fs response anyway, adding the overhead of threads and callbacks makes those operations strictly slower than doing them synchronously.

The point of using an event loop and doing fs operations in a thread pool is so that your server’s latency is not affected (as much). The speed of the fs operation itself is presumably less important than making sure that the server can continue to service requests in the meantime.

If someone said this, and a knowledgeable Node user was around to hear it, the speaker would be promptly corrected.

Now imagine that the person saying this was a very highly educated lawyer, with many years of experience in IP law, international copyright litigation, trademarks, and patents.

Do you have any more belief in their clearly false statement? Do you now think, “Well, this guy’s a lawyer after all, and he’s dealt with some pretty hairy IP and technology issues, so he probably does know a thing or two about technology.” Or do you start to think less of him, and his craft?

My fellow programmers, this is what you sound like when you make authoritative-sounding claims about trademark, copyright, and patent law.

Not only is it more complicated than you probably realize, the complications differ from place to place and from situation to situation. The law is a giant software program with legacy code going back literally thousands of years, and the hardware it runs on is human brains, which are notoriously buggy.

I am so glad IANAL. Software that runs on computers is so much easier to reason about.