<oembed><type>rich</type><version>1.0</version><author_name>npub19jx6yq5fyvvcn3zlf0f60kr78q7wq5fy5qd9yqlqwumlqqcfc8rsl7fxhj</author_name><author_url>https://nostr.ae/npub19jx6yq5fyvvcn3zlf0f60kr78q7wq5fy5qd9yqlqwumlqqcfc8rsl7fxhj</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-12-09&#xA;📝 Original message:&gt;I agree, but nothing I have advocated creates significant technical&#xA;&gt;debt. It is also a bad engineering practice to combine functional&#xA;&gt;changes (especially ones with poorly understood system wide&#xA;&gt;consequences and low user autonomy) with structural tidying.&#xA;&#xA;I don&#39;t think I would classify placing things in consensus critical code&#xA;when it doesn&#39;t need to be as &#34;structural tidying&#34;.  Gavin said &#34;pile on&#34;&#xA;which you took as implying &#34;a lot&#34;, he can correct me, but I believe he&#xA;meant &#34;add to&#34;.&#xA;&#xA;&gt; (especially ones with poorly understood system wide consequences and low&#xA;user autonomy)&#xA;&#xA;This implies there you have no confidence in the unit tests and functional&#xA;testing around Bitcoin and should not be a reason to avoid refactoring.&#xA;It&#39;s more a reason to increase testing so that you will have confidence&#xA;when you refactor.&#xA;&#xA;Also I don&#39;t think Martin Fowler would agree with you...&#xA;&#xA;&#34;Refactoring should be done in conjunction with adding new features.&#34;&#xA;&#xA;&#34;Always leave the code better than when you found it.&#34;&#xA;&#xA;&#34;Often you start working on adding new functionality and you realize the&#xA;existing structures don&#39;t play well with what you&#39;re about to do.&#xA;&#xA;In this situation it usually pays to begin by refactoring the existing code&#xA;into the shape you now know is the right shape for what you&#39;re about to do.&#34;&#xA;&#xA;-Martin Fowler&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;On Tue, Dec 8, 2015 at 7:31 PM, Gregory Maxwell via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; On Wed, Dec 9, 2015 at 1:09 AM, Gavin Andresen &lt;gavinandresen at gmail.com&gt;&#xA;&gt; wrote:&#xA;&gt; &gt; Create a 1-megabyte transaction, with all of it&#39;s inputs spending&#xA;&gt; &gt; segwitness-spending SIGHASH_ALL inputs.&#xA;&gt; &gt;&#xA;&gt; &gt; Because the segwitness inputs are smaller in the block, you can fit more&#xA;&gt; of&#xA;&gt; &gt; them into 1 megabyte. Each will hash very close to one megabyte of data.&#xA;&gt;&#xA;&gt; Witness size comes out of the 1MB at a factor of 0.25. It is not&#xA;&gt; possible to make a block which has signatures with the full 1MB of&#xA;&gt; data under the sighash while also having signatures externally.  So&#xA;&gt; every byte moved into the witness and thus only counted as 25% comes&#xA;&gt; out of the data being hashed and is hashed nInputs (*checksigs) less&#xA;&gt; times.&#xA;&gt;&#xA;&gt; &gt; I think it is a huge mistake not to &#34;design for success&#34; (see&#xA;&gt; &gt; http://gavinandresen.ninja/designing-for-success ).&#xA;&gt;&#xA;&gt; We are designing for success; including the success of being able to&#xA;&gt; adapt and cope with uncertainty-- which is the most critical kind of&#xA;&gt; success we can have in a world where nothing is and can be&#xA;&gt; predictable.&#xA;&gt;&#xA;&gt; &gt; I think it is a huge mistake to pile on technical debt in&#xA;&gt; consensus-critical&#xA;&gt; &gt; code. I think we should be working harder to make things simpler, not&#xA;&gt; more&#xA;&gt; &gt; complex, whenever possible.&#xA;&gt;&#xA;&gt; I agree, but nothing I have advocated creates significant technical&#xA;&gt; debt. It is also a bad engineering practice to combine functional&#xA;&gt; changes (especially ones with poorly understood system wide&#xA;&gt; consequences and low user autonomy) with structural tidying.&#xA;&gt;&#xA;&gt; &gt; And I think there are pretty big self-inflicted current problems because&#xA;&gt; &gt; worries about theoretical future problems have prevented us from coming&#xA;&gt; to&#xA;&gt; &gt; consensus on simple solutions.&#xA;&gt;&#xA;&gt; That isn&#39;t my perspective. I believe we&#39;ve suffered delays because of&#xA;&gt; a strong desire to be inclusive and hear out all ideas, and not&#xA;&gt; forestall market adoption, even for ideas that eschewed pragmatism and&#xA;&gt; tried to build for forever in a single step and which in our hear of&#xA;&gt; hearts we knew were not the right path today. It&#39;s time to move past&#xA;&gt; that and get back on track with the progress can make and have been&#xA;&gt; making, in terms of capacity as well as many other areas. I think that&#xA;&gt; is designing for success.&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20151208/ac78b75c/attachment.html&gt;</html></oembed>