<?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[The Rabbit Hole]]></title><description><![CDATA[On Youtube, I am the channel @LearnFastMakeThings. 

This is where I share more about the topics in my videos. Subscribe for a much deeper dive into things I learned while making the things I made. 

Be warned, you might end up in a Rabbit Hole!]]></description><link>https://learnfastmakethings.com</link><image><url>https://substackcdn.com/image/fetch/$s_!xONj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ec028b7-b7a4-4285-a678-97e75cf323fd_256x256.png</url><title>The Rabbit Hole</title><link>https://learnfastmakethings.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 11 Apr 2026 20:16:08 GMT</lastBuildDate><atom:link href="https://learnfastmakethings.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ask Cloud Architech LLC]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[learnfast@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[learnfast@substack.com]]></itunes:email><itunes:name><![CDATA[Gary Morse]]></itunes:name></itunes:owner><itunes:author><![CDATA[Gary Morse]]></itunes:author><googleplay:owner><![CDATA[learnfast@substack.com]]></googleplay:owner><googleplay:email><![CDATA[learnfast@substack.com]]></googleplay:email><googleplay:author><![CDATA[Gary Morse]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[I Like Big Prints And I Cannot Lie...]]></title><description><![CDATA[also, I'd like them to print faster. So let's figure that out, OK?]]></description><link>https://learnfastmakethings.com/p/i-like-big-prints-and-i-cannot-lie</link><guid isPermaLink="false">https://learnfastmakethings.com/p/i-like-big-prints-and-i-cannot-lie</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sun, 23 Jun 2024 04:04:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/993b7c7f-706c-4027-ac20-9fec8a372f9b_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey everyone! If you&#8217;re into 3D printing, you know the struggle of wanting to speed up those print times without messing up the quality. Recently, I decided to experiment with a 0.6mm nozzle on my Bamboo Lab printer to see if I could get faster prints. I ended up designing a custom box for my camera gear, and I&#8217;m excited to share the whole process with you&#8212;from design to final assembly.</p><div id="youtube2-atf2hpp8ayk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;atf2hpp8ayk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/atf2hpp8ayk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Designing to Fit My Stuff&#8230; and My Printer</h2><p>First off, the design. I needed a box that would organize all my camera equipment and fit perfectly on my printer&#8217;s print bed. My Bamboo Lab printer has a specific print area, so I had to make sure the dimensions of the box would fit within those limits. The box needed to include a large compartment for the equipment, a drawer for smaller items, and a removable lid with hinge clips to keep everything secure.</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-R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lM-R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 424w, https://substackcdn.com/image/fetch/$s_!lM-R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 848w, https://substackcdn.com/image/fetch/$s_!lM-R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 1272w, https://substackcdn.com/image/fetch/$s_!lM-R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lM-R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png" width="828" height="461" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b782246-2d2d-4050-bbf8-149930920498_828x461.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:461,&quot;width&quot;:828,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183596,&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;: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_!lM-R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 424w, https://substackcdn.com/image/fetch/$s_!lM-R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 848w, https://substackcdn.com/image/fetch/$s_!lM-R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.png 1272w, https://substackcdn.com/image/fetch/$s_!lM-R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b782246-2d2d-4050-bbf8-149930920498_828x461.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><h2>Mocking Up with a Different Project</h2><p>Before jumping into the main project, I ran a few tests with smaller prints. I had previously printed another small rectangle for something completely different, but it was the size of the print bed. This print turned out to be the perfect mockup to help me plan the placement of my camera equipment. I arranged my gear in the mockup to visualize the layout and make sure everything would fit as intended.</p><p>Here&#8217;s a picture of that mockup:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l3DV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l3DV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 424w, https://substackcdn.com/image/fetch/$s_!l3DV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 848w, https://substackcdn.com/image/fetch/$s_!l3DV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 1272w, https://substackcdn.com/image/fetch/$s_!l3DV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l3DV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png" width="708" height="466" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:466,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:486884,&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_!l3DV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 424w, https://substackcdn.com/image/fetch/$s_!l3DV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 848w, https://substackcdn.com/image/fetch/$s_!l3DV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.png 1272w, https://substackcdn.com/image/fetch/$s_!l3DV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02f1220-0ee2-4bf5-8b2f-0c4caffaa1db_708x466.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></p><p>In the image, you can see a blue 3D-printed box holding various camera equipment. This includes a tripod, a camera, a charger, and some cables. The box is designed to fit all these items snugly and keep them organized, making it a great prototype for planning the final design. The mockup helped me ensure that the dimensions were right and that the final product would meet my needs.</p><h2>Making the Clips</h2><p>The hinge clips were a crucial part of the design. They needed to snap securely to hold the lid and drawer in place. Using the 0.6mm nozzle, I printed the clips and was really happy with the results. The clips maintained their integrity and worked perfectly, proving that the larger nozzle could handle detailed parts with the right settings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3pHk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3pHk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 424w, https://substackcdn.com/image/fetch/$s_!3pHk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 848w, https://substackcdn.com/image/fetch/$s_!3pHk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 1272w, https://substackcdn.com/image/fetch/$s_!3pHk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3pHk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png" width="827" height="463" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:463,&quot;width&quot;:827,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:658584,&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_!3pHk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 424w, https://substackcdn.com/image/fetch/$s_!3pHk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 848w, https://substackcdn.com/image/fetch/$s_!3pHk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.png 1272w, https://substackcdn.com/image/fetch/$s_!3pHk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba3dc02b-8afe-423b-91ac-b764c3d10eea_827x463.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></p><h2>The 0.6mm Nozzle: Worth It?</h2><p>One big question was whether the 0.6mm nozzle was worth it. The print times were definitely faster, but not by the 50% I had hoped for. The reality is more complex&#8212;cooling time, layer adhesion, and printer mechanics all affect actual print speed. Despite not achieving a 50% increase, the nozzle offered significant time savings without compromising print quality. For most projects, the slight trade-off in resolution was barely noticeable, making the nozzle a solid upgrade for faster printing.</p><h2>I Really Don&#8217;t Understand Why It&#8217;s Not 50% Faster</h2><p>So, why isn&#8217;t it 50% faster if the nozzle is 50% larger? It turns out that factors like cooling time, layer adhesion, and the mechanics of the printer itself play a role. Plus, maintaining print quality means you can&#8217;t just crank up the speed without running into issues like warping or stringing. The 0.6mm nozzle is definitely faster, but the speed gains are more modest than you might expect.</p><h2>Choosing Foam</h2><p>To keep my camera equipment safe, I needed the right foam for the box&#8217;s interior. I ended up using high-density packing foam, which worked pretty well for holding everything in place. However, cutting this foam turned out to be messier than I anticipated. Bits of foam ended up everywhere, and getting clean edges was a bit of a challenge.</p><p>If you're planning to create a similar setup, you might want to explore other materials that could be easier to work with and produce cleaner results. Here are a few recommendations:</p><ol><li><p><strong>EVA Foam Sheets</strong>: EVA foam is known for its smooth cutting properties and clean edges. It's often used in cosplay and crafting projects, making it a versatile option for custom inserts.</p></li><li><p><strong>Polyethylene Foam</strong>: This type of foam is denser and more durable than standard packing foam. It's often used in protective packaging and can be cut cleanly with sharp blades.</p></li><li><p><strong>Foam Core Board</strong>: While not as flexible as other foams, foam core board offers sturdy support and can be easily cut to shape. It's ideal for creating rigid compartments.</p></li><li><p><strong>Kaizen Foam</strong>: Specifically designed for tool organization, Kaizen foam consists of layered foam that you can peel away to create custom shapes. It&#8217;s a bit more expensive but offers excellent precision and a professional look.</p></li></ol><p>For this project, while the <a href="https://geni.us/u8kBGR">foam I used</a> did the job, exploring these other materials might save you some cleanup time and provide a neater finish.</p><h2>Cutting Foam</h2><p>Cutting the foam to fit the custom design was tricky. I read about using an electric knife, but it seemed too bulky for precision cuts. Then I found a super helpful video that suggested using a hacksaw blade, which turned out to be a game-changer. You can check out the video <a href="https://youtu.be/NvcjcemrYLI">here</a>. The hacksaw blade gave me clean cuts, and the key was to keep the blade moving steadily to avoid tearing. I started by cutting the foam into strips to fit inside the box, then used the hacksaw blade for straight cuts and a small saw for detailed work. This involved tracing the equipment outlines, making initial cuts, and adjusting to ensure a snug fit. Here&#8217;s the <a href="https://www.lowes.com/pd/Kobalt-7-5-in-Cross-cutting-Keyhole-Saw/5013540247">saw I used</a> and a <a href="https://geni.us/ODnNUF">similar product on Amazon</a>.</p><h2>Last-Minute Design Changes</h2><p>Like any project, there were some last-minute design changes. I hadn&#8217;t planned to include a charging solution in the box, but it quickly became apparent that a built-in charging system would be super handy. I added a USB charging brick with multiple ports and ran a power cord through the foam and out the back of the box. This addition turned the box into a multifunctional storage and charging station.</p><h2>Conclusion</h2><p>Switching to a 0.6mm nozzle on my Bamboo Lab printer was a fun experiment that taught me a lot about balancing print speed and quality. While the speed increase wasn&#8217;t as dramatic as I&#8217;d hoped, the time savings were still substantial, and the print quality remained high. The custom camera equipment box turned out great, serving as both a storage solution and a charging station.</p><p>If you&#8217;re considering a nozzle upgrade, I&#8217;d recommend giving the 0.6mm a try, especially if you want to speed up your prints without sacrificing too much detail. And for those tackling similar projects, take the time to choose the right materials and tools&#8212;it makes all the difference in the final product. Here are the <a href="https://geni.us/9pF51hh">bolts</a> and <a href="https://geni.us/M6XG">nuts</a> I used for assembling the clips.</p><p>For anyone interested in making this camera equipment box, you can find the STLs on Makerworld <a href="https://makerworld.com/en/models/503699#profileId-419193">here</a>.</p><p>Thanks for following along, and I hope this post inspires you to experiment with your 3D printing setup. Happy printing!</p>]]></content:encoded></item><item><title><![CDATA[This is SO MUCH more than just a lamp to me]]></title><description><![CDATA[A memory that won't just sit on a shelf and collect dust]]></description><link>https://learnfastmakethings.com/p/this-is-so-much-more-than-just-a</link><guid isPermaLink="false">https://learnfastmakethings.com/p/this-is-so-much-more-than-just-a</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sun, 02 Jun 2024 21:15:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/df6b6749-2b5d-4e16-bda7-bebf07eb80e5_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey, so this one is a little more personal. I&#8217;m going to talk about a lamp that I made and how I made it, but for me, this video and the lamp are a bit of closure. If you don&#8217;t care about the story, just skip down, but I need to write this. </p><div id="youtube2-_FPIJURlMGw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_FPIJURlMGw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_FPIJURlMGw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>My friend Brad passed away in 2022 (in the video I said &#8220;last year&#8221;, and this is the correction). I&#8217;ve known Brad since I think 5th grade if my memory serves. That&#8217;s a long time no matter how you measure it. The days after that moment in 2022 all just kinda happened really fast. It&#8217;s not like you really have a lot of time to reflect when everything is happening. </p><p>One thing that happens when someone close to you dies is something I don&#8217;t think a lot of people talk about. If this hasn&#8217;t happened to you yet, it will at some point. What I&#8217;m talking about is the part that extended family and distant friends don&#8217;t see. I&#8217;m talking about the cleanup. </p><p>Someone has to take care of what a person leaves behind. Package up the worldly possessions, sell the house, claim the house plants. It SUCKS. And in this case, I was one of the people involved in this experience with Brad&#8217;s stuff. </p><p>Again, at the time my brain wasn&#8217;t exactly at its highest capacity. Brad&#8217;s brother said, &#8220;if there&#8217;s anything you want, please take it&#8221;. I really don&#8217;t know why, but I was drawn to Brad&#8217;s computer. If you watched the video above, it&#8217;s not like I actually had any use for this computer. I gave it to him (maybe I sold it to him, I don&#8217;t remember) a few years earlier and for some reason I just grabbed it. I may have initially thought I was just going to delete it so some stranger didn&#8217;t end up with the drive&#8217;s contents, but it sat in my closet for months after those few days. </p><p>The ring, on the other hand, was not my idea. My friend Neal (we were like a band of brothers) called me and said he was thinking about getting a ring made from a coin that was in Brad&#8217;s coin collection. I thought that was a cool idea so we both picked out a coin and individually sent our coins away to Silver State Foundry to get them turned into rings. </p><p>Anyways, if you watched the video you already know this part of the story. </p><p>So&#8230; for the few who will end up reading this, it&#8217;s important to understand that I didn&#8217;t set out to make a lamp and decided to use these parts. I set out trying to make a memory using these parts and ended up with a lamp. I know I will use this every day. I know it will remain a permanent part of my office. I know it won&#8217;t just end up like every other &#8220;memory&#8221; that finally goes in a box of things you can&#8217;t throw away because you would feel terrible doing it. </p><p>OK, now I think I can talk about actually making this lamp. </p><h2>Mac Mini Lamp Shade?</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fvad!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fvad!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fvad!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fvad!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fvad!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fvad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4804544,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!Fvad!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fvad!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fvad!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fvad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02478fd1-106b-468b-874d-aee28e1c6f92_6000x3376.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></p><p>What does someone do with an old Mac Mini that isn&#8217;t good for computing anymore? Well, this seemed like a pretty good use. I just disassembled this thing by undoing all the screws and eventually pulling apart the pieces that were glued in place. It&#8217;s amazing how many computers are glued together. This is no different. </p><p>One thing you might not notice in the video is that the little hole for the power light still shines when you turn on the lamp. I hoped that would be the case when I was done, but had no idea if it was more complex than just a pinhole. luckily that&#8217;s all it was. </p><p>The most challenging part of this lampshade was making it so I could attach it to the rest of the lamp. I found a 3D model of a Mac mini and that helped to make a press-fit piece that fit into the back. </p><p>I&#8217;m going to do something different for this article and project. instead of putting all the artifacts in different places, I&#8217;m going to package it up and put it on Git Hub. </p><p><a href="https://github.com/askcloudarchitech/mac-mini-lamp">Here&#8217;s the link that contains the 3D models, the STLs, the electrical design diagram, etc.</a></p><h2>3D Printed parts</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RX4l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RX4l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 424w, https://substackcdn.com/image/fetch/$s_!RX4l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 848w, https://substackcdn.com/image/fetch/$s_!RX4l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 1272w, https://substackcdn.com/image/fetch/$s_!RX4l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RX4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png" width="1148" height="993" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:993,&quot;width&quot;:1148,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131303,&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_!RX4l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 424w, https://substackcdn.com/image/fetch/$s_!RX4l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 848w, https://substackcdn.com/image/fetch/$s_!RX4l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.png 1272w, https://substackcdn.com/image/fetch/$s_!RX4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dfda204-7f8f-41b8-9d10-5728ad65214b_1148x993.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>Again, the link is above for all the files. All of these parts were a total of 9 print beds and took quite a bit of time to print. Most of the parts are printed with basic black PLA, except for the grommets, the feet, and the light diffuser. The grommets and feet were printed in TPU and the diffuser was printed in &#8220;Clear&#8221; PETG. I put clear in quotes because it&#8217;s nearly impossible to print truly clear. This was really thin and provided just enough diffusion to make it so you couldn&#8217;t see the individual LED strips inside the Mac mini. </p><p>Links to filament used</p><ul><li><p><a href="https://us.store.bambulab.com/products/pla-basic-filament?variant=41078274654344">Bambu Lab Basic PLA</a></p></li><li><p><a href="https://us.store.bambulab.com/products/petg-translucent?variant=42235108098184">Bambu Lab translucent PETG</a></p></li><li><p><a href="https://geni.us/Uj45">Overture high-speed black TPU</a></p></li></ul><h2>Joining Wood and Plastic is Hard</h2><p>If I could do this whole thing over again, one thing I would change is the order in which I created these pieces. I&#8217;m sure you saw in the video that I created all the plastic parts and then attempted to make the wood exactly right to fit. One thing that didn&#8217;t make the cut of the video (unless you can find the editing mistake I made) is that I essentially had to cut the joints and the rounded edges of the wood pieces twice. </p><p>The first time, I rounded the edges and attempted to cut the joints. unfortunately nothing fit. I adjusted a small amount and did the whole thing again. </p><p>So what I would recommend is to make the wood pieces first. After getting them close to the same, measure them and print the plastic pieces to the correct dimensions to fit the wood. This would have made the process much easier and also less time-consuming. </p><p>Another interesting bit that didn&#8217;t make the cut was that this is not really one piece of Walnut. All I had left was two pieces of wood and they were both a little too thin. I glued them together to make one larger piece. What amazing to me is that I have stared extensively at the final product and you can&#8217;t see where the two pieces come together. It&#8217;s pretty amazing how you can take two random pieces of wood, glue them together and they essentially become one. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2u5V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2u5V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 424w, https://substackcdn.com/image/fetch/$s_!2u5V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 848w, https://substackcdn.com/image/fetch/$s_!2u5V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 1272w, https://substackcdn.com/image/fetch/$s_!2u5V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2u5V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png" width="653" height="808" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:808,&quot;width&quot;:653,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:706089,&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_!2u5V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 424w, https://substackcdn.com/image/fetch/$s_!2u5V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 848w, https://substackcdn.com/image/fetch/$s_!2u5V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.png 1272w, https://substackcdn.com/image/fetch/$s_!2u5V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b016e2-77e3-4493-88b0-7c1b794c4edc_653x808.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><h2>Making this into a smart device</h2><p>I had to cut most of this part out of the video since nobody actually likes to watch coding and configuring of stuff unless that is specifically what they are trying to learn at the moment. </p><p>The electronics of this were a bit of a hodge podge of leftovers, but it was what I had on hand and it worked out fine. As I mentioned in the video, I used a MOSFET to control the power to the lamp, but a relay to control the power to the magnetic magnifying glass. I could have used two relays or two MOSFETs to make it consistent, but these were the parts I had. </p><p>In the GitHub link above, I&#8217;ve included the Fritzing file that has the basic design of the electronics. Here&#8217;s a picture of the virtual breadboard. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5JoM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5JoM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 424w, https://substackcdn.com/image/fetch/$s_!5JoM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 848w, https://substackcdn.com/image/fetch/$s_!5JoM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 1272w, https://substackcdn.com/image/fetch/$s_!5JoM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5JoM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png" width="945" height="714" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8f97141-8889-4203-965b-ed316b17c0e3_945x714.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:714,&quot;width&quot;:945,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226299,&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_!5JoM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 424w, https://substackcdn.com/image/fetch/$s_!5JoM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 848w, https://substackcdn.com/image/fetch/$s_!5JoM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.png 1272w, https://substackcdn.com/image/fetch/$s_!5JoM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8f97141-8889-4203-965b-ed316b17c0e3_945x714.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 always looks like chaos on the real breadboard, but it&#8217;s really not that bad. In reality, there are two pins on the ESP32 in use. One is to control the relay and the second is to control PWM to the MOSFET. The other two wires are just power and ground for the ESP32. From there the rest of the wires go to the lights and outlets where I attached JST connectors instead of hard wiring everything. This just makes it easier to assemble (and disassemble if necessary). </p><p>After all of that was together, I went to the computer and created the config for ESPHome, and uploaded it to the ESP32. The config I used is also in the GitHub repo. </p><p>One thing I learned recently (but probably should have realized a while ago) is that you can use ESPHome without Home Assistant.  This setup takes advantage of that. If there was no internet or my Home Assistant install was offline, the buttons on the lamp would still work to power the lights on and off. </p><p>Electronics parts list:</p><ul><li><p><a href="https://geni.us/UZnwe">MOSFET</a></p></li><li><p><a href="https://geni.us/LrKFY">Relay</a></p></li><li><p><a href="https://geni.us/hfYkZe">LED strip</a></p></li><li><p><a href="https://geni.us/kV5vNFW">Buttons</a></p></li><li><p><a href="https://geni.us/phSxix">ESP32</a></p></li><li><p><a href="https://geni.us/QZmTa">Perma-Proto Board</a></p></li><li><p><a href="https://geni.us/rBbyli">JST Connectors</a></p></li><li><p>Wire - sorry, no link. I just used a random spool (also Brad&#8217;s)</p></li></ul><p>If you got this far, thank you! Please leave a comment if you have one. I know that the videos are short, and these writeups are long. I wonder if I could make the videos longer, but the youtube algo is brutal. </p>]]></content:encoded></item><item><title><![CDATA[Why Does EVERYTHING Come With an App...?]]></title><description><![CDATA[Cameras, Forced Cloud Services, and too many apps.]]></description><link>https://learnfastmakethings.com/p/why-does-everything-come-with-an</link><guid isPermaLink="false">https://learnfastmakethings.com/p/why-does-everything-come-with-an</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sun, 21 Apr 2024 04:10:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/-VgAE_ng0Ac" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My obsession with tech in my barn is a little weird. I know that. So, for just a few minutes here please set aside the fact that I set up wifi, security cameras, a home server running scrypted, and a home kit integration just so I could check on my horses at night. Well, actually don't. These are truly my wife&#8217;s horses and I love my wife. She wants wifi in the barn with cameras, she gets wifi in the barn with cameras. That&#8217;s just how it is. </p><p>Let&#8217;s get started as usual with the video I will be referring to during this brain dump.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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 id="youtube2--VgAE_ng0Ac" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-VgAE_ng0Ac&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/-VgAE_ng0Ac?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Also, it might help if you watched this other video that outlines how exactly I get the wifi to my barn. Just for the sake of completeness</p><div id="youtube2-aSL-z6iR7m4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aSL-z6iR7m4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/aSL-z6iR7m4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Ok, done with that? Now let&#8217;s talk about some stuff. Mainly apps and cameras and why subscription services are terrible (for some people, but not everyone)</p><div><hr></div><h1>Why is there an app for EVERYTHING?</h1><p>One of the things that really bothered me about this <a href="https://geni.us/WM5T6">Tapo camera</a> is that even though it offers a widely accepted standard for local access to the camera feed (ONVIF), it still required that I initially set up the camera on the Tapo app. For some people that have strong feelings about their data privacy, this might be an immediate deal breaker. For me, it was something I was willing to deal with to get the thing working the way I wanted. </p><p>While, on the one hand, I really like the idea of keeping a ton of my data (or video feeds) out of the hands of cloud services that might be hosted under somebody&#8217;s desk somewhere, it really wasn&#8217;t the primary reason I wanted a local feed. What I was really looking for was an affordable way to get my security camera into the Apple Home app with all my other smart home stuff. For me, having less complication jumping between apps was the highest priority item on my checklist. So, even though I had to use the app for initial setup, I was, eventually, able to get this camera into the Apple Home app and make it so there was one less app I had to use in my normal daily flow. </p><p>I also recognize that I am not like the majority of people on the planet. It&#8217;s very likely (since you are here reading this) that you aren&#8217;t either. It&#8217;s really easy to take my own point of view and assume everyone is like me, but that&#8217;s just not the case.  I think if you take a minute and put yourself in the shoes of your average consumer, it&#8217;s really easy to see why there is an app for everything.</p><p>If you are a company like TPlink and you have a line of security cameras, you need some way for people to be able to easily use those cameras without the need for an inch thick instruction manual or having to go watch a youtube video. The  easiest way to accomplish that is to make an app. The app makes installation easy. It also creates a simple place to go and immediately use the product you purchased. </p><p>It also provides a way to generate additional revenue by offering more cloud-based services related to the camera, but that&#8217;s a different topic. </p><div><hr></div><h1>Security camera research</h1><p>I looked at a bunch of different cameras before landing on this one. Initially, I thought it would be fun to DIY the whole thing and &#8220;build&#8221; a camera using a Raspberry Pi or an ESP32, but that honestly was pretty terrible. </p><p>I did pick up a couple of ESP32 Cams from Micro Center. I wired them up and got them working. I even got them working with scrypted and in Apple Home Kit. It DOES work, but barely. The main issue was that the video quality was absolutely terrible and the connection timed out more often than not. </p><p>From that point, I thought about getting a Raspberry PI and a higher-quality camera module. I think this would have worked way better. Raspberry Pi has a ton more compute power and many camera modules are compatible. </p><p>But&#8230; it ended up that a Raspberry Pi + a camera module + an enclosure was way more than $30 and this camera was $30 so it just didn&#8217;t make any sense to continue along that path. </p><p>I mentioned it in the video, but I found this camera on the <a href="https://docs.scrypted.app/buyers-guide/cameras.html">Scrypted website</a> and just went with it. </p><p>I think I will go this route, however, for putting a new camera inside my 3D printer. In the case of the printer camera, it needs to be small and have a custom enclosure anyway so it makes sense. I&#8217;ll make a video about that when I eventually do it. </p><div><hr></div><h1>Scrypted setup and some weirdness</h1><p>Some of my camera setup in Scrypted didn&#8217;t make the video mainly because I had to try a few different things before I finally figured it out. So, here&#8217;s the details that didn&#8217;t make the cut. </p><ol><li><p>The Scrypted auto-detect for the ONVIF camera almost worked. - This camera operates on port 2020. If the Auto-detect would have allowed me to provide a port number, it would have worked. Since it didn&#8217;t, I had to add the camera manually. It wasn&#8217;t a big deal since it was just a matter of adding the IP address of the camera, but it was sooo close.</p></li><li><p>Homekit setup required some fiddling. - After adding the camera to Scrypted, I had to go to the integrations tab and select HomeKit. This would have been a simple change except I had to restart the homekit service in scrypted to get it to show up correctly. Your mileage may vary, but that was my experience. </p></li><li><p>Homekit video was spotty for the first hour. I don&#8217;t really know why. - Immediately after setting up the camera with Homekit, it would time out periodically. After about an hour is started working fine and has worked flawlessly since then. Im not sure if this is some apple weirdness or what. </p></li><li><p>Scrypted RTP Sender settings. - I ended up enabling the &#8220;experimental&#8221; RTP Sender settings within Scrypted. I don&#8217;t know if it has an impact, but I haven&#8217;t had any issues</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eqoE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eqoE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 424w, https://substackcdn.com/image/fetch/$s_!eqoE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 848w, https://substackcdn.com/image/fetch/$s_!eqoE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 1272w, https://substackcdn.com/image/fetch/$s_!eqoE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eqoE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png" width="735" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:735,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45617,&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_!eqoE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 424w, https://substackcdn.com/image/fetch/$s_!eqoE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 848w, https://substackcdn.com/image/fetch/$s_!eqoE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.png 1272w, https://substackcdn.com/image/fetch/$s_!eqoE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ad21395-4f04-4a7f-b061-08738777bf04_735x519.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></li></ol><div><hr></div><h1>Two YouTube Channels - The Next video in the saga</h1><p>This video is one that I consider a &#8220;crossover&#8221; between this YouTube channel and my other channel called &#8220;Morstone Acres&#8221;. Usually, home and barn-related stuff is on that channel while I keep this one more tech and &#8220;making&#8221; related. </p><p>Like I mentioned in the video, I will probably be making another video in this series where I get more of these cameras and replace all the old ones. I am hoping to wire them with ethernet and make them PoE with an active splitter to reduce the number of power bricks taking up the plugs in my barn. </p><p>The next video will be on <a href="https://www.youtube.com/channel/UCVD1wZ9SrM1xTDFmsgJZOqw">Morstone Acres</a> since it&#8217;s more barn DIY related. </p><div><hr></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Check Out My RACK!]]></title><description><![CDATA[My eyes are up here, mister.]]></description><link>https://learnfastmakethings.com/p/ikea-kallax-cube-server-rack</link><guid isPermaLink="false">https://learnfastmakethings.com/p/ikea-kallax-cube-server-rack</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sat, 06 Apr 2024 19:35:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/gEOYYCI55a4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome back! As usual, this article contains all the thoughts, research, and deeper dives into topics mentioned in my YouTube video. The video today is about how I created a home server rack that fits into the - very common - cube organizer table (AKA Ikea Kallax)</p><p>So&#8230; Here&#8217;s the video. I recommend watching it first so you know what the heck I&#8217;m talking about below. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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 id="youtube2-gEOYYCI55a4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;gEOYYCI55a4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/gEOYYCI55a4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Drilling a hole in my furniture&#8230;</h2><p>After making the 3D model, I decided to drill and cut the access holes in the back of my table (shelf?). I did this on purpose for motivation. I find that without motivation, projects drag on or never get finished. In this case I really wanted to finish this project and get my office back into working order. So, I cut the holes before I actually printed anything. This way, having a table with holes in it would continue to remind me that I was already committed to finishing this. </p><p>I knew that what I designed was going to be DAYS of 3D printing and probably days of trying, testing, wiring, and failing. But&#8230; having holes in my shelf meant that it needed to be done so it could fill those holes. </p><p>If you are looking to make sure you finish your projects, try doing something permanent that requires you to finish. It&#8217;s helpful, and a little stressful. </p><div><hr></div><h2>My office is a challenging puzzle</h2><p>This project, as well as many others, is related to solving one problem. I keep getting more stuff and yet my office doesn&#8217;t get any additional square footage. In this case, adding a 3D printer took up a huge footprint on the desk that I use for assembling most of my indoor-based projects. If I kept the printer and the home compute lab stuff on this table, there would be no room to actually work on other things. This presented the kind of challenge that I like solving. Make more space from what I have. </p><p>My office isn&#8217;t large (by American standards) and I don&#8217;t really intend on halting my acquisition of cool new toys so continuing to make it more efficient is a necessity and when done right you can organize things while continuing to make your workflows more efficient. </p><p>I personally cant stand a cluttered space so while my office is dense, it needs to not look that way. If you saw my last video (most didn&#8217;t, lol) you saw another one of these challenges. I like my desk space to be clear but continue to offer all the functionality I need. </p><p>This isn&#8217;t the first video about keeping my space in order and it wont be the last. As I mentioned in the video, my closet is probably the next big &#8220;infrastructure&#8221; project. It&#8217;s a terrible use of space and I know I can do better. If done right I could effectively eliminate everything that needs to sit on a desk (or in a drawer) and organize it in the closet. The challenge is doing this while continuing to make all the stuff accessible. </p><p>I am really inspired by Adam Savage&#8217;s &#8220;first order retrievability&#8221; video and it&#8217;s essentially what I keep in mind whenever I organize things. </p><div id="youtube2-vyCrHLYiGNo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vyCrHLYiGNo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vyCrHLYiGNo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>While I enjoy looking at his eclectic clutter, it&#8217;s not really my style. I want all the access without the stuff being visible. </p><p>So that was a long way of getting to how this server rack works really well. The equipment needs to exist and I occasionally need access to it, but not very often (physically). By building this rack and putting it in the cube shelf, it exists and I can see it but it&#8217;s not immediately available or in the way. it also looks cool and that&#8217;s a bonus.</p><div><hr></div><h2>Making &#8220;the cube&#8221; - inspiration</h2><p>In the video, I mentioned two different projects that I used as inspiration, but oh man there was so much more. I&#8217;m not going to do a bunch of typing here about each of them, but here&#8217;s a list of links for all the different designs I looked at while dreaming this up. Hopefully, you find them useful.</p><ul><li><p><a href="https://www.printables.com/model/148392">https://www.printables.com/model/148392</a></p></li><li><p><a href="https://www.printables.com/model/108975-19cm-network-rack">https://www.printables.com/model/108975-19cm-network-rack</a></p></li><li><p><a href="https://www.printables.com/model/688952">https://www.printables.com/model/688952</a></p></li><li><p><a href="https://www.youtube.com/watch?v=EB0pIagC6fs&amp;t=15s">https://www.youtube.com/watch?v=EB0pIagC6fs&amp;t=15s</a></p></li><li><p><a href="https://www.youtube.com/watch?v=N8UyJvSACgs">https://www.youtube.com/watch?v=N8UyJvSACgs</a></p></li><li><p><a href="https://www.printables.com/model/759993-raspberry-pi-4-5-mini-server-rack-case">https://www.printables.com/model/759993-raspberry-pi-4-5-mini-server-rack-case</a></p></li><li><p><a href="https://www.reddit.com/r/homelab/comments/16wq0nq/3d_printed_minirack/">https://www.reddit.com/r/homelab/comments/16wq0nq/3d_printed_minirack/</a></p></li><li><p><a href="https://www.thingiverse.com/thing:4635116">https://www.thingiverse.com/thing:4635116</a></p></li><li><p><a href="https://www.reddit.com/r/homelab/comments/lqr1gy/monty_3d_printed_mini_rack/">https://www.reddit.com/r/homelab/comments/lqr1gy/monty_3d_printed_mini_rack/</a></p></li></ul><div><hr></div><h2>Parametric design in Autodesk fusion</h2><p>One of my co-workers showed me this and it blew my mind. Fusion has a feature called custom parameters and being a programmer, I immediately forgot whatever fusion called and just started calling it what it really is: Variables. </p><p>essentially, any place where you type a number into a box in fusion, you can instead type a variable name and then define that variable to whatever you want. Later on, if your designs are well-made (mine usually aren&#8217;t, lol), you can go back and change the value of the variable and it will adjust your design automatically!</p><p>I used this feature to make it so I could adjust the size of the cube. I defined the number of "holes&#8221; that I wanted across the top and the side of the frame and set that as a variable. Later, I went back and adjusted that number so I could export all the different sizes. </p><p>By the way, this is the link to the frame on printables where you can get all the different sizes and make your own: <a href="https://www.printables.com/model/834467">https://www.printables.com/model/834467</a></p><p>And here&#8217;s a great video on using fusion parameters so you can try it out yourself. </p><div id="youtube2-ntMBZQUTLNA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ntMBZQUTLNA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ntMBZQUTLNA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Keystone jacks - Universal for all your plugs</h2><p>In the video, I went back and forth between remembering what these things are actually called. I&#8217;m still not 100% positive they are called &#8220;keystone jacks&#8221;. maybe they are just called keystones? IDK&#8230;</p><p>Either way, these things are amazing! You usually see them on wall plates in houses. In my case, I have three different types. </p><ol><li><p><a href="https://geni.us/ZOLC">USB patch keystones</a></p></li><li><p><a href="https://geni.us/NyOHiUz">HDMI patch keystones</a></p></li><li><p><a href="https://geni.us/8w4Hk">Network patch keystones</a></p></li></ol><p>but you can look on Amazon and find all kinds of different cables that come in this format. </p><p>The best thing about these is that they all fit into a standard space and allow you to mix and match for whatever you want. In my model, I have a total of 11 keystone mounting holes and I used 8 of them so far. I was able to find a 3d model of a single keystone jack and then hack it up to make the shapes I needed. </p><p>Here&#8217;s the link to the model I used: <a href="https://grabcad.com/library/panel-socket-keystone-jack-rj45-1">https://grabcad.com/library/panel-socket-keystone-jack-rj45-1</a></p><p>As a side note, the Grabcad website has tons of free STEP files that you can pull into your models. More about that below.</p><div><hr></div><h2>The importance of everything in CAD</h2><p>Speaking of 3D models, I can&#8217;t stress enough the importance of modeling EVERYTHING when trying to make something that needs to integrate multiple parts or fit into a certain space. </p><p>For example, in this project, the very first thing I did was model the shelf that this whole rack fits into. Modeling your reference materials will save your butt over and over again. It just makes it so easy to see where something isn&#8217;t going to work. You will notice that i also made rough models (just squares) of each of the hardware pieces that would end up in this rack. Doing this allowed me to see how it all fits together without all the trial and error. </p><p>As I mentioned above, if you have a common item that you need to represent in your model, check out grabcad.com. This site has tons of models that you can easily pull in as a reference. But&#8230; beware some are not accurate. Always double-check. </p><p>for example, check out this <a href="https://grabcad.com/library/tp-link-tl-sg108-1">&#8220;8 port switch&#8221;</a> that has 9 ports, lol</p><div><hr></div><h2>Making an automated cooling solution with simple hardware</h2><p>I left out quite a bit of detail on the whole cooling fan situation in the video. Honestly, it&#8217;s super cool and I didn&#8217;t really have to do anything to make it all work. </p><p>So here I want to shout out Github user <a href="https://github.com/patrickcollins12">patrickcollins12</a> for making an excellent tutorial on how to set up a cooling fan system using ESPHome. This thing works great and always keeps the temp in the case within a level of tolerance that I set. </p><p>I made a couple of modifications to this since I only had one fan, but otherwise, it was taken directly from the <a href="https://github.com/patrickcollins12/esphome-fan-controller">readme on the project </a></p><p>And here&#8217;s a link to the fan I used: <a href="https://geni.us/HsNnFTr">https://geni.us/HsNnFTr</a></p><p>I chose a more expensive Noctua fan because they are well-known for being very quiet. Since I record videos in here I need to make sure I don&#8217;t have things making constant noise. </p><div><hr></div><h2>Side note on sharing &#8220;custom stuff&#8221;</h2><p>Making 3D-printed custom stuff and sharing it has always seemed strange to me. Beyond saying &#8220;Look at this thing I made&#8221;, most really custom projects are just that: custom. They are made for a single specific purpose and likely won&#8217;t work for everyone. </p><p>This is why in this video and on the <a href="https://www.printables.com/model/834467">printables page for this project </a>I don&#8217;t specifically say that someone should just make the same exact thing that I did. I think the cube frame is useful to others. I also think the rest of the stuff is useless to anyone else. </p><p>If I look around my house, there are literally dozens of custom things I&#8217;ve made. But there are only a handful of videos. That&#8217;s mainly because I have trouble making a video that doesn&#8217;t result in the viewer (or reader) actually getting some value. </p><p>but maybe this is just my opinion. Maybe I&#8217;m wrong. If you&#8217;re reading this and think I should share more of my &#8220;custom&#8221; stuff, let me know. I&#8217;ll consider it. </p><div><hr></div><h2>Finally, a new camera in my arsenal</h2><p>This video is the first of many that will feature a new tool in my video-making kit. Recently I got an <a href="https://geni.us/76m8z">Insta360 Go 3</a>. I feel like this camera filled a gap in my video tools for one specific reason. </p><p>All my other cameras require setup. I have a camera that is permanently attached to my desk, which is great for a simple headshot explainer video. I have my phone but I found that I often need my phone when recording for other reasons. I have a very nice Sony ZV E10 that takes amazing video but requires configuration to get everything right before filming and the battery dies quickly. </p><p>All of those cameras have a purpose, but they don&#8217;t offer what the Go3 offers: the ability to grab a camera, press one button, and just start recording.</p><p>This thing has automatic horizon leveling so every shot looks level, even if I&#8217;m holding the camera crooked. It records up to 4k. And&#8230; it allows me to pop out the tiny camera from the frame and wear it on my head. Upcoming videos will definitely use that feature for a first-person point of view when I&#8217;m working on stuff. </p><div><hr></div><p>Whew, this was a long one! I hope you liked it.</p><p>Leave a comment, get subscribed (here or YouTube or both), and share if you think someone else might like it too. </p><p>Until next time, I hope I helped you learn faster! </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[3D Printing Et al.]]></title><description><![CDATA[Diving in head first was clearly the way to go...]]></description><link>https://learnfastmakethings.com/p/3d-printing-et-al</link><guid isPermaLink="false">https://learnfastmakethings.com/p/3d-printing-et-al</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Thu, 21 Mar 2024 01:23:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/Nrs8XCoY3fs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have an obsession with learning how to do stuff. I honestly think that I have so many hobbies not because I&#8217;m bored, but because my favorite part of any hobby is getting started. So, let me put it this way. My hobby isn&#8217;t 3D printing, woodworking, YouTube, or electronics. My hobby is learning how to add things to my collection of hobbies. </p><p>So,  3D printing just seems like a natural addition to my arsenal. Sure, I know there are plenty of people out there who like to tinker with 3D printers. 3D printing is their hobby. For me, a 3D printer is a tool. It allows me to make things out of plastic. It itself is not a hobby. </p><p>I mention this now at the top of this article because I don&#8217;t want everyone to think that this is going to become a 3D printing channel. It&#8217;s not. But&#8230; I did just get a 3D printer and there will always be a short period of obsession while learning, so bear with me please, lol. </p><p>Anyway, here&#8217;s a replay of the video that spawned this article. You should watch it first if you haven&#8217;t already.</p><div id="youtube2-Nrs8XCoY3fs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Nrs8XCoY3fs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Nrs8XCoY3fs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>One of the things that boggled my mind when I started learning how to use this thing is that some people get 3D printers and simply either have no interest in learning CAD / 3D modeling or think that they can&#8217;t learn it. To me, creating a model and then seeing it print into a real thing is the whole point of having a 3D printer. Sure, you can go on any of the many sites where people share their models and just print any of that stuff, but that will only get you so far. The beauty of 3D printing is being able to make custom, perfect objects that do exactly what you want. THATS why I have wanted a 3D printer for years!</p><p>But&#8230; first things first. I have a box that can make plastic, but I have no idea how to use it and no idea how to 3d model stuff. I needed to get started so I turned to my good friend, the Internet to teach me everything I needed to know. </p><div><hr></div><h2>Models From The Video</h2><p>I made the models from the video available on Maker World. If they are useful to you, that&#8217;s awesome! Let me know. </p><p><a href="https://makerworld.com/en/models/383235">Elgato Prompter Custom Enclosure</a></p><p><a href="https://makerworld.com/en/models/147692">Mic Stand</a></p><p><a href="https://makerworld.com/en/models/383563#profileId-283679">Cable Tray</a></p><p><a href="https://makerworld.com/en/models/385425">USB hub mounting bracket</a></p><p><a href="https://makerworld.com/en/models/385437">Laptop mounting bracket</a></p><p><a href="https://makerworld.com/en/models/385442">Motion sensor desk grommet</a></p><div><hr></div><h2>Enter the Rabbit Hole!</h2><p>So&#8230; HERE&#8217;s the brain dump. For your Rabbit Holing pleasure! This is mostly a list of links with headings below here, but I&#8217;ll add commentary where I feel it&#8217;s necessary. </p><p>Leave a comment if you like this format. Or suggestions for things I should add/remove from here!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>Table of Contents</p><ol><li><p><a href="https://learnfastmakethings.com/i/142741010/the-basics-of-using-a-d-printer">The basics of using a 3D printer</a></p><ol><li><p><a href="https://learnfastmakethings.com/i/142741010/filament">Filament</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/d-modeling">3D modeling</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/the-slicer">The slicer</a></p></li></ol></li><li><p><a href="https://learnfastmakethings.com/i/142741010/designing-for-multiple-parts">Designing for multiple parts</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/orienting-designs-for-d-printing">Orienting designs for 3D printing</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/bridging-overhangs-and-supports">Bridging, overhangs and supports</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/d-printed-threads-and-clearances">3D printed threads and clearances</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/d-printed-snap-together-parts">3D printed snap-together parts</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/printing-clear-filament">Printing clear filament</a></p></li><li><p><a href="https://learnfastmakethings.com/i/142741010/products-mentioned-in-this-video">Products mentioned in this video</a></p></li></ol><p></p><h2>The Basics of Using a 3D Printer</h2><p>As I said in the video, to really get started with 3D printing, you need to know three primary things: What filament to use, how to 3d Model stuff, and how to use the 3D slicer program. Here&#8217;s all the stuff I referenced when just getting started on these topics. </p><h3>Filament</h3><div id="youtube2-vSwumoSlZTo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vSwumoSlZTo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vSwumoSlZTo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-dYPW5Rlwn8g" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dYPW5Rlwn8g&quot;,&quot;startTime&quot;:&quot;40s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/dYPW5Rlwn8g?start=40s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-wwWkpg_FSzc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;wwWkpg_FSzc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/wwWkpg_FSzc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-_Ovq_zeCosU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_Ovq_zeCosU&quot;,&quot;startTime&quot;:&quot;24s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_Ovq_zeCosU?start=24s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-aLU0SzzSmOE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aLU0SzzSmOE&quot;,&quot;startTime&quot;:&quot;175s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/aLU0SzzSmOE?start=175s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-vqwWs6xCnvQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vqwWs6xCnvQ&quot;,&quot;startTime&quot;:&quot;166s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vqwWs6xCnvQ?start=166s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-5CFVcPYFEiE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5CFVcPYFEiE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5CFVcPYFEiE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>3D Modeling</h3><p>If you are going to watch one series on Fusion, watch THIS ONE.</p><p><a href="https://www.youtube.com/playlist?list=PLHEouj-sdEJEm_xextUwnfhRJEdUs2hn4">https://www.youtube.com/playlist?list=PLHEouj-sdEJEm_xextUwnfhRJEdUs2hn4</a></p><div id="youtube2-whXHotDT8n4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;whXHotDT8n4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/whXHotDT8n4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>AAAANNND a bunch of other stuff</p><div id="youtube2-2JxQZT2hYEs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2JxQZT2hYEs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2JxQZT2hYEs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-qGzs4sKXUWE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;qGzs4sKXUWE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/qGzs4sKXUWE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-dr2u9aOkC3U" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dr2u9aOkC3U&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/dr2u9aOkC3U?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-U46W6oxjbWM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;U46W6oxjbWM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/U46W6oxjbWM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-0IISPGwFQ0A" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;0IISPGwFQ0A&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/0IISPGwFQ0A?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-MpdHxHsWguU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;MpdHxHsWguU&quot;,&quot;startTime&quot;:&quot;106s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/MpdHxHsWguU?start=106s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-uCxRJxvsoe0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;uCxRJxvsoe0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/uCxRJxvsoe0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>The Slicer</h3><p>Some of these references are specifically about the slicer. Some are more general about slicer settings and configuration. </p><div id="youtube2-IIS9UagZaWI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;IIS9UagZaWI&quot;,&quot;startTime&quot;:&quot;73s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/IIS9UagZaWI?start=73s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-mE521Q4H6aY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;mE521Q4H6aY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/mE521Q4H6aY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-KvGgrkUanTo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;KvGgrkUanTo&quot;,&quot;startTime&quot;:&quot;32s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/KvGgrkUanTo?start=32s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-ZC2qM5cnaZE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ZC2qM5cnaZE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ZC2qM5cnaZE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-S5EPZ_GI1hM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;S5EPZ_GI1hM&quot;,&quot;startTime&quot;:&quot;12s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/S5EPZ_GI1hM?start=12s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-PQHKQH5imkI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PQHKQH5imkI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PQHKQH5imkI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2--LHQtlxYQII" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-LHQtlxYQII&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/-LHQtlxYQII?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Designing for Multiple Parts</h2><p>So many ways to join things! You don&#8217;t find content specifically about making things as multiple parts, but you find that the most common way of making things is by making multiple parts and finding ways to join them together. You get the point.</p><div id="youtube2-yP7_qZ_Mi78" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;yP7_qZ_Mi78&quot;,&quot;startTime&quot;:&quot;554s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/yP7_qZ_Mi78?start=554s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-hwq15qH-4x4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;hwq15qH-4x4&quot;,&quot;startTime&quot;:&quot;163s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/hwq15qH-4x4?start=163s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-VKZoNRtd_5I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;VKZoNRtd_5I&quot;,&quot;startTime&quot;:&quot;51s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/VKZoNRtd_5I?start=51s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-7JhjhgjchfM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7JhjhgjchfM&quot;,&quot;startTime&quot;:&quot;191s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7JhjhgjchfM?start=191s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-jezedgpzmD0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jezedgpzmD0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/jezedgpzmD0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Orienting Designs for 3D Printing</h2><p>These really made me think about how I orient stuff on the print bed. Whether it&#8217;s fitting larger items, eliminating layer lines, or making stuff stronger, orientation matters!</p><div id="youtube2-W5WdUF4Y_FI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;W5WdUF4Y_FI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/W5WdUF4Y_FI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-8NKVNwVaZU0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;8NKVNwVaZU0&quot;,&quot;startTime&quot;:&quot;12s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/8NKVNwVaZU0?start=12s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Stacking prints on top of each other&#8230; it&#8217;s an advanced technique. I have never had good results but I&#8217;m sure it&#8217;s because I&#8217;m not willing to try it a bunch of times to get it right.</p><div id="youtube2-xs2urfM0MRM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xs2urfM0MRM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/xs2urfM0MRM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-MqirgLJnmZM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;MqirgLJnmZM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/MqirgLJnmZM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-n-T7CceCoXw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;n-T7CceCoXw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/n-T7CceCoXw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Bridging, Overhangs and Supports</h2><div id="youtube2-WYQbxIVLz6Y" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WYQbxIVLz6Y&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/WYQbxIVLz6Y?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-MCcFMDv_4eo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;MCcFMDv_4eo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/MCcFMDv_4eo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-YKZoMUWuI8g" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;YKZoMUWuI8g&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/YKZoMUWuI8g?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>3d Printed Threads and Clearances</h2><div id="youtube2-aGWrFeu8Hv0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aGWrFeu8Hv0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/aGWrFeu8Hv0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-Bd7Yyn61XWQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Bd7Yyn61XWQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Bd7Yyn61XWQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-PqPgC-NObqI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PqPgC-NObqI&quot;,&quot;startTime&quot;:&quot;400s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PqPgC-NObqI?start=400s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-sza8wg5FIxQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sza8wg5FIxQ&quot;,&quot;startTime&quot;:&quot;2s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sza8wg5FIxQ?start=2s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-6YO_21WFFzI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6YO_21WFFzI&quot;,&quot;startTime&quot;:&quot;169s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6YO_21WFFzI?start=169s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>3D-printed snap-together Parts</h2><div id="youtube2-RTQjvYENR7w" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;RTQjvYENR7w&quot;,&quot;startTime&quot;:&quot;211s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/RTQjvYENR7w?start=211s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-wl6TDwBqkgs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;wl6TDwBqkgs&quot;,&quot;startTime&quot;:&quot;32s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/wl6TDwBqkgs?start=32s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-YCUkFGI3RZI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;YCUkFGI3RZI&quot;,&quot;startTime&quot;:&quot;126s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/YCUkFGI3RZI?start=126s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Printing Clear Filament</h2><p>The two pages below are settings and even profiles for printing clear PETG. The video demonstrates the possibility.</p><p><a href="https://www.printables.com/model/15310-how-to-print-glass">https://www.printables.com/model/15310-how-to-print-glass</a> </p><p><a href="https://wiki.bambulab.com/en/knowledge-sharing/transparent-petg">https://wiki.bambulab.com/en/knowledge-sharing/transparent-petg</a></p><div id="youtube2-9qb25Gi4Jv0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;9qb25Gi4Jv0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/9qb25Gi4Jv0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Products Mentioned in this Video</h2><ol><li><p>Focusrite Scarlett Solo: <a href="https://geni.us/0AKFe">https://geni.us/0AKFe</a></p></li><li><p>Triton Audio fethed: <a href="https://geni.us/bwST">https://geni.us/bwST</a></p></li><li><p>AudioTechnica Mic: <a href="https://geni.us/esOMU">https://geni.us/esOMU</a></p></li><li><p>Startech USB hub: <a href="https://geni.us/BlEU6W5">https://geni.us/BlEU6W5</a></p></li><li><p>Elgato StreamDeck: <a href="https://geni.us/hrLRT">https://geni.us/hrLRT</a></p></li><li><p>Elgato Prompter: <a href="https://geni.us/7AA9e">https://geni.us/7AA9e</a></p></li><li><p>Keyboard: <a href="https://geni.us/lOTo">https://geni.us/lOTo</a></p></li><li><p>Mouse: <a href="https://geni.us/qeDis">https://geni.us/qeDis</a></p></li><li><p>Ultrawide Monitor: <a href="https://geni.us/CyvfHP">https://geni.us/CyvfHP</a></p></li><li><p>Insta360 Link: <a href="https://geni.us/uaopltc">https://geni.us/uaopltc</a></p></li><li><p>Adafruit perma-proto board: <a href="https://geni.us/QZmTa">https://geni.us/QZmTa</a></p></li></ol>]]></content:encoded></item><item><title><![CDATA[Obligatory First Post and Explanation]]></title><description><![CDATA[Woah! Some things have changed. Yes... yes they have.]]></description><link>https://learnfastmakethings.com/p/obligatory-first-post-and-explanation</link><guid isPermaLink="false">https://learnfastmakethings.com/p/obligatory-first-post-and-explanation</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sun, 17 Mar 2024 21:16:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/H9iPqnx2AzM" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For those of you who haven&#8217;t seen my most recent YouTube video, that&#8217;s probably a good place to start. So&#8230; here&#8217;s the video explaining most of what&#8217;s going on here. </p><div id="youtube2-H9iPqnx2AzM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;H9iPqnx2AzM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/H9iPqnx2AzM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>So, number 1, yes the YouTube channel name has changed. And like I mentioned in the video I really want to provide more details around the topics I cover. This (new) site is the place for all that content. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>But&#8230; that's not the whole story and I think that many of you may be email subscribers from my old (now no longer in service) newsletter that was called &#8220;The Weekly Cloud&#8221;. If you were subscribed to The Weekly Cloud you probably noticed that there really weren&#8217;t that many emails sent, and that&#8217;s mainly because it was overwhelming trying to maintain so much content. </p><p>Originally I naively thought I could maintain the following types of content. </p><ol><li><p>A youtube channel </p></li><li><p>A blog</p></li><li><p>An email newsletter</p></li><li><p>A medium channel </p></li></ol><p>And that was a mistake. What ended up happening was that I would make videos, I would transcribe those videos then I would post them to my website and medium.com. Honestly, that&#8217;s redundant and kinda unnecessary. While it is good for SEO, I&#8217;m not sure organic search results are really what I was going for anyway. so&#8230; it&#8217;s time for a new plan. </p><h2>The New Plan</h2><p>Not to repeat myself too much, but like I mentioned in the video, the first part of the new plan is to change the format of my videos slightly. I think I was already kinda doing this, but the name of the channel didn&#8217;t match the content, so now that&#8217;s been fixed. The videos on YouTube will continue to be not-too-long, simply because long-winded videos just don&#8217;t do that well on YouTube for most audiences. A lot of my viewers simply aren&#8217;t looking for deep dives. You might be one of them and that&#8217;s fine. This newsletter and site probably won&#8217;t be for you. On the other hand, I have received many comments asking me for deeper explanations on topics I cover on YouTube. so&#8230; I&#8217;m trying to please both groups and I think I can pull it off. </p><p>This site (learnfastmakethings.com) is where I will be making the longer content and providing references to what I consumed to learn what I learned and say what I said. It&#8217;s not going to be just transcripts of my videos. It will be unique content related to the video and also a ton of reference material. I plan to link literally every single piece of content I consumed while learning, hence the name. If you like taking a crash course on a topic and learning something fast, I hope I provide you with enough references that you can send yourself down a rabbit hole :)</p><p>This new site is hosted on SubStack.com. So while it&#8217;s ironic that I, a web developer by profession, haven&#8217;t made a custom website, the truth is that it really doesn&#8217;t make sense. Substack provides all the features I could ever want. I write content here, and people who subscribe get emails. It&#8217;s so simple and works really well. There&#8217;s no point in reinventing the wheel when such a great tool already exists. </p><p>So&#8230; that&#8217;s my plan. I hope you like it. I&#8217;m still working out all the configuration of substack so stuff might be weird for a bit, but I&#8217;ll work all that out. I have also imported all the content from my old site and will be redirecting all traffic here soon. Eventually, I will start to make content here that is not specifically tied to a YouTube video or potentially figure out a plan for providing early access and exclusive content to those of you who may choose to join as a paid member, but that will take a little time. </p><p>Thanks for your understanding while I shuffle all this stuff around. </p><p>~ Gary</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://substack.com/refer/garymorse?utm_source=substack&amp;utm_context=post&amp;utm_content=undefined&amp;utm_campaign=writer_referral_button&quot;,&quot;text&quot;:&quot;Start a Substack&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Start writing today. Use the button below to create your Substack and connect your publication with The Rabbit Hole</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.com/refer/garymorse?utm_source=substack&amp;utm_context=post&amp;utm_content=undefined&amp;utm_campaign=writer_referral_button&quot;,&quot;text&quot;:&quot;Start a Substack&quot;,&quot;hasDynamicSubstitutions&quot;:false}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.com/refer/garymorse?utm_source=substack&amp;utm_context=post&amp;utm_content=undefined&amp;utm_campaign=writer_referral_button"><span>Start a Substack</span></a></p></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learnfastmakethings.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">The Rabbit Hole is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[The Tech Philosophy Dilemma: All-in-One vs. Best-of-Breed]]></title><description><![CDATA[Over the past several months I&#8217;ve been pretty entangled in a tech philosophy question that I&#8217;m positive you will either 1) be involved in&#8230;]]></description><link>https://learnfastmakethings.com/p/the-tech-philosophy-dilemma-all-in-one-vs-best-of-breed-1038439bea14</link><guid isPermaLink="false">https://learnfastmakethings.com/p/the-tech-philosophy-dilemma-all-in-one-vs-best-of-breed-1038439bea14</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sun, 12 Nov 2023 05:19:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/ttXz5luYncw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the past several months I&#8217;ve been pretty entangled in a tech philosophy question that I&#8217;m positive you will either 1) be involved in sometime in your career or 2) have already been involved in sometime in the past.</p><div class="captioned-image-container"><figure><div id="youtube2-ttXz5luYncw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ttXz5luYncw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ttXz5luYncw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>The simple version of this question is really just three words &#8220;all-in-one versus best-of-breed&#8221;</p><p>Now, I have plenty of opinions on this topic, but I don&#8217;t really think just those three words are enough to lay out the landscape. So, before I jump into my feelings on this somewhat complicated topic, let me spend a short amount of time to explain the scenario.</p><p>Over time in the tech space, the concept of getting an &#8220;all in one&#8221; solution versus making or buying small parts of a full solution and integrating them together (best in breed) has been pretty hotly debated. And over the same time, the popular opinion has swung like a pendulum.</p><p>On the all-in-one side of the argument, solution seekers will be swayed to believing that you will save a ton of headaches by simply buying one solution that &#8220;does it all&#8221;. Sure, the all-in-one solution might not match your use cases 100% perfectly, but the concessions that you make in functionality are compensated by ease of use and lower overall cost compared to the total price of buying several smaller solutions and having to pay engineers to integrate them to make your perfect solution.</p><p>In contrast to that, the &#8220;best of breed&#8221; approach; argues that simple, specific, and cheaper solutions integrated together can provide a better experience and save money overall. Sure, its more work to take several smaller solutions and integrate them through APIs or other types of connectors, but in the end, you get exactly what you need. Nothing more, nothing less. You also save money because each of these smaller solutions has way lower licensing costs than larger all-in-one solutions.</p><p>Now I am sure as I rattled off those basic explanations, you may have immediately chosen what you think is best. And depending on what year we are in when you are watching this, you have probably been pre-conditioned by the current tech landscape to pick the one that is more popular right now. You see, as time goes on the popular opinion changes. And let me explain why that is.</p><p>The short answer is mergers and acquisitions. Whether you realize it or not, there is a forever-churning cycle with tech companies and startups. It goes something like this.</p><p>Small startups build solutions that are lightweight and highly specialized. To get their companies off the ground they start selling this product at a relatively low price to get people in the door and to try to compete with less specialized solutions that just don&#8217;t quite do what they offer. People buy these solutions when they are looking for that very specific solution and then integrate it with other tech to compose their complete solution.</p><p>Next, as these companies mature, they begin to take market share away from large all-in-one applications. They start to expand the offering of their very specific solution to reach into other related tech. Their current customers will usually adopt these new features since they have already bought into the company and the integrations are easy because it's just one more new feature added to the offering.</p><p>Now on its own, this could be seen as the small player becoming the big player, but the big shift back to the all-in-ones actually comes in the next phase.</p><p>The bigger names out there who have been seeing the market share slide because of a competitor need to make a move, and since they are larger and generally have more capital, they will make the strategic move to acquire the once smaller company. They take the features of the smaller offering and bake them into their large, all-in-one solution. At first, there is no real change since it takes time to merge two completely different tech stacks, but over time the smaller best-of-breed company just becomes a new set of features on the all-in-ones massive list.</p><p>But more importantly, the companies that previously decided to buy a solution from the &#8220;best of breed&#8221; company are now actually customers of the all-in-one offering&#8230; and all or some of the employees that used to work for the best of breed company are now employees of the large company.</p><p>And&#8230; the cycle starts over again. The consumers get frustrated with their solution only solving 80% of their problem, the former employees of the best-of-breed company see holes in the market, and they decide to start a company that makes a new &#8220;best of breed&#8221; solution.</p><p>You see where I&#8217;m going with this? This cycle never stops and over time you will see shifts in the market as well as popular opinion on which is the best approach.</p><p>Let me give you a real-life example of this. And since I&#8217;m your average lazy developer I&#8217;m not going to do a lot of research and just give you the most obvious example there is. Let&#8217;s talk about Salesforce.</p><p>Salesforce IS THE all-in-one in the room. Both from an architectural standpoint and a business standpoint. Salesforce started as a CRM company. They made a web application that allowed you to keep track of your customers, log your phone calls, take notes, track deals, and close sales. From that perspective, when it comes to CRM, Salesforce is the &#8220;best of breed&#8221;&#8230; and they were and still are best of breed in that category.</p><p>But it doesn&#8217;t stop there. Take a look at this list of companies that have been acquired by Salesforce.</p><ul><li><p>Slack: Acquired in 2020 for $28 billion</p></li><li><p>Tableau: Acquired in 2019 for $15.7 billion</p></li><li><p>MuleSoft: Acquired in 2018 for $6.5 billion</p></li><li><p>Demandware: Acquired in 2016 for $2.8 billion</p></li><li><p>ExactTarget: Acquired in 2013 for $2.5 billion</p></li><li><p>ClickSoftware: Acquired in 2019 for $1.35 billion</p></li><li><p>Vlocity: Acquired in 2020 for $1.33 billion</p></li><li><p>Heroku: Acquired in 2010 for $212 million</p></li><li><p>Acumen Solutions: Acquired in 2019 for $570 million</p></li><li><p>Phennecs: Acquired in 2019 for $16.5 million</p></li></ul><p>Now that I&#8217;ve spent way too long making the point, maybe it&#8217;s time to get to the actual topic of the post. Which one is right? Which one is best? What do you choose? Ok&#8230; so please hold back your urge to flip your desk when I say this, but the answer is &#8220;it depends on&#8221;. The answer is both, depending on the impact of the solution you are picking or building. Let me explain, so hopefully you get some value out of this.</p><p>Earlier I said that all-in-one solutions may not nail your feature requirements 100%. I think that is the part you want to focus on when trying to make a decision. Take a close look at what you won&#8217;t get if you choose the larger, but simpler to implement solution. Is the missing 20% super critical for your project or business? Will you honestly lose critical functionality that impacts the success of your product if that 20% is missing? If the answer is yes, they will either need to supplement the all-in-one solution with a smaller integration to get the missing parts, or you decide to completely forgo the monster and instead search for small cheaper components that will do all the critical things you need.</p><p>On the other side of the spectrum, if you are looking at smaller best-of-breed solutions, how much time will you spend in integration hell? Will engineering solutions for making all the parts act as one become a never-ending time suck? If the answer is yes, maybe you need to look a little harder for something that bakes together some of the stuff you need, so you don&#8217;t have so much ongoing engineering effort and maintenance on your hands.</p><p>And as a final note, there is one other super critical factor to consider with the all-in-one solution. Remember that just because the mega product claims to support all the features you need, it doesn&#8217;t mean they are well-supported or even, well-integrated into their current offering. Look to see how the specific features you need came to be a feature. If they were once a small company that was acquired, how long ago was it acquired? How much time and effort has gone into making that acquisition a truly integrated feature of the overall product?</p><p>And here&#8217;s another final, final note: remember big companies have big sales teams. They will sell you the dream. They aren&#8217;t technically lying because anything&#8217;s possible. But really pay attention to the sales pitch and try to get some more technical people on the horn to ask some probing questions before you buy.</p><p>I hope this helps you as much as it helped me get it off my chest. Thanks for stopping by and until next time. Happy coding!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GiqS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GiqS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GiqS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GiqS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GiqS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GiqS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!GiqS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GiqS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GiqS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GiqS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760c2467-6a36-40df-8a34-9badf6e7994f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Navigating the Apple Ecosystem: A Developer’s Journey from Passion to App Store]]></title><description><![CDATA[When you think of Apple, you probably envision sleek iPhones, powerful Macs, Apple TVs, and the harmonious integration of all these devices.]]></description><link>https://learnfastmakethings.com/p/navigating-the-apple-ecosystem-a-developers-journey-from-passion-to-app-store-f32efeca0bdc</link><guid isPermaLink="false">https://learnfastmakethings.com/p/navigating-the-apple-ecosystem-a-developers-journey-from-passion-to-app-store-f32efeca0bdc</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Fri, 06 Oct 2023 03:27:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/ukFCvCf-bFs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When you think of Apple, you probably envision sleek iPhones, powerful Macs, Apple TVs, and the harmonious integration of all these devices. As a self-proclaimed Apple enthusiast, I have immersed myself in this ecosystem, exploring the fascinating world the tech giant has crafted for its users. However, this article is not about Apple&#8217;s cutting-edge devices; it&#8217;s about a different kind of Apple&#8202;&#8212;&#8202;the one that represents apps, the backbone of the Apple experience.</p><div class="captioned-image-container"><figure><div id="youtube2-ukFCvCf-bFs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ukFCvCf-bFs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ukFCvCf-bFs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><h3>The Apple Dream: More than Just Cool&nbsp;Stuff</h3><p>Apple has successfully sold us not just products but a dream. They&#8217;ve made programming and tech sexy, turning app developers into the rockstars of the digital age. It&#8217;s not merely about creating apps; it&#8217;s a lifestyle&#8202;&#8212;&#8202;an opportunity to turn ideas, passions, and problem-solving into tangible, shareable solutions. But, as I discovered, this journey is not as straightforward as the dazzling presentations at the Worldwide Developers Conference (WWDC) may lead you to believe.</p><h3>Day 1: Turning Dreams into&nbsp;Code</h3><p>The initial excitement of having an idea and bringing it to life fuels Day 1. Whether it&#8217;s a day, a month, or a year of coding, the joy of creating your app is unmatched. You&#8217;ve made something for yourself, but if you aspire to share it with the world, Day 2 beckons.</p><h3>Day 2: The Reality of the Ecosystem</h3><p>Day 2 isn&#8217;t about coding; it&#8217;s about everything else. To put your app on the App Store, you need to become an official Apple developer, which comes at a cost&#8202;&#8212;&#8202;$99 for the privilege. Once you&#8217;ve acquired the rights, you enter a realm of metadata: naming, icons, and descriptions. Essentially, the details that make your app presentable.</p><h4>Step 1: Become an Official Apple Developer</h4><p>Start by purchasing the official developer rights from Apple, costing $99. This marks your entry into the Apple ecosystem.</p><h4>Step 2: Navigate&nbsp;Metadata</h4><p>Naming, icons, and descriptions are critical. These details are what make your app stand out in the crowded App Store. Ensure you have a compelling name, eye-catching icons, and a detailed yet concise description of your app.</p><h3>Day 3: The Unseen Realities</h3><p>Day 3 unravels the hidden complexities. Making an app involves more than just passion; it demands a business mindset. You realize:</p><h4>Step 3: Subscription Server</h4><p>Explore <a href="http://revenuecat.com">revenuecat.com</a>, a free starter account that simplifies subscription support. It provides documentation and video tutorials to guide you through the process.</p><h4>Step 4: Legalities</h4><p>Legalities can be soul-sucking. Utilize <a href="http://termly.io">termly.io</a> for crafting privacy policies. It&#8217;s a free tool that asks pertinent questions about your app and generates a complete privacy policy.</p><h4>Step 5: Website&nbsp;Creation</h4><p>Your goal is to build a sexy Apple app, not a website. A simple one-page site with images, a description, FAQs, and a contact form will suffice. Platforms like <a href="http://netlify.com">netlify.com</a> or <a href="http://wix.com">wix.com</a> can help you create and host a website for cheap or free (depending on the work you are willing to put in).</p><h4>Step 6: Icons of All Shapes and&nbsp;Sizes</h4><p>Design various sizes and formats of icons using <a href="http://figma.com">figma.com</a>. It&#8217;s a free (to start) design tool that allows you to create and export icons in different resolutions.</p><h3>Day 4: Overcoming Hurdles</h3><p>Enduring paperwork, server setups, and website creation, you reach the final stretch of Day 4. However, the journey is far from over.</p><h4>Step 7: Check Your Entitlements</h4><p>Ensure your app&#8217;s entitlements, such as network access or Bluetooth access, are clearly explained. Request entitlements and articulate why your app needs them.</p><h4>Step 8: Prepare for App&nbsp;Review</h4><p>The final hurdle: App Review. Create a demo video showcasing your app&#8217;s features, ensuring it can be easily understood by reviewers. Cross-check all links, including the EULA link in the description, and the URLs for your marketing and support websites.</p><h3>Day 5: The Final&nbsp;Stretch</h3><p>App Review. The climax. A demo video, meticulous checks, and entitlement explanations are your weapons against potential rejection. Hit submit and brace for the wait.</p><h3>Day 6: The Day of Revelation</h3><p>Approval arrives, marking the transition from a passionate creator to a validated app developer. The pain is forgotten, replaced by the thrill of sharing your creation with the world.</p><h3>Conclusion: Beyond&nbsp;Approval</h3><p>Day 6 isn&#8217;t the end; it&#8217;s the beginning of your app marketing journey. Spreading the word about your magnificent creation is the next challenge for the now-certified sexy app developer.</p><p>Embark on this journey, armed with knowledge, dedication, and a touch of Apple&#8217;s magic, as you transform your dreams into digital reality.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7OvY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7OvY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7OvY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7OvY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7OvY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7OvY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!7OvY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7OvY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7OvY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7OvY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4ac4d15-742c-43bb-8d4f-47f91e8370c6_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Secret Developer Career Weapon: Learning to Learn]]></title><description><![CDATA[So, let me ask you a question. When was the last time you learned something completely new? I&#8217;m interested to know.]]></description><link>https://learnfastmakethings.com/p/secret-developer-career-weapon-learning-to-learn-f564fa985be9</link><guid isPermaLink="false">https://learnfastmakethings.com/p/secret-developer-career-weapon-learning-to-learn-f564fa985be9</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Thu, 28 Sep 2023 04:30:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/t5R8qq8iPyM" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So, let me ask you a question. When was the last time you learned something completely new? I&#8217;m interested to know. Leave a comment and share the last time you learned something new and what it was.</p><div class="captioned-image-container"><figure><div id="youtube2-t5R8qq8iPyM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;t5R8qq8iPyM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/t5R8qq8iPyM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>Now, this blog is focused on tech and development, so naturally, I&#8217;m talking about things like a new programming language, a new framework, a new platform, a new pattern, whatever it may be. But this also applies to things outside of programming.</p><p>I&#8217;m talking about the process and the importance of learning. And, more importantly, getting over the fear of learning a new thing.</p><p>Let me start by sharing one bit of knowledge that I picked up many years ago in this industry. What you know and the skills you have are important, but what&#8217;s far more important than that is learning how to learn quickly.</p><p>You probably already know this, but just in case you don&#8217;t, in the tech industry, the only constant is change. There are very few languages, frameworks, platforms, etc., that are popular now that even existed twenty years ago.</p><p>And I know, I&#8217;m OLD. Twenty years for some of you might be your entire life at this point, but that is kind of my point.</p><p>How long do you think you will be working in tech? Most careers of any type last 40+ years if you start after school and work until you are retirement age. During that length of time, you will likely see many generations of tech come and go.</p><p>What you are learning now and even what you will learn next will likely be obsolete by the time you have finished your career.</p><p>And that&#8217;s why the most important skill you need as someone in tech is the ability to learn. Learning quickly and adapting to change as tech changes are what will give you the competitive advantage to continue your career until you are old instead of becoming a relic and getting lapped by the newer generation of kids out of school.</p><p>So, how do you keep up? How do you learn fast?</p><p>The first step is overcoming resistance to change. If you are like me, you probably have an opinion on what is the &#8220;best&#8221; programming language and what is the &#8220;best&#8221; architecture. This is just human nature. As you continue to grow your skill set, you will find things you like. And in your opinion, the things you like will be the best.</p><p>And you know what? NONE of that matters! Seriously, your opinion is great, and you should always have a set of pros and cons for everything you like or dislike, but the tech industry swings like a pendulum, and the thing you like today just simply may not be popular tomorrow.</p><p>So, overcome your preferences. Overcome your fear of the unknown. Learn the stuff you like, and more importantly, learn the stuff that&#8217;s in demand even if you don&#8217;t like it. Even if you only learn it to know WHY you don&#8217;t like it.</p><p>The second step is honing your ability to learn.</p><p>Now I can&#8217;t tell you how to do this step by step because it&#8217;s different for everyone, but I can at least give you some pointers on how to get started.</p><p>Just like anything else in life, practice makes perfect. You need to practice learning quickly and efficiently. So here&#8217;s a challenge for you to get started: go and pick something new you want to learn but have no idea how it works. If you are a web developer, go make a mobile app. If you are a front-end developer, go learn a backend language that isn&#8217;t JavaScript.</p><p>Don&#8217;t cheat and pick something similar to what you already know. Go do something completely different. Doing this will be hard at first, but over time you will begin to learn the new skill.</p><p>But in this case, pay careful attention to how you are learning. What is the process you took that helped you learn the new thing the fastest? Remember, this isn&#8217;t an exercise in learning the new thing; it&#8217;s an exercise in learning how you learn the fastest.</p><p>Once you have it ironed out, try to learn a second new thing, but instead of randomly trying ways to learn it, use the same methods you know worked last time.</p><p>This is how you learn to learn, and it might be the most important skill you could ever develop as someone in tech.</p><p>Thanks for stopping by, and until next time, happy coding!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KT1J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KT1J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KT1J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KT1J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KT1J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KT1J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!KT1J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KT1J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KT1J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KT1J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35d4f15a-bc56-42a8-b0e6-b8e9fbcef6ba_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Underrated: Working for a “Normal” Company]]></title><description><![CDATA[Thinking of working for a tech company? Here are 4 reasons why a &#8220;normal&#8221; company might be the better career path.]]></description><link>https://learnfastmakethings.com/p/underrated-working-for-a-normal-company-63e55913d6af</link><guid isPermaLink="false">https://learnfastmakethings.com/p/underrated-working-for-a-normal-company-63e55913d6af</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Tue, 09 May 2023 22:25:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/xXFzIXWoDEU" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For those of you who are in the earlier stages of your career or maybe aren&#8217;t working in tech yet, I bet that you have a goal in mind. The goal is to work for a &#8220;tech&#8221; company.</p><p>But I&#8217;m not writing this just to see if my assumptions are correct.</p><div class="captioned-image-container"><figure><div id="youtube2-xXFzIXWoDEU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xXFzIXWoDEU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/xXFzIXWoDEU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>I don&#8217;t want to discourage you if your goal is to go work for a big tech company like one of the FAANG companies. If that&#8217;s your dream, you should absolutely go for it. But&#8230; before you make that decision, it&#8217;s probably a good idea to truly evaluate whether or it&#8217;s actually the type of career you WANT.</p><p>Most people just assume that working for a tech company is the right answer or maybe the only answer when it comes to having a career in the tech space, but there are so many other options, and today I&#8217;m going to share with you why working for a &#8220;normal&#8221; company might just be the career path for you.</p><p>So, let me just get into the meat of it. Here are 4 solid reasons you might choose to work for a normal company instead of a tech company.</p><h4>Stability and&nbsp;security</h4><p>Have you seen the tech industry job market lately? Yeah, not so hot. Unfortunately for people that work for tech companies, it has been and will always be a bit of a rollercoaster.</p><p>These companies tend to be pretty &#8220;boom and bust&#8221;, and have proven to be like this since the very beginning. On the other hand, there are hundreds of thousands of medium size normal companies out there that have IT departments and digital marketing teams that are responsible for all the tech stuff. Jobs at places like this don&#8217;t follow the same trends as the tech industry. They have a completely different target market and continue to operate at full speed while the tech industry is laying people off at a breakneck pace.</p><p>To add to that, from my personal experience, small and medium size companies tend to care about their employees just a little more than big tech. I don&#8217;t want you to think that any company out there is going to go out of its way to keep your job around when the revenue starts to slide, but there are plenty of places that will try way harder than the big tech companies.</p><p><strong><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech">Gary M - Medium</a></strong><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech"><br></a><em><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech">Read writing from Gary M on Medium. Lead developer, systems architect, and lifetime learner. Every day, Gary M and&#8230;</a></em><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech">medium.com</a></p><h4>Better work-life balance</h4><p>Maybe some of you are really looking forward to putting in an absurd amount of hours at work and dedicating your life to furthering your career, but I&#8217;m willing to bet that most of you prefer to have a balance where you work hard during work hours and then stop working to continue your normal life.</p><p>One thing you&#8217;ll find with big tech companies is that many of them simply expect you to work way outside of a normal work schedule to meet deadlines or further your career. On the other hand, working for a normal company usually comes with normal expectations for how much you work. For example, at my job (which is one of these normal companies) it&#8217;s pretty frowned upon if you are found working nights and weekends except for extremely rare occasions.</p><p>I don&#8217;t know about you, but for me, that is an amazing benefit. I know that I can be done working at a normal time and nobody is going to look down on me for doing that.</p><h4>Opportunities for&nbsp;growth</h4><p>This one is going to come with a healthy dose of a reality check. Big tech companies pay big tech money and expect their employees to perform at a very high level. For 99% of the planet, this means that while you might feel like you are doing above-average work, it&#8217;s just normal work at these places. Moving up the ladder at a tech company is hard and very competitive. In most cases, there are several people with your exact job title and description. They are all trying to move up and that means while you are working alongside these people, you are also competing against them.</p><p>In contrast, working for a normal company allows you to stand out. A lot of times, you&#8217;ll be part of a very small group of similar job titles or possibly one of one in a position you hold. When you put in hard work people are way more likely to notice. In general, doing the right thing and getting stuff done will gain you recognition. People will know your name!</p><p>All of that leads to a much easier path to you getting a promotion or that job title you&#8217;ve always wanted. Sure, the pay probably won&#8217;t be as good, but is that all that really matters to you? Really think about that before you jump in head first to the big tech job market.</p><h4>A broader range of&nbsp;work</h4><p>This one is my absolute favorite when it comes to working for a more traditional company. I think that as tech people, we really enjoy the challenge of solving the puzzle. Taking on a new and unknown task and figuring out the best way to get the results.</p><p>When you work for big tech, at least when you first start, you won&#8217;t really be given opportunities to take on some new task. In most cases, you will be a cog in the machine. You&#8217;ll be improving some processes or fixing bugs or just generally moving things forward incrementally.</p><p>On the other hand, at a traditional, small to medium size company, you&#8217;ll find that they are constantly looking for people to step up and solve a problem. They aren&#8217;t going to pin you into your specific job if you are volunteering to take a broader problem and solve it. This means that you can take the opportunity to recommend new tech and propose totally new things as long as it helps them solve their problems. This leads to even more opportunities for growth and recognition.</p><p>So hopefully I&#8217;ve given you a little bit of info here that will help you in your decision-making process. Like I said earlier, my intention here is not to discourage you from going after your goals. It&#8217;s really more to help you get an understanding that working for a big tech company isn&#8217;t for everyone. At the end of the day, if you are going to spend nearly a third of your life working you should try your best to think about the kind of place that you actually want to work. What type of environment do you thrive in? What type of expectations do you have from your employer?</p><p>And just in case you haven&#8217;t found this totally obvious at this point, many of these thoughts and opinions come from my own personal experience. I&#8217;m really interested to hear from those of you who work for a larger tech company or just completely disagree. Leave a comment below and let everyone watching this video know about your work experience. What do you think about working for big tech versus a smaller more traditional company?</p><p>Until next time, happy coding!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NyGF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NyGF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NyGF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NyGF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NyGF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NyGF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!NyGF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NyGF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NyGF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NyGF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa333ce70-90aa-42d0-b91a-e66cb006b289_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[How to Download Files from Github: 4 Easy Methods]]></title><description><![CDATA[If you&#8217;re new to coding or just really like to find cool software on the web, you&#8217;ve probably come across GitHub]]></description><link>https://learnfastmakethings.com/p/how-to-download-files-from-github-4-easy-methods-a35535496e12</link><guid isPermaLink="false">https://learnfastmakethings.com/p/how-to-download-files-from-github-4-easy-methods-a35535496e12</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Wed, 29 Mar 2023 00:01:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/eWiPHP0us_0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you&#8217;re new to coding or just really like to find cool software on the web, you&#8217;ve probably come across search results for stuff on GitHub. Without going too deep into the topic, GitHub is a website where developers can share their code with the world as well as keep track of the history of their projects.</p><div class="captioned-image-container"><figure><div id="youtube2-eWiPHP0us_0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eWiPHP0us_0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/eWiPHP0us_0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>And since GitHub is completely free to join at the individual level, it&#8217;s kinda become the de facto location for everyone to house the code for their software projects.</p><p>But if you&#8217;ve never used it before there&#8217;s one huge problem. If you find some awesome project or file on GitHub that you want to use, how&#8230; exactly do you download the stuff!?</p><p>It ends up that there are a bunch of ways to download files from GitHub and each of them has upsides and downsides. Today I&#8217;m going to show you four different ways to download files from GitHub as well as the benefits and downsides of each approach.</p><p>Ready? Let&#8217;s get started with option number 1.</p><h4>The Raw File&nbsp;Method</h4><p>This method only really makes sense if you just want to copy a single file from GitHub and not a whole project. First, find the file on GitHub that you want to download.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dMHF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dMHF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!dMHF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!dMHF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!dMHF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dMHF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Find the file you want on GitHub&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="Find the file you want on GitHub" title="Find the file you want on GitHub" srcset="https://substackcdn.com/image/fetch/$s_!dMHF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!dMHF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!dMHF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!dMHF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa6fb0b3-2073-4976-a892-c8dc9d542a7a_800x481.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Find the file you want on&nbsp;GitHub</figcaption></figure></div><p>Once you are on the file view page, look to the right-hand side and find the &#8220;raw&#8221; button. Once you click this, the file will open in a new tab in your browser, and it won&#8217;t have all the GitHub UI wrapped around it.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IYrQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IYrQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!IYrQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!IYrQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!IYrQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IYrQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Raw file view&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="Raw file view" title="Raw file view" srcset="https://substackcdn.com/image/fetch/$s_!IYrQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!IYrQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!IYrQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!IYrQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c326728-43fb-4bf1-a8cd-7b93e021dd5f_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Raw file&nbsp;view</figcaption></figure></div><p>Now that just the file is visible on the screen, you can easily save it by going to the file menu on your browser and choosing &#8220;save as&#8221;. Just choose where you want to save the file, hit save then you are all set.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s6Hf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s6Hf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 424w, https://substackcdn.com/image/fetch/$s_!s6Hf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 848w, https://substackcdn.com/image/fetch/$s_!s6Hf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 1272w, https://substackcdn.com/image/fetch/$s_!s6Hf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s6Hf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;file &#8594; save as on Google Chrome&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="file &#8594; save as on Google Chrome" title="file &#8594; save as on Google Chrome" srcset="https://substackcdn.com/image/fetch/$s_!s6Hf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 424w, https://substackcdn.com/image/fetch/$s_!s6Hf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 848w, https://substackcdn.com/image/fetch/$s_!s6Hf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 1272w, https://substackcdn.com/image/fetch/$s_!s6Hf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d0783d6-f36e-4586-9856-22ba7415ab66_800x652.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">file &#8594; save as on Google&nbsp;Chrome</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UBLt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UBLt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!UBLt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!UBLt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!UBLt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UBLt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edab7911-e09f-420b-831a-f371f67be426_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;file save dialog&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="file save dialog" title="file save dialog" srcset="https://substackcdn.com/image/fetch/$s_!UBLt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!UBLt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!UBLt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!UBLt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab7911-e09f-420b-831a-f371f67be426_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">file save&nbsp;dialog</figcaption></figure></div><p>Like I said just a second ago, this option is great if you just found a single file, and you want a copy of it. Beyond that though, this option isn&#8217;t very useful.</p><h4>The Release Download&nbsp;Method</h4><p>So, let&#8217;s move on to option two for downloading files from GitHub. This is called the release download option. This one allows you to download a whole codebase and sometimes a working version of the compiled program for a specific version number of the project.</p><p>To do this, first, go to the top-level directory of the project you want to download. If you aren&#8217;t already on the top-level page, just click the project name in the top left corner of the screen.</p><p>Once you&#8217;re there, click on the &#8220;tags&#8221; link near the top center of the page.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Udf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Udf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!0Udf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!0Udf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!0Udf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Udf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;repo with tags&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="repo with tags" title="repo with tags" srcset="https://substackcdn.com/image/fetch/$s_!0Udf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!0Udf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!0Udf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!0Udf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66b3a4e5-d3e7-445e-b7fc-48f94d66bf4a_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">repo with&nbsp;tags</figcaption></figure></div><p>This will open up a list of all the tags and release for this project. If you aren&#8217;t familiar, programmers will often tag their projects with version numbers to keep track of progress. These tags appear here on this screen like snapshots of the program.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nlWu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nlWu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!nlWu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!nlWu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!nlWu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nlWu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;GitHub tags page&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="GitHub tags page" title="GitHub tags page" srcset="https://substackcdn.com/image/fetch/$s_!nlWu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!nlWu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!nlWu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!nlWu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9040370-efc8-4306-a1b1-0e873789ff7f_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">GitHub tags&nbsp;page</figcaption></figure></div><p>On this page, the top-most tag is usually the newest version. Right below the name of the tag, you&#8217;ll see a link to download a zip file that contains the entire project. Click that link and wait for it to finish downloading.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TJQl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TJQl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 424w, https://substackcdn.com/image/fetch/$s_!TJQl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 848w, https://substackcdn.com/image/fetch/$s_!TJQl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 1272w, https://substackcdn.com/image/fetch/$s_!TJQl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TJQl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;project zip downloading on chrome&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="project zip downloading on chrome" title="project zip downloading on chrome" srcset="https://substackcdn.com/image/fetch/$s_!TJQl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 424w, https://substackcdn.com/image/fetch/$s_!TJQl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 848w, https://substackcdn.com/image/fetch/$s_!TJQl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 1272w, https://substackcdn.com/image/fetch/$s_!TJQl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48871313-b01e-4149-8fc3-1a0352b65f54_800x422.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">project zip downloading on&nbsp;chrome</figcaption></figure></div><p>After it's done just unzip the file, and now you have the entire project on your machine.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KzyV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KzyV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 424w, https://substackcdn.com/image/fetch/$s_!KzyV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 848w, https://substackcdn.com/image/fetch/$s_!KzyV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 1272w, https://substackcdn.com/image/fetch/$s_!KzyV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KzyV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;project directory unzipped&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="project directory unzipped" title="project directory unzipped" srcset="https://substackcdn.com/image/fetch/$s_!KzyV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 424w, https://substackcdn.com/image/fetch/$s_!KzyV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 848w, https://substackcdn.com/image/fetch/$s_!KzyV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 1272w, https://substackcdn.com/image/fetch/$s_!KzyV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5940929e-8335-4c5e-a75b-f4092cc81954_800x399.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">project directory unzipped</figcaption></figure></div><p>The &#8220;release download&#8221; option is great if you just want to grab the whole project as it exists right now or if you want to download a previous version of the code. It&#8217;s the least complicated way to get a whole project without any additional programs or tools.</p><h4>A Bit About&nbsp;Git</h4><p>But, as I mentioned earlier, GitHub is a place where developers store not just the most recent versions of their code, but instead, the entire history of the code based and every change that has ever happened.</p><p>You see, GitHub isn&#8217;t just &#8220;Google Drive for developers&#8221;. GitHub is actually a remote copy of what&#8217;s known as a git repository. Git is a tool that developers use to track changes and collaborate on software projects. It keeps track of every single change ever made to a code base as well as who made the change and notes provided by the person who made that change.</p><p>The next two methods for downloading files from GitHub step into using Git on your computer to pull down the project and its whole history. These last two methods are what you should do if you are a developer or learning to write code as it will be an absolutely necessary skill in your day-to-day life.</p><p>Before we get into the next two, you will need a few things. You don&#8217;t necessarily need to stop and do these right now, but they will be required if you&#8217;re following along.</p><p>First, you will need to have <a href="https://git-scm.com/book/en/v2/Getting-Started-Installing-Git">git installed on your computer</a>&nbsp;<br>Second, you will need a <a href="https://github.com/signup">free GitHub account</a>&nbsp;<br>Third, you will need to <a href="https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent">set up an SSH key and add your public key to your GitHub account</a>.</p><h4>The Clone&nbsp;Method</h4><p>So&#8230; the next method for downloading files from GitHub is called cloning. Once you have git installed on your machine, this method is also super easy. First, go back to the top-level directory of any project on GitHub and hit the green &#8220;code&#8221; button in the top right of the screen.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zdFH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zdFH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!zdFH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!zdFH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!zdFH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zdFH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aeed3774-05e4-4271-8326-d77daf5a7249_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;code dropdown on GitHub&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="code dropdown on GitHub" title="code dropdown on GitHub" srcset="https://substackcdn.com/image/fetch/$s_!zdFH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!zdFH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!zdFH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!zdFH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faeed3774-05e4-4271-8326-d77daf5a7249_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">code dropdown on&nbsp;GitHub</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H0fn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H0fn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 424w, https://substackcdn.com/image/fetch/$s_!H0fn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 848w, https://substackcdn.com/image/fetch/$s_!H0fn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 1272w, https://substackcdn.com/image/fetch/$s_!H0fn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H0fn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;closeup of code dropdown on GitHub&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="closeup of code dropdown on GitHub" title="closeup of code dropdown on GitHub" srcset="https://substackcdn.com/image/fetch/$s_!H0fn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 424w, https://substackcdn.com/image/fetch/$s_!H0fn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 848w, https://substackcdn.com/image/fetch/$s_!H0fn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 1272w, https://substackcdn.com/image/fetch/$s_!H0fn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcff4ecd-3bc1-41c8-8fea-156e3919482d_800x464.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">closeup of code dropdown on&nbsp;GitHub</figcaption></figure></div><p>From there, choose the SSH option then hit the little copy button to the right of the repo address.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QSHx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QSHx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!QSHx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!QSHx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!QSHx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QSHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;copy the repo URL&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="copy the repo URL" title="copy the repo URL" srcset="https://substackcdn.com/image/fetch/$s_!QSHx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!QSHx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!QSHx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!QSHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181f14d5-82f4-4ade-ba88-f01cc3f781b2_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">copy the repo&nbsp;URL</figcaption></figure></div><p>After you&#8217;ve copied the repo details, open up a terminal on your computer and change directories to a place where you want to keep your projects. Note that you don&#8217;t need to make an empty folder for the code, git will do that for you. Just navigate to a place where you want that folder to live.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4Xb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4Xb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!q4Xb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!q4Xb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!q4Xb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4Xb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;change to the parent directory&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="change to the parent directory" title="change to the parent directory" srcset="https://substackcdn.com/image/fetch/$s_!q4Xb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!q4Xb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!q4Xb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!q4Xb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F076ff975-6d86-4699-9dfa-88ca03ace476_800x537.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">change to the parent directory</figcaption></figure></div><p>From there, type <code>git clone</code> and then paste the repo details that you copied a second ago and hit enter.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KdDP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KdDP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!KdDP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!KdDP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!KdDP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KdDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;git clone command&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="git clone command" title="git clone command" srcset="https://substackcdn.com/image/fetch/$s_!KdDP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!KdDP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!KdDP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!KdDP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F345b087b-b85f-4196-8087-0a2c45bcd643_800x537.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">git clone&nbsp;command</figcaption></figure></div><p>If everything goes well, you should see git spit out a bunch of stuff as it pulls down the entire repo to your computer.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xQSM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xQSM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!xQSM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!xQSM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!xQSM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xQSM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;git cloning progress&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="git cloning progress" title="git cloning progress" srcset="https://substackcdn.com/image/fetch/$s_!xQSM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!xQSM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!xQSM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!xQSM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98f9e478-be8e-435e-8282-dcc5faf31be6_800x537.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">git cloning&nbsp;progress</figcaption></figure></div><p>Now you should see that git has created a new directory with the same name as the project you wanted and inside that directory will be all the source code of the project.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dHiL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dHiL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 424w, https://substackcdn.com/image/fetch/$s_!dHiL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 848w, https://substackcdn.com/image/fetch/$s_!dHiL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 1272w, https://substackcdn.com/image/fetch/$s_!dHiL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dHiL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35f589e8-52cc-434b-aff4-0af42962a913_800x399.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;git clone makes a new directory&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="git clone makes a new directory" title="git clone makes a new directory" srcset="https://substackcdn.com/image/fetch/$s_!dHiL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 424w, https://substackcdn.com/image/fetch/$s_!dHiL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 848w, https://substackcdn.com/image/fetch/$s_!dHiL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 1272w, https://substackcdn.com/image/fetch/$s_!dHiL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35f589e8-52cc-434b-aff4-0af42962a913_800x399.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">git clone makes a new directory</figcaption></figure></div><p>This cloning method is great if you want to pull down a whole project and poke around. The added bonus of using git to clone the project as opposed to just downloading the zip file is that at any point you can use the command <code>git pull</code> to pull down any changes that have been made to the project. There are tons of amazing things you can do with git, but that&#8217;s easily a topic for another post or even a set of posts.</p><h4>The Fork&nbsp;Method</h4><p>So now it&#8217;s time for the final method for downloading files from GitHub. This method is called &#8220;the fork method&#8221; and it&#8217;s designed for developers who don&#8217;t just want to get the files from a GitHub project but instead also want to make changes to the files and potentially push them back up to GitHub.</p><p>Forking a project on GitHub is just another way of saying &#8220;make my own copy&#8221;. When you fork a project you&#8217;ll be taking a project that is owned by someone else and making a copy of it on your GitHub account instead. I&#8217;ll get into the benefits of this after we go through how to do it.</p><p>So back to the root of the project on GitHub, instead of hitting the green &#8220;code&#8221; button, this time hit the fork button in the very top right.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NQO1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NQO1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!NQO1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!NQO1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!NQO1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NQO1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fork on the top right&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="fork on the top right" title="fork on the top right" srcset="https://substackcdn.com/image/fetch/$s_!NQO1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!NQO1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!NQO1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!NQO1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276f3b0f-c5fb-460c-9898-c2beb1d7f0ff_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">fork on the top&nbsp;right</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v7Nf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v7Nf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 424w, https://substackcdn.com/image/fetch/$s_!v7Nf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 848w, https://substackcdn.com/image/fetch/$s_!v7Nf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 1272w, https://substackcdn.com/image/fetch/$s_!v7Nf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v7Nf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;close up of fork button on GitHub&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="close up of fork button on GitHub" title="close up of fork button on GitHub" srcset="https://substackcdn.com/image/fetch/$s_!v7Nf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 424w, https://substackcdn.com/image/fetch/$s_!v7Nf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 848w, https://substackcdn.com/image/fetch/$s_!v7Nf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 1272w, https://substackcdn.com/image/fetch/$s_!v7Nf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6b12caa-e4be-44c3-aaf1-db9bd84d2223_800x515.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">close up of fork button on&nbsp;GitHub</figcaption></figure></div><p>The next screen that will appear will ask you to choose a GitHub account and repo name for your fork. If you only have one GitHub account there will be only one option here. I would also recommend leaving the repository name alone since it&#8217;s a copy of the original one created by the owner.</p><p>In most cases, you just need to hit the green &#8220;create fork&#8221; button at the bottom</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wXOj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wXOj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!wXOj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!wXOj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!wXOj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wXOj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;GitHub fork settings screen&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="GitHub fork settings screen" title="GitHub fork settings screen" srcset="https://substackcdn.com/image/fetch/$s_!wXOj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!wXOj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!wXOj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!wXOj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f5e3bec-08cd-4bf9-a584-670797fb26e9_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">GitHub fork settings&nbsp;screen</figcaption></figure></div><p>Now just wait a few seconds as GitHub makes your copy.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NPCi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NPCi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!NPCi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!NPCi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!NPCi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NPCi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5db484f-6d91-470d-9415-884b1f001373_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fork loading screen&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="fork loading screen" title="fork loading screen" srcset="https://substackcdn.com/image/fetch/$s_!NPCi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!NPCi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!NPCi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!NPCi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5db484f-6d91-470d-9415-884b1f001373_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">fork loading&nbsp;screen</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9ax4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9ax4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!9ax4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!9ax4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!9ax4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9ax4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;copy of repo that you own&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="copy of repo that you own" title="copy of repo that you own" srcset="https://substackcdn.com/image/fetch/$s_!9ax4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!9ax4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!9ax4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!9ax4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e1aca8-a625-450d-b63c-ded595c98e68_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">copy of repo that you&nbsp;own</figcaption></figure></div><p>Now so that you can see what we did here&#8202;&#8212;&#8202;this is the original project that I forked.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Tpo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Tpo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 424w, https://substackcdn.com/image/fetch/$s_!_Tpo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 848w, https://substackcdn.com/image/fetch/$s_!_Tpo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 1272w, https://substackcdn.com/image/fetch/$s_!_Tpo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Tpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;repo with original owner shown&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="repo with original owner shown" title="repo with original owner shown" srcset="https://substackcdn.com/image/fetch/$s_!_Tpo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 424w, https://substackcdn.com/image/fetch/$s_!_Tpo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 848w, https://substackcdn.com/image/fetch/$s_!_Tpo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 1272w, https://substackcdn.com/image/fetch/$s_!_Tpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168f9f35-86e7-4eca-8044-01ce1cfd8730_800x113.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">repo with original owner&nbsp;shown</figcaption></figure></div><p>And this is the forked copy. You can see that the owner changed, and it even shows that it is a fork of another project which is a nice and easy way to get back to the original if you need to.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N_AT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N_AT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 424w, https://substackcdn.com/image/fetch/$s_!N_AT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 848w, https://substackcdn.com/image/fetch/$s_!N_AT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 1272w, https://substackcdn.com/image/fetch/$s_!N_AT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N_AT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;forked repo showing new ownership and fork indicator&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="forked repo showing new ownership and fork indicator" title="forked repo showing new ownership and fork indicator" srcset="https://substackcdn.com/image/fetch/$s_!N_AT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 424w, https://substackcdn.com/image/fetch/$s_!N_AT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 848w, https://substackcdn.com/image/fetch/$s_!N_AT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 1272w, https://substackcdn.com/image/fetch/$s_!N_AT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917fde3c-25aa-4f28-977e-43933368a1a9_800x133.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">forked repo showing new ownership and fork indicator</figcaption></figure></div><p>Now that you have your own copy, go to the &#8220;code&#8221; button on the right-hand side and copy the repo address just like we did before in the clone method</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nLkg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nLkg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!nLkg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!nLkg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!nLkg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nLkg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;clone your fork of the original repo&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="clone your fork of the original repo" title="clone your fork of the original repo" srcset="https://substackcdn.com/image/fetch/$s_!nLkg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 424w, https://substackcdn.com/image/fetch/$s_!nLkg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 848w, https://substackcdn.com/image/fetch/$s_!nLkg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 1272w, https://substackcdn.com/image/fetch/$s_!nLkg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb95ae2a8-2f5c-48f6-a2a5-b2ca941822bf_800x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">clone your fork of the original&nbsp;repo</figcaption></figure></div><p>Then in your terminal again, type <code>git clone</code> and paste the repo address.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W3ME!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W3ME!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!W3ME!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!W3ME!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!W3ME!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W3ME!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;cloning the forked repo in the terminal&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="cloning the forked repo in the terminal" title="cloning the forked repo in the terminal" srcset="https://substackcdn.com/image/fetch/$s_!W3ME!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 424w, https://substackcdn.com/image/fetch/$s_!W3ME!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 848w, https://substackcdn.com/image/fetch/$s_!W3ME!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 1272w, https://substackcdn.com/image/fetch/$s_!W3ME!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a558f0-4a78-4ad9-8ff1-e220eae41c4b_800x537.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">cloning the forked repo in the&nbsp;terminal</figcaption></figure></div><p>Now you have a clone of your fork of the original project.</p><p>So, what&#8217;s the point of all of that? Well, as I briefly mentioned earlier, if you want to actually make changes to this code and potentially push it back up to GitHub, you need to follow this fork method. The reason for this is that while you have permission to clone someone else&#8217;s repo, you don&#8217;t have permission to publish code to someone else&#8217;s repo.</p><p>By making a fork, then cloning the forked copy, you can now make changes and use git to push those changes back up to your copy since you have permission to push code to your own copy.</p><p>Beyond that, if you make a change that you think would be useful to the original owner of the project, you can now use GitHub&#8217;s built-in tools to request that the original owner pull your code in.</p><p>I made a whole video about how to contribute to open-source projects that cover this topic from end to end. <a href="https://askcloudarchitech.com/posts/self-improvement/how-contribute-open-source-software/">You can check it out here.</a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fHzc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fHzc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fHzc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fHzc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fHzc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fHzc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!fHzc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fHzc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fHzc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fHzc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ec31c22-065b-48b8-83f1-da60ea5ce698_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Taking Developer Efficiency to the Extreme]]></title><description><![CDATA[Do you know what developers like to do? Write code. Do you know what businesses like their developers doing? Writing code.]]></description><link>https://learnfastmakethings.com/p/taking-developer-efficiency-to-the-extreme-92480d04aaec</link><guid isPermaLink="false">https://learnfastmakethings.com/p/taking-developer-efficiency-to-the-extreme-92480d04aaec</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Fri, 17 Mar 2023 22:32:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/68b1a7cf-8220-4ad4-b366-cd5af0991c57_800x533.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!thcT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!thcT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 424w, https://substackcdn.com/image/fetch/$s_!thcT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 848w, https://substackcdn.com/image/fetch/$s_!thcT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!thcT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!thcT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Be Obsessed with developer efficiency&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="Be Obsessed with developer efficiency" title="Be Obsessed with developer efficiency" srcset="https://substackcdn.com/image/fetch/$s_!thcT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 424w, https://substackcdn.com/image/fetch/$s_!thcT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 848w, https://substackcdn.com/image/fetch/$s_!thcT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!thcT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2276c6b8-720e-45ea-bb80-08e79012b83d_800x533.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Be Obsessed with developer efficiency</figcaption></figure></div><p>Do you know what developers like to do? Write code. Do you know what businesses like their developers doing? Writing code. Do you know what both businesses and developers absolutely hate? Inefficiency!</p><p>Was that too obvious? Well, you might think so at the surface, but efficiency is a deep rabbit hole and can be defined in a ton of different ways in the context of development. As a matter of fact, it&#8217;s a topic I am deeply passionate about, and you should be too. So today, let me ask for a few minutes of your time, so we can go down the efficiency rabbit hole together.</p><p>Are you ready?</p><p>I don&#8217;t think I could ever sum up just how obsessed I am with developer efficiency in just one article. I think that spending time making it, so a developer can do more coding and less other garbage is the secret to success in software projects. So to attempt to scratch the surface, today I am going to discuss the top three places where devs unnecessarily waste most of their time and usually end up absolutely thrashing the timeline of a development project.</p><h4>Three Ways to Improve Developer Efficiency</h4><h4>1. Local Development Environment Setup</h4><p>At the risk of having you all leave and stop reading this article, I&#8217;d like you to go to GitHub and look at some random projects. How many of them have the most incredibly ass backward instructions on how to actually get a project working locally? Not only is this probably the number one reason a developer would choose not to contribute to a project, but it&#8217;s also a process that collectively adds hundreds of hours to a business-driven software project. The most terrible examples go one of two ways:</p><ol><li><p>There are no instructions and the only way you will ever get up and running locally is to talk to someone else that already knows how or&#8230;</p></li><li><p>There are instructions, but they are outdated, only work on certain machines, or only work half the time.</p></li></ol><p>From a developer&#8217;s perspective, if you spend half a day (or even half an hour for that matter) fiddling around with dependencies and local development tools before you can even start the task you&#8217;ve been assigned, you start your day on the completely wrong foot. You also end up looking like you code super slowly because of all the time you are wasting just getting set up.</p><p>From a management perspective, projects that don&#8217;t have a simple setup process might as well be burning your money. It's repetitive toil that results in 0 gained output and never gets any better.</p><p>So here&#8217;s my advice on how to fix the local environment setup. Actually, there are two options.</p><ol><li><p>Use docker containers&#8202;&#8212;&#8202;Docker containers for development standardize the dependency stack and lock in all the dependency versions, so nobody has to worry about it. As an added bonus it also greatly reduces (but doesn&#8217;t eliminate) the &#8220;works on my machine&#8221; problem.</p></li><li><p>Makefile or setup scripts&#8202;&#8212;&#8202;If the nature of your project isn&#8217;t container friendly, take the time to write a script that will set up the project for a first-time developer. This process can be a little more complicated than it seems at the surface but it's absolutely worth the effort. Try to think about things like dependency versions, different machine architectures like mac vs windows, and the fact that the person doing the work probably has to work on multiple projects at once.</p></li></ol><p>Now before I move on from this one, I think there are a couple of very important call-outs to make. The steps I listed above should not be confused with &#8220;local build instructions&#8221;. Local build instructions are a blueprint for how to take the source code and turn it into a final working project on your machine. Just being able to build from source is NOT what I&#8217;m talking about here. I&#8217;m talking about the ability to set up a project to actually contribute to it. This usually includes well-written ways to build the project locally, but it&#8217;s more than that.</p><p>When you set up local development instructions, think about how a developer would actually work on the code. Usually, with a containerized approach this means having the source volume mounted to the container. This way, when changes are made, there can be an even quicker way of just seeing the changes without having to completely rebuild the container.</p><h4>2. Testing and Preparing Demos</h4><p>After completing a coding task, there&#8217;s nothing more frustrating than having to manually prepare a demo environment or a space for QA to do their thing. This type of work is super time-consuming and it's just another distraction that pulls devs away from their actual job of writing code. I think for a lot of companies this is part of a dev&#8217;s job description but why? If they can complete the task to spec and then move on to the next, that is a much better use of their time and the company&#8217;s dollars.</p><p>So&#8230; how do you avoid wasting a bunch of time preparing a nice place to test? Automate!</p><p>Let me set the bar for you. A developer should be able to finish their task, open a pull request and walk away. If they have to do anything else you are wasting time on repetitive work that is getting them nowhere. Now where the magic happens is with all the automated stuff that happens after the dev walks away.</p><ol><li><p>Automated unit tests are run</p></li><li><p>Static code analysis is done</p></li><li><p>A test environment is automatically built</p></li><li><p>Integration and end-to-end tests are automatically run</p></li><li><p>The product manager is notified that the environment is ready for a &#8220;self-demo&#8221;</p></li></ol><p>If any of these processes fail, the developer is notified and can come back to fix whatever happened. If the self-demo leads to questions or concerns, the product manager can reach out to the dev with questions.</p><p>Believe me, the last thing anyone wants is to submit work that doesn&#8217;t meet requirements. You&#8217;d be surprised how much effort someone will put in to avoid having to re-explain their work. You should try it.</p><h4>3. Requirement Misunderstandings</h4><p>This one is definitely one of those &#8220;an ounce of prevention is worth a pound of cure&#8221; scenarios. It&#8217;s also the only scenario in this list where I am recommending that a developer take their hands off the keyboard and just have a simple conversation.</p><p>It&#8217;s amazing to me how many companies do the exact opposite of that. They write requirements in a vacuum with no developer input or Q and A session. They then follow up in a demo (see above) to clarify the finer points of the request AFTER the work has been completed. This is completely upside down.</p><p>For a manager, the solution to this one should be pretty self-explanatory. When you want to make something, talk to the person who will be making it. Have a real meaningful conversation about the goals of the project. Talk about what you want, what you don&#8217;t want, and where you may be flexible.</p><p>For a developer, trying to get this started at your place of work might be a challenge. If you do manage to get the team to try it, don&#8217;t blow it by being a jerk. Really listen to what the company is trying to accomplish. Make suggestions where time could be saved or where doing work now will pay off in the long run, without sounding like you are over-engineering (but that&#8217;s a different topic)</p><h4>This is Just The Beginning</h4><p>If you just read all of this and thought &#8220;hey, these sound like good ideas&#8221; I promise this is just scratching the surface. Each of the three methods above has a ton of finer details that just couldn&#8217;t go into this post (due to attention span constraints). If you really start to look hard at where developers are spending time, you can begin to see the wasted hours, minutes, and even seconds that all add up. So forge forward, and take a dive down the rabbit hole. Just see how deep it goes.</p>]]></content:encoded></item><item><title><![CDATA[What even is “the edge”? Fog Compute / Edge Compute Explained]]></title><description><![CDATA[&#8220;The Edge&#8221; is all the rage these days, and it kinda seems like every tech company out there is trying to find a way to tell their&#8230;]]></description><link>https://learnfastmakethings.com/p/what-even-is-the-edge-fog-compute-edge-compute-explained-df5b4433ac08</link><guid isPermaLink="false">https://learnfastmakethings.com/p/what-even-is-the-edge-fog-compute-edge-compute-explained-df5b4433ac08</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Wed, 15 Mar 2023 22:50:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/63467dc0-817e-4900-9ff9-669fb67bb49e_800x450.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M1Tj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M1Tj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!M1Tj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!M1Tj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!M1Tj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M1Tj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What is 'The Edge'?&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="What is 'The Edge'?" title="What is 'The Edge'?" srcset="https://substackcdn.com/image/fetch/$s_!M1Tj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!M1Tj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!M1Tj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!M1Tj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8e4820d-69f8-430a-b613-a4ea3971de3f_800x450.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">What is &#8216;The&nbsp;Edge&#8217;?</figcaption></figure></div><p>&#8220;The Edge&#8221; is all the rage these days, and it kinda seems like every tech company out there is trying to find a way to tell their consumers that they are on the bandwagon of &#8220;edge computing&#8221;.</p><p>As with most of these buzzword tech inventions, the name doesn&#8217;t really matter. What matters more is the concept behind it. Once you understand what they mean you may even find that you are using &#8220;the edge&#8221; or &#8220;the fog&#8221; (I&#8217;ll get into this later) in your day-to-day life, and it&#8217;s really not that big of a deal. You may even find that this tech existed way before it had this fancy name.</p><p>So if you put all the hype aside what, exactly, is &#8220;the edge&#8221;?</p><p>Putting all the boring technical definitions aside, the entirety of the whole edge and fog hype can be summed up like this:</p><blockquote><p>Edge computing is all about processing data in a geographically closer location before sending it back to a centralized location.</p></blockquote><p>That&#8217;s it. So&#8230; that&#8217;s the end of my article. Goodnight everyone!</p><p>Nah, just kidding. Let&#8217;s discuss some examples of edge computing and where the term fog computing comes in.</p><p>As I mentioned above in my super simplified definition, Edge computing really just defines the idea that computing doesn&#8217;t need to be done in one centralized location and then sent or received to or from a network-connected device. The term edge computing started being used around the same time as the term Content Delivery Network (CDN). The idea here is that traditional PCs or servers aren&#8217;t the only devices connected to the network anymore. But, things have evolved since then and the term &#8220;Edge Computing&#8221; has kinda separated from the term &#8220;Edge Networking&#8221;.</p><p>Edge computing these days is now more associated with the Internet of Things (IoT). These devices could be literally anything. Phones, cameras, sensors, household appliances, and vehicles are all &#8220;things&#8221; in IoT. Since all of these things gather data and are expected to do something fun and exciting, they all need to either process information locally or send the information they capture to a server that does some processing and then acts based on what it has computed.</p><p>So with all of these &#8220;things&#8221; out there, you could imagine that some of them need to react quickly or possibly process data that shouldn&#8217;t be passed across the internet to a centralized server. To add to that, the centralized server is probably geographically far away from the thing which adds additional problems with that whole &#8220;quickly&#8221; part.</p><p>Edge computing aims to solve these issues, and the way it&#8217;s solved is by processing data somewhere other than a faraway server somewhere up in the cloud.</p><h4>Examples of Edge Computing</h4><p>Here are a couple of examples:</p><ol><li><p>Chick-fil-A&#8202;&#8212;&#8202;No matter what you think of their politics, Chick-fil-A has some sweet networking and edge computing stuff going on. If you don&#8217;t follow the <a href="https://medium.com/chick-fil-atech">Chick-fil-A tech medium publication</a>, you are missing out on some pretty cool stuff. They have built and shipped mini Kubernetes clusters to each of their locations to allow for local compute to happen at the store and call back home with the details. This is an excellent example of edge computing at its best.</p></li><li><p>Connected cars&#8202;&#8212;&#8202;I don&#8217;t think that most people really consider it, but your car is probably an edge compute node all on its own. For more technologically advanced cars like Tesla, an absolute ton of data is processed inside the vehicle. This includes all the advanced safety and convenience features that use cameras and sensors all over the car. Most of this data never leaves the vehicle. Instead, it&#8217;s all computed at the edge with only the distilled data being sent back to the mothership.</p></li></ol><h4>What is &#8220;Fog&#8221; Computing?</h4><p>To be completely honest, this is kinda splitting hairs. It feels like another buzzword that could generate some revenue, so it got jammed into the tech term glossary. Very Simply, Fog Computing is somewhere between edge computing and traditional cloud computing at data centers. The best example I could give would be a company network with a bunch of different sensors like motion sensors, smart lights, monitoring, etc. All of these devices may not provide much computing themselves and even tying them together at the edge might be too close to get the big picture. By taking one step out and bringing the data together on the network (but not as far as a data center), you can get valuable data and make decisions without consuming as much general internet bandwidth.</p><h4>Confusing Overloaded Use of&nbsp;&#8220;Edge&#8221;</h4><p>Another common place where you hear the word &#8220;edge&#8221; come into play is edge networking. This term generally applies the same concepts but is slightly different from your traditional edge computing. Edge networking is often related to Content Delivery Networks that will physically distribute caching servers around the globe.</p><p>With edge networking, when you make a request, for example, to read this article, you are probably not getting the article served to you from the original source. It&#8217;s way more likely that you are getting served a cached copy of the article (or at least part of it) from a cache server at the network&#8217;s edge.</p><p>Over the last few years, edge networking has gotten more and more advanced. Services like Cloudflare now offer way more than just caching at their edge. They now offer (with some configuration) the ability to distribute parts of your website logic out to the edge as well. This takes the strain off of your poor server that in the past would have to serve all the dynamic content on its own.</p><p>Another edge provider that many web developers will be very familiar with is <a href="https://vercel.com/">Vercel.</a> Vercel can take an application written with the popular meta-framework <a href="https://nextjs.org/">NextJs</a> and distribute to it&#8217;s edge networks to make your website highly available and distributed with very little extra work.</p><h4>Is it All Just&nbsp;Hype?</h4><p>Well, yes and no I suppose. All this edge stuff is undoubtedly real and useful tech. If you lump it all together and forget all the hyped-up tech lingo, it&#8217;s really just a way of saying &#8220;move the computing power closer to the user&#8221;. Getting caught up in the technical definitions seems a little silly when in reality it&#8217;s best to just think of the optimal way to make a great experience for the end user. So, if you are asked about edge technology, just think &#8220;distributed&#8221;. Gone are the days of a simple server sitting on a rack serving an entire experience. To truly compete, you need to make things fast and efficient. To do that, you probably need to use (or are already using) &#8220;the Edge&#8221;.</p>]]></content:encoded></item><item><title><![CDATA[Does Low-code / No-Code Really Save Time and Money?]]></title><description><![CDATA[I am a software developer. I write code for a living. You should know this before reading any further.]]></description><link>https://learnfastmakethings.com/p/does-low-code-no-code-really-save-time-and-money-4649cfdb26b8</link><guid isPermaLink="false">https://learnfastmakethings.com/p/does-low-code-no-code-really-save-time-and-money-4649cfdb26b8</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Tue, 14 Mar 2023 19:48:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5df54f7d-6760-4918-8368-c1b4f41e5e0c_800x600.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am a software developer. I write code for a living. You should know this before reading any further.</p><p>Ok, with that out of the way, I&#8217;d like to have a pretty serious talk about no-code/low-code solutions and how I think they actually waste more time than what they save. They may even cause more bugs than they prevent.</p><h4>OK, But First, What is No-Code / Low-code?</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bJS1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bJS1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bJS1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bJS1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bJS1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bJS1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;low-code is like building blocks&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="low-code is like building blocks" title="low-code is like building blocks" srcset="https://substackcdn.com/image/fetch/$s_!bJS1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bJS1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bJS1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bJS1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac09c64b-5c8f-4e4b-8d87-9989272a00de_800x600.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">low-code is like building&nbsp;blocks</figcaption></figure></div><p>Before I begin my rant, err&#8202;&#8212;&#8202;findings, maybe I should start with a brief definition of what the heck I&#8217;m talking about. No-Code / Low-Code apps are essentially tools that allow people (non-engineers) to make solutions to problems by using a UI instead of writing code. Solutions like this range all the way from something like Zapier (a tool that allows you to make workflows between cloud services) to full-scale CRMs like Salesforce or Hubspot that allow you to configure the entire experience through their administrative interface.</p><p>The important thing to know here is that these tools are absolutely EVERYWHERE. It&#8217;s all the rage right now. Every IT department on the entire planet is drooling over the idea of people just being able to buy solutions and make them work without having to write any code. Because, you know, writing code is hard, and the world is in a place technologically where we really shouldn&#8217;t need to do hard stuff anymore.</p><h4>This Sounds Great, Let&#8217;s Build Everything Low-Code!</h4><p>Developers are EXPENSIVE, and all they do is jump from job to job on their mission to maximize their salary. All these no-code solutions are the answers to everyone&#8217;s prayers! NO MORE DEVELOPERS!? That&#8217;s amazing! Just imagine all the money we will save!</p><p>And you know what? At the surface that does appear to be the promise. No developers are necessary. All you need to do is buy an account with one of these tools and then start configuring. In no time at all, you can have all your totally custom business logic set up in your app. Just click all the right buttons in just the right sequence and TADA! You just made yourself a thing with no developers, just administrators.</p><p>If you look around there are no-code solutions for almost everything. Here&#8217;s a list</p><ul><li><p>Apps&#8202;&#8212;&#8202;<a href="https://flutterflow.io/">https://flutterflow.io/</a></p></li><li><p>Websites&#8202;&#8212;&#8202;<a href="https://www.wix.com/">https://www.wix.com/</a></p></li><li><p>eCommerce&#8202;&#8212;&#8202;<a href="https://www.squarespace.com/">https://www.squarespace.com/</a></p></li><li><p>CRM&#8202;&#8212;&#8202;<a href="https://www.hubspot.com/">https://www.hubspot.com/</a></p></li><li><p>Integration&#8202;&#8212;&#8202;<a href="https://www.tray.io">https://www.tray.io</a></p></li><li><p>Event-driven stuff&#8202;&#8212;&#8202;<a href="https://zapier.com/">https://zapier.com/</a></p></li><li><p>Project management&#8202;&#8212;&#8202;<a href="https://www.airtable.com/">https://www.airtable.com/</a></p></li><li><p>Email marketing&#8202;&#8212;&#8202;<a href="https://mailchimp.com/">https://mailchimp.com/</a></p></li></ul><p>I think you get the point.</p><p>But before you start thinking that this article is going to be just me trashing all of these tools, let me throw you a curveball. Each of these (and all the others) are absolutely GREAT applications. I even use some of them personally.</p><p>Personally.</p><p>And I think that might be the key word here. These tools have a ton of functionality if you are trying to get off the ground with a simple concept. They serve the purpose of providing quick and somewhat generic solutions for common problems. Even tools like Zapier that sell the idea of &#8220;Connect anything to anything&#8221; don&#8217;t actually connect literally everything to everything. They actually connect a subset of popular platforms in an even smaller subset of popular ways. Because at the end of the day, a developer had to code all this, so you don&#8217;t have to (but that&#8217;s a different topic).</p><h4>OK, What's So Bad About Using No-Code for More Complex Scenarios?</h4><p>I think I&#8217;ll finally get to my point now. We&#8217;ve covered what they are and where they help, but now it&#8217;s time to talk about where they hurt and where many businesses miss the point.</p><p>As soon as you lose the use case of &#8220;small business looking for quick solutions&#8221;, you will begin the see the problems with these tools. Let&#8217;s break them down</p><h4>Configuration Takes&nbsp;Time</h4><p>If there&#8217;s one thing I know for certain, ALL of these tools make a really solid sales pitch. Configuration takes way less time than writing code. I guess that&#8217;s partially true but only in one situation: if you don&#8217;t know how to code.</p><p>That&#8217;s right! The sales pitch is perfect for the audience! The person who doesn&#8217;t know how to code is looking for ways to do things without writing any code. This tool is faster because it requires no code. Of course, it&#8217;s faster because for a non-developer it&#8217;s literally the only solution beyond hiring someone else to do it.</p><p>But&#8230; if you are a company that has any type of resources, you could hire someone to do it. That someone that you hired could make the thing you want in less time than it would take to do it with the no-code solution, and it would be more secure and cheaper in the long run. Honestly, I&#8217;ve experienced this so many times I&#8217;ve lost count. Seeing a company burn time trying to figure out how to get the low-code thing to do what they want just kills me. Especially when It&#8217;s something that could be done with only a few hundred lines of code. I&#8217;m not exaggerating.</p><p>This gets me to my next point.</p><h4>Custom Means No Compromises</h4><p>Even if you could use a no-code solution to solve all of your problems, you will probably find that it&#8217;s not perfect. You probably have to make some compromises to your vision or do some workarounds to make the problem solvable with the no-code solution. Adjusting your problem to match the pre-made solution is never a good idea.</p><p>That&#8217;s probably all well and good if you are a small business getting off the ground, but if you are a larger company you probably don&#8217;t want those types of workarounds in your setup (also known as hacks). If you didn&#8217;t use the no-code solution and instead built a solution that exactly solved your problem you won&#8217;t have to deal with the bugs later down the road. On top of that, having the solution in one tight package instead of a ton of little widgets and configurations will make maintenance down the road waaaay easier.</p><p>This&#8230; leads me to my next point.</p><h4>How Many Tools Do You&nbsp;Need?</h4><p>When it comes to these low-code solutions, probably just one of them won&#8217;t be the unicorn you are looking for. In many cases, you&#8217;ll need to tie several of them together to get the final outcome you desire. At some point, the &#8220;simple&#8221; solution starts to look exactly the opposite. Unraveling all the config to figure out how something works a year later becomes incredibly challenging. It might work right now, but will you honestly be able to make changes to it later without spending a TON of time relearning exactly what you did?</p><p>This&#8230; leads me to my next point.</p><h4>Where&#8217;s the Documentation?</h4><p>Most well-written custom apps have documentation. If you have developers that are any good at all, they will either write docs for their apps or even maybe write apps that document themselves. With no-code solutions, you don&#8217;t get any of that. At best, you might get a visual that shows how your integrations tie together, but most of the time it's just going to be a bunch of screens of config that someone else will have to unravel after that first admin leaves for a better job.</p><p>This&#8230; leads me to my final point.</p><h4>Specialists are Also Expensive</h4><p>The whole &#8220;developers are expensive, admins are cheap&#8221; thing is a pile of you know what. I&#8217;ve personally seen a single developer make a focused custom app that would take three administrators to make in a low-code solution. So&#8230; let&#8217;s do some math. Actually, I don&#8217;t think it even takes any real math. Three administrators cost more than one dev any day. Additionally, some low-code application experts are in super high demand right now. I don&#8217;t think you&#8217;ll find them sticking around at your company any longer than a dev would. Plus, how long someone stays really has nothing to do with pay at the end of the day (again, another topic for another time)</p><h4>It all Comes Down To One&nbsp;Question</h4><p>I think it&#8217;s pretty easy to see that there are pros and cons to using no-code solutions. Sometimes they are exactly what you need. Sometimes they cause more harm than good. So, how do you choose? Well, I think the answer to that is: After reviewing the functionality of the solution does it solve your problem easily? If you can confidently say &#8220;yes&#8221; to that question, go for it. But, if you hesitate for even a second and think a low-code solution might be <em>almost</em> what you need but not quite, I&#8217;d strongly advise you to avoid trying to &#8220;make it work&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u04e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u04e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!u04e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!u04e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!u04e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u04e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!u04e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!u04e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!u04e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!u04e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ae3a18-8b88-41a0-9f8f-5e794833deea_800x600.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Step-by-Step: Adding Shared Storage to a Kubernetes Cluster]]></title><description><![CDATA[Today I&#8217;m going to show you how to expand the capabilities of a Kubernetes cluster by adding shared storage]]></description><link>https://learnfastmakethings.com/p/step-by-step-adding-shared-storage-to-a-kubernetes-cluster-c37302411b0d</link><guid isPermaLink="false">https://learnfastmakethings.com/p/step-by-step-adding-shared-storage-to-a-kubernetes-cluster-c37302411b0d</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Mon, 13 Mar 2023 21:51:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/efa8gwmbPms" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><div id="youtube2-efa8gwmbPms" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;efa8gwmbPms&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/efa8gwmbPms?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>Hey there and welcome back. I hope you&#8217;re having an excellent day.</p><p>Today I&#8217;m going to show you how to expand the capabilities of a Kubernetes cluster by adding shared storage. For the demo, I&#8217;ll be upgrading my home cluster by connecting a Synology NAS as an NFS server that can serve read-write-many persistent volumes.</p><p>But before I get into the demo, it&#8217;s probably a good idea to explain why you would want to do this and the downsides of sticking with the default storage that comes with a Kubernetes cluster.</p><h4>A Little Bit About Kubernetes Storage</h4><p>In the last article I released, we set up a two-node Kubernetes cluster using two Mac Minis. But no matter if this is just a small home setup or a full-scale enterprise compute cluster, Kubernetes running on nodes such as these are really designed to provide only compute resources.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g9DO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g9DO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!g9DO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!g9DO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!g9DO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g9DO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;close up of two mac minis as Kubernetes nodes&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="close up of two mac minis as Kubernetes nodes" title="close up of two mac minis as Kubernetes nodes" srcset="https://substackcdn.com/image/fetch/$s_!g9DO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!g9DO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!g9DO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!g9DO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4381efc-6d57-42b0-a974-0fe83e0ca47a_800x450.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">close up of two mac minis as Kubernetes nodes</figcaption></figure></div><p>And When I say compute resources, what I mean is essentially the logic needed to do the computational task at hand. Whether that be a web server, a database, background processes, or whatever you can dream up, it's really only designed to handle crunching the numbers and not much else. Since Kubernetes is running docker containers, compute resources on a Kubernetes cluster are designed to be started, stopped, and shuffled around at will.</p><p>This means that if your compute workload needs to store things on a disk for anything other than temporary usage, it&#8217;ll need someplace else to store that data.</p><p>On Kubernetes, that means declaring persistent volumes in the definition of your app. So When your workload starts up, it looks to mount a disk of some sort for storing things.</p><p>Then, if the workload restarts or gets moved around it can just re-attach to the same storage volume and continue right where the last one left off.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1rN4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1rN4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1rN4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1rN4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1rN4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1rN4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Single node HostPath&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="Single node HostPath" title="Single node HostPath" srcset="https://substackcdn.com/image/fetch/$s_!1rN4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1rN4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1rN4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1rN4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f6198a-cc26-4a62-8ce9-1abfd740fabd_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Single node&nbsp;HostPath</figcaption></figure></div><h4>The Issues with HostPath&nbsp;Storage</h4><p>The issue though, that we start to run into immediately is the location and the availability of those requested storage volumes. As I mentioned a minute ago, if you have a single node Kubernetes cluster running, you can just create your volumes on the same machine that&#8217;s running Kubernetes. This is called a &#8220;host path&#8221; volume.</p><p>In the case of a single node cluster, everything is simple. You know that if a workload restarts, it&#8217;s guaranteed to start on your single node. When it starts it will be able to find the volume because it&#8217;s on that same machine.</p><p>When you move to two or more nodes you almost immediately will have issues with these simple host-based volumes. Let&#8217;s use my little cluster here for an example.</p><p>Let&#8217;s say I have a workload on node one, and it has a host path volume attached. At this point, everything works just fine.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b_7A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b_7A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b_7A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b_7A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b_7A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b_7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Single node HostPath volume diagram&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="Single node HostPath volume diagram" title="Single node HostPath volume diagram" srcset="https://substackcdn.com/image/fetch/$s_!b_7A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b_7A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b_7A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b_7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5b091c-c653-4d05-87d2-8db0c6d4e486_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Single node HostPath volume&nbsp;diagram</figcaption></figure></div><p>But, what if node one becomes overwhelmed and this workload needs to be moved to node 2? Now, all of a sudden you have a workload on node 2 that is looking for a volume that only exists on node 1. In this case, it won&#8217;t be able to start up because the volume isn&#8217;t available.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xloI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xloI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xloI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xloI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xloI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xloI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;rescheduled pod on node 2 cannot access volume&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="rescheduled pod on node 2 cannot access volume" title="rescheduled pod on node 2 cannot access volume" srcset="https://substackcdn.com/image/fetch/$s_!xloI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xloI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xloI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xloI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67fb6b50-6538-4699-a0cf-40827cf1a13f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">rescheduled pod on node 2 cannot access&nbsp;volume</figcaption></figure></div><p>A similar, but slightly different problem occurs if we need to have two instances of this workload running. In the case of scaling a workload, Kubernetes will try to start one instance of the workload on each node and this actually makes two different problems.</p><p>First, you have the same unavailable volume issue as the first example, but even if you did somehow make this disk available to both workloads, the second issue is that host path volumes are what&#8217;s called &#8220;read write once&#8221;. In Kubernetes lingo, this means that while two workloads can mount this volume, only one of them has permission to write to it. So that&#8217;s a different problem altogether</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8IKg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8IKg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8IKg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8IKg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8IKg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8IKg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;read write once diagram&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="read write once diagram" title="read write once diagram" srcset="https://substackcdn.com/image/fetch/$s_!8IKg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8IKg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8IKg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8IKg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe52baeaf-8163-4c28-acd2-4e6524295063_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">read write once&nbsp;diagram</figcaption></figure></div><p><strong><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech">Gary M - Medium</a></strong><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech"><br></a><em><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech">Read writing from Gary M on Medium. Lead developer, systems architect, and lifetime learner. Every day, Gary M and&#8230;</a></em><a href="https://medium.com/@askcloudarchitech" title="https://medium.com/@askcloudarchitech">medium.com</a></p><h4>NFS To The&nbsp;Rescue!</h4><p>Luckily there&#8217;s a pretty easy way to solve all of this. It&#8217;s called the Kubernetes NFS provisioner (or NFS container storage interface). NFS servers have been around for forever and have provided a simple way for multiple workloads to connect to one disk. It even allows both workloads to read and write simultaneously. The NFS CSI allows a multi-node Kubernetes cluster to create and mount volumes that are backed by NFS. Installing and configuring the CSI is a one-time thing and after that, it&#8217;s completely transparent to the user of the cluster.</p><p>So let&#8217;s get into the steps and ill show you how to set up a Kubernetes cluster to use NFS for provisioning volumes.</p><p>The very first thing we need to do is have an NFS server. There are a bunch of ways to do this, and I&#8217;m going to quickly show you two of them.</p><h4>Adding NFS to One of Your Nodes (not recommended)</h4><p>The first is by adding NFS to one of your Kubernetes nodes. While this method will solve all the issues I listed earlier, it&#8217;s not really the preferred way of doing this if you are being really pedantic about it. Since it's installing NFS on the node, it&#8217;s not really separating concerns between compute and storage. For example, if the node with NFS went down, the other node would obviously not be able to mount the volumes it needs.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0dqY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0dqY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0dqY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0dqY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0dqY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0dqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;NFS on node 1&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="NFS on node 1" title="NFS on node 1" srcset="https://substackcdn.com/image/fetch/$s_!0dqY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0dqY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0dqY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0dqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F921eac94-d816-4f8a-9b71-d2f7a766e04d_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">NFS on node&nbsp;1</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jMmh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jMmh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jMmh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jMmh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jMmh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jMmh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Node 1 failure with NFS on node 1&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="Node 1 failure with NFS on node 1" title="Node 1 failure with NFS on node 1" srcset="https://substackcdn.com/image/fetch/$s_!jMmh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jMmh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jMmh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jMmh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83e4c97-1225-4e42-9a17-4e90b06a312d_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Node 1 failure with NFS on node&nbsp;1</figcaption></figure></div><p>Installing NFS on one of your nodes is actually pretty easy, and the instructions are on the <a href="https://microk8s.io/docs/nfs">microk8s website</a>. You can ssh into the server and then just copy and paste the commands provided here. Once it&#8217;s done installing, you&#8217;re all set.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Dfc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Dfc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Dfc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Dfc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Dfc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Dfc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;NFS install instructions on microk8s website&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="NFS install instructions on microk8s website" title="NFS install instructions on microk8s website" srcset="https://substackcdn.com/image/fetch/$s_!9Dfc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Dfc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Dfc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Dfc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ddcbf7-417f-4fd1-af86-41e02792e0ba_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">NFS install instructions on microk8s&nbsp;website</figcaption></figure></div><h4>Adding a Separate NAS for&nbsp;NFS</h4><p>The second method, which is the more preferred and technically correct way to do it, is to have a completely different device for running NFS. In my case, I&#8217;ve had this Synology DS120 for a couple of years, and I&#8217;ve historically used it as a target for time machine backups. It has plenty of space available, so I&#8217;m going to enable NFS on it.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1MKg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1MKg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1MKg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1MKg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1MKg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1MKg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;synology DS120j NAS&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="synology DS120j NAS" title="synology DS120j NAS" srcset="https://substackcdn.com/image/fetch/$s_!1MKg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1MKg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1MKg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1MKg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcde0f186-18c2-4b58-ac5b-d1c0fc96f3e1_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">synology DS120j&nbsp;NAS</figcaption></figure></div><p>Very quickly, enabling NFS on the Synology NAS (or any NAS) is pretty straightforward. If you already have one or plan on buying one here&#8217;s how to do it. If not, feel free to skip to the next part.</p><p>First, log into the NAS manager.</p><p>Next, create a shared folder on an available disk.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BsGK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BsGK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BsGK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BsGK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BsGK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BsGK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Create a shared folder on synology NAS&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="Create a shared folder on synology NAS" title="Create a shared folder on synology NAS" srcset="https://substackcdn.com/image/fetch/$s_!BsGK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BsGK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BsGK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BsGK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f7223c9-f34d-4859-bc03-836616b4ba00_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Create a shared folder on synology&nbsp;NAS</figcaption></figure></div><p>Next, open the properties on the folder and set up NFS permissions. Since this is a home server with no outside access I&#8217;ve made the permissions super simple. It essentially allows any IP in my home network to connect and squashes all the users to root.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-nog!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-nog!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-nog!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-nog!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-nog!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-nog!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;NFS permissions on Synology NAS&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="NFS permissions on Synology NAS" title="NFS permissions on Synology NAS" srcset="https://substackcdn.com/image/fetch/$s_!-nog!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-nog!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-nog!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-nog!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc312eec-4f43-4ea1-a378-44731ae4a521_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">NFS permissions on Synology&nbsp;NAS</figcaption></figure></div><p>Next back from the control panel open up file services, go to the NFS tab, and check the box to enable NFS. Save all that and you are all set.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8YZW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8YZW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8YZW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8YZW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8YZW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8YZW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Enable NFS on Synology NAS&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="Enable NFS on Synology NAS" title="Enable NFS on Synology NAS" srcset="https://substackcdn.com/image/fetch/$s_!8YZW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8YZW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8YZW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8YZW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcbbb412-24af-4dc9-bd89-9a7286aebf76_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Enable NFS on Synology&nbsp;NAS</figcaption></figure></div><h4>Installing the Kubernetes NFS Provisioner</h4><p>Ok now that we have an NFS server available, we need to install the NFS CSI driver on the Kubernetes cluster. One thing to note here is that Kubernetes supports a <a href="https://github.com/kubernetes-csi">bunch of different storage interfaces</a>. In our case today we&#8217;re installing the NFS storage interface.</p><p>Back on the <a href="https://microk8s.io/docs/nfs">microk8s site</a>, click on the link to step two. As you can see this gives instructions to install this using a helm chart. Even something like this is just another workload installed on the cluster which makes it all super relatable.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UuYC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UuYC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UuYC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UuYC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UuYC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UuYC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;NFS CSI driver install instructions on the microk8s website&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="NFS CSI driver install instructions on the microk8s website" title="NFS CSI driver install instructions on the microk8s website" srcset="https://substackcdn.com/image/fetch/$s_!UuYC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UuYC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UuYC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UuYC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4c2076-3786-4497-a3a2-30b414c115da_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">NFS CSI driver install instructions on the microk8s&nbsp;website</figcaption></figure></div><p>Ssh into your cluster and run the four commands to install the NFS CSI driver and wait for it to finish. Once it&#8217;s done, you&#8217;re all set with any installation stuff.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5wUb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5wUb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5wUb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5wUb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5wUb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5wUb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;installed NFS provisioner on kubernetes cluster&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="installed NFS provisioner on kubernetes cluster" title="installed NFS provisioner on kubernetes cluster" srcset="https://substackcdn.com/image/fetch/$s_!5wUb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5wUb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5wUb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5wUb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03b476ba-cf73-4ae4-8e3b-5689fd7e97e4_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">installed NFS provisioner on kubernetes cluster</figcaption></figure></div><h4>Creating a Kubernetes StorageClass</h4><p>Alright, so now that we have this installed let's go over how to use it.</p><p>The first thing we need to do is make what is called a storage class. In Kubernetes, these are essentially a set of instructions for how the system will go about provisioning a volume when you ask for one. In our case, we&#8217;re going to create a storage class called &#8220;nfs-csi&#8221;. And just FYI this is just a name I made up. You can call it whatever you want.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ojav!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ojav!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ojav!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ojav!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ojav!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ojav!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;storage class with name highlighted&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="storage class with name highlighted" title="storage class with name highlighted" srcset="https://substackcdn.com/image/fetch/$s_!Ojav!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ojav!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ojav!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ojav!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda792a6b-2187-49bc-bb78-e230733b0f17_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">storage class with name highlighted</figcaption></figure></div><p>On the very next line down you&#8217;ll see the provisioner. This is where you are telling Kubernetes that any time you request a volume using this storage class, it should attempt to get the volume from the NFS provisioner that we just installed earlier.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J5ic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J5ic!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J5ic!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J5ic!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J5ic!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J5ic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;storageClass with provisioner highlighted&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="storageClass with provisioner highlighted" title="storageClass with provisioner highlighted" srcset="https://substackcdn.com/image/fetch/$s_!J5ic!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J5ic!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J5ic!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J5ic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa490adf8-c541-4292-b40b-8554966e4772_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">storageClass with provisioner highlighted</figcaption></figure></div><p>Finally, the storage class parameters tell Kubernetes how to provision the volume you requested. In our case, we provide the NFS server&#8217;s IP address and the name of the share. All of this information should be available to you from the previous steps.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V4uf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V4uf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V4uf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V4uf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V4uf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V4uf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;storageClass with parameters highlighted&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="storageClass with parameters highlighted" title="storageClass with parameters highlighted" srcset="https://substackcdn.com/image/fetch/$s_!V4uf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V4uf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V4uf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V4uf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d9f29e-4102-45d3-a820-205b1174514e_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">storageClass with parameters highlighted</figcaption></figure></div><p>The rest of this stuff you can set exactly as I have them set on the screen, but one item you may want to change is the reclaim policy. If you set this to &#8220;retain&#8221; instead of &#8220;delete&#8221;, Kubernetes will never delete the underlying data in the NFS server when you delete a volume on the cluster. If you have critical data on your cluster, that might be a good idea. Or, you could make a second storage class, (one that retains and one that deletes). Then you can choose based on your needs at the time.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!baJI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!baJI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!baJI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!baJI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!baJI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!baJI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;storage class with ReclaimPolicy highlighted&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="storage class with ReclaimPolicy highlighted" title="storage class with ReclaimPolicy highlighted" srcset="https://substackcdn.com/image/fetch/$s_!baJI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!baJI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!baJI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!baJI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bd4cf-4483-4848-a153-18025219527c_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">storage class with ReclaimPolicy highlighted</figcaption></figure></div><p>So let's just recap what we did here because it's super important. This storage class object is essentially a set of instructions for Kubernetes. It&#8217;s telling the system that you have a class of storage called &#8220;nfs-csi&#8221; and when a user of this cluster requests a volume by this storage class name, it should send the request to the NFS CSI provisioner along with the IP and the path of the NFS server. The NFS CSI will then reach out to your NFS server and create a space on the NFS server for the storage you requested. Behind the scenes, it&#8217;s just a folder on the NFS server, but to your workloads, it looks like a new shared persistent volume.</p><p>So now save that file then install it on your cluster with Kubectl using the command <code>kubectl apply -f THE FILE NAME</code></p><h4>Using Your New Storage Class With a Persistent Volume&nbsp;Claim</h4><p>Now, finally, we&#8217;re ready to actually use these things. Just to test it out go ahead and make a persistent volume claim. Under the <code>spec</code> section set the <code>accessModes</code> to <code>ReadWriteMany</code> and the <code>storageClassName</code> to <code>nfs-csi</code> (or whatever you named your storage class earlier). As I mentioned just a second ago, by putting the storage class name on this persistent volume claim, you are telling Kubernetes to go and provision this volume using the NFS CSI with the instructions you put in the storage class object.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d_VN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d_VN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d_VN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d_VN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d_VN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d_VN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;PersistentVolumeClaim with spec highlighted&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="PersistentVolumeClaim with spec highlighted" title="PersistentVolumeClaim with spec highlighted" srcset="https://substackcdn.com/image/fetch/$s_!d_VN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d_VN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d_VN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d_VN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F425e1efb-6754-49b5-92ea-114ddc175aa6_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">PersistentVolumeClaim with spec highlighted</figcaption></figure></div><p>Install the persistent volume claim the same way as the storage class with <code>kubectl apply -f THE FILE NAME</code> after a few minutes Kubernetes should show that the PVC is bound. That means it worked.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uF0G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uF0G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uF0G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uF0G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uF0G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uF0G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Bound PersistentVolumeClaim on cluster&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="Bound PersistentVolumeClaim on cluster" title="Bound PersistentVolumeClaim on cluster" srcset="https://substackcdn.com/image/fetch/$s_!uF0G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uF0G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uF0G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uF0G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5627f0-47c2-4a2f-89cc-91370cf49ccb_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Bound PersistentVolumeClaim on&nbsp;cluster</figcaption></figure></div><h4>Using your Persistent Volume&nbsp;Claim</h4><p>Now if you want to use this shared PVC as a volume in a deployment, just add it to your deployment in the volumes section. Specify the type of volume as <code>persistentVolumeClaim</code> and then provide the claim name just like you would any other.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7W_m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7W_m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7W_m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7W_m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7W_m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7W_m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Volume declaration on deployment&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="Volume declaration on deployment" title="Volume declaration on deployment" srcset="https://substackcdn.com/image/fetch/$s_!7W_m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7W_m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7W_m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7W_m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e35e98-9814-4c65-af55-90a37373d143_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Volume declaration on deployment</figcaption></figure></div><p>Ok, now you have a pretty close replica of a Kubernetes cluster you would see in a production environment. Storage is separated from compute and all is right in the world.</p><p>I truly appreciate you reading all the way to the end. Thank you. And until next time, happy coding!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JbQh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JbQh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JbQh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JbQh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JbQh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JbQh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!JbQh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JbQh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JbQh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JbQh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a68e553-7d93-47d9-98ae-1aa3487d3c2f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[How To Turn Your Old Hardware Into A Kubernetes Cluster]]></title><description><![CDATA[Today I&#8217;m going to show you how to set up Kubernetes on an old computer that you may have sitting around.]]></description><link>https://learnfastmakethings.com/p/how-to-turn-your-old-hardware-into-a-kubernetes-cluster-129d17aa8704</link><guid isPermaLink="false">https://learnfastmakethings.com/p/how-to-turn-your-old-hardware-into-a-kubernetes-cluster-129d17aa8704</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sun, 12 Mar 2023 19:02:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/FD6x3vb3Fk4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today I&#8217;m going to show you how to set up Kubernetes on an old computer that you may have sitting around.</p><div class="captioned-image-container"><figure><div id="youtube2-FD6x3vb3Fk4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;FD6x3vb3Fk4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/FD6x3vb3Fk4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>While setting up something like Kubernetes may seem complicated, It&#8217;s a surprisingly easy process once you have the steps and the right software to get it done fast. I think it&#8217;s the best choice when it comes to setting up a home server since you can add and remove applications without worrying about messing up the underlying operating system of the machine.</p><p>So let&#8217;s jump in and roll through the steps.</p><p>No matter what kind of machine you are using, you&#8217;ll need some basics to get started so make sure you have the following handy.</p><ol><li><p>The computer itself. I&#8217;m using an older Mac mini, but any computer will work.</p></li><li><p>A basic USB flash drive. You will need this to house the software we are going to install.</p></li><li><p>A network cable. Fiddling with Wi-Fi setup is a pain, so it&#8217;s best to just wire the computer to the network at least initially.</p></li><li><p>A mouse and keyboard that is either wired or has a dedicated dongle. Bluetooth probably won&#8217;t work initially, so this is a must-have.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kCrX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kCrX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kCrX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kCrX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kCrX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kCrX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hardware needed for setup&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="Hardware needed for setup" title="Hardware needed for setup" srcset="https://substackcdn.com/image/fetch/$s_!kCrX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kCrX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kCrX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kCrX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf39bcda-ff9a-4449-9956-2ebc213a2cb2_800x450.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Hardware needed for&nbsp;setup</figcaption></figure></div><p>Once you have all your supplies together, grab the USB flash drive and plug it into a different, working computer. Not the one we are about to erase. As you can see here, I&#8217;m using a very small 4 GB flash drive. It doesn&#8217;t take much.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-o0P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-o0P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-o0P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-o0P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-o0P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-o0P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;4GB flash drive&quot;,&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="4GB flash drive" title="4GB flash drive" srcset="https://substackcdn.com/image/fetch/$s_!-o0P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-o0P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-o0P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-o0P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086f1088-a455-4b1c-a630-34f05d7cbaac_800x450.jpeg 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">4GB flash&nbsp;drive</figcaption></figure></div><p>Now on your working computer, we will need to download a few things. First Is a copy of Ubuntu server. Head over to the <a href="https://ubuntu.com/download/server">Ubuntu website</a> and download the latest version of Ubuntu server.</p><p>After that&#8217;s finished, we will also need a program for flashing the Ubuntu image onto the flash drive. I used a program called etcher, and it&#8217;s available for both Mac and Windows. Head over to <a href="https://www.balena.io/etcher">their website</a> and download the program and install it.</p><p>After downloading those two things, open up Etcher and choose the &#8220;flash from file&#8221; option. The file picker will open, and you should choose the Ubuntu ISO file that you downloaded earlier.</p><p>In the next column set the target as your flash drive then hit the &#8220;flash button&#8221;. This will turn your flash drive into a bootable Ubuntu installer. After it's finished, eject the flash drive and unplug it from your working computer.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CF4W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CF4W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CF4W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CF4W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CF4W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CF4W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Balena Etcher&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="Balena Etcher" title="Balena Etcher" srcset="https://substackcdn.com/image/fetch/$s_!CF4W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CF4W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CF4W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CF4W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4460835a-dcba-4f2f-962a-9e57d3e1d2db_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Balena Etcher</figcaption></figure></div><p>That&#8217;s all we need to do for now on your working computer. Now let&#8217;s shift focus over to the old machine that we&#8217;re going to install Kubernetes on.</p><p>Temporarily we are going to need to wire up this computer with a mouse, keyboard, and monitor. Also, plug in the network cable and your USB flash drive.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vvs-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vvs-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vvs-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vvs-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vvs-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vvs-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Connected mac mini for setup. keyboard dongle on left-most USB port&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="Connected mac mini for setup. keyboard dongle on left-most USB port" title="Connected mac mini for setup. keyboard dongle on left-most USB port" srcset="https://substackcdn.com/image/fetch/$s_!vvs-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vvs-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vvs-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vvs-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff24f629d-6678-4da4-9a40-1d4f8e24563e_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Connected mac mini for setup. keyboard dongle on left-most USB&nbsp;port</figcaption></figure></div><p>One quick note if you are doing this setup on a Mac mini: make sure to plug the keyboard into the leftmost USB port. Otherwise, the mac won&#8217;t recognize the keyboard during its boot sequence. Ask me how I know that!</p><p>Once you get everything plugged in you need to get the machine to boot from the flash disk. The process to make this happen varies by machine. Some will automatically detect the boot disk and prompt you. Some will require that hit an F key at startup. In the case of this Mac mini, I had to hold the Alt key on my keyboard to get the boot menu.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PfDz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PfDz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PfDz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PfDz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PfDz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PfDz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Mac Mini boot menu&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="Mac Mini boot menu" title="Mac Mini boot menu" srcset="https://substackcdn.com/image/fetch/$s_!PfDz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PfDz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PfDz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PfDz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e163d15-5491-4da3-a146-d018592897db_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Mac Mini boot&nbsp;menu</figcaption></figure></div><p>No matter which one you have to do, just make sure you tell the machine to boot from the flash drive. Once you do that you should see this simple prompt asking you what you want to do. Choose the option to install Ubuntu server and hit enter.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lM8-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lM8-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lM8-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lM8-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lM8-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lM8-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;install ubuntu server screen&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="install ubuntu server screen" title="install ubuntu server screen" srcset="https://substackcdn.com/image/fetch/$s_!lM8-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lM8-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lM8-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lM8-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04814180-33fe-423f-93e8-507719fbe176_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">install ubuntu server&nbsp;screen</figcaption></figure></div><p>At this point, it spits out a bunch of text as it first starts. This process takes a few minutes. After all of that&#8217;s done, you&#8217;ll get the Ubuntu server welcome screen, and you&#8217;ll need to provide some details.</p><p>Fair warning, I&#8217;m about to roll through 15 short, but required steps for this setup. I&#8217;m going to do this as quickly as possible without leaving out the few important bits scattered through this otherwise pretty self-explanatory wizard. Eyes on the prize, we&#8217;ll get through it.</p><p>First, choose your language.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8vjU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8vjU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8vjU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8vjU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8vjU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8vjU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Choose language&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="Choose language" title="Choose language" srcset="https://substackcdn.com/image/fetch/$s_!8vjU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8vjU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8vjU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8vjU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d542a1-39e2-4b11-9f19-e02f45b05d5f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Choose language</figcaption></figure></div><p>Next, it may ask you if you want to upgrade to the latest release. I skipped this for now. You can always do it later.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Yo1n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Yo1n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Yo1n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Yo1n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Yo1n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Yo1n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;option to update to latest version&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="option to update to latest version" title="option to update to latest version" srcset="https://substackcdn.com/image/fetch/$s_!Yo1n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Yo1n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Yo1n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Yo1n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24283532-1c1f-4a4b-b6c6-048a2b56df72_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">option to update to latest&nbsp;version</figcaption></figure></div><p>Next, configure your keyboard.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9HXP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9HXP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9HXP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9HXP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9HXP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9HXP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Keyboard setup&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="Keyboard setup" title="Keyboard setup" srcset="https://substackcdn.com/image/fetch/$s_!9HXP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9HXP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9HXP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9HXP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6e5f5f2-dd4e-46b5-a65d-1ad4a41c5818_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Keyboard setup</figcaption></figure></div><p>Next, it will ask what type of server install you want. Choose the minimized version unless you have a need to use this machine for other stuff.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OG1j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OG1j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OG1j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OG1j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OG1j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OG1j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Choose ubuntu server (minimized)&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="Choose ubuntu server (minimized)" title="Choose ubuntu server (minimized)" srcset="https://substackcdn.com/image/fetch/$s_!OG1j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OG1j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OG1j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OG1j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd911e4d-a331-4055-aa4d-846fb28559ae_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Choose ubuntu server (minimized)</figcaption></figure></div><p>If all goes well it should automatically connect to the internet, and you can just hit enter. Before leaving this screen though, write down the IP address it was assigned. You&#8217;ll need this later.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FGtD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FGtD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FGtD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FGtD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FGtD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FGtD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Auto detect IP address&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="Auto detect IP address" title="Auto detect IP address" srcset="https://substackcdn.com/image/fetch/$s_!FGtD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FGtD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FGtD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FGtD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad559e4c-5cdb-42e7-a83f-df50b39ef979_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Auto detect IP&nbsp;address</figcaption></figure></div><p>Next, leave the proxy empty and hit enter.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vfVx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vfVx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vfVx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vfVx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vfVx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vfVx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Leave proxy address empty&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="Leave proxy address empty" title="Leave proxy address empty" srcset="https://substackcdn.com/image/fetch/$s_!vfVx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vfVx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vfVx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vfVx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6eeaa75-24d1-4134-b18b-88eaf6edd683_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Leave proxy address&nbsp;empty</figcaption></figure></div><p>Next, leave the mirror address alone and hit enter.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vwMM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vwMM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vwMM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vwMM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vwMM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vwMM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Leave mirror address as-is&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="Leave mirror address as-is" title="Leave mirror address as-is" srcset="https://substackcdn.com/image/fetch/$s_!vwMM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vwMM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vwMM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vwMM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07cbdd5b-da4c-47d2-bd22-546da5ad3bcd_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Leave mirror address&nbsp;as-is</figcaption></figure></div><p>Next on the disk setup, I chose to use the entire disk and set the disk up as an LVM group. These are the defaults and they are fine.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nkVI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nkVI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nkVI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nkVI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nkVI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nkVI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Allow to use the entire disk&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="Allow to use the entire disk" title="Allow to use the entire disk" srcset="https://substackcdn.com/image/fetch/$s_!nkVI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nkVI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nkVI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nkVI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53d62889-4d49-47a7-bdc1-808ac696802f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Allow to use the entire&nbsp;disk</figcaption></figure></div><p>Finally, it will show a summary. Hit enter to confirm then hit enter one more time to extra confirm that you are cool with it blowing away your hard drive.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GHCf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GHCf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GHCf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GHCf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GHCf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GHCf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Confirm delete hard drive&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="Confirm delete hard drive" title="Confirm delete hard drive" srcset="https://substackcdn.com/image/fetch/$s_!GHCf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GHCf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GHCf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GHCf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a7f5bd-929a-4193-a9ea-bf5d959d2a0f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Confirm delete hard&nbsp;drive</figcaption></figure></div><p>On the next screen set up your user info. Keep a note of your username and password. You might need it later.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PlBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PlBJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PlBJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PlBJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PlBJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PlBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Set up server and user information&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="Set up server and user information" title="Set up server and user information" srcset="https://substackcdn.com/image/fetch/$s_!PlBJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PlBJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PlBJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PlBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F519f5596-0fa8-4168-8a43-0d193baa7de4_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Set up server and user information</figcaption></figure></div><p>Next skip the Ubuntu pro ad, unless you need enterprise support.</p><p>Next, enable the option to install OpenSSH server. This will allow you to access the machine remotely with no keyboard, mouse or monitor attached. Also on this screen, if you have a GitHub account with your public keys already stored, provide your GitHub username and the installer will pull them in as authorized keys for password-less access via SSH.</p><p>If you are at all concerned about this not working, also check the box to allow password auth over SSH. This will allow you to log in with the password you just set.</p><p>It will now pull your public key from GitHub and ask you to confirm.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nCUW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nCUW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nCUW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nCUW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nCUW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nCUW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/105522e6-8582-469d-9435-8873151cf991_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Supply github user for password-less auth&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="Supply github user for password-less auth" title="Supply github user for password-less auth" srcset="https://substackcdn.com/image/fetch/$s_!nCUW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nCUW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nCUW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nCUW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F105522e6-8582-469d-9435-8873151cf991_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Supply github user for password-less auth</figcaption></figure></div><p>Now, for the actual installation of Kubernetes. It's literally one check box. Select the option to install Microk8s. This is Ubuntu&#8217;s super popular lightweight version of Kubernetes, and it&#8217;s what we will be installing. After checking the box, go to the next step.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QTsd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QTsd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QTsd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QTsd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QTsd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QTsd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Choose Microk8s from the menu&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="Choose Microk8s from the menu" title="Choose Microk8s from the menu" srcset="https://substackcdn.com/image/fetch/$s_!QTsd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QTsd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QTsd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QTsd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fdba7b1-efd9-4aa5-a54e-f1e272ba34ce_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Choose Microk8s from the&nbsp;menu</figcaption></figure></div><p>Now we wait for the installation to finish&#8230;</p><p>Don&#8217;t be like me and completely miss the text menu at the bottom of the screen. When it&#8217;s done, that menu will show an option to &#8220;reboot now&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wh_j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wh_j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Wh_j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Wh_j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Wh_j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wh_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Reboot now after install&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="Reboot now after install" title="Reboot now after install" srcset="https://substackcdn.com/image/fetch/$s_!Wh_j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Wh_j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Wh_j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Wh_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff41b0217-584d-4aee-af2c-b89b5e11f872_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Reboot now after&nbsp;install</figcaption></figure></div><p>Note that if you Don&#8217;t take the flash drive out at this point it will probably yell at you. Take out the flash drive then reboot.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mIPL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mIPL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mIPL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mIPL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mIPL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mIPL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Unplug the flash drive&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="Unplug the flash drive" title="Unplug the flash drive" srcset="https://substackcdn.com/image/fetch/$s_!mIPL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mIPL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mIPL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mIPL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b0004a1-bbc7-412b-bfed-166e18ab9bc7_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Unplug the flash&nbsp;drive</figcaption></figure></div><p>And just in case you thought you were done waiting, you&#8217;re wrong. Now it will install microk8s. After it's done it will show the login prompt.</p><p>Ok, now it&#8217;s done installing. You can shut the machine down and unplug all the unnecessary cables at this point and put your server in its final resting place. Then power it back on.</p><p>Ok, now we have a running Kubernetes server and there are only a couple more things to do before you can call it done.</p><p>Now back at your working machine, open up a terminal, and attempt to SSH into the machine. Your ssh command should be.</p><p><code>ssh YOURUSERNAME@YOURSERVER_IP</code></p><p>If you chose earlier to import your public keys from GitHub it should just let you without a password. If it didn&#8217;t work, or you didn&#8217;t choose that option, you will need to enter your password at this point.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PSkp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PSkp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PSkp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PSkp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PSkp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PSkp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/beee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;SSH into server&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="SSH into server" title="SSH into server" srcset="https://substackcdn.com/image/fetch/$s_!PSkp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PSkp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PSkp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PSkp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeee9c87-d9ae-497a-8c27-cfcd9cdcfc1f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">SSH into&nbsp;server</figcaption></figure></div><p>Now that we&#8217;ve confirmed we can connect to the server with SSH, you want to make sure that the IP address doesn&#8217;t change on you. Luckily most home routers these days have the ability to reserve an IP address and associate it with a specific mac address. On the screen is how I did this on my Netgear router, but every one is different. The important takeaway here is that you make sure the IP address of your server won&#8217;t change when you lose power or restart your router. This will be important when you begin to use the cluster and need to reach it by IP address.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bsy-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bsy-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bsy-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bsy-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bsy-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bsy-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pin the IP address of the server in the netgear manager&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="Pin the IP address of the server in the netgear manager" title="Pin the IP address of the server in the netgear manager" srcset="https://substackcdn.com/image/fetch/$s_!bsy-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bsy-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bsy-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bsy-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96734a84-1574-4872-9244-07d0b9ad3073_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Pin the IP address of the server in the netgear&nbsp;manager</figcaption></figure></div><p>At this point, you have a working single-node Kubernetes cluster, but don&#8217;t bail on me yet. Now I&#8217;m going to show you how you can expand the capacity of your cluster by adding more machines. If you have two or three or four old machines lying around they could all work together as a single Kubernetes cluster.</p><p>And the best part is that it only takes a couple of commands to make that happen. So even if you don&#8217;t have another machine to add now, don&#8217;t you want to hang out to see how it&#8217;s done?</p><p>If you have another machine to add, you will need to do all the exact same steps to set up microk8s as we already did on the first one. The only difference will be the server name and the IP address. Everything else is exactly the same.</p><p>Once you have both machines running as standalone clusters, SSH into both of them.</p><p>Below you are seeing the first machine&#8217;s terminal on the left, the second machine&#8217;s terminal on the right and finally my k9s Kubernetes dashboard at the bottom connected to the first machine. You will note that it only shows one node currently.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xxcz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xxcz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xxcz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xxcz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xxcz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xxcz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;update etc hosts with node 2 ip and name&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="update etc hosts with node 2 ip and name" title="update etc hosts with node 2 ip and name" srcset="https://substackcdn.com/image/fetch/$s_!xxcz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xxcz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xxcz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xxcz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a25aa62-09bb-4f55-a270-563bbd504ed3_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">update etc hosts with node 2 ip and&nbsp;name</figcaption></figure></div><ol><li><p>With vim or another text editor, open the /etc/hosts file on each machine.</p></li><li><p>On both machines, enter the IP address and the name of the second Kubernetes server. This is required so microk8s can complete the join.</p></li><li><p>save the /etc/hosts file on each machine and exit vim</p></li><li><p>now, on the first machine enter `microk8s add -node` and hit enter. It will give you the command you need to enter on the second machine.</p></li><li><p>Copy the command and paste it into the terminal of the second machine.</p></li><li><p>The system will now join the two machines. You can see in the bottom k9s window, the cluster now shows two nodes.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QW8f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QW8f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QW8f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QW8f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QW8f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QW8f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;run microk8s add-node&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="run microk8s add-node" title="run microk8s add-node" srcset="https://substackcdn.com/image/fetch/$s_!QW8f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QW8f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QW8f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QW8f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fee5239-a43e-41c2-a014-1f8d5b20f590_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">run microk8s&nbsp;add-node</figcaption></figure></div><p>And for demonstration purposes, I&#8217;m going to scale my installation of Home Assistant to two replicas. You can see that it is now running one replica on each node with no issues at all.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XsRY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XsRY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XsRY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XsRY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XsRY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XsRY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Successful add of second node&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="Successful add of second node" title="Successful add of second node" srcset="https://substackcdn.com/image/fetch/$s_!XsRY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XsRY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XsRY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XsRY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6662fe5-061a-4b14-84f8-bdffa982f0f9_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Successful add of second&nbsp;pod</figcaption></figure></div><p>Thanks for stopping by and until next time, happy coding.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iP5u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iP5u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iP5u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iP5u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iP5u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iP5u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!iP5u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iP5u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iP5u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iP5u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3416e2-1641-4239-b4a3-e2bb7c0f46fc_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Is Gaining Open Source Contributors Really This Easy?]]></title><description><![CDATA[So you made a thing. It&#8217;s this new API called Where&#8217;s My Toaster&#8482; and obviously, it&#8217;s the best thing since sliced bread (bu-dum &#8212; tis)&#8230;]]></description><link>https://learnfastmakethings.com/p/is-gaining-open-source-contributors-really-this-easy-42783b9e3637</link><guid isPermaLink="false">https://learnfastmakethings.com/p/is-gaining-open-source-contributors-really-this-easy-42783b9e3637</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sat, 28 Jan 2023 18:36:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5bd51f79-87cc-459a-a750-214295c66a6f_800x533.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So you made a thing. It&#8217;s this new API called Where&#8217;s My Toaster&#8482; and obviously, it&#8217;s the best thing since sliced bread (bu-dum&#8202;&#8212;&#8202;tis). You poured your heart and soul into this thing. You quit your job, your wife left you, you spent every last penny you had, and now it's finally ready for its initial release to the world. It&#8217;s finally time for the floodgates to open. Millions of users and thousands of contributors are about to get slapped with your amazing toaster finding awesomeness.</p><p>But&#8230; there's just one problem. Literally, nobody knows about this thing you made. Nobody is using it and nobody is contributing to it and honestly, you need help (because you need to spend some time getting a job and your wife back).</p><p>So&#8230; if you just made the new hotness and nobody knows about it, how do you fix that?</p><p>Seriously this is the story of nearly every software project ever created and it's easy to fall into this trap. You&#8217;ve spent so much time making the thing and it was hard. Now that it's done you should be able to reap the reward, right?</p><p>Unfortunately, creating a project and launching it is really just the beginning of the journey, and the work you are about to do is probably waaaay outside of your comfort zone. It's time to take off that programmer hat and put on your marketing hat. What? You don&#8217;t even own a marketing hat? Well, we&#8217;ve got some work to do.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Yk4T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Yk4T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Yk4T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Yk4T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Yk4T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Yk4T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!Yk4T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Yk4T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Yk4T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Yk4T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592916f2-bc52-47a5-b831-ce057aff24df_800x533.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Building a base of contributors and users of your project means that you NEED to build a community. But, way before you build a community you need to know who would want to be part of the community. I don&#8217;t want to burst your bubble here, but you probably should have thought about this before you made the thing you made. So let&#8217;s take a step back and quickly identify some of this stuff that should have happened in the very beginning.</p><p>And it&#8217;s really just one simple question. The thing you made, what problem does it solve? And I don&#8217;t mean what technical solution does it provide. I mean what problem does a human being have that this thing actually fixes? Think about it for a second. It really only needs to be one problem, but hopefully, it&#8217;s a good one because the next question directly depends on the answer. And the obvious answer here is &#8220;people have lost their toasters and need some serious help finding them&#8221;.</p><p>Now that you know the problem you&#8217;re solving, what type of person has this problem? Again, be specific. You are targeting people who have lost their toasters. Their problem is that their toaster is missing right? Who, loses their toaster? Well, that seems pretty obvious.</p><p>Millennials who live in vans down by the river. It&#8217;s pretty clear that many of these van-living Millenials are living way beyond their means and their vans are in either disrepair or have poorly crafted mechanisms for securing their toasters while winding down that incredibly bumpy road. As these disrepaired-van owning bumpy road traveling Millenials are moving from place to place seeking their deepest enlightenment they obviously are losing toasters left and right. You need to help these people. These are your people.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s1LM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s1LM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s1LM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s1LM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s1LM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s1LM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!s1LM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s1LM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s1LM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s1LM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2349a90-6c7b-4ad6-ba14-f923f4cd5d10_800x534.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>And you, my friend just defined your audience! So, ready for the next step? It&#8217;s time to reach that audience and tell them about how you are about to save their asses and literally dozens of dollars by making sure they always. And I mean always know where their toaster is AT ALL TIMES.</p><p>How hard could this possibly be, right? There are like at least a million disrepaird-van driving, toaster-losing Millenials out there. They probably all hang out at the same spots and pick their avocados from the same patches. Oh, wait? They don&#8217;t? Well crap. Maybe driving around to avocado patches isn&#8217;t the right move.</p><p>Oh, I know! Maybe Twitter? Yes, Twitter. One simple search later and here you go. Millennial avocado lovers in full abundance. As a matter of fact, here&#8217;s someone complaining about losing their toaster! Perfect. Slap a comment in there and look at that. Your first user is in the books. You just helped someone.</p><p>Well, there must be some other places just like this, right? How about Facebook? How about Reddit? How about Only Fans? Uh, maybe not Only Fans. Well, whatever you win some, you lose some. The point is, figure out where these van toaster losers hang out and get involved!</p><p>But wait a sec. Don&#8217;t be that guy. Ya know that one that just shows up in a community just to hock his junk. You need to be involved. Get to know these people. Be one with the avocado van drivers. Figure out their wants, their needs, and what works for them. Fit your product in as part of their lives.</p><p>But wait just another second. I thought this was supposed to be about finding contributors to a project, not users??!</p><p>Right. I got a little distracted there, but this is TOTALLY about finding contributors because guess what? Your best and only contributors are going to be people who actually use your toaster finding magnificent masterpiece. Why would someone contribute to your project if they don&#8217;t even use it?</p><p>So now&#8217;s the time. You identified your audience, you engaged your audience, avocado hipsters are totally using your thing. You are one with the community, then it happens. Someone approaches you and says: &#8220;hey, so I was driving down the bumpy road of life the other day and my toaster totally flew out the window of my hipster van and I thought: man, it would be totally sweet if this thing would send me an alert the moment I lost my toaster, so&#8230; I decided to jump into your code base and add it myself. What do you think?&#8221;</p><p>YEYYYYYYSSSSSSSSS, you now have your first contributor!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TG4I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TG4I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TG4I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TG4I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TG4I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TG4I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!TG4I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TG4I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TG4I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TG4I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe90f12a1-f2ea-4200-b6be-40accf9f9812_800x591.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This should lead you to the next obvious step. If the avocado dis-repaird van lovers are using your tool so much that they wish it did more, maybe you should ask them what they want next. Then, now that you have a following, maybe you should put the word out that you would love it if they would contribute to HELP THE COMMUNITY.</p><p>Ah, see what you did there? You became part of a community and then you asked for that community to come together and help make a thing. Woah! Magic, right?</p><p>So now it&#8217;s simple. Just say &#8220;hey all you avocado toaster losers. How many of you know how to write code? Specifically, I wrote this toaster finder in erLang and so I'm pretty much just looking for any of you disrepared-van driving, toaster-losing, avocado-loving, bumpy road driving, erLang enthusiasts to jump on board and help me out&#8221;!</p><p>Obviously, at this point, the story tells itself! You&#8217;ll have so many erLang-loving, toaster-losing, avocado hipsters you won&#8217;t even know what to do with yourself!</p><p>And that, my friends, is how you gain avocado-loving, dis-repaird van driving, toaster-losing contributors for your open source project.</p><p>Easy right?</p><div class="captioned-image-container"><figure><div id="youtube2-S5-8I9-uNug" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;S5-8I9-uNug&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/S5-8I9-uNug?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UN57!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UN57!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UN57!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UN57!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UN57!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UN57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!UN57!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UN57!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UN57!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UN57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70783bde-eb37-4d63-8df6-b9435a93cd35_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Two AIs Better Than One? DALL E + ChatGPT = 🔥]]></title><description><![CDATA[Does a 1000 word description make a better picture?]]></description><link>https://learnfastmakethings.com/p/two-ais-better-than-one-dall-e-chatgpt-450bc7634ec6</link><guid isPermaLink="false">https://learnfastmakethings.com/p/two-ais-better-than-one-dall-e-chatgpt-450bc7634ec6</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Fri, 27 Jan 2023 03:13:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/182d9b13-e903-475c-8842-8bc20699a295_600x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So I&#8217;ve been thinking about something.</p><p>If a picture is worth a thousand words, does a thousand-words description make a better picture?</p><p>At this point, everyone has heard about DALLE-2. It&#8217;s an AI art generator that will take a human-written description of a picture and attempt to create it. If you&#8217;ve tried it out, one thing you learn pretty quickly is that the more detailed a description you write, the more accurate the generated photos become.</p><p>Now let's shift gears for just a second and talk about another AI tool called chat GPT. Now, unlike DALLE-2, Chat GPT is pretty well known for taking small descriptions of what you want to be written and turning it into a much more detailed and sometimes better-written version of essentially what you started.</p><p>So, that got me thinking. What if we combined the two?</p><p>What if I wrote a short description of a photo I wanted DALLE-2 to create and instead of just giving it that short description, I take the short description and give it to chat GPT? Then, ask chat GPT to write a much longer and more detailed description of what I want then gave that to DALLE-2.</p><p>Will it make a better photo? Well, i guess there&#8217;s only one way to find out.</p><p>First, let's think of three relatively short, but descriptive uh descriptions of photos I want to be created.</p><p>How about these three:</p><ol><li><p>Create a photo-realistic image of a blonde man with a shocked face looking at a computer screen. The screen has crazy art on it.</p></li><li><p>Create a photo of a dog flying over a barn with horses in the background.</p></li><li><p>Create a photo of a horse jumping a fence. the fence is on fire.</p></li></ol><p>Now, can chat GPT make a better description and in turn a better photo generated by DALLE-2? Just to make sure we are doing this fairly, I am going to modify all three photo descriptions the same way so chat GPT will do what I want. Let's take the pre-written description we have to DALLE-2 and add just a couple of sentences:</p><p>&#8220;Write me a 300-character description of a photo. describe a photo in high detail where the basic information is this:&#8221;</p><p>These are the results of taking the shorter photo descriptions and giving them to Chat GPT. Note: DALLE has a character limit so this is as long as I could make them.</p><ol><li><p>The photo depicts a blonde man with a look of shock and disbelief on his face as he gazes at a computer screen. The screen is filled with vibrant and abstract art, consisting of swirling patterns and bright colors. The man&#8217;s eyes are wide open and his mouth is slightly agape. The image is highly realistic, with the man&#8217;s features and expressions appearing lifelike and detailed. The computer screen is also rendered with great accuracy, showcasing the intricate and complex artwork displayed on it</p></li><li><p>The photo depicts a majestic dog soaring through the air, its ears flapping in the wind. The dog&#8217;s fur appears to be a rich brown color, and it seems to be in mid-leap. In the background, a red barn can be seen, with horses grazing peacefully in the field nearby. The sky is a clear blue, and the sun is shining down, casting a warm glow over the entire scene. The overall effect is one of freedom an</p></li><li><p>A majestic horse jumps over a blazing fence, its powerful muscles rippling as it soars through the air. The fire casts a warm glow on the horse&#8217;s glossy coat, highlighting its strength and beauty. The horse&#8217;s eyes are focused, determined as it clears the fence with ease. The flames of the burning fence add a sense of danger and excitement to the scene. It is a beautiful and powerful image of a horse in motion.</p></li></ol><p>Well, they are certainly longer that&#8217;s for sure. And they seem slightly more detailed. it certainly used its imagination.</p><p>Now for the big show. if I give these maximum Length descriptions to DALLE-2 will it make better photos?</p><p>The first short description was: &#8220;create a photo realistic image of a blonde man with a shocked face looking at a computer screen. the screen has crazy art on it&#8221;</p><p>These are the original set of photos created by DALLE 2:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tiZc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tiZc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!tiZc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!tiZc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!tiZc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tiZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!tiZc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!tiZc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!tiZc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!tiZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d04e2c-e0c8-42eb-9bff-a22d254144c6_600x600.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_!_iGa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_iGa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!_iGa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!_iGa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!_iGa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_iGa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec36fd82-bd49-4402-b289-3cccb0264683_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!_iGa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!_iGa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!_iGa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!_iGa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec36fd82-bd49-4402-b289-3cccb0264683_600x600.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_!LljG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LljG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!LljG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!LljG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!LljG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LljG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!LljG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!LljG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!LljG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!LljG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d271cc2-37e9-4b36-84d1-89fbf702cd39_600x600.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_!Plyh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Plyh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!Plyh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!Plyh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!Plyh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Plyh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!Plyh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!Plyh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!Plyh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!Plyh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb9fc8a-e983-4127-9629-ac4cdfef1e72_600x600.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This is the long description generated by Chat GPT: &#8220;The photo depicts a blonde man with a look of shock and disbelief on his face as he gazes at a computer screen. The screen is filled with vibrant and abstract art, consisting of swirling patterns and bright colors. The man&#8217;s eyes are wide open and his mouth is slightly agape. The image is highly realistic, with the man&#8217;s features and expressions appearing lifelike and detailed. The computer screen is also rendered with great accuracy, showcasing the intricate and complex artwork displayed on it&#8221;</p><p>And these are the photos created by the longer description:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QE4Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QE4Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!QE4Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!QE4Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!QE4Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QE4Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!QE4Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!QE4Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!QE4Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!QE4Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff86bdd6-b376-45d3-901f-c952c53e86d0_600x600.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_!nGgL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nGgL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!nGgL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!nGgL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!nGgL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nGgL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!nGgL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!nGgL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!nGgL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!nGgL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F791105a9-ae1f-46e0-962c-60b290e5d5b5_600x600.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_!fWgQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fWgQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!fWgQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!fWgQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!fWgQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fWgQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!fWgQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!fWgQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!fWgQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!fWgQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F322afcfb-b2d7-4561-aa0e-8d8fd3a113ef_600x600.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_!C-AH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C-AH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!C-AH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!C-AH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!C-AH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C-AH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57746452-06b6-4a60-b787-b921f8537032_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!C-AH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!C-AH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!C-AH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!C-AH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57746452-06b6-4a60-b787-b921f8537032_600x600.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The second short description was: &#8220;create a photo of a dog flying over a barn with horses in the background&#8221;</p><p>These are the original set of photos created by DALLE 2:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jw5t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jw5t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!Jw5t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!Jw5t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!Jw5t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jw5t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/110cf242-8071-4416-afef-f3321f4feb2d_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!Jw5t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!Jw5t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!Jw5t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!Jw5t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110cf242-8071-4416-afef-f3321f4feb2d_600x600.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_!hHe8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hHe8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!hHe8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!hHe8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!hHe8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hHe8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!hHe8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!hHe8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!hHe8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!hHe8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df593a9-8436-4125-9bbc-ec8af84ce788_600x600.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_!0tSd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0tSd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!0tSd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!0tSd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!0tSd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0tSd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!0tSd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!0tSd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!0tSd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!0tSd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639116e1-32b6-48c4-8efa-fa8e0afb366b_600x600.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_!XbgM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XbgM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!XbgM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!XbgM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!XbgM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XbgM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!XbgM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!XbgM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!XbgM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!XbgM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d505e46-ff92-49e1-ac55-b910cd61b477_600x600.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This is the long description generated by Chat GPT: &#8220;The photo depicts a majestic dog soaring through the air, its ears flapping in the wind. The dog&#8217;s fur appears to be a rich brown color, and it seems to be in mid-leap. In the background, a red barn can be seen, with horses grazing peacefully in the field nearby. The sky is a clear blue, and the sun is shining down, casting a warm glow over the entire scene. The overall effect is one of freedom an&#8221;</p><p>And these are the photos created by the longer description:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zh7r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zh7r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!zh7r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!zh7r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!zh7r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zh7r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!zh7r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!zh7r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!zh7r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!zh7r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ccb647a-9a24-4e28-82a1-cf3daf43a8fc_600x600.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_!6jK0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6jK0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!6jK0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!6jK0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!6jK0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6jK0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35875abf-719b-407f-b485-57a416377ab3_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!6jK0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!6jK0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!6jK0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!6jK0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35875abf-719b-407f-b485-57a416377ab3_600x600.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_!BL6Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BL6Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!BL6Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!BL6Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!BL6Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BL6Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!BL6Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!BL6Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!BL6Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!BL6Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b16c6f0-a09d-43db-8a32-0270a72c6a72_600x600.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_!KS4L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KS4L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!KS4L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!KS4L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!KS4L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KS4L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!KS4L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!KS4L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!KS4L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!KS4L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cf5f567-62bb-4ce2-aec8-35d9e85db40f_600x600.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The final short description was: &#8220;create a photo of a horse jumping a fence. the fence is on fire&#8221;</p><p>These are the original set of photos created by DALLE 2:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8_vV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8_vV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!8_vV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!8_vV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!8_vV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8_vV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!8_vV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!8_vV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!8_vV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!8_vV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19d9fb7-662c-4bb8-b356-dafa41d51ad5_600x600.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_!-3ZO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-3ZO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!-3ZO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!-3ZO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!-3ZO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-3ZO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!-3ZO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!-3ZO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!-3ZO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!-3ZO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8803fdd9-555d-4ff7-9fa6-68f16c3b8942_600x600.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_!4yr0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4yr0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!4yr0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!4yr0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!4yr0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4yr0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f64a0cad-b661-4004-aa14-9a18ee033214_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!4yr0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!4yr0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!4yr0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!4yr0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff64a0cad-b661-4004-aa14-9a18ee033214_600x600.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_!azNt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!azNt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!azNt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!azNt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!azNt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!azNt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!azNt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!azNt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!azNt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!azNt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac6c27f6-93c9-4196-bc22-5b769d3e6f23_600x600.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This is the long description generated by Chat GPT: &#8220;A majestic horse jumps over a blazing fence, its powerful muscles rippling as it soars through the air. The fire casts a warm glow on the horse&#8217;s glossy coat, highlighting its strength and beauty. The horse&#8217;s eyes are focused, determined as it clears the fence with ease. The flames of the burning fence add a sense of danger and excitement to the scene. It is a beautiful and powerful image of a horse in motion.&#8221;</p><p>And these are the photos created by the longer description:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a2jt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a2jt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!a2jt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!a2jt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!a2jt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a2jt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!a2jt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!a2jt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!a2jt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!a2jt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c59fb83-82e9-48b1-b3cc-14fcb9a3fafd_600x600.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_!022q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!022q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!022q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!022q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!022q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!022q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!022q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!022q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!022q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!022q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842a770d-e5c4-48ba-8570-8c96039385a1_600x600.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_!tdes!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tdes!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!tdes!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!tdes!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!tdes!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tdes!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!tdes!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!tdes!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!tdes!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!tdes!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828b5edb-96c7-4308-ad56-687f9b403d2f_600x600.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_!YwL2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YwL2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!YwL2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!YwL2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!YwL2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YwL2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab036a18-0b78-41cb-9266-ea51ce680654_600x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!YwL2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 424w, https://substackcdn.com/image/fetch/$s_!YwL2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 848w, https://substackcdn.com/image/fetch/$s_!YwL2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 1272w, https://substackcdn.com/image/fetch/$s_!YwL2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab036a18-0b78-41cb-9266-ea51ce680654_600x600.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Well, what do you think? Do you think that compounding the AI actually helped and produced a better product? Until next time, happy coding!</p><div class="captioned-image-container"><figure><div id="youtube2-R1C1oRv3XVI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;R1C1oRv3XVI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/R1C1oRv3XVI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a2kK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a2kK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!a2kK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!a2kK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!a2kK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a2kK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!a2kK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!a2kK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!a2kK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!a2kK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F193fbc9f-d0a8-4530-b722-3b57db431d0e_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[The Unintended Consequences of Cali’s CCPA/CPRA]]></title><description><![CDATA[Laws. Sometimes they have the best intentions but don&#8217;t quite make the impact they intend to make.]]></description><link>https://learnfastmakethings.com/p/the-unintended-consequences-of-calis-ccpa-cpra-ec91c7ea2c56</link><guid isPermaLink="false">https://learnfastmakethings.com/p/the-unintended-consequences-of-calis-ccpa-cpra-ec91c7ea2c56</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Mon, 10 Oct 2022 04:18:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4160c38-e223-4b36-a8ad-12e0fc6340be_800x450.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Laws.</p><p>Sometimes they have the best intentions but don&#8217;t quite make the impact they intend to make. Other times, they can even cause the exact opposite of their intent. Unfortunately, for the California Consumer Privacy Act (CCPA) and the California Privacy Rights Act (CPRA), that is exactly what has happened.</p><p>Before jumping into the unintended consequences of these two California laws, it&#8217;s probably best to explain what they are. Both laws were made with the intent of protecting the privacy of California consumers by making a set of requirements for medium and large businesses on what they can, and cannot do with California consumers&#8217; data. Here&#8217;s a simple breakdown.</p><h4>What are CCPA and&nbsp;CPRA?</h4><h4>CCPA</h4><ul><li><p>The <a href="https://oag.ca.gov/privacy/ccpa#sectionc">right to know</a> about the personal information a business collects about them and how it is used and shared;</p></li><li><p>The <a href="https://oag.ca.gov/privacy/ccpa#sectione">right to delete</a> personal information collected from them (with some exceptions);</p></li><li><p>The <a href="https://oag.ca.gov/privacy/ccpa#sectionb">right to opt-out</a> of the sale of their personal information; and</p></li><li><p>The <a href="https://oag.ca.gov/privacy/ccpa#sectionf">right to non-discrimination</a> for exercising their CCPA rights.</p></li></ul><p>Source: <a href="https://oag.ca.gov/privacy/ccpa">https://oag.ca.gov/privacy/ccpa</a></p><h4>CPRA</h4><p>CPRA expands upon CCPA and adds (among other things), the following new specifications:</p><ul><li><p><strong>Right to Restriction</strong>&#8202;&#8212;&#8202;Granting consumers the right to limit the use and disclosure of their sensitive personal information.</p></li><li><p><strong>Right to Rectification</strong>&#8202;&#8212;&#8202;Consumers will have the right to add and update information, as well as correct inaccurate data.</p></li><li><p><strong>Right to Verifiable Requests</strong>&#8202;&#8212;&#8202;Consumer requests for the right to deletion and disclosure of their personal information must be verifiable and specific to the issue being addressed.</p></li></ul><p>Source: <a href="https://www.privacypolicies.com/blog/cpra/#Important_New_Terminology">https://www.privacypolicies.com/blog/cpra/#Important_New_Terminology</a></p><h4>The True Impacts of CCPA and CPRA on Consumer&nbsp;Privacy</h4><p>OK, so now that we have all of the definitions out of the way, let&#8217;s get into the meat of the issue. On the surface, all of these rules look like they are great for consumers. It would seem to allow a consumer to take control of the data that companies know about them as well as what they do with that data. I think all of that is true. The laws certainly accomplish this for the consumer.</p><p>Where the issue comes in has more to do with some assumptions that these laws make. Keep in mind that these laws were not just made for huge corporations like Google and Meta. They are made for every company with over $25 million in gross revenue or ones that buy, sell, share or receive the personal information of 50,000 or more California residents. (<a href="https://higgslaw.com/am-i-subject-to-the-ccpa/">Reference</a>)</p><p>While that may seem like a pretty high threshold for being required to follow these laws, you&#8217;d be surprised (or maybe you wouldn&#8217;t) to know that there are literally thousands of companies that fall within these guidelines. It&#8217;s not just big tech companies who are gathering your data and selling to the highest bidder. This law affects tons of medium size businesses that obviously run marketing departments and gather information about their customers.</p><p>So, what&#8217;s your point? You may be asking.</p><p>Well&#8230; I think that this law assumes that all companies out there are <strong>actually capable</strong> of keeping the data they collect about you organized into a nice, neat package. This law assumes that every company is Google. That they have one specific file for you and they would be able to produce that file for you to review, edit, delete or whatever else you want done to it.</p><p>In the real world, marketing is messy. Not all companies have their digital ducks in a row. In many cases, data is siloed into completely different systems and a company would be extremely fortunate if they could actually tie it all together to make a full 360-degree view of you. If they could do that, their marketing efforts would be much more effective!</p><p>So this is where the problem lies. I believe a vast majority of companies that fall under CCPA and CPRA didn&#8217;t see this law as a challenge due to its intent. They instead saw it as a challenge because they now have to be able to gather all of the data they know about you into that nice, neat package I mentioned above. Then, after they got over the hurdle of gathering all our data into one place, they realized that the state of California actually did them a HUGE favor.</p><p>These laws have single-handedly required every medium to large company that serves California consumers to create a singular view of each and every one of their customers. Sure, this is required to meet the letter of the law, but now they actually have all this data in one place. This is a marketing department&#8217;s wet dream! Every customer&#8217;s full set of attributes at their fingertips. Targeted marketing built upon a full picture.</p><p>So the next time you see that ad in your browser that seems to know you all-too-well, you can thank the California legislature for thinking about consumer privacy first and forcing every company to get their data in order.</p><p>Oh, and one last thing. For those of you who don&#8217;t live in California, this affects you too! Remember that these laws are not for California companies. These laws are for California consumers. If you do business with a company that sells things to Californians, they likely had to jump through these hoops and I highly doubt they did it just for their California customers. They probably just did it for everyone.</p><p>But hey, it&#8217;s not all bad, right? At least you won&#8217;t get served a bunch of ads for things you don&#8217;t like.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sJ6n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sJ6n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sJ6n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sJ6n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sJ6n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sJ6n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!sJ6n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sJ6n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sJ6n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sJ6n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32ad167e-041a-4ba6-a954-691f0a2a298c_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[What is a CDN and How Do They Work? — Content Delivery Networks Explained]]></title><description><![CDATA[Content delivery networks or CDNs are, at their most basic level, multi-function services designed to deliver the content on your website&#8230;]]></description><link>https://learnfastmakethings.com/p/what-is-a-cdn-and-how-do-they-work-content-delivery-networks-explained-78f3ff0e347</link><guid isPermaLink="false">https://learnfastmakethings.com/p/what-is-a-cdn-and-how-do-they-work-content-delivery-networks-explained-78f3ff0e347</guid><dc:creator><![CDATA[Gary Morse]]></dc:creator><pubDate>Sat, 24 Sep 2022 14:59:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/R2UjCU4cd04" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Content delivery networks or CDNs are, at their most basic level, multi-function services designed to deliver the content on your website to users fast. There are many CDNs out on the market these days. Some of them are offered as stand-alone services like Cloudflare, Fastly, or Akamai others are offered directly by the big cloud companies themselves like google CDN or AWS Cloudfront.</p><div class="captioned-image-container"><figure><div id="youtube2-R2UjCU4cd04" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;R2UjCU4cd04&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/R2UjCU4cd04?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>No matter which company you choose as a CDN provider, they all offer one service in common and that is the ability to deliver certain parts of your website&#8217;s content faster than if it were served from its origin where you host it.</p><p>Essentially, when your site loads in a browser, all kinds of other stuff like images, CSS files, javascript files, and any other static content is fetched behind the scenes. If you don&#8217;t have a CDN, all of this content needs to come from your server. This, as I&#8217;m sure you can imagine, can put a heavy strain on your server and take a long time to be delivered (especially if the files are large or they are geographically far away from the machine that&#8217;s making the request).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ULlK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ULlK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ULlK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ULlK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ULlK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ULlK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;presentation 003&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="presentation 003" title="presentation 003" srcset="https://substackcdn.com/image/fetch/$s_!ULlK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ULlK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ULlK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ULlK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd052b5ae-7eca-4f65-a1ed-73ea94030cf6_800x450.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>When you introduce a CDN into the mix, requests for these individual static files are instead requested from the CDN network. The first time these files are requested, the CDN fetches them from your server like a normal request and then delivers them to the requesting machine. But&#8230; the next time someone requests the same file, the CDN doesn&#8217;t request it from your server and instead delivers it from its caches.</p><p>The benefits of this are twofold. First off, your server now only has to serve these files occasionally since the CDN is serving them for you. Second, the CDN provider will distribute your file to many edge endpoints all around the world so the amount of time it takes to be delivered is dramatically shortened.</p><p>So that all sounds pretty cool, but how does that work from a technical standpoint?</p><p>There are a couple of different ways that CDNs are set up depending on which one you choose. Some CDNs work by giving you a completely different domain name specifically for delivering your static content. For example, if you had &#8220;myawesomesite.com&#8221;, you may set up static.myawesomesite.com. The static subdomain points to the CDN and then you instruct the CDN to fetch the content from your actual site and serve the content from its edge. Usually in this scenario when someone loads your site at myawesomesite.com, you would then change the URLs of all of the static content like images and CSS to point to the static subdomain. This allows your dynamic content to be served directly from your server while all of the additional assets are pulled from the CDN network.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZO1r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZO1r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZO1r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZO1r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZO1r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZO1r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;presentation 005&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="presentation 005" title="presentation 005" srcset="https://substackcdn.com/image/fetch/$s_!ZO1r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZO1r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZO1r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZO1r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07a84a0a-3b65-48c3-8af0-2b93b93af99d_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The other way some CDNs work is by actually proxying your whole website, but only caching the things that are cachable. In this scenario, you would point myawsomesite.com to the CDN network and then the CDN provider would evaluate each request and determine if that request should receive a cached file or if it should be passed back to your origin machine to get content served from your server directly.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QFVn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QFVn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QFVn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QFVn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QFVn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QFVn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;presentation 006&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="presentation 006" title="presentation 006" srcset="https://substackcdn.com/image/fetch/$s_!QFVn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QFVn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QFVn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QFVn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee00a217-5ee2-462c-b7ce-cfc56fc2be2f_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>No matter which way your CDN provider operates, there are certain things to look out for before you just flip the switch and start enjoying the benefits. mainly, you need to make sure the CDN knows how long to cache a file and if it should be cached in the first place. Every CDN provider has slightly different ways to control their caching rules and most of them offer some sort of control panel for making custom rules. But most of them will also honor the cache headers served by your origin server. Now, caching headers is a completely different topic worthy of another article, but essentially you can specify how long a file should be cached by setting headers in the HTTP response. When a CDN sees these headers, they then know how long the file can be kept before fetching it again.</p><p>Finally, while every CDN is primarily a way to deliver content faster, some CDNs offer more robust features than that. For example, Cloudflare has expanded its offering of basic CDN into a full-blown application firewall that allows you to not only speed up your site but also protect it from surges in traffic and even block common exploits like SQL injection.</p><p>Ok cool, so CDNs sound great, but are they expensive?</p><p>Well, that all depends on what you are looking for. While many of the CDNs I have mentioned here have a cost and often charge based on the amount of data consumed, they aren&#8217;t necessarily expensive. For example, AWS Cloudfront charges by the volume of data processed. If you don&#8217;t have a lot of traffic, you don&#8217;t pay a lot. Pretty simple. But probably even better than that, Cloudflare has a free offering for websites that offers a subset of their total features. You may not get everything they offer, but you do get the basics of DDOS protection and content delivery from the edge which is what most basic sites need anyways. If your site grows, just add more features and cough up the cash.</p><p>Alright, I think I&#8217;ll leave it there. Until next time. Happy coding.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_4dU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_4dU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_4dU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_4dU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_4dU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_4dU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!_4dU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_4dU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_4dU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_4dU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9305adad-a3a3-4f28-9cc1-7f537cae739e_800x450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div>]]></content:encoded></item></channel></rss>