This is a card in Dave's Virtual Box of Cards.

NIH (Not Invented Here)

Page created: 2023-04-17 , updated: 2023-05-23

This is mostly related to programming (projects). See also Knights of NIH :-).

The term Not Invented Here is usually used to disparage or caution people from re-inventing the wheel.

From https://en.wikipedia.org/wiki/Not_invented_here:

Not invented here (NIH) is the tendency to avoid using or buying products, research, standards, or knowledge from external origins. It is usually adopted by social, corporate, or institutional cultures. Research illustrates a strong bias against ideas from the outside.

But being a bit of a friendly contrarian, I’m a huge fan of re-inventing the wheel for all of its positive aspects:

  1. To learn how it’s made

  2. To get a round one

  3. To make one that fits your vehicle

  4. For fun!!!

  5. For art!!!

  6. For practice

I’m reading Stewart Brand’s The Media Lab (1987) right now and just ran into this quote in the first chapter:

"If imitation is the sincerest form of flattery, invention is the sincerest form of criticism."

I love that.

I created RetroV despite there being so many JavaScript libraries like it because, to quote myself from the README, "I couldn’t find anything exactly like it. Lots of bits and pieces I liked, but not this exact thing."

And of course, there’s this timeless quote from Richard Feynman’s blackboard at the time of his death:

"What I cannot create, I do not understand."

The less positive reasons I re-invent wheels and build things that other people (or companies) have already built are these hard-won mottoes of mine:

  1. Third-party libraries will always screw you eventually.

  2. Never turn your back on a big company.

  3. All software sucks.

  4. If you made it yourself, you can (probably) fix it.

If you think I’m wrong about Number 1, wait a while.