Three ways to solve hard programming problems
&gt; Realize that there is awesome existing software that you can repurpose<p>Every time I see this, I find that the problem of leaky abstractions result in a 3 phase solution. It&#x27;s awesome in the beginning, everything &quot;just [mostly] works&quot;. Then a few months in, you start to feel like a young dutch male with his finger stuck in the earth, holding back the ocean. In the end, you throw it out, having &quot;stolen&quot; the important bits for yourself.<p>Sometimes, you find yourself stuck at one of the first two phases. I wish it was more frequent.