<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://kyduff.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://kyduff.github.io/" rel="alternate" type="text/html" /><updated>2026-06-15T11:13:11+00:00</updated><id>https://kyduff.github.io/feed.xml</id><title type="html">Kyle Duffy</title><subtitle>A website with stuff I think about.</subtitle><entry><title type="html">The Scientific Method</title><link href="https://kyduff.github.io/thoughts/2025/12/19/scientific-method.html" rel="alternate" type="text/html" title="The Scientific Method" /><published>2025-12-19T00:00:00+00:00</published><updated>2025-12-19T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2025/12/19/scientific-method</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2025/12/19/scientific-method.html"><![CDATA[<p>The Scientific Method I use has four phases:</p>

<ol>
  <li>Observe the system</li>
  <li>Formulate multiple falsifiable hypotheses</li>
  <li>Perform experiments to rule out some or all the hypotheses</li>
  <li>Repeat</li>
</ol>

<p>It’s <em>heavily</em> inspired by the principle of <a href="https://www.whoi.edu/cms/files/platt64sci_72743.pdf">Strong Inference</a>, therefore I don’t claim ownership, but for simplicitly I’ll call it “my” Scientific Method. It’s been very effective as a diagnostic tool for me, and it differs from the schoolhouse version I was originally taught in some important ways.</p>

<p>Let’s start by stating the schoolhouse version, which only has three phases:</p>

<ol>
  <li>Form a hypothesis</li>
  <li>Perform an experiment to confirm or refute the hypothesis</li>
  <li>Draw conclusions</li>
</ol>

<p><em>First.</em> The first difference is that my Scientific Method starts with <em>observation</em> not <em>speculation</em>. Observing the system gives you a sound basis for hypothesis formulation, and hones intuition. It also immediately rules out many instinctual but wrong ideas before they have time to take up brain space. In many cases you’ll even skip steps 2 through 4 because detailed observation will already reveal the solution you seek. The important part is to <em>explicitly prioritize</em> observation. It’s easy to skip since it’s human nature to start explaining things before understanding them more deeply. You have to actively resist this tendency.</p>

<p><em>Second.</em> The second difference is in hypothesis formulation, and there are two parts to the difference that need paying attention to. Here they are:</p>

<ul>
  <li>You should form <em>multiple</em> hypotheses (at least two, ideally several)</li>
  <li>Hypotheses should be <em>falsifiable</em> (rather than confirmable)</li>
</ul>

<p>I <strong>strongly</strong> encourage you to read at least the first 2 pages of the <a href="https://www.whoi.edu/cms/files/platt64sci_72743.pdf">Strong Inference</a> article to understand why this is important. Nonetheless, here are a few points to call out:</p>

<ul>
  <li>Multiple hypotheses avoid the psychological pattern of attaching to one (usually the first) explantion of things;</li>
  <li>Having multiple potential explanations embraces the complexity inherent in most systems,</li>
  <li>And focusing on <em>falsifiable</em> claims produces a stream of concrete truths on which to base further analysis, whereas supporting evidence merely increases the <em>plausibility</em> of something being true (for more on this concept, I recommend <a href="https://www.amazon.com/Mathematics-Plausible-Reasoning-Induction-Analogy/dp/0691025096">Mathematics and Plausible Reasoning</a>)</li>
</ul>

<p><em>Third.</em> The third difference is that my Scientific Method formalizes iteration. You will undoubtedly gain knowledge and instincts from the process of executing the phases, and you should keep going until you’re really confident in the knowledge you’ve gained. The only way to do that is to put in the work and keep iterating.</p>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[The Scientific Method I use has four phases:]]></summary></entry><entry><title type="html">Franklin the Writer</title><link href="https://kyduff.github.io/thoughts/2022/04/07/franklin-writing.html" rel="alternate" type="text/html" title="Franklin the Writer" /><published>2022-04-07T00:00:00+00:00</published><updated>2022-04-07T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2022/04/07/franklin-writing</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2022/04/07/franklin-writing.html"><![CDATA[<p>As a teenager, Benjamin Franklin would sneak writing samples under the door of his brother’s printing shop, hoping they’d find their way into the <em>The English Courant</em>—the shop’s major news publication. He later became famous for writing <em>Poor Richard’s Almanac</em>, several treatises on natural sciences, and countless diplomatic letters. He says of himself:</p>

<blockquote>
  <p>Prose writing has been of great use to me in the course of my life, and was a principal means of my advancement.</p>
</blockquote>

<p>Franklin attributes his writing ability to deliberate effort put towards its improvement. This began after Franklin’s father commented on a series of his teenage letters that while “[Franklin] had the advantage of [his] antagonist in correct spelling and pointing (which [he] ow’d to the printing-house), [he] fell far short in elegance of expression, in method, and in perspicuity.”</p>

<p>From this, Franklin sought to improve his writing with a collection of regularly practiced tasks. Here they are:</p>

<p><em>Reconstruction.</em></p>

<blockquote>
  <p>About this time I met with an odd volume of the <em>Spectator</em> … I bought it, read it over and over, and was much delighted with it. I thought the writing excellent, and wished, if possible, to imitate it. With this view I took some of the papers, and, making short hints of the sentiment in each sentence, laid them by a few days, and then, without looking at the book, try’d to compleat the papers again, by expressing each hinted sentiment at length, and as fully as it had been expressed before, in any suitable words that should come to hand. Then I compared my <em>Spectator</em> with the original, discovered some of my faults, and corrected them.</p>
</blockquote>

<p><em>Prose to poetry and back.</em></p>

<blockquote>
  <p>I found I wanted a stock of words, or a readiness in recollecting and using them, which I thought I should have acquired before that time if I had gone on making verses; since the continual occasion for words of the same import, but of different length, to suit the measure, or of different sound for the rhyme, would have laid me under a constant necessity of searching for variety, and also have tended to fix that variety in my mind, and make me master of it. Therefore I took some of the tales and turned them into verse; and, after a time, when I had pretty well forgotten the prose, turned them back again.</p>
</blockquote>

<p><em>Reorganization.</em></p>

<blockquote>
  <p>I also sometimes jumbled my collections of hints into confusion, and after some weeks endeavored to reduce them into the best order, before I began to form the full sentences and compleat the paper. This was to teach me method in the arrangement of thoughts. By comparing my work afterwards with the original, I discovered many faults and amended them; but I sometimes had the pleasure of fancying that, in certain particulars of small import, I had been lucky enough to improve the method of the language, and this encouraged me to think I might possibly in time come to be a tolerable English writer, of which I was extremely ambitious.</p>
</blockquote>

<h3 id="some-thoughts">Some thoughts</h3>

<p>It’s interesting how similar these are to modern techniques of pre-training machine learning language models.</p>

<p>For example, the fundamental contribution of <a href="https://arxiv.org/abs/1810.04805">BERT</a> (which broke 11 records and became one of the most influential language models of all time) was a pre-training technique wherein the model was forced to reconstruct groups of words that had been omitted from a body of text. This isn’t the same as Franklin’s reconstruction task, but it’s similar. In machine translation, one of the most common pre-training techniques is called “back translation” where a source language is translated into a target language and then back again and compared to the original. This is obviously very similar to Franklin’s poetry task.</p>

<p>I wonder what other learning techniques we might devise by studying the way machines learn.</p>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[As a teenager, Benjamin Franklin would sneak writing samples under the door of his brother’s printing shop, hoping they’d find their way into the The English Courant—the shop’s major news publication. He later became famous for writing Poor Richard’s Almanac, several treatises on natural sciences, and countless diplomatic letters. He says of himself:]]></summary></entry><entry><title type="html">Talking to Strangers</title><link href="https://kyduff.github.io/thoughts/2022/03/28/talking-to-strangers.html" rel="alternate" type="text/html" title="Talking to Strangers" /><published>2022-03-28T00:00:00+00:00</published><updated>2022-03-28T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2022/03/28/talking-to-strangers</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2022/03/28/talking-to-strangers.html"><![CDATA[<p>I recently finished a gig calling alumni from Oriel college, Oxford as part of a phone campaign from the Development Office. The purpose of the campaign was to improve affinity and convince alumni to donate to the college. About halfway through, I realized I was getting a lot more out of it than I expected I would. I now believe every person should do something like this at least once in their life: you should cold call, sell something door-to-door, or do something that requires you to (1) get rejected a lot, (2) make friends with total strangers in a short period of time, (3) ask for something from someone you don’t know well.</p>

<p>The point of this post is to share some of my lasting impressions. Here’s a list of 5 of them. After the list, I’ll elaborate on each item one-by-one:</p>

<ul>
  <li>Energetic positivity is a frame of mind that can be brought about deliberately.</li>
  <li>Patient communication leads to smooth confidence which leads to trust.</li>
  <li>People can detect a presence of genuine attentiveness. Conversely, they can tell when you’re not paying attention.</li>
  <li>Every person is enjoyable and interesting once they break out of their shell—it’s your job to get them to show that.</li>
  <li>People feel much more comfortable sharing things about themselves if you share things about yourself.</li>
</ul>

<h4 id="energetic-positivity">Energetic Positivity</h4>

<p>Regardless of my demeanor, every day I was forced to call and consequently every day I was forced to find ways to get excited. I needed to get excited because the quality of my calls would be much better if I had the energy to make them good. I also saw that if I was positive, the person I talked to would be more positive, and this would drastically improve my chances of enjoying the call.</p>

<p>A consequence of this self-propelled positivity was an improvement in my general attitude. Though at first my efforts to make things positive could seem synthetic, they would often mature into a general feeling of optimism that improved the rest of my day. On walks to the call room, I would take negative things and try to rephrase them positively: for example, I’d replace the thought of “that river is dirty” when walking over Magdalen bridge with “we could make that river much cleaner.” By the end of the 15 minute walk my outlook would completely change.</p>

<p>The big realization was that energetic positivity is not something that’s granted by the day. It’s something that can be brought about with a little bit of effort.</p>

<h4 id="smooth-confidence">Smooth Confidence</h4>

<p>I considered a call to go well if I felt happy with the conversation and the callee donated. Both the conversation and probability of donation improved dramatically with smoothness of communication.</p>

<p>Evidently, an ability to speak effectively, expressively, and confidently is tremendously important and I plan to make a sincere effort to improve my verbal skills further. A single “like”, “um”, or awkward pause—though seemingly innocuous—had the potential to destroy the trust I had built with a person. There were a few times when I stumbled during the payment phase of the call, and on at least 3 occasions, this caused the callee to either (1) withdraw their donation or (2) revoke their decision to complete the process over the phone.</p>

<p>The most effective way I found to fight these interjections was reducing my speaking pace. I found that if I went slow and formed every phrase deliberately, I was much less likely to trip up. I never had a callee abstain from processing their information over the phone in instances with no trip ups, and on several occasions the alumnus even chose to increase their donation from the initial ask amount.</p>

<h4 id="attentive-presence">Attentive Presence</h4>

<p>There is a presence associated with genuine attention that people can detect even over the phone. In other words, if you’re not giving your full attention to someone, they’ll notice.</p>

<p>Just as well, people will notice when you do give your full attention. I spoke to two alumni who made me feel like the conversation I was having with them was the most important thing in the world to them. Undoubtedly it wasn’t—both of them were in the upper decile of the most accomplished people I spoke to on the campaign (which I suspect isn’t a coincidence) and had much more important things to do. What struck me was their ability to invest wholeheartedly in the conversation in a way that made me feel important.</p>

<p>By the end of the campaign I felt much more attuned to people’s interest. More importantly I felt other people being attuned to my interest. If my attention was elsewhere, it quickly became apparent through a deflation of the conversation and an overall decay of presence.</p>

<h4 id="breaking-shells">Breaking Shells</h4>

<p>I would frequently begin conversations with dull platitudes, themselves holding no substance. Their purpose was to build momentum in the conversation to get to a baseline level of trust where the callee would feel comfortable sharing some of their more interesting qualities and experiences. It’s like poking around a field until something interesting crops up. Something that I found is that every person had something interesting about them once I found a chord. The most effective technique I found for doing that is the subject of the next point (on sharing).</p>

<p>Sometimes it would take several minutes to find something worth talking about, and some people made it much easier than others. There were some calls where I sat through nearly 10 minutes of prodding before any flames caught and others where the subject was interesting after the first question. In any case, a genuine belief in the existence of an interesting core beneath potentially several layers of dense insulation kept me motivated to keep talking.</p>

<p>There are really two assumptions here: (1) every person is interesting if you really reach them, (2) it’s my job to realize that truth. The first point helped me survive the nastiness of some people in the early stages of the conversation, and the second is a gentle reminder that people aren’t going to open up to you on their own. If you want to reach someone, you have to put in effort.</p>

<h4 id="sharing">Sharing</h4>

<p>I’ve found the most reliable technique of getting people to share things about themselves is to share things about myself. I think there are two things contributing to the success of this approach: (1) sharing things about yourself demonstrates trust and creates a pattern of volunteering information, (2) there are often subjects to latch onto in personal stories.</p>

<p>By the end of the phone campaign, I would progress most of my conversations by relating something the person said to a personal experience by telling a (short) story and then just waiting. I didn’t ask any questions or anything, I would just share my story and sit there. More often than not, the person would respond with a story of their own and go in a completely unexpected direction. No question I would have asked would have led the conversation to that point, but it would go there naturally.</p>

<p>Sometimes the person wouldn’t latch onto my stories and that was fine. It indicates a good time to ask a question and push the conversation elsewhere. Even in this case the voluntary information was valuable because it added a personal element to the talk that defused some of the strangeness of talking on the phone with someone you’ve never met.</p>

<h3 id="in-sum">In Sum</h3>

<p>These were some of my personal impressions from an experience cold calling. What I didn’t talk about is the character that comes with listening to 56 voicemails in a row in over 2 hours of calling or the humility that comes with asking strangers for money. Those things are important and are the part of the reason I think everyone should try something like this at some point. However, the main learning was that people can be really interesting, and I felt that this experience made me better at having good conversations with people I don’t yet know.</p>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[I recently finished a gig calling alumni from Oriel college, Oxford as part of a phone campaign from the Development Office. The purpose of the campaign was to improve affinity and convince alumni to donate to the college. About halfway through, I realized I was getting a lot more out of it than I expected I would. I now believe every person should do something like this at least once in their life: you should cold call, sell something door-to-door, or do something that requires you to (1) get rejected a lot, (2) make friends with total strangers in a short period of time, (3) ask for something from someone you don’t know well.]]></summary></entry><entry><title type="html">Funding Fusion</title><link href="https://kyduff.github.io/thoughts/climate/2022/03/23/funding-fusion.html" rel="alternate" type="text/html" title="Funding Fusion" /><published>2022-03-23T00:00:00+00:00</published><updated>2022-03-23T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/climate/2022/03/23/funding-fusion</id><content type="html" xml:base="https://kyduff.github.io/thoughts/climate/2022/03/23/funding-fusion.html"><![CDATA[<p>Alex Tabarrok recently <a href="https://marginalrevolution.com/marginalrevolution/2022/03/what-operation-warp-speed-did-didnt-and-cant-do.html">posted on Marginal Revolution</a> about properties necessary to the success of “Operation Warp Speed,” which was an effort by the US federal government to roll out mRNA vaccines in response to COVID.</p>

<p>His thesis boils down to 4 points:</p>

<blockquote>
  <p>what do we need for another [Operation Warp Speed]? 1) Known science—scaling not discovering, 2) Lifting of regulations 3) Big externalities, 4) Pre-existing motivation.</p>
</blockquote>

<p>This got me thinking about potential gains we can accelerate with federal funds. Solving the climate problem is always on my mind, and we’re not going to do that without a substantial refactor of our electricity generation system.</p>

<p>The Biden administration recently <a href="https://www.whitehouse.gov/ostp/news-updates/2022/03/15/fact-sheet-developing-a-bold-vision-for-commercial-fusion-energy/">announced a fund</a> devoted to fusion research which, if successful, could solidify America’s energy independence and open the door to other applications currently constrained by energy availability like <a href="https://www.sciencedirect.com/topics/earth-and-planetary-sciences/desalination#:~:text=Desalination%20is%20the%20process%20of,and%20for%20domestic%2Findustrial%20utilization.">desalination</a> and carbon capture. The question is: will this work?</p>

<p>The first thing we can do is evaluate the project on Tabarrok’s criteria. Fusion clearly knocks the last three points out of the park:</p>

<ul>
  <li>Nuclear power generation is <em>extremely</em> regulated in the US which turns most experimental research into a bureaucratic headache severe enough to compel work to move elsewhere. We need big changes if we want to make a breakthrough on US soil</li>
  <li>The external benefits are huge and obvious: practically infinite, (theoretically) low-cost, clean energy</li>
  <li>We’ve been energy constrained since the industrial revolution (and arguably before that), and the political benefit of energy independence is more relevant than ever</li>
</ul>

<p>Unfortunately the first point is a miss: fusion energy is definitely more than a scaling problem. We’ll need to address the technical problems associated with stability before we can expect to reach industrial scale. Nonetheless, I’m optimistic we can do it. Here’s (part of the reason) why.</p>

<p>Let’s look at some other historical successes in federal acceleration of groundbreaking projects:</p>
<ul>
  <li>moon landing</li>
  <li>atomic bombs</li>
  <li>the internet</li>
</ul>

<p>Most people will be familiar with the government’s role in the former two examples, but some may not know the story of the internet so well. The full story is described phenomenally in M. Mitchell Waldrop’s <a href="https://www.amazon.com/Dream-Machine-M-Mitchell-Waldrop/dp/1732265119/ref=sr_1_1?crid=3OH99VFRGFHNW&amp;keywords=the+dream+machine&amp;qid=1647860419&amp;sprefix=the+dream+mach%2Caps%2C216&amp;sr=8-1"><em>The Dream Machine</em></a>, and the tl;dr is that networking projects were funded by ARPA (through the pentagon) under the direction of creative geniuses like JCR Licklider and Bob Taylor (Bob Taylor went on to run the legendary Xerox PARC), which amounted to the creation of the ARPAnet and ultimately the internet.</p>

<p>The point here is that all three of these projects were successful despite the obstacle of discovery: new science had to be created to make them work. Accordingly, like fusion, these projects would have missed the first point in Tabarrok’s criteria.</p>

<p>So why did they work? I’m still not convinced I understand my thoughts on this well enough to formulate a thesis, but a common thread is that all of these projects had an element of international competition associated with them. The case of the internet is perhaps the most subtle—though threats from the Vietnam and Cold wars indisputably influenced America’s decision to fund the initiative as superior communication and computation tech is a huge advantage in wartime. Of course the moon landing precipitated from the Soviet/US space race and atomic weapon primacy secures the deterrent effects they’re designed to have.</p>

<p>The Biden administration is in a great position to frame fusion research as a matter of international competition since:</p>
<ol>
  <li>The war in Ukraine (and corresponding threat to the world’s natural gas supply chain) validates the importance of energy independence from Russia</li>
  <li><a href="https://www.smithsonianmag.com/smart-news/chinas-artificial-sun-reactor-broke-record-for-nuclear-fusion-180979336/">China</a>, <a href="https://www.iter.org/newsline/-/3622">Russia</a>, and <a href="https://english.kyodonews.net/news/2022/02/aab79e4f7ea3-japan-venture-to-build-countrys-first-nuclear-fusion-power-plant.html">Japan</a> have all recently initiated their own hunts for sustainable fusion</li>
</ol>

<h3 id="other-thoughts">Other thoughts</h3>

<p>It’s usually a poor bet that funds alone can produce scientific breakthroughs. Fortunately, research into magnets has been promising and <a href="https://news.mit.edu/2021/MIT-CFS-major-advance-toward-fusion-energy-0908">simulations show that near-term reactors have the potential to be energy producing on the net</a>. At this point, a sustained net-positive reaction would be a Wright Brothers moment that proves the concept of fusion energy. Even though we’d still have a lot of work to do making fusion reactors commercially viable (by increasing safety and operating lifetime), we’d have a lot of tailwind once we get the energy going positive.</p>]]></content><author><name></name></author><category term="thoughts" /><category term="climate" /><summary type="html"><![CDATA[Alex Tabarrok recently posted on Marginal Revolution about properties necessary to the success of “Operation Warp Speed,” which was an effort by the US federal government to roll out mRNA vaccines in response to COVID.]]></summary></entry><entry><title type="html">The Use of Knowledge</title><link href="https://kyduff.github.io/thoughts/2022/03/21/use-of-knowledge.html" rel="alternate" type="text/html" title="The Use of Knowledge" /><published>2022-03-21T00:00:00+00:00</published><updated>2022-03-21T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2022/03/21/use-of-knowledge</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2022/03/21/use-of-knowledge.html"><![CDATA[<p>My mind has been occupied by Hayek’s <a href="https://www.kysq.org/docs/Hayek_45.pdf"><em>The Use of Knowledge in Society</em></a> for the past 3 days.</p>

<p>The focal premise of the article is that we ought to conceive of planning problems as problems of coordinating specialized (and individually incomplete) knowledge clusters instead of determining optimal solutions from a position of complete information. In Hayek’s words:</p>

<blockquote>
  <p>The problem is thus in no way solved if we show that all the facts, if they were known to a single mind (as we hypothetically assume them to be given to the observing economist), would uniquely determine the solution; instead we must show how a solution is produced by the interactions of people each of whom possess only partial knowledge.</p>
</blockquote>

<p>I agree with Hayek’s pivotal assumption, which is that a single actor is incapable of possessing complete knowledge of an economic system at every level of granularity. I admit that China’s success as a surveillance state supports the claim that <em>sufficiently</em> detailed knowledge may be obtained to allow central planning, though I’m not convinced this is optimal. It seems impossible to me that a central agent may possess all the information of a system, which is a belief I base on a heuristic assumption that the whole intelligence of any system must (in principle) exceed the intelligence of any part (I find that Buckminster Fuller’s concept of <a href="https://en.wikipedia.org/wiki/Synergetics_(Fuller)">synergy</a> crops up a lot these days).</p>

<p>Regardless of belief, the planning problem boils down to the following minimax optimization:</p>
<ol>
  <li>Maximize coordination</li>
  <li>Minimize dilution</li>
</ol>

<p>A point Hayek harps on is that the planning problem is less about strategy and more about coordination. For macro scale growth we require some amount of coordination in the form of alignment to a plan that remains coherent over time (which allows gains to compound). The natural approach to this is to allocate a central planner to enforce a coherent plan, but the salient point of Hayek’s article is that this accrues knowledge dilution risk; in other words, it ignores the second half of the minimax planning problem.</p>

<p>Dilution in this context refers to the lossy compression of local expertise which occurs in the communication channel between localized clusters of knowledge in an economic system. In particular, local knowledge is degraded when summarized for and aggregated by a central planner. An analogy is that the mean and variance insufficiently describe most abnormal distributions, and, for example, a central planner who approximates a distribution by a normal one and therefore neglects the kurtosis of the underlying distribution may undervalue tail risk and thereby expose the system to potential damage.</p>

<p>I think this idea is what Hayek was trying to get at when he wrote</p>

<blockquote>
  <p>the sort of knowledge with which I have been concerned is knowledge of the kind which by its nature cannot enter into statistics and therefore cannot be conveyed to any central authority in statistical form … It follows from this that central planning based on statistical information by its nature cannot take direct account of these circumstances of time and place, and that the central planner will have to find some way or other in which the decisions depending on them can be left to the “man on the spot.”</p>
</blockquote>

<h3 id="summary">Summary</h3>

<p>In the end, the things that stick are that:</p>
<ul>
  <li>we operate in a macroeconomic system with fractured clusters of locally precise knowledge, each one’s information being incomplete</li>
  <li>an optimally planned system will maximize coordination between these clusters while minimizing dilution of their expertise</li>
</ul>

<h3 id="beyond-economic-planning">Beyond Economic Planning</h3>

<p>Modelling systems in this way has made me think of tons of other applications, and I’m still clarifying my thoughts about them. I may write about it later, but in the meantime, here’s a list of other stuff this article made me think about:</p>
<ul>
  <li>the success of <a href="https://en.wikipedia.org/wiki/Market_garden">garden farming</a> to the growth of east Asian agricultural economies in the 20th century (Joe Studwell talks about this at length in the first part of his book <a href="https://www.amazon.com/How-Asia-Works-Joe-Studwell/dp/0802121322/ref=sr_1_1?crid=CJCYSGMAZGPP&amp;keywords=how+asia+works&amp;qid=1647860267&amp;sprefix=how+asia+wor%2Caps%2C255&amp;sr=8-1">How Asia Works</a>)</li>
  <li>the potential trajectory towards AGI via <a href="https://www.fhi.ox.ac.uk/wp-content/uploads/Reframing_Superintelligence_FHI-TR-2019-1.1-1.pdf">modular intelligences that communicate</a></li>
  <li><a href="https://en.wikipedia.org/wiki/John_Boyd_(military_strategist)">John Boyd</a> and the comparative importance of <a href="https://thestrategybridge.org/the-bridge/2016/8/16/a-new-plan-using-complexity-in-the-modern-world">responsiveness rather than raw power in combat</a></li>
  <li>the insane success of the internet’s decentralized routing protocol</li>
  <li><a href="https://www.amazon.com/Outsiders-Unconventional-Radically-Rational-Blueprint/dp/1422162672">the pattern of history’s greatest CEOs as capital allocators rather than micromanagers</a></li>
  <li>autonomy granted to researchers at <a href="https://www.amazon.com/Dream-Machine-M-Mitchell-Waldrop/dp/1732265119/ref=sr_1_1?crid=3OH99VFRGFHNW&amp;keywords=the+dream+machine&amp;qid=1647860419&amp;sprefix=the+dream+mach%2Caps%2C216&amp;sr=8-1">Xerox PARC under Bob Taylor’s direction</a></li>
</ul>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[My mind has been occupied by Hayek’s The Use of Knowledge in Society for the past 3 days.]]></summary></entry><entry><title type="html">Post Quantum Scaling I</title><link href="https://kyduff.github.io/thoughts/2022/03/14/post-quantum-zk.html" rel="alternate" type="text/html" title="Post Quantum Scaling I" /><published>2022-03-14T00:00:00+00:00</published><updated>2022-03-14T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2022/03/14/post-quantum-zk</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2022/03/14/post-quantum-zk.html"><![CDATA[<p>Quantum computing poses a threat to security protocols underlying the modern internet, but it doesn’t have to pose a threat to the future’s internet.</p>

<p>What’s the problem? Modern security protocols rely on the difficulty of factoring many-digit <a href="https://en.wikipedia.org/wiki/Semiprime">semiprime</a> numbers.<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> In particular I’m talking about cryptographic signatures. Cryptographic signing is built on the premise that I can display a public identifier key linked to a private “signing key” so that counterparties can verify that—without revealing the value of the private signing key—indeed <em>I</em> signed a message using the private key linked to my public identifier. In practice this is implemented with large semiprime numbers (along with some other <a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">math magic</a>), though its implementation admits a method to compute the private key associated with a given public key, given that semiprime numbers can be factored efficiently.</p>

<p>Quantum computers with sufficiently many stable qubits<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup> can do this time-efficiently. From here the substance of this is derived from the inevitability of practical factoring systems: it’s not a matter of whether physically implemented quantum computers will crack digital signature algorithms, but when. My impression is that modern crypto systems will only survive in their current form if funding for quantum computing research dries up. This I think is unlikely, at the very least because quantum computers are effective simulators for chemical phenomena relevant to drug discovery.</p>

<h1 id="attack-surface-1-blockchains">Attack Surface 1: Blockchains</h1>

<p>Positing the existence of stable quantum computers with many (many) qubits, what is the attack surface of modern blockchains? I’ve already mentioned vulnerabilities in the private/public key pair system. Another problem is zk-proofs.</p>

<h2 id="the-problem-with-proofs">The Problem With Proofs</h2>

<p>Most Ethereum scaling solutions rely on zero knowledge proof (zk-proof) systems to securely compress a computation into a public commitment that is easier to validate than it is to perform the underlying compute task. There are three systems that dominate this task:</p>
<ul>
  <li>SNARKs</li>
  <li>STARKs</li>
  <li>Bulletproofs</li>
</ul>

<p>What matters in the context of this post is that SNARKs and Bulletproofs are susceptible to quantum threats whereas STARKs are (so far) believed immune. Despite their vulnerability to quantum attacks, SNARKs are used the most in practice by a wide margin. Why? The short answer is space efficiency (and the long answer would address tooling and history): regardless of the size of computation, SNARKs take up 288 bytes whereas STARKS take up ~45,000 bytes and scale with computation size like $O(p(\log n))$ for a polynomial $p$.</p>

<p>In the current environment of high Ethereum gas fees, the extra 2 orders of magnitude are very costly. A SNARK can fit into a transaction absorbing ~600k gas, whereas STARKs soak up nearly 2.5 million gas. At current gas prices (roughly $37 \times 10^{-9}$ ETH / gas), that’s a difference of roughly USD 1700 for each zk-proof. As a solution to a problem that doesn’t exist yet, it’s a tough sell.</p>

<p>So what can we do? The quantum threat is inevitable and requires attention sooner than later. Post-quantuming crypto systems is going to be harder than it seems, so we should get started as soon as possible. For STARKs to be adopted, either their size needs to be reduced substantially or they need to be deployed on a chain with lower gas fees. Doing the former seems harder to me.</p>

<p>The tech behind STARKs is new and exciting. It would be great to see more people working on compressing the STARK (or another post-quantum zk system) footprint so we can make steps towards a future version of the internet that will survive the birth of quantum computing at scale.</p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>For the curious: most security protocols (including those underlying Bitcoin and Ethereum) don’t actually use natural numbers but rather an algebra of numbers whose multiplicative operation is derived from bouncing points around on an elliptic curve. This is done because the same security level (measured in difficulty to crack) requires almost 10x more bits in classical RSA than in the elliptic curves version. If you’re interested, check out <a href="https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm">ECDSA</a>. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>Fortunately the number of required qubits is <a href="https://research.kudelskisecurity.com/2021/08/24/quantum-attack-resource-estimate-using-shors-algorithm-to-break-rsa-vs-dh-dsa-vs-ecc/">quite high</a>. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[Quantum computing poses a threat to security protocols underlying the modern internet, but it doesn’t have to pose a threat to the future’s internet.]]></summary></entry><entry><title type="html">The Path to Jarvis Part I</title><link href="https://kyduff.github.io/thoughts/2022/03/09/semantic-parsing-1.html" rel="alternate" type="text/html" title="The Path to Jarvis Part I" /><published>2022-03-09T00:00:00+00:00</published><updated>2022-03-09T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2022/03/09/semantic-parsing-1</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2022/03/09/semantic-parsing-1.html"><![CDATA[<p>Existing communication channels between the human brain and machines have insufficient bandwidth to express the entire space of human ideas.</p>

<p>To solve this problem, we need to introduce a new machine-readable communication stream with higher bandwidth. There are two approaches we can take to this:</p>
<ol>
  <li>Create an entirely new communication stream</li>
  <li>Adapt an existing communication stream with high bandwidth to a machine-readable format</li>
</ol>

<p>Today I’m going to talk about the second approach. In particular, I’ll talk about what it will take to build an effective <em>semantic parsing</em> system. I’ll likely return to this topic in later Thoughts, but for now, I’ll describe the basics. For one, let’s make it clear what I mean by “semantic parsing”: semantic parsing is the task of converting utterances in natural language to statements in a formal language. In the context of human-computer symbiosis, this means converting sentences and phrases spoken in common languages like English or German into explicit instructions for the computer to perform, usually passing through the syntax of a pre-existent logical or programming language.</p>

<p>The fundamental problem is that human language is fuzzy, idiosyncratic, and ambiguous, which is particularly ill-suited for specifying instructions to machines. Computers require clear, precise instructions that fit a predictable syntax to reliably perform their duties, so if we’re going to build a more natural human-computer interface based on the high-bandwidth channel of human language, we need a way to convert fuzzy statements from natural language into concrete formal structures. This is the basis for semantic parsers.</p>

<p>Before we go about building a semantic parser, we should understand what a good one would look like. To get a rough idea of what makes a good semantic parser, we can evaluate along two dimensions: (1) precision of understanding, and (2) broadness of scope. In other words, the semantic parser should understand what needs to be done and be capable of doing lots of useful things. To get a lay of the landscape, you can plot semantic parsers along these axes:</p>

<p><img src="/assets/sempar-axes1.png" alt="Dimensions" /></p>

<p>Our target is to build semantic parsers that sit in the top right: these are the Jarvis-like personal assistants which consistently answer queries correctly and resolve most of our mechanical intellectual needs. Unfortunately, I would say most semantic parsers today sit on the line $y = -x$: we’ve been able to build parsers that are either really good at a specific/idiosyncratic task (if you’re interested, check out <a href="https://www.nltk.org/howto/chat80.html">Chat-80</a>) or capable of a lot of really simple things without generalizing well to complex inputs.</p>

<p>To fix this, we’ll want to build a semantic parsing system with the following properties:</p>
<ul>
  <li>You should be able to communicate as naturally as possible—there should be no requirement to learn an unnatural version of English (or any other language) to interact with it</li>
  <li>The system should generalize to any sequence of digital tasks a human could tell another human to do</li>
  <li>It should know when it doesn’t understand an instruction or its instructions are ill-specified</li>
</ul>

<p>We can look at these one-by-one and try to get an idea of what we can do.</p>

<h3 id="natural-communication">Natural communication</h3>

<p>Banning unnatural sublanguages completely eliminates the relevance of rule-based systems. We can’t expect to solve this problem by mapping formal languages onto grammars of common words that admit sentences that look kind of natural. Because day-to-day communication is fuzzy, our models need to be able to handle fuzzy inputs to be sufficiently expressive. This means we’ll have to rely on statistical methods to infer the true meaning of sentences. Fortunately, <a href="https://web.stanford.edu/~cgpotts/manuscripts/liang-potts-semantics.pdf">this isn’t trading off much</a> and statistical methods have improved dramatically in the past 5 years.</p>

<h3 id="generalization">Generalization</h3>

<p>Most digital tasks humans perform are not easily specified by a single formal language. Theoretically, we could build a programming language that simulates human control of a desktop computer by moving a mouse and sending keystrokes (simulating typing), but this still suffers from a failure to generalize to mobile devices or other machines that are controlled remotely. It seems inevitable to me that a sufficiently expressive semantic parsing system will support several target languages and adapt to new languages that arise as the landscape of downstream applications continues to evolve.</p>

<p>Most computer applications are reasonably complex and require non-trivial formal syntaxes to express the space of possible instructions. For example, the <a href="https://github.com/antlr/grammars-v4/blob/master/vba/vba.g4">grammar defining VBA</a> (a programming language used to script Microsoft Excel) is roughly 1000 lines long, and of course the space of possible programs is infinite.</p>

<p>To deal with this kind of complexity and dimensionality, we need <em>lots</em> of data. In particular, we needs a spanning set of pairs of natural language utterances and their corresponding formal statements. Fortunately we can generate an infinite volume of formal statements, but these are expensive to annotate: most use Amazon’s mechanical turk service to label data, which in this case would cost at least $0.70 per label assuming you’d hire labelers with a bachelor’s degree (I think this is reasonable since you’d require them to learn the formal language, which may be quite complex).</p>

<p>We can reduce this cost by designing high-fidelity synthesis systems that generate formal statements and corresponding natural language tags. I think this approach is promising if we stay focused on developing automatic synthesis/annotation methods that generalize to more formal targets.</p>

<h3 id="knowing-what-you-dont-know">Knowing what you don’t know</h3>

<p>Self-consciousness is necessary in any field deployment of a semantic parser. The literature here is comparatively sparse, but I’ve been pretty excited by recent developments in <a href="http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-7.html">Bayesian methods of machine learning</a>. The scaling problem still needs to be solved for these approaches to be practical, but fortunately they allow us to inject prior notions of uncertainty that are progressively refined as the model observes more examples.</p>

<p>There are at least three huge benefits to this approach:</p>
<ol>
  <li>We can define abstention protocols that prevent the model from executing formal instructions it’s unsure about</li>
  <li>We can get a sense for deficiencies in the distribution of training examples</li>
  <li>We can bring humans into the loop more effectively as models <a href="https://en.wikipedia.org/wiki/Active_learning_(machine_learning)">actively learn</a> in the field.</li>
</ol>

<p>Most semantic parsers these days predict formal language tags through a probability distribution over a vocabulary of tokens. For now we can use statistics on that probability distribution as a proxy for confidence, but I’m really excited to see what we can do with more sophisticated uncertainty measures as the logistics of Bayesian methods improve.</p>

<h2 id="summing-up">Summing up</h2>

<p>An effective semantic parsing system would propel us much further towards a world of human-computer symbiosis. To do it right, we want a system that understands natural language as it is, is hyper-capable, and knows about its own fallibility. To make this happen, we’ll need a confluence of research initiatives. In the end I think the payoff would be enormous, and I’m really excited to watch the field progress.</p>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[Existing communication channels between the human brain and machines have insufficient bandwidth to express the entire space of human ideas.]]></summary></entry><entry><title type="html">Deducing Definitions</title><link href="https://kyduff.github.io/thoughts/2022/03/08/deducing-definitions.html" rel="alternate" type="text/html" title="Deducing Definitions" /><published>2022-03-08T00:00:00+00:00</published><updated>2022-03-08T00:00:00+00:00</updated><id>https://kyduff.github.io/thoughts/2022/03/08/deducing-definitions</id><content type="html" xml:base="https://kyduff.github.io/thoughts/2022/03/08/deducing-definitions.html"><![CDATA[<p>I started writing something about necessary yet insufficient descriptions of complex problems and gave it the title “What Makes an Apple Pie?”, but in my difficulty composing that essay, I decided that a more apt approach to my first entry in <em>Thoughts of The Day</em> would directly address something to do with formalizing thoughts. Maybe one day you’ll learn what makes an apple pie, but today is not the day I tell you.</p>

<p>What I’m going to do is write a short piece describing the process I use to define problems and make decisions based on formal reasoning. Why? I want my first essay to have a few properties:</p>
<ul>
  <li>it shouldn’t be long enough to set a trend of lengthy rants in this column (though I plan to allow my entries to stretch as far as they can retain content)</li>
  <li>it should be about something I’m extraordinarily familiar with so that it’s easy to write</li>
  <li>it should be embarrassing enough to make me comfortable publishing organic content in future essays</li>
</ul>

<p>So let’s get into it. Claude Shannon defined entropy by first conceiving of a concrete notion of “surprise” and concluding that an appropriate mathematical definition capturing the concept should have the following three properties:</p>
<ul>
  <li>events which are improbable should also be surprising</li>
  <li>your surprise at two independent events happening together should be the sum of the surprises of seeing each event independently</li>
  <li>surprise should increase continuously with improbability</li>
</ul>

<p>From here you can use some mathematics to show that the logarithm function is the only function satisfying these properties, and hence the definition of “information” was born. Clearly this definition worked very well, because Claude Shannon rode it into a life of fame and leisure as information theory grew into the basis for all modern digital communication. So what went on here? How did Shannon come up with this definition? Crucially, Shannon didn’t start with his definition and then deduce properties. He started with the <em>properties</em>, and then <em>deduced</em> his definition. This is an application of the wider trend in mathematics to “work backwards,” which is a tactic advocated by most of history’s greatest problem solvers.</p>

<p>I find decisions often consist of defining a course of action, therefore I tend to approach decisions similarly to how I would approach making mathematical definitions. In particular, I like to make lists that answer questions:</p>
<ul>
  <li>what properties do I want?</li>
  <li>what should my answer <em>do</em>?</li>
  <li>what is necessary?</li>
  <li>how should my answer interact with other things?</li>
</ul>

<p>An underrated side effect of this approach is that if you develop these lists in collaboration with other people, you very naturally develop a canonical language that enables more effective discussions while evaluating alternatives. If the objectives and criteria are developed with organic and transparent consensus from the beginning of the decision making process, it makes it much easier to express opinions that will be respected and understood as intended.</p>]]></content><author><name></name></author><category term="thoughts" /><summary type="html"><![CDATA[I started writing something about necessary yet insufficient descriptions of complex problems and gave it the title “What Makes an Apple Pie?”, but in my difficulty composing that essay, I decided that a more apt approach to my first entry in Thoughts of The Day would directly address something to do with formalizing thoughts. Maybe one day you’ll learn what makes an apple pie, but today is not the day I tell you.]]></summary></entry></feed>