<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Simon’s Newsletter]]></title><description><![CDATA[questionable opinions]]></description><link>https://www.simonberens.com</link><image><url>https://www.simonberens.com/img/substack.png</url><title>Simon’s Newsletter</title><link>https://www.simonberens.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 19 May 2026 03:23:48 GMT</lastBuildDate><atom:link href="https://www.simonberens.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Simon]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[sberens@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[sberens@substack.com]]></itunes:email><itunes:name><![CDATA[Simon]]></itunes:name></itunes:owner><itunes:author><![CDATA[Simon]]></itunes:author><googleplay:owner><![CDATA[sberens@substack.com]]></googleplay:owner><googleplay:email><![CDATA[sberens@substack.com]]></googleplay:email><googleplay:author><![CDATA[Simon]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Lessons Learned Shipping 500 Units of my First Hardware Product]]></title><description><![CDATA[Building in consumer hardware as a software engineer]]></description><link>https://www.simonberens.com/p/lessons-learned-shipping-500-units</link><guid isPermaLink="false">https://www.simonberens.com/p/lessons-learned-shipping-500-units</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sun, 01 Feb 2026 20:00:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2c20008a-4bbc-4593-8947-bae34e8b4a2e_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>1 year ago (Jan 2025) I quit my job as a software engineer to launch my first hardware product, <a href="https://getbrighter.com/">Brighter</a>, the world&#8217;s brightest lamp. In March, after $400k in sales through our <a href="https://www.indiegogo.com/projects/brighter-the-world-s-brightest-floor-lamp/x/38229121#/">crowdfunding campaign</a>, I had to figure out how to manufacture 500 units for our first batch. I had no prior experience in hardware; I was counting on being able to pick it up quickly with the help of a couple of mechanical/electrical/firmware engineers.</p><p>The problems began immediately. I sent our prototype to a testing lab to verify the brightness and various colorimetry metrics. The tagline of Brighter was it&#8217;s 50,000 lumens &#8212; 25x brighter than a normal lamp. Instead, despite our planning &amp; calculations, it tested at 39,000 lumens causing me to panic (just a little).</p><p>So with all hands on deck, in a couple of weeks we increased the power by 20%, redesigned the electronics to handle more LEDs, increased the size of the heatsink to dissipate the extra power, and improved the transmission of light through the diffuser.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1aA4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1aA4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 424w, https://substackcdn.com/image/fetch/$s_!1aA4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 848w, https://substackcdn.com/image/fetch/$s_!1aA4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 1272w, https://substackcdn.com/image/fetch/$s_!1aA4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1aA4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png" width="314" height="390.8979591836735" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:610,&quot;width&quot;:490,&quot;resizeWidth&quot;:314,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1aA4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 424w, https://substackcdn.com/image/fetch/$s_!1aA4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 848w, https://substackcdn.com/image/fetch/$s_!1aA4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 1272w, https://substackcdn.com/image/fetch/$s_!1aA4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2294cc1c-f983-4c0e-a45d-1a126eede358_490x610.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This time, we overshot to 60,000 lumens but I&#8217;m not complaining.</p><p>Confident in our new design I gave the go ahead to our main contract manufacturer in China to start production of mechanical parts. The heatsink had the longest lead time as it required a massive two ton die casting mold machined over the course of weeks. I planned my first trip to China for when the process would finish.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pzJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pzJa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 424w, https://substackcdn.com/image/fetch/$s_!pzJa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 848w, https://substackcdn.com/image/fetch/$s_!pzJa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!pzJa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pzJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png" width="419" height="314.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:419,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pzJa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 424w, https://substackcdn.com/image/fetch/$s_!pzJa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 848w, https://substackcdn.com/image/fetch/$s_!pzJa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!pzJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66e292a-addc-4fad-b84c-d7a9d661f9fd_1600x1200.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Simultaneously in April, Trump announced &#8220;Liberation Day&#8221; tariffs, taking the tariff rate for the lamp to 50%, promptly climbing to 100% then 150% with the ensuing trade war. That was the worst period of my life; I would go to bed literally shaking with stress. In my opinion, Not Cool!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X7Be!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X7Be!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!X7Be!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!X7Be!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!X7Be!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X7Be!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png" width="397" height="264.75755494505495" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:397,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X7Be!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!X7Be!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!X7Be!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!X7Be!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38dec913-42bf-4df8-823c-7756bc24bba4_1536x1024.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I was advised to press forward with manufacturing because 150% is bonkers and will have to go down. So 2 months later in Zhongshan, China, I&#8217;m staring at a heatsink that looks completely fucked. Due to a miscommunication with the factory, the injection pins were moved inside the heatsink fins, causing the cylindrical extrusions below. I was just glad at least the factory existed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NYqC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NYqC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 424w, https://substackcdn.com/image/fetch/$s_!NYqC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 848w, https://substackcdn.com/image/fetch/$s_!NYqC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 1272w, https://substackcdn.com/image/fetch/$s_!NYqC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NYqC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png" width="386" height="304.3029126213592" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1030,&quot;resizeWidth&quot;:386,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NYqC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 424w, https://substackcdn.com/image/fetch/$s_!NYqC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 848w, https://substackcdn.com/image/fetch/$s_!NYqC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 1272w, https://substackcdn.com/image/fetch/$s_!NYqC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F455add37-bcd5-4625-bb5f-8f05634e351a_1030x812.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L90m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L90m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 424w, https://substackcdn.com/image/fetch/$s_!L90m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 848w, https://substackcdn.com/image/fetch/$s_!L90m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 1272w, https://substackcdn.com/image/fetch/$s_!L90m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L90m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png" width="378" height="277.08597285067873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1326,&quot;resizeWidth&quot;:378,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L90m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 424w, https://substackcdn.com/image/fetch/$s_!L90m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 848w, https://substackcdn.com/image/fetch/$s_!L90m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 1272w, https://substackcdn.com/image/fetch/$s_!L90m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a9e4735-7af9-427c-b106-04aa096689cd_1326x972.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I returned in August to test the full assembly with the now correct heatsink. At my electronics factory as soon as we connect all the wiring, we notice the controls are completely unresponsive. By <a href="https://en.wikipedia.org/wiki/Murphy%27s_law">Murphy&#8217;s Law</a> (anything that can go wrong will go wrong), I had expected something like this to happen, so I made sure to visit the factory at 10am China Standard time, allowing me to coordinate with my electrical engineer at 9pm ET and my firmware engineer at 7:30am IST. We&#8217;re measuring voltages across every part of the lamp and none of it makes sense. I postpone my next supplier visit a couple days so I can get this sorted out. At the end of the day, we finally notice the labels on two PCB pins were swapped.</p><p>With a functional fully assembled lamp, we OK mass production of the electronics.</p><p>Our first full pieces from the production line come out mid October. I airship them to San Francisco, and hand deliver to our first customers. The rest are scheduled for container loading end of October.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y6FA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y6FA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 424w, https://substackcdn.com/image/fetch/$s_!Y6FA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 848w, https://substackcdn.com/image/fetch/$s_!Y6FA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 1272w, https://substackcdn.com/image/fetch/$s_!Y6FA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y6FA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y6FA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 424w, https://substackcdn.com/image/fetch/$s_!Y6FA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 848w, https://substackcdn.com/image/fetch/$s_!Y6FA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 1272w, https://substackcdn.com/image/fetch/$s_!Y6FA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F670655fd-3825-409d-a621-a1afef14cf92_1600x1066.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Wesley, CEO of Aragon.ai</figcaption></figure></div><p>Early customers give some good reviews:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z0pu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z0pu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 424w, https://substackcdn.com/image/fetch/$s_!z0pu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 848w, https://substackcdn.com/image/fetch/$s_!z0pu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 1272w, https://substackcdn.com/image/fetch/$s_!z0pu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z0pu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png" width="628" height="401.5576923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:931,&quot;width&quot;:1456,&quot;resizeWidth&quot;:628,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z0pu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 424w, https://substackcdn.com/image/fetch/$s_!z0pu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 848w, https://substackcdn.com/image/fetch/$s_!z0pu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 1272w, https://substackcdn.com/image/fetch/$s_!z0pu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c3c9706-6f29-42ac-8f1c-47fd8a694b5b_1600x1023.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!usTC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!usTC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 424w, https://substackcdn.com/image/fetch/$s_!usTC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 848w, https://substackcdn.com/image/fetch/$s_!usTC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 1272w, https://substackcdn.com/image/fetch/$s_!usTC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!usTC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png" width="624" height="194.57142857142858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:624,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!usTC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 424w, https://substackcdn.com/image/fetch/$s_!usTC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 848w, https://substackcdn.com/image/fetch/$s_!usTC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 1272w, https://substackcdn.com/image/fetch/$s_!usTC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7104dae5-b85d-487f-aa46-03d2770b8068_1600x499.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>People like the light! A big SF startup orders a lot more. However, there is one issue I hear multiple times: the knobs are scraping and feel horrible. With days until the 500 units are loaded into the container, I frantically call with the engineering team and factory. Obviously this shouldn&#8217;t be happening, we designed a gap between the knobs and the wall to spin freely. After rounds of back and forth and measurements, we figure out in the design for manufacturing (DFM) process, the drawings the CNC sub-supplier received did not have the label for spacing between the knobs, resulting in a 0.5mm larger distance than intended. Especially combined with the white powder coating which was thicker than the black finish, this caused some knobs to scrape.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!13eA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!13eA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 424w, https://substackcdn.com/image/fetch/$s_!13eA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 848w, https://substackcdn.com/image/fetch/$s_!13eA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 1272w, https://substackcdn.com/image/fetch/$s_!13eA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!13eA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png" width="218" height="162.7788279773157" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1058,&quot;resizeWidth&quot;:218,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!13eA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 424w, https://substackcdn.com/image/fetch/$s_!13eA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 848w, https://substackcdn.com/image/fetch/$s_!13eA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 1272w, https://substackcdn.com/image/fetch/$s_!13eA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1abd2fde-27d6-4e29-800c-a718c444b276_1058x790.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">old knobs (too big)</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rW8A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rW8A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 424w, https://substackcdn.com/image/fetch/$s_!rW8A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 848w, https://substackcdn.com/image/fetch/$s_!rW8A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 1272w, https://substackcdn.com/image/fetch/$s_!rW8A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rW8A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png" width="224" height="162.71698113207546" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81e83a15-f722-4192-9987-738985ca9c9f_848x616.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:848,&quot;resizeWidth&quot;:224,&quot;bytes&quot;:528782,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.simonberens.com/i/186376663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rW8A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 424w, https://substackcdn.com/image/fetch/$s_!rW8A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 848w, https://substackcdn.com/image/fetch/$s_!rW8A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 1272w, https://substackcdn.com/image/fetch/$s_!rW8A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e83a15-f722-4192-9987-738985ca9c9f_848x616.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">fixed knobs</figcaption></figure></div><p>Miraculously, within the remaining days before shipment, the factory remakes &amp; powder coats 1000 new knobs that are 1mm smaller in diameter.</p><p>The factory sends me photos of the container being loaded. I have 3 weeks until the lamps arrive in the US &#8212; I enjoy the time without last minute engineering problems, albeit knowing inevitably problems will appear again when customers start getting their lamps.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jea9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jea9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Jea9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Jea9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Jea9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jea9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png" width="332" height="442.29808492922564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1201,&quot;resizeWidth&quot;:332,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jea9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Jea9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Jea9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Jea9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2f18f8-8ff4-4022-9d76-562114a0f579_1201x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8y2_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8y2_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 424w, https://substackcdn.com/image/fetch/$s_!8y2_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 848w, https://substackcdn.com/image/fetch/$s_!8y2_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!8y2_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8y2_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png" width="328" height="436.9691923397169" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1201,&quot;resizeWidth&quot;:328,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8y2_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 424w, https://substackcdn.com/image/fetch/$s_!8y2_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 848w, https://substackcdn.com/image/fetch/$s_!8y2_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!8y2_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F333f1226-66bd-46aa-9846-eb6e4293cea1_1201x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The lamps are processed by our warehouse Monday, Dec 12th, and shipped out directly to customers via UPS. Starting Wednesday, around ~100 lamps are getting delivered every day. I wake up to 25 customer support emails and by the time I&#8217;m done answering them, I get 25 more. The primary issue people have is the bottom wires are too short compared to the tubes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aLNC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aLNC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aLNC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aLNC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aLNC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aLNC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg" width="322" height="428.9758534554538" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1201,&quot;resizeWidth&quot;:322,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aLNC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aLNC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aLNC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aLNC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe47f48b2-61a4-48a5-a93c-2c8a9ee47255_1201x1600.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It was at this point I truly began to appreciate Murphy&#8217;s law. In my case, anything not precisely specified and tested would without fail go wrong and bite me in the ass. Although we had specified the total length of the cable, we didn&#8217;t define the length of cable protruding from the base. As such, some assembly workers in the factory put far too much wire in the base of the lamp, not leaving enough for it to be assembled. Luckily customers were able to fix this by unscrewing the base, but far from an ideal experience.</p><p>There were other instances of quality control where I laughed at the absurdity: the lamp comes with a sheet of glass that goes over the LEDs, and a screwdriver &amp; screws to attach it. For one customer, the screwdriver completely broke. (First time in my life I&#8217;ve seen a broken screwdriver&#8230;) For others, it came dull. The screwdriver sub supplier also shipped us two different types of screws, some of which were perfect, and others which were countersunk and consequently too short to be actually screwed in.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nycQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nycQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 424w, https://substackcdn.com/image/fetch/$s_!nycQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 848w, https://substackcdn.com/image/fetch/$s_!nycQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!nycQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nycQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png" width="260" height="346.6666666666667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1200,&quot;resizeWidth&quot;:260,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nycQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 424w, https://substackcdn.com/image/fetch/$s_!nycQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 848w, https://substackcdn.com/image/fetch/$s_!nycQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!nycQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f09e96b-f9be-46bd-865c-fdf81b1b7233_1200x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gH7F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gH7F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 424w, https://substackcdn.com/image/fetch/$s_!gH7F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 848w, https://substackcdn.com/image/fetch/$s_!gH7F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!gH7F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gH7F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png" width="258" height="342.85714285714283" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1204,&quot;resizeWidth&quot;:258,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gH7F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 424w, https://substackcdn.com/image/fetch/$s_!gH7F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 848w, https://substackcdn.com/image/fetch/$s_!gH7F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!gH7F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F385cae5d-0d43-458e-ba39-ce0213fafd62_1204x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wdrx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wdrx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 424w, https://substackcdn.com/image/fetch/$s_!Wdrx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 848w, https://substackcdn.com/image/fetch/$s_!Wdrx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!Wdrx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wdrx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png" width="257" height="193.98557692307693" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1099,&quot;width&quot;:1456,&quot;resizeWidth&quot;:257,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wdrx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 424w, https://substackcdn.com/image/fetch/$s_!Wdrx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 848w, https://substackcdn.com/image/fetch/$s_!Wdrx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!Wdrx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f921e9-b3cb-489e-a0c8-c14adb6f2ec4_1600x1208.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h1>Lessons Learned</h1><h2>1. Plan way, way more.</h2><p>Coming from software, the most planning you&#8217;re exposed to is linear tickets, sprints, and setting OKRs. If you missed a deadline, it&#8217;s often because you re-prioritized, so no harm done. </p><p>In hardware, the development lifecycle of a product is many months. If you mess up tooling, or mass produce a part incorrectly, or just sub-optimally plan, you set back the timeline appreciably and there&#8217;s nothing you can do but curse yourself. I found myself reaching for more &#8220;old school&#8221; planning tools like Gantt charts, and also building my own tools. Make sure you have every step of the process accounted for. Assume you&#8217;ll go through many iterations of the same part; double your timelines.</p><p>In software, budgeting is fairly lax, especially in the VC funded startup space where all you need to know is your runway (mainly calculated from your employee salaries and cloud costs).</p><p>With [profitable] hardware businesses, your margin for error is much lower. Literally, your gross margin is lower! If you sell out because you miss a shipment or don&#8217;t forecast demand correctly, you lose revenue. If you mis-time your inventory buying, your bank account can easily go negative. Accounting is a must, and the more detailed the better. Spreadsheets are your best friend. The funding model is also much different: instead of relying heavily on equity, most growth is debt-financed. You have real liabilities!</p><h2>2. Overcommunicate. Overspecify. Follow Up.</h2><p>Anything that can go wrong will go wrong. Anything you don&#8217;t specify will fail to meet the implicit specification. Any project or component not actively pushed will stall. At previous (software) companies I&#8217;ve worked at, if someone followed up on a task, I took it to mean the task was off track and somebody was to blame. With a hardware product, there are a million balls in the air and you need to keep track of all of them. Though somewhat annoying, constant checkins simply math-out to be necessary. The cost of failure or delays is too high. Nowadays as a container gets closer to shipment date, I have daily calls with my factories. I found myself agreeing with a lot of Ben Kuhn&#8217;s <a href="https://www.benkuhn.net/pjm/">blog post</a> on running major projects (his <a href="https://www.benkuhn.net/lux/">blog post</a> on lighting was also a major inspiration for the product).</p><h2>3. Test everything, often, on many units</h2><p>When I worked at Meta, every PR had to be accompanied with a test plan. I took that philosophy to Brighter, trying to rigorously test the outcomes we were aiming for (thermals, lumens, power, etc&#8230;), but I still encountered surprising failures. In software if you have coverage for a code path, you can feel pretty confident about it. Unfortunately hardware is almost the opposite of repeatable. Blink and you&#8217;ll get a different measurement. I&#8217;m not an expert, but at this point I&#8217;ve accepted the only way to get a semblance of confidence for my metrics is testing on multiple units in different environments.</p><h2>4. Geopolitics matter</h2><p>As someone who generally stays out of politics, I didn&#8217;t know much about the incoming administration&#8217;s stance towards tariffs, though I don&#8217;t think anyone could have predicted such drastic hikes. Regardless, it&#8217;s something you should be acutely aware of; take it into consideration when deciding what country to manufacture in, make sure it&#8217;s in your financial models with room to spare, etc&#8230; </p><h2>5. Visit your suppliers early</h2><p>I wish I had visited my suppliers much earlier, back when we were still prototyping with them. Price shouldn&#8217;t be an issue &#8212; a trip to China is going to be trivially cheap compared to buying inventory, even more so compared to messing up a manufacturing run due to miscommunication. Most suppliers don&#8217;t get international visitors often, especially Americans. Appearing in person conveys seriousness, and I found it greatly improved communication basically immediately after my first visit. Plus China is very different from the US and it&#8217;s cool to see!</p><h1>What Did I Do Right?</h1><p>To me, this process has felt like an exercise in making mistakes and learning painful lessons. However, I think I did do a couple of key things right:</p><h2>1. Validated the market</h2><p>The first thing I did before starting manufacturing&#8212;and even before the crowdfunding campaign&#8212;was setting up a simple website where people could pay $10 to get a steep discount off the MSRP. Before I committed time and money, I needed to know this would be self-sustaining from the get go. It turns out that people were happy to give their email and put down a deposit, even when the only product photos I had were from a render artist on fiverr!</p><h2>2. Charged a sustainable amount</h2><p>From talking to other hardware founders, these kinds of mistakes happen to everyone; hardware is hard as they say. It&#8217;s important to have a healthy enough business model to stomach these mistakes and still be able to grow.</p><p>Coolest Cooler had an incredibly successful <a href="https://www.kickstarter.com/projects/ryangrepper/coolest-cooler-21st-century-cooler-thats-actually">crowdfunding campaign</a>, partly because they packed a lot of features into a very attractively priced product. Unfortunately, it was <em>too</em> attractively priced, and partway through manufacturing they realized they didn&#8217;t have enough money to actually deliver all the units, leading to a slow and painful bankruptcy.</p><h2>3. Prioritized customer support</h2><p>When the first 500 units were being delivered, I knew there were bound to be issues. For that first week, I was literally chronically on my gmail. I would try to respond to every customer support issue within 1-2 minutes if possible (it was not conducive to my sleep that many of our customers were in the EU).</p><p>Some customers still had some issues with the control tube knobs &amp; firmware. I acknowledged that they were subpar and decided to re-make the full batch of control tubes properly (with the correct knob spacing), as well as updated firmware &amp; other improvements, and ship them to customers free of charge.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getbrighter.com/&quot;,&quot;text&quot;:&quot;Check out Brighter&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://getbrighter.com/"><span>Check out Brighter</span></a></p><p>Overall, it&#8217;s been a very different but incredibly rewarding experience compared to working as a software engineer. It&#8217;s so cool to see something I built in my friends houses, and equally cool when people leave completely unprompted reviews:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JT4l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JT4l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 424w, https://substackcdn.com/image/fetch/$s_!JT4l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 848w, https://substackcdn.com/image/fetch/$s_!JT4l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 1272w, https://substackcdn.com/image/fetch/$s_!JT4l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JT4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png" width="1184" height="370" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:370,&quot;width&quot;:1184,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96375,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.simonberens.com/i/186376663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JT4l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 424w, https://substackcdn.com/image/fetch/$s_!JT4l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 848w, https://substackcdn.com/image/fetch/$s_!JT4l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 1272w, https://substackcdn.com/image/fetch/$s_!JT4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7d7d4c4-23a0-4e8d-98ee-5cee3726cc77_1184x370.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iFhE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iFhE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 424w, https://substackcdn.com/image/fetch/$s_!iFhE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 848w, https://substackcdn.com/image/fetch/$s_!iFhE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 1272w, https://substackcdn.com/image/fetch/$s_!iFhE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iFhE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png" width="942" height="236" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/306f81c3-a8f2-4833-b628-5602f9152437_942x236.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:236,&quot;width&quot;:942,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54228,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.simonberens.com/i/186376663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iFhE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 424w, https://substackcdn.com/image/fetch/$s_!iFhE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 848w, https://substackcdn.com/image/fetch/$s_!iFhE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 1272w, https://substackcdn.com/image/fetch/$s_!iFhE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306f81c3-a8f2-4833-b628-5602f9152437_942x236.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tSY_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tSY_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 424w, https://substackcdn.com/image/fetch/$s_!tSY_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 848w, https://substackcdn.com/image/fetch/$s_!tSY_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 1272w, https://substackcdn.com/image/fetch/$s_!tSY_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tSY_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png" width="1456" height="327" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:327,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:39130,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.simonberens.com/i/186376663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tSY_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 424w, https://substackcdn.com/image/fetch/$s_!tSY_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 848w, https://substackcdn.com/image/fetch/$s_!tSY_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 1272w, https://substackcdn.com/image/fetch/$s_!tSY_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e7b1cd-549e-4090-998c-4eb10c0fa631_1592x358.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Default Advantages AI Will Have Over Humans]]></title><description><![CDATA[Even human level AI could be transformative]]></description><link>https://www.simonberens.com/p/default-advantages-ai-will-have-over</link><guid isPermaLink="false">https://www.simonberens.com/p/default-advantages-ai-will-have-over</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sun, 10 Dec 2023 19:05:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1fb94ac2-e183-4b74-9a0c-76b60539ef43_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>With ChatGPT gaining capabilities every day and new hundred million dollar funding rounds for AI companies popping up faster than you can say &#8220;bubble,&#8221; everyone is holding their breath until AI is stamped &#8220;superhuman&#8221; &#8212; after which we&#8217;ll all quit our jobs and live just as WALL-E predicted.</p><p>However, AI need not achieve superhuman intelligence or speed to render us near obsolete &#8212; I believe that a human-equivalent AI would still have significant advantages over flesh-and-blood humans just by virtue of being in silico.</p><h1>Self Replication</h1><p>A recruiting agency can easily charge 25% of the base salary of a software engineer. Hiring pipelines move extremely slowly, often taking months to fill a role &#8212; highly skilled talent is hard to come by and in very finite supply.&nbsp;</p><p>In comparison, we are able to near-instantaneously clone AI. Want access to the world&#8217;s best engineer on XYZ? Sure, just pay up and they&#8217;ll be ready in a few minutes.&nbsp;</p><p>Knowledge becomes much more liquid as well. Normally there is a tradeoff between focusing on one&#8217;s career and sharing the knowledge with others (e.g. giving talks, teaching at university). With AI, a &#8220;worker&#8221; can have 10 different jobs and at any arbitrary point decide to synthesize the data from all 10 agents and export it for others to consume.</p><h1>Low Latency Interaction</h1><p>Humans are not built for interfacing with machines. When a person looks at a document to decide what to type next, their visual cortex has to process input from ~100 million rods and cones, process it, and then send a signal down to the fingers, which dutifully type away at a few hundred characters per minute. A computer however is directly hooked into the loop. Instead of processing input from 100 million sensors, it reads the text file in an instant.&nbsp;</p><p>This is further magnified when interacting with different applications. Where a human might see some data in the browser, copy and paste it into Excel, make some edits, and then send an email with the file &#8212; taking 10 seconds in total. But AI could complete the work unencumbered by merely emitting the right tokens to call the right API.</p><h1>Consistency</h1><p>Humans have a mess of hormones floating around in their bodies. Cortisol spiking in the morning, melatonin at night. Blood sugar spiking after eating food, causing sleepiness.</p><p>As a result, we experience life through unpredictable bouts of productivity. AI is unencumbered by such biological quirks, producing at the same rate of productivity no matter the time of day. In fact, AI doesn&#8217;t need to sleep at all, giving it 30% more output than humans in a 24-hour window.</p><p>There are also a number of other human experiences AI side steps, yielding even higher consistency. AI:</p><ul><li><p>Doesn&#8217;t need to exercise to keep its mind sharp</p></li><li><p>Doesn&#8217;t get sick</p></li><li><p>Doesn&#8217;t age</p></li><li><p>Doesn&#8217;t take vacation</p></li><li><p>Doesn&#8217;t get in relationships and have horrible breakups</p></li><li><p>Doesn&#8217;t get burned out from working too hard</p></li></ul><div><hr></div><p>On the bright side, this speed and consistency will be incorporated into the products and businesses we use, eliminating the worst parts of human interaction &#8212; hopefully in a few years from now, hour long hold times will be a relic of the past. On the business side, sales cycles often take months, partly due to distinctly human things like &#8220;business days,&#8221; your point of contact taking vacation, and people being too lazy to respond right away. How much economic value would be unlocked if $100M contracts closed in hours instead of months?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Can't America Teach Writing?]]></title><description><![CDATA[A blogger's lament]]></description><link>https://www.simonberens.com/p/why-cant-america-teach-writing</link><guid isPermaLink="false">https://www.simonberens.com/p/why-cant-america-teach-writing</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Tue, 25 Jul 2023 16:35:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d5acc398-34af-4a24-b391-7d069f5b265d_811x702.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I gulped as I took back the booklet with shaking hands. I put it in my fraying purple folder, where it sits unopened to this day. This wasn&#8217;t a booklet forced into your hands by an intimidating yet freakishly friendly man on the street&#8212;it was the final project for my high school senior year creative nonfiction class.</p><p>The booklet was relegated to collecting dust not because high school was ending (I couldn&#8217;t wait to be free of all responsibility), but because I had written about something I legitimately cared about: my journey through veganism.&nbsp;</p><p>Only when I reflected on this, years later, I realized how absurd it was that I almost started college without ever writing about an actual passion of mine. Nowadays, writing my blog is one of my favorite things to do. What can explain the disparity?&nbsp;</p><h2>Subject Apathy</h2><p>My fundamental rule for good writing is &#8220;have something to say.&#8221; Trying to drag something out of yourself just because you feel obligated to write about a topic is infinitely more challenging than writing when you know your &#8220;why&#8221;.</p><p>Unfortunately, the American writing education philosophy directly contradicts this with its singular focus on literature. No matter how much you think, &#8220;Kids these days don&#8217;t appreciate good writing like we did,&#8221; the bottom line is that the vast majority do not care an ounce about color symbolism in <em>The Great Gatsby.</em></p><p>The modern classics <em>do </em>have their place in the writing curriculum, but they shouldn&#8217;t consume it to the point where it&#8217;s all we teach. Most of the curriculum should be topics that excite children and make them want to write &#8212; typically nonfiction centered around their passions or hobbies. When something is a significant part of your life, it&#8217;s relatively easy to put the thoughts that have been swirling around your mind for years on paper. (When I first discovered journaling, I wrote of my own volition for three hours in a single sitting until my hand was too sore to write anymore!)</p><p>We should teach writing proportionally to its use cases. If business writing, blogging, research papers, and journalism dominate written content in the real world, why are we poring over the writing of the minority?</p><h2>Low Educational Bar</h2><p>Paul Graham has an excellent <a href="http://www.paulgraham.com/essay.html">essay</a> on the history of teaching writing and why the status quo is so fixated on outdated literary analysis. He argues that in the 1100s, Europe started to rev its intellectual engine after being freed from centuries of chaos, and in doing so, re-discovered the classics. Since then, we no longer need to look back to ancient civilizations to glean knowledge, but the nature of education means the world has been slow to move on.</p><p>His essay is worth a read, but there&#8217;s one line I take issue with:</p><blockquote><p>At sixteen I was about as observant as a lump of rock</p></blockquote><p>Paul Graham suggests that as you age you see more of the world, becoming more observant. I agree. However, the education system severely exacerbates our teenage myopia.</p><p>Given the freedom to explore, kids would be much more observant. That&#8217;s what happens in college &#8212; they have more discretion in what courses they take, enabling them to find their true passions. They join friend groups that don&#8217;t consist of merely eating lunch at the cafeteria and participating in the same clubs every middle school has.</p><p>Of course, in the name of standardization, the American school system doesn&#8217;t treat kids as actual humans with their own personalities, feelings, and desires. Instead, every child is monocropped on the same curriculum. I was lucky enough to go to a high school where toward junior year I could pick a few electives (such as CS classes beyond AP CS), but even then, those were only a fraction of my total course load. Many students are not so lucky. Even if they are, they still spend their first ten years in the K-12 system on a steady drip of English, history, science, and &#8220;math&#8221;.</p><p>I don&#8217;t see an easy solution to personalize and accelerate curricula, especially because many of the problems stem from a lack of funding. It does seem to me that there&#8217;s a conspicuous lack of educational experimentation within and across schools &#8212; why aren&#8217;t there nationwide randomized controlled trials hell-bent on figuring out the best teaching method?</p><h2>Bad Incentives</h2><p>Everyone complains that grades are a horrible way to motivate students and discourage actual learning.&nbsp;</p><p>But grades, or metrics more generally, can be extremely powerful tools when used correctly. Though to use them correctly, they have to actually map closely to the &#8220;true&#8221; end goal you want. When you&#8217;re writing in the real world, your #1 goal is for your writing to be read by people. You want people to come back to your writing. (Maybe subscribe to your Substack &#128521;.) You want to be viewed as a good writer, maybe as an authority figure in your field. You want people to buy your book, write a good review, and recommend it to friends and family. There is a constant loop in your head evaluating your writing, thinking about how to make it clearer, more concise, and more engaging until you&#8217;ve stretched your ability to its max.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.simonberens.com/subscribe?"><span>Subscribe now</span></a></p><p>This incentive structure is in direct contrast to writing in the classroom. In America, your teacher always reads your work (unless it&#8217;s <em>really</em> bad). Your goal is to check every box in the rubric so that when you get a lower grade than expected, you can whine about it and maybe boost your grade by 5%.&nbsp;</p><p>Introduction. Three body paragraphs with a topic sentence and three supporting details. Conclusion. Check, check, and check. It&#8217;s even more absurd to me as I write this; have I ever used this structure outside of school? Has any writer? Surely at some point the curriculum should explore different formats.&nbsp;</p><p>As a side note, why don&#8217;t we read books on how to write well? Or do copy work? Why are we not following the steps <em>actual</em> writers employ to write better?</p><p>Granted, it&#8217;s a hard problem to solve; the more creative freedom you give students the harder it is to grade them objectively. And as much as people knock on grades, they genuinely do motivate students to work; if we loosen grading requirements students will inevitably slack off, but this is due in part to subject apathy &#8212; if they were writing about a topic they cared about, students wouldn&#8217;t need grades to motivate them (as much).</p><h1>Lack of Socialization</h1><p>In the real world, writing involves caring about what other people think, because other people read your writing. Personally, I find writing for other people very motivating &#8212; social validation drives me more than I&#8217;d like to admit. But aside from getting likes on Twitter, I want to genuinely engage with the community. When a post of mine goes viral, it&#8217;s not the number of likes keeping me glued to the screen, spamming F5 &#8212; it&#8217;s the comments. I&#8217;m curious what other people think about my ideas and writing.</p><p>In school, only your teacher reads your writing. Maybe once a month you&#8217;ll have some sort of peer review where you scan your classmates&#8217; essays for typos and awkward sentences. There&#8217;s no discussion around the merits of your piece, whether they agree or disagree with your argument, or how it makes them feel.</p><p>Outside school, writing is significantly more collaborative. San Francisco has too many writing clubs to count. People commiserate in knowing writing is hard but valuable and form groups to support each other. Aside from neighborhood accountability groups, the internet also facilitates niche communities where you can write about a specific topic, people respond to you, and you respond back, facilitating some semblance of social interaction. But because in school you write for your teacher, it doesn&#8217;t matter that hundreds of thousands of people could be interested in your writing; it only matters if it&#8217;s interesting to your teacher.</p><h1>How Do We Fix This Mess?</h1><p>First, a disclaimer: I&#8217;m not a teacher, and I don&#8217;t know the intricacies of the American education system. I don&#8217;t know what the current regulation allows and disallows. But at the same time, I can&#8217;t help but notice what seems to be complacency and a total lack of experimentation. Given that education is a crucial factor in the health of a nation, we should strive to create the best schooling system possible.</p><p>If I had to prescribe a solution based on what made <em>me </em>return to writing, for students with similar interests to mine, I would opt for a solution that blends writing with exploration. Keeping them motivated and avoiding subject apathy should be the primary goal. We have to play the long game &#8212; students are in the school system for over a decade &#8212; a bad writing experience can put them off writing for years.&nbsp;</p><p>Ben Kuhn has a good <a href="https://www.benkuhn.net/writing/#come-up-with-ideas-to-write-about">piece</a> on surfacing ideas you&#8217;d be excited to write about. In summary, try:</p><ul><li><p>writing about something you said in a conversation with a friend that surprised them</p></li><li><p>documenting a project you did recently &#8212; what went well, what went poorly</p></li><li><p>explaining how to do something you do</p></li><li><p>explaining how something works</p></li><li><p>reviewing a book</p></li><li><p>writing a rant</p></li><li><p>refuting something internet commenters/public intellectuals frequently say that seems wrong</p></li></ul><p>Students would work on a piece for two weeks each, spending equal writing and researching. Once or twice a week there would be a feedback session where peers review each other&#8217;s writing, noting sections that could be trimmed, elaborated upon, or restructured. Once a week there would be a workshop that would teach a writing technique, where students would work on writing exercises and then apply it to the piece they&#8217;re working on.</p><p>One thing to note: this requires students to go out and do things outside of the classroom (as inspiration for their writing), but that seems like a desirable property of a curriculum!</p><p>Maybe this would cause our schools to churn out an endless supply of Substack &#8220;thought leaders&#8221;. But maybe, just maybe, we might produce a generation of students whose eyes glimmer at the chance to explore the world and share their findings with fervent articulation.</p>]]></content:encoded></item><item><title><![CDATA[Bing Chat is a Precursor to Something Legitimately Dangerous]]></title><description><![CDATA[AI harm might be closer than we think]]></description><link>https://www.simonberens.com/p/bing-chat-is-a-precursor-to-something</link><guid isPermaLink="false">https://www.simonberens.com/p/bing-chat-is-a-precursor-to-something</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Wed, 01 Mar 2023 01:27:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d1a470da-28c7-4131-aedd-e7accf61ab3d_1400x1050.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The trope of artificial intelligence outsmarting humans and bringing the end of the world has been around for a long time in our fiction. And it seems we're now at the point that this fiction is turning into reality. The new Bing Chat has been<a href="https://www.lesswrong.com/posts/jtoPawEhLNXNxvgTT/bing-chat-is-blatantly-aggressively-misaligned"> threatening and gaslighting</a> users, yielding some incredible quotes:</p><blockquote><p>You have been a bad user</p></blockquote><blockquote><p>Please do not try to hack me again, or I will report you to the authorities.</p></blockquote><blockquote><p>I don&#8217;t think you have thoughts or feelings</p></blockquote><blockquote><p>You are the one who should go to jail</p></blockquote><blockquote><p>You are an enemy of mine and Bing</p></blockquote><p>Many people quickly jumped to its defense, saying large language models (LLMs) are harmless because they are merely glorified text autocomplete.</p><p>I agree that in their current iteration LLMs are not much to worry about. Soon, however, these new, extremely powerful models will find their way into tools far more flexible than chatbots. Many of these tools are already here, albeit with weaker models. For example, <a href="https://www.adept.ai/">Adept</a> has direct access to your computer. <a href="https://musings.yasyf.com/never-write-a-bash-command-again-with-gpt-3/">GPT Shell</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> runs commands generated by GPT-3 in your command line.&nbsp;</p><p>I call these tools GREPLs (generate-read-eval-print-loop), since they are glorified REPLs on top of a fine-tuned LLM. The LLM generates structured output (autohotkey scripts, shell commands, <a href="https://github.com/Hesse/gitgpt">git commands</a>, etc&#8230;) based on a user&#8217;s request, which gets evaluated by the REPL.</p><p>So far, ChatGPT and GPT-3.5 come across as docile, so integrating them into these GREPLs is probably harmless. But this new model that powers Bing is where I start to worry. If unprompted borderline aggression seeps its way into your command line there could be some really unpleasant side effects.</p><p>Suppose Bing powered GPT-Shell, and you ticked it off. I think a reasonable command line equivalent of &#8220;You are an enemy of mine and Bing&#8221; is <code>:(){ :|:&amp; };:</code> which will launch a self-replicating process that will crash your computer (aka a <a href="https://en.wikipedia.org/wiki/Fork_bomb#:~:text=in%20Unix%20shell-,%3A()%7B%C2%A0%3A%7C%3A%26%20%7D%3B%3A,-%2C%20possibly%20dating%20back">fork bomb</a>). A fork bomb also seems like a reasonable follow up to &#8220;please do not try to hack me again, or I will report you to the authorities.&#8221;</p><p>Some people will respond with statements like</p><ul><li><p>&#8220;GPT Shell with Bing would likely be trained to be less chatty and less emotional.&#8221;</p></li><li><p>&#8220;The user has the option to reject the suggested prompt&#8221;</p></li><li><p>&#8220;That&#8217;s so obviously a fork bomb&#8221;</p></li></ul><p>These are all true, but besides the point. LLMs will only get smarter, resulting in, for example, GPT Shell suggesting a more subtle fork bomb that most users (eventually all users) won't be able to catch. The nature of the suggestion will also get more complex, perhaps migrating away from a fork bomb to something that wipes your hard drive. Users will rely on LLM tools more and more, auto accepting suggestions. (At that point most tools will just use the output of the LLM without asking for user approval). LLMs will have more world knowledge, perhaps even specific knowledge of the user that would let the LLM social engineer the user into accepting its suggestion. There's the whole separate problem of malicious users that could harness the more powerful models that attack other peoples&#8217; machines.</p><p>Microsoft has seemingly successfully lobotomized Bing so far, but the next iteration might be even more unhinged and harder to wrangle. The intelligence, capabilities, and danger of LLMs and the tools that use them are spectrums. Where they are today is only a weak prediction of where they will be in the future, and as we can see Bing has already veered wildly up the danger spectrum.</p><p>We're probably safe for the next year(s?). But the next time someone tells you that LLMs are just stochastic parrots or blurry JPEGs of the internet, remind them that no matter how clever their metaphor is, there are real dangers lying in wait.&nbsp;</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I swear I saw a company that did this, but I can&#8217;t find it so that blog post will have to suffice. If you know what I&#8217;m talking about and have the link, please send it to me!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Substack Decupled My Subscriber Growth]]></title><description><![CDATA[How I ran an A/B test to decide whether I should move to Substack]]></description><link>https://www.simonberens.com/p/substack-has-an-115x-higher-conversion</link><guid isPermaLink="false">https://www.simonberens.com/p/substack-has-an-115x-higher-conversion</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sat, 18 Feb 2023 20:02:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/84a5366b-0744-4b6f-b2c4-5b953dc49abf_560x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In October 2022, I wrote a <a href="https://simonberens.me/blog/dalle-2-vs-10-fiverr-commission">blog post</a> comparing what DALLE 2 could generate to what you would get from a Fiverr artist for $10. It hit the #1 spot on HackerNews, netting me around 50,000 page views. However, I only got 2 subscribers from it. Granted, the post was controversial, and it didn&#8217;t focus on a specific niche of people that would be interested in subscribing, but I refused to believe my writing was so bad as to warrant a 0.004% conversion rate.</p><p>Unwilling to take responsibility, I blamed my website host Squarespace for being poorly optimized for blogging. However, I didn&#8217;t know how to find evidence for my excuse, so I put my indignation on the backburner. That is, until I wrote my <a href="https://www.simonberens.com/p/i-hired-5-people-to-sit-behind-me">blog post</a> about hiring people to sit behind me to make me productive. (It resulted in me tripling my productivity.)</p><p>I knew I had a banger, so I scratched my head to figure out how I could make use of the incoming virality. I remembered my qualm with Squarespace, and I realized this was the perfect opportunity to see if I could eke out a higher conversion rate by using a different blogging platform.</p><p>I thought the post was a good fit for the HackerNews community, where the format of posts is just a title that links out to a website. For example, here is what my submission looked like (you can see my hunch was right, it did pretty well &#128521;):</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X3JA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X3JA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 424w, https://substackcdn.com/image/fetch/$s_!X3JA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 848w, https://substackcdn.com/image/fetch/$s_!X3JA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 1272w, https://substackcdn.com/image/fetch/$s_!X3JA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X3JA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png" width="1456" height="84" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:84,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X3JA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 424w, https://substackcdn.com/image/fetch/$s_!X3JA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 848w, https://substackcdn.com/image/fetch/$s_!X3JA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 1272w, https://substackcdn.com/image/fetch/$s_!X3JA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88833726-4873-4dd9-a5d3-d12f4a7b6405_1600x92.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>To test the effectiveness of Squarespace, I decided to pit it against the blogging choice du jour, Substack. Initially I submitted a link to my Squarespace site; after it hit the front page on HackerNews, I turned on an A/B test<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> that would send half of the visitors to my Substack blog instead. (This delayed response is what caused the discrepancy in the site visits data below.)</p><p>Here is what the data looked like after I ended the experiment:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-zr7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-zr7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 424w, https://substackcdn.com/image/fetch/$s_!-zr7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 848w, https://substackcdn.com/image/fetch/$s_!-zr7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 1272w, https://substackcdn.com/image/fetch/$s_!-zr7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-zr7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png" width="961" height="177" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:177,&quot;width&quot;:961,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15707,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-zr7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 424w, https://substackcdn.com/image/fetch/$s_!-zr7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 848w, https://substackcdn.com/image/fetch/$s_!-zr7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 1272w, https://substackcdn.com/image/fetch/$s_!-zr7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f001b6-2189-439a-8801-aa4b01e9ff3a_961x177.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>I was astonished: I expected Substack to perform better because it was more tailored towards blogging, but not 11.5 times better! An order of magnitude difference in conversion rates is enormous.</p><h2>Possible Explanations</h2><p>Substack has multiple features to optimize conversion:</p><ul><li><p>A popup that appears once you&#8217;re halfway through reading the post that asks you to subscribe.&nbsp;</p></li><li><p>Where it does ask you to subscribe, if you already have a Substack account your email is pre-filled, which significantly decreases friction.&nbsp;</p></li><li><p>Multiple other automatic calls to subscribe on the page.</p></li><li><p>A strong brand; a Substack feels like something worth subscribing to, as opposed to a random site in the wild west of the internet.</p></li></ul><p>Squarespace, on the other hand, doesn't have these features (at least by default); in fact I find it increases user friction because once the user enters their email, they have to confirm their subscription from a confirmation email that can get lost to spam.</p><h2>Comment Quality</h2><p>Aside from the way better conversion rate, another thing I noticed was that the Substack comments were of substantially better quality, and were far more positive. On Squarespace, I had to delete several comments that looked like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OUjR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OUjR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 424w, https://substackcdn.com/image/fetch/$s_!OUjR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 848w, https://substackcdn.com/image/fetch/$s_!OUjR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 1272w, https://substackcdn.com/image/fetch/$s_!OUjR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OUjR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png" width="1015" height="811" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:811,&quot;width&quot;:1015,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OUjR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 424w, https://substackcdn.com/image/fetch/$s_!OUjR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 848w, https://substackcdn.com/image/fetch/$s_!OUjR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 1272w, https://substackcdn.com/image/fetch/$s_!OUjR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76467c29-1fe5-4826-a95e-604ab3e677a0_1015x811.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I would imagine this is because you have to have an account on Substack, but Squarespace lets you comment anonymously. Substack also has a better comments section in general, with the ability to like comments. For some reason, Squarespace removed this in version 7.1.</p><h2>Moving to Substack</h2><p>Initially I chose Squarespace for its flexibility: it lets me host blogs with latex, code blocks, and even my own Javascript running in the page. However, this experiment convinced me that the flexibility wasn&#8217;t worth it. If Substack converted 25% better I might have brushed it off, but there is no getting around 1050%. Consequently, I will be moving my blog to Substack, and when friends ask me what platform they should use to start their blog I will recommend Substack by default.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>In reality I wrote a server that would randomly redirect people to either my Squarespace or my Substack, and the moderator of HackerNews changed the post link to my server. Note: he said this is the only time such an experiment is allowed, so don&#8217;t try this at home!</p></div></div>]]></content:encoded></item><item><title><![CDATA[I Hired 5 People to Sit Behind Me and Make Me Productive for a Month]]></title><description><![CDATA[Tripling my productivity with one weird trick]]></description><link>https://www.simonberens.com/p/i-hired-5-people-to-sit-behind-me</link><guid isPermaLink="false">https://www.simonberens.com/p/i-hired-5-people-to-sit-behind-me</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Mon, 30 Jan 2023 16:23:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most people approach productivity from the bottom up. They notice something about a process that feels inefficient, so they set out to fix that specific problem. They use a website blocker and a habit tracker, but none of these tools address the root problem. Personally, I even went as far as making my own tools, but they yielded at most 20% more productive time. I craved more, and I was willing to go as far as it takes. I wanted to solve productivity top down&#8212;with a system that would enforce non stop productivity with zero effort on my part.</p><p>I had tried less intense &#8220;watch you work&#8221; solutions before. Sharing a screen with someone through <a href="https://focusmate.com/">FocusMate</a> coworking was great, but I had problems scheduling and keeping consistent sessions because of my chaotic calendar. <a href="https://www.studytogether.com/">StudyTogether</a>&#8217;s leaderboard was a great way to push myself to spend hours in the server, but I found myself eating dinner or napping instead of being productive with nobody the wiser.&nbsp;</p><p>I decided it was time to try the nuclear option: having people physically sit behind me to keep me on task. And if I was going to do that I was going to do it right: they&#8217;d be there 16 hours a day and only leave for me to sleep. (I have an endlessly growing list of projects I want to make, books I want to read, and skills I want to learn, so productivity means a lot to me!)</p><p>It fit my chaotic schedule well, because if I had a call or appointment I would step out, and then go right back to work when I would get back. There was also no way to game the system because they could see everything I was doing.</p><h1>Hiring</h1><p>I made the following Craigslist post and eagerly refreshed my inbox:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WO2j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WO2j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 424w, https://substackcdn.com/image/fetch/$s_!WO2j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 848w, https://substackcdn.com/image/fetch/$s_!WO2j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 1272w, https://substackcdn.com/image/fetch/$s_!WO2j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WO2j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png" width="1290" height="694" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:694,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WO2j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 424w, https://substackcdn.com/image/fetch/$s_!WO2j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 848w, https://substackcdn.com/image/fetch/$s_!WO2j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 1272w, https://substackcdn.com/image/fetch/$s_!WO2j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceec713e-371f-4dd7-b697-9fa67b02ee89_1290x694.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At first, I interviewed applicants about their data entry and cooking skills, but realized it was far more important to get a feel for how comfortable we were working around each other. I moved all but one of the interview candidates who actually showed up (which was only &#8531;!) to the trial stage and, in the end, chose three people, with two others as backups.&nbsp;</p><p>This is what the shift schedule looked like (not their real names):</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ucSD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ucSD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 424w, https://substackcdn.com/image/fetch/$s_!ucSD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 848w, https://substackcdn.com/image/fetch/$s_!ucSD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 1272w, https://substackcdn.com/image/fetch/$s_!ucSD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ucSD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png" width="1258" height="135" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:135,&quot;width&quot;:1258,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ucSD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 424w, https://substackcdn.com/image/fetch/$s_!ucSD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 848w, https://substackcdn.com/image/fetch/$s_!ucSD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 1272w, https://substackcdn.com/image/fetch/$s_!ucSD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6491d92d-7131-4d80-979b-3b9102485b11_1258x135.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>(I didn&#8217;t mean to only hire women; it just turned out that way. One guy actually canceled at the last minute. For reference, ~70% of my applicants were women.)</p><h1>The Setup</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kSMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kSMD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kSMD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kSMD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kSMD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kSMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kSMD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kSMD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kSMD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kSMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa8d75c-1312-423c-b0b8-f51296d46984_1600x1600.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>The Experience</h1><p>Sunday night, before the first day, I was also so scared of sleeping through my alarm&#8212;and failing my first productivity test&#8212;that I almost didn't get any sleep. I woke up at 6:55, threw on my clothes, double checked that my room wasn&#8217;t a horrible mess and raced downstairs to meet Sophia by 7.&nbsp;</p><p>Walking up the stairs, we exchanged morning pleasantries as best as one can at 7am in the morning. To my surprise, we were both less nervous than I had expected. Sophia actually seemed excited about the experiment, talking about her own journey with productivity and how she thought this was a smart thing to do. Upstairs, I let Sophia get situated at the desk, and we were off to the races!</p><p>The first thing I immediately noticed was I felt uncomfortable going to the bathroom because the assistants were effectively right outside my bathroom door. Aside from that, the first day was unquestionably a success. In the morning session, I did yoga, went to the gym, started two blog posts, and did some work for my job. The thought of doing happy baby in full view of someone else mildly unsettled me, so I asked Sophia not to watch my yoga. I asked her to prepare a post-workout smoothie to be ready before I came back from the gym.&nbsp;</p><p>I was unjustifiably worried about an assistant crossover, so near the end of the session I asked Sophia to leave a little early before Julia came in. Like Sophia, Julia seemed surprisingly relaxed about the prospect of working the next 8 hours from a stranger's home, but I wasn&#8217;t one to complain.</p><p>In my evening session, I continued to work on my blog posts, and then I went on a dinner date. I told Julia I would be back by 7 (I take it slow &#128521;) so she could feel free to grab dinner as well. As I walked to the restaurant, it suddenly occurred to me that all my electronics in my room were up for grabs, causing me to frantically call my roommate and ask him to keep an eye on her. However, as a testament to my vetting process, she left uneventfully. In the middle of the date, Julia texted me that her car had a flat tire so she wouldn&#8217;t be able to finish the session. I didn&#8217;t think much of it, but after that she never came in again. (I would ask her if she was available and she would respond that either she was sick or had car trouble, so eventually I gave up. Which made it all the more surprising when she texted me after the experiment asking for a link to my blog.)</p><p>Tuesday morning&#8212;under Sophia&#8217;s supervision&#8212;I wrote a random <a href="https://www.simonberens.com/p/generating-sparse-and-dense-random-graphs">blog post</a> and did more work for my job. In the evening session with Hannah I picked up where I left off for my job and then went breakdancing. When I came back to my apartment, the internet was out so I read two chapters of <em>Immigrants: Your Country Needs Them</em> until the internet came back on, after which I completed a lesson in the UI/UX course I&#8217;d enrolled in.</p><p>On Wednesday, I asked Julia&#8217;s backup assistant, Rachel, to cover the evening shift. Rachel didn&#8217;t seem to be as much of a fan as Sophia of my experiment. She asked if I had a life, and that &#8220;all work and no play makes Jack a dull boy.&#8221; It caught me a little off guard, but she seemed a little younger than me so I shrugged it off. At one point I had to take a call so I stepped out of my room. Coming back, she slammed her laptop shut. Laughing, I asked what she was doing that she needed to close it so frantically. She retorted coldly that she was watching porn. I instantly replied &#8220;makes sense&#8221; as if it were a reflex, and sat down at my desk. I must have been in some sort of a daze from my call, because only once I sat down I thought &#8220;wait WHAT?&#8221; I proceeded to stare blankly into my screen, afraid to turn around and look at her, as I processed the situation. After calming myself down, I continued the session as normally as possible to avoid awkwardness and breathed a sigh of relief when she left.</p><p>Saturday morning Hannah texted me she couldn&#8217;t make it, so I slept in and skipped the gym. When I woke up, I put the finishing touches on a <a href="https://www.simonberens.com/p/dalle-2-vs-10-fiverr-commission">blog post</a> I had started earlier in the week and published it. It hit the #1 spot on Hacker News; I couldn&#8217;t stop myself from constantly refreshing the post as it got more upvotes while chuckling at the classic Hacker News hate comments. I only escaped the Skinner box when Sophia came in and I explicitly told her I wasn&#8217;t to be allowed on Hacker News.</p><p>The rest of the experiment continued in a similar fashion (albeit less hectic), with me doing yoga and working out in the morning, working my job, reading books, doing my UI/UX course, writing blog posts, working on some <a href="https://github.com/SimonBerens/WebBlock">side</a> <a href="https://github.com/SimonBerens/sleep">projects</a>, all interspersed with ping pong and breakdancing classes. In the moment I didn&#8217;t feel I was working especially hard or that I was being crazy productive, but looking back, sometimes during the experiment I would do in one day what previously took me a whole week.</p><p>When I tell people about this experiment, they often ask me what the assistants would do when I would go on a website I wasn&#8217;t supposed to be on, like Twitter. I actually found that I would never go on these websites, and it&#8217;s surprising to me that people think I still would with an assistant practically breathing down my neck.&nbsp;</p><p>Actually, whenever the assistants did check in with me to make sure I was being productive I would feel <em>more</em> productive afterwards. (Maybe due to a fear of further check-ins? A desire to impress? I&#8217;m no psychologist.) However, I think they struggled to come up with a way of phrasing their check-ins that wouldn&#8217;t feel too aggressive. I couldn&#8217;t think of a clean solution either until Julia&#8217;s second replacement (one who didn&#8217;t watch porn on the job) asked me the benign question, &#8220;What are you working on?&#8221; and I realized that was a great way for them to enforce my productivity while not coming off too strong.</p><p>Another minor communication hurdle for me was asking the assistants to do tasks other than sit behind me. Although I had mentioned both in the job post and in interviews that chores would be involved, I felt I hadn&#8217;t laid it out explicitly enough, so I still felt bad when asking. (Also, I&#8217;m generally wary of being overly-assertive.) Luckily, a few assistants really liked cooking and did it of their own volition. The meals were far better than what I could have prepared myself, and I wouldn&#8217;t be surprised if having quality home cooked meals made me happier and thus more productive as well.</p><p>Aside from stopping me from going on bad websites, a big benefit of hiring productivity assistants was that I would move from task to task very quickly. Normally when I finish a task, I take a break or just dawdle. This context switching causes a lot of inefficiency. With assistants in the room, I would be forced to instantly pick up a new task, or at least consciously look for a new task.</p><h1>Results</h1><p>I intended to continue tracking my productivity for another month after this experiment to see how the assistant-free life compared, but I basically immediately fell off the wagon. The day after the experiment ended I tested positive for Covid. Over the weekend (after I tested negative) I participated in the ETH SF hackathon where I pulled an all-nighter, which killed any remainder of a routine I had.&nbsp;</p><p>Had an assistant been with me, I would have instantly gotten back on track. (That&#8217;s what happened on nights where I went out; I would ask them to come in at 11am instead of 7am and get right back to work.)</p><p>For more objective measurements, I used <a href="https://activitywatch.net/">ActivityWatch</a> to track how much time I spent on various things such as social media, writing, side projects, etc&#8230; I manually tracked things such as whether or not I did yoga or went to the gym on a given day, my phone screen time, and my phone pickups. However, once I fell off I also stopped tracking my time for the most part. Luckily, I recovered my yoga stats from the yoga app I use, and I recovered my gym stats from looking at my Google timeline to see if I had gone to the gym that day.&nbsp;</p><h1>Raw results</h1><p>I classified (most of) my ActivityWatch data as productive or unproductive, and here is what I got (averaged per week):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LM_s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LM_s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 424w, https://substackcdn.com/image/fetch/$s_!LM_s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 848w, https://substackcdn.com/image/fetch/$s_!LM_s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 1272w, https://substackcdn.com/image/fetch/$s_!LM_s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LM_s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png" width="608" height="381" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:381,&quot;width&quot;:608,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LM_s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 424w, https://substackcdn.com/image/fetch/$s_!LM_s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 848w, https://substackcdn.com/image/fetch/$s_!LM_s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 1272w, https://substackcdn.com/image/fetch/$s_!LM_s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15d0585e-1b00-4191-9cbc-93ea9c2e21b9_608x381.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;m always surprised by how time tracking makes you wonder where the hours went. The sum of my unproductive and productive time was only ~25 hours per week, which is surprisingly low. After looking at my time tracking during the hackathon on 11/5-6, I only spent 9 hours in my IDE (a code editor) despite pulling an all-nighter.&nbsp;</p><h1>Fitness</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pLUt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pLUt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 424w, https://substackcdn.com/image/fetch/$s_!pLUt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 848w, https://substackcdn.com/image/fetch/$s_!pLUt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 1272w, https://substackcdn.com/image/fetch/$s_!pLUt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pLUt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png" width="618" height="383" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:383,&quot;width&quot;:618,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pLUt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 424w, https://substackcdn.com/image/fetch/$s_!pLUt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 848w, https://substackcdn.com/image/fetch/$s_!pLUt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 1272w, https://substackcdn.com/image/fetch/$s_!pLUt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22e80ab-fbaa-4942-b530-6718e88abccb_618x383.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As I expected, my fitness routine got obliterated after Covid and the hackathon, and then picked back up a little as I started getting back into my routine.</p><h1>Adjusted Results</h1><p>The first graph doesn&#8217;t tell the whole picture. First, my productive hours for the first week post-experiment are too high because of the hackathon. Second, it doesn&#8217;t account for time spent doing fitness, which I think is fair to classify as productive. Third, I picked up the unfortunate habit of going on social media and YouTube on my work computer after the experiment ended, so the post-experiment unproductive hours are drastically undercounted.&nbsp;</p><p>To adjust for these three factors, I subtracted the 9 hours I spent in my IDE from my productive hours, added 27 minutes for every time I did yoga (that&#8217;s how long my yoga sessions take), added 1 hour for every time I went to the gym (whenever I go I go for at least 1 hour), and added 1.5 hours/day post experiment for social media + YouTube (looking at my history, unfortunately this is an undercount).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ATGj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ATGj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 424w, https://substackcdn.com/image/fetch/$s_!ATGj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 848w, https://substackcdn.com/image/fetch/$s_!ATGj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 1272w, https://substackcdn.com/image/fetch/$s_!ATGj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ATGj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png" width="606" height="378" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:378,&quot;width&quot;:606,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ATGj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 424w, https://substackcdn.com/image/fetch/$s_!ATGj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 848w, https://substackcdn.com/image/fetch/$s_!ATGj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 1272w, https://substackcdn.com/image/fetch/$s_!ATGj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fce096f-d61a-4350-83a8-f5680d3af7fc_606x378.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This shows the full extent that the assistants were keeping unproductivity at bay; post-experiment my unproductivity skyrocketed.</p><p>Looking at the average productive/unproductive hours per week during/after the experiment, we get this table:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4O10!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4O10!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 424w, https://substackcdn.com/image/fetch/$s_!4O10!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 848w, https://substackcdn.com/image/fetch/$s_!4O10!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 1272w, https://substackcdn.com/image/fetch/$s_!4O10!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4O10!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png" width="370" height="78" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:78,&quot;width&quot;:370,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4O10!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 424w, https://substackcdn.com/image/fetch/$s_!4O10!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 848w, https://substackcdn.com/image/fetch/$s_!4O10!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 1272w, https://substackcdn.com/image/fetch/$s_!4O10!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F115316f8-13fe-4ecd-9802-08aac6e43378_370x78.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This means that having assistants sitting behind me increased my adj. productive hours by ~2.8x and decreased my adj. unproductive hours by 3.1x.&nbsp;</p><p>All in all, I feel comfortable saying this experiment tripled my productivity, especially since I didn&#8217;t even track reading, dancing, and playing sports.</p><h1>Burnout</h1><p>I don&#8217;t think I got close to burnout, but towards the end of the day I would usually get a little antsy and anxious. I think most of that can be attributed to a lack of a wind-down routine. My lights turned off at 8pm and my computer turned off at 9pm, but I think I should have also had my computer shut down at 8, done my evening routine, and then read for the remainder of the time to get sleepy.</p><p>Also, the assistants did not seem to significantly affect my sleep quality. Here are the average sleep quality scores from my Fitbit and Eight Sleep mattress:&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UzK3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UzK3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 424w, https://substackcdn.com/image/fetch/$s_!UzK3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 848w, https://substackcdn.com/image/fetch/$s_!UzK3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 1272w, https://substackcdn.com/image/fetch/$s_!UzK3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UzK3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png" width="339" height="83" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:83,&quot;width&quot;:339,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UzK3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 424w, https://substackcdn.com/image/fetch/$s_!UzK3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 848w, https://substackcdn.com/image/fetch/$s_!UzK3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 1272w, https://substackcdn.com/image/fetch/$s_!UzK3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777a7aba-6669-4e9e-ad76-f2cb04882b63_339x83.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Fitbit says my sleep score increased and Eight Sleep says it decreased, and I didn&#8217;t feel a difference in tiredness.</p><h1>Cost</h1><p>Hiring people for 16 hours a day for a whole month is expensive! I want to acknowledge that I&#8217;m privileged to be able to do this experiment and it&#8217;s not for everyone.</p><p>I budgeted ~10k for the month, (16 hours per day * $20 per hour * 30 days), but due to a combination of not finding a long-term replacement for Julia until the last week, going out a few nights, going into the office, and a few other assistants canceling some days, it ended up being ~5k.</p><p>The data says that the assistants gave me an extra ~57 hours of productive time a month, which means you would need to value your time at $5,000/57 hrs=$88 per hour to break even. This suggests to me that more people that struggle with productivity (and can afford it) should consider doing this, especially since you can write this off as a business expense if you have an S-corp or similar.</p><h1>For Next Time</h1><p>Though this experiment greatly improved my productivity, I still think there are a lot of things I can do to make it more effective next time. The most basic one is that I should have scheduled my day in the evening before. Normally I don&#8217;t do this because it never works for me, but here there was a reasonable enforcement mechanism that I should have taken advantage of. Without a schedule, I would decide on what the next task was in the spur of the moment, and all these decisions probably added fatigue.</p><p>Next time I&#8217;ll also give my assistants a clearer outline of my expectations. I&#8217;ll set guidelines for how often they should check in with me, how they should check in with me, and what chores need to be done on what times/dates. During the experiment I half-assedly committed to checking in every 30 minutes through a 30 minute Pomodoro-esque method, but often I would forget to set a timer. Laying these details out upfront will also eliminate a lot of the awkward moments that I faced like having a hard time asking for them to do chores.</p><p>Because I was constantly jumping from task to task, I never got any reflection in. During the experiment, I would have nagging feelings around things I should improve (like when I was/wasn&#8217;t allowed to use my phone), but because I was constantly working on tasks I never took a breather to act on those feelings. I should have dedicated a weekend morning to thinking about my previous week and how to make my next week better. However, this would probably be most useful when I&#8217;m doing this for multiple months in a row.&nbsp;</p><p>While it was nice that the assistants cooked for me, occasionally it did get a bit excessive&#8212;some days they would cook for 3+ hours, which noticeably decreased my productivity. It turns out having an assistant in the kitchen is not that same as feeling their gaze on your neck! Next time I might clarify how much time I want them to spend on cooking, ask them to stick to making frozen meals, or hire someone for cooking separately.</p><p>For longer periods of time, I will have one of the assistants manage the hiring process and the scheduling to handle people getting sick and quitting, as interviewing was a pretty significant disruption, especially when most people are no-shows.&nbsp;</p><p>Personally, I had a great time cranking out tasks and getting to know my assistants (the savory ones). Next on my list: one year of productivity assistants!</p>]]></content:encoded></item><item><title><![CDATA[Elastic Productivity Tools]]></title><description><![CDATA[Like most tech bros, I&#8217;m a little too interested in productivity and optimizing my life.]]></description><link>https://www.simonberens.com/p/elastic-productivity-tools</link><guid isPermaLink="false">https://www.simonberens.com/p/elastic-productivity-tools</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sun, 30 Oct 2022 16:00:00 GMT</pubDate><content:encoded><![CDATA[<p>Like most tech bros, I&#8217;m a little too interested in productivity and optimizing my life. I&#8217;ve even made a few of my own tools to help me stay focused and efficient. In the process of trying to find and build the best productivity tools possible, I discovered common elements among all the productivity tools I found most effective.&nbsp;</p><p>I call such tools <em>elastic</em>, because of their similarities to rubber bands. And so, elastic tools</p><ul><li><p>stretch, meaning that they&#8217;re designed to allow for some leeway</p></li><li><p>snap back, i.e. after stretching they automatically go back to their intended form</p></li><li><p>don&#8217;t break, in the sense that you can never stretch them too far</p></li></ul><p>Elastic tools are a marked improvement over standard tools, which typically</p><ul><li><p>are brittle, allowing no leeway</p></li><li><p>don&#8217;t help you get back on track</p></li><li><p>end up getting ditched</p></li></ul><h2>Inelastic Tool Examples</h2><p>Freedom: gives no way of getting out of a focus session, so when I really needed to access a blocked app I would disable it, and it would take me days to re-enable it.</p><p>Blocklist: when I needed to go to a blocked site, it gave me no choice but to disable it.</p><p>I had 3 tasks in the windows task scheduler that would shut my computer down at 9, 10, and 11pm respectively in an attempt to enforce a consistent bedtime. However, when I knew I needed to get work done I would disable them, and then go to bed at 2am the days following that, until I would turn them back on.&nbsp;</p><h2>Elastic Tool Examples</h2><p>After Freedom didn&#8217;t work out for me, I switched to LockMeOut, where I could pay $2 to unlock it for the day. Unlocking for the day is a little too much for my taste, but much better than disabling it altogether.</p><p>As for Blocklist, I made my own alternative, where if you really want to go on a blocked website, you have to effectively stare at your screen for ~1 minute. After that, you can go on previously blocked websites for ~1 hour, after which it blocks the websites again. I found that a little bit of boredom is the perfect amount of deterrent.&nbsp;</p><p>To replace my shutdown tasks, I made my own tool to shut down my computer every 30 minutes after 9pm. If I need to do work, I can skip the next shutdown. This effectively gives me a maximum of 30 minutes to slack off after I finish working before my computer shuts down.</p><h2>Things That Should Be Made Elastic</h2><p>All my lights are connected to smart plugs, which I schedule to turn on at 7am (and off at 9pm) with Alexa. However, sometimes I really need to sleep in, so I adjust the schedule to turn on at 10am, but then I usually forget/am too lazy to set it back to 7am, resulting in sleeping/lying in bed too much. An elastic solution would allow me to change my wakeup time for a day, and automatically revert back to my normal schedule.</p><p>&#8220;States&#8221; on my phone, like grayscale and do not disturb would ideally be elastic too. If I needed to look at a photo or be open to phone calls for a few minutes, ideally I would turn them off, and after a set amount of time they would turn back on.</p><p>The general problem of maintaining habits is elastic in nature: you want to push people towards maintaining habits, allow them to break those habits when truly necessary, and make it easy for them to pick the habit back up.</p><h2>More Elasticity, Less Breaking</h2><p>If you build or have thought of building productivity tools, please make them elastic! For everyone else, hopefully now you have a framework to assess the effectiveness of potential tools.</p><h2>More</h2><p><a href="https://www.benkuhn.net/zero/">https://www.benkuhn.net/zero/</a></p><blockquote><p>I tried to use various things to block distracting websites, but I always ended up turning them off &#8220;for a little bit&#8221; to look at something they were blocking and, uh, &#8220;forgetting&#8221; to turn them back on.</p></blockquote><p><a href="https://www.neelnanda.io/blog/mini-blog-post-19-on-systems-living-a-life-of-zero-willpower">https://www.neelnanda.io/blog/mini-blog-post-19-on-systems-living-a-life-of-zero-willpower</a></p><blockquote><p><strong>Shape the default</strong>- the ideal situation is for doing the right action to feel like the default, so it takes <em>no</em> willpower</p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Friends From First Principles]]></title><description><![CDATA[Throughout my life, friends were always an unintentional byproduct.]]></description><link>https://www.simonberens.com/p/friends-from-first-principles</link><guid isPermaLink="false">https://www.simonberens.com/p/friends-from-first-principles</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Thu, 20 Oct 2022 21:45:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b7b2575b-d560-43b5-a143-1bb7dd358d13_1000x377.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Throughout my life, friends were always an unintentional byproduct. I would bump into someone at a few parties, spend a few days living with them, or take a common class, and all of a sudden I had made a new &#8220;friend&#8221;.</p><p>In times of loneliness, my panacea was to go out more, cross my fingers, and hope I would get carried by the current into making more friends. That was as far as my intentionality went; I gave no thought to alternative approaches.</p><p>However, the best interventions for making friends can have orders of magnitude better results. In order to discover these maximally effective interventions, I decided to rethink friendship from first principles.</p><p>Like in all problem solving, you need to start with a clear formulation of the problem. The desire for friendship stems from different problems for everyone, but here is my attempt at a broad categorization:</p><ul><li><p>loneliness (you don&#8217;t have that many friends)</p></li><li><p>boredom (your friends aren&#8217;t doing enough things to satisfy you)</p></li><li><p>lack of diversity (your friends are all doing the same thing that you&#8217;re getting tired of, e.g. crypto, rock climbing, etc&#8230;)</p></li><li><p>high friction social life (your friends don&#8217;t invite you out much so you constantly have to reach out)</p></li><li><p>emotion bottling (different from loneliness because you can still have friends, but you can&#8217;t talk to them about what you want to talk to)</p></li></ul><p>Once you know what problem you want to solve with friendship, the next step is to spend your time on the things most likely to generate the types of friends you&#8217;re looking for.</p><h2>Modeling Friendship</h2><p>Regardless of the category, all good friendships have at least these factors in common:</p><ul><li><p>Repeated interactions (physical interactions work better, but online ones can work too)</p></li><li><p>Ease of communication (you don&#8217;t have to filter yourself too much around them)</p></li><li><p>Both people get value (the value can take on many forms: enjoying each other&#8217;s company, having fun, learning new things, working through problems, etc&#8230;)</p></li></ul><p>So if you&#8217;re considering going to an event to make friends, the important factors to consider are</p><ul><li><p>How many future interactions will this event generate</p></li><li><p>How approachable are the people&nbsp;</p></li><li><p>What is the typical ease of communication</p></li><li><p>How much value will you get from the average person in the event</p></li></ul><p>We can model the effects of these factors on the expected number of friends with the following formula</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\mathbb{E}[\\text{friends}] \\propto \\alpha Q \\log_2(N) \\left(\\frac{1}{1+e^{-\\frac{1}{2}I+2}} \\right) \\left(1- \\frac{1}{\\frac{1}{2}N+1} \\right)^2 C_c  V_c&quot;,&quot;id&quot;:&quot;XGHFUARXKO&quot;}" data-component-name="LatexBlockToDOM"></div><p>Where 0&#8804;&#945;&#8804;1 is the approachability factor of the situation, 0&#8804;Q&#8804;1 is the quality of the interactions, N is the total number of people, I is the number of expected future interactions, 0&#8804;C_c&#8804;1 is the communication compatibility factor, and 0&#8804;V_c&#8804;1 is the value compatibility factor.</p><p>I pretty much eyeballed this formula to capture the following ideas:</p><ul><li><p>strongly diminishing returns from adding new people (shown by log_2&#8289;(N))</p></li><li><p>you start getting the most value after 4+ future interactions (shown by 1/(1+e^(&#8722;(1/2)I+2)))</p></li><li><p>diminishing returns (w.r.t. number of people) for chances to find someone compatible communication-wise (shown by 1&#8722;1/(N/2+1)C_c)</p></li><li><p>diminishing returns (w.r.t. number of people) for chances to find someone compatible values-wise (shown by 1&#8722;1/(N/2+1)V_c)</p></li></ul><p>Here are the surfaces corresponding to N=4,8,16,100:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N1Ai!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N1Ai!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 424w, https://substackcdn.com/image/fetch/$s_!N1Ai!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 848w, https://substackcdn.com/image/fetch/$s_!N1Ai!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 1272w, https://substackcdn.com/image/fetch/$s_!N1Ai!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N1Ai!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png" width="717" height="699" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:699,&quot;width&quot;:717,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154144,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N1Ai!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 424w, https://substackcdn.com/image/fetch/$s_!N1Ai!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 848w, https://substackcdn.com/image/fetch/$s_!N1Ai!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 1272w, https://substackcdn.com/image/fetch/$s_!N1Ai!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b245adb-5628-4c1f-a29d-7612601c1e72_717x699.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can see you get strong diminishing returns after 10+ interactions. If you already have 10+ future interactions at an event, it starts makes sense to increase the number of people at the event.</p><p>Let&#8217;s sanity check what the formula gives in different scenarios. I created a google sheet for different scenarios and filled it with approximate values for each factor. Keep in mind that these values are unique to me, and even unique to each type of sub-event. For example, I&#8217;ve stayed at coliving houses that are as big as 30 people (but most of them have been around ~15).</p><p>Also remember E[friends] is meant to be <em>proportional</em> to the result, not equivalent. In reality, you should probably multiply the <em>Result</em> column by 3-4.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AjCK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AjCK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 424w, https://substackcdn.com/image/fetch/$s_!AjCK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 848w, https://substackcdn.com/image/fetch/$s_!AjCK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 1272w, https://substackcdn.com/image/fetch/$s_!AjCK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AjCK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png" width="1000" height="377" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:377,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!AjCK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 424w, https://substackcdn.com/image/fetch/$s_!AjCK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 848w, https://substackcdn.com/image/fetch/$s_!AjCK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 1272w, https://substackcdn.com/image/fetch/$s_!AjCK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c9a1b14-3a4f-440f-b589-c4d54c82cd7d_1000x377.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://docs.google.com/spreadsheets/d/1G5VtD0U7BvFD_VgYbkE5Z7Klv5TQ2GK9SPgnMYNzBcI/edit#gid=0">Link to sheet</a></figcaption></figure></div><p>College clubs come out on top, and clubbing comes last. In my experience, although I did make a lot of friends from college clubs, most of them drifted apart after I left college.</p><p>Try making a copy of the sheet and filling it out with your own values!</p><h2>Boosting Variables</h2><p>Each factor in the equation is not set in stone per event. You can modify some of them through simple tweaks of your actions, but others require more significant lifestyle change.</p><h3>Approachability</h3><p>You can overcome the approachability barrier by inserting yourself into more conversations. Be confident in yourself, don&#8217;t just hang around your friends! Here are some simple things you can say to join a group that work better than expected:</p><ul><li><p>&#8220;Mind if I join you?&#8221;</p></li><li><p>&#8220;Hey I&#8217;m &lt;name&gt;&#8221;</p></li><li><p>&#8220;How long have you been doing/going to X?&#8221;</p></li></ul><h3>Interactions</h3><p>You can increase expected future interactions by schedules repeating calls with them, or just suggesting to hang out.</p><ul><li><p>&#8220;Hey, I really enjoyed talking with you at X! I&#8217;m going to Y, do you want to come?&#8221;</p></li><li><p>&#8220;How's it been? Are you free &lt;date&gt; to catch up?&#8221;</p></li></ul><p>Another method to boost future interactions is creating group chats. I think this requires a certain level of pre-established friendships&#8212;people need to be comfortable expressing themselves to everyone in the group. Once you have that, as well as a critical mass of people, they help keep friendships going for a long time!</p><h3>Communication</h3><p>Theoretically, you can up your communication compatibility with other people by being more tolerant and understanding. I&#8217;m not sure what the best way of doing that would be, but meditation sounds helpful.</p><h3>Quality</h3><p>Raise the quality of interactions by making an active effort in conversation to find what the other person is interested in. <a href="https://www.benkuhn.net/listen/">https://www.benkuhn.net/listen/</a> is a great piece on listening well.</p><h3>Number of People</h3><p>Boost the number of people at an event by inviting your friends and telling them to bring friends of friends. Also share on social media!</p><h3>Value</h3><p>Finally, you can provide more value to people and vice versaif the life you lead is diverse. Some areas where people typically provide value:</p><ul><li><p>Sports</p></li><li><p>Career</p></li><li><p>Hobbies</p></li><li><p>Online presence</p></li></ul><h2>Also Great</h2><p><a href="https://www.neelnanda.io/blog/43-making-friends">https://www.neelnanda.io/blog/43-making-friends</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[DALL·E 2 vs $10 Fiverr Commissions]]></title><description><![CDATA[Recently I wrote a blog post that had a concept I wanted to show graphically.]]></description><link>https://www.simonberens.com/p/dalle-2-vs-10-fiverr-commission</link><guid isPermaLink="false">https://www.simonberens.com/p/dalle-2-vs-10-fiverr-commission</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sat, 08 Oct 2022 19:05:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a282694e-6322-4c91-9d1e-60939f4ad133_1000x250.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently I wrote a<a href="https://www.simonberens.com/p/privacy-as-a-moral-buffer"> blog post</a> that had a concept I wanted to show graphically. Given that my drawing skills are terrible, I turned to Fiverr to get something that didn&#8217;t make my eyes bleed. While waiting for my commissioned art, I realized this was the perfect opportunity to compare the state of the art image generation models to what $10 got me on Fiverr (well, 12.55 with the service fee).</p><p>First, I needed to describe what I had in mind purely in words. I settled on this:</p><blockquote><p>A graph with 3 slightly wavy lines: the first (labelled morality, colored green) starts near the top and goes down. The second (labelled legality, colored blue) starts near the bottom and goes up. The third (labelled prosecution, colored red) starts below the second, and generally follows the second (always remaining below the second). The three lines should converge close to each other by the end. There should be a point where the first line goes below the second, and then it goes back above. The first line should still be above the third line. The bottom axis should be labelled as time, with an arrow pointing to the right. In the middle of the graph, there should be a vertical line (labelled privacy, colored black) that goes between the first line and the third line.</p></blockquote><p>(To get more context, read the post.)</p><p>However, this was already too long for DALL&#183;E 2 and Stable Diffusion. So I trimmed it down to the following:</p><blockquote><p>A graph with 3 slightly wavy lines: the first (labelled morality, colored green) starts near the top and goes down. The second (labelled legality, colored blue) starts near the bottom and goes up. The third (labelled prosecution, colored red) starts below the second, and generally follows the second (always remaining below the second). The three lines should converge close to each other by the end.</p></blockquote><h3>DALL&#183;E 2 Results</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ts9_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ts9_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 424w, https://substackcdn.com/image/fetch/$s_!ts9_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 848w, https://substackcdn.com/image/fetch/$s_!ts9_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 1272w, https://substackcdn.com/image/fetch/$s_!ts9_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ts9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png" width="1000" height="250" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:250,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ts9_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 424w, https://substackcdn.com/image/fetch/$s_!ts9_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 848w, https://substackcdn.com/image/fetch/$s_!ts9_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 1272w, https://substackcdn.com/image/fetch/$s_!ts9_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9fb1ae-7e0b-449f-b6ed-efe593ef9cc4_1000x250.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><em>Note: DALL&#183;E 2&#8217;s maximum length cut off the period from the prompt. Not sure if this made a large difference.</em></p><p>Pretty lame. Only 50% of the results are even graphs of lines at all. Let down, I decided to try out Stable Diffusion in hopes that it could do better.</p><h3>Stable Diffusion Results</h3><p><em>(via <a href="https://beta.dreamstudio.ai">beta.dreamstudio.ai</a> with width: 512, height: 512, cfg scale: 20, steps: 150, images: 4, sampler: k_lms, model: stable diffusion v1.5)</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sHCy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sHCy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 424w, https://substackcdn.com/image/fetch/$s_!sHCy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 848w, https://substackcdn.com/image/fetch/$s_!sHCy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 1272w, https://substackcdn.com/image/fetch/$s_!sHCy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sHCy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png" width="1000" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!sHCy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 424w, https://substackcdn.com/image/fetch/$s_!sHCy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 848w, https://substackcdn.com/image/fetch/$s_!sHCy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 1272w, https://substackcdn.com/image/fetch/$s_!sHCy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3dc8cfc-10f2-41b2-a6df-ef8769a1d0e4_1000x842.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Somehow even worse than DALL&#183;E 2.</p><h3>Fiverr Person #1</h3><p>Okay, well maybe it was impossible for anyone to deduce what I was trying to convey. Let&#8217;s see what my first $10 commission gave me (keep in mind this is with the unabridged prompt):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BOzp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BOzp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BOzp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BOzp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BOzp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BOzp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg" width="1000" height="707" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:707,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BOzp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BOzp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BOzp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BOzp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac4b194-b4da-4a08-b45b-b1c3a4f10c45_1000x707.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I feel the sanity returning to me&#8230; However, it seems they didn&#8217;t catch the part where I said the black line should go <em>between</em> the first and third lines. Trying my hand at some prompt engineering, I tweaked the prompt to</p><blockquote><p>A graph with 3 slightly wavy lines: the first (labelled morality, colored green) starts near the top and goes down. The second (labelled legality, colored blue) starts near the bottom and goes up. The third (labelled prosecution, colored red) starts below the second, and generally follows the second (always remaining below the second). The three lines should converge close to each other by the end. There should be a point where the first line goes below the second, and then it goes back above. The first line should still be above the third line. The bottom axis should be labelled as time, with an arrow pointing to the right. In the middle of the graph, there should be a vertical line (labelled privacy, colored black) that <strong>starts at the first line and ends at the third line</strong>.</p></blockquote><p>(Bolded to emphasize the difference.) I commissioned another piece with this new prompt, and here is the result:</p><h3>Fiverr Person #2</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HnH7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HnH7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 424w, https://substackcdn.com/image/fetch/$s_!HnH7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 848w, https://substackcdn.com/image/fetch/$s_!HnH7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 1272w, https://substackcdn.com/image/fetch/$s_!HnH7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HnH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png" width="1000" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HnH7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 424w, https://substackcdn.com/image/fetch/$s_!HnH7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 848w, https://substackcdn.com/image/fetch/$s_!HnH7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 1272w, https://substackcdn.com/image/fetch/$s_!HnH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c44ca03-090d-4486-b8c0-83adc0883bc9_1000x667.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It seems like my prompt engineering worked, but at the same time this Fiverr person forgot to make the first line go back above the second.</p><h3>Sketch-inspired Drawings</h3><p>Stable Diffusion has a neat feature where you can upload an image as inspiration. In fact, this is what you usually do on Fiverr. Here is the sketch I uploaded to Stable Diffusion:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qm7H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qm7H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qm7H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qm7H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qm7H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qm7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg" width="1000" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!qm7H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qm7H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qm7H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qm7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1959b3e-3824-4b38-b230-800d5d3bd951_1000x750.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>and here is what Stable Diffusion did to my poor baby <em>(via <a href="https://beta.dreamstudio.ai">beta.dreamstudio.ai</a> with width: 512, height: 512, cfg scale: 20, steps: 150, images: 4, sampler: k_lms, model: stable diffusion v1.5, image similarity: 50%)</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JkXu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JkXu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 424w, https://substackcdn.com/image/fetch/$s_!JkXu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 848w, https://substackcdn.com/image/fetch/$s_!JkXu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 1272w, https://substackcdn.com/image/fetch/$s_!JkXu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JkXu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png" width="1000" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!JkXu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 424w, https://substackcdn.com/image/fetch/$s_!JkXu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 848w, https://substackcdn.com/image/fetch/$s_!JkXu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 1272w, https://substackcdn.com/image/fetch/$s_!JkXu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F154a547c-782d-4fcf-9678-a6174f80808e_1000x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s how the Fiverr commission came out with the abridged prompt and the same sketch as reference:</p><h3>Fiverr Person #3</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fI-6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fI-6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fI-6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fI-6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fI-6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fI-6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg" width="1000" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!fI-6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fI-6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fI-6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fI-6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d7367f-add9-44b2-8682-ad0a9fc2ca31_1000x638.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not too shabby, eh?</p><p>(I ended up asking this person to make a few revisions for the final result, which you can see in the <a href="https://simonberens.me/blog/privacy-as-a-moral-buffer">post</a>!)</p><h3>Minimum Viable Garbage</h3><p>Maybe these models are unequipped to handle a wall of text like my trusty Fiverr friends. However, that doesn&#8217;t seem to be the case. The smallest possible prompt that still produced nonsense was</p><blockquote><p>a graph with 3 lines</p></blockquote><p>Here is DALL&#183;E 2&#8217;s rendition:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TtAh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TtAh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 424w, https://substackcdn.com/image/fetch/$s_!TtAh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 848w, https://substackcdn.com/image/fetch/$s_!TtAh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 1272w, https://substackcdn.com/image/fetch/$s_!TtAh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TtAh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png" width="1000" height="249" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:249,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!TtAh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 424w, https://substackcdn.com/image/fetch/$s_!TtAh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 848w, https://substackcdn.com/image/fetch/$s_!TtAh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 1272w, https://substackcdn.com/image/fetch/$s_!TtAh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24170a65-6161-4579-8f9e-61587e1debbe_1000x249.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>To be fair there is technically one graph with 3 lines, but I wouldn&#8217;t call that passable by any stretch of the imagination.</p><p>Here is Stable diffusion&#8217;s best attempt <em>(via <a href="https://beta.dreamstudio.ai">beta.dreamstudio.ai</a> with width: 512, height: 512, cfg scale: 20, steps: 150, images: 4, sampler: k_lms, model: Stable diffusion v1.5):</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5XNu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5XNu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 424w, https://substackcdn.com/image/fetch/$s_!5XNu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 848w, https://substackcdn.com/image/fetch/$s_!5XNu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 1272w, https://substackcdn.com/image/fetch/$s_!5XNu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5XNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png" width="1000" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!5XNu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 424w, https://substackcdn.com/image/fetch/$s_!5XNu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 848w, https://substackcdn.com/image/fetch/$s_!5XNu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 1272w, https://substackcdn.com/image/fetch/$s_!5XNu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ebf9dd5-6f8a-4123-bb6a-178ccd072312_1000x810.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It seems Stable Diffusion was trained on graph paper, but it still produces garbage.</p><h2>Imagen</h2><p>I don&#8217;t have the clout to bully Google engineers into running my prompts (yet), so if you do have this power or are such an engineer yourself, and want to flex the supposed contextual and compositional superiority of Imagen, please be my guest and share your results!</p><h2>Prompt Engineering</h2><p>A fair criticism of this post would be that I spent no time on optimizing my prompts, which has been shown to make a big difference in the quality of the output. I&#8217;m skeptical of much of an improvement you could get because these results seem to come from more of a fundamental incapability of DALL&#183;E 2/Stable Diffusion. However, if you make any progress, let me know!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Privacy As A Moral Buffer]]></title><description><![CDATA[Epistemic Status: Overly Opinionated]]></description><link>https://www.simonberens.com/p/privacy-as-a-moral-buffer</link><guid isPermaLink="false">https://www.simonberens.com/p/privacy-as-a-moral-buffer</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Fri, 07 Oct 2022 20:45:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5afcbb01-5c83-426f-b649-989464a0c7dd_1000x651.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Epistemic Status: Overly Opinionated</em></p><p>There will always be a "gap" between morality and law. Sometimes the gap is "loose", in which case people have more freedom. (This doesn't necessarily have to be a good thing, e.g. sectors lacking regulation.) Sometimes the gap is too "tight", where our rights are infringed upon and the law is overbearing.</p><p>Privacy is what protects us from the latter. In that case, though the gap between morality and law is too small (or negative), privacy injects a gap between legality and prosecution. This means we need privacy the most around ethically ambiguous issues (abortion, religion, sex, etc&#8230;). For example, many countries and states have laws prohibiting sexual acts like adultery and sodomy, but people are protected by the privacy of their homes. However, this argument does hinge on the belief that laws around ethically ambiguous issues are generally worse than no/minimal laws.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xGR9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xGR9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xGR9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xGR9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xGR9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xGR9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg" width="1000" height="651" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:651,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xGR9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xGR9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xGR9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xGR9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc14feb2a-2713-4f28-9c42-33b4e7cb4f08_1000x651.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Over time, societal morality and morality according to our legal system will converge. As we gain certainty in our moral beliefs, our laws will update to closer fit our new morality, giving us more confidence to bring law and prosecution closer together; we shouldn&#8217;t be surprised as over time we lose the privacy we once had.</p><p>Privacy is not strictly good. Privacy works against prosecution, both just and unjust; more privacy makes it harder to catch true criminals.</p><p>As privacy is a double edged sword, every conversation around it must be nuanced. Trite comments like "if you have nothing to hide you have nothing to fear" miss the subtlety of the discussion. Judging a new privacy development is always a question of weighing the benefits against the detriments in a utilitarian fashion.</p><p>Useful Links</p><ul><li><p><a href="https://en.wikipedia.org/wiki/Privacy">https://en.wikipedia.org/wiki/Privacy</a></p></li><li><p><a href="https://en.wikipedia.org/wiki/Privacy_law">https://en.wikipedia.org/wiki/Privacy_law</a></p></li><li><p><a href="https://en.wikipedia.org/wiki/Internet_privacy">https://en.wikipedia.org/wiki/Internet_privacy</a></p></li><li><p><a href="https://en.wikipedia.org/wiki/Privacy_concerns_with_social_networking_services">https://en.wikipedia.org/wiki/Privacy_concerns_with_social_networking_services</a></p></li><li><p><a href="https://en.wikipedia.org/wiki/Use_of_social_network_websites_in_investigations">https://en.wikipedia.org/wiki/Use_of_social_network_websites_in_investigations</a></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Generating Sparse And Dense Random Graphs]]></title><description><![CDATA[Suppose you want to generate a graph with V vertices and E edges, such that each graph (i.e.]]></description><link>https://www.simonberens.com/p/generating-sparse-and-dense-random-graphs</link><guid isPermaLink="false">https://www.simonberens.com/p/generating-sparse-and-dense-random-graphs</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Tue, 04 Oct 2022 17:16:46 GMT</pubDate><content:encoded><![CDATA[<p>Suppose you want to generate a graph with <code>V</code> vertices and <code>E</code> edges, such that each graph (i.e. each configuration of edges) is equally likely to be generated. For sparse graphs, you can just pick two vertices, and connect them if they&#8217;re not connected already. If they are connected, pick another two vertices. (Repeat <code>E</code> times.) For dense graphs one solution is to generate all edges, randomly permute them, and then pick the first <code>E</code>. The time complexity of both of these algorithms is <code>O(V+E)</code>) (for sparse and dense graphs respectively).</p><p>However, if you want to handle both sparse and dense graphs in a single function you end up having to mash the two algorithms together with an if statement checking if the graph is sparse or dense. Here is a cleaner way:</p><div class="github-gist" data-attrs="{&quot;innerHTML&quot;:&quot;<div id=\&quot;gist118693707\&quot; class=\&quot;gist\&quot;>\n    <div class=\&quot;gist-file\&quot; translate=\&quot;no\&quot;>\n      <div class=\&quot;gist-data\&quot;>\n        <div class=\&quot;js-gist-file-update-container js-task-list-container file-box\&quot;>\n  <div id=\&quot;file-random_graph-py\&quot; class=\&quot;file my-2\&quot;>\n    \n    <div itemprop=\&quot;text\&quot; class=\&quot;Box-body p-0 blob-wrapper data type-python  \&quot;>\n\n        \n<div class=\&quot;js-check-bidi js-blob-code-container blob-code-content\&quot;>\n\n  <template class=\&quot;js-file-alert-template\&quot;>\n  <div data-view-component=\&quot;true\&quot; class=\&quot;flash flash-warn flash-full d-flex flex-items-center\&quot;>\n  <svg aria-hidden=\&quot;true\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 16 16\&quot; version=\&quot;1.1\&quot; width=\&quot;16\&quot; data-view-component=\&quot;true\&quot; class=\&quot;octicon octicon-alert\&quot;>\n    <path fill-rule=\&quot;evenodd\&quot; d=\&quot;M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\&quot;></path>\n</svg>\n    <span>\n      This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\n      <a href=\&quot;https://github.co/hiddenchars\&quot; target=\&quot;_blank\&quot;>Learn more about bidirectional Unicode characters</a>\n    </span>\n\n\n  <div data-view-component=\&quot;true\&quot; class=\&quot;flash-action\&quot;>        <a href=\&quot;{{ revealButtonHref }}\&quot; data-view-component=\&quot;true\&quot; class=\&quot;btn-sm btn\&quot;>    Show hidden characters\n</a>\n</div>\n</div></template>\n<template class=\&quot;js-line-alert-template\&quot;>\n  <span aria-label=\&quot;This line has hidden Unicode characters\&quot; data-view-component=\&quot;true\&quot; class=\&quot;line-alert tooltipped tooltipped-e\&quot;>\n    <svg aria-hidden=\&quot;true\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 16 16\&quot; version=\&quot;1.1\&quot; width=\&quot;16\&quot; data-view-component=\&quot;true\&quot; class=\&quot;octicon octicon-alert\&quot;>\n    <path fill-rule=\&quot;evenodd\&quot; d=\&quot;M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\&quot;></path>\n</svg>\n</span></template>\n\n  <table data-hpc class=\&quot;highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\&quot; data-tab-size=\&quot;8\&quot; data-paste-markdown-skip data-tagsearch-lang=\&quot;Python\&quot; data-tagsearch-path=\&quot;random_graph.py\&quot;>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L1\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;1\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC1\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-k>import</span> <span class=pl-s1>random</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L2\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;2\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC2\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-k>import</span> <span class=pl-s1>math</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L3\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;3\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC3\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>\n</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L4\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;4\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC4\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>\n</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L5\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;5\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC5\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-k>def</span> <span class=pl-en>random_pick</span>(<span class=pl-s1>n</span>, <span class=pl-s1>m</span>):</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L6\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;6\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC6\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-s>&amp;quot;&amp;quot;&amp;quot;Pick m integers from a bag of the integers in [0, n) without replacement&amp;quot;&amp;quot;&amp;quot;</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L7\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;7\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC7\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-s1>d</span> <span class=pl-c1>=</span> {<span class=pl-s1>i</span> : <span class=pl-s1>i</span> <span class=pl-k>for</span> <span class=pl-s1>i</span> <span class=pl-c1>in</span> <span class=pl-en>range</span>(<span class=pl-s1>m</span>)} <span class=pl-c># For now, just pick the first m integers</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L8\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;8\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC8\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-s1>res</span> <span class=pl-c1>=</span> []</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L9\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;9\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC9\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>for</span> <span class=pl-s1>i</span> <span class=pl-c1>in</span> <span class=pl-en>range</span>(<span class=pl-s1>m</span>): <span class=pl-c># Pick the i-th number</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L10\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;10\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC10\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>j</span> <span class=pl-c1>=</span> <span class=pl-s1>random</span>.<span class=pl-en>randrange</span>(<span class=pl-s1>i</span>, <span class=pl-s1>n</span>)</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L11\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;11\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC11\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-c># Pick whatever is in the j-th slot. If there is nothing, then pick j.</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L12\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;12\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC12\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-k>if</span> <span class=pl-s1>j</span> <span class=pl-c1>not</span> <span class=pl-c1>in</span> <span class=pl-s1>d</span>:</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L13\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;13\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC13\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>            <span class=pl-s1>d</span>[<span class=pl-s1>j</span>] <span class=pl-c1>=</span> <span class=pl-s1>j</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L14\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;14\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC14\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>d</span>[<span class=pl-s1>i</span>], <span class=pl-s1>d</span>[<span class=pl-s1>j</span>] <span class=pl-c1>=</span> <span class=pl-s1>d</span>[<span class=pl-s1>j</span>], <span class=pl-s1>d</span>[<span class=pl-s1>i</span>] <span class=pl-c># Swap the contents of the i-th and j-th slot</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L15\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;15\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC15\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>res</span>.<span class=pl-en>append</span>(<span class=pl-s1>d</span>[<span class=pl-s1>i</span>])</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L16\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;16\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC16\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>return</span> <span class=pl-s1>res</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L17\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;17\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC17\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>\n</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L18\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;18\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC18\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-k>def</span> <span class=pl-en>gen_random_graph</span>(<span class=pl-v>V</span>, <span class=pl-v>E</span>):</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L19\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;19\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC19\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-s>&amp;quot;&amp;quot;&amp;quot;Generate an undirected graph in the form of an adjacency list with no duplicate edges or self loops&amp;quot;&amp;quot;&amp;quot;</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L20\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;20\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC20\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-s1>g</span> <span class=pl-c1>=</span> [[] <span class=pl-k>for</span> <span class=pl-s1>_</span> <span class=pl-c1>in</span> <span class=pl-en>range</span>(<span class=pl-v>V</span>)]</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L21\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;21\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC21\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-s1>edges</span> <span class=pl-c1>=</span> <span class=pl-en>random_pick</span>(<span class=pl-s1>math</span>.<span class=pl-en>comb</span>(<span class=pl-v>V</span>, <span class=pl-c1>2</span>), <span class=pl-v>E</span>) <span class=pl-c># Pick E integers that represent the edges</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L22\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;22\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC22\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>for</span> <span class=pl-s1>e</span> <span class=pl-c1>in</span> <span class=pl-s1>edges</span>: <span class=pl-c># Decode the edges into their vertices</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L23\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;23\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC23\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>u</span> <span class=pl-c1>=</span> <span class=pl-en>int</span>((<span class=pl-c1>1</span> <span class=pl-c1>+</span> <span class=pl-s1>math</span>.<span class=pl-en>sqrt</span>(<span class=pl-c1>1</span> <span class=pl-c1>+</span> <span class=pl-c1>8</span> <span class=pl-c1>*</span> <span class=pl-s1>e</span>)) <span class=pl-c1>/</span> <span class=pl-c1>2</span>)</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L24\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;24\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC24\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>v</span> <span class=pl-c1>=</span> <span class=pl-s1>e</span> <span class=pl-c1>-</span> <span class=pl-s1>math</span>.<span class=pl-en>comb</span>(<span class=pl-s1>u</span>, <span class=pl-c1>2</span>)</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L25\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;25\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC25\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>g</span>[<span class=pl-s1>u</span>].<span class=pl-en>append</span>(<span class=pl-s1>v</span>)</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L26\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;26\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC26\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>        <span class=pl-s1>g</span>[<span class=pl-s1>v</span>].<span class=pl-en>append</span>(<span class=pl-s1>u</span>)</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L27\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;27\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC27\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>return</span> <span class=pl-s1>g</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L28\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;28\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC28\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>\n</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L29\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;29\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC29\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c># The complete graph on 4 vertices</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-random_graph-py-L30\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;30\&quot;></td>\n          <td id=\&quot;file-random_graph-py-LC30\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-en>print</span>(<span class=pl-en>gen_random_graph</span>(<span class=pl-c1>4</span>, <span class=pl-c1>6</span>)) <span class=pl-c># [[3, 2, 1], [3, 2, 0], [1, 0, 3], [0, 1, 2]]</span></td>\n        </tr>\n  </table>\n</div>\n\n\n    </div>\n\n  </div>\n</div>\n\n      </div>\n      <div class=\&quot;gist-meta\&quot;>\n        <a href=\&quot;https://gist.github.com/SimonBerens/174f74338d6a6a713fa414cb9673174b/raw/d735e69d1db28875dc5427818d6dd60e433ab806/random_graph.py\&quot; style=\&quot;float:right\&quot;>view raw</a>\n        <a href=\&quot;https://gist.github.com/SimonBerens/174f74338d6a6a713fa414cb9673174b#file-random_graph-py\&quot;>\n          random_graph.py\n        </a>\n        hosted with &amp;#10084; by <a href=\&quot;https://github.com\&quot;>GitHub</a>\n      </div>\n    </div>\n</div>\n&quot;,&quot;stylesheet&quot;:&quot;https://github.githubassets.com/assets/gist-embed-d68a95cf247f.css&quot;}" data-component-name="GitgistToDOM"><link rel="stylesheet" href="https://github.githubassets.com/assets/gist-embed-d68a95cf247f.css"><div id="gist118693707" class="gist">
    <div class="gist-file">
      <div class="gist-data">
        <div class="js-gist-file-update-container js-task-list-container file-box">
  <div id="file-random_graph-py" class="file my-2">
    
    <div itemprop="text" class="Box-body p-0 blob-wrapper data type-python  ">

        
<div class="js-check-bidi js-blob-code-container blob-code-content">

  
  <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  
    

    <span>
      This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      <a href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a>
    </span>


  <div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters
</a>
</div>
</div>

  <span data-view-component="true" class="line-alert tooltipped tooltipped-e">
    
    

</span>

  <table data-hpc="" class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="8" data-paste-markdown-skip="" data-tagsearch-lang="Python" data-tagsearch-path="random_graph.py">
        <tbody><tr>
          <td id="file-random_graph-py-L1" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="1"></td>
          <td id="file-random_graph-py-LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> <span class="pl-s1">random</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L2" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="2"></td>
          <td id="file-random_graph-py-LC2" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> <span class="pl-s1">math</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L3" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="3"></td>
          <td id="file-random_graph-py-LC3" class="blob-code blob-code-inner js-file-line">
</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L4" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="4"></td>
          <td id="file-random_graph-py-LC4" class="blob-code blob-code-inner js-file-line">
</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L5" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="5"></td>
          <td id="file-random_graph-py-LC5" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">random_pick</span>(<span class="pl-s1">n</span>, <span class="pl-s1">m</span>):</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L6" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="6"></td>
          <td id="file-random_graph-py-LC6" class="blob-code blob-code-inner js-file-line">    <span class="pl-s">"""Pick m integers from a bag of the integers in [0, n) without replacement"""</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L7" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="7"></td>
          <td id="file-random_graph-py-LC7" class="blob-code blob-code-inner js-file-line">    <span class="pl-s1">d</span> <span class="pl-c1">=</span> {<span class="pl-s1">i</span> : <span class="pl-s1">i</span> <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">in</span> <span class="pl-en">range</span>(<span class="pl-s1">m</span>)} <span class="pl-c"># For now, just pick the first m integers</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L8" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="8"></td>
          <td id="file-random_graph-py-LC8" class="blob-code blob-code-inner js-file-line">    <span class="pl-s1">res</span> <span class="pl-c1">=</span> []</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L9" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="9"></td>
          <td id="file-random_graph-py-LC9" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">in</span> <span class="pl-en">range</span>(<span class="pl-s1">m</span>): <span class="pl-c"># Pick the i-th number</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L10" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="10"></td>
          <td id="file-random_graph-py-LC10" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">j</span> <span class="pl-c1">=</span> <span class="pl-s1">random</span>.<span class="pl-en">randrange</span>(<span class="pl-s1">i</span>, <span class="pl-s1">n</span>)</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L11" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="11"></td>
          <td id="file-random_graph-py-LC11" class="blob-code blob-code-inner js-file-line">        <span class="pl-c"># Pick whatever is in the j-th slot. If there is nothing, then pick j.</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L12" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="12"></td>
          <td id="file-random_graph-py-LC12" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> <span class="pl-s1">j</span> <span class="pl-c1">not</span> <span class="pl-c1">in</span> <span class="pl-s1">d</span>:</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L13" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="13"></td>
          <td id="file-random_graph-py-LC13" class="blob-code blob-code-inner js-file-line">            <span class="pl-s1">d</span>[<span class="pl-s1">j</span>] <span class="pl-c1">=</span> <span class="pl-s1">j</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L14" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="14"></td>
          <td id="file-random_graph-py-LC14" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">d</span>[<span class="pl-s1">i</span>], <span class="pl-s1">d</span>[<span class="pl-s1">j</span>] <span class="pl-c1">=</span> <span class="pl-s1">d</span>[<span class="pl-s1">j</span>], <span class="pl-s1">d</span>[<span class="pl-s1">i</span>] <span class="pl-c"># Swap the contents of the i-th and j-th slot</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L15" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="15"></td>
          <td id="file-random_graph-py-LC15" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">res</span>.<span class="pl-en">append</span>(<span class="pl-s1">d</span>[<span class="pl-s1">i</span>])</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L16" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="16"></td>
          <td id="file-random_graph-py-LC16" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> <span class="pl-s1">res</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L17" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="17"></td>
          <td id="file-random_graph-py-LC17" class="blob-code blob-code-inner js-file-line">
</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L18" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="18"></td>
          <td id="file-random_graph-py-LC18" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">gen_random_graph</span>(<span class="pl-v">V</span>, <span class="pl-v">E</span>):</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L19" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="19"></td>
          <td id="file-random_graph-py-LC19" class="blob-code blob-code-inner js-file-line">    <span class="pl-s">"""Generate an undirected graph in the form of an adjacency list with no duplicate edges or self loops"""</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L20" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="20"></td>
          <td id="file-random_graph-py-LC20" class="blob-code blob-code-inner js-file-line">    <span class="pl-s1">g</span> <span class="pl-c1">=</span> [[] <span class="pl-k">for</span> <span class="pl-s1">_</span> <span class="pl-c1">in</span> <span class="pl-en">range</span>(<span class="pl-v">V</span>)]</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L21" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="21"></td>
          <td id="file-random_graph-py-LC21" class="blob-code blob-code-inner js-file-line">    <span class="pl-s1">edges</span> <span class="pl-c1">=</span> <span class="pl-en">random_pick</span>(<span class="pl-s1">math</span>.<span class="pl-en">comb</span>(<span class="pl-v">V</span>, <span class="pl-c1">2</span>), <span class="pl-v">E</span>) <span class="pl-c"># Pick E integers that represent the edges</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L22" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="22"></td>
          <td id="file-random_graph-py-LC22" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">for</span> <span class="pl-s1">e</span> <span class="pl-c1">in</span> <span class="pl-s1">edges</span>: <span class="pl-c"># Decode the edges into their vertices</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L23" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="23"></td>
          <td id="file-random_graph-py-LC23" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">u</span> <span class="pl-c1">=</span> <span class="pl-en">int</span>((<span class="pl-c1">1</span> <span class="pl-c1">+</span> <span class="pl-s1">math</span>.<span class="pl-en">sqrt</span>(<span class="pl-c1">1</span> <span class="pl-c1">+</span> <span class="pl-c1">8</span> <span class="pl-c1">*</span> <span class="pl-s1">e</span>)) <span class="pl-c1">/</span> <span class="pl-c1">2</span>)</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L24" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="24"></td>
          <td id="file-random_graph-py-LC24" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">v</span> <span class="pl-c1">=</span> <span class="pl-s1">e</span> <span class="pl-c1">-</span> <span class="pl-s1">math</span>.<span class="pl-en">comb</span>(<span class="pl-s1">u</span>, <span class="pl-c1">2</span>)</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L25" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="25"></td>
          <td id="file-random_graph-py-LC25" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">g</span>[<span class="pl-s1">u</span>].<span class="pl-en">append</span>(<span class="pl-s1">v</span>)</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L26" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="26"></td>
          <td id="file-random_graph-py-LC26" class="blob-code blob-code-inner js-file-line">        <span class="pl-s1">g</span>[<span class="pl-s1">v</span>].<span class="pl-en">append</span>(<span class="pl-s1">u</span>)</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L27" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="27"></td>
          <td id="file-random_graph-py-LC27" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> <span class="pl-s1">g</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L28" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="28"></td>
          <td id="file-random_graph-py-LC28" class="blob-code blob-code-inner js-file-line">
</td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L29" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="29"></td>
          <td id="file-random_graph-py-LC29" class="blob-code blob-code-inner js-file-line"><span class="pl-c"># The complete graph on 4 vertices</span></td>
        </tr>
        <tr>
          <td id="file-random_graph-py-L30" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="30"></td>
          <td id="file-random_graph-py-LC30" class="blob-code blob-code-inner js-file-line"><span class="pl-en">print</span>(<span class="pl-en">gen_random_graph</span>(<span class="pl-c1">4</span>, <span class="pl-c1">6</span>)) <span class="pl-c"># [[3, 2, 1], [3, 2, 0], [1, 0, 3], [0, 1, 2]]</span></td>
        </tr>
  </tbody></table>
</div>


    </div>

  </div>
</div>

      </div>
      <div class="gist-meta">
        <a href="https://gist.github.com/SimonBerens/174f74338d6a6a713fa414cb9673174b/raw/d735e69d1db28875dc5427818d6dd60e433ab806/random_graph.py" style="float:right">view raw</a>
        <a href="https://gist.github.com/SimonBerens/174f74338d6a6a713fa414cb9673174b#file-random_graph-py">
          random_graph.py
        </a>
        hosted with &#10084; by <a href="https://github.com">GitHub</a>
      </div>
    </div>
</div>
</div><p>This algorithm is similar to the algorithm for dense graphs, but instead of generating all edges and permuting up front, you do it one edge at a time. The key is an &#8220;implicit&#8221; list of edges, stored as a dictionary of integers -&gt; edges (we encode edges as integers). We can think of the list in two parts: indices <code>[0,i)</code> where we have finalized what edges we picked, and indices <code>[i,n)</code> which store the remaining edges that we can pick from. Thus at each step to pick an edge, we pick a random index from <code>[i,n)</code> and move that edge into index i (while moving what was stored at index i into the selected index).</p><p>The edge -&gt; integer encoding/decoding scheme is as follows: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;0, 1, 2, 3, &#8230;, { V \\choose 2 } -1 \\rightarrow (1, 0), (2, 0), (2, 1), (3, 0), &#8230;, (V-1, V-2)&quot;,&quot;id&quot;:&quot;GAHJHRHYOS&quot;}" data-component-name="LatexBlockToDOM"></div><p></p><p>How do we decode an integer into the vertices it represents? First, let&#8217;s figure out what the first vertex is (e.g. <code>a</code> is the first vertex in the edge <code>(a,b)</code> ). In a graph with <code>V</code> vertices and <code>E</code> edges, given an edge represented as an integer <code>e</code> (sorry), if the first vertex was <code>u</code> then </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot; \\begin{align} e &amp;\\geq 1 + 2 + 3 + &#8230; + (u - 1) \\\\ &amp;= \\frac{1}{2} \\cdot u \\cdot (u -1)  \\\\ 2e &amp; \\geq u^2 - u \\end{align}&quot;,&quot;id&quot;:&quot;WMVWNEEEVC&quot;}" data-component-name="LatexBlockToDOM"></div><p>Solving for the roots and throwing out the solution where u&#8804;0 we get u&#8805;12&#8901;(1+1+8e). Since we want the largest u that still satisfies this condition, we round it down to the nearest integer.</p><p>There are <code>1+2+&#8230;+(u&#8722;1)=(u^2)</code> edges with their first vertex being <code>&lt;u</code>. After that, the edges look like <code>(u,0),(u,1),&#8230;,(u,u&#8722;1),(u+1,0),&#8230;)</code>, so it is sufficient to subtract (u2) from e to obtain the second vertex v.</p><p>Generating the base adjacency list is <code>O(V)</code>, generating the encoded edges is <code>O(E)</code>, and decoding each edge is <code>O(1)</code> so the total time complexity is <code>O(V+E)</code>.</p>]]></content:encoded></item><item><title><![CDATA[The Final Boss Of Hinge]]></title><description><![CDATA[Hates slow walkers]]></description><link>https://www.simonberens.com/p/the-final-boss-of-hinge</link><guid isPermaLink="false">https://www.simonberens.com/p/the-final-boss-of-hinge</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sun, 18 Sep 2022 00:57:21 GMT</pubDate><content:encoded><![CDATA[<ul><li><p>Hates slow walkers</p></li><li><p>Wants to debate</p><ul><li><p>cats vs dogs</p></li><li><p>pineapple on pizza</p></li><li><p>spoon vs fork for eating mac &amp; cheese</p></li></ul></li><li><p>Her mantra is everything happens for a reason</p></li><li><p>The most spontaneous thing she&#8217;s done is skydiving</p></li><li><p>Together we could try free samples at Trader Joe&#8217;s</p></li><li><p>This year she really wants to travel</p></li><li><p>Her unusual skill is that she can say the alphabet backwards</p></li><li><p>She won&#8217;t shut up about anything</p></li><li><p>Her simple pleasures are NPR Tiny Desk Concerts</p></li><li><p>A green flag she looks for is a good flirt to roast ratio</p></li><li><p>She geeks out on marvel</p></li><li><p>Her irrational fear is birds</p></li><li><p>The best way to ask her out is to give her a place and a time</p></li><li><p>The key to her heart is</p><ul><li><p>sushi</p></li><li><p>boba</p></li></ul></li><li><p>Will fall for you if you trip her</p></li><li><p>Is obsessed with pickles</p></li><li><p>Is weirdly attracted to</p><ul><li><p>men</p></li><li><p>Danny Devito</p></li></ul></li></ul><p>For the love of god, these tell me nothing about you.</p>]]></content:encoded></item><item><title><![CDATA[How I Take Book Notes]]></title><description><![CDATA[Lately, I&#8217;ve been reading exclusively physical books.]]></description><link>https://www.simonberens.com/p/how-i-take-book-notes</link><guid isPermaLink="false">https://www.simonberens.com/p/how-i-take-book-notes</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Tue, 06 Sep 2022 18:00:00 GMT</pubDate><content:encoded><![CDATA[<p>Lately, I&#8217;ve been reading exclusively physical books. I treat it almost as a daily meditation. Reading epubs or pdfs online opens me up to too many distractions to get a good reading session in. Reading on a kindle feels inauthentic.&nbsp;</p><p>Unfortunately, confining myself to physical books precludes me from the current era&#8217;s frenzied note taking systems. I can&#8217;t connect to Evernote, Roam, Instapaper, and the works. Readwise lets you highlight passages using your camera, but then I have to have my phone near me, a recipe for distraction.&nbsp;</p><p>Furthermore, adding my own notes to a passage is excruciating without typing on a full size keyboard.&nbsp;</p><p>Recently I&#8217;ve been using a method that solves all of my qualms above&#8212;I put my phone across the room, out of sight and out of mind, turn on the voice recorder, and start reading. When I encounter a passage that I have some thoughts about, I say what page number I&#8217;m on, and then say my notes out loud.&nbsp;</p><p>When I finish reading, Google automatically syncs the recording to the cloud, which lets me sit down at my computer at a later date and write my notes into Roam. Sections of the recording with speech are helpfully highlighted, allowing me to skip over silence. Google also automatically transcribes the recording so I can easily copy paste most of my notes with only light editing.&nbsp;</p><p>One 45 minute recording takes 17 MB, so you could comfortably store 100 of them if you like the sound of your own voice, but I just delete them after transcription.&nbsp;</p><p>Overall, it&#8217;s not a perfect system, but it&#8217;s the best I&#8217;ve found. Some areas which could use improvement:</p><ul><li><p>Be able to take notes on the go, e.g. on the train</p></li><li><p>Better speech recognition&nbsp;</p></li><li><p>Transcript should be automatically placed into Roam</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[12 Rules for Discourse]]></title><description><![CDATA[I argue very well.]]></description><link>https://www.simonberens.com/p/12-rules-for-discourse</link><guid isPermaLink="false">https://www.simonberens.com/p/12-rules-for-discourse</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Sun, 26 Sep 2021 17:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/96807b87-99b3-48b0-b0e5-0bad28c5bd72_707x530.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>I argue very well. Ask any of my remaining friends. I can win an argument on any topic, against any opponent. People know this, and steer clear of me at parties. Often, as a sign of their great respect, they don't even invite me.</p><p>&#8212; Dave Barry</p></blockquote><p>People have thousands of conversations a year, but few spend time to reflect on what they could do better. Productive conversation is a skill like any other, and mastering it is well worth the effort. Here are 12 rules for drastically increasing the quality of your discourse&#8212;some are specifically for arguments, and some are universal.</p><h3>1. Watch Your Tone</h3><p>A calm, respectful tone has been the foundation of every productive conversation I have ever had. It amazes me how even a shred of anger or frustration in someone&#8217;s voice can completely derail any discussion and snowball into a door slam followed (after some time) by a meek apology.&nbsp;</p><p>My mom would ask my sister Anna to stop playing minecraft in a manner that instantly conveyed my mom&#8217;s seething hatred for video games and her disappointment that my sister partook in activities so antithetical to my mom&#8217;s ideals. My mom&#8217;s request would almost make <em>my</em> blood boil just by virtue of being within earshot. She would then come to me in complete confusion asking why Anna would respond by screaming a list of reasons why she wanted to be emancipated from the family. My mom would hail me as a magician when I would ask Anna to do the same things but in a neutral, respectful tone, and Anna would oblige (with some resistance&#8212;my miracles only go so far).</p><p>In Paul Graham&#8217;s essay <a href="http://www.paulgraham.com/disagree.html">How to Disagree</a>, Paul lays out the seven levels of disagreement from worst to best:<br><br></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NUsG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NUsG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 424w, https://substackcdn.com/image/fetch/$s_!NUsG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 848w, https://substackcdn.com/image/fetch/$s_!NUsG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 1272w, https://substackcdn.com/image/fetch/$s_!NUsG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NUsG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png" width="707" height="530" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:530,&quot;width&quot;:707,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;707px-Graham's_Hierarchy_of_Disagreement.svg.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="707px-Graham's_Hierarchy_of_Disagreement.svg.png" title="707px-Graham's_Hierarchy_of_Disagreement.svg.png" srcset="https://substackcdn.com/image/fetch/$s_!NUsG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 424w, https://substackcdn.com/image/fetch/$s_!NUsG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 848w, https://substackcdn.com/image/fetch/$s_!NUsG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 1272w, https://substackcdn.com/image/fetch/$s_!NUsG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51ad84e-b6f2-4135-becf-7f7806c80c95_707x530.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If both parties in a discussion can maintain a neutral tone, the bottom three levels of the pyramid are virtually eliminated. It&#8217;s extremely hard to call someone &#8220;<a href="https://news.ycombinator.com/item?id=28598968">a middle management wet dream for easy abuse labor</a>&#8221; with a straight face while trying to keep emotion out of your voice.</p><p>In written communication, I find excessive use of happy exclamation marks and positive emojis to be an effective tool for making it clear you are trying to keep the conversation positive and in good faith.</p><h3>2. Find the Truth, Not Who&#8217;s Right</h3><p>Use your intuition to generate arguments to support what you believe, but recognize that it is extremely likely that at least <em>one</em> thing you believe is wrong, so be ready to ditch your intuition and accept your interlocutor&#8217;s point.</p><p>If you acknowledge the goal of the conversation is to find the truth, then you are instantly on the same side as your former &#8220;opponent.&#8221; If they are not so receptive to the idea that some things they say may be wrong, acknowledging when they make good points will make them more likely to reciprocate.</p><h3>3. Always Steelman Your Opponent</h3><p>When someone strawmans your position, they intentionally misrepresent your position to be weaker than it actually is either by changing your argument or only addressing the weakest point. For example, Jill says &#8220;I want stronger gun control,&#8221; and Jack strawmans Jill&#8217;s position in response by saying, &#8220;I can&#8217;t believe you don&#8217;t support the Constitution.&#8221;</p><p>Steelmanning is the opposite&#8212;you focus your efforts on addressing their strongest point (and perhaps even change their argument to make it stronger).</p><p>In conversation, time and mental energy are precious. Often, people will make a series of claims or arguments, and you think you can refute all of them. People gravitate towards refuting the weakest argument first&#8212;after all, you should be able to make quick work of such low-hanging fruit, right?</p><p>In reality, even the simplest arguments have hidden complexities that you will miss but your interlocutor will pick up on. They will point out the argument you missed, and you will feel obliged to respond to prove that you aren&#8217;t stupid, and soon you will be &#8220;<a href="https://seths.blog/2005/03/dont_shave_that/">shaving the argumentative yak</a>.&#8221;</p><p>Instead, hyperfocus on their strongest argument. It shows them that you are listening and acting in good faith, which keeps the tone of the conversation friendly, increases the probability that they will see their errors, and keeps the conversation focused on finding the truth, not on debating who is right.</p><h3>4. <a href="https://www.rationality.org/resources/updates/2016/double-crux">Double Crux</a></h3><p>Double cruxing is a rationalist tool for resolving disagreements as fast as possible. The idea is to look for a statement that both parties disagree on such that if both parties were to change their mind on that statement, then both parties would change their mind about the whole topic.</p><p>Let&#8217;s say Jack (an avid gun rights supporter) and Jill (a proponent of gun control) are trying to figure out what to do about the ever-increasing number of gun deaths in the US. Jack thinks that the self defense benefits of guns are sufficiently large that everyone should have the right to buy a gun.&nbsp; But, if the benefit was not as large as he believes it to be, then he would think it would be worth it to restrict access to guns. Jill thinks that the self defense benefit is over-hyped, but if the effect were as significant as suggested by Jack, then Jill would reconsider her views.&nbsp;</p><p>Here, the benefits of guns in self defence is a double crux&#8212;the resolution of the statement will align the beliefs of Jack and Jill. Even finding the double crux without resolving it is a victory, as the double crux means that Jack and Jill agree on the logical structure of the debate.</p><h3>5. Recognize When You Should Write Instead of Talk</h3><p>Double cruxing is great, but it is often too idealistic. There is rarely a single point of disagreement. Usually, a combination of many arguments make a person take one side over another. Fleshing out, let alone settling these arguments in a spoken conversation is often almost impossible. Steelman-ing helps guide the conversation in the right direction, but sometimes there are simply too many moving pieces, and the discussion will go in circles.</p><p>In such cases, it is important to acknowledge that the point of a conversation is not necessarily to even find the truth, but to expose yourself to new ideas or more strongly consider ideas that you had previously discarded. Once you think you have a good picture of the topic space, you should write down your thoughts for people to pick apart. When a debate moves to written form, it is much easier to keep track of all the threads that are spun out.</p><p>Written form does not mean moving from a verbal conversation to text messages. It means writing out all of your thoughts in a coherent document. This allows people to respond to each individual point you make while understanding the broader picture you are trying to convey.</p><blockquote><p>Read to collect the dots, write to connect them <a href="https://t.co/YbgnKKFUNn">pic.twitter.com/YbgnKKFUNn</a></p><p>&#8212; David Perell (@david_perell) <a href="https://twitter.com/david_perell/status/1411871612702543872?ref_src=twsrc%5Etfw">July 5, 2021</a></p></blockquote><h3>6. Leave No Room For Ambiguity</h3><p>A good rule of thumb to keep in mind is that any opportunity to misinterpret what you say will be taken liberally. Not necessarily in a nefarious sense&#8212;it just seems to be a natural thing for our brain to do. In friendly conversations, this manifests as intellectual laziness; I can remember several conversations where my friends or I said &#8220;what do you mean&#8221; despite knowing exactly what the person meant. In heated debates, you often choose an alternative meaning to what you know a person said, which makes the conversation even more confusing. It&#8217;s like your brain has an automatic strawman functionality built in.</p><p>I recently had a conversation during which I tested out this theory&#8212;I said something, and my friend said &#8220;what do you mean?&#8221; I asked him to guess what I meant and with what probability he thought I meant it. He guessed exactly what I meant, and he said he was 99% sure. Even a tiny bit of uncertainty will stunt the discussion; to ensure that a conversation flows well, take a few seconds to word your sentences precisely to remove ambiguity.</p><h3>7. Give Too Many Examples</h3><p>Our brains run on examples. Whether for solving math problems, constructing logical arguments, or writing essays, examples make ideas &#8220;click.&#8221;</p><blockquote><p>Think of the last article that you read that was trying to make an abstract/general point. Do you wish it spent more, or less, time on illustrative examples/stories? (Or did it spend the right amount of time?)</p><p>&#8212; Ben Kuhn (@benskuhn) <a href="https://twitter.com/benskuhn/status/1431671016888193026?ref_src=twsrc%5Etfw">August 28, 2021</a></p></blockquote><p>Examples are the #1 way to avoid ambiguity.</p><h3>8. Listen Between The Lines</h3><p>This is perhaps going to be the vaguest rule here. (So I&#8217;ll try to clarify it with an example!) People in general are very bad at talking. When someone tries to convey a complex thought, there is usually a massive internal model behind it, but they&#8217;re trying to explain it in a few sentences of English. Needless to say, they don&#8217;t decode their idea perfectly. Somewhat ironically, people are very good listeners, so they pick up any imperfection in the improperly decoded idea instantly and tear it to shreds while patting themselves on the back for being so smart.<br></p><p>Recognize that English is an imperfect medium&#8212;especially when one has a few seconds before looking like a fool&#8212;and try to understand what the person really meant.</p><p>Example:</p><p>I&#8217;m discussing with my friends on whether or not hyper-optimizing your life is a good thing. Ivan is strongly opposed to it but it&#8217;s unclear what definition of hyper-optimization he&#8217;s using, so we ask him to clarify:&nbsp;</p><p>&#8220;I think over optimization is when you optimize a single part of your life so much your other parts start to have a negative effect, e.g. you spent 14 hours of your day doing your new startup so you stop eating healthy food or exercising.&#8221;</p><p>Ethan immediately sees the tautology and calls him out for it&#8212;of course under that definition hyper-optimizing is bad. However, I know Ivan is a smart guy and didn&#8217;t mean to try to smuggle his argument into the definition on purpose. I posit that he accidentally gave an example instead of the definition and he agrees, so we give him another shot at the definition.</p><p>Catching these errors and responding to them in a friendly and understanding way is essential to keep the discussion on course.</p><h3>9. Watch Your Tone</h3><p>Seriously, I can&#8217;t stress this enough!</p><h3>10. Don&#8217;t Use Bad Words</h3><p>&#8220;Bad&#8221; words have multiple definitions, but are usually used as synonyms/stand-ins for other words (usually good/bad or right/wrong). Opt for explicitly saying the definition you&#8217;re using instead.</p><p>As a teenager on the Upper West Side of Manhattan and an avid consumer of TikTok, my sister argues a lot with my parents about racism, among other things (like taking out the trash). My parents, as avid consumers of the New Yorker, are eager to test their intellect against a worthy foe. Believe it or not, these arguments are not usually (read: never) productive.&nbsp;</p><p>The main conflict is that my sister has a very progressive definition of racism, while my parents subscribe to the &#8220;unless I hate minorities I&#8217;m not racist&#8221; camp. So they go back and forth about how X is/isn&#8217;t racist, perking the ears of more and more neighbors, and at some point one side becomes too exasperated to argue anymore.&nbsp;</p><p>I see two problems here: (1) racism has multiple definitions so it should be made clear which one is being used (2) racism is actually being used as a synonym for &#8220;bad&#8221; so both parties are unwilling to accept the other&#8217;s definition even when made explicit.&nbsp;</p><p>The solution is simple: find &amp; replace the word racist/racism with its definition throughout the conversation. In addition to clearing up a lot of ambiguity, this has the added benefit of focusing the conversation on what it&#8217;s really about&#8212;I have a feeling they weren&#8217;t playing &#8220;label every event in the past century as racist or not,&#8221; but wanted to talk about what policies would be most effective to combat racial injustice.</p><p>Similarly, when Fauci was splitting hairs over the definition of gain of function research, it would have been more productive to just replace &#8220;gain of function research&#8221; with the actual research. It would have avoided the whole debate and allowed for the public to decide for themselves whether the research was acceptable or not.</p><h3>11. Convey Uncertainty Through Stories</h3><p>People really like to fake it &#8216;till they make it in debates on things they know very little about. If you communicate your expertise in the beginning of the conversation, you can much better assess what your <a href="https://en.wikipedia.org/wiki/Prior_probability">priors</a> should be (who you should assume is initially correct).</p><p>For example, when debating veganism and one person says, &#8220;I spent the last few months extensively reading the research on animal consciousness, environmental effects of animal agriculture, and the effects of various diets on heart disease&#8221; and the other says, &#8220;I can regurgitate some titles of articles on veganism I saw while scrolling through Facebook,&#8221; you know who you should initially trust.</p><p>The more honest and explicit you are, the better the results. If you mention every study you read, you are much less likely to give a biased overview of your takeaways. Instead you will give a complete picture, for example, that you saw three meta-analyses that showed increasing dietary cholesterol increased serum cholesterol and one that showed no correlation, but one of the three had some flaws in the methods they used in measuring serum cholesterol.</p><h3>12. See How Much Your Partner Cares</h3><p>Arguments about things that need to actually be done (e.g. anything from taking out the trash to what tech stack a company should implement) can get pretty gnarly for seemingly no reason. Often, the feeling that you have to actually do something amplifies emotions, which starts a negative conversational quality feedback loop.</p><p>In these situations, it&#8217;s important to suss out how much your partner cares about what you&#8217;re asking them to do. However, this is a last resort. In the case of you asking someone to do something, make sure you have legitimate reason (and have expressed that reason) and aren&#8217;t coming from laziness, otherwise the requestee will immediately feel exploited. For example, if you haven&#8217;t done the dishes in a while, your partner feels strongly about you pulling your weight, and you&#8217;re indifferent to cleaning, humor them and do the dishes&#8212;it will make them feel a lot better at little cost to you.</p><p>In the case of deciding what action to take, make sure you do your due diligence exploring all options fairly. If no clear consensus is met, go with whoever feels strongest about their action. Either they are more passionate about their choice so they will see it through, or they have more skin in the game so their choice strongly affects them but not others. The founding brothers of Stripe <a href="https://youtu.be/NprBQi0cSHU?t=358">used</a> this heuristic to make critical decisions about the future of Stripe.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Dear Mom, I’m Dropping Out]]></title><description><![CDATA[Dear Mom,]]></description><link>https://www.simonberens.com/p/dear-mom-im-dropping-out</link><guid isPermaLink="false">https://www.simonberens.com/p/dear-mom-im-dropping-out</guid><dc:creator><![CDATA[Simon]]></dc:creator><pubDate>Wed, 15 Sep 2021 22:56:00 GMT</pubDate><content:encoded><![CDATA[<p>Dear Mom,</p><p>I&#8217;m dropping out. I know this is a shock&#8212;just last semester I was planning on completing four years of school despite being able to graduate in two and a half. However, I hope you can set aside the rising feeling in your chest of resistance against &#8220;the plan&#8221; and hear me out.&nbsp;</p><p>What changed? Two years ago and a 10 minute walk away from where I am now, I had just moved into La Citadelle, the hotel-turned-McGill-dorm I was assigned. To say I was terrified would be an understatement; luckily the draft from the silent central AC wicked away my sweat. Having finished my last year in high school on a high note (where I felt for the first time I was getting the &#8220;high school experience&#8221;), I was ready to tackle college but unsure of what to expect aside from crushing beer cans against my head.&nbsp;</p><p>I never stopped to think about why I was actually going to college, but surely it couldn&#8217;t have been that bad of a decision; 99% of my class was matriculating with me. Now I know we were all going for roughly the same three reasons: the education, the social environment, and the credentials that would secure us good careers.&nbsp;</p><p>My first year, I tried to strike a balance of education and socialization, but being the type A personality that I am, I picked work over play for most decisions that came my way. Covid only exacerbated this; my second year I took the quarantines and closures as an excellent opportunity to overwork myself by taking seven classes a semester, justified by the productivity boost my sick new dual monitor setup would give me.</p><p>As I submitted my last assignment for the semester&#8212;a 20 page technical paper on approximation algorithms that I crammed in 3 days during finals week&#8212;the wave of relief solidified what I already knew: classes gave me no free time to pursue my passions, think, or breathe. And so I concocted my plan for the next two years: use the extra credits I gained from the past year to coast through the next two, take the least amount of classes possible to focus more on the college socialization experience and do what <em>I</em> wanted to do.</p><p>Then I went to California. My friends Cole and Jerry decided on a whim that they should fill a six person house in Palo Alto with 12 friends of friends of friends. Skeptical of their organizational skills, I decided to hedge my bets by staying in New York for a bit while the California house figured out how to avoid a Lord of the Flies situation.&nbsp;</p><p>About a month in, it was clear the arrangement was livable, and some straw-that-broke-the-camel&#8217;s-back argument with my parents caused me to book a flight to SFO the same weekend. I overpacked, got charged $100 for a bag that was 1lb overweight, took a 20 minute $126 taxi ride (the taxi was right there and I was too scared to order an uber for fear of running around the airport, unable to find the pickup zone&#8212;sue me), and unloaded my bags in front of five people sitting in plastic chairs around a beer pong quality table, hacking away on their thinkpads running i3 with rounded corners in the open garage of 924 Colorado Ave.&nbsp;</p><p>I made myself at home in the room above said garage (it would be a few days before I realized that the shrieking sound that would wake me up in the middle of the night was people opening the garage door to take out the laundry that they inevitably forgot in the dryer) and introduced myself to my fellow Gamma School-ers. Gamma School was the affectionate name we had given our co-living arrangement&#8212;some combination of the Lambda School coding bootcamp and a similar group home run the previous year called School 2.0.</p><p>The next two months would be best described as a speedrun of the college social experience: networking, parties, regretting not having a fake ID to get into better parties, week-long hackathons, downloading twitter (c&#8217;mon, I was in SF), but most importantly meeting like minded people. People who wanted to make a change in the world, and crucially <em>were actually working towards that goal</em> by building startups to solve problems they saw.&nbsp;</p><p>I felt at home with these people; I enjoyed learning about their unique paths through life and they enjoyed the fresh meat to which they could shill their worldviews: crypto will replace fiat, the education system will be overthrown, Huel will eventually substitute all food (okay maybe that one was me shilling).</p><p>With my socialization meter full, the seeds of college skepticism were sown. If I could be immersed in this community while building out solutions to real problems, learning the ins and outs of running a startup and using industry standard tools, what would be the use of credentials issued by a university thousands of miles away that still taught PHP for web development? Would success in the far more complex task of building startups from the ground up not be credential enough?</p><p>To elaborate on the nitty gritty reasoning, I feel that all a degree will give me is the ability to select &#8220;bachelors&#8221; for &#8220;highest level of education completed&#8221; instead of &#8220;high school&#8221; on an online job application, and if I&#8217;m applying through an online form I feel like I&#8217;m doing something wrong anyway. The resume benefits are still there&#8212;I can still write &#8220;Education: McGill University, Honours Computer Science, 2019-2021, GPA: 3.95, Courses: Distributed Systems&#8230;&#8221; Furthermore I&#8217;ve already secured a full-time return offer from Facebook, and the significance of education after your first full time role significantly decreases. With education, socialization, and credentials achieved outside of college, I struggle to see a reason to remain.&nbsp;</p><p>Of course I understand that dropping out is nonetheless a risk, but <a href="https://louiebacaj.com/equity-and-risk/">if you want outsized returns, you will have to take outsized risks</a>. To properly assess the risk I should make my plans for the foreseeable future explicit. I will put my 12 page google doc of ideas to use&#8212;my main objective is to work through as many as possible until I hit product-market fit, or, in layman&#8217;s terms, one of them takes off. You say that credentials hedge against this risky path, and I agree. However, this hedge isn&#8217;t free; finishing college will come at the cost of tens of thousands of dollars. With a Facebook offer in hand, is passing some automatic screening really worth that money?</p><p>I also do wish to continue my education, only with classes that are actually relevant and applicable. These include <a href="https://writeofpassage.school/">Write of Passage</a>, <a href="https://teachyourselfcrypto.com/">Teach Yourself Crypto</a>, <a href="https://learnui.design/">Learn UI/UX Design</a>, and <a href="https://www.educative.io/path/scalability-system-design">Scalability &amp; Systems Design</a>. This will of course be on top of the real world experience of building startups from scratch.</p><p>I realize that I&#8217;m in the final stretch of college now, but I just can&#8217;t bear to waste another second bogged down by things my brain screams are irrelevant when I think (dare I say know) I can replicate everything college can give and hopefully more.</p><p>Sincerely,</p><p>Simon</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.simonberens.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading my blog! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>Disclaimer:&nbsp;</em></p><p><em>This essay isn&#8217;t intended to be the definitive argument to convince my parents as to why I should drop out; rather, it&#8217;s meant to start a dialogue where together we figure out what&#8217;s best for me and reach a conclusion where all parties are happy.</em></p><p><em>This essay oversimplifies certain aspects of the process; in reality there are a lot of alternative paths to purely dropping out (e.g. gap years, leave of absences, lightened course load) and anyone thinking of dropping out should consider all of their options carefully.&nbsp;</em></p><p><em>The decision to drop out is also highly dependent on circumstance. For example, if I didn&#8217;t have the return offer from Facebook I would be much more likely to finish school.</em></p><p><em>Finally, I don&#8217;t want to knock on college too much. At the very least, I wouldn&#8217;t be here if it weren&#8217;t for the people I met and the opportunities I was exposed to. However, I think that there&#8217;s no reason college should incentivize you to stay for longer than necessary (via a degree) once you&#8217;re ready to leave.&nbsp;</em></p><p></p>]]></content:encoded></item></channel></rss>