
Ask HN: You develop in an imperfect system; what would you do to fix the API? - appleflaxen
This question is kind of vague, but I&#x27;m certain that there is a ton of &quot;lesson learned&quot; experience in the HN community that would be good to pass on.<p>What infrastructure do you code on top of that could have been done better. Actually, the name of the infrastructure is irrelevant, but please share the &quot;fatal flaw&quot; of a common design challenge you&#x27;ve come across.<p>I was thinking about OS services in particular (xwindows having to support networking, for example), but any library, first-party software, or even embedded code would be interesting to hear about.
======
shakna
All of them.

Very little infrastructure is a perfect fit, and you often find yourself
fighting with it to do something you need to be able to do.

Sometimes a new approach, sometimes not.

Here's a few examples:

* Python's GIL : [https://www.youtube.com/watch?v=MCs5OvhV9S4](https://www.youtube.com/watch?v=MCs5OvhV9S4)

* Node's processes : [https://www.youtube.com/watch?v=9o8B3L0-d9c](https://www.youtube.com/watch?v=9o8B3L0-d9c)

* PHP's Super Globals : [https://www.youtube.com/watch?v=QZQ_V_ZJUjA](https://www.youtube.com/watch?v=QZQ_V_ZJUjA)

For more anecdotal information: ARM is my bane.

Though the ARM processor is cool, and lets me use whatever toolchain I want...
Instruction sets in the wild can be:

* Incomplete

* Inconsistent

* "Extended" with unexpected, and often undocumented, side-effects

~~~
appleflaxen
I've heard of the other issues, but the ARM example was great; thanks!

